Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

15
Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer 論論論論 Twitter:@UMU____

Transcript of Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

Page 1: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

Outrageously Large Neural Networks:

The Sparsely-Gated Mixture-of-Experts Layer

論文紹介Twitter:@UMU____

Page 2: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

何の論文か?• 混合エキスパート層 (Mixture-of-Experts) を DNN に導入することで,法外に (outrageously) 大きいネットワークを,実現可能な計算量に落とし込んで学習させることができた.という論文.

Page 3: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

目次• 大きなネットワークの必要性• DNN の計算量について• 混合エキスパート層の構成• 混合エキスパート層のゲート• (計算効率のための手法)• まとめ

Page 4: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

大きなネットワークの必要性• 自然言語処理や音声処理,画像処理を機械学習で扱う際,非常に大きなデータセットと,非常に大きなネットワークを用いることで,性能が向上するということが経験的に知られている.

GoogLeNet1400 万画像

Page 5: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

DNN の計算量について• DNN の計算量は,データセットのサイズとネットワークのサイズに各々比例する.データセットとネットワークのサイズはどちらも大きくなっていくので,結果的に二次のオーダーで計算量が増える→ 大問題.・そこで,ネットワークのサイズと計算量が比例しないようにする方法が開発されてきた(先行研究)→ 手法:データがネットワークで処理される際,ネットワークの大分部を通らないようにする.(疎なモデル)

Page 6: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

混合エキスパート層の構成• 本論文で使用されている「混合エキスパート層」は,複数のエキスパート(ネットワーク)を,「ゲート」 (Gating

Network) を用いて,(連続的に) ON/OFF することで,疎なモデルを実現.• 混合エキスパートの手法自体は,1990 年代からある古いもの.SVM など他の機械学習手法の適用例や,ゲートが離散的など,様々なバリエーションが存在.

Page 7: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

混合エキスパート層の構成• エキスパート自体が NN となっている.• 入力を x, 出力を y ,各エキスパートの関数をゲートの関数をとすると,混合エキスパート層全体でみた関数は,となる.

Page 8: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

混合エキスパート層の構成• 本論文では,隠れ層 1 層とそれに付随した活性化層

ReLu を用いている.

Page 9: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

混合エキスパート層の構成• となるに対しては,を計算する必要がないので,疎なモデルが実現されている.• もちろんとなる頻度が少なければ意味がないので,そのために細工をする.

Page 10: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

混合エキスパート層のゲート• ゲートもエキスパートと同様に(学習可能な) NN である.• ゲートとして考えられる関数としては,が考えられる( LSTM の選択ゲートと同じ).• しかしながら,この関数は→KeepTopK 関数を用いて,上位 k 個以外を-∞にした後, SoftMax に通すことで解決.(これによって微分可能性が失われるが問題ないらしい)

Page 11: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

混合エキスパート層のゲート• 加えて,負荷分散のために, KeepTopK 関数を通す前にガウシアンノイズを加えて,ゲートの完成.ガウシアンノイズの分散はソフトプラス関数を活性化層に用いた単層 NN を用いる.

Page 12: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

負荷分散• 負荷分散は,ゲートによって選択されるエキスパートが偏らないようにするために行われる.ゲートの関数の中身以外にも,偏らないようにするために,Importance loss,load loss などを損失関数に加えている.(正規化の一種?)

Page 13: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

計算効率のための手法< GPU プログラミングが分かる人向け> • この論文は計算効率のことを第一に考えている.→ ハードウェアが GPU であることを考慮したアルゴリズムの設計になっている.• エキスパートをすべての GPU でそれぞれ保持するのではなく,エキスパートを分割して,特定の GPU はこの部分のエキスパート群を処理する.という仕組みになっている.• データ並列でスレッドを動かすと, GPU の性質から非効率なため,エキスパート並列でスレッドを動かしている.(エキスパート以外はデータ並列.)

Page 14: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

結果• 論文参照.

Page 15: Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Layerの紹介

まとめ•従来の DNN に比べ,計算量の増大を抑えながらネットワークサイズを飛躍的に増大させることができた.• また,それによって,性能向上がみられた.