《深度学习从0开始-CNN》

1.卷积神经网络

1.互相关运算(cross-correlation)
输入 * 核函数 = 输出
n k × n w n_k \times n_w nk×nw k h × k w k_h \times k_w kh×kw
输出: ( n k − k h + 1 ) × ( n w − k w + 1 ) (n_k - k_h + 1) \times (n_w - k_w + 1) (nkkh+1)×(nwkw+1)
2.填充padding 和步幅stride
padding
通常,如果添加 p h p_h ph行填充(大约一半在顶部,一半在底部)和 p w p_w pw列填充(左一半,右一半),则输出形状为: ( n h − k h + p h + 1 ) × ( n w − k w + p w + 1 ) (n_h - k_h + p_h + 1) \times (n_w - k_w + p_w + 1) (nhkh+ph+1)×(nwkw+pw+1)
许多情况下, 设置 p h = k h − 1 p_h = k_h -1 ph=kh1 p w = k w − 1 p_w = k_w - 1 pw=kw1使输入和输出具有相同的高度和宽度
pytorch 中 padding = ( p h / 2 p_h /2 ph/2, p w / 2 p_w /2 pw/2)
stride
通常,当垂直步幅为 s h s_h sh,水平步幅为 s w s_w sw时,输出形状为
[ ( n h − k h + p h + s h ) / s h ] × [ ( n w − k w + p w + s w ) / s w ] [(n_h - k_h + p_h + s_h) / s_h] \times [(n_w - k_w + p_w + s_w) / s_w] [(nhkh+ph+sh)/sh]×[(nwkw+pw+sw)/sw]

实践中通常 p h = p w p_h = p_w ph=pw s h = s w s_h = s_w sh=sw

3.多输入/多输出通道

多输入通道:
每个通道输入的二维张量和卷积核的二维张量进行互相关计算,再对通道求和得到二维张量
多输出通道:
(多输入通道的情况下)为每一个输出通道创建一个 c i × k h × k w c_i \times k_h \times k_w ci×kh×kw的卷积核张量,即卷积核的形状: c 0 × c i × k h × k w c_0 \times c_i \times k_h \times k_w c0×ci×kh×kw

4.汇聚层
减低卷积层对位置的敏感性,同时减低对空间降采样表示的敏感性
最大汇聚层 maximum pooling / 平均汇聚层 average pooling
填充、步幅、多个通道
5. LeNet
LetNet(-5)由两个部分组成:
卷积编码器:2个卷积层组成
全连接层密集块:3个全连接层组成

2.现代卷积神经网络

AlexNet, VGG, NiN, GoogLeNet, ResNet, DenseNet

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值