Episodic Memory in Lifelong Language Learning
Cyprien de Masson d'Autume, Sebastian Ruder, Lingpeng Kong, Dani Yogatama
Proceedings of NeurIPS 2019
https://arxiv.org/abs/1906.01076
学習データは連結されて1 passになる.学習するデータセットの順番にロバストにするために,4つの異なった順番(順番i, ii, iii, ivはAppendix A参照)で学習させた.local adaptationの学習率は,4タスクで最初のデータセットに対して行い,その後の順序に関しては最も良かった設定を利用.
テキスト分類とQAの大きな違いとして,テキスト分類では新しい知識がクラスとして他のデータセットで現れるのに対して,QAの範囲を予測する問題ではデータセット間で同様に動くことが求められる
Neighborsの数
local adaptationのときのK-NNのKの数を32以外にも変えてみる.local adaptationは関連する事例を利用することで性能を上げていたことから,このneighborsの値を増やしていくにつれて,直感通り性能が上がる.ただ今回設定した32で割と十分な性能がでている(というかこれ以上の値はout-of-memoryでQAが使えなくなった)
Episodic Memory in Lifelong Language Learning Cyprien de Masson d'Autume, Sebastian Ruder, Lingpeng Kong, Dani Yogatama Proceedings of NeurIPS 2019 https://arxiv.org/abs/1906.01076
概要
様々なデータセットを特別なデータセット識別子なしで1モデルで学習できる手法の提案.sparse experience replayとlocal adaptationを行うepisodic memoryモデルにより,catastrophic forgetting(破滅的忘却)を軽減させる手法を提案. テキスト分類とQAタスクで実験を行い,sparse experience replayとlocal adaptionが補間的に働き,新しいデータセットを1モデルで連続的にモデル化することができた.また,パソーマンス減を最小限にし,メモリに保存されている例をランダムに選ぶことによって,episodic moduleを~50~90%削減させることができた.我々は,episodic memoryは,汎用言語インテリジェンスの重要なブロックと捉え,我々のモデルはその最小の方向性を示した.
イントロ
ライフタイムにおいて知識を連続的に蓄え,それらを再利用できることは汎用インテリジェンスにとって重要な指針である.現在のSOTAなモデルは,1つのデータセットに対してはそれが十分な学習量を伴う場合,高い性能を見せるが,データシフトなどが起こると獲得済みの知識を再利用できなかったりする.この現象はcatastrophic forgettingと呼ばれる.
破滅的忘却に対する主な3つのアプローチとして下記のようなものがあり,最近の手法では組み合わされて利用されたりする.
言語系のモデルでは,教師なし事前学習によって多くの言語系タスクが攻略されてきた.しかしこれらのモデルは多くのin-domainの学習データを必要とし,すぐに特定データセットにオーバーフィット.結果として破滅的忘却に陥る.
本論では,lifelongセットアップにおける言語のモデル学習においてepisodic memoryが果たす役割を調査する.そのためにsparse experience replayとlocal adaptationを行い,異なるデータ分布からサンプルした事例を連続的にモデルに学習させる.
我々のセットアップは,典型的なlifelong学習のセットアップと異なり,学習セットに対して1回のステップで終わる.更にデータセットは異なるタスクで複数あり,それらのデータセットの識別子を与えて学習するわけではない.
以下貢献ポイント
モデル
様々なデータセットがシーケンシャルにやってくる状態で,同じモデルでそれらすべての事例の予測を行うモデル.既存研究と異なり,データセットの識別子のようなものは用意しない.学習のゴールは,下記のような負の対数確率を最小化するWを見つけること.
我々のモデルは,事例のエンコーダー,タスクデコーダー,episodic memoryモジュールの3コンポーネントから構成されている.
事例のエンコーダー
BERT baseを採用.テキスト分類では入力xは分類スべき文書を表し,QAではコンテキスト(文脈)と質問を連結したものを指す.
タスクのデコーダー
一般的にBERTで行われる方法を採用.テキスト分類では文書の最初のトークンの位置のエンコード結果を,線形変換しsoftmaxをとって文書のクラスを推測する.QAでは,質問に対する答えは,コンテキストの特定のハンウィを示すので,開始位置と終了位置候補の位置のエンコード結果を線形変換し,softmax.開始位置と終了位置の掛け算が最大となるものを答えの箇所とする.
episodic memory
既に見たことのある事例を保存し,sparse experience replayとlocal adaptationで利用して忘却を軽減させる.
このモジュールは事例のエンコーダーとは別の事前学習済みBERTをkey networkとして利用する.このBERTはデータ分布が変わっても表現が変わることを避けるためにパラメタは固定.得られるキー表現をu_tとする.
テキスト分類では,文書の最初のトークン位置のエンコード結果をキーとする.QAタスクでは,質問文の最初のトークン位置のものを採用する.両タスクにおいて,入力とそのラベル <x_t, y_t>をメモリのバリューとして保存する.(key-value式,tは1-Tで事例番号)
Write すべての学習事例をメモリに書き込むこともできるが現実的ではないので,適当な確率で,新しくみた事例を書き込むかどうかを決定する,random writeを採用する.予備実験でこの手法は,他手法よりも優れていることが分かったが,分析はfuture workに置いておく
Read メモリモジュールは2つのretrieve手法がある.1: ランダムサンプリング,2: K-Nearest Neighbors.ランダムサンプリングはsparce experience replayに利用し,K-NNはlocal adaptationに利用する(次の章で詳しく)
学習と推論
Algo 1, 2に学習と推論の手順を示す.
Sparse experience replay
通常の学習中に,適当なインターバルでメモリから事例を一様に抽出し,enc-decネットワークの勾配を更新する.これはコストが高いので,10,000の新事例に対して100事例をランダムに取得し,1回だけ勾配更新をかける
Local adaptation
推論時のテスト事例から,Key networkを使ってqueryベクターを取得し,メモリに検索をかけてK個のユークリッド距離的に近い事例を取得.これをlocal adaptationに利用する.Memory-based Parameter Adaptation (Sprechmann 2018)と似ている手法.
local adaptationは勾配ベースの手法で,enc-decモデルのパラメタ(W)を更新し,ローカルパラメタW_iを獲得し,テスト事例iに利用する.W_iは下記のように更新
実験
データセット
テキスト分類 データセットはZhang 2015のこれを利用する .ニュース分類AGNews (4クラス),感情分類Yelp (5クラス),記事分類DBPedia (14クラス),質問回答カテゴリ分類Yahoo/Amazon (Yahoo 10クラス,Amazon5クラス).YahooとAmazonのデータセットはマージ.全体で33クラス分類の実験セットに.このままだとデータ数に偏りがあるのでバランスさせた(偏りデータセットに対してはfuture work)
QA SQuAD 1.1,TriviaQA, QuACを利用.SQuADはWikipediaベースの機械読解タスク,TriviaQAはトリビアマニアのサイトから集めた事例,QuACはinformation-seekingの対話スタイルのデータセット.生徒がWikipediaの記事に関する質問をして,先生が答えるスタイル
モデル
実験では下記のモデルを比較
実験パラメタ
4.3参照
結果
学習データは連結されて1 passになる.学習するデータセットの順番にロバストにするために,4つの異なった順番(順番i, ii, iii, ivはAppendix A参照)で学習させた.local adaptationの学習率は,4タスクで最初のデータセットに対して行い,その後の順序に関しては最も良かった設定を利用. テキスト分類とQAの大きな違いとして,テキスト分類では新しい知識がクラスとして他のデータセットで現れるのに対して,QAの範囲を予測する問題ではデータセット間で同様に動くことが求められる
メインの結果はTable 1.テキスト分類は正解率で,QAではF1スコア.
Fig 2はテキスト分類の正解率とQAのF1スコアを,様々な学習データセットを流していくタイミングで,記録したもの.MbPA++は一貫して他手法よりも安定して性能を維持できているのが分かる.
分析
Memory容量 先程の結果は,全事例をメモリに保存していた.そこでメモリに保存する事例を50%, 10%で減らして実験してみた.事例が減るにつれて性能は下がるが,軽微なもので住むことが分かる.
Neighborsの数 local adaptationのときのK-NNのKの数を32以外にも変えてみる.local adaptationは関連する事例を利用することで性能を上げていたことから,このneighborsの値を増やしていくにつれて,直感通り性能が上がる.ただ今回設定した32で割と十分な性能がでている(というかこれ以上の値はout-of-memoryでQAが使えなくなった)
計算複雑性 MbPA++の学習は,episodic memoryを持たないEnc-Decの学習と同じくらいの時間で済みます.というのもexperience replayは10,000ステップで100事例とスパースだから. それとくらべてMbPA++及びMbPAはlocal adaptationがあるので遅い.local adapatation数Lは30にしたが,Fig 3に示すように15は必要.
取得事例の分析 結果はAppendix D.構文的にも意味的にも与えられたQueryに類似した事例が取れていることが分かる.
episodic memoryから取得したneighbors事例.QAでは構文的意味的に類似したもの,テキストでは類似トピックが取れている.
local adaptationを適用したことで正解した2つの事例.最初の事例はテーマ的に関連した事例を取得し,2つ目の事例は,短い文なので,構文的に類似した事例をとっていることが分かる.
モデルが取得するには難しい事例(下記は人が判断).Queryとは異なる形で表現されているため埋め込みスペース的には遠い.まだ我々の手法も改善の余地がある.
結論
episodic memoryを使った言語のlifelongモデルを紹介.episodic memoryでsparse experience replayとlocal adaptationを行い,連続的に学習し,以前に使った知識を再利用できる.我々の手法は破滅的忘却を減少させ,テキスト分類とQAのベースラインを改善
コメント