深度学习| ResNet和ResUnet
快速理解ResNet和RestUnet。
ResUnet介绍
ResUNet是一种基于ResNet和U-Net的深度学习结构,常用于图像分割和语义分割任务。
我之前在深度学习| U-Net网络文章中,介绍了U-Net相关的知识点,所以本文主要讲解的是ResNet和ResUNet。
ResNet(残差网络)介绍
为什么会需要ResNet?
背景:深度学习中的深度对应神经网络的层数,神经网络的层数越多,能够提取到的特征层次就更丰富。但是如果一直加深神经网络的层数会出现一个问题,就是网络退化,在加深了网络层数后的性能果甚至不如浅层的网络结果。
网络退化:增加网络深度,训练准确率趋于饱和,后续迅速下降。
但这种下降不是过拟合也不是梯度消失,过拟合是过度的学习训练样本所具有的特性,在训练集上表现很好,而在测试集上表现很差;梯度消失是由于网络层次加深使得激活函数的导数的连乘或者初始权值过小导致的。
网络退化的原因:网络退化并不符合常理,与浅层网络相比,更深的网络的表现不应该更差。例如K层网络结构是这个网络最优的网络结构,那么最后几层只是第K层的恒等映射,应该还是和K层网络结构结果一致。但是由于非线性激活函数的存在,输入到输出的过程都几乎是不可逆的,这会造成不可逆的信息损失,也就丢失了恒等映射的能力。
ResNet的目的:ResNet是为了解决网络层次加深出现网络退化的问题,通过加入残差结构,让模型的内部结构至少有恒等映射的能力,让网络不会随着层数堆叠而产生退化。
残差结构
通俗易懂来说,卷积后的数据结合没卷积的,从而来弥补信息的损失,如下图所示。
图中右侧的线被称之为跳接(shortcut connection),通过跳接在激活函数前,将上一层(或几层)之前的输出与本层计算的输出相加,将求和的结果输入到激活函数中做为本层的输出。
ResUnet结构
虽然了解了ResNet的参差网络结构,但具体怎么用到网络模型上可能还是不太懂,可以通过ResUnet来了解。
第一张图是Unet的网络结构,第二张图是ResUnet网络结构图。
可以看到Unet的每个部分都加入了一个参差结构。
更多推荐
所有评论(0)