DNN
DNN是相对于多层感知机而言的,最开始的时候,多层感知机的层数很难做到很深。DNN中的D即是“深度”的意思,其相对于之前的多层感知机而言,层数更深。其最早由Hinton采用采取无监督预训练的方式实现。
CNN
CNN即是卷积神经网络,其核心即是卷积运算。在DNN中,神经元的连接是全连接的,这使得网络随着层数的增加参数量增加的很快。然而CNN中采用了稀疏连接的方式,通过卷积提取局部信息,从而降低了参数量。但是卷积操作是一种局部操作,对于全局信息的提取能力较弱。为了在CNN网络中提取全局的信息,就需要增加网络的深度,使得其在深层能够有全局信息的感受野。由于DNN和CNN的原理比较简单,此处不做详细介绍。主要来解释RNN,LSTM的原理。
RNN
DNN,CNN等对于时序信息的建模能力不是那么的显然。从而诞生了“递归神经网络”RNN,来显式地对时序信息进行建模。
网络特点:
- 参数共享,例如下图中的
(三个参数矩阵处理的数据分别是:隐藏状态、输入数据以及输出数据)
- 当前输出,不仅取决于当前输入
和 上一时刻隐藏状态
利用数据公式表示上述过程:
LSTM
通过实验发现,RNN对于长期依赖的处理能力较差,所以诞生了对 RNN 的改进版 LSTM 来实现对长期依赖的建
模。
RNN 结构简图
LSTM 结构简图
注:
- 图中省略了,用于线性运算的矩阵
- 粉色模块,表示逐点乘法,逐点加法等等
表示 sigmoid 激活函数
- tanh 同样是激活函数(这些激活函数组成了一系列“门电路”:输入门,遗忘门以及输出门)
LSTM介绍
LSTM 的关键是单元状态,即上图中水平线贯穿图中顶部的内容。单元状态有点像传送带,它直接沿着整个链运行,只有一些次要的线性交互。信息很容易沿着它不变的流动。
遗忘门实现 输入门
输入门和遗忘门更新单元状态 输出门
数学表示如下:
注:
- 其中的点乘表示的是矩阵乘法或者向量乘法
- *乘表示的是按元素乘法操作
网络单元通过对单元状态的更新以及提取可以实现对特定信息的获取。从其 LSTM 原理可以看到,对单元状态的操作事实上就是一个注意力机制的应用。对信息具有筛选作用,从而增强了模型的复杂性以及表示能力。
GNN
图神经网络,处理的数据具有图结构。只要数据或者信息能够用图来表示,那么就可以采用GNN对其进行建模分析。