基本概念
神经元结构
神经元的构成:神经元一般由一个线性函数和一个非线性的激活函数构成
神经元结构如下图:
激活函数的作用:改变数据的线性关系,并将输入数据映射在某个范围内,防止数据过大溢出
全连接(Full Connected)
全连接概念:每一层的每个神经元都与下一层的每个神经元相连,此连接关系即为全连接
全连接的缺点:无论相隔多远,所有神经元都与下层神经元有关系,计算量较大
卷积神经网络的基本思路:在图片识别时,首先找到各部分的边缘和轮廓,然后再查看图片中数据和这些边缘轮廓的关系
卷积核(filter过滤器)
卷积核是什么?
卷积核就是提取出的某一方面的特征,我们可通过卷积核把图片中数据这方面的特征过滤出来
关于卷积核的大小
卷积核的大小可以指定为小于输入图像尺寸的任意值,卷积核越大,可以提取到的输入特征越复杂
卷积神经网络CNN参数简介
卷积神经网络有三个参数,分别为卷积核大小、填充和步长,三者共同决定了卷积层输出特征图的尺寸
卷积核大小![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5e174ed822d8e2af10746ed0fd13db52.png)
左侧的图为原始输入图像,右侧为一个3x3的卷积核;其卷积方法为从左上角开始,将卷积核放在图像上,对应位置数据相乘最后相加,得到卷积核的第一个特征,卷积核再向右移动一个步长,进行相同的操作,以此类推,最终卷积得到一个3x3的输出图像
第一个特征的得出:
卷积得到的结果:
一个nn的图像经过ff的卷积核处理之后:
1.图像变小,若神经网络层数增多,图像会继续减小
2.图像边缘部分信息使用较少
填充(Padding)
在输入图像周围增加p层均为0的格子,并不影响输入图像的特征
怎样实现输入、输出图像大小一致?
满足 p = (f-1) / 2即可 (步长为1时)
若padding=same,意思就是要求输入图像与输出图像大小相一致
步长
卷积时卷积核每一次在图像上移动的距离即为步长,通常为1
下图是步长为2时,卷积的过程:
卷积输出大小计算公式
假设输入图像大小为n*n,卷积核大小为f*f,填充为p,步长为s,则输出:
O = (n - f + 2p) / s + 1
即输出图像大小为O*O
通道(Channel)
通道,即特征图
灰度图像只有一个通道,而彩色图像一般有三个颜色通道,对应红®绿(G)蓝(B)三种颜色
在对彩色图像进行特征提取时,方法也大同小异,我们使用三个相同的卷积核对三个通道同时进行卷积,再将三个通道卷积得到的数相加,即为卷积后的特征。如下图:
若使用多过滤器,即用n个由另三个相同卷积核组成的新卷积核对图像进行卷积,从而得到n个输出,计算方法与上述方法一致
上图所得输出,通道数=3/3=1,圈出来的2是
一个单层完整的CNN网络,在滤波器之后存在一个激活层,通常激活函数选择ReLu函数,即将卷积后得到的输出加上偏置量送入ReLu函数进行激活,多个卷积核进行此操作,即构成一个单层完整的CNN
池化(Pooling)
池化的最主要作用是降维,通俗地说就是在保留主要特征的情况下,减小图像输出的大小,常用的池化有最大池化(max-pooling)、平均池化(average-pooling);
若使用最大池化,以下图为例,原大小为4*4的图像,在经过2*2的步长为2的过滤器之后,变为了2*2的输出,输出中的每个数字,即为对应输入位置中最大的数字(例如左上角过滤器中最大数为6,则输出中左上角的数也为6)
Dropout层(一般加在全连接层)
作用:防止CNN过拟合;采用的方法是以一定的概率将神经元暂时从网络中丢弃
参考资料:https://www.bilibili.com/video/BV1nk4y1271L