机器翻译技术学习笔记

由于NL2SQL和知识图谱问答任务的需要,学习了一段时间翻译模型,把经验记载在这篇文章里面。

1、数据越多效果越好?

不一定

语料质量,领域属性都会对效果有影响

基数小提升显著、基数大提升微弱甚至降低

2、如何构建词表:

机器翻译技术学习笔记_第1张图片

3、模型选择:

机器翻译技术学习笔记_第2张图片

并行计算能力弱,信息抽取能力弱。

机器翻译技术学习笔记_第3张图片

gated cnn

position embedding

引入卷积,提高并行化能力

非线性计算减少,降低梯度消失问题

Adaptive softmax提高预测速度

机器翻译技术学习笔记_第4张图片

上图为transformer

Positional Encoding

引入self-attention提高并行化能力及信息抽取能力

Positional Encoding

multi-head self attention

Scaled Dot-Product Attention

Position-wise Feed-Forward Networks

三个缺陷:

非图灵完备

缺少条件计算

不能很好的处理超长输入

机器翻译技术学习笔记_第5张图片

Universal Transformer

解决了图灵完备及条件计算问题

universal transformer通过递归函数使得层数不再固定

不同token的计算量不再相同,这样就实现条件计算

实践问题:

模型训练慢 (1.3X)

模型提升不明显

机器翻译技术学习笔记_第6张图片

XLM

预训练模型 MLM/TLM

无监督/有监督翻译模型

实践问题:

预训练模型Embedding 维度过大爆显存,无法做Fine-tune

减小维度训练结果都不理想

在网上找了一个代码,可以运行:

https://github.com/audier/my_deep_project/blob/master/NLP/4.transformer/AttentionIsAllYouNeed.ipynb​github.com/audier/my_deep_project/blob/master/NLP/4.transformer/AttentionIsAllYouNeed.ipynb

主要是应用这个技术在NL2SQL的结构预测里面和知识图谱问答的问题类型预测里面,有很好的效果,不过缺点是需要一定的训练数据量。

至于少样本的怎么生成查询图的算法,还在探索中。

你可能感兴趣的:(机器翻译,transformer,自然语言处理)