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

リクルートにおけるbanditアルゴリズム実装前までのプロセス

 リクルートにおけるbanditアルゴリズム実装前までのプロセス

2017/07/26 PyData.Tokyo Meetup #14での、田口の講演資料になります

Recruit Technologies

July 27, 2017
Tweet

More Decks by Recruit Technologies

Other Decks in Technology

Transcript

  1. 3 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    趣味etc 略歴 所属 氏名 RTC ITソリューション統括部 ビッグデータ部 ビッグデータビジネスコンサルティングG 田口 正一(たぐち しょういち) 前職:シンクタンク系SIer デフォルトリスク計量/ 与信最適化 @地銀(リテールローン) @携帯電話会社(ペイメントサービス) 11月RTC 入社 サッカー・キャンプ・ゲーム 自己紹介
  2. 4 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    話すこと/話さないこと 基本 ・banditアルゴリズムとは ・banditアルゴリズムの種類 事例 ・他社事例 ・社内事例 ・実施要件 ・アルゴリズム選定〜シミュレーション トレンド ・著名カンファレンス論文 ・論文紹介 ・導入対象 - 具体的サービス名 ・導入効果 - 具体的な数字 ・実装部分 話すこと 話さないこと
  3. 6 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    リクルートのビジネスモデル クライアントとカスタマーをつなぐサービスを提供
  4. 7 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    リクルートの事業領域 「選択」 をサポートするような情報サービスを展開 ライフイベント領域 ライフスタイル領域 旅行 ITトレンド ライフスタイル 健康と美容 就職活動 結婚 転職 住居購入 車購入 出産 教育
  5. 8 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    リクルートテクノロジーズの立ち位置 リクルートホールディングスは7つの主要事業会社と3つの機能会社から成り立っている。 Infrastructure Large project promotions UI design/SEO Big Data Department Technology R&D IT Promotion Recruit Holdings Recruit Career Recruit Sumai Company Recruit Lifestyle Recruit Jobs Recruit Staffing Recruit Marketing Partners Staff service Holdings Recruit Technologies Recruit Administration Recruit Communications Operation Service
  6. 9 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    ビッグデータ解析部門の組織体制 ビジネス コンサルティング グループ 人材領域グループ 販促・バイト領域 グループ ソリューションを 軸とした予測、 BI、競合分析 人材領域を軸とした 各種レコメンドの 開発 販促・バイトを 軸とした各種 レコメンドの開発 ID・ポイント領域 グループ IDポイントを 軸とした各種 レコメンドの開発 プロダクト開発 グループ インフラグループ IDポイント ビッグデータシステムグルー プ ソリューションを 軸とした各種R&D系 プロダクトの開発 ビックデータ基盤の 構築・運用 IDポイントPRJの 基盤の構築・運用 ビックデータ部
  7. 11 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    環境モデル、長期報酬を考慮しない強化学習 強化学習 banditアルゴリズム 価値関数(長期報酬) 報酬関数(短期報酬) 方策 環境モデル ◦ × ◦ ◦ ◦ ◦ ◦ × 構成要素 出典:強化学習
  8. 12 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    持ち金を増やしたい  スロットマシンを相手にする@ラスベガス
  9. 13 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    持ち金を増やしたい  情報がなければ合理的な選択は不可能 期待 報酬 p1 p2 p3 p4 結局どれがいいの さ・・・
  10. 14 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    情報を集める  ないなら集める 期 待 p1 p2 p3 p4 結局・ 期 待 p1 p2 p3 p4 p1良さ げ? 時刻t =0 時刻t =1 プレイ & 報酬観 測 腕1をプレイ &報酬観測 報 酬 0 0 0 0 総 数 0 0 0 0 報 酬 1 0 0 0 総 数 1 0 0 0
  11. 15 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    情報を集める  期待値に基づいてのプレイが基本方針 期 待 p1 p2 p3 p4 P4最大 期 待 p1 p2 p3 p4 p3最大になった 次はp3か・・・ 時刻t 時刻t +1 プレイ & 報酬観 測 腕4をプレイ &報酬観測 報 酬 r1 r2 r3 r4 総 数 s1 s2 s3 s4 報 酬 r1 r2 r3 r4 総 数 s1 s2 s3 s4+ 1
  12. 16 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    期待値の見積  期待報酬分布を台ごとに生成  ※以降Thompson Samplingの例 時刻t =0での各腕期待報酬分布例 時刻tでの各腕期待報酬分布例 期 待 p1 p2 p3 p4 時刻t =0 報 酬 r1 r2 r3 r4 総 数 s1 s2 s3 s4 期 待 p1(t) p2(t) p3(t) p4(t) 時刻t 報 酬 r1(t) r2(t) r3(t) r4(t) 総 数 s1(t) s2(t) s3(t) s4(t) beta分布で期待 報酬の事後分布を 近似 pn(t) ~ beta(rn(t),sn(t)- rn(t))
  13. 17 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    実際の動き  最初の方はランダム選択  期待報酬推定値が似たような感じになる  情報が増えれば最適報酬腕をプレイする可能性が上がる 時刻t =0での各腕期待報酬分布 時刻tでの各腕期待報酬分布 各腕プレイ時の 成功/失敗情 報を得る
  14. 18 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    評価指標  Regret = Σ(最適腕の報酬 – 実プレイした腕の報酬)  Regretの最小化を目指す グラフ出典:DataOrigami https://dataorigami.net/blogs/napkin-folding/79031811-multi-armed-bandits 最初は探索的に色々な腕をプ レイするので、Regretが急上 昇 ある程度時間が経つと最適選 択をする可能性が高まり、 Regretの成長は鈍化 ランダム探索よりはるかにマシ
  15. 19 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    banditアルゴリズムの種類  banditアルゴリズムは様々存在する
  16. 21 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    他社事例  楽天  Cookpad  yahoo  MSN, LinkedIn
  17. 22 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    他社事例  楽天  スーパーセール  成約率5%向上 出典: http://business.nikkeibp.co.jp/atclbdt/15/258673/070400266/?n_cid=
  18. 23 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    他社事例  Cookpad  contextual banditらしい  対探索時でCTR160% 出典: http://techlife.cookpad.com/entry/2014/10/29/
  19. 24 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    他社事例  yahoo  STORY部分にF1~F4のどれを出す?  LinUCB(disjoint,hybrid)を用いた  ε-greedyと比較してCTRが2倍以上 • hybridは早く学べる • disjointは伸びしろあり
  20. 26 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    自社事例 目的/実施内容  目的  CVR上げたい  (副次的に)工数を削減したい  実施内容  クリエイティブ出しわけ  過去2パターンABテストを手動で実施した結果、数%CVR向上した → banditでパターン数を増やし、より良い結果を目指す  内部的に割り振っているクラスタ情報が存在するので、クラスタ単位での出し わけ
  21. 27 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    アルゴリズム選択  要件  要件的にニュース等と違い、リアルタイム更新の必要性は薄い  論文等で主張されている評価基準(Regret)だけで選べない • 実際に自環境で達成できるかは全く別(特に難しいロジックは) • 事前にある程度の性能予測をしたい  事前の性能予測がいい感じでも、本番でうまく動くかは不明 • ミニマムで作って本番へ • うまくいったらスケール/ロジックエンハンス • リアルタイム更新でないケースでうまくはまる、実装や本番との連携が簡単な仕組み を作る →Thompson Samplingを採用
  22. 29 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    他に考慮すべき点  やる事が決まった上でどうロジックを組み込むか  ファイル連携?api?  簡単に実現したい  有事の際すぐにリカバリーできるようにしたい →ユーザ側(フロント)での調整にも対応出来るよう、ファイル連携を選択 案 動き メリット デメリット api 叩かれた時に計算、 プレイ腕を返す フロント実装が楽 フロント側から見て ブラックボックス 叩かれた時にapi側 で持つ確率ファイルか ら抽出、プレイ腕を 返す フロント実装が楽/ API計算はバッチで済む フロント側での調整 /緊急対応しづらい ファイル連携 webサーバ側で持つ 確率ファイルからプレ イ腕を決定 API計算はバッチで済む/ ユーザ側で明日の出し分け 確率がわかる フロント実装が面倒
  23. 30 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    チューニング  ファイル連携なら多少計算時間がかかっても許される  +本来のThompson Samplingの動きと違うので、確率ファイルの生成をする 必要がある  収束保証のない(※)中で、多少時間がかかってもいい動きをするようにしたい ※強化学習系の手法一般に言える(はず)
  24. 31 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    シミュレーション  banditアルゴリズムのバックテストは一般的に難しい  そもそも都合のいいデータがないと不可能  都合のいいデータがある際のテスト方法: https://arxiv.org/pdf/1405.3536.pdf https://arxiv.org/pdf/1003.5956.pdf  シミュレーションでいいものを選ぶ  試したパラメータ • beta分布のパラメータキャップ – 過程で分布が過度に尖ってしまい、プレイする腕の期待報酬分布が尖り過ぎるのを防ぐ。 beta(a,b)のときa+b<=nの範囲で按分する – {100, 200, 300, 500, 700, 1000, なし} • Thompson Sampling実施回数 – プレイする腕を選択する際、TSを何回実施した結果を用いるか – {1, 5, 10, 15, 20, 30, 50, 75, 100}
  25. 32 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    シミュレーション結果  シミュレーション前提:  真の報酬:0.4%を中心に上下4段階ずつ、計9つの腕を用意  1段階変化ごとに±3%(元の値から)報酬を変化させている  1日2000プレイの結果(表出コンテンツ/cv or not)が手に入る  テスト期間は60日間  各実験で1000トライアルずつ実施した時の平均報酬の変化をプロット シミュレーション結果 縦軸:期待報酬 横軸:日 この辺が良 さそう
  26. 33 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    banditアルゴリズム:研究トピックのトレンド  制約付き  バジェット付き  時間経過で腕/ 報酬が変化(変化/ 消滅/ 誕生)  ランクのみ学習  無限腕bandit  グラフとの組み合わせ  適用領域のエンハンス  ページ全体のUI改善  インタラクティブレコメ  オフラインテスト手法 抜粋: KDD, AAAI, NIPS, ICMLの最新accepted papers ※NIPS以外は2017, NIPSは2016,WSDM発見できず
  27. 34 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    論文紹介①  Unimodal Thompson Sampling for Graph- Structured Arms(@aaai17)  無向グラフ+Thompson Sampling • 探索範囲を効率的に絞って、パフォーマンスを上げることが目的  セッティング • 腕をエッジとみなす – 仮にEを最適腕だとする • エッジ間接続 (ノード)を確率pでランダムに作る – on random graphs(1950年代論文)の手法に基づく、ただし » どこからのエッジからでも、移動を繰り返せば最適腕への経路が存在する前提 » 最適腕に近づく際、期待報酬の減少は起こらない前提(両方厳しい・・・) B A E G F D C
  28. 35 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    論文紹介①  当該時刻で(接続している腕のうち)期待報酬最大のエッジを選択 • リーダーアームと呼ぶ  ある基準(※)で選択したエッジをプレイ、基準以外のケースだと選択エッジに 接続された腕全てでTS実施、最も期待報酬の高いものをプレイする  期待値最大の腕選択に戻る ※後述 B A E G F D C
  29. 36 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    論文紹介① B A E G F D C  最適腕へ収束していくプロセス  Eをリーダーとして選択→最適腕を選択できている、正解  Cをリーダーとして選択→B,C,EでTS、Eの期待値の方がCより高いので、いず れEがリーダーとして選択される  Bをリーダーとして選択→A,B,C,DでTS、いずれCがリーダーとして選択される。 理由は同上 →Optimal Armに向かっての滝登り
  30. 37 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    G(グラフ),T(制限時間), π(事前分布)を入れる 全腕で時刻Tまでの期待報酬を計算 通算報酬最大の腕(最適腕)を特定 最適腕としての被選択回数 /( 接続ノード数+1) 最適腕をプレイ 最適腕+隣接腕でθだけサンプリング 報酬が最大になる腕をプレイ 論文紹介① ※5行目はRegret計算を簡単にするために、先行論文での提案手法でも導入されているとのこと(本人談) 先行論文での手法:GLSE(Jia and Mannor, 2011), OSUB(Combes and Proutiere, 2014)
  31. 38 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    論文紹介②  Efficient Ordered Combinatorial Semi-Bandits for Whole-page Recommendation(@aaai17)  表出するコンテンツ/場所の最適化を同時に目指す  内容的には2016WSDMでのBestPaper, ”Beyond Ranking: Optimizing Whole-Page Presentation”(リンク↓)と似てる  https://pt.slideshare.net/techblogyahoo/wsdm2016beyond- rankingoptimizing-wholepage-presentationyjwsdm BestPaper Efficient~ 検索結果 全体最適 コンテンツ/ポ ジション最適
  32. 39 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    論文紹介②  Best Paperとの比較  どちらもyahooデータセットを使っている論文  どちらも著者にyahoo関係者が入っている Best Paper 紹介 最適化範囲 検索結果全体 コンテンツ表出箇所 アルゴリズム GBDT Thompson Sampling 前提 ランダム出し分け結果が手元にある (論文だと800万PV分) 特になし 特徴量 コンテンツの特徴 ポジション 情報種類(文字、画像、動画等) 情報特徴(サイズ、フォント等) コンテンツの特徴 ポジション
  33. 40 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    論文紹介②  やってること  contentsの数:n  候補ポジションの数:k  前提 • 同じコンテンツでも、出すポジションによって報酬が変わる • 1つのポジションには1つのコンテンツしか出せない  場所、コンテンツの配置を下記のように表現する m1 m2 ・・ mk c1 1 c2 1 : 1 cn 1 m1という場所にc1コンテンツ が置かれている & mkという場所にc2コンテンツ が置かれている : : コンテンツ ポジション
  34. 41 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    論文紹介②  整数問題→線形計画  上記パターンで実現出来る報酬を最大化するには整数問題を解く  整数問題はコストが高い  {0,1}から[0,1]への変換をしても、得られる結果は同じ  整数問題→線形計画への変換 m1 m2 ・・ mk c1 1 c2 1 : 1 cn 1 m1という場所にc1コンテンツ が置かれている & mkという場所にc2コンテンツ が置かれている : : コンテンツ ポジション
  35. 42 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    論文紹介②  最適配置を実現し、CVR最大を目指す  Thompson Samplingでの実現  報酬 r = f(contents, position) ~ 何かしらの期待報酬分布  各選択の期待報酬は下記のように表現できる  f(cn,mk)で表現される分布からサンプリングを実施、実現値を抽出する  あとは線形計画を解いて解を得る m1 m2 ・・ mk c1 f(c1,m1) f(c1,m2) ・・ f(c1,mk) c2 f(c2,m1) f(c2m2) ・・ f(c2,mk) : : : ・・ : cn f(cn,m1) f(cn,m2) ・・ f(cn,mk)
  36. 44 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    まとめ  banditアルゴリズムを用いることで、データが存在しない/集めづらい 領域の最適化ができるようになる  ケースに応じて最適パラメータが変わってくるので、シミュレーションで 最適パラメータを求めた  アルゴリズム自体に収束保証がない/手動で出し分けを実現したい ケースが想定されるので、緊急停止ボタン(ファイル書き換えで可 能)を仕込んだ
  37. 45 Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

    ポジションあります 機械学習を利用して自由にビジネスを作っていきたい人 是非、一緒に働きましょう リクルートテクノロジーズ 田口 正一(たぐち しょういち) [email protected] 連絡先