# Continual Learning: On Machines that can Learn Continually

A University of Pisa, ContinualAI and AIDA Doctoral Academy Course

![](/files/e8SLuTaMBKONgwGaREWc)

Learning continually from non-stationary data streams is a fascinating research topic and **a fundamental aspect of Intelligence**.  At [ContinualAI](#how-to-officially-enroll-in-the-course), in conjunction with the [University of Pisa](#how-to-officially-enroll-in-the-course) and the [AIDA Doctoral Academy](https://www.ai4media.eu/ai-doctoral-academy/), we are proud to offer the ***first*** [***official***](https://dottorato.di.unipi.it/phd-programme/teaching/phd-courses/phd-courses-a-y-2021-2022/#anchor2) ***open-access course*** *on Continual Learning. Anyone from around the world can join the class and learn about this fascinating topic, completely for free!*

{% hint style="info" %}
The course is tailored for *Graduate* / *PhD Students* as an introduction to *Continual Learning*, especially focusing on the recent *Deep Learning* advances.
{% endhint %}

The course will follow a mixed in-person / virtual modality and recorded lectures will be **uploaded** on the [*ContinualAI Youtube*](https://www.youtube.com/c/ContinualAI) *account* (and remain available on Youtube for async views). However, if you want to actually *be enrolled in the course,* interact in class and get a **certificate of attendance** you need to follow the procedure described [below](#how-to-officially-enroll-in-the-course) :arrow\_down:.

{% hint style="warning" %}
Please note that the certificate of attendance is only released after a **project-based exam** to be agreed with the course instructor.&#x20;
{% endhint %}

You can check out the ***official course structure*** (*8 lectures* + *2 invited talks),* the **class** **timetable** and other relevant details about the course in the section below:

{% content-ref url="/pages/-MNmrT-rTwpnnfNPrDBp" %}
[Course Details](/background/details)
{% endcontent-ref %}

### Officially Enroll in the Course

In order to officially enroll in this course, hence being able to participate and interact in class, you need to register through the form below (you'll be contacted soon with more instructions if you already complected the enrollment).

{% hint style="danger" %}
**Enrollments for the 2021 course are now closed**. You can still follow the recorded lectures on YouTube in the official [*ContinualAI channel*](https://www.youtube.com/c/continualai)*!*
{% endhint %}


# Prerequisites

Things you Should Know Before Enrolling

This course has been designed for **Graduate** and **PhD Students** that have never been exposed to *Continual Learning*. However, it assumes basic knowledge in **Computer Science** (Bachelor level) and ***Machine Learning***. In particular we assume basic knowledge in **Deep Learning**.

For students do not have this background we suggest to follow at least an introductory *Machine Learning* course such the one offered by [Andrew Ng at Cursera](https://www.coursera.org/learn/machine-learning).

We also assume basic hands-on knowledge about:

* Anaconda, *Python and* PyCharm
* *Python Notebooks*
* *Google Colaboratory*
* *Git and GitHub*
* *PyTorch*

Make sure you learn the basics of these tools and languages as they will be used extensively across the course.


# Tools & Setup

How to Setup your System Before Starting the Course

Before starting the course, please make sure you mature some confidence with the following tools:

* *Microsoft Teams*
* *Anaconda, Python and PyCharm (or any other IDE of your choice for Python)*
* *Google Colaboratory*
* *PyTorch*

Please make sure to setup your personal computer to **run such tools** before enrolling.


# Course Details

The Main Details of the Course and Class Timetable

In this page you'll find all the relevant details of the "*Continual Learning*" course. Please check this page from time to time as class timetables may be subject to change.&#x20;

### Course Objective

In this course you'll learn the **fundamentals** of ***Continual Learning with Deep Architectures**.* At the end of this course you can expect to possess the basic **theoretical** and **practical** knowledge that would enable you to autonomously explore more advanced topics and frontiers in this exciting research area. You will also able to apply such skills to your own research topics and real-world applications.

### Course Details

**Modality**: Mixed In-person / Remote

**Where**: University of Pisa, [Department of Computer Science](https://di.unipi.it/), "*Sala Polifunzionale*" and "*Sala Seminari Est*" (*check* [*below*](#lecture-details)), Largo B. Pontecorvo, 356127, Pisa, Italy. The link to the **Microsoft Teams** will be sent via email to the registered participants.

**Lectures plan**: Every Monday and Wednesday 16-18 CEST (there may be exceptions)

**Period**: 22/11/2021 - 20/12/2021

**Language**: English

### Lecture Details

The course will be based on 8 main lectures (2 hours each) and a final session composed of 2 invited talks. You can click on each lecture to check the outline and see the recorded lecture finished.

1. [*Introduction & Motivation*](/lectures/introduction) *(22/11)*&#x20;

   *Location: "Sala Polifunzionale" & Remote*
2. [*Understanding Catastrophic Forgetting*](/lectures/understanding-catastrophic-forgetting) *(24/11)*

   *Location: "Sala Seminari Est" & Remote*
3. [*Scenarios & Benchmarks*](/lectures/scenarios-and-benchamarks) *(29-11)*

   *Location: Remote only*
4. [*Evaluation & Metrics*](/lectures/evaluation-protocols-and-metrics) *(1-12)*

   *Location: Remote only*
5. [*Methodologies \[part 1\]*](/lectures/strategies) *(6-12)*

   *Location: "Sala Seminari Est" & Remote*
6. [*Methodologies \[part 2\]*](/lectures/methodologies-part-2) *(9-12)*

   *Location: "Sala Seminari Est" & Remote*
7. [*Methodologies \[part 3\] & Applications*](/lectures/methodologies-part-3-applications-and-tools) *(13-12)*

   *Location: "Sala Seminari Est" & Remote*
8. [*Frontiers in Continual Learning*](/lectures/frontiers-in-continual-learning) *(15-12)*

   *Location: "Sala Seminari Est" & Remote*
9. [*Avalanche Dev Day*](/invited-lectures/avalanche-dev-day) *(16-12)*

   *Location: "Sala Seminari Est" & Remote*
10. [*Invited Lectures*](/invited-lectures/avalanche-dev-day) *(20-12)*

    *Location: "Sala Seminari Est" & Remote*


# Introduction & Motivation

Why Continual Learning?

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&t=2s&v=z9DDg2CJjeE>" %}
Lecture #1: Introduction & Motivation - Recording \[22-11-2021]
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1majqWeuWRwgT_R1PwrT1HjTCFIvYFmpiVQWpHYn_Jdc/edit?usp=sharing>" %}
Lecture #1: Introduction & Motivation - Slides
{% endembed %}

{% file src="/files/NEzsFHLeT0eG7VKTKq7D" %}
*Slides PDF*
{% endfile %}

*In this lecture we will address the following points:*

* Course structure and modality
* Intro to continual learning
* Relationship with other learning paradigms
* Brief history of continual Learning and its milestones&#x20;


# Understanding Catastrophic Forgetting

The Biggest Obstacle for Continual Learning Machines

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&v=UnCAdBtvZhc>" %}
Lecture #2: Understanding Catastrophic Forgetting - Video Recording
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1VLjx99qDhLpiNxdokz1exgDizM6PG_EYPz9PigduDRI/edit?usp=sharing>" %}
Lecture #2: Understanding Catastrophic Forgetting - Slides
{% endembed %}

{% file src="/files/33N6wKWTKh0HZUvPrgLw" %}
Slides PDF
{% endfile %}

In this lecture we will address the following points:

* What is catastrophic forgetting?
* Understanding forgetting with one neuron
* A deep learning example: Permuted and Split MNIST
* Brainstorming session: how to solve forgetting?
* Avalanche: an end-to-end library for continual learning research


# Scenarios & Benchmarks

Show me your Data!

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&v=74C65r5qts4>" %}
Lecture #3: Scenarios & Benchmarks - Video Recording
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1eoGzgsx7-5EGiOqAvD9eDSte1rR5GiUZQIBkNylAilM/edit?usp=sharing>" %}
Lecture #3: Scenarios & Benchmarks - Slides
{% endembed %}

{% file src="/files/UWLfC2IK5b5xk5YVpjo8" %}
Slides PDF
{% endfile %}

In this lecture we will address the following points:

* Possible continual learning scenarios
* Existing and commonly used benchmarks
* Avalanche Benchmarks


# Evaluation & Metrics

How to Evaluate your Continual Learning Agent

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&v=sPm40s3hmpY>" %}
Lecture #4: Evaluation & Metrics - Video Recording
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1xqJTAMFcB-XHQ-Jouya5uiGR94jRUnkVjDYAXdGDiUA/edit?usp=sharing>" %}
Lecture #4: Evaluation & Metrics - Slides
{% endembed %}

{% file src="/files/8bg4dZoxB0ny17ac5trk" %}
Slides PDF
{% endfile %}

In this lecture we will address the following points:

* Evaluation Protocols
* Continual learning metrics
* Avalanche Metrics & Loggers


# Methodologies \[Part 1]

Main Continual Learning Strategies

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&v=gsS9RPWiSvY>" %}
Lecture #5: Methodologies \[Part 1] - Video Recording
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1bxRDyMIZbJ08ZZnhMtzvxQSSYTAlM3XZZA2I2yYzT34/edit?usp=sharing>" %}
Lecture #5: Methodologies \[Part 1] - Slides
{% endembed %}

{% file src="/files/gE1OdqDVQJlmboAlcF0n" %}
Slides PDF
{% endfile %}

This lecture will address the following points:

* Strategies Categorization and History
* Replay Strategies: Intro & Main Approaches
* Avalanche Strategies & Plugins


# Methodologies \[Part 2]

Main Continual Learning Strategies

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&t=4992s&v=eyVL8IuCMi4>" %}
Lecture #6: Methodologies \[Part 2] - Video Recording
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1SBin-JySTzRuVX2X3BdjLT2-D93xevel29RlMpEPTsA/edit?usp=sharing>" %}
Lecture #6: Methodologies \[Part 2] - Slides
{% endembed %}

{% file src="/files/6NGVTUgESwOSN0NQIA7n" %}
Slides PDF
{% endfile %}

This lecture will address the following points:

* Regularization Strategies: Intro & Main Approaches
* Architectural Strategies: Intro & Main Approaches
* Avalanche Implementation


# Methodologies \[Part 3], Applications & Tools

Main Continual Learning Strategies, Applications an Tools

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&t=2147s&v=mjDhCyab3Sg>" %}
Lecture #7: Methodologies \[Part 3], Applications & Tools - Video Recording
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1uEso1T1_ONqOIwQvCQvOOpgxwWQ3wWrWEVu5cxsbq_Y/edit?usp=sharing>" %}
Lecture #7: Methodologies \[Part 3], Applications & Tools - Slides&#x20;
{% endembed %}

{% file src="/files/mFw5Y8VwWrj8BCz6uneH" %}
Slides PDF
{% endfile %}

In this lecture we will address the following points:

* Hybrid Strategies: Intro & Main approaches
* Avalanche Implementation
* Applications of Continual learning: Past, Present and Future
* The Continual Learner Toolbox


# Frontiers in Continual Learning

Cutting-edge Research and Promising Directions

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&v=vxX_DA7gsa4>" %}
Lecture #8: Frontiers in Continual Learning - Video Recording
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1IW5EcWx-ZUDEk4RfeL6t3fbAhXlLfkjX_IaxJDeg770/edit?usp=sharing>" %}
Lecture #8: Frontiers in Continual Learning - Slides
{% endembed %}

{% file src="/files/ekh3AQQf7IL3GJ9MGHAo" %}
Slides PDF
{% endfile %}

In this lecture we will address the following points:

* Advanced Topics & Promising Future Directions
* Distributed Continual Learning
* Continual Sequence Learning
* Conclusion


# Avalanche Dev Day

An event for discussing Avalanche developments

The "**Avalanche Dev Day**" is a annual event organized by **ContinualAI** to discuss relevant ideas related to the development of **Avalanche**: the end-to-end reference library for Continual Learning.

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&v=QPUCa23EygI>" %}
Avalanche Dev Day 2021 - Video Recording
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1wXPHwii8HZHgdwm4ADVfK_tutTdCFxygnjSUQJGKsvA/edit?usp=sharing>" %}
Avalanche Dev Day 2021 - Slides
{% endembed %}

**When & Where**

The event will take place in a mixed in-person / virtual modality from **16:00 - 18:00 CET**. The in-person event will take place in "*Sala Seminari Est*" Largo B. Pontecorvo, 356127, Pisa, Italy. You'll be able to follow the event online using this [MS Teams link](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MzdiMDczNDEtMjFkMC00MDBlLTlhN2MtZTNhYTlkNTU4ZDYx%40thread.v2/0?context=%7b%22Tid%22%3a%22c7456b31-a220-47f5-be52-473828670aa1%22%2c%22Oid%22%3a%220a28369e-b6fa-4773-9485-471e4958e55c%22%7d).\
\
**Program**

*Opening*\
*Avalanche Beta Presentation*\
*Avalanche Panel & Q\&As with the main maintainers*\
*Next Steps in Avalanche*

![](/files/3HkfFf7tajL1soyuYO4x)


# Invited Talks

Two Guest Lectures on Advanced CL Topics

{% embed url="<https://www.youtube.com/watch?ab_channel=ContinualAI&v=_MYppmNaS1k>" %}
Guest Lectures - Video Recording
{% endembed %}

{% embed url="<https://docs.google.com/presentation/d/1ftEHCllRS9cQ8NBU2zT3BjhjQnAqQ8GxfD9zruRG9kA/edit?usp=sharing>" %}
Guest Lectures - Slides
{% endembed %}

### Ghada Sokar

**Title**: ***"**&#x41;ddressing the Stability-Plasticity Dilemma in Rehearsal-Free Continual Learning"*

**Abstract**: *Catastrophic forgetting is one of the main challenges to enable deep neural networks to learn a set of tasks sequentially.  However, deploying continual learning models in real-world applications requires considering the model efficiency. Continual learning agents should learn new tasks and preserve old knowledge with minimal computational and memory costs. This requires the agent to adapt to new tasks quickly and preserve old knowledge without revisiting its data. These two requirements are competing with each other. In this talk, we will discuss the challenges of solving the stability-plasticity dilemma in the rehearsal-free setting and how to address the requirements needed for building efficient agents. I will present how sparse neural networks are promising for this setting and show the results of the current sparse continual learning approaches. Finally, I will discuss the potential of detecting the relation between previous and current tasks in solving the stability-plasticity dilemma.*

{% file src="/files/Yz2n3xDbHbiAtMQa7gvu" %}

![Ghada Sokar](/files/yygDR9q5yLovvtx5rNyC)

[**Ghada Sokar**](https://research.tue.nl/en/persons/ghada-sokar) *is a Ph.D. student at the Department of Mathematics and Computer Science, Eindhoven University of Technology, the Netherlands. She is mainly working on continual learning. Her current research interests are continual lifelong learning, sparse neural networks, few-shot learning, and reinforcement learning. She is a teaching assistant at Eindhoven University of Technology. She contributes to different machine learning courses. She is also a member of the Inclusion & Diversity committee at ContinualAI. Previously, she was a research scientist at Siemens Digital Industries Software.*

### Gido Van De Ven

**Title**:  *"Using Generative Models for Continual Learning"*

**Abstract**: *Incrementally learning from non-stationary data, referred to as ‘continual learning’, is a key feature of natural intelligence, but an unsolved problem in deep learning. Particularly challenging for deep neural networks is ‘class-incremental learning’, whereby a network must learn to distinguish between classes that are not observed together. In this guest lecture, I will discuss two ways in which generative models can be used to address the class-incremental learning problem. First, I will cover ‘generative replay’. With this popular approach, two models are learned: a classifier network and an additional generative model. Then, when learning new classes, samples from the generative model are interleaved – or replayed – along with the training data of the new classes. Second, I will discuss a more recently proposed approach for class-incremental learning: ‘generative classification’. With this approach, rather than using a generative model indirectly for generating samples to train a discriminative classifier on (as is done with generative replay), the generative model is used directly to perform classification using Bayes’ rule.*

{% file src="/files/SEYAowkjPtlBkG6jrFqG" %}

![Gido van de Ven](/files/umTn9IgFX62KrLVNJPpu)

[Gido van de Ven](https://scholar.google.com/citations?user=3k0l15MAAAAJ\&hl=en) *is a postdoctoral researcher in the Center for Neuroscience and Artificial Intelligence at the Baylor College of Medicine (Houston, USA), and a visiting researcher in the Computational and Biological Learning Lab at the University of Cambridge (UK). In his research, he aims to use insights and intuitions from neuroscience to make the behavior of deep neural networks more human-like. In particular, Gido is interested in the problem of continual learning, and generative models are his principal tool to address this problem. Previously, for his doctoral research, he used optogenetics and electrophysiological recordings in mice to study the role of replay in memory consolidation in the brain.*


# Course Materials

All the course material in one page!

### [Introduction & Motivation](/lectures/introduction)

{% file src="/files/NEzsFHLeT0eG7VKTKq7D" %}
Slides PDF
{% endfile %}

**Classic readings on catastrophic forgetting**

[Catastrophic Forgetting; Catastrophic Interference; Stability; Plasticity; Rehearsal.](http://www.tandfonline.com/doi/abs/10.1080/09540099550039318) by and Anthony Robins. *Connection Science*, 123--146, 1995.

[Using Semi-Distributed Representations to Overcome Catastrophic Forgetting in Connectionist Networks](https://www.aaai.org/Papers/Symposia/Spring/1993/SS-93-06/SS93-06-007.pdf) by and Robert French. *In Proceedings of the 13th Annual Cognitive Science Society Conference*, 173--178, 1991. \[sparsity]

**Check out additional material for popular reviews and surveys on continual learning.**

[Lifelong Machine Learning](https://www.cs.uic.edu/~liub/lifelong-machine-learning.html), Second Edition. by Zhiyuan Chen and Bing Liu. Synthesis Lectures on Artificial Intelligence and Machine Learning, 2018.

### [*Understanding Catastrophic Forgetting*](/lectures/understanding-catastrophic-forgetting)

{% file src="/files/33N6wKWTKh0HZUvPrgLw" %}
Slides PDF
{% endfile %}

Classic references on Catastrophic Forgetting provided above.

[Does Continual Learning = Catastrophic Forgetting?](http://arxiv.org/abs/2101.07295), by A. Thai, S. Stojanov, I. Rehg, and J. M. Rehg,  arXiv, 2021.

[An Empirical Study of Example Forgetting during Deep Neural Network Learning](https://openreview.net/forum?id=BJlxm30cKm), by M. Toneva, A. Sordoni, R. T. des Combes, A. Trischler, Y. Bengio, and G. J. Gordon, ICLR, 2019.

[Compete to Compute](http://papers.nips.cc/paper/5059-compete-to-compute.pdf), by R. K. Srivastava, J. Masci, S. Kazerounian, F. Gomez, and J. Schmidhuber, NIPS, 2013 (**Permuted MNIST task**).

### [*Scenarios & Benchmarks*](/lectures/scenarios-and-benchamarks)

{% file src="/files/UWLfC2IK5b5xk5YVpjo8" %}
Slides PDF
{% endfile %}

**CL scenarios**

[Three scenarios for continual learning](http://arxiv.org/abs/1904.07734)**,** by G. M. van de Ven and A. S. Tolias, Continual Learning workshop at NeurIPS, 2018. **task/domain/class incremental learning**

[Continuous Learning in Single-Incremental-Task Scenarios](https://www.sciencedirect.com/science/article/pii/S0893608019300838), by D. Maltoni and V. Lomonaco, Neural Networks, vol. 116, pp. 56–73, 2019. **New Classes (NC), New Instances (NI), New Instances and Classes (NIC) + Single Incremental (SIT) /Multi (MT) /Multi Incremental (MIT) Task**

[Task-Free Continual Learning](https://openaccess.thecvf.com/content_CVPR_2019/papers/Aljundi_Task-Free_Continual_Learning_CVPR_2019_paper.pdf), by R. Aljundi, K. Kelchtermans, and T. Tuytelaars, CVPR, 2019.

[Continual Prototype Evolution: Learning Online from Non-Stationary Data Streams](https://arxiv.org/abs/2009.00919), by M. De Lange and T. Tuytelaars, ICCV, 2021. **Data-incremental and comparisons with other CL scenarios**

**Survey presenting CL scenarios**&#x20;

[Continual Learning for Robotics: Definition, Framework, Learning Strategies, Opportunities and Challenges](http://www.sciencedirect.com/science/article/pii/S1566253519307377) by Timothée Lesort, Vincenzo Lomonaco, Andrei Stoian, Davide Maltoni, David Filliat and Natalia Díaz-Rodr\ǵuez. *Information Fusion*, 52--68, 2020. ***Section 3, in particular.***

**CL benchmarks**

[CORe50: a New Dataset and Benchmark for Continuous Object Recognition](http://proceedings.mlr.press/v78/lomonaco17a.html), by V. Lomonaco and D. Maltoni, Proceedings of the 1st Annual Conference on Robot Learning, vol. 78, pp. 17–26, 2017.

[OpenLORIS-Object: A Robotic Vision Dataset and Benchmark for Lifelong Deep Learning](http://arxiv.org/abs/1911.06487), by Q. She et al. ICRA, 2020.

[Incremental Object Learning From Contiguous Views](https://openaccess.thecvf.com/content_CVPR_2019/html/Stojanov_Incremental_Object_Learning_From_Contiguous_Views_CVPR_2019_paper.htm), by S. Stojanov et al., CVPR, 2019. **CRIB benchmark**

[Stream-51: Streaming Classification and Novelty Detection From Videos](https://openaccess.thecvf.com/content_CVPRW_2020/html/w15/Roady_Stream-51_Streaming_Classification_and_Novelty_Detection_From_Videos_CVPRW_2020_paper.html), by R. Roady, T. L. Hayes, H. Vaidya, and C. Kanan, CVPR 2019.

### [*Evaluation & Metrics*](/lectures/evaluation-protocols-and-metrics)

{% file src="/files/8bg4dZoxB0ny17ac5trk" %}
Slides PDF
{% endfile %}

[Efficient Lifelong Learning with A-GEM](http://arxiv.org/abs/1812.00420), by A. Chaudhry, M. Ranzato, M. Rohrbach, and M. Elhoseiny, ICLR, 2019.  **Evaluation protocol with "split by experiences"**.

[Gradient Episodic Memory for Continual Learning](https://arxiv.org/abs/1706.08840), by D. Lopez-Paz and M. Ranzato, NIPS, 2017. **popular formalization of ACC, BWT, FWT.**

&#x20;[CLEVA-Compass: A Continual Learning EValuation Assessment Compass to Promote Research Transparency and Comparability](http://arxiv.org/abs/2110.03331), by M. Mundt, S. Lang, Q. Delfosse, and K. Kersting, arXiv, 2021.

[Don’t forget, there is more than forgetting: new metrics for Continual Learning](http://arxiv.org/abs/1810.13166), by N. Díaz-Rodríguez, V. Lomonaco, D. Filliat, and D. Maltoni, arXiv, 2018. **definition of additional metrics**

### [*Methodologies \[part 1\]*](/lectures/strategies)

{% file src="/files/gE1OdqDVQJlmboAlcF0n" %}
Slides PDF
{% endfile %}

**Replay**&#x20;

[GDumb: A Simple Approach that Questions Our Progress in Continual Learning](http://openaccess.thecvf.com/content_cvpr_2017/papers/Rebuffi_iCaRL_Incremental_Classifier_CVPR_2017_paper.pdf), by A. Prabhu, P. H. S. Torr, and P. K. Dokania, ECCV, 2020.

[Online Continual Learning with Maximal Interfered Retrieval](https://proceedings.neurips.cc/paper/2019/hash/15825aee15eb335cc13f9b559f166ee8-Abstract.html), by R. Aljundi et al., NeurIPS, 2019.&#x20;

**Latent replay**

[Latent Replay for Real-Time Continual Learning](https://ras.papercept.net/images/temp/IROS/files/0596.pdf), by Lorenzo Pellegrini, Gabriele Graffieti, Vincenzo Lomonaco, Davide Maltoni,  IROS, 2020.

**Generative replay**

[Continual Learning with Deep Generative Replay](http://papers.nips.cc/paper/6892-continual-learning-with-deep-generative-replay.pdf), by H. Shin, J. K. Lee, J. Kim, and J. Kim, NeurIPS, 2017.

[Brain-inspired replay for continual learning with artificial neural networks](https://www.nature.com/articles/s41467-020-17866-2), by G. M. van de Ven, H. T. Siegelmann, and A. S. Tolias, Nature Communications, 2020&#x20;

### [*Methodologies \[part 2\]*](/lectures/methodologies-part-2)

{% file src="/files/6NGVTUgESwOSN0NQIA7n" %}
*Slides PDF*
{% endfile %}

**L1, L2, Dropout**

[An Empirical Investigation of Cata](https://arxiv.org/abs/1312.6211)[trophic Forgetting in Gradient-Based Neural Networks](https://arxiv.org/abs/1312.6211), by Goodfellow et al, 2015.

[Understanding the Role of Training Regimes in Continual Learning](https://arxiv.org/pdf/2006.06958.pdf), by Mirzadeh et al., NeurIPS, 2020.

**Regularization strategies**

[Learning without Forgetting](https://arxiv.org/pdf/1606.09282.pdf), by Li et al., TPAMI 2017.

[Overcoming catastrophic forgetting in neural networks](https://arxiv.org/pdf/1612.00796.pdf), by Kirkpatrick et al, PNAS 2017.

[Continual Learning Through Synaptic Intelligence](https://arxiv.org/pdf/1703.04200.pdf), by Zenke et al., 2017.

[Continual learning with hypernetworks](https://arxiv.org/abs/1906.00695), by Von Osvald et al., ICLR 2020.

**Architectural strategies**

[Rehearsal-Free Continual Learning over Small Non-I.I.D. Batches](https://arxiv.org/pdf/1907.03799.pdf), by Lomonaco et al, CLVision Workshop at CVPR 2020. **CWR\***

[Progressive Neural Networks](https://arxiv.org/abs/1606.04671), by Rusu et al., arXiv, 2016.

[PackNet: Adding Multiple Tasks to a Single Network by Iterative Pruning](https://arxiv.org/abs/1711.05769), by Mallya et al., CVPR,  2018.

[Overcoming catastrophic forgetting with hard attention to the task](https://arxiv.org/abs/1801.01423), by Serra et al., ICML, 201&#x38;**.**

[Supermasks in Superposition](https://arxiv.org/pdf/2006.14769.pdf), by Wortsman et al., NeurIPS, 2020.

### [*Methodologies \[part 3\] & Applications*](/lectures/methodologies-part-3-applications-and-tools)

{% file src="/files/mFw5Y8VwWrj8BCz6uneH" %}
Slides PDF
{% endfile %}

**Hybrid strategies**

[Gradient Episodic Memory for Continual Learning](https://arxiv.org/abs/1706.08840), by Lopez-Paz et al, NeurIPS 2017 **GEM**.

[iCaRL: Incremental Classifier and Representation Learning](https://arxiv.org/abs/1611.07725), by Rebuffi et al, CVPR, 2017.

[Progress & Compress: A scalable framework for continual learning](#invited-lectures), by Schwarz et al, ICML, 2018.

[Latent Replay for Real-Time Continual Learning](http://ras.papercept.net/images/temp/IROS/files/0596.pdf), by L. Pellegrini et al., IROS 2020 **AR1\***.

**Applications**

[Continual Learning at the Edge: Real-Time Training on Smartphone Devices](https://arxiv.org/abs/2105.13127)**,** by L. Pellegrini et al.,  ESANN, 2021.

[Continual Learning in Practice](https://arxiv.org/abs/1903.05202v2) by T. Diethe et al., Continual Learning Workshop at NeurIPS, 2018.

**Startups / Companies:** [CogitAI](https://www.cogitai.com/), [Neurala](https://www.neurala.com/), [Gantry](https://gantry.io)

**Tools / Libraries:** [Avalanche](https://avalanche.continualai.org/), [Continuum](https://github.com/Continvvm/continuum), [Sequoia](https://github.com/lebrice/Sequoia), [CL-Gym](https://github.com/imirzadeh/CL-Gym)

### [*Frontiers in Continual Learning*](/lectures/frontiers-in-continual-learning)

{% file src="/files/ekh3AQQf7IL3GJ9MGHAo" %}
Slides PDF
{% endfile %}

[Embracing Change: Continual Learning in Deep Neural Networks](https://www.cell.com/trends/cognitive-sciences/fulltext/S1364-6613\(20\)30219-9), by Hadsell et al., Trends in Cognitive Science, 2020. **Continual meta learning - Meta continual learning**

[Towards Continual Reinforcement Learning: A Review and Perspectives](https://arxiv.org/abs/2012.13490), by Khetarpal et al, arXiv, 2020.&#x20;

[Continual Unsupervised Representation Learning](https://proceedings.neurips.cc/paper/2019/file/861578d797aeb0634f77aff3f488cca2-Paper.pdf)**,** by D. Rao et al., NeurIPS 2019.

**Distributed Continual Learning**\
[Ex-Model: Continual Learning from a Stream of Trained Models](http://arxiv.org/abs/2112.06511), by Carta et al., arXiv, 2021.&#x20;

**Continual Sequence Learning**\
[Continual learning for recurrent neural networks: An empirical evaluation](https://www.sciencedirect.com/science/article/abs/pii/S0893608021002847), by Cossu et al, Neural Networks, vol. 143, pp. 607–627, 2021.\
[Continual Learning with Echo State Networks](http://arxiv.org/abs/2105.07674), by Cossu et al., ESANN, 2021.&#x20;

### [*Invited Lectures*](/invited-lectures/invited-talks)

#### Software

[Avalanche: an End-to-End Library for Continual Learning](https://github.com/ContinualAI/avalanche), the software library based on PyTorch used for the coding session of this course.

[ContinualAI Colab notebooks](https://github.com/ContinualAI/colab), coding continual learning from scratch in notebooks


# Additional Material

Additional material you can freely explore!

#### Popular Continual Learning Reviews and Surveys

* [Continual Learning for Robotics: Definition, Framework, Learning Strategies, Opportunities and Challenges](http://www.sciencedirect.com/science/article/pii/S1566253519307377) by Timothée Lesort, Vincenzo Lomonaco, Andrei Stoian, Davide Maltoni, David Filliat and Natalia Díaz-Rodr\ǵuez. *Information Fusion*, 52--68, 2020.
* [Continual Lifelong Learning with Neural Networks: A Review](http://www.sciencedirect.com/science/article/pii/S0893608019300231) by German I Parisi, Ronald Kemker, Jose L Part, Christopher Kanan and Stefan Wermter. *Neural Networks*, 54--71, 2019.
* [A Continual Learning Survey: Defying Forgetting in Classification Tasks](http://arxiv.org/abs/1909.08383) by Matthias De Lange, Rahaf Aljundi, Marc Masana, Sarah Parisot, Xu Jia, Ales Leonardis, Gregory Slabaugh and Tinne Tuytelaars. *IEEE Transactions on Pattern Analysis and Machine Intelligence*, 2021.

#### Additional papers

* [Never-Ending Learning](https://dl.acm.org/doi/10.1145/3191513) by Tom Mitchell, William W Cohen, E Hruschka, Partha P Talukdar, B Yang, Justin Betteridge, Andrew Carlson, B Dalvi, Matt Gardner, Bryan Kisiel, J Krishnamurthy, Ni Lao, K Mazaitis, T Mohamed, N Nakashole, E Platanios, A Ritter, M Samadi, B Settles, R Wang, D Wijaya, A Gupta, X Chen, A Saparov, M Greaves and J Welling. *Communications of the Acm*, 2302--2310, 2015.
* [The ART of Adaptive Pattern Recognition by a Self-Organizing Neural Network](https://ieeexplore.ieee.org/document/33) by Gail A. Carpenter and Stephen Grossberg. *Computer*, 77--88, 1988.
* [CHILD: A First Step Towards Continual Learning](https://doi.org/10.1023/A:1007331723572) by and Mark B Ring. *Machine Learning*, 77--104, 1997.

#### Useful Links about Resources on Continual learning

* [ContinualAI association main website](https://www.continualai.org/)&#x20;
  * explore the ContinualAI projects and people
* [YouTube account of ContinualAI](https://www.youtube.com/continualai) with many videos and seminars on continual learning
* [ContinualAI wiki](https://wiki.continualai.org/), general resources on continual learning
  * research venues, industry players, software, tutorials and more
* [Continual Learning Papers](https://github.com/ContinualAI/continual-learning-papers) *on GitHub*
  * you can see an organized list of continual learning papers&#x20;
* [Continual Learning Papers](https://www.continualai.org/papers/) with a dynamic and easy-to-use interface to navigate papers, aligned with GitHub resource above

#### Related Courses

* ["Continual Learning: Towards Broad AI"](https://sites.google.com/view/ift6760-b2021): Advanced, seminar-style course at MILA, 2021.&#x20;


# Your Instructor

Meet the main instructor of the course!

This short course on *Continual Learning* has been designed and implemented by [Vincenzo Lomonaco](https://www.vincenzolomonaco.com/) with the help of the [teaching assistants](/about-us/teaching-assistants) and the feedback from the [ContinualAI](http://www.continualai.org/) community.&#x20;

![Vincenzo Lomonaco](/files/YFylq8dWdPZ1vPAEpV41)

[**Vincenzo Lomonaco**](https://www.vincenzolomonaco.com) is a 29 years old **Assistant Professor** at the **University of Pisa, Italy** and *Co-Founding President* of [ContinualAI](https://www.continualai.org/), a non-profit research organization and the largest open community on *Continual Learning for AI*. Currently, He is also a *Co-founder* and *Board Member* of [AI for People](http://aiforpeople.org/), Director of the [ContinualAI Lab](https://www.continualai.org/lab) and a proud member of the [*European Lab for Learning and Intelligent Systems (ELLIS)*](https://www.vincenzolomonaco.com/cv_and_contacts/).

In Pisa, he works within the [Pervasive AI Lab](http://pai.di.unipi.it/) and the [Computational Intelligence and Machine Learning Group](http://groups.di.unipi.it/groups/ciml/), which is also part of the and the [Confederation of Laboratories for Artificial Intelligence Research in Europe (CLAIRE)](https://claire-ai.org/).

Previously, he was a Post-Doc @ University of Bologna (with: [Davide Maltoni](https://www.vincenzolomonaco.com/cv_and_contacts/)) where he also obtained his PhD in early 2019 with a dissertation titled [*“Continual Learning with Deep Architectures”*](http://amsdottorato.unibo.it/9073/) (on a topic he’s been working on for more than 7 years now) which was recognized as one of the top-5 AI dissertation of 2019 by the [*Italian Association for Artificial Intelligence*](https://www.vincenzolomonaco.com/cv_and_contacts/).

For more than 5 years he worked as a teaching assistant for the [Machine Learning](http://bias.csr.unibo.it/maltoni/ml/) and [Computer Architectures](http://bias.csr.unibo.it/maltoni/arc/) courses in the Department of Computer Science of Engineering (DISI) at UniBo. In the past Vincenzo have been a *Visiting Research Scientist* at [AI Labs](https://www.vincenzolomonaco.com/cv_and_contacts/) in 2020, at [Numenta](https://numenta.com/) (with: [Jeff Hawkins](https://www.vincenzolomonaco.com/cv_and_contacts/), [Subutai Ahmad](https://www.vincenzolomonaco.com/cv_and_contacts/)) in 2019, at [ENSTA ParisTech](https://www.ensta-paristech.fr/) (with: [David Filliat](https://www.vincenzolomonaco.com/cv_and_contacts/)) in 2018 and at [Purdue University](https://www.purdue.edu/) (with: [Eugenio Culurciello](https://www.vincenzolomonaco.com/cv_and_contacts/)) in 2017. Even before, he was a Machine Learning Software Engineer @ [iDL in-line Devices](http://www.moistori.com/) and a Master Student @ UniBo.

His main research interest and passion is about **Continual Learning** in all its facets. In particular, I love to study *Continual Learning* under three main lights: *Neuroscience*, *Deep Learning* and *Practical Applications*, all within a *AI Sustainability* developmental framework.


# Teaching Assistants

Your Teaching Assistants

This course would have not been possible without the help of two great **teaching assistants**: [Antonio Carta](http://pages.di.unipi.it/carta/) and [Andrea Cossu](https://andreacossu.github.io/)! They helped us significantly improve the quality of the material and offered their technical/didactic support along the entirety of the course!

{% hint style="info" %}
*Please refer to them and the* [*course instructor*](/about-us/your-instructor) *for any issue you may have.*&#x20;
{% endhint %}

<div align="center"><img src="/files/YQ3no60njZkgQjLmLFkg" alt="Andrea Cossu"></div>

[**Andrea Cossu**](https://andreacossu.github.io/) *is a PhD Student in Data Science, under the supervision of* [*Davide Bacciu*](http://pages.di.unipi.it/bacciu/)*,* [*Vincenzo Lomonaco*](https://www.vincenzolomonaco.com/) *and* [*Anna Monreale*](http://pages.di.unipi.it/amonreale/)*. His research focuses on Continual Learning, with applications to Recurrent Neural Networks models and sequential data processing. He is a member of the* [*Pervasive AI Lab*](http://pai.di.unipi.it/) *and of the* [*Computational Intelligence and Machine Learning (CIML)*](https://ciml.di.unipi.it/) *group at University of Pisa. He is a Board Member and Treasurer of* [*ContinualAI*](https://www.continualai.org/)*.*\
*He is also the Principal Maintainer of* [*ContinualAI wiki*](https://wiki.continualai.org/) *and one of the main maintainers of* [*Avalanche*](https://avalanche.continualai.org/)*, an End-to-End library for Continual Learning based on* [*PyTorch*](https://pytorch.org/)*.*

![Antonio Carta](/files/JLAUoCf1xICqVHqiDdNj)

[**Antonio Carta**](http://pages.di.unipi.it/carta/) *is a Post-Doc in the Department of Computer Science at the University of Pisa, under the supervision of Davide Bacciu. He is also a member of the Computational intelligence and Machine Learning group (* [*CIML*](https://ciml.di.unipi.it/)*) and Pervasive AI Lab (* [*PAI*](http://pai.di.unipi.it/)*) at the University of Pisa, and a member of ContinualAI. His research is focused on continual learning methods applied to deep learning models and recurrent neural networks.*


