SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Downloaden Sie, um offline zu lesen
ニューラルネットワークを⽤いた
⾃然⾔語処理
⾼瀬 翔
東京⼯業⼤学
2021/12/17
1
略歴
• 2008-2017︓東北⼤学(学⼠-博⼠)
• 2017-2018︓NTT CS研(ポスドク)
• 2018-2020︓東⼯⼤(研究員)
• 2020- ︓東⼯⼤(助教)
• ⾃然⾔語処理の研究に従事
– 特に系列変換タスクに取り組む
• 機械翻訳・要約⽣成など
– 有名な機械翻訳のベンチマークで世界1位
» 2位がFacebook, 3位がGoogle
– 要約のベンチマークでも世界1位
– 最近は効率的なニューラルモデルの研究に従事
2
⾃然⾔語処理とは
• ⼈の⽤いる⾔葉(⾃然⾔語)を計算機で処理する
– 翻訳,要約,情報検索,情報抽出,…
3
ウンベルト・エーコの新作,『バウドリーノ』
は農⺠の⼦バウドリーノがバルバロッサとも呼
ばれる神聖ローマ皇帝フリードリヒ1世に寵愛
され,⼗字軍に随⾏する物語.前半は史実を元
にした展開となっているが,物語が進むにつれ
て,史実からは⼤きく外れ,想像⼒に富んだ
エーコの筆致が……
エーコの新作,
史実と想像⼒のまじわる冒険物語
Baudolino, a new novel by
Umberto Eco, is the story of
a peasant boy Baudolino
who is favored by the Holy
Roman Emperor Friedrich I,
also known as Barbarossa,
and accompanies him on
the 3rd crusade ……
作品名 バウドリーノ
著者 ウンベルト・エーコ
… …
情報抽出
要約
翻訳
近年の⾃然⾔語処理
ニューラルネットを⽤いた⼀貫処理
• 複数モデルの組み合わせからオールインワンのモデルへ
• 従来の翻訳︓翻訳モデルと⾔語モデルの組み合わせ
– P( ⽇ | 英 ) ≃ P( 英 | ⽇ ) P( ⽇ )
• 2015年辺りからの翻訳︓ニューラルモデルで出⼒を直に⽣成
– P( ⽇ | 英 ) をニューラル翻訳モデルで計算
• 複数モデルの組み合わせによるエラー伝播を解消
4
Where is my cat?
私 猫 どこ ︖
私の 猫は どこ ︖
私 猫は どれ ︖
…
私の猫はどこ︖
翻訳モデル
P( 英 | ⽇ )
⾔語モデル
P( ⽇ )
Where is my cat? 私の猫はどこ︖
ニューラル翻訳
モデル
すべてのタスクを⾏うモデルも
• ⼤規模コーパスで⾔語モデルを学習
• 応⽤タスクでの学習なしに適⽤可能に
– 問題の説明 + 問題を⼊⼒
5
ウンベルト・エー
コの新作,『バウ
ドリーノ』は農⺠
の⼦が……
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
⼤量の⽂書で
⾔語モデルを学習
English to Japanese:
Where is my cat?
私の猫はどこですか︖
Summarization:
ウンベルト・エーコの新作,『バウドリーノ』は農⺠
の⼦バウドリーノがバルバロッサとも呼ばれる……
エーコの新作,
史実と想像⼒のまじわる冒険物語
今⽇の話題
• ニューラルネットワークの基本構造
• ⾃然⾔語処理のためのニューラルモデル
• 学習⽅法
• 最近の話題
– 事前学習モデル
– 効率的なモデル
6
ニューラルネットワークの基本構造
• ⾏列積と⾮線形変換の組み合わせ
• 例︓1層のニューラルネットを考える
– ⼊⼒⽂に動物を含む確率を出⼒するネットワーク
• 例えば以下のような出⼒が欲しい
– ⽝が草原を⾛っている → 1
– 草原に⽯が転がっている → 0
7
⼊⼒︓
⽂中の名詞
重み︓
判定への寄与度
⾮線形変換︓
シグモイドで確率化
⽝
草原
⽯
ネットワーク構成
1 / (1 + e-x)
2.8
0.0
-3.1
ニューラルネットワークの基本構造
• ⾏列積と⾮線形変換の組み合わせ
• 例︓1層のニューラルネットを考える
– ⼊⼒⽂に動物を含む確率を出⼒するネットワーク
• 例えば以下のような出⼒が欲しい
– ⽝が草原を⾛っている → 1
– 草原に⽯が転がっている → 0
8
⽝
草原
⽯
1 / (1 + e-x)
2.8
0.0
-3.1
⽝
草原
⽯
1 / (1 + e-x)
2.8
0.0
-3.1
「⽝が草原を⾛っている」の場合
1.0
1.0
0.0
「草原に⽯が転がっている」の場合
重み付き和
0.0
1.0
1.0
2.8 -3.1
0.94 0.04
重み付き和
内積を⽤いて表現してみる
• 先の 1層ニューラルネットは内積で書ける
9
⼊⼒︓
⽂中の名詞
重み︓
判定への寄与度
⾮線形変換︓
シグモイドで確率化
⽝
草原
⽯
1 / (1 + e-x)
2.8
0.0
-3.1
[2.8 0.0 -3.1]
x1
x2
x3
x1
x2
x3
[
]
= 2.8 × x1 + 0.0 × x2 -3.1 × x3
重み・⼊⼒を w,x ベクトルとすると w・x(内積)
シグモイド関数を
適⽤する直前までを
数式で表すと
複数出⼒・多層への拡張
• 複数次元のベクトルを出⼒する
– 重みベクトルを重み⾏列にする
• 3次元ベクトル → 2次元ベクトル︓2 × 3次元の重み⾏列
• 多層にする
– 複数の重み⾏列を⽤意する
– ⾏列積 → 活性化関数(⾮線形変換)→ ⾏列積 → …
• 複雑なネットワークでも基本は同じ
10
w11 w12 w13
w21 w22 w23
x1
x2
x3
[
]
w11 × x1 + w12 × x2 + w13 × x3
w21 × x1 + w22 × x2 + w23 × x3
=
2 × 3 の⾏列
[ ]
今⽇の話題
• ニューラルネットワークの基本構造
• ⾃然⾔語処理のためのニューラルモデル
• 学習⽅法
• 最近の話題
– 事前学習モデル
– 効率的なモデル
11
⾃然⾔語処理に適⽤したい
• 問題点︓⽂をどう⼊⼒するか︖
– ニューラルネットワークの⼊⼒はベクトル
– ⾃然⾔語の⽂はベクトルではない
• どのようにベクトル化するか︖
• 単純な解決法︓Bag-of-Wordsベクトルで表現
– 単語の出現頻度を要素としたベクトル
• Where is my cat →
12
[0 0 1 … 1 … 1 … 1 … 0 0 0]
a the is my cat
where
Bag-of-Words での問題点
• 問題点1︓語の類似性を扱えない
– 私は⽝を飼っている
– 私は猫を飼っている
• 問題点2︓語順の違いを扱えない
– 歩きが好きだが今⽇は⾞で来た
– ⾞が好きだが今⽇は歩いて来た
13
意味は異なるが
同じ表現
表現は異なるが
似た意味
問題点の解決法
• 問題点1︓語の類似性を扱えない
– 私は⽝を飼っている
– 私は猫を飼っている
• 解決法︓埋め込み表現を使⽤
• 問題点2︓語順の違いを扱えない
– 歩きが好きだが今⽇は⾞で来た
– ⾞が好きだが今⽇は歩いて来た
• 解決法︓系列を扱うネットワークを使⽤
14
意味は異なるが
同じ表現
表現は異なるが
似た意味
問題点の解決法
• 問題点1︓語の類似性を扱えない
– 私は⽝を飼っている
– 私は猫を飼っている
• 解決法︓埋め込み表現を使⽤
• 問題点2︓語順の違いを扱えない
– 歩きが好きだが今⽇は⾞で来た
– ⾞が好きだが今⽇は歩いて来た
• 解決法︓系列を扱うネットワークを使⽤
15
意味は異なるが
同じ表現
表現は異なるが
似た意味
埋め込み表現︓
単語の実数ベクトルによる表現
• 埋め込み表現︓各単語に対応した実数ベクトル
– ベクトル空間上で各単語の特徴を共有
– 似た単語は似た埋め込みに
• ランダムな値で初期化,学習を通じて特徴を反映
16
0.64 -1.46 0.03 … 0.28
似た単語=似た埋め込み
異なる単語は遠いベクトル
0.78 -1.22 0.15 … 1.25
dog:
cat:
train: -1.53 1.08 0.07 … -0.43
単語の数だけベクトルを⽤意
2次元で
表現すると…
dog
cat
train
bike
埋め込みを⼊⼒として使う
• 単語の数だけ埋め込み表現を⽤意
– 埋め込みベクトルの次元数 × 単語数の⾏列
17
17
ニューラル機械翻訳器
Where is my cat
私の猫はどこですか︖
各単語に対応する
埋め込み表現
(列ベクトル)を
⾏列から抜き出して
⼊⼒する
問題点の解決法
• 問題点1︓語の類似性を扱えない
– 私は⽝を飼っている
– 私は猫を飼っている
• 解決法︓埋め込み表現を使⽤
• 問題点2︓語順の違いを扱えない
– 歩きが好きだが今⽇は⾞で来た
– ⾞が好きだが今⽇は歩いて来た
• 解決法︓系列を扱うネットワークを使⽤
18
意味は異なるが
同じ表現
表現は異なるが
似た意味
系列を扱う代表的なネットワーク
• Recurrent Neural Network (RNN)
– RNN の発展型
• Long Short-Term Memory (LSTM)
• Gated Recurrent Unit (GRU)
– 系列変換タスクのための⼯夫︓アテンション
• Transformer
19
系列を扱う代表的なネットワーク
• Recurrent Neural Network (RNN)
– RNN の発展型
• Long Short-Term Memory (LSTM)
• Gated Recurrent Unit (GRU)
– 系列変換タスクのための⼯夫︓アテンション
• Transformer
20
Recurrent Neural Network (RNN)
• 埋め込み(またはベクトル)と⾃⾝の出⼒を⼊⼒
– 原型は1980年代に提案される
• 様々な発展型が存在
21
RNN
Where is my cat
RNN RNN RNN
出⼒を次のタイムステップ
の⼊⼒としても使⽤
時刻 t の埋め込みを et 出⼒を ht
活性化関数を f とし
重み⾏列を W, U とすると
ht = f (W et + U ht-1)
語順が変わると違う結果に
• ⼊⼒が where is の場合
– where を⼊⼒︓h0 = f (W ewhere)
– is を⼊⼒︓ h1 = f (W eis + U h0)
= f (W eis + U f (W ewhere))
• ⼊⼒が is where の場合
– is を⼊⼒︓h0 = f (W eis)
– where を⼊⼒︓h1 = f (W ewhere + U h0)
= f (W ewhere + U f (W eis))
22
RNNの問題点
• 情報を⻑期間保持できない
– 式︓ht = f (W et + U ht-1)
– 活性化関数 f は多くの場合 tanh
• tanh︓値域は -1 から 1
• 値域が⼤きい活性化関数を使うと発散する危険がある
• 過去の⼊⼒に何度も tanh が適⽤される
– ht = f (W et + U ht-1)
= f (W et + U f (W et-1 + U ht-2))
= f (W et + U f (W et-1 + U f (W et-2 + U ht-3))) = …
– tanh を繰り返す → 値が減少 → 過去の情報が消失
23
改善モデル︓LSTM
• RNNの問題点︓過去の情報が消失
– tanh を繰り返すことで値が減衰していく
• 解決法︓値を保持する部分を⽤意する
– メモリセル︓ct ,ゲート︓
24
Ct
LSTM
活性化関数として
シグモイド(σ)を使⽤
閾値が 0 から 1 のベクトル
it
ft
ot
ft = σ (Wf et + Uf ht-1)
it = σ (Wi et + Ui ht-1)
ot = σ (Wo et + Uo ht-1)
It = tanh(WI et + UI ht-1)
ct = ft × ct-1 + it × It
ht = ot × tanh(ct)
LSTMの挙動
• ゲートの全要素が常に 1 の場合
– メモリセルに過去の全ての情報 It が⾜される
– ct = ft × ct-1 + it × It = ct-1 + It
= ct-2 + It-1 + It = ct-3 + It-2 + It-1 + It = …
→ 過去の全ての情報が保持される
= 単純なRNNよりも⻑期間情報を保持可能
• 実際には各ゲートの値で情報を調整する
– ⼊⼒ゲート it ︓⼊⼒する情報の量を調整
– 忘却ゲート ft ︓メモリセルから情報を消す調整
– 出⼒ゲート ot ︓出⼒する情報の量を調整
25
それでも⻑過ぎる系列は難しい
• 英-⽇翻訳で考えると
– I started reading Baudolino, written by Umberto Eco,
because I found it at the library yesterday. を訳す
• 最初の情報を最後まで格納しなければならない
– 理論的には可能だが難しい
• 例えば f の値が常に 0.9 だとしても 20 ステップ後には 0.1
• 20 ステップ前の⼊⼒の情報は失われる
– 実際にはもう少し複雑
26
LSTM
I started reading 昨⽇ 読み 始めた
… …
LSTM LSTM LSTM
… LSTM LSTM
…
情報伝達の経路を短くする
• アテンションを使う
– 翻訳では対応する語の間に経路をつくる
• 実際には各ノードの重み(対応する確率)を計算して接続
27
LSTM
I started reading 昨⽇ 読み 始めた
… …
LSTM LSTM LSTM
… LSTM LSTM
…
アテンション
o1
o2
…
[
]
[ ot ]
a1
a2
…
[
]
ot へのアテンション︓
出⼒ ot 間の
内積から確率を計算
アテンションを使った接続
対応する確率の重み付き和
各出⼒間の
内積計算
計算結果の
確率化
softmax 関数
を使⽤
実⽤例︓系列変換タスク
• 系列変換タスク︓翻訳,要約,⾳声認識など様々
• エンコーダ・デコーダモデルを使⽤
– エンコーダ,デコーダを⽤意
– アテンション︓デコーダからエンコーダをつなぐ
28
LSTM
I started yesterday 昨⽇ 図書館
… …
LSTM LSTM LSTM
… LSTM …
アテン
ション
アテン
ション
図書館 で
出⼒単語を
次の⼊⼒に
エンコーダの重み付き和と
組み合わせて出⼒を計算
RNN・LSTM の問題
• 系列を計算し終えるまでが遅い
– 時間に依存するので並列計算ができない
– RNN: ht = f (W et + U ht-1)
– LSTM: It = tanh(WI et + UI ht-1)
29
LSTM
I started
LSTM
started の時点の⼊⼒は I を⼊⼒した計算結果
さらなる発展︓Transformer
• 系列の各時刻について並列計算を可能に
– 並列計算により RNN・LSTM より速い
– アテンションで計算を⾏う
• ⼊⼒も含めたアテンション︓セルフアテンション
30
I started reading
Transformer Transformer Transformer
…
…
詳細な Transformer の構造
31
Layer Norm
Attention
FFN
Layer Norm
Layer Norm
Attention
FFN
Layer Norm
Layer Norm
Attention
× N
× N
Attention
Layer Norm
Layer Norm
Attention
Layer Norm
Layer Norm
FFN
Attention
Layer Norm
× N
× N
FFN
Layer Norm
(a) Post-LN (b) Pre-LN
(1)
(3)
(2)
(4)
(5)
Layer Normalization: 出⼒のベクトルを平均 0,
分散1 にして発散を防ぐ
Feed Forward Net: 重み⾏列 + 活性化関数
セルフアテンション
Residual Connection: 勾配消失を防ぐ
系列を扱うネットワークまとめ
• RNN︓系列を扱う単純なモデル
– ⾃⾝の出⼒を⼊⼒
– ⻑距離の情報の保存は難しい
• LSTM︓RNNの拡張
– メモリセルを⽤いることで情報の保持が可能
• 単純なRNNよりも⻑い系列を扱える
– ⻑過ぎる系列はやはり難しい
• アテンション︓新しく経路を設ける⼿法
– ⼊⼒に新たな経路を設ける
• 必要な情報までの経路を短くする
• Transformer︓並列処理で⾼速にしたモデル
– RNN系は前の時刻の処理が終わるまで計算不可能
– 各時刻の計算を独⽴に可能にすることで並列化
• ⼊⼒⾃⾝へのアテンション︓セルフアテンションで実現
32
今⽇の話題
• ニューラルネットワークの基本構造
• ⾃然⾔語処理のためのニューラルモデル
• 学習⽅法
• 最近の話題
– 事前学習モデル
– 効率的なモデル
33
パラメータの学習
• パラメータ(重み⾏列)はランダムに初期化
– 初期は出⼒もランダム
– 良い出⼒のニューラルネットをどう得るか︖
• 学習︓訓練データを再現するパラメータを求める
– 正確には訓練事例との誤差を最⼩化する
– 翻訳の場合︓対訳の⽂対が訓練データ
• 数⼗万以上の⽂対が必要
34
英-⽇翻訳の訓練データ
I have a dog
I have read the book
…
⽝を飼ってます
その本は読み終わった
…
データ数が多いほど性能も良い
• 訓練データが⼤きいほど性能向上
– 翻訳の訓練に使⽤する対訳⽂数を変えると……
35
Because 30 years
ago, I'm from New
Jersey, and I was six,
and I lived there in my
parents' house in a
town called Livingston,
and this was my
childhood bedroom.
30年前 私は
ジャージー出⾝で
6歳でした 両親の
家にはLiventとい
う町に住んでいま
した これは ⼦ど
もの寝室でした
30 年前 私は
ニュージャージー
出⾝で6歳でした
両親の住むリビン
グトンという町に
住んでいました こ
れは⼦供の頃の寝
室です
およそ30年前
スズズズズズズ
ズズで 私の頃
です
翻訳元の英⽂
1万 10万 20万
(確率的)勾配降下法
• 学習の⽬的︓訓練事例との誤差を最⼩化
• まずは⽬的関数(誤差)E を定義
– 翻訳の場合︓正解の単語を出⼒する確率を最⼤化
• 確率 p の最⼤化=負の対数尤度 - log p の最⼩化
• E を最⼩に近づけていく
– 値が⼩さくなる点(極⼩点)を探す
– モデルの勾配を計算 → 下げる⽅向にパラメータ w を動かす
36
確率的勾配降下法の⼿続き
1. 訓練事例から少数の事例をサンプル
2. E を計算
3. 勾配計算
4. パラメータの更新
5. 1. に戻る
勾配 を計算
減少させる側に動かす
⾏きたい点
誤差逆伝播
• 中間層の勾配の計算法
– 微分の連鎖律(合成関数の微分)を適⽤して求める
– 上の層の勾配が下に伝わっていく
37
出⼒ E
重み W1 中間層 u 重み W2
⼊⼒ e
勾配
下の層の勾配計算に上の層の勾配を使⽤
今⽇の話題
• ニューラルネットワークの基本構造
• ⾃然⾔語処理のためのニューラルモデル
• 学習⽅法
• 最近の話題
– 事前学習モデル
– 効率的なモデル
38
事前学習モデルとは
• 事前学習モデル︓ELMo, BERT, GPT, …
– ⼤量の⽂書でモデルを学習
– 対象タスクでパラメータを調整(ファインチューニング)
• 対象タスクが翻訳の場合
39
ウンベルト・エー
コの新作,『バウ
ドリーノ』は農⺠
の⼦が……
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
対訳⽂でパラメータを調整
Where is my cat?
私の猫はどこですか︖
ウンベルト・エー
コの新作,『バウ
ドリーノ』は農⺠
の⼦が……
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
⼤量の⽂書で
⾔語モデルを学習
事前学習モデルとは
• 事前学習モデル︓ELMo, BERT, GPT, …
– ⼤量の⽂書でモデルを学習
– 対象タスクでパラメータを調整(ファインチューニング)
• 対象タスクが翻訳の場合
40
ウンベルト・エー
コの新作,『バウ
ドリーノ』は農⺠
の⼦が……
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
対訳⽂でパラメータを調整
Where is my cat?
私の猫はどこですか︖
ウンベルト・エー
コの新作,『バウ
ドリーノ』は農⺠
の⼦が……
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
⼤量の⽂書で
⾔語モデルを学習 なぜ⾔語モデルを
学習すると良い︖
おさらい︓データ数が多いほど性能も良い
• 訓練データが⼤きいほど性能向上
– 翻訳の訓練に使⽤する対訳⽂数を変えると……
41
Because 30 years
ago, I'm from New
Jersey, and I was six,
and I lived there in my
parents' house in a
town called Livingston,
and this was my
childhood bedroom.
30年前 私は
ジャージー出⾝で
6歳でした 両親の
家にはLiventとい
う町に住んでいま
した これは ⼦ど
もの寝室でした
30 年前 私は
ニュージャージー
出⾝で6歳でした
両親の住むリビン
グトンという町に
住んでいました こ
れは⼦供の頃の寝
室です
およそ30年前
スズズズズズズ
ズズで 私の頃
です
翻訳元の英⽂
1万 10万 20万
訓練データを無数につくれるか︖
• 時間・⾦銭的な⾯で難しい
– 例えば翻訳では……
• 訓練データとしてある⾔語の⽂の対訳が必要
• 新聞記事の⽇ → 英翻訳︓約1300円 / ⽂
• ニューラルモデル学習には100万⽂対以上欲しい=13億円!?
• 解決策︓既にあるデータを活⽤
– 例えば翻訳では……
• 同⼀内容について複数⾔語で書かれている記事を利⽤
42
ある事柄について
⽇本語,英語の
Wikipediaから
対訳⽂を抽出
⾔語モデルの訓練データは構築が容易
• ⾔語モデル︓⾃然⾔語としての確からしさを計算
– 同時確率を条件付き確率の積で計算
• ⾔語モデルの学習︓各⽂脈(単語列)の次に出現する単語を予測
• 任意の(⾃然⾔語の)⽂書=⾔語モデルの訓練データ
– Wikipediaの⽂書がそのまま(追加でタグ付けなどなしに)使える︕
43
Encoder-Decoder
RNN Encoder-Decoder
P(I have a dream) > P(a have I dream) > P(fuga spam hoge)
:
•  RNN
• 
P(I have a dream)
= P(I)P(have | I)P(a | I have)P(dream | I have a)
I have a dream
何らかのニューラルネット
I have a
I have a dream
<BOS>
I have a
dream that
one day …
44
何らかのニューラルネット
I have a
I have a dream
<BOS>
何らかのニューラルネット
MASK MASK a
I have
<BOS>
マスクド⾔語モデル(BERT系)
⼊⼒の⼀部をマスクし,その単語を予測
⼊⼒系列 X について次を最⼤化
マスクする単語を
ランダムに選択
マスクされた
単語を予測
⾔語モデル(GPT系)
与えられた⽂脈に対し次の単語を予測
⼊⼒系列 X について次を最⼤化
k-1から1つ前までの
単語を⽂脈とする
⽂脈の次の
単語を予測
• 学習⽅法で 2種に⼤別
– 構造は主に Transformer
有名な事前学習モデル
問題︓必要な計算資源の増加
• 事前学習モデルのパラメータ数増加が著しい
– パラメータ数が増えると性能も上がる
• 性能はパラメータ数に対数⽐例(Scaling law)
• 学習パラメータが多い=多量の計算資源が必要
– モデルの圧縮や軽量化(パラメータ削減)が課題
45
117M
110M
1.5B
8.3B
17B
175B
1年で1000倍以上に
膨れ上がっている
ここまでのまとめ
• 訓練データが増える=性能向上
– ⾔語モデルの訓練データは構築が容易
• 任意の⽂書がそのまま⾔語モデルの訓練データ
• 質の良い⾔語モデルは応⽤タスクに有⽤
– 事前学習モデルの隆盛(BERT,GPT)
1. ⼤規模コーパスで⾔語モデルを学習
2. タスク⽤の訓練データでパラメータを調整
• 問題︓必要な計算資源が増加している
– 性能はパラメータ数に対数⽐例
→ パラメータ数の著しい増加
46
パラメータ数削減の戦略
• 蒸留(Distillation)
– 学習済みモデルの出⼒を⼩規模モデルで再現
• モデル圧縮
– 学習済みモデル内の不要なパラメータを削除
• 不要︓予測への貢献が⼩さいパラメータ
• 軽量なモデルの設計
– 最初から少数のパラメータで学習
• 最近の⾼瀬の研究対象
47
蒸留(Distillation)
• 学習済みモデルの出⼒を⼩規模モデルで再現
– ⾔語モデルの学習を例に
• 系列変換タスク⽤の⼿法は次スライドで
48
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
元となるモデル
(教師モデル)
の学習
⼩さなモデル
(⽣徒モデル)
の学習
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
Baudolino, a new
Baudolino, a new
novel
⽂脈を⼊⼒し,
次の単語を予測
Baudolino, a new
novel 教師モデルの
出⼒を再現する
ように学習
通常の学習
(次の単語
を予測)
系列変換タスクでの蒸留
• 教師モデルの⽣成した系列で⽣徒モデルを学習
– 経験的に性能が良く,実装も楽
49
1. 通常の訓練データで
教師モデルを学習
ウンベルト・エー
コの新作,『バウ
ドリーノ』は農⺠
の⼦が……
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
『バウドリーノ』
(ウンベルト・
エーコの新作)は
農⺠の⼦が…
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
2. 教師モデルで
訓練データを再⽣成
Baudolino, a new
novel by Umberto
Eco, is the story of
a peasant boy ……
『バウドリーノ』
(ウンベルト・
エーコの新作)は
農⺠の⼦が…
3. 教師モデルの
⽣成した訓練データで
⽣徒モデルを学習
モデル圧縮
• 学習済みモデル内の不要なパラメータを削除
– 不要︓予測への貢献が⼩さいパラメータ
– 基本戦略︓パラメータの値の絶対値で判断
• 絶対値の⼩さいパラメータをゼロに
• 近年の発展︓Lottery Ticket Hypothesis
– パラメータ削除に関する妥当性と戦略の議論
50
Lottery Ticket Hypothesis とは
• ニューラルモデルは同等の性能を達成可能な部分ネット
(subnetwork)を持つ
– ニューラルモデルは⾼い性能を達成可能な当選クジを含む
• ⼤量のパラメータ︓抽選クジ
• 良い部分ネット︓当選クジ
• どのように良い部分ネットを発⾒するか︖
– 学習とパラメータ削除を繰り返す
51
学習
寄与の⼩さい
パラメータを
削除
残りの
パラメータを
初期値に戻す
再度学習
パラメータ数削減の戦略
• 蒸留(Distillation)
– 学習済みモデルの出⼒を⼩規模モデルで再現
• モデル圧縮
– 学習済みモデル内の不要なパラメータを削除
• 不要︓予測への貢献が⼩さいパラメータ
• 軽量なモデルの設計
– 最初から少数のパラメータで学習
• 最近の⾼瀬の研究対象
52
⾃然⾔語処理のニューラルモデルの構造
と⾼瀬の最近の研究
• 埋め込み︓各単語を表すベクトル表現
• 中間層︓ニューラルモデルの埋め込み以外
– Transformer が最近のスタンダード
53
ニューラル⾔語モデル
I have a
P(I) P(have | I) P(a | I have) P(dream | I have a)
<BOS>
0.83 -1.56 0.37 … -0.42
I
埋め込み表現
を⼊⼒
Layer Norm
Attention
FFN
Layer Norm
Laye
Att
Laye
Laye
Att
× N
(a) Post-LN
(1)
(3)
(2)
(4)
(5)
中間層
(Transformer)
軽量な埋め込み(NeurIPS 20)
学習時間効率の良い正則化(NAACL 21)
共有によるパラメータ効率化(ArXiv)
Layer Norm の⾒直しで効率化
⾃然⾔語処理のニューラルモデルの構造
と⾼瀬の最近の研究
• 埋め込み︓各単語を表すベクトル表現
• 中間層︓ニューラルモデルの埋め込み以外
– Transformer が最近のスタンダード
54
ニューラル⾔語モデル
I have a
P(I) P(have | I) P(a | I have) P(dream | I have a)
<BOS>
0.83 -1.56 0.37 … -0.42
I
埋め込み表現
を⼊⼒
Layer Norm
Attention
FFN
Layer Norm
Laye
Att
Laye
Laye
Att
× N
(a) Post-LN
(1)
(3)
(2)
(4)
(5)
中間層
(Transformer)
軽量な埋め込み(NeurIPS 20)
学習時間効率の良い正則化(NAACL 21)
共有によるパラメータ効率化(ArXiv)
Layer Norm の⾒直しで効率化
おさらい︓埋め込み表現とは
• 埋め込み︓各単語に対応した実数ベクトル
– ニューラルネットには埋め込みを⼊⼒
– 各単語に固有=次元数(De ) × 語彙数(V )の⾏列
55
何らかの(M層)ニューラルネット
I have a
P(I) P(have | I) P(a | I have) P(dream | I have a)
<BOS>
0.83 -1.56 0.37 … -0.42
I
単語を埋め込み表現に変換し,
ニューラルネットに⼊⼒
V
De
0.83
…
-0.42
埋め込み表現の⾏列から
単語に対応する埋め込みを抽出
語彙数は数万〜数⼗万
→ 埋め込み⾏列はニューラルモデルの
重み⾏列の中で最⼤の⾏列
(英-独翻訳の Transformer では
全パラメータの 1/4)
従来の軽量化︓⾏列分解的な⼿法
• 埋め込み⾏列を複数の⾏列に分解
– ⼩さな次元数 × 語彙数の⾏列を⾏列演算で拡張
• 2 つに分解する [Lan+ 20]
• より複雑な分解 [Mehta+ 20]
• 問題点︓語彙数に依存した⾏列は必要
– 語彙数は数万〜数⼗万=巨⼤な⾏列が存在
• 語彙数に依存した学習パラメータを撤廃できないか︖
56
次元数×語彙数 ×
=
次元数×語彙数
×
=
× 結合
語彙数に依存した学習パラメータを撤廃
• 従来︓各語に固有の埋め込み表現を⽤意
• 本研究︓各語に固有のランダムベクトルを⽤意
– ランダムベクトルと共有パラメータから埋め込みを構築
• ランダムベクトルをどう構築するか︖
– 素朴には次元数 × 語彙数
– もっとメモリ効率の良い⼿法はないか︖
57
o
mw
FFN
ew
学習パラメータは
o と FFN のみ
→ 学習パラメータが
語彙数に⾮依存
ランダムベクトル
(各語に固有)
共有の埋め込み 各語の埋め込み
ランダムベクトル mw の構築
• M 個のランダムベクトルを組み合わせる
• 組み合わせが完全に衝突することはほぼない
– 確率は 1 - exp(-V2 / 2(cM))
– 例えば翻訳(c = 64, M = 8, V = 37K)では 1.0 × 10-6 で衝突
58
ランダム⾏列
,… + …
+
各単語に対してランダムに列ベクトルを割り当て,組み合わせる
mw
Do
c M
ランダムベクトルの組み合わせで mw を構築
Do × c × M < De × V
おまけ︓語彙を減らす
• 語彙 V が⼤きすぎるならば V を減らせば︖
– 単純には⽂字を使う
• 英語なら数⼗万 → 数百(52 + 数字 + 記号)
– 英語アルファベット 26 ⽂字の⼤⽂字・⼩⽂字を区別
– ⽂字では情報が少なすぎる
• ⽂字と単語の折衷の表現を使う
– サブワード︓⾼頻度な⽂字列をまとめて語彙とする
• 単語が途中で切れている場合には特殊⽂字(@)を使⽤
• Because 30 years ago, this …
→ Be@ cause 30 year@ s a@ go , th@ is …
– サブワードの構築⼿法
• Byte Pair Encoding (BPE)
• Unigram language model
• 実⽤的にはサブワードで語彙を 2 - 3万程度にする
59
@ を消すと元に戻る
今⽇のまとめ
• ニューラルネットの基本構造︓⾏列積 + ⾮線形変換
• ニューラルネットの⾃然⾔語処理への適⽤
– 埋め込み表現で⼊⼒をベクトル化
– 系列を扱うモデル︓RNN, LSTM, Transformer
• 事前学習モデルの隆盛
– ⾔語モデルを学習 → ⽬的のタスクで調整
– 問題︓必要な計算資源の指数的な増加
• 効率的なモデルが必要
– 蒸留,圧縮,軽量なモデルの設計
60
雑談︓研究って何︖
• 未知の(有⽤な)知⾒を得ること
– 例えば…
• 便利な(速い,省メモリ,性能が良い)⼿法を提案
• モデルの挙動に論理的な説明を与える
• 有⽤な知⾒を世間に広めること
– どうやって広める︖ → 論⽂で広める
61
雑談︓論⽂って何︖
• 査読あり/なしで⼤別
– 査読︓論⽂の主張が正確かどうか複数⼈で判断
• 主張の良さ(知⾒の嬉しさ)を判断することも
– 論⽂誌や国際会議論⽂は基本的に査読あり
• 論⽂誌と国際会議のどちらを重要視するかは分野次第
• トップ論⽂誌/国際会議に出すことが重要
– 多くの⼈が読む → 研究の知⾒が広く伝わる
– トップに通っている → 良い論⽂ではない
• 良い研究 → トップに通る可能性が⾼いはおそらく真
62
雑談︓研究の進め⽅
• 達成すると嬉しいことを考える
– 嬉しさが⼤きい問題はとても難しいことが多い
– 難度と嬉しさでバランスの良い点を探る
• 仮説 → 検証を何度も繰り返す
– たいていの仮説は誤っている
– 仮説があってそう → 詳細な検証を⾏う
• 論⽂にまとめる
• 仮説 → 検証のプロセスが主
– 検証の速度と発想を⾒直す柔軟さ,タフさが必要
63

Weitere ähnliche Inhalte

Was ist angesagt?

変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 

Was ist angesagt? (20)

畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstm
 
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
 
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
 
『自由エネルギー原理入門』勉強会1章&2章前半
『自由エネルギー原理入門』勉強会1章&2章前半『自由エネルギー原理入門』勉強会1章&2章前半
『自由エネルギー原理入門』勉強会1章&2章前半
 
Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
 
[DL輪読会]Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-...
[DL輪読会]Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-...[DL輪読会]Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-...
[DL輪読会]Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-...
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
 
[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
 
方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 

Ähnlich wie ニューラルネットワークを用いた自然言語処理

Model Transport: Towards Scalable Transfer Learning on Manifolds 論文紹介
Model Transport: Towards Scalable Transfer Learning on Manifolds 論文紹介Model Transport: Towards Scalable Transfer Learning on Manifolds 論文紹介
Model Transport: Towards Scalable Transfer Learning on Manifolds 論文紹介
Kohta Ishikawa
 
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
Hokuto Kagaya
 

Ähnlich wie ニューラルネットワークを用いた自然言語処理 (16)

Ordered neurons integrating tree structures into recurrent neural networks
Ordered neurons integrating tree structures into recurrent neural networksOrdered neurons integrating tree structures into recurrent neural networks
Ordered neurons integrating tree structures into recurrent neural networks
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
 
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェースモジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
 
Model Transport: Towards Scalable Transfer Learning on Manifolds 論文紹介
Model Transport: Towards Scalable Transfer Learning on Manifolds 論文紹介Model Transport: Towards Scalable Transfer Learning on Manifolds 論文紹介
Model Transport: Towards Scalable Transfer Learning on Manifolds 論文紹介
 
210122 msi dp
210122 msi dp210122 msi dp
210122 msi dp
 
PRML輪読#13
PRML輪読#13PRML輪読#13
PRML輪読#13
 
教師なしオブジェクトマッチング(第2回ステアラボ人工知能セミナー)
教師なしオブジェクトマッチング(第2回ステアラボ人工知能セミナー)教師なしオブジェクトマッチング(第2回ステアラボ人工知能セミナー)
教師なしオブジェクトマッチング(第2回ステアラボ人工知能セミナー)
 
深層学習(岡本孝之 著) - Deep Learning chap.1 and 2
深層学習(岡本孝之 著) - Deep Learning chap.1 and 2深層学習(岡本孝之 著) - Deep Learning chap.1 and 2
深層学習(岡本孝之 著) - Deep Learning chap.1 and 2
 
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
LCCC2010:Learning on Cores,  Clusters and Cloudsの解説LCCC2010:Learning on Cores,  Clusters and Cloudsの解説
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
 
PFI Christmas seminar 2009
PFI Christmas seminar 2009PFI Christmas seminar 2009
PFI Christmas seminar 2009
 
Stanでガウス過程
Stanでガウス過程Stanでガウス過程
Stanでガウス過程
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
PRML 4.1 Discriminant Function
PRML 4.1 Discriminant FunctionPRML 4.1 Discriminant Function
PRML 4.1 Discriminant Function
 
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
 

Mehr von Sho Takase

dont_count_predict_in_acl2014
dont_count_predict_in_acl2014dont_count_predict_in_acl2014
dont_count_predict_in_acl2014
Sho Takase
 

Mehr von Sho Takase (13)

NeurIPS2020参加報告
NeurIPS2020参加報告NeurIPS2020参加報告
NeurIPS2020参加報告
 
STAIR Lab Seminar 202105
STAIR Lab Seminar 202105STAIR Lab Seminar 202105
STAIR Lab Seminar 202105
 
Rethinking Perturbations in Encoder-Decoders for Fast Training
Rethinking Perturbations in Encoder-Decoders for Fast TrainingRethinking Perturbations in Encoder-Decoders for Fast Training
Rethinking Perturbations in Encoder-Decoders for Fast Training
 
Robust Neural Machine Translation with Doubly Adversarial Inputs
Robust Neural Machine Translation with Doubly Adversarial InputsRobust Neural Machine Translation with Doubly Adversarial Inputs
Robust Neural Machine Translation with Doubly Adversarial Inputs
 
Breaking the Softmax Bottleneck via Learnable Monotonic Pointwise Non-lineari...
Breaking the Softmax Bottleneck via Learnable Monotonic Pointwise Non-lineari...Breaking the Softmax Bottleneck via Learnable Monotonic Pointwise Non-lineari...
Breaking the Softmax Bottleneck via Learnable Monotonic Pointwise Non-lineari...
 
Enriching Word Vectors with Subword Information
Enriching Word Vectors with Subword InformationEnriching Word Vectors with Subword Information
Enriching Word Vectors with Subword Information
 
Harnessing Deep Neural Networks with Logic Rules
Harnessing Deep Neural Networks with Logic RulesHarnessing Deep Neural Networks with Logic Rules
Harnessing Deep Neural Networks with Logic Rules
 
4thNLPDL
4thNLPDL4thNLPDL
4thNLPDL
 
Learning Composition Models for Phrase Embeddings
Learning Composition Models for Phrase EmbeddingsLearning Composition Models for Phrase Embeddings
Learning Composition Models for Phrase Embeddings
 
Retrofitting Word Vectors to Semantic Lexicons
Retrofitting Word Vectors to Semantic LexiconsRetrofitting Word Vectors to Semantic Lexicons
Retrofitting Word Vectors to Semantic Lexicons
 
NLP2015 構成性に基づく関係パタンの意味計算
NLP2015 構成性に基づく関係パタンの意味計算NLP2015 構成性に基づく関係パタンの意味計算
NLP2015 構成性に基づく関係パタンの意味計算
 
Lexical Inference over Multi-Word Predicates
Lexical Inference over Multi-Word PredicatesLexical Inference over Multi-Word Predicates
Lexical Inference over Multi-Word Predicates
 
dont_count_predict_in_acl2014
dont_count_predict_in_acl2014dont_count_predict_in_acl2014
dont_count_predict_in_acl2014
 

ニューラルネットワークを用いた自然言語処理