跨语言对比学习
猿辅导在EMNLP2021上的一篇论文Aligning Cross-lingual Sentence Representations with Dual Momentum Contrast提出基于双Momentum网络的对比学习方法。对比学习最近非常火,尤其是以SimCES为首所提出的利用Dropout作为正样本的无监督学习方法。猿辅导的这篇论文和SimCES却不一样,它主要是从网络整体架构入手,基于Momentum网络提出了一种有监督的跨语言句子相似度计算方法
Dual Momentum Contrast
Momentum本意是动量,但是直接翻译过来感觉有些别扭,因此这里就直接用英文表述了。这里简要概述一下Momentum网络结构,如下图所示,它由两个Encoder组成,这两个Encoder网络的结构相同,参数不同
对于图像任务来说,x^{q}代表一张图片,x^{k}代表多张图片集合(包括图片x^q),其中x^k中除了x^q以外的图片,对于x^q来说都是负样本。q为x^q经过encoder网络后的向量,k为经过Momentum encoder网络后的多个向量
回到原论文,给定一个跨语言平行句子集{x_i,y_i}_{i=1}^n,对于每种语言的句子,分别用特定语言的BERT模型去编码,提取最后一行所有token输出均值的L_2正则化作为句向量h_{x_i},h_{y_i}in mathbb{R}^{768}
这里有一个很巧妙的点在于,两个经过L_2正则化后的向量h_{x_i},h_{x_j}进行点积的结果,就是这两个向量的余弦相似度,因为L_2正则化帮我们对每个向量除以了分母的平方和
论文设计的网络结构图如下所示,其中sg表示"stop gradient",即不反向传播;x和y是来自两个不同语言的句子
每一种语言的BERT都有一个参数为oldsymbol{ heta}的Momentum encoder,可以理解为原BERT的复制,只不过复制的是结构而不是参数,这些Momentum encoder不通过反向传播更新参数,他们的参数更新公式为
每种语言都有两个存储队列(Memory queues),用于存储最近几批中由相应Momentum encoder编码的K个向量。在每个优化步骤中,最老的那批向量会被替换为当前batch的向量。Momentum系数min [0,1],通常大家设置的值非常接近1(例如0.999)。K一般设置的非常大(> 10^5
au是一个超参数,至于它的作用可以看我的这篇文章:Contrastive Loss中参数τ的理解。实际上式(2)是一个K+1的Softmax分类,其中,x的平行语料即正样本为y=y_0,所有的负样本{y_i}_{i=1}^K都在存储队列中
对称地,我们可以定义mathcal{L}(y,x),因此最终我们的目标是
训练结束后,我们直接丢弃Momentum encoders,只保留两个BERT分别提取两种语言句子的向量
虽然作者提出的方法以及后续实验都是基于跨语言的,但实际上针对同语言也是适用的,例如给定一个同语言的句子对(x_i,x_j),设句子y_j是由句子x_j翻译得到的,如果模型训练得比较好,那么对于句子x_j和y_j的向量表示应该有
两边同时点乘mathbf{h}_{x_i}得
后者是跨语言的句子相似度,这正是我们模型所明确优化的
个人总结
实验效果非常好,大幅超越了BERT-Whitening以及BERT-flow,不过这里我就懒得放结果图了,因为我没有在论文中看到他们的源码地址
相关文章
- 发现 Linux SpaceFM 文件管理器的威力
- 夯实数据智能底座 共筑数字经济发展“新基石”
- 五分钟教你使用console.log发布公司的招聘信息
- 微软发布 Windows 11 Beta 预览版 Build 22621.1250 和 22623.1250 (KB5023008)
- Windows 11 学院:在 Windows 11 Build 25290 上如何为文件管理器启用标签页拖拽支持
- 微软Windows 11 Dev 预览版 Build 25290 发布:带来新的开始菜单提醒角标
- 微软正用全屏通知提醒 Windows 10 用户免费升级 Windows 11,要点击 5 次才能退出
- Linux Mint 21.2 将于 6 月发布:改进登录屏幕,优化 Pix 图像管理程序等等
- 字节面试也会问SPI机制?
- 微软正式停售 Windows 10 产品密钥 / 许可证:继续提供 ISO 镜像下载,推荐用户升级 Windows 11
- 用复古电脑程序 Toy CPU 学习低级编程
- Windows 11 新功能泄露:现代音量合成器、实验工具和新的文件管理器
- 微软 Windows 11 文件资源管理器全新设计曝光:UI 迎来大修,整合 Microsoft 365
- 对比Pandas,学习PySpark大数据处理
- 微软宣布为Windows 11 21H2设备开启自动更新到22H2版本
- 互联网都在说降本增效,小红书技术团队是怎么做的?
- 微软将继续提供 Windows 10 ISO 镜像下载,即将停售产品密钥 / 许可证
- 微软宣布为Windows 11 21H2 设备开启自动更新到 22H2 版本
- 面试突击:Properties和Yml有什么区别?
- 微软 Windows 11 Beta 预览版 22621.1245 和 22623.1245 (KB5022358) 发布