【論文メモ】Deep Neural Networks for YouTube Recommendations
読んだ論文
今回読んだ論文は以下。
Deep Neural Networks for YouTube Recommendations
間違い等ありましたら、ご指摘お願いいたします。
実務で真似したい点
- ランキング候補の生成と実際のランキングスコアの算出をモデルを分けて実施している点
概要
YouTubeにおけるDeep Neural Netを用いた新しいレコメンデーションに関する論文。
ランキング候補の生成とランキングスコアの算出を分けてモデルを作りレコメンデーションをする方法を提案している。
方法
システム
システムの構成としては以下の図のようにしている。
ビデオの数が何百万かあってその中から、候補生成モデルを通して何百かに絞る。そしてランキング算出し何十かをレコメンドするという流れになっている。
候補生成
モデルの構造は以下の通り。
閲覧したビデオや、検索の履歴を埋め込みでベクトル化して平均をとって特徴量としている。
最後userのベクトルとvideoのベクトルをknnで近いものからN個絞って候補としてるようだが、videoのベクトルの生成がどうなっているのかいまいち理解できていない。
ランキング算出
ランキング算出のモデル構造は以下。
いくつかの埋め込みをベクトルを作って特徴量としている。
連続量の変数は3つのやり方で変換している。
[0, 1)で累積分布に変換
2乗する
ルートをとる
予測のためのラベルは表示されてクリックされたらポジティブ、クリックされなかったらネガティブとしている。
ただし、この論文では重み付きロジスティック回帰というのを提案していて、
という式で重みを付けているらしい。 ここでNは学習サンプルサイズ、kはポジティブインプレッションの数、Tiが視聴回数のi回目のインプレッションとのこと(イマイチ理解できていないです、おそらく視聴されなかった回数に対する視聴された回数の割合みたいな感じでしょうか)。
結果
ネットワークの層を深くした際にlossが下がることが示されている。
所感
感想は以下の通り
ランキング候補生成とランキングスコアを分けている点は実務でも真似したいアイディアだと感じた
候補生成のknnでどういったuserとvideoのベクトルの生成がいまいち理解できなかった
実際に本文で提案されている手法をプロダクトに載せてどれだけパフォーマンスが改善したのが書かれていないのが物足りなかった