谷歌详细描述了 Allo 的图形推荐处理算法

  • Dylan Raithel
  • 足下

2016 年 11 月 15 日

话题:AITensorFlow

谷歌的 Expander 团队详细描述了一种常数运行时的算法,用于支持Allo应用程序中的推荐图像回复功能。谷歌描述说,他们使用未标记的节点彼此之间的相似性来推断它们可能属于同一类,或者有相同的属性,在这个案例中,就是指那些输入的图像、文本或者其它包含了异构图形的数据。有监督的学习方法一直都以代价过大而著称,尤其是当这种图形算法需要处理并学习百万级或十亿级别的图形时。半监督式学习方法与之相比,则大大减少了所需要的训练数据集的大小。

各种大小各种形状,包括图形那样的异构的、多模型的数据,包括文本、图像和视频输入,或者这些数据的各种各样的“数据表现”,比如图像象素和聊天等,都可能在 Allo 中用于图像回复。数据可能是从原始数据中抽取出来的关系型或结构化的数据,也可能是非结构化的、稀疏或密集型表示。

谷歌提到了示例图表的多种属性,但也提到这种方法并不能扩展到百万级,或有时候十亿级的图形处理。在图表中预测任意节点是“红”还是“蓝”的示例中,谷歌提到:

数据节点之间的关系都是通过边来表示,并且通过每条边的宽度来表示连接的强度……边的强度是通过嵌入矩阵的相似性计算的——低相似性的边就直接被忽略了……灰色表示没有标签的数据,而有颜色的节点就表示有标签的数据。数据节点之间的关系都是通过边来表示,以及通过每条边的宽度来表示连接的强度。注意具体的图形结构和颜色的选择要根据具体的任务来,这种方法并不适用于大型图形。

谷歌提供的一个与平常生活更贴近的例子是从存储在相似性图形中的若干个已打标签的单词中辨别幽默词。

常数运行时算法是由分布式的相邻节点算法中派生而来的,目的是在大型图形上应用半监督式学习算法进行计算,发现单词的感情类别,从而算出某个词是否是幽默词。谷歌提到了系统的复杂度空间和内存要求,但没有提任务的复杂度、预测标签的数量,以及做算法设计决定时的可能输出空间因子的大小。目前谷歌没有提供示例代码、数据集及它们的属性。

“在实践中,我们会使用在图形结构上定义的复杂优化功能,这包含了更多的对半监督式图像学习的信息和约束,因此也导致了复杂的非凸性问题。然而,真正的挑战在于将这种算法有效地扩展到更大的系统之上,包含几十亿个图形节点、几十亿条边以及几十亿种不同的标签类型等。”

查看英文原文Google Details Allo Recommendation Graph Processing Algorithm

AITensorFlow