神经网络局限
不考虑数据形状
未考虑数据的“形状”,会破坏数据空间结构。例如,输入数据是图像时,图像通常是高长通道方向上的3维形状。但是,向全连接层输入时,需要将3维数据拉平为1维数据
参数庞大
全连接网络参数量庞大,需要降低参数量
深度受限
全连接网络层次深度受限,一般不超过七层,过深会导致梯度消失(梯度过小)或梯度爆炸(梯度过大),模型性能无法进一步提升。神经网络由输入、权重相乘得到,如果输入X
进行了归一化(
0~1)之间,会导致越乘越小(梯度消失);如果
X
不做归一化,会导致值越乘越大
如何克服全连接模型的局限
- 增加卷积操作,卷积操作不需要变维成向量,不破坏图像空间结构
- 增加卷积、池化操作,提取特征同时,对数据降维
- 增加其它策略解决梯度消失问题
卷积神经网络
卷积
“卷积”其实是一个数学概念,它描述一个函数和另一个函数在某个维度上的加权“叠加”作用。函数定义如下:
其中,函数 f 和函数 g 是卷积对象,a 为积分变量,星号“*”表示卷积。
公式所示的操作,被称为连续域上的卷积操作。这种操作通常也被简记为如下公式:
离散卷积与多维卷积
一般情况下,我们并不需要记录任意时刻的数据,而是以一定的时间间隔 (也即频率)进行采样即可。
对于离散信号,卷积操作可用如下表示:
当然,对于离散卷积的定义可推广到更高维度的空间上。例如,二维的公式可表示为公式
卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN)针对全连接网络的局限做出了修正,加入了卷积层(Convolution层)和池化层(Pooling层)。
卷积神经网络的用途
CNN被广泛应用于图像识别、语音识别等各种场合,在图像识别的比赛中,基于深度学习的方法几乎都以CNN为基础(比如,AlexNet、VGGNet、 Google Inception Net及微软的ResNet等)上。近几年深度学习大放异彩,CNN功不可没。
卷积运算
单通道:用一个值表达像素的颜色。(灰度图像)
三通道:用三个值表达像素的颜色。(彩色图像)
卷积前后矩阵大小一样,称为同维卷积
卷积输出矩阵大小计算
多通道卷积
注意,卷积核那里也是一个卷积核,有三个通道,而不是有三个卷积核
卷积运算的效果
锐化、去噪、模糊、加强边沿
通过卷积运算,能对输入数据起到加强或平滑效果。在图像处理中,通过选取合适的卷积核(或称算子),可以对图像进行锐化、去噪、模糊、加强边沿。
卷积运算能提取深层次复杂特征
卷积运算能提取深层次复杂特征
总结
- 损失函数。用于度量预测值和期望值之间的差异,根据该差异值进行参数调整
- 梯度下降。用于以最快的速度、最少的步骤快速找到损失函数的极小值
- 反向传播算法。用于求隐藏层梯度