モバイルデバイス向けの End-to-End ストリーミング音声認識

モバイルデバイス向けの End-to-End ストリーミング音声認識

出典: Streaming End-to-end Speech Recognition For Mobile Devices

Googleが2018年11月にArXiv.orgで発表した論文。Google Developers Blog の記事によると、Google の音声認識機能で、デバイス上で動作する Gboard の技術として使われている。

概要

これまでの研究では、ウェイクワード認識[4,5,6]、大規模な語彙の連続認識[7,8]がある。また、E2Eの音声認識では、CTCやRNN-T、AttentionベースのEncoder-decoder、RNN-HMMのハイブリッドのモデルが知られている。Attentionベースのストリーミングでは、MoChA[21]が開発されている。この研究では、RNN-Tを使ったストリーミング音声認識について述べる。
リアルタイムで音声認識を行うには、以下のような課題をクリアする必要がある。

  1. 正確でありながら処理時間を掛けず遅延しない
  2. ユーザ固有の情報を認識すること(連絡先や音楽の名前)
  3. 電話番号など数字の羅列も読み取る

このため、RNN-Tに以下の拡張を行った。

  1. Layer Nomalization [23]
  2. 大きなバッチサイズの利用[24]
  3. word-piece target[25]
  4. 推論と学習を高速化、メモリ消費量を削減するtime reduction layer[26]
  5. ユーザ独自のコンテキストを学習するshallow-fusion approach[27, 28]
  6. E2Eが不得意な、数字の羅列を認識する技術

RNN-Tについて

RNN-Transducer[11,19]は、CTCがフレームごとの特徴量 (x) から音素列 (y) に直接変換するだけなのに対し、RNN-Tは過去の認識結果の音素列を含めて推論する特徴がある。また、入力する過去の認識結果の音素列はブランク(どの音素にもマッチしなかったフレーム)を取り除いて入力する。

モデルの特徴

  • RNN-Tをモバイルデバイスに実装するにあたって様々な方法を試したが、結果として8層の単方向のLSTMを使っている。
  • Encoderの各層にConnectionを減らすためProjection Layerを追加し、学習と推論の時間短縮のためtime-reduction layerを追加した。
  • 訓練時にlayer normalization[23]とword-piece subword units [25]、forward-backward algorithm [24]を実装したことにより安定性、精度が向上。
  • 推論時には、RNNのキャッシュを行い50-60%計算量を縮減させた。
  • encoderとprediction networkに別々のスレッドを用い、非同期のパイプライン処理を使い、パイプライン処理を行わなかったときに比べて処理時間を28%抑えている。
  • メモリの消費量を抑えるため、32bit浮動小数点数から8bitの固定小数点数に変更した。これにより。ARMのプロセッサを使った場合、3倍高速化した。

コンテキストによるバイアスへの対応

  • コンテキストによるバイアスとは、ユーザの好きな音楽、場所、連絡先、インストールしたアプリなど、ユーザの状況に応じた変化のこと。
  • これに対応するため、言語モデルへの当てはめを行う際にshallow-fusionと呼ばれる、WFSTに対してユーザに特徴的な単語に重み付けをする処理を行っている。

テキスト標準化 (Text Normalization)

  • 住所の番地の読み上げ(例:navigate to two twenty one b baker street)などの精度を向上させるため、言語モデルにクラス付け(例: ADDRESSNUM)を行って回避している。このクラスに関しては別のFSTで音声認識を行う仕掛けになっている。
  • 数字の羅列を正確に認識させるため、合成音声を500万発話作成し、学習させている。

モデルの全体像

  • 10msのオーバラップを含む25msのフレームについて、80次元のLog-Mel フィルタバンクを特徴量として作成した。3フレーム前までのフレームを30msにダウンサンプリングし重ね合わせ。
  • Encoderは8層のLSTMレイヤーでそれぞれ640次元のProjection層。time-reduction layerを含んでいる。Prediction networkは、2層のLSTMレイヤー、640次元のProjection層で構成。EncoderとPrediction networkは、それぞれJoint Networkに与えられ,Softmaxに与えられる。

評価

  • VS (Google Voice Searchの14.8万件の音声)と、IME (Google Trafficの15.7万件の音声)を使って評価。
  • 精度に関して、E0(RNN-T)〜E3 (Word-piece) を利用まで段階的にモデルを改善した結果、E0の時点ですでにCTCよりも低いWER。
  • コンテキストバイアスに関して、E3に教師なしデータを加え、バイアスを加えたもの(E6)で曲名以外で最も良い性能。
  • テキスト標準化 (Text Normalization)に関して、数字の読み上げでCTCより良い性能。
  • リアルタイム性では、RT90(音声の長さに対する処理時間の長さの比)とWERのバランスを評価し、CTCよりよい性能であった。

SalesTech
Posted on:
Post author

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です