BERTを超えた自然言語処理の最新モデル「XLNet」

3つの要点

✔️自然言語処理でBERTを超える新しい事前学習モデルであるXLNetが登場 
✔️マスク間の依存関係を学べないというBERTの弱点を、単語の並べ替えによって解決 

✔️長文読解タスクであるRACEで人を超えるスコアを達成

 

AIの研究が最も活発な分野のひとつに、私たちが使う言葉をAIに理解させようとする「自然言語処理」があります。

自然言語処理には、文書分類、質問応答、翻訳、対話といった実応用と密接に結びつくタスクが含まれますが、これらの研究はまさに発展途中で、日進月歩で様々な論文が発表されています。

様々なタスクを高精度で解くという意味でこれまで最もよいされていたのは「BERT」と呼ばれるモデルで、AI-SCHOLARでも取り上げたことがあります。

自然言語処理のタスクには様々な種類がありますが、人がそれらのタスクを個別に学習しないのと同様に、これらのタスクは言語に関するメタな知識を共有しているはずです。

BERTはこのような仮説に基づき、言語そのものの知識を大規模なコーパス(テキストや会話の大規模データ資料)と事前学習によって獲得し、個別のタスクに特化した知識をファインチューニングで獲得します。双方向Transformerを効果的な事前学習とファインチューニングの組み合わせで学習させたことで、BERTはGLUEを始めとする様々な指標で当時の最高記録を更新し、研究者たちを驚かせました。

2019年6月にCarnegie Mellon大学とGoogle Brainの研究チームから発表された「XLNet」は、事前学習とファインチューニングというアイデアを継承しながら、BERTをさらに上回る性能を達成したモデルです。
今回はBERTの問題点と、それを解決したXLNetのアプローチを簡単に説明していきます。

BERTの問題点

BERTの事前学習ではマスク言語モデルを学習させており、文章中で15%の確率で空けられた穴([MASK]トークン)を埋めるタスクを解いています。これによって*双方向言語モデルの学習が可能になりましたが、2つの問題点が指摘されています。

1, [MASK]トークンはファインチューニングやテスト時には存在しないため、事前学習時と異なるバイアスを生む

2, 与えられた文章中の[MASK]トークンの箇所は同時に予測されるため、それらの間にある依存関係を学習することはできない

 

2点目について簡単な例を考えてみましょう。

I like [MASK], and I play [MASK] [MASK] every day.

このような文章が与えられたとき、[MASK]に当てはまる単語の組み合わせは(sports, table, tennis)や(music, the, guitar)など複数の可能性があり定まりません。ところが、

I like sports, and I play table [MASK] every day.

のように[MASK]が1つなら答えは(tennis)に定まります。このような問題意識がXLNetのアイディアの元となっています。

※印双方向言語モデル: 前後両方の文脈から参照単語を予測するモデル。前から文章を読んでいって次の単語を予測する、という場合は単方向になります。

XLNet

論文で提案された手法について、単語の並べ替えによる事前学習の方法とアーキテクチャの工夫を説明します。

事前学習

XLNetでは、マスク言語モデルではなく並べ替え言語モデル (permutation language modeling) を学習させています。これは、BERT以前に使われていた自己回帰モデルを継承しながら、単語の並べ替えを行うことで双方向の文脈を取り込むというものです。先の例で言うと、

“play”, “table”, “every”, “sports”, “,” -> “tennis” や

“sports”, “I”, “day”, “I”, “and”, “every”, “.”, “play”, “tennis” -> “like”

のような予測をさせるということです。論文では図1が対応しています。

 

アーキテクチャ

XLNetのアーキテクチャは、BERTで使われたTransformerの改良版であるTransformer-XLを元にしています。Transformer-XL自体の詳細は論文に譲りますが、過去の文脈をメモリに保持することと相対的な位置エンコーディングにより扱える系列の長さを飛躍的に伸ばしたというものです。XLNetの名前もここから取られています。

さらなる工夫として、通常のattention (content stream attention) にquery stream attentionをつなげたtwo-stream self-attentionを提案しています。もう一度

“play”, “table”, “every”, “sports”, “,” -> “tennis”

の例を出すと、query stream attentionは”tennis”を見ることができず、attentionのqueryとして”tennis”の相対位置エンコーディングを利用するだけです。これにより、ランダムな並べ替えをしても適切な単語予測が可能になります。なお、位置エンコーディングはすべて並べ替え前のものを使います。

結果

XLNetは20のタスク全てでBERT超え、うち18のタスクで最高精度を達成しました。

まずはRACEという、中国の中高生向けの英語の読解テストから作られたデータセットです。
センター試験やTOEICでも見かけるような、文章を読んで選択式の問いに応えるという形式のタスクです。人間にとっても簡単ではないですよね。

出典 : RACE: Large-scale ReAding Comprehension Dataset From Examinations

このタスクでXLNetはBERTを大幅に上回り、クラウドワーカーによるスコアも超えました。最新のリーダーボードはこちらで見ることができます。

最後に、おなじみのSQuAD(質問応答)とGLUE(感情分類や固有表現抽出など9タスク)の結果を紹介します。これらからもXLNetの有効性が確認できます。他にも文章分類や文書ランキングなどのタスクの結果がありますので、興味のある方は論文をご参照ください。

おわりに

本記事では、マスクの代わりに並べ替えを利用した自己回帰モデルで双方向の文脈を取り込むようにしたXLNetを紹介しました。
XLNetがRACEの記録を大幅に更新したのを見ると、似た形式の問題を含むTOEICなどの英語のテストもデータさえ揃えれば人並み以上のスコアが出せてしまうのではないかと期待してしまいます。
BERTが話題になった2018年10月から8ヶ月にしてXLNetに破られ、また7月には早くもXLNetの記録を塗り替えたと主張するBERTの改良版「RoBERTa」が発表されました。

めまぐるしく記録が更新されていくこの分野の発展に驚かされるとともに、最近は様々なタスクで人間超えを主張するモデルが多数登場していて、個人的には「言語能力をどうやって測るか」というより難しい問題が重要なフェーズになっていると思います。
また、現在は難しいとされている対話や要約といったタスクも、今後攻略されていくのでしょうか?
今後も自然言語処理の発展から目が離せません。

論文: XLNet: Generalized Autoregressive Pretraining for Language Understanding

Written by Zhilin YangZihang DaiYiming YangJaime CarbonellRuslan SalakhutdinovQuoc V. Le
Status: Submitted on 19 Jun 2019
Subject: Computation and Language (cs.CL); Machine Learning (cs.LG)

この記事をシェアする