IN2OUT

学んだインプットをアウトプットするために始めました.誰かの力になれれば嬉しいです.

【#8 論文解説】BERT: Pre-training of Deep Bidirectional Transformers

f:id:bonjiri_3939:20200921160834p:plain

こんにちは,ohashiです.

今回は汎用事前学習モデルBERTをご紹介します.

なぜ事前学習が重要なのか,理由に興味がある方はぜひ!

目的

こんな人向け

  • 社内で扱ったことのない分野の技術調査を始めたい.
  • ゼミでの論文紹介の前に論文がどんな技術か把握したい.
  • githubのコードを触る前に論文の要点を把握したい.
  • そもそも論文を読むことが苦手.

こんな人向けではない

  • 論文内の数式を完璧に追って理解したい.(要は何がしたいのかの説明を優先します.)
  • 著者または他者実装の追試結果,実装ノウハウを知りたい.(githubをご参照下さい.)

論文

 今回は自然言語処理分野の事前学習手法で有名になったBERTをご紹介します.事前学習とは,あるタスクをニューラルネットワークで学習させるときに,ニューラルネットワークの重みパラメータをランダムな初期値から始めるのではなく,別のモデルで学習させた重みパラメータを初期値として学習させることでタスクの精度を向上させる技術を指します.

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding [arXiv, 2018]

Authors: Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova

Publication: arXiv:1810.04805v2 [cs.CL]

 

 

できるようになったこと

タスクに依存しない事前学習

 従来ではそれぞれのタスクに応じて事前学習を切り替える必要がありました.解きたいタスクが異なるので,それに対応する事前学習も切り替えるのは当然だと考えられます.しかし,提案手法では,それらのタスクは全てBERTという1つの事前学習モデルで対応できたと報告しています.スライドのp.10に記載の,8つの自然言語処理をまとめたベンチマークGLUEの平均スコアで評価で行い,8つ全てのタスクにおいて従来法のOpenAI GPTの精度を大幅に更新しています.その他にも3つのタスクで評価を行い,計11個のタスクで最高精度を記録しています.上記より,事前学習にはBERTが非常に有効である,と著者らは報告しています.

事前学習1:穴埋め問題(MLM)による単語間の関係の学習

 BERTの事前学習の中身は2つあります.一つは穴埋め問題(Masked Language Model)です.入力の15%のトークンを[Mask]トークンで隠し,その[Mask]トークンを残りのトークンから予測させます.つまり,周辺単語から目的の単語を予測させることに相当する為,この事前学習では主述関係や係り受けなどの単語間の関係を獲得していると解釈できます.このように,1文だけを入力とするような質疑応答や1文のみの機械翻訳などのタスクであれば,事前学習は穴埋め問題(MLM)だけで十分です.

事前学習2:文章の関係予測問題(NSP)による文章間の関係の学習

 しかし,事前学習1の穴埋め問題(MLM)では,単語間の主述関係や係り受けなどの関係は獲得できますが,文章間の関係は獲得できません.つまり,文章生成や複数の文章の機械翻訳などのタスクでは,穴埋め問題(MLM)だけは不十分です.そこで,事前学習2の関係予測問題(Next Sentence Prediction)では,1文目と2文目に,関係があるかないかの2値分類のタスクを解きます.これにより,前後の文章は関係があるのかないのか,という関係を獲得することができると解釈できます.

 この事前学習2の関係予測問題(NSP)は,1文だけでは判定がし辛い感情分析や,文章の事実に対してその根拠がどこに書いてあるのかを予測する含意の予測などのタスクで有効です.

まだできないこと

長さの異なる入力文章への対応

 BERTは入力文章の最大トークン長を512に固定しています.つまり,トークンのサイズが512までで収まる文章のみを事前学習の対象にしている,ということです.512よりも短いトークン長に対してはパディングで補間しています.このことから,少なくとも論文内ではBERTは最大トークン長512までの文章しか扱えず,それよりも短い文章に関してはパディングでの補間により無駄が発生していることになります.長さの異なる文章には一部,対応できていることになりますが,完全に対応できているわけではありません.Transformerに入れる時点で高次元のテンソルに変換しないといけないため,サイズを一致させるのは仕方ない処理と言えますが,入力長に無駄なく対応可能な方法があれば,メモリ面で大幅に計算コストが削減できるかと思います.

 

所感

 自然言語処理の分野で有名になった事前学習BERTは,人間が文章を読む際に自然とこなしている文章の補間や含意の予測を忠実に実装に落とし込み,成果を上げた技術だと考えます.ただ,人間が自然とこなしていることはまだまだ知らないだけでたくさんある気がしているので,これを皮切りにさらに発展していくのではないかと思います.事前学習にはBERT一択,という風潮がなぜ起こっているのか,という理由も実験結果から確認できましたので,少しづつ自然言語処理の分野にも興味を持ち始めてきました.次は,自然言語処理タスクの一つである文法誤り訂正についてご紹介します.

 

 

ohashi

 

f:id:bonjiri_3939:20200818220918p:plain

おはし

 2019年入社,深層学習を扱う部署に配属.大学院では動画から脈波を抽出する研究に従事.動画像の理解,人間の魅力の解析,人間の自律神経や生体信号に興味関心.深層学習だと自然言語処理の実用化に興味関心.

 同じ研究分野の人間が利害問わず協力して研究動向を追って,初学者の方に自分が勉強した教材を利用してもらって,研究のコミュニティが広がると嬉しいですよね.AIはとっつきにくい分野ではないことを知ってほしいです.むしろ社会にも実装され始めている現在は,みんなでAIが今できることとできないことを把握して,知恵を絞って面白いアイデアをどんどん出して実現していく段階だと思います.そういった時代に向けて,情報共有の一助になれば幸いです.

ご連絡はお問い合わせフォームからお願い致します.

 

 

ohashi39.work