![09557b11a0989b946e5aabe589035fa5.png](https://i-blog.csdnimg.cn/blog_migrate/6592dda58c9da7955d357af93fd8a395.jpeg)
卷积操作
![3a40bfd2559982fe0f93b6002289c224.png](https://i-blog.csdnimg.cn/blog_migrate/71ebad8c2cc1c5ffb99729c0c5fafc35.jpeg)
% ------------------------------------
%关于卷积操作
%
% date 2019/05/14
% by Dufy
%
% ------------------------------------
clc
clear
close all
format compact
a=[0 1 2;3 4 5;6 7 8];
b=[0 1;2 3];
conv(a,b)
function A=conv(mat, filter)
[row, line] = size(mat);%行,列
[row1, line1] = size(filter);%行,®列
for j=1:row-row1+1
for i=1:line-line1+1
A(j,i)=sum(sum(mat(j:j+row1-1,i:i+line1-1).*filter));
end
end
end
ans =
19 25
37 43
卷积操作的本质:
- 稀疏交互
![7044bf12728eb7f3f610bcfbd86b75fc.png](https://i-blog.csdnimg.cn/blog_migrate/5c14129467535a6e61a298a2b227f9ce.jpeg)
不同于全连接网络,卷积操作具有稀疏交互。也就是,输出只与输入的局部产生联系。物理意义是,现实世界中的数据都有局部的特征结构,我们可以先学习局部的特征,再将局部的特征组合起来,形成更复杂和抽象的特征。
![98a33a3152715dbdad458151e86ae143.png](https://i-blog.csdnimg.cn/blog_migrate/0ca6e4a3a271d55b32a28858f10c7304.jpeg)
- 参数共享
卷积操作时候,用同一个卷积核对图片的不同位置进行操作,不管图片有多大,均共享同一套参数矩阵。
物理意义是平移不变性。即使图像进行了一定的平移,我们仍可将目标识别出来。
多通道卷积操作[1]:
![aca929592ea28bc08896d31195f505d8.png](https://i-blog.csdnimg.cn/blog_migrate/59a1b0fe217c5bf34b91c8e845e5f291.jpeg)
具体操作如下:
![1be1635a239857619841dc881781eb5f.png](https://i-blog.csdnimg.cn/blog_migrate/c34ae4d1cc40c73afeece02a090421cc.jpeg)
注意,原始的彩色3通道经过卷积后变成了1维
![0702da0ddbbd54e0c73ad9d27bc2a5e6.png](https://i-blog.csdnimg.cn/blog_migrate/ee0f86b441b8e971763374f96da00dc5.jpeg)
--------总结如下[2]:
![442b016674a9deb89e271adc77c4ac3b.png](https://i-blog.csdnimg.cn/blog_migrate/e79b4bd685c336502b2ed56fe3498ada.jpeg)
考虑如下例子,filters 10个:
则需要的参数个数是10(3*3*3+1)=280
![33beae905d1258d81af74c6fc9d32ec0.png](https://i-blog.csdnimg.cn/blog_migrate/223aa847ed82418353196cedcde1a933.jpeg)
总结:
![a8d422e1c16a21497dbf456f9146fc6c.png](https://i-blog.csdnimg.cn/blog_migrate/71177892bbc761412cd01758d0b25f56.jpeg)
卷积层和池化层区别
卷积层核池化层在结构上具有一定的相似性,都是对感受域内的特征进行提取,并且根据步长设置获取到不同维度的输出,但是其内在操作是有本质区别的,如表所示。
![1cb08dacd2eb1ee5e28b2b9dc54522b7.png](https://i-blog.csdnimg.cn/blog_migrate/25d2335057775c69bfedb8caddd5cb79.jpeg)
卷积参数计算
以LeNet为例[3],
![2ce1148dea75880c26736cf1403abb2b.png](https://i-blog.csdnimg.cn/blog_migrate/2a996c709c52832e78975402001fa3e3.jpeg)
![f2411d8fd2cafc0d4ac6f9ce46604476.png](https://i-blog.csdnimg.cn/blog_migrate/7d5a653a16aee13f57ebb16f0622e07d.jpeg)
其中,关于连接数量[4]:
2. 连接数量:
全连接:
输入层神经元数量*输出层神经元数量
CNN局部连接: 故由于局部连接机制,卷积层的连接数为: 局部连接的输入层神经元数*卷积层神经元数
参考
- ^Lenet卷积可视化 http://scs.ryerson.ca/~aharley/vis/conv/
- ^【DL笔记6】从此明白了卷积神经网络(CNN https://zhuanlan.zhihu.com/p/42559190
- ^经典的卷积网络架构(一)——LeNet-5详解 http://www.manongjc.com/article/37048.html
- ^CNN卷积层神经元数量、连接数量、权重数量的计算 https://blog.csdn.net/u013793650/article/details/78250152