Table of Contents
Fetching ...

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.

LACTOSE: Linear Array of Conditions, TOpologies with Separated Error-backpropagation -- The Differentiable "IF" Conditional for Differentiable Digital Signal Processing

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 , pass input to network ). 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.

Paper Structure

This paper contains 3 sections, 4 figures.

Figures (4)

  • Figure 1: A visualisation of a dimension-reduced model parameter space. When passing the conditions as an input to the model, or if the model has to learn the condition parameter, the model has to train for a parameter space that encompasses all conditions.
  • Figure 2: This visualisation of the dimension-reduced parameter space shows the separated parameter spaces that pertain to each branching condition. The LACTOSE algorithm allows for the model to dynamically swap between each parameter space, and thus not requiring the model to train for an encompassing parameter space.
  • Figure 3: The figure on the left demonstrates the issues faced by branching condition statements inside a model. The figure on the right demonstrates the proposed approach that LACTOSE is designed with.
  • Figure 4: Procedures behind the LACTOSE algorithm. The box in red represents the static Tensorflow graph. Conditions are hosted externally from the graph and can therefore make use of symbolic inputs.