Continual Learning (Lifelong Machine Learning) のことを調べた

Continual Learning (今のところ和訳は特に当てられていないようだ)について簡単に調べたので、まとめておく。
何も考えずに和訳を当てるとすると、“継続学習"といったところだろうか。

Continual Learning / Lifelong (Machine) Learning: Overview

呼び方について

Continual LearningもしくはLifelong (Machine) Learningと呼ばれることが多いようだ。

NeurIPS 2018のワークショップ名は"Continual Learning"なので、こちらがメジャーな呼称のように見えるが、
ワークショップに投稿されている論文のタイトルを見るとどちらも登場しているので、英語でもまだ定まっていないように見える。

Lifelong~は生涯学習を指すので、個人的にはActive Learningのように教育系のタームと被らないContinualのほうが良いとおもうが…
ちなみに、サーベイ中に生涯学習の意味で"Lifelong Learning"と記述している情報系の論文にも遭遇した。

ここでは面倒なので、Continual Learningもしくはその頭文字を取ってCLとする(しかし、CLだとCurriculum Learningともかぶるな…)。

歴史

おそらくCLの概念を言い出したのは、CogitaiのファウンダーのMark Ringが1994年に出した 博士論文(pdf)

ここで彼は、機械学習で新たな知識を学習する際に、すでに学習・習得した知識を再利用するように学習されるべきで、そのために
継続的かつ、階層的かつ、追加的に学習できるフレームワークが必要
だと主張している。

それから継続的にCLに関わる論文がでたり、研究グループができたりしながら今に至っている。

CL自体は概念的かつ、複数の機械学習分野を横断的に議論する必要のある話なので、これまでいろいろな学会にワークショップ・論文が登場している。
以下にワークショップとチュートリアルへのリンクを挙げておく。

有志によるアカデミックコミュニティも存在する。

残念ながら日本語で詳しく説明された資料はほとんど存在しない。
CLについて取り扱っているものを以下にリストアップしておく。

CLの問題設定

CL: Precondition and Goal

前で紹介したNeurIPS 2018でのワークショップイントロでは、

  1. 学習器はインタラクション可能なエージェントであること
  2. エージェントは不特定多数のタスクを学習できること
  3. エージェントは、下記の制約のもとで、シーン(センサ入力・観測値)、アクション、報酬を通じて環境に作用して__将来の報酬を最大化する__こと
    • 初期状態(t=0)が一度しかない
    • 単一のアルゴリズムで動作し、アルゴリズム自体が不変であること
    • 計算リソースは有限であること(学習が進むにつれて計算時間やメモリ使用量が増えてはいけない)

がCLの問題設定だと言っている。

あくまでRingの見方ではあるので、現行の研究ではこれを緩和したり再解釈したりしているものも存在するだろう。
学習過程ででアルゴリズムが変化してもいいんじゃないかという話はあると思うし(メタ学習とか入ってくるとややこしい話になる)、
途中でエージェントの世代交代を導入(初期状態が複数回存在する)したいという考えもあるんじゃないかな。

CL: Difficulties

従来のマルチタスク学習と違うところを含めて、CLの研究課題はだいたい下記になると思う。

  • 与えられるタスクの数が不明
  • 与えられるタスクの順序が不明
  • タスク同士の境界は与えられない
  • スケーラビリティを保証する(有限な計算リソース)
  • 新しいタスクを学習することで破壊的忘却(catastrophic forgetting)が発生しない
  • タスクを学習することで、次の新しいタスクを学習するコストが低減する
  • 新しいタスクを学習することで、これまで学習したタスクへの性能が向上する

サーベイしてみると、catastrophic forgettingや新タスク学習コスト低減あたりを取り扱う研究が多そうだ。
タスク境界を教師なしで推定することや、新タスク学習によって既存タスク性能の向上を狙うところもかなり重要だと思う。

複数の指標で多角的にモデルを評価できるようなベンチマークのやり方が決まってくればそれぞれ手を付ける人が増えてきそうな感もある。

主要論文リスト

探せば結構関連した論文は多く見つかるが、個人的に読んでおきたいものを中心にリストアップしておく。