ELYZA Tech Blog

株式会社ELYZAの技術ブログです。

自然言語処理における Active Learning

 はじめまして,インターンの中村です。今回は,アノテーションコストを抑えつつも,高性能な機械学習モデルを学習するための手法である能動学習 (Active Learning) について,その自然言語処理における研究例を紹介したいと思います。特に,自然言語処理において,大量のラベルありデータを集めることが難しく,必要最低限のアノテーションで高性能なモデルを効率的に学習したいといった方にぜひ一読をお勧めしたい内容となっています。

はじめに

深層学習の課題

 機械学習,特に深層学習では,一般に大量のデータを使用してモデルを学習させることで,高い性能を得ることができます。しかし一方で,そうした大量のデータに対して,正解である教師ラベルが必要であり,そのラベル付け作業(アノテーション)のコストが高いことが問題となります。また,類似するデータがデータセットに含まれる場合,それらは訓練サンプルとして冗長なものになる可能性があります。すなわち,大量のラベルありデータだからといって,必ずしも全てのデータが性能の向上に寄与するとは限りません。このように,ランダムに収集したデータでデータセットを作成した場合,モデルの学習に有用なデータは,大量のラベルありデータのうちの一部に過ぎないという可能性があります。

Active Learningとは

 Active Learning では,

  1. 機械学習モデルを比較的少数の初期訓練データで学習
  2. そのモデルを使って,大量のラベルなしデータからデータを選択
  3. それら抽出されたデータに対してアノテーションを要求して訓練データに追加
  4. 追加された訓練データで再学習
  5. 再学習後は,十分な性能を得るまで,あるいは,アノテーションのための予算が許す限り,2. に戻り,抽出・再学習を繰り返す

という学習サイクルを回します。これにより,あらかじめ大量のラベルありデータを作成する必要性を回避します。また,ラベルなしデータからのデータ選択では,その時点での学習済みモデルの出力等を基準に,そのモデルがすでに正解可能なサンプルを避け,その後の学習に効果的なサンプルを選択するため,冗長性を排除した最低限のサンプル数の訓練データによる学習が可能になることが期待されます。

 Active Learning の文脈では,大量のラベルありデータを使う学習は受動学習 (Passive Learning) とも表現されます。教師ラベルを与えられるまま受動的 (passive) に学習する一般的な学習方法に対して,Active Learning は効果的な学習に必要な教師ラベルを能動的 (active) に要求する点が,学習方法として対照的な点です。

Active Learningの概要

 Active Learning は,1. ラベル要求対象となるラベルなしデータを選択する方法,2. ラベルなしデータの抽出基準の 2 つの観点で大別されます。

1. ラベルなしデータの選択方法

 ラベル要求対象となるラベルなしデータを選択する方法はしばしば 3 つに分類されています(図1)。

図1.Active Learning のラベル要求方法の3分類
図1.Active Learning のラベル要求方法の3分類 ([1])。

それらを説明すると,

  • membership query synthesis: モデルが生成するデータに対してラベルを要求する。

  • stream-based selective sampling: 1 件ずつ渡されるラベルなしデータに対して,モデルがラベルを要求するか破棄するか判断し,ふるい分ける。オンライン学習と相性が良い。

  • pool-based sampling: ラベルなしデータの集合 (pool) から,訓練に追加すべきデータを選択する。図2を参照。

となります ([1])。このうち,深層学習では pool-based sampling による Active Learning が現在主流です。特にバッチ単位でデータ選択等を行なうため,Batch Active Learning とも呼ばれます。

図2.pool-based sampling による Active Learning における学習サイクル
図2.pool-based sampling による Active Learning における学習サイクル ([1])。ラベルあり訓練データセットで学習したのち,ラベルなしデータセットからデータを選択,それらに対してラベルを要求し,訓練データセットに追加する。追加された訓練データセットで再学習したのち,再びラベルなしデータを選択,ラベルを要求し,訓練データセットに追加して再学習する,というサイクルを繰り返す。

2. ラベルなしデータの抽出基準

 以上のようなデータ選択方法がある一方で,データの抽出基準についても複数の方法が考案されています。その中でも,抽出基準にモデルの出力を使った方法がしばしば登場します。

 データの抽出基準にモデル出力を利用した代表的な方法として,不確実性サンプリング (uncertainty sampling) が挙げられます。不確実性サンプリングは,ラベルなしデータに対するモデルの予測が「あいまい」で,そのデータの正解がわかればその「あいまい」さを解消できると期待されるデータを優先するという基準でデータを抽出する方法です。人の学習で例えるならば,解答に自信のある問題ではなく,自信のない問題を解いて学習する方が,学習効果が高いだろうと期待される,といったイメージです。

 不確実性サンプリングの実現方法もいくつか考案されており,代表的なものとしては,

  • Least Confidence

    \underset{x}{\mathrm{argmin}}(\underset{y}{\mathrm{max}}\ P(y | x))x は入力,y は予測したラベル。以下同様)

    となるラベルなしデータ x を抽出する。

    言い換えると,「モデルが出力する予測確率が最大のラベル」に対する確率が最小のデータを抽出する。平たく言えば,「予測確率最大でもそれほど高い値ではない」データを抽出する。

  • Margin Sampling

    \underset{x}{\mathrm{argmin}} (P(y _ 1 | x) - P(y _ 2 | x))y _ 1 は予測確率最大のラベル,y _ 2 は予測確率2番目のラベル)

    となるデータを抽出する。

    言い換えると,「1番目に高い予測確率 − 2番目に高い予測確率」が最小のデータを抽出する。直観的には,予測確率1位と2位の差 (margin) が小さいという意味で予測の確かさが低いと考えられる。

  • Entropy-based approach

    \displaystyle{\underset{x}{\mathrm{argmax}} (-\sum_{y} P(y | x)\ \mathrm{log}\ P(y | x))}

    となるデータ,すなわち,予測確率のエントロピーが最大のデータを抽出する。予測確率の不確かさを情報理論でいうエントロピーを尺度として測る。

  • 予測の不一致を不確実性として用いる (Disagreement)

    1つのラベルなしデータに対する出力を複数モデルにより複数用意して,その予測が一致しないデータを抽出するという多数決的な方法。意見が割れているということは,確かな予測をするに至っていない,といったイメージ。

といった方法が挙げられます。

 また,モデル出力を利用する方法以外にも,モデル自体を利用する抽出基準もあります。この方法ではモデル変更可能性 (Expected Model Change) に着目し,「学習することでモデルが大きく変化するだろう」と期待されるデータを抽出します。 これは「モデルが大きく変化する」ということは学習の余地があり,その意味で学習に有用な情報を持っているデータであると考えられるためです。具体的な方法として,次が挙げられます。

  • 期待勾配長 (Expected Gradient Length, EGL)

    勾配のノルムが大きいデータを抽出する。期待勾配長を利用する場合,抽出するデータにはアノテーションがないため,正解ラベルを用いた勾配は計算できない。その代わり,ありうる全てのラベルについて勾配のノルムを計算して,期待勾配長を求める ([2])。

以上のような手法を体系的にまとめると,図3のようになります。

図3.Active Learning におけるデータ抽出基準の分類
図3.Active Learning におけるデータ抽出基準の分類 ([3])。自然言語処理における Active Learning では現状,Model-based と Prediction-based が主に扱われている。特に,Model-based な方法では,上記にも登場した期待勾配長 (expected gradient length),Prediction-based な方法では,不確実性サンプリングや Margin-based なもの,そして後に登場する BALD がしばしば見られる。

自然言語処理における Active Learning

 以上で,Active Learning の概要を述べてきました。以下では,Active Learning の各手法が深層学習による自然言語処理に応用されている例を紹介していきます。なお,ラベルなしデータの選択方法はすべて pool-based sampling であり,抽出基準を様々に変えた Active Learning 手法が登場します。

 数ある自然言語処理タスクのうち,Active Learning が試されている代表的なものとして,positive・negative の 2 値分類に代表されるテキスト分類,文中から固有名詞や日時を抽出する固有表現抽出 (NER),文を構成する形態素間の関係を求める係り受け解析,そしてマルチモーダルなタスクとして,Visual Question Answering (VQA) および Image Captioning を取り上げます。

 Active Learning を導入することによって,テキスト分類で 10数% 程度 ([4]),NER で 20% 程度 ([8]),Image Captioning では 45%程度 ([11]) のラベルありデータがあれば,訓練データ全てにラベルを付与した通常の教師あり学習に匹敵する性能を得られることが報告されています。

テキスト分類における Active Learning

事前学習済みモデル以前の Active learning

 自然言語処理の基本的なタスクであるテキスト分類について,[4] は,ニューラル・ネットワークを扱い Active Learning を行なった初の試みとして知られています。この研究は,Transformer やそれを用いた BERT 等のモデルが登場するより前の研究であり,単語埋め込み (word embedding) を CNN で分類しています。

 この研究では,上述の期待勾配長 (EGL) によって,次にラベルを要求するデータをラベルなしデータから抽出しています。特徴的な点として,モデル全体のパラメータに対して勾配を求めるのではなく,単語埋め込みに対する勾配のみを使って,Active Learning に利用します (図4の EGL-word)。これにより,深層学習モデルが持つ多数のパラメータに対する勾配の計算をしなくて済みます。また,出力に近い層は入力に近い層の変化に影響を受けるため,特徴抽出を担う単語埋め込みのレイヤのみ対象とすれば十分である,と論文中で述べています。

 この提案手法で,文や文書の分類タスクで実験したところ,ベースラインとなる他の Active Learning 手法と比較して,より少ないラベル数でより高い正解率という結果を得ました。

図4.文章分類 (Movie Review, Customer Review, Subjectivity) について,提案手法 (EGL-word) をベースラインとなる他の Active Learning の手法と比較
図4.文章分類 (Movie Review, Customer Review, Subjectivity) について,提案手法 (EGL-word) をベースラインとなる他の Active Learning の手法と比較。Entropy は上述の Entropy-based な手法,Random はラベルなしデータからランダムに抽出する手法。EGL-sm は比較対象としての提案手法であり,最後の層である softmax 層のパラメータに対してのみ勾配を計算する手法。横軸は教師ラベル数,縦軸は正解率(高いほど良い)。

 なお,共通のデータセットによる統一的な比較がまだあまり存在しないため,厳密な SOTA を挙げることはできませんが,Active Learning を使って SOTA と同等の結果を得た例を紹介します。

 [5] は,Entropy を使った不確実性サンプリングによる Active Learning によって,元データの 10 % 程度で SOTA に匹敵する性能(およそ 96—99% の正解率)のモデルを得られることを報告しています。

表5.テキスト分類の Active Learning で SOTA と同等の結果を得た例
表5.テキスト分類の Active Learning で SOTA と同等の結果を得た例。最後2段が Active Learning に該当する。() 内は使用したラベルありデータ数。8つのデータセットで評価した。なお,Active Learning には ULMFiT ではなく FastText.zip を使用,抽出したデータで ULMFiT を学習させた。

事前学習済みモデルを使った Active Learning

 以上のテキスト分類の例では,Active Learning を自然言語処理に応用すると言っても,近年素晴らしい成果を挙げている事前学習済みモデルを扱ってはいませんでした(事前学習済みモデルの最近のトレンドについては,以前の記事も参考になるかもしれません)。[6] は,事前学習済みモデルの代表である BERT を扱い,幅広い Active Learning 手法を,多くのデータセットで評価し,それらの手法が BERT を用いた場合でも有効であることを示しました。

 この研究では,2値テキスト分類問題 (positive or negative) について,Least Confidence (LC) や期待勾配長 (EGL) を含む 6つの Active Learning 手法を 10 個のデータセット対して評価しました(バッチサイズ 50 の Batch Active Learning)。最初の学習に用いるラベルありデータは 200 件であり,そのうち 100 件は実際にアノテーションを施し,残りの 100 件は positive クラスと期待されるデータをキーワードで引いて擬似的なラベルありデータにするという現実的な条件を扱っています。

 代表的な実験結果を図6に示します。いずれの Active Learning 手法もランダムサンプリング (Random) より良く,数百単位のラベルありデータセットで相応の性能を得ています。

図6.BERT を用いた Active Learning の比較
図6.BERT を用いた Active Learning の比較。横軸はラベルありデータセットのサイズ。縦軸は F1 スコア(高いほど良い)。各グラフは各データセットに対応する(ここでは最も現実的な問題設定を扱った 4つのデータセットについて表示)。この記事では紹介していない 4つの Active Learning 手法がありますが,紙幅のためここでは詳細を省略します。

固有表現抽出 (NER) における Active Learning

文単位のラベル要求

 [7] は,モデルに CNN-CNN-LSTM アーキテクチャを採用し,Character-Level Encoder (CNN) で求めた埋め込みに単語埋め込みを連結したものを Word-Level Encoder (CNN) に渡し,Word-Level Encoder が出力する潜在表現を LSTM に渡すことで,文章中の各単語を分類します。

Active Learning 手法として,以下の 3 手法を試しています。

  • Least Confidence (\mathrm{LC})

    上記で紹介した「最大予測確率が高くない」データを抽出する基準。次式の値の降順に抽出する。

    \mathrm{LC}\ =\ 1 - \underset{{y _ 1, ..., y _ n}}{\mathrm{max}}\ \mathbb{P}[y_{1}, ..., y_{n}|\ \{x_{ij}\}]

  • Maximum Normalized Log-Probability (\mathrm{MNLP})

    \mathrm{LC} の式の第2項は,論文が示す通り,以下のように書き換えられる。

    \underset{{y_{1}, ..., y_{n}}}{\mathrm{max}}\ \mathbb{P}[y_{1}, ..., y_{n}\ |\ \{x_{ij}\}]

    \Leftrightarrow \underset{{y_{1}, ..., y_{n}}}{\mathrm{max}} \displaystyle\prod_{i=1}^{n}\mathbb{P}[y_{i}\ |\ y_{1}, ..., y_{i-1}, \{x_{ij}\}]

    \Leftrightarrow \underset{{y_{1}, ..., y_{n}}}{\mathrm{max}} \displaystyle\sum_{i=1}^{n}\mathrm{log}\ \mathbb{P}[y_{i}\ |\ y_{1}, ..., y_{i-1}, \{x_{ij}\}]

    上式が示すように,LC は単語数での総和を取るため,長い文章を抽出する傾向にあるという問題があった。そのため,単語数 n で正規化した以下の値を用いる。

    \mathrm{MNLP}\ =\ \underset{{y_{1}, ..., y_{n}}}{\mathrm{max}} \dfrac{1}{n} \displaystyle \sum_{i=1}^{n}\mathrm{log}\ \mathbb{P}[y_{i}\ |\ y_{1}, ..., y_{i-1}, \{x_{ij}\}]

  • Bayesian Active Learning by Disagreement (BALD)

    モデルに Dropout を施して得た複数の予測が,不一致となる割合が高いデータから抽出する。

 OntoNotes-5.0 データセットを使った実験では,上記の 3 手法のいずれもベースラインとなるランダムサンプリング (RAND) より良い性能でした。また,ラベルありデータで学習した最も良い深層学習モデルと同程度 (99%) の性能を 1/4 程度のラベルありデータで実現することができました。

図7.OntoNotes-5.0 テストデータセットでの評価
図7.OntoNotes-5.0 テストデータセットでの評価。左は OntoNotes-5.0 English,右は OntoNotes-5.0 Chinese での結果。横軸は全訓練データのうち,ラベル付けして学習に使用した単語の割合 (%),縦軸は F1 スコア(高いほど良い)。

トークン単位でのラベル要求

 上記の例における Active Learning では,ラベルを要求するラベルなしデータを文単位でしか選択することができませんでした。 そのため,アノテーションも必ず文全体に対して要求されます。しかし,一部のトークンについては十分学習している場合,文中の全てのトークンについてアノテーションが必要になるとは限りません。その場合,アノテーションが必要以上に要求されることになります。

 [8] は,文を構成するトークンの一部 = subsequence 単位でラベルを要求することで,アノテーションの作業負担を軽減し,NER におけるより効率的な Active Learning 手法を提案しています。例えば,以下の図8を例にとると,"Yassir is going ..." という文を構成するトークン("Yassir", "is", "going" など)のうち,連続する複数トークン(例えば,"the shop to")を subsequence として扱い,これらに対してラベルを要求します。

図8
図8.最上段から,トークンのインデックス,トークン,ラベル,LC の値。ラベルについて,O は固有表現でなく予測対象ではないもの,X はラベル未知のものを表す。subsequence 長 l[l_{min},\ l_{max}] の範囲で調整可能であるが,ここでは固定長 l = 3 として扱う。調整する場合,l_{max} から始めて,各長さの subsequence を全て選択し尽くしたら,順次 l_{min} まで l を小さく取っていく。本研究では,実験的に十分であったため,[l_{min}, l_{max}] = [4, 7] とした。

 この手法では,上述の \mathrm{LC}\mathrm{MNLP} を以下の式のように一般化し,n 番目の文 x^{(n)} に含まれる l 個のサブトークンから成る長さ l の subsequence に対して,次のように \mathrm{LC_{\alpha}} を定義します。特に,l が文長で,\alpha = 0 のときが \mathrm{LC}\alpha = 1 のときが \mathrm{MNLP} に対応します。

\mathrm{LC}_{\alpha}(x_{i+1}^{(n)}, ..., x_{i+l}^{(n)}) = \dfrac{1}{l^{\alpha}} \displaystyle \sum_{j = i+1}^{i+l} \mathrm{LC}_{j}^{(n)}

 図8の例では,長さ l = 3 の subsequence に対して,\mathrm{LC_{1}} の値を計算しています。この例では,"shop to buy" が \mathrm{LC_{1}} の値を最大化するため,この 3 トークンに対してラベルを要求します。

 また,ラベル伝播 (label propagation) によって,ラベル要求をより効率的なものにします。本手法は subsequence を扱うため,ラベルなしデータセットの中には同じ subsequence が複数存在する可能性があります。そのため,1度ラベルを要求した subsequence と同じ subsequence が他のラベルなしデータにあれば,(実際にラベルを要求したわけではありませんが)それらにも一時的に仮ラベルを付与します。トークンに仮ラベルがついている場合,教師ラベルありとみなして,ラベル要求の対象としません。ただし,仮ラベルが付いているトークンが別の形でラベル要求の対象となった場合,仮ラベルはアノテーションで付与される真のラベルで上書きされます

 再び図8を例に取ると,6, 7, 8 番目の "shop to buy" が別の文中に登場し,ラベル伝播によってすでに仮ラベルが与えられているとします。この場合,これらのトークンに対する \mathrm{LC_{1}} は最大値ですが,仮ラベルを持つため,ラベル要求の対象になりません。代わりに,5, 6, 7 番目の "the shop to" に対してラベルが要求されます。このとき,これら新たなラベルを使って,6, 7 番目の "shop" と "to" というトークンの仮ラベルを上書きし,最終的なラベルとします。

 本研究は OntoNotes 5.0 と CoNLL 2003 の 2 つのデータセット使い,実験・評価しました (図9)。それぞれラベルありデータの 13% と 27% を使うだけで,ラベルありデータ全てを使った条件 (No AL) に匹敵する性能を得たと報告されています。この結果は,文単位でラベルを要求する手法に対して,それぞれ 39% と 37% の改善を示します。

図9
図9.subsequence でのラベル要求 (SUB) と他の手法の比較。FS は文単位 (full sentence) でのラベル要求,No AL は教師あり学習。random とある場合は,不確実性サンプリングではなく,ランダムにデータを抽出した。横軸はラベル付けされたトークン数,縦軸は F1 スコア(高いほど良い)。

 また,性能だけでなく,固有表現を分析すると subsequence でのラベル要求手法は固有表現に属するトークンをより多く選択できていることが分かりました。さらに,モデル出力の不確実性を分析すると,文単位でのラベル要求手法は,モデルがすでに確かだと判定しているトークンを選択する傾向にあることが分かりました。

係り受け解析における Active Learning

 これまでにもたびたび登場した Batch Active Learning では,モデルが似たようなデータに対して同程度の不確実性を示し,その結果 似たようなデータでバッチが構成される可能性があります。このことにより,学習に有用な情報を逃し,また,似たようなデータに対して同様なアノテーションを繰り返すという問題があります。[9] は,係り受け解析において,バッチ内のデータを多様化する手法を取り入れることで,複数の Active Learning の手法で性能を向上させられることを示しました。

 バッチ多様化の手法として,多様なサンプル抽出を可能とする Determinantal Point Process (DPP) を採用しています。

 Active Learning の手法として,

  • ランダム抽出 (Random)
  • Average Marginal Probability (AMP): 不確実性サンプリングの一種であり,解析器の出力の不確実性を使う

  • Bayesian Active Learning by Disagreement (BALD): 異なる Dropout マスクを施して得た複数のモデル出力で予測が不一致となるデータを抽出する

  • Information Density (ID): データ間の類似度を考慮して各データがどれだけ代表的かを計算し,代表点を抽出する。不確実性サンプリングが外れ値(=代表的ではない)を好んで抽出することを防ぐ。

の 4手法を取り上げています。

 特徴抽出器として,XLM-RoBERTa base を採用しています。

 表10に, Revised English News Text Treebank データセットでの評価を示します。ほぼ全ての場合について,バッチ多様化あり (w/ DPP) の方がより良い結果を得ました。

表10
表10.Active Learning のアノテーションサイクルを5回あるいは10回 回した後の評価。128 文を初期ラベルありデータセットとし,各サイクルで 500 トークン分ラベルを要求した。数値は係り先と関係ラベルがともに正しいトークンの割合を示す (LAS)。

 また,コーパスに重複が存在する場合についても実験・評価し,バッチ多様化なしでは性能が低下することに対して,バッチ多様化ありでは頑健な性能を示すという分析結果を報告しています。

Visual Question Answering における Active Learning

 [10] は,与えられる画像に関する質問に回答する Visual Question Answering (VQA) で Active Learning の効果を確かめました。VQA では,データは画像とそれに対する質問および回答から構成されますが,画像と質問のペアから正解となるべき回答を要求するという形の Active Learning です。

 Active Learning の手法として,以下の3種類を扱っています。

  • Entropy による不確実性サンプリング: ラベルなしデータに対する予測の不確実性を減らすサンプルを抽出

  • Curiosity-driven: 回答を知ることでモデル(パラメータ)の不確実性を減らすサンプルを抽出(Curiosity-driven は論文中での特有な表現)

  • Goal-driven: テストデータに対する予測の不確実性を減らすサンプルを取得(同様に,Goal-driven は論文中での特有な表現)

 図11に結果を示します。上記の 3 手法はいずれも通常の教師あり学習 (Passive Learning) より良い結果となりました。また,必要なラベルありデータをおよそ 20% 前後 削減しながら,教師あり学習と同等の性能を達成しています。

図11
図11.VQA での Active Learning の評価。横軸はラベルあり訓練データの数,縦軸は正解率(高いほど良い)。

 ただし,上記の結果を得るためには,初期訓練データに 3〜5 万件程度のラベルありデータを必要とすることが指摘されています。また,画像と質問のペアが必要であることが課題です(そうしたペアを人手で作成する必要があります)。将来的には,画像のみを入力として,ペアにすべき適切な質問を選択,さらに可能ならば,生成することが望まれます。

Image Captioning における Active Learning

 上記の VQA に近い問題として,画像からその画像の説明文を生成する Image Captioning があります。[11] は,Image Captioning に Active Learning を導入する際に,自然言語の形でアノテーションを問い合わせることで,アノテータがより応答しやすい Active Learning を実現しています。

 本研究のモデルは,3つのモジュールから構成されます:

  • キャプション生成モジュール (Captioner)

    CNN-RNN アーキテクチャの一般的な Image Captioning モデル。キャプションを生成するとともに,品詞タグ付け (part-of-speech tagging) も行ない,後述の質問生成モジュールに渡す。

  • 判断モジュール (Decision Maker)

    多層の全結合モデル(いわゆる MLP)。キャプション生成モジュールから得られるキャプションのコンテキスト情報を用いて,キャプション中のどの単語について問い合わせるか決定する。コンテキスト情報には,キャプション生成モジュールが候補単語に対して出力する予測確率から求めた Entropy 等の不確実性の指標が含まれる。この不確実性指標を利用して,キャプション中の確信度の低い単語を特定する。

  • 質問生成モジュール

    CNN-RNN アーキテクチャのモデル。キャプション対象の画像と,キャプション生成モジュールから得られるキャプションのコンテキスト情報を用いて,判断モジュールが特定した単語について,質問文を生成し,問い合わせる。コンテキスト情報には,キャプション生成モジュールの品詞タグ出力が含まれる。それにより質問の種類(場所,物体,動作など)の切り替えを学習する。

図12
図12.上記の 3 モジュールの関係。キャプション生成モジュール (Captioner) は画像を受け取り,キャプションを生成する。判断モジュール (Decision Maker) は生成されたキャプションを含む Captioner の出力を受け取り,問い合わせるべき単語を特定する。質問生成モジュール (Question Generator) は, 画像と Decision Maker が特定した単語までのコンテキストを使って,自然言語による質問文を生成し,アノテータに問い合わせる。

 以上の 3 モジュールを使い,通常の Active Learning の学習サイクルと同様に,

  • 初期学習: キャプション生成モジュールと質問生成モジュールを学習(質問生成モジュールは以降学習しない)。
  • キャプションデータ収集: キャプションを生成するとともに,生成されたキャプション中の怪しい単語を特定して,質問を生成,回答者から正解となる単語を得る。元のキャプションと,正解を得て修正したキャプションに対して,回答者から評価をもらう。
  • 再学習: キャプションの評価値が高いものを採用し,再学習。

というサイクルを繰り返します。

 MSCOCO データセットでの評価結果を表13に示します。提案手法 (Inquisitive Student) は,45.2% しか正解キャプションを使用していないにもかかわらず,全てのデータに対して正解キャプションを付与したベースライン (All GT) よりも,全ての指標についてより良い結果となりました。

 また,提案手法と同様であるが,質問を生成せず,生成したキャプションに対するスコアのみを利用した比較手法 (Mute Student) よりも良い結果となりました。これにより,質問を生成してアノテーションを問い合わせることの利点が示されました。

表13
表13.MSCOCO テストデータセットでの評価。Hアノテーションを得て修正されたキャプションのうち,再学習に使う割合,GT は正解キャプションの使用率,Supervision は,"アノテータが要する手間" を示し,正解キャプションの作成・質問への回答・生成されたキャプションへのスコア付けそれぞれに対してアノテータが要した時間を総合して評価した指標。GT,Supervision は All GT を 100% としたときの割合を示す。Mix 以降は評価指標であり,特に Mix はそれ以外の指標の線形な組み合わせによる最終的な指標。

その他深層学習一般での Active Learning の話題

 最後の研究例紹介として,自然言語処理から少し離れ,深層学習一般における Active Learning で興味深い研究を紹介します。

 (係り受け解析の例で触れた)バッチが類似データで構成されるという Batch Active Learning の問題は,特にバッチサイズが大きくなると,より顕著になると考えられます。

 Pool-based Active Learning において,バッチ内のデータの多様性を確保するために,ラベルなしデータセットに対してクラスタリングを実施し,クラスタから代表を取ることで,同クラスタに所属していないという意味で多様なデータを抽出するという方法が考案されてきました。[12] もその思想に則りつつ,Cluster-Margin という手法を提案しています。

 Cluster-Margin は,

  • 上述の Margin Sampling の Margin の値が小さいデータを選択
  • ただし,選択された通りにデータを抽出するのではなく,各データが属するクラスタを求め,それらのクラスタからデータを抽出
  • クラスタからのデータ抽出は,1 クラスタにつき 1 件ずつランダムに抽出。
    • このとき,抽出を最小のクラスタから始めることで多様性ある抽出を期待(図14)

という抽出方法で Active Learning を行います。この手法は,Active Learning のサイクルに入る前に,クラスタリングを 1 度行なうだけで良いことが特徴的です。

図14
図14.クラスタごとのデータ抽出の例。黒丸が抽出されたデータ。最小のクラスタから始め1件ずつ抽出し,最大のクラスタまで到達した後は,抽出し切っていない最小のクラスタに戻り,目的のバッチサイズになるまで抽出を繰り返す。

 比較手法である BADGE や CoreSet もラベルなしデータセットクラスタリングすることで,抽出するバッチに含まれるデータの多様性を確保することを狙います。しかし,Active Learning のサイクルの中で毎回クラスタリングを行なうため,計算量の点で高コストとなります。その点,Cluster-Margin はクラスタリングを 1 度行なうだけで済み,また,シンプルな手法であることに強みがあります。

 図15に,大規模な多クラス画像分類データセット Open Images Dataset v6 (およそ 1,000 万件の訓練データと 2 万件のクラスを持つ)で,大きなバッチサイズを扱った評価結果を示します。提案手法 Cluster-Margin が他の Active Learning 手法と比較して,かなり良い結果となったことが分かります。特に、図15 右のバッチサイズ 100 万件のとき,次点で良い性能と同等の性能を得るために,ラベルありデータを 40% 程度しか必要としていません。

図15
図15.Cluster-Margin を他の Active Learning 手法と比較した結果。横軸はラベルありデータ数 (単位: 百万件),縦軸は Average Precision(高いほど良い)。左はバッチサイズ 10 万件,右はバッチサイズ 100 万件の場合。

 この研究は,評価に画像処理を扱っていますが,Batch Active Learning を改善する提案であるため,自然言語処理にも応用できるかもしれません。

今後の展望

 深層学習による自然言語処理を対象とした Active Learning は,機械学習全般における Active Learning や,深層学習の中でも社会実装事例も多く,最も発展の早い分野と言える画像処理における Active Learning に追従しながら,着々と研究を展開しており,今後も発展していくことが期待されます。画像処理で成功している Active Learning の手法を自然言語処理にも応用することや,その応用の中で自然言語処理特有の問題を扱うことで,自然言語処理での Active Learning の有用性が確かめられていくことが期待されます。また,自然言語処理での Active Learning は現状,テキスト分類・NER・係り受け解析等のタスクが主な対象ですが,質問応答 (QA) や要約といったテキスト生成も扱うタスクについても発展していくことが期待されます。

 教師ラベルなしでデータを有効利用する,教師なし学習・自己教師あり学習・半教師あり学習といった手法と並んで,ラベルなしデータに効果的にラベルを要求する Active Learning も,今後の深層学習の発展の中で目が離せません。

ELYZAでは仲間を募集しています!

 ELYZAでは、「未踏の領域で、あたりまえを創る」をミッションに掲げ、自然言語処理NLP)・リテールテックの2領域にフォーカスして、「研究開発」・「共同研究」・「サービス開発」の3つの活動を行っております。
 研究開発に興味がある方も、機械学習を活用したサービス開発に興味がある方も、是非お気軽にご連絡ください。

open.talentio.com

open.talentio.com

newspicks.com

参考文献

  • [1] Burr Settles. Active Learning Literature Survey. Tech. rep. University of Wisconsin-Madison Department of Computer Sciences, 2010.
  • [2] Huang et al. Active Learning for Speech Recognition: the Power of Gradients. 30th Conference on Neural Information Processing Systems (NIPS), 2016.
  • [3] Schröder and Niekler. 2020. A Survey of Active Learning for Text Classification using Deep Neural Networks. arXiv preprint arXiv:2008.07267 (2020).
  • [4] Zhang, 2016. Active Discriminative Text Representation Learning. 31st AAAI Conference on Artificial Intelligence (AAAI), 2017.
  • [5] Prabhu et al., 2019. Sampling Bias in Deep Active Classification: An Empirical Study. 2019 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2019.
  • [6] Ein-Dor et al. Active Learning for BERT: An Empirical Study. 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2020.
  • [7] Shen et al., 2017. Deep Active Learning for Named Entity Recognition. 2nd Workshop on Representation Learning for NLP, 2017.
  • [8] Radmard et al., 2021 Subsequence Based Deep Active Learning for Named Entity Recognition. 59th Annual Meeting of the Association for Computational Linguistics (ACL), 2021.
  • [9] Diversity-Aware Batch Active Learning for Dependency Parsing. 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL), 2021.
  • [10] Lin et al. Active Learning for Visual Question Answering: An Empirical Study. arXiv preprint arXiv:1711.01732 (2017).
  • [11] Shen et al. Learning to Caption Images Through a Lifetime by Asking Questions. International Conference on Computer Vision (ICCV), 2019.
  • [12] Citovsky et al. Batch Active Learning at Scale. arXiv preprint arXiv:2107.14263 (2021).