雑音重み推定と音声 GMMを用いた雑音除去

25
雑雑雑雑雑雑雑雑雑 雑雑雑雑雑雑雑雑 GMM 神神神神神神神神神神神神 神神 神神 神神 神神 神神 神神

Upload: brasen

Post on 05-Jan-2016

60 views

Category:

Documents


5 download

DESCRIPTION

雑音重み推定と音声 GMMを用いた雑音除去. 神戸大学大学院工学研究科   三宅 信之,滝口 哲也,有木 康雄. 研究の背景. 雑音が混入することで音声認識率が低下 そのため様々な雑音除去法が存在する 発話中に突如発生した雑音は除去しづらい. 研究の目的. クリーンスピーチに突発的な雑音が重畳したとき,その雑音を除去し、音声認識率を改善する. 電話音. o m o t e. システム全体の流れ. 音声特徴量 の抽出. 突発性雑音あり. 雑音の識別. 雑音除去. 雑音の検出. 音声認識. クリーンスピーチ. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 雑音重み推定と音声 GMMを用いた雑音除去

雑音重み推定と音声GMMを用いた雑音除去

神戸大学大学院工学研究科  三宅 信之,滝口 哲也,有木 康雄

Page 2: 雑音重み推定と音声 GMMを用いた雑音除去

研究の背景

雑音が混入することで音声認識率が低下 そのため様々な雑音除去法が存在する

発話中に突如発生した雑音は除去しづらい

Page 3: 雑音重み推定と音声 GMMを用いた雑音除去

研究の目的 クリーンスピーチに突発的な雑音が重畳した

とき,その雑音を除去し、音声認識率を改善する

電話音

o m o t e

Page 4: 雑音重み推定と音声 GMMを用いた雑音除去

システム全体の流れ

音声特徴量の抽出

雑音の検出

雑音の識別 雑音除去

音声認識クリーンスピーチ

突発性雑音あり

Page 5: 雑音重み推定と音声 GMMを用いた雑音除去

クラスタリング 雑音は種類が多いためあらかじめクラスタリ

ング

K-means で分類

データと中心の距離 d を計算

θ<d ならクラスを分割

クラス内距離を一定以下 (θ) に設定したい 除去時にクラスのデータの平均値を雑音のデータとして利用

クラス内距離を一定以下にすることでミスマッチを防ぐ

Page 6: 雑音重み推定と音声 GMMを用いた雑音除去

クラスタリング クラス内距離を小さくするとクラスが増えすぎる

ツリー上にすることで解決

Class 2coinscoin

Class 1phone

...

Class NTear

…..

d <25

d <50

上段から徐々に θ の値を小さくしていく

Page 7: 雑音重み推定と音声 GMMを用いた雑音除去

システム全体の流れ

音声特徴量の抽出

雑音の検出

雑音の識別 雑音除去

音声認識クリーンスピーチ

突発性雑音あり

Page 8: 雑音重み推定と音声 GMMを用いた雑音除去

雑音の検出

あらゆるげんじつおすべてじぶんのほーえねじまげたのだがーーーー

入力フレーム

識別器

識別器を用いてクリーンスピーチか  雑音重畳音声かのラベルを付ける

クリーンスピーチ 雑音重畳音声

識別器は AdaBoost で作成 弱識別器は decision stump

Page 9: 雑音重み推定と音声 GMMを用いた雑音除去

雑音の識別

Class 1phone

...

Class 2coinscoin

Class NTear

…..

×

Classifier×

Clean speech

Noisy speech

×feature

各クラスの雑音重畳音声を使用して作成した識別器でツリーの上段から順に識別していく

識別器は one-vs-rest法で拡張したAdaBoostで作成

Page 10: 雑音重み推定と音声 GMMを用いた雑音除去

雑音除去

音声特徴量の抽出

雑音の検出

雑音の識別 雑音除去

音声認識クリーンスピーチ

突発性雑音あり

Page 11: 雑音重み推定と音声 GMMを用いた雑音除去

雑音重畳音声の特徴量)()()( tntstx

観測信号 音声信号 雑音

~~~~bbb NSX

メルフィルタバンクに変換

どんな雑音か識別されている ≒特徴量の大まかな形は既知(強さは不明)

bbb NSX

強さを表す定数 α を導入

( b 次元目の特徴量)

X

Page 12: 雑音重み推定と音声 GMMを用いた雑音除去

雑音重畳音声の特徴量

第 2 項を推定し、音声特徴量を得る

対数メルフィルタバンク に変換)log( bb Xx

bbb nsx expexpexp

bbb NSX

)(

)exp(1log

)exp()exp(log

,,gs

sns

nsx

bb

bbb

bbb

ns

Page 13: 雑音重み推定と音声 GMMを用いた雑音除去

GMMを用いた推定

)x(p を考える m

msmsNmp ,, ,;s)Pr()s( をもとにクリーン音声の GMM ( Gaussian Mixture Model )

m

mxmxNmp ,, ,;)Pr()( xx

mGmsmx ,,, )]exp(1log[ ,, nmsmG

msmx ,, 第 2 項の推定値は混合ごとの尤度を使った、 の重み付き平均とする

mmxmx

mGm

mxmx

Nm

Nm

,,

,,,

,;)Pr(

,;)Pr(

ˆ

x

x

g g - x s

mG,識別されたクラスの平均値

)( ,,nsgsx より

未知

[2001eurospeech, segura et.al]

Page 14: 雑音重み推定と音声 GMMを用いた雑音除去

重み推定

EMアルゴリズムを使った推定 p(x)が最大になるように決定

混合ごとの重み推定 p(x,m)が最大になるように混合ごとに決定 混合ごとの最大の尤度による重み付き平均

Page 15: 雑音重み推定と音声 GMMを用いた雑音除去

EMアルゴリズムを用いた推定

mmxnmsms

mmxmx

gNm

Nmp

)),,,(;x()Pr(

,;x)Pr()x(

,,,

,,

を最大化するように α の値を決定

EM アルゴリズムの使用

収束するまで繰り返すことで最適解を得る

m

kk mpmpQ ),,x(log),,x(),( )()(

),(maxarg )()1( kk Q

Estimation ステップ

Maximizationステップ

Page 16: 雑音重み推定と音声 GMMを用いた雑音除去

EMアルゴリズムを用いた推定

b bmx

bmsb

kbmsbn

bmsbnbmsbn

e

eexmxp

p

)1(

))1log((),(

)(log,,,

,,,,,,

2,,

,,

x

と微分した式は複雑な値になるためニュートン法を用いてとく

)(log

)()1( xpf

2

2)2( )(log

)(

xpf

)(

)()2(

)1(

f

f

を繰り返すことで近似解を得る

Page 17: 雑音重み推定と音声 GMMを用いた雑音除去

混合ごとの推定 は を最大化するよう混合ごとに決定

0)(

,mp x を解くあるいは 0

),(log

mp x

),( mp x

b bmx

mbmsb

b bmx

bmxb

bmsbNex

xmp

2,,

2,,

2,,

2,,

2

))1log((

2

)(,log

,,,

x

m

0)1(

))1log((),(log,,,

,,,,,,

2,,

,,

b mbmx

mbmsb

m bmsbn

bmsbnbmsbn

e

eexmp

x

解析的にとくことは難しく、ニュートン法で決定

α

),( mp x

Page 18: 雑音重み推定と音声 GMMを用いた雑音除去

混合ごとの推定 )exp(1log ,, msnmmG

音声特徴量の推定

m

mGm

mp

mp

),(

),(

ˆ,

x

x

g

gxs ˆˆ

求めた   を使いm

推定値に各混合の尤度を使って重み付き平均と定義しなおす

x

s

Page 19: 雑音重み推定と音声 GMMを用いた雑音除去

実験条件(雑音除去)

雑音の検出・識別 AdaBoost の学習回数 200 回 特徴量: 24 次元対数メルフィルタ

バンク 雑音除去

クリーン音声 GMM 混合数16,32,64

発話データ ATR 特定話者単語発話

男性 2 名女性 2 名 雑音データ [S. Nakamura, et al,

2000] RWCP 非音声ドライソースに含ま

れるすべての雑音 (105 種 ) 1 種類につき 100 データが存在し、

50 データを学習用、 50 データをテスト用に使用

学習データ 単語発話 2000 発話 AdaBoost の学習用に上記の発話に

雑音を重畳させたもの

評価法 MFCC 12 次元 クリーン音声で作成した

HMM での認識率を算出 音素 HMM  各5状態  4

混合

クラス内距離 上段から順に 50,25,12,6 クラス数 45

テストデータSNR を調整した雑音重畳音声 500 単語 ×4 人 計 2000 発話(シミュレーションデー

タ) SNR -5,0,5 dB雑音継続時間は 20 ~ 300   ms

程度

Page 20: 雑音重み推定と音声 GMMを用いた雑音除去

検出・識別結果5 dB 0 dB -5 dB

再現率 0.820

0.897 0.952

適合率 0.827

0.831 0.833

識別率 0.283

0.404 0.470

適合率 =正しく検出されたフレーム数+誤検出フレーム数

正しく検出されたフレーム数

再現率= 正しく検出されたフレーム数+未検出フレーム数

正しく検出されたフレーム数

識別率 =正しく検出されたフレーム数

正しく検出されたフレーム数-識別誤り数

Page 21: 雑音重み推定と音声 GMMを用いた雑音除去

音声認識結果

57.4

72.2

78.8 79.1

70.1

79.479.4

69.6

79.680.2 81.582.2

40

45

50

55

60

65

70

75

80

85

90

95

100

除去なし 16混合 32混合 64混合雑音除去時の混合数

重み推定なしEMアルゴリズム混合毎推定

[SNR -5 dB]

40

45

50

55

60

65

70

75

80

85

90

95

100

クリーンスピーチ

Oracle label

96.5

Page 22: 雑音重み推定と音声 GMMを用いた雑音除去

音声認識結果

63.860.8

80.3 81.2

64.7

80.7 82.0

63.0

81.482.485.785.1

404550556065707580859095

100

除去なし 16混合 32混合 64混合

雑音除去時の混合数

重み推定なしEMアルゴリズム混合毎推定

[SNR 0 dB]

40455055

6065707580

859095

100

クリーンスピーチ

96.5

Oracle label

Page 23: 雑音重み推定と音声 GMMを用いた雑音除去

音声認識結果

70.565.8

82.883.3

65.8

83.984.1

64.1

84.484.788.489.1

404550556065707580859095

100

除去なし 16混合 32混合 64混合雑音除去時の混合数

重み推定なしEMアルゴリズム混合毎推定

[SNR 5 dB]

40

45

50

55

60

65

70

75

80

85

90

95

100

クリーンスピーチ

96.5

Oracle label

Page 24: 雑音重み推定と音声 GMMを用いた雑音除去

未知雑音に対する実験結果 10-fold クロスバリデーションを用い、 94 種で学習、残りの 11

種の雑音でテストデータを作成 GMM 64 混合,混合ごとの重み推定を使用

58.6

72.6

63.2

77.0

70.1

80.0

4045505560657075808590

-5 dB 0 dB 5 dB

除去前除去後

5 dB 0 dB -5 dB

再現率 0.808 0.879 0.934

適合率 0.802 0.806 0.806

Page 25: 雑音重み推定と音声 GMMを用いた雑音除去

まとめと今後の予定 突発性の雑音除去法を提案した シミュレーションデータにおいて、雑音除去

によって認識率の改善が見られた 重み推定を行うことでの認識率の改善 未知雑音に対しても本手法の有効性を確認

大語彙・不特定話者での音声認識への適応実環境での実験