CV学习(一)——理解CNN

本文不详细介绍CNN,在学习了CNN的基础上对一些重要的概念还有操作的意义,进行下总结

一、理解卷积

做人工智能的或者CV的肯定都对卷积网络以及卷积操作都很熟悉了,但是对于数学意义上的真正的卷积还是不太理解。数学上对于卷积的定义非常抽象,理解有一定困难。这里感谢从知乎上看到的对于卷积最直观的的两个理解:
加权叠加 https://www.zhihu.com/answer/34267457
有趣的案例 https://www.zhihu.com/answer/91131073
个人理解之后认为卷积是把一个函数作为另一个函数的权重,由此运算。这也跟图像上的卷积操作能对应起来,只是两个函数是原始图像跟卷积核。

二、理解卷积神经网路

1.CNN

  1. CNN:一般的卷积神经网络都包含多个卷积层,每个卷积层可以有多个不同的卷积核,通过卷积核处理提取出图像的局部特征
  2. 卷积网络通过局部感受野【local Receptive Fields]、权值共享、下采样来实现图像位移,缩放和形变的不变性
  3. List item
  4. 权值共享大大降的了网络的复杂性,使多维输入向量的图像能直接输入到网络。同一特征映射面上的神经元权重相同因此网络可以并行学习。
  5. 如果将大量图片作为训练集,最终卷积核会训练成待提取的特征 权值共享:将图像从一个局部区域学习到的信息应用到其他图像区域。
  6. 图像的的局部特征具有重复性〔位置无关性] 用同一个卷积核对图像进行卷积操作,相当于对图像进行一次全图滤波.
  7. 感受野:直观而言是视觉感受区域的大小。在CNN上为特征图上一个点对应的输入图的区域范围。如一个神经元大小由输入图像NN卷积而来【可能多次卷积】,则该神经元的感受野就是NN。
  8. 感受野越大,获得的全局信息就越多。
  9. Fine-turn微调:使用已用其他于目标,预训练模型的权重或部分权重,作为初始值开始训练,这样能更快收敛

2.池化

  1. 池化:也成为降采样,有均值子采样;最大子采样。池化用于压缩网络参数和数据大小,降低过拟合。
  2. 如果输入为图像,那池化的作用就是压缩图像的同时保证图像特征的不变性。图像压缩时去掉的是冗余信息,保留的是有尺度不变性的特征,最能表达图像的特征。
  3. 池化:广义上的池化即做降采样处理,可以通过步长不为1的卷积实现,也可以直接通过Pool插值。池化作用于图像中的不重合区域,所以池化的窗口边长=步长。
  4. 平均池化,最大池化;随机池化:对特征图中的元素按概率选取,概率大小跟数值大小成正比。随机池化在保证取值Max的情况下也避免了过度失真。
  5. 平均池化能保留整体数据特征,突出背景信息于整体;最大池化能保留纹理特征;最理想的还是小波变换 ,不但可以整体上更加细致,还能保留更多细节特征。
  6. 池化操作的本质是缩小特征图,可能影响网络的准确的,可以通过增加特征图深度的办法来弥补精度。
  7. List item

你可能感兴趣的:(卷积,机器学习,人工智能)