模型优化策略

模型优化策略

参考:http://nsaphra.github.io/post/model-scheduling

模型可以通过在训练过程中修改它们的超参数来逐步迭代。这在迁移学习设置中是最常见的,其中,我们为一个新的领域或任务寻求适应现有模型中的知识。持续学习的更普遍的问题也是一个明显的应用。然而,即使使用预定义的数据集,迭代地约束网络的拓扑结构也可以提供像正则化那样的好处。

动态超参数 ##

最容易增量训练的模型可能是在每个迭代周期中更新超参数的模型。在这里,我们并不是指的是那些与网络拓扑相关的超参数,例如层的数量或尺寸。在训练过程中有许多机会来调整拓扑结构,但是模型通常需要重度的重新训练,以便再次实施构建合理的结构,就如我们在内存网络这个案例中清楚阐述的那样。如果我们专注于与正则化和阈值相关的权重,我们可以逐渐地学习结构,而不需要频繁的重新训练来适应根本改变的拓扑结构。

中途Dropout

Hinton等人描述了通过特征检测器防止完全过拟合数据的的互适应来完美的拟合数据。在这种解释中,互适应的神经元簇同时激活。随机地抑制这些神经元迫使它们发展各自的独立性。

在标准dropout机制中,这些互适应神经元在所有的训练阶段被视为具有同样有问题。然而,莫雷里奥等人认为,在训练早期,互适应可以代表网络的最佳自组织的开始。在这种观点下,这些结构主要是在训练后期造成过度拟合的威胁。因此,作者为dropout rate引入了一个超参数计划表,随着持续的训练,增加dropout rate。据我所知,这是唯一公布的自适应正则化的建议。

缓和网络(Mollifying network) ###

据我所知,缓和网络,是唯一的尝试是将专注于增量操作数据分布的技术与专注于增量操纵模型的表示性能力的技术相结合的方法。Mollifying网络通过模拟退火逐步降低数据的维度,同时修改各种超参数以允许更长的距离依赖性。在LSTM的情况下,它们将输出门设置为1,输入门为 1/t,遗忘门为1-1/t,其中t是退火时间步长。使用该系统,LSTM最初表现为一个字袋模型,逐渐增加了在每个时间步长上处理更多上下文的能力。

缓和网络对每个层使用不同的数据维度,在较低层中可以比在更高层中更快地消除噪音,因为假设低层表示学习更快。

自适应体系结构

在训练过程中最难修改的超参数可能是那些命令模型体系本身拓扑结构的参数。然而,深度学习文献包含了在训练过程中适应模型架构的技术的悠久历史,通常响应于所学的参数。像这样的方法可以通过在训练开始时通过平滑函数来优化搜索,通过简单的模型加速学习,或者压缩模型以方便地安装在电话或嵌入式设备上。这些方法中的大多数可以被分类为增长模型和缩减模型,分别通过在中间训练时增加参数或通过修剪边或节点来达到。

架构增长 ###

一些最近的迁移学习策略依赖于不断增长的架构,整个新模块上集中在通过创建与现有网络连接的新任务。如果目标是通过增加少量的参数来增加现有的网络,则问题与传统的非参数学习相似,因为我们不需要首先明确地限制模型空间。

神经网络中的经典技术,如级联相关网络和动态节点创建新节点,逐个随机地进行训练。在现代大型架构和问题上,这是棘手的。此外,这些方法的主要优点是,他们接近最小模型,这是一个目标,现代深度学习从业者不再认为这是有价值的,因为几十年来计算能力的飞跃。成长网络的现代技术必须做出2个决定:1)何时(以及在何处)添加新参数?2)如何训练新的参数?

Wald-Falle 等人在训练整个网络之后在批量中添加参数。增强采用并行添加到现有网络的专用辅助层的形式。这些层被训练在原始通用模型所挣扎的类边界上。需要特别注意的类边界通过在保留数据集的混淆矩阵上执行谱聚类来选择,将类划分成具有挑战性的子问题。

辅助层随机地与原始通用系统并行初始化,然后每个训练层只从它们分配的类划分的例子中进行训练。原来的通用网络是固定的,而不是微调最终分类层。所得到的网络是专家的混合,是用来表明改进图像分类问题的结果。

神经深度学习(NDL),同时,使自动编码器能够长生命周期学习。该策略在模型遇到异常情况时,通过添加神经元来更新自动编码器的拓扑结构。这些新的参数只训练在那些离群值上,允许现有的解码器参数以更小的步长更新。现有的编码器参数只有当它们直接连接到新神经元时才更新。

在引入和训练这些新神经元之后,NDL使用作者称之为“内在重放”的方法稳定网络的现有结构。他们重建先前看到的样本的近似值,并对这些重建样本进行训练。

另一个允许长生命周期学习的系统是无限的限制Boltzmann Machine(RBM)。经典RBM的这种扩展通过独特的索引来参数化隐藏单元,表示排序。这些索引被用来通过对旧节点进行偏好来增强网络的增长顺序,直到它们收敛,允许系统任意的增长。一个有趣的方法,但不清楚如何应用类似的修改的网络而不是特质生成架构的RBM。

这些增强技术都不支持递归架构。在现代自然语言处理设置中,这是一个致命的限制。然而,这些技术中的一些可能适用于RNNs,特别是因为在这些环境中最近已经解决了训练专用子系统。

架构裁剪

最近的研究集中于从训练网络中剪除边或整个神经元的可能性。这种方法不仅有利于压缩的目的,而且潜在地作为增加网络的可泛化性的一种方式。

裁剪边

修剪边而不是整个神经元的过程可能不会减少网络的维数类型。然而,它们会使网络变得稀疏,导致可能的内存节省。稀疏网络还占用较小的参数空间,因此可能更泛化。

HAN 等人采取的基本方法是:如果权重低于某一阈值,就将权重设置为0。这种方法对于压缩非常有效,因为可以通过阈值容易地修改要修剪的权重的数量。

LeCun 和Hassibi等人都选择基于修剪的误差变化的泰勒级数逼近的修剪权值。虽然这些方法对于旧的浅层网络是成功的,但是在整个网络上执行这些操作需要在所有参数上计算Hessian矩阵,这对于深度现代体系结构通常是棘手的。Dong等人通过在单个层上进行优化的脑外科手术调查,提出了一种更有效的替代方案。

修剪节点 ###

修剪整个节点具有减少整个网络维度的优点。它也可能比选择单个边更快地修剪,因为节点比边的数量更多,减少了修剪所考虑的候选者的数目。

He等人通过计算每个节点的权重,选择l层宽度为 d l   d l 的神经元的 w l i   w i l 去裁剪, 他们测试几个重要的度量指标,通过使用‘onorm’,或者平均的 l 1   l 1 正则化时节点的激活模式找到结果中的最高性能指标。

onorm(w l i )=1d  l+1  j=1  d l+1  |w l+1 ij |  o n o r m ( w i l ) = 1 d l + 1 ∑ j = 1 d l + 1 | w i j l + 1 |

Net-trim 依赖于 l 1   l 1 正则来增加稀疏性。

沃尔夫等人将基于权重的修剪结果与蛮力方法相比较,贪婪方法基于其对性能的影响贪婪地选择要牺牲的节点。在蛮力法中,在没有每个节点的情况下,在测试数据上重新运行网络,并根据所得到的网络的错误对节点进行排序。它们的重要性度量是基于神经元级版本的泰勒级数近似的影响。

在测试的第一个算法中,它们根据它们的重要性对所有节点进行排序,然后逐个移除每个节点。在第二种算法中,它们在每次移除之后重新排序节点,以解释生成和取消的子网络的影响。在第二种情况下,他们发现在MNIST上训练的网络中可以修剪多达60%的节点,而没有显著的性能损失。这支持早期观察观点,网络中的大多数参数是不必要的,并且它们的影响仅限于生成并取消它们自己的噪声。这种效果的强度支持反向传播隐含地训练给定任务的最小网络的思想。

Srinivas and Babu21 修剪的目的是减少网络的冗余度,因此他们选择节点根据它们的权重相似性来去除同一层中的其他神经元。 Diversity networks22,同时选择基于其激活模式的多样性。为了采样不同的节点选择,它们使用行列式点过程。这种技术最小化了采样节点之间的依赖性。他们通过将剪枝返回网络中的节点融合在一起进行剪枝。

在这些论文的观察之间出现了一个有趣的差异。虽然Mariet和 Sra22发现,在更深的层中,他们从DPP(Determinantal Point Process)中采样更多的节点,Philipp和 Carbonell19在二层网络的更深层中通过蛮力修剪更多的节点。换句话说,多样性网络在更深层次保留更多的节点,贪婪的方法从相同的层移除更多的节点。这些结论指出了这些算法各自的结果之间的根本差异,并保证进一步的研究。

Merging Nodes

Mariet和Sra22发现,如果他们将修剪后的节点合并回网络,则在基于DPP方法的修剪后性能会提高。他们通过重新修剪修剪层中的剩余节点来实现修剪之前的和修剪后的输出差异的最小化:

min w ~  ij R | k i=1 w ~  ij v i  d   i=1 w ij v i | 2   min w ~ i j ∈ R | ∑ i = 1 k w ~ i j v i − ∑ i = 1 d ℓ w i j v i | 2

由于DPP专注于选择一组独立的神经元,所以很可能修剪将选择至少1个节点在任何给定的噪声消除系统中保留,因为这些消除子网络是必要的高度依赖的。合并步骤在这种情况下,将噪声消除组件合并到噪声生成节点中,反之亦然。这将使得在多样性网络中合并成为一种特殊的必要性,但是在不同的修剪算法之后,它仍然可以提供一种易于处理的替代训练。

非参数神经网络(Nonparametric Neural Networks) ###

据我所知,修剪和生长策略只结合一项工作。非参数神经网络(NNNs)23 结合神经元加上对神经元施加稀疏诱导惩罚。一个具有 N L   N L 的前馈网络, 作者介绍了2个这样的正则化器,一个“扇入”和“扇出”变体:

Ω in = N L  =1  d   j=1 ( d   i=1 |w +1 ij | p ) 1p    Ω i n = ∑ ℓ = 1 N L ∑ j = 1 d ℓ ( ∑ i = 1 d ℓ | w i j ℓ + 1 | p ) 1 p

Ω out = N L  =1  d   i=1 ( d  +1 j=1 |w  ij | p ) 1p    Ω o u t = ∑ ℓ = 1 N L ∑ i = 1 d ℓ ( ∑ j = 1 d ℓ + 1 | w i j ℓ | p ) 1 p

换言之,扇入变量惩罚每个神经元输入的p范数,而扇出变量惩罚每个神经元输出的p范数。在前馈网络的情况下,可以将这些正则化因子添加到具有任何正权重的损失函数中。 0<p<  0 < p < ∞ 以保证目标在一定数量的神经元上收敛。

NNNS为适应网络提供了有益的策略组合。特别是p=1或2,通过施加压力来形成稀疏值,以形成零值神经元,或具有扇入或扇出值0的神经元。每隔一段时间,我们就可以去除这些零值神经元。同时,我们可以引入新的零值神经元在不同的位置在网络中,并且正则化器保证目标收敛,因此,我们可以停止添加神经元在任何点,性能开始下降。

然而,这种方法存在着明显的问题。第一个明显的限制是,这种正则化不能应用于任何具有递归的网络。这种约束降低了策略在许多自然语言领域中的有用性,而其中最先进的性能需要RNN。

该方法的另一个缺点是通过初始化输入或输出权重向量为0并随机初始化另一个相关向量来插入零值神经元。因此,我们使用每个间隔重新训练整个网络,而不是智能地初始化和训练新节点以加速收敛。虽然这种方法可以收敛到最佳节点数,但它没有加速训练或帮助新节点专注化。

最后,这种方法增加和移除整个神经元以创建最终的密集网络。因此,它放弃了稀疏化网络的潜在正则化优点,这是由修剪权值引起的。

Reference

  1. Sachan, Mrinmaya, and Eric Xing. “Easy questions first? a case study on curriculum learning for question answering.” Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Vol. 1. 2016. ^
  2. Geoffrey E. Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. 2012. Improving neural networks by preventing co-adaptation of feature detectors. CoRR abs/1207.0580. ^
  3. Pietro Morerio, Jacopo Cavazza, Riccardo Volpi, Rene Vidal, and Vittorio Murino. 2017. Curriculum Dropout. arXiv:1703.06229 [^cs, stat]:. Retrieved March 22, 2017 from http://arxiv.org/abs/1703.06229 ^
  4. Caglar Gulcehre, Marcin Moczulski, Francesco Visin, and Yoshua Bengio. 2016. Mollifying Networks. arXiv:1608.04980 [^cs]:. Retrieved October 7, 2016 from http://arxiv.org/abs/1608.04980 ^
  5. Kazuma Hashimoto, Caiming Xiong, Yoshimasa Tsuruoka, and Richard Socher. 2017. A Joint Many-Task Model: Growing a Neural Network for Multiple NLP Tasks. In arXiv:1611.01587 [^cs]:. Retrieved November 11, 2016 from http://arxiv.org/abs/1611.01587 ^
  6. Andrei A. Rusu, Neil C. Rabinowitz, Guillaume Desjardins, Hubert Soyer, James Kirkpatrick, Koray Kavukcuoglu, Razvan Pascanu, and Raia Hadsell. 2016. Progressive Neural Networks. arXiv:1606.04671 [^cs]:. Retrieved September 14, 2016 from http://arxiv.org/abs/1606.04671 ^
  7. Scott E. Fahlman and Christian Lebiere. 1989. The cascade-correlation learning architecture. Retrieved November 30, 2016 from http://repository.cmu.edu/compsci/1938/ ^
  8. Ash. 1989. Dynamic node creation in backpropagation networks. In International 1989 Joint Conference on Neural Networks, 623 vol.2. https://doi.org/10.1109/IJCNN.1989.118509 ^
  9. David Warde-Farley, Andrew Rabinovich, and Dragomir Anguelov. 2014. Self-informed neural network structure learning. arXiv preprint arXiv:1412.6563. Retrieved June 9, 2016 from http://arxiv.org/abs/1412.6563 ^
  10. Timothy J. Draelos, Nadine E. Miner, Christopher C. Lamb, Craig M. Vineyard, Kristofor D. Carlson, Conrad D. James, and James B. Aimone. 2016. Neurogenesis Deep Learning. arXiv:1612.03770 [^cs, stat]:. Retrieved February 27, 2017 from http://arxiv.org/abs/1612.03770 ^
  11. Marc-Alexandre Cote and Hugo Larochelle. 2015. An Infinite Restricted Boltzmann Machine. arXiv:1502.02476 [^cs]:. Retrieved February 8, 2018 from http://arxiv.org/abs/1502.02476 ^
  12. Shlomo E. Chazan, Jacob Goldberger, and Sharon Gannot. 2017. Deep recurrent mixture of experts for speech enhancement. 2017 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA): 359–363. ^
  13. Song Han, Jeff Pool, John Tran, and William J. Dally. 2015. Learning both Weights and Connections for Efficient Neural Networks. arXiv:1506.02626 [^cs]:. Retrieved May 26, 2016 from http://arxiv.org/abs/1506.02626 ^
  14. Yann LeCun, John S. Denker, and Sara A. Solla. 1990. Optimal brain damage. In Advances in neural information processing systems, 598–605. ^
  15. Babak Hassibi, David G. Stork, and Gregory J. Wolff. 1993. Optimal brain surgeon and general network pruning. In Neural Networks, 1993., IEEE International Conference on, 293–299. ^
  16. Xin Dong, Shangyu Chen, and Sinno Jialin Pan. 2017. Learning to Prune Deep Neural Networks via Layer-wise Optimal Brain Surgeon. arXiv:1705.07565 [^cs]:. Retrieved from http://arxiv.org/abs/1705.07565 ^
  17. Tianxing He, Yuchen Fan, Yanmin Qian, Tian Tan, and Kai Yu. 2014. Reshaping deep neural network for fast decoding by node-pruning. 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP): 245–249. ^
  18. Aghasi, Alireza, et al. “Net-trim: Convex pruning of deep neural networks with performance guarantee.” Advances in Neural Information Processing Systems. 2017. http://arxiv.org/abs/1611.05162 ^
  19. Nikolas Wolfe, Aditya Sharma, Lukas Drude, and Bhiksha Raj. 2017. “The Incredible Shrinking Neural Network: New Perspectives on Learning Representations Through The Lens of Pruning.” ^
  20. Michael C. Mozer and Paul Smolensky. 1989. Using Relevance to Reduce Network Size Automatically. ^
  21. Suraj Srinivas and R. Venkatesh Babu. 2015. Data-free parameter pruning for deep neural networks. arXiv preprint arXiv:1507.06149. Retrieved October 5, 2016 from http://arxiv.org/abs/1507.06149 ^
  22. Zelda Mariet and Suvrit Sra. 2015. Diversity Networks: Neural Network Compression Using Determinantal Point Processes. arXiv:1511.05077 [^cs]:. Retrieved February 9, 2018 from http://arxiv.org/abs/1511.05077 ^
  23. George Philipp and Jaime G. Carbonell. 2017. Nonparametric Neural Networks. In arXiv:1712.05440 [^cs]:. Retrieved February 18, 2018 from http://arxiv.org/abs/1712.05440 ^
  24. Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. 2015. Distilling the Knowledge in a Neural Network. arXiv:1503.02531 [^cs, stat]:. Retrieved September 22, 2016 from http://arxiv.org/abs/1503.02531 ^
  25. Jinyu Li, Michael L. Seltzer, Xi Wang, Rui Zhao, and Yifan Gong. 2017. Large-Scale Domain Adaptation via Teacher-Student Learning. arXiv:1708.05466 [^cs]:. Retrieved August 26, 2017 from http://arxiv.org/abs/1708.05466 ^
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值