論理ゲートネットワークを使用したディープラーニング手法 | スタンフォード大学の論文より

2024年11月にスタンフォード大学から論文「Convolutional Differentiable Logic Gate Networks」が発表されました.

論文によると, 論理ゲートネットワークを使用すると, CIFAR-10で精度86.29%を達成し, 最新のモデルより29倍も小さくすることができたと報告されています.

CIFAR-10の精度に関するsotaは現在, ViT-H/14, DINOv2モデルで99.5%を達成しているため, 精度的にはまだまだと言えます.

しかし, LLMなどもそうですが, モデルのパラメータが大規模化していく一方で, 処理速度の問題はいまだ解決の糸口がつかめていないと思います.

もしかしたらこの論理ゲートネットワークがその解決の糸口になるのかもしれません.

それでは早速, 仕組みについて紹介していきます.

全体像

ここからは, 論文「Deep Differentiable Logic Gate Networks」を参考にしていくので, 分からない事や詳しく知りたい方は参考にしてください.

イメージをつかんでもらうために, 論理ゲートネットワークの全体像を説明していきます.

以下の図を例に考えてきます.

論文「Deep Differentiable Logic Gate Networks」Fig.1からの引用

入力画像: 2値画像であり, それを使って分類タスクを行います.

各ニューロンの入力: 各ニューロンには2つの入力があり, これは論理ゲートの入力と考えられます. つまり, 各ニューロンがどの論理演算を行うかが重要になります.

演算子の学習: 学習の初期段階では, ランダムに選ばれた論理演算子(AND、OR、XOR など)を使用して処理が行われます. その後, ネットワークは演算子の「使用割合」を学習し, 各ニューロンに最も適切な演算子を決定します. このプロセスは, 勾配降下法などを通じて, 各ニューロンの演算子選択が最適化されます.

推論時の演算子決定: 学習が終わると, 各ニューロンに対して最も高い確率で使用される論理演算子が決定され, それに基づいて論理ゲートネットワークが完成します.

クラス分類: 最終的に, 出力層でのニューロンの活性化に基づいて, 各クラスの予測が行われます.

しかし, 論理演算子は2値であるため, 微分が出来ず, バックプロパゲーションでパラメータの更新を行うことができません. これには, フィジー理論を用いているみたいです.

最後に,

実際に論理ゲートネットワークを使ったライブラリ(GitHubページ)が公開されているので, 触ってみても面白いと思います.

参考文献

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です