Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mixture of Expertsに関する文献調査

hyodo
June 13, 2020

Mixture of Expertsに関する文献調査

hyodo

June 13, 2020
Tweet

More Decks by hyodo

Other Decks in Science

Transcript

  1. Mixture of Experts ⽂献調査 2020/07/13 兵頭 亮介 @onysuke

  2. アウトライン • Mixture of Experts (MoE) とは • MoEが提唱された論⽂ [J.

    Nowlan+, NIPS1990] • MoEの利⽤例 • 近年のMoEの動向 • 論⽂紹介 1. Situational Fusion of Visual Representation for Visual Navigation, [Shen+, ICCV2019] 2. CondConv: Conditionally Parameterized Convolutions for Efficient Inference, [Yang+, NeurIPS2019] 2
  3. Mixture of Experts (MoE) とは 3 混合エキスパートモデル (Mixture of Experts,

    MoE) [1] = % !"# $ ! ! , expert 1, ! expert 2, " expert K, # ⼊⼒ [1] PRML, 14.5.3 混合エキスパートモデル ゲート関数 $ () 出⼒ t 0 ≤ ! ≤ 1, ' ! ! = 1 [観測値] : 説明変数, t : ⽬的変数 • 各構成要素の密度 $ (|) : エキスパート - ⼊⼒空間の異なる領域の分布をモデル化、各々特化した領域をもつ • 混合係数 $ () : ゲート関数 - ⼊⼒に基づいてどのエキスパートを選択するかの確率値 …
  4. Mixture of Experts (MoE) とは 4 起源は G.E. Hintonさんの研究グループが提案したMoE [J.

    Nowlan+, 1991] 2つのFeed-forward NN から成る 1. Expert Network: #, … , $ 2. Gating Network: MoEの出⼒ は次式で表される = % %"# $ % % , = Softmax( 5 &) [J. Nowlan+, 1991] Evaluation of Adaptive Mixtures of Competing Experts, NIPS 1990
  5. 5 分割統治法 (Divide-and-Conquer Method) 複雑な問題を簡単なサブタスクに分割して解く問題解決の⼿法 = % %"# $ %

    % , = Softmax( 5 &) MoEは分割統治法を志向したアイデア
  6. MoEが提唱された論⽂ 6 ⺟⾳識別タスク • 話者75⼈(男, ⼥, ⼦供) • フォルマント等から⺟⾳(10クラス)を識別 expert

    1, ! expert K, # ⼊⼒ フォルマント Gating Network (′) 出⼒ y ⺟⾳ ⼊⼒ ′ フォルマント + 追加情報(話者ID等) … MoE ⼊⼒ ′ フォルマント + 追加情報(話者ID等) Feed-Forward NN, 出⼒ y ⺟⾳ Single Network 起源は G.E. Hintonさんの研究グループが提案したMoE [J. Nowlan+, 1991] [J. Nowlan+, 1991] Evaluation of Adaptive Mixtures of Competing Experts, NIPS 1990
  7. MoEが提唱された論⽂ 7 ⺟⾳識別タスク • 話者75⼈(男, ⼥, ⼦供) • フォルマント等から⺟⾳(10クラス)を識別 Gating

    Network, Single Networkの⼊⼒ ’ MoEのエラー率 Single Network のエラー率 MoEの⽅が識別エラー率が低く学習可能 起源は G.E. Hintonさんの研究グループが提案したMoE [J. Nowlan+, 1991] [J. Nowlan+, 1991] Evaluation of Adaptive Mixtures of Competing Experts, NIPS 1990 <
  8. MoEは分割統治法を志向したアイデア 8 ⺟⾳識別タスク {男性,⼥性,⼦供}の属性ごとのexpertが学習された傾向 → ⺟⾳識別タスク(メインタスク)を {男性, ⼥性, ⼦供}の⺟⾳識別タスク(サブタスク)へ分割した Expert

    index 話者属性{Male, Female, Child} ごとの選択された割合 表. Gating Networkの⼊⼒が フォルマント+speaker ID のときに、 各expertに割り当てられた話者属性(男⼥⼦)の割合 起源は G.E. Hintonさんの研究グループが提案したMoE [J. Nowlan+, 1991] [J. Nowlan+, 1991] Evaluation of Adaptive Mixtures of Competing Experts, NIPS 1990 男性に特化 ⼥性に特化 ⼦供/⼥性に特化
  9. MoEの利⽤例 機械翻訳 / ⾔語モデル • 膨⼤なパラメータ数を学習可能に - サブネットワークとしてのexpert [Shazeer+, ICLR2017]

    画像分類 • Fine-grained classification ‒ 各スケールのexpert [Zhang+, ICCV2019] • ⼀般画像分類 ‒ 上位カテゴリ(ex. 動物, 果物)のexpert [Gross+, CVPR2017] ドメイン適応/汎化 • ⾔語モデルのドメイン汎化 - 各ドメインのexpert [Irie+, ICASSP2018] etc. 9 expertに何の専⾨領域を持たせるか の観点で様々な領域で利⽤されてきた
  10. 近年のMoEの動向 ネットワーク内部へのMoE機構の導⼊ • Dynamic Convolution [Chen+, CVPR2020] • CondConv [Yang+,

    NeurIPS2019] - 動的にConv層の重みを変える 実応⽤システムの領域 • 推薦システム [Ma+, KDD2018], [Zhao+, RecSys2019] • Robot visionにおける異なる画像タスク特徴量 の統合 [Shen+, ICCV2019] 10 近年は、MoEそのものの新規性に関する研究はほぼない 論⽂紹介② 論⽂紹介①
  11. 論⽂紹介 • 論⽂① “Situational Fusion of Visual Representation for Visual

    Navigation”, [Shen+, ICCV 2019] - Robot visionにおける異なる画像タスク特徴量の統合⽅法 • 論⽂② “CondConv: Conditionally Parameterized Convolutions for Efficient Inference”, [Yang+, NeurIPS 2019] - ⼊⼒サンプルごとに適応的な畳み込み処理を⾏う⼿法 11
  12. Situational Fusion of Visual Representation for Visual Navigation William B.

    Shen, Danfei Xu, Yuke Zhu, Leonidas J. Guibas, Li Fei-Fei, Silvio Savarese Stanford University, Facebook AI Research ICCV 2019 12
  13. 論⽂① Situational Fusion of Visual Representation for Visual Navigation 背景/⽬的

    • Visual navigationタスクでは、モデルをe2eでスクラッ チから学習する研究が多く、特定環境に過学習しやすい • 他のCVタスクで学習された画像表現を活⽤したい ⼿法 • 場⾯に応じて、異なる画像表現を⼊⼒としたexpert networkの推定結果を統合するモデルを提案 結論 • 単純な統合⽅法に⽐べて、未知環境での汎化性能が向上 • 場⾯に応じて特徴的な混合係数のパターンが⾒られた 13
  14. Visual Navigationタスクとは? 14 • スタート地点'(ランダム) から、指定されたモノ (chair, table, bed, door)がある地点&

    に到達する⽅策 ((|(, ) を周囲の画像から学習 Gibson Environment Dataset, Stanford “Go to the nearest chair.”
  15. Visual Navigationタスクとは? 15 Start " = (" , " )

    Goal # = (# , # ) • 各ステップ で、 • 8⽅向のRGB画像 ( とその画像表現 (()が得られる • ⽅策 ((|(, ) から、⾏動 ( (8⽅向+stop)を決定 • 現在位置 ( が & に到達したか否か(bool)で⽅策を学習 RGB画像 . 深度推定※ . / 3D segmentation※ . 0 • スタート地点'(ランダム) から、指定されたモノ (chair, table, bed, door)がある地点& に到達する⽅策 ((|(, ) を周囲の画像から学習 ※ $ % は各タスクの特徴表現
  16. 背景 16 pixel → actionの関係を直接最適化できる 考えられる⼿法: e2eなモデルをスクラッチから学習 RGB画像 ( 限られた学習データの下では、⾒かけの

    依存関係を捉えて汎化性能が低くなることがある ◎ ✗ (
  17. 提案⼿法: Situational Representation Fusion 17 抽象度の異なる25個のCVタスク[Zamir+, 2018]の特徴表現 ( = ,

    … から推定したaction候補を統合する枠組みを提案 . 1 ∈ ℝ/2×/2×4:タスクkの学習済みモデルにRGB画像を⼊⼒して得た特徴表現 [Zamir+, 2018] Taskonomy: Disentangling Task Transfer Learning, CVPR2018 RGB画像 ( (
  18. 提案⼿法: 抽象度の異なる25個のCVタスク[5] 18 https://youtu.be/SUq1CiX-KzM 抽象度の異なる25個のCVタスク[Zamir+, 2018]の特徴表現 ( = , …

    . 1 ∈ ℝ/2×/2×4:タスクkの学習済みモデルにRGB画像を⼊⼒して得た特徴表現 [Zamir+, 2018] Taskonomy: Disentangling Task Transfer Learning, CVPR2018
  19. 提案⼿法: Situational Representation Fusion 19 ! " ! # !

    $ ! % ! & i. Fusion at the Action Level ii. Inter-task Affinity Regularization 異なるCVタスクのexpertの推定結果を統合 CVタスクの関連度に基づいて混合係数を正則化
  20. 提案⼿法: i. Fusion at the Action Level 20 ! "

    ! # ! $ ! % ! & ! RGB画像 1. 訓練済みのTaskonomy module[Zamir+, 2018]で特徴表現 * * = * !, … * "+ を抽出 2. * , それぞれについて、⽅策 ,,. / (|* , ) を独⽴に学習し、action候補 ; * ,を得る 3. RGB画像* から混合係数 * を計算 * = ( * ) 4. 各action候補の重み付き和で最終出⼒ * を計算 * = ∑,0! "+ * , ,,. / (|* , ) ; * , ( experts [Zamir+, 2018] Taskonomy: Disentangling Task Transfer Learning, CVPR2018
  21. 提案⼿法: ii. Inter-task Affinity Regularization 21 課題: i では少数のexpertが独占的(重み⼤)になり冗⻑な表現 →

    異なるタスクの特徴表現 ( #, … ( -. 同⼠の相関に基づく制約を加える = Inter-task Affinity Regularization 法線推定(ns) と エッジ検出(edge) のタスク相関は⾼い → * 12, * 3453 の両者が⼤きくならないような制約が⼤きい 法線推定(ns) と semantic seg. (ss) のタスク相関は低い → * 12, * 22 の両者が⼤きくならないような制約が⼩さい ※タスクの相関は[Zamir+, 2018]のタスク類似度⾏列より取得 [Zamir+, 2018] Taskonomy: Disentangling Task Transfer Learning, CVPR2018
  22. データセット Gibson Environment Dataset 複雑度の⾼い実環境データセット • 62個の異なる室内環境を⽤いる 22 http://gibsonenv.stanford.edu/database/

  23. 実験設定 前処理 • ⼋⾓形グリッドでマップを区切り、有向グラフを作成 訓練/テスト • 平均28個の環境で訓練 / 平均14個の環境でテスト •

    Start地点を1024回ランダムにサンプル、成功率を算出 • 39steps以内にゴールの3steps以内に到達したエピソー ドを成功とする その他 • 最短経路アルゴリズムで⽅策を学習 • 解は必ず存在 Start ‒ Goal の最短距離は max: 32steps, min: 6steps 23
  24. 結果: unseenな環境における成功率 24 Random: ランダムウォーク ResNet: ImageNet-pretrainnedなblack-box model (a) Concat:

    画像特徴 * * = * !, … * "+ のconcatを⼊⼒とした単⼀model Feature-level Fusion: 画像特徴に重みをかける (b) Action-level Fusion: 推定actionに重みをかける (c) 1. 複数の画像特徴表現の有効性を確認 (ResNet << Action Fusion) 2. MoEのgating構造の有効性を確認 (Concat << Action Fusion)
  25. 環境2 議論: fusion weightの分析 定性評価 25 場⾯に応じて、fusion weightパターンに特有の傾向が⾒られる 環境1(狭い通路) :

    衝突を避けるために3Dタスクのexpertに重み 環境2(広い部屋) : 対象物を探すためにsemanticタスクのexpertに重み 環境1
  26. 議論: fusion weightの分析 定量評価 26 場⾯に応じて、fusion weightパターンに特有の傾向が⾒られる 環境1(狭い通路) : 衝突を避けるために3Dタスクのexpertに重み

    環境2(広い部屋) : 対象物を探すためにsemanticタスクのexpertに重み ͦͷ৔ॴͷ։์౓߹͍ ো֐෺͔Βͷڑ཭ ڱ͍ FY௨࿏ ޿͍ FYϦϏϯά
  27. 議論: 各expertモデル単体の成功率 27 • 3Dタスクが上位を占める エージェントが障害物の衝突を 避けるために重要 • Semantic seg.

    も上位 target物体を認識するのに重要 • Low-levelな情報 (消失点推定, カメラ姿勢推定)は成功率低い 抽象度が⾼く、今回は寄与せず 複数の画像表現を統合することで、各単体モデルより成功率が向上
  28. 論⽂紹介 • 論⽂① “Situational Fusion of Visual Representation for Visual

    Navigation”, [Shen+, ICCV 2019] - Robot visionにおける異なる画像タスク特徴量の統合⽅法 • 論⽂② “CondConv: Conditionally Parameterized Convolutions for Efficient Inference”, [Yang+, NeurIPS 2019] - ⼊⼒サンプルごとに適応的な畳み込み処理を⾏う⼿法 28
  29. CondConv: Conditionally Parameterized Convolutions for Efficient Inference Brandon Yang, Gabriel

    Bender, Quoc V. Le, Jiquan Ngiam Google Brain NeurIPS 2019 29
  30. 背景/⽬的 • ⼀般的な畳み込みカーネルは全ての⼊⼒に共通 • モデルの精度と推論速度はトレードオフ • タスクによっては推論時の計算量を抑える必要がある ⼿法 • ⼊⼒サンプルごとに適応的な畳み込みカーネルを適⽤する⼿

    法 CondConvを提案 • 推論時の計算コストを抑えつつ、精度を向上 結論 • 画像分類/物体検出タスクで、通常の畳み込みを置き換える だけで性能と推論時計算量のトレードオフを改善 30 論⽂② CondConv: Conditionally Parameterized Convolutions for Efficient Inference
  31. 背景 : 精度と推論速度はトレードオフ 31 精度 推論時の計算コスト [Howard+, 2019] Searching for

    MobileNetV3, ICCV2019 即時性が求められるタスク(ex. リアルタイムのエッジ処理, ⾃⾛運転)では 推論時の計算コストを抑える必要がある → 推論時の計算コストを削減しつつネットワークのサイズ/容量を増やしたい [Howard+, 2019] Our Goal
  32. 背景 : 画像における⼀般的な畳込み処理 32 基本的な想定: 全ての⼊⼒サンプルに対して共通の畳込みカーネル conv Open Images Dataset

    V6 + Extensions
  33. 背景 : CondConv 33 基本的な想定: 全ての⼊⼒サンプルに対して共通の畳込みカーネル CondConv: ⼊⼒サンプルごとに適応的な畳み込みカーネル Conditionally Parameterized

    Convolutions Open Images Dataset V6 + Extensions 基本的な想定: 全ての⼊⼒サンプルに対して共通の畳込みカーネル conv2 conv1 conv3
  34. 提案⼿法 : CondConv 34 = ( 7 ) A =

    A () = ((/ 7 / + ⋯ + B 7 B) ∗ ) % : 畳み込みカーネル : 畳み込みカーネルの数(図では = 3) %, は学習可能な重み に基づいてROUTE関数(fc-NN)が混合係数 % を算出 混合係数 % と畳込みカーネル % の重み付き和 で畳み込み
  35. 提案⼿法 : MoEと計算的に等価であり 推論コストが⼩さい 35 = 各畳込み演算 % をexpert networkとしたMoEと計算的に等価

    畳み込み演算, MoE: 回, CondConv: 1 回 → CondConv では (容量)を増やしても推論コストが抑えられる
  36. 実験設定 36 データセット • ImageNet モデル (w/, w/o CondConv) •

    MobileNetV1, V2 • ResNet-50 • MnasNet • EfficientNet 評価指標 • Top-1 accuracy • MADDs - 積和演算数 (multiply-adds)
  37. 結果 : CondConvで精度と推論コストのトレードオフが改善 37 精度 推論時の計算コスト CondConvのExperts数を{1, 2, 4, 8,

    16, 32}と変えた時のトレードオフ (-.--x) はMobileNetV1のwidth multiplayer … 容量を調節するパラメータ
  38. 結果 : 多様な全てのモデルでCondConvにより向上 38 CondConvのExperts数を8とし、 最適な位置のConv, fc層をCondConvに変えた場合の各モデルの評価値 多様なモデルで、僅かな推論コスト増加に対してtop1-Acc向上 MobileNet :

    推論コスト削減を⽬的とするモデル (depth-, point-wise) ResNet : 基本的なモデル MnasNet, EfficientNet : NASを活⽤したモデル
  39. 議論 : 異なる深さの層での混合係数の可視化 39 ⼊⼒側 出⼒側 [Hu+, 2017] Squeeze-and-Excitation Networks,

    CVPR2017 Semantic & appearanceが異なる4クラス[Hu+, 2017] の層ごとの混合係数 横軸: expert index, 縦軸:混合係数 • ⼊⼒側 (a)ではクラス間で混合係数に⼤きな違いがない • ⼊⼒側ではクラスに共通する低次な特徴抽出が⾏われている事実と合う • 出⼒側 (c)の層に近づくほどクラス間で混合係数のばらつきがみられる • 出⼒側ではクラス固有の⾼次な特徴抽出が⾏われている事実と合う
  40. 議論 : 出⼒側の混合係数より、各expertが専⾨化 40 全validation dataに対する最終出⼒層(FC)の混合係数のヒストグラム 混合係数の⼤きさが⼆峰性 (0 or 1)をもつ

    • expert(畳み込みカーネル)がスパースに選ばれている → expertが⼊⼒サンプルに特化 混合係数% の⼤きさ
  41. 議論 : 各expertが共通する特徴をもつクラスに特化 41 Expert index 4つのexpertにおける混合係数% の平均値が⼤きい上位10クラスの画像例 共通する特徴(形状、⾊)をもつ物体クラスに各expertが特化 •

    Expert1: ⾞輪がある乗り物 ex. ⾞, ⾺⾞ • Expert2: ⻑⽅形状の物体 ex. ポスト, 建物 • Expert3: 円筒状の家庭⽤品
  42. まとめ • Mixture of Expertsの背景/技術を紹介 • MoE⾃体は新しい技術ではなく、 • その構造はattention機構などに受け継がれているよう •

    応⽤領域(推薦システム, Robot vision)では近年も論⽂がみ られる • 構造が直感的でシステム実装との相性が良いのでは 42
  43. appendix 43

  44. MoEが提唱された論⽂: expert数 44

  45. 近年再びMoEが注⽬を集めた論⽂ 背景/⽬的 • 巨⼤(パラメータが膨⼤)なモデルは性能が⾼い • 計算コストを⼩さく巨⼤なモデルを学習したい ⼿法 • stacked LSTMベースのモデルに、多数のexpert(最⼤

    130, 000個)と少数のexpertを選択するgating network をから成るMoE機構を挿⼊ 結論 • 膨⼤なパラメータ数(最⼤1370億※)も短時間で訓練可能 • 当時の機械翻訳と⾔語モデルの SOTA 45 ※ 34層の ResNet のパラメータ数は 360 万 [Shazeer+, 2017] Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer, ICLR2017
  46. 46 [Vaswani+, 2017] Attention Is All You Need, NIPS2017 ⽬的:

    MoEで膨⼤なパラメータ数を学習可能に [Shazeer+, 2017] • サブネットワークに分割することで表現⼒向上 近年再びMoEが注⽬を集めた論⽂ → しかし、以降この⽬的でMoEを⽤いる事例は少ない この半年後、同GoogleよりTransformer が提案 [Vaswani+, 2017] • self-attention が広く⽤いられるようになった 所感 attentionとgatingの機構が類似している点では、 ある意味Mixture of Expertsの考え⽅が引き継がれているとは⾔えそう [Shazeer+, 2017] Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer, ICLR2017
  47. 47 近年再びMoEが注⽬を集めた論⽂ [Shazeer+, 2017] Outrageously Large Neural Networks: The Sparsely-Gated

    Mixture-of-Experts Layer, ICLR2017
  48. 論⽂① 実験設定 訓練/テスト • 平均28個の環境で訓練 / 平均14個の環境でテスト • Start地点を1024回ランダムにサンプル、成功率を算出 •

    39steps以内にゴールの3steps以内に到達したエピソー ドを成功とする 設定 • Optimizer: Adam • train for 16K iterations • Batchsize 256 (64 for ResNet baseline) その他 • 最短経路アルゴリズムで⽅策を学習 • 解は必ず存在 Start ‒ Goal の最短距離は max: 32steps, min: 6steps 48
  49. 論⽂① 実験設定 octagonal grid 49

  50. 論⽂① 提案⼿法の汎化性能向上 50

  51. 論⽂① 議論: 各expertモデル単体の成功率 51 • 3Dタスクが上位を占める エージェントが障害物の衝突を 避けるために重要 • Semantic

    segも上位 target物体を認識するのに重要 • Low-levelな情報 (消失点推定, カメラ姿勢推定)は成功率低い 抽象度が⾼く、本タスクでは寄与 しなかった
  52. 論⽂① 議論: ノイズへの頑健性 52 • Action-levelはaction推定まで ⾏うため、feature-levelより ノイズへ頑健というのは納得 しづらい •

    noise付加の仕⽅(画像表現を0 に置換)が不⾃然な気がする 画像表現のdrop 画像表現へのnoise付加
  53. 論⽂② 背景: 性能向上のために様々な畳込み⼿法が提案 • Multi-branch Convolutional Networks • Inception •

    Example dependent activation scaling • SE-Net • Input-dependent Convolutional layers • Deformable Convolution 53
  54. 論⽂② 提案⼿法: 学習時は双⽅の演算を⽤いる 54 (a)の学習時の課題: ⼊⼒サンプルごとに畳み込みのパラメータが変わる → バッチサイズ1, 計算効率が悪い ≤

    4 (b) MoEの演算で学習 (バッチサイズ⼤) 畳み込みカーネルの数 > 4 (a) CondConvの演算で学習 (バッチサイズ1) 予備実験の結果、以下の⽅法で学習 ※ Routing weightsはブロックごとに共有 (res-block etc)
  55. 論⽂② 実験設定: 正則化 1. Dropout • 各fc layerに • P

    = 0.6~1.0 (??) Route関数の出⼒がpになるようにという意味? 2. Argumentation General Argumentation • Auto Argument • Mixup w/ α=0.2 New Argumentation • 訓練時にいくつかexpertをdropする (Shake-Shake的) 55
  56. 論⽂② 結果: ROUTE関数の構造探索 56 Single : CC7thの重みを共有 Partially-shared : 1つおきの層で重み共有

    Hidden: GAP→ReLU(hidden)を追加 - Small: size(hidden) = input_dim/8 - Medium: size(hidden) = input_dim - Large: size(hidden) = input_dim * 8 Hierarchical: 前層のCCweightをGAPとconcat → overfit Softmax: sigmoid→ softmaxに変更 性能下 複数expertを選択したい場⾯に弱い
  57. 論⽂② 結果: CondConvの挿⼊箇所の探索 57 • 全層をCondConvにした時最も精度⾼い • FC層CCの推論コストが⼤きい (なぜ •

    FC層を通常にする(No FC)と 精度は多少落ちるものの効率的
  58. 論⽂② 議論: 混合係数のクラス内での変化 58 最終出⼒層(FC)での重みの可視化 横軸: expert index, 縦軸:混合係数 goldfish

    cliff • 各クラスで分散が⼩さく⼤きな重みが与えられるexpertが存在 • ⼀⽅で、同じクラスでも重みの分散が⼤きいexpertも存在