マクリダキス M-コンペティション シリーズ (M4 および M5 と呼ばれます) は、それぞれ 2018 年と 2020 年に開催されました (今年は M6 も開催されました)。ご存じない方のために説明すると、M シリーズ コンペティションは、時系列エコシステムの現状をまとめたもので、現在の予測理論と実践について実証的かつ客観的な証拠を提供するものと言えます。 2018 年の M4 の結果では、純粋な「ML」手法が従来の統計手法を大幅に上回ったことが示されましたが、これは当時は予想外のことでした。 2年後のM5[1]では、「ML」手法のみで最高得点が達成されました。そして、上位 50 はすべて基本的に ML ベースです (ほとんどがツリー モデル)。このコンペティションでは、LightGBM(時系列予測用)のほか、AmazonのDeepar [2]やN-Beats [3]もデビューしました。 N-Beats モデルは 2020 年にリリースされ、M4 競合の優勝者よりも 3% 優れた性能を発揮します。 最近の人工呼吸器圧力予測コンテストでは、リアルタイムの時系列課題に取り組むためにディープラーニング手法を使用することの重要性が実証されました。コンテストの目的は、機械肺内の圧力の時間的順序を予測することです。各トレーニング インスタンスは独自の時系列であるため、タスクは複数の時系列の問題になります。優勝チームは、LSTM ネットワークと Transformer ブロックを含む多層のディープ アーキテクチャを提出しました。 ここ数年で、MQRNN や DSSM など、多くの有名なアーキテクチャが公開されました。これらのモデルはすべて、ディープラーニングを使用した時系列予測の分野に多くの新たな貢献を果たしました。 Kaggle コンペティションでの優勝に加え、次のようなさらなる進歩ももたらしました。
この記事では、時系列予測に特化した 5 つのディープラーニング アーキテクチャについて説明します。この論文の内容は次のとおりです。
Nビートこのモデルは、Yoshua Bengio 氏が共同設立した (残念ながら) 短命だった ElementAI 社から直接提供されたものです。最上位のアーキテクチャとその主要コンポーネントを図 1 に示します。 N-BEATS は、相互に前方接続と後方接続が積み重ねられた統合フィードフォワード ネットワークのディープ スタックに基づく純粋なディープ ラーニング アーキテクチャです。 各ブロックは、前のブロックのバックキャストによって生成された残差のみをモデル化し、このエラーに基づいて予測を更新します。この手順は、ARIMA モデルを適合する際の Box-Jenkins 法を模倣します。 このモデルの主な利点は次のとおりです。 表現力豊かで使いやすい: モデルは理解しやすく、モジュール構造になっており、時系列特徴エンジニアリングが最小限で済み、入力のスケーリングが不要になるように設計されています。 このモデルは複数の時系列に一般化することができます。つまり、わずかに異なる分布を持つ異なる時系列を入力として使用できます。 N-BEATS では、メタ学習を通じてこれが実現されます。メタ学習プロセスには、内部学習プロセスと外部学習プロセスという 2 つのプロセスが含まれます。内部学習プロセスはブロック内で発生し、モデルがローカルな時間的特徴を捉えるのに役立ちます。外部学習プロセスは積み重ねられたレイヤーで発生し、モデルがすべての時系列のグローバルな特徴を学習するのに役立ちます。 二重残差スタッキング: 残差接続とスタッキングの考え方は非常に巧妙で、ほぼすべてのタイプのディープ ニューラル ネットワークで使用されています。 N-BEATS の実装にも同じ原則が適用されますが、いくつかの追加の変更が加えられています。各ブロックには 2 つの残差ブランチがあり、1 つはルックバック ウィンドウ (バックキャストと呼ばれる) で実行され、もう 1 つは予測ウィンドウ (フォーキャストと呼ばれる) で実行されます。 連続する各ブロックは、前のブロックによって再構築されたバックキャストによって生成された残差のみをモデル化し、このエラーに基づいて予測を更新します。これにより、モデルは有用なプッシュバック信号をより適切に近似できるようになります。一方、最終的なスタック予測は、すべての部分予測の階層的な合計としてモデル化されます。このプロセスは、ARIMA モデルに対する Box-Jenkins アプローチをシミュレートします。 解釈可能性: モデルには、一般型と解釈可能型の 2 つのバリエーションがあります。一般的なバリエーションでは、ネットワークは各ブロックの完全に接続されたレイヤーの最終的な重みを任意に学習します。解釈可能なバリアントでは、各ブロックの最後のレイヤーが削除されます。次に、バックキャストと予測のブランチに、トレンド (単調関数) と季節性 (周期的循環関数) をモデル化する特定のマトリックスを掛け合わせます。 注: オリジナルの N-BEATS 実装は、単変量時系列に対してのみ機能します。 ディープARディープラーニングと自己回帰特性を組み合わせた新しい時系列モデル。図 2 は DeepAR の最上位アーキテクチャを示しています。 このモデルの主な利点は次のとおりです。 DeepAR は複数の時系列で非常にうまく機能します。わずかに異なる分布を持つ複数の時系列を使用してグローバル モデルが構築されます。多くの現実のシナリオにも適用できます。たとえば、電力会社は、消費パターンが異なる(つまり、分布が異なる)顧客ごとに電力予測サービスを開始したいとします。 DeepAR では、履歴データに加えて、既知の将来の時系列 (自己回帰モデルの機能) や追加の静的プロパティも使用できます。前述の電力需要予測シナリオでは、追加の時間変数として月(1〜12 の値を持つ整数)を使用できます。各顧客が電力消費を測定するセンサーに関連付けられていると仮定すると、追加の静的変数は、sensor_id や customer_id のようなものになります。 MLP や RNN などのニューラル ネットワーク アーキテクチャを時系列予測に使用することに慣れている場合、重要な前処理手順は、正規化または標準化手法を使用して時系列をスケーリングすることです。 DeepAR では、基礎となるモデルが各時系列 i の自己回帰入力 z を係数 v_i (時系列の平均値) でスケーリングするため、これを手動で行う必要はありません。具体的には、論文のベンチマークで使用されているスケーリング係数の式は次のとおりです。 ただし、実際には、ターゲット時系列のサイズが大きく異なる場合は、前処理中に独自のスケーリングを適用する必要がある場合があります。たとえば、エネルギー需要予測のシナリオでは、データセットには中電圧電力顧客 (メガワット単位で電力を消費する小規模工場など) と低電圧顧客 (キロワット単位で電力を消費する家庭など) が含まれる場合があります。 DeepAR は将来の値を直接出力するのではなく、確率的な予測を行います。これはモンテカルロサンプリングの形式で行われます。これらの予測は、分位損失関数を使用して分位予測を計算するために使用されます。このタイプの損失に詳しくない人のために説明すると、分位点損失は推定値を計算するだけでなく、その値の周りの予測区間を計算するためにも使用されます。 スペースタイムフォーマー単変量時系列では時間依存性が最も重要です。しかし、複数の時系列シナリオでは、物事はそれほど単純ではありません。たとえば、天気予報のタスクがあり、5 つの都市の気温を予測するとします。これらの都市が 1 つの国に属していると仮定しましょう。これまで見てきたことを踏まえると、DeepAR を使用して各都市を外部の静的共変量としてモデル化することができます。 言い換えれば、モデルは時間的関係と空間的関係の両方を考慮に入れます。これが、Spacetimeformer の中心的なアイデアです。モデルを使用してこれらの都市/場所間の空間関係を活用し、モデルが時間的関係と空間的関係の両方を同時に考慮するため、追加の有用な依存関係を学習します。 時空シーケンスの詳細な研究名前が示すように、このモデルは内部的にトランスフォーマーベースの構造を使用します。時系列予測にトランスフォーマーベースのモデルを使用する場合、時間を考慮した埋め込みを生成するための一般的な手法は、入力をTime2Vec[6]埋め込み層に渡すことです(NLPタスクではTime2Vecの代わりに位置エンコーディングベクトルを使用します)。この手法は単変量時系列には非常に有効ですが、多変量時間入力には意味がありません。言語モデリングでは、文中の各単語は埋め込みによって表され、単語は本質的に語彙の一部であるのに対し、時系列はそれほど単純ではないのかもしれません。 多変量時系列では、特定の時間ステップ t での入力は x_1,t、x2,t、x_m,t の形式になります。ここで、x_i,t は特徴 i の値であり、m は特徴/シーケンスの合計数です。入力を Time2Vec レイヤーに渡すと、時間埋め込みベクトルが生成されます。この埋め込みは実際には何を表しているのでしょうか? 答えは、入力セット全体を単一のエンティティ (トークン) として表すということです。したがって、モデルは時間ステップ間の時間的ダイナミクスのみを学習しますが、特徴/変数間の空間関係は学習しません。 Spacetimeformer は、入力を時空シーケンスと呼ばれる大きなベクトルに平坦化することでこの問題を解決します。入力に N 個の変数が含まれ、T 個の時間ステップに編成されている場合、結果の時空間シーケンスには (NxT) のラベルが付きます。下の図 3 はこれをよりよく示しています。 論文には次のように書かれています。「(1) 時間情報を含む多変量入力形式。デコーダー入力の欠損値(“?”)は、予測を行う際にゼロに設定されます。(2) 時系列は Time2Vec レイヤーを通過し、周期的な入力パターンを表す周波数埋め込みを生成します。(3) バイナリ埋め込みは、値がコンテキストとして与えられているか、予測する必要があるかを示します。(4) 各時系列の整数インデックスは、ルックアップテーブル埋め込みを使用して「空間」表現にマッピングされます。(5) フィードフォワードレイヤーを使用して、各時系列の Time2Vec 埋め込みと変数値を投影します。(6) 時間、変数、および指定された埋め込みにわたる値を合計すると、入力として時間と変数空間の間のより長いシーケンスにまたがることができる MSA が生成されます。」 言い換えれば、最終的なシーケンスは、時間、空間、コンテキスト情報を統一的に組み合わせた埋め込みをエンコードします。しかし、このアプローチの欠点は、シーケンスが非常に長くなり、リソースが二次関数的に増加する可能性があることです。これは、各トークンがアテンション メカニズムに従って他のトークンに対してチェックされるためです。著者らは、より大きなシーケンスに適した Performer attention メカニズムと呼ばれる、より効率的なアーキテクチャを使用しました。 時間融合トランスフォーマーTemporal Fusion Transformer (TFT) は、Google がリリースした Transformer ベースの時系列予測モデルです。 TFTは以前のモデルよりも多用途です。 TFT の最上位アーキテクチャを図 4 に示します。このモデルの主な利点は次のとおりです。 前述のモデルと同様に、TFT は複数の異種時系列でのモデルの構築をサポートしています。 TFT は、次の 3 種類の機能をサポートしています: i) 将来の入力が既知の時間変動データ、ii) これまでのところのみわかっている時間変動データ、iii) カテゴリ/静的変数 (時間不変機能とも呼ばれます)。したがって、TFT は以前のモデルよりも汎用性が高くなっています。前述の電力需要予測シナリオでは、これまで知られていない時間変動特性として湿度レベルを使用したいと考えています。これは TFT では可能ですが、DeepAR では不可能です。 図 5 は、これらすべての機能の使用方法の例を示しています。 TFT は解釈可能性を非常に重視しています。具体的には、変数選択コンポーネント (上の図 4 を参照) を活用することで、モデルは各機能の影響を正常に測定できます。したがって、モデルは特徴の重要性を学習していると言えます。 一方、TFT は新しい解釈可能なマルチヘッド アテンション メカニズムを提案します。このレイヤーのアテンション ウェイトにより、レビュー期間中にどのタイム ステップが最も重要であるかが明らかになります。これらの重みを視覚化すると、データセット全体にわたって最も重要な季節パターンが明らかになります。 予測区間: DeepAR と同様に、TFT は分位回帰を使用して予測区間と予測値を出力します。 要約すると、ディープラーニングは間違いなく時系列予測の分野に革命をもたらしました。比類のないパフォーマンスに加えて、上記のすべてのモデルには共通点が 1 つあります。それは、複数の多変量時間データを最大限に活用し、外部情報を使用して予測パフォーマンスを前例のないレベルまで向上させることです。ただし、ほとんどの自然言語処理 (NLP) タスクでは、事前トレーニング済みのモデルが使用されます。 NLP タスクのフィードは、ほとんどが人間が生成したデータであり、豊富で優れた情報で満たされており、ほぼデータ ユニットと見なすことができます。時系列予測では、このような事前トレーニング済みモデルが不足していることが感じられます。なぜ、NLP の場合と同じように、時系列でもこれを活用できないのでしょうか? 最後に紹介するモデルは TSFormer です。このモデルは 2 つの観点を考慮しています。入力から出力まで 4 つの部分に分割し、Python 実装コード (公式からも提供されています) を提供します。このモデルはつい最近リリースされたばかりなので、ここでは重点的に紹介します。 TS元これは、MAE のトレーニング戦略を使用し、データ内の非常に長い依存関係をキャプチャできる Transformer (TSFormer) に基づく教師なし時系列事前トレーニング モデルです。 NLP と時系列:ある意味では、NLP 情報と時系列データは同じです。これらは、連続したデータであり、局所性に敏感であり、次の/前のデータ ポイントに関連しています。ただし、いくつかの違いがあり、NLP タスクの場合と同様に、事前トレーニング済みモデルを作成するときに、次の 2 つの違いを考慮する必要があります。
TSFormer の紹介TSFormer は MAE のメイン アーキテクチャに似ています。データはエンコーダーを通過し、次にデコーダーを通過します。最終的な目標は、欠落した (人工的にマスクされた) データを再構築することです。 それを次の4つのポイントにまとめます。 1. マスキングデータがエンコーダーに入る前のステップとして。 入力シーケンス (Sᶦ) は長さが L の P 個のスライスに分散されています。したがって、次のタイムステップを予測するために使用されるスライディングウィンドウの長さは P XL です。 マスキング率は 75% です (MAE と同じパラメータを使用しているため、非常に高いように見えます)。自己教師ありタスクを完了しているため、データが少ないほどエンコーダーの計算が速くなります。 これを実行する主な理由(入力シーケンスのセグメントをマスクする)は次のとおりです。
クラス Patch(nn.Module): マスクを生成する関数は次のとおりです。 クラスMaskGenerator(nn.Module): 2. コーディングこれには、入力埋め込み、位置エンコーディング、および Transformer ブロックが含まれます。 エンコーダーはマスクされていないパッチに対してのみ実行できます (これは MAE のアプローチでもあります)。 入力埋め込み線形投影は、入力の埋め込みを取得するために使用され、マスクされていない空間を潜在空間に変換します。 その式は以下のとおりです。 W と B は学習可能なパラメータであり、U は次元のモデル入力ベクトルです。 位置エンコーディング新しい連続情報を追加するには、単純な位置エンコーディング レイヤーを使用します。 「学習可能」という単語が追加され、sine よりも優れたパフォーマンスを示すのに役立ちます。 したがって、学習可能な位置埋め込みは時系列に対して良好な結果を示します。 クラス LearnableTemporalPositionalEncoding(nn.Module): トランスブロックこの論文では 4 層のトランスフォーマーを使用していますが、これはコンピューター ビジョンや自然言語処理のタスクで一般的に使用される層数よりも少ない数です。ここで使用されるトランスフォーマーは、以下の図 4 に示すように、元の論文で言及されている最も基本的な構造です。 クラス TransformerLayers(nn.Module): 3. デコードデコーダーは一連の Transformer ブロックで構成されています。これはすべてのパッチに適用可能であり (対照的に、MAE ではパッチにすでに位置情報があるため位置埋め込みはありません)、レイヤーは 1 つだけであり、出力の長さが各パッチの長さに等しくなる単純な MLP を使用します。 4. 復興目標各データポイント(i)に対してマスクされたパッチが計算され、メインシーケンスと再構築されたシーケンスの損失関数としてmae(平均絶対誤差)が選択されます。 これが全体的なアーキテクチャです。 コードの実装は次のとおりです。 定義trunc_normal_(テンソル、平均=0.、標準偏差=1.): この論文を読んでみて、基本的にはMAEのコピー、つまり時系列用のMAEと言えることがわかりました。予測段階もMAEに似ており、エンコーダの出力を特徴として使用して、下流のタスクの入力として特徴データを提供します。興味があれば、元の論文を読んで、論文に記載されているコードを見てください。 |
>>: シリコンチップ上に15万量子ビット:単一スピンの初の光学検出がNature誌に掲載
顔認識、音声認識、自動運転などが注目されるようになり、人工知能(AI)と社会や人間の生活の融合が急速...
[[441550]] Connect 2021カンファレンスで、ザッカーバーグ氏はFacebook...
[[349442]]人工知能に関する議論は現在、自動運転車、チャットボット、デジタルツイン、ロボット...
2021年スタンフォードAIインデックスレポートが正式にリリースされ、過去1年間のAIの全体的な発...
[[353273]]なぜ私たちはモデルをほとんど作らないのでしょうか?アルゴリズムエンジニアの仕事...
Informa傘下の世界的に有名な市場調査会社Tractica/Ovumは、30の分野で約300件の...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
VentureBeat によると、人工知能 (AI) が革命的なメリットをもたらしたという点について...