Projects

In addition to reading and presenting papers, the course will include a final project. A final project can take the form of implementing, applying, or extending a paper/work. This paper/work can be of your own choosing or can be one of the papers discussed in class. For the final project, a good approach is to limit your idea to a practical domain (e.g. game, music, theorem proving, ...), and then expand as time allows.

Scope

Previous workshop papers should serve as a good model for the amount of work we expect. Here is a page for a previous ICML program induction workshop. Two of those papers are 5-6 pages and apply a few known approaches in a slightly new way (rather than do something totally wild and new). You can ignore the longer papers on that workshop page.

Format

You will submit a write-up about your work. We will use NeurIPS format. It's a nice, wide one-column format and not as dense as POPL format. We will expect something like 4-8 pages.

Important Dates

Ideas

  • Extend DeepBach to extract rules of harmonizing in the learned style.
  • Use the Alpha Zero or muZero technique to learn how to play a new game. Can the resulting policies be interpretable?
  • Design your own language with differentiation by relaxation.
  • Write an expert systems on the topic of your choice, perhaps on top a truth-maintenance system or belief maintenance system. For examples:
    • mining medical knowledge graphs like mediKanren 
    • solving a search problem (like theorem proving) by neural-guided search
    • a reflective meta-deliberator for thinking and decision making
    • a reflective solver of Bongard problems
  • Write a bijective compiler from symbolic to neural representations and back. Experiment with operations on the neural representation and how they translate back and forth.
  • What does it mean to learn to communicate? How can we bootstrap communication? Contrast old school and deep learning systems.
  • Implement your own mechanisms for engineering robustness by controlled hallucinations.
  • Explore proof by reflection in modern proof assistants such as Coq and Agda. How foolproof are they compared to FOL?
  • How to organize a fleet of social agents?
  • How to verify/certify machine learning?
  • How to use machine learning in theorem proving? Perhaps be inspired by GamePad.
  • Explore a problem via probabilistic programming. For example: https://rt.live/us/MA shows the curve for COVID-19 in MA.
  • ... let's talk!

Pro tips

  • If you need access to a GPU, you can use the excellent FAS RC.