【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的Recurrent Neural Network初步知识。这一节将主要针对讨论Recurrent Neural Network的内容进一步讨论。本文内容主要针对机器学习中Recurrent Neural Network的RNN的训练、Many to one、Many to many以及Sequence-to-sequence Auto-encoder进行详细介绍,话不多说,让我们一起学习这些内容吧
春节充电系列:李宏毅2017机器学习课程学习笔记23之结构化学习-Structured SVM(part 1)
春节充电系列:李宏毅2017机器学习课程学习笔记24之结构化学习-Structured SVM(part 2)
春节充电系列:李宏毅2017机器学习课程学习笔记25之结构化学习-序列标注 Sequence Labeling(part 1)
春节充电系列:李宏毅2017机器学习课程学习笔记26之结构化学习-序列标注 Sequence Labeling(part 2)
春节充电系列:李宏毅2017机器学习课程学习笔记27之循环神经网络 Recurrent Neural Network
课件网址:
http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html
http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html
视频网址:
https://www.bilibili.com/video/av15889450/index_1.html
李宏毅机器学习笔记28 循环神经网络 Recurrent Neural Network Part2
1.RNN的训练
RNN在训练的时候将输出y和正确的slot做交叉熵
RNN使用BPTT更新参数
但事实上,RNN-based的网络并不是能很好地训练
因为error surface要么是非常平要么是非常陡峭,很容易导致失败
导致这种的原因是因为RNN使用同样的参数很多次
LSTM的好处就是可以解决gradient vanishing的问题
还有其他的解决这类问题的方法
RNN可以做更多的事
2.Many to one
比如在语义分析里面,输入是一个vector序列,输出为一个vector
还可以用在key term extraction
3.Many to many
在语音辨识里面会有一个问题,比如你说好棒,它可能识别很多“好”和“棒”
所以我们需要用CTC的方法来解决
还可以用在机器翻译上
但这种情况下机器不知道什么时候结束
于是需要加一个结束符号
还可以输入中文声音信号,输出英文文字
Syntactic parsing也是一个应用
4.Sequence-to-sequence Auto-encoder
如果要理解一个句子的含义,词语顺序不能被忽视
将一个句子表示成一个embedding vector ,encoder的输出vector代表其重要信息
当然还可以语音的每一个word表示为一个vector
在语音搜索也有很好的应用
RNN的encoder和decoder是一起train的
我们还可以将每个word的embedding vector可视化
后台回复“LHY2017” 就可以获取 2017年李宏毅中文机器学习课程下载链接~
-END-