Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

リクルートにおける画像解析事例紹介と周辺技術紹介

17,914 views

Published on

2016/11/18 数理システムユーザーコンファレンス2016での、白井の講演資料になります

Published in: Technology
  • Be the first to comment

リクルートにおける画像解析事例紹介と周辺技術紹介

  1. 1. リクルートにおける画像解析事例紹介と 周辺技術紹介 株式会社リクルートテクノロジーズ ITソリューション統括部 ビッグデータプロダクト開発G 白井 祐典
  2. 2. 2Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 自己紹介
  3. 3. 3Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 自己紹介 氏名 白井 祐典 所属 リクルートテクノロジーズ ITソリューション統括部 ビッグデータ部 ビッグデータプロダクト開発G 略歴 独立系Sierに2年半、後R-TECHへ転職。 中途入社5年目。カーセンサー.netのHadoop施策において 要件定義/開発を3年間実施。 同時にHadoopエコシステムの検証や、画像解析の検証/事業接続を 実施。現在は画像解析の推進担当。 学歴 長岡技術科学大学 経営情報システム工学専攻 趣味etc ゴルフ 今更の24 ジム
  4. 4. 4Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 目次 リクルートについて1 画像解析に取り組んだ背景と進め方2 Convolutional Neural Net[CNN]の概要と物体認識3 CNNの適用事例紹介4 画像解析を効率良く実施するための工夫紹介5 まとめ6
  5. 5. 5Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 1 リクルートについて
  6. 6. 6Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. リクルートのビジネスモデル 様々なドメインでマッチングモデルに基づいたビジネスを展開 Matching Business HR Bridal Group Buying Used Cars Travel Real Estate Beauty Gourmet Social Games E-Commerce Ad Network New Business Consumers Enterprise
  7. 7. 7Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. リクルートの事業領域 「選択」 をサポートするような情報サービスを展開 Life event area Lifestyle Area Travel IT/ TrendLifestyle Health & Beauty Job Hunt Marriage Job Change Home Purchase Car Purchase Child Birth Education
  8. 8. 8Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. Infrastructure Large project promotions UI design/SEO Big Data Department Technology R&D IT Promotion リクルートテクノロジーズの立ち位置 リクルートホールディングスは7つの主要事業会社と3つの機能会社から成り立っている。 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
  9. 9. 9Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 2 画像解析に取り組んだ背景と 進め方
  10. 10. 10Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ビッグデータの概念 Volume データ量 データの多様性 Variety Velocity データの発生頻度 ビッグデータの定義で示されるデータの多様性に注目。
  11. 11. 11Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 非構造データの活用がまだまだ  原稿情報  営業日報  議事録  位置情報  商品・店舗画像 etc 今までビッグデータ部で扱う対象のデータは、 行動履歴やデモグラ情報など比較的扱いやすいデータがメイン リクルート内には数多くの 非構造データが存在。 ただ、貯めるというだけでもコスト。 これを活用して、何か価値を生み出す ことができないかと考えたのが最初
  12. 12. 12Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 画像は今どう使われている? リクルートは各事業ドメインにおいてさまざまな画像を大量に保持している。 ・この画像はなんのために用いられているのか? 各事業ドメインにおいて、商材のイメージを伝えるために存在しており、 解析の対象にはまだなっていない。 画像はカスタマに直観的に情報を与える上で最高の情報。 これを解析に利用すれば、マッチングを更に高精度化できるはず![目的]
  13. 13. 13Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. いざ、画像データの解析へ Research 4つの段階を踏んで、画像解析を実施 Develop β-testing Operation ①Research-Stage ・技術的要素を検証 ・画像解析周りのオープンソースや商用サービスを列挙して調査/検証 ・cifar-10などのデータセットの精度上位論文を読んで実装 ↑ライブラリを40個近く列挙 ライセンス/活性度/利用言語/ 活用ジャンル/所感などでまとめる ↑cifar-10の精度をまとめたページ 論文のリンクが貼られている 最終的にこの中の一つのロジックを採用
  14. 14. 14Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. いざ、画像データの解析へ Research 4つの段階を踏んで、画像解析を実施 Develop β-testing Operation ①Research-Stage ・検証して採用を決めたロジックで、実サービスのデータを使ってデモ作成 ・じゃらんとかホットペッパービューティとかの画像を使ってみる ・サービス/その先のユーザーをよく知る事業の人たちと活用方法をブレスト & 改良方法の探索とその実施 ②Develop-Stage ここが大きなポイント どう利用すれば世の中の役に立つかを、 デモというある意味での共通言語を 作って探索。 # ものを見せずに技術だけ喋るとフー ンで終わることが多い。。
  15. 15. 15Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. いざ、画像データの解析へ Research 4つの段階を踏んで、画像解析を実施 Develop β-testing Operation ②Develop-Stage ・実際のサービスにおいて、フィジビリスタディを開始 ・サイト上でカスタマに提示し、利用してもらえるかを実践 よくやるのは、A/BテストなどでのCVR[予約率など]や離脱率をモニタリング ・利用数などもウォッチ →インフラ構成なども含めて問題ないかを検証 ・複数の事業とやりとりをし、開発手法/運用方法を確立 ・また、技術が日進月歩なので新ロジックの調査/検証や、結果からもっと こうしたい!というseeds/needsの両面から、新たにR-Stageへと移す種を選定 ③β-Stage
  16. 16. 16Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. いざ、画像データの解析へ Research 4つの段階を踏んで、画像解析を実施 Develop β-testing Operation ③β-Stage ・β-Stageで確立した手法を型化したソリューションとし、複数事業へと展開 ・展開しながら、事業へと簡単に/早く/安く提供できる仕組みを整えていく ・簡単に/早く: APIとしての利用を整え、固定化されたinputで疎結合に事業へ提供 ・安く: GPUサーバーの比較検討によるインフラ費低減 ④Operation-Stage イマココ
  17. 17. 17Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. Research: 基礎技術検証 いざ、画像データの解析へ Third Cycle First Cycle Second Cycle R D β O R D β O R D β O R Develop:デモ作成/出口探索D Β-testing:少数カスタマ検証β Operation:サービス改善O 技術調査→デモを用いた出口探索→プレテスト→運用 実施中のコミュニケーションから次の種を見つけ、 このサイクルをグルグル回す
  18. 18. 18Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 3 CNNの概要と物体認識
  19. 19. 19Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.  Convolutional Neural Network (CNN)は画像解析に特化したDeep Learning の手法の一種  入力画像上でパッチ(局所画像)を滑らせ、パッチからの特徴量抽出(Convolution) と近くのパッチ同士での特徴量のまとめ上げ(Pooling)を繰り返し、最終的に得られた 特徴量をもとに画像のラベルを予測する。 Convolutional Neural Network P (野球) P (サッカー) P (カバディ) 繰り返し すべての特徴量 を連結し使用 Convolution層 Pooling層 ベクター Predict 画像に映っているものが何かを特定する =物体認識を実施
  20. 20. 20Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ベクトル変換方法 RGB値と重み行列の内積に固定のバイアスを加算する処理 3 0 1 2 3 0 0 2 3 * 3 0 1 3 画像全体 重み行列 * 3 0 1 3 = 3*3 + 0*0 + 2*1 + 3*3 =20 3 0 2 3 * 3 0 1 3 =3 0 1 3 0 * 3 0 1 3 =12 * 3 0 1 3 =20 3 0 2 3 2 3 0 2 22 5 14 22 バイアス:2 + 残したいエッジや色などの特徴を抽出する処理
  21. 21. 21Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ベクトル変換方法 固定長のサイズから最大値を取り出す処理 8 4 9 5 4 1 1 0 2 Convの結果 サイズ:2*2 8 4 5 4 Max( )=8 Max( )=9 Max( )=5 Max( )=4 4 9 4 1 5 4 1 0 4 1 0 2 8 9 5 4 微小な変化に対してロバストな特徴を与える処理
  22. 22. 22Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ベクトル変換方法
  23. 23. 23Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 画像ベクトルを用いた物体認識 正解ラベル付きの画像を大量に学習し、 未知の画像に何が映っているかを特定する ベクトル化 ベクトル化 ベクトル化 ベクトル化 野球ゾーン サッカーゾーン まとめる ベクトル化 学習 予測 予測モデル サッカーゾーンに近い。 サッカーなのでは! と特定 予測モデル 未知の画像
  24. 24. 24Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 4 CNNの適用事例紹介
  25. 25. 25Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. カーセンサーの事例を2つ紹介 1 内装色検索機能 2 写真から車種判別機能
  26. 26. 26Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. カーセンサー:内装色検索機能 事例紹介
  27. 27. 27Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 内装色判別機能とは 内装色の指定画面 茶色 黒 内装色で絞り込み検索が可能 CVR[問い合わせ率]が 110%上昇
  28. 28. 28Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 背景 カーセンサーの調査により以下の結果が得られました 結構「内装」が 重視されてる!
  29. 29. 29Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 内装色判別フロー 外装 ハンドル カーナビ 内装 ・ ・ ・ 1物件の中古車画像群 (約20枚) 1 2 3 4 タイヤ 5 4 内装画像を判定 黒 赤 シートの色を抽出して タグを付与する CNN K-means カラーhist
  30. 30. 30Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 内装色判別フロー(内装画像の特定) … … … CNNで作成した 内装判別モデル 外装 ハンドル カーナビ 内装 ・ ・ ・ 1物件の中古車画像群 (約20枚) 1 2 3 1 :0.02% 2 :7.84% 3 :1.39% 4 :97.3% 5 :0.17% 各画像の内装確率 ・ ・ ・ 4 タイヤ 5 4 を内装画像と断定!
  31. 31. 31Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 内装色判別フロー(CNNの学習) CNNでの学習利用枚数と精度 外装 ラベル名 画像例 内装 トランク ダッシュ ボード その他 学習枚数 約3500枚 約2000枚 約1000枚 約1000枚 約2500枚 予測精度 内装 or not 90.2%
  32. 32. 32Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 内装色判別フロー(内装色の特定1) ①内装色を縦横50%削除 25%削除 削除 削除 削除 ②50%削除画像からRGB値取得 [244,238,229], [244,238,228], [243,233,231]・・・ [233,253,233], [244,238,229], [242, 232,227]・・・ ・ ・ ・ ③RGB値に対しK-means
  33. 33. 33Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 内装色判別フロー(内装色の特定2) ④K-meansの平均RGB値算出 グループ 番号 R G B 1 0 0 0 2 225 0 3 ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ 0, 64, 64 others 160, 0, 0 red 128, 0, 32 red 128, 32, 0 brown 96, 0, 64 others 96, 64, 0 kyameru 96, 32, 32 brown 64, 0, 96 others ・・・ ・・・ 対応表 ④対応表を使ってグループの色を特定 グループ 番号 色 1 black 2 red ・・・ ・・・ グループごとの平均RGB値 1000減色させたリストに目視で色ラベルを付けた 対応表の近傍を取得 色を判断し、 その色を内装色とする。 ※順番は、含まれる数 の多い順
  34. 34. 34Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. カーセンサー:写真からの車種判別機能 事例紹介
  35. 35. 35Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 背景 近年?? 若者が車に詳しくない!! かっちょえええええ かわええええええ 名前わかんね 凄く大きな機会損失
  36. 36. 36Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 車種判別機能とは カーセンサーのアプリの機能で、 車の写真を撮ってアップすると、似た車種名と一致率のTOP5が分かる。 そして、そのままその車種の検索結果一覧へと遷移できる。
  37. 37. 37Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 車種判別フロー … … … CNNで作成した 車種判別モデル 車の写真 2674車種 ・ワゴンR ・プリウス ・フィット ・フェラーリ ・エスティマ ・ ・ ・ 2674車種の精度 68.2%
  38. 38. 38Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 学習データの作成に工夫 外装 ラベル名 画像例 内装 トランク ダッシュ ボード その他 学習枚数 約3500枚 約2000枚 約1000枚 約1000枚 約2500枚 内装判別の時に作ったモデル にカーセンサーの約37万物件 の画像を全て投入 外装と判別された約80万枚を そのまま学習に利用 結果、2674車種という、 これまでにない多種な分類でも 70%弱の精度を叩き出せた
  39. 39. 39Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 学習データの作成に工夫 更にカーセンサーの入稿画像を使ったことによるメリットとして 斜め45度/正面/横/後ろ といった多方向からの画像も 学習データとして取得できた。 結果として、ある程度はどの方向からの画像でも、車種の判別が可能となった
  40. 40. 40Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 学習データの作成に工夫 ただし「流通量が多い車種=学習画像が多い車種=精度が高い車種」 となり、掲載数の多い上位500車種では平均92.4%の精度を出すが 掲載数の少ない下位の車種では、精度が一桁を切ることもある状態。 そこで利用者に正解しているかを フードバックしてもらう機能を実装。 これで「正しい」を選んでくれたら、 その画像を追加で学習すれば良い! # 現在は、本機能が本当に正しい時に押 されるかなどを検証中。
  41. 41. 41Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. Twitterでバズりました! プレスリリースを10/26に実施。 10/26中にTwitterで「#カーセンサーチャレンジ」 というハッシュタグが作成され、最高風速で 分間4ツイートくらいされてました。(肌感) 一時、appleのトレンド検索に「ポケモンgoマップ」などと並 んで「カーセンサー」が!!! ありがたいことにたくさんの人に利用してもらえました!
  42. 42. 42Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. Twitterでバズりました! 理想 現実 合ってる! まじすげええええ! Aさん これは有能アプリですわ Bさん 神乙! Cさん ガバガバ検索wwww Aさん RX7じゃねーよ!RX8だよ! Eさん 合ってるんだからもっと自信持て よ!! Dさん 俺の愛車はNSXだったのか・・・・ Cさん うちのブルドッグはジムニーでした。流 石四駆!! Bさん 俺のイラストはレクサスに見えない ですか、そうですか Fさん
  43. 43. 43Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. Twitterでバズりました! 理想 現実 合ってる! まじすげええええ! Aさん これは有能アプリですわ Bさん 神乙! Cさん ガバガバ検索wwww Aさん RX7じゃねーよ!RX8だよ! Eさん 合ってるんだからもっと自信持て よ!! Dさん 俺の愛車はNSXだったのか・・・・ Cさん うちのブルドッグはジムニーでした。流 石四駆!! Bさん 俺のイラストはレクサスに見えない ですか、そうですか Fさん たくさん使っていただき 本当にありがとうございます! より良くなるよう、もっともっと磨きます!! でもそういえば、 車種を知らない人向けの機能として 作っていたんだよなぁ・・・(遠い目) 思いも寄らない使い方されるのって 面白い!!
  44. 44. 44Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 5 画像解析を効率良く実施する ための工夫紹介
  45. 45. 45Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 画像解析を運用として回すために 1 労力軽減 2 利用者から見た利便性向上 →CNNの課題を解決するための周辺技術を R&D的に実施して、採用する →APIを整え、容易に利用できるようにする 3 費用軽減 →複数のGPUサービスを比較検討する
  46. 46. 46Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 労力軽減のための周辺技術 1 高精度を出すために大量の学習データが必要 CNNの課題点 2 パラメータチューニングに時間がかかる 1-1) Active Learning 1-2) VATを用いた半教師有り学習 2-1) DFOを用いた自動パラメータチューニング
  47. 47. 47Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. • 1-1) Active Learning • 効率よく、学習すべきデータを選定する方法。 • 新しくラベルを付与して学習データに加えれば、最も精度の向上が望める画 像データをレコメンドする機能。 判別が苦手な画像を明示的に学習させる仕組み。 これにより、正解ラベルを付与する画像を絞り、工数が削減できる。 高精度を出すために大量のデータが必要 :ラベルを分解する境界面 境界面に近い現在のモデルが 間違えやすい画像 この画像に正解ラベルを付与し、 明示的に学習させることで 効率的にモデルの精度を高める。
  48. 48. 48Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 高精度を出すために大量のデータが必要 • 1-2) VATを用いた半教師有り学習 • 半教師有り学習:少量の教師付きデータと大量の教師なしデータを用い て、比較的高精度のモデル作成する手法。 • ICLR2016の採択論文の手法を試す。 mnist[0~9の手書きデータ]を利用し、 以下を検証。 教師有りを600枚使っただけで、 60000枚全て利用した時とほぼ同等の 精度が得られた。 学習利用枚数 誤 差 率 (%) =大量の画像全てに正解ラベルを付与しなくても良い。 →学習データの収集コストが大幅に下がることが期待できる。 ・60000万枚の画像を学習に使った精度 ・各枚数を学習に利用した時の精度 ・各枚数を教師有り、残りを教師なしと して学習した精度
  49. 49. 49Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. VATを用いた半教師有り学習 :ラベル1の正解付きデータ :ラベル2の正解付きデータ :正解ラベルのないデータ :ラベル1と2を分ける境界面 VAT[Virtual Adversarial Training]を用いた2値分類の 半教師有り学習のイメージ :予測確率分布がずれやすい方向へ データをずらす (LDS[Local Distributional smoothing]正則化) … … … このズレによる予測確率分布の差が 最小になるように、WとBを学習して モデルを構築 これにより、データの多少のブレにも 耐えうる判別モデルが作成できる。
  50. 50. 50Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. パラメータチューニングに時間がかかる • 2-1) DFO[Derivative Free Optimization]を用いたパラメータチューニング • DFO:目的関数を直接微分不可能なパラメータに対し、その値をずらして誤差率が 下がる方向へパラメータを調整して最適解を得る手法 誤差率をクロスエントロピーで求める場合、右の式となる。 ykは、W,Bから求められるため、WやBでの微分は可能。 ただし、それ以外の学習率などといったパラメータでの 微分は不可。これらのパラメータを少しずつずらし、誤差率の極小値を探索する方法。
  51. 51. 51Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. パラメータチューニングに時間がかかる • 2-1) DFO[Derivative Free Optimization]を用いたパラメータチューニング • DFO:目的関数を直接微分不可能なパラメータに対し、その値をずらして誤差率が 下がる方向へパラメータを調整して最適解を得る手法 誤差率をクロスエントロピーで求める場合、右の式となる。 ykは、W,Bから求められるため、WやBでの微分は可能。 ただし、それ以外の学習率などといったパラメータでの 微分は不可。これらのパラメータを少しずつずらし、誤差率の極小値を探索する方法。 これにより、これまではハイパーパラメータを手動で少しずつずらして 精度を目視で確認していたが、自動で最適なパラメータの探索が可能に。 チューニングを自動化して、別の作業にとりかかれるようになった。
  52. 52. 52Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 利便性向上のための仕組み作り マルチ モーダル検索 動画解析 A3RTサービス群 Analytics & Artificial Intelligence API Via RECRUIT Technologies 事業会社が利用しやすいよう「A3RT」と呼ぶAPI群を作成。 スクラッチ開発での労力を軽減し、Deep Learningを含む 機械学習ソリューションの活用の敷居を下げる。 サービス例) ・レコメンドエンジン ・文章校閲 ・文章自動生成/分類 ・画像解析 ・動画解析 ・etc
  53. 53. 53Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 費用軽減のためのGPUサービス比較検討 これまでAWSのGPUサーバーで 全て実施してきました。 が、塵積となり、もっとコスト 抑えられないかなぁと。。 これらのサービスと オンプレも含め、 性能/価格比較での 検討を実施中
  54. 54. 54Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 画像解析を効率良く実施するために 1 労力軽減 2 利用者から見た利便性向上 3 費用軽減 これらを通し、 高速/容易/安価にサービス提供し、 更なる世の中への価値提供を目指しています!
  55. 55. 55Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 6 まとめ
  56. 56. 56Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. まとめ リクルートではマッチングの最適化を目的とし、 その手段として画像解析に着手しました ご紹介させていただいたように、リクルートのサービスの裏 側で、既に画像解析は毎日動いています 周辺技術の検証/実装、利用環境整備、インフラ検討を通 し、更なる世の中への価値貢献のため、画像解析を続けて いきます 1 2 3
  57. 57. ご清聴ありがとうございました。 リクルートテクノロジーズ リクルートにおける画像解析事例紹介と 周辺技術紹介

×