  We propose learning deep models that are monotonic with respect to a
user-specified set of inputs by alternating layers of linear embeddings,
ensembles of lattices, and calibrators (piecewise linear functions), with
appropriate constraints for monotonicity, and jointly training the resulting
network. We implement the layers and projections with new computational graph
nodes in TensorFlow and use the ADAM optimizer and batched stochastic
gradients. Experiments on benchmark and real-world datasets show that six-layer
monotonic deep lattice networks achieve state-of-the art performance for
classification and regression with monotonicity guarantees.
