社会人博士の深層学習ブログ

深層学習を使った環境音認識研究で、働きながら博士号を取得しました

【論文紹介】Deep context: end-to-end contextual speech recognition

本記事では、ユーザ特有のコンテキストに応じたバイアシング手法を提案した論文を紹介する。

arxiv.org

 

Abstract

自動音声認識(ASR)では、ユーザーが何を話すかは、ユーザーが置かれている特定のコンテキストに依存します。一般的に、このコンテキストは、単語のn-gramのセットとして表現されます。

本研究では、このような文脈を利用する、新しい全ニューラル、エンド・ツー・エンド(E2E)のASRシステムを提案します。我々のアプローチは、Contextual Listen, Attend and Spell (CLAS)と呼ばれ、ASRコンポーネントと文脈n-gramのエンベッディングを共同で最適化する。

推論の際、CLASシステムには、学習時には見られなかったout-of-vocabulary (OOV)の用語を含む可能性のある文脈フレーズが提示されることがある。

我々の提案するシステムを、ビームサーチの際に独立して訓練されたLASモデルと文脈N-gramモデルの間で浅い融合を行う、より伝統的な文脈化アプローチと比較した。

いくつかのタスクにおいて、提案するCLASシステムはベースライン手法を相対的なWERで68%も上回ることがわかり、個別に学習したコンポーネントよりも共同で最適化することの優位性が示された。これは、個別に学習したコンポーネントよりも共同最適化の方が有利であることを示している。

f:id:ys0510:20210901081709p:plain

 

Introduction

音声技術の普及に伴い,音声はモバイル機器やインテリジェント・パーソナル・アシスタントの主要な入力モダリティの1つとなっています.このようなアプリケーションでは、話者のコンテキストに関する情報を認識プロセスに組み込むことで、音声認識性能を大幅に向上させることができます。このようなコンテキストの例としては,ダイアログの状態,話者の位置,さらにはユーザの連絡先や曲のプレイリストなど,ユーザに関するパーソナライズされた情報がある.

近年,自動音声認識(ASR)のためのsequence to sequenceモデルを構築することに関心が集まっている.

このモデルは,入力音声の発話を受けて,単語,単語の一部,または書記素を直接出力するものである.

このようなモデルは,従来のASRシステムの構成要素である音響モデル(AM),発音モデル(PM),言語モデル(LM)を暗黙のうちに1つのニューラルネットワークに統合し,対数尤度や,期待される単語誤り率(WER)などのタスク固有の目標を最適化するように共同で学習するものである.

このアプローチの代表的な例としては,単語出力を目標とするコネクショニスト時間的分類(CTC),リカレントニューラルネットワークトランスデューサ(RNN-T),「Listen, Attend, and Spell」(LAS)エンコーダ・デコーダアーキテクチャなどがある.

最近の研究では,このような手法が,12,500時間分のトランスクリプトされた音声を用いて学習した場合,従来のASRシステムを上回る性能を発揮することが示されている.

本研究では,文脈情報を認識プロセスに動的に組み込む技術を検討する従来のASRシステムでは、このような情報を取り入れるための有力なパラダイムの1つとして、特定の認識コンテキストに関連する少数のn-gramのLM重みを動的に調整する、独立して学習されたon-the-fly (OTF) rescoringフレームワークを使用していた

このような技術をシーケンサー・シーケンスモデルに拡張することは,システムの性能を向上させる上で重要であり,現在,活発な研究が行われている.このような背景から、これまでの研究では、shallow fusionまたはcold fusionのいずれかによって、認識プロセスに個別のLMコンポーネントを含めることが検討されてきたが、これは認識プロセスがタスク固有のLMに偏る可能性がある。

浅い融合アプローチは,LASの文脈化にも直接使用されており,話者の文脈から構築された特別な重み付き有限状態トランスデューサ(WFST)を用いて出力確率が修正され,パフォーマンスの向上に効果的であることが示されている.

これまでの手法のように,OTFの再スコアリングのために外部の独立して学習されたLMを使用することは,sequence-to-sequenceモデルの構成要素の共同最適化から得られる利点に反する.

そこで、本研究では、文脈のあるフレーズのリストとして提供される文脈情報を活用して認識性能を向上させることができる、新しいオールニューラルメカニズムであるContextual-LAS (CLAS)を提案する。

我々の手法は、まず、各フレーズを文字列として固定次元の表現に埋め込み、次に、モデルの出力予測の各ステップで利用可能なコンテキストを要約するために、注意メカニズムを採用する。

我々のアプローチは、推論時に文脈上のフレーズの数を可変にすることで、ストリーミング・キーワード・スポッティングの文脈で提案された技術を一般化したものと考えることができる。

提案手法は、学習時に特定の文脈情報が利用可能であることを必要とせず、重要な点として、過去の研究とは異なり、語彙外(OOV)の用語を取り込むことができる一方で、再スコアリングの重みを慎重に調整する必要がないことである。

実験的な評価では、CLASは文脈解析コンポーネントをモデルの他の部分と共同で学習することで、数百の文脈フレーズを扱う場合にはオンラインリスコアリング技術を大幅に上回り、数千のフレーズを扱う場合にはこれらの技術と同等であることがわかった。

 

Background

LAS

このモデルは,エンコーダ,デコーダ,注意ネットワークの3つのモジュールで構成されており,これらを共同で学習させて,一連の音響特徴フレームから一連の書記素を予測する(図1a).エンコーダは,音響特徴量x = (x1, ... , xK)を読み取り,高レベルの特徴量(隠れた状態)h x = (h x 1 , ... , h x K)を出力する,積層型リカレントニューラルネットワーク(RNN) [19, 20] (本研究では単方向)で構成されている.エンコーダは、ASRシステムの音響モデルに似ています。デコーダは積層型の単方向RNNで,出力トークン(ここでは文字)のシーケンスy = (y1, . . . , yT )の確率を次のように計算する.

 

エンコーダの状態ベクトル h x に対する条件付き依存性は,マルチヘッドアテンション [21, 13] を用いて,現在のデコーダの隠れた状態 dt と完全なエンコーダの状態シーケンス h x の関数として計算されるコンテキストベクトル ct = c x t を用いてモデル化される. 前の文字コンテキスト y<t を捉えるデコーダの隠れた状態 dt は,次のように与えられる.

 

ここで,dt-1は復号器の前の隠れた状態であり,y〜t-1はyt-1の埋め込みベクトルである.タイムステップtにおける出力の事後分布は次のように与えられる。P(yt

 

ここで,Wsとbsは再び学習可能なパラメータであり,[ct; dt]は2つのベクトルの連結を表す.このモデルは,識別損失を最小化するように学習される.

 

On the fly rescoring

On-the-fly rescoringは、我々の基本的なアプローチの一つである。具体的には,単語レベルのバイアスフレーズのセットが事前に分かっていると仮定し,それらを重み付き有限状態変換器(WFST)にコンパイルする.この単語レベルのWFSTであるGは、「speller」FSTであるSと組み合わされ、一連の書記素/単語ピースを対応する単語に変換します。一般的な言語モデルに対するの手順に従って、文脈的なLM、C = min(det(S ◦ G))を得る。コンテクスト化された LM のスコア PC (y) は、標準的な対数尤度項にコンテクスト化された LM からのスケーリングされた寄与を追加することで、デコーディング基準に組み込むことができる。

 

ここで,λは,ビーム探索の際に,文脈上のLMがモデル全体のスコアにどの程度影響を与えるかを制御する調整可能なハイパーパラメータである.なお、[22]では、ウェイトプッシュは行われていない。その結果、式5の総合スコアは、単語の境界でのみ適用されます。これは、図2(a)に示されています。したがって、この手法は、関連する単語が最初にビーム上に現れない場合、パフォーマンスを向上させることはできません。さらに、この手法は、文脈上のフレーズの数が少ない場合(例:yes, no, cancel)にはそれなりに機能するが、文脈上のフレーズのリストに多くの固有名詞(例:曲名や連絡先)が含まれる場合にはうまく機能しないことが観察された

ウェイトプッシュを使用する場合、図2bに示すように、スコアは各単語の先頭のサブワードユニットにのみ適用されます。これは、初期段階で人為的に単語をブーストする可能性があるため、オーバーバイアスの問題を引き起こす可能性があります。

そこで、図2cに示すように、単語の各サブワード単位に重みを押し付けることを検討します。また、フレーズ全体にマッチしない接頭辞に人為的に重みを与えることを避けるために、図中の負の重みで示されるように、減算コストも含めています。Resultの項では,これら3つのアプローチを比較している.

 

Fig. 2. Different techniques for applying subword-unit scores. Note the costs (i.e, −1) are model parameters, and are tuned during inference.

CLAS

このモデルでは、提供されたバイアスフレーズのリストzを介して追加のコンテキストを使用し、P(y|x, z)を効果的にモデル化します。zの個々の要素は、パーソナライズされた連絡先の名前や曲のリストなど、特定の認識コンテキストに関連するフレーズを表しています。

 

3.1. アーキテクチャ

次に、標準的なLASモデル(図1a)を修正して、CLASモデル(図1b)を作成したことを説明します。

この2つのモデルの主な違いは、バイアス・エンコーダーとそれに対応するアテンション・メカニズムが追加されていることです。

これらのコンポーネントを以下に説明します。

このモデルを理解するために、このモデルは、 z = z1, ... ... , zN と表される、追加のバイアスフレーズのシーケンスのリストにアクセスできると仮定する。z = z1, ... , zN . バイアスフレーズの目的は、モデルが特定のフレーズを出力するようにバイアスをかけることです。しかし、すべてのバイアスフレーズが現在の発話に関連しているとは限らず、どのフレーズが関連しているかを判断し、それを用いてターゲット分布P(yt|h x , y<t)を修正するのはモデル次第である。

我々はLASにバイアスエンコーダーを加え、バイアスフレーズをベクトルh z = {h z 0 , h z 1 , ... ... , h z N }のセットに埋め込む。(バイアスフレーズは現在の発話には関係ないかもしれないので、学習可能なベクトルh z 0 = h z nbを追加します。このオプションは、バイアスフレーズが音声にマッチしない場合に、「バイアスなし」のデコーディング戦略にバックオフすることができ、バイアスフレーズを完全に無視することができます。

バイアス・エンコーダーは多層長短期記憶ネットワーク(LSTM)であり,埋め込みh z iは,ziのサブワード(デコーダーが使用するのと同じ書記素または単語単位)の埋め込みのシーケンスをバイアス・エンコーダーに与え,フレーズ全体の埋め込みとしてLSTMの最後の状態を使用することで得られる.

アテンションは,オーディオエンコーダーで使用したものとは別のアテンションメカニズムを使用して,h z に対して計算される.二次的な文脈ベクトルc z tは,デコーダの状態dtを用いて計算される.この文脈ベクトルは,時間ステップtにおけるzを要約したものである.

CLASモデルの他の構成要素(デコーダーとオーディオ・エンコーダー)は、標準的なLASモデルの対応する構成要素と同じである。CLASでは、音声と前回の出力が与えられたときに、特定のバイアス・フレーズを見る確率を明示的にモデル化している点に注目したい。

 

Training

損失を最小化するようにCLASモデルを学習します。

 

ここで、バイアスリストzは、各学習バッチの学習中に実行時にランダムに生成される。これは推論に柔軟性を持たせるためで、モデルは推論時にどのようなバイアスフレーズが使われるかを想定していないからである。

トレーニング用のバイアスフレーズリストは、トレーニングバッチ内の発話に関連する参照トランスクリプトからランダムに作成されます。

バイアスリストの作成プロセスでは、リファレンストランスクリプトのリストr1, ... . r1, ... ... ... rNbatch という参照原稿のリストを取り、その中からいくつかの参照原稿の部分文字列として現れるngramフレーズのリストzをランダムに選択します。

zがバッチ内の発話の一部と一致しないという「バイアスなし」のオプションを行使するために、確率Pkeepで各参照を作成プロセスから除外します。参照が除外されても、その発話はバッチ内に保持されますが、そのトランスクリプトからバイアス・フレーズを抽出しません。Pkeep=0に設定すると、トレーニングバッチにバイアスフレーズが表示されず、Pkeep=1に設定すると、バッチ内の各発話に少なくとも1つのマッチするバイアスフレーズが表示されることになります。

次に、保存されている各リファレンスからk個の単語n-gramがランダムに選択されます。ここで、kは[1, Nphrases]から一様に選ばれ、nは[1, Norder]から一様に選ばれます。Pkeep, Nphrases, Norderは学習プロセスのハイパーパラメータです。

例えば、Pkeep = 1.0, Nphrases = 1, Norder = 1 と設定すると、各参照トランスクリプトから1つのユニグラムが選択されます。その他の選択については、実験のセクションで説明します。

 

セットzが(ランダムに)選択されると,zと各参照転写物rとの交点を計算していきます.一致するものが見つかるたびに、特別な</bias>記号が一致の後に挿入されます。例えば、参照トランスクリプトがplay a song.で、マッチするバイアスフレーズがplayの場合、ターゲットシーケンスはplay</bias> a songに変更されます。</bias>の目的は、正しいバイアス・フレーズを考慮することによってのみ修正可能な学習エラーを導入することです[18]。言い換えれば、</bias>を予測するためには、モデルは正しいバイアス・フレーズに注目しなければならず、その結果、バイアス・エンコーダーが学習中に更新を受け取ることができるようになります。

 

3.3. 推論
推論では,ユーザは音声特徴ベクトルのシーケンスxと,トレーニングでは見られなかった可能性のあるコンテキストシーケンスのセットzをシステムに渡します.バイアスエンコーダーを用いて,zをh zに埋め込みます.この埋め込みは,オーディオストリーミングが始まる前に行うことができます.次に,オーディオフレームxがオーディオエンコーダに入力され,デコーダは標準的なLASと同様に実行され,ビームサーチデコーディングを用いてN-ベスト仮説を生成する.

 

3.4. バイアス条件付け
何千ものフレーズがCLASに提示されると、意味のあるバイアス・コンテキスト・ベクトルを取り出すことは困難になる。なぜなら、それは多くの異なるバイアス・エンベッディングの加重和であり、トレーニングで見たコンテキスト・ベクトルとはかけ離れている可能性があるからだ。

BiasConditioningはこの問題を軽減しようとするものである。ここでは、推論の際に、モデルがバイアスフレーズのリストz = z1, ... , zN , およびp = p1, ... , pNというバイアスプレフィックスのリストの両方が推論時にモデルに与えられると仮定する。

この手法では,piが部分仮説y<t(ビーム上で部分的にデコードされた仮説)で検出された場合にのみ,ステップtでバイアスフレーズziが「有効」になる.実際には、次のように設定して、式7のバイアス-アテンション-プロバビリティを更新することで行う。

mit = ( 0 if pi ⊆y<t ∞ otherwise (10)

α z t = softmax(u z t - mt) (11)

ここで、⊆は文字列の包含である。バイアス接頭辞のリストは、任意に構築することができる。

例えば、the cat satというバイアスフレーズをthe catというバイアス接頭辞で条件付けしたい場合がある。この場合、cat sat の埋め込みを計算するが、y<t で猫が検出されたときにのみ埋め込みを有効にすることができる。接頭辞の適切な選択は、同じ接頭辞を共有するフレーズの数を最小限にすることで、偏った注意を「過負荷」にしないようにすると同時に、各フレーズをあまりにも多くのセグメントに分割しないようにすることで、特徴的な偏った埋め込みを可能にする。これは、空の接頭辞(pi = )から始めて、同じ接頭辞が多くのフレーズで共有されない限り、各接頭辞を(ziから)1語ずつ反復的に拡張するアルゴリズムによって達成される。セクション5.3.3では、ルールに基づいた接頭辞の構築について述べるが、アルゴリズムの詳細については今後の課題とする。

Experiment

4.1. 実験セットアップ
実験対象は書記素に限られており、モデルの構成も小さい。本実験では、約25,000時間分のトレーニングセット(3,300万の英語音声)を用いている。このデータセットは、Googleの音声検索トラフィックを代表するものであり、匿名化された手書きのものである。このデータセットに、ルームシミュレーターを用いて人為的にクリーンな発話を加え、様々な程度のノイズと残響を加えることで、全体のSNRが0dBから30dB、平均SNRが12dBになるようにしています。雑音源は,YouTubeや日常生活での雑音環境の記録を使用しています.本節で評価するモデルは,グローバルバッチサイズが4,096の8×8 Tensor Processing Units(TPU)スライスで学習される.各学習コアは,各学習ステップにおいて,シャードサイズの32ユートレンスで動作する.このシャードからバイアスフレーズがランダムに抽出されるため,各シャードが学習中に目にするバイアスフレーズは最大で32個となる.また,25msのウィンドウで10msごとに計算された80次元のlog-mel音響特徴を使用しています.このダウンサンプリングにより,シンプルなエンコーダアーキテクチャを採用することができた.エンコーダのアーキテクチャは、256のノードを持つ10の一方向性LSTM層で構成されています。エンコーダのアテンションは,4つのアテンションヘッドを使って512次元にわたって計算される.バイアス・エンコーダーは,512個のノードを持つ1つのLSTM層で構成され,バイアス・アテンションは512次元にわたって計算されます.最後に,デコーダは256ノードの4つのLSTM層で構成されています.合計で約5,800万個の学習可能なパラメータを持ったモデルとなります。このモデルは,TensorFlowを用いて実装されています.すべての実験において,「バイアスなし」の場合の堅牢性を高めるために,Pkeep = 0.5 を設定した.また,Nphrases = 1 と Norder = 4 を設定した.これにより、予想されるサイズが17(シャードサイズの半分、「バイアスなし」の場合は1)のバイアスリストが得られる。

 

4.2. テストセット
我々のモデルをいくつかのテストセットでテストしました。それぞれのテストセットのバイアス設定の概要を表1に示します。

音声検索のテストセットには,約3秒の音声検索クエリが含まれています.Dictationテストセットは、テキストメッセージのディクテーションなど、より長い発話を含んでいます。

Voice Search」と「Dictation」のテストセットは,トレーニングデータの一部にマッチした状態であり,偏りをテストするのではなく,偏りのない状態でのモデルのパフォーマンスをテストするために使用されています.

残りのテストセットは、それぞれ Songs、Contacts、Talk-Toの各テストセットには、4つのフレーズから3,000以上のフレーズまで様々な文脈上のフレーズのリストが含まれており、それぞれの発話は必ずしも同一ではありません。

Songs、Contacts、Talk-Toのテストセットは、TTS(Text-to-Speech)エンジンを使って人工的に生成されています。TTSエンジンにはParallel WaveNetを使用し,生成されたサンプルには学習データと同様にノイズが混入されています.Songsテストセットには,音楽の再生リクエスト(例:play rihanna music)が含まれており,アメリカで人気のある曲やアーティスト名を含むバイアスセットが設定されています.Contacts テストセットには,通話要求(例:call demetri mobile)が含まれており,任意の連絡先のリストを含むバイアスセットが設定されています.Talk-Toテストセットには、多くのチャットボットのうちの1つと会話するリクエストが含まれている(例:talk to trivia game)。利用可能なチャットボットのリストは、以前のセットと比べてかなり大きいことに注意してください。詳細は表1を参照。

 

PDF] Deep Context: End-to-end Contextual Speech Recognition | Semantic  Scholar

Result

このセクションでは、さまざまなテストセットにおけるCLASのパフォーマンスを紹介します。

 

5.1. バイアスフレーズのないCLAS

まず、バイアスフレーズが存在しない場合に、我々のバイアスコンポーネントがデコーディングを傷つけるかどうかを確認するために、我々のモデルを表2の同様の「バニラ」LASシステムと比較する。

CLASのモデルはランダムなバイアスフレーズで学習されていますが、推論時にはフレーズの空リストで評価されていることに注意してください(つまり、推論時には「no-bias」のみが提示されます)。驚くべきことに、CLAS-NBはLASよりも優れた結果を示し、バイアスのかかっていないフレーズがあってもCLASは使えると結論づけた。

そこで、この後の実験では、正確な比較を行うために、LASと直接比較するのではなく、CLAS-NBをLASのベースラインの代理として使用することにした。

PDF] Deep Context: End-to-end Contextual Speech Recognition | Semantic  Scholar

 

5.2. LASベースラインを用いたOTF(On-the-fly)再スコアリング
表3では、異なるOTFリスコアリングを比較しています。これらは、セクション2.2で説明したように、サブワードユニットに重みを割り当てる方法が異なります。他のテストセットでも同様の傾向が見られましたが、簡潔にするために省略しています。

表を見ると,[22]で行ったように単語の最後にバイアスをかけると,バイアスなしのベースラインに比べてほとんど改善されないことがわかります.各単語の先頭にバイアスをかけることでわずかな改善が得られますが[12]、最良のシステムは各サブワード単位でバイアスをかけることで、単語をビーム上に維持することができます。

このようにして、OTFの再スコアリングに関する以降のすべての実験は、各サブワードユニットにバイアスをかけることになります。

 

Table 3. LAS with different ways of contextual biasing.

 

5.3. CLAS with bias phrases

5.3.1. Comparison of Biasing Approaches

CLASと2つのベースラインアプローチを表4で比較する。

(1)セクション5.1で説明したCLAS-NBを用いたLASベースライン、

(2)セクション2.2で説明したLAS OTF rescoring、同じテストセットでλを推定したもの。

その結果、何百ものバイアスのかかったフレーズがあり、OOVの割合が高いテストセット(Songs, Contacts)では、CLASは従来のアプローチに比べて、ハイパーパラメータの調整を必要とせずに大幅に性能が向上することがわかった。

しかし、何千ものフレーズがあるTalk-Toセットでは、CLASの性能は低下します。このスケーラビリティの問題は、バイアスコンディショニングによって解決されます(セクション5.3.3参照)。

Table 4. WER for CLAS and basline approaches


5.3.2. バイアスフレーズの数を変化させた場合のCLAS
Talk-ToでのCLASの失敗をよりよく理解するために、参照原稿に現れるフレーズと、バイアスリストからランダムに選ばれたN個のディストラクタ(原稿に存在しないフレーズ)に限定してCLASを評価した。その結果を図4に示します。ディストラクタの数に応じて、WERが徐々に低下していくことがわかる。

このような挙動を示す理由は、バイアスフレーズの数が多いと、それらのエンベッディング間に相関関係が現れ始めるからではないかと考えています。例えば、talking palとtalkative aiの埋め込みは0.6の相関(正規化内積)がありますが、平均的な相関は0.2です。

Deep Context: End-to-end Contextual Speech Recognition

 

5.3.3. スケーリング問題の克服: CLAS with Biasconditioning (Cond) and OTF rescoring

次に、CLASとバイアス・コンディショニング(セクション3.4)を組み合わせてみる。Talk-toには最も多くのバイアスフレーズがあるので、このセットのみにバイアスコンディショニングを適用し、ルールベースでプレフィックスを作成して、CLASのスケーラビリティをテストする。まず、talkから次の単語までの接頭辞を作成します(例えば、talk to pharmacy flashcardsというフレーズは、接頭辞pi = talk to pharmacyと接尾辞zi = flashcardsに分割されます)。さらに、talk toの後の最初の単語をその最初の文字で条件付けすることも有用であると考えました(例: pharmacyはtalk to pで条件付けされます)。このようにして、同じ接頭辞を持つフレーズの数を225(対3255)に制限する一方で、バイアスフレーズのセグメント数は10%しか増加しませんでした。


表5では、バイアス条件付けとOTF rescoring(セクション2.2)によるCLASの結果を示しています。CLASは、どちらのアプローチからも、またその組み合わせからもメリットがあります。実際、コンディショニングを行うことで、多数のフレーズにも劣化することなく対応することができました。

 

PDF] Deep Context: End-to-end Contextual Speech Recognition | Semantic  Scholar

Conclusion

本研究では、CLASを発表しました。CLASは、全ニューラルでエンドツーエンドのコンテキスト化されたASRモデルであり、フルコンテキストフレーズを埋め込むことでコンテキスト情報を組み込んでいます。実験的評価では、いくつかのテストセットにおいて、提案モデルが標準的な浅い融合バイアス技術よりも優れていることを実証した。さらに、CLASの大規模な文脈フレーズを扱う能力を調査し、CLASの品質をさらに向上させるための条件付け方法を提案した。今後の課題としては、CLASを数万のバイアスフレーズに拡張することである。