1124a

AIのための高速なビッグデータ分析が実現! 世界最速クラスの高次元データ検索技術『NGT』

  • このエントリーをはてなブックマークに追加

by [2016年12月08日]

ヤフー株式会社が、高次元データの高速検索技術『NGT(Neighborhood Graph and Tree for Indexing)』を開発し、オープンソースソフトウェアとして公開しました。さらに、同技術に関係する特許の実施権を無償で提供するとのことです。

大幅な処理速度の向上

最近あらゆる分野で活躍しているAIは、膨大な量のデータを学習することで、今までコンピュータには困難だったことを可能にしています。例えば、囲碁のAIで有名なGoogleのDeepMindが開発した「アルファ碁」は、何千万という対局を学習することで、世界最高峰である棋士イ・セドル氏にハンデ無しで勝利しました。

『NGT』は高次元データを高速検索する技術で、言語データや画像データにおいて、既存の類似技術の処理速度に対して大幅に高速化しています。そのため、AIがこれからさらに進化していくために必要不可欠な、テキストや画像、商品・ユーザーデータなど、複数の特徴を持つデータ(高次元データ)を大量のデータベースの中から、高速に検索・特定することが可能になりました。

検索精度(適合率)を90%として、1000万件の画像特徴データを対象に検索を行った場合、既存の類似技術の中でも主流の技術である「FLANN」ではおよそ20.3ミリ秒、既存の最も高速な技術である「直接量子化手法(PQ:Product Quantization)」はおよそ7.9ミリ秒でした。それに対して「NGT」はおよそ1.4ミリ秒で、「FLANN」と比べると約13.5倍も高速であることが証明されています。
1124a

すでに2015年9月より「Yahoo! JAPAN研究所」サイト上にて公開されてていましたが、多くのデータサイエンティストとともにこの技術を発展させていくため、特許実施権を無償提供の上、オープンソースソフトウェアとして、「GitHub」上に公開しています。

なにができるようになる?

では、『NGT』を使って高次元データを高速に処理できるようになると、どうなるのでしょうか。

例えば高次元データにおいて、近似したデータのマッチングの高速化を通じて、AI技術のさらなる精度向上に貢献できます。リアルタイムで処理する必要があるようなものでも、高速に処理できることによって、十分な処理を行うことができるようになったり、より多くのデータを学習できるようになるので、精度向上が期待できます。機械学習やディープラーニングを活用した「スマートフォン用のYahoo! JAPANアプリのニュースなどコンテンツのパーソナライズ配信」や「運用型ディスプレイ広告(Yahoo!ディスプレイアドネットワーク)」の実用化に向けて、精度向上への応用を考えているようです。

そして現在、『NGT』を使ったスマートフォンアプリ「サイヤスカメラ」(iOSのみ)がYahoo!ラボより実験的に公開されています。このアプリではスマートフォンのカメラを任意の商品に向けてかざすだけで、「Yahoo!ショッピング」内のさまざまなストアで取り扱われている複数の商品ページの中から、最安値で扱うストアの商品ページを特定することができます。

実際に手元にあった「午後の紅茶」を使って検索してみました。アプリを起動して商品を正面から撮影するか、バーコードを撮影すると商品を検索してくれます。「午後の紅茶」といってもいろいろと種類があるので、正面から撮った場合は商品の認識結果が数種類表示されました。バーコードの場合はすぐに検索結果が表示され、Yahoo!ショッピング内のストアを安い順に表示してくれます。なのでバーコードにかざせば間違いないかと思います。
1
2 3

ほかにも、保存してある画像を使っても検索できるので、ネットで探していたものを安く買いたいときにはとても便利なアプリだと思います。まだ実験的ということで、登録されていない商品もあるようですが、画像データ、商品データ、値段、ストアなどの高次元データを高速に処理できる『NGT』の強みを活かしたアプリとなっているので、皆さん是非使ってみてはいかがでしょうか。

▼参考リンク
GitHub内のNGT公開ページのアドレス
Yahoo!ショッピング
サイヤスカメラ

タグ:
PageTopへ