SlideShare a Scribd company logo
1 of 28
Improving Language Understanding
by Generative Pre-Training
Masao Taketani(竹谷 昌夫)
2020/09/16
1
https://github.com/Masao-Taketani
https://bit.ly/36U7RqA
自己紹介
名前:竹谷 昌夫(たけたに まさお)
学歴:ミネソタ大学ツインシティー校 理工学部 統計学科卒
職業:ディープラーニング研究開発エンジニア(主に画像系。経験2年以上)
最近のプチ自慢:裸眼視力を大幅に上げたこと(両目共0.6ずつ上昇)
https://bit.ly/2Z4NC7g
エビデンス
2
この論文を選んだ理由
● 最近自然言語界でディープラーニングの動向が激しいから
● 特に最近GPT-3が発表されて、GPTに関する基本知識を身に着けたいと思ったから
● TransformerやBERTの論文はさらっと読んだことがあり、それらとどう違うのか知りたかったから
3
概要
● 今回紹介する論文はいわゆるGPTの初期版。
● 一つのモデルを少し変更し、ファインチューニングすることで様々なタスクに対応可能。
● 事前学習に教師無し学習を採用。
● 検証した12個のタスクのうち、9個タスクで当時のstate of the artを達成。
A. Radford, K. Narasimhan, T. Salimans, and I. Sutskever. Improving Language Understanding by
Generative Pre-Training, 2018.
論文URL:
https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf
ソースコードURL:
https://github.com/openai/finetune-transformer-lm
4
Introduction
● これまでの多くのディープラーニングを使った手法では、人手によって多くの教師データを用意する必要
があり、そのためなかなか応用しにくい側面があった。
● 多くの教師データが用意されていたとしても、教師無しの手法で得た特徴が精度向上に大きく関わってい
た(word2vecやGloVeのような単語の分散表現を用いる)
● しかし、単語より上のレベルの表現を教師無しで行うには主に以下2つの課題があった
○ 転移の際に役立つ文表現を獲得するために、何を目的にすると効果的に最適化を行えるかが不透明だった
○ 事前学習で得た表現を目的のタスクに転移させるための効果的な手法が存在しなかった
● 当論文では事前学習に大量のデータを使って教師なし学習を行い、その後のファインチューニングに教師
あり学習を行う手法を紹介する(事前学習とファインチューニングの際に使用するデータは同じドメインで
ある必要はない)
● 当論文の目的は様々なタスクに応用するために必要な普遍的な表現を獲得することにある
● 事前学習モデルのアーキテクチャに少しの変更を加えるだけで効果的にファインチューニングを行える
5
Framework
学習順序は以下の2つのステージからなる。
1. 大量のコーパスを使って言語モデルで教師無しの事前学習を行う
2. 事前学習させたモデルに対して、教師ありデータを使ってファインチューニングを行う
6
Framework(続き)
1.教師無し事前学習
教師無しのトークン化されたコーパス に対して、標準的な言語モデルを用いて以下の
式の条件付き確率を最大化させる目的で学習を行う。
ここで条件付き確率の部分は以下のように書ける。
7
k : ウィンドウサイズ
P(A|B) : 条件付き確率(Bの条件でのAの起こる確率)
Θ : ニューラルネットのパラメータ
: 各トークンのインデックス
We : トークンエンベディング行列
Wp : ポジションエンベディング行列
n : 層の数
※ transformer_block はTransformerのdecoderの部分のみ使用する
Framework(続き)
2.教師ありでのファインチューニング
式( 1 )を目的に学習させたモデルのパラメータを用いて教師あり学習を行う。このときラベルの付いたデータセ
ットを とすると 、それぞれのデータは入力トークン とラベル からなる。
これらの入力トークンが事前学習を行ったモデルに投入される。そして最終層のTransformer blockがm番目に出力
するエンベディング を、重み を持つ線形変換レイヤーに投入し、その後最終的な予測を行う。
そして以下の式を最大化させるのを目標に学習を行う。
更に補助的な目的として言語モデルを追加することにより、教師あり学習の汎化性能を高めることができ、学習
の収束を早めることができた。
8
教師あり学習 教師なし学習(言語モデル)
λは教師あり学習と教師なし
学習の比重を決める重み
Framework(続き)
9
モデル図
ファインチューニング時に入力トークンに対して多少の変換を加えることで、様々なタスクに対応するこ
とが可能。
タスクごとの入力変換
10
● 事前学習に使用したBooksCorpusデータセットは、アドベンチャー、ファンタジー、ロマンス等の様
々なジャンルからなる世に出版されていない7000の本から構成される。
● Transformerのデコーダーのみを12層重ねたモデル。(768のエンベディングに12のアテンションヘッ
ドを採用。また、ポジションワイズフィードフォワードの中間層に3072次元を採用)
● LayerNormalizationがモデル全体を通して使われているため、重みの初期化は正規分布に従う単純な
を採用。
● Byte-pair encoding(BPE)を使って、約40,000単語にマージ。
● 活性化関数にGaussian Error Linear Unit(GELU)を使用。
● ポジションエンベディングは、Transformerオリジナルの三角関数を使ったものではなく、学習によ
り獲得。
● ファインチューニング時に、学習率やバッチサイズ以外は事前学習で使用したハイパーパラメータ
を再利用する。
● 基本的にファインチューニング時は、3エポックほど学習させれば十分であった。
Experiments
11
Natural Language Inference
● 2つの文のペアが与えられ、それらの文の関係が含意、矛盾、中立のどれにあたるかを予測する。
● 検証した5つのデータセットのうち、4つのデータセットで当時のベスト記録を達成。
● この結果で、複数の文から物事をより論理的に判断する能力や、個々の単語や句の曖昧さを巧みに扱え
ることが実証された。
● ただし、比較的データ数が少ないデータセット(2490からなる出た)に関しては、当時のベスト記録を破
れなかった。
Experiments(続き)
12
Question answering and commonsense reasoning
● 質問応答も一つ、または複数の文から推論を行うタスクである。
● 検証した2つのデータセットでstate of the artを達成。
● この結果で、長い文脈のデータに対しても効果的に扱えるモデルであることを実証できた。
Experiments(続き)
13
Semantic Similarity
● 与えられた2つの文が意味的に同じかどうかを予測させるタスク。
● 検証した3つのデータセットのうち、2つのデータセットで当時のベスト記録を達成。
Classification
● 言わずと知れた分類。与えられたテキストがどのカテゴリに属するかを予測するタスク。
● 検証した2つのデータセットのうち、1つのデータセットで当時のベスト記録を達成。
Experiments(続き)
14
この章では以下3つの検証を行った。
● 転移させる際のレイヤーの数
● ゼロショット時のふるまい
● Ablation Studies
Analysis
15
転移させるレイヤーの数
● 自然言語推論用と質問応答用のデータセットを用いて、転移させるレイヤーの数によってどのよう
に精度に影響を与えるかを検証した結果、より多くの層から出力されたエンベディングであればあ
るほど精度が高くなることがわかった。
● このことは事前学習された各層が、目的のタスクを解く際に有効であることを示している。
Analysis(続き)
16
ゼロショット時のふるまい
● ゼロショット時に検証したすべてのタスクにおいて、LSTMと比べてTransformerの方が精度が高く、
より汎用的に学習できていることがわかった。
Analysis(続き)
17
Ablation Studies
ここでは様々なタスクに対して以下3つのアブレーションを行う。
● ファインチューニング時に副次的な言語モデルなしで学習を行う
○ 大規模データセットに対しては言語モデルもつけて学習させた方が効果的であったが、小規
模では効果的でなかった。
● 同じフレームワークワークを使って、Transformerではなく、2048ユニットをもつ1層のLSTMを代わ
りに使って比較を行う
○ 一つのデータセットを除いた他全てのデータセットに対してTransformerが上回った。
● 事前学習なしで教師あり学習を行う
○ 全てのデータセットで事前学習を行った方が上回った。
Analysis(続き)
18
ここまでが論文の内容で、ここからは補足
19
ファインチューニングの一例紹介
ここからは論文の内容ではなく、実際にOpenAIがGitHubに上げているソースコードの内容を基に解説。
ソースコードで公開されている大まかな内容
公開されているコード上では一つのデータセットに対して、ファインチューニングを行っている。
ファインチューニングに使用されるデータセット:Story Cloze Test
20
入力として使われる部分+言語モデル学習にも使わる ラベルとして使われる部分
データの整形
上のようにデータを整形して、言語モデルと識別モデルを学習させる。
21
x2 x3
x12: [start] + x1[:max_len] + [delimiter] + x2[:max_len] + [clf_token]
x13: [start] + x1[:max_len] + [delimiter] + x3[:max_len] + [clf_token]
(※max_len = トークンシーケンスの最大長//2 - 2)
x1
識別モデルの学習(教師あり)
22
[start] Rick grew up in a … he is happy now . [clf_token] [pad] [pad] [pad]
GPT
[clf_token]以外から出力されるエンベディングは使用しない
[clf_token]から出力される
エンベディングを使用し
て予測を行う
入力:
x12またはx13
識別モデルの誤差
23
文x12の[clf_token]を入力したときに出力されるエンベディングと
文x13の[clf_token]を入力したときに出力されるエンベディングは
線形変換された後に、ラベルとの交差エントロピー誤差を算出す
る。
言語モデルの学習(教師なし)
24
[start] Rick grew up in a … he is happy now . [clf_token] [pad] [pad] [pad]
GPT
言語モデルも同時に学習させる(教師なし学習)。
Rick grew up in a … is happy now . [clf_token] [pad] [pad] [pad] [pad]
この範囲が学習対象 [pad]は学習させない
言語モデルの誤差
25
言語モデルは入力されたトークンの一つ先のトークンを予測する
ように学習するため、教師データを必要としない。
そのため、各入力トークンを基に出力されたエンベディングが線
形変換された後は、一つ先のトークンをラベルとして扱い、その
ラベルとの交差エントロピー誤差を算出する。
26
教師あり学習 教師なし学習(言語モデル)
最終的なlossとして以下の式から求める(再掲)。
(※ λはソースコード上ではデフォルト設定値が0.5)
最終的な誤差
Conclusion
● 当論文では、一つのモデルを言語モデルで事前学習させたのちに、教師あり学習でファインチューニング
することによって様々なタスクに対応できる手法を紹介した。
● 長い文章からなる多様なコーパスを使って事前学習を行わせることにより、より汎用的な知識を獲得する
ことができた。
● 当モデルは長い文脈にも対応できることにより、質問応答、2つの文の類似判定、言語推論、分類のタスク
において上手くファインチューニングさせることができた(12のデータセットのうち、9のデータセットで
state of the artを達成)。
● 当論文は、Transformerや長い文脈をもったデータセットを使うことで著しく精度向上させることが可能で
あるということを示すことができ、今後の可能性を示すことができた。
27
28

More Related Content

What's hot

勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)RyuichiKanoh
 
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健Preferred Networks
 
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper. challenge
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...Deep Learning JP
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Yusuke Fujimoto
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際Tetsutaro Watanabe
 
Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)Kazuyuki Miyazawa
 
それでも私が研究を続ける理由
それでも私が研究を続ける理由それでも私が研究を続ける理由
それでも私が研究を続ける理由Hitomi Yanaka
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイcvpaper. challenge
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習cvpaper. challenge
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
機械学習は化学研究の"経験と勘"を合理化できるか?
機械学習は化学研究の"経験と勘"を合理化できるか?機械学習は化学研究の"経験と勘"を合理化できるか?
機械学習は化学研究の"経験と勘"を合理化できるか?Ichigaku Takigawa
 
Mixed Precision Training
Mixed Precision TrainingMixed Precision Training
Mixed Precision TrainingMasao Taketani
 
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Fumihiko Takahashi
 
Transformerを雰囲気で理解する
Transformerを雰囲気で理解するTransformerを雰囲気で理解する
Transformerを雰囲気で理解するAtsukiYamaguchi1
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
強化学習その1
強化学習その1強化学習その1
強化学習その1nishio
 
[DL輪読会]Pay Attention to MLPs (gMLP)
[DL輪読会]Pay Attention to MLPs	(gMLP)[DL輪読会]Pay Attention to MLPs	(gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)Deep Learning JP
 
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論Deep Learning JP
 

What's hot (20)

勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
 
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tips
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)
 
それでも私が研究を続ける理由
それでも私が研究を続ける理由それでも私が研究を続ける理由
それでも私が研究を続ける理由
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイ
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
機械学習は化学研究の"経験と勘"を合理化できるか?
機械学習は化学研究の"経験と勘"を合理化できるか?機械学習は化学研究の"経験と勘"を合理化できるか?
機械学習は化学研究の"経験と勘"を合理化できるか?
 
Mixed Precision Training
Mixed Precision TrainingMixed Precision Training
Mixed Precision Training
 
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究
 
Transformerを雰囲気で理解する
Transformerを雰囲気で理解するTransformerを雰囲気で理解する
Transformerを雰囲気で理解する
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 
[DL輪読会]Pay Attention to MLPs (gMLP)
[DL輪読会]Pay Attention to MLPs	(gMLP)[DL輪読会]Pay Attention to MLPs	(gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)
 
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論
 

Improving Language Understanding by Generative Pre-Training