2
本文作者: 李尊 | 2016-07-14 09:49 |
微软研究院在IJCAI2016的Tutorial上讲述了自己将深度学习、深度神经网络应用于不同场景的情况,之前第一部分提到了其应用于语义理解上的一些经验和收获,本文为第二部分。
联合编译:Blake、章敏、陈圳
统计机器翻译(SMT)包括:
l 统计结果
l 来源渠道模型
l 翻译模型
l 语言模型
l 对数线性模型
l 评价指标:BLEU分数(越高越好)
基于短语的统计机器翻译(SMT)将中文翻译成英文
核心问题:针对什么建模?
l 针对词汇可能性
语言模型
LM/w 来源
l 基于短语的机器翻译 翻译/录制可能性
翻译
录制
l 基于二元的机器翻译
l ITG模型
神经网络在基于短语的SMT中的示例
l 神经网络作为线性模型中的组成部分
翻译模型
预压模型 卷曲神经网络的使用
联合模型 FFLM与原始词汇
l 神经机器翻译(NMT)
建立一个单一、大型的神经网络用来读取句子并输出翻译
RNN 编码-解码
长短时期记忆
联合学习顺序、翻译
NMT在WMT任务上超过了最好的结果
短语翻译模型虽然简单,但是解决了数据稀少的问题。
深度语义相似模型(DSSM)
l 计算语义相似性btw文本
l 针对自然语义处理任务的DSSM
DSSM 针对短语翻译模型
l 两个神经网络(一个是来源方向,一个是导向方向)
输入
输出
l 短语翻译分数=矢量点积
分数
为了缓解数据稀疏性,允许复杂的分数函数
N-gram语言模型
l 词语n-gram模型(如n=3)
l 使用长历史的问题
稀少的事件:不可靠的可能性预估
RNN LMs需要返回到句子刚开始的时段,这也使得动态规划更加困难。为了给新词汇评分每一个解码器的状态都需要维持在h,通过传统的n-gram语境和最好的h来合并假设,进行重新组合。
模拟S需要3个条件:1.整个源句子或者均衡的源词汇 2.S作为词汇序列,词汇包,或者矢量代表 3.如何学习S的矢量代表?神经网络联合模型基于递归神经网络语言模型和前馈神经语言模型。
前馈神经语言模型
扩展前馈LM,使它包含周围有均衡源词汇的窗口。如果要对齐多个源词汇,选择正中间的位置;如果无需对齐,则继承最近目标词汇的队列。同时用队列在文本中进行训练;优化目标的可能性。
神经机器翻译,建立一个单独的,大型的NN,阅读句子并输入翻译。不像基于短语的系统需要很多零件模型组成。编码器-解码器基础方法是:一个编码器RNN进行阅读和将一个源句子编码到固定长度的矢量中,一个解码器RNN从编码器矢量中输出可变长度的翻译,最后编码器-解码器RNNs联合学习文本,优化目标可能性。
[Sutskever+2014]编码器-解码器模型
将MT当成普遍的序列到序列的翻译,阅读源头;累积隐状态;生成目标。其中<EOS>是停止递归进程的符号。在练习中,反向阅读源句子会导致更好的MT结果。在文本中进行训练,并使用SGD优化目标可能性。
潜能和困难
在理论上,RNN可以将所有过去输入的信息“储存”在h中,但在现实中标准的RNN无法捕获长距离的依赖。解决反向传播中梯度消失和爆炸和不稳定噪音问题的方法是:长的短期记忆。
长短期记忆细胞
RNN中一个LSTM单元的信息流的图解和数学公式。W`s是权重矩阵,虽然没有显示但可以从图中轻松的推理出来。
两个门的记忆细胞
图2:提出的隐激活函数。更新门z决定隐藏状态是否更新了新的隐藏状态h。复位门r决定先前的隐藏状态是否被忽略。
排列和翻译的联合学习
SMT编码器-译码器模型存在一个问题问题:压缩源信息到一个固定长度矢量中,使得RNN很难复杂长句子。注意力模型就是:编码输入句子到矢量队列,并在解码时选择矢量的子集
它类似的想法于[Devlin+14]。
[ Bahdanan+15]的注意力模型
编码器:双向RNN编码每一个单词和文本
解码器:寻找一系列与预测的目标词汇最相关的源词汇,并基于源词汇和所有先前生成词汇相关的文本矢量预测目标词汇。这样翻译长句子的表现接近最佳性能。
MSR`s神经对话引擎
总结:
这一部分主要介绍了深度神经网络对于问题进行分类的实例,以及在统计机器翻译和对话中深度学习的应用,对于语义表达学习和自然语言的理解也有所提及。
PS : 本文由雷锋网独家编译,未经许可拒绝转载!
雷峰网原创文章,未经授权禁止转载。详情见转载须知。