欢迎光临散文网 会员登陆 & 注册

19 卷积层【动手学深度学习v2】

2023-07-18 16:27 作者:月芜SA  | 我要投稿

图片识别两原则:

·平移不变性:需要识别的对象特征不会因为在图片上位置的改变而改变。

·局部性:无需获取整个图片的全部信息即可找到识别对象。



卷积是一种特殊的全连接层。

一般的全连接层输入输出的是数列。

卷积层输入输出矩阵信息。(矩阵信息可以很好地保留图片上像素的位置信息)

具体的说,卷积层可以将输入的形状为(k,l)的矩阵转换为形状(i,j)的矩阵。所以卷积层参数w要变为四维(i,j,k,l)的形状。即输入和输出矩阵对应的长宽值。

上图中v是对w的重新索引,可理解为卷积核的移动。


利用平移不变性进行更深入的理解:

卷积核v应该是相同的,与位置(i, j)无关

利用局部性进行更深入的理解:

卷积核的大小应该是有限制的


卷积层

卷积层工作原理图示

严格来说,卷积层是个错误的叫法,因为它所表达的运算其实是互相关运算(cross-correlation),而不是卷积运算。


不同的卷积核会产生不同的效果:


其他维度的卷积网络

卷积算法总结


代码实现

X为输入,K为卷积核

检验卷积核性能

构建卷积层

卷积层使用例:识别垂直边缘

构建一个形状为(1,2)的卷积核,使得其在扫过图像中的垂直边缘时返回非0值。



用Pytorch自带的卷积网络功能nn.Conv2d()进行参数学习

其中的1,1是指输入和输出通道数,本课仅涉及黑白图片所以都是1

对X与Y进行reshape:分别为通道维:通道数,RGB图3通道,灰度图1通道,批量维就是样本维,就是样本数,在此例子中都是1.


训练结果

epoch 2, loss 15.223
epoch 4, loss 5.325
epoch 6, loss 2.029
epoch 8, loss 0.805
epoch 10, loss 0.326


知识补充:

损失曲线抖动严重,可能是因为数据多样性较大,或者因为学习率设置过大。








19 卷积层【动手学深度学习v2】的评论 (共 条)

分享到微博请遵守国家法律