$\partial\mathbb{B}$ nets: learning discrete functions by gradient descent

Ian Wright
5/12/2023
cs.LGcs.NE

No official code found. Best implementation: Z80coder/db-nets (21 stars, last commit 2024-01-30).

Abstract

$\partial\mathbb{B}$ nets are differentiable neural networks that learn discrete boolean-valued functions by gradient descent. $\partial\mathbb{B}$ nets have two semantically equivalent aspects: a differentiable soft-net, with real weights, and a non-differentiable hard-net, with boolean weights. We train the soft-net by backpropagation and then `harden' the learned weights to yield boolean weights that bind with the hard-net. The result is a learned discrete function. `Hardening' involves no loss of accuracy, unlike existing approaches to neural network binarization. Preliminary experiments demonstrate that $\partial\mathbb{B}$ nets achieve comparable performance on standard machine learning problems yet are compact (due to 1-bit weights) and interpretable (due to the logical nature of the learnt functions).

View on arXivView PDF

Code Implementations(1)

Z80coder/db-netsCommunity100%

∂B nets: learning discrete, boolean-valued functions by gradient descent

212Shell, PythonMar 6, 20232 years ago
boolean-logicinterpretable-deep-learningmachine-learningmachine-learning-algorithmsneural-networks+1 more

Cite this paper

@article{wright2023partialmathbbb,
  title  = {$\partial\mathbb{B}$ nets: learning discrete functions by gradient descent},
  author = {Ian Wright},
  year   = {2023},
  eprint = {2305.07315},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2305.07315v1}
}

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/2305.07315.svg)](https://codeofpaper.com/paper/2305.07315)

Discussion