6.883 Meta Learning

MIT - Fall 2020

Class is held online, Tue and Thu 4:00-5:30pm

Description

Traditionally, humans develop new machine learning algorithms and learn topics by reading, watching videos, and taking courses. Meta learning, or learning to learn, has allowed machines to learn to learn new algorithms; discover physics formulas or symbolic expressions that match data; develop systems for automatic model discovery; teach machines to read, learn and reason; ace science exams at the high school level; and solve the SAT. In this graduate level course students develop components of a program that participates in an undergraduate course as an AI. The course covers advanced deep learning topics used for learning to learn, including: automated machine learning, meta-learning, deep learning on graphs, transformers, knowledge graphs, symbolic regression, program induction, Bayesian learning, and deep reinforcement learning. The highlight of the course is participating in building a system that passes 6.036 Introduction to Machine Learning as a virtual student: teaching a machine to learn machine learning. The system will solve very specialized tasks: learning 6.036 from course material: notes, exercises, exams, solutions, etc.; synthesizing new course exercises and exams; and will participate in 6.036 by solving exercises, quizzes, exams; and pass the course as a virtual online student, or 6.036AI.

First Day of Classes (Tuesday, September 1)

Lecture 1 (Tuesday, September 1): Introduction
Motivation: connectome, transformers, graphs, reinforcement learning; meta learning definitions: Eqs. and graphs; transfer, multi-task, meta, and automated learning; applications; Bayesian inference recap.

Lecture 2 (Thursday, September 3): Learning machine learning
Machine learning systems and building blocks; Transformers overview, fine tuning vs. few shot learning; math word problems and question answering; meta 6.036 lab demo; reinforcement learning overview, dual process theory; approach for solving 6.036 questions using Transformers and RL, probabilistic programming example.

Labor Day, holiday (Monday, September 7)

Lecture 3 (Tuesday, September 8): Transfer learning
Supervised learning, supervised transfer learning; CNNs and GANs overview, siamese networks, style transfer; invariance, equivariance; supervised, inductive, transductive domain adaptation, and unsupervised transfer learning.

Lecture 4 (Thursday, September 10): Meta learning
Meta Learning for few-shot classification, black-box methods, gradient-based optimization methods, metric-based non-parametric methods.

Tutorial 1 (Thursday, September 10): learn2learn.net, meta learning library.

Exercise 1 (Thursday, September 10): Few shot learning
Siamese, matching, prototypical, and relational networks.

Lecture 5 (Tuesday, September 15): Multi-task learning
Motivation, learning multiple games and fields, multi-task learning examples: autonomous vehicles and edge devices, problem formulation, MTL architectures: hard, soft, hybrid sharing; multi-objective optimization, combinatorial optimization, applications.

Lecture 6 (Thursday, September 17): Automated machine learning
AutoML formulation, hyperparameter optimization, algorithm selection, model ensemble and stacking, neural architecture search, learning machine learning pipelines, AutoML systems using reinforcement learning, grammar, collaborative filtering, language embeddings, few-shot learning and a graph representations.

Lecture 7 (Tuesday, September 22): Online and continual learning
Motivation, bandits, 𝜺-greedy, UCB; online learning definition, perceptron, Winnow, halving algorithms, online to batch conversion; continual learning definitions, backward and forward transfer, catastrophic forgetting, replay methods, regularization methods, iterative pruning and retraining, self-supervised learning, test-time training

Lecture 8 (Thursday, September 24): Learning on graphs
Applications, graph statistics, graph Laplacian, embeddings, graph neural networks, loss functions, training and generalization

Lecture 9 (Tuesday, September 29): Deep learning on graphs
Graph neural networks, aggregation, message passing, attention, pooling, benchmarks

Tutorial 2 (Tuesday, September 29): dgl.ai, graph neural networks library.

Lecture 10 (Thursday, October 1): Knowledge graphs, sequence models, Transformers, and chatbots

Lecture 11 (Tuesday, October 6): Self-supervised meta learning, meta overfitting and regularization
Meta learning Transformers, adding human knowledge to Transformers, task oriented dialog

Tutorial 3 (Tuesday, October 6): huggingface.co, Transformers library.

Lecture 12 (Thursday, October 8): Learning rule systems from a few examples
Self-supervised meta learning with a meta-grammar, neural symbolic stack machines, symbolic regression

Indigenous Peoples Day, holiday (Monday, October 12)

Monday schedule of classes (Tuesday, October 13)

Lecture 13 (Thursday, October 15): Reinforcement learning

Lecture 14 (Tuesday, October 20): Deep reinforcement learning

Lecture 15 (Thursday, October 22): Meta reinforcement learning, multi-agent systems

Tutorial 4 (Thursday, October 22): RLlib, reinforcement learning library

Lecture 16 (Tuesday, October 27): Imperfect information games, Monte Carlo tree search, counterfactual regret minimization

Lecture 17 (Thursday, October 29): Learning to solve math word problems

Exercise 2 (Thursday, October 29): Learning to solve math word problems with Transformers and GNNs

Lecture 18 (Tuesday, November 3): Transformer ↔ knowledge graph, MI in meta learning, fair meta learning

Lecture 19 (Thursday, November 5): Bayesian meta learning

Tutorial 5 (Thursday, November 5): pyro.ai, probabilistic programming

Lecture 20 (Tuesday, November 10): Learning to drive

Veterans Day, holiday (Wednesday, November 11)

Lecture 21 (Thursday, November 12): Learning combinatorial optimization

Lecture 22 (Tuesday, November 17): Program synthesis
Writing and review best practices

Lecture 23 (Thursday, November 19): Learning compilers, efficient Transformers

Thanksgiving vacation (Saturday, November 21 - Sunday, November 29)

Lecture 24 (Tuesday, December 1): Review, neural architecture search

Lecture 25 (Thursday, December 3): Protein structure and function predition, hypernetworks, RL trees

Lecture 26 (Tuesday, December 8): Learning to learn courses, solving 6.036 exercises, closing remarks
Project presentations

Last Day of Classes (Wednesday, December 9)