33週目:異種行動データによるimplicit feedbackの分布の違いを考慮して推薦モデルを学習させるMBAの論文を読んだ!
Improving Implicit Feedback-Based Recommendation through Multi-Behavior Alignment
published date: 9 May 2023
authors: Xin Xin, Xiangyuan Liu, Hanbing Wang, Pengjie Ren, Zhumin Chen, Jiahuan Lei, Xinlei Shi, Hengliang Luo, Joemon Jose, Maarten de Rijke, Zhaochun Ren
url(paper): https://arxiv.org/pdf/2305.05585.pdf
(勉強会発表者: morinota)
本記事は、n週連続推薦システム系 論文読んだシリーズ33週目になります。
前回の記事は 『メディアのミッションによって"良い"ニュース推薦システムって違うのかも! n週連続推薦システム系 論文読んだシリーズ32週目(番外編)メディアモデルと5つの多様性指標群の論文等を読んで思いを馳せた話』 でした!
どんなもの?
- 読んだ経緯:
- 先月の推薦システム系の論文読み会で紹介されていて、興味を持った。
- 自分は実務でも異種行動データを扱いがちな割には、単一行動を前提とした手法ばかり調べていたので、「こういう観点を考慮できてなかったかも」と思いをはせる事ができた
- ざっくり論文概要:
- 異種行動データによるimplicit feedbackを効果的に使用して推薦モデルを学習する手法 MBA (Multi-Behavior Alignment) を提案してる。
- 論文内では、異種行動データとして、購買行動とクリック行動を用いてる。
- 推薦モデルで最適化させたいターゲット行動=購買行動
- ターゲット行動の不足を補うための補助行動=クリック行動
- 本手法は、仮定「異なる種類の行動データは、バイアスやノイズの傾向は異なるが、同一のユーザ嗜好を反映しているはず」に基づいてる。
- 異なる行動データらそれぞれ抽出したユーザ嗜好のそれぞれが真のユーザ嗜好と近づくように、事前学習、損失関数、alternative trainingを提案してる。
- 手法の評価方法: 異種行動データを含むベンチマークデータセットでのオフライン実験
- 感想:
-
ユーザアイテムペアに推薦スコアを割り当てるような任意の推薦モデルをベースモデル
として事前学習しておいて、fine-tuning的にMBAを使用できるっぽい?(解釈合ってるかな)🤔であれば結構使いやすそう...!t_{\theta}(u,i) - ベースモデルをターゲット行動データと補助行動データのそれぞれで事前学習させておく必要はある。
-
ユーザアイテムペアに推薦スコアを割り当てるような任意の推薦モデルをベースモデル
先行研究と比べて何がすごい?
- implicit feedbackに対する単一行動モデルと複数行動モデル:
- クリックデータのみ使用する場合:
- ノイズ(=バリアンス?)やバイアスが大きい -> ユーザの真の嗜好を誤解しターゲット行動(購入など)の予測を最適でない方向に学習し得る。
- 購買データのみ使用する場合:
- 基本的に観察されるデータ量が少ないので、コールドスタート問題や学習データのスパース問題を引き起こし得る。
- 実世界のプロダクトにおいて、単一種類の行動データから推薦モデルを学習させる事は結構厳しいよね...!複数種類の行動データをいい感じに使いたい...!
- クリックデータのみ使用する場合:
- 複数行動モデルの先行研究との比較:
- 既存手法の例
- multi-task学習(=ターゲット行動予測問題と補助行動予測問題を学習させる、みたいな??🤔)を用いて、ターゲット行動と補助行動の両方を考慮した学習を実現するケース。
- グラフ・ニューラル・ネットワークを用いてターゲット行動と複数種類の補助行動を異種グラフにencodeし、構築されたグラフに対して畳み込み演算を行って推薦する手法。(あんまり想像ついてない🤔)
- 既存手法の限界:
- 限界1: 異種行動のデータ分布間のギャップ
- ex) クリック行動データではpositiveでも、購買行動データではnegativeなケースがある。
- 既存手法では、異種行動に対するユーザ嗜好を個別に学習し、次に各行動から得られたユーザ嗜好を組み合わせて集約的なユーザ表現を得る手法が多い。
- -> しかし、複数の異種行動に基づいて別々に学習されたユーザ嗜好は、データ分布間のギャップにより一貫しない可能性があり、推薦性能を低下させる可能性がある。
- 限界2: ターゲット行動と補助行動の観測データに、それぞれ異なるノイズやバイアスが存在すること:
- ノイズの多いor大きく偏った補助行動データを単に学習に追加するだけでは、推薦性能を向上できない可能性がある。
- (要するに、シンプルに異種の行動データそれぞれを個別に学習させてから結果を集約するアプローチや、単に補助行動データを学習に追加するだけのアプローチでは厳しい、という主張か...!🤔)
- 限界1: 異種行動のデータ分布間のギャップ
- 既存手法の例
技術や手法の肝は?
以下は本論文のnotation。
- ユーザ
, アイテムu \in U i \in I - クリック行動をauxiliary behavior, 購買行動をtarget behaviorとする。
- 観測された購買行動データ
R_f \in \mathbb{R}^{|U| \times |I|} - 要素
が1なら購買行動が観測、0なら未観測。r^{f}_{u,i} - 購買行動データ
から学習されたユーザ嗜好分布:R_f P(R_f)
- 要素
- 観測されたクリック行動データ
R_g \in \mathbb{R}^{|U| \times |I|} - 要素
が1ならクリック行動が観測、0なら未観測。r^{g}_{u,i} - クリック行動データ
から学習されたユーザ嗜好分布:R_g P(R_g)
- 要素
- 潜在的な真のユーザ嗜好行列を
、R_t の確率分布をR_t とする。P(R_t) - 嗜好行列の各要素
が1なら好き、0なら嫌い。r^{t}_{u,i} - 観測データ
とR_f は、R_g と、異なる種類のノイズやバイアスに依存して生成されると仮定する。P(R_t) -
はベルヌーイ分布に従い、ベルヌーイ分布のパラメータを予測モデルP(R_t) で近似できると仮定する。t_{\theta}
- 嗜好行列の各要素
- 真のユーザ嗜好
は観測不可能。観測されたr^{t}_{u,i} とr^{f}_{u,i} を教師ラベルとして扱いr^{g}_{u,i} を推論する必要がある。r^{t}_{u,i} - よって、観測された各種implicit feedback(i.e.
とr^{f} ) と潜在的な真のユーザ嗜好r^{g} との相関を表すために以下のモデル(仮定)を導入。r^{t} - 各式の左辺の意味。それぞれの確率的事象が、パラメータ
のベルヌーイ分布に従って発生するよという仮定。h^{hoge}_{param} - 「ユーザ
のアイテムu に対する真の嗜好がnegativeな条件で、購買が発生する事象」i - 「ユーザ
のアイテムu に対する真の嗜好がpositiveな条件で、購買が発生する事象」i - 「ユーザ
のアイテムu に対する真の嗜好がnegativeな条件で、クリックが発生する事象」i - 「ユーザ
のアイテムu に対する真の嗜好がpositiveな条件で、クリックが発生する事象」i
- 「ユーザ
- 各式の左辺の意味。それぞれの確率的事象が、パラメータ
上記のnotationを踏まえると、本論文が解きたいタスクは以下:
- 複数のimplicit feedbackの観測データ(
とR_f )を用いて、潜在的な真のユーザ嗜好モデルR_g (=ベルヌーイ分布のパラメータを出力するモデル)を学習させたい。t_{\theta} - 学習した
を用いて、ターゲット行動に関する予測性能を向上させたい。t_{\theta} - (-> そしてターゲット行動をしてくれそうなアイテムを推薦したい...!🤔)
- 推薦スコアの算出時は、ターゲット行動の推薦性能を向上させる為に、真の嗜好分布
と、ターゲット行動データから学習された嗜好分布P(R_t) の両方を使用する。P(R_f) -
は、\beta とP(R_f) のバランスをとるためのハイパーパラメータ。P(R_t)
MBAの損失関数を導出する
(論文より引用)
- MBA(Multi-Behavior Alignment)の重要な仮説は、「複数のタイプのユーザ行動は、同じユーザ嗜好を反映しているはず」という事。
- 図1は2人のユーザ(
とu_1 )が相互作用したアイテム(clicksu_2 と 購入c )の分布。どちらのユーザにとっても、クリックしたアイテムや購入したアイテムは比較的近い。p - (i.e. 異なるタイプのユーザ行動は、同一のユーザ嗜好分布から、それぞれ異なる度合いのバイアスとバリアンスを伴ってサンプリングされる、みたいな? 🤔 )
- 図1は2人のユーザ(
- よって、めちゃめちゃ理想的でいい感じに学習できた場合には以下が達成されるはず...!
(i.e. 購買データから学習した嗜好分布だろうと、クリックデータから学習した嗜好分布だろうと、真の嗜好分布に似たものになるはず...! 🤔)
よって、
(KLダイバージェンス=2つの分布間の距離が小さいほど0に近づく非負の指標🤔)
上記はKLダイバージェンスの式。(そうそう、KL-divはJS-divと違って、対称性を持たないんだった🤔)
ただ、2つのKLダイバージェンス
この問題に対処するため、ベイズの定理を用いて 真の嗜好分布
(ベイズの定理って、同時確率が2通りの書き方ができる事から導出できるやつだよね...!)
ベイズの定理で置き換えた
まず式8。KLダイバージェンス
- 式(8)についての解釈:
- 左辺は、
のlower bound\log P(R_g) - KLダイバージェンスは非負なので。
- このboundは、
とP(R_f) が完全に一致する場合にのみ成立する。P(R_t|R_g) - = ターゲット行動の観測データから学習された嗜好分布
と、補助行動の観測データで条件付けられた真の嗜好分布が完全に一致する場合。P(R_f) - -> この条件は、MBAの仮説「異なる行動データは、同一のユーザ嗜好を反映してるはず」に沿ったもの。
- 左辺の
の意味:E_{P(R_f)}[P(R_g|R_t)] -
に対する期待値。(=見方を変えると尤度関数??)P(R_f) - -> 観測された補助行動データ
を用いてR_g を学習させるってこと。P(R_f)
-
- 左辺の
の意味:KL[P(R_f)||P(R_t)] -
からP(R_f) に情報を伝達しようとしてる? (KLダイバージェンスが小さくなるように学習させるから?)P(R_t)
-
- 左辺は、
また、式(8)の導出課程と同様に、KLダイバージェンス
- 上述の2つの式(式8と上式)では、真のユーザ嗜好分布
と推薦モデルP(R_t) の学習には活用できない。t_{\theta} - そこで、式4の仮定「学習が収束した時、ターゲット行動および補助行動から学習された嗜好分布
とP(R_f) は、それぞれ真の嗜好分布P(R_g) に近くなっているはず」を活用する。P(R_t) - -> 2つの式内の
に対する期待値、P(R_f) に対する期待値をそれぞれP(R_g) に対する期待値に置き換えることで、P(R_t) とP(R_t) の学習に活用できそうになる...!t_{\theta} - 置き換えたver.の式が以下。 (左辺の期待値を置き換えたので、
が= に変わってる...!)\approx
- -> 2つの式内の
- 式9の左辺と式10の左辺を組み合わせると、以下の損失関数ができあがる。
- 損失関数の意味:
- データ観測値の尤度 (
とP(R_g|R_t) ,P(R_f|R_t) がパラメータ側🤔) を最大化しようとする。R_t - かつ、異なる行動データから学習された嗜好分布間 (
とP(R_f) )のKLダイバージェンスを最小化しようとする。(直接2つの分布の距離を最小化しょうとするんじゃなくて、間にP(R_t) を挟んでる)P(R_t)
- データ観測値の尤度 (
学習プロセス
- 2種類の行動データ
とR_f から、それぞれユーザの嗜好分布R_g とP(R_f) を学習する。P(R_g) - 事前学習:
- 学習の安定性を高めるため、
をP(R_f) で、R_f をP(R_g) で、それぞれ事前学習する。(ベースモデルの学習、みたいな)R_g - 事前学習モデルとして、ターゲット・レコメンダー
と同じモデル構造を使用する。t_{\theta}
- 学習の安定性を高めるため、
- メインの学習:
- 情報伝達におけるKL-ダイバージェンスの役割を強化するために、KL-ダイバージェンスの有効性を高めるハイパーパラメータ
を損失関数に追加する。\alpha
- 情報伝達におけるKL-ダイバージェンスの役割を強化するために、KL-ダイバージェンスの有効性を高めるハイパーパラメータ
- 損失関数内の期待値の導出方法(損失関数に学習させたいモデル
を含めるステップ?):h - 前述したように
とR_f には、異なる種類のノイズとバイアスが含まれた上で破損している。そのようなデータから真のユーザ嗜好を推論するために、以下のことを試みる。R_g -
とh^{f}_{\phi}(u,i) を用いて、真のユーザ嗜好と観測されたターゲット行動データ間の相関を捉える。h^{f}_{\varphi}(u,i) -
とh^{g}_{\phi'}(u,i) を用いて、真のユーザ嗜好と観測された補助行動データ間の相関を捉える。h^{g}_{\varphi'}(u,i)
-
- 具体的には、損失関数内の2つの期待値をそれぞれ以下のように展開する。
- 前述したように
$$
E_{P(R_t)}[log P(R_g|R_t)]
= \sum_{u,i} E_{r^{t}{u,i} \sim P(R_t)} [log P(r^{g}{u,i}|r^{t}{u,i})]
\
\because \text{各事象
\
= \sum{(u,i)|r^{g}{u,i}=1} [log P(r^{g}{u,i}|r^{t}{u,i})] + \sum{(u,i)|r^{g}{u,i}=0} [log P(r^{g}{u,i}|r^{t}{u,i})]
\
\because \text{binary確率変数
\
= \sum{(u,i)|r^{g}{u,i}=1} [log (1-h^{g}{\varphi'}(u,i)) t_{\theta}(u,i) + log h^{g}{\varphi'}(u,i) (1-t{\theta}(u,i))] + \sum_{(u,i)|r^{g}{u,i}=0} [log (1-h^{g}{\phi'}(u,i)) t_{\theta}(u,i) + log h^{g}{\phi'}(u,i) (1-t{\theta}(u,i))]
\
\because \text{条件付き確率
\
\tag{13}
$$
同様に、
alternative(交互)なモデルトレーニング:
- 学習時に式12~14を用いて
を直接学習するといまいちだったらしい。t_{\theta} - ->5つのモデルが同時に更新されるかららしい(i.e.
)h^{g}_{\phi'}, h^{g}_{\varphi'}, h^{f}_{\phi}, h^{f}_{\varphi}, t_{\theta} - 5つのモデルは互いに干渉し合い、
(=真に得たいモデル) の学習を妨げる可能性がある。t_{\theta}
- ->5つのモデルが同時に更新されるかららしい(i.e.
- この問題に対処するため、2ステップのalternativeトレーニングを設定し、関係するモデルを反復的に学習する。(ALS的に、片方のモデルを固定して、交互に学習する感じ?🤔)
ステップ1:
- 仮定「ユーザが嫌いな商品はクリックしない or 購入しない傾向がある」に基づく。
- i.e. 真の嗜好
の場合、r^{t}_{u,i}= 0 とr^{f}_{u,i} \approx 0 が成立する、つまりr^{g}_{u,i} \approx 0 とh^{f}_{\varphi} \approx 0 が成立する。h^{g}_{\varphi'} \approx 0 - よってステップ1では、3つのモデル
のみを学習させる。h^{f}_{\varphi}, h^{g}_{\varphi'}, t_{\theta}
- i.e. 真の嗜好
- この場合、導出した2つの期待値の式(式13と式14)は以下のように変形できる。
式13の変形:
CNとCPは、click positiveとclick negativeの略かな。
同様に式14の変形:
ここで、
ステップ2:
- 仮定「ユーザが気に入った商品をクリック and 購入する傾向がある」に基づく。
- i.e. 「真の嗜好
の場合、r^{t}_{u,i}= 1 とr^{f}_{u,i} \approx 1 が成立する」r^{g}_{u,i} \approx 1 - ->
とh^{f}_{\phi} \approx 1 が成立するh^{g}_{\phi'} \approx 1 - よってステップ2では、3つのモデル
のみを学習させる。h^{f}_{\phi}, h^{g}_{\phi'}, t_{\theta}
- i.e. 「真の嗜好
- この場合、導出した2つの期待値の式(式13と式14)は以下のように変形できる。
まず式13の変形:
同様に式14の変形:
ここで、
学習手順
サンプリングとトレーニングの手順をまとめる上で、2つの期待値
-
click positive loss
とL_{CP} L'_{CP} -
click negative loss
とL_{CN} L'_{CN} -
purchase positive loss
とL_{PP} L'_{PP} -
purchage negative loss
とL_{PN} L'_{PN} -
学習データセットの各サンプルは以下の3種に分類でき、各状況に応じて、損失関数内で計算する2つの期待値
とE_{P(R𝑡)}[log P(R_g|R_t)] の項が異なる:E_{P(R_t)}[log P(R_f|R_t)] - (i) クリックされかつ購入されたサンプル
- click positive loss と purchase positive loss を含む。
- (i.e. ステップ1では、
とL_{CP} 、ステップ2では、L_{PP} とL'_{CP} )L'_{PP}
- (ii) クリックされたが購入されなかった
- click positive loss と purchase negative loss を含む。
- (i.e. ステップ1では、
とL_{CP} 、ステップ2では、L_{PN} とL'_{CP} )L'_{PN}
- (iii) クリックされず購入されなかった。
- click negative loss と purchase negative loss を含む。
- (i.e. ステップ1では、
とL_{CN} 、ステップ2では、L_{PN} とL'_{CN} )L'_{PN}
- 状況(i)と(ii)で観測された複数種類のユーザ行動データに従ってMBAを学習させ、状況(iii)のサンプルをnegativeサンプルとして使用する。
- (i) クリックされかつ購入されたサンプル
学習手順の詳細は以下のアルゴリズム1:
(論文より引用)
- 観察可能な振る舞い:
- 入力値:観測されたmulti-bahaviorデータセット
とR_f , ハイパーパラメータR_g \alpha, \beta, C_1, C_2 - 出力値: 全てのモデルパラメータ
\theta, \phi, \phi', \varphi, \varphi'
- 入力値:観測されたmulti-bahaviorデータセット
- 実装の詳細:
- while coverage (=特定の学習目標が達成されたり、指定したepoch数に達したりするまで):
- training exampleのサンプリング
- 損失関数の項の一つ
を計算する。L_{KL} - alternative trianingのステップ1:
- サンプルの3つの状況に応じて、
を使って損失関数の値を計算する。L_{KL}, L_{CP}, L_{CN}, L_{PP}, L_{PN} - モデルパラメータ
を更新する。\theta, \varphi, \varphi'
- サンプルの3つの状況に応じて、
- alternative trianingのステップ2:
- サンプルの3つの状況に応じて、
を使って損失関数の値を計算する。L_{KL}, L'_{CP}, L'_{CN}, L'_{PP}, L'_{PN} - モデルパラメータ
を更新する。\theta, \phi, \phi'
- サンプルの3つの状況に応じて、
- while coverage (=特定の学習目標が達成されたり、指定したepoch数に達したりするまで):
どうやって有効だと検証した?
- ベンチマークデータセットによるオフライン実験(本論文ではいずれのデータセットでも、クリックと購入の2種のみを使用):
- Beibeiデータセット:
- 中国のECサイトの購買データセット。クリック、カートに入れる、購入の3種類の行動データが含まれる。
- Taobaoデータセット:
- こちらも中国のECサイトの購買データセット。クリック、カートに入れる、購入の3種類の行動データが含まれる。
- MBDデータセット:
- こちらは、アメリカのECサイトの購買データセット。クリック、購入の2種類の行動データが含まれる。
- Beibeiデータセット:
- オフライン評価方法:
- データセットを訓練セットとテストセットに4:1の比率で分割する(timestampは考慮してる??🤔)
- metricsには広く使われているRecall@kとNDCG@kを採用
- k=10, 20
- metricsの全ユーザの平均値を使う
- MBAと各ベースライン手法のそれぞれで上記のオフライン実験を3回行い、その平均値を最終的な結果とする。
- 提案手法MBAと比較するベースライン手法:
- single-behaviorモデル(MF-BPR, LightGCNなど)
- multi-behaviorモデル(MB-GMN, CML)
議論はある?
- 実験結果と示唆:
- オフライン評価の性能比較:
- 結果1: MBAは、全てのデータセットにおいて他のベースライン手法よりも高い性能を示した。
- 以下の2つの理由が考えられる:
- (i)2種類の行動それぞれに基づくユーザ嗜好をalignする(適合させる、調整させる)事で、補助行動データから有用な情報を転送し、ターゲット行動の予測性能を向上できている。
- (ii)2つの嗜好をalignすることでinteractionのノイズが減少し、潜在的で普遍的な真のユーザ嗜好の学習を促進できている。
- 以下の2つの理由が考えられる:
- 結果2: multi-behaviorモデルは、single-behaviorモデルよりも高い性能を示した。
- 補助行動データを用いる事で、ターゲット行動の推薦性能を向上できている。
- 結果1: MBAは、全てのデータセットにおいて他のベースライン手法よりも高い性能を示した。
- ノイズ除去手法との性能比較:
- MBAは既存手法よりもrobustだったよ、とのこと(あんまりちゃんと読めてない...!)
- オフライン評価の性能比較:
(論文より引用)
-
ユーザ嗜好分布の可視化:
- 「MBAはユーザの複数種類の行動から普遍的なユーザ嗜好を学習するのに役立っているのか」を確認したい。
- 図2: データセットからそれぞれ2人のユーザを選び、推薦モデルで作ったアイテム埋め込みを使って、クリック or 購入したアイテム分布を描いたもの。
- 比較する推薦モデルは、購買行動データのみで学習したMFモデルと、複数行動データで学習したMBA(ベースモデルはMF)
- (たぶんt-NSEなどで次元削減しているのかな?🤔)
- 可視化からわかること1:
- あるユーザについて、MBA(MFベース)のクリックアイテムと購入アイテムの分布はMFの分布よりもずっと近いこと。
- (これは正直ぱっと判断つかない🤔)
- あるユーザについて、MBA(MFベース)のクリックアイテムと購入アイテムの分布はMFの分布よりもずっと近いこと。
- 可視化からわかること2:
- MFアイテム埋め込みによる行動分布と比べて、MBAアイテム埋め込みによる行動分布は、より明確なクラスターを形成している。
- (埋め込みの質の高さを判断する根拠としてクラスターが形成されている話は、事前学習済み言語モデルでニュース推薦用CBモデルを拡張する論文でも出てきてたな...!🤔)
-
2つのAblation study:
- (i)MBAの学習に使う損失関数からKLダイバージェンスの項を除去する(MBA-KL)
- (ii)MBAで
とP(R_f) の事前学習を行わない(MBA-PT)P(R_g) - 結果: どっちもMBAには不可欠!
- 損失関数からKLダイバージェンスの項を除去すると、MBAの性能が大幅に低下した。
- -> KLダイバージェンス項は、異種の行動から学習されたユーザ嗜好を調整するのに役立ち、推薦性能を向上させる事を示してる(損失関数のKLdivによって、補助行動由来の嗜好モデルとターゲット行動由来の嗜好モデルを近づけている事。これがMBAの本質っぽい?🤔)
- 事前学習がないと、結果が劇的に低下した。
- -> MBAのみで
とP(R_f) を0から共同で学習させるのは難しい。事前学習を使用することでMBAの複雑さを低減し、異なるタイプの行動分布からユーザの実際の嗜好をより効果的に抽出できる。P(R_g)
- -> MBAのみで
- 損失関数からKLダイバージェンスの項を除去すると、MBAの性能が大幅に低下した。
-
ハイパーパラメータの影響調査もしてた。
-
MBAの課題:
- 2種類の行動データ間でしかalignできない。
- (そうなの? 損失関数の項がどんどん増えちゃったり、alternative trainingのステップ数が増えてしまうからパッと拡張できないのかな??🤔)
- 今後の課題は、より多くの種類のユーザ行動に対してalignできるようにすること。
- 2種類の行動データ間でしかalignできない。
次に読むべき論文は?
- 複数種類の行動データは実務でもよく扱う気がするので、色々既存研究を確認したいかも。
Discussion