我们仔细审阅了文献以提取出它们的共性并将它们的设计归结成了基本的元素——这些元素也许可被认为是设计模式。在审阅文献的过程中,我们似乎很清楚一些设计似乎是简洁优雅的,而另一些则没那么简洁优雅。在这里,我们将首先描述一些高层面的设计模式,然后再提出一些更为详细的设计模式。 3.1 高层面的架构设计 一些研究者已经指出 ImageNet 挑战赛 (Russakovsky et al., 2015) 的获胜者在不断使用越来越深度的网络(参见:Krizhevsky et al. (2012), Szegedy et al. (2015a), Simonyan & Zisserman (2014), He et al. (2015))。另外在 ImageNet 挑战赛上很明显的一点是:将通过网络的路径的数量倍增是最近的一个趋势;如果看一看 AlexNet 到 Inception 到 ResNets 的演变,就能明显看到这个趋势。比如说,Veit et al. (2016) 表明 ResNets 可被看作是带有不同长度的网络的指数集合(exponential ensemble)。这引出了设计模式 2:扩增路径。开发者可以通过将多个分支包含在架构中来实现。最近的例子包括 FractalNet (Larsson et al. 2016)、Xception (Chollet 2016) 和决策森林卷积网络(Decision Forest Convolutional Networks (Ioannou et al. 2016))。我们甚至可以更进一步预测今年的 ImageNet 获胜者也还会增加他们的架构中的分支数量,而不是继续增加深度。 科学家们已经拥抱简洁性/简约性(simplicity/parsimony)几个世纪了。简洁性的例子可参考论文「Striving for Simplicity」(Springenberg et al. 2014),其使用更少类型的单元实现了当时最佳的结果。我们将其加为设计模式 3:努力实现简洁——使用更少类型的层以保持网络尽可能简单。我们还在 FractalNet (Larsson et al. 2016) 设计中注意到了一种特定程度的简洁性,我们将其归功于其结构的对称性。架构的对称性(architectural symmetry)通常被看作是美丽和质量的标志,所以我们在这里得到了设计模式 4:增加对称性。除了对称性以外,FractalNets 还遵循了「扩增路径」设计模式,所以它是我们第 4 节的实验的基础。 为了理解相关的力量,考察权衡是设计模式的关键元素。一种基本的权衡是最大化表征的力量 vs 冗余的和非区分的信息的压缩。这普遍存在于所有卷积神经网络中,从数据到最后的卷积层,激活(activation)被下采样(downsample)并且信道数量增加。一个例子是深度金字塔残差网络(Deep Pyramidal Residual Networks (Han et al. (2016)))。这让我们得到了设计模式 5:金字塔形状,其中在整个架构中应该有一次整体的平滑的下采样,而且该下采样应该与信道数量的增长结合起来。 深度学习中另一个重要的权衡是:训练精度 vs 网络泛化到其从未见过的案例的能力。泛化的能力是深度神经网络的一个很重要的性质。一种提升泛化的方法是设计模式 6:用训练数据覆盖问题空间(Ratner et al. 2016, Hu et al. 2016, Wong et al. 2016, Johnson-Roberson et al. 2016)。这让训练精度可以直接提升测试精度。此外,正则化(regularization)常被用于提升泛化。正则化包括 dropout (Srivastava et al. 2014a) 和 drop-path (Huang et al. 2016b) 等方法。正如 Srivastava et al. 2014b 指出的那样,dropout 可通过向架构中注入噪声来提升泛化能力。我们将在训练过程使用正则化技术和谨慎的噪声注入可以提升泛化(Srivastava et al. 2014b, Gulcehre et al. 2016)的结论归结为设计模式 7:过训练(over-training)。过训练包含网络在一个更艰难的问题上训练的任何训练方法——该问题的难度超过了必要,因此在更容易的推理情况中的表现可以得到提升。除了正则化方法,设计模式 7 还包括有噪声的数据的使用(Rasmus et al. 2015, Krause et al. 2015, Pezeshki et al. 2015)。 3.2 细节上的架构设计 很多更成功的架构的一个共同点是使每个层更容易完成任务。使用极深层网络(very deep network)就是这样的例子,因为任何单个层只需要递增地修改输入。这部分解释了残差网络(residual network)的成功,因为在极深层网络中,每层的输出可能与输入相似,j2直播,因此将输入代替层的输出能使层更容易完成任务。这也是扩增路径设计模式背后的一部分动机,但是使每个层简化任务的想法超越了这一概念。设计模式 8 :增量特征构造(Incremental Feature Construction)的一个例子是在 ResNets 中使用短距离跳跃(skip)。最近的一篇论文(Alain & Bengio (2016))证明在深度 128 的网络中使用长度为 64 跳越会导致网络的第一部分不训练,并且导致不变化的权重,这是需要避免的。 (责任编辑:本港台直播) |