We'll present novel algorithms to help interpret deep learning models. Deep learning models give state-of-the-art results on diverse problems, but their lack of interpretability is a major problem. Consider a model trained to predict which DNA mutations cause disease: if the model performs well, it has likely identified patterns that biologists would like to understand, but this is difficult if the model is a black box. We'll present algorithms that address significant limitations of previous approaches to interpretability. Our algorithms can provide detailed explanations for individual predictions made by a deep learning model and can also discover recurring patterns across an entire dataset. We'll show examples from genomics and computer vision, including cases where the use of deep learning in conjunction with our interpretability algorithms leads to novel biological insights that aren't provided by other methods. The algorithms developed are domain-agnostic and can work with any deep learning architecture.