Enhancing Domain-Level and User-Level Adaptivity in Diversified Recommendation
https://gyazo.com/598f90b2766ff07e22edf12462dbaa4a
武漢大学の方
選んだ理由
多様性についての分析がありそうだったので。
概要
多様性のある推薦は、ユーザの視野を広げたり、ECの売上を増やすのに役立つため、近年活発に研究されている。
多様性のある推薦は、以下の2目的最適化を行う
1.推薦アイテム全体の関連性の最大化
2.推薦アイテム間の類似度の最小化
既存の手法では、以下の制限がある
ドメインとユーザのバイアスを考慮していない
(全員が全員、多様なアイテムが欲しいわけではない。ドメインにもよる)
精度と多様性のバランスのパラメータ調整が必要
貢献
ドメインレベルとユーザレベルの2タイプの多様性を初めて活用したレコメンダーシステム
提案するバランシング戦略により既存手法の弱点を克服
3つのデータセットにおいて、トレードオフパフォーマンスの大幅な精度向上を達成
分析
https://gyazo.com/65b2dc2cb7b1b62be04a12682e859a99
多様性スコア(カテゴリのばらつき)とユーザ分布
Domain-Level Diversity
Movie: 大多数のユーザがばらつきのある選択をしている
Music: 固定の好みに偏りがち
User-Level Diversity
同じドメインの中でも、ユーザによって狭い多様性、広い多様性がある
既存の方法では、これら2つのタイプの多様性を考慮していない
関連研究
Diversified Recommendation
手法
アイテムの人気に抗う手法
クラスタリングアプローチ
近年だと、クラスタリング -> 不人気アイテムの再配置 -> 擬似正解アイテム化
関連性と多様性のトレードオフパラメータの限界を探す
劣モジュラ目的関数を最大化
DPPに基づく手法
教師あり学習として取り込む
Metric Learning for Recommendation
ゴール
類似したペアにはより小さな距離を、異なるペアにはより大きな距離を
手法
CML: ユーザと関連のあるアイテムの距離を小さくする $ d=\|u-v\|_{2}^{2}
SML: ユーザ側とアイテム側の目線で考える
TransCF: ユーザとアイテム間の接続情報により、その異質性をモデル化 $ d=\|u+r-v\|_{2}^{2}
著者ら
多様性要因を考慮したMetric Learning(&双方向学習)
トレードオフパラメータの自動最適化
https://gyazo.com/5c2dcab448417ff1fe1a2ae9f5e82e0c
手法のキモはどこ?
モデル全体
Bilateral Branch network (BBN)の考え方を基にしている
BBN構造 : 表現学習と分類器学習を分離
https://gyazo.com/d8cffe5901a3515de8f6f51b2f7322a5
修正点
BBNでは表現学習が先、分類器学習が後のため、ドメインのバイアスに応じて、多様性または精度のいずれかが優位になるといったことができない
学習フォーカス順序の自動化することにより、ドメインレベルの多様性をエンコードする
ユーザの多様性の好みを捉える機構がない
ユーザーとアイテム、およびアイテムとユーザーの関係をモデル化し、ユーザーレベルの多様性を同時にキャプチャする双方向学習
https://gyazo.com/7de0fcec7231d0d0b45af64e2b03fdb3
従来ブランチ
従来のように、関連アイテムを推奨しようと維持する
アダプティブブランチ
従来ブランチで無視された関係性(多様性)を学習
工夫
2ブランチにおける学習フォーカス順序の自動決定
重要視したいブランチは後に学習したい
例えば、Movielensでは多くのユーザが広い多様性を持っている
このとき、最初に従来ブランチを学習し、後からアダプティブブランチを学習するのを勧める(多様性が高まる)
2ブランチのどちらにいつ比重をおくかが重要
方法
ユーザの多様性の分布の歪度を利用
https://gyazo.com/ad1bec6242b95a74dd863a670c7815ff
BBNのαをこれで制御する
(α、1-αを入れ替えるだけっぽい)
各ブランチのサンプリング戦略
従来ブランチでは、ユニフォームサンプリング
元の分布が保持される
推薦精度
アダプティブブランチでは、リバースサンプリング
ユーザがみたアイテムカテゴリ数の逆数っぽいもの
多様性
(カテゴリ使ってて親近感w)
ここまでがドメインレベルの多様性
ここからがユーザレベルの多様性
基本的には、ユーザとアイテムの距離の最適化
工夫
双方向のadaptive metricを利用
双方向にしているのは、ユーザごとの多様性とアイテムの多様性(多様なユーザから接触されるか)を学習したいから
1.ユーザ、アイテムを低次元ベクトルに変換
2.ユーザ、アイテムの関連性ベクトルを算出(双方向)
$ \boldsymbol{h}_{u v}=f\left(\boldsymbol{p}_{u}, \boldsymbol{q}_{v_{1}}, \ldots, \boldsymbol{q}_{v_{L_{u}}}\right)=\sum_{j \in V_{u}^{+}} a_{u, j} \boldsymbol{q}_{j}
$ \boldsymbol{h}_{v u}=f\left(\boldsymbol{q}_{v}, \boldsymbol{p}_{u_{1}}, \ldots, \boldsymbol{p}_{u_{L_{v}}}\right)=\sum_{j \in U_{v}^{+}} a_{v, j} \boldsymbol{p}_{j}
u: user, v: item
$ a_{u, j}=\operatorname{softmax}\left(\boldsymbol{p}_{u}^{\top} \boldsymbol{W}_{a} \boldsymbol{q}_{j}\right)
3.ユーザ、アイテムの多様性ベクトルを算出
$ \boldsymbol{h}_{u}^{\prime} \sim \mathcal{N}\left(\boldsymbol{\mu}_{u}, \boldsymbol{\sigma}_{u}\right), \quad \boldsymbol{h}_{v}^{\prime} \sim \mathcal{N}\left(\boldsymbol{\mu}_{v}, \boldsymbol{\sigma}_{v}\right)
$ \mu_u, \sigma_uはユーザのアイテムカテゴリやらPCAやらで算出
4.ユーザ、アイテム間の距離に変換
$ \boldsymbol{r}_{u v}=\boldsymbol{h}_{u v}+\boldsymbol{h}_{u}^{\prime}, \quad \boldsymbol{r}_{v u}=\boldsymbol{h}_{v u}+\boldsymbol{h}_{v}^{\prime}
$ d(u, v)=\left\|\boldsymbol{p}_{u}+\boldsymbol{r}_{u v}-\boldsymbol{q}_{v}\right\|_{2}^{2}
$ d(v, u)=\left\|\boldsymbol{q}_{v}+\boldsymbol{r}_{v u}-\boldsymbol{p}_{u}\right\|_{2}^{2}
最適化
ブランチごとの目的関数 $ \mathcal{L}_{B 1}, \mathcal{L}_{B 2}
pairwise margin loss を拡張
2ブランチ間のパラメータの小さなギャップがあるかもしれないので、$ \mathcal{L}_{3}で調整
最終的に
$ \mathcal{L}=\left\{\begin{array}{ll} \alpha \mathcal{L}_{B 1}+(1-\alpha) \mathcal{L}_{B 2}+\mathcal{L}_{3}, & \text { if } \mid \text { skewness } \mid<\epsilon \\ (1-\alpha) \mathcal{L}_{B 1}+\alpha \mathcal{L}_{B 2}+\mathcal{L}_{3}, & \text { if } \mid \text { skewness } \mid \geq \epsilon\end{array}\right.
$ \alpha は d_u * T / T_{max}で計算
どうやって有効だと検証した?
データ
https://gyazo.com/54983e591434491f3546f79545ba8cbf
1userあたり5 interaction以上を抽出
評価値
Accuracy
Diversity
intralist distanc(ILD): 推薦アイテム同士の距離
category coverage(CC)
Trade-off
F -score = 2 ∗ accuracy ∗ diversity/(accuracy + diversity)
結果
提案手法: EDUA
https://gyazo.com/4ec84f35f0ac5130932188df4fec3c72
最高または2番目に優れた推奨精度と多様性を実現
https://gyazo.com/e2fbc6f5a51a292465336fc8ac4b484f
ネガティブサンプリングサイズはある程度ほしいね
Ablation Studies
学習フォーカスロジックについて
歪度:0.2097, 0.1006, and -0.8569 for Music, Beauty, and Movielens
ブランチの切り替えをすべて逆にしてみた
たしかに、精度が悪くなった
ドメインレベルのバイアスの考慮が効いている
https://gyazo.com/9e1e01f38a2b4fd37b95472f000bd6fb
双方向学習について
ロジックを抜いて精度比較 -> どの手法も必要
多様性の学習結果
推奨アイテムのカテゴリの多様性の分布
ドメインレベル、ユーザレベルで多様性が発揮されている
https://gyazo.com/ac41bdc1c61bb3de64ba5ea85ad5fee7
実際のユーザの多様性スコアと予測スコアのMSE
推奨される結果が元のユーザの多様性の嗜好に近くなっている
https://gyazo.com/bd566ba1a92c3225f5eb4b423ffeb178
まとめ
ドメインレベル・ユーザレベルの多様性を考慮したBBMベースの推薦システムを提案
精度と多様性のバランシングパラメータ戦略も自動化
精度と多様性の両面で精度の向上を達成
所感
精度を捨てずに多様性を実現してるのすごすぎないか
ネットワークがめっちゃ複雑って感じでもないので、サービス化も比較的簡単そう