【动手学深度学习】06-ResNet解析

目录

ResNet解析

0 前言

1 基础

2 残差块

3 总结

参考


ResNet解析

0 前言

论文:《Deep Residual Learning for Image Recognition》

论文地址:Deep Residual Learning for Image Recognition | IEEE Conference Publication | IEEE Xplore

1 基础

经典网络ResNet(Residual Networks)由Kaiming He等人于2015年提出, 它在2015年的ImageNet图像识别 挑战赛夺魁,并深刻影响了后来的深度神经⽹络的设计。

在ResNet网络提出之前,传统的卷积神经网络都是通过将一系列卷积层与下采样层进行堆叠得到的。但是当堆叠到一定网络深度时,就会出现两个问题。

1)梯度消失或梯度爆炸。

2)退化问题(degradation problem)。

在ResNet论文中说通过数据的预处理以及在网络中使用BN(Batch Normalization)层能够解决梯度消失或者梯度爆炸问题。但是对于退化问题(随着网络层数的加深,效果还会变差,如下图所示)并没有很好的解决办法。

随着我们设计越来越深的⽹络,深刻理解“新添加的层如何提升神经⽹络的性能”变得⾄关重要。更重要的是设计⽹络的能⼒,在这种⽹络中,添加层会使⽹络更具表现⼒。假设有⼀类特定的神经⽹络结构 F,它包括学习速率和其他超参数设置。对于所有f\epsilon F ,存在⼀些参数集(例如权重和偏置),这些参数可以通过在合适的数据集上进⾏训练而获得。现在假设f^{^{*}} 是我们真正想要找到的函数,如果是 {f^{*}}\epsilon F^{} ,那我们可以轻而易举的训练得到它,但通常我们不会那么幸运。相反,我们将尝试找到⼀个函数 f_{F}^{*},这是我们在 F 中的最佳选择。例如,给定⼀个具有 X 特性和 y 标签的数据集,我们可以尝试通过解决以下优化问题来找到它:
f_{F}^{*}:=argmin(X,y,f), f\epsilon F
怎样得到更近似真正 f^{*} 的函数呢?唯⼀合理的可能性是,我们需要设计⼀个更强⼤的结构 F 。换句 话说,我们预计 f^{*}_{F^{'}}   f^{*}_{F} “更近似”。然而,如果 F\nsubseteq F^{'} ,则⽆法保证新的体系“更近似”。 如下图 所⽰,对于⾮嵌套函数( non-nested function)类(下图左),较复杂的函数类并不总是向“真”函 数 f^{*}靠拢(复杂度由 F 1 F 6 递增)。 虽然 F 3 F 1 更接近 f^{*},但 F 6 却离的更远了。相 反对于下图 右侧的嵌套函数( nested function )类 F 1 . . . ⊆ F 6 ,我们可以避免上述问题。

 

只有当较复杂的函数类包含较小的函数类时,我们才能确保提⾼它们的性能。对于深度神经⽹络,如 果我们能将新添加的层训练成 恒等映射(identity function f ( x ) = x ,新模型和原模型将同样有效。同时,由于新模型可能得出更优的解来拟合训练数据集,因此添加层似乎更容易降低训练误差。
从另一个角度来理解:

我们可以设想:当我们直接对网络进行简单的堆叠到特别长,网络内部的特征在其中某一层已经达到了最佳的情况,这时候剩下层应该不对改特征做任何改变,也就是说,对一个特别深的深度网络而言,该网络的浅层形式的解空间应该是这个深度网络解空间的子集,换句话说,相对于浅层网络更深的网络至少不会有更差的效果,但是因为网络degradation的问题,这并不成立。

那么,我们退而求其次,已知有网络degradation的情况下,不求加深度能提高准确性,能不能至少让深度网络实现和浅层网络一样的性能,即让深度网络后面的层至少实现恒等映射的作用。
 

针对这⼀问题,何恺明等⼈提出了残差⽹络( ResNet。残差⽹络的核⼼思想是:每个附加层都应该更容易地包含原始函数作为其元素之⼀。于是,残差块(residual blocks )便诞⽣了,这个设计对如何建⽴深层神经⽹络产⽣了深远的影响。

2 残差块

假设我们的原始输⼊为 x ,而希望学出的理想映射为 f ( x ) ,下图 左图虚线框中的部分需要直接拟合出该映射 f ( x ) ,而右图虚线框中的部分则需要拟合出残差映射 f ( x ) x 残差映射在现实中往往更容易优化。以本节开头提到的恒等映射作为我们希望学出的理想映射 f ( x ) ,我们只需将下图 中右图虚线框内上⽅的加权运算(如仿射)的权重和偏置参数设成 0 ,那么 f ( x ) 即为恒等映射。实际中,当理想映射 f ( x ) 极接近于恒等映射时,残差映射也易于捕捉恒等映射的细微波动。 右图是 ResNet 的基础结构--残差块( residual block )。在残差块中,输⼊可通过跨层数据线路更快地向前传播。

ResNet 沿⽤了 VGG 完整的 3 × 3 卷积层设计。残差块⾥⾸先有 2 个有相同输出通道数的 3 × 3 卷积层。每 个卷积层后接⼀个批量归⼀化层BN和 ReLU 激活函数。然后我们通过跨层数据通路,跳过这 2 个卷积运算,将输⼊直接加在最后的 ReLU 激活函数前。这样的设计要求 2 个卷积层的输出与输⼊形状⼀样,从而可以相加。如果想改变通道数,就需要引⼊⼀个额外的 1 × 1 卷积层来将输⼊变换成需要的形状后再做相加运算。

使用残差块之后随着网络层数的加深,效果变好而不是变差(图来自论文)。

 

ResNet 的前两层为:输出 通道数为 64 、步幅为 2 7 × 7 卷积层,后接步幅为 2 3 × 3 的最⼤汇聚层。
ResNet 则使⽤ 4 个由残差块组成的模块,每个模块使⽤若⼲个同样输出通道数的残差块。第⼀个模块的通道数同输⼊通道数⼀致。由于之前已经使⽤了步幅为2 的最⼤汇聚层,所以⽆须减小⾼和宽。之后的每个模块在第⼀个残差块⾥将上⼀个模块的通道数翻倍,并将⾼和宽减半。
每个模块有 4 个卷积层(不包括恒等映射的 1 × 1 卷积层)。加上第⼀个 7 × 7 卷积层和最后⼀个全连接层,共有 18 层。
注:恒等映射的 1 × 1 卷积层能够在top1上提升大概0.5%的准确率

 

 RseNet 网络具体参数图

3 总结

  1. 学习嵌套函数(nested function)是训练神经⽹络的理想情况。在深层神经⽹络中,学习另⼀层作为恒等映射(identity function)较容易(尽管这是⼀个极端情况)。
  2. 残差映射可以更容易地学习同⼀函数,例如将权重层中的参数近似为零。
  3. 利⽤残差块(residual blocks)可以训练出⼀个有效的深层神经⽹络:输⼊可以通过层间的残余连接更快地向前传播。
  4. 残差⽹络(ResNet)对随后的深层神经⽹络设计产⽣了深远影响,⽆论是卷积类⽹络还是全连接类⽹络。
  5. 使用BN层加速训练,丢弃了Dropout.

参考

李沐 《动手学深度学习》

(44条消息) 深度学习网络篇——ResNet_PRIS-SCMonkey的博客-CSDN博客_深度学习网络

(44条消息) 六、ResNet网络详细解析(超详细哦)_会哭泣的猫的博客-CSDN博客_resnet网络 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Multi-scale-1D-ResNet是一种用于信号处理和时间序列分析的深度学习模型。它基于ResNet(残差网络)的架构,并通过引入多尺度特征来改进模型的性能。 在传统的ResNet中,每个块都具有相同的尺度,这可能会限制模型对不同频率的信号特征的捕捉。因此,Multi-scale-1D-ResNet通过添加具有不同滤波器长度的并行卷积层来引入多尺度,从而使模型能够更好地习不同频率的特征。 具体来说,Multi-scale-1D-ResNet包括一系列块,每个块内部包含了一定数目的相同尺度的卷积层。但与传统ResNet不同的是,在每个块的最后,Multi-scale-1D-ResNet还引入了一组具有不同滤波器长度的卷积层。这些卷积层使得模型能够在多个尺度上建模,从而能够更好地捕捉信号中的关键特征。 在实际应用中,Multi-scale-1D-ResNet被广泛用于诊断和预测方面,例如医疗领域中的心电图(ECG)分析,智能交通领域中的交通流预测和自然语言处理领域中的文本分类等。 ### 回答2: multi-scale-1d-resnet是一种深度学习模型。它结合了多尺度信息和残差网络来处理1D信号(比如音频,生物医信号等)。该模型包括了多个1D卷积层和池化层,以提取输入信号的不同尺度(比如音频信号的基频和谐波等)。同时,残差网络的加入可以有效地防止梯度消失问题,使得该模型能够训练更深的神经网络。 multi-scale-1d-resnet模型在许多应用领域都有广泛的应用,比如语音识别、心电图诊断等。因为1D信号具有时域关系,而且大多数情况下其与其他数据(如图像)没有直接的对应关系,所以需要一种特殊的模型来处理。multi-scale-1d-resnet模型的出现大大提高了这类问题的解决效率,具有很好的性能表现。 总之,multi-scale-1d-resnet是一种处理1D信号的深度学习模型,它集成了多尺度信息和残差网络,可以有效地提取1D信号的特征,以实现不同领域的应用。 ### 回答3: Multi-scale-1D-ResNet是一种深度学习模型,可以处理一维序列数据。该模型是在ResNet的基础上,加入了多尺度特征融合的机制。在传统的ResNet中,深度网络的信息流只有一个固定的尺度,而多尺度特征融合将不同尺度的特征进行融合,可以提高网络对不同尺度的信号的处理能力,提高模型的表达能力和泛化能力。 Multi-scale-1D-ResNet模型中,输入的一维时间序列数据首先通过多个卷积层提取特征,然后使用残差块将特征进行深层次的挖掘。在多尺度特征融合中,通过在不同的卷积层之间增加shortcut连接,将不同尺度的特征进行融合。同时,在全局池化层中,对不同尺度特征进行平均池化,得到融合后的特征表示。最后,通过全连接层将特征映射到输出维度,完成任务的预测。 Multi-scale-1D-ResNet适用于处理一维时间序列数据,如语音、信号、股票等数据。由于多尺度特征融合的机制,使得模型能够更好地处理不同尺度的信号分布,具有很强的泛化能力和适配性。同时,由于ResNet的残差块结构,可避免梯度消失等问题,能够训练更深层次的网络。因此,Multi-scale-1D-ResNet成为处理时间序列数据上的重要方法之一。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值