美食论坛,郭怡廷,家长会ppt课件
极客邦科技InfoQ 06-21 用 Python 从零起头构建 ResNet index_new5.html../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html
作者 | SHAKHADRI313
译者 | 王强
谋划 | 刘燕
近年来,深度学习和较量机视觉领域取得了一系列突破。稀奇是行业引入了非常深的卷积神经收集后,在这些模型的帮忙下,图像辨认和图像分类等问题取得了非常好的功效。
因此这些年来,深度学习架构变得越来越深(层越来越多)以解决越来越复杂的任务,这也有助于进步分类和辨认任务的性能,并让它们显示妥当。
但当我们继续向神经收集添加更多层时,模型训练起来也越来越难题,模型的准确度起头饱和,然后还会降落。于是 ResNet 降生了,让我们解脱了这种逆境,并能帮忙解决这个问题。
1 什么是 ResNet?
残差收集(ResNet)是著名的深度学习模型之一,由任少清、何开明、孙健和张翔宇在他们的论文中引入。这篇 2015 年的论文全名叫 "Deep Residual Learning for Image Recognition" [ 1 ] 。ResNet 模型是迄今为止广泛流行和最成功的深度学习模型之一。
残差块
跟着这些残差(Residual)块的引入,训练非常深的收集时面临的问题获得了缓解,ResNet 模型由这些块组成。
本原:" 图像辨认的深度残差学习 " 论文
跟着这些残差块的引入,训练非常深的收集时面临的问题获得了缓解,ResNet 模型由这些块组成。
在上图中,我们能够注意到的第一件事是跳过模型的某些层的直接毗邻。这种毗邻称为 " 跳过毗邻 ",是残差块的焦点。由于存在这种跳过毗邻,输出是不雷同的。如果没有跳过毗邻,输入‘ X 将乘以层的权重,然后添加一个偏置项。
然后是激活函数 f ( ) ,我们获得输出为 H ( x ) 。
H ( x ) =f ( wx+b ) 或 H ( x ) =f ( x )
如今引入了新的跳过毗邻手艺,输出 H ( x ) 变动为
H ( x ) =f ( x ) +x
然则输入的维度可能与输出的维度分歧,这可能产生在卷积层或池化层中。因此,这个问题能够用这两种方法来处理:
用跳过毗邻添补零以增加其维度。
1 × 1 卷积层被添加到输入以匹配维度。在这种环境下,输出为:
H ( x ) =f ( x ) +w1.x
这里添加了一个额外的参数 w1,而在使用第一种方法时没有添加额外的参数。
ResNet 中的这些跳过毗邻手艺通过梯度流经的替换快捷路径来解决深度 CNN 中梯度消失的问题。此外,如果有任何层损害了架构的性能,跳过毗邻也能起作用,它将被正则化跳过。
2ResNet 的架构
架构中有一个 34 层的普通收集,其灵感来自 VGG-19,此中添加了快捷毗邻或跳过毗邻。这些跳过毗邻或残差块将架构转换为残差收集,如下图所示。
本原:" 图像辨认的深度残差学习 " 论文
3 将 ResNet 与 Keras 连系使用:
Keras 是一个开源深度学习库,可以在 TensorFlow 上运行。Keras Applications 供应以下 ResNet 版本。
ResNet50
ResNet50V2
ResNet101
ResNet101V2
ResNet152
ResNet152V2
让我们从零起头构建 ResNet:
本文地址:http://www.wbwb.net/bianchengyuyan/219624.html 转载请注明出处!