IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人 筑波大学の特許一覧

特開2023-39288音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム
<>
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図1
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図2
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図3
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図4
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図5
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図6
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図7
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図8
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図9
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図10
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図11
  • 特開-音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023039288
(43)【公開日】2023-03-20
(54)【発明の名称】音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム
(51)【国際特許分類】
   G10L 21/0272 20130101AFI20230313BHJP
   G10L 25/30 20130101ALI20230313BHJP
【FI】
G10L21/0272 100Z
G10L25/30
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021146387
(22)【出願日】2021-09-08
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り ウェブサイトの掲載日 2021年2月24日 ウェブサイトのアドレス https://acoustics.jp/annualmeeting/online_2021s/
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504171134
【氏名又は名称】国立大学法人 筑波大学
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】亀岡 弘和
(72)【発明者】
【氏名】井上 翔太
(72)【発明者】
【氏名】李 莉
(72)【発明者】
【氏名】牧野 昭二
(57)【要約】
【課題】音源の分離に要求される計算量を削減すること。
【解決手段】1又は複数の音源が発した音の合成波を表す信号である混合信号と入力された分離行列とに基づき分離行列を更新する第1更新処理と、前記混合信号と前記第1更新処理の実行により更新された更新後の分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを実行する数理モデル実行部と、前記数理モデルの実行により前記第1更新処理の実行により更新された更新後の分離行列と前記第2更新処理の実行により更新された更新後の分離行列とに基づき、前記数理モデルを更新する最適化部と、を備える音源分離モデル学習装置。
【選択図】図1
【特許請求の範囲】
【請求項1】
1又は複数の音源が発した音の合成波を表す信号である混合信号と入力された分離行列とに基づき分離行列を更新する第1更新処理と、前記混合信号と前記第1更新処理の実行により更新された更新後の分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを実行する数理モデル実行部と、
前記数理モデルの実行により前記第1更新処理の実行により更新された更新後の分離行列と前記第2更新処理の実行により更新された更新後の分離行列とに基づき、前記数理モデルを更新する最適化部と、
を備える音源分離モデル学習装置。
【請求項2】
前記第1更新処理は、入力された分離行列の転置と前記混合信号との積を取得する第1更新副処理と、音源を表現するモデルが有するパラメータである音源モデルパラメータの値を前記積に基づき前記音源それぞれについて推定する第2更新副処理と、混合信号と前記第2更新副処理による推定の結果とに基づき観測混合信号の重み付き空間共分散行列を取得する第3更新副処理と、前記重み付き空間共分散行列と前記分離行列とに基づき、前記分離行列と更新後の前記分離行列との差分を示す量である更新値を取得する第4更新副処理と、
を含み、
前記第2更新副処理と前記第4更新副処理とは前記数理モデルの更新の際に更新される、
請求項1に記載の音源分離モデル学習装置。
【請求項3】
前記第2更新副処理を表現する回路と前記第4更新副処理を表現する回路とは各層がCNN(Convolutional Neural Network)で構成されたニューラルネットワークである、
請求項2に記載の音源分離モデル学習装置。
【請求項4】
1又は複数の音源が発した音の合成波を表す信号である混合信号と入力された分離行列とに基づき分離行列を更新する第1更新処理と、前記混合信号と前記第1更新処理の実行により更新された更新後の分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを実行する数理モデル実行部と、前記数理モデルの実行により前記第1更新処理の実行により更新された更新後の分離行列と前記第2更新処理の実行により更新された更新後の分離行列とに基づき、前記数理モデルを更新する最適化部と、を備える音源分離学習モデルによって得られた学習済みの数理モデルを用いて、分離対象の信号を音源ごとに分離する分離部、
を備える音源分離装置。
【請求項5】
1又は複数の音源が発した音の合成波を表す信号である混合信号と入力された分離行列とに基づき分離行列を更新する第1更新処理と、前記混合信号と前記第1更新処理の実行により更新された更新後の分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを実行する数理モデル実行ステップと、
前記数理モデルの実行により前記第1更新処理の実行により更新された更新後の分離行列と前記第2更新処理の実行により更新された更新後の分離行列とに基づき、前記数理モデルを更新する最適化ステップと、
を有する音源分離モデル学習方法。
【請求項6】
1又は複数の音源が発した音の合成波を表す信号である混合信号と入力された分離行列とに基づき分離行列を更新する第1更新処理と、前記混合信号と前記第1更新処理の実行により更新された更新後の分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを実行する数理モデル実行ステップと、前記数理モデルの実行により前記第1更新処理の実行により更新された更新後の分離行列と前記第2更新処理の実行により更新された更新後の分離行列とに基づき、前記数理モデルを更新する最適化ステップと、を有する音源分離学習方法によって得られた学習済みの数理モデルを用いて、分離対象の信号を音源ごとに分離する分離ステップ、
を有する音源分離方法。
【請求項7】
請求項1から3のいずれか一項に記載の音源分離モデル学習装置としてコンピュータを機能させるためのプログラム。
【請求項8】
請求項4に記載の音源分離装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音源分離モデル学習装置、音源分離装置、音源分離モデル学習方法、音源分離方法及びプログラム
に関する。
【背景技術】
【0002】
ブラインド音源分離(Blind Source Separation: BSS)は、音源に関する情報や音源とマイクロホン間の伝達関数等の事前情報を用いずに、観測された混合信号のみから個々の音源信号を分離抽出する技術である。マイクロホンの数が音源の数以上の優決定条件下においては、音源信号間の独立性を最大化するように分離フィルタを推定することを目的とする独立成分分析(Independent Component Analysis:ICA)が有効であることが知られており、ICAの原理を拡張した手法が数多く提案されている。
【0003】
ICAの手法の1種には例えば時間周波数領域で定式化される手法がある。時間周波数領域で定式化される手法は音源に関する仮定であって時間周波数領域で成り立つ様々な仮定とマイクロホンアレイの周波数応答に関する仮定とを有効に活用できるという利点がある。
【0004】
ICAの手法の1種であって時間周波数領域で定式化される手法の1種には、例えば、独立低ランク行列分析(Independent Low-Rank Matrix Analysis:ILRMA)(非特許文献1及び2参照)がある。ILRMAは、各音源信号のパワースペクトログラムを二つの非負値行列の積(低ランク非負値行列)でモデル化できるという仮定を用いた手法である。各音源信号のパワースペクトログラムを二つの低ランク非負値行列でモデル化することは、音源の各短時間フレームにおけるパワースペクトルを、基底スペクトルの非負結合で近似することに相当する。そのため、ILRMAは音源のスペクトル構造を手がかりにしながら周波数ごとの音源分離とパーミュテーション整合と呼称される問題の解決とを可能とする。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】H. Kameoka, T. Yoshioka, M. Hamamura, J. Le Roux, and K. Kashino, “Statistical model of speech signals based on composite autoregressive system with application to blind source separation," in Proc. LVA/ICA, 2010, pp. 245-253.
【非特許文献2】D. Kitamura, N. Ono, H. Sawada, H. Kameoka, and H. Saruwatari, “Determined blind source separation unifying independent vector analysis and nonnegative matrix factorization," IEEE/ACM Trans. ASLP, vol. 24, no. 9, pp. 1626-1641, 2016.
【非特許文献3】N. Ono, “Stable and fast update rules for independent vector analysis based on auxiliary function technique," in Proc. WASPAA, 2011, pp. 189-192.
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年、ICAをはじめとした信号処理に基づく手法に深層学習(Deep Neural Network: DNN)を導入することで、更なる分離精度の向上を実現するアプローチに対する注目が高まっている。これらの手法はDNNの持つ豊かな関数表現能力を生かし、ILRMAなどの手法における行列積で表すパワースペクトログラムモデルにDNNを用いることで高い分離精度を実現する。
【0007】
上述の手法ではいずれも反復的な最適化アルゴリズムを用いてパラメータ推定が行われる。反復射影法(Iterative Projection:IP)(非特許文献3参照)を用いた分離行列更新法はその代表例である。IP法を用いた計算の場合、比較的に少ない反復回数で計算が収束し局所解が得られる。しかしながら、IP法を用いた計算の場合、1反復当たりの計算オーダーが音源数及びチャンネル数の4乗に比例するため、大規模なマイクロホンアレイにおいては高いマシンパワーが要求されるという問題がある。
【0008】
より効率的な手法も近年提案されたものの、1反復当たりの計算オーダーが音源数及びチャンネル数の3乗に比例する。そのため、近年提案された手法も大規模なマイクロホンアレイにおいて高いマシンパワーが要求されるという問題がある。
【0009】
上記事情に鑑み、本発明は、音源の分離に要求される計算量を削減する技術の提供を目的としている。
【課題を解決するための手段】
【0010】
本発明の一態様は、1又は複数の音源が発した音の合成波を表す信号である混合信号と入力された分離行列とに基づき分離行列を更新する第1更新処理と、前記混合信号と前記第1更新処理の実行により更新された更新後の分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを実行する数理モデル実行部と、前記数理モデルの実行により前記第1更新処理の実行により更新された更新後の分離行列と前記第2更新処理の実行により更新された更新後の分離行列とに基づき、前記数理モデルを更新する最適化部と、を備える音源分離モデル学習装置である。
【0011】
本発明の一態様は、1又は複数の音源が発した音の合成波を表す信号である混合信号と入力された分離行列とに基づき分離行列を更新する第1更新処理と、前記混合信号と前記第1更新処理の実行により更新された更新後の分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを実行する数理モデル実行部と、前記数理モデルの実行により前記第1更新処理の実行により更新された更新後の分離行列と前記第2更新処理の実行により更新された更新後の分離行列とに基づき、前記数理モデルを更新する最適化部と、を備える音源分離学習モデルによって得られた学習済みの数理モデルを用いて、分離対象の信号を音源ごとに分離する分離部、を備える音源分離装置である。
【0012】
本発明の一態様は、1又は複数の音源が発した音の合成波を表す信号である混合信号と入力された分離行列とに基づき分離行列を更新する第1更新処理と、前記混合信号と前記第1更新処理の実行により更新された更新後の分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを実行する数理モデル実行ステップと、前記数理モデルの実行により前記第1更新処理の実行により更新された更新後の分離行列と前記第2更新処理の実行により更新された更新後の分離行列とに基づき、前記数理モデルを更新する最適化ステップと、を有する音源分離モデル学習方法である。
【0013】
本発明の一態様は、1又は複数の音源が発した音の合成波を表す信号である混合信号と入力された分離行列とに基づき分離行列を更新する第1更新処理と、前記混合信号と前記第1更新処理の実行により更新された更新後の分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを実行する数理モデル実行ステップと、前記数理モデルの実行により前記第1更新処理の実行により更新された更新後の分離行列と前記第2更新処理の実行により更新された更新後の分離行列とに基づき、前記数理モデルを更新する最適化ステップと、を有する音源分離学習方法によって得られた学習済みの数理モデルを用いて、分離対象の信号を音源ごとに分離する分離ステップ、を有する音源分離方法である。
【0014】
本発明の一態様は、上記の音源分離モデル学習装置としてコンピュータを機能させるためのプログラムである。
【0015】
本発明の一態様は、上記の音源分離装置としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【0016】
本発明により、音源の分離に要求される計算量を削減することができる。
【図面の簡単な説明】
【0017】
図1】実施形態の音源分離システム100の概要を説明する説明図。
図2】実施形態におけるSepNetの概要を説明する説明図。
図3】実施形態におけるDNNブロック101のネットワーク構成の一例を示す図。
図4】実施形態における音源分離モデル学習装置1のハードウェア構成の一例を示す図。
図5】実施形態における制御部11の機能構成の一例を示す図。
図6】実施形態における音源分離モデル学習装置1が実行する処理の流れの一例を示すフローチャート。
図7】実施形態における音源分離装置2のハードウェア構成の一例を示す図。
図8】実施形態における制御部21の機能構成の一例を示す図。
図9】実施形態における音源分離装置2が実行する処理の流れの一例を示すフローチャート。
図10】実施形態における音源分離システム100を用いた実験を説明する第1の説明図。
図11】実施形態における音源分離システム100を用いた実験を説明する第2の説明図。
図12】実施形態における音源分離システム100を用いた実験を説明する第3の説明図。
【発明を実施するための形態】
【0018】
(実施形態)
図1は、実施形態の音源分離システム100の概要を説明する説明図である。音源分離システム100は、音源分離モデル学習装置1及び音源分離装置2を備える。
【0019】
音源分離モデル学習装置1は、分離対象の信号(以下「分離対象信号」という。)を音源ごとに分離する数理モデル(以下「音源分離モデル」という。)を、1又は複数の学習データを用いた機械学習の方法により得る。分離対象信号は、具体的には、1又は複数の音源が発した音の合成波を表す信号(以下「混合信号」という。)である。
【0020】
以下、合成波を構成する各音源の音が発した信号をそれぞれ素信号という。素信号は、1チャネルの信号である。そのため、複数の音源が発した音の合成波を表す信号は、多チャネルの混合信号である。なお、混合信号は、音源が複数の場合、例えば多チャンネル観測信号と呼称される信号である。
【0021】
学習データは、学習用の入力側のデータ(以下「学習用入力側データ」という。)と正解データとの対のデータ(以下「対データ」という。)を含むデータである。正解データは対応する学習用入力側データに含まれる素信号を示す情報である。学習用入力側データは、混合信号を含む。正解データは、混合信号に含まれる素信号を示す情報を含む。
【0022】
音源分離モデル学習装置1は、予め用意された機械学習のモデルであって分離対象信号を音源ごとに分離する機械学習のモデル(以下「音源分離学習モデル」という。)を、1又は複数の学習データを用いて更新する。なお、分離対象信号を音源ごとに分離するとは、分離対象信号が表す合成波の信号に含まれる素信号を推定することを意味する。また、音源の分離とは、合成波の信号に含まれる素信号を推定することを意味する。
【0023】
音源分離学習モデルは、学習により更新される。学習済みの音源分離学習モデルが、音源分離モデルである。以下、学習データを用いて機械学習のモデル(以下「機械学習モデル」という。)を更新することを学習という。
【0024】
以下の説明において、Aであるように学習するとは、機械学習モデルにおけるパラメータの値がAを満たすように調整されることを意味する。Aは条件を表す。また、以下、学習用とは、機械学習モデルの更新に用いられることを意味する。なお、機械学習モデルは、実行される条件と順番とが予め定められた1又は複数の処理を含む集合である。すなわち、機械学習モデルは数理モデルの1種である。
【0025】
学習済みとは、所定の終了条件(以下「学習終了条件」という。)が満たされた、ということを意味する。学習終了条件は、例えば所定の数の学習データを用いた学習が終了した、という条件である。学習終了条件は、例えば機械学習モデルの更新による変化が所定の変化よりも小さい、という条件であってもよい。
【0026】
音響分離学習モデルは、例えばニューラルネットワークによって表現される。なお、ニューラルネットワークとは、電子回路、電気回路、光回路、集積回路等の回路であって機械学習モデルを表現する回路である。学習によってニューラルネットワークが更新されるとは、ニューラルネットワークのパラメータの値が更新されることを意味する。またニューラルネットワークのパラメータは、ニューラルネットワークを構成する回路のパラメータであり、ニューラルネットワークを構成する回路が表現する機械学習モデルのパラメータでもある。なお、機械学習モデルを実行するとは、機械学習モデルを表現する回路が機械学習モデルを実行することを意味する。
【0027】
音源分離装置2は、音源分離モデル学習装置1が得た音源分離モデルを用いて、入力された分離対象信号を音源ごとに分離する。
【0028】
ここで、音源分離モデル学習装置1の動作の理解を容易にするため、まず、優決定条件下のBSS(Blind Source Separation)について説明する。
【0029】
<優決定条件下のBSS>
I個のマイクロホン(Iは1以上の整数)でJ個の音源(Jは1以上の整数)から到来する信号が観測される場合に生じる物理的又は数学的な現象の説明とBSSの説明とを行う。特に優決定条件下においてI=Jの場合に生じる物理的又は数学的な現象の説明とBSSの説明とを行う。i番目のマイクロホン(iは1以上I以下の整数)で観測される信号は以下の式(1)で表現される。なお、fは周波数のインデックスでありnは時間フレームのインデックスである。
【0030】
【数1】
【0031】
以下、I個のマイクロホンそれぞれで観測される信号の集合(以下「観測信号集合」という。)を、x(f,n)と表現する。すなわち、観測信号集合は以下の式(2)で表現される。
【0032】
【数2】
【0033】
j番目の音源の信号である音源信号(jは1以上I以下の整数)の時間周波数成分はそれぞれ以下の式(3)で表現される。
【0034】
【数3】
【0035】
以下、J個の音源の音源信号の集合(以下「音源信号集合」という。)を、s(f,n)と表現する。すなわち、音源信号集合は以下の式(4)で表現される。
【0036】
【数4】
【0037】
音源とマイクロホンとの間の室内インパルス応答長が時間周波数展開における窓長よりも十分短い場合であって瞬時混合の仮定が成り立つ場合には、式(4)で表現される音源信号と式(2)で表現される観測信号とは以下の式(5)の関係を満たす。
【0038】
【数5】
【0039】
(f)は分離行列の転置を表す。(・)は行列の転置を意味し、(・)は行列のエルミート転置を意味する。分離行列は以下の式(6)で表現される。
【0040】
【数6】
【0041】
BSSは、以下の式(7)で表現される混合信号、から分離行列を推定する方法である。
【0042】
【数7】
【0043】
式(7)が示すように、混合信号は、I個のマイクロホン全体で観測される周波数のインデックスがfの信号である。次に、独立低ランク行列分析(Independent Low-Rank Matrix Analysis:ILRMA)について説明する。
【0044】
<ILRMA>
j番目の音源信号の時間周波数成分の時系列(すなわち複素スペクトログラム)が以下の式(8)で表される分散を有する平均0の複素正規分布に従うガウス過程である場合、j番目の音源信号の複素スペクトログラムは、以下の式(9)で表現される。なお、複素スペクトログラムは、パワースペクトログラムと位相スペクトログラムとの組である。
【0045】
【数8】
【0046】
【数9】
【0047】
各音源が統計的に独立である場合、音源信号の複素スペクトログラムは以下の式(10)で表現される。
【0048】
【数10】
【0049】
V(f,n)は、v(f,n)、・・・、v(f,n)を対角成分に持つ対角行列である。式(1)と式(10)とより、観測信号は以下の式(11)で表現されることが導かれる。
【0050】
【数11】
【0051】
そのため、分離行列と以下の式(12)で表現される音源それぞれの音源モデルパラメータの値が与えられた下での混合信号の負対数尤度関数は以下の式(13)で表現される。なお、音源モデルパラメータとは、音源を表現するモデルが有するパラメータを意味する。
【0052】
【数12】
【0053】
【数13】
【0054】
なお、以下の式(14)で表現される記号はパラメータに依存しない項を除いた等号、を意味する。
【0055】
【数14】
【0056】
ILRMAでは、各音源のパワースペクトログラムが非負行列とみなされる。ILRMAでは、非負値行列因子分解によって式(13)中の音源モデルパラメータv(f,n)が、以下の式(15)で表現される基底スペクトルと以下の式(16)で表現される時間フレームごとのゲインとの線形和で近似的に表現される。すなわち、ILRMAでは、式(13)中の音源モデルパラメータv(f,n)が、以下の式(17)で表現される。
【0057】
【数15】
【0058】
【数16】
【0059】
【数17】
【0060】
なお、m=1、・・・、Mは、基底のインデクッスである。
【0061】
ILRMAでは、所定の更新式に従う更新を所定の終了条件が満たされるまで繰り返し行うことで最適化を行う最適化の方法である。具体的には、ILRMAは、式(13)で表現される負対数尤度関数が反復ごとに減少するように基底スペクトルを各列に格納した行列である基底行列Bと、基底スペクトルに乗じるゲインの系列を各行に格納した行列であるゲイン行列Hと、分離行列Wとを更新する処理である。
【0062】
なお、基底行列Bは、以下の式(18)で表現される量である。ゲイン行列Hは、以下の式(19)で表現される量である。
【0063】
【数18】
【0064】
【数19】
【0065】
ILRMAでは、基底行列Bとゲイン行列Hとは、補助関数法に基づく更新式に従い更新される。ILRMAでは、分離行列Wは、以下の式(20)によって表されるIP法と呼称される更新式に従い更新される。
【0066】
【数20】
【0067】
【数21】
【0068】
は、I×Iの単位行列のj番目の列ベクトルを表す。ILRMAは式(13)の局所解への収束性が保証された方法である。また、ILRMAは、比較的少ない反復回数での局所解への収束が実験的に示された方法である。ILRMAでは、式(20)が示すように各反復でJ個の音源ごとにjの3乗のオーダーの計算量の逆行列計算が必要である。そのため、ILRMAのアルゴリズムの計算量はjの4乗のオーダーである。
【0069】
<音源分離モデル学習装置1が実行する処理の概要>
音源分離モデル学習装置1は、複数のDNN(Deep Neural Network)ブロックにより構成される深いネットワークを有する。以下、複数のDNN(Deep Neural Network)ブロックにより構成される深いネットワークをSepNetという。なお、深いネットワークとは、1層以上の中間層を有するネットワークである。
【0070】
DNNブロックは、分離行列及び混合信号の入力を受け付ける。DNNブロックは、入力された分離行列及び混合信号に基づき入力された分離行列を更新する。更新するとは、入力された分離行列と同一又は異なる分離行列を推定することに相当する。
【0071】
DNNブロックは、更新後の分離行列を次段のDNNブロックに出力する。DNNブロックはこのように、入力された分離行列を推定する処理を含む数理モデルである。DNNブロックは、例えばニューラルネットワークによって表現される。DNNブロックが分離行列を推定する規則は学習に更新される。
【0072】
図2は、実施形態におけるSepNetの概要を説明する説明図である。SepNetは、音源分離学習モデルを表現する回路の一例である。以下、音源分離モデル学習装置1が備えるSepNetを、符号10を付して、SepNet10という。SepNet10は、K個のDNNブロック101と、変換部102とを備える。
【0073】
DNNブロック101はDNNブロックである。k番目のDNNブロック101の出力は(k+1)番目のDNNブロック101に入力される(kは1以上K未満の整数)。すなわち、前段のDNNブロック101によって更新された分離行列は、後段のDNNブロック101に出力される。
【0074】
変換部102は、K番目のDNNブロック101の出力と混合信号とに基づき、式(5)を用いて、入力された混合信号を音源信号集合に変換する。すなわち、変換部102は、K番目のDNNブロック101の出力と混合信号とに基づき音源信号集合の推定結果を取得する。変換部102は、取得した音源信号集合の推定結果を出力する。
【0075】
このように、SepNet10は、混合信号及び分離行列に基づき分離行列を更新する第1更新処理と、混合信号と第1更新処理によって更新された分離行列とに基づき分離行列を更新する第2更新処理と、を含む数理モデルを表現する回路である。第1更新処理はk番目のDNNブロック101が実行する処理であって、入力された混合信号及び分離行列に基づき分離行列を更新する処理である。
【0076】
第2更新処理は(k+1)番目のDNNブロック101が実行する処理であって混合信号とk番目のDNNブロックによる更新後の分離行列とに基づき分離行列を更新する処理である。例えば第1更新処理が1番目のDNNブロック101が実行する処理である場合、第2更新処理は2番目のDNNブロック101が実行する処理である。第1更新処理と、第2更新処理と、を含む数理モデルは例えば音源分離学習モデルである。
【0077】
図3は、実施形態におけるDNNブロック101のネットワーク構成の一例を示す図である。DNNブロック101は、第1ブロック処理部103、第2ブロック処理部104、第3ブロック処理部105、第4ブロック処理部106及び和取得部107を備える。以下第k番目のDNNブロック101を例にDNNブロック101を説明する。
【0078】
第1ブロック処理部103は、DNNブロック101がニューラルネットワークによって構成される場合、例えば中間層の第1層として実装される。第1ブロック処理部103には分離行列W(k-1)と混合信号とが入力される。第1ブロック処理部103は入力された分離行列W(k-1)と混合信号とに基づき、式(5)を用いて、分離信号のパワースペクトログラムを出力する。
【0079】
なお分離信号とは、分離信号とは式(1)に分離行列W(f)を乗じたものである。分離信号のパワースペクトログラムは、分離行列W(k-1)の転置を混合信号に右から作用させた結果である。すなわち、分離信号のパワースペクトログラムは、分離行列W(k-1)を混合信号に左から作用させた結果である。このように分離信号のパワースペクトログラムは、分離行列W(k-1)の転置と混合信号との積である。
【0080】
このように、第1ブロック処理部103は第1更新副処理を表現する回路であり、第1ブロック処理部103は第1更新副処理を実行する機能部である。第1更新副処理は、分離行列W(k-1)の転置と混合信号との積を取得する処理である。以下、分離信号のパワースペクトログラムを、第1層取得結果という。図1において、以下の式(22)で表現される記号が、第1層取得結果を表現する。
【0081】
【数22】
【0082】
第1ブロック処理部103は学習によって更新されるパラメータを有さない層である。すなわち、第1ブロック処理部103は学習によっては更新されない。図3に記載のLpreは、第1ブロック処理部103が実行する処理を表現する関数である。すなわち、Lpreは、分離行列W(k-1)と混合信号との組から第1層取得結果への変換を表現する写像である。
【0083】
第2ブロック処理部104は、DNNブロック101がニューラルネットワークによって構成される場合、例えば中間層の第2層として実装される。第2ブロック処理部104は第2更新副処理を表現する回路であり、第2ブロック処理部104は第2更新副処理を実行する機能部である。第2更新副処理は、第1層取得結果に基づき、音源それぞれの音源モデルパラメータの値の推定結果(以下「中間変数」という。)を取得する処理である。中間変数は、具体的には、式(8)及び式(12)により取得される。第2ブロック処理部104は取得した中間変数を出力する。
【0084】
第2ブロック処理部104は学習によって更新されるパラメータθを有する層である。すなわち、第2ブロック処理部104は学習によって更新される。第2ブロック処理部104が学習によって更新されることは、第2更新副処理が音源分離学習モデルの更新の際に更新されることを意味する。
【0085】
DNNブロック101がニューラルネットワークによって構成される場合、第2ブロック処理部104は例えば非線形層である。図3に記載のPθは、第2ブロック処理部104が実行する処理を表現する関数である。すなわち、Pθは、第1層取得結果から中間変数への変換を表現する写像である。
【0086】
第3ブロック処理部105は、DNNブロック101がニューラルネットワークによって構成される場合、例えば中間層の第3層として実装される。第3ブロック処理部105は第3更新副処理を表現する回路であり、第3ブロック処理部105は第3更新副処理を実行する機能部である。第3更新副処理は、第2ブロック処理部104が出力した中間変数と混合信号とに基づき、観測混合信号の重み付き空間共分散行列を算出する。重み付き空間共分散行列の各要素はマイク間の空間相関を表す。具体的には、第3ブロック処理部105は、式(14)を実行することで、重み付き空間共分散行列を取得する。第3ブロック処理部105は、取得した重み付き空間共分散行列を出力する。
【0087】
第3ブロック処理部105は学習によって更新されるパラメータを有さない層である。すなわち、第3ブロック処理部105は学習によっては更新されない。図3に記載のLpostは、第3ブロック処理部105が実行する処理を表現する関数である。すなわち、Lpostは、中間変数と混合信号との組から重み付き空間共分散行列への変換を表現する写像である。
【0088】
第4ブロック処理部106は、DNNブロック101がニューラルネットワークによって構成される場合、例えば中間層の第4層として実装される。第4ブロック処理部106は第4更新副処理を表現する回路であり、第4ブロック処理部106は第4更新副処理を実行する機能部である。第4更新副処理は、第3ブロック処理部105が取得した重み付き空間共分散行列と分離行列W(k-1)とに基づき、分離行列W(k-1)と分離行列Wとの差分を示す量である更新値ΔWを取得する。
【0089】
更新値ΔWは分離行列W(k-1)と分離行列Wとの差分を示す量であるため、更新値ΔWは分離行列と更新後の分離行列との差分を示す量である。更新値ΔWは、具体的には、式(12)実行により取得される。第4ブロック処理部106は取得した更新値ΔWを出力する。
【0090】
第4ブロック処理部106は学習によって更新されるパラメータφを有する層である。すなわち、第4ブロック処理部106は学習によって更新される。第4ブロック処理部106が学習によって更新されることは、第4更新副処理が音源分離学習モデルの更新の際に更新されることを意味する。
【0091】
DNNブロック101がニューラルネットワークによって構成される場合、第4ブロック処理部106は例えば非線形層である。図3に記載のQφは、第4ブロック処理部106が実行する処理を表現する関数である。すなわち、Qφは、重み付き空間共分散行列と分離行列W(k-1)との組から更新値ΔWへの変換を表現する写像である。
【0092】
和取得部107は、分離行列W(k-1)と第4ブロック処理部106の出力結果(すなわち更新値ΔW)との和を算出する。具体的には、和取得部107は、以下の式(23)が示す演算を実行し分離行列W(k-1)と第4ブロック処理部106の出力結果とに基づき分離行列W(k)を取得する。なお、上付き文字の(k)は付与先の記号が表す関数、写像又は像がk番目のDNNブロック101における関数、写像又は像であることを示す。
【0093】
【数23】
【0094】
【数24】
【0095】
【数25】
【0096】
【数26】
【0097】
【数27】
【0098】
【数28】
【0099】
【数29】
【0100】
【数30】
【0101】
【数31】
【0102】
【数32】
【0103】
【数33】
【0104】
式(29)の左辺は、上述したように第1層取得結果を表す。式(29)は、第1層取得結果について、ν(k)が各分離信号のパワースペクトログラムと解釈できる中間変数の集合であることを意味する。式(30)の左辺は、第2ブロック処理部104の出力を表す。式(31)の左辺は、第3ブロック処理部105の出力を表す。
【0105】
式(26)は、暫定的な分離信号のパワースペクトログラムを精緻化する過程を表現している。式(23)に残差学習が用いられることで、ネットワーク全体の学習が安定化する。第2ブロック処理部104と第4ブロック処理部106の各層とは、CNNで構成される。第2ブロック処理部104と第4ブロック処理部106の各層とは、例えば第2ブロック処理部104の各層がCNNで構成され、第4ブロック処理部106の各層が3次元畳み込み層で構成されてもよい。例えば、第2ブロック処理部104及び第4ブロック処理部106の全ての層が2次元CNN(Convolutional Neural Network)のみで構成される場合、各DNNブロック101のフォワード計算に要する演算量は音源数及びチャンネル数の2乗に比例するオーダーの演算量である。
【0106】
なお、上述したように第2ブロック処理部104の層が2次元のCNNである構成、及び第4ブロック処理部106の層が3次元のCNNである構成は、一例である。例えば、第4ブロック処理部106の層は3次元のCNNであってもよい。また、第2ブロック処理部104も1次元のCNNであってもよい。このように、第2ブロック処理部104及び第4ブロック処理部106の層もK次元(Kは1以上の整数)のCNNであってもよく、第2ブロック処理部104と第4ブロック処理部106とのCNNの次元は異なってもよい。
【0107】
また、第2ブロック処理部104と第4ブロック処理部106の層は必ずしもCNNである必要もない。例えば第2ブロック処理部104と第4ブロック処理部106の層はRNN(Recurrent Neural Network)であってもよい。例えば第2ブロック処理部104と第4ブロック処理部106の各層は全てが同種類のニューラルネットワークである必要は無い。例えば第2ブロック処理部104の一部の層はCNNであって他の一部の層はRNNであってもよい。例えば第4ブロック処理部106の一部の層はCNNであって他の一部の層はRNNであってもよい。
【0108】
図3の例の場合、例えば第2ブロック処理部104の入出力は3次元配列であり、第4ブロック処理部106の入出力は4次元配列である。このような場合、例えば2次元畳み込みと3次元畳み込みとが用いられる。また、それぞれの入出力が違う次元の配列になるように形状変換(reshape)することも可能である。このような場合、形状変換の処理の内容に応じて、畳み込みの次元が異なる。
【0109】
図2図3のDNNブロックの構成はあくまで一例である。WはF×J×Jの3次元配列であって、XはF×Nの2次元配列であって、WとXを入力とし、Wと同じサイズの配列を出力するようなDNNブロックの構成であればどのような構成であってもよい。
【0110】
各DNNブロック101のフォワード計算に要する演算量は、第2ブロック処理部104と第4ブロック処理部106の層の構成に依存する。そのため、音源分離システム100を用いるユーザは、第2ブロック処理部104と第4ブロック処理部106の層の構成を変えることで演算量を変化させることができる。
【0111】
式(23)と式(26)とにおける各DNNブロック101のネットワークパラメータφ(k)及びθ(k)の学習は、パラメータ非共有モデルと、パラメータ共有モデルとの2種類のいずれで学習されてもよい。
【0112】
パラメータ非共有モデルは、DNNブロック101ごとにネットワークパラメータφ(k)及びθ(k)が異なる、として学習する数理モデルである。すなわち、パラメータ非共有モデルでは、DNNブロック101ごとにネットワークパラメータφ(k)が異なる、として学習され、DNNブロック101ごとにネットワークパラメータθ(k)も異なる、として学習される。
【0113】
パラメータ共有モデルは、全てのDNNブロック101でネットワークパラメータφ(k)及びθ(k)が同一、として学習する数理モデルである。すなわち、パラメータ非共有モデルでは、全てのDNNブロック101でネットワークパラメータφ(k)が同一、として学習され、全てのDNNブロック101でネットワークパラメータθ(k)も同一、として学習される。
【0114】
<損失関数の説明>
学習に際しては、混合信号と音源信号の組が与えられる。すなわち、混合信号と音源信号の組が学習データである。また、学習用入力側データは混合信号であり、正解データは音源信号である。
【0115】
音源分離モデル学習装置1が実行する学習において、ネットワークパラメータφ(k)とθ(k)とは、各DNNブロック101で取得された分離信号(すなわち第1層取得結果)と音源信号との違い、の期待値を最少化するように更新される。すなわち、学習における損失関数は、各DNNブロック101で取得された分離信号(すなわち第1層取得結果)と音源信号との違い、の期待値である。したがって損失関数は、例えば以下の式(34)で表現される。
【0116】
【数34】
【0117】
Θはネットワークパラメータφ(k)又はθ(k)を表す。以下の式(35)の記号は全ての学習データに対するサンプル平均を取得する関数を表す。
【0118】
【数35】
【0119】
なお、BSSにおいては音源の識別子の順序に任意性がある。そこで,ネットワークパラメータの学習時においては目的とする音源の順序と分離された信号の順序の異なりを許容するような損失関数であることが、より望ましい。
【0120】
BSSにおいて生じるこのような任意性の問題は、例えば、モノラル音源分離タスクで提案されたPermutation Invariant Training(PIT)(参考文献1参照)を学習に導入することで軽減される。
【0121】
参考文献1:D. Yu, M. Kolbak, Z. Tan, and J. Jensen, “Permutation invariant training of deep models for speaker-independent multitalker speech separation,” in Proc. ICASSP, 2017, pp. 241-245.
【0122】
PITを用いた学習では,出力の分離信号と目的の音源信号の最適な割り当てが計算される。PITを用いた学習では、割り当てられた分離信号と音源信号との間の違いが最小化される。そのため、PITを用いた目的関数は、例えば以下の式(36)で表現される。
【0123】
【数36】
【0124】
【数37】
【0125】
式(37)が表す記号π(j)は、j番目の分離信号に対応する音源信号の識別子を表す。
【0126】
学習時には、各学習データにおいてJの階乗通りの分離信号と音源信号との間の違いに基づき、違いを最小にするとなる分離信号と音源信号との組みが、学習結果として得られる。
【0127】
なお、I=J=2の場合、音源の順番を到来方向順にすることで、PITを用いずとも同等の分離結果が得られることが実験的に確認された。そのため、BSSにおいて生じる任意性の問題を軽減する方法は、必ずしもPITである必要は無く、音源の識別子の順番を到来方向順に並べる方法であってもよい。
【0128】
このように、式(34)で表現される損失関数を用いた学習も、式(36)で表現される損失関数を用いた学習も、音源の順番を到来方向順にする方法を用いた学習もいずれも、統計損失関数を小さくする学習である。統計損失関数は、各DNNブロック101で取得された分離信号と音源信号の誤差の平均(以下「損失統計値」という。)を示す量である。
【0129】
このように音源分離モデル学習装置1による音源分離学習モデルの学習は、統計損失関数を用いて損失統計値を小さくする学習であればどのような学習であってもよい。統計値は、例えば期待値であってもよいし、分散であってもよいし、分布に含まれる違いの値のうちの最小値であってもよい。
【0130】
また式(34)や式(36)の例に示されるように、統計損失関数は、第1更新処理の実行により更新された更新後の分離行列と第2更新処理の実行により更新された更新後の分離行列とを用いて定義された関数である。
【0131】
図4は、実施形態における音源分離モデル学習装置1のハードウェア構成の一例を示す図である。音源分離モデル学習装置1は、バスで接続されたCPU等のプロセッサ91とメモリ92とを備える制御部11を備え、プログラムを実行する。音源分離モデル学習装置1は、プログラムの実行によって制御部11、入力部12、通信部13、記憶部14及び出力部15を備える装置として機能する。
【0132】
より具体的には、プロセッサ91が記憶部14に記憶されているプログラムを読み出し、読み出したプログラムをメモリ92に記憶させる。プロセッサ91が、メモリ92に記憶させたプログラムを実行することによって、音源分離モデル学習装置1は、制御部11、入力部12、通信部13、記憶部14及び出力部15を備える装置として機能する。
【0133】
制御部11は、音源分離モデル学習装置1が備える各種機能部の動作を制御する。制御部11は、音源分離学習モデルを実行する。制御部11は、例えば音源分離学習モデルの実行結果に基づき音源分離学習モデルを更新する。すなわち、制御部11は、例えば音源分離学習モデルの学習を行う。制御部11は、例えば出力部15の動作を制御し、出力部15に音源分離学習モデルの実行結果を出力させる。制御部11は、例えば音源分離学習モデルの実行により生じた各種情報を記憶部14に記録する。記憶部14が記憶する各種情報は、例えば音源分離学習モデルの学習結果を含む。
【0134】
入力部12は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。入力部12は、これらの入力装置を音源分離モデル学習装置1に接続するインタフェースとして構成されてもよい。入力部12は、音源分離モデル学習装置1に対する各種情報の入力を受け付ける。入力部12には、例えば学習データが入力される。
【0135】
通信部13は、音源分離モデル学習装置1を外部装置に接続するための通信インタフェースを含んで構成される。通信部13は、有線又は無線を介して外部装置と通信する。外部装置は、例えば学習データの送信元の装置である。
【0136】
記憶部14は、磁気ハードディスク装置や半導体記憶装置などの非一時的コンピュータ読み出し可能な記憶媒体装置を用いて構成される。記憶部14は音源分離モデル学習装置1に関する各種情報を記憶する。記憶部14は、例えば入力部12又は通信部13を介して入力された情報を記憶する。記憶部14は、例えば音源分離学習モデルを記憶する。記憶部14は、例えば音源分離学習モデルの実行により生じた各種情報を記憶する。記憶部14は、例えば予め統計損失関数を記憶する。記憶部14は、例えば予め損失統計値の定義を記憶する。
【0137】
なお、学習データは、必ずしも入力部12だけに入力される必要もないし、通信部13だけに入力される必要もない。学習データは、入力部12と通信部13とのどちらから入力されてもよい。例えば学習用入力側データは入力部12に入力され、入力部12に入力された学習用入力側データに対応する正解データは通信部13に入力されてもよい。また、学習データは必ずしも入力部12又は通信部13から取得される必要はなく、予め記憶部14が記憶済みであってもよい。
【0138】
出力部15は、各種情報を出力する。出力部15は、例えばCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を含んで構成される。出力部15は、これらの表示装置を音源分離モデル学習装置1に接続するインタフェースとして構成されてもよい。出力部15は、例えば入力部12に入力された情報を出力する。出力部15は、例えば入力部12又は通信部13に入力された学習データを表示してもよい。出力部15は、例えば音源分離学習モデルの実行結果を表示してもよい。
【0139】
図5は、実施形態における制御部11の機能構成の一例を示す図である。制御部11は学習データ取得部110、モデル学習部120、記憶制御部130、出力制御部140及び終了判定部150を備える。
【0140】
学習データ取得部110は、入力側データ取得部111及び正解データ取得部112を備える。学習データ取得部110は、入力側データ取得部111及び正解データ取得部112を用いて入力部12又は通信部13に入力された学習データを取得する。すなわち、入力側データ取得部111が入力部12又は通信部13に入力された学習用入力側データを取得し、正解データ取得部112が入力部12又は通信部13に入力された正解データを取得する。
【0141】
学習データ取得部110は、予め記憶部14に学習用データが記録済みの場合には、入力側データ取得部111及び正解データ取得部112を用いて記憶部14から学習用データを読み出してもよい。このような場合、入力側データ取得部111は記憶部14に記憶済みの学習用入力側データを記憶部14から読み出し、正解データ取得部112は記憶部14に記憶済みの正解データを記憶部14から読み出す。
【0142】
モデル学習部120は、学習データ取得部110が取得した学習データを用いて音源分離学習モデルを更新する。より具体的には、モデル学習部120は、学習データ取得部110が取得した学習データを用いて音源分離学習モデルを実行し、実行結果に基づいて音源分離学習モデルを更新する。すなわちモデル学習部120は、学習データ取得部110が取得した学習データを用いて音源分離学習モデルの学習を行う。
【0143】
モデル学習部120は、例えば、学習ネットワーク121と最適化部122とを備える。学習ネットワーク121は、音源分離学習モデルを実行する。学習ネットワーク121は、例えばSepNet10である。
【0144】
最適化部122は、学習ネットワーク121の実行結果に基づき、式(34)や式(36)等で表現される統計損失関数を用いて損失統計値を小さくするように音源分離学習モデルを更新する。学習ネットワーク121による音源分離学習モデルの実行は、第1更新処理の実行と第2更新処理の実行とを意味する。
【0145】
そして、統計損失関数は、第1更新処理の実行により更新された更新後の分離行列と第2更新処理の実行により更新された更新後の分離行列とを用いて定義された関数である。そのため、最適化部122は、第1更新処理の実行により更新された更新後の分離行列と第2更新処理の実行により更新された更新後の分離行列とに基づき、音源分離学習モデルを更新する機能部である。
【0146】
モデル学習部120が音源分離学習モデルを実行することは、学習ネットワーク121が音源分離学習モデルを実行することを意味する。
【0147】
記憶制御部130は各種情報を記憶部14に記録する。出力制御部140は出力部15の動作を制御する。終了判定部150は、学習終了条件が満たされたか否かを判定する。学習終了条件が満たされた時点の音源分離学習モデルが学習済みの音源分離学習モデルであり、音源分離モデルである。
【0148】
図6は、実施形態における音源分離モデル学習装置1が実行する処理の流れの一例を示すフローチャートである。
【0149】
学習データ取得部110が学習データを取得する(ステップS101)。次に、学習ネットワーク121が音源分離学習モデルを実行する(ステップS102)。次に、最適化部122が、学習ネットワーク121による音源分離学習モデルの実行結果に基づき統計損失関数を用いて損失統計値を小さくするように音源分離学習モデルを更新する(ステップS103)。次に、終了判定部150が、学習終了条件が満たされたか否かを判定する(ステップS104)。学習終了条件が満たされなかった場合(ステップS104:NO)、ステップS101の処理に戻る。一方、学習終了条件が満たされた場合(ステップS104:YES)、処理が終了する。
【0150】
図7は、実施形態における音源分離装置2のハードウェア構成の一例を示す図である。音源分離装置2は、バスで接続されたCPU等のプロセッサ93とメモリ94とを備える制御部21を備え、プログラムを実行する。音源分離装置2は、プログラムの実行によって制御部21、入力部22、通信部23、記憶部24及び出力部25を備える装置として機能する。
【0151】
より具体的には、プロセッサ93が記憶部24に記憶されているプログラムを読み出し、読み出したプログラムをメモリ94に記憶させる。プロセッサ93が、メモリ94に記憶させたプログラムを実行することによって、音源分離装置2は、制御部21、入力部22、通信部23、記憶部24及び出力部25を備える装置として機能する。
【0152】
制御部21は、音源分離装置2が備える各種機能部の動作を制御する。制御部21は、例えば音源分離モデル学習装置1が得た学習済みの音源分離学習モデル(すなわち音源分離モデル)を用いて、分離対象信号を音源ごとに分離する。
【0153】
入力部22は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。入力部22は、これらの入力装置を自装置に接続するインタフェースとして構成されてもよい。入力部22は、自装置に対する各種情報の入力を受け付ける。入力部22は、例えば分離対象信号を音源ごとに分離する処理の開始を指示する入力を受け付ける。入力部22は、例えば分離対象信号の入力を受け付ける。
【0154】
通信部23は、自装置を外部装置に接続するための通信インタフェースを含んで構成される。通信部23は、有線又は無線を介して外部装置と通信する。外部装置は、例えば音源分離モデル学習装置1である。このような場合、通信部23は、例えば音源分離モデル学習装置1が得た学習済みの音源分離学習モデルを取得する。
【0155】
通信部23の通信先の外部装置は、例えば音源分離モデルを記憶したUSBメモリ等の記憶装置であってもよい。外部装置が例えば音源分離モデルを記憶しており音源分離モデルを出力する場合、通信部23は外部装置との通信によって音源分離モデルを取得する。
【0156】
通信部23の通信先の外部装置は、例えば分離対象信号の出力元である。このような場合、通信部23は、外部装置との通信によって外部装置から分離対象信号を取得する。
【0157】
記憶部24は、磁気ハードディスク装置や半導体記憶装置などの非一時的コンピュータ読み出し可能な記憶媒体装置を用いて構成される。記憶部24は音源分離装置2に関する各種情報を記憶する。記憶部24は、例えば通信部23を介して取得した音源分離モデルを記憶する。
【0158】
出力部25は、各種情報を出力する。出力部25は、例えばCRTディスプレイや液晶ディスプレイ、有機ELディスプレイ等の表示装置を含んで構成される。出力部25は、これらの表示装置を自装置に接続するインタフェースとして構成されてもよい。出力部25は、例えば入力部22に入力された情報を出力する。
【0159】
図8は、実施形態における制御部21の機能構成の一例を示す図である。制御部21は、分離対象取得部211、分離部212及び出力制御部213を備える。
【0160】
分離対象取得部211は、分離対象信号を取得する。分離対象取得部211は、例えば入力部22に入力された分離対象信号を取得する。分離対象取得部211は、例えば通信部23に入力された分離対象信号を取得する。
【0161】
分離部212は、音源分離モデルを実行する。分離部212による音源分離モデルの実行により、分離対象信号が音源ごとに分離される。
【0162】
出力制御部213は、出力部25の動作を制御する。出力制御部213は、出力部25の動作を制御することで出力部25に音源分離モデルの実行の結果を出力させる。
【0163】
図9は、実施形態における音源分離装置2が実行する処理の流れの一例を示すフローチャートである。分離対象取得部211が分離対象信号を取得する(ステップS201)。次に、分離部212が音源分離モデルを用いて分離対象信号を特徴に分離する(ステップS202)。次に、出力制御部213が出力部25の動作を制御することで出力部25に、ステップS202で得られた音源分離モデルの実行の結果を出力させる(ステップS203)。
【0164】
(実験結果)
ここで音源分離システム100を用いた音源の分離(以下「音源分離」という。)の実験結果の一例を示す。実験では、ILRMAを用いた音源分離との比較が行われた。実験では、2チャンネル2音源が発した音に対する音声分離と、3チャンネル3音源が発した音に対する音声分離と、が行われた。実験では、音源分離学習モデルの学習のための学習データとして、CMU ARCTICデータセットの18話者の発話データが用いられた。
【0165】
学習により得られた音源分離モデルの性能を評価するための評価データの音声信号として、VCC2018の男女各2話者、合計4話者の発話データが用いられた。混合信号の生成に用いた2チャンネル2音源及び3チャンネル3音源のインパルス応答は、鏡像法を用いて生成された。生成に用いられた部屋の奥行、幅及び高さはそれぞれ4.0m、5.0m及び3.0mであった。また、それ以外のインパルス応答の生成に必要なパラメータは以下のパラメータ決定処理を実行することで学習データごとに決定された。
【0166】
パラメータ決定処理ではまず、残響時間(TR60)が55msから160msの範囲でランダムに選択される。パラメータ決定処理では次に、マイクロホンアレイの配置場所を壁から0.5m以上離れた座標でランダムに選択することが行われる。パラメータ決定処理では次に、マイクロホンアレイの中心から半径0.5~1.0mのいずれかの距離に、正面0°から180°方向に20°以上の角度差で音源が配置される。パラメータ決定処理では次に、このようにして配置された音源の位置情報がインパルス応答の生成に必要はパラメータとして取得される。
【0167】
実験では、2音源及び3音源のそれぞれの条件で、3000発話の学習データと100発話の評価データとが作成された。また,音声信号の標本化周波数は8kHzであった。短時間フーリエ変換の条件は窓長64msでありシフト量32msであった。実験において、PθとQφとのネットワーク構造は、図10に示す構造であった。
【0168】
図10は、実施形態における音源分離システム100を用いた実験を説明する第1の説明図である。実験においてPθにはゲート(Gated Linear Unit;GLU)付きの2次元の畳み込み層(Conv)と逆畳み込み層(Deconv)とが用いられた。実験においてQφにはゲート付きの3次元の畳み込み層と逆畳み込み層とが用いられた。
【0169】
図10における“h”、“w”、“d”、“c”はそれぞれ入力の高さ、幅、深さ及びチャネル数を表す。図10における、“k”はフィルタのカーネルサイズを表す。図10における“J”は観測信号のチャンネル数を表す。図10における“Conv2D”は、2次元の畳み込みの処理を表す。図10における“Deconv2D”は、2次元の逆畳み込みの処理を表す。図10における“Conv3D”は、3次元の畳み込みの処理を表す。図10における“Deconv3D”は、3次元の逆畳み込みの処理を表す。図10における“BN”は、バッチ正規化の処理を表す。図10における“GLU”は、GLUを表す。
【0170】
実験におけるQφでは、入力である複素の行列式(33)の実数部と虚数部とはチャネル方向に分割され、3次元配列として扱われた。実験におけるPθとQφとのネットワーク構造では、全ての層が畳み込み層で構成された。そのため、実験の実行者はXの時間フレーム長を任意に設定可能であった。
【0171】
学習時の発話データの時間フレーム長は128であった。反復回数に相当する数であるDNNブロックの数Kは、パラメータ共有モデルで10であり、パラメータ非共有モデルで4であった。
【0172】
実験において、比較対象のILRMAの基底の数Mは2であった。
【0173】
実験において、反復回数は50回であった。全てのアルゴリズムはPython又はPyTorchで実装された。実験では分離性能の客観評価尺度として、signal-to-distortion ratio(SDR)と、signal-to-interference ratio(SIR)と、signal-to-artifacts ratio(SAR)とが用いられた。
【0174】
図11図12とに、実験結果の一例を示す。具体的には、図11及び図12は、ILRMAを用いた音源分離と音源分離システム100を用いた音源分離とにおける処理時間に対するSDR、SIR及びSARの平均値の推移を示す。より具体的には、図11及び図12は、ILRMAについては、1から10回目の反復の結果と10から50回目までの10回ごとの結果とを示す。図11及び図12は、音源分離システム100については、各DNNブロックの結果を示す。
【0175】
図11は、実施形態における音源分離システム100を用いた実験を説明する第2の説明図である。図11は、2チャンネル2音源の音源分離の実験結果を示す。図11が示す実験結果は、パラメータ共有モデルとパラメータ非共有モデルとのどちらもが最初のDNNブロックから最後のDNNブロックまで精度の高い分離行列を出力可能であることを示す。
【0176】
また、図11は、特にパラメータ非共有モデルの最終的な出力がILRMAを上回る分離性能であることを示す。このことは、より短い処理時間でILRMAと同等の分離性能の達成が可能であることを意味する。図11の結果は、パラメータ共有モデルはSARに関してパラメータ非共有モデルをわずかに上回っているが、SDR及びSIRに関してはパラメータ非共有モデルモデルが大きく向上していることを示す。
【0177】
図12は、実施形態における音源分離システム100を用いた実験を説明する第3の説明図である。図12は、3チャンネル3音源の音源分離の実験結果を示す。図12が示す実験結果は、パラメータ共有モデルとパラメータ非共有モデルとのどちらもが最初のDNNブロックから最後のDNNブロックまで精度の高い分離行列を出力可能であることを示す。
【0178】
また、図12は、特にパラメータ非共有モデルの最終的な出力がILRMAを上回る分離性能であることを示す。このことは、より短い処理時間でILRMAと同等の分離性能の達成が可能であることを意味する。図12の結果は、パラメータ共有モデルはSARに関してパラメータ非共有モデルをわずかに上回っているが、SDR及びSIRに関してはパラメータ非共有モデルモデルが大きく向上していることを示す。
【0179】
このように構成された実施形態における音源分離モデル学習装置1においては、第1更新処理による更新後の分離行列と第2更新処理による更新後の分離行列とを用いて、音源分離学習モデルを更新する。第1更新処理による更新後の分離行列と第2更新処理による更新後の分離行列とを用いた音源分離学習モデルの更新は、統計損失関数を用いた学習である。
【0180】
統計損失関数を用いた学習の場合、上述したように各DNNブロック101のフォワード計算に要する演算量が音源数及びチャンネル数の2乗に比例するオーダーの演算量である。そのため、音源分離モデル学習装置1は音源の分離に要求される計算量を削減することができる。
【0181】
このように構成された実施形態における音源分離モデル学習装置1は、統第1更新処理による更新後の分離行列と第2更新処理による更新後の分離行列とを用いて、音源分離学習モデルを更新する。第1更新処理による更新後の分離行列と第2更新処理による更新後の分離行列とを用いた音源分離学習モデルの更新は、統計損失関数を用いた学習である。
【0182】
上述したように統計損失関数は、各DNNブロック101で取得された分離信号と音源信号の誤差の平均を示す量である。したがって、統計損失関数を用いた学習は、反復アルゴリズムの各更新をニューラルネットワークの一層とみなしアルゴリズム全体を一種のDNNと解釈して混合信号の音源分離を行う数理モデルを得ることに相当する。
【0183】
すなわち、統計損失関数を用いた学習は、1つの学習データについて複数回の音源の分離を行い、得られた複数回の結果の分布の統計値を用いて数理モデルを更新する、という学習に相当する。そのため、音源分離モデル学習装置1は、1つの学習データについて1回の音源の分離を行い、その結果のみに基づいて数理モデルを更新する学習よりも、推定精度の高い音源分離モデルを得ることができる。
【0184】
また、このように構成された実施形態における音源分離装置2は、音源分離モデル学習装置1が得た音源分離モデルを用いて音源の分離を行う。そのため、音源分離装置2は音源の分離に要求される計算量を削減することができる。
【0185】
また、このように構成された実施形態の音源分離システム100は、音源分離モデル学習装置1を備える。そのため、音源分離システム100は、音源の分離に要求される計算量を削減することができる。
【0186】
また、このように構成された実施形態の音源分離システム100は、音源分離装置2を備える。そのため、音源分離システム100は、音源の分離に要求される計算量を削減することができる。
【0187】
(変形例)
音源分離モデル学習装置1は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、音源分離モデル学習装置1が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。
【0188】
音源分離装置2は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、音源分離装置2が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。
【0189】
音源分離システム100は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、音源分離システム100が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。
【0190】
なお、学習ネットワーク121は数理モデル実行部の一例である。
【0191】
なお、音源分離モデル学習装置1、音源分離装置2及び音源分離システム100の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
【0192】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0193】
100…音源分離システム、 1…音源分離モデル学習装置、 2…音源分離装置、 11…制御部、 12…入力部、 13…通信部、 14…記憶部、 15…出力部、 110…学習データ取得部、 111…入力側データ取得部、 112…正解データ取得部、 120…モデル学習部、 121…学習ネットワーク、 122…最適化部、 130…記憶制御部、 140…出力制御部、 150…終了判定部、 21…制御部、 22…入力部、 23…通信部、 24…記憶部、 25…出力部、 211…分離対象取得部、 212…分離部、 213…出力制御部、 91…プロセッサ、 92…メモリ、 93…プロセッサ、 94…メモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12