基于分层学习与Golang SPMD的神经网络研究
1. 分层学习求解偏微分方程
在求解包含广泛尺度的偏微分方程(PDE)解时,许多研究聚焦于设计能有效表示该解的网络,如分层网络。然而,多尺度网络不同尺度组件的干扰会导致训练过程收敛缓慢,即便网络经过充分训练能够表示多尺度解,其可训练性仍是一个问题。
为解决这一问题,提出了一种使用神经网络求解PDE的分层学习方法,该方法基于网络层次进行顺序训练。顺序训练的原理是分别训练每个网络,专注于其目标特征尺度,而非同时训练所有网络。在为网络施加层次结构的多种方法中,测试了以下两种:
- 多层感知器(MLPs) :具有不同的网络复杂度,在求解低复杂度网络时具有计算效率,能捕捉解的低频分量。
- 傅里叶特征嵌入网络 :不同层次的网络复杂度相同,虽无计算增益,但可通过傅里叶特征嵌入层明确施加解的尺度范围。
该分层学习方法通过一系列数值测试进行了验证,包括具有多尺度速度场的对流扩散问题。不过,此方法仍存在一些待解决的问题:
- 网络复杂度与其表示函数的特征尺度之间的联系尚不明确,虽在数值实验中发现改变网络复杂度会改变其对应尺度,但缺乏明确严格的标准来确定特征尺度。
- 在傅里叶特征嵌入方法中,假设傅里叶嵌入层能确定特征尺度,因此每层使用了相同的网络复杂度。
在将分层学习应用于与时间相关的问题时,有两种方法:
- 使用一个网络同时学习时空尺度。
- 通过网络学习空间变化来推进问题求解。
未来,研究人员希望设计分层网络来解决时间域中的多尺度行为,特别是捕捉动态系统的长期行为,如地