ニュース

Google、スマホ上で動きオフラインでも使える音声認識技術を開発

~1文字単位でのリアルタイム音声入力を実現

左が従来の音声認識、右が新しい音声認識 Video credit: Akshay Kannan and Elnaz Sarbar

 Googleは12日(米国時間)、スマートフォン上でオフラインでも実行できるニューラルネットワークによる音声認識技術を発表した。

 この新音声認識機能は、Android向けに同社が提供しているIME「Gboard」に実装されるかたちで、すでにPixelスマートフォン向けに提供が開始されている。対応言語は英語のみ。

 新音声認識機能は、「回帰型ニューラルネットワークトランスデューサー(RNN-T)」を用いることで、スマートフォン上に訓練されたモデルを配置し、端末上で音声認識を行ない、オフライン環境でも動作するほか、従来とは異なるアプローチによって、よりリアルタイム性の高い文字入力を実現している。

 RNN-Tは、“アテンション”ベースではないシーケンス間モデルの一種で、出力(文章)を生成するために、入力シーケンス全体(入力音声の波形)を処理する必要があるほとんどのシーケンス間モデルとは異なり、入力サンプルを連続的に処理することで、シンボルをストリーミングで出力する。

 つまり、従来の音声認識のように、単語単位で認識を行なうのではなく、文字単位で認識を行なうため、音声とともに1文字ずつ文字が出力されるという。

RNN-Tのイメージ Image credit: Chris Thornton

 従来の音声認識モデルでは、サイズが約2GBと巨大な検索グラフを要するため、スマートフォンで簡単にホストできるものではなく、クラウド上にモデルを配置し、オンラインで端末から利用するしかないという問題があった。

 一方、今回Googleの開発した音声認識アプローチでは、巨大なグラフを検索する必要はなく、単一のニューラルネットワークを介したビーム検索で音声認識を実現。Googleでは、パラメータのスマートな使用と、より高密度な情報の集積によって、RNN-Tのサイズを450MBまで小型化し、従来のサーバーベースのモデルと同じ精度を実現した。

 ただ現在のスマートフォンにとっては、処理速度の関係上、リアルタイム音声認識を実現するには、450MBでも大きすぎるとしており、モデル最適化ツールキットとして公開している「TensorFlow Liteライブラリ」を用いて、パラメータ量子化およびハイブリッドカーネル技術によってモデルサイズをさらに縮小。この最適化では、浮動小数点モデルと比較してサイズを4分の1に圧縮し、実行も4倍高速化。実際にRNN-Tは、最終的に80MBまで圧縮され、シングルコア上でリアルタイムの音声よりも高速に実行可能となった。

 Googleでは、将来的にそのほかの言語への適用や、より広い分野で同技術が活用されることを期待するとしている。