Ludwig: a type-based declarative deep learning toolbox
  In this work we present Ludwig, a flexible, extensible and easy to use
toolbox which allows users to train deep learning models and use them for
obtaining predictions without writing code. Ludwig implements a novel approach
to deep learning model building based on two main abstractions: data types and
declarative configuration files. The data type abstraction allows for easier
code and sub-model reuse, and the standardized interfaces imposed by this
abstraction allow for encapsulation and make the code easy to extend.
Declarative model definition configuration files enable inexperienced users to
obtain effective models and increase the productivity of expert users.
Alongside these two innovations, Ludwig introduces a general modularized deep
learning architecture called Encoder-Combiner-Decoder that can be instantiated
to perform a vast amount of machine learning tasks. These innovations make it
possible for engineers, scientists from other fields and, in general, a much
broader audience to adopt deep learning models for their tasks, concretely
helping in its democratization.
