Daniel D. Johnson


I am an AI Resident at Google Brain Montréal. My research interests include:
  • applying deep learning to compositional and structured data (such as trees, sets, and graphs),
  • differentiating through probability distributions over discrete sets,
  • designing more expressive "differentiable" programming languages and frameworks to do non-traditional machine learning research.

Recently, I've been working on two sides of the intersection between programming languages and machine learning: on the one hand, how can we use deep learning to help people write code more easily and with fewer bugs, and on the other hand, how can we design programming languages that reduce the cognitive load of building deep learning models? See my research page for more information.

In 2018-2019, I worked on the prediction team at Cruise, working to make self-driving cars safer and more responsive to pedestrians. Before that, I was an undergraduate CS/Math joint major at Harvey Mudd College, where I did research on applying deep learning to music, and worked as a math tutor in the Academic Excellence tutoring program at HMC.

In my free time, I enjoy playing board games, trying out indie video games (current recommendations: Baba is You, Outer Wilds), hiking, cooking, and working on a variety of side projects.


Updates

  • My PRs (1, 2) adding extensible records and variants to dex-lang have been merged! I'm excited to continue exploring connections between records and named axes in strongly-typed multidimensional-array code.
  • I presented "Learning Graph Structure With A Finite-State Automaton Layer" (arXiv) at the Graph Representation and Beyond workshop at ICML 2020.
  • In October 2019, I moved to Montréal for the AI Residency!
  • In December 2018, my HMC Mathematics Clinic group presented a method for sound separation using automatic differentiation at NeurIPS 2018.