【SNN】前回の「海馬と新皮質の統合モデル」に更に「大脳基底核」も統合して成績が向上!やはり生物の脳は凄すぎる!
はじめに
これまで、GPU上で動作するスパイキングニューラルネットワーク(SNN)を用いて、脳の機能を再現するプロジェクトを進めてきました。
以前の記事では、「海馬(記憶担当)」と「新皮質(推論担当)」のモデルを結合させ、性能の向上を目指しました。
しかし、いざ統合してその性能を検証してみても、なぜかあまり性能の向上が見られませんでした。
何度パラメータを変えてみても中々性能が上がらず、悩み考えた末「中途半端に脳を再現しようとするからおかしなことになっているのではないか」と私は思いました。
そこで更に 「大脳基底核モデル」 も作り、前回の海馬と新皮質の統合モデルに追加で統合することにしました!
大脳基底核は、新皮質と海馬からの情報を受け取り、「どの行動をするか(Action Selection)」を決定し、報酬(ドーパミン)に基づいて学習するものです。
いわば「意思決定と行動選択の司令塔」のような存在です!
今回はアクセルとブレーキの役割を持つ受容体や、ドーパミンによる強化学習を模倣してみました。
どうやら海馬と新皮質だけの統合モデルでは、「ルールの切り替え(スイッチング)」がうまくいかないようでした。一度覚えたルールに固執してしまったり、新しいルールを覚えると前のを忘れてしまったり(破滅的忘却)したようです…。
そして3つのモデルを統合して性能を評価してみた結果から、「生物の脳の仕組みはやっぱり凄すぎる」と感じました!
今回作ったものと実験の解説
前回とモデルの性能の評価方法は同じですが、改めて評価方法を説明しますと、次の3つのフェーズで学習とテストを行っています(今回は各フェーズ200回ずつ)。
- フェーズ1:文脈0が来たら「行動0」を選択するように学習。
- フェーズ2:文脈1が来たら「行動1」を選択するように学習。
- フェーズ3:文脈がランダムに切り替わり、適切な選択ができるかテスト。
今回構築したのは、海馬・新皮質・大脳基底核の3つの脳部位を再現し統合した 「三位一体(Trinity)」 モデルです!
生物の脳を模倣するための技術的ポイント
単に層を増やすのではなく、生物学的にも妥当なつくりになるように拘って実装しました。
1. D1(Go)と D2(No-Go)経路の実装
大脳基底核には、アクセルの役割を果たす直接路(D1受容体) と、ブレーキの役割を果たす間接路(D2受容体) があります。これも以下のように再現しました。
- 報酬(ポジティブなドーパミン)が来たら
→D1を強化し、D2を弱め、その行動をもっとやるよう促す。 - 罰(ネガティブなドーパミン)が来たら
→D1を弱め、D2を強化し、二度とその行動をさせないよう促す。
これまでのモデルは「アクセル」しか持っていませんでしたが、今回「ブレーキ」を手に入れたことで、間違った行動の抑制もできるようになりました。
2. 報酬予測誤差(RPE)の導入
単に「正解したら褒める」だけでは学習が安定しませんでした。そこで、強化学習の基本であるRPE(Reward Prediction Error) を導入しました。
「予想外に良かった時だけ強く学習する」という仕組みにすることで、学習の収束が安定しました。
3. 恒常性の維持と「てんかん」の防止
SNNのチューニングで最も苦労するのは恐らく発火率の制御だと思います。
入力や結合が強すぎると余計にニューロンが発火する「てんかん状態」になり、弱すぎると「昏睡状態」になります。
今回は、以下のような恒常性維持機能を入れました。
- シナプススケーリング:結合強度の総量が一定を超えないように正規化。
- 側抑制 (Lateral Inhibition):発火したら周りを抑制する。
これらの実装により、脳内の発火率を健全な 3%〜5% に保つことに成功しました!
実験結果
前回の海馬と新皮質のみのモデルと、今回実装したモデルの性能検証結果の比較がこちらです。

前回のモデル(各フェーズ300回ずつ)

今回のモデル(各フェーズ200回ずつ)
以前のモデルではフェーズ2で急に違う課題が出されたことに混乱したのか正答率が50%(ランダム)以下になることが多かったのですが、今回は大脳基底核のおかげでフェーズが変わっても柔軟に対応したようです!
もちろん、SNN特有の確率的な揺らぎでまだ不安定な部分はありますが、「構造的な欠陥」を「生物学的メカニズム」で解決できた 手応えがあります。
まとめと感想
今回、大脳基底核(特にD2受容体のブレーキ機能)を入れたことで、AIが「やってはいけないこと」を学習できるようになりました!
そして生物の脳の回路の凄さをシミュレーションを通して肌で感じています・・・。
「迷ったら生物を参考にする」というのがSNN開発の真理かもしれません・・・。
今後も更にモデルを進化させていき、DNNやCNNとも渡り合えるAIを作りたいと思います!
Discussion