[DL輪読会]xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems(KDD2018)

>100 Views

December 21, 18

スライド概要

2018/12/21
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] “xDeepFM: Combining Explict and Implicit Feature Interactions for Recommendation (KDD2018)” Yoshifumi Seki, Gunosy http://deeplearning.jp/

2.

書誌情報 ● タイトル: xDeepFM: Combining Explict and Implicit Feature Interactions for Recommendation ● 著者: Jianxum Lian*1, Xiaohuan Zhou*1, Fuzheng Zhang*2, Zhongxia Chen*1, Xing Xie*2, Guangzhong Sun*1 ○ *1 University of Science and Technology of China ○ *2 Microsoft Research ● 投稿先 ○ KDD2018 ● 選定理由 ○ Factorization Machinesの深層学習周りでの発展に関心あり ○ Explict and Implicit Feature Interactionsというキーワードがよくわからなかったので。 2

3.

今日の話 ● ● ● ● Factorization Machines is 何? DeepなFactorization Machinesの現状確認 提案手法のコンセプト 提案手法 ○ CIN ○ xDeepFM ● 実験とその結果 ● まとめ 3

4.

Factorization Machines(FM) [S. Rendle, ICDM2010] ● 変数の交互作用を表現した回帰モデル ○ 例えば「男性」かつ「10代」といった特徴に重みをもたせたい ○ すべての組み合わせを学習させようとすると死ぬ ○ そこで、交互作用の重みを内積で表現するようにした ● Kaggleの広告コンペのChampionモデルとして何度か使われたことで広く知られる ようになった ● 一般にFMというとこの定義だが、これは厳密には2nd-order FMである ○ 2次の交互作用のみ扱っている ○ 高次の交互作用を扱うモデルも最近提案されている[Blondel+, NIPS2016] ■ 一方で3次程度までしか精度向上は確認できていない ■ ノイズの影響で高次ではきついと言われている[Xiao+, IJICAI2017] 4

5.

DeepなFactorization Machines ● Categorical変数のEmbedding (bit-wiseなfactorization) ○ Factorization-machine suppoerted Neural Network (FNN) [Zhang+, ECIR2016] ○ Deep Crossing Network (DCN) [Shan+, KDD2016] ○ Wide & Deep [Cheng+, arXiv:1606.07792 (2016)] ● vector-wiseなfactorization ○ Product-based Neural Network (PNN) [Qu+, ICDM2017] ○ DeepFM [Guo+, IJICAI2017] ● explicitな高次元のinteraction ○ Deep Cross Network (DCN) [Wang+, ADKDD2017] 5

6.

Factorization-machine suppoerted Neural Network (FNN) [Zhang+, ECIR2016] ● 特徴量がカテゴリカル変数のような形与えられた特に、各カテゴリごとにembedding をおこなう 6

7.

Deep Crossing Network (DCN) [Shan+, KDD2016] ● FNNとほぼ同じ。違いは上に積んでいるのがResNetであること。 ● 一方で引用数はFNNのほうが多い。FNNは57, DCNは38 ○ FNNがオープンデータで検証したのに対して、DCNはプライベートなデータで検証されていた。 7

8.

Wide & Deep [Cheng+, arXiv:1606.07792 (2016)] ● Wide (線形モデル) とDeepなモデルをそのままくっつけてる ○ TensorFlowに実装が載っている ● Deepなモデルは低次の特徴を学習しにくいので、くっつけてあげる ● (私見) データ少ない入力とかでも効きそう 8

9.

bit-wiseなfactorization ● これら3つのモデルは交互作用をDeep Learningのアーキテクチャが行ってくれてい るとしている ○ 変数A × 変数Bというような形ではなく、Embeddingしたベクトルの各次元の重み付け和を積み上げて いく形 ○ embedding + concatなので、どの値がどの変数からきたものか考慮されていない ● embeddingしたbit単位で交互作用を計算するため、bit-wiseなfactorizationと呼ぶ ○ これに対して、変数の情報を保持するものをvector-wiseなfactorizationと呼ぶ 9

10.

Product-based Neural Network (PNN) [Qu+, ICDM2017] ● 各特徴量をそれぞれembeddingした上で、単体で入力するものと、2次の組み合わ せで入力するものにわけている 10

11.

Product-based Neural Network (PNN) [Qu+, ICDM2017] ● ● ● ● IPNN: inner product OPNN: outer product PNN*: inner + outer 明示的に2次の交互作用をDNNに入力したほうが良い結果になっている 11

12.

DeepFM [Guo+, IJICAI2017] ● PNNと違って、Factorizationの上にネットワークを積まない ● FactorizationはシンプルにFMの式と一緒(embed+backpropされるだけ) ● 別途でDNNを用意してつなげる (Wide & Deep) 12

13.

DeepFM [Guo+, IJICAI2017] ● PNNよりWide & Deep的なアーキテクチャのほうが良い精度になってる ○ つまりFactorizationの上に積むより、積まないほうがよい? ● bit-wiseな学習とvector-wiseな学習の組み合わせが重要? 13

14.

vector-wiseなfactorization ● vector-wise > bit-wiseという結果 ● 一方でvector-wiseでも積んで高次にしてもあまりよくならない? ○ PNNよりFMをwide & deepにしたほうが良くなってるの辛い ● 高次にするときにどこで高次にしているのかが明確ではない ○ implicitなhigh-order interaction ○ これをexplicitなものにできないか? 14

15.

Deep Cross Network (DCN) [Wang+, ADKDD2017] ● x0が各Layerに常にかかる => Attentionっぽさがある ● vectorizeはされていない 15

16.

Deep Cross Network (DCN) [Wang+, ADKDD2017] ● DCN (表ではDC), FNN (表ではDNN)と比較して改善している ○ 論文でW&Dと比較するって書いてあるのに結果では比較してない ● 各層をx_0とのスカラー積で表現できる ○ Pros: Feature Interactionを効率的に学習できる ○ Cons: x_0とのスカラー積という特殊な形にしか使えない ● bit-wiseなinteractionしかしてない 16

17.

提案手法のコンセプト ● vector-wiseでexplicitなhigh-order interactionを実現する ○ vector-wise と bit-wise、explicit と implicitは異なる特徴をもつので、組み合わせたい ○ 現状ないのは、explicitでvector-wiseな手法 ● interactionが高次になっても、複雑性が指数的に増加しない ○ この発表では触れない 17

18.

Compressed Interaction Network (CIN) RNNっぽさがある 18

19.

Compressed Interaction Network (CIN) ● CNNと類似しているともいえる ○ X^kとX^0の外積のテンソルZ^k+1を画像と考えると、W^kがフィルター ○ テンソルをフィルターを使ってデータ圧縮しているともいえる 19

20.

eXtreme Deep Factorization Machines (xDeepFM) ● Liner + CIN + DNNの組み合わせ ○ CIN: explicitな高次元インタラクション (vector-wise) ○ DNN: implicitな高次元インタラクション 20

21.

Experiments ● 3つの課題を検証したい ○ (1) CINは高次元のインタラクションを学習できているか? ○ (2) implicitとexplicitの組み合わせは有効か? ○ (3) xDeepFMのパラメータはどのようにチューニングするか? ■ この発表では触れない ● データセット ○ Criteo ■ 公開データ ○ Dianping ■ 中国のレストランレビューサイト、著者らが収集 ○ Bing News ■ 内部データ 21

22.

Baselines ● ● ● ● ● ● ● Logistic Regression (LR) Factorization Machines (FM) DNN PNN Wide & Deep DCN DeepFM 22

23.

\ ● シングルモデルでの比較 ● CINがほとんどでBest ○ 特にDianping, Bingで良い ● 特にBingでは5次の特徴で良い結 果になっている 高次の学習ができている 23

24.

● すべてのデータで最高の精度 ○ implicitとexplictを組み合わせることは大切 ● ほとんどのネットワークのDeptは浅い 24

25.

まとめ ● 高次なfeature interactionについてimplicitなものとexplicitなものを定義して、それを 組み合わせたxDeepFMを提案 ● その中で高次でexplicitなfeature interactionを実現するためのCINを提案 ● 実社会データセットでover performした 25

26.

感想 ● FMをこの機会にがっつり調べて勉強になった ○ これまで画像とかテキスト系の研究ばっかりみてたのでWide & Deepみたいなノリの話あんまり知ら なくてそういうのもあるのかという気持ちになった ● Factorizationを明示的にやったほうがDeepでも良いのは意外 ○ CNNは画像の近傍に重要な情報があるという事前知識をいれているし、RNNは語順が大事という知 識をいれている ○ カテゴリカルな変数は組み合わせが大事という情報をいれるのは十分に妥当性があるし、それで精度 があがるのは納得感がある ● もしデータと計算資源が無限にあればシンプルなDNNのほうが強くなったりするんだ ろうか 26