A neural network architecture designed to be convex in its inputs, useful for constrained optimization and learning convex functions.