【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的Structured learning-sequence labeling(part 2)。这一节将主要进行Recurrent Neural Network的讲解和讨论。本文内容主要针对机器学习中Recurrent Neural Network的RNN、LSTM、LSTM-example以及Multiple-layer LSTM进行详细介绍,话不多说,让我们一起学习这些内容吧。
春节充电系列:李宏毅2017机器学习课程学习笔记23之结构化学习-Structured SVM(part 1)
春节充电系列:李宏毅2017机器学习课程学习笔记24之结构化学习-Structured SVM(part 2)
春节充电系列:李宏毅2017机器学习课程学习笔记25之结构化学习-序列标注 Sequence Labeling(part 1)
春节充电系列:李宏毅2017机器学习课程学习笔记26之结构化学习-序列标注 Sequence Labeling(part 2)
课件网址:
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
李宏毅机器学习笔记27 循环神经网络 Recurrent Neural Network
RNN可以用在slot Filling领域里面,比如订票系统
最简单的方法是用1-of-N encoding来将每个词语词语表示一个向量
当然还有1-of-N encoding的变种
我们也可以用一个neural network来表示一个词语属于哪一个slot的概率
但比如输入Taipei你可能分不清他是dest还是place of departure,所以neural network需要memory
比如下面的模型,所有的weights全是1,没有bias
当输入第一组(1,1),我们会得到(4,4)
但它会记住隐藏层的输出(2,2),然后当输入下一次(1,1)也会输入给网络
继续下去我们会得到最终结果
1.RNN
下面就是RNN最基本架构
不同时间点在memory的值是不一样的
当然RNN也可以很深
根据memory记住的位置不同RNN可以分为Elman Network和Jordan Network
还有双向RNN
2.LSTM
LSTM由四个部分组成,Output Gate,Forget Gate,Input Gate,Memory Cell
LSTM的激活函数是一个sigmoid,可以控制每个Gate的开和关
3.LSTM-example
下面是一个简单LSTM的例子
各部分权重如下图所示
当输入(3,1,0)时,我们可以得到各个Gate的值,然后进行计算
输入(4,1,0)时继续计算
然后依次往下算
直到得到最终结果
原来的网络是下图所示
我们仅仅是用LSTM替换了网络中的neurons
抽象化后如下图所示
当将多个LSTM连接在一起
当然这不是LSTM最终形态,需要稍微改变一点
4. Multiple-layer LSTM
进一步拓展还可以得到Multiple-layer LSTM
请关注专知公众号(扫一扫最下面专知二维码,或者点击上方蓝色专知),
-END-