深度学习|Embedding 技术的神奇之处

深度学习|Embedding 技术的神奇之处

文章图片

深度学习|Embedding 技术的神奇之处

文章图片


背景学过深度学习的人基本上都会接触Embedding , 你是不是经常听说Embedding 技术在自然语言上可以 , 在推荐中也行 。 那么我们今天来聊聊Embedding 方法在推荐中的应用 。
【深度学习|Embedding 技术的神奇之处】
Embedding 技术名气大 , 无论是国外的 facebook、Airbnb , 还是在国内的阿里、美团 , 我们都可以看到 Embedding 的成功应用 。 用 Embedding 方法进行相似物品推荐 , 几乎成了业界最流行的做法 。
因此 , 自从深度学习流行起来之后 , Embedding 就成为了深度学习推荐系统方向最火热的话题之一 。
但是 Embedding 这个词又不是很好理解 , 你甚至很难给它找出一个准确的中文翻译 , 如果硬是翻译成“嵌入”、“向量映射” , 感觉也不知所谓 。 所以索性我们就还是用 Embedding 这个叫法吧 。
什么是 Embedding?简单来说 , Embedding 就是用一个数值向量“表示”一个对象(Object)的方法 , 我这里说的对象可以是一个词、一个物品 , 也可以是一部电影等等 。 但是“表示”这个词是什么意思呢?用一个向量表示一个物品 , 这句话感觉还是有点让人费解 。
先尝试着解释一下:一个物品能被向量表示 , 是因为这个向量跟其他物品向量之间的距离反映了这些物品的相似性 。
更进一步来说 , 两个向量间的距离向量甚至能够反映 它们之间的关系 。 这个解释听上去可能还是有点抽象 , 那我们再用两个具体的例子解释一 下 。

词向量例子图中是 Google 著名的论文 word2vec 中的例子 , 它利用 word2vec 这个模型把单词映射到了高维空间中 , 每个单词在这个高维空间中的位置都非常有意思 , 你看图左边的例子 , 从 king 到 queen 的向量和从 man 到 woman 的向量 , 无论从方向还是尺度来说它 们都异常接近 。 这说明什么?
这说明词 Embedding 向量间的运算居然能够揭示词之间的 性别关系!比如 woman 这个词的词向量可以用下面的运算得出:
Embedding(woman)=Embedding(man)+[Embedding(queen)-Embedding(king)


同样 , 图右的例子也很典型 , 从 walking 到 walked 和从 swimming 到 swam 的向量基本一致 , 这说明词向量揭示了词之间的时态关系!
这就是 Embedding 技术的神奇之处 。
你可能会觉得词向量技术离推荐系统领域还是有一点远 , 那 Netflix 应用的电影 Embedding 向量方法 , 就是一个非常直接的推荐系统应用 。 从 Netflix 利用矩阵分解方法 生成的电影和用户的 Embedding 向量示意图中 , 我们可以看出不同的电影和用户分布在 一个二维的空间内 , 由于 Embedding 向量保存了它们之间的相似性关系 , 因此有了这个 Embedding 空间之后 , 我们再进行电影推荐就非常容易了 。 具体来说就是 , 我们直接找出 某个用户向量周围的电影向量 , 然后把这些电影推荐给这个用户就可以了 。 这就是 Embedding 技术在推荐系统中最直接的应用 。

电影-用户向量例子Embedding 技术对深度学习推荐系统的重要性事实上 , 我一直把 Embedding 技术称作深度学习的“基础核心操作” 。 在推荐系统领域 进入深度学习时代之后 , Embedding 技术更是“如鱼得水” 。 那为什么 Embedding 技 术对于推荐系统如此重要 , Embedding 技术又在特征工程中发挥了怎样的作用呢?针对这 两个问题 , 我主要有两点想和你深入聊聊 。
首先 , Embedding 是处理稀疏特征的利器 。上节课我们学习了 One-hot 编码 , 因为推 荐场景中的类别、ID 型特征非常多 , 大量使用 One-hot 编码会导致样本特征向量极度稀 疏 , 而深度学习的结构特点又不利于稀疏特征向量的处理 , 因此几乎所有深度学习推荐模 型都会由 Embedding 层负责将稀疏高维特征向量转换成稠密低维特征向量 。 所以说各类 Embedding 技术是构建深度学习推荐模型的基础性操作 。