序文
Takensの埋め込み定理からKoopman作用素、RNN、Transformer、Neural ODE、そしてTimeGPTへと至る時系列予測の発展史は、その本質において「機械学習の記憶」の進化史に他なりません。この度、集智学園の張江氏は動力学学習の発展の道筋を体系的に整理し、半世紀にわたる中核的な問いを明らかにしました。すなわち、未来を予測するために、機械は過去をどのように表象すべきなのか、という問いです。本稿は「記憶」を主軸に据え、力学系理論、深層学習、基盤モデルの発展過程を結びつけ、人工知能がデータから複雑系の進化法則を自動的に発見し、さらには分野やシステムを超えた汎用的な予測能力へと段階的に歩みを進めている様相を描き出します。
キーワード:動力学学習、時系列予測、RNN、Transformer、拡散モデル、複雑系
付雯欣丨著者
はじめに:「頭でモデルを作る」から「データ駆動で発見する」へ、私たちは記憶を使って機械に複雑な世界の予測を学ばせる
予測は、人類にとって最も古く、かつ最も先端的な知的活動です。古代の人々は星を観察して四季を予測し、ニュートンは万有引力の法則で惑星の軌道を予測し、現代の科学者はスーパーコンピュータで気候変動を予測します。これらの予測の本質は同じです。すなわち、推論された既知のモデルから未知の未来を導き出すということです。
しかし、衛星リモートセンシング、脳波記録、IoTセンサーといった観測手段の爆発的な発展により、私たちは多くの場合、膨大な時系列データを手にしている一方で、その背後にある動力学的なメカニズムについてはほとんど理解していません。そこで問題は逆転します。与えられた観測データから、システムの進化ルールを自動的に推論できるのか?
これこそが動力学学習です。機械に、観測データからシステム進化のルールを自動的に発見させることです。
2025年、この分野は二つの象徴的な瞬間を迎えました。マイクロソフトのAuroraモデルは、台風の軌跡、大気汚染、波の高さを統一フレームワークで同時に予測し、その論文は《Nature》に掲載されました。時を同じくして、TimeGPTは千変万化する時系列予測タスクを一つの事前学習モデルに詰め込み、ゼロショット予測を実現しました。
これらの驚くべきモデルは、半世紀にわたり世代を超えた研究者たちが同じ問いを繰り返し探求してきた成果です。
「今」はいったいどのように記憶されるべきなのか、そうすれば「未来」がそこから自然に生まれ出るのか。
この問いは抽象的ですが、進化の道筋全体を貫く隠れた基調です。本稿ではこれを「記憶への問い」と呼びます。すなわち、モデル(あるいは数学的フレームワーク)が過去と現在の状態を「何を用いて」表現し(記憶の処理)、未来を「何で」予測するのか(記憶の活用)ということであり、そのプロセスを以下の五つの段階にまとめ、本稿の五つの章に対応させます。
一、記憶は役に立つのか?——Takensの定理:過去の観測の中に完全な世界が隠されている
1.1 順問題と逆問題
動力学学習が何をしているかを理解するには、まず方向が逆の二つの問題を区別する必要があります。
順問題は伝統的な考え方です。システムの進化方程式が既知であり、初期状態が与えられ、未来の軌道を求めるというものです。例えば、天体物理学では惑星の運行法則が既知であり、今日の位置と速度が与えられれば、明日の位置を計算できます。数学的には次のように書けます。
ここで s_t は時刻 t におけるシステムの状態ベクトル(n 個のノードや変数の値を含む可能性がある)であり、F は既知の進化ルールです。s_0 を F に代入して s_1 を得て、さらに代入して s_2 を得る、という具合に、この漸化式によって全軌道が描き出されます。
逆問題は、現実世界でより一般的な状況です。F は未知です。私たちはシステムが稼働して生成されたデータを観測できるだけで、そのデータから隠された F を学習しなければなりません。
学習された f_θ は、元のシステムの代理モデル(surrogate model)です。これがあれば、予測(過去の履歴から未来を推論する)、シミュレーション(異なる初期条件下でシステムがどう進化するかを見る)、さらには最適化と制御(最適な介入戦略を見つける)を行うことができます。
ここで重要な思考の転換があります。私たちの最終目標は F を学ぶことですが、実現手段は教師あり学習問題を構築すること、つまり次の時間ステップを予測することです。
パラメータ θ を持つモデル f_θ を訓練し、前の時刻の状態から次の時刻の状態を予測させます。もし予測が十分に正確なら、その f_θ は真の動力学 F に対する良い近似となります。
図1:順問題(右から左)はモデルからデータを導き、逆問題(左から右)はデータからモデルを導く
図1は順問題と逆問題の図解です。表面的には予測をしているように見えますが、実際に行っているのはモデリングであり、動力学法則の獲得こそが目的です。
1.2 1ステップから複数ステップへ:潜在変数と長期記憶
前の例で行ったのは実質的に1ステップ予測であり、1ステップ予測の仮定はマルコフ性、つまり次の時刻は現在の時刻だけに依存する、というものです。しかし、現実のシステムはこの仮定を満たさないことがよくあります。原因は潜在変数(latent variables)にあります。観測される変数はシステム状態の一部に過ぎず、見えない次元が存在します。これらは真の原因か、より影響力の強い変数である可能性が高く、他人の外面的な行動は簡単に観察できても、頭の中で何を考えているのか、それがどう進化するのかはわからない、という状況に似ています。
これらの見えない次元はシステムの進化に暗中で影響を及ぼし、観測可能なデータ上では長期的記憶性として現れます。今日の状態は昨日だけでなく、1週間前や1ヶ月前にも依存しているかもしれません。この場合、1ステップ予測では不十分で、複数ステップ予測問題を構成する必要があります。
入力は過去 T ステップの履歴、出力は未来 τ ステップの予測となります。このフレームワークはより現実的なシナリオに近く、後述のTransformerなどのアーキテクチャがその威力を発揮する舞台でもあります。
1.3 Takensの定理:履歴で相空間を再構築する
潜在変数の存在は、一見問題を解けないものにします。完全な状態が観測できないのに、どうやって真の動力学を学べるでしょうか? Takensの定理[1](埋め込み定理)は驚くべき理論を与えます。それは、一つの変数の履歴には他の潜在変数の情報が含まれている、というものです。
例えば、今日の気温、昨日の気温、一昨日の気温、これらの遅延値には、気圧や湿度など、直接測定されていない変数の情報が暗黙的に含まれています。Takensの定理は、この情報の十分性を保証します。図2に示すように、Takensの定理は、システムのスカラー出力 x(t) しか観測できなくても、その遅延埋め込み(delay embedding)をベクトルとして並べれば、と述べています。
観測関数が十分に「汎用的」であれば、すなわち埋め込み次元 d が十分に大きければ(具体的には、d > 2n、ここで n はシステムの真の次元)、この再構築された相空間は元の相空間と位相共役になります。平たく言えば、一つの変数だけを見ていても、十分に長く見続ければ、その変数が留める記憶はシステム全体の動力学的構造を再構築するのに十分だ、ということです。
図2:Takensの定理の核心的アイデア:ローレンツ系の一つの次元(例えば x(t))の時系列のみを用いて、時間遅延埋め込みを行うことで、完全な三次元系(x(t), y(t), z(t))のアトラクタと微分同相写像の関係を構築できる。
※注:微分同相写像とは、二つの滑らかな多様体間に双射写像が存在し、その写像とその逆写像がともに滑らか(無限回微分可能)であることを指し、これにより二つの多様体が同じ滑らかな構造を持つことが示されます。二つの形状が粘土のように変形させてお互いにできる(位相同型)だけでなく、変形のプロセス全体が滑らかで、角やしわ、破れがないことを意味します。まるでドーナツをコーヒーカップに、角を無理に折らずに滑らかに変形させるようなものです。
これが意味するのは、動力学的情報は神秘的なものではなく、時系列の時間的な関連性の中に潜んでいる、ということです。 この考えは、その後のあらゆる時系列予測手法に哲学的基礎を築きました。すなわち、過去は未来の種子を含んでいる、ということです。
1.4 本節のまとめ
この節で最も基本的な問いに答えました。観測データだけから、動力学の法則を学習することは、理論的に可能なのか?
答えは「イエス」です。しかし記憶の存在が事を厄介にします。私たちが観測するのは氷山の一角に過ぎず、システムを駆動する真の変数は水面下に隠れています。今日の天気は昨日だけでなく、もしかすると一週間前の大洋上の気圧分布にも依存しているかもしれません。
Takensの定理は、この一見絶望的な地点に希望を与えました。すべての変数を見る必要はなく、ただ一つの変数を十分に長く見ればいいのです。 時間遅延そのものが、隠れた次元をマッピングする鏡であり、過去の記憶は完全な世界を再構築するための原材料なのです。
しかし、Takensの定理は記憶が有用だと保証するだけで、有用から利用可能に至るまでには、一連の方法論が必要です。これは「この山には金鉱がある」と言われても、地図やスコップを渡されなかったようなものです。
次の節では、記憶を抽出するための最初のスコップを探します。Koopman作用素は、特殊な「メガネ」をかければ、非線形システム全体が線形に見え、線形システムの予測は単なる行列の掛け算に過ぎないことを教えてくれます。
二、どのように記憶を抽出するか?——Koopman作用素:メガネを変えて、曲がった道をまっすぐにする
2.1 Koopman作用素:非線形を線形に変える
Takensは相空間を再構築できると教えてくれましたが、再構築した後も問題は依然として厄介です。現実のシステムはほとんどが非線形であり、これは線形手法が直接使えないことを意味します。
しかし、Koopman作用素理論(1931年に提唱され、近年再発見された[2])は、迂回路を提供します。それは、関数空間では、非線形動力学を線形作用素で記述できる、というものです。 蘭岳恒先生が集智学園でKoopman作用素についてより深く紹介していますので、ご興味のある方はさらに学んでいただけます:https://pattern.swarma.org/study_group_issue/747。
Koopman作用素は天才的な迂回戦略を提供します。それは、非線形系が有限次元空間で扱いにくいなら、それを無限次元の関数空間に持ち上げれば、その進化を線形化できるかもしれない、というものです。具体的には、Koopman作用素はシステムの観測関数上で定義されます。システム状態 x が非線形な規則 x_{t+1} = F(x_t) に従って進化するとします。任意の観測関数 g(例えば「温度値を二乗する」)に対して、Koopman作用素 K は次のように定義されます。
これは、関数 g の現在の状態における値を、g の次の時刻の状態における値にマッピングするものです。たとえ有限次元空間で F が非線形であっても、K は関数空間上の作用素としては線形です。 線形問題とは本質的に行列問題であり、成熟した数学的道具(固有値分解、スペクトル解析)が使える、そこにこの理論の価値があります。
しかし、この方法の代償は関数空間が無限次元になることです。実際の計算では、Koopman作用素を近似するために有限個の基底関数を選ばなければなりません。これこそがDMDとその変種の行っていることです。
2.2 DMDとeDMD:データからKoopmanを近似する
理論上、Koopman作用素は無限次元ですから、実際の計算では有限次元近似が必要です。動的モード分解(Dynamic Mode Decomposition, DMD)は、まさにこれを行う数値手法です。図3に示すように、そのアイデアは極めてシンプルです。時系列データ行列 X と X'(これは X を時間方向に1ステップシフトしたもの)が与えられたとき、線形作用素 A を求め、Y ≈ AX が成り立つようにします。最小二乗解 A = X'X†(†は擬似逆行列)が、Koopman作用素の有限次元近似となります[3]。
A の固有値と固有ベクトルを数値的に解くことで、システムの支配的な動的モード、すなわちどのモードが成長し、どのモードが減衰し、振動周波数はどれくらいか、が明らかになります。例えば、流体力学ではDMDのモードは流れ場の渦放出周波数に正確に対応し、脳波信号解析ではDMDモードは異なる脳領域の律動的活動に対応します。
図3:DMDは時系列データから行列 X と X' を構築し、A = X' X† を計算することで線形動力学作用素を学習し、その後 x_{k+1} = A x_k を用いて将来の状態を予測する。
後に登場した拡張DMD(eDMD、Extended DMD)は、非線形基底関数 ψ(s) を導入します。元の状態に直接DMDを適用するのではなく、まず状態を非線形な基底関数(多項式、動径基底関数、ニューラルネットワークなど)を通じて高次元特徴空間に持ち上げます。これは本質的に「カーネルトリック」のアイデアでKoopman作用素を近似しようというものです[4]。
2.3 リザーバーコンピューティング:固定ランダムネットワークの奇跡
Koopman手法が「次元上昇による線形化」という数学的経路から動力学に迫るのに対し、リザーバーコンピューティング(Reservoir Computing)は、「高次元ランダム表現」という工学的経路から答えを出します。図4に示すように、その核心的アイデアもシンプルです。固定された、ランダム初期化された再帰ニューラルネットワークを「リザーバー」として使用し、最後の出力層だけを訓練します[5-7]。
Koopman作用素理論が実際には一種の高次元ランダム投影であることから、直感的には、十分に大きく適切な散逸性を持つランダム再帰ネットワークは、自然に「ランダム特徴ライブラリ」を形成します。入力信号は高次元空間で多様な過渡的応答パターンに展開され、それらの線形結合によって任意の非線形関数を近似できます[8]。
図4:リザーバーコンピューティングの基本アーキテクチャ:入力信号 x_{in} が高次元でランダムに接続され固定された循環リザーバー(Reservoir)に入り、その内部状態 x_1, x_2, ..., x_N が線形加重和によって出力 ŷ を得る。出力層の重み w_i のみが訓練を必要とする。
リザーバーのランダムな再帰接続は、入力信号に豊富な非線形変換と記憶能力を提供します。リザーバーが十分に大きく、接続が十分に豊かであれば、入力信号を高次元空間に「展開」し、単純な線形出力層で複雑な予測タスクを完了させることができます。同時に、リザーバー手法はその訓練の速さ(出力層のみ最適化する)、カオス系への適合性(ランダムな性質そのものがカオス系のいくつかの特性を備えている)により、根強い人気があります。ローレンツ系、倉持-シヴァシンスキー方程式などの古典的なカオス系において、リザーバーは非常に低い計算コストで多くの深層モデルを凌駕する長期予測能力を達成できます[9-10]。
2.4 本節のまとめ
Takensの定理によって、有用な記憶情報が過去の観測に隠されていることは保証されたとして、ではそれをどのように抽出するのか? その答えは、エレガントな迂回戦略です。非線形に正面から立ち向かうのではなく、メガネを変えて、曲がった道をまっすぐにするのです。
Koopman作用素の核心的洞察はまさにこれです。有限次元空間でねじれ反転する非線形システムも、より高次元の(あるいは無限次元の)関数空間に飛び込んでそれを観察すれば、その進化は線形になるのです。
DMDとeDMDはこの理論の数値的実装であり、有限次元基底関数で無限次元のKoopman作用素を近似します。リザーバーコンピューティングは、全く異なる方向から同じ目的地に到達しました。それは、入念に基底関数を設計する代わりに、ランダム初期化された大規模な再帰ネットワークを使用して、十分に豊かな高次元展開空間を提供する、というものです。
しかし、この道には天井があります。基底関数は人間が選択する必要がある、ということです。 システムが十分に複雑である場合(数百の変数、高度に非線形な結合、マルチスケールな時間構造)、どの基底関数の組が正しいかを誰も保証できません。
次の節では、モデルがどのように記憶するかを自律的に学べるようにする方法を紹介します。
三、モデル自身に記憶を学ばせる:RNN、CNNとTransformer
観測手段の爆発的な発展に伴い、私たちが手にできるデータはますます増えています。衛星画像、脳波信号、センサー測定値など、最先端の科学者でさえ、新しいシステムごとに観測関数を再設計する時間は全くありません。これが大胆な問いを引き出します。モデル自身に記憶の仕方を学ばせられないだろうか?
これこそが誤差逆伝播法のやっていることです。勾配降下法は、情報をどのように圧縮し、ノイズをどのように忘却し、規則をどのように抽出するかを、モデルが「自律的」に学ぶことを可能にします。最も素朴な方法は、フィードフォワードニューラルネットワークを使って直接写像 f_θ(s_{t-1}, s_{t-2}, ..., s_{t-w}) をフィッティングし、過去の値を入力として、次の時刻を直接回帰するものです。十分なニューロンがあれば、任意の関数を近似できます。しかし問題は、この方法には時系列構造に関する事前知識がなく、t-1 と t-10 の入力を平等に扱うため、履歴ウィンドウの長さに伴ってパラメータ数が爆発的に増加することです。
3.1 RNN:暗黙の記憶から学ぶ
回帰型ニューラルネットワーク(RNN)の登場により、動力学学習は初めて「記憶」を持ちました。図5に示すように、フィードフォワードネットワークと異なり、RNNの隠れ層ユニット間には再帰的な接続があり、ネットワークが履歴情報を保存することを可能にします。時系列予測において、RNNは微分方程式のように状態を再帰的に更新できます[11]。
図5:RNN構造(例):エンコーディング部分の隠れ状態 h_0 から h_4 が時間ステップに沿って再帰的に伝達され、各時刻で入力 x_1 から x_4 を受け取り、共有パラメータによって系列情報の記憶と伝達を実現する。
隠れ状態は記憶ユニットのようなもので、理論上は過去のすべての時間ステップの情報を蓄積できます。しかし、RNNには根本的な構造的ボトルネックがあります。逐次計算であること、つまり、h_1 を計算してから h_2 を計算し、さらに h_3 を計算しなければならず、訓練を並列化できず、長い系列では効率が低下します[12]。
もう一つの問題は記憶の減衰です。初期のRNNは誤差逆伝播時に勾配が指数関数的に消失または爆発しました。1997年、HochreiterとSchmidhuberはLSTMを提案し、ゲート機構(入力ゲート、忘却ゲート、出力ゲート)を用いることで、いつ記憶し、いつ忘却するかをネットワーク自身に決定させました[13–14]。後にその簡略版であるGRU[15]も提案され、これらの変種によってRNNは数百ステップ前の依存関係を記憶できるようになりました。
RNNファミリーの最新メンバーであるRWKVやMambaは、Transformerの支配的地位に挑戦しています。RWKVは注意機構の形式とRNNの構造を組み合わせ、RNNのように再帰推論が可能(線形複雑度)でありながら、Transformerのように並列訓練も可能(時間次元でのプレフィックス和計算を通じて)なモデルを設計しました。これは「記憶」の再定義の一つです[16-19]。
3.2 CNN:時間を空間として扱う
畳み込みニューラルネットワーク(CNN)の記憶に対する理解は、局所的な情報がその局所パターンの判断により役立つ、というものです。一見すると、CNNは画像データ専用に見えます。
一次元畳み込みの操作は直感的です。長さ k の畳み込みカーネル w が時系列上をスライドし、各ステップで内積を計算します。
複数の畳み込み層を積み重ねることで、受容野は指数関数的に増大します。第 L 層の各ニューロンは、理論上 k^L 個の元の時間ステップを見ることができ、局所性を保ちつつ、長期依存関係をもカバーできます。
このトリックは周期性を持つデータに非常に適しており、周期の規則性を高次元で処理できます(図6参照)。例えば電力負荷データは通常24時間周期です。複数の周期を「上下に積み重ねて」一枚の二次元画像にします。横軸は時間(時間)、縦軸は周期(日数)です。そして直接二次元CNNで処理すれば、異なる周期内の同じ時間帯(例えば毎日夕方)のパターンを非常に直感的に処理できます。これは本質的に、時間の周期性を空間の周期性に変換したものです[21]。
図6:CNNによる時系列モデリングの二つの方法:左側は一次元CNNが元の系列を直接処理し、右側はReshapeによって一次元系列を二次元配列に変換し、二次元CNNで周期内パターンと周期間の依存関係の両方を同時に捕捉する。
CNNとRNNの選択は、本質的に並列性と記憶長のトレードオフです。 CNNは完全に並列訓練可能(各時間ステップの畳み込み計算は独立)ですが、受容野は層数によって制限されます。RNNは理論上無限に遠くまで記憶できますが、逐次計算が必要です。このトレードオフは、Transformerが登場するまで打破されませんでした。
3.3 Transformer:すべての位置が直接対話する
Transformerの自己注意機構は、系列モデリングの方法を根本から変えました。それは系列内の任意の二つの時間ステップ間に直接的なつながりを確立します[17]。
各時刻が他のすべての時刻を「見る」ことができ、長距離依存関係を中間状態を介して間接的に伝達する必要がなくなりました。
しかし、Transformerは時系列予測においていくつかの問題を抱えています。
第一の問題は複雑度です。 標準的な自己注意の計算量は系列長の二乗です。千ステップを入力すると、百万単位の注意スコアが必要になります。Informerの論文は、これらのスコアが「ロングテール分布」を示すことを発見しました。極少数の位置ペアが注意の大部分に貢献し、大多数はゼロに近く、計算リソースを浪費しているのです。
InformerはProbSparse自己注意を使って計算量を削減します[22]。サンプリング戦略によって最も重要な少数のキーと値のペアのみを保持し、複雑度を O(L^2) から O(L log L) に低減します。生成的なデコーダと組み合わせることで、一度に長い系列を出力し、Informerは長系列予測を可能にしました。
図7:Informerモデルにおける埋め込みと注意モジュール:入力系列は時間ステップ t および t + D_x で埋め込み(Embedding)と一次元畳み込みによって処理され、その後、マルチヘッド注意機構と複数の注意ブロック(Attention Block 2など)を通じて長系列中の依存関係を捕捉し、長時間系列の効率的な予測を実現する。
第二の問題はより隠微です。 標準的なTransformerが多変量時系列を処理する際のデフォルトの方法は、各時間ステップのすべての変数を一つのトークンにまとめることです。つまり、第t秒の「温度、湿度、風速」と第t+1秒の「温度、湿度、風速」が相互に注意を向けます。温度と湿度は毎秒同じベクトルに再パッケージ化され、モデルはどの次元が温度でどれが湿度かを知りません。変数間の因果関係(例えば、温度上昇が湿度低下を引き起こす)は、時間ステップ間の注意を通じて間接的に伝達されるしかありません。
iTransformerという手法は、一見「大逆転」とも思える改良を行いました。Transformerの従来の使い方を逆にしたのです[23]。図8に示すように、従来の方法が「各時間ステップの全変数」を一つのトークンとしていたのに対し、iTransformerは「各変数の全時系列」を一つのトークンとして扱うように変更しました。すると、注意は時間次元から変数次元へと移り、モデルは第3秒と第4秒の関係ではなく、温度系列と湿度系列の関係を直接学習するようになります。各変数の時系列パターンは埋め込み空間で完全に保持され、別のブランチ(フィードフォワードネットワーク)が処理します。この逆転によって、iTransformerは多変数時系列における変数間相関と変数内の時系列パターンをより適切にモデル化でき、複数の長系列予測ベンチマークで顕著な向上を達成しました。
図8:標準的なTransformerとiTransformerの多変量時系列処理における中核的なアーキテクチャの違い:従来のTransformerは時間ステップでTokenを分割するが、iTransformerは変数でTokenを分割し、注意を「時間依存」から「変数依存」へと転換する。
3.4 本節のまとめ
KoopmanからRNN、CNN、Transformerに至るまで、深層学習はついに記憶を数学的構成物から学習可能な対象へと変貌させました。勾配降下法はモデルに一つの能力を与えました。それは、試行錯誤を通じて、何を記憶し、何を忘却し、どのように組織化するかを自律的に学ぶ能力です。
限られた計算リソースで、どのようにして記憶に可能な限り遠い過去をカバーさせるかについて、これら三つの深層学習手法は異なるトレードオフの解決策を提供します。RNNは深さを選び(時間ステップが増えるほど、伝達は深くなる)、CNNは広さを選び(層が増えるほど、視野は広くなる)、Transformerは直接接続を選んだ(情報の減衰を少なくする代わりに計算量を犠牲にする)のです。
そしてInformerとiTransformerの登場は、Transformer内部でさえ、最適化がまだ終わっていないことを示しています。Informerは「注意の中にどれだけの無駄があるか」を問い、iTransformerは「注意はどの次元に適用されるべきか」を問いました。これらの問いの本質はやはり同じことです。すなわち、記憶をどのようにより効率的に、より正確にするか、ということです。
しかし、RNN、CNN、Transformerのいずれにも、二つの共通する暗黙の仮定があります。第一に、時間は離散的な格子である。第二に、同じ記憶はただ一つの確定した未来を指し示す。
次の節では、これら二つの仮定に同時に挑戦します。拡散モデルは予測を一点から確率の雲へと変え、Neural ODEは時間を離散から連続へと変えます。
四、記憶が現実に寄り添う:拡散モデルの不確実性とNeural ODEの連続性
4.1 拡散モデル:予測を確率分布に変える
決定論的予測は一点推定しか与えませんが、現実世界は不確実性に満ちています。気象台が明日の気温を予測するとき、私たちがスマホで見るのも単なる分布です。拡散モデル(Diffusion Models)は、確率生成のフレームワークを時系列予測に導入し、可能な軌跡の分布を出力します。
拡散モデル(Diffusion Model)は時系列のために生まれたわけではありませんが、条件付き生成タスクに本来的に適合します。例えば、古典的なDDPM(Denoising Diffusion Probabilistic Model、ノイズ除去拡散確率モデル)では、そのフォワードプロセスはデータに段階的にノイズを注入し、最終的に純粋なランダムノイズに変換します。一方、リバースプロセスは「ノイズ除去生成」プロセスであり、純粋なノイズから出発して、一段階ずつ元のデータを復元します。DDPMの訓練目標は、各ステップで追加されたノイズを予測することであり、それによりノイズからデータを生成するプロセスを復元します[24]。
例えばTimeGradは、DDPMと自己回帰時系列モデルを組み合わせ、各予測時間ステップにおいて、段階的なノイズ除去プロセスを通じて予測値の分布を生成し、予測の不確実性を定量化します。これは、リスク判断(金融、気象)にとって特に重要です[25]。
4.2 残差ネットワーク:フレーム数を増やす方法
Neural ODEに入る前に、まず残差ネットワークが行っていることを再解釈してみましょう。残差ネットワークはかつてブレークスルーとして、ニューラルネットワークの層数を大幅に増やしました。残差ネットワーク(ResNet)の各層が行っていることは次の通りです[26]。
ネットワークは次の層の表現をゼロから学習するのではなく、現在の層がどれだけ変化すべきか、すなわち「残差」 F(x_t) を学習し、それを現在の状態に加えます。この設計により、勾配は恒等写像のショートカット(identity shortcut)を通じて損失なく逆伝播でき、深層ネットワークの勾配消失問題を解決し、ネットワークを数百層の深さにすることが可能になりました。
ResNetの漸化式を次のように書き直してみます。
左辺は変化量、右辺は現在の状態に関する関数であり、この式は微分方程式に非常に似ていることがわかります。
実際、数学的には、連続微分方程式 dh/dt = f(h(t)) のオイラー離散化はまさに次のようになります。
これは、ResNetが本質的に、ある連続力学系のオイラー離散化であることを意味します。 層の数 t は時間に、f は速度場に、h_t は時刻 t のシステム状態に対応します。この観点からすれば、今日よく知られる深層ネットワークは、決して単に抽象レベルを積み重ねているだけではなく、連続時間の進化プロセスをシミュレートしているのです。
ここから自然と疑問が湧きます。もしResNetが離散化された微分方程式なら、なぜ直接連続方程式を解かないのか?
4.3 Neural ODE:「層」を「時間」に変える
2018年、陳天琦(Tian Qi Chen)らは《Neural Ordinary Differential Equations》、すなわち有名なNeural ODE(ニューラル常微分方程式)手法を発表しました[27]。これは瞬く間に多くの引用を獲得し、今日に至るまで数学と深層学習の融合において最もエレガントな業績の一つです。図9に示すように、その核心的アイデアは極めてシンプルです。離散的な層をやめ、隠れ状態をニューラルネットワークでパラメータ化された微分方程式に従って直接連続的に進化させるのです。
ここで f_θ はニューラルネットワークであり、パラメータ θ は時間 t に依存しません。つまり、各時刻でパラメータが共有されます。初期状態 h(0)(すなわちネットワークの入力)が与えられると、この微分方程式を解くことで任意の時刻の状態が得られます。ネットワークの出力は h(T) であり、ここで T は選択された終了時間です。この積分プロセスは、任意の数値ODEソルバー(オイラー法、ルンゲ=クッタ法など)を用いて計算できます。
これは、離散的な層を連続的な積分に変えただけの操作に見えますが、ResNetが抱えていた三つの問題を一挙に解決しました。
第一に、無限深度、有限パラメータ。 f_θ のパラメータ θ がすべての層(時刻)間で共有されるため、パラメータ数は深度とともに増加せず、定数とみなせます。時間区間 [0, T] を任意に細かく分割すれば、任意の多層を持つのと同じことになり、しかも記憶容量のオーバーヘッドは増えません。
第二に、適応的な深度。 ODEソルバー(例えば適応刻み幅のDormand-Prince法)は、運動の激しさに応じて自動的に刻み幅を調整します。変化が穏やかな時は大きな刻みでスキップし(層数が少ない)、変化が激しい時は小さな刻みで詳細に積分します(層数が多い)。ネットワークの有効深度は、事前に指定するハイパーパラメータから、データ駆動型へと変わります。
第三に、連続時間モデリング。 「層」という離散的な概念が消え、連続的な時間 t に取って代わられます。このモデリング手法により、任意の時刻でシステム状態をクエリできます。整数の時間点だけでなく、t = 1.2345 のような中間時刻も含めてです。
図9:残差ネットワークとODEネットワークの核心的な違い:左側の残差ネットワークは有限の離散的な層を通じて状態を段階的にマッピングし、層数 n は有限、入力は z_0(または x_0)、出力は y、順伝播は一連の離散的な活性化値を生成し、損失は L(y)、逆伝播によって各層パラメータ W_i を調整する。右側の ODE ネットワークは連続ベクトル場 dz/dt = f(z, θ) を定義し、状態が時間とともに連続的に進化し、理論上は無限層に対応、入力は初期条件 z=z_0、出力は時刻 T の解 z(T)、順伝播は連続軌道 z(t) を生成し、損失は L(z(T))、随伴方程式(Adjoint equation)によってパラメータ θ を調整し、層ごとの逆伝播ではない。
4.4 随伴法:微分方程式で逆伝播を代替する
従来の深層ネットワークの誤差逆伝播は、すべての中間層の活性化値を保存する必要がありました。ネットワークが深くなるほど、メモリ消費は大きくなります。1000層のResNetなら、1000層分の中間結果を保存しなければなりません。Neural ODEは層の数を無限に拡張しますが、メモリも無限に必要になるのでしょうか?
随伴感度法(Adjoint Sensitivity Method)がこの問題を解決しました。これは順伝播の中間状態を保存せず、「随伴方程式」と呼ばれる別のODEを解くだけで、勾配を逆算します[28]。
具体的には、随伴状態(adjoint state)を次のように定義します。
すなわち、損失関数 L の、時刻 t の隠れ状態に対する勾配です。この a(t) が別の微分方程式を満たすことが証明できます。
訓練プロセスは以下のようになります。
順方向:ODEソルバーで h(0) から h(T) まで積分し、損失 L(z(T)) を計算する。
逆方向:終端条件 a(T) = -dL/dz(T) から出発し、逆方向に随伴方程式を(t = T から t = 0 まで)積分し、同時にパラメータ勾配 dL/dθ を累積する。
全プロセスで順伝播の中間状態を保存する必要がなく、メモリ消費は定数オーダーとなり、深度が増しても増加しません。
図10:随伴法の求解プロセス
これは実質的に、誤差逆伝播そのものが一つの動力学プロセスであることを示しています。 随伴変数 a(t) の逆方向の進化は、順方向の隠れ状態の進化と対をなす、結合した順方向-逆方向の微分方程式を形成します。訓練全体が「層」の概念から完全に脱却し、数学の方程式を解くことに変わります。
4.5 Neural ODEによる時系列予測
Neural ODEは本質的に時系列予測に適しています。なぜなら、時系列そのものが動力学システムが時間上に残した軌跡だからです。
本稿全体の中核的タスクに立ち返りましょう。観測系列 {s_0, s_1, …, s_n}、対応する時刻 {t_0, t_1, …, t_n}(不等間隔サンプリングでも可)が与えられ、システム進化を駆動する動力学を学習します。Neural ODEを用いてこれを行う手順は、極めて自然です。
方程式の構築:ds/dt = f_θ(s)
初期条件:s(t_0) = s_0(観測の初期状態)