本文是李宏毅机器学习的笔记,这是第八节,介绍了RNN网络以及Word Embedding技术。
1. RNN
由于在一些场景中,我们需要考虑之前的输入,所以我们需要将之前的信息进行存储。例如下图中的两句话Taipei,分别表示目的地和出发地,所以我们需要考虑上下文。
RNN网络可以将之前的信息进行存储,这样就可以让模型考虑上下文信息。
RNN也可以做成Deep的结构
RNN的变形有很多,例如Elman Network、Jordan Network、Bidirectional RNN
LSTM
下面重点介绍下,RNN比较常用的一种变形LSTM。从下图可以看出LSTM有四个输入,一个输出
具体的计算过程如下所示:其中c就是存储的信息。
下面是一个运算流程的例子
这里四个门的输入都是输入的原数据加上bias
另一种更合理的做法是,通过通过训练用的原数据,得到四个门的输入。
具体的运算流程如下图所示。
下图展示了两个时间的输入是如何得到的。
也可以组成多层的LSTM网络,图片过于复杂,就不放了,一般的深度学习框架都已经封装好了,直接用就可以了。
学习过程如下,通过每一阶段的真实标签和预测值进行输出