【インターンレポート】 深層ニューラルネットワークを用いた多チャンネル音源分離

LINEの冬インターンシップに2カ月間参加しました升山義紀です。
インターンシップではResearch Labsという部署に所属し、“複数人の発話を分離する技術”について研究を行いましたので、その内容を紹介します。

背景

人間には、複数人が同時に発話しているような状況でも自分の目的の発話を分離して聞き取る能力があり、この能力はカクテルパーティー効果と呼ばれています。このカクテルパーティー効果を機械で実現すること(音源分離)には、複数人同時発話時の音声認識性能の向上など多くの応用があります。

例えば、スマートスピーカーに二人の人が同時に話しかけてもきちんと聞き分けてくれたり、テレビをつけていても自分の声だけを聞き取ってくれたら便利ですよね。LINEのResearch Labsでもこれまで音源分離に関する研究を行ってきました(1)。

問題設定

今回は複数のマイクロホンを利用する多チャンネル音源分離、その中でも音声認識の前処理などで広く用いられている“ビームフォーミング”と呼ばれる技術を用いた手法を考えます。

ビームフォーミングでは、例えば音源が左側にある場合、音は左側のマイクロホンに先に届き右側のマイクロホンに遅れて届く、といったマイクロホンへの到達時間の差を元に、特定の方向からくる音を抽出します。この処理は、各マイクロホンでの観測信号に対し周波数領域で係数をかけて足しあわせることで実現できます。

関連研究

近年、ビームフォーマーの係数を深層ニューラルネットワーク(DNN)で推定する手法が注目されています。
DNNを用いたビームフォーミングには大きく二つのアプローチがあります。

  1. ビームフォーマーの係数をDNNで直接推定
  2. 目的発話が支配的な時間・周波数を抽出するマスクをDNNで推定、その情報から係数を計算

どちらのアプローチにもメリット・デメリットがありますが、特に2つ目のアプローチが注目されており、音声認識の技術評価国際イベント(2)などでも用いられています。

2つ目のアプローチによるビームフォーミングは大きく以下の3つの工程に分かれます。

  • DNNによる時間・周波数マスク推定
    • 時間・周波数マスクを利用したマイクの相互関係情報を表す行列(空間相関行列)の推定
    • マイク間情報からビームフォーミングの係数を計算

DNNによる時間・周波数マスク推定はモノラルの音源強調・分離において発展してきた手法で、空間的な情報ではなく音源の統計的な情報に基づいて目的の音を抽出します。

そのため、2つ目のアプローチの2.1の工程で用いられるDNNも、空間的な情報を用いずにモノラルの音源分離で学習させるものが主流でした。本来、ビームフォーミングの性能を向上させる上で重要なのは空間相関行列ですが、DNNはあくまでモノラルの音源分離の性能を向上させるように学習しています。

提案手法

今回のインターンシップでは、2つ目のアプローチで空間相関行列を考慮した学習を行う方法について研究しました。

DNNが何を考慮するかは、学習時にDNNの良し悪しを評価するロス関数に依存します。
そこで、従来2.1の工程でロス関数を計算していたところを、2.2の工程で推定された空間相関行列を評価する多チャンネルのロス関数を新たに設計して用いました。これによって、DNNがモノラルの音源分離の精度向上ではなく、空間相関行列の推定に重要な部分を抽出するように学習することが期待されます。

また、空間相関行列に対するロス関数としては、信号処理で発展してきた多チャンネル信号の観測に対する統計モデルを利用しました。
実際に使用したDNNとして、音源数が2個の場合の一例を示します。

 

実際に2つのマイクロホンを利用した2話者の発話の分離に適用し、従来のロス関数を用いた場合と比べ、分離音声の総合的な歪み度合い(SDR)が約1.0 dB改善していることを確認しました。
(学習時のロスを変更しただけなので、推論時の計算時間は変わりません。)

更に、LINEの先行研究に基づいたマルチタスクトレーニングを行うことで、更に0.7 dB程度SDRが改善しました。
学習時とは異なるマイクロホンの配置においても性能の改善が確認できたことから、アプリケーションに合わせ音源分離に用いるマイクロホンアレイを変更することが可能だと言えます。本研究は現在、国際会議に投稿中です(3)。

まとめ

本記事では、自分がインターンシップで取り組んだDNNを用いたビームフォーミングの研究について紹介しました。
今回のインターンシップでは、メンターの方を始め多くの社員の方々からアドバイスを受けながら研究を進めることができました。
インターンシップに引き続きアルバイトをしているので、今後も研究を進めていこうと思います。

Related Post