リクルートテクノロジーズが語る...

74
リクルートテクノロジーズが語る 企業における、 「AI/ディープラーニング」活用のリアル 株式会社リクルートテクノロジーズ ITソリューション統括部 ビッグデータプロダクト開発G 白井 祐典

Transcript of リクルートテクノロジーズが語る...

リクルートテクノロジーズが語る企業における、「AI/ディープラーニング」活用のリアル

株式会社リクルートテクノロジーズITソリューション統括部 ビッグデータプロダクト開発G

白井 祐典

2Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

自己紹介

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

自己紹介

氏名 白井 祐典

所属 リクルートテクノロジーズ ITソリューション統括部ビッグデータ部 ビッグデータプロダクト開発G

略歴 独立系Sierに2年半、後R-TECHへ転職。中途入社5年目。カーセンサー.netのHadoop施策において要件定義/開発を3年間実施。同時にHadoopエコシステムの検証や、画像解析の検証/事業接続を実施。現在は画像解析の推進担当。

学歴 長岡技術科学大学 経営情報システム工学専攻

趣味etc ゴルフ今更の24ジム

4Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

目次

1 リクルートについて

2 AI/機械学習API群”A3RT”の紹介

3 画像解析に取り組んだ背景/技術/事例紹介

4 画像解析の苦労ポイントと解決方法

5 まとめ

5Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

1 リクルートについて

6Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

リクルートのビジネスモデル

様々なドメインでマッチングモデルに基づいたビジネスを展開

Matching Business

HR

Bridal

GroupBuying

UsedCars

TravelReal

Estate

Beauty Gourmet

Social Games

E-Commerce

Ad Network

New Business

Consumers Enterprise

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

8Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

InfrastructureLarge project promotions

UI design/SEOBig 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

9Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ビッグデータ部で扱うデータ

事業のトランザクションや

マスタデータを用いた解析

※ 主にオンプレ

非構造データを用いた

Deep Learningなどの解析

※ 主にパブリッククラウド

10Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

2 AI/機械学習API群”A3RT”のご紹介

11Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

A3RTとは

ANALYTICS & ARTIFICIAL INTELLIGENCE API

VIA RECRUIT TECHNOLOGIES の略

リクルートテクノロジーズでは社内での機械学習並びにDeep

Learningなどに代表されるAI系ロジックを同一ブランドで

統一・整備をし、社内に展開している。

12Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

A3RTデモムービー

13Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

A3RTサービスリスト(一部)

レコメンド

バナー

ターゲティング

OCR

画像解析

原稿サジェスト

文章校閲

文章要約

文章分類

音声テキスト化

屋内位置測位

14Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

A3RTサービスリスト(一部)

レコメンド

バナー

ターゲティング

OCR

画像解析

原稿サジェスト

文章校閲

文章要約

文章分類

音声テキスト化

屋内位置測位

多様なデータ活用ソリューション群

15Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

Q:なぜA3RTを作ったのか?

A:大きく二つの理由から

【BD部外的要因】

ビジネスサイドからのデータ活用のアイディア拡大

【BD部内的要因】

R&D観点でのフィジビリスタディにおける実績作成により、

横展開のことを考える必要性増加

16Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

[外的要因]ビジネスサイドの活用アイディア促進

レコメンデーション

営業支援

競合分析

これまでの

データ活用の主戦場

レコメンド・営業支援/競合分析などで実績を作った結果、

ビジネスサイド発信でのデータの更なる利用ニーズや、多様な活用アイディアが生まれるように。

リボンモデル

17Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

Volumeデータ量

データの多様性Variety

Velocityデータの発生頻度

ビッグデータの定義で示されるデータの多様性に注目。

[内的要因]非構造データの活用に着目

18Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

[内的要因]非構造データの活用に着目

原稿情報 営業日報 議事録 位置情報 商品・店舗画像

etc

今までビッグデータ部で扱う対象のデータは、

行動履歴やデモグラ情報など比較的扱いやすいデータがメイン

リクルート内には数多くの

非構造データが存在。

ただ、貯めるというだけでもコスト。

これを活用して、マッチングモデルの最適化という価値を生み出せないか?

19Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

リクルートは各事業において様々な非構造データを大量に保持している。

これら非構造データは、どう扱われているか?

例えば、商品紹介のテキスト/画像は、商材の説明のために存在している。日報/議事録は、戦略/状況を記録するために散在している。まだ解析の対象にはなっていなかった。

これらを解析に利用すれば、マッチングを更に高精度化できるはず!

テキスト/画像/音声などといった、非構造データの解析を

R&Dとして着手。技術検証から事業とのフィジビリ実施。

[内的要因]非構造データの活用に着目

20Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

R&D実施の中での気づき

フルスクラッチ開発

Good

- 最適な機能が作れる。

Bad

- どうしても時間・コストがかかる

- 全てのケースに対応できない

外部のAPI群

• 一部は活用すべきだが、リクルートグループでの活用にそのまま使える機能が不足

以下の特徴を持たせた独自API群を作成

【リクルートに特化した機能】

【低コスト・高スピード導入】

【最新技術】

【付加価値】

リクルートグループにおいて機械学習によるソリューション活用の敷居はまだまだ高く、

活用をスピードアップ・拡大するためには設計~開発~運用に工数が多くかかっていた。

データ活用・ロジック作成に気を取られ、ビジネス活用まで考えがいたらない状況。

21Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

API化による効率化

リクルート内サービス

モデル化

API

API

API

モデル・技術共有

コール

再学習

横断で支援する機能会社の利点を生かし、

1事業で実施したモデルを横展開して開発。

22Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

A3RTサービス紹介

レコメンド

バナー

ターゲティング

OCR

画像解析

原稿サジェスト

文章校閲

文章要約

文章分類

音声テキスト化

屋内位置測位

概要のみ

概要のみ

後ほど

詳しめに

23Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

Neon-原稿からテキストの自動生成

リクルートが保持している原稿をDeepLearning(DeepLSTM)を使って学習し、原稿を生成するシステム。

原稿を書いている時に書き方がわからない、次に何を書けばいいか詰まってしまった、という場合など人の思考補助を行う意味合いでの利用を想定。

サンプル原稿の自動作成機能

原稿作成中のサジェスト機能

1

2

過去数年分の事業のクライアント原稿をインプットとしてモデルを作り、例えば職種やエリアを指定して送ればそれにあうベストな原稿を自動で生成して返してくれる機能

原稿作成時にフォーム上に入力した文字列をAjax通信で送ると次の一語/フレーズ/文章を推薦してくれるサジェスト機能

24Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

neonデモ

25Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ArGON-ルールベースと機械学習での校閲支援

リクルートにおける「原稿」は商品そのもの。これに間違いがあると大きな

機械損失となる。

ルールベースによる校閲機能だけでなく、ルールのカスタマイズや最新の機

械学習技術も実装しているため、使えば使うほど賢く校閲を実施できる。

ルールベースによる校閲機能

機械学習による校閲機能

ルールカスタマイズ

機能

原稿の中の、誤字脱字、NGワードなどを自動で検出

大量の原稿全てに対するチェックを自動化

• 入稿者、校閲者の負担軽減/コスト削減• 本当に人間の目が必要となるところに

パワーを割くことが可能に

汎用性の高い校閲ルール例)・住所の間違い判定・郵便番号の存在チェック・電話番号の桁数チェック・NGワードの検出

ルールベースで実現出来ない部分を補う機械学習例)・誤字脱字の検出・差別表現の判定・NGとなりそうなワードの組み合わせサジェスト

管理画面から独自のルール登録が可能

誰でも簡単にルールを追加

26Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ArGonのデモ

27Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

テキスト解析のロジック

誤字脱字検知のロジック

- Gated Recurrent UnitsというDeep Learning技術を使用

- Residual Learningの要素を取り入れる。

作成:過去の原稿から、次に来る単語/文章を予測してサジェストする。校閲:正しい文章を大量に学習させ、異常検知的に誤字脱字を検出する。

28Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

API化でデータ活用の出口をどんどん拡大中

レコメンデーション

営業支援

競合分析

記事作成支援

原稿校閲

入稿自動精査

音声

テキスト化

テキスト

自動分類

画像レコメンド

画像から検索

29Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

3 画像解析に取り組んだ背景/技術/事例紹介

30Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

画像解析のお話

背景と基本技術紹介

31Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

背景

リクルートは各事業ドメインにおいてさまざまな画像を大量に保持している。

・この画像はなんのために用いられているのか?

各事業ドメインにおいて、商材のイメージを伝えるために存在しており、解析の対象にはまだなっていない。画像はカスタマに直観的に情報を与える上で最高の情報。これを解析に使わない手はない!!

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

画像に映っているものが何かを特定する

=物体認識を実施

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

+

残したいエッジや色などの特徴を抽出する処理

34Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ベクトル変換方法

固定長のサイズから最大値を取り出す処理

8 4 9

5 4 1

1 0 2

Convの結果 サイズ:2*28 4

5 4Max( )=8 Max( )=9

Max( )=5 Max( )=4

4 9

4 1

5 4

1 0

4 1

0 2

8 9

5 4

微小な変化に対してロバストな特徴を与える処理

35Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ベクトル変換方法

36Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

画像ベクトルを用いた物体認識

正解ラベル付きの画像を大量に学習し、

未知の画像に何が映っているかを特定する

ベクトル化

ベクトル化

ベクトル化

ベクトル化

野球ゾーン

サッカーゾーン

まとめる

ベクトル化

学習 予測

予測モデル

サッカーゾーンに近い。

サッカーなのでは! と特定

予測モデル

未知の画像

37Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

事例紹介

1 ホットペッパービューティの類似ネイル検索

2 カーセンサーの写真から車種判別

38Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

事例紹介と苦労ポイント/解決策

事例紹介

39Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ホットペッパービューティの類似ネイル検索

類似ネイル検索機能

似ているネイル画像を提示する機能

類似の定義は、以下となります。・デザインが似ている・色が似ている

カスタマの回遊率向上などを目的に開発。

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

検索元画像

41Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

①爪箇所判別

HOG特徴量+Adaboostを利用

① 大量の爪でない/爪の画像を用意 ② 勾配のヒストグラムを取得

爪でない

③ 勾配ヒストグラムを使って決定木で判別モデル作成

42Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

②デザイン抽出

CNNを利用

① 大量のデザイン別の爪画像を用意

リボン ドットワンカラー

マーブル ピーコック ハート

・・・・・・・・・・・ 20種類のネイルデザインを用意

43Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

②デザイン抽出

CNNを利用

② CNNで判別モデルを作成

ワンカラー

マーブル

ピーコック

・・・・

・・・・・・

・・・

44Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

②デザイン抽出

CNNを利用

③ 判別モデルを用いて、学習していない未知のネイルに映るデザインを判別

予測

抽出

・・・・・・

・・・出力

マーブル3本逆フレンチ2本

が映っていると判定

マーブル逆フレンチ

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種類に圧縮したカラーヒストグラムで表現

46Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

④類似度計算

cos類似度を採用

マーブル逆フレンチ

デザイン頻度ベクトル

カラー頻度ベクトル

両方の距離を考慮して、

一番近しいネイル画像を算出

cos(x, y) = → →

x→| | y

→| |

______x→| | y

→| |・

cos(x, y) = → →

x→| | y

→| |

______x→| | y

→| |・

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

検索元画像

48Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

カーセンサー:写真からの車種判別機能

事例紹介

49Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

背景

近年?? 若者が車に詳しくない!!

かっちょえええええ

かわええええええ

名前わかんね

凄く大きな機会損失

50Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

車種判別機能とは

カーセンサーのアプリの機能で、

車の写真を撮ってアップすると、似た車種名と一致率のTOP5が分かる。

そして、そのままその車種の検索結果一覧へと遷移できる。

51Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

車種判別フロー

… …

CNNで作成した

車種判別モデル

車の写真

2674車種

・ワゴンR

・プリウス

・フィット

・フェラーリ

・エスティマ

・2674車種の精度

68.2%

52Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

学習データの作成に工夫

外装

ラベル名 画像例

内装

トランク

ダッシュ

ボード

その他

学習枚数

約3500枚

約2000枚

約1000枚

約1000枚

約2500枚

カーセンサーの物件画像を

内装/外装/トランク/ダッシュボード

/その他に分類するモデルを作成。

これにカーセンサーの約37万物件

の画像を全て投入

外装と判別された約80万枚を

そのまま学習に利用

結果、2674車種という、

これまでにない多種な分類でも70%弱の精度を叩き出せた

53Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

学習データの作成に工夫

更にカーセンサーの入稿画像を使ったことによるメリットとして

斜め45度/正面/横/後ろ といった多方向からの画像も

学習データとして取得できた。

結果として、ある程度はどの方向からの画像でも、車種の判別が可能となった

54Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

学習データの作成に工夫

ただし「流通量が多い車種=学習画像が多い車種=精度が高い車種」

となり、掲載数の多い上位500車種では平均92.4%の精度を出すが

掲載数の少ない下位の車種では、精度が一桁を切ることもある状態。

そこで利用者に正解しているかを

フードバックしてもらう機能を実装。

これで「正しい」を選んでくれたら、

その画像を追加で学習すれば良い!

# 現在は、本機能が本当に正しい時に押されるかなどを検証中。

55Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

Twitterでバズりました!

プレスリリースを10/26に実施。

10/26中にTwitterで「#カーセンサーチャレンジ」

というハッシュタグが作成され、最高風速で

分間4ツイートくらいされてました。(肌感)

一時、appleのトレンド検索に「ポケモンgoマップ」などと並んで「カーセンサー」が!!!

ありがたいことにたくさんの人に利用してもらえました!

56Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

4 画像解析の苦労ポイントと解決方法

57Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

2ヶ月前

モデル作成

3週間

2年前

モデル作成

3ヶ月

紹介した案件はモデル作成時間が大きく違う

2年という歳月におけるノウハウの蓄積の差もあるものの

CNNでのモデル構築を効率的にする周辺技術の存在が大きい

ネイルでの学びから、周辺技術を作成していきました。

58Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ネイル時に立ちふさがった大きな壁

①判別モデルを作りたいけど都合良く

学習データがない・・・

②学習始めたけどパラメータが

多すぎて最適解がわからん・・・

59Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

困難① 学習データがない

爪デザイン当て 初めはクライアントが入稿するときに付与するタグを利用。

例えば、左の例では、「ドット(水玉)」が付与。

これを学習用のデータとして使用した結果、

驚愕の精度18%!?(ランダムでも5%の精度)

そもそも、リボンも映っているし、ワンカラー(何も柄なし)も映っている。

これが「ドット」で良いのか??

人によってデザインとして付与するタグが異なるのでは・・・・

なら、誰もが同じタグになるようにしてあげれば良い!

CNN使えないじゃないか・・・発想を変える。

60Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ということで爪単位で学習をすることに決める

:ドット :リボン :ワンカラー

ただし、都合よく爪別のデザイン名が付いたデータが存在しないので、

内部でデータを作成することに・・・

困難① 学習データがない

61Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

爪タグ付Web画面を作成し、業務の間を縫ってみんなでタグ付

困難① 学習データがない

62Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ただし、僕らの部署はIT系の業務をやる部署。

ネイルなんて分からない男性が多い中、必死にネイルの知識を付ける。

:マーブル

:ピーコック

:プッチ

副産物として

合コンで相手の手を見て、「ダブルフレンチか・・・」と呟く、気持ち悪い男性(私)の出来上がり。

せんせー

ピーコックとマーブルとプッチの

違いがわかりませーん!

このようなやりとりを通し、まず主要メンバがネイル判別のセミプロになり、徐々に作業メンバもセミプロになってしまった。

約20人で合計4万枚もの爪画像に、正解タグを振る。

結果、ある程度誰が見ても納得できる正解データが作成できた。

困難① 学習データがない

63Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

ただし、僕らの部署はIT系の業務をやる部署。

ネイルなんて分からない男性が多い中、必死にネイルの知識を付ける。

:マーブル

:ピーコック

:プッチ

副産物として

合コンで相手の手を見て、「ダブルフレンチか・・・」と呟く、気持ち悪い男性(私)の出来上がり。

せんせー

ピーコックとマーブルとプッチの

違いがわかりませーん!

このようなやりとりを通し、まず主要メンバがネイル判別のセミプロになり、徐々に作業メンバもセミプロになってしまった。

約20人で合計4万枚もの爪画像に、正解タグを振る。

結果、ある程度誰が見ても納得できる正解データが作成できた。

①判別モデルを作りたいけど都合良く

学習データがない・・・

「=収集コストがかかりすぎる。」

困難① 学習データがない

64Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

VATを用いた半教師有り学習

• VATを用いた半教師有り学習

• 半教師有り学習:少量の教師付きデータと大量の教師なしデータを用いて、比較的高精度のモデル作成する手法。

• ICLR2016の採択論文の手法を試す。

mnist[0~9の手書きデータ]を利用し、

以下を検証。

教師有りを600枚使っただけで、

60000枚全て利用した時とほぼ同等の

精度が得られた。

学習利用枚数

誤差率(%

)

=大量の画像全てに正解ラベルを付与しなくても良い。

→学習データの収集コストが大幅に下がることが期待できる。

・60000万枚の画像を学習に使った精度

・各枚数を学習に利用した時の精度

・各枚数を教師有り、残りを教師なしと

して学習した精度

65Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

VATを用いた半教師有り学習

:ラベル1の正解付きデータ

:ラベル2の正解付きデータ

:正解ラベルのないデータ

:ラベル1と2を分ける境界面

VAT[Virtual Adversarial Training]を用いた2値分類の

半教師有り学習のイメージ

:予測確率分布がずれやすい方向へ

データをずらす

(LDS[Local Distributional smoothing]正則化)

… …

このズレによる予測確率分布の差が

最小になるように、WとBを学習して

モデルを構築

これにより、データの多少のブレにも

耐えうる判別モデルが作成できる。

66Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

困難② パラメータが多すぎる

正解データを作ったら、今度はパラメータチューニング

チューニングすべきパラメータは様々なものがあります

パッチサイズ

パッチのスライドサイズ

抽出する特徴量数

ネットワーク構造

(ConvとPool)

ネットワーク構造

(Dropout)

ネットワーク構造

(活性化関数)

SGDの学習のイテレーション数

SGDの学習率

67Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

困難② パラメータが多すぎる

少しずつ変えながら、最適なパラメータを探索モデルid フォルダ名1 フォルダ名2 モデル名(iter数) 精度 メモ

1 work 1128_t nt_40_iter_10000 0.363551 full conect層に一つdropout2 nt_40_iter_20000 0.4230413 nt_40_iter_30000 0.3918794 nt_40_iter_40000 0.4164315 nt_40_iter_50000 0.4183196 nt_40_iter_60000 0.440038 以降base lrを0.1倍7 nt_40_iter_65000 0.4532588 nt_40_iter_70000 0.4579799 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.43342813 nt_40_iter_30000 0.42209614 nt_40_iter_40000 0.39754515 nt_40_iter_50000 0.41643116 nt_40_iter_60000 0.40604317 nt_40_iter_70000 0.43437218 nt_40_iter_80000 0.43531619 nt_40_iter_90000 0.41831920 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.34844298 net_iter_30000 0.35694199 net_iter_40000 0.365439

100 net_nosub_iter_5000 0.386213 以降各層についているlogReg layer外す101 net_nosub_iter_10000 0.423985 ここまで学習係数0.001102 net_nosub_1_iter_15000 0.449481 モデル101から学習係数を0.0001に103 net_nosub_1_iter_20000 0.455146104 net_nosub_1_iter_25000 0.461756105 net_nosub_1_iter_30000 0.461756106 net_nosub_1_iter_35000 0.459868107 net_nosub_1_iter_40000 0.464589108 net_nosub_1_iter_45000 0.476865109 net_nosub_2_iter_50000 0.461756 モデル108から学習係数を0.00001に110 net_nosub_2_iter_55000 0.469311111 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.485364115 net_1_iter_60000 0.492918

~中略~

パラメータを色々変えて、全100回を超える試行を実施。

締切が当然あるので、時間は有限。

一回の学習に費やす時間は3時間くらい。

帰り際や金曜日に設定して、

朝・月曜の朝に確認する。

時間的制約の中、どれが筋が良いかを吟味し、

焦りつつ、地道に精度向上。

68Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

困難② パラメータが多すぎる

少しずつ変えながら、最適なパラメータを探索モデルid フォルダ名1 フォルダ名2 モデル名(iter数) 精度 メモ

1 work 1128_t nt_40_iter_10000 0.363551 full conect層に一つdropout2 nt_40_iter_20000 0.4230413 nt_40_iter_30000 0.3918794 nt_40_iter_40000 0.4164315 nt_40_iter_50000 0.4183196 nt_40_iter_60000 0.440038 以降base lrを0.1倍7 nt_40_iter_65000 0.4532588 nt_40_iter_70000 0.4579799 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.43342813 nt_40_iter_30000 0.42209614 nt_40_iter_40000 0.39754515 nt_40_iter_50000 0.41643116 nt_40_iter_60000 0.40604317 nt_40_iter_70000 0.43437218 nt_40_iter_80000 0.43531619 nt_40_iter_90000 0.41831920 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.34844298 net_iter_30000 0.35694199 net_iter_40000 0.365439

100 net_nosub_iter_5000 0.386213 以降各層についているlogReg layer外す101 net_nosub_iter_10000 0.423985 ここまで学習係数0.001102 net_nosub_1_iter_15000 0.449481 モデル101から学習係数を0.0001に103 net_nosub_1_iter_20000 0.455146104 net_nosub_1_iter_25000 0.461756105 net_nosub_1_iter_30000 0.461756106 net_nosub_1_iter_35000 0.459868107 net_nosub_1_iter_40000 0.464589108 net_nosub_1_iter_45000 0.476865109 net_nosub_2_iter_50000 0.461756 モデル108から学習係数を0.00001に110 net_nosub_2_iter_55000 0.469311111 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.485364115 net_1_iter_60000 0.492918

~中略~

パラメータを色々変えて、全100回を超える試行を実施。

締切が当然あるので、時間は有限。

一回の学習に費やす時間は3時間くらい。

帰り際や金曜日に設定して、

朝・月曜の朝に確認する。

時間的制約の中、どれが筋が良いかを吟味し、

焦りつつ、地道に精度向上。

②学習始めたけどパラメータが

多すぎて最適解がわからん・・・

「=時間がかかりすぎる」

69Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

DFOを用いた自動パラメータチューニング

• 2-1) DFO[Derivative Free Optimization]を用いたパラメータチューニング

• DFO:目的関数を直接微分不可能なパラメータに対し、その値をずらして誤差率が下がる方向へパラメータを調整して最適解を得る手法

誤差率をクロスエントロピーで求める場合、右の式となる。

ykは、W,Bから求められるため、WやBでの微分は可能。

ただし、それ以外の学習率などといったパラメータでの

微分は不可。これらのパラメータを少しずつずらし、誤差率の極小値を探索する方法。

70Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

• 2-1) DFO[Derivative Free Optimization]を用いたパラメータチューニング

• DFO:目的関数を直接微分不可能なパラメータに対し、その値をずらして誤差率が下がる方向へパラメータを調整して最適解を得る手法

誤差率をクロスエントロピーで求める場合、右の式となる。

ykは、W,Bから求められるため、WやBでの微分は可能。

ただし、それ以外の学習率などといったパラメータでの

微分は不可。これらのパラメータを少しずつずらし、誤差率の極小値を探索する方法。

これにより、これまではハイパーパラメータを手動で少しずつずらして

精度を目視で確認していたが、自動で最適なパラメータの探索が可能に。

チューニングを自動化して、別の作業にとりかかれるようになった。

DFOを用いた自動パラメータチューニング

71Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

コスト・工数を大幅に下げ、展開の障害を撃破

コスト・納品までの時間は

横展開の大きな障害となるため

これを排除して、事業への

導入の難易度低下と速度向上

を実現する技術を貪欲に検証/実装

これにより、様々なニーズに対し

速度感を落とすことなく、

色んな案件に取り組める状態と

なりました。

72Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

6 まとめ

73Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.

まとめ

リクルートではデータの利活用を進めた結果、これまでとは異なるシーンでの利用ニーズや多様なデータソースの利活用事例が増加した

この様々なニーズ・多様なデータソースに対し、 素早く・安く・最適にソリューションを提供するため、A3RTというAPI群を整えている

2

3実施中に得た課題を潰して横展開の難易度を下げ、AI/ディープラーニングの利活用を促進して、 世の中への更なる貢献に邁進する所存です

ご清聴ありがとうございました。

リクルートテクノロジーズ

リクルートテクノロジーズが語る企業における、「AI/ディープラーニング」活用のリアル