嵌套 (Embedding)

嵌套是一种相对低维的空间,您可以将高维矢量映射到这种低维空间里。通过使用嵌套,可以让在大型输入(比如代表字词的稀疏矢量)上进行机器学习变得更加容易。在理想情况下,嵌套可以将语义上相似的不同输入映射到嵌套空间里的邻近处,以此来捕获输入的语义。一个模型学习到的嵌套,也可以被其他模型重用。

嵌套

  • 输入:50 万个用户已经选择观看的 100 万部影片
  • 任务:向用户推荐影片

要解决这一问题,需要使用某种方法来确定哪些影片相似。

从左到右排成一行的一系列影片。左起依次为:《怪物史莱克》、《超人总动员》、《疯狂约会美丽都》、《哈利·波特》、《星球大战》、《蓝》、《蝙蝠侠:黑暗骑士崛起》和《记忆碎片》

与上一张幻灯片中相同的一系列影片,但按两个维度排列,例如,《怪物史莱克》位于《超人总动员》的左上方

与前面的图表类似,但为每个象限添加了轴和标签。影片排列如下:右上第一象限是成人大片,包括《星球大战》和《蝙蝠侠:黑暗骑士崛起》,并且《英雄》和《卧虎藏龙》被添加到了这个成人大片象限中。右下第二象限是成人艺术片,包括《蓝》和《记忆碎片》,并且《半梦半醒的人生》被添加到了这个成人艺术片象限中。左下第三象限是儿童艺术片,包括《疯狂约会美丽都》,并且《超级无敌掌门狗》被添加到了这个儿童艺术片象限中。最后一个象限(即左上第四象限)是儿童大片,包括《怪物史莱克》、《超人总动员》和《哈利·波特》,并且《摇滚学校》被添加到了这个儿童大片象限中。

与最后一张幻灯片的排列相同。《怪物史莱克》和《蓝》突出显示,作为二维嵌套平面内的坐标示例。

  • 假设用户对影片的兴趣可大致从 d 个方面分析
  • 每部影片都变成一个 d 维点,其中维度 d 中的值表示这部影片符合相应方面的程度
  • 可从数据中学习嵌套
  • 无需单独的训练过程,也就是说,嵌套层只是隐藏层,每个维度一个单元
  • 监督式信息(例如用户观看了两部相同的影片)针对所需任务调整学到的嵌套
  • 隐藏单元直观地发现如何整理 d 维空间中的各项,才能最大限度地优化最终目标
  • 每个样本(即该矩阵中的每行)是用户已观看的特征(影片)的稀疏矢量
  • 此矩阵样本的密集表示法如下所示:(0, 1, 0, 1, 0, 0, 0, 1)

从空间和时间上来说,这种表示法并不高效。

一个表格,其中每个列标题都是一部影片,每一行都表示一位用户及其观看过的影片。
  • 构建一个字典,其中包含各个特征到相应整数(0 到电影数量减 1)的映射
  • 将稀疏矢量高效地表示为用户观看过的影片。这可以表示为: 根据影片在右侧稀疏矢量中的列位置,影片《疯狂约会美丽都》、《超级无敌掌门狗》和《记忆碎片》可高效表示为 (0,1,999999)
以表格形式表示的稀疏矢量,其中每一列都表示一部影片,每一行都表示一位用户。该表中包含前面图表中的影片,这些影片按 1 到 999999 编号。如果用户已观看过某部影片,则表中的对应单元格内会打上对勾。

预测房屋售价的回归问题:

用于预测房屋售价的深度神经网络的示意图。

预测房屋售价的回归问题:

用于预测房屋售价的深度神经网络的示意图。

预测房屋售价的回归问题:

用于预测房屋售价的深度神经网络的示意图。

预测房屋售价的回归问题:

用于预测房屋售价的深度神经网络的示意图。

预测房屋售价的回归问题:

用于预测房屋售价的深度神经网络的示意图。

预测房屋售价的回归问题:

用于预测房屋售价的深度神经网络的示意图。

预测手写数字的多类别分类:

用于预测手写数字的深度神经网络的新示意图。

预测手写数字的多类别分类:

用于预测手写数字的深度神经网络的新示意图。

预测手写数字的多类别分类:

用于预测手写数字的深度神经网络的新示意图。

预测手写数字的多类别分类:

用于预测手写数字的深度神经网络的新示意图。

预测手写数字的多类别分类:

用于预测手写数字的深度神经网络的新示意图。

预测手写数字的多类别分类:

用于预测手写数字的深度神经网络的新示意图。

预测手写数字的多类别分类:

用于预测手写数字的深度神经网络的新示意图。

预测影片以向用户推荐的协同过滤:

用于预测推荐影片的深度神经网络的新示意图。

预测影片以向用户推荐的协同过滤:

用于预测推荐影片的深度神经网络的新示意图。

预测影片以向用户推荐的协同过滤:

用于预测推荐影片的深度神经网络的新示意图。

预测影片以向用户推荐的协同过滤:

用于预测推荐影片的深度神经网络的新示意图。

预测影片以向用户推荐的协同过滤:

用于预测推荐影片的深度神经网络的新示意图。

预测影片以向用户推荐的协同过滤:

用于预测推荐影片的深度神经网络的新示意图。

预测影片以向用户推荐的协同过滤:

用于预测推荐影片的深度神经网络的新示意图。

深度网络

  • 每个隐藏单元都对应一个维度(潜在特征)
  • 影片与隐藏层之间的边的权重是坐标值
  • 深度神经网络的树形示意图,其中最低层中的一个节点连接到了上一层中的三个节点

单个影片嵌套的几何视图

三维空间中的一个点对应于深度神经网络示意图中的下一层节点。
  • 嵌套维度的个数越多,越能准确地表示输入值之间的关系
  • 不过,维度个数越多,过拟合的可能性就越高,训练速度也会越慢
  • 经验法则(一个不错的起点,但应使用验证数据进行微调):
  • $$ dimensions \approx \sqrt[4]{possible\;values} $$
  • 嵌套会以相似内容彼此靠近的方式将各项内容(如影片、文字等)映射到低维实矢量
  • 嵌套也可应用于密集数据(如音频),以创建有意义的相似度指标
  • 联合嵌套多种类型的数据(如文字、图片、音频等),以定义这些数据之间的相似度