Featured image of post 論理ゲート型ニューラルネットワーク

論理ゲート型ニューラルネットワーク

目次

背景

  • Xで論理ゲート型ニューラルネットワークがタイムラインに流れてきた
  • 気になったので、AIに調べてもらって記事にした

論理ゲート型ニューラルネットワーク(Differentiable Logic Gate Networks)とは

  • 通常のニューラルネットは、重み付き和と活性化関数の組み合わせでニューロンを構成する
  • 一方、論理ゲート型ニューラルネットワークは、AND・XORといった実際の論理ゲートそのものをニューロンとして使う設計
  • 推論時には本物のブール回路として動作するため、浮動小数点演算が不要になり、圧倒的に高速・省電力な推論が可能になるというのが最大の魅力

通常のニューロンとの違い

違い:

  • 通常のニューロン:
    • 入力$x$に対して$y=f(w\cdot x+b)$(重み付き和+活性化関数)を計算する
  • 論理ゲート型のニューロン:
    • 2つの入力$a,b$(0か1の値)に対して、AND・OR・XORなどの論理ゲートをそのまま適用する

つまり、学習によって最適化される対象が「重み$w$の値」ではなく「どの論理ゲートを使うか」に変わる。

16種類の2入力論理ゲート

  • 2値の入力$a,b$の組み合わせは$(0,0),(0,1),(1,0),(1,1)$の4通りある
  • それぞれに0か1を割り当てる関数は$2^4=16$通り存在する

全16種類論理ゲート:

  • AND・OR・XOR・NAND・NOR・XNOR
  • TRUE(常に1)・FALSE(常に0)
  • $A$・$B$
  • $\lnot A$・$\lnot B$
  • さらに4つの非対称なゲート($A \land \lnot B$等)

微分可能な緩和

離散的な論理ゲートはそのままでは微分できず、勾配降下法で学習できない。そこで、実数値$[0,1]$上のファジー論理(t-norm/t-conorm)を使って各ゲートを連続的に緩和する。

  • $\mathrm{AND}(a,b) = ab$
  • $\mathrm{OR}(a,b) = a+b-ab$
  • $\mathrm{XOR}(a,b) = a+b-2ab$
  • $\mathrm{NAND}(a,b) = 1-ab$

といった形で、16種類全てのゲートに実数値の緩和版を用意する。各ニューロンは、この16種類のゲートに対する学習可能な重みベクトル$w\in\mathbb{R}^{16}$を持ち、ソフトマックスで確率分布$p=\mathrm{softmax}(w)$に変換する。ニューロンの出力は、16個の緩和ゲート出力$f_i(a,b)$の確率加重和として計算される。

$$ y = \sum_{i=1}^{16} p_i \, f_i(a,b) $$

これにより、ゲートの選択そのものが確率分布として微分可能になり、通常の誤差逆伝播で学習できるようになる。

学習と離散化

  • まず、このソフトな(確率的な)ネットワークを通常の勾配降下法で学習する
  • 学習後、各ニューロンは最も確率の高いゲート($\arg\max_i p_i$)に離散化され、接続も固定される
  • 結果として、実際に動作するブール回路(本物のAND・XOR等の組み合わせ)が得られる
  • 元の提案論文では、ソフトな状態での精度と、離散化後の精度の差は0.1%未満に収まると報告されている

ネットワーク構造

論理ゲート型ネットワークは全結合ではなく、疎な結合を持つ。各ニューロンは前の層のちょうど2つのニューロン(または入力)にランダムに接続され、この配線は初期化時に決まり学習中は変化しない。学習によって最適化されるのは、あくまで各ニューロンのゲート選択の重みだけになる。

Deep Differentiable Logic Gate Networks(NeurIPS 2022)

この設計を提案した最初の論文が、Felix Petersen, Christian Borgelt, Hilde Kuehne, Oliver DeussenによるDeep Differentiable Logic Gate NetworksarXiv:2210.08277)。

  • MNISTにおいて、単一のCPUコア上で1秒間に100万枚以上の画像を処理できる推論速度を報告している
  • UCIのAdultやBreast Cancerのような表形式データでも、ロジスティック回帰や小型ニューラルネットに匹敵する精度を、ナノ秒オーダーの推論時間で達成している
  • 一方、CIFAR-10については、この時点では畳み込み構造を持たない小規模なネットワークしか試されておらず、精度はCNNに遠く及ばない水準に留まっていた

Convolutional Differentiable Logic Gate Networks(NeurIPS 2024, Oral)

続く論文Convolutional Differentiable Logic Gate Networks(Petersen, Kuehne, Borgelt, Welzel, Ermon、arXiv:2411.04732)では、論理ゲート型ネットワークに畳み込み構造を導入している。

  • 論理ゲートを木構造に組み合わせた畳み込みカーネル
  • 通常のmaxプーリングに相当する、微分可能な緩和版の論理ORプーリング
  • 深い層でも学習が安定するような、恒等写像に近い初期化

これらにより、CIFAR-10において86.29%の精度を、わずか6,100万個の論理ゲートで達成したと報告されている。これは、同等の精度を持つXNOR-Net(2値化ニューラルネットの代表的手法)と比べて、29倍小さい構成だとしている。

実装

Petersen自身が公開しているPyTorchベースのライブラリdifflogicGitHub、MITライセンス)が、上記の手法の公式実装として利用できる。

限界・課題

  • 緩和されたブール演算を何層も重ねると、勾配が消失しやすくなる
  • ソフトマックスの温度に敏感で、低すぎると数値が不安定になり、高すぎると勾配の信号が弱くなる
  • ソフトな学習時と、離散化した推論時との間のギャップ(discretization gap)が、設定によっては完全には解消しない場合がある
  • 各ニューロンで16種類のゲート関数を毎回評価する必要があるため、通常のネットワークより学習コスト自体は高くなりやすい
  • 単純に層を深くするだけでは精度が向上しないという「深さのスケーラビリティ」の問題が、2025〜2026年の後続研究でも指摘されており、まだ解決していない課題として残っている

まとめ

  • 論理ゲート型ニューラルネットワークは、重み付き和ではなく実際の論理ゲートをニューロンとして使う設計
  • 学習時は16種類のゲートを確率的に混合する微分可能な緩和を使い、学習後は最も確率の高いゲートに離散化して本物のブール回路にする
  • 推論時は浮動小数点演算が不要になるため、MNISTでは単一CPUコアで毎秒100万枚以上という圧倒的な速度を達成している
  • 畳み込み構造を導入したConvolutional版では、CIFAR-10でも86.29%という実用的な精度に、XNOR-Net比29倍小さい構成で到達している
  • 一方で、深さのスケーラビリティや学習の不安定性など、まだ発展途上の課題も残っている

参考文献

Built with Hugo
テーマ StackJimmy によって設計されています。