Recognition」の意訳です。Playingというアプリを搭載し、ディープニューラルネットワークを使用した低消費電力で常時音楽認識が可能なモバイルデバイスを実現しました。Playingの開発で私達の目標は、小型で効率的な音楽認識システムを作成し、音楽認識をインターネット接続なしにオンデバイスで完全に実行できるようにする事でした。Playingはオンデバイスの音楽認識として有用であるばかりでなく、ディープニューラルネットワークが広く利用されるようになる以前に構築されていた当時のサーバーサイドシステムによる音楽検索の精度と効率を大幅に上回りました。Playingと同じ技術をサーバーで実行する音楽検索にも適用できるかどうかに興味を持ちました。補足)オンデバイス、つまりインターネット接続無しに音楽検索を端末内で実行するためには、端末内のデータベースに個々の音楽を認識する非常に小さい符号情報(フィンガープリント:指紋の意)を格納する必要がありました。これにより従来のサーバーサイドシステム、つまり音楽データをサーバーに送付し、音楽の認識をサーバー内で実行し、端末はその認識結果を受け取って表示する従来の音楽検索システムより優れた性能になりました。Searchを発表しました。Assistantで利用できます。音楽検索を開始するだけで、あなたの近くで音楽が再生されたら「この曲は何ですか?」という検索を促すポップアップが表示されます。Google、この曲は何?」と聞くことで検索ができます。Searchでは、これまで以上に速く正確な結果を得ることができます。Playingは、小型化した音楽認識テクノロジーを使用しており、モバイル機器で実行してもバッテリの心配をする必要がほとんどないほどに小さく効率的です。これを実現するために、私達は畳み込みニューラルネットワークを使用して、数秒間の音楽を固有の「フィンガープリント」に変える全く新しいシステムを開発しました。音楽が検索されるとその音楽のフィンガープリントが抽出され、あらかじめ数万曲を保持しているオンデバイスのデータベースと比較されます。データベースは、新しくリリースされた楽曲をフィンガープリントとして追加し、あまり検索されない楽曲を削除する事でサイズが大きくなりすぎないように定期的に更新されています。Playingの1000倍に及ぶ量の音楽データベースを検索する必要があります。Searchがより大きい音楽データベースを使用して、検索をより迅速かつ正確に行うためには、いくつかのチャレンジングな課題がありました。Playingの仕組みについてもう少し詳しく説明しましょう。Playingは、楽曲のフィンガープリントを楽曲から部分的に抜き出したパートから生成します。下記図のように、1秒間隔で7つの2秒クリップを連続する低次元のembeddingに投影する事で作成します。次に、あらかじめ同じニューラルネットワークで人気の音楽を処理して生成されたオンデバイスの楽曲データベースから類似したembeddingシーケンスを検索します。データベース検索では、2つのフェーズのアルゴリズムを使用して一致する曲を特定します。最初のフェーズでは楽曲データベース全体を検索していくつかの候補を見つける高速で不正確なアルゴリズムが使用され、2番目のフェーズでは、候補の中からどの曲が正しい曲か決定します。Playingは、オンデバイスデータベースから類似のembeddingを探すために最近傍探索を実行します。データベースは、空間分割とベクトル量子化のハイブリッドを使用して、数百万のembeddingベクトルを効率的に検索します。音楽データにはノイズが多いので、この検索はおおよそのものであり、全てのembeddingで正しい曲がデータベース内で見つかるとは限りません。クリップ全体でみると、正しい曲のembeddingを見つける機会が非常に高く、最終的に検索は複数の類似embeddingを持つ何点かの楽曲に絞り込まれます。Playingが、検索用のembeddingに近いembeddingを楽曲の中から見つける事ができないことがあります。Playingはデータベース内の候補となった各歌から全てのembeddingを検索します。Playingは類似性を候補毎に推定し、類似度を合計して最終的な一致スコアを取得します。Playingの精度向上に重要です。フィンガープリンティングニューラルネットワークは、単一のembeddingから楽曲の識別を可能にするほど十分に正確ではなく、各embeddingは多くの誤検出結果を生成します。複数のembeddingの結果を組み合わせることで、誤検知を簡単に減らすことができます。これは、正しい曲は全てのembeddingにマッチし、誤検知された曲は1つまたは2つのembeddingのみに一致するからです。Playingが検索対象の音楽をオンデバイスデータベースからどのように見つけるか詳しく説明しました。Searchに移行する際の最大の課題は、誤検知をもたらす可能性がある曲の数が千倍になるということです。Playingより長いパートの楽曲が必要になる事を意味します。Playingよりも速い事であり、遅い事ではありません。私達はユーザーが検索に10秒以上かける事を望んでいませんでした。PlayingのようにCPU性能や記憶領域に制約を受けません。従って、フィンガープリントの仕様に2つの大きな変更を加えました。どちらもサーバーリソースを犠牲にして精度を向上させています。使用するニューラルネットワークのサイズを4倍にし、各embeddingを96次元から128次元に増加させました。これにより、高次元の入力オーディオを低次元のembeddingに変換するためにニューラルネットワークが行う作業量を削減しました。これは、フェーズ2の品質を改善する上で重要です。これは、生のニューラルネットワーク出力の精度に大きく依存します。私たちはembeddingの密度を倍増させました。1秒ごとではなく0.5秒ごとにオーディオからフィンガープリンティングを取得する事は個々のembeddingの品質を大きく低下させることはなく、私達が検索に使用できるembeddingの数を倍増させる事ができました。楽曲の人気度に基づいて索引を重み付けすることも行いました。人気のある曲では一致したとみなすしきい値を低くし、あいまいな曲に対してはそれを上げます。全体として、これは認識速度をあまり遅くすることなく、ほぼ無制限に多くの(不明瞭な)曲をデータベースに追加し続けることができることを意味します。Playingでは、機械学習を使用して、スマートフォンで完全に動作するコンパクトで堅牢なオーディオフィンガープリントを作成しました。Searchでも応用する事ができました。私たちはこのシステムにはまだ改善の余地があると思っています。非常に静かな音楽や非常に騒々しい環境では必ずしも音楽検索は成功しませんし、検索速度ももっと早くできると私達は信じています。私達は次世代の音楽認識を目指し、これらの課題に取り組んでいきます。Arcasに感謝します。ヒンディー語の歌が全然認識されないよ!」等々の私の気に入っている歌が認識されない系のクレームが多かったです。ヒンディー語の歌をいきなり認識する事を求められるとは現実世界のハードルは本当に高いなぁ、と思ったのですが、日本語の曲、例えばラストコンサートで注目を集めている安室奈美恵はもちろん、その他昔のヒット曲などもかなり認識してくれました。Playing」がPixel2専用なだけです。Google、この曲は何?」で、スピーカーから流れるyoutubeの曲を聞かせると相当高い精度で認識されました。町中で流れる曲に対してどの程度認識してくれるのかまだ試してませんがちょっと楽しみです。2018年9月18日追記:渋谷のセンター街のスピーカーなどからでも音楽認識してくれました。言っても洋楽はその回答があっているかどうか検証が難しく、唯一即検証できたのは、きゃりーぱみゅぱみゅの原宿いやほいくらいでしたけれども。コメントをキャンセルメールアドレスが公開されることはありません。2003年のコンピュータとソフトウェアでは、同じ問題がほぼ一分で解けた。WordPress.。