[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)

来源:互联网 发布:com顶级域名注册局 编辑:程序博客网 时间:2024/04/29 21:56

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)

PDF VIDEO

RNN

Learning Target

这里写图片描述

cost就是每一个时间点的output与reference的cross entropy的合,就是minimize的对象。
有了这个lost后,training要怎么做呢?

这里写图片描述

不幸的是,RNN的training是比较困难的,我门期望蓝色的线,可是现实骨感如绿色那条线…

这里写图片描述

这是一个经常遇到的问题,该方法的作者也有解释。

这里写图片描述

橙色点的跳跃过程非常震荡,甚至可以飞出去hhh,所以他用工程师的思路来解决该问题,叫做clapping,给gradient设一个最大值,比如当大于15时,都等于15.
为什么RNN会有这种奇特的特性,来自sigmod function?并不是,因为实验表明,ReLu表现的更差一些。
直观地评测,将某参数微小变化,看gradient变化多大。

假设输入10000….,在最后一个时刻的output就是w^999,改变w的值,对output有多大影响?

这里写图片描述

可以看出,gradient非常不好训练,它有high sequent,同一个weight 在不同的时间点会被反复利用。

LSTM就是一种解决该问题的好方法,能够解决过于平坦问题(gradient vanish),但不能解决崎岖问题(gradient explode)。

这里写图片描述

听说这还还存在几个面试题。
为什么RNN换成LSTM?
因为可以解决gradient vanish 问题。
为什么能解决呢?
如上图,forget gate。
这里有个point,有一种升级版的LSTM叫做Gated Recurrent Unit(GRU),它只有两个gate,参数量是LSTM的一半,所以如果LSTM 过拟合可以考虑这种方法。(原理是将input合output gate 关联)
还有一些其他方法。

这里写图片描述

其实RNN有很多应用,在上面slot filling 中,input 和output 是同数量的。

其他应用:

Sentiment Analysis

情感分析,negative positive

这里写图片描述

Key Term Extraction

关键字抽取

这里写图片描述

Speech Recognition

语音辨识

这里写图片描述

哈哈哈,关于上面triming方法的语音辨识没法区分‘好棒’和‘好棒棒’,还有方法来解决它,叫做,Conntctionist Temporal Classification(CTC),就是加了一个符号,来表示没有任何东西。

这里写图片描述

CTC怎么训练呢?

这里写图片描述

CTC 取得的结果

这里写图片描述

传说,Google的语音系统已经全面换成CTC了。

Machine Translation

还有一个神奇的应用是机器翻译,把RNN一串input读过去,在最后一个时间点memory中存的就是all information about input sequence。

这里写图片描述

这里写图片描述

就像推文接龙一样。

这里写图片描述

而它什么时候能停下来呢? 当推出‘断’就停。
在RNN中也可以这样做。

这里写图片描述

在翻译上,这个是很奏效的。
下图是Google 的研究成果,input一种语言的文字,output另一种语言的文字,同理能否input语音,output另一种语音做到语音翻译呢?比如台语转英语的翻译,只需要搜集台语的声音讯号和英文翻译就可以了,而不需要台语语音辨识的文字结果。

这里写图片描述

Beyond Sequence

那么这种sequence to sequence 的方法还可以用于Syntactic parsing 句法分析上,得到树桩结构。

这里写图片描述

这一篇内容很多啦~part 3 续

阅读全文
1 0
原创粉丝点击