<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Efficient-Inference on M1KE BL0G</title><link>https://www.m1ke.org/tags/efficient-inference/</link><description>Recent content in Efficient-Inference on M1KE BL0G</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><copyright>mike</copyright><lastBuildDate>Tue, 08 Sep 2026 12:00:00 +0900</lastBuildDate><atom:link href="https://www.m1ke.org/tags/efficient-inference/index.xml" rel="self" type="application/rss+xml"/><item><title>論理ゲート型ニューラルネットワーク</title><link>https://www.m1ke.org/p/%E8%AB%96%E7%90%86%E3%82%B2%E3%83%BC%E3%83%88%E5%9E%8B%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/</link><pubDate>Tue, 08 Sep 2026 12:00:00 +0900</pubDate><guid>https://www.m1ke.org/p/%E8%AB%96%E7%90%86%E3%82%B2%E3%83%BC%E3%83%88%E5%9E%8B%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/</guid><description>&lt;img src="https://www.m1ke.org/p/%E8%AB%96%E7%90%86%E3%82%B2%E3%83%BC%E3%83%88%E5%9E%8B%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/panda.webp" alt="Featured image of post 論理ゲート型ニューラルネットワーク" /&gt;&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Xで論理ゲート型ニューラルネットワークがタイムラインに流れてきた&lt;/li&gt;
&lt;li&gt;気になったので、AIに調べてもらって記事にした&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="論理ゲート型ニューラルネットワークdifferentiable-logic-gate-networksとは"&gt;論理ゲート型ニューラルネットワーク（Differentiable Logic Gate Networks）とは&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;通常のニューラルネットは、重み付き和と活性化関数の組み合わせでニューロンを構成する&lt;/li&gt;
&lt;li&gt;一方、論理ゲート型ニューラルネットワークは、AND・XORといった実際の論理ゲートそのものをニューロンとして使う設計&lt;/li&gt;
&lt;li&gt;推論時には本物のブール回路として動作するため、浮動小数点演算が不要になり、圧倒的に高速・省電力な推論が可能になるというのが最大の魅力&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="通常のニューロンとの違い"&gt;通常のニューロンとの違い&lt;/h2&gt;
&lt;p&gt;違い:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;通常のニューロン:
&lt;ul&gt;
&lt;li&gt;入力$x$に対して$y=f(w\cdot x+b)$（重み付き和＋活性化関数）を計算する&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;論理ゲート型のニューロン:
&lt;ul&gt;
&lt;li&gt;2つの入力$a,b$（0か1の値）に対して、AND・OR・XORなどの論理ゲートをそのまま適用する&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;つまり、学習によって最適化される対象が「重み$w$の値」ではなく「どの論理ゲートを使うか」に変わる。&lt;/p&gt;
&lt;h2 id="16種類の2入力論理ゲート"&gt;16種類の2入力論理ゲート&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;2値の入力$a,b$の組み合わせは$(0,0),(0,1),(1,0),(1,1)$の4通りある&lt;/li&gt;
&lt;li&gt;それぞれに0か1を割り当てる関数は$2^4=16$通り存在する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;全16種類論理ゲート:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AND・OR・XOR・NAND・NOR・XNOR&lt;/li&gt;
&lt;li&gt;TRUE（常に1）・FALSE（常に0）&lt;/li&gt;
&lt;li&gt;$A$・$B$&lt;/li&gt;
&lt;li&gt;$\lnot A$・$\lnot B$&lt;/li&gt;
&lt;li&gt;さらに4つの非対称なゲート（$A \land \lnot B$等）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="微分可能な緩和"&gt;微分可能な緩和&lt;/h2&gt;
&lt;p&gt;離散的な論理ゲートはそのままでは微分できず、勾配降下法で学習できない。そこで、実数値$[0,1]$上のファジー論理（t-norm/t-conorm）を使って各ゲートを連続的に緩和する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$\mathrm{AND}(a,b) = ab$&lt;/li&gt;
&lt;li&gt;$\mathrm{OR}(a,b) = a+b-ab$&lt;/li&gt;
&lt;li&gt;$\mathrm{XOR}(a,b) = a+b-2ab$&lt;/li&gt;
&lt;li&gt;$\mathrm{NAND}(a,b) = 1-ab$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった形で、16種類全てのゲートに実数値の緩和版を用意する。各ニューロンは、この16種類のゲートに対する学習可能な重みベクトル$w\in\mathbb{R}^{16}$を持ち、ソフトマックスで確率分布$p=\mathrm{softmax}(w)$に変換する。ニューロンの出力は、16個の緩和ゲート出力$f_i(a,b)$の確率加重和として計算される。&lt;/p&gt;
$$
y = \sum_{i=1}^{16} p_i \, f_i(a,b)
$$&lt;p&gt;これにより、ゲートの選択そのものが確率分布として微分可能になり、通常の誤差逆伝播で学習できるようになる。&lt;/p&gt;
&lt;h2 id="学習と離散化"&gt;学習と離散化&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;まず、このソフトな（確率的な）ネットワークを通常の勾配降下法で学習する&lt;/li&gt;
&lt;li&gt;学習後、各ニューロンは最も確率の高いゲート（$\arg\max_i p_i$）に離散化され、接続も固定される&lt;/li&gt;
&lt;li&gt;結果として、実際に動作するブール回路（本物のAND・XOR等の組み合わせ）が得られる&lt;/li&gt;
&lt;li&gt;元の提案論文では、ソフトな状態での精度と、離散化後の精度の差は0.1%未満に収まると報告されている&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ネットワーク構造"&gt;ネットワーク構造&lt;/h2&gt;
&lt;p&gt;論理ゲート型ネットワークは全結合ではなく、疎な結合を持つ。各ニューロンは前の層のちょうど2つのニューロン（または入力）にランダムに接続され、この配線は初期化時に決まり学習中は変化しない。学習によって最適化されるのは、あくまで各ニューロンのゲート選択の重みだけになる。&lt;/p&gt;
&lt;h2 id="deep-differentiable-logic-gate-networksneurips-2022"&gt;Deep Differentiable Logic Gate Networks（NeurIPS 2022）&lt;/h2&gt;
&lt;p&gt;この設計を提案した最初の論文が、Felix Petersen, Christian Borgelt, Hilde Kuehne, Oliver Deussenによる&lt;code&gt;Deep Differentiable Logic Gate Networks&lt;/code&gt;（&lt;a class="link" href="https://arxiv.org/abs/2210.08277" target="_blank" rel="noopener"
&gt;arXiv:2210.08277&lt;/a&gt;）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MNISTにおいて、単一のCPUコア上で1秒間に100万枚以上の画像を処理できる推論速度を報告している&lt;/li&gt;
&lt;li&gt;UCIのAdultやBreast Cancerのような表形式データでも、ロジスティック回帰や小型ニューラルネットに匹敵する精度を、ナノ秒オーダーの推論時間で達成している&lt;/li&gt;
&lt;li&gt;一方、CIFAR-10については、この時点では畳み込み構造を持たない小規模なネットワークしか試されておらず、精度はCNNに遠く及ばない水準に留まっていた&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="convolutional-differentiable-logic-gate-networksneurips-2024-oral"&gt;Convolutional Differentiable Logic Gate Networks（NeurIPS 2024, Oral）&lt;/h2&gt;
&lt;p&gt;続く論文&lt;code&gt;Convolutional Differentiable Logic Gate Networks&lt;/code&gt;（Petersen, Kuehne, Borgelt, Welzel, Ermon、&lt;a class="link" href="https://arxiv.org/abs/2411.04732" target="_blank" rel="noopener"
&gt;arXiv:2411.04732&lt;/a&gt;）では、論理ゲート型ネットワークに畳み込み構造を導入している。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;論理ゲートを木構造に組み合わせた畳み込みカーネル&lt;/li&gt;
&lt;li&gt;通常のmaxプーリングに相当する、微分可能な緩和版の論理ORプーリング&lt;/li&gt;
&lt;li&gt;深い層でも学習が安定するような、恒等写像に近い初期化&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらにより、CIFAR-10において&lt;strong&gt;86.29%の精度を、わずか6,100万個の論理ゲートで達成&lt;/strong&gt;したと報告されている。これは、同等の精度を持つXNOR-Net（2値化ニューラルネットの代表的手法）と比べて、&lt;strong&gt;29倍小さい&lt;/strong&gt;構成だとしている。&lt;/p&gt;
&lt;h2 id="実装"&gt;実装&lt;/h2&gt;
&lt;p&gt;Petersen自身が公開しているPyTorchベースのライブラリ&lt;code&gt;difflogic&lt;/code&gt;（&lt;a class="link" href="https://github.com/Felix-Petersen/difflogic" target="_blank" rel="noopener"
&gt;GitHub&lt;/a&gt;、MITライセンス）が、上記の手法の公式実装として利用できる。&lt;/p&gt;
&lt;h2 id="限界課題"&gt;限界・課題&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;緩和されたブール演算を何層も重ねると、勾配が消失しやすくなる&lt;/li&gt;
&lt;li&gt;ソフトマックスの温度に敏感で、低すぎると数値が不安定になり、高すぎると勾配の信号が弱くなる&lt;/li&gt;
&lt;li&gt;ソフトな学習時と、離散化した推論時との間のギャップ（discretization gap）が、設定によっては完全には解消しない場合がある&lt;/li&gt;
&lt;li&gt;各ニューロンで16種類のゲート関数を毎回評価する必要があるため、通常のネットワークより学習コスト自体は高くなりやすい&lt;/li&gt;
&lt;li&gt;単純に層を深くするだけでは精度が向上しないという「深さのスケーラビリティ」の問題が、2025〜2026年の後続研究でも指摘されており、まだ解決していない課題として残っている&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="まとめ"&gt;まとめ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;論理ゲート型ニューラルネットワークは、重み付き和ではなく実際の論理ゲートをニューロンとして使う設計&lt;/li&gt;
&lt;li&gt;学習時は16種類のゲートを確率的に混合する微分可能な緩和を使い、学習後は最も確率の高いゲートに離散化して本物のブール回路にする&lt;/li&gt;
&lt;li&gt;推論時は浮動小数点演算が不要になるため、MNISTでは単一CPUコアで毎秒100万枚以上という圧倒的な速度を達成している&lt;/li&gt;
&lt;li&gt;畳み込み構造を導入したConvolutional版では、CIFAR-10でも86.29%という実用的な精度に、XNOR-Net比29倍小さい構成で到達している&lt;/li&gt;
&lt;li&gt;一方で、深さのスケーラビリティや学習の不安定性など、まだ発展途上の課題も残っている&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="参考文献"&gt;参考文献&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Petersen, F., Borgelt, C., Kuehne, H., Deussen, O. (2022). &amp;ldquo;Deep Differentiable Logic Gate Networks.&amp;rdquo; NeurIPS 2022. &lt;a class="link" href="https://arxiv.org/abs/2210.08277" target="_blank" rel="noopener"
&gt;arXiv:2210.08277&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Petersen, F., Kuehne, H., Borgelt, C., Welzel, J., Ermon, S. (2024). &amp;ldquo;Convolutional Differentiable Logic Gate Networks.&amp;rdquo; NeurIPS 2024 (Oral). &lt;a class="link" href="https://arxiv.org/abs/2411.04732" target="_blank" rel="noopener"
&gt;arXiv:2411.04732&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/Felix-Petersen/difflogic" target="_blank" rel="noopener"
&gt;difflogic - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/pdf/2506.07500" target="_blank" rel="noopener"
&gt;&amp;ldquo;Mind the Gap: Removing the Discretization Gap in Differentiable Logic Gate Networks&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2607.21633" target="_blank" rel="noopener"
&gt;&amp;ldquo;On the Depth Scalability of Logic Gate Networks&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>