来自麻省理工学院和Facebook AI的研究人员介绍了projUNN,这是一种用单元矩阵训练深度网络的有效方法。在他们的论文中,作者(也包括Yann Lecun)介绍了两种变体--直接(projUNN-D)和切线(projUNN-T),以参数化全N维单元或正交矩阵,训练运行时间扩展为O(kN2)。
新论文:"projUNN:用单元矩阵训练深度网络的有效方法
",作者Bobak Kiani(麻省理工学院)、Randall Balestriero(FAIR)、Yann LeCun(FAIR/纽约大学)、Seth Lloyd(麻省理工学院)。t.co/cvNVVsH3lt- Yann LeCun (@ylecun)2022年3月29日
消失和爆炸性梯度问题
在网络很深的情况下,或者输入是长序列的数据,神经网络的学习会变得不稳定。例如,在递归神经网络中,递归状态是通过重复应用线性变换来演化的,而线性变换之后是点状的非线性,当线性变换的特征值不是单位值时,就会变得不稳定。人们可以通过使用单元矩阵来避免这种情况;它们通常被用来克服梯度消失和爆炸的问题。
对于不熟悉的人来说,梯度是损失函数相对于权重的一个导数。在神经网络的反向传播过程中,它被用来更新权重以最小化损失函数。当导数或斜率随着我们每一层的倒退而稳步变小时,就会出现梯度消失。当权重更新是指数级的小,训练时间就会过长,在最坏的情况下,可能会完全停止神经网络训练。另一方面,当在反向传播过程中,每一层的slop都变大时,就会出现爆炸性梯度(与梯度消失的情况相反)。由于高权重,梯度将永远不会收敛,导致它在最小值附近震荡,而不会真正到达全局最小值点。
单一性神经网络最初是为了解决RNNs中梯度消失和爆炸的问题,同时在长序列数据中学习信息,比现有的参数化如LSTM更有效。在以前的研究中,通过构建一系列参数化的单元变换来保持单元性。其中一个流行的方法是高效单元递归神经网络(EUNN),它通过组成单元变换(如给定旋转和傅里叶变换)对单元矩阵进行参数化。
虽然在每一层采用单元矩阵是有效的,但通过限制网络参数为严格的单元矩阵来保持长距离的稳定性,其代价是昂贵的参数化和增加的训练运行时间。
什么是projUNN
RNNs是 "臭名昭著的 "训练。当隐藏到隐藏的权重矩阵的特征值偏离绝对值1时,优化变得很困难,特别是在试图学习长期依赖关系时。
在RNN设置中,早期的算法在应用n*n单元矩阵时,将矩阵参数化为单元/正交变换的层。在分层设置中,单元化在所有的参数值上被强制执行,但需要许多层来形成一个可以重新创建任何所需单元化的组合。
信用:projUNN
目前研究的作者提出了projUNN,其中矩阵直接通过基于梯度的优化进行更新,并投射回最接近的单元(projUNN-D)或沿梯度方向传输(projUNN-T)。作者声称,projUNN在梯度由秩一矩阵近似的极端情况下特别有效。通过RNN,projUNN与现有的最先进的单元神经网络算法的基准相匹配或超过了。
"我们的PROJUNN表明,在训练单元神经网络架构时不需要牺牲性能或运行时间,"作者写道。他们还声称,这些结果利用了参数梯度的近似低秩结构,以几乎最佳的运行时间执行更新。
在这里阅读论文全文。