SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Neural Netowork
Based Language Model
内海慶
kuchiumi@d-itlab.co.jp
黒船到来
• 自然言語処理における Deep Learning の活用を紹介
• google の人が公開したword2vecというツールが話題
デモ
文章のみから単語の意味を獲得する
n-gram language model
• 文に対する確率分布をモデル化
• 単語の条件付き確率の積で表す
• 単語の条件付き確率はN-1個前までの単語で計
算できると仮定する
適切なn-gram確率をいかに求めるかがこれまでの焦点
コーパスに現れない低頻度なn-gramにも事前分布に従って正確な
確率を与えるという試みがなされてきた(スムージング)
n-gram lm の例
• HPYLM
trigram の確率は… 観測したtrigram頻度を
ディスカウントして…
bigram確率でback-off
“トヨタ/自動車” の確率は 0.5
“日産/自動車”の確率は0.4
Q: トヨタと日産の関係は?
A: 知らない
n-gram LMのポイント
• 直接訓練コーパスに対して尤度最大化
• 過学習になるのでやらない
• 適切なスムージングを入れる
• 事前分布を考慮して,今あるコーパスから真
のn-gram確率を推定する
• 汎化されたモデル(アウトドメインに強い)
Neural Network Language Model
これまでの言語モデル
• 単語の出現確率を頻度から計算
• 適切なn-gram確率を計算するこ
とにフォーカス
• 各単語は独立に扱われる
• 単語間の関係は見ない
NNLM
• 単語の出現確率をデータから学
習・予測
• 直接コーパスに対して尤度最大化
• インドメインに強い
• アウトドメイン?何それ
• 各単語を連続空間のベクトルとし
て表現
• 似た単語は似たベクトルを持つ
従来は禁忌とされてきたコーパスに対する直接の尤度最大化をやってしまった.
事前知識なんていらない.アウトドメインとか汎化とか知らない.
NNLMの例
• Recurrent Neural Network Language Model
• 次の単語の出現確率を直接コーパスから学習
次の単語は,
1. 入力単語を潜在空間へ写像(ベクトル表
現)したものと,
2. 単語の潜在ベクトルの履歴(ベクトル)
を結合したベクトルと
3. 重みベクトルVとの内積
で予測
RNNLM
NNLMのポイント
• 学習された単語の潜在ベクトル(U*j)が単語の意味を
獲得する
• 獲得した単語の潜在ベクトルを使った操作で単語間
の関係が分かる
• (やろうと思えば)入力単語を表す素性の追加もでき
る(音声系で最近よくやられている)
• コーパスの尤度を直接最大化するのでインドメイン
に強い
獲得した潜在ベクトル
man
woman
king
queen
U で獲得された単語の潜在ベクトル表現
king のベクトルから man のベクトルを引く
(manとkingの関係を取り出す)
womanのベクトルに足すと…
queen に近いベクトル
コサイン類似度で
queenが見つかる
NNLMって今までなかったの?
• 実は…
• 1990年にElmanが既に単純再帰型ニューラル
ネットワーク(通称エルマンネット)を提案
• 1991年には単語予測に利用して,文法構造が
ネットワークの結合係数として学習されるこ
とを示している
エルマンネットとの違い
RNNLM
単語を潜在ベクトルで表現
Uで潜在空間へ写像する
エルマンネット
単語を1 of V で表現
文脈 s も V 次元ベクトル
過去の単語ベクトルに減衰係数を掛け
て足し込んでいる
w(t)+αs(t-1)
つまり
• エルマンネットでは単語を潜在空間に写像
するという発想は無かった
RNNLMの学習
• を最大化するようなU, W, V の3つを学習する
• 学習はSGDを使って逐次更新をする
• だいたい5〜10回程度のepochで良い
f : シグモイド関数
g : ソフトマックス関数
次の単語の確率
単語の潜在ベクトル表現
対数尤度の最大化
• データの対数尤度を最大化
• 逆誤差伝搬を使って更新
• 細かいところはおいておいて,更新式
は...
: 出力誤差
: 正解ベクトル(1 of V 表現)
次の単語w(t+1)の位置だけが1で残りは0
出力層Vの更新式
• 出力誤差を潜在ベクトルに掛けてVに足し込むだけ
• αは学習率
隠れ層への誤差伝搬
• 誤差の勾配を隠れ層へ伝搬させる
• Vの重みを逆向き(隠れ層へ向かって)掛ける
• dは隠れ層の関数sの微分
• RNNLMではsにシグモイド関数を使ってるのでこの式になる
単語の潜在ベクトル表現
Uの更新
• 隠れ層の誤差の勾配を入力層に伝搬
• w(t)が1 of V表現なので更新は効率的
再帰の重みWの更新
• Uと同じように書けるが,s(t-1)は密
Backpropagation Through Time
• 文脈ユニットを畳み込まない
• 状態の履歴を持つ
• 直前の単語と状態は直後には影
響しないけど,もっと後には影
響するかもしれない
• UとWの更新にもっと過去の情
報も使うようにしてより最適に
しようという発想
• 今回は割愛
どのくらい上手く意味
を捉えられるのか?
• 文法規則を獲得できているかのテスト
• 形容詞の原型,比較級,最高級
• 名詞の単数,複数
• 所有格と非所有格
• 現在形と過去形
• 現在形と三人称単数
• 過去形と三人称単数
• PennTreebankでニュース記事にタグ付けして,各項目ご
とに高頻度な事例を取り出し,同じカテゴリの単語と組
み合わせたりして analogy question を自動生成.
• 約40%の正解率
どのくらい上手く意味
を捉えられるのか?
• SemiEval-2012, Task2, Measuring Relation Similarity[Jurgens et
al., 2012]
• 細かい粒度で単語の関係が書かれている79単語を使用
• 10個を使って学習,69個はテストに使用
• 各関係には3〜4事例の単語のペアが与えられている
• e.g. 集合包含: 集合単数→clothing:shirt
• 正解のペアがどのくらいの関連度を持っているか平均を出し
て,他の手法と比較(MaxDiffという尺度を使うらしい)
• 他の手法と比較しても高いスコアを出せた
• e.g. RNN-1600 MaxDiff Acc. 0.418, UTD-NB, 0.395(state-of-the-art)
他分野での利用
• 言語モデルを使う他のタスクで利用され始めている
• 機械翻訳
• 音声認識
• InterSpeechの言語モデルセッションはRNNLMばかり
• etc.
• 提案
• 方言と標準語混じりのコーパスから類似語を獲得
• 画像処理分野で visual words に適用できたりする?
まとめ
• 最近話題のRNNLMについて紹介
• 従来のn-gram言語モデルでは考慮されていな
かった,単語間の関係がRNNLMでは獲得できる
• ニュース記事にタグ付けしたデータを使った評
価で,文法規則を自動で獲得できていることを
示している
• SemiEval-2012のデータを使った評価で,単語間の
関係も獲得できていることを確認
参考
• Tomas Mikolov, Statistical language models based on neural
networks (http://www.fit.vutbr.cz/~imikolov/rnnlm/thesis.pdf)
• Tomas Mikolov, et al., Linguistic regularities in continuous space
word representations, in NAACL HLT, 2013
• Tomas Mikolov, et al., Efficient estimation of word
representations in vector space, in ICLR, 2013
• 浅川伸一, 単純再帰型ニューラルネットワーク
(http://www.cis.twcu.ac.jp/~asakawa/waseda2002/elman.pdf)
• 浅川伸一, 単純再帰型ニューラルネットワークの心理学モデル
としての応用可能性
(http://www.cis.twcu.ac.jp/~asakawa/chiba2002/lect4-
SRN/srn2001-compact.pdf)

Weitere ähnliche Inhalte

Was ist angesagt?

【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたいTakuji Tahara
 
言語と画像の表現学習
言語と画像の表現学習言語と画像の表現学習
言語と画像の表現学習Yuki Noguchi
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~Takuya Ono
 
文脈自由文法の話
文脈自由文法の話文脈自由文法の話
文脈自由文法の話kogecoo
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリングmlm_kansai
 
[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎Deep Learning JP
 
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-Deep Learning JP
 
強化学習その4
強化学習その4強化学習その4
強化学習その4nishio
 
Stanコードの書き方 中級編
Stanコードの書き方 中級編Stanコードの書き方 中級編
Stanコードの書き方 中級編Hiroshi Shimizu
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)Yasunori Ozaki
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてSho Takase
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language ModelsDeep Learning JP
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memorynishio
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic DatasetsDeep Learning JP
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)RyuichiKanoh
 
20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdfShintaro Fukushima
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!Kazuhide Okamura
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説弘毅 露崎
 

Was ist angesagt? (20)

【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
 
言語と画像の表現学習
言語と画像の表現学習言語と画像の表現学習
言語と画像の表現学習
 
階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~
 
文脈自由文法の話
文脈自由文法の話文脈自由文法の話
文脈自由文法の話
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
 
[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎
 
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
 
強化学習その4
強化学習その4強化学習その4
強化学習その4
 
Stanコードの書き方 中級編
Stanコードの書き方 中級編Stanコードの書き方 中級編
Stanコードの書き方 中級編
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memory
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 

Mehr von Kei Uchiumi

Deep Learning Chapter12
Deep Learning Chapter12Deep Learning Chapter12
Deep Learning Chapter12Kei Uchiumi
 
Nl220 Pitman-Yor Hidden Semi Markov Model
Nl220 Pitman-Yor Hidden Semi Markov ModelNl220 Pitman-Yor Hidden Semi Markov Model
Nl220 Pitman-Yor Hidden Semi Markov ModelKei Uchiumi
 
DSIRNLP06 Nested Pitman-Yor Language Model
DSIRNLP06 Nested Pitman-Yor Language ModelDSIRNLP06 Nested Pitman-Yor Language Model
DSIRNLP06 Nested Pitman-Yor Language ModelKei Uchiumi
 
Sigir2013 retrieval models-and_ranking_i_pub
Sigir2013 retrieval models-and_ranking_i_pubSigir2013 retrieval models-and_ranking_i_pub
Sigir2013 retrieval models-and_ranking_i_pubKei Uchiumi
 
Crfと素性テンプレート
Crfと素性テンプレートCrfと素性テンプレート
Crfと素性テンプレートKei Uchiumi
 

Mehr von Kei Uchiumi (10)

Ibisml vhmm
Ibisml vhmmIbisml vhmm
Ibisml vhmm
 
Deep Learning Chapter12
Deep Learning Chapter12Deep Learning Chapter12
Deep Learning Chapter12
 
Dsirnlp#7
Dsirnlp#7Dsirnlp#7
Dsirnlp#7
 
Gamglm
GamglmGamglm
Gamglm
 
Nl220 Pitman-Yor Hidden Semi Markov Model
Nl220 Pitman-Yor Hidden Semi Markov ModelNl220 Pitman-Yor Hidden Semi Markov Model
Nl220 Pitman-Yor Hidden Semi Markov Model
 
DSIRNLP06 Nested Pitman-Yor Language Model
DSIRNLP06 Nested Pitman-Yor Language ModelDSIRNLP06 Nested Pitman-Yor Language Model
DSIRNLP06 Nested Pitman-Yor Language Model
 
Sigir2013 retrieval models-and_ranking_i_pub
Sigir2013 retrieval models-and_ranking_i_pubSigir2013 retrieval models-and_ranking_i_pub
Sigir2013 retrieval models-and_ranking_i_pub
 
Signl213
Signl213 Signl213
Signl213
 
Pylm public
Pylm publicPylm public
Pylm public
 
Crfと素性テンプレート
Crfと素性テンプレートCrfと素性テンプレート
Crfと素性テンプレート
 

RNNLM