Open6
可変抵抗器を使った物理ニューラルネットワーク

本記事は、可変抵抗器を使った物理駆動のニューラルネットワークの実装に取り組んだユニークな論文 Demonstration of Decentralized, Physics-Driven Learning を、個人的に解釈し、ここへまとめていきます。
画像:論文で実際に制作された電子回路

これから書くこと
- アブストラクトを簡単に説明する
-
平衡伝播を用いたより単純な学習アルゴリズム
- 生物の神経はバックプロパゲーションのように複雑な計算はしていない。

概要
典型的なニューラルネットワークでは、ニューロンは大域的な計算に従って調整される。
しかし、実際に生物の脳では、ニューロンやシナプスは局所的な情報に基づいて自己調整されるようになっている。
論文で提案するツインネットワーク手法は、学習を効率よく分散して行えるため、非常に大規模なネットワークや非線形ネットワークにも容易に拡張可能であることが示されている。
(余談だが、近年ではLLM分野でも分散型の学習が注目されている。)
実際に制作した電子回路でアヤメデータセットのクラス分類を学習させてみると、300epochで97%の正解率を出した。

論文で提案する「ツインネットワーク手法」
- 可変抵抗器で接続されたノードで構成される2つの自動調整電子ネットワーク。
- 2つのネットワークを用意する理由として、1つのネットワークで勾配を見るためには2つの時間が同時に存在する必要があるため、物理的な時間軸では実現が不可能である。そのため、2つのネットワークを用いて2つの状態を作ることで勾配を見えるようにする。
- 勾配とは、ここでは2つのネットワーク間の電圧降下(ΔV)の差のことを言う。
- ネットワークの全てのノードの電圧が最適になるように可変抵抗で調整(総エネルギー散逸の最小化)することで、出力ノードの電圧を変化させ推論することが可能。

推論手順
- 画像では、2つの変数を入力とした2クラス分類の例を示している。
- 入力として赤色ノードに電圧Vをかける。電圧は入力変数に合わせて変化させる。
- 出力として紫色ノードから電圧を測定する。
- 入力ノードの電圧を変化させた時、出力ノードの電圧が変化することで推論する。
トレーニング手順
- 学習フェーズでは、Free network(自由状態)とClamped Network(クランプ状態)の2つのネットワークを用意し、2つのネットワーク間の電圧降下を比較しながら抵抗値を自動的に調整する。
- Update Both Networksで1ステップごとに自由状態の電圧降下がクランプ状態より大きいか小さいかを比較して、可変抵抗値を上げたり下げたり調整する。

実際に作ったやつ
これで、1ノード2エッジの構成