ResNet精读(2)

文章讨论了FLOPs在计算网络复杂度中的作用,解释了训练精度高于测试精度可能因数据增强导致。提到了残差连接能加速收敛并缓解梯度消失问题,同时介绍了Bottleneck设计用于控制计算复杂度。此外,文章还探讨了深度学习模型为何不易过拟合,以及SGD在训练过程中的重要性。
摘要由CSDN通过智能技术生成

FLOPs :整个网络要计算多少个浮点运算

卷积层的浮点运算等价于

输入的高*输入的宽*通道数*输出通道数再乘以卷积核的高和宽再加上全连接的一层

我们发现训练的时候的精度是要比测试精度来的高的在一开始,这是因为训练的时候用了数据增强

使得训练误差相对比较大,而测试的时候并没有做数据增强,噪声比较低

箭头的含义是学习率的降低 

如果跳太早 后期收敛会无力

晚一点跳比较好

而且 如果有了残差连接 收敛也会相应的快很多

输入输出不一样的时候怎么办

之前 笔记不全

补充第三条

给所有的连接做投影(成本很高 不推荐)带来了 大量的计算复杂度

当设计 更深的网络的时候,会引入一个bottleneck的设计

 通道数是64的时候进了3*3的

当channel是256的时候 当很深的时候 可以学到东西更多 对应的通道数也就越多

而随之就要面临计算复杂度变高

所以想用1*1的卷积给它reshape回64

在做3*3的通道数不变的卷积

再1*1卷积reshape回256 (先降维,再升维)

这样做 就和之前的复杂度差不多

总结一下 层数变多 直接通道数翻四倍+bottleneck的设计

正是有了残差连接residual connection 存在,当加入的层过多时,当结果趋向于理想了,此时往后加再多的层效果都是不尽人意——>0学不到什么东西了

 

一篇文章 不要放太多的数据

当我们的层数变多的时候

相当于嵌套函数 的求导 链式求导法则 就是一个连乘 那自然而然就会变小 

而梯度是在0附近的高斯分布 自然得到的结果也会变较小

加了res结构之后(蓝色部分) 

前面的部分很容易导致梯度消失

但是这个蓝色的额外部分的浅层网络 会上为大一些  就可以训练的动了

这个是训练的收敛比较快的原因

sgd不叫收敛 叫做 训练不动了 嘿嘿 有点尴尬

SGD的精髓就是梯度够大 能一直跑下去

所以加了之后 梯度还是可以的 可以符合sgd 的精髓 能一直跑效果不错哦哦

现如今的transform 参数那么多 层数那么深

为什么不过拟合嘞 很有意思哈哈

表面上加了残差之后 结构复杂了

但从本质结构上看 模型的复杂度其实降低了的

模型复杂度降低: 你能找到一个很低的不那么复杂的模型去拟合你的数据

residual 在标号上做 ————叫什么 gradient boosting

而这里 residual是在feature 维度上做

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东东要拼命

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值