该研究提出的动态系统建模方法将整个模型分割成 k 个小的子系统(或模块),其中每一个都是能够捕捉动态的循环结构。研究者将这些子系统称作循环独立机(RIM),每个 RIM 具备不同的函数,这些函数基于数据自动学得。RIM k 在时间步 t 的状态为 h_(t,k),其中 t = 1, . . . , T。每个 RIM 具备参数 θ_k,所有时间步共享这些参数。
图 1:循环独立机图示。
该模型的每一步包含四个阶段(左图展示了两步)。第一阶段,RIM 生成一个 query,从当前输入中读取数据。第二阶段,使用基于注意力的竞赛机制(competition mechanism)根据编码视觉输入选择要激活的 RIM(右图),其中蓝色 RIM 为激活状态,白色 RIM 反之。第三阶段,激活 RIM 按照默认转换动态运行,而非激活 RIM 保持不变。第四阶段,RIM 之间使用注意力进行稀疏通信。
总体来看,研究者想让每个 RIM 默认处理自己独立的动态,与其他相关 RIM 和编码输入选中元素进行偶尔交互。参数总量可以很小,因为 RIM 可以专用于简单的子问题。这种专门化和模块化特性不仅具备计算和统计优势,还可以阻止单个 RIM 主导及建模复杂的合成机制。研究者期望,相比于训练一个大型同质神经网络,RIM 能够带来更稳健的系统。此外,模块化还说明,RIM 应该保持其独立功能,即使其他 RIM 发生改变。
实验
实验目标是,证明 RIM 能够改善模型在不同环境和/或模块化任务中的泛化效果。该研究不关注该方法是否超出高度优化的基线模型,而是想展示该方法面对大量不同任务时的通用性,且这些任务的环境是不断变化的。研究者按照以下顺序展示实验结果:基于时序模式、对象和二者解决泛化问题。