Boosting-based Construction of BDDs for Linear Threshold Functions and Its Application to Verification of Neural Networks

by   Yiping Tang, et al.

Understanding the characteristics of neural networks is important but difficult due to their complex structures and behaviors. Some previous work proposes to transform neural networks into equivalent Boolean expressions and apply verification techniques for characteristics of interest. This approach is promising since rich results of verification techniques for circuits and other Boolean expressions can be readily applied. The bottleneck is the time complexity of the transformation. More precisely, (i) each neuron of the network, i.e., a linear threshold function, is converted to a Binary Decision Diagram (BDD), and (ii) they are further combined into some final form, such as Boolean circuits. For a linear threshold function with n variables, an existing method takes O(n2^n/2) time to construct an ordered BDD of size O(2^n/2) consistent with some variable ordering. However, it is non-trivial to choose a variable ordering producing a small BDD among n! candidates. We propose a method to convert a linear threshold function to a specific form of a BDD based on the boosting approach in the machine learning literature. Our method takes O(2^n poly(1/ρ)) time and outputs BDD of size O(n^2/ρ^4ln1/ρ), where ρ is the margin of some consistent linear threshold function. Our method does not need to search for good variable orderings and produces a smaller expression when the margin of the linear threshold function is large. More precisely, our method is based on our new boosting algorithm, which is of independent interest. We also propose a method to combine them into the final Boolean expression representing the neural network.


page 1

page 2

page 3

page 4


Implementations of two Algorithms for the Threshold Synthesis Problem

A linear pseudo-Boolean constraint (LPB) is an expression of the form a_...

Quantum Algorithm for Finding the Optimal Variable Ordering for Binary Decision Diagrams

An ordered binary decision diagram (OBDD) is a directed acyclic graph th...

KarNet: An Efficient Boolean Function Simplifier

Many approaches such as Quine-McCluskey algorithm, Karnaugh map solving,...

DrNLA: Extending Verification to Non-linear Programs through Dual Re-writing

For many decades, advances in static verification have focused on linear...

Combinatorics of Reduced Ordered Binary Decision Diagrams: Application to uniform random sampling

Since three decades binary decision diagrams, representing efficiently B...

Boolean Expressions in Firewall Analysis

Firewall policies are an important line of defence in cybersecurity, spe...

Variable Shift SDD: A More Succinct Sentential Decision Diagram

The Sentential Decision Diagram (SDD) is a tractable representation of B...

Please sign up or login with your details

Forgot password? Click here to reset