  Estimating the structure of directed acyclic graphs (DAGs) from observational
data remains a significant challenge in machine learning. Most research in this
area concentrates on learning a single DAG for the entire population. This
paper considers an alternative setting where the graph structure varies across
individuals based on available "contextual" features. We tackle this contextual
DAG problem via a neural network that maps the contextual features to a DAG,
represented as a weighted adjacency matrix. The neural network is equipped with
a novel projection layer that ensures the output matrices are sparse and
satisfy a recently developed characterization of acyclicity. We devise a
scalable computational framework for learning contextual DAGs and provide a
convergence guarantee and an analytical gradient for backpropagating through
the projection layer. Our experiments suggest that the new approach can recover
the true context-specific graph where existing approaches fail.
