DNN の全出力確率系列を用いた音声中の検索語検出の高速化
Acceleration for Spoken Term Detection
Using Posteriorgram of Deep Neural Network
感性情報学講座 0312013153 守屋順啓
指導教員：伊藤慶明 小嶋和徳
1

はじめに大容量記憶デバイスの普及により，大量の音声データや動画データを扱う機会が増加している．これに伴い，音声データから検索語（クエリ）が話されている区間を検索する，
音 声 中 の 検 索 語 検 出 (STD: Spoken TermDetection)の研究が盛んに行われている．また
近年，スマートデバイス等の普及に伴い，音声をクエリとして入力する SQ-STD(SpokenQuery STD)の研究が活性化している．
SQ-STD は，入力音声（クエリ）を，音声認識システムを用いて認識することでテキストクエリとし，テキストクエリ同様の STD システムを用いて検索を行う手法が一般的である．
先行研究 1)では，DNN(Deep Neural Network)を用いて音声クエリ，音声ドキュメントの出力確率系列(Posteriorgram)を求め，両者を照合することで高い検索精度を実現した．しかし，
約 28.6 時間の比較的少ない音声ドキュメントの検索に約 2 分を要し，検索の高速化が課題となっている．そこで本論文では，Posteriorgram を ビ ッ ト 化 す る こ と に よ り
Posteriorgram 同士の照合を高速化する手法と，Posteriorgram 中において高い確率を持つ要素のみを残し，Sparse Vector を用いて照合することで計算時間を削減する手法の計二つの高速化手法を検討する．

2 提案手法本章では提案手法について述べる．2.1 で先行研究 1)の Posteriorgram を用いた SQ-STD について述べ，2.2，2.3 では本論文で提案する 2つの高速化手法について詳述する．
2.1 Posteriorgram を用いた SQ-STD
DNN は，多層からなる Neural Network であり，音声認識では，入力を 1 フレームごとのフィルタバンク等の特徴量，出力をHMM(Hidden Markov Model)で定義される N 個の状態の出力確率とすることが一般的である．
Posteriorgram2)は，フレームレベルで得られる N 個の出力確率を時系列順に並べた行列である．Posteriorgram を用いた SQ-STD では，音声クエリ，音声ドキュメント両者のPosteriorgram を 求 め ， 連 続 DP(DynamicProgramming)により照合し，音声クエリとの類似区間を求める．
局所距離は式(1)を用いて求める．この式で，𝑷𝒊 ，𝑸𝒋 はそれぞれ音声クエリ，音声ドキュメ
ントの Posteriorgram における𝑖フレーム目と𝑗フレーム目の出力確率ベクトルを表す．N 次
元の出力確率の𝑘番目の出力確率をと𝑃𝑖 (𝑘)，𝑄𝑗 (𝑘)と表す．𝑁は HMM の状態数を示している．初めに，𝑷𝒊 ，𝑸𝒋 間の内積を求める． 内積値を距離とするため，負の対数を取る．
𝑁𝐷(𝑷𝒊 , 𝑸𝒋 ) = −ln (∑ 𝑃𝑖 (𝑘)𝑄𝑗 (𝑘))

(1)

𝑘=0

式(1)により得た局所距離を用いて連続 DP照合を行う．
式(1)の計算量は大きく，多くの検索時間を要す．本論文では，2.2，2.3 の高速化手法を適用することで，式(1)の計算量を削減し，高い検索精度を維持したまま処理速度の高速化を図る．
2.2 提案手法 1: ビット演算による局所距離計算手法（ビット演算法）
Posteriorgram の各フレームは𝑁次元の実数値からなっているため，内積計算に大きな時間を要す．提案手法 1 のビット演算法では，Posteriorgram をビット化し，局所距離をビット演算で求めることにより検索速度の向上を図る．閾値𝛼を定め，確率値が𝛼以上ならば 1，𝛼未満ならば 0 とし，𝑁 bit のビット列に変換する．局所距離は式(2)，(3)，(4)を用いて求める．式(2)は，𝑷𝒊 ，𝑸𝒋 の𝑘番目の要素が両方とも1 である bit 数を求めている．式(3)は，両方とも 0 である bit 数を求めている．ビット化した
時に 1 の数が 0 の数に比べ極端に少なくなる
ため，式(2)のように 1 同士で一致することは0 同士で一致することに比べまれであり，この場合には類似性が非常に高いと考えられる．
このため式(4)では，式(2)で求めた値に 100 倍の重みを掛け，式(3)で求めた値との和を求め局所距離とする．距離を表すため負の値をとる．

表 1 提案手法 1 の実験結果
𝑁

𝑂𝑛𝑒(𝑷𝒊 , 𝑸𝒋 ) = ∑ (𝑃𝑖 (𝑘)⋀𝑄𝑗 (𝑘))従来手法
𝛼 = 0.1
𝛼 = 0.01
𝛼 = 0.001
𝛼 = 0.0001

(2)

𝑘=0
𝑁𝑍𝑒𝑟𝑜(𝑷𝒊 , 𝑸𝒋 ) = ∑ {¬ (𝑃𝑖 (𝑘)⋁𝑄𝑗 (𝑘))}

(3)

𝑘=0

𝐷(𝑷𝒊 , 𝑸𝒋 ) = − (100 × 𝑂𝑛𝑒(𝑃𝑖 , 𝑄𝑗 )+ 𝑍𝑒𝑟𝑜(𝑃𝑖 , 𝑄𝑗 ))(4)

2.2 提案手法 2: Sparse Vector を用いた局所距離計算手法（Sparse Vector 法）
Posteriorgram の各フレームの𝑁次元の出力確率は合計すると 1 となるため，その 1 つ 1つは非常に小さい値を持つ．そこで，出力確率のうち，高い確率の要素のみを残し，それ以外を 0 とし，Sparse Vector で表現することで計算量・空間計算量の削減を図る．SparseVector とは，成分のほとんどが 0 であるベクトルであり，密ベクトルよりも空間計算量が少なく，高速な演算が可能という特徴を持つ．
提案手法 2 では，Posteriorgram の各フレームの出力確率のうち，閾値𝛽以上の確率値を残し，𝛽未満を 0 として Sparse Vector とする．局所距離の計算は式(1)を用いる．表 2 に示す通り
𝛽 = 0.1，0.01，0.001のときに残る確率値の割合は，すべて 1%未満である．

3 評価実験
3.1 テストセット
評 価 用 の テ ス ト セ ッ ト に は ， NTCIR-10
Formal run を使用した．検索対象ドキュメント
は，SDPWS 104 講演（約 28.6 時間），クエリ数は 100 である．男女各 5 人，計 10 人の学生にクエリを発話してもらい，音声クエリとして用いた．評価指標には MAP(Mean AveragePrecision)を用いた．
3.2 実験結果
表 1 にビット演算法の実験結果を示す．
「Time」は，1 クエリ当たりの検索時間を表す．
「従来手法」は，先行研究 1)の結果を表し，検索精度が 75.02%，検索時間が 120.3 秒となった．ビット演算法は，𝛼 = 0.01のとき検索精度が 56.88%，検索時間が 68.6 秒となった．
51.7 秒の高速化に成功したが，18.14 point の検索精度の低下となった．

MAP (%)
75.02
55.85
56.88
43.35
20.31

Time (s)120.368.6

表 2 提案手法 2 の実験結果

従来手法
𝛽 = 0.1
𝛽 = 0.01
𝛽 = 0.001

MAP(%)
75.02
59.58
69.82
70.35

Time(s)120.3
25.726.7
29.8

非ゼロの割合(%)
0.10
0.250.75

表 2 に Sparse Vector 法の実験結果を示す．
𝛽 = 0.001のとき，検索精度が 70.35%，検索時間が 29.8 秒となった．従来手法と比べ，検索時間は 90.5 秒高速になった．検索精度は 4.67
point 低下したが，70%以上の高い検索精度を保つことができ，Sparse Vector 法の有効性を確認した．

4終わりに

本論文では，Posteriorgram をビット化するビット演算法と，Posteriorgram 中において高い確率を持つ要素のみを用いる Sparse Vector 法の 2つを提案した．ビット演算法では，従来手法と比べ，検索時間を 51.7 秒削減できたが，検索精度は 18.14 point 低下した．Sparse Vector 法では，検索時間を 90.5 秒削減することができた．
検索精度は 4.67point 低下したが，70%以上の検索精度を維持することができ，Sparse Vector法の有効性を確認した．しかし，まだ実用的な検索時間ではないため，更なる高速化を目指す必要がある．

参考文献
1) 小 原 真 人 他 ： DNN の 全 出 力 確 率 系 列
Posteriorgram を用いた STD の検索精度の向上，
岩手県立大学ソフトウェア情報学部卒業論文(2016).
2) Yaodong Zhang et al: Unsupervised Spoken
Keyword Spotting via Segmental DTW on
Gaussian Posteriorgrams, ASRU 2009, 398-403(2009).