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

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

PDF VIDEO

RNN

Learning Target

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第1张图片
这里写图片描述

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第2张图片
这里写图片描述

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第3张图片
这里写图片描述

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第4张图片
这里写图片描述

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

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第5张图片
这里写图片描述

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

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第6张图片
这里写图片描述

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第7张图片
这里写图片描述

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

其他应用:

Sentiment Analysis

情感分析,negative positive

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第8张图片
这里写图片描述

Key Term Extraction

关键字抽取

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第9张图片
这里写图片描述

Speech Recognition

语音辨识

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第10张图片
这里写图片描述

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第11张图片
这里写图片描述

CTC怎么训练呢?

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第12张图片
这里写图片描述

CTC 取得的结果

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第13张图片
这里写图片描述

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

Machine Translation

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第14张图片
这里写图片描述
[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第15张图片
这里写图片描述

就像推文接龙一样。

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第16张图片
这里写图片描述

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第17张图片
这里写图片描述

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第18张图片
这里写图片描述

Beyond Sequence

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

[机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2)_第19张图片
这里写图片描述

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

你可能感兴趣的:([机器学习入门] 李宏毅机器学习笔记-33 (Recurrent Neural Network part 2;循环神经网络 part 2))