Deep Learning for Nature Language Processing --- 第八讲

Current statistical machine translation systems

源语言:法语

目标语言:英语

概率公式(利用贝叶斯定理):

在平行语料库(parallel corpora)上训练翻译模型p(f|e)

在英语语料库上训练语言模型p(e)

Step1: Alignment

目标:将源语言中的单词或者短语匹配到正确的目标语言中的单词或者短语

假如匹配好了单词和短语,那么又如何给这些单词和短语重新排序呢?

After many steps

每个源语言中的单词或者短语,在目标语言中都有不止一个相匹配的单词或者短语:

Decode: Search for best of many hypotheses

TradiBonal MT(Machine Translation)

直接跳过非常多的细节部分

需要非常多的人工处理特征信息

非常复杂的系统

Deep learning to the rescue! … ?

也许我们能直接使用RNN做机器翻译

MT with RNNs – Simplest Model

最小化基于源语言,对应的目标语言中的词的交叉熵:

然而并没有这么的简单:)

RNN Translation Model Extensions

1)decoding和encoding部分,训练得到的RNN的Weeights是不一样的:

2)在解码时,根据下面的三项计算当前的hidden层:

1.之前的hidden层

2.上一个编码器的hidden层:c=hT

3.之前预测得到的词yt-1

对上一幅图更详细的描述

3)训练多层 stacked/deep RNNs

4)也可训练双向RNN

5)将输入序列反向后训练,以使得优化更加简单,如:A B C-》X Y换成C B A-》X Y

6)Main Improvement: Better Units。在循环的时候使用更加复杂的hidden units,如Gated Recurrent Units(GRU)

GRUs

标准的RNN直接计算下一个time step的hidden layer:

而在GRU中,则是先计算一个update gate,update gate是由当前的输入向量以及上一个hidden 层决定:

再用不同的Weights计算reset gate

由update gate和reset gate的公式可以得到新的记忆内容,如果reset gate接近于0,则忽略之前的记忆单元(隐层单元),只取当前time step的词向量:

最终的time step的记忆单元(隐层单元)公式:

下面这张图有利于你理解GRU:

GRU intuition

如果reset gate接近于0,则忽略之前hidden层的h。这样做的好处是可以丢弃和后面训练过程无关的信息。

update gate z的作用则是控制之前的部分对当前time step计算结果的影响程度(大小)。如果z接近于1,我们就可以将信息直接copy过来,这样的话有利于避免vanishing gradient。

短期依赖(short term dependences)的reset gate很活跃

长期依赖(long term dependendces)的update gate很活跃

参考图:

x1*x2对x1的导数如何求?同样使用的是链式法则,不同的是这里是通过模块化(modularization)和自定区划(automatic differentiation)实现的

Long--‐short--‐term--‐memories(LSTMs)

我们可以使传统RNN中的单个Unit(time step)更加复杂

可以在每个time step中添加下图中的几项:

最终的记忆单元:

最终得到的hidden层的计算公式:

LSTM详解图:

LSTMs are currently very hip!

LSTM是大多数序列标记任务的默认模型

非常的管用,特别是在使模型deeper之后(即每一个hidden层都是由一个内部的深度网络计算得到)

数据越多越管用

但是Deep LSTM和一些传统的MT方法的测试结果相差不大:

Further Improvements: More Gates!

时间: 2024-11-08 09:53:56

Deep Learning for Nature Language Processing --- 第八讲的相关文章

Deep Learning for Nature Language Processing --- 第四讲(下)

A note on matrix implementations 将J对softmax的权重W和每个word vector进行求导: 尽量使用矩阵运算(向量化),不要使用for loop. 模型训练中有两个开销比较大的运算:矩阵乘法f=Wx和指数函数exp Softmax(=logistic regression) is not very powerful softmax只是在原来的向量空间中给出了一些linear decision boundary(线性决策线),在小的数据集上有很好的regu

Deep Learning for Nature Language Processing --- 第七讲

Overview 传统语言模型 RNNs RNN 语言模型 一些训练时重要的策略和技巧 梯度消失和梯度爆炸的问题 双向RNNs 其他序列问题中的RNNs Language Models 语言模型计算的是一连串词的概率:P(w1,w2-wT):其中的w1,w2-wT都是词向量. 这种语言模型有利于机器翻译,例如: 1.词序:p(the cat is small) > p(small the is cat) 2.词的选取:p(walking home after school) > p(walki

Deep Learning for Natural Language Processing1

Focus, Follow, and Forward Stanford CS224d 课程笔记 Lecture1 Stanford CS224d 课程笔记 Lecture1 Stanford大学在2015年开设了一门Deep Learning for Natural Language Processing的课程,广受好评.并在2016年春季再次开课.我将开始这门课程的学习,并做好每节课的课程笔记放在博客上.争取做到每周一更吧.本文是第一篇. NLP简介 NLP,全名Natural Languag

CS224d: Deep Learning for Natural Language Process

Course Description Teaching Assistants Peng Qi Course Notes (updated each week) Detailed Syllabus Class Time and Location Spring quarter (March - June, 2015).Lecture: Monday, Wednesday 11:00-12:15Location: TBD Office Hours Richard: Wed 12:45 - 2:00,

Deep Learning Libraries by Language

Deep Learning Libraries by Language Tweet Python Theano is a python library for defining and evaluating mathematical expressions with numerical arrays. It makes it easy to write deep learning algorithms in python. On the top of the Theano many more l

Deep Learning for Natural Language Processeing : Convex Optimization

效率爆表的一个晚上,只是因为没带手机,可怕! 今天开启新的课程,http://cs224d.stanford.edu/syllabus.html 第一章是凸优化,convex Optimazition 凸集 Convex Set 定义: A set C is convex if, for any x, y ∈ C and θ ∈ R with 0 ≤ θ ≤ 1,θx + (1 ? θ)y ∈ C. 判别方法:如果一个集合C是凸集,则C中任意两个元素连线上的点都属于C 举例:所有的实数空间:实数

机器学习(Machine Learning)&深度学习(Deep Learning)资料

机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008/Qix/blob/master/dl.md 原作作者會不斷更新.本文更新至2014-12-21 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍非常全面.从感知机.神经网络.决策树.SVM.Adaboost到随机森林.Deep L

Deep learning的一些教程 (转载)

几个不错的深度学习教程,基本都有视频和演讲稿.附两篇综述文章和一副漫画.还有一些以后补充. Jeff Dean 2013 @ Stanford http://i.stanford.edu/infoseminar/dean.pdf 一个对DL能干什么的入门级介绍,主要涉及Google在语音识别.图像处理和自然语言处理三个方向上的一些应用.参<Spanner and Deep Learning>(2013-01-19) Hinton 2009 A tutorial on Deep Learning

(转) Deep Learning Resources

转自:http://www.jeremydjacksonphd.com/category/deep-learning/ Deep Learning Resources Posted on May 13, 2015 Videos Deep Learning and Neural Networks with Kevin Duh: course page NY Course by Yann LeCun: 2014 version, 2015 version NIPS 2015 Deep Learnin