20
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

【初心者向け】自然言語処理界隈を盛り上げるアルゴリズム・モデルまとめ

はじめに

最近の自然言語処理界の発展スピードがあまりにも早い。
Deep Learningの汎用化に伴い、自然言語処理界にもAIの波が押し寄せている。
直近で最も世間を騒がせたのはおそらくBERTという研究だと思われる。
【図解】BERTとは?Googleの新自然言語処理がどう影響するのか
Googleの検索エンジンに「過去5年で最大の飛躍」。新たな言語処理モデル「BERT」の秘密
論文発表でもBERTを使ってこんなことができました、あんなことをやってみましたという内容が多いように思う。
しかし、すでにBERTを超える研究結果が報告されているのも事実で、BERTに負けるなと、世界中で盛んに研究が進んでいるようだ。
数多くの技術がでてきているが、一覧として紹介されている記事はあまり見られなかったので、ここに残す。

BERT[2018年10月発表]

2018年にブレイクスルーをおこした最も有名な言語モデルの一つ。
Google AI Languageというチームが2018年に発表。単語や文字列を予測するという予測問題を解くことができるようになった。

Transformer-XL[2019年1月発表]

Transformer-XLのXLは「Extra Large」の略。その名のとおり、先行研究のTransformerと比較して長い文章を使用できる技術体系。
後述のXLNetはTransformer-XLを使っているので、大きい入力長にも対応できる。
BERTもTransformer-XLにより、より長文の依存関係理解ができるようになる可能性がある。

XLNet[2019年6月]

BERTを超える新しい事前学習モデルとして話題を呼んだが、知名度的にはBERTのほうが上?
BERTの弱点として長文に対応していないのと、マスクした文字同士の依存関係を考えられないという弱点があった。
XL-NetはTransformer-XLを使用しているため、長文を扱えるようになっているのと、単語予測順序をランダムに入れ替え、マスクした文字同士の依存関係をも解決した。

RoBERTa[2019年7月]

BERTが発表されて以降、XLNetなど改良版が提案されています。
RoBERTaは本家BERTの潜在能力をさらに使うために学習方法を工夫した手法。
(ドラゴンボールの戦いみたいになってきた・・・)
XLNetもRoBERTaも長文を扱ったり、ランダムでマスクをおこなうため、言語モデルの学習に時間がかかるという弱点があります。(GPU1台で数か月)

ALBERT[2018年10月]

XLNetやRoBERTaで言われているように、事前学習時のモデルを大きくすればするほど、精度は上がるが、逆に精度が下がる場合もありうる。この論文のメインは精度向上ではなく、モデルサイズを圧縮するところにある。ただし、推論時の速度改善はあまり見られない?

T5(Text-to-Text Transfer Transformer)[2019年10月発表]

GoogleAIチームが発表した論文だが、新しい特別な手法を公開したわけではない。
T5という入力と出力のテキストフォーマットを統一して、転移学習をおこなうモデルのこと。C4というデータセットを使って、様々なアプローチの仕方をされている自然言語処理の研究を比較検討している。
結果的に自然言語処理モデルに関しては以下の方法が高精度であるとしている。

モデル構造:一般的に、デコーダーのみのモデルよりもエンコーダー・デコーダーモデルのほうが性能が高い。
事前学習の目標:ブランクのある不完全な文章を用いた穴埋め形式の学習が、計算コストの面で最もパフォーマンスが高い。
未ラベルデータセット:小さなデータセットによる事前学習は有害な過剰適合につながる可能性がある。
学習戦略:マルチタスク学習はそれぞれのタスクを学習させる頻度を慎重に検討する必要がある。
規模:事前学習に使うモデルの大きさ、学習にかける時間、アンサンブル学習に利用するモデルの数を比較し、限られた計算リソースを最も効率よく使用する方法を決める。

ERNIE[2019年11月]

中国の検索エンジンのBaidu(百度)が発表した自然言語処理フレームワーク。
BERTやXLNetで用いられる手法とは別のアプローチがされている。
これは中国語における言語処理の問題点を克服する意味で発表されたと思われる。

Reformer[2020年2月]

長文処理をおこなうTransformerの改良版。
BERTもXLNetもTransformerが使われているが長文の処理はどちらも時間がかかった。ReformerはTransformerに比べてメモリの使用量が少なく、精度への悪影響は見られないということ。

最後に

初心者向けとして書いていたが、まだまだ自分が論文を読み込めていないので簡単な言葉に言い直すことができなかった。今回はざっくりとして紹介になりましたが、参考資料としてリンクを貼らせてもらったサイトにより細かい論文の解説がなされているため、詳細を知りたい方はそちらをご参照いただければ。
自然言語処理の流れを見ていると、BERTで盛り上がっていた、「単語の穴埋め問題」や「文章予測」からすでに進んでおり、長文予測、文章レベルでの穴埋めに業界がシフトしていることがわかる。
現実問題メモリの使用量などの問題から、個人がおこなうにはまだまだ難しそうだと感じた。研究機関や巨大企業しか研究できないというのはAIの民主化、技術の民主化のためにも望まれるものではない。最後のReformerのような研究が今後増えてくるのではないかと予想される。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
20
Help us understand the problem. What are the problem?