時系列予測にTransformerを適用する際の勘所
Enhancing the Locality and Breaking the Memory Bottleneck of Transformer on Time Series Forecasting [Li+, NeurIPS19]からTransformerを時系列予測に適用するときの課題とその対策について説明する。
https://arxiv.org/abs/1907.00235
時系列予測にTransformerを適用するときの課題と対策を次にあげる
課題1: 局所的なコンテキストを捉えることができない
従来のcanonical self-attentionはQuery/Keyにpoint-wise(点ごとに分割して特徴抽出を行うこと)な値を使うため、局所的なデータ構造(なだらかな変化なのか、急な変化なのかなど)を考慮できていない(Fig.(a),(b))
対策1: サンプル点周辺の特徴を畳み込む、Convolutional self-attentionを提案
Convolutional self-attentionではQuery/Keyに周辺情報も畳み込むため、point-wiseな値を使う場合(Fig.(a),(b))に比べて、局所的な構造を考慮できる(Fig.(c),(d))。さらに、本論文では時系列データを対象としているため、convolutionは「前後」ではなく「前」の情報のみを使うcausal convolutionを提案している。
課題2: 計算量がシーケンス長の2乗に比例すること
Transformerではself-attentionを計算する際、シーケンス同士の内積をとるため、計算量がシーケンス長の2乗となるO(L^2)。これはTransformerの一般的な課題で、時系列データへの適用に限った課題では無い。
対策2: 時間的に近い点は密に、遠い点は疎にとるLogSparse self-attentionを提案
self-attention layerにおいて、全ての点同士の関係を考えるとO(L^2)の計算量になる(Fig.(a))。一方、提案するLogSparse self-attentionでは、時間的に近い点は密に、遠い点は疎にとることでO(L(LogL)^2)の計算量に減らすことができる(Fig.(b))。
ディスカッション
コメント一覧
まだ、コメントがありません