模型复杂性是深度学习的一个基本问题。
本文对深度学习中模型复杂性的最新研究进行了系统的综述。深度学习的模型复杂度可分为表达能力和有效模型复杂度。
从模型框架、模型规模、优化过程和数据复杂性四个方面回顾了现有的研究成果。我们还讨论了深度学习模型复杂性的应用,包括理解模型泛化能力、模型优化、模型选择和设计。
最后,我们提出几个有趣的未来方向。
https://www.zhuanzhi.ai/paper/f7c683dfd6eb2f07eba0ed31d337345c
引言
主要由于其优越的性能,深度学习在许多应用中具有破坏性,如计算机视觉[40]、自然语言处理[55]和计算金融[91]。然而,与此同时,关于深度学习模型的一系列基本问题仍然存在,如为什么深度学习的表达能力比经典机器学习模型有很大提高,如何理解和量化深度模型的泛化能力,如何理解和改进优化过程等。深度学习的模型复杂性是一个核心问题,与许多基础性问题有关。
深度学习的模型复杂性关注的是,对于某种深度学习体系结构,深度学习模型能够表达多复杂的问题[15,44,70,89]。理解深度模型的复杂性是准确理解模型的能力和局限性的关键。探索模型复杂性不仅是理解深度模型本身的必要条件,也是研究许多其他相关基本问题的必要条件。例如,从统计学习理论的观点来看,利用模型的表达能力来限制泛化误差[69]。最近一些研究提出了基于范数的模型复杂度[60]和基于灵敏度的模型复杂度[76,81]来探讨深度模型的泛化能力。此外,在训练过程中检测模型复杂性的变化可以为理解和提高模型优化和正则化的性能提供见解[44,74,89]。
对机器学习模型复杂性的研究可以追溯到几十年前。20世纪90年代的一系列早期研究讨论了经典机器学习模型的复杂性[16,20,21,98]。其中具有代表性的模型是决策树[19],其复杂性总是通过树的深度[20]和叶节点数量[16]来度量的。模型复杂性分析的另一个常见课题是逻辑回归,它是大量参数化模型的基础。从Vapnik-Chervonenicks理论[26,96]、Rademacher复杂性[46]、Fisher信息矩阵[21]和[6]模型的razor等角度研究logistic回归模型的复杂性。在这里,模型剃刀是一个理论指标,比较一个参数模型家族的真实分布的复杂性。然而,深度学习模型与几十年前讨论的经典机器学习模型有很大的不同[70]。经典机器学习模型的复杂性分析不能直接应用或直接推广到深度模型。
近年来,深度学习中的模型复杂性受到了越来越多的关注[13,60,70,78,81,89]。然而,据我们所知,目前还没有关于深度学习中模型复杂性的研究。缺乏对这一新兴和重要课题的调研促使我们对最新研究进行调查。在本文中,我们交替使用术语“深度学习模型”和“深度神经网络”。几十年前就有大量关于经典机器学习模型复杂性的研究,优秀的研究综述了这些研究[20,21,61,93]。在本节中,我们将非常简要地回顾几个典型模型的复杂性,包括决策树、逻辑回归和贝叶斯网络模型。讨论了深度神经网络的模型复杂度与其他模型的不同之处。
深度学习模型在结构上与传统的机器学习模型不同,具有更多的参数。深度学习模型总是比传统模型复杂得多。因此,以往对传统机器学习模型的复杂性建模方法不能直接应用于深度学习模型,以获得有效的复杂性测度。例如,用树的深度[20,98]和叶节点数[16,61]来衡量决策树的复杂性显然不适用于深度学习模型。通过[46]可训练参数的数量来衡量模型的复杂性对深度学习模型的影响非常有限,因为深度学习模型往往过于参数化。
本次综述的其余部分组织如下。
在第2节中,我们介绍了深度学习模型的复杂性以及这两类模型的表达能力和有效模型复杂性。
在第3节中,我们回顾了关于深度学习模型表达能力的现有研究。
在第4节中,我们综述了关于深度学习模型有效复杂性的现有研究。
在第5节中,我们将讨论深度学习模型复杂性的应用。
在第6节中,我们总结了这一研究并讨论了一些未来的方向。