DenseNets与ResNet的本质区别

DenseNets和ResNet是两种深度学习网络结构,它们的主要区别在于层间连接方式。ResNet通过跨层连接,将当前层与非线性转换的结果相加,而DenseNets则将每层与之后的所有层连接,输入是之前所有层特征图的拼接。这种设计使得DenseNets能更有效地传递信息。

DenseNets与ResNet的本质区别

假设一张图片x0{x_0}x0在卷积网络中传播。网络共有 L 层,每一层都有一个非线性转换函数 Hℓ(∙){H_\ell }\left( \bullet \right)H()(定义为三种操作的组合函数,分别是:BN、ReLU和卷积),其中ℓ\ell表示第几层。用xℓ{x_\ell }x 表示第ℓ\ell层的输出。

传统的前馈网络是将 ℓ−1\ell-11 层的输出xℓ−1{x_\ell -1 }x1作为 ℓ\ell层的输入,得到 ℓ\ell层的输出 ,可用该xℓ{x_\ell }x方程来表示: xℓ=Hℓ(xℓ−1){x_\ell } = {H_\ell }\left( {{x_{\ell - 1}}} \right)x=H(x1)

  • ResNets增加了一个跨层连接,将自身与非线性转换的结果相加:xℓ=Hℓ(xℓ−1)+xℓ−1{x_\ell } = {H_\ell }\left( {{x_{\ell - 1}}} \right) + {x_{\ell - 1}}x=H(x1)+x1 所以对于ResNet而言,ℓ\ell层的输出加上对ℓ−1\ell-11层输出的非线性变换,这样可以直接将梯度从后层传向前层。然而,自身与经过 Hℓ{H_\ell }H得到的输出是通过求和的形式来连接的,这可能使网络中信息的传播受到影响。
    在这里插入图片描述
    图1.残余学习:构建块。

  • DenseNets为了更好的改善层与层之间信息的传递,提出一种不同的连接模式:将该层与之后的所有层进行连接。因此,ℓ\ell 层将之前所有层的特征图[x0,x1,…,xℓ−1]\left[ {{x_0},{x_1}, \ldots ,{x_{\ell - 1}}} \right][x0,x1,,x1]作为输入:xℓ=Hℓ([x0,x1,…,xℓ−1]){x_\ell } = {H_\ell }\left( {\left[ {{x_0},{x_1}, \ldots ,{x_{\ell - 1}}} \right]} \right)x=H([x0,x1,,x1]),输入是之前所有特征图的拼接。而前面resnet是做值的相加,通道数是不变的。
    在这里插入图片描述
    图2:具有三个密集块的深DenseNet。 两个相邻块之间的层称为过渡层,并通过卷积和池化更改特征图大小。

通过卷积和池化更改特征图大小。

以上这两个公式就能看出DenseNet和ResNet在本质上的区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

gz7seven

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

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

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

打赏作者

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

抵扣说明:

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

余额充值