[论文笔记] highway networks

主要介绍下面两篇论文

Deep Residual Learning for Image Recognition》. 2015. arXiv pre-print.

Training Very Deep Networks》. Neural Information Processing Systems (NIPS 2015 Spotlight).

Deep Residual Learning for Image Recognition

首先第一篇肯定要谈,开创了152层 deep network,成功摘取 ILSVRC2015 全(主要)类别第一名的工作,来自 MSRA 的 Deep Residual Network。虽然 residual network 的名字很新,但其实可以把它看成是我已经介绍和推荐过无数次的 Highway Networks 的特例(Highway Networks 的介绍见下)。尽管如此,作者在解释 residual 的 motivation 时还是非常充分合理,让人不得不佩服其在背后自己的思考。


作者提出 residual network 的 motivation 其实依然是 information flow 在 deep network 中受阻。大家都可以想象到这个问题。但是这篇工作中,作者是如何“验证”这个问题的呢?他们用了两种“角度”,第一种是在 Introduction 里就提到的:当他们用 deep network 和可类比的 shallower network 横向对比(如上图),发现 deep network 的 training error 总是比 shallower network 要高。可是这在理论上是不对的。因为如果一个 shallow network 可以被训练优化求解到某一个很好的解(subspace of that of deep network),那么它对应的 deep 版本的 network 至少也可以,而不是更差。但事实并不是如此。这种 deep network 反而优化变差的事情,被作者称为“degration problem”。第二种角度是在实验部分提到的,从理论角度分析这种 degration 不应该是 gradient vanishing 那种问题,而是一种真正的优化困难。于是,为了解决这个 degration problem,作者提出了 residual network,意思是说,如果我们直接去逼近一个 desired underlying mapping (function) 不好逼近(优化困难,information flow 搞不定),我们去让一个 x 和 mapping 之间的 residual 逼近 0 应该相对容易。这就是作者给 highway networks 找的 residual 的解释。


那么,在实际上,residual network block(上图)就相当于是 Highway network block 中 transform gate 和 transform function 被特例后的结果——因为是特例了,也自然 reduce 了 parameter,也算是这篇工作中作者一个卖点。现在,问题就是,它为啥是 Highway Networks 的特例呢?介绍完 Highway Networks 就明白了。

Training Very Deep Networks

好了,现在让我们来再介绍一遍 Highway Networks 这个工作。为了更好的对比和更大力的推荐,以下笔记是我重新看了论文和代码后,重写的(不是以前的 copy-paste 版本了)。这篇论文前身是《Highway Networks》,发表于 ICML workshop 上。最初放在 arXiv 上,现在已经被 NIPS'15 接收。这个工作纯被 LSTM 的 gate 启发,既然 gate 也是为了解决 Information flow,有没有其他方式去解决?更直观一点的,不通过 gradient 的?既然 information 像被阻隔了一样,我们就“暴力”让它通过一下,给它们来个特权——在某些 gate 上,你就不用接受“审查”(transform)了,直接通过吧。这像高速公路一样——于是就有了这个名字,Highway Networks(HW-Nets)。

To overcome this, we take inspiration from Long Short Term Memory (LSTM) recurrent networks. We propose to modify the architecture of very deep feedforward networks such that information flow across layers becomes much easier. This is accomplished through an LSTM-inspired adaptive gating mechanism that allows for paths along which information can flow across many layers without attenuation. We call such paths information highways. They yield highway networks, as opposed to traditional ‘plain’ networks.

加粗了 adaptive,这就是这个 mechanism 的重点,也是之所以说 Deep Residual Network 是它的一个特例的原因所在。在文章中,公式(2-3)就是他们的机制。

公式(3)是公式(2)变形。核心是 transform function H 和 transform gate T。这样,对于当前的这个 input,在这个 layer 里,公式(3)决定多大程度是让它去进行 nonlinear transform(隐层),还是多大程度上让它保留原貌直接传递给下一层,直通无阻。

那么,在这里,其实我们也可以把这个公式(3)像 residual block 一样,拆成两个 component,一个是 H,一个是 x。如果是 x,就变成了 residual block 中 identity mapping 的 skip connection。这是一个 intuition 的解释。那么再具体等价一下,Deep Residual Network 那篇工作,讲到,自己比 Highway Networks 的一个优势是,parameter 少,并且自己的“gate”永远不 close。这两个优势,既都对,也都不对。关于第一点,这是事实,而这恰恰是把 Highway Networks 的一个优势给抹掉了。在 Highway Networks 文章的 4.1 部分,有讨论自己这种 adaptive mechansim for information flow learning 的优点。也就是说,如果说 Highway Networks 是 data-independent 的,那么 Deep Residual Network 就是 data-dependent 的,不 flexible,更可能不“最优”(Deep Residual Network 就是 Highway Networks 中提到的 hard-wired shortcut connections),它只是一种 p=0.5 的二项分布的期望(np)。关于第二点,就不一定是事实了。因为实际上,虽然公式(3)看起来,transform gate 有可能完全 close,然而 transform function 却永远不可能为 0 或者 1,它的取值范围只是 (0,1) 开区间,所以在这点上它和 Deep Residual Network 是一样的。

对比说完,继续介绍 Highway Networks。Highway Networks 更巧妙的是,它在公式(3)这种 layerwise 的基础上,进一步拆分,把每一个 layer 的处理从 layerwise 变成了 blockwise,也就是我们可以对于 input 中的某一部分(某些维度)选择是 transform 还是 carry。这个 blockwise 的实现也在实验中被验证特别有用,大家可以去看下,我就不重复粘贴了。

参考:https://mp.weixin.qq.com/s?__biz=MzAwMjM3MTc5OA==&mid=402156285&idx=1&sn=13275b8f4ec46c901290c66c6c0ffa28&utm_source=tuicool&utm_medium=referral

猜你喜欢

转载自blog.csdn.net/zongza/article/details/88683367