深度残差网络

本文探讨了深度残差网络的设计理念及其如何解决深层网络训练时出现的退化问题,并介绍了BatchNorm与Scale层的作用及使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很久不写周报了。 总结一下最近的收获吧。

观察了HY加了bn层的加了两个操作。

一个是bath_norm 层 一个是scale 层

 之前的理解是加bath_norm 层不就可以了吗,为什么要加scale 层

关于这个问题的解答请看:

http://blog.youkuaiyun.com/sunbaigui/article/details/50807398

caffe官方将BN层拆成两个层来实验,一个是https://github.com/BVLC/caffe/blob/master/include/caffe/layers/batch_norm_layer.hpp

另外一个是https://github.com/BVLC/caffe/blob/master/include/caffe/layers/scale_layer.hpp

其具体使用方法可以参考:https://github.com/KaimingHe/deep-residual-networks/blob/master/prototxt/ResNet-50-deploy.prototxt

中的BatchNormScale

当然 你也可以自己写一层BN 代替这两层。

2016年初最重要的两篇文章应该是

A. inception-V3 

B. 深度残差网络

深度残差网络主要解决的问题是:

网络越深的时候,训练误差和测试误差都会加大。----早前的说法是 网络越深 越不容易收敛

利用cifar 做测试的结果为:


如上图所示,肯定不是我们想要的。我们想要的结果是网络越深,效果越好。

为了达到这个目的作者设计了深度残差网络。


其实看这个图我是没看懂这是个啥意思。

我是这么理解这个问题,什么是残差:按照我早前对信号的粗浅理解为 原始信号X 可以用一组信号基表示

比如X可以用m= W11y1 +W12y2+‘---- ,那么x-m 为残差。

我们用elsewise 层实现这个操作:

http://blog.youkuaiyun.com/seven_first/article/details/47751149

layer {
	bottom: "res2b"
	bottom: "res2c_branch2c"
	top: "res2c"
	name: "res2c"
	type: "Eltwise"
}
更形象的是:

以及:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值