CNN,全名卷积神经网络,是深度学习的一种,它与人工智能,机器学习,表示学习,深度学习的关系见下图(来自:解析卷积神经网络----深度学习实践手册,魏秀参),是深度学习中用于医学图像处理和自然语言处理的扛把子技术,例如图像分类、 图像语义分割、图像检索、 物体检测等计算机视觉问题。
总体来说,CNN是一种层次模型,输入是原始数据,通过卷积,汇合,非线性激活函数,全连接网络和目标函数等操作,将特征从原始数据中抽象出来,形式化为目标函数,通过计算预测值与真实值之间的差别并反馈回去,来训练模型并实现预测和识别。整个过程不断进行前馈运算和反馈运算,直到收敛。
CNN包含的主要层次为卷积层,汇合层,激励函数,全连接层和目标函数映射。
卷积(convolution)
卷积是数学中的一种表达方式,二维卷积可以理解为矩阵中的点乘。这一层中有两个重要参数:卷积核大小和卷积步长。通过这一层可以获得图像的局部信息。这一层中的权重是通过学习学到的,并且对不同位置的所有输入都是相同的,具有权值共享的特性。
汇合层(pooling)
通常使用的汇合操作为平 均值汇合和最大值汇合,需要指出的是, 同卷积层操作不同,汇合层不包含需要学习的参数。使用时仅需指定汇合类 型、汇合操作的核大小和汇合操作的步长。汇合操 作实际上就是一种“降采样”操作。汇合层的引入是仿照人的视觉系统对视觉输入对象进行降维(降采样)和抽象,有三种作用:特征不变性,特征降维和防过拟合。
激活函数(activation function)
又称非线性映射。常用sigmoid和Relu函数。直观上,激活函数模拟了生物神经元特性:接受一组输入信号并产生输出。 在神经科学中,生物神经元通常有一个阈值,当神经元所获得的输入信号累积 效果超过了该阈值,神经元就被激活而处于兴奋状态;否则处于抑制状态。在 人工神经网络中,因sigmoid 型函数可以模拟这一生物过程,从而在神经网络 发展历史进程中曾处于相当重要的地位,但容易导致梯度的饱和效应。现相比 sigmoid 型函数,Relu 函数有助于随机梯度下降方法收敛,收敛速度约快 e 倍左右 (8k), 成为目前卷 积神经网络及其他深度学习模型激活函数的首选之一。
全连接层 (full connnected layers)
全连接层在整个卷积神经网络中起到“分类器”的作 用。如果说卷积层、汇合层和激活函数层等操作是将原始数据映射到隐层特征 空间的话,全连接层则起到将学到的特征表示映射到样本的标记空间的作用。
目标函数
目标函数的作用是用来衡量预测值与真实样本标记之间的误差。
网友评论