华为杨浩:小知识驱动大数据,构建知识可认知的 AI 应用

基于深度学习的神经网络机器翻译已经在通用翻译、领域翻译、翻译评估和自动译后编辑等多个场景 , 产生了巨大的商业价值 , 但是仍然存在着两个典型问题 。 一方面 , 过译漏译等质量问题仍然存在;另一方面 , 端到端的神经网络黑盒架构使专家介入优化比较困难 , 传统离散知识不能很好融入模型算法 。
在2021年11月25日和26日 , AICon全球人工智能与机器学习大会(北京)上 , 我们邀请到了华为文本机器翻译实验室主任杨浩 , 他将从离散知识和神经网络模型的融合角度为你带来《知识驱动的机器翻译研究和实践》 , 希望可以为你带来启发 。
神经网络机器翻译(NMT)的进展与挑战
我们先来了解一下机器翻译系统的建模 , 它可以分为三个部分 。
首先是翻译模型(TranslationModel) , 解决从一个语言到另外一个语言的语言对齐问题 , 原语言到底是什么词 , 应该翻译成什么?
其次是语言模型(LanguageModel) , 目标语言尽可能地比较流畅 。 所谓的语言模型指的是 , 这个词后面接着的下一个词什么 , 或者几个词后面跟着的下一个词是什么?
华为杨浩:小知识驱动大数据,构建知识可认知的 AI 应用
文章图片
最后是Computeargmax , 这个模型是一个乘积的关系 , 寻找模型参数使它的乘积最大化 , 也就是我们通常说的训练 , 以上就是机器翻译的整个建模过程 。
NMT(神经网络机器翻译)与统计机器翻译最大的区别 , 与机器学习和深度学习的区别是一样的 。
机器学习与深度学习的区别 , 机器学习业务最典型基本上可以分为两层 , 一层是FeatureExtraction(特征抽取) , 另一层是DownstreamTask(下游任务) , 例如常见的Classification 。
而到了深度学习 , 没有显式的FeatureExtraction和DownstreamClassification , 而它是一种智能学习方式 , 我们将输入送进去 , 直接得到输出训练的过程 , 所以真正的NMT的优势可能就在于EndtoEnd的建模 。
在文本生成的领域里面 , 最有名的模型是Encode-DecoderModel , 我们也称之为Seq2SeqModel 。
华为杨浩:小知识驱动大数据,构建知识可认知的 AI 应用
文章图片
Seq2Seq包含Encoder,Decoder两个RNNModel 。 EncoderModel是一个时序化建模的RNN网络 。 对数学公式:$H1$和数学公式:$X1$建模得到数学公式:$H2$ , 然后数学公式:$H2$跟数学公式:$X2$得到数学公式:$H3$ , 这样持续下去得到Encodedvector , 然后再基于编码的向量 , 经过RNN的Decoder解码出第一个词语 , 再把隐状态发送过来 , 然后经过第二个RNN解出数学公式:$Y2$ , 这就实现了整个翻译的过程 。
我们拿上图右侧的例子来说明 , 例如“我对你感到满意”经过编码器 , 得到Encodedvector , 它是一个多个维度的向量 , 再经过解码器得到翻译目标——Iamsatisfiedwithyou 。
举一个Encoded的动态例子 , 比如“howtoconfigures5700arp?”
如果进行这个句子的机器翻译 , 整个过程是这样的 , 首先对每个词语分别进行编码 , 然后对问号做编码 , 最后当碰到EOS(endofsentence)代表这个句子已经说完 , 那么这种时候可以的带Encodedvector , 将它送进一个BOS(beginofsentence) 。
Beginofsentence基于上文的向量对所有词取最大的概率 , 那么就可以得到“如何”字段 , 然后将“如何”送过来解码 , 继而得到“配置” , 接着得到“下一次” , 这句话就解码完了 , 最后得出“如何配置s5700arp” , 那么就得到了TargetSentence 。
我们刚才演示的过程称为GreedyDecoding , 也就是贪婪解码 。 所谓贪婪解码是每次只取概率为Top1的结果 , 那么假如不取Top1的结果 , 我可以取Topk , 然后每次保留k个分支 , 那么其实上类似于一个路径搜索 。