はじめに
これまでに提案されてきたNLPモデル一つ一つについて詳しく知りたかった&改良の歴史を知りたかったため、特に有名だと思われるものをまとめました。MikolovらによるRNNLM以降を対象としています。
注)提案年については主にarXivのSubmission historyを参照しています。詳細な日付まで分からなかったものもあります。
代表的なNLPモデル・アルゴリズム一覧
RNNLM
- 提案年:2010
- 提案者:Tomáš Mikolov1,2, Martin Karafiát1, Lukáš Burget1, Jan “Honza” Černocký1, Sanjeev Khudanpur2
- 提案者所属:
-
1Speech@FIT, Brno University of Technology, Czech Republic
2Department of Electrical and Computer Engineering, Johns Hopkins University, USA - 提案論文:Recurrent neural network based language model
※RNNLM自体はもっと前からあったように取れるが、注目されはじめたのはこの論文から?
※参考文献には、RNNによる言語モデルは2010年にMikolovらに提案されたと書いてあった。
Recurent Neural Network based Language Model。RNN自体は1900年代からあったが、それをNLPの領域に活用したものを特にRNNLMと呼ぶ。
参考文献
ゼロから作るDeep Learning ❷ ――自然言語処理編
Word2Vec
- 提案年:2013/1/16
- 提案者:Tomas Mikolov1, Kai Chen1, Greg Corrado1, Jeffrey Dean1
- 提案者所属:1Google Inc., Mountain View, CA
- 提案論文:Efficient Estimation of Word Representations in Vector Space
単語ベクトルを獲得する隠れ層一層のモデルが提案されている。
Word2Vecの名前が有名だが、Word2VecというのはOSS実装のツール名であり実際にはCBOW(Continuous Bag-of-Words)モデルとSkip-gramモデルの二つ。
CBOWは周辺語からその間にある単語を推測するタスク、Skip-gramはある単語からその周辺の単語を推測するタスクを解かせることで、結果的に得られたニューラルネットワークの重みベクトルを単語ベクトルとしている(モデル自体を使うわけではない)。
経緯としては、上記のRNNLMで獲得できる単語ベクトルの質の改善として提案された。
参考文献
Mikolovのword2vec論文3本(2013)まとめ - こんな夢を見た
Google Code Archive - Long-term storage for Google Code Project Hosting.
Doc2Vec
- 提案年:2014/5/16
- 提案者:Quoc V. Le1, Tomas Mikolov1
- 提案者所属:1Google Inc, 1600 Amphitheatre Parkway, Mountain View, CA 94043
- 提案論文:Distributed Representations of Sentences and Documents
Word2Vecは単語ベクトルしか獲得できなかったが、入力に文書IDを追加することでそれに加えて文書ベクトルを獲得可能にしたモデル。Doc2Vecというのもおそらくツール名。
CBOWの改良版であるPV-DM(Distributed Memory version of Paragraph Vector)とSkip-gramの改良版であるPV-DBOW(Distributed Bag of Words version of Paragraph Vector)が提案されている。
後述するSCDVの論文ではいくつかのタスクで性能が極めて低い結果となっている。
参考文献
【論文紹介】Distributed Representations of Sentences and Documents
Attention
- 提案年:2014/9/1
- 提案者:Dzmitry Bahdanau1, Kyunghyun Cho2, Yoshua Bengio2
- 提案者所属:1Jacobs University Bremen, Germany, 2Université de Montréal
- 提案論文:Neural Machine Translation by Jointly Learning to Align and Translate
従来のEncoder-Decoderモデルの弱点である、「Encode結果が固定長であるために、長文を入力すると情報量が圧縮されすぎる」という問題を解決するための機構。
これ以降に登場した様々なモデルに採用されることになる。
参考文献
Seq2Seq+Attentionのその先へ - Qiita
seq2seq で長い文の学習をうまくやるための Attention Mechanism について - Qiita
GloVe
- 提案年:2014/10
- 提案者:Jeffrey Pennington1, Richard Socher1, Christopher D. Manning1
- 提案者所属:1Computer Science Department, Stanford University, Stanford, CA 94305
- 提案論文:GloVe: Global Vectors for Word Representation
単語ベクトルを獲得する手法。共起行列を用いたカウントベースの手法と、Word2Vecのような推論ベースの手法を合わせた手法で、3つのタスクでWord2Vecを上回る結果になった。
参考文献
論文メモ: GloVe: Global Vectors for Word Representation
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word representation
stanfordnlp/GloVe: GloVe model for distributed word representation
seq2seq
- 提案年:2014/12
- 提案者:Ilya Sutskever1, Oriol Vinyals1, Quoc V. Le1
- 提案者所属:1Google
- 提案論文:Sequence to Sequence Learning with Neural Networks
系列(例えば、文章など)を系列に変換するモデル。
Encoder-Decoderモデルとも呼ばれる。入力→Encoder→Decoder→出力の流れで学習されるが、このときEncoderとDecoderは中間層のみを共有しており、Encoderは入力データの圧縮、Decoderは出力データの生成に特化していることが特徴。
この論文ではEncoder、Decoder共にLSTM(Long Short-Term Memory)が使用されている。
英語ーフランス語間の翻訳タスクで高精度を出した。
これがあってのAttentionだと思っていたが、こっちの方が世に出たのが遅い??
参考文献
今更ながらchainerでSeq2Seq(1) - Qiita
ゼロから作るDeep Learning ❷ ――自然言語処理編
fastText
- 提案年:2016/7/6
- 提案者:Piotr Bojanowski1, Edouard Grave1, Armand Joulin1, Tomas Mikolov1
- 提案者所属:1Facebook AI Research
- 提案論文:Enriching Word Vectors with Subword Information
Mikolov氏がFacebookに移って開発した単語ベクトル獲得モデル。その名の通り、Word2Vecより学習が早い。subwordという概念を取り入れており、未知語に強い。
Word2Vecと比較すると、対象の単語の一部が含まれる単語が高い類似度となるので、タスクによっては悪い影響を及ぼす可能性あり。
例)javascriptの類義語
Word2Vec: jquery, jsx, dom, ajax,...
fastText: javascripts, coffeescript, ecmascript, vimscript,...
参考文献
facebookresearch/fastText: Library for fast text representation and classification.
word2vec, fasttextの差と実践的な使い方 - にほんごのれんしゅう
SCDV
- 提案年:2016/12/20
- 提案者:Dheeraj Mekala1, Vivek Gupta2, Bhargavi Paranjape2, Harish Karnick1
- 提案者所属:1IIT Kanpur, 2Microsoft Research
- 提案論文:SCDV : Sparse Composite Document Vectors using soft clustering over distributional representations
文書ベクトルの獲得を目的としたモデル。これまでのモデルと比較してかなり高い精度を出している。
SCDVのアルゴリズムは大きく3ステップで成り、ざっくり説明すると以下の通り。
- Skip-Gramで得られた単語ベクトルをGaussian Mixture Models(GMM)でソフトクラスタリング
- 単語ベクトルを各クラスタに所属する確率を考慮し補正、結合して文書ベクトルに変換
- 文書ベクトルの要素のうち0に近いものを0に変換(スパースにする)
単語ベクトル→文書ベクトル変換は、結局足しているだけっぽいのでGMMの箇所がキモなのだと思われる。
参考文献
文書ベクトルをお手軽に高い精度で作れるSCDVって実際どうなのか日本語コーパスで実験した(EMNLP2017) - Qiita
GNMT
- 提案年:2016/9/26
- 提案者:Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V. Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, Jeff Klingner, Apurva Shah, Melvin Johnson, Xiaobing Liu, Łukasz Kaiser, Stephan Gouws, Yoshikiyo Kato, Taku Kudo, Hideto Kazawa, Keith Stevens, George Kurian, Nishant Patil, Wei Wang, Cliff Young, Jason Smith, Jason Riesa, Alex Rudnick, Oriol Vinyals, Greg Corrado, Macduff Hughes, Jeffrey Dean
- 提案者所属:Google(おそらく全員)
- 提案論文:Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
Google翻訳の中身(今も?)。
seq2seqのでかいバージョンだと思われる。
Transformer
- 提案年:2017/6/12
- 提案者:Ashish Vaswani1, Noam Shazeer1, Niki Parmar2, Jakob Uszkoreit2, Llion Jones2, Aidan N. Gomez3, Lukasz Kaiser1, Illia Polosukhin
- 提案者所属:1Google Brain, 2Google Research, 3University of Toronto
- 提案論文:Attention Is All You Need
「Attention Is All You Need」という挑戦的な論文タイトルが話題となった。
これまでは、Attention機構はRNNの一部として使用されることが一般的だったが、本論文で提案されるTransformerはAttentionのみを使用している。
参考文献
論文解説 Attention Is All You Need (Transformer) - ディープラーニングブログ
作って理解する Transformer / Attention - Qiita
ELMo
- 提案年:2018/2/15
- 提案者:Matthew E. Peters1, Mark Neumann1, Mohit Iyyer1, Matt Gardner1, Christopher Clark2, Kenton Lee2, Luke Zettlemoyer2
- 提案者所属:1Allen Institute for Artificial Intelligence, 2Paul G. Allen School of Computer Science & Engineering, University of Washington
- 提案論文:Deep contextualized word representations
Embeddings from Language Models。
単語ベクトルを獲得する手法。Word2Vecと異なり、文脈を考慮した単語ベクトルを獲得できる。
例えば「日」という単語は、文脈によって太陽を表したり日付を表したりする。Word2Vecはそこを一緒くたに「日」と学習させていたが、ELMoは文脈によって異なる単語として学習できる。
モデルはbidirectional LSTMが使われている。
これ以降、セサミストリートの登場キャラクター名を冠したモデルが少し流行した。
参考文献
文脈を考慮した単語表現を獲得するELMo - Technical Hedgehog
GPT
- 提案年:2018/6/11
- 提案者:Alec Radford1, Karthik Narasimhan1, Tim Salimans1, Ilya Sutskever1
- 提案者所属:1OpenAI
- 提案論文:Improving Language Understanding by Generative Pre-Training
Generative Pre-Training。
ラベルなしデータを学習させたモデルを転移学習させることで各タスクにおける性能が向上した。
BERT
- 提案年:2018/10/11
- 提案者:Jacob Devlin1, Ming-Wei Chang1, Kenton Lee1, Kristina Toutanova1
- 提案者所属:1Google AI Language
- 提案論文:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
近年の大きなブレイクスルーであり、非常に有名なモデル。
GPTと同じく、ラベルなしデータを転移学習させることでタスクを解くが、多くのタスクにおいてState-Of-The-Artを更新したため、汎用的に利用できる言語モデルとして注目されている。
モデルはbidirectional Transformerが使われている。
事前学習では、入力のうちいくつかの単語をマスクし、マスクした単語を予測するタスクを解かせる。
参考文献
汎用言語表現モデルBERTを日本語で動かす(PyTorch) - Qiita
MT-DNN
- 提案年:2019/1/31
- 提案者:Xiaodong Liu1, Pengcheng He2, Weizhu Chen2, Jianfeng Gao1
- 提案者所属:1Microsoft Research, 2Microsoft Dynamics 365 AI
- 提案論文:Multi-Task Deep Neural Networks for Natural Language Understanding
Multi-Task Deep Neural Network。
ロジック自体はBERTも参考にしており、性能はBERTを上回る。
BigBirdと呼ばれていたこともあるそう。
参考文献
MT-DNN:BERTを凌駕するMicrosoftの新しいNLPモデル │ WebBigData
GPT-2
- 提案年:2019/2/14
- 提案者:Alec Radford1, Jeffrey Wu1, Rewon Child1, David Luan1, Dario Amodei1
Ilya Sutskever - 提案者所属:1OpenAI
- 提案論文:Language Models are Unsupervised Multitask Learners
GPTの後継版。
あまりに自然な文章生成を行えるため、フェイクニュースなどへの悪用を懸念し、OSS化はされておらず大規模データで学習したモデルも公開されていない。
このことは各種ニュースサイトにも取り上げられ話題となった。
2019/8に中規模モデルが公開された。
参考文献
GitHub - openai/gpt-2: Code for the paper "Language Models are Unsupervised Multitask Learners"
「危険すぎる」と言われたAIの自動文章作成ツール「GPT-2」のモデルが新たに公開へ - GIGAZINE
ERNIE
- 提案年:2019/4/19
- 提案者:Yu Sun1, Shuohuan Wang1, Yukun Li1, Shikun Feng1, Xuyi Chen1, Han Zhang1, Xin Tian1, Danxiang Zhu1, Hao Tian1, Hua Wu1
- 提案者所属:1Baidu Inc.
- 提案論文:ERNIE: Enhanced Representation through Knowledge Integration
BERTを中国語に特化させたバージョン。
参考文献
ERNIE/ERNIE at develop · PaddlePaddle/ERNIE · GitHub
BERTに続け、バイドゥが発表した中国語における問題に対処したERNIEとは? | AI-SCHOLAR
XLNet
- 提案年:2019/6/19
- 提案者:Zhilin Yang1, Zihang Dai1,2, Yiming Yang1, Jaime Carbonell1, Ruslan Salakhutdinov1, Quoc V. Le2
- 提案者所属:1Carnegie Mellon University, 2Google Brain
- 提案論文:XLNet: Generalized Autoregressive Pretraining for Language Understanding
BERTの事前学習方法を改良したモデル。
タスクの結果だけ見るとBERTの上位互換的な性能をしている。
参考文献
GitHub - zihangdai/xlnet: XLNet: Generalized Autoregressive Pretraining for Language Understanding
XLNet論文をサーベイしてみた - Qiita
RoBERTa
- 提案年:2019/7/26
- 提案者:Yinhan Liu2, Myle Ott2, Naman Goyal2, Jingfei Du2, Mandar Joshi1, Danqi Chen2, Omer Levy2, Mike Lewis2, Luke Zettlemoyer2, Veselin Stoyanov2
- 提案者所属:1Paul G. Allen School of Computer Science & Engineering,
University of Washington, Seattle, WA, 2Facebook AI - 提案論文:RoBERTa: A Robustly Optimized BERT Pretraining Approach
BERTの事前学習方法(パラメータチューニング)を改良したモデル。
XLNetより高い性能を出している。
読みはロベルタ?ロバート?
参考文献
RoBERTa: A Robustly Optimized BERT Pretraining Approach · Issue #1329 · arXivTimes/arXivTimes
ALBERT
- 提案年:2019/9/26
- 提案者:Zhenzhong Lan1, Mingda Chen2, Sebastian Goodman1, Kevin Gimpel2, Piyush Sharma1, Radu Soricut1
- 提案者所属:1Google Research, 2Toyota Technological Institute at Chicago
- 提案論文:ALBERT: A Lite BERT for Self-supervised Learning of Language Representations
GLUE Benchmarkにおける2019/10/10現在のSOTA。
BERTを改良して軽量化&性能向上した。
T5
- 提案年:2019/10/23
- 提案者:Colin Raffel1, Noam Shazeer1, Adam Roberts1, Katherine Lee1, Sharan Narang1, Michael Matena1, Yanqi Zhou1, Wei Li1, Peter J. Liu1
- 提案者所属:1Google
- 提案論文:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
Text-To-Text Transfer Transformer。
GLUE Benchmarkにおける2019/10/24現在のSOTA。
MT-DNN-SMART
ERNIE 2.0
おわりに
新たに様々なモデルが登場し、高い性能を示しているのはわかりますが、「結局モデルがでかいだけじゃん」感が拭えない気もします。~~Word2Vec並みに軽量で、そこそこ高い性能を示すモデルが登場すれば爆発的に流行しそうですが、そっち方面の研究って無いんでしょうかね。~~とか言ってたらBERTの軽量版であるALBERTが出ました(それ以前にもBERTの軽量化や蒸留モデルはあったみたいです)。
まだそれぞれについてざっくりとしか理解できていないので、今後はそれぞれの論文をきちんと読み、記事に反映させていきたいと思います。
誤り、また他に押さえておくべきモデルがあればコメント頂けると幸いです。