本文从模型架构上介绍三大类神经网络算法:CNN(卷积神经网络)、RNN(循环神经网络)、Transformer(注意力机制)。除此之外还有MLP(多层感知机、全连接神经网络),因为在这三个模型架构上都会使用MLP层,所以就不把MLP单独分为一类了。
1、CNN(卷积神经网络)
卷积神经网络是LeCun于1989年提出,用Lenet卷积网络来识别信封或邮件上的手写数字。卷积神经网络是一种专门用来处理具有类似网格结构的数据的 神经网络。例如时间序列数据(可以认为是在时间轴上有规律地采样形成的一维网格)和图像数据(可以看作是二维的像素网格)。卷积网络在诸多应用领域都表现优异。“卷积神经网络” 一词表明该网络使用了 卷积(convolution)这种数学运算。卷积是一种特殊的线性运算。卷积网络是指那些至少在网络的一层中使用卷积运算来替代一般的矩阵乘法运算的神经网络。
如下是卷积运算的示意图(来自花书),步幅为一,填充为0,无偏置。
卷积运算通过三个重要的思想来帮助改进机器学习系统:
(1)稀疏交互(sparse interactions):举个例子, 当处理一张图像时,输入的图像可能包含成千上万个像素点,但是我们可以通过只占用几十到上百个像素点的核来检测一些小的有意义的特征,例如图像的边缘。
(2)参数共享ÿ