介绍
CNN英文全称(Convolutional Neural Networks),现被用于各个领域,尤其在图像分割中表现尤为突出。
它主要有如下几个过程:
1、卷积运算
2、非线性激活
3、池化层
4、全连接层
卷积运算
卷积神经网络和信号处理中的卷积运算有一定的关系,公式截图如下:
非线性激活
为什么要进行非线性激活呢?如果使用线性的激励函数,那么输出就是乘上一个大的矩阵,没有体现出隐层的作用,并且激活函数可以把当前特征空间通过一定的线性映射到另一个空间,让数据能够更好的被分类。比如非线性激活函数-Relu函数,公式为:f(x)=max(0,x)即,保留大于等于0的值,小于0的数改写为0。非线性激活函数作用后的结果:
池化层(pooling)
为什么要有池化层呢?那是因为进过卷积操作之后,得到了许多张有着不同值得特征图。而池化的目的就是减少数据量。池化分为最大池化(Max Pooling)、平均池化(Average Pooling),最大池化就是取最大值,平均池化就是取平均值。接下来我们拿最大池化举例:选择池化尺寸为2X2的窗口。
全连接层
全连接层要做的事情就是对之前所有的操作进行一个总结,来得到每个分类类别对应的概率值,最后输出一个结果。
原图片尺寸为9X9,经过一系列的卷积、Relu(非线性激活)、池化后,得到尺寸压缩为2X2的三张特征图。(为什么是三张呢?因为原图像为RGB图像,上述过程省略了一部分)
原文链接