雑音重み推定と音声 GMMを用いた雑音除去 神戸大学大学院工学研究科 三宅 信之,滝口 哲也,有木 康雄
研究の背景 雑音が混入することで音声認識率が低下 そのため様々な雑音除去法が存在する 発話中に突如発生した雑音は除去しづらい
研究の目的 クリーンスピーチに突発的な雑音が重畳したとき,その雑音を除去し、音声認識率を改善する 電話音 o m o t e
システム全体の流れ 音声特徴量 の抽出 突発性雑音あり 雑音の識別 雑音除去 雑音の検出 音声認識 クリーンスピーチ
クラスタリング 雑音は種類が多いためあらかじめクラスタリング クラス内距離を一定以下(θ)に設定したい 除去時にクラスのデータの平均値を雑音のデータとして利用 クラス内距離を一定以下にすることでミスマッチを防ぐ K-meansで分類 データと中心の距離dを計算 θ<dなら クラスを分割
クラスタリング クラス内距離を小さくするとクラスが増えすぎる 上段から徐々にθの 値を小さくしていく ツリー上にすることで解決 ... d <50 上段から徐々にθの 値を小さくしていく d <25 ... Class 1 phone Class 2 coins coin Class N Tear …..
システム全体の流れ 音声特徴量 の抽出 突発性雑音あり 雑音の識別 雑音除去 雑音の検出 音声認識 クリーンスピーチ
あらゆるげんじつおすべてじぶんのほーえねじまげたのだ 雑音の検出 識別器を用いてクリーンスピーチか 雑音重畳音声かのラベルを付ける 識別器はAdaBoostで作成 弱識別器はdecision stump 入力フレーム あらゆるげんじつおすべてじぶんのほーえねじまげたのだ がーーーー 識別器 クリーンスピーチ 雑音重畳音声
雑音の識別 各クラスの雑音重畳音声を使用して 作成した識別器で ツリーの上段から順に識別していく Clean speech Noisy speech × feature Classifier × × 各クラスの雑音重畳音声を使用して 作成した識別器で ツリーの上段から順に識別していく 識別器はone-vs-rest法で拡張したAdaBoostで作成 ... Class 1 phone Class 2 coins coin ….. Class N Tear
雑音除去 音声特徴量 の抽出 突発性雑音あり 雑音の識別 雑音除去 雑音の検出 音声認識 クリーンスピーチ
雑音重畳音声の特徴量 どんな雑音か識別されている ≒特徴量の大まかな形は既知(強さは不明) 強さを表す定数αを導入 メルフィルタバンクに変換 観測信号 音声信号 雑音 メルフィルタバンクに変換 (b次元目の特徴量) どんな雑音か識別されている ≒特徴量の大まかな形は既知(強さは不明) 強さを表す定数αを導入
雑音重畳音声の特徴量 対数メルフィルタバンク に変換 第2項を推定し、音声特徴量を得る
GMMを用いた推定 未知 クリーン音声のGMM(Gaussian Mixture Model) をもとに を考える [2001eurospeech, segura et.al] クリーン音声のGMM(Gaussian Mixture Model) をもとに を考える より 識別されたクラスの平均値 第2項の推定値は混合ごとの尤度を使った、 の重み付き平均とする 未知
重み推定 EMアルゴリズムを使った推定 混合ごとの重み推定 p(x)が最大になるように決定 p(x,m)が最大になるように混合ごとに決定 混合ごとの最大の尤度による重み付き平均
EMアルゴリズムを用いた推定 を最大化するようにαの値を決定 EMアルゴリズムの使用 Estimationステップ Maximizationステップ 収束するまで繰り返すことで最適解を得る
EMアルゴリズムを用いた推定 と微分した式は複雑な値になるためニュートン法を用いてとく を繰り返すことで近似解を得る
混合ごとの推定 は を最大化するよう混合ごとに決定 あるいは を解く 解析的にとくことは難しく、 ニュートン法で決定 α
混合ごとの推定 求めた を使い と定義しなおす 推定値に各混合の尤度を使って重み付き平均 音声特徴量の推定
実験条件(雑音除去) 評価法 テストデータ 発話データ SNRを調整した 雑音重畳音声500単語×4人 雑音重畳音声500単語×4人 計2000発話(シミュレーションデータ) SNR -5,0,5 dB 雑音継続時間は20~300 ms程度 発話データ ATR特定話者単語発話 男性2名女性2名 雑音データ [S. Nakamura, et al, 2000] RWCP非音声ドライソースに含まれるすべての雑音(105種) 1種類につき100データが存在し、50データを学習用、50データをテスト用に使用 学習データ 単語発話2000発話 AdaBoostの学習用に上記の発話に雑音を重畳させたもの 雑音の検出・識別 AdaBoostの学習回数200回 特徴量:24次元対数メルフィルタバンク 雑音除去 クリーン音声GMM混合数16,32,64 クラス内距離 上段から順に50,25,12,6 クラス数45 評価法 MFCC 12次元 クリーン音声で作成したHMMでの認識率を算出 音素HMM 各5状態 4混合
検出・識別結果 5 dB 0 dB -5 dB 再現率 適合率 識別率 0.820 0.897 0.952 0.827 0.831 0.833 識別率 0.283 0.404 0.470 再現率= 正しく検出されたフレーム数+未検出フレーム数 正しく検出されたフレーム数 適合率= 正しく検出されたフレーム数+誤検出フレーム数 正しく検出されたフレーム数 識別率= 正しく検出されたフレーム数 正しく検出されたフレーム数-識別誤り数
音声認識結果 [SNR -5 dB] 96.5 Oracle label
音声認識結果 [SNR 0 dB] 96.5 Oracle label
音声認識結果 [SNR 5 dB] 96.5 Oracle label
未知雑音に対する実験結果 10-foldクロスバリデーションを用い、94種で学習、残りの11種の雑音でテストデータを作成 GMM 64混合,混合ごとの重み推定を使用 5 dB 0 dB -5 dB 再現率 0.808 0.879 0.934 適合率 0.802 0.806
まとめと今後の予定 突発性の雑音除去法を提案した シミュレーションデータにおいて、雑音除去によって認識率の改善が見られた 重み推定を行うことでの認識率の改善 未知雑音に対しても本手法の有効性を確認 大語彙・不特定話者での音声認識への適応 実環境での実験
ニュートン法を用いたαの決定 これを解析的にとくことは困難! →ニュートン法によって近似的に解く 収束するまで逐次更新