刘二大人PyTorch-卷积神经网络(CNN)—高级篇

《PyTorch深度学习实践》视频

一.GoogLeNet

1. 其中的多次出现的蓝红结构被称之为:Inception 

 1.1 什么是1 * 1的单个卷积核?

对于1 * 1的卷积核,层数不同仅代表不同值的单个像素,与对应图像做数乘运算要求和,化作一层的输出。而这n个卷积组成的不同卷积核的数量,决定输出的层数

 1.2 1 * 1的卷积核作用

对于相同的图像经过卷积层操作,得到同样大小,层数的输出,如果在其中加入1 * 1卷积核的运算,则可以大大降低运算量,因此1 *  1的卷积核也叫神经网络里的网络

 当然,补充一点,要使前后卷积操作的图像大小不变,padding的圈数等于卷积核的大小对2取模运算即可

 1.3 Inception层的代码构成

 最终各层生成的图像,要沿着Chanel层进行连接(Concatenate),而四维张量的维度 :1.Batch 2.Chanel 3.Witch 4. Height,按第一层维度进行cat

 最终合成的代码

outputs = [branch1x1, branch5x5, branch3x3, branch_pool]
return torch.cat(output, dim = 1)

 1.4 卷积层既然扩展了维度,那是否越多层数的叠加,会带来更好的效果?

 答案明显是否定的,在梯度下降法里面,我们反向传播的导数势必是小于1的,在不断拓展层数的同时,使得小于1的梯度不断出现,导致我们最终的导数之积非常小,这就是所谓的——梯度消失。那么如何解决这一个问题?这就引出了Residual net的网络,跳连接。

 这个跳连接增加的单纯的x,在计算导数的时候会等于1,而使得接近于0的梯度出现时,整体的值趋向于1,而不是0,导致梯度累积不会出现梯度消失现象。但这种运算需要通道,宽度,高度完全一样的情况才可以做出这种运算。

 1.5 基本构成的代码

为了做到输入输出的图像层数一样,直接将初始图像通道数,在卷积运算的函数填充,保证Residual Block层和卷积层的输入输出一致。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值