模型介绍

尽管原有的BERT模型可以在上百种语言上进行预训练,语言之间的信息并不是互通的,不同的语言模型之间没有共享知识。Facebook的XLM模型克服了信息不互通的难题,将不同语言放在一起采用新的训练目标进行训练,从而让模型能够掌握更多的跨语言信息。这种跨语言模型的一个显著优点是,对于预训练后的后续任务(比如文本分类或者翻译等任务),训练语料较为稀少的语言可以利用在其他语料上学习到的信息。

训练XLM使用两种方式:

  1. 无监督学习方式,仅仅依赖于各种语言的语料文本。
  2. 监督学习方式,使用平行语料的一个新的跨域语言模型。

通过XLM将任何句子编码到一个共享的embedding空间。之前很多工作达到这样的效果都需要大量的平行语料,也就是类似于翻译语料的东西。但是发现有些人提出的无监督机器翻译,不使用平行语料也可以获得较高的BLEU。所以XLM也借鉴了这种思想。

模型改进

XLM的三个重要组成部分:CLM、MLM和TLM。前两个使用的是单语数据monolingual data(无监督学习);后一个使用的是平行语料(parallel sentences)也就是需要通过监督的方式学习。

共享子词(subword)词汇表

所有语言通过BPE(Byte Pair Encoding)创建共享词典,这样共享了各种字符或者一些恰当的发音。学习BPE的时候,通过一定的概率在各个语言的数据集上采样。然后将采样的这些句子串联起来。每一种语言的采样概率如下:

为了减轻不同语言语料频率的不均衡给BPE带来的影响,训练样本从新的分布中进行采样。在下图中选取alpha=0.5,可以提高训练预料较少的语言出现的频率,这可以防止小语种在BPE的过程中直接被切割成单个字符。

翻译语言模型(TLM)

CLM和MLM都是无监督学习方式,但是当存在平行语料时候,使用他们并不合适。这时候就需要翻译语言模型TLM(Translation Language Modeling),TLM的引入可以提高XLM的效果。本文的TLM是MLM的一个扩展。我们将翻译语料对连接,然后在源语言和目标语言中均做随机mask。如下图:

如果预测英语中的mask,模型既可以关注周围的英文单词,也可以关注法语的翻译,这样可以使得模型将英语和法语对齐。并且在预测某个MASK英语单词时候,如果英文信息不足以预测出这个单词,法语上下文可以辅助预测。为了便于对齐,mask法语时候,我们会对其中位置进行错开。

跨语言模型(Cross-lingual Language Models)

XLM的训练如果是纯无监督方式则使用CLM、MLM。使用batch size为64,每个句子由连续的256个字符组成。每个batch的数据采样自同一种语言,采样概率公式和上面的一样,只是α=0.7。

XLM如果是有监督方式则是MLM结合TLM或者CLM结合TLM。

模型参考

论文地址:https://arxiv.org/abs/1901.07291

XLM:Cross-lingual Language Model Pretraining(2019-1-22)相关推荐

  1. MIT JOS学习笔记01:环境配置、Boot Loader(2016.10.22)

    未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴 ...

  2. 第一次会议(2019/02/22)

    小组名称及成员介绍 小组名称:Triple兔 成员介绍(均为1703班) 项目经理:刘晓丽(右上) 前端开发:刘晓丽(右上).王亚群(右下) 后端开发:乔疏桐(左上).姚宗兰(左下).朱荣银(左中) ...

  3. DeepMind 用 GAN 虚构视频真假难辨【智能行业热点】(2019.7.22)

    By 超神经 AI 无处不在的时代,每天都有新的技术与研究成果.无论学术界还是商界,AI 方面的新闻都源源不断,让我们对 AI 行业产生新的认知与思考. HyperAI 超神经精心整理了近日人工智能行 ...

  4. 一周前端文章推荐(2019/09/22)

    给 「前端开发博客」 加星标,每天打卡学习 长按二维码即可识别"进入网页"查看哟~ 1.用 JS 写游戏自动脚本是什么体验? 我是从写游戏脚本入的编程这行 今天翻看老照片,翻到了下 ...

  5. 艾为数字ic面试题_每日学习:数字后端面试100问(2019全新版)

    关注并标星大同学吧 每天1次,打卡学习 积累1个新知识,增1分职场底气 作者称谓:Tao涛 个人介绍:摸爬滚打多年的数字后端工程师 微信公众号:数字后端IC芯片设计 半导体知识分享第29期 技能升级, ...

  6. face - Cross-lingual Language Model Pretraining ---- XLM

    跨语言预训练模型(XLM) 摘要 Shared sub-word vocabulary 跨语言模型 代码生成跨语言句子表征 文章翻译 文章链接: Cross-lingual Language Mode ...

  7. (五十):COCO-LM: Correcting and Contrasting Text Sequences for Language Model Pretraining

    (五十):COCO-LM: Correcting and Contrasting Text Sequences for Language Model Pretraining Abstract 1. I ...

  8. GLM General Language Model Pretraining with Autoregressive Blank Infilling

    GLM: General Language Model Pretraining with Autoregressive Blank Infilling 论文地址 [2103.10360v2] GLM: ...

  9. dodo:人脸识别方法个人见解(三部分汇总)

    dodo的个人主页:sites.google.com/site/zhaodeli/(需要翻墙),新浪博客:blog.sina.com.cn/dodo2pami.原文分3部分,虽然原文是07年左右的文章 ...

最新文章

  1. 文本特征处理(n-garm表示方法、长度规范)
  2. [盘点]从《行者无疆》开始了解欧洲
  3. GARFIELD@01-18-2005
  4. 并发编程协程(Coroutine)之Gevent
  5. u-boot支持LCD显示(基于TQ2440)
  6. mysql flush cache_mysql的SQL_NO_CACHE(在查询时不使用缓存)和sql_cache用法
  7. 四十五岁了,存款三十万,是放手一搏,还是安于现状?
  8. php设计模式课程---4、观察者模式的好处是什么
  9. 蓝桥杯2015年第六届C/C++省赛A组第九题-垒骰子
  10. unity透明通道加颜色_关于Unity伽马校正的一点笔记
  11. cad详图怎么画_CAD的图框应该怎么画? - CAD自学网
  12. Android实现MP4边下边播(边缓存边播放、在线播放)原理与代码
  13. MySQL 优化---索引实战(三)
  14. Scroller的用法和一些理解
  15. python cpu温度_使用Python(和其他一些不错的技巧)检查CPU的温度
  16. 计算机怎么打开隐藏的项目,最全面win10怎么打开隐藏文件夹
  17. Ruoyi 解释(一)
  18. html5怎么查看路由器状态,怎么查看普联路由器的运行状态?
  19. Python3 基础知识
  20. Java人才,请往这里看过来!

热门文章

  1. 大秀直播间打赏系统付费观看网站源码
  2. QCustomPlot的使用教程(二)
  3. java交换两个变量值
  4. 带头结点的线性链表的基本操作
  5. 计算斯皮尔曼的等级相关系数(Spearman’s rank correlation coefficient)步骤
  6. 关于单片机的时钟浅谈及STM32F103/F030单片机的内外时钟切换问题
  7. css 文字 3d旋转动画,CSS3 简单的三维文字旋转动画
  8. bcc校验位怎么算的_BCC(异或校验)、CRC、LRC校验算法
  9. mysql宽字节注入_(宽字节注入) 手注+sqlmap
  10. MATLAB算法实战应用案例精讲-【智能优化算法】海马优化算法(SHO) (附MATLAB代码实现)