7.7.4.DenseNet模型¶

7.7.4.DenseNet模型¶

7.7.1. 从ResNet到DenseNet¶

回想一下任意函数的泰勒展开式(Taylor

expansion),它把这个函数分解成越来越高阶的项。在\(x\)接近0时,

(7.7.1)¶\[f(x) = f(0) + f'(0) x + \frac{f''(0)}{2!} x^2 + \frac{f'''(0)}{3!} x^3 + \ldots.\]

同样,ResNet将函数展开为

(7.7.2)¶\[f(\mathbf{x}) = \mathbf{x} + g(\mathbf{x}).\]

也就是说,ResNet将\(f\)分解为两部分:一个简单的线性项和一个复杂的非线性项。

那么再向前拓展一步,如果我们想将\(f\)拓展成超过两部分的信息呢?

一种方案便是DenseNet。

图7.7.1 ResNet(左)与

DenseNet(右)在跨层连接上的主要区别:使用相加和使用连结。¶

图7.7.1所示,ResNet和DenseNet的关键区别在于,DenseNet输出是连接(用图中的\([,]\)表示)而不是如ResNet的简单相加。

因此,在应用越来越复杂的函数序列后,我们执行从\(\mathbf{x}\)到其展开式的映射:

(7.7.3)¶\[\mathbf{x} \to \left[

\mathbf{x},

f_1(\mathbf{x}),

f_2([\mathbf{x}, f_1(\mathbf{x})]), f_3([\mathbf{x}, f_1(\mathbf{x}), f_2([\mathbf{x}, f_1(\mathbf{x})])]), \ldots\right].\]

最后,将这些展开式结合到多层感知机中,再次减少特征的数量。

实现起来非常简单:我们不需要添加术语,而是将它们连接起来。

DenseNet这个名字由变量之间的“稠密连接”而得来,最后一层与之前的所有层紧密相连。

稠密连接如 图7.7.2所示。

图7.7.2 稠密连接。¶

稠密网络主要由2部分构成:稠密块(dense

block)和过渡层(transition layer)。

前者定义如何连接输入和输出,而后者则控制通道数量,使其不会太复杂。

相关数据

不必东奔西找 5大手机厂商在南宁维修中心一览
beat365网页版登录官网

不必东奔西找 5大手机厂商在南宁维修中心一览

⌛ 07-30 👁️ 5503
网站开发怎么写操作记录
beat365网页版登录官网

网站开发怎么写操作记录

⌛ 07-26 👁️ 370
广州联通宽带怎么样?测评体验分享
beat365登录平台

广州联通宽带怎么样?测评体验分享

⌛ 08-31 👁️ 1448
家里真有矿,我也不敢报这个专业
beat365网页版登录官网

家里真有矿,我也不敢报这个专业

⌛ 07-14 👁️ 1073