言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
- 1. Copyright © 2017 TIS Inc. All rights reserved.
言葉のもつ広がりを、モデルの学習に活かそう
戦略技術センター
久保隆宏
one-hot to distribution in language modeling
- 3. 久保隆宏
TIS株式会社 戦略技術センター
化学系メーカーの業務コンサルタント出身
既存の技術では業務改善を行える範囲に限界があるとの実感から、戦
略技術センターへと異動
現在は機械学習や自然言語処理の研究・それらを用いたシステムのプ
ロトタイピングを行う
自己紹介
OpenAI Gymを利用した、
強化学習に関する講演
(@PyConJP 2016)
kintoneアプリ内にたまった
データを簡単に学習・活用
(@Cybozu Days 2016)
機械学習のビジネスへの適用/
音楽生成で同人誌ダブル出展
(@技術書典2 2017)
- 7. Tying Word Vectors and Word Classifiers: A Loss Framework
for Language Modeling
言葉の広がりを反映した学習を行うために、「one hotではなく
distribution」レベルでの比較を行おう
この手法を適用すると、同時に「input embeddingとoutput
projectionの間に等価性が生じる」。これによりパラメーター数を大幅
に削減することができる。
もちろん、精度もよくなる
論文の主張
- 17. Tying Word Vectors and Word Classifiers: A Loss Framework
for Language Modeling
言葉の広がりを反映した学習を行うために、「one hotではなく
distribution」レベルでの比較を行おう
この手法を適用すると、同時に「input embeddingとoutput
projectionの間に等価性が生じる」。これによりパラメーター数を大幅
に削減することができる。
もちろん、精度もよくなる
論文の主張(再掲)
- 18. 誤差の定義(one hot + distribution)
定式化
one hotの誤差
distributionの誤差(KL距離)
教師分布の得方
正解単語のベクトル取得
内積計算+softmaxで分布化
- 20. 分布ベースの誤差を導入した効果、また、input embedding = output
projectionとすることの効果は
実験結果(2/3)
+AL:分布ベース誤差
+RE:input=outputの制御
言語モデルの評価で、LSTMの
ベースラインよりも高い効果
=手法が有効
データセットのサイズが大きいとALの効果は限定的になるが(one hotで
も十分な情報が取れるため)、REはいずれのケースでも高い効果がある
- 23. 実際に実装して検証をしてみた
icoxfog417/tying-wv-and-wc
Kerasで実装
モデル・学習のパラメーターは論文準拠(論文のAppendixに詳細な
パラメーターが記載されている)
次スライドの検証では、学習時間短縮のため小さいコーパスで学
※論文に倣うなら最低でも10epoch、差分を見るのに40epochは回さ
ないといけないので。Penn Treebankでもツライ(ましてWikiTextで
は・・・)
実装と検証(1/3)
- 28. GPUサーバーのディスク容量
「計算するだけだから~」と思っていると足元をすくわれる。
機械学習系のライブラリ、CUDAなどは結構重く、また学習デー
タ・epoch毎に保存するモデルファイルのサイズもばかにならない。
8Gだとぎりぎり、9~10G程度あったほうが安心できると思う。
PyTorchの言語モデルのサンプルではすでにtyingが実装されている
Word-level language modeling RNN
ソースコード中でも言及されているように、本論文以外にもinput
embeddin/output projectionを等価にすることの効果を支持する
研究がある("Using the Output Embedding to Improve
Language Models")
積極的に使っていこう!
余談(2/2)