远东轶事
首发于远东轶事

求道之人,不问寒暑(二)

这次ICLR投了一些文章出去,其中有一篇是我自己关于多层深度非线性局域神经网络(deep and locally connected nonlinear network)的理论工作,这里介绍一下。注意按照ICLR的风格,在review期间可以宣传自己的工作 iclr.cc/Conferences/201

“While ICLR is double blind, we will not forbid authors from posting their paper on arXiv or any other public forum.”

原论文在此:

A theoretical framework for deep locally connected ReLU networkopenreview.net

Arxiv链接在此:[1809.10829] A theoretical framework for deep locally connected ReLU network

文章可能有些难懂(接下来会改第二版),看Poster可能会更明白些(链接在此)。


===========

现在大家都在喊深度学习全是应用和各种调参,没有太多理论。其实理论这一块大家一直在做,今年ICML投稿方向文章数第三名就是深度学习理论,只是很难,进展不是特别大。

现在通常的办法是把深度学习的训练当成是一般的非凸优化问题,然后分析优化得到的解的各种特性,比如说局部Hessian的性质,是不是saddle points,收敛速率这些。这样可以把一些凸优化的思路搬过来用,而且在这几年里也取得了很多成果。

但总感觉缺了点什么。一个主要的问题是这些分析方法是通用的,并非针对神经网络这一特定的模型,也没有针对特定的数据分布,从而无法非常清楚地解释为什么某些类型的神经网络(比如说多层非线性卷积模型)在实际数据上效果那么好。而且依照天下没有免费午餐(No free lunch)的定律,任何一个号称可以适应任何高维数据分布的算法,要达到一个比较好的效果,肯定对数据量的依赖是指数级的,比如说最近邻,核回归或者高斯过程之类的nonparametric approach。而神经网络效果比它们要好,那肯定是因为神经网络的特定结构和数据分布有某种契合性。所以说,我们理想中的分析方法,应当考虑到这两个因素及它们之间的契合性,并且能定量地给出这些因素在最终效果中所占的比重。

现在这一块已经有一些工作了,先假定数据输入是高斯分布,网络结构比较简单(比如说带一层隐层+ReLU),对梯度下降算法做一些收敛性分析。这方面从我在ICLR 16及ICML 17上发了一篇工作之后(同时期还有特拉维夫大学的工作),这两年涌现出很多文章,其中我和 @杜少雷 及Jason Lee也合作了两篇(ICML 18, ICLR 18)。

但是这些办法要拓展到多层非线性网络是比较有难度的,因为它们主要依赖于高斯分布下神经网络梯度的解析表达式。要突破这个瓶颈,再去寻求解析表达式恐怕是很困难的事情。另一方面,这条路和很多神经网络的经验直觉,比如说卷积神经网络的特征组合,从底层一般特征到高层基于类别的特定特征的逐步演化,也没有太大相关性。

那么这个要怎么办呢?这次我的ICLR文章提供了一个思路:假设数据的标签由某个自底向上的计算图生成,计算图的中间节点全是隐藏的,而只有最后的节点是提供出来作为标签。在这些前提下,我们可以把前向/反向传递的基本迭代公式“投影”到相应的节点上。这些投影在局域性假设下,会导出一组新的迭代规则。这些规则里面,以节点间条件概率的形式,自然会出现数据分布项。然后通过分析这一组新的迭代规则,我们可以得到网络的一些性质,并且这些性质是和数据分布联系在一起的。这样的话,我们就可以分析任意深的非线性局域神经网络,并且这种分析能联系上数据分布。另外在自底向上的计算图中,可以做到特征逐步组合,这样也联系上了“如何将特征组合在数学上严格化”这个我从博士毕业以来一直在思考的问题。

运用这个框架,我们可以分析什么时候非线性是有意义的,什么样的数据分布的结构能导致分布式表示(disentangled representation)。我也给了个例子简要分析了一下过拟合的原因。相信要挖下去应该会能找到更多有意思的东西,不过限于时间和篇幅,只能先投出去了。

另外这篇文章也附送了一个对BatchNorm的几何解释,即通过一些数学分析,可以发现在加BatchNorm之后,反传的梯度是在激励函数的正交补空间上的投影。直觉上说,BatchNorm是把神经网络的训练任务分解了:反传过来的梯度,若是这一层能解释的,或者说在这一层的输入张成的子空间里的,先让这一层去解释;解释不了的梯度再传到下一层。而且在这篇文章提出的新的迭代规则下,这些解释还是成立的,只是换了个子空间的基底。前一部分结论其实我在三年前BatchNorm刚出来之后已经发现了,不过因为一直没有后续结论,只能压着不发。现在终于可以公布出来了。

从某种意义上来说,花了五六年的时间,去思考一个我一直想知道答案的问题,一直到最近,才开始有了一点成形的想法,尔后才有这一篇投稿,希望之后能发扬光大。如果大家想看情怀文的话,可以戳这里:求道之人,不问寒暑

编辑于 2018-10-09

文章被以下专栏收录