45
リクルートにおける マルチモーダル Deep Learning Web API 開発事例 株式会社リクルートテクノロジーズ ITソリューション統括部 ビッグデータプロダクト開発グループ 舟木 類佳

リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

Embed Size (px)

Citation preview

Page 1: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

リクルートにおけるマルチモーダル Deep Learning

Web API 開発事例

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

舟木 類佳

Page 2: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

自己紹介

Page 3: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

趣味etc

学歴

仕事

所属

氏名

RTC ITソリューション統括部ビッグデータ部ビッグデータプロダクト開発G

舟木 類佳(ふなき るか)

東京大学大学院情報理工学系研究科創造情報学専攻中山英樹研究室

新卒入社1年目7月配属uMean プロダクトオーナー

音楽(ピアノ・ドラム・作曲)

自己紹介

Page 4: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

アジェンダ

リクルートについて

A3RTについて

マルチモーダル学習とは

開発事例の紹介

まとめ

Page 5: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

リクルートについて

Page 6: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

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

クライアントとカスタマーをつなぐサービスを提供

Page 7: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

Page 8: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

リクルートテクノロジーズの立ち位置

リクルートホールディングスは7つの主要事業会社と3つの機能会社から成り立っている。

InfrastructureLarge project promotions

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

Page 9: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

ビッグデータ解析部門の組織体制

ビジネスコンサルティンググループ

人材領域グループ

販促・バイト領域グループ

ソリューションを軸とした予測、BI、競合分析

人材領域を軸とした各種レコメンドの

開発

販促・バイトを軸とした各種

レコメンドの開発

ID・ポイント領域グループ

IDポイントを軸とした各種

レコメンドの開発

プロダクト開発グループ

インフラグループ

IDポイントビッグデータシステムグループ

ソリューションを軸とした各種R&D系プロダクトの開発

ビックデータ基盤の構築・運用

IDポイントPRJの基盤の構築・運用

ビックデータ部

Page 10: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

A3RTについて

Page 11: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

A3RTって何?

Deep Learningなどに代表される機械学習ロジックとそのAPIをA3RTというブランドで統一し、社内に展開

Page 12: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

A3RT のプロダクト

データ分析や機械学習を社内向けに提供するAPIプロダクト

Page 13: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

〜マルチモーダル機械学習を利用した

画像・テキストによる相互検索API〜

Page 14: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

マルチモーダル学習とは

Page 15: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

人の五感

体にはたくさんのセンサーが張り巡らされている

味覚

触覚

嗅覚

視覚聴覚

Page 16: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

人は複数の情報の関係性を知っている

人は経験的複数の感覚を雨という概念と結びつけている

雨の音を聞く

雨を見る 濡れる雨の匂いを嗅ぐ

雨だ!(知覚)

Page 17: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

コンピューターはわからない

17

0101010101010101010101010101010101010101010101010101010101010.....

ハワイに行きました。海がとても青くて陽の光が眩しかったです。

0101010101010101010101010101010101010101010101010101010101010.....

Icon: http://www.icondrawer.com/

画素データ

文字列データ

画素データの数値列

文字コードの数値列

0101010101010101010101010101010101010101010101010101010101010.....

波の音

波形データ

関係は??

波データの数値列

Page 18: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

マルチモーダル学習は情報間の隔たりを埋める

18

画像

テキスト

画像とテキストのセマンティックギャップ(意味的隔たり)

コンピューターの世界

0101010101010101010101010101010101010101010101010101010101010.....

0101010101010101010101010101010101010101010101010101010101010.....

ハワイに行きました。海がとても青くて陽の光が眩しかったです。

Icon: http://www.icondrawer.com/

Page 19: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

学習に必要なデータ

画像と画像に対する説明文のペアさえあれば学習可能

こういう画像はこういうテキスト

関係性を学習

クリスマスにワイングラスで乾杯。赤い薔薇とオシャレなテーブルセッティングで素敵なディナーをお召し上がりください。

Page 20: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

結合空間へのデータのマッピング

マルチモーダル学習は結合空間に複数の情報が関連性が高いものを近くにマッピングするように学習する

距離が近ければ関連性が高い

・画像a

x4

x1

・画像b

x2x3

xd

・テキストc

・テキストd

結合空間

x4

x1

x2x3

xd

・画像b

・画像a画像空間

x4

x1

x2x3

xd

・テキストd

・テキストc

テキスト空間

Page 21: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

2つのDEMO

Map DEMO

対話DEMO

Page 22: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

uMeanでできること〜「画像⇔テキスト」相互検索

画像

.............

画像からテキスト:

画像から連想する

テキストを検索する

テキストから画像:

テキストから連想する

画像を検索する

テキスト

画像から画像:

画像から

類似する画像を検索する

テキストからテキスト:

テキストから

類似するテキストを検索する

Page 23: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

もっと赤い

uMeanでできること〜もっと検索

もっと検索

画像 画像

Page 24: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

イメージを近づけていく

欲しかったもの

かわいい

かっこいい

和風

洋風

Page 25: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

開発事例の紹介

Page 26: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

7月に配属されてから行った多岐にわたる仕事

商品企画

データ解析

バックエンド開発

フロントエンド開発

インフラ開発

一緒に働く人探し、面接

売り込み

チームマネジメント

事業会社との調整

Page 27: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

本番環境

http request

Elastic Load Balancing

prd_umean_web2

API

サーバー

prd_umean_web1

API

サーバー

AmazonRoute 53

Internet

umean_manager

Jenkins

サーバー

umean_batch

Batch

サーバー

prd-umean

fabric

②学習①学習データをコピー

③モデル配布

モデルファイル

モデルファイル

画像情報テキスト情報

APIアーキテクチャ

Page 28: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

本番環境

http request

Elastic Load Balancing

prd_umean_web2

API

サーバー

prd_umean_web1

API

サーバー

AmazonRoute 53

Internet

umean_manager

Jenkins

サーバー

umean_batch

Batch

サーバー

prd-umean

fabric

②学習①学習データをコピー

③モデル配布

モデルファイル

モデルファイル

画像情報テキスト情報

Web APIサーバー

Page 29: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

Webサーバー

カスタマー

APIサーバー

マルチモーダル学習

プログラム

uWSGI protocol

WSGIサーバー

Webサーバー

Internet

Page 30: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

webフレームワークの選択

Django等のフレームワークは今回の機械学習APIに対しては多機能すぎた

BottleやFlaskで十分

今回はBottleを選択

軽量フレームワークを利用することで早い開発スピードが実現できた

Page 31: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

本番環境

http request

Elastic Load Balancing

prd_umean_web2

APIサーバー

prd_umean_web1

APIサーバー

AmazonRoute 53

Internet

umean_manager

Jenkinsサーバー

umean_batch

Batchサーバー

prd-umean

fabric

②学習①学習データをコピー

③モデル配布

モデルファイル

モデルファイル

画像情報テキスト情報

バッチアーキテクチャ

Page 32: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

マルチモーダル学習アルゴリズム

今回検討したアルゴリズム

正準相関分析(CCA: Canonical Correlation Analysis)

Visual-Semantic Embedding(VSE)

Page 33: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

正準相関分析(CCA)

相関が最大になるように射影する(相関が高くなることはすなわち距離が近くなる)

x = (x1, … xp), y = (y1,…,yq)z = aT (x − x) w = bT (y − y)

テキスト特徴空間画像特徴空間 結合空間

Page 34: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

Visual Semantic Embedding

内部状態 Vh をこのキャプションの表現とする。 損失関数

"Unifying Visual-Semantic Embeddings

with Multimodal Neural Language Models"

(Kiros, Salakhutdinov, Zemel. 2014).

文章情報

画像情報

Page 35: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

CCAとVSEのどちらが良いか

CCAよりもVSEの方が精度が高いためVSEを選択

しかし、VSEの場合は内積による最適化なので、単純なユークリッド距離計算ができない(線形計算ができない)ので工夫が必要だった

・画像a

x4

x1

・画像b

x2x3

xd

・テキストc

・テキストd

結合空間

※コサイン距離でしか測れない

Page 36: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

画像とテキストのペアを学習する

秋を感じる黄色いコスモスが風に

なびいて・・・

紅葉した木々がきれいな森林

で・・・

オーシャンブルーの海が広がる

沖縄の観光スポット・・・

青々と茂る大根畑が・・・

︙ ︙

画像 キャプション

Page 37: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

学習と検索の流れ

テキスト

Caffeによる

特徴抽出

MeCabによる

形態素解析

画像特徴

VSE

分かち書きテキスト

ピクセルデータ

文字列データ

テキストテキスト

Caffeによる

特徴抽出

MeCabによる

形態素解析

Image encoder

画像特徴

Sentence encoder

VSE分かち書きテキスト

ピクセルデータ

文字列データ

マルチモーダル空間

における画像特徴

最近傍探索

(コサイン

距離)

学習

モデル

学習

検索

学習画像

学習テキスト

テキストテキスト

テキスト

検索画像

検索テキスト

マルチモーダル空間

におけるテキスト特徴

Page 38: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

文章(または単語)からの画像検索

Image encoder

Sentence encoder

VSE

最近傍探索

(コサイン距離)

テキスト

クエリテキスト

image_feature.npy

sentence_feature.npy

マルチモーダル空間

における画像特徴

マルチモーダル空間

におけるテキスト特徴

画像リスト

※クエリテキストは文章でも単語でもよい。

単語は1文字から成る文章と考える。

マルチモーダル空間

における画像特徴

マルチモーダル空間

におけるテキスト特徴

Page 39: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

画像から単語の検索

Image encoder

Sentence encoder

VSE

マルチモーダル空間

における画像特徴

アップロード画像

image_feature.npy

sentence_feature.npy

単語リスト

予め用意された単語データはないが、

どのようにすればよいか?

Page 40: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

画像から単語の検索

一番良かった方法(アドホックな方法)

単語を

TF-IDF順に

ソートして

上位を取得

画像に近い文章を20件検索してくる

Page 41: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

画像から単語の検索

Image encoder

Sentence encoder

VSE

マルチモーダル空間

における画像特徴

最近傍探索

(コサイン距離)アップロード画像

image_feature.npy

sentence_feature.npy

マルチモーダル空間

におけるテキスト特徴

20件 TF-IDF

計算

単語リスト

Page 42: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

もっと検索(画像に単語を足す)

・赤い

単純な方法はうまくいかなかった↓出てこない

Page 43: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

もっと検索

画像からテキストを10個検索してきて文頭に「もっと○○」に当たる用語を追加する

その後、センテンスエンコーダーに入力してきて平均を取ることで画像を検索する

+赤い

+赤い

+赤い

+赤い

+赤いSentence

Encoder平均

目的の

画像ベクトル

バラが敷き詰められた・・・赤い +

文字列の結合

Page 44: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

まとめ

マルチモーダル機械学習を利用した画像・テキスト相互検索API、「uMean」を開発した。

マルチモーダル学習を用いることでこれまでに出来なかったような新しい探し方ができるようになった。

それを実現するために、アドホックな方法を含め、色々な方法を試すことが必要だった。

今後もマルチモーダル空間を利用して様々な検索方法ができるように改良していきたい。

Page 45: リクルートにおけるマルチモーダル Deep Learning Web API 開発事例

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

私達は一緒に働く人を求めています

新しいテクノロジーを利用してものづくりがしたい人は

是非、一緒に働きましょう!!

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

舟木 類佳(ふなき るか)

[email protected]

連絡先