References:
【窥视孔连接】
在 LSTM 中,当前时间步的状态不能影响到三个门在下一时间步的输出,这使得整个单元状态对上一单元模块的序列处理中丢失了部分信息
为此,2000 年,Gers 和 Schmidhuber 为 LSTM 引入了窥视孔连接(Peephole Connection),该连接可以让门观察到单元状态,进一步提高了 LSTM 单元对具有长时间间隔相关性特点的序列信息的处理能力
简单来说,窥视孔连接,就是将前一时间步的单元状态 $c_{t-1}$ 引入到门控函数中
需要注意的是,可以给所有的门加上窥视孔,也可以选择其中的任意个进行添加
【遗忘门与输入门的耦合】
另一种比较流行的变体是遗忘门和输入门耦合(Coupled Forget and Input Gates,CFIG)
在这一类型的变体中,不再分别决定删除和增加信息,而是一起进行决策,即遗忘和添加信息是同时考虑,联动发生的
换句话说,只在当前时间步添加信息时才选择是否遗忘该信息,或者只在遗忘老信息后才输入新信息
【八个变体的对比】
2017 年 Greff 探讨了基于 BLSTM 的 $8$ 个变体,并比较了它们间的性能差异,包括:
- 没有输入门(No Input Gate,NIG)
- 没有遗忘门(No Forget Gate,NFG)
- 没有输出门(No Output Gate,NOG)
- 没有输入激活函数(No Input Activation Function,NIAF),即没有输入门对应的 tanh 层
- 没有输出激活函数(No Output Activation Function,NOAF),即没有输出门对应的 tanh 层
- 没有窥视孔连接(No Peepholes,NP)
- 遗忘门与输入门的耦合(Coupled Input and Forget Gate,CIFG)
- 全门重复(Full Gate Recurrence,FGR),即在所有门之间增加了循环连接
在 TIMIT 语音识别、手写字符识别、复调音乐建模这三个应用场景下,进行了比较,得出了以下几个结论:
- LSTM 具有较好的表现,其他的 $8$ 个变体并没有较大的性能提升
- 无窥视孔连接(NP),以及遗忘门与输入门耦合(CIFG)这两个变体,简化了 LSTM 的结构,且不会对结果产生太大影响
- 遗忘门和输出门 LSTM 结构中最重要的两个部分,遗忘门影响 LSTM 的性能,输出门限制了输出结果的边界
- 学习率与隐藏层个数是 LSTM 的主要超参数,但这两个超参间没有什么关系,可以独立调参
- 学习率可以先使用一个小的网络进行校准,从而节省时间