>100 Views
June 05, 20
スライド概要
2020/06/05
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP “Feature Interaction Interpretability: A Case for Explanining Ad-Recommendation Systems vi Neural Interaction detection [DL Papers] (ICLR2020)” Yoshifumi Seki, Gunosy http://deeplearning.jp/
書誌情報 ● ● 投稿先 ○ ICLR2020 Poster ○ OpenReview: https://openreview.net/forum?id=BkgnhTEtDS ■ WA-6, WA-6, WA-6 ● 選定理由 ○ ICLRに広告系が通るのは珍しい ○ 解釈可能機械学習は興味がある ● 実装が公開されている ○ https://github.com/mtsang/interaction_interpretability 2
今日の発表 ● ICLR2018のDetecting Statistical Integrations From Neural Network Weightと合 わせて紹介 ○ これもPoster ○ 7-7-7 ■ https://openreview.net/forum?id=ByOfBggRZ ○ この著者の以前の発表 ○ これは45件引用されている ■ 対象論文ではNIPS2017 Workshopのが参照されているけど、こっち引いたほうがよさそうな、、、 ○ この論文での比較手法的な扱い ● 理解が出来てない部分がわりとあります ○ 証明とかはスキップしてる、論文の本質ではないけど、なぜこの手法でうまくいくのかはまだ私には説 明できない ○ どういうことができているのか、ベースでの説明になります 3
概要 ● 深層学習における変数間の交互作用の予測への有効性を説明したい ● 交互作用を評価する指標であるGradient-based Neural Interaction Detection (Grad-NID)と、それを使って推薦システムにおける重要な交互作用を特定する手法 であるGLIDER (GLobal Interaction Detection and Encodering for Recomenndation)を提案 ● オープンな広告データを使って、実際に交互作用を説明し、GLIDERによって予測精 度を改善することに成功 ○ ここが評価されてのAcceptedぽい ● 広告以外の他のタスクにおける有効性も示した 4
Neural Interaction Detection(NID) (ICLR2018) ● FFNを想定した手法 ● レイヤーlに対するその後のウェイトの影響を以下で与える ○ z^lはレイヤーlの入力と同じ次元 5
Neural Interaction Detection(NID) (ICLR2018) ● Layer_{i}におけるインタラクションIの強さとしてこちらを与える ○ 各インタラクションの重さに、その後のLayerの影響力を欠ける ○ W_i^l, I: Iayer iのInterection Iの重みの平均 ■ これがそのLayerにおけるInteracactionの ○ μ(・)はaveraging function、この論文の実験では min (・)を使う 6
Neural Interaction Detection(NID) (ICLR2018) ● GreedyにInteractionのランキングを求める ○ Wの各rowに対して上位jの要素を得て、それをinteraction候補とする ○ 各次元のInteractionに対してωを計算して各列の総和をとる ● dに従って上位m件のInteractionを交互として返す 7
Neural Interaction Detection(NID) (ICLR2018) ● MLP-Mを提案 ○ univariateなネットワークをつける ○ これによって通常のMLP部分を相互作用のもののみに 絞っていきたい ○ Wide and Deep っぽいよね ● MLP-cutoff ○ 真に強いtop-Kのinteractionを探したい ○ Generalized Additive Modelで探す ■ g_i, g’_iは小さなFFN 8
Generalized Additive Model (GAM) ● 一般化加法モデル ○ GLMの発展版 (1990) ● fがすべて線形の場合は一般化線形モデルと一緒 ● 9
実験 10
実験(1) - averaging functionをどうするか? ● 各合成関数に対してMLP, MLP-Mそれ ぞれ10回学習をかけてInteractionのペ アを検出 ● 正確に予測できた数を評価 ○ これ上位何個なんだ、、、? ● MINが一番よかったのでMINを採用 11
Pair-wise InteractionsのAUCを比較 12
Pair-wise InteractionsのAUCを比較 ● F6以外はMLP-Mのほうが強い ○ ほかは微差か勝ってる ● F2, F4はかなり勝ってる ○ F2もF4も交互作用ではない項があるので、Main effectと明確に 分離したほうがよくなった ■ ほんまか? ■ F7にもありそうで負けてそうだけど、それ単独ってのが大事 なのかな、むしろ分離できなかった感? ● F6はmain effect側で近似できる交互作用が含まれる MLPの平均AUCの高さはF6に依存してる 13
Pair-wise InteractionsのAUCを比較 ● F5, F6, F8以外でAGとMLP-Mは同じぐらいの傾向 ○ AGはTree-baseなのでその表現力の限界があったのでは? 14
Pair-wise InteractionsのAUCを比較 ● 全体としてMLP-Mが同等か良い ○ これらの手法は非線形の交互作用を 予測するのが難しいのでそこで差が でた 15
16
main effectが近似して取れなかった部分 17
ほかも総じてダメだったから難しいらしい 18
Real-world datasetを使った分析 ● Cal Housing ○ カルフォルニアの家の価格 ○ 21k data point ● Bike Sharing ○ 1時間あたりのバイクのレンタル数を当てるタスク ○ 17k ● Higgs Boston ○ Higgs粒子のやつ ● Letter ○ Letter Recognition Data Set ○ 多分文字認識的なやつ 19
20
x1とx2は緯度と経度 21
全体が出ててあんまりわからない 22
● Letterは元々文字認識タスクだけど、2値分類にするため にA-MとN-Zにしている ● それの決定境界となるような交互作用がなかったと考えら れる 23
24
F6,F7は難しい 25
26
27
Grad-NID and GLIDER (ICLR 2020) ● NIDはFNNでしか出来ない ● Black Boxな複雑なネットワークにおけるInteractionを考えたい ● LIME (KDD2016) に近いアプローチを考える ○ つまり任意の点に対して近くて境界になるデータ集合を得て、その付近で有効な交互作用を探す。 ○ 28
LIME (KDD2016) ● [Ribeiro+ KDD 2016] “Why Should I Trust You?” Explaining the Predictions of Any Classifier ● Local Interpretable Model-agnostic Explanations (LIME) ● 任意の点の周辺での変数の重要性を示す ○ 周辺のサンプルを抽出 ■ 予測結果の分類値を取得 ○ 複数の解釈可能な線形分類器で学習 ○ 各分類機の変数の重みから判断する 29
Grad-NID (ICLR 2020) ● ある関数FにおけるInteraction Iの勾配を考えたい ○ mixed partial derivatives (Friedman et al., 2008) ■ この論文はルールベースのアンサンブル学習を扱った論文 計算コストが高いのとReluにmixed partial derivativesが適用できないという課題 30
Grad-NID (ICLR 2020) ● x: data-instance、x~: data-instance付近のデータ ○ LIME的なアプローチ ● g(・)はFNNでinfinitely-differentiable activation functionsをもつ ○ softplusとかがその活性化関数に当たるらしい ○ gはx~の集合Dで学習される ● 全部の組み合わせやると計算コストが大変なことになるので、low-orderしかできな さそう 31
MADEX (Model Agnostic Dependency Explainer) ● Grad-NIDを使って有効なInteractionのペアを返す関数 ○ S = MADEX(f, x), S = {I_i}^{k}_{i=0} ■ つまり関数fにおけるデータ点x近辺において有効なInteraction候補をk個得る ● 大体はKを事前に決め打ちしている ○ リポジトリのサンプルから ● つまりMADEXがやっていることは ○ xからLIMEでやってるのと同様に周辺の点を得る ○ 周辺の点を使ってMLPを学習し、各Interactionに対してωを計算 ○ ωが高い順にK個返す ● Kを動的に決める必要がある場合はωがでかい順に線形モデルに突っ込んでいっ て、改善が少なくなったところで打ち切るらしい 32
GLIDER ● Grad-NIDはLocalに有効な交互作用を見つける手法 ○ 指定された点xの周辺による ● これを使ってGlobalに有効な交互作用を発見したい ● 33
GLIDER for Recsys ● 推薦システムは入力特徴量がめっちゃスパース ○ 例えば、クリックしたItemのカテゴリカルな表現とか ○ これをうまく扱いたい ● すべての組み合わせがデータセット中に出現するわけではない ○ 出現するもののみ扱うことにする ○ ある訓練データjに出現するInteractionをx_I^jとする ○ 訓練データ内でT回以上出現する交互作用のみとして扱う 34
実験設定 ● MADEX ○ 局所的なFNNを作る時、5000点を訓練、500点をvalidation, testとする ● データセットは広告のCTR予測 ○ Criteo, Avazu ● 比較手法 ○ Wide and Deep, DeepFM, Deep Cross, xDeepFM ■ https://www.slideshare.net/DeepLearningJP2016/dlxdeepfm-combining-explicit-and-implicit -feature-interactions-for-recommender-systemskdd2018 ■ https://data.gunosy.io/entry/deep-factorization-machines-2018 ● このあたりで紹介してます ○ AutoInt ■ https://github.com/shichence/AutoInt ■ State-of-the-artなモデル 35
36
37
38
39
合成関数による比較 40
41
ResNet 42
感情分析 43
まとめ ● ICLR2018のNeural Interaction Detection (NID)とICLR2020のGrad-NIDについて まとめました ● アイデアとしてはシンプルだけど背景に数学的な丁寧さがあって洗練されている印 象をうける ○ 完全に理解できているわけではないのが悲しいところ ● CTR-Predictionはかなりサチってるタスクなので、これを使ったのは少し難しすぎる かなという印象がある ○ 一方でなにがいいかといえばわからないけど ● 他の分野での適用事例は明快でよかった 44