1、循环神经网络与LSTM 七月算法 七月算法 寒老师 寒老师 20162016年年7 7月月3 3日 日 4月机器学习算法班 1 主要内容 n 神经网络与循环神经网络 神经网络与循环神经网络 1.1.强大的功能 强大的功能 2.2.层级结构 层级结构 3.3.多种多种RNN RNN n LSTM LSTM 1 1.长时依赖问题 长时依赖问题 2.2.“记忆细胞“记忆细胞”与状态与状态 n LSTM变体LSTM变体 1 1.GRU.GRU等等 4月机器学习算法班 循环神经网络与应用 o 模仿论文(连公式都格式很正确)4月机器学习算法班 循环神经网络与应用 o 模仿莎士比亚的作品 4月机器学习算法班
2、 循环神经网络与应用 o 模仿小四的作品 4月机器学习算法班 循环神经网络与应用 o 看图说话 4月机器学习算法班 神经网络到循环神经网络 o 我们知道神经网络结构如下 o 那循环神经网络和它是什么关系呢?4月机器学习算法班 o 为什么有BP神经网络,CNN,还要RNN?n 传统神经网络(包括CNN),输入和输出都是互相独立的。图像上的猫和狗是分隔开的,但有些任务,后续的输出和之前的内容是相关的。“我是中国人,我的母语是_”n RNN引入“记忆”的概念 循环2字来源于其每个元素都执行相同的任务。但是输出依赖于 输入 和“记忆”循环神经网络 4月机器学习算法班 o 简单来看,把序列按时间展开 循
3、环神经网络之 结构 4月机器学习算法班 o Xt是时间t处的输入 o St是时间t处的“记忆”,St=f(UXt+WSt1),f可以是tanh等 o Ot是时间t出的输出,比如是预测下个词的话,可能是softmax输出的属于每个候选词的概率 循环神经网络之 结构 4月机器学习算法班 o 可以把隐状态St视作“记忆体”,捕捉了之前时间点上的信息。o 输出Ot由当前时间及之前所有的“记忆”共同计算得到。o 很可惜,实际应用中,St并不能捕捉和保留之前所有信息(记忆有限?)o 不同于CNN,这里的RNN其实整个神经网络都共享一组参数(U,V,W),极大减小了需要训练和预估的参数量 o 图中的Ot在有
4、些任务下是不存在的,比如文本情感分析,其实只需要最后的output结果就行 循环神经网络之 结构细节 4月机器学习算法班 RNN模仿 贴吧留言 例子 4月机器学习算法班 o 详见ipython notebook RNN模仿贴吧留言例子 4月机器学习算法班 o 详见ipython notebook RNN模仿贴吧留言例子 4月机器学习算法班 o 双向RNN o有些情况下,当前的输出不只依赖于之前的序列元素,还可能依赖之后的序列元素 o比如从一段话踢掉部分词,让你补全 o直观理解:2个RNN叠加 不同类型的RNN 4月机器学习算法班 o 深层双向RNN o和双向RNN的区别是每一步/每个时间点我们
5、设定多层结构 不同类型的RNN 4月机器学习算法班 o 前面提到的RNN解决了,对之前的信息保存的问题 o 但是!从在长期依赖的问题。n 看电影的时候,某些情节的推断需要依赖很久以前的一些细节。n 很多其他的任务也一样。n 很可惜随着时间间隔不断增大时,RNN 会丧失学习到连接如此远的信息的能力。n 也就是说,记忆容量有限,一本书从头到尾一字不漏的去记,肯定离得越远的东西忘得越多。n 怎么办:LSTM 循环神经网络之 LSTM 4月机器学习算法班 o LSTM是RNN一种,大体结构几乎一样。区别是?o它的“记忆细胞”改造过。o该记的信息会一直传递,不该记的会被“门”截断。循环神经网络之 LST
6、M 4月机器学习算法班 o 之前提到的RNN结构如下 循环神经网络之 LSTM 4月机器学习算法班 o 咱们把“记忆细胞”表示得炫酷一点 循环神经网络之 LSTM 4月机器学习算法班 o LSTM呢?o“记忆细胞”变得稍微复杂了一点点 循环神经网络之 LSTM 4月机器学习算法班 o 图太复杂,细节看不懂?别着急,我们解释解释。循环神经网络之 LSTM 4月机器学习算法班 o LSTM关键:“细胞状态”o细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。循环神经网络之 LSTM 4月机器学习算法班 o LSTM怎么控制“细胞状态”?o通过“门”让
7、信息选择性通过,来去除或者增加信息到细胞状态 o包含一个sigmoid神经网络层 和 一个pointwise乘法操作 oSigmoid 层输出0到1之间的概率值,描述每个部分有多少量可以通过。0代表“不许任何量通过”,1就指“允许任意量通过”循环神经网络之 LSTM 4月机器学习算法班 o 第1步:决定从“细胞状态”中丢弃什么信息 =“忘记门”o 比如完形填空中填“他”或者“她”的问题,细胞状态可能包含当前主语的类别,当我们看到新的代词,我们希望忘记旧的代词。LSTM的几个关键“门”与操作 4月机器学习算法班 o 第2步:决定放什么新信息到“细胞状态”中 Sigmoid层决定什么值需要更新 T
8、anh层创建一个新的候选值向量 上述2步是为状态更新做准备 LSTM的几个关键“门”与操作 4月机器学习算法班 o 第3步:更新“细胞状态”更新Ct-1为Ct 把旧状态与ft相乘,丢弃掉我们确定需要丢弃的信息 加上it*。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。LSTM的几个关键“门”与操作 4月机器学习算法班 o 第4步:基于“细胞状态”得到输出 首先运行一个sigmoid 层来确定细胞状态的哪个部分将输出 接着用tanh处理细胞状态(得到一个在-1到1之间的值),再将它和sigmoid门的输出相乘,输出我们确定输出的那部分。比如我们可能需要单复数信息来确定输出“他”还是“
9、他们”LSTM的几个关键“门”与操作 4月机器学习算法班 o 变种1 增加“peephole connection”让 门层 也会接受细胞状态的输入。LSTM的变体 4月机器学习算法班 o 变种2 通过使用 coupled 忘记和输入门 之前是分开确定需要忘记和添加的信息,这里是一同做出决定。LSTM的变体 4月机器学习算法班 o 变种3:Gated Recurrent Unit(GRU),2014年提出 将忘记门和输入门合成了一个单一的 更新门 同样还混合了细胞状态和隐藏状态,和其他一些改动。比标准LSTM简单。LSTM的变体 4月机器学习算法班 o 2015的paperLSTM:A Search Space Odyssey中,对各种变体做了对比,发现其实本质上它们大同小异。?o 2015的论文An Empirical Exploration of Recurrent Network Architectures中,google和facebook的大神尝试了1w+种RNN架构,发现并非所有任务上LSTM都表现最好。?o 现在有更多的RNN研究方向,比如attention model和Grid LSTM等等?LSTM比较?4月机器学习算法班 感谢大家!恳请大家批评指正!4月机器学习算法班
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1