深度学习——深度理解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)






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的特征图






尺寸计算公式

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卷积

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值