卷积神经网络用处在哪?

卷积神经网络是用于特征提取的。

传统的神经网络权重参数矩阵大、训练时间多、过拟合风险高。

可用于检测追踪任务、分类和检索、超分辨率重构、无人驾驶、人脸识别等

超分辨率

卷积神经网络(CNN)与传统网络(NN)的区别:

卷积神经网络与传统网络的区别
  • NN输入的是像素点,而CNN输入的是一张原始图像(h×w×c),一个是一维,一个是三维。

卷积神经网络的整体架构:

  • 输入层:输入一个图像数据
  • 卷积层:尽可能多的提取特征
  • 池化层:压缩、下采样特征
  • 全连接层:通过一组权重参数,把输入层和输出层连在一起

卷积:卷积做了一件什么事?

卷积做了一件什么事

对不同的区域提取出不同的特征,将一张图像分成不同的部分,区别处理,进行图像分割。

图像颜色通道

R,G,B:要对三个颜色通道分别做计算,把三个通道卷积完的结果在一起。对于每一个区域都要进行特征提取,得到最终的特征值。

RGB特征提取

输入的图像维度c是多少,那么卷积核的维度c也应该是多少。

卷积层

卷积核就是:每多大区域选出一个特征,一个区域对应出一个特征值。 相当于权重,刚开始是随机初始化的,然后学习更新。即下图W0

所有的卷积网络都是用内积做计算,对应位置相乘,所有结果加一起就可以了。结果别忘了加一个偏置项。在每一个卷积层中的特征矩阵w,h应该是相同的。在不通的卷积层中w,h可以不同

卷积过程

卷积过程2

卷积层涉及的参数

  • 滑动窗口步长:注意步长为2得到的最终结果才是3*3,步长小,提取特征比较细致,效率慢;步长大,提取特征比较粗糙,特征少。一般对于图像而言,我们选择步长为1就可以,但是对于文本数据和其他数据步长不确定。

  • 卷积核尺寸:卷积核越小,特征提取越细致,一般来说选3*3

  • 边缘填充:在边界外再加几圈0,能够弥补一些边界信息利用不充分问题。最外层只是扩充,因为是0,所以对最终结果不会产生影响。一般添一圈

  • 卷积核个数:在算的过程当中要得到多少个特征图就有多少个卷积核。

特征图的个数:特征图的个数取决于你给了多少份的权重矩阵,选择不通的权重矩阵,得到的特征图个数结果不一样。

卷积神经网络不止可以做一次卷积,一次可以提取出粗略特征,再卷积一次可以提取出中间特征,最后再提取出高级特征,再拿出高级特征来做分类。做一次卷积是不够的,需要做多次。

卷积结果计算公式:

卷积结果计算公式 卷积结果计算例子

卷积参数共享:

对于图中的每个区域都选择同样的卷积核,卷积核这个权值矩阵是不变的

参数共享

每次卷积完都要加一个RELU函数,即非线性变换

池化层

在原始得到的特征上进行一个筛选,并不会改变特征图的个数。不涉及矩阵计算,只涉及筛选。

最大池化

选择不同区域,在每个区域中选择最大值,选择一个最大值说明这个特征比较重要。

最大池化

平均池化

选择不同区域,在每个区域中求平均值。

我们选择最大池化,因为神经网络是个优胜劣汰的过程,我们选择最好的特征,不平均来把不好的特征拷进去。

两次卷积后一次池化,RELU是激活函数

卷积池化

卷积和池化只是做特征提取的,到最后池化后会形成立体的特征图,对特征图进行分类,如何转化为分类的概率值?全连接层无法连三维的东西,我们需要将三维的特征图拉长形成特征向量,全连接层如果是五分类,池化层得到的特征图大小为32*32*10,那么得到的全连接层是[10240,5],相当于将10240个特征转化为我们预测的五个类别的概率值。所以在Pooling层和FC层之间还有一个拉长的操作(转换操作)

什么才能称为一层?带参数计算的才能被称为一层。卷积层带,RELU层(激活层)不带参数计算,池化层不带参数计算,不更新参数之类的,全连接层也有权重参数矩阵,需要更新参数。

特征图的变化

感受野:

感受野

我们希望感受野越大越好。

感受野2