循环神经网络训练中的分岔与损失跳变
机器学习
2023-10-27 v1 人工智能
动力系统
摘要
循环神经网络(RNNs)是用于建模和预测序列数据以及从观测时间序列推断动力系统(DS)的流行机器学习工具。动力系统理论(DST)中的概念已被广泛用于增进我们对以下两方面的理解:训练好的 RNN 如何解决复杂任务,以及训练过程本身。分岔是动力系统(包括 RNN)中特别重要的现象,指的是当一个或多个参数变化时系统动力学行为发生的拓扑(定性)改变。因此,了解 RNN 的分岔结构将能推断其许多计算和动力学性质,例如对参数变化的敏感性和训练期间的行为。特别是,分岔可能解释 RNN 训练中观察到的突然损失跳变,这可能严重阻碍训练过程。在此,我们首先从数学上证明,对于一类特定的基于 ReLU 的 RNN,某些分岔确实与趋向无穷或零的损失梯度相关。然后我们引入一种新颖的启发式算法,用于检测基于 ReLU 的 RNN 中所有不动点和 k-周期及其存在性与稳定性区域,即参数空间中的分岔流形。与以往寻找不动点的数值算法和常见的延拓方法不同,我们的算法提供精确结果,并能以令人惊讶的良好缩放行为返回高阶不动点和周期。我们在 RNN 训练过程分析中举例说明了该算法,并发现最近引入的广义教师强制技术完全避免了训练中的某些类型分岔。因此,除了促进训练后 RNN 的 DST 分析外,我们的算法还为分析训练过程本身提供了有力工具。
引用
@article{arxiv.2310.17561,
title = {Bifurcations and loss jumps in RNN training},
author = {Lukas Eisenmann and Zahra Monfared and Niclas Alexander Göring and Daniel Durstewitz},
journal= {arXiv preprint arXiv:2310.17561},
year = {2023}
}