REALM:言語特徴表現モデルに検索機能を持たせる(1/2)

学習手法

1.REALM:言語特徴表現モデルに検索機能を持たせる(1/2)まとめ

・事前トレーニング済みモデルは世界に関する知識を事前トレーニングで取得する
・モデルの重みの中に抽象化された概念として取り込まれるため取り扱いが困難
・REALMは学習済み知識に明示的にアクセスできるようにする事前トレーニング手法

2.REALMとは?

以下、ai.googleblog.comより「REALM: Integrating Retrieval into Language Representation Models」の意訳です。元記事の投稿は2020年8月12日、Ming-Wei ChangさんとKelvin Guuさんによる投稿です。

元タイトルを読んだ時に言語特徴表現内を直接検索する、つまり人間の脳のように何処に格納されているか良くわからない膨大な情報を瞬時に検索するようなお話かと思ってビビったのですが、全部覚えさせるのではなくて外部文書を検索するように拡張して効率化するお話でした。

何だビックリさせないでよ~と思ったのですが、でもREALMってもしかして最終的にGoogle検索に取り込まれるんでしょうか?もしくはREALMがGoogle検索を取り込むと言う表現が正しいのかもしれませんが、そうすると検索の有り方、インターネットの有り方を根本的に変えてしまうかもしれない、どの道ヤバメなポテンシャルを持つお話でした。

realmは領域の意味を持つ単語で、domainとほぼ意味は被っているようなのですが、どちらかと言うとrealmの方が上位概念として使われるようです。例えば、農民は自分のdomainを王のrealmの中に持つ、と言ったイメージです。って事で、realm=kingdomっぽいアイキャッチ画像のクレジットはPhoto by Dorian Mongel on Unsplash

自然言語処理における最近の進歩は、主に教師なしで行う事前トレーニングの力に基づいています。これは、人間の注釈やラベルなしで、大量のテキストを使用して汎用の言語特徴表現モデルをトレーニングする手法です。

BERTやRoBERTaなどの事前トレーニング済みモデルは、「Francesco Bartolomeo Contiの生誕の地(イタリアの作曲家、マンドリン奏者)」、「JDKの開発者」、「Border TVの所有者」など、驚くべき世界の知識を記憶していることが示されています。

知識をエンコードする能力は、質問回答、情報検索、テキスト生成などの特定の自然言語処理タスクにとって特に重要ですが、これらのモデルは暗黙的に知識を記憶します。

つまり、世界に関する知識は、モデルの重みの中に抽象化された概念として取り込まれています。そのため、保存されている知識がモデルのどこに保持されているかを判別することが困難になります。

更に、ストレージ空間、つまり今後のモデルの精度に繋がる指標は、ネットワークのサイズによって制限されます。より多くの世界の知識を獲得するための標準的な方法は、ますます大規模なネットワークをトレーニングすることです。これは、非常に遅くなるか、または高価になる可能性があります。

モデルのサイズや複雑さを増やさずに正確な結果を得るために、追加の大きな外部文書資料を参照するなど、追加知識に明示的にアクセスできる事前トレーニング手法があったらどうでしょうか?

例えば、モデルが外部のドキュメントを検索し、「Francesco Bartolomeo Contiはフィレンツェで生まれました」という文が見つかれば、ミュージシャンの出身地を特定できます。こうすれば、モデル内部のパラメータ内に格納されている知識にアクセスするためにモデルの不透明な特徴表現に依存する必要はなくなります。

このような明示的な知識を含むテキストを取得する機能により、事前トレーニングの効率が向上し、数十億のパラメーターを使用せずに知識集約型のタスクでモデルを適切に実行できるようになります。

機械学習に関する2020年の国際会議(ICML 2020)で採択された論文「REALM:Retrieval-Augmented Language Model Pre-Training」では、言語モデルを事前トレーニングする際の新しいパラダイムを共有しています。

このパラダイムは、知識検索機能によって言語特徴表現モデルを補強します。REALMモデルはモデルパラメータに全ての知識を記憶する代わりに、未加工の文章から世界の知識を明示的に取得できるようにします。

また、検索と言語特徴表現を一緒にトレーニングする方法を示すために、REALMのコードをオープンソースとして公開しています。

背景:言語特徴表現モデルの事前トレーニング
標準的な言語特表表現モデルが世界の知識をどのようにして記憶するかを理解するには、まずこれらのモデルがどのように事前トレーニングされているかを確認する必要があります。

BERTの発明以来、マスク言語モデリングと呼ばれる「文章の中の空白を埋めるタスク」は、言語特徴表現モデルの事前トレーニングに広く使用されてきました。特定の単語が空白に置き換えられた(マスクされた)文章を与えられ、モデルは欠落している単語が何か答える事を求められます。このタスクの例は次のようになります。

I am so thirsty. I need to __ water.
(私は喉が渇いています。私は水を__必要があります)

事前トレーニング中、モデルは多数の例文を調べ、欠落している単語を予測するためにパラメータを調整します。(上の例では答えはdrinkになります)。興味深いことに、空白を埋めるタスクは、モデルに世界に関する特定の事実を記憶させます。例えば、次の例で欠落している単語を埋めるためには、アインシュタインの出生地の知識が必要です。

Einstein was a __-born scientist. (answer: German)
(アインシュタインは__生まれの科学者です。(答え:ドイツ))

ただし、モデルによって取得された世界の知識はモデルの重みに格納されるため、抽象的であり、格納されている情報が何かを理解することは困難です。

私たちの提案:検索機能を拡張して言語特表表現モデルを事前トレーニング
標準的な言語特徴表現モデルとは対照的に、REALMは、知識検索機能を使用して言語特徴表現モデルを拡張します。

知識検索機能は、最初に外部ドキュメントから別のテキストをサポート知識として検索します。実験では、外部の言語資料としてウィキペディアを使用しました。次に、このサポートテキストと元のテキストを言語特徴表現モデルに与えます。

REALMの重要な直観は、検索は欠落している単語を埋めるモデルの能力を改善すべきであると言う事です。従って、欠落している単語を埋めるためにより多くのヒントを提供するような検索が報われるべきです。検索した情報がモデルの予測に役立たない場合は、それを取り入れずに、より良い検索のための余地を確保する必要があります。

事前トレーニング中にラベルのないテキストしか使用できない場合、どのようにして知識検索機能ををトレーニングできるでしょうか?人間による注釈なしに、単語を埋めるタスクを使用して、間接的に知識検索機能をトレーニングできることがわかります。入力が次のとおりであるとします。

We paid twenty __ at the Buckingham Palace gift shop.
(私達はバッキンガム宮殿の土産屋で20__を支払いました)

検索せずに、この文の欠落している単語(答え:ポンド)を埋めるのは難しい場合があります。モデルは「バッキンガム宮殿が位置する国」と「その国に関連する通貨」の2つを結びつける暗黙的に格納された知識が必要になるからです。

外部の言語資料を検索して必要な知識の一部を明示的に持ってくるやり方がモデルに提示されている場合、モデルが欠落している単語を埋める事は簡単です。

この例では、次の文を検索すると、検索に報酬が与えられます。

Buckingham Palace is the London residence of the British monarchy.
(バッキンガム宮殿は、イギリスの君主がロンドンに持つ邸宅です)

欠落している単語を埋めるのに役立つ複数の検索ターゲットが存在し、検索ステップがもっと多くの文脈を必要となる場合もあります。例えば「イギリスの公式通貨はポンドです。」などです。プロセス全体を以下の図に示します。

3.REALM:言語特徴表現モデルに検索機能を持たせる(1/2)関連リンク

1)ai.googleblog.com
REALM: Integrating Retrieval into Language Representation Models

2)arxiv.org
REALM: Retrieval-Augmented Language Model Pre-Training

3)github.com
language/language/realm/

 

コメント

タイトルとURLをコピーしました