斯坦福CS224n NLP课程【九】——机器翻译和高级循环神经网络LSTMs和GRUs

GRU Gated Recurrent Unit门控循环单元

先回顾之前学习的重要概念

 最简单的神经网络定义

 RNN

 传统机器翻译:

传统的基于统计的机器学习系统是非常复杂的集合 传统的机器学习基于简单贝叶斯 后验概率等于其先验概率乘上似然 然后除以边缘概率

 第一步想要翻译就要做翻译模型 但是翻译的匹配的难度很大 单词可能会一对一 一对多 还有多对多 会形成潜在的组合爆炸 而且不同语言的语序并不一致

 解码:实际上就是很复杂的搜索问题 找到最大的假设

深度学习可能会改变上述的问题

定义一个简单的模型

 模型的定义 Φ后面跟两个向量 代表会有2个分开的w矩阵在每个向量里

RNN翻译模型扩展:

第一步对于不同的递归神经网络需要配置不同的权重 对于encoding和decoding需要分别设置W

 第二:decoder中的隐藏层的输入来自3个方面:前一个时刻的隐藏层、encoder的最后一个隐藏层 c=h_t 前一个预测结果y_t-1 

 不同的图片相同的思想

 第三:使用深度RNN

第四:使用bidirectional encoder

第五:把训练序列用逆序传入可以简化优化器 因为A更可能翻译为X,而梯度消失导致A无法影响输出,倒过来A离输出近一些。逆转词序不会带来“语法语义上的改变”,因为模型学习的就是如何从逆序的原文翻译顺序的译文。但相应的,C就离Y更远了

 

第六 :主要提高:更好的单元 GRU Gated Recurrent Units 主要思想:保存一些记忆去捕获一些较长依赖的关系 需要有一个模型去学习何时以及如何去做那个 同时还允许错误消息流转 flow 基于输入 这些流转会向不同的方向以不同的强度传递

GRUs :先根据当前输入的词向量和隐藏层计算一个update gate 然后利用相同的方法不同的权重计算reset gate 然后利用reset gate 计算新的记忆

这里的意思是,之前的记忆由reset gate控制,如果reset gate元素都是0,则遗忘之前的事情。比如电影评论的情感分析,“有个文艺的少男爱死了一个平凡的少女,这个平凡的少女也爱死了那个文艺的少男,可两个人就是无法相会巴拉巴拉,真是个无聊的电影”。无论前面说了多少话,起决定性作用的可能就是“无聊”这个词。那么一些GRU可能会说,我遇到了一个情感强烈的词语,我不想让它被之前的记忆冲淡(求和),所以我把reset gate设为0,之前的记忆不起作用,把这个情感词汇写成新的记忆。 而update gate的作用是调节最后的更新,到底时刻t的记忆多少来自之前,多少来自当前:如果z_t是单位向量的话,则隐藏层只是复制前一个时刻的隐藏层,梯度不发生变化(衰减)。

下图中,虚线代表某个gate的调节作用。隐藏层取决于上一个时刻的隐藏层和新的记忆,而update gate负责调节它们的比例,reset gate和输入共同决定新的记忆……

 对于GRU 的一些直觉上的感受

Long short term memorise (LSTMs)

 基本的结构 输出门 意味着 信息与当前时点是否有关 遗忘门告诉模型什么时候会保留信息和什么时候会忘记

 一些可视化

 

 LSTM非常潮 是序列标注、seq2seq任务的首选模型,可以层叠起来形成更深的模型。在数据量特别大的时候特别有用。

那时候的NN模型还是仅限于重新排序传统MT模型产生的结果,而最新的研究就是完全甩开了MT模型:前三用的都是NN。

 深度LSTM用于机器翻译:输入原文序列,将最后一个时刻的隐藏层向量PCA降维后可视化 :发现无论词序如何,意义相同的句子在向量空间中更接近。

RNN的最新的进展:

sotfmax的问题 无法预测出从未见过的词对分类问题来讲,你无法指望分类模型给你分出一个训练集中不存在的类。即便是训练集中存在的类,如果样本数很少,模型也很难预测出该类。 对于预测下一个单词的语言模型来讲,也是如此。比如某某女士巴拉巴拉,然后自我介绍说我叫某某。如果某某不存在于训练集中,则模型无法预测出某某。 虽然可以用字符级的模型,但代价实在太大。

 考虑用指针来解决这个问题 如果把某某替换为“向前数第10个单词”这样的指针,问题就迎刃而解了。具体做法是,以前100个时刻的隐藏层作为输入,用一个softmax去计算前100个单词是pointer的概率,与原来的词表上的分布混合。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值