前回、前々回の続きで、KDD2023の読んだ論文に対する感想を書いていく。 これで読みたいと思ってリストアップしたものは全部一通り目を通せた。
毎度お馴染み Pinterest の推薦に関する論文。今回はランキングでユーザーの短期と長期の興味をそれぞれ別の形で取り込むモデルを紹介している。 本筋のモデル構造の話よりも、学習データの作り方として、ターゲットの時刻の直前T秒の系列は使わないという、time window mask アプローチが参考になった。 直前のアイテムの情報が使えないと、推薦に多様性が出るらしい。タスクとしても難易度が高くなるので良さそうな気がする。
Amazon からの論文で、ランキングモデルの学習において普通は捨ててしまう、ユーザーのフィードバックが一つもつかなかった推薦リストも学習に使おうというアイディア。
Transformer ベースの neural ranking model を用い、アイテム系列に [CLS]
トークンを付与してそれをリスト全体としてクリックがあったかどうかのラベル学習に用いる。
実際 Amazon の AB テストでも良い成績だったらしいが、そこでは実装の都合上直接このモデルを用いず、知識蒸留した GBDT を使ったとのこと。
因果推論の balancing approach のスケールするアルゴリズムを提案した論文。 そもそも balancing approach というのを知らなかったが、IPWなどの単純な方法では共変量のバランスチェックをする必要があり、大規模なデータセットでは試行錯誤するのが大変らしい。 そこで propensity を使わず各ユニットの重みを、共変量バランスを満たすという制約のもとで直接推定する手法 (balancing approach) が採用されるとのこと。 この研究の貢献は、single machine でしか使えない既存手法を改善して、大規模な問題でもスケールする分散アルゴリズムを提案した点。
Google research の unbiased learning-to-rank (LtR) に関する論文。 Unbiased LtR には大きく二流派あり、IPS のようなものを使う counterfatual 的アプローチと、モデルを position bias を受ける部分と受けない部分の二つに分ける click modeling アプローチがある。 産業界では後者の click modeling アプローチが主流とのこと(知らなかった)。 Click modeling では、バイアスを受けづらい特徴量を使う relevance tower と、position やデバイス情報などのバイアスを受けやすい特徴量を使う observation tower の二つを用意する two-tower モデルがよく使われる。 しかし、実際のサービスでは、position などはモデルの推論結果から生成されるもので、そのモデルは以前の relevance を学習するので、実は交絡は解消できていないという点を指摘している。 これを解決するために二つのシンプルな方法を提案し、オンラインテストの結果も載せている。 KDD2023で一番勉強になった。
Airbnb の検索ランキングモデル改善論文。 サービスの特徴として、宿を予約するまでのユーザージャーニーが非常に長く(数週間のオーダー)、既存のモデルではその中で最終的に予約された宿に関するクリックシグナルしか使えていないという課題があったとのこと。 提案手法の中では、$P(uncancelled\ booking) = P(uncancelled\ booking|booking)\times P(booking)$ のようなビジネス指標の分解をそのままモデルとロスの構造に反映させている部分が面白かった。 ただオンライン実験結果はポジティブとはいえ、ここまでやった割に上昇幅は渋いなぁという感想。 まあプラットフォームが成熟しているとメトリクスの大幅な改善は難しいのだろう。
GBDTにおける multi-label LtR モデルの学習アルゴリズムのトレードオフを整理した論文。 Multi-objective 用のアルゴリズムはいろいろ提案されているらしいが、それを整理してパレートフロントのどの点に収束できてどの点にできないかを見るフレームワークを導入したのが貢献のよう。
YouTubeで使われているランキングモデルの training stability 改善手法についての論文。 推薦では複数の目的関数を持つDNNモデルが使われるが、学習が不安定で loss が発散することが多い。 学習の安定化のために、gradient clipping や warmup などのテクニックが開発されていて他の分野では成功しているが、multi-objective ランキングモデルには不十分な傾向がある。 この原因として、sequential training を行うためデータの分布変化が激しく loss が steep になりやすい、モデルサイズが大きい、multi-objective モデルは一つのタスクの不安定性が全体に伝播しやすいという点を挙げている。 提案手法は、AdaGrad の安定性を向上させるための新しい gradient clipping。 YouTubeのデータを使った実験では良い成績とのことで、特に learning rate をそこまで小さくせずとも済むのが嬉しい模様。 あとはそもそも YouTube では複数の candidate generation と multi-objective を使ったランキングで構成されているという点が勉強になった。