2019/03/07 Top-K Off-Policy Correction for a REINFORCE Recommender System https://gyazo.com/a014ee3d5404543c11053bac0b5fdb99
ABSTRACT
Google(Youtube)のようなサービスでは数十億のユーザーに数百万のアイテムを推薦する必要がある
強化学習使用してレコメンダーの改善を実施
レコメンダーにはフィードバックログ(クリックログや滞在時間ログ)を使用するが
ログフィードバックによるレコメンダーは過去に閲覧したアイテムに依存するというバイアスがかかる
フィルターバブル問題のこと?ただ論文では偏り的な実験はしていない
ここではこのバイアスを解消する方策勾配(policy-gradient)アルゴリズムを活用した方法を提案する
提案(1)
数百万オーダーのaction spaceを利用したスケールするプロダクションサービスで稼働している
提案(2)
複数の方策から得られたログを元にoff-policy補正を適用した
提案(3)
複数アイテム推薦するためのtop-K off-policy補正を提案する
提案(4)
シミュレーション結果とYoutubeでの実験結果を通して、提案手法の効果を証明する
INTRODUCTION
推薦システムは膨大なアイテムの中から、正しいタイミングで正しいユーザーに正しいアイテムを過去ログを使用して推薦する必要がある
一方で、直接的なフィードバックログは少数でありスパース性が課題になるため、クリックログ、滞在時間ログなどの暗黙的なログを使用する研究が行われている
強化学習はゲームやロボティクスで発展しているがユーザーの長期満足度を最大化するように考えると推薦システムにも適用できるかも
方策を直接学習するREINFORCE algorithmを適用してみる
ゲームと比較すると推薦システムは多量の状態、アクションが存在してリワードの設定が難しい
off-policyを使用する
探索に方策を使用する場合: on-policy(SARSA), 使用しない場合: off-policy(Q-learning)
多くのRL研究では一つのアイテムからpolicyの更新をテーマにしてるが、ここでは複数の推薦システムから複数の方策を利用できる仕組みを提案する
RELATED WORK
Reinforcement Learning
Neural Recommenders
Bandit Problems in recommender systems
Propensity Scoring and Reinforcement Learning in Recommender Systems
REINFORCE RECOMMENDER
定式化はよくある形
方策勾配を利用して期待値を最大化する
https://gyazo.com/c897d524bd88a0f37f959fc9e161d719
https://gyazo.com/631c9b52c3ba0a4245c14c6557d81e1c
OFF-POLICY CORRECTION
オンラインで直接方策の更新はできない(バッチ処理が必要)
フィードバックログを集めて数時間ごとにポリシーを更新して新たにデプロイしようとすると、異なる複数のポリシーから生成されたログができてしまう?
であればログの属性にポリシーの種類いれればよいのでは?
関連研究読み込まないと...
更新用ポリシーπとhistoricalポリシーβの仕組みがあればバイアスを考慮できる
https://gyazo.com/42e1ead4f8a9df9386a9932df4e12925
importance weightは学習初期のエラー率を低減できる仕組み
https://gyazo.com/0475f33f04f863b6650d750cf7e4392e
Parametrising the policy π
まずはπをどのように定式化するか
https://gyazo.com/39bec16aa1ccdb003b4d47405f631796
ある時間tにおけるm次元のユーザーベクトルとn次元の状態ベクトルをもとにt+1の状態を求める
LSTM, GRU, Chaos Free CNN(CFN)で実験した
https://gyazo.com/827a1b38af3ac07a9c563958e84b4fb1
https://gyazo.com/fbc1cfd27c064a2e9aae97f7bb7046bf
Estimating the behavior policy β
πは定式化できた、βはどうする?
基本的にはFigure 1のモデルを再利用する
別のsoftmaxレイヤを用意
もちろんβの勾配計算はメインモデルに戻さない
πはリワードを長期間で計算、βは状態アクションのペアのみで計算
πは非ゼロリワードのアイテムで計算、βはすべてのアイテムで計算
Top-K Off-Policy Correction
一度にK個のアイテムを推薦するのがチャレンジング = 計算が大変
一つ以上のアイテムを推薦する = https://gyazo.com/775bff3885d56d996fe5ee09e4597041
action spaceが指数的になり計算が膨大で大変
計算工夫してなんとかする
EXPERIMENTAL RESULTS
オフライン(Simulation)
省略
オンライン(YoutubeでのLive Experiments)
Off-Policy Correction
control: https://gyazo.com/92d567ed476d0619503917547f1ec645
treatment:https://gyazo.com/c72f0045177783f6fb27e6715e983332
ViewTimeの改善なし、動画視聴数は0.53%向上
Top-K Off-Policy
K=16
treatment:https://gyazo.com/4190302e6c49b9dcb3514042a9e3ffce
control:https://gyazo.com/c72f0045177783f6fb27e6715e983332
複数のアイテムを推薦できれば、top-K off-policy補正により、ユーザー体験良くできるかも
ViewTimeの0.85%向上、動画視聴数は0.16%減少
まとめ
YouTubeで強化学習レコメンダー稼働させた