[DL Hacks]Adversarial Personalized Ranking for Recommendation

>100 Views

February 01, 19

スライド概要

2019/01/17
Deep Learning JP:
http://deeplearning.jp/hacks/

シェア

またはPlayer版

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

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] AdversarialPersonalized Ranking for Recommendation 電気通信大学 3年 西村卓真 http://deeplearning.jp/ 1

2.

目次 • 書誌情報 • 関連研究 • 提案手法 • 実験 • 実装 • まとめ、感想

3.

目次 • 書誌情報 • 関連研究 • 提案手法 • 実験 • 実装 • まとめ、感想

4.

書誌情報 • 論文名: Adversarial Personalized Ranking for Recommendation SIGIR 2018 • 著者: Xiangnan He, Zhankui He, Xiaoyu Du, Tat-Seng Chua • 背景: MF-BPRだけでは、一般化において大きな誤差がある。 • 概要: MF-BPRに敵対的学習を適用し、汎化性能を向上、精度も約10%向上

5.

目次 • 書誌情報 • 関連研究 • 提案手法 • 実験 • 実装 • まとめ、感想

6.

関連研究 • アイテムレコメンデーション - 協調フィルタリング - MF(Matrix Factorization) - BPR(Bayesian Personalized Ranking)

7.

協調フィルタリング • ユーザーの行動履歴を利用して、商品を推薦 Øユーザー間、もしくはアイテム間の類似度に基づいて、商品を推薦 : https://service.plan-b.co.jp/blog/tech/9461/

8.

Matrix Factorization factors items users X ≈ W ・ H ( factors users items • 評価値行列をXとする。 Ø行はUser、列はアイテムに対応し、ある行列の成分X"# はユーザ u がアイテム i に対して下した評価になっている。 • 評価値行列を分解し、ユーザー、アイテムの特徴量行列を算出 • ユーザー、アイテムの特徴量行列から、未知の評価値を算出

9.

BPR(Bayesian Personalized Ranking) 概要 • Personalized Rankingとは ユーザごとの趣味趣向のランキングのこと • BPRとは BPR Personalized Rankingを解くための枠組み factors items users X ≈ W ・ H# factors Matrix FactorizationにBPRを適用したもの items users ※ MF-BPRとは

10.

BPR(Bayesian Personalized Ranking) • 学習方法 ① :パラメーターを初期化 ② :以下を収束するまで繰り返す 1. データをサンプリング 2. パラメータΘを更新 Θ = ($, &)

11.

BPR(Bayesian Personalized Ranking) 1. データのサンプリング 全てのデータを用いるのは不可能なのでサンプリング ユーザーuが好きな アイテムの集合 ユーザーuが好きでは ないアイテムの集合 !, #, $ :ユーザ!はアイテム$よりアイテム#を好む

12.

BPR(Bayesian Personalized Ranking) 2. パラメーター(W, H)の更新 !"#$ = & ((,*,+)∈./ ln 2 3( 4*5 − 3( 4+5 − λ8 3 • !"#$ を最大化する。 • 1、2を繰り返す。 好きなアイテムと、そう でないアイテムに関する 予測値の差を大きくする ように学習 >!"#$ Θ ← Θ− α >Θ 9 − λ: 4  Θ = (3, 4) 9

13.

目次 • 書誌情報 • 関連研究 • 提案手法 • 実験 • 実装 • まとめ、感想

14.

提案手法 [AMF(Adversarial Matrix Factorization)] • 学習方法 ① :BPRでパラメーターを初期化 ② :以下を収束するまで繰り返す 1. データをサンプリング 2. Δ"#$ を計算 3. パラメータを更新

15.

提案手法 [AMF(Adversarial Matrix Factorization)] • 目的関数 !"#$ + Θ = !%#$ + Θ + λ!%#$ (+|Θ + ∆()* ) ?+∆ 3ℎ565 ∆()* = arg max !%#$ +|Θ ∆, ∆ =>   !"#$ を最小化 (!%#$  パラメーターΘにΔ()* を加える  Δ()* は、 !%#$ を最大にするような値  )

16.

目次 • 書誌情報 • 関連研究 • 提案手法 • 実験 • 実装 • まとめ、感想

17.

実験設定 [データセット] データセット 名 Yelp Pinterest Gowalla ユーザー数 25,677 55,187 54,156 アイテム数 25,815 9,916 52,400 データ存在率 説明 99.89% 雑多な商品推薦。 あるユーザーが商品をレ ビューしたら1、してな ければ0。 99.73% 画像推薦。あるユーザー が画像を見たら1、見て いなければ0 99.96% 場所の推薦。あるユー ザーがチェックインして いれば1, していなけれ ば0

18.

実験設定 [評価指標] • 学習用データに使用していない、項目をユーザーごとにランク付けし それを以下の指標で評価。 評価指標 Hit Ratio 説明 • • • NDCG • • • 再現率に基づく指標 テストアイテムが上位Kリストに含まれいる か 高いほど良い 良いランキングかどうか ユーザーが嗜好したアイテムを下位に予測す るほど、ペナルティが加えられる。 高いほど良い

19.

実験① [敵対的学習の効果を検証] • MF-BPRで1000epoch学習後、MF-BPRで学習させた続けた場合とと、 AMFを適用して学習させた場合で性能を比較。 Ø約 10%精度向上

20.

実験② [embedding sizeの検証] • Embedding sizeが大きいほど、AMFの効果は大きい。

21.

実験③ [敵対的摂動を加えた時の影響] • εは敵対的摂動の強さ • BPRを使用したモデルより、敵対的摂動に対して敏感でなくなる。 • モデルがBPRより優れた汎化能力があることを示している。

22.

実験④ [性能比較] • AMFはほとんどのタスクにおいて最良の結果を達成 Ø最先端のパフォーマンスを実現 • ディープラーニングを適用したNeuMFより、AMFの方がパラメータ が圧倒的に少ない Ø AMFの方が有用

23.

実験⑤ [ハイパーパラメーターによる影響] !: 敵対的摂動の強さ • 0.5あたりがもっとも良い精度。 • 大きくしすぎると性能が低下 Ø 学習プロセスが崩壊するため • 1あたりがもっとも良い精度 • 1より増加させても、あまり変化 しない。

24.

目次 • 書誌情報 • 関連研究 • 提案手法 • 実験 • 実装 • まとめ、感想

25.

実装 • 著者実装 https://github.com/hexiangnan/adversarial_personalized_ranking - tensorflow, python2.7 • 実装 https://github.com/lonlyness/APR Ø Pytorchで実装 Ø APRの学習が上手くいっていません。

26.

目次 • 書誌情報 • 関連研究 • 提案手法 • 実験 • 実装 • まとめ、感想

27.

まとめ、感想 • AMFに関して 概要 MF-BPRに敵対的学習を適用し、精度が約11%向上 感想 ・汎用性が高そう。 ・BPR以外にも適用できれば、簡単に精度が上がりそう。

28.

参考文献 • Adversarial Personalized Ranking for Recommendation∗ https://arxiv.org/pdf/1808.03908.pdf https://github.com/hexiangnan/adversarial_personalized_ranking • Bayesian Personalized Ranking from Implicit Feedback https://arxiv.org/pdf/1205.2618.pdf • IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models https://arxiv.org/pdf/1705.10513.pdf • https://techblog.zozo.com/entry/2016/07/01/134825 • https://service.plan-b.co.jp/blog/tech/9461/