ディープニューラルネットワークを使ったテキスト依存の話者認証 (d-vector)

ディープニューラルネットワークを使ったテキスト依存の話者認証 (d-vector)

ICASSP2014でJohns Hopkins大学、Googleが発表した論文。

出典:Deep neural networks for small footprint text-dependent speaker verification

概要

本論文では、テキストに依存した話者認証タスクをDeep Neural Network (DNN) で行う方法を述べる。システムは以下の3フェーズで構成されている。

  • 開発フェーズ
    • DNNは話者をフレームレベルで識別するよう訓練する。
    • バックグラウンドになっているモデルはGMM (Gaussian Mixture Model)ベースのUBM (Universal Background Model)からJFA(Joint Factor Analysis)まで幅広い。
  • 話者登録(Speaker enrollment)フェーズ
    • 話者の特徴量を最後の隠れ層から抽出する。これら話者の特徴量の平均をd-vectorと呼ぶ。
  • 評価フェーズ
    • それぞれの発話に対してd-vectorが展開され、登録済みの話者との比較を行い、認証を行う。

実験の結果、DNNベースの本手法は、これまで主流だったi-vectorを使った手法に比べて良い性能を持っている事がわかった。さらに、本手法はノイズに対して頑健であり、False Rejection (システムが本人の要求を誤って拒否すること)の件数が少ない特徴がある。最終的に、本システムではノイズのない環境において、i-vectorと相対的に比較して14-25%性能が優れていることがわかった。

話者認証について

話者認証(Speaker Verification, SV)は、音声信号に含まれる情報に基づいて、認証要求を許可、拒否するもの。
話者認証システムは、「テキストに依存するもの」と「依存しないもの」の2種類が存在する。

  • テキストに依存する話者認証システム
    • 固定の文言または、指示された文言を読み上げるもの。
  • テキストに依存しない話者認証システム
    • テキストの制約なしに自由に発話した結果から認識を行うもの。

本論文では、小さなフットプリント(発話)を利用した、テキストに依存する話者認証システムについて述べる。

DNNを用いた話者認証

全体図を以下に示す。話者の特徴量抽出にニューラルネットワークを使うという意味では、[15]の研究も存在するが、本研究は教師あり学習という点、CNNではなくDNNを用いる点、さらに話者識別(Speaker Identification)ではなく、話者認証(Speaker Verification)で異なる。

話者の特徴量抽出に、発話フレームを用いるという意味では、i-vectorを使った方法と同じだが、因子分析ではなくDNNを用いる点が異なる。
まず、フレームレベルで教師ありのDNNを作り、フレームレベルで分類を行う。バックグラウンドネットワークの入力は、あるフレームの左右のフレームを積み重ねることで行う。出力の数は、開発セットにおける話者数Nによる。ターゲットラベルは1-hotのN次元ベクトルで、その非ゼロ成分が話者に適応する。
DNNが正常に訓練し終わった後、最後の隠れ層をL2正規化し、累積された出力アクティベーションを話者の表現とする。そしてそれは、新しい話者の全ての発話フレームについて、訓練済みのDNNのフィードフォワードプロパゲーションによって計算される。
Softmaxを使わずに、最後の隠れ層を使っている理由は、2点。

  1. DNNのサイズを小さくする
  2. 未知の話者に対して良い標準化が見られた

話者をs、観測値o、発話Oとしたときの発話セットを以下のように定義する。

$$X_s = \{O_{s_1} , O_{s_2} , … , O_{s_n} \}$$

$$O_{s_i}=\{o_1,o_2, …, o_m\}$$

訓練には、計算リソースが潤沢でない状況も考慮し、maxout DNN using dropout [17][18] の方法で、DNNを学習する。ドロップアウトはDNNのオーバーフィッティングを防ぐのに有用なため採用している。Maxout DNN [17]は、ドロップアウトを適切に活用するために考案され、Maxout Networkは、各層の隠れユニットが重ならないグループに分けられるという点で標準的な多層パーセプトロン(MLP)とは異なる。

本研究では、maxout DNNを4つの隠れ層とDistBeliefフレームワーク[20]の各層256ノード、1層あたり2つのプーリング層にて訓練を行った。最初の2つの層はドロップアウトを行わず、最後の2つの層は50%のドロップアウトを行っている。

他のパラメータとして、rectified linear units [21]を使った非線形の活性化関数を隠れ層に用いており、Learning Rateは、0.001に設定し、指数関数的に減衰(5Mstepごとに0.1)するように設定している。
入力としては、与えられたフレームとそのコンテキストに加えて、左側30フレーム、右側10フレームの重ね合わせを行った40次元のLog Filterbank Energy特徴量。ターゲットベクトルは開発セットにおける話者数と同じ496次元となる。

評価実験

646人の話者に、様々な状況下で「OK Google」と複数回発話してもらった。男女比は均衡となっている。496人をバックグラウンドモデルの訓練用に利用し、残りの150名の話者を評価に用いた。話者ごとの発話数は60-130とばらつきがある。評価について、最初の20発話を登録用に、それ以外を話者認証の評価に用いた。デフォルトでは、話者モデルの抽出には登録セットの最初の4発話のみを使い、合計で約12750件の話者認証を行った。
i-vectorを使った手法をベースラインとし、3つのモデルサイズでequal error rate (EER) と、EER results with t-norm [22]という標準化を行ったスコアで比較した。

DNNを使った手法と比較した結果、detection error tradeoff(DET)曲線を見ると、d-vectorよりi-vectorのほうが良い性能を見せている。(左:生データとt-norm化後のスコアのそれぞれの比較、右:10dBのノイズを加えたケースと加えていないケース)

ここで、i-vectorとd-vectorを足した特徴量 (i/d-vector) を定義して比較すると、全体的に14-25%相対的にスコアが改善した。これをSum Fusionと呼ぶ。以下がその結果(DET曲線)になる。

SalesTech
Posted on:
Post author

Leave a comment

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