文章目录
- 为什么使用卷积
- 卷积
- 常规卷积的应用
- CNN作用
- pytorch实现
为什么使用卷积
对于一个3层隐藏层的全连接来识别手写体图片(28*28),内存消耗1.6MB,对于当时来说过于庞大(16K内存)
借助生物学的概念,注重感兴趣的地方,称之为感受野,看到的区域也是图片中的一个小块。
提出了卷积神经网络的概念,卷积也就是指局部的相关性。权重减少为原来的1/6。
卷积
一个共享权值的小滑块再图片上移动,对应位置与滑块的权值相乘,一一得到一个值。
卷积较比于全连接,它是784个神经元做全连接,需要784个权值,现在3*3卷积只有9个权值。
对于一张图片,全连接与卷积的区别如上。
常规卷积的应用
- 锐化
- 模糊
- 边缘检测
CNN作用
CNN也是使用多个卷积核(自学习),可以对图片生成锐化、模糊、边缘检测的效果。
H、W分别为卷积之后生成的高和宽的大小
卷积一个kernal(Filier、Weight都是一个概念)指得是对应RGB的三个(3*3)模板
一个kernal进行一次卷积指得是3个3*3的模板求完卷积,再将这三个的卷积结果相加得到的值。
对于一个黑白图input(1,28,28)
卷积的kernal为(6,1,3,3),最终生成6个feature,其中通道数是1。偏移为[6]。
第二次卷积kernal(16,6,3,3),自己随意设置生成feature个数,这里设置成16,其中,对上一层的6个feature做卷积,卷积的kernal的大小为3*3
卷积的每一层的特征提取
pytorch实现