干货|深度学习在机器翻译中的应用

本文简要介绍了深度学习在机器翻译中的应用,从传统机器翻译到神经网络机器翻译的发展,重点阐述了seq2seq模型、RNN、LSTM、Attention机制以及Facebook和Google在该领域的最新进展。通过一个完整的seq2seq模型流程,展示了如何将深度学习应用于实际的翻译任务。
摘要由CSDN通过智能技术生成

点击上方“中兴开发者社区”,关注我们

每天读一篇一线开发者原创好文

作者简介

作者戴硕是深度学习爱好者,主要关注NLP方向。这篇文章向对深度学习感兴趣的初学者介绍了机器翻译当前的现状,及其涉及的基本原理和流程。


本文只对相关应用作简要介绍,不涉及公式推导(本文部分图片来源于网络)。


1.机器翻译的发展


上世纪80年代之前,机器翻译主要依赖于语言学的发展,分析句法、语义、语用等;

之后,研究者开始将统计模型应用于机器翻译,这种方法是基于对已有的文本语料库的分析来生成翻译结果;

2012年至今,随着深度学习的兴起,神经网络开始被运用在机器翻译上,并在短短几年取得了非常大的成果。


2.神经网络机器翻译(Neural Machine Translation)

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构。2014 年,Sutskever等开发了一种名叫序列到序列(seq2seq)学习的方法,google以此模型在其深度学习框架tensorflow的tutorial中给出了具体的实现方法,取得了很好的效果(见https://www.tensorflow.org/tutorials/seq2seq)。


2.1 (预)最快速度介绍神经网络

深度学习(名字很高大上),就是指多层神经网络。上图。

 

这是一个单层的神经网络,多层神经网络就是在中间再插入若干个隐层,每个隐层有若干个结点。但输入输出层都只有一层。

传统的编程是给了输入,确定每一个步骤,最后得到输出。神经网络的做法是给定已知的多组输入输出,称为训练样本,要做的步骤(即模型)是未知的,那怎么确定步骤(模型)呢?“回归/拟合”,用最简单的方程模型来打比方。。。直接上式子!

神经网络的训练过程与此相似,也是通过训练确定隐层结点中的若干个系数。只不过神经网络模型本身是非线性的,比较复杂。前馈、误差反向传播、梯度下降这些名词,都是训练过程中用到的方法。


2.2 基础的seq2seq模型

基础的Seq2Seq模型由Encoder、Decoder以及连接两者的中间状态向量三部分组成,Encoder通过学习输入,将其编码成一个固定大小的状态向量C,继而将C传给Decoder,Decoder再通过对状态向量C的学习来进行输出。


2.2.1 RNN与LSTM

Encoder、Decoder编解码器一般采用循环神经网络(Recurrent Neural Network,RNN)的变种——长短时记忆神经网络(Long Short-term Memory,LSTM)。LSTM与普通RNN的不同之处在于,对于长距离的状态存储有着较好的效果。见下图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值