ガジェット通信 GetNews

見たことのないものを見に行こう

街で見かけた服の類似商品を数ミリ秒で検索。Yahoo! JAPAN研究所「高次元ベクトル近傍検索(NGT)」の威力とは──

DATE:
  • ガジェット通信 GetNewsを≫

画像をベクトルデータ化。最短距離で類似商品を探す

例えば、音楽を聴いている友だちのヘッドホンがかっこよくて、自分も欲しいと思ったとき。普通なら商品名を確認したり、バーコードを読み取ったり、ショッピングサイトで探したりしませんか?

「画像に写っている物体とまったく同一のものが写った画像を膨大なデータベースから発見する処理は、計算機科学では『特定物体認識』と呼ばれています。物体特有の特徴が現れており、かつデータベースが整備されていれば、認識は比較的容易です。実験アプリ『サイヤスカメラ』で使われている技術がこれです。撮影した商品を最安値で販売している店舗を『Yahoo!ショッピング』内から検索できます。

現在は、同時には三つか四つまでの異なる商品の検索しかできませんが、いずれはもっと対象を増やせるようになります。例えば、スーパーのペットボトルの陳列棚をさっと撮影して、そのうち特殊なアレルギー体質の人には不適な商品だけをより分けるというような使い方も可能になるでしょう」

と語る、Yahoo! JAPAN研究所の岩崎雅二郎上席研究員。商品やパッケージ自体が容易には変形しないソリッドな形をしていれば、特定物体認識はより簡単になりますが、問題は認識時間です。

Yahoo! JAPAN研究所 岩崎 雅二郎氏

また、商品検索ではこんなニーズもあります。

「街ですれちがったあの女性のワンピース、紫がとてもきれい。あの色のバッグと合わせたらステキよね」

ひらひらと風に舞うワンピースは、形状が複雑でその全体をなかなか写真に収めにくいもの。しかしその特徴の一部でもわかれば、なんとか似たような色のバッグを探せる手だてがあるのです。

Yahoo! JAPANラボが実験的に提供する「FashionNavi」というサイトでは、画面左上のカラーピッカーから好みの色のポイントをクリックするだけでその色の商品を検索することができます。

さらに、商品画像一覧の中から類似検索したい商品を選択して検索することも可能です。見た目の特徴から似ている商品を瞬時に検索する。これは「類似商品検索」と呼ばれています。

特定物体認識も類似商品検索も、コアにあるのは人や物や商品の画像をベクトルデータで表現する技術。例えば、商品を色:模様:形状:種別:価格:メーカーなどにカテゴリー化し、それぞれに区別された番号をふっておきます。すると、対象の商品をすべて数字に置き換えることができるのです。

なんらかの商品が写っている画像についても、特徴を表すデータを付与することで、ベクトルデータ化することが可能です。

ある商品に類似する商品を探したいときは、あるベクトルデータに類似するデータを探せば解決。言い換えれば、あるベクトルデータに近いデータをベクトル空間上で検索すればよいことになります。これを近傍検索と呼びます。

物体や商品をベクトルデータ化し、データの検索・照合を通して、そのものがなんであるかを特定したり、似たような商品を探したりする研究は、いま世界で盛んに行われています。ビッグデータ分析やディープラーニングの精度を高めるためには不可欠の技術だからです。

「次元の呪い」を振り払う高速インデックス技術が鍵に

サイヤスカメラやFashionNaviで使われているのは、Yahoo! JAPAN研究所が独自に開発したオブジェクト抽出および類似画像検索の技術。FashionNaviでは商品画像から1000次元(商品特徴を表す種別数が1000個あるということ)を超えるベクトルデータを画像の特徴として抽出して検索します。

しかしこれほどの次元の数が多いと、検索に時間がかかることが以前から指摘されていました。たかが紫色のバッグ一つを探すのに数分、数時間も要したのでは実用的ではありません。

そこで同研究所では、次元数が多くなっても高速に検索できる独自のインデックス(索引情報作成)手法を開発しました。

「すべてのベクトルデータとの距離を計算するとどうしても遅くなります。そのため事前にインデックスを生成し、高速化を図るわけです。代表的なインデックス構造には木(ツリー)構造型とグラフ構造型という二つがありますが、「NGT」ではツリーとグラフを組み合わせたインデックスを用いています」と、岩崎氏は言います。

それぞれのインデックス構造には長短があります。例えばツリー構造型では、次元数が少なければ、検索時の枝切りという方法で探索範囲を削減して、結果的に高速に検索することができます。

ところが次元数が数十次元以上に増えると、任意の2点間の距離が一定の距離に集中する現象などにより検索効率が極端に下がってしまう。計算機科学ではこうした現象を「次元の呪い」と呼ぶそうです。

一方で、グラフ構造型インデックスは、もともと高精度で検索速度も速いのですが、インデックスを生成するまでの時間がツリー型よりも長くなるという短所がありました。

「そこでグラフ型におけるインデックスにデータを逐次登録し、作成中のインデックス自体を高速化に用いることで生成時間の短縮を図るようにしました。また、検索の段階でも一部、ツリー型インデックスを導入することで、高速な近傍検索を可能にしました。ツリーの上から下へたどる(青の矢印)ことでクエリの近傍候補となるデータを取得した後に、今度はグラフをたどる(緑の矢印)ことで網羅的にデータを探索します」

グラフ構造型インデックス

技術をオープンソース化。コミュニティーの共創開発に期待

こうして生まれたのが、高速な近傍検索を実現するソフトウエア「高次元ベクトル近傍検索(Neighborhood Graph and Tree for Indexing;NGT)」。

NGTの威力は、Yahoo! JAPANラボの「FashionNavi」サイトで体感することができます。この技術はスマホアプリにも一部採用されています。

例えば、株式銘柄を管理する「Yahoo!ファイナンス」のアプリでは、指で画面上におよそのチャート図を描くと、類似した値動きを示している銘柄が検索できます。

NGTは画像だけでなく、ベクトルデータ化されていれば、自然言語解析などにも使うことができます。

言語データでは、200万件の言語データを対象に検索したとき、既存の類似技術の中でも最も高速とされるもので、約2.4ミリ秒かかるのに対して、NGTは最速で約0.6ミリ秒と4倍の高速性を実現しました。画像の特徴を抽出する場合も、1000万件の検索がわずか1.4ミリ秒と、そのスピードは既存技術の5~6倍にも達しています。

NGTはこれまで商用不可の研究用途に限定した形で公開されていましたが、より広く技術者コミュニティーに利用され、発展していくことを期待して、2016年11月からはオープンソースとしてGitHub上に公開されています。またこのオープンソースに関係する特許の実施権も無償で提供されるようになりました。

「特許を取得して、それを自社に囲い込み、パテントビジネスを展開するという考え方もあるかと思います。しかしそれでは他の人が使えず、技術は発展しない。特にインターネットやAIの技術はものすごいスピードで動いていますので、囲い込みは現実的ではないのです」と、NGT技術に関する特許申請者の1人でもある岩崎氏は言います。

Yahoo! JAPAN研究所の特許技術がOSS化されるのは今回が初めてですが、技術をオープンにして、コミュニティーによる発展を促すという姿勢はこれまで以上に強くなっています。

今後は利用範囲をeコマースだけに限らず、遺伝子検索の高速化による創薬支援、高度な顔認識技術による犯罪抑止など社会安全技術領域への活用も期待できそうです。

研究者自ら事業開拓できるヤフーは自分に合っている

今回NGTについてわかりやすく解説してもらった岩崎氏は、研究者としてはやや異色のキャリアをたどってきた人物です。

大学院を出て就職した大手コンピューター会社はわずか1年で見切りをつけ、大手メーカーの研究所に転職。テキスト全文検索や画像検索技術の研究を進めてきました。画像検索の研究成果はMPEG7の規格にも一部採用されています。

「ただ研究だけやっても、それが社会に使われないと意味がない。会社自体の技術分野の違いから当時の社内には画像検索技術を使いたいというニーズがなかったので、ふつう研究者はやらないと思いますが、私はどんどん外に売り込みにいきました。それこそ、大手IT、旅行会社、図鑑を編集している出版社……画像認識のニーズを求めての外回りです」

数ある訪問企業の中で、前向きに対応してくれたのが、ヤフー。当時の担当者にプレゼンテーションすると、その場で「すぐ使いましょう」という話になったといいます。

「世界で初めてオークションサイトに類似商品検索機能が搭載されました。ヤフーだったら私の技術が花開く可能性があると、そのとき思いましたね。その後、Yahoo! JAPAN研究所が創設されるという話を聞き、迷いなく応募したのです。入社後に高速なNGTの基本技術を新たに開発し前職で開発したヤフオクの類似商品技術を置き換えました」

ヤフーへの転職は2007年のこと。ビッグデータ、ディープラーニング、機械学習、IoTはまだ流行語にはなっていませんでしたが、岩崎らの地道な研究がそうしたキーワードの登場を下支えしてきたといってもいいでしょう。

なにより、技術は社会で使われてこそ本物という考え方は、基礎研究と事業展開の間をなるべく短いパスでつなぐという、ヤフーのやり方にもフィットするものでした。

「高次元ベクトル検索という私が関わる領域では、Yahoo! JAPAN研究所の研究レベルは世界のどの企業、どの研究機関にもひけをとらないという自負があります。製造業タイプの企業に比べて、研究シーズを事業化するうえでのフローが定式化されていない点は気になりますが、逆にいえば、やり方は自由ということ。これも私の性に合っているんでしょうね」と、岩崎氏は語ります。

NGTのオープン化やスマホアプリへの採用でNGTの認知度も広がってきました。2017年は企業の枠を越えた技術者コミュニティーの共創開発からどんな新しいサービスが生まれるか、期待が高まります。

Yahoo! JAPAN研究所 岩崎 雅二郎 プロフィール
早稲田大学理工学研究科機械工学専攻修士課程修了。複写機メーカー入社後、全文検索、構造化文書検索、画像検索の研究開発およびMPEG7標準化活動に従事。類似画像検索技術でBest of WPC EXPO 2003受賞。2007年ヤフーに入社し、「Yahoo! JAPAN研究所」に所属。ヤフー在籍中に博士(工学)を取得。


※本記事はヤフー採用チームによるエンジニアやデザイナー向けのイベント情報をはじめ、ヤフーで働く社員のワークスタイルやキャリアを幅広くご紹介する情報発信メディア「linotice(リノティス)」(※2017年2月8日掲載)からの提供記事です。

●linotice関連レポート

ヤフーCMO村上臣氏やCTO藤門千明氏のインタビュー記事など、注目のインタビュー記事も満載です!
ユーザーをつかむためには、技術的な正しさだけでは不十分だ──ヤフーCMO・村上臣の学生ベンチャー時代
VisualC++でガリガリ書いていた高専時代に学んだこと ──ヤフー初代黒帯エンジニア、CTO藤門千明の学生時代とは

カテゴリー : デジタル・IT タグ :
CodeIQ MAGAZINEの記事一覧をみる ▶
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。