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.

リクルートにおける画像解析事例紹介

82,641 views

Published on

2015/11/20 NTTデータ数理システム主催のユーザカンファレンスと、2015/11/25 WebDBフォーラム2015 技術報告セッションでの、白井の講演資料になります

Published in: Technology

リクルートにおける画像解析事例紹介

  1. 1. リクルートにおける 画像解析事例紹介 株式会社リクルートテクノロジーズ ITソリューション統括部 ビッグデータ3グループ 白井 祐典
  2. 2. 2Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 自己紹介
  3. 3. 3Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 自己紹介 氏名 白井 祐典 所属 リクルートテクノロジーズ ITソリューション統括部 ビッグデータ部 ビッグデータ3G 略歴 独立系Sierに2年半、後RTCへ転職。 中途入社3年。カーセンサー.netのHadoop施策において 要件定義/開発を3年間実施。 同時にHadoopエコシステムの検証や、 画像解析の検証/事業接続を実施。 学歴 長岡技術科学大学 経営情報システム工学専攻 趣味etc ゴルフ(ご無沙汰) 映画 将棋(振り飛車党)
  4. 4. 4Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 目次 リクルートについて1 画像解析に取り組んだ背景2 利用技術紹介(Convolutional Neural Network)3 画像解析適応事例4 今後の展望とまとめ5
  5. 5. 5Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. リクルートについて
  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. 画像解析に取り組んだ背景
  10. 10. 10Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ビッグデータの概念 Volume データ量 データの多様性 Variety Velocity データの発生頻度 ビッグデータの定義で示されるデータの多様性に注目。
  11. 11. 11Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 非構造データの活用がまだまだ  原稿情報  営業日報  議事録  位置情報  商品・店舗画像 etc 今までビッグデータGで扱う対象のデータは、 行動履歴やデモグラ情報など比較的扱いやすいデータがメイン リクルート内には数多くの 非構造データが存在。 ただ、貯めるというだけでもコスト。 これを活用して、何か価値を生み出す ことができないかと考えたのが最初
  12. 12. 12Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 画像は今どう使われている? リクルートは各事業ドメインにおいてさまざまな画像を大量に保持している。 ・この画像はなんのために用いられているのか? 各事業ドメインにおいて、商材のイメージを伝えるために存在しており、 解析の対象にはまだなっていない。 画像はカスタマに直観的に情報を与える上で最高の情報。 これを解析に利用しない手はない。
  13. 13. 13Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. TF-IDFなどで ベクトル化 テキスト情報 クラスタリング 距離計算 SVM cos類似 etc 既存の技術:テキスト解析と親和性が高そう
  14. 14. 14Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 既存の技術:テキスト解析と親和性が高そう TF-IDFなどで ベクトル化 テキスト情報 クラスタリング 距離計算 SVM cos類似 etc 画像情報 Sparse Coding Deep Learning でベクトル化 SVM cos類似 etc
  15. 15. 15Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. いざ、画像データの解析へ R-Stage Dev-Stage β-Stage 運用-Stage  技術要素調査  技術の実態を 把握する  効果的な仕組み としてプレ実装  活用方法をさら に開拓  正式にフィジビリ ティスタディとして 推進~展開をする  実運用へ Gate Review 画像はその代表として利用価値がある高いのでは?と想定 検証フェーズへ。 1年半くらいかける
  16. 16. 16Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. いざ、画像データの解析へ R-Stage Dev-Stage β-Stage 運用-Stage  技術要素調査  技術の実態を 把握する  効果的な仕組み としてプレ実装  活用方法をさら に開拓  正式にフィジビリ ティスタディとして 推進~展開をする  実運用へ Gate Review そして検証を経て、フィジビリティスタディとして 試験的導入へ。 イマココ
  17. 17. 17Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. AI領域へのチャレンジ 人の作業をシステムがサポートするという意味合いで、AI領域への挑戦でもある。 これまでのレコメンドや帳票レポート作成に加えた、作業支援へ! 完全なる作業代替はまだハードルが高いので、まずは作業支援から 利益貢献 コスト削減 レコメンデーション 帳票レポート 指標・目的  CVR最大化  CPA最適化 指標・目的  最適化  次期戦略策定 指標・目的  無駄の排除  工数削減  人はよりクリエイティブに 作業支援(AI領域)
  18. 18. 18Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 画像解析での利用技術紹介
  19. 19. 19Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.  Convolutional Neural Network (CNN)は画像解析に特化したDeep Learning [Neural Networkの拡張]の手法の一種  入力画像上でパッチ(局所画像)を滑らせ、パッチからの特徴量抽出(Convolution) と近くのパッチ同士での特徴量のまとめ上げ(Pooling)を繰り返し、最終的に得られた 特徴量をもとに画像のラベルを予測する。 メイン:Convolutional neural net P (野球) P (サッカー) P (カバディ) 繰り返し すべての特徴量 を連結し使用 Convolution層 Pooling層 ベクター Predict 画像に映っているものが何かを特定する =物体認識を実施
  20. 20. 20Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 物体認識 正解ラベル付きの画像を大量に学習し、 未知の画像に何が映っているかを特定する ベクトル化 ベクトル化 ベクトル化 ベクトル化 野球ゾーン サッカーゾーン まとめる ベクトル化 学習 予測 予測モデル サッカーゾーンに近い。 サッカーなのでは! と特定 予測モデル 未知の画像
  21. 21. 21Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ベクトル変換方法
  22. 22. 22Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 各フェーズの説明
  23. 23. 23Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. CNNの概要 ・ ・ ・画像 :パッチ (局所画像) 入力層 ・・・ ・・・ 隠れ層1 ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・ ・ ・ ・・・ ・・・ 隠れ層2 ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・ ・ ・ :重み ・ ・ ・ ・ ・ ・ ・ ・ Softmax 関数など 出力層 サッカー 確率XX% 野球 確率XX% カバディ 確率XX%
  24. 24. 24Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 画像解析のビジネス利用はCNNだけでは困難 CNN RGB値の扱い 物体認識 カラー情報操作 HOG特徴量 簡易的な物体認識 cos類似度 ベクトル距離計算 色々組み合わせながら、 ビジネス利用可能な形に持っていきました。 以降、実事例と試行錯誤の過程の紹介。
  25. 25. 25Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 画像解析事例紹介
  26. 26. 26Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 1 2 ホットペッパービューティにおける類似ネイル検索機能 ギャザリーにおける不適切画像検出機能 事例紹介
  27. 27. 27Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ホットペッパービューティにおける事例 類似ネイル検索機能 似ているネイル画像を提示する機能 類似の定義は、以下となります。 ・デザインが似ている ・色が似ている これらが似ていると推定されるネイル画像を提示 39色でのカラー検索機能 39色の中から1色を選択し、 その色が使われると思われる割合が多い順に ネイル画像を提示する機能。 本日
  28. 28. 28Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 類似ネイル検索機能の概要 HOG特徴量 + AdaBoost CNN ①爪箇所判別 ②デザイン抽出 ③カラー抽出 ④類似度計算 Aデザイン X本 Bデザイン Y本 ・・・ 白 X ピンク Y ・・・ RGB値 デザイン頻度vec カラー頻度vec cos類似 ネイル DB ネイル 画像A ネイル 画像B ネイル 画像C 検索元画像
  29. 29. 29Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ①爪箇所判別 (学習) HOG特徴量+Adaboostを利用 ① 大量の爪でない/爪の画像を用意 ② 勾配のヒストグラムを取得 爪でない 爪 HOG特徴量
  30. 30. 30Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ①爪箇所判別 (学習) HOG特徴量+Adaboostを利用 ③ 勾配ヒストグラムを使って決定木で判別モデル作成 決定木実行
  31. 31. 31Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ①爪箇所判別 (学習) HOG特徴量+Adaboostを利用 ④ 苦手な画像が見えてくる 爪1 爪2 爪3 爪4 爪1 → 爪と判別 OK! 爪2 → 爪と判別 OK! 爪3 → 爪でないと判別 NG! 爪4 → 爪と判別 OK!
  32. 32. 32Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ①爪箇所判別 (学習) HOG特徴量+Adaboostを利用 ⑤ 苦手な画像に誤差の重みを強くして再度モデル構築 決定木実行 決定木を作成するときに、爪3を間違えていたので、 爪3を間違えないように学習。 𝑦𝑖 − 𝑓(𝑥𝑖) 2 min 𝑤𝑖 𝑦𝑖 − 𝑓(𝑥𝑖) 2 min イメージ 通常の誤差 2回目の学習時 3番目だけ誤差の重みを 強くする
  33. 33. 33Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ①爪箇所判別 (学習) HOG特徴量+Adaboostを利用 ⑥ 3番目を当てやすいモデルができる 爪1 爪2 爪3 爪4 爪1 → 爪と判別 OK! 爪2 → 爪と判別 NG! 爪3 → 爪と判別 OK! 爪4 → 爪と判別 OK!
  34. 34. 34Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ①爪箇所判別 (学習) HOG特徴量+Adaboostを利用 ⑦ これを繰り返し、たくさんモデルを作る 1・2・4はOK 1・3・4はOK 2・4はOK 1・3はOK ・・・・・・ お互いがお互いを補完しあう関係のモデルが複数できあがる。
  35. 35. 35Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ①爪箇所判別 (予測) HOG特徴量+Adaboostを利用 ⑧ これらの多数決で爪かどうかを判定 1・2・4はOK 1・3・4はOK 2・4はOK 1・3はOK ・・・・・・ 爪 爪でない 80%を超える精度での 判別ができた。
  36. 36. 36Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ②デザイン抽出 CNNを利用 ① 大量のデザイン別の爪画像を用意 リボン ドットワンカラー マーブル ピーコック ハート ・・・・・・・・・・・ 20種類のネイルデザインを用意
  37. 37. 37Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ②デザイン抽出 CNNを利用 ② CNNで判別モデルを作成 ワンカラー マーブル ピーコック ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・
  38. 38. 38Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ②デザイン抽出 CNNを利用 ③ 判別モデルを用いて学習していない未知のデザインを予測 予 測 爪 抽出 ・ ・ ・ ・ ・ ・ ・・・ 出 力 マーブル3本 逆フレンチ2本 が映っていると 判定 マーブル逆フレンチ 60%を超える精度での 判別ができた。
  39. 39. 39Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ③カラー抽出 RGB値を扱う ① 色を512種類まで圧縮 例) 26色に圧縮する場合 0 0 0 0 0 0 0 0 0 0 0 0 0 72 0 0 0 0 184 161 0 0 29 0 0 0 332[ ] 各ネイル画像を512種類に圧縮したカラーヒストグラムで表現
  40. 40. 40Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. ④類似度計算 cos類似度を採用 マーブル逆フレンチ デザイン頻度ベクトル カラー頻度ベクトル cos 𝑥, 𝑦 = 𝑥 ・ 𝑦 𝑥 𝑦 cos 𝑥, 𝑦 = 𝑥 ・ 𝑦 𝑥 𝑦 両方の距離を考慮して、 一番近しいネイル画像を算出
  41. 41. 41Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. cos類似度を採用 ④類似度計算 マーブル逆フレンチ デザイン頻度ベクトル カラー頻度ベクトル cos 𝑥, 𝑦 = 𝑥 ・ 𝑦 𝑥 𝑦 cos 𝑥, 𝑦 = 𝑥 ・ 𝑦 𝑥 𝑦 両方の距離を考慮して、 一番近しいネイル画像を算出 さらっと実現しているように喋りましたが・・・ 色々な困難がありました
  42. 42. 42Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 画像解析をサービス実装するにあたって立ちふさがった壁 ① デザイン判別のためのCNN用学習データを用意 学習のためのデータがない・・・。 ② デザイン判別精度がなかなか上がらない とりあえずやってみたものの、精度が上がらない・・・。 ③ 色での類似度を取っても、爪以外の色で当たってしまう 邪魔な色が類似度計算に使われてしまう・・・。 試行錯誤の過程を紹介します
  43. 43. 43Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難① デザイン判別のための学習データを用意 爪デザイン当て 初めはクライアントが投稿するときに付与するタグを利用。 例えば、左の例では、「ドット(水玉)」が付与されている。 これを学習用のデータとして使用した結果、 驚愕の精度18%!?(ランダムでも5%の精度) そもそも、リボンも映っているし、ワンカラー(何も柄なし)も映っている。 これが「ドット」で良いのか?? 人によってデザインとして付与するタグが異なるのでは・・・・ なら、誰もが同じタグになるようにしてあげれば良い! CNN使えないじゃないか・・・ 発想を変える。
  44. 44. 44Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難① デザイン判別のための学習データを用意 ということで爪単位で学習をすることに決める :ドット :リボン :ワンカラー ただし、都合よく爪別のデザイン名が付いたデータが存在しないので、 内部でデータを作成することに・・・
  45. 45. 45Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難① デザイン判別のための学習データを用意 爪タグ付Web画面を作成し、業務の間を縫ってみんなでタグ付
  46. 46. 46Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難① デザイン判別のための学習データを用意 ただし、僕らの部署はIT系の業務をやる部署。 ネイルなんて分からない男性が多い中で、必死にネイルの知識を付ける。 :マーブル :ピーコック :プッチ 副産物として 合コンで相手の手を見て、「ダブルフレンチ か・・・」と呟く、気持ち悪い男性(私)の 出来上がり。 せんせー ピーコックとマーブルとプッチの 違いがわかりませーん! このようなやりとりを通し、まず主要メンバがネ イル判別のセミプロになり、徐々に作業メンバ もセミプロになってしまった。 約20人で合計4万枚もの爪画像に、正解タ グを振る。 結果、ある程度誰が見ても納得できる正解 データが作成できた。
  47. 47. 47Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難② デザイン判別精度が上がらない 正解データを作ったら、今度はパラメータチューニング チューニングすべきパラメータは様々なものがあります パッチサイズ パッチのスライドサイズ 抽出する特徴量数 ネットワーク構造 (ConvとPool) ネットワーク構造 (Dropout) ネットワーク構造 (活性化関数) SGDの学習のイテレーション数 SGDの学習率
  48. 48. 48Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難② デザイン判別精度が上がらない 少しずつ変えながら、最適なパラメータを探索 モデルid フォルダ名1 フォルダ名2 モデル名(iter数) 精度 メモ 1 work 1128_t nt_40_iter_10000 0.363551 full conect層に一つdropout 2 nt_40_iter_20000 0.423041 3 nt_40_iter_30000 0.391879 4 nt_40_iter_40000 0.416431 5 nt_40_iter_50000 0.418319 6 nt_40_iter_60000 0.440038 以降base lrを0.1倍 7 nt_40_iter_65000 0.453258 8 nt_40_iter_70000 0.457979 9 nt_40_iter_75000 0.456091 10 nt_40_iter_80000 0.452314 11 work 1219_t nt_40_iter_10000 0.403211 モデル1~10より各層を大きく 12 nt_40_iter_20000 0.433428 13 nt_40_iter_30000 0.422096 14 nt_40_iter_40000 0.397545 15 nt_40_iter_50000 0.416431 16 nt_40_iter_60000 0.406043 17 nt_40_iter_70000 0.434372 18 nt_40_iter_80000 0.435316 19 nt_40_iter_90000 0.418319 20 nt_40_iter_100000 0.402266 21 work 1219_t_2 nt_40_iter_10000 0.364495 モデル1~10より1層深く 22 nt_40_iter_20000 0.422096 96 work_2015 0106_dsn net_iter_10000 0.333333 モデル11のネットワークをdsnで 97 net_iter_20000 0.348442 98 net_iter_30000 0.356941 99 net_iter_40000 0.365439 100 net_nosub_iter_5000 0.386213 以降各層についているlogReg layer外す 101 net_nosub_iter_10000 0.423985 ここまで学習係数0.001 102 net_nosub_1_iter_15000 0.449481 モデル101から学習係数を0.0001に 103 net_nosub_1_iter_20000 0.455146 104 net_nosub_1_iter_25000 0.461756 105 net_nosub_1_iter_30000 0.461756 106 net_nosub_1_iter_35000 0.459868 107 net_nosub_1_iter_40000 0.464589 108 net_nosub_1_iter_45000 0.476865 109 net_nosub_2_iter_50000 0.461756 モデル108から学習係数を0.00001に 110 net_nosub_2_iter_55000 0.469311 111 net_nosub_2_iter_60000 0.467422 112 work_2015 0108_mirror_contnet_1_iter_45000 0.491974 モデル87から学習係数を0.0001に 113 net_1_iter_50000 0.499528 ★ 114 net_1_iter_55000 0.485364 115 net_1_iter_60000 0.492918 ~中略~ パラメータを色々変えて、全 100回を超える試行を実施。 締切が当然あるので、時間は 有限。 一回の学習に費やす時間は3 時間くらい。 帰り際や金曜日に設定して、 朝・月曜の朝に確認する。 時間的制約の中、どれが筋 が良いかを吟味し、 焦りつつ、地道に精度向上。
  49. 49. 49Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難② デザイン判別精度が上がらない 正解データの精査 作業していくうちに、間違えてしまうこともあ る。 これが頻出すると、当然精度が下が るので、改めて確認。 1ラベルの中身が多様すぎるパターン これを別のカテゴリとして切り出す。 1カテゴリが明確になり、精度が出やすくなる。
  50. 50. 50Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難③ 色類似の精度が上がらない 爪判別して、残った画像から色を抽出するも課題が山積み ① 肌色が邪魔 爪箇所を取っても、 肌色が多く残ってしまう カラーヒストグラムを取ると 全体的に肌色が多くなる。 肌色と肌色がマッチし、 うまく類似できない。 肌色のカラービン番号を 定義することに。
  51. 51. 51Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難③ 色類似の精度が上がらない 肌色といっても、どこからどこまでが肌色か 同じように見えて、厳密には上はすべて違う色です 1000種類に減色した中で、ビン番号ごとに肌色リストに追加。 結果を確認しながら、最適な肌色リストを作成。 結果、誰にも理解されない謎のリストが出来上がる。 とても地道な作業だったが、これによって、ネイルを施した箇所の色が似たネイルの 検索が実現できた。
  52. 52. 52Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 困難③ 色類似の精度が上がらない ② 背景が邪魔 爪は、処理上四角形で取得しているので、 背景が映りこんでしまう。 例えば左のネイルなら、白や黒がヒットし、右のネイルなら、青がヒットしてしまう。 爪判別箇所と、爪でないと判別した箇所の差分を取って、背景色を断定して対応。 爪 抽 出 爪でない、残った場所に「黒」がかなりの面積を占める。 → 黒を背景と断定。 類似検索時に、黒を使わない。
  53. 53. 53Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 類似ネイル検索機能の概要 HOG特徴量 + AdaBoost CNN ①爪箇所判別 ②デザイン抽出 ③カラー抽出 ④類似度計算 Aデザイン X本 Bデザイン Y本 ・・・ 白 X ピンク Y ・・・ RGB値 デザイン頻度vec カラー頻度vec cos類似 ネイル DB ネイル 画像A ネイル 画像B ネイル 画像C 検索元画像 このような地道な作業を通し、 やーっとビジネスに耐えられる仕組みが完成!!
  54. 54. 54Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 1 2 ホットペッパービューティにおける類似ネイル検索機能 ギャザリーにおける不適切画像検出機能 事例紹介
  55. 55. 55Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. woman_naked woman sexual man_portrait man safe woman_under ware woman safe woman_norm al woman safe man_sumou man safe man_underwa re man safe image_wound other grotesque image_wound other grotesque plant_flower view safe 画像が不適切(アダルト/グロテスク)でないかを判別する機能。 判別結果例
  56. 56. 56Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 当初の判別方法は、ざっくりと3つのカテゴリ判別を実施。 しかし、あまり精度が出ず。 最初はあまり精度が出なかった 正常 グロテスク アダルト
  57. 57. 57Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 最適なカテゴリ分けが重要 やったこと:最適なカテゴリ分け 正常 男性 お相撲さん グロテスク 出血 遺体 普通に考えると、カテゴリ数が増えるほど精度は下がりそう。 例えば、正常/グロテスク/アダルトなら、ランダムでも33.33%出る。 細かくすればするほど、ランダムでの精度が下がる。(=予測精度も下がりそう。) しかし、CNNにおいては、適切なカテゴリを増やすと全体精度が上がる。
  58. 58. 58Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. チューニング方法 傷口 遺体 派手な出血 NG例 「グロテスク」 画像 特徴 カテゴリ 肌色と赤が多い 人が横たわる 赤が飛び飛び 「グロテスク」 判別結果 カテゴリ内の特徴が分散する。 結果、最終的な精度が低い
  59. 59. 59Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. チューニング方法 傷口 遺体 派手な出血 「傷口」 画像 特徴 カテゴリ 肌色と赤が多い 人が横たわる 赤が飛び飛び 「グロテスク」 判別結果 カテゴリ内の特徴が明確に 最終的な精度が上がる 「遺体」 「出血」 OK例
  60. 60. 60Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 最適なカテゴリを設定する方法 ① 目視で、画像にまとまりがあるかを確認。 誤判別した画像を詳細に見ていくと、スイカが「グロテスク」と判別されやすかった。 ⇒ スイカは赤が多く、傷口などの画像に近い特徴を持つ。 そこで、スイカを一つのカテゴリとして、同様の枚数の学習を実施。 これにより、スイカの誤判別が減り、結果として全体の精度が向上しました。 他にも、どういう画像が間違えやすいかを人力で確認しながら、カテゴリを増やして精度向上していく。 ② 誤判別している画像を発見する。
  61. 61. 61Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 継続的なモデルチューニング • 追加すべきラベル付きデータを人力で抽出するのは手間がかかる。 • そこでActiveLearningという手法を実装。 • Active Learning • 効率よく、ラベル付すべきデータを選ぶ方法 • 新しくラベルを付与して学習データに加えれば、最も精度の向上が望める画 像データをレコメンドする機能。 ギリギリ間違えてしまった画像を自動で選出するための仕組み
  62. 62. 62Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 継続的なモデルチューニング
  63. 63. 63Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 今後の展望とまとめ
  64. 64. 64Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. リクルートの画像解析サービスを共通化するシステムを作りたい (イメージパラダイス:イメパラ) 今後の展望 事業A 事業B 事業C 事業D APIコール 決まった形の結果が返ってくる Image Analyze as a Service APIの引数が○○ なら、類似。 △△ なら、不適切検出。 新機能を追加しながら、共通で使えるように整備
  65. 65. 65Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. マルチモーダル学習に向けて テキストデータの特徴量と画像の特徴量を学習させて、対象画像に会う テキスト文を推定・生成したり、その逆を行う予定。
  66. 66. 66Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. 複数のものを判別 Selective Searchを用いて写真のどの場所にどんなものが映っているかを 推定できるようになる。
  67. 67. 67Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. まとめ
  68. 68. 68Copyright © Recruit Technologies Co., Ltd. All Rights Reserved. まとめ CNNだけでなく、画像を扱う技術を色々と利用し、 サービス実装することができた。 CNNでのサービスをAPI化し、共通化システム(イメージ パラダイス)を作っていきたい。 イメパラに乗せられる新ロジックを積極的に試し、 ラインナップを増やして、横展開を見据えていく。 1 2 3
  69. 69. ご清聴ありがとうございました。 リクルートテクノロジーズ

×