首先附上
LSTM
的标准讲解,里面包括了你们想要的那几幅图。
这篇文章主要是对我这两天看的LSTM
做一个笔记,主要是要搞清楚输入、输出、网络创建,包括使用Tensorflow
创建LSTM
多层网络的代码。随意百度一下,关于LSTM的讲解实在太多了,但是感觉总是不清晰,可能是我没用心,就浮在表面看一下,因此把自己觉得懂了的部分记录一下,希望能给也在摸索的你一点帮助。老规矩,RNN
-->LSTM
下面各个图中符号的意义(该图来源于网络):
RNN
先上一个大家都放的图(该图来源于网络),来源于网络的图我都会标明,如有侵权,联系删除。
从我个人经验来看,像我一样非科班出生的,一般上来就是LSTM,其实搞明白了经典的RNN,LSTM也是一样的,下面我根据这个画一个容易理解的图(假设对传统的神经网络是了解的):
这张图是根据自己的理解画的,如有协同,纯属巧合。本文中的RNN只采用两个网络层,各个维度我也标明了,其中
表示第
个RNN的权重,
表示第
时刻第
个RNN的隐含层神经元个数。我想这个图已经清楚地表达多层RNN是怎样前向传播的了。值得说明的是,一个RNN神经元就是一个全连接层,上面说的两层就是两个RNN神经元,再多层也是一样往后叠加,但是权重是共享的,也就是说上面两个RNN神经元,不管你的
运算多少次,都只有两个权重层。
LSTM
再来几张大家经常看到的LSTM图(以下五张图片来源于网络)
详细地原理图是真不想画了,太复杂了,跟RNN是一样的,所以只挑重点,标注维度,这次是根据编程的来,批量训练(嘴上这么说,身体却很诚实,花了两个小时画了张图,好累):
图中
表示第