LSTM的作用,背景不多说了,直接介绍下我对LSTM的总结。
3个控件
LSTM单元包含三个控件
1 遗忘门:
由当前输入数据、上一时刻的隐藏状态(输出)一起做全连接并使用sigmoid制作出来。其负责与记忆细胞做元素乘确定哪些信息保留继续往后传导。
2 输入门:由当前输入数据、上一时刻的隐藏状态(输出)一起做全连接并使用sigmoid制作出来。其与候选记忆细胞做元素乘确定哪些新信息加入记忆细胞。
3 输出门:由当前输入数据、上一时刻的隐藏状态(输出)一起做全连接并使用sigmoid制作出来。其与经过遗忘门,和加入新信息之后的记忆细胞做元素乘确定哪些信息作为当前时刻的输出。
其实三种门的结构是一样的,不同的是全连接和bias不同。
图片来源于gluon动手学习深度学习文档
2个信息部件
1 记忆细胞,负责从始至终信息的承载。
2 候选记忆细胞,负责承载当前时刻的所有信息。候选记忆细胞由隐藏状态和当前输入 经过全连接之后,通过tanh得到。
6种操作
1、sigmoid
2、tanh
3、multiply元素乘
4、元素加
5、concat (合并)
6、copy
3个状态部件
1 上一时刻输出ht-1,
2 当前时刻输入xt
总结:
1 门需要通过sigmoid函数制造出来。
2 信息的进出需要通过tanh函数的转化(不知道为什么,个人猜测是想利用tanh将信息压缩至[-1,1],不至于数值太过于发散)。
3 对信息进行筛选通过sigmoid之后的tensor和记忆细胞做元素乘实现,取出多少比例就代表保留多少信息。