更改

添加543字节 、 2024年8月19日 (星期一)
无编辑摘要
第428行: 第428行:  
前向动力学是最小化预测误差<math>\left\|\phi_q^{\dagger}(Y(t+1))-X_{t+1}\right\| </math>,保证动力学的确定性,但是由于EI不仅与确定性有关,还与简并性有关,我们需要一个与动力学简并性相关的指标。因此,学者在NIS的框架基础之上,加入了反向动力学,用以反向预测,即输入<math>y_{t+1}</math>,通过动力学学习器<math>g</math>之后,得到宏观量的反向预测值<math>\hat{y}_{t}</math>,使<math>y_{t+1}</math>和<math>\hat{y}_{t}</math>之间的损失值减少。通过训练反向动力学学习器<math>g</math>,影响编码器,进而影响EI值,使得此框架可以学到一个简并性低的动力学。
 
前向动力学是最小化预测误差<math>\left\|\phi_q^{\dagger}(Y(t+1))-X_{t+1}\right\| </math>,保证动力学的确定性,但是由于EI不仅与确定性有关,还与简并性有关,我们需要一个与动力学简并性相关的指标。因此,学者在NIS的框架基础之上,加入了反向动力学,用以反向预测,即输入<math>y_{t+1}</math>,通过动力学学习器<math>g</math>之后,得到宏观量的反向预测值<math>\hat{y}_{t}</math>,使<math>y_{t+1}</math>和<math>\hat{y}_{t}</math>之间的损失值减少。通过训练反向动力学学习器<math>g</math>,影响编码器,进而影响EI值,使得此框架可以学到一个简并性低的动力学。
 
=== 分阶段训练 ===
 
=== 分阶段训练 ===
在实践中,NIS+的训练过程分为两个阶段。
+
在实践中,为了减轻机器学习的压力,可以先让模型学到比较靠谱的编码策略,然后通过反向动力学将编码策略调整至最优解。NIS+的训练过程分为两个阶段。
   −
第一阶段:只训练前向神经网络,最小化预测误差<math>\left\|\phi_q^{\dagger}(Y(t+1))-X_{t+1}\right\| </math>。
+
第一阶段:只训练前向神经网络,最小化预测误差<math>w(\boldsymbol{x}_t)\parallel\boldsymbol{y}_t-g(\boldsymbol{y}_{t+1})\parallel </math>。
   −
第二阶段,只训练反向神经网络,本质上是用于训练<math>
+
第二阶段,只训练反向神经网络,最小化预测误差<math>\parallel\hat{x}_{t+1}-\boldsymbol{x}_{t+1}\parallel </math>,本质上是用于训练<math>
 
\phi_{ω}
 
\phi_{ω}
 
</math>。
 
</math>。
 +
 +
在整个模型的训练过程中,总的目标(式{{EquationNote|3}})是最小化第一阶段的误差和第二阶段误差的拉格朗日函数,在不同的实验中,<math>λ </math>取不同的值。
    
=== 面对大规模复杂系统的拓展 ===
 
=== 面对大规模复杂系统的拓展 ===
 
在实际应用中,如果系统不是小规模系统,而是类似[[元胞自动机 Cellular Automata|元胞自动机]]的大规模的复杂系统,我们需要对此框架进行拓展,将编码器(解码器)进行组合,从而减轻模型训练的压力和难度。
 
在实际应用中,如果系统不是小规模系统,而是类似[[元胞自动机 Cellular Automata|元胞自动机]]的大规模的复杂系统,我们需要对此框架进行拓展,将编码器(解码器)进行组合,从而减轻模型训练的压力和难度。
 
[[文件:StackParallel.png|右|无框|600x600px|1|替代=]]
 
[[文件:StackParallel.png|右|无框|600x600px|1|替代=]]
首先,在处理高维复杂系统时,一次丢弃多个维度会给训练神经网络带来很大的挑战。我们可以将一系列基本编码器堆叠(串联)在一起并逐渐丢弃维度,降低训练难度。
+
首先,在处理高维复杂系统时,一次丢弃多个维度会给训练神经网络带来很大的挑战。我们可以将一系列基本编码器堆叠(串联)在一起并逐渐丢弃维度,降低训练难度。如右图a所示。
   −
此外,一些大规模复杂系统具有先验知识,我们可以根据先验知识对微观维度进行分组,分组之后,对每一组都用编码器进行编码,相当于把编码器进行了并联。并行编码器之间共享参数,故神经网络依然可以高效、准确地获得粗粒化规则。最后,将从所有编码器获得的宏观变量连接成一个向量,以导出总体的宏观变量。这种并行结构也可以与卷积神经网络等架构结合起来。
+
此外,一些大规模复杂系统具有先验知识,我们可以根据先验知识对微观维度进行分组,分组之后,对每一组都用编码器进行编码,相当于把编码器进行了并联。并行编码器之间共享参数,故神经网络依然可以高效、准确地获得粗粒化规则。最后,将从所有编码器获得的宏观变量连接成一个向量,以导出总体的宏观变量。这种并行结构也可以与卷积神经网络等架构结合起来。如右图b所示。
   −
为了提高搜索最优尺度的效率,我们可以利用堆叠编码器获得隐藏空间的多个尺度,同时训练多个不同尺度的动力学学习器(相当于搜索不同q的宏观动力学),从而避免重新训练编码器,提高模型效率。
+
为了提高搜索最优尺度的效率,我们可以利用堆叠编码器获得隐藏空间的多个尺度,同时训练多个不同尺度的动力学学习器(相当于搜索不同q的宏观动力学),从而避免重新训练编码器,提高模型效率。如右图c所示。
    
将NIS+的编码器替换为堆叠编码器与并行编码器的任意组合时,式{{EquationNote|3}}的最优化函数依然适用(引理5、引理6)。
 
将NIS+的编码器替换为堆叠编码器与并行编码器的任意组合时,式{{EquationNote|3}}的最优化函数依然适用(引理5、引理6)。
259

个编辑