Daniel D. Johnson


I am a PhD student at the University of Toronto, working with David Duvenaud and Chris Maddison, and a Research Scientist at Google AI. My current interests include
  • applying deep learning and probabilistic inference to discrete data structures (such as trees, sets, and graphs)
  • using these techniques to build ML-powered systems that can reason about their own uncertainty
  • building more flexible programming languages and frameworks for machine learning, to make it easier to combine neural building blocks in new ways.

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 machine 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 complex probabilistic models? See my research page for more information.

I was an AI Resident at Google from 2019 to 2021, and I worked on applied machine learning at Cruise from 2018 to 2019. 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), making music, and working on a variety of side projects.