全连接神经网络是一个通用的近似框架。只要有足够多的神经元,即使只有一层隐藏层,利用常用的Sigmoid、reLU等激活函数,就可以无限逼近任何连续函数。
在实际中,如果想使用浅层神经网络来拟合复杂线性函数,就需要靠增加的神经元个数来实现。神经元过多意味着需要训练的参数过多,这会增加网络的学习难度,并影响网络的泛化能力。因此,在搭建网络结构时,一般倾向于使用更深的模型,来减少网络中所需要神经元的数量,使网络有更好的泛化能力。
\qquad LSTM是一种RNN特殊的类型,可以学习长期依赖信息。LSTM通过刻意的设计来避免长期依赖问题。
LSTM 结构示意\qquad 这种结构的核心思想是引入了一个叫做细胞状态的连接,这个细胞状态用来存放想要记忆的东西(对应于简单RNN中的h,只不过这里面不再只存放上一次的状态了,而是通过网络学习存放那些有用的状态),同时在里面加入3个门:
忘记门:决定什么时候需要把以前的状态忘记输入门:决定什么时候加入新的状态输出门:决定什么时候需要把状态和输入放在一起输出\qquad 从字面意思可以看出,简单RNN只是把上一次的状态当成本次的输入一起输出。而LSTM在状态的更新和状态是否参与输入都做了灵活的选择,具体选什么,则一起交给神经网络的训练机制来训练。