爱笑的小姐姐 · 2021年12月30日

元学习任务推断预测动态过程

最近阅读了一篇文章介绍用元学习做任务推断的方法对动态过程进行预测,在此做一篇阅读笔记与大家分享。该篇文章是为加州大学圣地亚哥分校的Rose Yu教授课题组的工作,目前已经被ICLR2022接收。

背景介绍

目前深度学习的模型在预测动态过程上受限于泛化性的问题。通常这些模型只能预测在特定定义域上的变化,在系统发生改变(例如参数,外力和边界条件改变)之后,模型不再适用。例如在图一中是两种具有不同湍流程度的流动。尽管这两种流动是一组方程产生的,但是不同的浮力会导致它们需要训练两个不同的深度学习模型去预测。因此,一个可以在较大的各向异性的定义域上泛化地学习和预测的深度学习模型亟需被开发。这篇论文中提出了一种基于模型的元学习方法,叫做“DyAd”,它可以通过将各向异性的定义域分为不同的任务,适用不同的系统预测。元学习的方法,通过学习多重任务,增强了模型的泛化性。但是元学习的方法应用于高维物理动态过程还没有很好的实践,在此需要克服三个挑战(1)找到一个潜空间的表达来表示观察到的时序数据(2)需要考虑到变化的初始条件和边界条件(3)需要在不同的定义域上对时序的动态过程建模。
image.png
图一 两种不同湍流程度的流动

主要工作

DyAd 由encoder和forecaster两个网络组成。Encoder建立了不同动态过程与它内在的时间不变性的特征之间的映射。Forecaster拿到从encoder输出的时间不变性特征和过去的时间序列数据,预测系统将来的状态。由于引入了时间不变性的特征,forecaster才得以有在广阔的定义域上的泛化能力。
image.png
图二 DyAd神经网络模型示意图
image.png
上面是encoder训练的损失函数。第一项是一个半监督项,c是系统中已知的不变量,例如在流动过程中的雷诺数,平均粘度,边界条件等等。 是通过学习到的 做一次彷射得到的。第二项保证了学习到的z是一个关于时间的不变量,因为下标i,j代表了不同时刻的输入。最后一项是为了防止学习到的z过于接近0。

在Forecaster拿到encoder传出的z之后,做了两步自适应的操作,分别是adaptive instance normalization和adaptive padding。因为边界条件也是一个关于时间不变的特征,因此作者认为在z中包含了边界条件的信息。因此,基于得到的z,经过一次全连接的变换之后得到系统边界的信息,将边界包在传入的时序数据之外。为了补偿这一改变,在做完padding之后又做了一次自适应的归一化操作。在这之后接入经典的ResNet或者UNet进行预测的输出。
image.png
图三 DyAd在三个数据集上的结果精度与Baseline的对比

上图是DyAd模型在三个不同数据集上的实验结果。其中future一栏主要验证模型对于相同任务的外插能力,也即在相同的定义域上做时间演进的预测。domain一栏主要验证模型对于不同任务的泛化能力。可见不管是ResNet还是Unet,在加了DyAd之后精度都有一定的提高。最后作者还做了一些消融实验,DyAd模型中encoder部分和forecaster是分别训练的,和端到端训练对比,精度上也是分开训练较好。

思考与总结

DyAd用一个encoder去推断任务的时间不变性特征 (task inference),然后用预测网络去适应和预报给定的任务。模型在三个数据集上进行了测试,分别是合成的湍流数据,真实的海洋温度和洋流数据。观察到的实验结果都比baseline好。

用Adaptive Padding处理边界条件的方式比较新颖。但是由于作者也并不确定边界条件会不会作为时间不变性的参数被encoder给学习到,只是说可能会包含在 Zc 中,因此这部分可以再进行深入探究。实验中使用的数据集比较类似,可以在其他不同数据集上进行训练和对比,去测试模型的泛化能力。

论文链接:Meta-Learning Dynamics Forecasting Using Task Inference

原文链接:于璠
作者:于璠

推荐阅读

更多嵌入式AI技术相关内容请关注嵌入式AI专栏。
推荐阅读
关注数
18758
内容数
1316
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息