卷积神经网络(Convolutional Neural Network, CNN),是深度学习技术中极具代表性的网络结构,它的应用非常广泛,尤其是在计算机视觉领域取得了很大的成功。CNN相较于传统的图像处理算法的优点就在于,避免了对图像复杂的前期预处理过程(即大量的人工提取特征工作),也就是说CNN能够直接从原始像素出发,经过极少的预处理,就能够识别视觉上面的规律。
我们将探讨CNN的网络结构~
- 卷积层:CNN网络的核心结构,通过局部感知和参数共享两个原理,实现了对高维输入数据的降维处理,并且能够自动提取原始数据的优秀特征。
- 激活层:它的作用与传统DNN网络的激活层一样,把上一层的线性输出,通过非线性的激活函数进行处理:sigmoid函数,ReLU函数等。
- 池化层:也称为子采样或下采样层,是CNN网络的另一个核心结构层。通过对输入数据的各个维度进行空间的采样,可以进一步降低数据规模,并且对输入数据具有局部线性转化的不变性,增强网络的泛化处理能力。
- 全连接层:等价于多层感知器,经过前面的卷积层和池化层的反复处理后,一方面,输入数据的维度已经下降至可以直接采用前馈网络来处理;另一方面,全连接层的输入特征是经过反复提炼的结果,因此比直接采用原始数据作为输入所取得的效果更好。
绝大多数将CNN应用到图像上,另外,还可以应用到自然语言处理中国,主要是考虑到CNN优秀的特征提取能力;以及运算效率的需要,CNN作为目前计算机视觉领域应用最广泛的模型,其核心是线性卷积运算,很多线性代数运算哭都实现了卷积的加速操作,将卷积加速的通常做法是将卷积操作转化为矩阵运算,提高了计算的并行度,通过结合GPU等硬件设备来进行加速。