Continual learning (or "life-long learning") is possible with Inductive Logic
Programming (ILP). In ILP, concepts represented by logic programs are learned
from examples and background knowledge. Both the examples and the background
knowledge are themselves logic programs, so each new concept learned can be
added to the background knowledge and used to learn a new concept.

Semi-formally, the standard ILP problem is as follows. Given positive examples
E+, negative examples E- and background knowledge B, where B ⊭ E+, find a
hypothesis H, such that H ∧ B ⊨ E+ and ∀ e- ∈ E-: H ∧ B ⊭ e- [1]. H, B, E+ and
E- are all logic programs. In life-long learning, each new H is added to B so
that B₁ = B₀ ∪ H₁, B₂ = B₁ ∪ H₂, ..., Bₙ = Bₙ₋₁ ∪ Hₙ and for all Hᵢ , Hᵢ ∧ Bᵢ ⊨
Eᵢ+ and ∀ e- ∈ Eᵢ-: Hᵢ ∧ Bᵢ ⊭ e-.

To give an informal example, suppose B₀ includes a representation of the
successor relation over the natural numbers as a logic program, and E₁+ and E₁-
are examples of addition of two natural numbers. Then H₁ will be a theory of
addition over natural numbers consistent with E₁-, E₁+ and based on B₁; and B₂
will be B₁ ∪ H₁, i.e. the successor relation plus the just-learned theory of
addition. Then if E₂+ and E₂- are examples of natural number multiplication, H₂
will be a theory of multiplication based on the successor and addition theories
in B₂. And so on.

This is possible thanks to the uniform representation of background knowledge
and learned hypotheses as logic programs [2]. Because both what we learn and
what we learn from are the same kind of object, we can keep adding one to the
other to our heart's content.

In neural nets, this kind of continual learning would only be possible if
trained models could be reused as features. But that's not possible because
neural nets' features are attribute-value pairs, rather than entire models. In
other words, there's a mismatch between what is learned, and the features it's
learned from. So it's impossible to incorporate previously acquired knowledge to
new learning [3].

As far as I can tell, the continual learning approach described in the article
is not addressing this fundamental limitation of neural nets and so I remain
skeptical that it can really achieve its aims. From what I understand it only
involves training again, with new data, everytime a new concept must be learned.
I strongly doubt this kind of thing can be sustained for long, certainly not
enough time to learn a rich "library" of background knowledge anywhere near
the kind that humans acquire throughout their lives.

To achieve continual learning with neural nets, radical new approaches will be
necessary and they will have to completely change the way that neural nets are
constructed and trained. Is there any such work being done?

_____________

[1] Read ⊨ as "entails" and ⊭ as "does not entail"; the whole formula roughly
says that H must be consistent with the examples, relative to the background
knowledge. Another way to see this is that H is a new hypothesis based on new
observations, E+ and E-, and a past theory, B.

[2] Since E+, E- are also logic programs, we can generate new examples too, but
that's not generally necessary because ILP algorithms generalise robustly from
few examples. We don't really need to augment a training set, like conventional
machine learning approaches often must.

[3] It's possible to reuse learned features but not the final layer of a
supervised model. So for example it's possible to learn to classify new images
but it's not possible, having learned an image classifier, to then reuse the
learned classifier as a feature to learn, say, captioning images.