Slide 1

Slide 1 text

Mercari Tech Conf 2017 Machine Learning Engineer Takuma Yamaguchi 画像認識技術は人間を超えたのか? ~ メルカリにおける商品画像認識の現状と今後の発展 ~

Slide 2

Slide 2 text

自己紹介 • 学生時代 • パターン認識・画像処理・機械学習 • 博士(工学) • パッケージソフト会社 • 画像認識、音声認識アルゴリズム • OCR / 音声認識エンジン • 交通インフラ系の製造業 • オペレーションズリサーチ • 鉄道運賃計算アルゴリズム • 画像認識、コンピュータビジョン • 改札機、駐車場、監視カメラ • ソーシャルゲーム会社 • データ分析基盤の開発・運用 • Hadoop / Spark / Hive / Presto • サーバーサイド • 株式会社メルカリ • 2016年〜 • 画像認識を中心とした機械学習 • サーバーサイド 山口 拓真 (Takuma Yamaguchi)

Slide 3

Slide 3 text

5.1

Slide 4

Slide 4 text

5.1 O. Russakovsky, et al. ImageNet Large Scale Visual Recognition Challenge. IJCV, 2015.

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

メルカリと ImageNet の画像データ メルカリ • カテゴリ数: 1,100+ • 服 • 靴 • バッグ • 本 ImageNet (ILSVRC) • カテゴリ数: 1,000 • milk can • rugby ball • paper towel • earthstar • envelope • miniskirt, mini • cowboy hat, ten-gallon hat • Trolleybus, trolley coach • etc... • 車 • ハンドメイド • 化粧品 • おもちゃ • etc... 識別の難易度はメルカリ・ImageNet で大きく変わらなさそう → メルカリの商品画像においても人間の識別能力を機械学習で実現できるのでは?

Slide 8

Slide 8 text

商品カテゴリの認識 • データ • 1,108 クラス • 学習用: 220万枚 • テスト用: 11万枚 • Framework • TensorFlow • モデル • Deep Neural Networks • Inception-v3 • https://github.com/tensorflow/models • 学習環境 • AWS EC2 p2.8xlarge • CPU x 32 • GPU(Tesla K80) x 8 • 学習パラメータ等 • Learning Rate: 0.1 • Batch Size: 256 • Epoch: 15 (60時間) • ほとんどチューニングせず

Slide 9

Slide 9 text

商品カテゴリの認識 Top-5 Error: 29.3% データクリーニングもパラメータチューニングして いない割に識別できているが、これは人間レベル の精度なのか? 多くのカテゴリにおいては、うま く識別できている様子 さらによくすることは可能? 何が起きているのか? 改善は可能か?

Slide 10

Slide 10 text

識別率の悪いカテゴリ • レディース > 小物 > その他 • レディース > バッグ > その他 • レディース > トップス > その他 • レディース > その他 > その他 • メンズ > その他 • ベビー・キッズ > その他 > その他 • ハンドメイド > 趣味/おもちゃ > その他 • スポーツ・レジャー > その他 > その他 • コスメ・香水・美容 > その他 > その他 • エンタメ・ホビー > コレクション > ノベルティグッズ • エンタメ・ホビー > コレクション > その他 • エンタメ・ホビー > その他 > その他 • インテリア・住まい・小物 > その他 • その他 > 日用品/生活雑貨/旅行 > 日用品/生活雑貨 • その他 > 日用品/生活雑貨/旅行 > その他 • その他 > アンティーク/コレクション > 雑貨 • その他 > アンティーク/コレクション > その他 • その他 > その他 ほとんどが “その他” のカテゴリで、選 択肢がないため選択したものなので仕 方がない

Slide 11

Slide 11 text

誤識別の分析 • ベビー・キッズ > キッズ服(女の子用) 100cm~ > ジャケット/上着 (0.3682) • ベビー・キッズ > ベビー服(女の子用) ~95cm > アウター (0.3037) • ベビー・キッズ > ベビー服(男女兼用) ~95cm > アウター (0.0615) • ベビー・キッズ > キッズ服(男女兼用) 100cm~ > ジャケット/上着 (0.0529) • ベビー・キッズ > ベビー服(男の子用) ~95cm > アウター (0.0481) カッコ内の数字は識別の確度を表 すスコアで、すべての候補のスコア の和は 1.0 となる

Slide 12

Slide 12 text

誤識別の分析 カッコ内の数字は識別の確度を表 すスコアで、すべての候補のスコア の和は 1.0 となる 正解は・・・ベビー・キッズ > キッズ服(男の子用) 100cm~ > ジャケット/上着 (正解: お客様が選択したカテゴリ ) • ベビー・キッズ > キッズ服(女の子用) 100cm~ > ジャケット/上着 (0.3682) • ベビー・キッズ > ベビー服(女の子用) ~95cm > アウター (0.3037) • ベビー・キッズ > ベビー服(男女兼用) ~95cm > アウター (0.0615) • ベビー・キッズ > キッズ服(男女兼用) 100cm~ > ジャケット/上着 (0.0529) • ベビー・キッズ > ベビー服(男の子用) ~95cm > アウター (0.0481)

Slide 13

Slide 13 text

誤識別の分析 • レディース > ジャケット/アウター > ピーコート (0.4849) • メンズ > ジャケット/アウター > ピーコート (0.3372) • ベビー・キッズ > キッズ服(男の子用) 100cm~ > コート (0.0305) • ベビー・キッズ > キッズ服(男女兼用) 100cm~ > コート (0.0289) • レディース > ジャケット/アウター > トレンチコート (0.0176) カッコ内の数字は識別の確度を表 すスコアで、すべての候補のスコア の和は 1.0 となる

Slide 14

Slide 14 text

誤識別の分析 正解は・・・ベビー・キッズ > キッズ服(男の子用) 100cm~ > ジャケット/上着 カッコ内の数字は識別の確度を表 すスコアで、すべての候補のスコア の和は 1.0 となる (正解: お客様が選択したカテゴリ ) • レディース > ジャケット/アウター > ピーコート (0.4849) • メンズ > ジャケット/アウター > ピーコート (0.3372) • ベビー・キッズ > キッズ服(男の子用) 100cm~ > コート (0.0305) • ベビー・キッズ > キッズ服(男女兼用) 100cm~ > コート (0.0289) • レディース > ジャケット/アウター > トレンチコート (0.0176)

Slide 15

Slide 15 text

誤識別の分析 ベビー・キッズ > キッズ服(男の子用) 100cm~ > ジャケット/上着 • 複数のカテゴリが当てはまる場合がある • ピンクの水玉のジャケットが男の子用であってもおかしいことではない • サイズがわずかに違うだけの商品は写真からでは人間も見分けられない • 服だけでなく靴などにも当てはまる 間違え方の傾向が、人間とよく似ていることも多く、非常に興味深い

Slide 16

Slide 16 text

ベビー・キッズ > おもちゃ > 知育玩具 (0.7098) 誤識別の分析 ベビー・キッズ > おもちゃ > 知育玩具 ベビー・キッズ > おもちゃ > オルゴール (0.9111)

Slide 17

Slide 17 text

誤識別の分析 ベビー・キッズ > おもちゃ > 知育玩具 ベビー・キッズ > おもちゃ > オルゴール ルーピングとメリーの識別能力が未 熟のようで、画像の多様性に対し て、学習不足 / データ不足であった 可能性が高い ベビー・キッズ > おもちゃ > オルゴール (0.9111) CNNの中間層を利用して商品同士の類似度計算が可能

Slide 18

Slide 18 text

精度改善のためには? No one tells a child how to see, especially in the early years. They learn this through real-world experiences and examples. If you consider a child's eyes as a pair of biological cameras, they take one picture about every 200 milliseconds, the average time an eye movement is made. So by age three, a child would have seen hundreds of millions of pictures of the real world. That's a lot of training examples. So instead of focusing solely on better and better algorithms, my insight was to give the algorithms the kind of training data that a child was given through experiences, in both quantity and quality. “

Slide 19

Slide 19 text

結局、画像認識術は人間を超えているのか? • メルカリの商品画像のカテゴリ認識において • (具体的な数値目標はないが) まだ超えられていない • 既存の認識技術で人間の識別能力を再現できる可能性はある • 多様性に耐えうるように、より大規模なデータセットで学習する必要がある • カテゴリ認識だけでなく • ブランド • 商品名 • 商品状態 • 価格帯 の推定など、画像認識技術により、 よりよいカスタマエクスペリエンスを提供できる余地が十分にある

Slide 20

Slide 20 text

商品ブランドの認識 商品カテゴリの認識モデルと同じくInception-v3 Under Armour Converse PUMA 識別結果

Slide 21

Slide 21 text

商品ブランドの認識 Timberland Tommy Hilfiger Gucci

Slide 22

Slide 22 text

Deep Neural Networksは何を見て識別しているのか? Bolei Zhou, et al., Learning Deep Features for Discriminative Localization, CVPR 2016. • Class Activation Mappingというテクニックで可視化できる • 一般的な Convolutional Neural Networks なら適用可能 • Inception-v3においても適用可能

Slide 23

Slide 23 text

Deep Neural Networksは何を見て識別しているのか?

Slide 24

Slide 24 text

商品ブランドの認識

Slide 25

Slide 25 text

商品ブランドの認識

Slide 26

Slide 26 text

画像説明文の生成 • Oriol Vinyals, et al., Show and tell: A neural image caption generator, CVPR 2015. • https://github.com/tensorflow/models/tree /master/im2txt • https://research.googleblog.com/2016/09/ show-and-tell-image-captioning-open.html 画像のカテゴライズだけでなく、説明文の生成の研究も進んでいる   → 商品画像から商品タイトルも生成できるのでは?

Slide 27

Slide 27 text

商品タイトルを含む商品情報の推定 タイトル ブランド カテゴリ 価格 カラー 画像 Deep Neural Networks / Deep Learningを中心とした複数の推定モデルを学習 ベビー・キッズ > キッズ靴 > サンダル クロックス クロックバンド Crocs ¥1,500 〜 ¥2,500 ピンク 合計で5,000万件以上の 商品データを学習データとして利用 (現状、精度評価段階であり定量的な評価結果を公開できるまでに至っていない )

Slide 28

Slide 28 text

製品知識・ブランド知識がない人にとっては人間を超えていると思える結果も出ている 商品タイトルを含む商品情報の推定

Slide 29

Slide 29 text

商品タイトルを含む商品情報の推定 製品知識・ブランド知識がない人にとっては人間を超えていると思える結果も出ている

Slide 30

Slide 30 text

Google VisionAPIとの比較 Labels Vision API OCRをやっていないにもかかわらず 画像特徴から商品タイトルを正しく生成できている SHARP AQUOSのリモコンである という情報が得られている

Slide 31

Slide 31 text

Google VisionAPIとの比較 Labels Vision API Text OCRをやっていないにもかかわらず 画像特徴から商品タイトルを正しく生成できている ソウルに関する雑誌であることが 認識できている

Slide 32

Slide 32 text

Google VisionAPIとの比較 Labels Vision API 新生児〜乳幼児のいる家庭 においては認知されている商品 おしりふきウォーマー / ベビーグッズ であることは認識できていない

Slide 33

Slide 33 text

まとめ • ImageNet (ILSVRC) のカテゴリ認識では人間の精度を達成とされている • メルカリの商品画像を利用したカテゴリ分類モデルを学習 • ImageNetの識別率には数値的に遠い結果が得られた • 誤識別率の高いカテゴリ • “その他” カテゴリのような定義があいまいなカテゴリ • サイズや性別によってわけられたカテゴリ (メンズ / レディース / キッズ) • 改善の余地は多々ある • 学習時のハイパーパラメータ調整 • 学習データの追加(特に多様な商品を含むカテゴリ ) • 今後発展 • カテゴリだけではなく、商品タイトル、ブランド、価格、カラーなども含めた推定 • それらの項目を推定するプロトタイプはできており、現在性能評価中 • 製品知識・ブランド知識がない場合には、人間の能力を超えていると感じられる結果も含まれる • e.g. コンビ おしりふきウォーマー / ブルガリ プールオム

Slide 34

Slide 34 text

Thank You