エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

エムスリー AI・機械学習チームのRECSYS 2022推し論文を紹介するぜ!

エムスリーエンジニアリンググループ AI・機械学習チームで機械学習エンジニアをしている農見(@rookzeno) です。 機械学習コンペにたまに参加していて、仕事では主にレコメンド周りを担当しています。

エムスリーのAI・機械学習チームでは技術共有会を毎週で行っています。ここで開発してるプロダクトに使われている技術紹介や論文紹介を行なっています。自分が担当してないプロダクトは知らないことが多いのでドメイン知識や技術共に学ぶことの多い会となってます。

最近、技術共有会の特別企画としてRecsys 2022ワイワイ祭を開催しました。各々が1つのセッションを選び、そのセッション内で気になった論文をいくつか発表する祭です。今回はAI・機械学習チームメンバーが担当したセッションごとに、推し論文の紹介をしていきます。去年のSIGIR'21推し論文を紹介するぜ!と同じ形式です

Optimizing product recommendations for millions of merchants

推しポイント

このセッションでは、巨大なサイズの推薦を行う上の工夫についての論文が多かったです。 その中で今回選んだ論文はShopifyの購入時の推薦アルゴリズムをバンディッドで切り替えるというものです。 論文内で示されていた例によると、大型家電販売店舗のサイト上での推薦には一緒に買われている物を推薦する協調フィルタリングよりも、見ている商品の代替商品を推薦するモデルの方が良いなどサイトごとに異なる特徴があるようです。 以下のグラフが論文内で示された各セグメントと各モデルでのCTRを示したものです。 グラフから分かるように、あるセグメントで強いモデルが別のセグメントでは他のものに負けるという様子がわかります。

論文内で示されたセグメントとモデルのCTRを比較したグラフ

この研究の各セグメントに対してどのモデルを利用するかというメタ的な推薦の面白さでこの論文を推させてもらいました。

Reducing Cross-Topic Political Homogenization in Content-Based News Recommendation

推しポイント

"銃規制ではリベラルだが、移民施策では保守"みたいに、本来人の意見はトピックによって自由に変わりうりますよね。なのにレコメンドエンジンは"あーこの人はリベラルなのね"みたいに雑なレコメンドをしてしまうことがある。これはフィルターバブルの一形態なので、それを解決しましょうという論文です。

実験的には、学習時は90%が銃規制のニュース、10%が移民政策のニュースで学習するのに、テスト時には50%:50%でそれらが来る、さらにユーザーはこの2つのニュースで信念を必ず変える、というエクストリームな設定で、ユーザーの好みの記事をあてるという問題の精度で良さがはかれます。

手法としては、A) 政治主張の予測に効くが汎用的に出てきてしまう語の重みを下げる(STAN) B) トピックを当てるロスを追加で入れる(MTAN)を組み合わせることで、既存の、トピックを意識しないモデル(STN)を上回ることができました。

ネットワーク図 (論文より)

推しポイントとしては、定式化の難しいフィルターバブルを計測可能な精度の話に持っていったことで、かつ、オレオレ指標みたいなのを持ち出していない(エクストリームな問題設定ではあるけども)という点が好きです。

Denoising Self-Attentive Sequential Recommendation

推しポイント

RecSys2022のベストペーパーなだけあって発想が面白いですね。実データ、特にimplicit feedbackはユーザーの嗜好に合ってないクリックが多く、アイテム系列全体で推薦するより、系列の一部で推薦する方が精度が上がるのではないかという論文です。

以下の画像がノイズのあるデータの実例です。下の4つの系列からPCを推薦するモデルですが、PCの推薦にバッグやパンツはあまり関係がないですよね。なのでその部分のattentionを0になるように学習すると精度が上がるというのは分かりやすくて良かったです。

ノイズのあるのアイテム系列 (論文から引用)

しかも行ってる処理がAttentionに0,1のmaskを掛けるだけなので、色んなTransformer baseのモデルに導入することが出来るのが良いと思いました。

ただ0,1の離散的になると、微分することができないので離散変数を連続的な近似値に置き換える部分とかは結構複雑そうでした。この問題を解決するところが論文の肝なのかもしれないですね。

Personalizing Benefits Allocation Without Spending Money

booking.com上で割引プロモーションを誰に?どんなものを出すべきか?を最適化する話です。 割引プロモーションに対する反応として「1: 割引したら買う人」「2: 割引しても買わない人」「3: 割引しなくても買う人」「4: 割引すると買わなくなる人」の4パターンが考えられます。プロモーションの効果を最大化するには各ユーザーのプロモーションに対する反応を推定し、このうち「1: 割引したら買う人」にプロモーションを絞り込むことが重要です。 また、プロモーションの種類も「5%引き」「10%引き」「15%引き」など多数のレベルが考えられ、各ユーザーのそれぞれの施策に対しての効果を推定し最適なものを選択する必要があります。

このような問題の最適化には線形計画法が考えられますが、事前には誰が実際にwebサイトに訪問するかわからず、制約条件を作れないという課題がありました。 著者らは、総予算を鑑みながら動的にプロモーションの制約を変更していく手法を開発して、プロモーションのパーソナライズを実現しています。 制約条件が定まらないという実際の活用を想定した実験結果が、オフライン環境において線形計画法で最適化した状態にかなり近似できていて面白いと思いました。

(左)各ユーザーの各施策に対しての介入効果とコストの関係(右)各ユーザーに対して最適と選択された施策の介入効果とコストの関係(論文からの引用に加筆)

Fairness-aware Federated Matrix Factorization

推しポイント

年齢や性別などで分けられた特定のユーザーグループに対して、推薦結果が著しく偏っていると大きな問題になります。一方で、ユーザーグループ同士の公平性を考慮して学習を行うためにはユーザーのプライベートな情報を扱う必要があります。 そこで、ユーザーのプライベートな情報を秘匿しつつ、公平性も考慮して学習しよう、というのがこの論文です。

具体的には、①ユーザーのデバイス上で学習を行ってプライベートな情報を秘匿しつつ、②公平性も加味した損失を導入しています。 一見すると、②のユーザーグループ間の公平性は一度全体を集計して計算する必要があり、かといって集計してしまうと①によって各デバイスで完結していたプライベートな情報が漏れてしまうため①と②の共存は難しそうですが、この論文では差分プライバシーの考え方を適用することでこれを解決しています。

実験では、公平性に関する損失関数の重みを大きくすることで不公平性が実際に抑えられ、また重みを調整することで一般の手法に遜色ない推薦性能を出せることが示されています。

エポックごとの不公平性指標

プライバシーと公平性という問題自体とても重要ですし、それをいくつかの工夫で綺麗に解いている部分が推しポイントです。

まとめ

今回はAI・機械学習チームメンバーが面白いと思った推し論文を中心に紹介しました! 論文読み会ではいつも気づかないような視点の質問や、着眼点が飛んできたりと、非常に勉強になりました。社内のレコメンドや検索をより良いものにするために今後とも論文読み会を行っていく予定です。

We are hiring!

AI・機械学習チームでは情報検索/推薦分野のタスクが多く、今回紹介したようにチーム内の技術共有会なども活発です。「ちょっと話を聞いてみたいかも」という人はこちらから! jobs.m3.com