最近仔细读了 Prof. Tishby的利用 information bottleneck 来解释深度学习的文章,“Opening the black box of Deep Neural Networks via Information” ,可能这篇文章最近很火的主要是 Hinton 在听完 Tishby 的 talk 之后,给 Tishby 发了email:
“I have to listen to it another 10,000 times to really understand it, but it’s very rare nowadays to hear a talk with a really original idea in it that may be the answer to a really major puzzle.”
必须再听10000遍才能真正搞懂的,:).
深度学习的理论是目前机器学习领域一个重要的研究方向,大家都好奇为什么深度学习会如此有效。自己最近这半年也在一直研究深度学习理论相关的内容,个人认为深度学习理论最关键的三个方面的内容包括:
❶ 层级结构到底给深度学习带来了哪些好处?如何能很好的表达什么类型的函数?方便处理哪种类型的数据?
❷ 为什么 SGD 在深度学习模型的训练中如此有效?它本身哪方面的特点契合于深度学习模型?
❸ 深度学习模型的泛化能力为何比其他模型要好很多?因为一般来说 deep learning模型的参数个数要几倍于训练数据个数,传统的统计学习理论(statistical learning theory)很难解释深度学习模型的泛化能力。
目前很多非常前沿的工作或多或少的在探索这三方面的内容,但不得不说当前的很多研究对真正理解深度学习意义并不大,原因是有些工作只是在证明一些非常 loose 的 bound,比如神经网络逼近函数的能力,考虑与深度、宽度、激活函数或者层级结构的假设以及数据的高斯分布等等,很多假设都不合理;另一方面很多工作只是揭示了一些现象,并不能给出有 insight 的解释。关于两方面的工作大家可以关注一下最近两年的 NIPS、ICML 以及 ICLR 上的一些工作,我这里就不列举了。其实深度学习模型理论方面的研究,最关键的是对于神经网络的理解能否给实际使用神经网络、观测某些神经网络的行为有启发,这才是相对比较有意义的研究。这也是我和组里学生经常强调的问题,虽然非常难,但仍然要尝试解决,也欢迎所有感兴趣的各位和我交流。
话题转会到这篇 information bottleneck 这篇文章,他们之前有个前序的工作,也是用信息瓶颈这个工具来尝试解释深度学习的层级结构的行为,但做的比较粗糙,几乎没什么实验佐证。这篇文章在基于信息瓶颈的这个工具的基础上,观察到了大量的神经网络在训练过程中的行为,有一些不错的 insights,虽然没有很强的理论证明,但有比较合理的解释,但某些发现解释了我上面提出的三个方面的一些问题。 文章的具体发现大家直接读文章摘要就清楚了,我这里着重讨论几个方面:
1
通过大量实验佐证了神经网络在用 SGD训练过程中实现的两个 phases:一个是 empirical error minimization(ERM),另一个是 information compression with the training error constraints. 其实这个观察和分类是在大家对 SGD 训练 NN 熟知的理解,前段中随机梯度的的均值会 dominate 随机梯度的 variance, 所以主要在做 ERM,而后段随着优化的进行,gradient 的均值会逐渐趋近于零,variance 会 dominate, 相当于做 diffusion (这里可能需要对随机微分方程比较熟悉才能理解比较透彻),如下图所示,
作者把 diffusion 这步解释为在做信息压缩,因为他们利用信息瓶颈的工具观测到 SGD 的后段会画大量时间在压缩中间层 T 和输入之间的互信息,I(X; T),如下图所示
2
采用多层隐层的优势的讨论,这个是比较有意思的。作者的 argument 是增加隐层的个数在某种程度上能够缩减 training epochs来实现好的泛化能力,如下图所示。但其实更核心的问题也是更困难的问题是增加层数也就是改变结构使得神经网络具有了哪些好的性质让泛化能力有所提升。
3
文章其他方面的讨论主要集中在观察的现象如何 mapping 到 information plane 上, 有些比较显然的结果,比如随着 training size 的增加,I(X; T)尽量保持不变,但会逐渐提升generalization 的效果。
总体来说,这篇工作以一个新的视角,信息论,来分析神经网络的行为,很 consistent 的解释神经网络的种种表现。也正如作者提出的 concern
❶ 由于所有的实验的 setting 都是一个特殊设置下的全连接网络,包括数据,网络结构等,使得互信息能够比较容易计算。 但是否观察的现象能推广到更加一般的神经网络,比如大家广为使用的 CNN, RNN? 此时的难处自然就是,mutual information 该如何计算来验证结果。
❷ 利用信息瓶颈解释到底能给实际中有多大启发?其实这里可做的工作很多!
就说到这里,关于深度学习的理论研究,前路漫漫!
由于时间问题,我很多地方都忽略了细节,大家得仔细看文章才能明白全貌。
作者简介
朱占星,北京大学大数据科学研究中心助理研究员,北京大数据研究院研究员。2016年在英国爱丁堡大学获得机器学习方向博士学位。 主要研究领域为人工智能,机器学习,深度学习的优化方法,深度学习机制理论,大规模贝叶斯计算与优化理论,机器学习在交通大数据应用及计算机图形学中的应用等,在机器学习领域顶级期刊及会议有多篇文章发表,包括NIPS, ICML, ACL, AAAI及 ECML 等。
领取专属 10元无门槛券
私享最新 技术干货