LACTOSE: Linear Array of Conditions, TOpologies with Separated Error-backpropagation -- The Differentiable "IF" Conditional for Differentiable Digital Signal Processing
Christopher Johann Clarke
TL;DR
LACTOSE tackles the challenge of differentiable conditioning in Differentiable Digital Signal Processing by enabling backpropagation through conditional branches. It introduces a dynamic parameter swapping mechanism where separate parameter spaces are kept per condition and loaded on-demand during prediction, avoiding the need to expand the full parameter space. The approach is implemented as a TensorFlow library and positioned among related Conditional Modelling approaches as a means to address non-differentiable branching. The work lays groundwork for modular, region-specific architectures in DDSP and points to future improvements in batch-size scalability and flexible layer masking.
Abstract
There has been difficulty utilising conditional statements as part of the neural network graph (e.g. if input $> x$, pass input to network $N$). This is due to the inability to backpropagate through branching conditions. The Linear Array of Conditions, TOpologies with Separated Error-backpropagation (LACTOSE) Algorithm addresses this issue and allows the conditional use of available machine learning layers for supervised learning models. In this paper, the LACTOSE algorithm is applied to a simple use of DDSP, however, the main point is the development of the "if" conditional for DDSP use. The LACTOSE algorithm stores trained parameters for each user-specified numerical range and loads the parameters dynamically during prediction.
