Learning Interpretable Differentiable Logic Networks

Chang Yue, Niraj K. Jha
7/4/2024
cs.LG

No official code found. Best implementation: chang-yue/dln (1 star, last commit 2025-03-23). 1 more below.

Abstract

The ubiquity of neural networks (NNs) in real-world applications, from healthcare to natural language processing, underscores their immense utility in capturing complex relationships within high-dimensional data. However, NNs come with notable disadvantages, such as their "black-box" nature, which hampers interpretability, as well as their tendency to overfit the training data. We introduce a novel method for learning interpretable differentiable logic networks (DLNs) that are architectures that employ multiple layers of binary logic operators. We train these networks by softening and differentiating their discrete components, e.g., through binarization of inputs, binary logic operations, and connections between neurons. This approach enables the use of gradient-based learning methods. Experimental results on twenty classification tasks indicate that differentiable logic networks can achieve accuracies comparable to or exceeding that of traditional NNs. Equally importantly, these networks offer the advantage of interpretability. Moreover, their relatively simple structure results in the number of logic gate-level operations during inference being up to a thousand times smaller than NNs, making them suitable for deployment on edge devices.

View on arXivView PDF

Code Implementations(2)

chang-yue/dlnCommunity62%

Learning Interpretable Differentiable Logic Networks

12C++, CudaMar 18, 20251 years agoNOASSERTION
jha-lab/dlnCommunity61%

Learning Interpretable Differentiable Logic Networks

10C++, CudaMay 27, 20251 years agoNOASSERTION

Similar Papers

Cite this paper

@article{yue2024learning,
  title  = {Learning Interpretable Differentiable Logic Networks},
  author = {Chang Yue and Niraj K. Jha},
  year   = {2024},
  eprint = {2407.04168},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2407.04168v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2407.04168.svg)](https://codeofpaper.com/paper/2407.04168)

Discussion