BERT
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
https://arxiv.org/abs/1810.04805
解説スライド BERTとTransformer
https://github.com/google-research/bert
2017年にRNNなしCNNなしで注意機構だけ構成されたTransformerが翻訳タスクで良い成績を出すことが示された
We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely.
BERTはその流れの延長線にある。
Pre-trainingできるモデルを作った
Pre-trainingしたモデルに出力層を付け加えるだけで、言語理解系の12種類のタスクにおいて良い成績を出すことができた
Transformer
画像認識系タスクで、学習済みモデルを使って分野応用が容易にできるようになったのと同じような流れが、今後自然言語処理に起きる可能性が高い。(しかし日本語とかいうマイナーな言語はどうなるか…)(はっ、むしろ国プロでいい感じの学習済みモデルを作って無償で配布してくれたらいいのか?)(オリンピック前に間に合わせるつもりでぜひ)
BERT: Bidirectional Encoder Representations from Transformers.
proposing a new pre-training objective: the “masked language model” (MLM), inspired by the Cloze task (Taylor, 1953).
Cloze taskはいわゆる穴埋め問題
we also introduce a “next sentence prediction” task that jointly pre-trains text-pair representations.
Transformerの実装はオリジナルのtensor2tensorライブラリを使っていて、しかも何もいじってない
The Annotated Transformer
単語はWordPieceでhe likes play ##ingと分割されて、位置と文番号の情報が埋め込まれている
ランダムに15%をマスクして、マスクされたものを予想するタスク。
全てをMASKトークンにはしない
15%のうちの80%をMASK、10%をランダムな単語、10%を元どおりの単語にする
nishio.icon一見普通の単語でも、あとで質問されるかもしれないわけだ
Curriculum Learningに相当することが起きているのではないか
MaskLMの学習が、他のタスクよりイージー
https://twitter.com/_Ryobot/status/1050925881894400000
汎用言語表現モデルBERTを日本語で動かす(PyTorch) - Qiita