初心者向けセミナーです 自然言語処理の革新モデル「BERT」の基礎と Transformers for PyTorch を利用した BERT の利用方法

自然言語処理分野に衝撃を与えた「BERT」とは?
何ができるのか、簡単な利用法を解説します!

セミナー趣旨

 2018年10月に Google が発表した事前学習モデル BERT は、自然言語処理の分野に大きな衝撃を与えました。BERT を利用することで様々な自然言語処理のタスクの精度が大きく改善されたからです。メディアにも大きく取り上げられ、読解タスクに関しては人間の読解力を超えたとまで言われました。
 その後Googleは、2019年10月にはBERTを検索エンジンに採用したと発表し、「過去最大のアップデート」と大きく報じられています。現在、自然言語処理で利用されるディープラーニング手法の中で、最も注目されている手法と言えます。
 それほど画期的なモデルである BERT ですが、なかなか利用できている人はいません。その原因としては、アルゴリズムが複雑で実際に何をやっているのかいまいちはっきりせず、また BERT のモデルを構築するには多大な計算機資源を必要とし、個人で専用のモデルを作ることも困難なこと等が挙げられます。
 さらに BERT の利用法としては、所望のタスク用に BERT を fine-tuning する利用が一般的ですが、 BERT のモデルは TensorFlow のモデルなので、使い勝手が悪いです。また、どうやって利用したら良いかわからないという意見も見受けられます。
 本講座の目的は「BERT とは何なのか」の大枠を理解し、「BERT を使えるようになる」ことです。HuggingFace の Transformers を利用すれば、 BERTを簡単に利用できるようになります。BERT のアルゴリズムは概要程度にし、結局、どういう入出力で、何ができるのか、そしてどうやって使えばよいのかを解説します。
 利用する BERT のモデルは東北大学で構築・公開された日本語 BERT の PyTorch 版のモデルです。HugginFace で公開されている transformers というBERT 系のモデルを簡単に利用できるライブラリを用います。また BERT の軽量化モデルである DistilBERT を紹介し、そのモデルの構築方法を解説します。DistilBERT は既存 BERT のパラメータを初期値として学習できるので、小さなコーパス、低コストの計算機環境であっても、自分専用の BERT モデルを構築できます。

受講対象・レベル

・BERT によって何ができるのかを知りたい方
・BERT の仕組みを理解したい方
・HuggingFace の transformers の使い方を知りたい方
・DistilBERT で専用の軽量版 BERT モデルを構築したい方

習得できる知識

・BERT とは何かが理解できます
・HuggingFace の transformers を利用して BERT を使うことができるようになります。
・DistilBERT を用いて軽量版 BERT モデルを構築できるようになります

セミナープログラム

1. BERT の基礎
 BERT は Self-Attention を利用して、入力単語列を単語埋め込み表現列に変換します。各単語埋め込み表現が文脈に依存した埋め込み表現となっていることが、word2vec などから得られる単語埋め込み表現とは大きく異なります。ここではまず基本となる Self-Attention について解説します。Self-Attention では単語の位置の情報が消えてしまいますが、位置の情報を保持するために導入された Position Embedding を次に解説します。次に Self-Attention を発展させた Multi-Head-Attention という構造を解説します。BERT の学習にはタスクが必要ですが、BERT のタスクであるNext Sentence Prediction と Masked-Language Model を説明します。
 1.1 事前学習モデル
 1.2 BERT の入出力
 1.3 Self-Attention
 1.4 Position Embedding
 1.5 Multi-Head-Attention
 1.6 学習対象となるタスク


2 transformers の利用
 BERT モデルの構築プログラムは TensorFlow で書かれているために、公開されているモデルも TensorFlow のモデルです。そのため BERT モデルを利用するには基本的に TensorFlow を利用します。ただ TensorFlow は扱いづらく、Keras や PyTorch を利用できれば簡単です。HuggingFace は transformers という BERT を PyTorch で扱うためのライブラリを提供しており、これを使えば BERT を容易に利用することができます。ここでは、まず TensorFlow の BERT モデルを PyTorch の BERT モデルに変換する方法を示します。次に PyTorch の BERT モデルを使ったプログラム例を示します。
 2.1 transformers とは
 2.2 TensorFlow の BERT モデルを PyTorch の BERT モデルへ変換
 2.3 モデルの読み込み
 2.4 tokenizer の設定
 2.5 fine-tuning の方法
 2.6 プログラム例


3 DistilBERT
 BERT の欠点としてモデルの巨大さがあります。標準モデルであってもパラメータ数は約1億1千万個もあり、学習には多大な計算機資源を要します。また構築できたモデルを利用する場合でも、その処理は重たいです。このために BERT を軽量化する研究が進んでいます。DistilBERT はその1つです。基本的にディープラーニングの「蒸留」という手法を利用して軽量化を試みています。ここでは「蒸留」という手法を説明した後に、DistilBERT のモデルを説明します。また DistilBERT のモデルの構築には「蒸留」もとの BERT モデルを必要とし、そのモデルを使って DistilBERT のモデルの初期値を設定できます。この仕組みを使って、少量のコーパスから専用の軽量版 BERT モデルを構築する方法を解説します。
 3.1 蒸留
 3.2 DistilBERT のモデル
 3.3 DistilBERT の初期値設定
 3.4 DistilBERT の学習
 3.5 DistilBERT モデルの利用

4 BERT活用の具体例

 BERT は様々な自然言語処理のステムに利用できます。GLUE という自然言語処理システムのベンチマークデータセットがありますが、そこで提供されいてる中で SST-2(極性分析)とMNLI (含意関係認識)と SQuAD (質問応答)を紹介し、BERT を用いてどのように解くのかを示します。また BERT への入力は基本的に1文あるいは文のペアですが、文書を入力とした文書分類へも応用できます。文書の入力に対する手法を解説し、文書分類への BERT の利用法を示します。
 4.1 GLUE
 4.2 SST-2(極性分析)
 4.3 MNLI (含意関係認識)
 4.4 SQuAD (質問応答)
 4.5 文書分類


  <質疑応答>

セミナー講師

茨城大学 工学部 情報工学科 教授  新納 浩幸 先生
【ご略歴】
 1985年 東京工業大学理学部情報科学科卒業。
 1987年 同大学大学院理工学研究科情報科学専攻修士課程修了。
   同年 富士ゼロックス、翌年松下電器を経て、1993年茨城大学工学部助手。
 2015年 同学部教授。現在に至る。
【ご専門】
 自然言語処理、機械学習、統計学
【主な著書】
 『 Chainer v2 による実践深層学習 』 オーム社
 『 ニューラルネットワーク自作入門 (翻訳)』 マイナビ出版
 『 Rで学ぶクラスタ解析 』 オーム社
 『 数理統計学の基礎 』 森北出版

セミナー受講料

1名47,300円(税込(消費税10%)、資料・昼食付)
 *1社2名以上同時申込の場合、1名につき36,300円
 *学校法人割引;学生、教員のご参加は受講料50%割引。


※セミナーに申し込むにはものづくりドットコム会員登録が必要です

開催日時


10:30

受講料

47,300円(税込)/人

※本文中に提示された主催者の割引は申込後に適用されます

※銀行振込、コンビニ払い

開催場所

東京都

MAP

【港区】ビジョンセンター浜松町

【JR・モノレール】浜松町駅 【地下鉄】大門駅・芝公園駅

主催者

キーワード

機械学習・ディープラーニング   情報技術

※セミナーに申し込むにはものづくりドットコム会員登録が必要です

開催日時


10:30

受講料

47,300円(税込)/人

※本文中に提示された主催者の割引は申込後に適用されます

※銀行振込、コンビニ払い

開催場所

東京都

MAP

【港区】ビジョンセンター浜松町

【JR・モノレール】浜松町駅 【地下鉄】大門駅・芝公園駅

主催者

キーワード

機械学習・ディープラーニング   情報技術

関連記事

もっと見る