人工知性を作りたい

私が日々、挑戦したことや学んだことなどを紹介していく雑記ブログです。 (新しいAI技術HTM, 専門の音声信号処理, 趣味のアニメ等も書いてます。)

HTM(Hierarchical Temporal Memory)のSP層のみを用いた話者照合システムの研究

今回はHTM(Hierarchical Temporal Memory)のSP層のみを用いて話者照合システムを作成し、従来法と比較検討した。

 

 従来法としては以下の二つを用いた。

・SincNet(現在のstate-of-the-art technology)

・GMM(ガウス混合分布)

 

従来の誤差逆伝播法で学習する機械学習では、GPUを用いて大量の計算を行うため、処理時間が大きい。そこで、CPUで動かせるHTMを用いる事で処理時間の少ない話者照合システムの作成を目指した!

 

この記事では、まず簡単に学校で発表した資料を用いて説明します。

記事の最後に、資料の発表動画を掲載しておくので、音声・動画で見たい方はそちらへ

 

HTM(SP層)を用いた話者照合システムの研究

f:id:hiro-htm877:20190322172831p:plain

 

f:id:hiro-htm877:20190322172849p:plain

 

f:id:hiro-htm877:20190322172911p:plain

 

f:id:hiro-htm877:20190322172927p:plain

 

f:id:hiro-htm877:20190322172942p:plain

特徴②でnupicを少しいじりました。

元々、複数の話者の複数の音を学習させる場合、まだ学習が上手く言っていない状態では本人の音声と学習されずに同じシナプスで学習されてしまう事が多い。

そこで、各話者毎にSP層を用意し、それぞれのSP層でそれぞれの音声を学習させる事で各話者の特徴を学習したシナプスを作成しました。

その際に、nupicのいじった部分としては学習したシナプスを取り出し、それらをまとめて1つのSP層を作成するところです。

 

f:id:hiro-htm877:20190322172956p:plain

HTMの入力:音声の3分割とは音声を時間軸で3分割する事です。3分割した理由は実験的にやはり時間情報が必要と分かった為、時間を3分割する事で時間情報を付与しました。(ちなみにΔメルケプストラムやΔパワーも試しましたが上手くいきませんでした。)

 

f:id:hiro-htm877:20190322173012p:plain

 

f:id:hiro-htm877:20190322173028p:plain

 

f:id:hiro-htm877:20190322173048p:plain

話者照合に使用した音声は話者毎に異なる1単語としました。

 

f:id:hiro-htm877:20190322173107p:plain

 

f:id:hiro-htm877:20190322173128p:plain

 

f:id:hiro-htm877:20190322173145p:plain

評価方法はPrecision、Recall、f-値を用いました。詳しくは後日!

 

f:id:hiro-htm877:20190322173202p:plain

 

f:id:hiro-htm877:20190322173225p:plain

 

f:id:hiro-htm877:20190322173340p:plain

 

f:id:hiro-htm877:20190322173423p:plain

 

f:id:hiro-htm877:20190322173449p:plain

これは、話者30人時の評価用単語327語全ての評価に掛かった時間である。

ですので、HTMの場合は1単語、0.0103[s]ぐらいである。

 

f:id:hiro-htm877:20190322173505p:plain

 

結果、HTMの話者照合システムは処理は早いが認識率はイマイチとなった。
今後は、入力やSP層のパラメータが実験的に決めているだけなので、より良い方法を考えて行く予定である。


動画

鼻声、滑舌が悪く聴きづらいですがご了承ください!


HTMのSP層のみを用いた話者照合システムの研究