世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 / YJTC19 in Shibuya B-3 #yjtc

3.1K Views

December 12, 19

スライド概要

Yahoo! JAPAN研究所は、深層学習で生成されるようなベクトルデータを高速に検索できるNGTをOSSとしていち早く提供し、改良してきました。そして、ついにNGTがベンチマークで世界最速クラスの検索速度を達成しました。
本セッションでは、NGTがなぜ高速な検索を実現できるのかを解説し、さらに、NGTを用いた深層学習によるファッション類似画像検索の概要についてご紹介しました。

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

世界最速クラスのベクトル近傍検索NGTと 深層学習によるファッション検索への応用事例 Yahoo! JAPAN研究所 岩崎 雅二郎 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

2.

岩崎 雅二郎 Yahoo! JAPAN研究所 某複写機メーカー研究所にて研究開発した類似画像検 索が2004年ヤフオク!の商品類似検索としてリリース 2007年にヤフーに入社し、類似画像検索、物体認 識、近傍検索の研究開発に従事 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

3.

アジェンダ 1. 近傍検索ライブラリNGT • ベンチマークによる検索性能 • インデックスの生成と検索 • 高性能な検索を実現する最適化グラフ 2. 深層学習による類似ファッション検索応用事例 • インデックスの生成と検索 • 特徴量の構成と検索結果 • 学習データによるモデル生成 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

4.

近傍検索ライブラリNGT Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

5.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 NGTとは Neighborhood Graph and Tree for Indexing High-dimensional Data ツリー構造 n 高次元ベクトルの近傍検索 n ツリーとグラフによるインデックス グラフ構造 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

6.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 近傍検索とは 距離空間上でクエリの近傍のオブジェクト(ベクトルデータ)を取得 ④ ③ ① ⑤ クエリ n 範囲検索 ② ⑥ Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. n k最近傍検索 ⑦

7.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 NGTの特徴 n 世界トップレベルの高速高精度な近似近傍検索 n オープンソース n 追加削除が可能 n 多様な利用形態(Python、C++、C、Go、コマンドライン、Ruby) n サーバ版NGT(ngtd、vald)を提供 ngtd: https://github.com/yahoojapan/ngtd vald: https://github.com/vdaas/vald n 共有メモリ(マップドメモリ)版でメモリサイズ以上のデータ登録可能 n 量子化版NGT(NGTQ)により、さらなる大規模化が可能 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

8.

NGTの性能 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

9.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 近傍検索ベンチマーク -ANN benchmarksANN benchmarks n Dockerにより独立した動作環境 n AWSのEC2 c5.4xlargeで実行 ANN benchmarks NGT python API NGT Ubuntu Docker Linux AWS EC2 c5.4xlarge Ann benchmarks: https://github.com/erikbern/ann-benchmarks Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. Containers NGT faiss hnsw n 多種多様なデータセット(全10セット) Annoy n Annoy, Faiss, HNSWなど主要21種を網羅 annoy n 近傍検索専用のベンチマーク

10.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ベンチマーク結果① gist 960次元 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. NGT(ONNG) HNSW(nmslib) Faiss Annoy sift 128次元

11.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ベンチマーク結果② fashion-mnist 784次元 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. NGT(ONNG) HNSW(nmslib) Faiss Annoy nytimes 256次元

12.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ベンチマーク結果③ glove 100次元 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. NGT(ONNG) HNSW(nmslib) Faiss Annoy glove 25次元

13.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ベンチマーク結果③ NGTがほぼすべてのデータセットでトップを獲得! glove 100次元 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. NGT(ONNG) HNSW(nmslib) Faiss Annoy glove 25次元

14.

インデックス生成 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

15.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ツリーの生成 n グラフの探索起点の取得に利用 n 超球を用いた空間分割によるツリー(DVP-tree)の生成 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. DVP-tree: 岩崎, 類似画像検索を実現する距離空間インデックスの実装及び評価, 情報処理学会論文誌データベース(TOD) 40(SIG03(TOD1)), 24-33, 1999

16.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 グラフの生成 n 逐次ノードを追加し近傍オブジェクト同士を接続 n 近傍ノードの検索に生成中のインデックスを利用 ANNG Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. Approximate k-Nearest Neighbor Graph

17.

近傍検索 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

18.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 近傍検索 1. ツリーをたどりクエリの近傍オブジェ クトを探索起点として取得 2. 探索起点からグラフを探索 1回の距離計算で 下位部分空間の特 定が可能 3最近傍検索 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. 参考: https://techblog.yahoo.co.jp/lab/searchlab/ngt-docs-2/ https://techblog.yahoo.co.jp/lab/searchlab/ngt-docs-3/

19.

高性能な検索を実現するグラフの生成 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

20.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ANNGの課題 エッジを増やすと 検索精度向上 検索時間増加 エッジを減らすと 検索精度低下 検索時間減少 精度と時間の両立困難 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

21.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ONNGの生成 Optimized Nearest Neighbors Graph 有向エッジとしてANNGを最適化 n ノード単位の入次数、出次数の最適化 n パスを考慮した出次数の削減 n 検索時の参照エッジ数調整 出次数:2 入次数:4 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

22.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ノード単位の入次数、出次数の最適化 n 入次数の引き上げと均一化 入次数が少ないと到達確率が減少 →引き上げと均一化により到達確率の底上げ n 出次数の削減 出次数は重い距離計算回数に直結 →出次数の削減により探索時間の削減 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

23.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ノード単位の入次数、出次数の最適化 出次数調整:3 ⑥ ② ⑦ ② ③ ① ④ ⑤ 出次数:3 入次数:6 ① ⑥ ② ④ ③ ⑥ ANNG (出力エッジに着目) ② ⑥ ④ ⑤ 入次数調整:6 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. ② ⑤ ONNG ④ ① ③ ⑤ ① ① 全ノードに適用 ③ ③

24.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ノード単位の入次数、出次数の最適化 検索時間 n 最適な入出次数は? • データセットに強く依存 • 最適次数の探索が必要 n 多くのデータセットに有効な次数 入次数:120、出次数:10 入次数 出次数 (次元数が少ない場合など入次数の削減可能) ONNGの入出次数と検索時間の関係 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

25.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 パスを考慮した出次数の削減 n ツリーによりクエリ近傍に到達可能 n 長いショートカットエッジは不要 nd nd nd e2 e1 e3 n1 ns ns e1削除 n3 n2 代替パスに複数のノード e3削除せず e4 クエリ e5 ns n4 代替パスのノードn4が遠方 e4削除せず グラフ全体にパスの最適化を適用 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. re

26.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 検索時の参照エッジ数調整 n 精度が低くてもよい時は参照エッジ数(出次数)が 少ない方が良い n 精度は探索範囲係数εで決定 n 参照エッジ数を探索範囲係数εから算出 探索範囲 rs=(1+ε)r 参照エッジ数: we, e0はデータセットに強く依存 インデックス生成時にwe, e0の最適化を実行 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. 検索範囲

27.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 ANNGとONNGの比較 (ONNG) (ONNG) GIST 1M Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. Glove 2M

28.

NGTを利用した深層学習による類似ファッション検索 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

29.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 Yahoo!ラボ FavNavi n 研究所と社内有志でスタートして研究開発した ファッション検索実験アプリ n ファッション検索の基盤技術をサービスへ提供 アプリの特徴 • Yahoo!ショッピングのファッション商品検索 • 検索対象領域表示 • 商品以外のアイテムで検索可能 • 撮影画像による検索(近日公開予定) https://apps.apple.com/jp/app/favnavi/id1478926680 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

30.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 類似ファッション検索アプリ n Yahoo!ショッピング 回遊型類似ファッション検索 n Yahoo!ブラウザー 撮影画像によるファッション検索 写真:アフロ https://commerceapp.yahoo.co.jp/shoppingappli/ Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. https://promo-ybrowser.yahoo.co.jp/

31.

類似ファッション検索の処理の流れ Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

32.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 インデックスの構築 検出された領域ごとに特徴量を抽出してNGTに登録 検出領域 特徴量 物体検出 特徴量抽出 登録商品画像 Yahoo!ショッピング Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. NGT

33.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 類似画像検索 選択された領域の特徴量でNGTを検索 特徴量 物体検出 選択 特徴量抽出 近傍検索 クエリ画像 (撮影画像) Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. 領域検索結果 NGT

34.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 特徴量の構成 領域画像 n 低次特徴量:色やテクスチャをtripletで学習 n カテゴリ特徴量:商品カテゴリで学習 n 領域アスペクト比 低次特徴量抽出 低次特徴量 カテゴリ特徴量抽出 カテゴリ特徴量 300 統合特徴量 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. 429次元 領域アスペクト比 128 1

35.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 検索結果比較① + 低次特徴量(300次元) = カテゴリ特徴量(128次元) Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. 統合特徴量(429次元)

36.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 検索結果比較② + 低次特徴量(300次元) = カテゴリ特徴量(128次元) Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. 統合特徴量(429次元)

37.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 学習データによるモデル生成 モデル 画像種別 物体検出 ヤフオク! Yahoo!ショッピング 50,000件 20,000件 低次特徴量 Yahoo!ショッピング 8,000,000件 カテゴリ特徴量 Yahoo!ショッピング 400,000件 物体検出のアノテーションデータは手作業で生成 Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved. 画像数

38.

世界最速クラスのベクトル近傍検索NGTと深層学習によるファッション検索への応用事例 最後に n 深層学習により多様なデータからベクトルの生成が可能 n 世界トップレベルのNGTを利用して是非フィードバックを! Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.

39.

Copyright© 2019 Yahoo Japan Corporation. All Rights Reserved.