©PaperWeekly 原创 · 作者|崔克楠
学校|上海交通大学博士生
研究方向|异构信息网络、推荐系统
本文为 NeurIPS 2019 的文章,提出了一种对 embedding 的参数进行的正则化技术。
在许多神经网络中,底层的 embedding 层的参数占据了网络中参数的大部分,例如基于 BERT 额模型中的 embedding 高维向量,例如 BERT-Base 中使用 768 维向量表征单词,在推荐系统中,用户和商品也往往使用低维向量来表示,例如 50 到 100 维左右。前者中单词的数量往往在 15000 左右,而后者推荐系统中,商品和用户的数量往往能够达到数亿的级别。
本文提出了一种基于数据驱动的 embedding 正则化技术,称为 Stochastic Shared Embedding (SSE),能够很好地和 SGD 这些算法结合,使用形式简单能够使用于许,多现有的网络,并且对他们的改动幅度也很小。
论文标题:Stochastic Shared Embeddings: Data-driven Regularization of Embedding Layers
论文来源:NeurIPS 2019
论文链接:https://arxiv.org/abs/1905.10630
源码链接:https://github.com/wuliwei9278/SSE-PT
论文方法
从下图可以预览该方法,相较于普通的网络,作者在 embedding layer 后添加了 SSE layer。而 SSE layer 的具体操作则是,在训练时随机地对两个 embedding 进行替换,而在测试时则关闭该操作。
用式子的形式可以表示为如下所示:
S 代表优化目标,下标 i 代表第 i 个训练样本,j 和 k 为 embedding 的索引 index(例如对于 BERT 的情感分析任务,训练样本用 i 表示,训练样本中的输入为文本,文本当中的单词用 j 和 k 索引表示)。
Φ 为两个 embedding 之间的替换概率参数。p 代表使用 embedding k 替换 embedding j 的概率,而 E[k] 代表从取出 embedding k 的操作,l 则代表和目标任务相关的 loss。集合 I 则代表第 I 个 embedding 的索引集合。所以上边的具体例子指的是我们仅仅对网络中添加一层 SSE 的情况。
而转移概率的定义方法则有两种,如果我们有 graph 的先验知识,可以使用 random walk 的方法,例如已知 j 点和 k 点连接,j 和 i 未连接,则有:
ρ 通常大于 1,代表连接的 embedding 之间应当更加接近,同时还有 j 还有一定的概率 1-ρ_0 选择不进行替换节点,即 self loops。这种基于 Graph 的方法记为 SSE-Graph。图 2 中也给出了一个 SSE-Graph 的示例图。
当我们对 embedding 没有 graph 的先验知识时,我们采用如下方法:
即所有节点同其他节点之间的转移概率想用,N 为 embedding 的数量。一般 ρ_0 大小为 0.01,这种方法简称为 SSE-SE。
另外,当网络中有多层 embedding layer 时,上述操作可以在每层 embedding 层之后操作,用式子表示为如下,M 代表不同的 embedding layer 的数量。
另外作者给出了该方法能够有效减小 variance 的理论分析,而整体的算法如下表所示。
比较与联系
我们最常用的正则化技术包括 L1,L2 正则化,dropout,以及参数共享,max-norm 正则化,梯度阶段等。
本文提出的该技术和以往的许多正则化技术有着一些联系。例如 Laplacian 正则化,在 graph 上连接的两个点的 embedding 之间的 distance 会被惩罚。Hard parameter sharing 要求在同一个 group 内的 embedding 完全共享参数。Soft parameter 要求所有的 embedding 之间的距离都要被惩罚。这些正则化技术都和 loss 没有关联,而 SSE 是数据驱动的,并且像 dropout 一样具有随机性的优势。
同时当我们把标签看作 one hot 向量,对其使用 SSE,则 SSE 和 label smoothing 较为相似。BERT 的预训练阶段会随机的去掉输入 10% 的文本,同时对这些文本的 10% 进行随机替换,这种操作也可以视为一种特殊化的 SSE。
实验和分析
Q1:SSE 仅使用一层时表现如何?
在推荐数据集上,如 movielens 上,作者利用 movie 和 actors 之间的关系在 movies 之间构建 graph,对比了 SSE-Graph 和 Graph Lapalacian 以及 Dropout 对 MF 和 BPR 模型的提升。可以不管是否提供 Graph 信息,SSE 的表现都是最优的。同时 SSE 还能够和 dropout 共同使用,一起提升模型效果。
Q2:SSE 对于多层 embedding 的模型提升效果如何?
作者考虑在模型 BERT 中使用 SSE,其实在以往 BERT 的预训练中,就已经在隐性的使用了 SSE 的思想。例如 BERT 预训练中,随机 mask 掉 15% 的词,同时这 15% 中另外再取 10% 替换为其他随机的单词,这就相当使用了替换概率为 0.015 的 SSE。
另外在 fine tune 阶段,作者还考虑了对 label 层的 one hot encoding 也使用 SSE。可以从下边两个表格中看出在 pre-train 和 fine-tune 阶段使用 SSE,模型效果均有提升。
Q3:SSE 效率如何?
可以看到 SSE 不仅使得模型在测试集上的泛化误差较小,同时收敛速度也更快了。
总结
本文提出的方法和 label smoothing 以及 BERT 预训练技术有着一些联系,本文的方法简单有效,能够应用到众多模型中。使用要求可以有 graph 先验信息或没有,并且可以和 dropout 等技术结合使用,是一种可以广泛使用的 embedding 正则化技术。
点击以下标题查看更多往期内容:
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
???? 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
???? 投稿邮箱:
• 投稿邮箱:[email protected]
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
????
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。