【论文阅读】RevIN - Reversible Instance Normalization for Accurate Time-Series Forecasting Against Distribution Shift
0. 论文基本信息
发表信息:ICLR 2022
论文地址:https://openreview.net/forum?id=cGDAkQo1C0p
1. 简介
时间序列预测中的主要挑战之一是数据分布漂移问题(distribution shift problem),即数据分布,比如数据的均值方差等,会随着时间而变化,这会给时序预测问题造成一定的难度(这类数据也成为非平稳数据non-stationary)。而在时序预测任务中,训练集和测试集往往是时间来划分的,这天然会引入训练集和测试集分布不一致的问题,此外,不同输入序列也会有数据分布不一致的问题。这两个不一致的问题都可能会导致模型效果的下降。
为了解决上述问题,可以想办法去除数据中的非平稳信息,但是如果只是简单的消除非平稳信息,会导致非平稳信息丢失,这可能会影响到模型无法学习到这部分信息,进而影响到模型效果。因此,论文提出了在模型输出后显式恢复非平稳信息的思路,这样既使模型在学习时忽略了数据漂移的问题,又避免了非平稳信息的丢失。
本篇论文提出的是一种数据规范化的方法,命名为“可逆实例规范化” (reversible instance normalization,RevIN)。具体来说,RevIN包含两部分,规范化和逆规范化,首先在数据输入模型前,将数据进行规范化,然后经过模型学习后得到模型输出,最后对模型输出进行反规范化。RevIN是一种灵活的,端到端的可训练层,能够被应用到任意模型层。
论文将RevIN运用到多种SOTA的时序预测模型上,均取得了较好的效果,下图是一个效果的直观对比。
2. 论文方法介绍
定义
将时序预测任务的输入表示为:
X
=
{
x
(
i
)
}
i
=
1
N
X = \{x^{(i)}\}_{i=1}^N
X={x(i)}i=1N,对应的输出表示为:
Y
=
{
y
(
i
)
}
i
=
1
N
Y = \{y^{(i)}\}_{i=1}^N
Y={y(i)}i=1N,其中N表示序列数量。
定义变量:
K
K
K: 变量数
T
x
T_x
Tx: 输入序列长度
T
y
T_y
Ty: 输出序列长度
给定输入: x ( i ) ∈ R K × T x x^{(i)} \in R^{K \times T_x} x(i)∈RK×Tx, 目标是预测输出: y ( i ) ∈ R K × T y y^{(i)} \in R^{K \times T_y} y(i)∈RK×Ty。
RevIN包含对称的两部分,normalization和denormalization。首先对原始数据进行规范化,对每个输入
x
(
i
)
x^{(i)}
x(i),进行实例规范化,即使用自身的均值和方差进行规范化。具体计算过程如下:
这里
γ
,
β
∈
R
K
\gamma, \beta \in R^K
γ,β∈RK是可学习的仿射变换参数。
反规范化方法如下,和规范化阶段使用相同的参数值。
整个方法的整体架构如下图所示。
图3展示了整个workflow过程中数据分布的变化。相对于BN用于解决层间参数分布的偏移问题,论文更倾向于将提出的方法解读为encoder-decoder,先清洗数据,去除非平稳信息,最后再恢复。可以看出RevIN是模型无关的一种方法。
3. 实验结果
RevIN方法和其他经典的规范化或归一化方法对比,可以看到RevIN方法有明显的优势。注意,这里的min-max和z-score都是实例维度的,不是整体数据集的。
图5展示了RevIN对中间层的分布偏移也能一定程度的缓解。
文章来源:https://www.toymoban.com/news/detail-620379.html
4. 总结
这篇论文提出的方法相对比较简单,运用起来成本也较低,有很好的启发性。文章来源地址https://www.toymoban.com/news/detail-620379.html
到了这里,关于【论文阅读】RevIN - Reversible Instance Normalization for Accurate Time-Series Forecasting Against Distrib的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!