松尾・岩澤研究室では,「知能を創る」というミッションのもと、世界モデルをはじめとした深層学習やそれを超える基礎技術の開発、ロボティクスや大規模言語モデル、アルゴリズムの社会実証といった幅広い研究領域で活動しています。
こうした活動を更に拡大するため、リサーチインターンシップを開催し、15名の方にご参加いただきました。
▼リサーチインターンシップ概要
https://weblab.t.u-tokyo.ac.jp/news/20240417/
▼インターンテーマ/メンターの紹介記事
https://weblab.t.u-tokyo.ac.jp/news/20240426/
本記事では、リサーチインターンに参加いただいたメンバーの体験記をご紹介します。
- 自己紹介/self-introduction
- 東京大学大学院情報理工学系研究科数理情報学専攻D3の清水元喜と申します。普段は「計算論的神経科学」という、脳の情報処理の背後にある学習原理を数理的に解明する分野の研究をしています。「学習」するエージェントとして脳が大きな神秘を隠していることは間違いないのですが、一方で近年の人工ニューラルネットワーク (ANN) の急速な発展は、脳は高度な知能に至る唯一の道ではないことを示しています。学習とは何か・何が望ましい目的関数なのか、といった原理的な部分において脳科学的な知見との融合を目指しつつ、実装レベルにおいては現代的な深層学習の技術を身に着けたいと考えていたところに偶然松尾研のリサーチインターンの募集を目にしました。その中でも、Predictive Coding Networks (PCNs) というモデルが予測符号化仮説や局所的学習といった神経科学的なテーマを起源としつつも現代的な機械学習の文脈でも注目を集めていると知り、ちょうど自分の興味にぴったりのテーマだと考えて応募させていただきました。
- 研究内容/About research
自己紹介でも触れた通り、本インターンでは、Predictive Coding Networks (PCNs) というモデルの学習ダイナミクスの解析や改良手法の提案に取り組みました。
「脳の基本原理は予測誤差(=外界からの実際の入力と、脳が行った予測の間の誤差)を最小化することである」という予測符号化 (predictive coding) 仮説は、神経科学・認知科学において古くから提唱されてきました [1, 2] 。大脳皮質における予測と誤差の符号化という観点を広めた初期の有名な研究として、[3] による階層的な視覚処理の計算モデルが挙げられます。上位層から下位層へトップダウンの予測信号が送られ、下位層から上位層にはボトムアップの予測誤差信号が返されるという知覚処理のプロセスは、その後の実験的知見でも裏付けられています。また、予測符号化仮説はFristonにより自由エネルギー原理という形に拡張され [2] 、脳や生物の活動を説明するより包括的な「大統一理論」となるのではないかと注目されています。
本インターンで扱ったPCNsは、こうした脳における階層的な予測符号化に着想を得て設計されました [4]。PCNsの各層は、2種類のノード(ニューロン)を持ちます。一つは各時刻における活動を表すノード $x_l$、もう一つは予測値を表すノード $h_l$ です。各時刻において、上位層 $l+1$ の活動 $x_{l+1}$ を元にその直下の層 $l$ における各ノードの予測値 $h_l = f(x_{l+1}; \theta_{l+1})$ が計算されます($\theta_{l+1}$は層間の結合重み、$f$は非線形関数)。この予測を元に、層 $l$ は活動 $x_l$ を正規分布$x_l ~ N(h_l, \Sigma )$ に従って生成します。活動と予測の間の予測誤差は $\varepsilon_l = x_l – h_l$であり、PCNsは予測誤差の二乗和によって定義されるエネルギー $F =\frac{1}{2} \sum _l | \varepsilon_l|^2 $ を最小化することを目標とします。
エネルギーの最小化は、推論 (inference) と 学習 (learning) の2つのステップを交互に反復することで行われます。まず推論ステップでは、ネットワークの重み(パラメータ)を固定した状態で、前述のエネルギー $F$ の活動 $x_l$ に関する勾配を計算します。通常、推論はノード$x_l$の値が収束するまで繰り返されます。言い換えれば、予測に沿うように各ノードが活動を修正するプロセスということです。推論が完了したら、学習に移行します。このステップでは逆に、各ノードの値を固定した状態でエネルギー$F$の重み(パラメータ)に関する勾配を計算します。推論とは逆に、学習ステップでは実際の活動に合致するように予測を修正することで予測誤差を小さくするということです。
従来の人工ニューラルネットワークおよびその学習手法である誤差逆伝播法 (backpropagation; BP) と比較したときに、PCNsは次のような特徴を持ちます [4]。
- 局所的な学習: 誤差逆伝播では、出力層で計算された勾配情報をネットワーク全体に逆伝播させて各重みを更新します。一方、PCNsでは、上述した勾配の計算式に示されている、各結合の学習に必要な情報(予測と誤差)が隣接する層間で完結しており、勾配をグローバルに伝播させる必要がありません。このためPCNsの学習則は生物学的妥当性を持ちます。さらに、局所情報に基づく更新は並列計算との相性が良く、大規模ネットワークでも十分な並列化資源があればBP以上の効率を発揮する可能性があります。
- 柔軟性: 上記の説明からわかる通り、PCNsは確率的潜在変数モデルのフレームワークで記述できます。このため、目的に応じて入出力ノードの固定の仕方を使い分けることで、一つのPCNが識別課題にも生成課題にも対応できるという柔軟性を持ちます。
- BPとの関係・差異: PCNsが機械学習の文脈で注目される契機となったのは、[5] が(適切な近似条件の元で)PCNsによるエネルギーの最小化がBPによる勾配降下と等価になることを示したことでした。この結果は様々なアーキテクチャや条件に拡張されてきましたが、BPと等価でない状況でPCNsの学習ダイナミクスがどのような特徴を持つか、PCNsが最も効率よく学習できるのはどのような状況か、といった点についてはまだ十分解明されていません。
本プロジェクトでは、PCNsの改良手法として近年提案されたiPC (incremental PC) [6]と呼ばれるアルゴリズムに特に注目しました。従来のアルゴリズムでは$x_l$が収束するまで推論ステップを反復してから学習ステップを(各データに対して)1回だけ行っていたのに対し、iPCでは推論ステップと学習ステップを1ステップずつ交互に行います。このように非常に単純な修正でありながら、特に小さな(層の浅い)モデルにおいてはBPや(通常の)PCよりも高い性能を発揮し、収束速度においてもPCを上回っていました。一方で、VGG5/VGG7といったより大きなモデルを用いた複雑なタスクにおいては性能が劣化することも報告されていました。
そこで、本プロジェクトではまずこのようなPCとiPCの挙動の違いを理解するために、PC / iPCの重みの更新に使われる勾配が正確な (BPによって計算される) 勾配とどのようにあるかを調べました。解析の結果、PCに比べiPCでは勾配の計算が不正確になる傾向があり、その傾向は深い(出力から遠い)層になるほど強まっていました。したがって、上述したiPCの長所・短所は
- iPCには重みの更新回数が多いというメリットと勾配の計算が不正確というデメリットがある
- 小さなモデルでは勾配の計算が容易なためメリットが上回る一方で、勾配計算が困難な大きなモデルではデメリットがメリットを打ち消してしまう
と統一的に理解することができました。
次に、iPCの改良手法として、推論と学習ステップの比をPCとiPCの中間程度に設定した手法を提案しました (miPC; modified iPC)。具体的には、iPCでは推論1回ごとに学習を1回行い、PCでは推論が完了してから学習に移行していたのに対して、miPCでは推論を何回か行ってから学習を行う、というサイクルを(各データに対して)反復させました。miPCにおいては、iPCよりも勾配の推定精度が向上することが確認できました。一方で、iPCの課題であった大規模モデルへのスケーラビリティの問題はmiPCにおいても困難なままであり、本プロジェクトの範囲では未解決の問題として残りました。
References:
[1] Clark A. Whatever next? Predictive brains, situated agents, and the future of cognitive science. Behav Brain Sci. 2013;36(3):181-204. doi:10.1017/S0140525X12000477
[2] Friston K, Kilner J, Harrison L. A free energy principle for the brain. J Physiol Paris. 2006;100(1-3):70-87. doi:10.1016/j.jphysparis.2006.10.001
[3] Rao RPN, Ballard DH. Predictive coding in the visual cortex: a functional interpretation of some extra-classical receptive-field effects. Nat Neurosci. 1999;2(1):79-87. doi:10.1038/4580
[4] Millidge B, Seth A, Buckley CL. Predictive Coding: a Theoretical and Experimental Review. Published online July 12, 2022. http://arxiv.org/abs/2107.12979
[5] Whittington JCR, Bogacz R. An Approximation of the Error Backpropagation Algorithm in a Predictive Coding Network with Local Hebbian Synaptic Plasticity. Neural Computation. 2017;29(5):1229-1262. doi:10.1162/NECO_a_00949
[6] Salvatori T, Song Y, Yordanov Y, et al. A Stable, Fast, and Fully Automatic Learning Algorithm for Predictive Coding Networks. Published online February 7, 2024. doi:10.48550/arXiv.2212.00720
- 最後に/Closing
- 松尾研といえば社会実装・スタートアップといった応用寄りのイメージを持っている方が多いと思います(僕もそうでした)が、実際には機械学習のあらゆる側面に関して取り組んでいる研究室なのだな、というのが印象に残りました。リサーチインターンのテーマを見ても分かりますが、これほど多様なトピックの研究が一箇所で行われている場所というのは少なくとも日本のアカデミアでは他に存在しないといってよいのではないでしょうか。リモート参加でしたので普段から松尾研の皆様と日常的に交流できなかったのは心残りですが、歓迎バーベキューや成果発表会といった場を通じて多くの知己を得られたことは今後の財産になったと思います。
メンターの鈴木さんには、本プロジェクトを通じて丁寧に指導していただき大変お世話になりました。現代的な深層学習のフレームワークを用いた開発経験があまりなかった自分にとって、この分野の研究フローを身につける貴重な機会となりました。また、今まで興味がありつつもきちんと勉強できていなかった予測符号化の理論的枠組についても理解が深まり、今後の自分の研究に生きる2ヶ月となりました。
最後になりますが、このような機会を提供していただいた松尾研究室の皆様方には深く感謝しております。ありがとうございました。
いかがでしたでしょうか?
松尾研では研究員を積極的に募集しております。気になる方は下記をご覧ください!
https://weblab.t.u-tokyo.ac.jp/joinus/career/