More Related Content
Similar to リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル (20)
More from Recruit Technologies (12)
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
- 3. 3Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
自己紹介
氏名 白井 祐典
所属 リクルートテクノロジーズ ITソリューション統括部
ビッグデータ部 ビッグデータプロダクト開発G
略歴 独立系Sierに2年半、後R-TECHへ転職。
中途入社5年目。カーセンサー.netのHadoop施策において
要件定義/開発を3年間実施。
同時にHadoopエコシステムの検証や、画像解析の検証/事業接続を
実施。現在は画像解析の推進担当。
学歴 長岡技術科学大学 経営情報システム工学専攻
趣味etc ゴルフ
今更の24
ジム
- 4. 4Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
目次
1 リクルートについて
2 AI/機械学習API群”A3RT”の紹介
3 画像解析に取り組んだ背景/技術/事例紹介
4 画像解析の苦労ポイントと解決方法
5 まとめ
- 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. 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. 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. 9Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ビッグデータ部で扱うデータ
事業のトランザクションや
マスタデータを用いた解析
※ 主にオンプレ
非構造データを用いた
Deep Learningなどの解析
※ 主にパブリッククラウド
- 11. 11Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
A3RTとは
ANALYTICS & ARTIFICIAL INTELLIGENCE API
VIA RECRUIT TECHNOLOGIES の略
リクルートテクノロジーズでは社内での機械学習並びにDeep
Learningなどに代表されるAI系ロジックを同一ブランドで
統一・整備をし、社内に展開している。
- 13. 13Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
A3RTサービスリスト(一部)
レコメンド
バナー
ターゲティング
OCR
画像解析
原稿サジェスト
文章校閲
文章要約
文章分類
音声テキスト化
屋内位置測位
- 14. 14Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
A3RTサービスリスト(一部)
レコメンド
バナー
ターゲティング
OCR
画像解析
原稿サジェスト
文章校閲
文章要約
文章分類
音声テキスト化
屋内位置測位
多様なデータ活用ソリューション群
- 15. 15Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Q:なぜA3RTを作ったのか?
A:大きく二つの理由から
【BD部外的要因】
ビジネスサイドからのデータ活用のアイディア拡大
【BD部内的要因】
R&D観点でのフィジビリスタディにおける実績作成により、
横展開のことを考える必要性増加
- 16. 16Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
[外的要因]ビジネスサイドの活用アイディア促進
レコメンデーション
営業支援
競合分析
これまでの
データ活用の主戦場
レコメンド・営業支援/競合分析などで実績を作った結果、
ビジネスサイド発信でのデータの更なる利用ニーズや、多様な活用ア
イディアが生まれるように。
リボンモデル
- 17. 17Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Volume
データ量
データの多様性
Variety
Velocity
データの発生頻度
ビッグデータの定義で示されるデータの多様性に注目。
[内的要因]非構造データの活用に着目
- 18. 18Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
[内的要因]非構造データの活用に着目
原稿情報
営業日報
議事録
位置情報
商品・店舗画像
etc
今までビッグデータ部で扱う対象のデータは、
行動履歴やデモグラ情報など比較的扱いやすいデータがメイン
リクルート内には数多くの
非構造データが存在。
ただ、貯めるというだけでもコスト。
これを活用して、マッチングモデルの最適化と
いう価値を生み出せないか?
- 19. 19Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リクルートは各事業において様々な非構造データを大量に保持している。
これら非構造データは、どう扱われているか?
例えば、
商品紹介のテキスト/画像は、商材の説明のために存在している。
日報/議事録は、戦略/状況を記録するために散在している。
まだ解析の対象にはなっていなかった。
これらを解析に利用すれば、マッチングを更に高精度化できるはず!
テキスト/画像/音声などといった、非構造データの解析を
R&Dとして着手。技術検証から事業とのフィジビリ実施。
[内的要因]非構造データの活用に着目
- 20. 20Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
R&D実施の中での気づき
フルスクラッチ開発
Good
- 最適な機能が作れる。
Bad
- どうしても時間・コストがかかる
- 全てのケースに対応できない
外部のAPI群
• 一部は活用すべきだが、リクルートグ
ループでの活用にそのまま使える機能
が不足
以下の特徴を持たせた独自API群を作成
【リクルートに特化した機能】
【低コスト・高スピード導入】
【最新技術】
【付加価値】
リクルートグループにおいて機械学習によるソリューション活用の敷居はまだまだ高く、
活用をスピードアップ・拡大するためには設計~開発~運用に工数が多くかかっていた。
データ活用・ロジック作成に気を取られ、ビジネス活用まで考えがいたらない状況。
- 21. 21Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
API化による効率化
リクルート内サービス
モデル化
API
API
API
モデル・技術共有
コール
再学習
横断で支援する機能会社の利点を生かし、
1事業で実施したモデルを横展開して開発。
- 22. 22Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
A3RTサービス紹介
レコメンド
バナー
ターゲティング
OCR
画像解析
原稿サジェスト
文章校閲
文章要約
文章分類
音声テキスト化
屋内位置測位
概要のみ
概要のみ
後ほど
詳しめに
- 23. 23Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Neon-原稿からテキストの自動生成
リクルートが保持している原稿をDeepLearning(DeepLSTM)を
使って学習し、原稿を生成するシステム。
原稿を書いている時に書き方がわからない、次に何を書けばいいか詰
まってしまった、という場合など人の思考補助を行う意味合いでの利
用を想定。
サンプル原稿の
自動作成機能
原稿作成中の
サジェスト機能
1
2
過去数年分の事業のクライアント原稿をインプットとしてモデ
ルを作り、例えば職種やエリアを指定して送ればそれにあうベ
ストな原稿を自動で生成して返してくれる機能
原稿作成時にフォーム上に入力した文字列をAjax通信で送ると次の一
語/フレーズ/文章を推薦してくれるサジェスト機能
- 25. 25Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ArGON-ルールベースと機械学習での校閲支援
リクルートにおける「原稿」は商品そのもの。これに間違いがあると大きな
機械損失となる。
ルールベースによる校閲機能だけでなく、ルールのカスタマイズや最新の機
械学習技術も実装しているため、使えば使うほど賢く校閲を実施できる。
ルール
ベースによる
校閲機能
機械学習
による
校閲機能
ルール
カスタマイズ
機能
原稿の中の、誤字
脱字、NGワードな
どを自動で検出
大量の原稿全てに対するチェック
を自動化
• 入稿者、校閲者の負担軽減/コスト削減
• 本当に人間の目が必要となるところに
パワーを割くことが可能に
汎用性の高い校閲ルール
例)
・住所の間違い判定
・郵便番号の存在チェック
・電話番号の桁数チェック
・NGワードの検出
ルールベースで実現出来な
い部分を補う機械学習
例)
・誤字脱字の検出
・差別表現の判定
・NGとなりそうなワードの組み合わせ
サジェスト
管理画面から独自のルール登
録が可能
誰でも簡単に
ルールを追加
- 27. 27Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
テキスト解析のロジック
誤字脱字検知のロジック
- Gated Recurrent UnitsというDeep Learning技術を使用
- Residual Learningの要素を取り入れる。
作成:過去の原稿から、次に来る単語/文章を予測してサジェストする。
校閲:正しい文章を大量に学習させ、異常検知的に誤字脱字を検出する。
- 28. 28Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
API化でデータ活用の出口をどんどん拡大中
レコメンデーション
営業支援
競合分析
記事作成支援
原稿校閲
入稿自動精査
音声
テキスト化
テキスト
自動分類
画像レコメンド
画像から検索
- 31. 31Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
背景
リクルートは各事業ドメインにおいてさまざまな画像を大量に保持している。
・この画像はなんのために用いられているのか?
各事業ドメインにおいて、商材のイメージを伝えるために存在しており、
解析の対象にはまだなっていない。
画像はカスタマに直観的に情報を与える上で最高の情報。
これを解析に使わない手はない!!
- 32. 32Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Convolutional Neural Network (CNN)は画像解析に特化したDeep Learning
の手法の一種
入力画像上でパッチ(局所画像)を滑らせ、パッチからの特徴量抽出(Convolution)
と近くのパッチ同士での特徴量のまとめ上げ(Pooling)を繰り返し、最終的に得られた
特徴量をもとに画像のラベルを予測する。
Convolutional Neural Network
P (野球)
P (サッカー)
P (カバディ)
繰り返し
すべての特徴量
を連結し使用
Convolution層 Pooling層 ベクター Predict
画像に映っているものが何かを特定する
=物体認識を実施
- 33. 33Copyright © 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
+
残したいエッジや色などの特徴を抽出する処理
- 34. 34Copyright © 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
微小な変化に対してロバストな特徴を与える処理
- 36. 36Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
画像ベクトルを用いた物体認識
正解ラベル付きの画像を大量に学習し、
未知の画像に何が映っているかを特定する
ベクトル化
ベクトル化
ベクトル化
ベクトル化
野球ゾーン
サッカーゾーン
まとめる
ベクトル化
学習 予測
予測モデル
サッカーゾーンに近い。
サッカーなのでは! と特定
予測モデル
未知の画像
- 37. 37Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
事例紹介
1 ホットペッパービューティの類似ネイル検索
2 カーセンサーの写真から車種判別
- 39. 39Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ホットペッパービューティの類似ネイル検索
類似ネイル検索機能
似ているネイル画像を提示する機能
類似の定義は、以下となります。
・デザインが似ている
・色が似ている
カスタマの回遊率向上などを目的に開発。
- 40. 40Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
類似ネイル検索機能の概要
HOG特徴量
+
AdaBoost
CNN
①爪箇所判別 ②デザイン抽出 ③カラー抽出 ④類似度計算
Aデザイン X本
Bデザイン Y本
・・・
白 X
ピンク Y
・・・
RGB値
デザイン頻度vec カラー頻度vec
cos類似
ネイル
DB
ネイル
画像A
ネイル
画像B
ネイル
画像C
検索元画像
- 41. 41Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
①爪箇所判別
HOG特徴量+Adaboostを利用
① 大量の爪でない/爪の画像を用意 ② 勾配のヒストグラムを取得
爪でない
爪
③ 勾配ヒストグラムを使って決定木で判別モデル作成
- 42. 42Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
②デザイン抽出
CNNを利用
① 大量のデザイン別の爪画像を用意
リボン ドットワンカラー
マーブル ピーコック ハート
・・・・・・・・・・・ 20種類のネイルデザインを用意
- 43. 43Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
②デザイン抽出
CNNを利用
② CNNで判別モデルを作成
ワンカラー
マーブル
ピーコック
・
・
・
・
・
・
・
・
・
・
・・・
- 44. 44Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
②デザイン抽出
CNNを利用
③ 判別モデルを用いて、学習していない未知のネイルに映るデザインを判別
予
測
爪
抽出
・
・
・
・
・
・
・・・
出
力
マーブル3本
逆フレンチ2本
が映って
いると判定
マーブル逆フレンチ
- 45. 45Copyright © 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種類に圧縮したカラーヒストグラムで表現
- 46. 46Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
④類似度計算
cos類似度を採用
マーブル逆フレンチ
デザイン頻度ベクトル
カラー頻度ベクトル
両方の距離を考慮して、
一番近しいネイル画像を算出
cos(x, y) =
→ →
x
→
| | y
→
| |
______x
→
| | y
→
| |・
cos(x, y) =
→ →
x
→
| | y
→
| |
______x
→
| | y
→
| |・
- 47. 47Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
類似ネイル検索機能の概要
HOG特徴量
+
AdaBoost
CNN
①爪箇所判別 ②デザイン抽出 ③カラー抽出 ④類似度計算
Aデザイン X本
Bデザイン Y本
・・・
白 X
ピンク Y
・・・
RGB値
デザイン頻度vec カラー頻度vec
cos類似
ネイル
DB
ネイル
画像A
ネイル
画像B
ネイル
画像C
検索元画像
- 49. 49Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
背景
近年?? 若者が車に詳しくない!!
かっちょえええええ
かわええええええ
名前わかんね
凄く大きな機会損失
- 50. 50Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
車種判別機能とは
カーセンサーのアプリの機能で、
車の写真を撮ってアップすると、似た車種名と一致率のTOP5が分かる。
そして、そのままその車種の検索結果一覧へと遷移できる。
- 51. 51Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
車種判別フロー
…
…
…
CNNで作成した
車種判別モデル
車の写真
2674車種
・ワゴンR
・プリウス
・フィット
・フェラーリ
・エスティマ
・
・
・
2674車種の精度
68.2%
- 52. 52Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
学習データの作成に工夫
外装
ラベル名 画像例
内装
トランク
ダッシュ
ボード
その他
学習枚数
約3500枚
約2000枚
約1000枚
約1000枚
約2500枚
カーセンサーの物件画像を
内装/外装/トランク/ダッシュボード
/その他に分類するモデルを作成。
これにカーセンサーの約37万物件
の画像を全て投入
外装と判別された約80万枚を
そのまま学習に利用
結果、2674車種という、
これまでにない多種な分類でも
70%弱の精度を叩き出せた
- 53. 53Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
学習データの作成に工夫
更にカーセンサーの入稿画像を使ったことによるメリットとして
斜め45度/正面/横/後ろ といった多方向からの画像も
学習データとして取得できた。
結果として、ある程度はどの方向からの画像でも、車種の判別が可能となった
- 54. 54Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
学習データの作成に工夫
ただし「流通量が多い車種=学習画像が多い車種=精度が高い車種」
となり、掲載数の多い上位500車種では平均92.4%の精度を出すが
掲載数の少ない下位の車種では、精度が一桁を切ることもある状態。
そこで利用者に正解しているかを
フードバックしてもらう機能を実装。
これで「正しい」を選んでくれたら、
その画像を追加で学習すれば良い!
# 現在は、本機能が本当に正しい時に押
されるかなどを検証中。
- 55. 55Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Twitterでバズりました!
プレスリリースを10/26に実施。
10/26中にTwitterで「#カーセンサーチャレンジ」
というハッシュタグが作成され、最高風速で
分間4ツイートくらいされてました。(肌感)
一時、appleのトレンド検索に「ポケモンgoマップ」などと並
んで「カーセンサー」が!!!
ありがたいことにたくさんの人に利用してもらえました!
- 57. 57Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
2ヶ月前
モデル作成
3週間
2年前
モデル作成
3ヶ月
紹介した案件はモデル作成時間が大きく違う
2年という歳月におけるノウハウの蓄積の差もあるものの
CNNでのモデル構築を効率的にする周辺技術の存在が大きい
ネイルでの学びから、周辺技術を作成していきました。
- 58. 58Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ネイル時に立ちふさがった大きな壁
①判別モデルを作りたいけど都合良く
学習データがない・・・
②学習始めたけどパラメータが
多すぎて最適解がわからん・・・
- 59. 59Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
困難① 学習データがない
爪デザイン当て 初めはクライアントが入稿するときに付与するタグを利用。
例えば、左の例では、「ドット(水玉)」が付与。
これを学習用のデータとして使用した結果、
驚愕の精度18%!?(ランダムでも5%の精度)
そもそも、リボンも映っているし、ワンカラー(何も柄なし)も映っている。
これが「ドット」で良いのか??
人によってデザインとして付与するタグが異なるのでは・・・・
なら、誰もが同じタグになるようにしてあげれば良い!
CNN使えないじゃないか・・・
発想を変える。
- 60. 60Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ということで爪単位で学習をすることに決める
:ドット :リボン :ワンカラー
ただし、都合よく爪別のデザイン名が付いたデータが存在しないので、
内部でデータを作成することに・・・
困難① 学習データがない
- 61. 61Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
爪タグ付Web画面を作成し、業務の間を縫ってみんなでタグ付
困難① 学習データがない
- 62. 62Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ただし、僕らの部署はIT系の業務をやる部署。
ネイルなんて分からない男性が多い中、必死にネイルの知識を付ける。
:マーブル
:ピーコック
:プッチ
副産物として
合コンで相手の手を見て、「ダブルフレンチ
か・・・」と呟く、気持ち悪い男性(私)の
出来上がり。
せんせー
ピーコックとマーブルとプッチの
違いがわかりませーん!
このようなやりとりを通し、まず主要メンバがネイル
判別のセミプロになり、徐々に作業メンバもセミプ
ロになってしまった。
約20人で合計4万枚もの爪画像に、正解タグを
振る。
結果、ある程度誰が見ても納得できる正解データ
が作成できた。
困難① 学習データがない
- 63. 63Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ただし、僕らの部署はIT系の業務をやる部署。
ネイルなんて分からない男性が多い中、必死にネイルの知識を付ける。
:マーブル
:ピーコック
:プッチ
副産物として
合コンで相手の手を見て、「ダブルフレンチ
か・・・」と呟く、気持ち悪い男性(私)の
出来上がり。
せんせー
ピーコックとマーブルとプッチの
違いがわかりませーん!
このようなやりとりを通し、まず主要メンバがネイル
判別のセミプロになり、徐々に作業メンバもセミプ
ロになってしまった。
約20人で合計4万枚もの爪画像に、正解タグを
振る。
結果、ある程度誰が見ても納得できる正解データ
が作成できた。
①判別モデルを作りたいけど都合良く
学習データがない・・・
「=収集コストがかかりすぎる。」
困難① 学習データがない
- 64. 64Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
VATを用いた半教師有り学習
• VATを用いた半教師有り学習
• 半教師有り学習:少量の教師付きデータと大量の教師なしデータを用い
て、比較的高精度のモデル作成する手法。
• ICLR2016の採択論文の手法を試す。
mnist[0~9の手書きデータ]を利用し、
以下を検証。
教師有りを600枚使っただけで、
60000枚全て利用した時とほぼ同等の
精度が得られた。
学習利用枚数
誤
差
率
(%)
=大量の画像全てに正解ラベルを付与しなくても良い。
→学習データの収集コストが大幅に下がることが期待できる。
・60000万枚の画像を学習に使った精度
・各枚数を学習に利用した時の精度
・各枚数を教師有り、残りを教師なしと
して学習した精度
- 65. 65Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
VATを用いた半教師有り学習
:ラベル1の正解付きデータ
:ラベル2の正解付きデータ
:正解ラベルのないデータ
:ラベル1と2を分ける境界面
VAT[Virtual Adversarial Training]を用いた2値分類の
半教師有り学習のイメージ
:予測確率分布がずれやすい方向へ
データをずらす
(LDS[Local Distributional smoothing]正則化)
…
…
…
このズレによる予測確率分布の差が
最小になるように、WとBを学習して
モデルを構築
これにより、データの多少のブレにも
耐えうる判別モデルが作成できる。
- 66. 66Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
困難② パラメータが多すぎる
正解データを作ったら、今度はパラメータチューニング
チューニングすべきパラメータは様々なものがあります
パッチサイズ
パッチのスライドサイズ
抽出する特徴量数
ネットワーク構造
(ConvとPool)
ネットワーク構造
(Dropout)
ネットワーク構造
(活性化関数)
SGDの学習のイテレーション数
SGDの学習率
- 67. 67Copyright © 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
時間くらい。
帰り際や金曜日に設定して、
朝・月曜の朝に確認する。
時間的制約の中、どれが筋が
良いかを吟味し、
焦りつつ、地道に精度向上。
- 68. 68Copyright © 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
時間くらい。
帰り際や金曜日に設定して、
朝・月曜の朝に確認する。
時間的制約の中、どれが筋が
良いかを吟味し、
焦りつつ、地道に精度向上。
②学習始めたけどパラメータが
多すぎて最適解がわからん・・・
「=時間がかかりすぎる」
- 69. 69Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
DFOを用いた自動パラメータチューニング
• 2-1) DFO[Derivative Free Optimization]を用いたパラメータチューニング
• DFO:目的関数を直接微分不可能なパラメータに対し、その値をずらして誤差率が
下がる方向へパラメータを調整して最適解を得る手法
誤差率をクロスエントロピーで求める場合、右の式となる。
ykは、W,Bから求められるため、WやBでの微分は可能。
ただし、それ以外の学習率などといったパラメータでの
微分は不可。これらのパラメータを少しずつずらし、誤差率の極小値を探索する方法。
- 70. 70Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
• 2-1) DFO[Derivative Free Optimization]を用いたパラメータチューニング
• DFO:目的関数を直接微分不可能なパラメータに対し、その値をずらして誤差率が
下がる方向へパラメータを調整して最適解を得る手法
誤差率をクロスエントロピーで求める場合、右の式となる。
ykは、W,Bから求められるため、WやBでの微分は可能。
ただし、それ以外の学習率などといったパラメータでの
微分は不可。これらのパラメータを少しずつずらし、誤差率の極小値を探索する方法。
これにより、これまではハイパーパラメータを手動で少しずつずらして
精度を目視で確認していたが、自動で最適なパラメータの探索が可能に。
チューニングを自動化して、別の作業にとりかかれるようになった。
DFOを用いた自動パラメータチューニング
- 71. 71Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
コスト・工数を大幅に下げ、展開の障害を撃破
コスト・納品までの時間は
横展開の大きな障害となるため
これを排除して、事業への
導入の難易度低下と速度向上
を実現する技術を貪欲に検証/実装
これにより、様々なニーズに対し
速度感を落とすことなく、
色んな案件に取り組める状態と
なりました。
- 73. 73Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
まとめ
リクルートではデータの利活用を進めた結果、これまでとは
異なるシーンでの利用ニーズや多様なデータソースの利活
用事例が増加した
この様々なニーズ・多様なデータソースに対し、 素早く・安
く・最適にソリューションを提供するため、A3RTというAPI
群を整えている
1
2
3
実施中に得た課題を潰して横展開の難易度を下げ、AI/
ディープラーニングの利活用を促進して、 世の中への
更なる貢献に邁進する所存です