Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MeetUP3_機械学習とプロダクト開発_20220929

BrainPad
October 04, 2022

 MeetUP3_機械学習とプロダクト開発_20220929

BrainPad

October 04, 2022
Tweet

More Decks by BrainPad

Other Decks in Programming

Transcript

  1. BrainPad エンジニアトーク#3
    機械学習とプロダクト開発
    ブレインパッド 長南 翔

    View Slide

  2. ©BrainPad Inc.
    Strictly Confidencial
    自己紹介
    - 名前: 長南 翔
    - 所属: ブレインパッド
    - プロダクトビジネス本部 プロダクトデザイン部 テクニカルグロースG グループマネージャ
    - 仕事: 機械学習を利用した自社プロダクトの機能企画・開発
    - 経歴: 早稲田大学院(物理)→ブレインパッド新卒7年目
    - 最近の趣味: StableDiffusion(OSS画像生成AI)

    View Slide

  3. ブレインパッドで機械学習/AIと関わるロール
    - データサイエンティスト
    - 顧客との案件で機械学習を利用した問題解決
    - 機械学習エンジニア
    - データサイエンティストの構築した機械学習モデルをシステムに乗せて、顧客が業務
    で利用できる形で提供
    - プロダクトエンジニア
    - 自社プロダクト(Rtoaster)の機械学習を用いた機能を企画・実装・運用

    View Slide

  4. 本日のテーマ
    強化学習を活用したレコメンド開発について
    - 人々のWebでの行動パターンは過去に比べて多様化
    - 「セグメント」や「ペルソナ」のような概念でひとくくりにしてユーザを理解するのは乱暴
    - 本当の意味でのパーソナライズを実現するには、アルゴリズムを利用して個々のユーザの特徴を考慮したレコメンドを
    提示していくことが必要

    - アルゴリズムを利用したレコメンドの手法について
    - 強化学習が優位な場面について
    - プロダクト実装していく上での難しさについて
    - conomi-optimizeというコンテンツの表示比率最適化機能を開発した経験をもとに

    View Slide

  5. 顧客コミュニケーションにおいて、AI化、アルゴリズム化が必要となる背景
    - 大量の顧客とのコミュニケーション方法
    - 従来→ユーザを人間が把握可能な数のセグメントに分け、施策を考える
    - しかし、近年では年代、ジェンダー、居住地などといったユーザのデモグラフィックを使ったセグメントでユーザの好みを
    一括りにして理解することは乱暴な方法。
    - 世界的に有名な、あるVODサイトでも、レコメンドに年齢、ジェンダーといった情報は使用していないと明言さ
    れている。
    - デモグラフィック以外の属性データを用いたとしても、人々の好みのパターンは多様で、人間が把握可能な数のパター
    ンにすべての顧客を当てはめることにも限界がある
    →アルゴリズムを利用して個々のユーザに対するレコメンドを提示していくことが不可欠

    View Slide

  6. アルゴリズムを使ったレコメンドの中でも、強化学習が強力な理由
    - アルゴリズムを使ったレコメンド方法は様々
    - 協調フィルタリング
    - 教師あり学習
    - 強化学習
    - それぞれの特徴と、なぜ強化学習が良いのか?

    View Slide

  7. 協調フィルタリング
    - レコメンドで昔からよく使われるアルゴリズム
    - 「自分に似ている人が買っている商品をレコメンドされれば購入したくなるだろう」という関係を利用
    - シンプルで効率的だが、以下のような欠点がある
    - データが十分溜まっている必要があること
    - 購入、閲覧のデータが十分なければ、ユーザと商品のリンクが少なく、レコメンドの候補が十分ないよう
    な状況になる。
    - 商品をレコメンドする基準は購入、閲覧パターンの類似度であって、実際に購入するかどうかではないこと
    - データを取りに行くための戦略がないこと
    - 「このユーザにこの商品をレコメンドするのはまだ試していないから試してみよう」
    よくある弱点... あるECサイトでコーヒーメーカーを購入したら、コーヒー好きなユーザとの類似度が高まったためか、コーヒー
    関連グッズを大量にレコメンドされ、反応していないのに数ヶ月の間、同様のレコメンドをされ続けた

    View Slide

  8. 教師あり学習
    協調フィルタリングから一歩進んで、ユーザの購入、閲覧パターンの特徴量から購入しそうな商品を予測する機械学習モデ
    ルを構築し、それによりレコメンドする
    →教師あり学習
    具体的なモデルとしては何でも使える。
    - 購入、閲覧パターンが類似しているだけでなく、実際購入するかどうかも評価することができるため、反応がないのに
    同じような商品をレコメンドし続ける挙動は抑制できる
    一方で、以下のような欠点はそのまま
    - データが溜まった後でなければ使えない
    - 未知のパターンに関するデータを取りに行く戦略がない
    kaggleのH&Mコンペhttps://www.kaggle.com/competitions/h-and-m-personalized-fashion-
    recommendations
    でも教師あり学習の世界観で問題が出ている。

    View Slide

  9. 強化学習
    現実には、データが十分ない状況からレコメンドを行わなければいけない状況も多い
    - 新型コロナウイルスの流行のように人々の行動様式が大きく変化する事象は常に起こりうる。
    - データが十分にたまる時は来ない
    未知のパターンに関するデータを積極的に取りに行き、素早く最適な状態に近づけるような動きができることも重要。
    - 小規模な販売者、ニッチな商品カテゴリなど、取れるデータが少ない状況は近年増えている。
    →このような状況で高いパフォーマンスが期待できるのが強化学習
    - データが溜まった後のパフォーマンスではなく、データが溜まり、それを利用する過程全体でのパフォーマンスの累計値
    を最大化する手法です。
    - データを溜める過程で、より効率的に最適な状態に近づけるために、「どのようにデータを取りに行くのが良いか」も最
    適化する観点も持っている

    View Slide

  10. 多腕バンディットアルゴリズム
    - 強化学習に分類されるアルゴリズムの一つ。様々な場面で利用されている
    - Webサイトでのコンテンツのレコメンド、
    - Web広告で提示する広告コンテンツの選択
    - 多腕バンディットアルゴリズムについて解説し、強化学習の特徴である「データを取りに行く過程も含めたパフォーマン
    スの最大化」の実例を見てみる

    View Slide

  11. 多腕バンディット問題
    - ECサイトで商品をレコメンドしたり、ユーザに見せる
    Web広告を選択するような状況は、「多腕バンデ
    ィット問題」としてモデル化できる。
    - 報酬が得られる確率が異なる複数のスロットマシン
    - 決まった回数だけスロットを回して良い
    - どのようにスロットマシンを選択すると報酬が最大になるのか?

    View Slide

  12. 多腕バンディット問題
    スロットが当たるかどうかは確率的
    - ある程度の数を回さなければ良し悪しはわからない。
    - 当たりにくいスロットをたくさん回してしまっては報酬の累計値は小さくなる
    2つの方針
    - 活用=現時点で当たりやすいとわかっているスロットを引く
    - 探索=現時点で当たりやすさが未知数のスロットの情報を取りに行く
    これらにはトレードオフの関係がある。
    - 活用する場合、もっと当たりやすいスロットがまだあるかもしれない
    - 探索する場合、当たりにくいスロットの情報を取るために損をしなければならないかもしれない
    活用・探索をバランスよく行うことが最終的な報酬を最大化するためには必要。
    多腕バンディットアルゴリズムは、このようなバンディット問題の解法となるアルゴリズムの総称で、活用、探索のバランスをとり、
    最終的な報酬の累計値を最大化するために利用される

    View Slide

  13. バンディット問題への戦略としてのA/Bテスト
    サイトのデザインの選択などの場面でよく利用されるA/Bテストも、
    バンディット問題に対する一つの戦略
    A/Bテストの流れ
    1. 対象ユーザをランダムに二つの群に分け、A,Bのコンテンツをそれぞれ提示し、成果を測る
    2. どちらかのコンテンツの成果が統計的に有意に高ければ、全ユーザに成果の高いコンテンツのみを提示する
    1.が探索のみをするフェイズ、2.が活用のみをするフェイズ
    バンディット問題への戦略としてのA/Bテストは以下のような欠点がある
    - 探索だけを行うフェイズ1. ではコンテンツも均等な確率で出すため、成果が下がる
    - 環境は変化しているため、ある時点で良いとされたコンテンツがその後も良いとは限らない。フェイズ1.とフェイズ2.で
    状況が変わる可能性もある。
    - あるユーザ群に対しては有効なコンテンツも、別のユーザ群には有効でないかもしれない。

    View Slide

  14. 多腕バンディットアルゴリズム
    - A/Bテストのように、探索フェイズ、活用フェイズというような区切りはなく、多数のコンテンツを同時に投入することも
    可能
    与えられたすべてのコンテンツに対して、
    - 実際に得られているコンテンツの成果
    - まだ試行回数が足りない場合、そのコンテンツが高い成果を出す可能性
    の両方を評価して、現時点の情報から最善とされるコンテンツを提示することを繰り返すことで、
    探索・活用のバランスをとる

    View Slide

  15. 多腕バンディットアルゴリズムの動きの実例
    (右表):一見コンテンツAが最適に見える状況だがコンテンツCの試行回数が足りていない
    アルゴリズムには(左図)のような、真のCTRの存在分布が見えている。
    この分布をもとに比率を決めると、コンテンツCに比率が割かれ、探索的挙動をする

    View Slide

  16. 多腕バンディットアルゴリズムの動きの実例
    (右表):コンテンツCを表示する期間が続き、全コンテンツ同程度のインプレッション数となった
    情報が不十分なコンテンツはないため、活用的挙動をする
    情報の不十分さにより、そのコンテンツにまだあるポテンシャルを評価できる

    View Slide

  17. 文脈付き多腕バンディットアルゴリズム
    多腕バンディットアルゴリズムには、文脈付き多腕バンディットアルゴリズムと呼ばれるバリエーションがあり、それを利用すると、
    - ユーザに関する情報
    - コンテンツに関する情報
    - コンテンツの表示位置、曜日や時間帯などの周辺情報
    といった「文脈」に応じたコンテンツの有効性の違いに対しても、探索、活用のバランスをとって戦略的に対応することができ

    View Slide

  18. 多腕バンディットアルゴリズムのプロダクト実装
    ブレインパッド製品のCDP・Rtoasterの最適化機能”conomi-optimize”で、多腕バンディットアルゴリズムを用いてコン
    テンツ表示比率を最適化する機能をプロダクトとして実装した経験から、実利用での難しさや、どのような状況で特に有効
    であるかといった知見について解説

    View Slide

  19. 多腕バンディットアルゴリズムの実利用での難しさ
    Rtoasterの最適化機能”conomi-optimize”を用いて、月間数千万PVの規模の実際の顧客サイトでバナーの表示
    比率最適化を行い、多腕バンディットアルゴリズムをテストした
    多腕バンディットを現実の問題に応用するための課題
    - コンテンツの追加、削除が常にある
    - 同じコンテンツでも、様々な影響で有効性は時間変化する
    - バナーなどのコンテンツを表示する枠は多くの場合複数ある
    現実は理想的な多腕バンディット問題ほど単純ではない

    View Slide

  20. コンテンツの追加、削除が常にある
    理想的な多腕バンディット問題ではスロットマシンの数は変化しない現実のコンテ
    ンツは常に追加、削除される
    →他のコンテンツより大幅にクリックされやすいコンテンツが追加された場合、素早く
    そのコンテンツの有効性に気づかなければ機会損失が発生
    対策
    情報がないコンテンツに対してどの程度の報酬を期待するかを決める「初期分布」
    の工夫により改善
    - 情報がないコンテンツに対しては、既存のコンテンツのうち最も報酬の高いコ
    ンテンツの報酬と同程度の報酬を期待し、情報が得られるにつれてそれを
    修正していく
    →情報がない新規コンテンツはある程度大きなインプレッションが割かれ、いち早く
    そのコンテンツの有効性を確認しながら、有効性に応じてその後の比率を決めてい
    く挙動を実現
    新規コンテンツには既存の最
    高CTRのコンテンツEと同程
    度の中心を持つ分布が割り
    振られる
    新規コンテンツがある程度大
    きな割合で表示されている

    View Slide

  21. 同じコンテンツでも、様々な影響で有効性は時間変化する
    理想的な多腕バンディット問題では、スロットマシンの当たりやすさは時間変化しない
    現実のコンテンツのクリックされやすさは様々な影響で変化する。
    - ユーザが同じコンテンツを見過ぎて飽きてくる
    - ニュースやSNSで話題になって急にコンテンツがクリックされやすくなる
    対策
    - コンテンツの直近の成果を重視するようにデータを重み付け
    有効性の変化に素早く気づいてインプレッションの比率に反映する挙動に
    経過日数(日)
    重み
    データの重みの時間変化

    View Slide

  22. バナーなどのコンテンツを表示する枠は多くの場合複数ある
    理想的な多腕バンディット問題では一度に引くスロットマシンは1個
    現実のバナーなどのコンテンツを表示する枠はたいてい複数ある
    多くの場合最初の枠のコンテンツが最もユーザの目に留まりやすい傾向があり、その影
    響で表示枠によってクリックされやすさが変化するという要素もあります。
    対策
    - 文脈バンディットアルゴリズムで「表示された位置」を文脈に加えて学習を行う
    - コンテンツを選ぶ際には表示された位置による効果を差し引いた期待報酬を用
    いて、最初の枠から順にコンテンツを選択する
    ユーザに対して複数のコンテンツの組をレコメンドする問題はSlate
    Recommendationと呼ばれ、近年この問題に特化したアルゴリズムの研究も行わ
    れているため、そのようなアルゴリズムの採用で更に良い結果が得られるかもしれません。
    Slate Recommendationの難しさ
    20コンテンツから10個並べるだけでも670,442,572,800通り
    A
    あなたへのおすすめ
    B C D
    あなたへのおすすめ
    D
    C
    B
    A
    複数コンテンツの表示例
    A の位置が目にとまりやすく、効
    果が高い場合が多い
    横並び
    カルーセル

    View Slide

  23. 多腕バンディットアルゴリズムの現実での有効性
    実際のサイトで様々なユーザ群、コンテンツ群に対して多腕バンディットを用いた最適化を適用した結果、コンテンツ数が多
    く、コンテンツの入れ替わりが激しい状況で特に大きな改善が見られた。
    コンテンツ数が多く、コンテンツの入れ替わりが激しい状況では、探索を戦略的に行う多腕バンディットの挙動が有利に働い
    たことが改善の大きな要因となっていました。
    特に、「タイムセール」のような効果が高く、期限が限られているバナーが追加された際にバナーの有効性を素早く検知して
    大きな割合のインプレッションを割くことで、限られたタイムセール期間を有効活用できたような挙動も確認できました。
    タイムセール日ではCTRがランダム表示に比べて3.58倍になるような大きな改善もあった。

    View Slide

  24. 状況によって適したアルゴリズムを選択することの重要性
    多腕バンディットアルゴリズムは実装が容易な割には拡張性があり、様々な状況に対処できる
    一方で、強化学習のアルゴリズムをとしてはシンプルなもの
    - 即時報酬しか考慮しない
    - 将棋やチェスで言うところの1手読みしかしない
    - (だからこそステートレスにできて実システムでの運用での都合が良い)
    対症療法的にしか対応できない状況も
    - コンテンツを提示したことによるユーザの状態の変化など
    - 例えばクリックベイト的なコンテンツを提示し続けることで短期的なクリックは上がってもユーザの長期的な満足
    度が下がってしまうような現象
    状況の特徴や、コスト面で別のアルゴリズムが適している場面もある
    - 変化が少なく、最初からデータが潤沢にあるような状況では深層学習やランダムフォレスト系の複雑なモデルを用い
    た教師あり学習に強みがある場面も
    - 高い実装・運用コストに対しても採算が取れるような大規模なサイトでのレコメンドでは、強化学習の「環境」のモデ
    ルとしてより複雑なものを使う深層強化学習系モデルに強みがある
    状況に合わせた適切なアルゴリズムを意図を持って選択していくことが重要

    View Slide

  25. アルゴリズムレコメンドの展望
    深層強化学習系モデルがGoogle, Yahoo, Microsoftなどの超大手により近年活発に研究されている
    - 多腕バンディットアルゴリズムが「1手読み」なのに対し、「N手読み」に相当する
    - 例:Choc vs. Kale
    - https://github.com/google-research/recsim で紹介されている概念
    - Chocolate: 短期的な食いつきは良いが、長期的な満足度は下がるコンテンツ
    - 釣りサムネイルで内容は薄い動画みたいな
    - Kale: クリックは集めにくいが、長期的には満足度が上がるコンテンツ
    - Chocolate, Kaleのバランスをアルゴリズム的にうまくとることで、
    「直近のクリック率」ではなく、「現在から未来までのユーザの満足度」が最大化される
    - 多腕バンディットアルゴリズムの世界観では明らかにカバーできないが重要な概念

    View Slide

  26. データサイエンス✕エンジニアリングがもたらす意義
    ユーザの好みは人力では把握できないほど多様
    →本当の意味でのパーソナライズを実現するには、アルゴリズムの力を借りて個々のユーザに対するレコメンドを提示していく
    ことが必要
    - どのようにユーザとコミュニケーションをとっていきたいか、というマーケターの意図をアルゴリズムの形で表現するデータサ
    イエンスの領域
    - アルゴリズムの力を現実の課題で発揮させるためにシステムに統合された形で実装・運用していくエンジニアリングの
    領域
    両方のスキルセットを持った人材の連携が必須であると感じている

    View Slide