Safe Neurosymbolic Learning with Differentiable Symbolic Execution
  We study the problem of learning worst-case-safe parameters for programs that
use neural networks as well as symbolic, human-written code. Such neurosymbolic
programs arise in many safety-critical domains. However, because they can use
nondifferentiable operations, it is hard to learn their parameters using
existing gradient-based approaches to safe learning. Our approach to this
problem, Differentiable Symbolic Execution (DSE), samples control flow paths in
a program, symbolically constructs worst-case "safety losses" along these
paths, and backpropagates the gradients of these losses through program
operations using a generalization of the REINFORCE estimator. We evaluate the
method on a mix of synthetic tasks and real-world benchmarks. Our experiments
show that DSE significantly outperforms the state-of-the-art DiffAI method on
these tasks.
