深度学习的成功已经无需多言。一直以来,研究者们都尝试从数学角度去解释神经网络的有效性。然而,由于网络的结构可以看作是高维线性变换和逐元素的非线性变换(如 ReLU 激活函数)之间的多重复合,因此实际上并没有很好的数学工具去破解这样复杂的结构。
所以,对于神经网络的理论研究往往局限在诸如网络的逼近、优化、泛化以及其他观测到的现象等方面。
如果抛开理论的限制,一个无可争议的事实是:更宽、更深的网络总是有着更好的效果。小到几层的全连接网络、大到万亿规模的大模型,都一致性地保持着这样的规律。
那么,如何从理论上理解这样的事实?激活函数又在其中扮演什么样的角色?
相比于宽度,对深度的研究更加具有挑战性,因为层数的增加还伴随着非线性函数的不断复合。
一个典型的问题是,当模型宽度固定的时候,增加模型的深度是否比浅层的模型拟合更多的数据点?
中国科学院应用数学所博士毕业生盖阔在读博期间完成一个生成网络算法设计的工作和一个现象驱动的可解释性工作之后,希望探索关于人工智能的为题。
因为自己是数学背景出身,所以就想做一些理论的结果。但在当时神经网络理论研究的框架已经很清晰,研究剩下的空白难题则都非常有难度。
“以至于我读了很久的已有文献,也没能找到原创性的切入点。”他说。
经历一系列不成功的尝试之后,盖阔又回到了最初的一个直觉的想法:因为网络的宽度更容易分析,比如对于一个简单的线性方程
来说,当增加 W 的尺寸之后,能求解的关于 X 和 Y 之间的方程个数也会线性增加。
如能把深度等效为宽度,将两层网络等效为一个单层的大矩阵,那么就可以通过消元法去找到这个大矩阵方程的解,也就对应着两层神经网络的解,这也说明增加网络深度就像增加宽度一样有效。
但是,对于逐元素非线性激活函数与矩阵乘法之间的复合几乎没有什么工具来帮助计算,也不具备很好的优化性质。
例如,对于方程
假设
都是已知的,如果
是 ReLU 或者 Sigmoid 函数,那么求解这个方程是很困难的。
因为不是凸问题,所以即便使用优化后的方法也无法保证一定会求到解答。但是,求解这样一个方程却是他在课题构想中的重要一步。
虽然没能进一步推进,不过问题的具体形式已经相对清晰了。盖阔表示如果将激活函数的范围拓宽,这样的方程就可以找到解(例如把激活函数换成矩阵指数)。
这样做的好处是,当两个矩阵是可交换的时候,经过矩阵指数函数激活之后,所得到的矩阵也是可交换的。
为了使特定矩阵具有可交换的性质,就需要额外增加一层网络参数。有了可交换的性质,就很容易求解上述方程,那么就可以在等效的大矩阵里做消元,找到三层函数的一组解。
就这样,他就在这种特殊的激活函数下实现了最初的设想。
具体来说,盖阔和博士导师张世华研究员讨论之后认为:如能找到一个简单直接的例子,能够说明在有激活函数的情况下,网络加深一层后能够拟合更多的数据点,那么这样的结果可能更有意义。
为此他们将网络参数扩展到复数域,并且将逐元素的激活函数替换为矩阵指数激活函数,从而可以对三层的神经网络:
找到一组解析解使得:
其中,所有的矩阵均为 d 维的方阵,这就说明了网络深度的有效性,因为假如只有一层网络的话就只能满足一组
总的来说,他们在理论上找到了一个解释性较好的例子,可以帮助人们更好地理解神经网络深度以及非线性激活函数的有效性。
实验中他们观察到,虽然本次理论结果是针对矩阵指数激活函数而言的,但对于逐元素的 ReLU 或者 Sigmoid 激活函数,也能在网络较宽时观察到类似的优化结果,即两层网络拟合数据点的能力大概是单层的二倍。而这可能会启发其他研究者发现更加一般性的结论。
日前,相关论文以《矩阵指数激活函数的三层网络的解析解》(ANALYTICAL SOLUTION OF A THREE-LAYER NETWORK WITH A MATRIX EXPONENTIAL ACTIVATION FUNCTION)为题发在arXiv[1]。
盖阔表示:“非常感谢张世华老师的支持与鼓励。当课题迟迟没有进展的时候,张老师没有就论文发表施加压力,也没有催促更换课题。”
“幸运的是,本来已经计划和张老师讨论放弃这个课题了,但在讨论前一天又突然有了灵感,最终找到了解决的路径。如果张老师没有这样多的耐心,可能我也最后等不来灵感出现。”他最后表示。
参考资料:
1.https://arxiv.org/pdf/2407.02540
排版:溪树
热门跟贴