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

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

PDF VIDEO

Recurrent Neural Network

Example Application

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

slot 安装、放入、沟槽、插入…… 哇好多意思啊。
Slot Filling 就相当把关键字提溜出来放到相应的凹槽内,强迫症患者真舒服。

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

那么怎样将一个词表示成一个向量呢?方法有很多:

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第3张图片

但是上述方法有个问题,有时候有的词汇不在词典中,这时候用other 或者 开头字母来表示他们,这就是Byund 1-of-N encoding。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第4张图片

好了,现在可以将表示出来的vector丢到一个network里,希望它输出一个几率。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第5张图片

但是这样也不能解决所有问题,比如一下两句话输入的vector是一样的,但很明显表达的意思却完全相反。
这时,就希望我们的neural network 是有记忆里的,能记住 arrive /leave ,能理解上下文。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第6张图片

那么这个有记忆里的NN就是RNN。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第7张图片

Example

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第8张图片

在我们使用memory时,必须要给它初始值,比如0,这样network的单元就多了一个接收数据来源。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第9张图片

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第10张图片

这样,即使是相同的输入,输出也可能是不一样的。
所以也代表,在RNN中,是对输入顺序敏感的,也就是调换input的顺序,得到的输出是不同的。
所以,如果我们要用RNN来解决Slot Filling 这个问题如下。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第11张图片

需要注意的是,上图中并不是有三个network ,而是同一个network被使用了三次。
这样,RNN就能在同一个台北的输入下得到不同的输出

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第12张图片

当然,network是有很大拓展性的,比如也可使是deep 的。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第13张图片

RNN也有不同的变形,Jordan Network 存的就是output的值。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第14张图片

Bidirectional RNN,RNN还可以是双向的,本来我们是从句首读到句尾,但其方向是可以反过来的,如果同时train相反方向的network输出都丢给output layer,这样的好处就是,RNN前后都过了一遍视野比较广。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第15张图片


Long Short-term Memory (LSTM)

刚刚的memory是很单纯的存储的,现在还有一种Long Short-term Memory (LSTM)。
其实是给memory加了两扇IO闸门,什么时候外界可以IO memory,还有一层Forget Gate来决定什么时候擦除memory的值,以上门的开闭都是由network自己来学的。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第16张图片

这个memory的具体结构如下,c’就是新存入memory中的值。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第17张图片

Long Short-term Memory (LSTM) Example

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第18张图片

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第19张图片

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第20张图片

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第21张图片

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第22张图片

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第23张图片

其中每一个input x1、x2、x3需要乘的weight和加上的bais都是network学的。

那么这个NN与我们原来所认识的NN有什么不同呢?
原来,会有很多neural 我们会把input乘上不同的weight当作每一个neural的输入,然后每一个neural都是一个function,然而LSTM的memory cell想成是一个neural 就好了。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第24张图片

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第25张图片

就比如说有的机器需要插一个电源就可以动,而LSTM需要四个插电源才能动,四个电源是不同的,参数量是原来的四倍。
假设现在有一整排的memory,每个memory存的scalar是 C^t-1 vector中的一个维度。intput x 时,通过transform,Z^f 、Z^I 、 Z 、Z^o分别负责一种门。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第26张图片

提出一个memory,分析一下计算过程。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第27张图片

c是存的值。
而且还加上一步,它会把上一个时间点的hidden layer输出值,和上一个时间点的memory都接到它的输入,也就是每一个时间点的input将由三部门组成,如下图。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第28张图片

当然L一般不会一层,会叠五六层,就是Multiple-layer LSTM,现在通常所说的LSTM就是指这种。

[机器学习入门] 李宏毅机器学习笔记-32 (Recurrent Neural Network part 1;循环神经网络 part 1)_第29张图片

Don’t worry if you cannot understand this. Keras can handle it
Keras supports “LSTM”, “GRU”, “Simp”

你可能感兴趣的:(机器学习,机器学习入门)