前言
这是卷积神经网络学习路线的第一篇文章,这篇文章主要为大家介绍卷积神经网络的组件以及直观的为大家解释一下卷积层是如何在图像中发挥作用的。
卷积神经网络的组件
从AlexNet在2012年ImageNet图像分类识别比赛中以碾压性的精度夺冠开始,卷积神经网络就一直流行到了现在。现在,卷积神经网络已经被广泛的应用在了图像识别,自然语言处理,语音识别等领域,尤其在图像识别中取得了巨大的成功。本系列就开始带大家一起揭开卷积神经网络的神秘面纱,尝试窥探它背后的原理。卷积神经网络的组件有输入层,卷积层,激活层,池化层,全连接层。
输入层
输入层(Input Layer)是将原始数据或者其他算法预处理后的数据输入到卷积神经网络,数据没有明确定义,可以是数字图像,可以是音频识别领域经过傅里叶变换的二维波形数据,也可以是自然语言处理中一维表示的句子向量。输入层的作用是将输入数据送入卷积神经网络进行特征提取,然后获得我们想要的结果。同时根据计算能力差异,机器存储能力差异和模型参数多少可以控制输入不同数量的数据。也就是我们常说的
。
卷积层
卷积层(Convolution Layer)是卷积神经网络的核心组件,它的作用通常是对输入数据进行特征提取,通过卷积核矩阵对原始数据中隐含关联性进行抽象。原始的二维卷积算子的公式如下:
其中,
表示卷积核,
表示输入到卷积层的特征图。和原始的二维卷积算子不同,卷积神经网络首先是维度升至三维、四维卷积,跟二维卷积相比多了一个“通道”(channel),每个通道还是按照二维卷积方式计算,而多个通道与多个卷积核分别进行二维卷积,得到多通道输出,需要“合并”为一个通道;其次是卷积核在卷积计算时没有“翻转”,而是与输入图片做滑动窗口“相关”计算。用公式重新表达如下:
这里假定卷积神经网络有
个