当前位置:   article > 正文

深度学习——深度理解CNN, 卷积里关于维度的那些事_cnn维度

cnn维度

深度学习——深度理解CNN, 卷积里关于维度的那些事

在这里插入图片描述


为什么需要卷积层:


两个矛盾:

1. 直接将图片拉成长向量, 图片邻近像素(垂直方向)被拉的很远, 相关性被破坏了, 模型难以找到邻近像素的联系
2. 一张清晰度较高的图片完全拉成一张长向量直接全连接, 模型太大





卷积的特点:


稀疏交互: 不用所有神经元全部连接, 高层的神经元只与个别低层神经元有关(增加了像素间的相关性, 还减小了模型参数量)
参数共享: 所有稀疏连接的神经元连接的参数都相同
等变性:对平移具有等变性






卷积的使用:

输入的data.shape = (batchsize, channels, height, width)

1. 一输入通道一输出通道(channels)

​ 不多说



2. 多输入通道一输出通道

三个卷积核在三个通道分别进行卷积操作, 在加起来得到输出



input: shape = (3, 3, 3) # 三个通道(rgb)每个通道3*3
[[[1, 2, 3],
[4, 5, 6],		
[7, 8, 9]],

[[9, 8, 7],
[6, 5, 4],
[3, 2, 1]],

[[1, 3, 5],
[2, 4, 6],
[9, 7, 5]]

kernel: shape = (3, 2, 2) # 三个卷积核在三个通道分别进行卷积操作, 在加起来得到输出
[[[1, 2],
[4, 5]],

[[9, 8],
[6, 5]]

[[1, 3],
[2, 4]]]

output_shape = (2, 2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25






3. 多输入通道多输出通道

多个多通道卷积核 可以理解为依次进行多次2. 的操作(在计算机中是并行计算的, 一次性算出来的), 在把输出拼起来

input: shape = (3, 3, 3) # 三个通道(rgb)每个通道3*3
[[[1, 2, 3],
[4, 5, 6],		
[7, 8, 9]],

[[9, 8, 7],
[6, 5, 4],
[3, 2, 1]],

[[1, 3, 5],
[2, 4, 6],
[9, 7, 5]]

kernel: shape = (2, 3, 2, 2) # 两个 三通道卷积核 分别进行卷积操作, 结果拼起来得到输出
[[[[1, 2],
[4, 5]],

[[9, 8],
[6, 5]],

[[1, 3],
[2, 4]]],


[[[1, 2],
[4, 5]],

[[9, 8],
[6, 5]]

[[1, 3],
[2, 4]]]]

output_shape = (2, 2, 2) # 两个2*2的特征图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34






尺寸计算公式

w ∗ = w + 2 ∗ p a d d i n g − k e r _ s i z e s t r i d e + 1 w^* = \frac{w + 2*padding - ker\_size}{stride} +1 w=stridew+2paddingker_size+1








补充: 3D卷积是用来卷积视频的, 第三个维度是时间维度

彩色图像也是2d卷积, 只不过有三个色彩通道, 不是3d卷积

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/786793
推荐阅读
相关标签
  

闽ICP备14008679号