覚えるために学べ。GANを用いて過去に覚えたことを忘れないようにするクラス分類器

3つの要点

✔️過去に学習したタスクを忘れず、次々に新しいタスクを覚えるニューラルネットワークを提案
✔️GANを用いて利用できない過去のデータを生成してニューラルネットワークを学習させる
✔️ニューラルネットワークを人間の脳神経のように動的に変化させることで効率的に学習させる

 

 

Learning to Remember
今回紹介する論文はタイトルがキャッチ―かつ挑戦的な論文になっています。

現在、機械学習において個人情報や保守義務などに関わる学習データは増大し、管理が難しかったり公開可能なデータは少ない一方で追加のデータを学習させたいような場合が増えています。
さらに、ただ単に過去に学習したモデルに追加のデータを学習させると、過去に覚えたタスクを忘れてしまう「Catastrophic Forgetting(破滅的忘却)」が起きてしまい、学習モデルが使い物にならなくなってしまいます。

本論文はこの破滅的忘却に対処するためにGANを利用し、Synaptic Plasticity(シナプス可塑性)を持たしたモデルを提案しています。
Synaptic Plasticity(シナプス可塑性)とはシナプスが外界の刺激などによって常に機能的、構造的な変化を起こしていく性質のことであり、本論文ではニューラルネットワークが動的に機能的、構造的変化を起こすことで効率的に学習していきます。
それでは見ていきましょう。

概要

本論文のテーマは「Continual Learning(継続学習)」となっています。継続学習とはタスク(例:クラス分類)がt1~t10まであったとして、t1、t2と順にタスクを学習していきつつ過去に学習したタスクの精度は落とさないようにする学習方法です

継続学習は各ドメイン(画像クラス分類、画像生成、etc…)における課題であり、本論文では画像クラス分類と画像生成両者にアプローチした提案手法となっています。

本論文を理解するためにはACGAN(conditional GANの一種)を理解する必要がありますが、これは非常にシンプルなアイデアであります。まずはこの技術を追っていきましょう。

※1 機械学習の分野ではContinual Learning(継続学習)、Incremental Learning(増分学習)、Life-long Learning(生涯学習)は上記のような手法として統一的に扱われています。

  ACGAN (Auxiliary Classifier Generative Adversarial Nets)

ACGANはICML2017で登場しました。
ACGANはconditional GAN(cGAN)の一種であり、GANにおけるDiscriminatorに補助のクラス分類器を付けることでクラスを指定した画像生成が可能になったGANです。ACGANの図は下図の一番右であり、c=1、c=2と書いてあるのが補助のクラス分類器です。

引用:ACGAN-PyTorch

  本論文におけるACGANの役割

今回紹介する論文にこのACGANがどのように絡んでくるかを説明します。
まず、今回紹介する論文の前提条件として過去に学習したタスクの実データにはアクセスできないという制約があります。ACGANはクラス分類器がアクセスできない過去の実データに代わり、クラス分類器が唯一アクセスできる過去のデータを生成します。
ACGANはノイズから画像を生成するため、個人情報や保守義務といったことには抵触しません。

これがACGANの今回紹介する論文での役割です。
下図に本論文の提案アーキテクチャを示します。Not accessibleというのがアクセス不可能な過去の実データを指しており、G(Generator)から矢印が伸びるAccessibleというのがアクセス可能なACGANのGeneratorが生成した過去の生成データです。
このアクセス可能なデータを用いてD(Discriminator)のLcls(クラス分類損失)を最小化していきます。LadvはGANの訓練に用いる敵対的損失を表しています。

本論文のメインアイデアと貢献

  メインアイデア

本論文のメインアイデアとして重要なものは3つあります。

この記事をシェアする