zhajiahe / mt-readings Goto Github PK
View Code? Open in Web Editor NEWRecord papers reaing about MT. (机器翻译论文分享)
Record papers reaing about MT. (机器翻译论文分享)
文章分析在低资源任务中广泛应用的迁移学习方法。
word embedding
在迁移任务中是一个很重要的角色,即使如此,仅仅迁移word embedding
甚至不如之前。文章指出在迁移之前将词表对齐会取得不错的效果。因此,文章其实讨论了两个问题:一、词向量迁移 ;二、结构迁移
词向量迁移方式:
模型中间层利于迁移学习,只要词表正确地映射并且隐藏层也迁移了,那么embedding也是可以迁移的。最后作者建议使用高资源的预训练模型初始化,不必考虑词表问题(??),这样训练子模型收敛很快。
虽然强化学习(RL)
经常被用来增强文本生成的学习,但是在机器翻译领域,很少有什么作用,文章分析了在MT上使用RL的方法:MRT、GAN
。
MT
任务的动作空间非常巨大,使用RL进行搜索难以拟合。
作者抨击RL
实际上没有优化期望奖赏,而且需要花费很长时间收敛。更重要的是,RL
只对已经很好拟合的模型有效,其效果来自PKE(Peakiness effect)
。
RL/MRT
在做什么RL/MRT
的实际作用是PKE
MRT
的实验不充分MT
使用MLE
确实存在优化目标不一致的问题,但是使用MRT也并不值得尝试,作者经过实验证明RL/MRT所带来的效益仅仅在于模型输出分布的尖锐化,这种改变通过调整tamperature
就可以做到,而且RL/MRT
收敛慢,提升效果小,就目前来看,没有使用的价值。虽然BPE可以大大减少词表的大小,但是经过BPE分词得到的词表是固定的,一定程度上限制了模型学习词语的不同形态。
文章提出了一种Regularization方法,即在正常的BPE合并操作下,以一定的概率忽略这次合并。
在训练的时候,模型使用的词表是经过dropout得到的,而推理阶段,使用正常的BPE词表。
论文分析了机器翻译在推理时的校准Calibration
问题:即模型输出分布与结果不吻合,存在差距。 文章使用的评价指标是ECE(期望校准误差)
,发现训练的ECE
远远小于推理ECE
,说明缩小训练和推理之间的差距需要做很多工作。
论文分析了一些NMT
在语言学方面的现象:
Frequency, Position, Fertility, Syntactic Roles, Word Granularity
:
模型在这几个方面会出现一些over-estimation
和under-estimation
的现象,值得进一步关注。
NMT
模型校准问题,最后给出了两个解决方案:well calibrated
之后,可以开很大的Beam(100),这点有意思graduated label smoothing
虽然很大程度缓解了问题,但BLEU
提升不明显。而且under-estimation反而变多了??ECE
,那么如何证明翻译质量提升和ECE
相关呢?Calibration
有了一点点理解,但是还有点模糊,似乎就是在讲我们训练的模型能否很好的拟合数据,不能over-estimate
,也不能under-estimate
。文章提出的BERT-Attack挺有意思的,过程看起来简单,但是实现的工作蛮复杂的,可惜作者还没开源代码。
作者指出在语言生成任务上MLE
是最常用的优化目标,然而,MLE
只对ground_truth
计算损失。众所周知,语言生成任务如机器翻译,给定一个源句子,它的目标翻译有无限的可能,而目前的机器翻译模型能做到的只能是优化给定的源句子和目标句子。
在此基础上,作者提出了一个假设,即当给定一个源单词,它对应的翻译目标是呈现正态分布的。
比如:源单词是苹果
, 那么P(y|x = '苹果')
的分布可能是{‘apple':0.6, 'fruit':0.2, 'phone':0.2}
因此,作者在MLE
的基础上,加入新的loss:引入每个单词的高斯先验分布,优化经验分布与该高斯分布的距离KL散度
。而这个先验的高斯分布是根据预训练出来的word_embedding
, 计算单词之间的cos
距离,距离越近,赋予更高的概率。
Negative diversity ignorance
,即使用MLE
没有很好的拟合实际分布。MLE
的问题,和Label smooth的想法类似,而后者只是平等地对待那些non-ground_truth
, 比我之前地想法好(partial label smooth),自己还是太年轻。论文分析了transformer中注意力机制对长短距离依赖关系捕获过程中的计算成本进行了分析:计算成本随着输入的长度N和特征维度D快速递增。在算力有限的情况下,模型的部署会被大N数据压垮,通过可视化Bert中注意力Weights可得到两个特性:离散、对角。离散对应长距离关系,对角对应局部依赖。为了缩减计算成本,对原有的transformer进行针对性的改造,提出长短距离的注意力结构LSRA——二分支结构,一边的attention负责长距离,另一边的Conv负责局部构成全局关系。
简单通过对特征维度D的缩减就减少了注意力机制对局部关系的关注缺少理论论证
lite transformer在算力和存储资源限制下,效果在机器翻译任务、文本摘要任务上总体上能和常规transformer相比,甚至在个别任务上也有提升。配合剪枝和量化技术,模型可以压缩到原来的1/4。
文章针对了cross-lingual emdedding learning的两种方法:mapping method和joint method学习出来的不同语言embedding进行了比较,主要目的是验证mapping method的同构假设的正确性,即不同语言的embedding具有近乎类似结构的假设。但是事实上,mapping method独立学习不同语言的embedding,并不类似,并且不同语言存在语言学上的分歧,这一点导致mapping method方法存在重大的局限并且会造成重大的匹配错误。而joint method方法学习出来的embedding space,相比于mapping method对不同语言的适应性更好,并且在双语词典推断任务上的准确性也更高。所以推断在相同的理想条件下, mapping method 的性能是无法超越joint method的。
mapping method方法:首先独立地学习不同语言的embedding,然后通过线性映射来将不同语言的embedding映射到同一个空间。
joint method方法:在并行对齐(词级别/句子级别)上同时学习不同语言的embedding。
(文章中关于hubness problem的部分由于读者本人尚未理解,之后再补充)
cross-lingual emdedding learning的mapping method的同构假设并不准确,并存在局限。
NAT
是我一直以来不敢触摸的领域,因为自己的基础知识太薄弱:数学,代码,ML理论等等。
写这篇笔记也是激励自己前进,写的不好的地方还望各位指教,轻喷-_-|
利用Latent
加速机器翻译解码的文章早已存在,但是真正实现非自回归机器翻译是头一次。
首先介绍自回归和非自回归的区别:
multi-modality problem
)NPD
: 从真实的fertility space
,里面采样,指导模型解码。因此需要distillation
,即训练teacher model,利用teacher model生成的结果采样fertility
.NAT
与AR
模型分布的KL距离。(这块公式不太懂)NAT
在理论上应该是存在局限性的,但通过一些方法可以实现与AR接近,但是我认为无法超越,作者使用的方法很有效,也许是我能力不足,读起来很困难。NAT
面临最大的困难,而作者利用一系列操作神奇地缓解了这个问题,使得NAT
成为可能,真是感叹其智慧!!不过,从模型设计来看,利用AR
作为teacher,模型性能无法超越AR
也是必然。目前来看(2020年),虽然有很多新的设计思路和进步,但总归无法超过自回归。distillation
, EM算法
应该找时间看看。finetune值得借鉴词向量是NLP任务的基本学习单元,相比于ont-hot
编码,词向量能够表示丰富的词相关信息,一般认为,语义相近的词汇所处的向量空间应是相近的。
但是,无论是预训练词向量或者机器翻译模型中的词向量,它们都难以对词表中的词频词充分建模(由于低频词出现次数低,针对其的更新次数很少),即使高频词和低频词的语义相近,但是它们在向量空间的距离很远。
事实证明,机器翻译在推理时,更加倾向于选择常见的单词作为翻译结果。
作者提出了一种类似于对抗训练的方法,引入一个判别器,让该判别器错误地对高频词和低频词分类,当模型收敛时,模型对于高频词和低频词无法正确地区分,因此间接地优化低频词的向量。
batch
里面没有低频词,也会更新每一个单词的embedding
embeddding
的可视化分析,清楚展示问题。hard
了方法很新奇,在机翻上也有效果,不过baseline有点低。
感觉和weight tying
有点像,后者不仅仅减少了参数量,并且在每一步都更新目标端词表的所有单词。
根据作者给的代码自己复现了一下,确实有点提升,但是发现这个改动在target
端有效,在source
d端起到反效果,bleu值反而下降,这点从代码里可以看出来,作者并没有给出解释。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.