(57)【要約】【課題】微分不可能な評価値を含む多様な評価値を用いて入力音をマスク処理するためのマスクを生成する用途に適用できる学習技術を提供する。【解決手段】入力音に基づく入力ベクトルxτを入力とした場合にマスクGτが生成される生成確率をモデル化した事後確率分布に基づき、N個の入力音に基づく入力ベクトルxNからN個のマスクGNを生成するマスク生成部と、マスクGNを用いて、N個の入力音からN個の出力音を生成するマスク処理部と、N個の出力音に対するマスクGNの報酬係数を得る報酬係数取得部と、報酬係数と、事後確率分布に基づく入力ベクトルxNを入力とした場合にマスクGNが生成される生成確率q(GN|xN)とを用いて、事後確率分布を更新する更新部とを含み、報酬係数は、出力音の評価値と、入力音が入力された場合に生成したマスクGNの確からしさである確信度から定まる。【選択図】図１３
2019035862.tif 000002
【特許請求の範囲】
【請求項１】
入力音に基づく入力ベクトルxτ（τ∈{1,…,Τ}）を入力とした場合にマスクGτ（τ∈{1,…,Τ}）が生成される生成確率をモデル化した事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づき、N個の入力音（Nは1以上τ以下の整数）に基づく入力ベクトルxNからN個のマスクGNを生成するマスク生成部と、
前記マスクGNを用いて、前記N個の入力音から、前記N個の入力音をマスク処理したN個の出力音を生成するマスク処理部と、
前記N個の出力音に対する、前記マスクGNの報酬係数を得る報酬係数取得部と、
前記報酬係数と、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づく前記入力ベクトルxNを入力とした場合にマスクGNが生成される生成確率q(GN|xN)とを用いて、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）を更新する更新部と
を含む入力音マスク処理学習装置であって、
前記報酬係数は、前記出力音の評価値と、前記入力音が入力された場合に生成した前記マスクGNの確からしさである確信度から定まる
ことを特徴とする入力音マスク処理学習装置。
【請求項２】
請求項１に記載の入力音マスク処理学習装置であって、
前記報酬係数は、前記出力音の評価値と前記確信度の積であり、
前記更新部は、前記報酬係数と、前記生成確率q(GN|xN)の積を用いて、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）を更新する
ことを特徴とする入力音マスク処理学習装置。
【請求項３】
請求項１または２に記載の入力音マスク処理学習装置であって、
前記生成確率q(GN|xN)は、
前記出力音の評価値が正の値であるときは、その値が大きくなるように変動し、
前記出力音の評価値が負の値であるときは、その値が小さくなるように変動し、
前記確信度が相対的に低いときの値の変動は、前記確信度が相対的に高いときの値の変動に比して小さくなる
ことを特徴とする入力音マスク処理学習装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の入力音マスク処理学習装置であって、
前記生成確率q(GN|xN)は、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）の対数の和である
ことを特徴とする入力音マスク処理学習装置。
【請求項５】
請求項１に記載の入力音マスク処理学習装置であって、
前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）は、パラメータΘΜを用いて、p(Gτ|xτ,ΘΜ)（τ∈{1,…,Τ}）と表現され、
前記評価値は、パラメータΘΜで微分することができない
ことを特徴とする入力音マスク処理学習装置。
【請求項６】
請求項１ないし５のいずれか１項に記載の入力音マスク処理学習装置であって、
さらに、
前記N個の入力音から、N個の比較出力音を生成する比較出力音生成部と
を含み、
前記報酬係数は、前記出力音の評価値と前記比較出力音の評価値との差と、前記確信度から定まる
ことを特徴とする入力音マスク処理学習装置。
【請求項７】
入力データに基づく入力ベクトルxτ（τ∈{1,…,Τ}）を入力とした場合に処理関数Gτ（τ∈{1,…,Τ}）が生成される生成確率をモデル化した事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づき、N個の入力データ（Nは1以上τ以下の整数）に基づく入力ベクトルxNからN個の処理関数GNを生成する処理関数生成部と、
前記処理関数GNを用いて、前記N個の入力データから、前記N個の入力データを処理関数により処理したN個の出力データを生成する処理関数適用部と、
前記N個の出力データに対する、前記処理関数GNの報酬係数を得る報酬係数取得部と、
前記報酬係数と、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づく前記入力ベクトルxNを入力とした場合に処理関数GNが生成される生成確率q(GN|xN)とを用いて、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）を更新する更新部と
を含む入力データ処理関数学習装置であって、
前記報酬係数は、前記出力データの評価値と、前記入力データが入力された場合に生成した前記処理関数GNの確からしさである確信度から定まる
ことを特徴とする入力データ処理関数学習装置。
【請求項８】
入力音マスク処理学習装置が、入力音に基づく入力ベクトルxτ（τ∈{1,…,Τ}）を入力とした場合にマスクGτ（τ∈{1,…,Τ}）が生成される生成確率をモデル化した事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づき、N個の入力音（Nは1以上τ以下の整数）に基づく入力ベクトルxNからN個のマスクGNを生成するマスク生成ステップと、
前記入力音マスク処理学習装置が、前記マスクGNを用いて、前記N個の入力音から、前記N個の入力音をマスク処理したN個の出力音を生成するマスク処理ステップと、
前記入力音マスク処理学習装置が、前記N個の出力音に対する、前記マスクGNの報酬係数を得る報酬係数取得ステップと、
前記入力音マスク処理学習装置が、前記報酬係数と、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づく前記入力ベクトルxNを入力とした場合にマスクGNが生成される生成確率q(GN|xN)とを用いて、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）を更新する更新ステップと
を含む入力音マスク処理学習方法であって、
前記報酬係数は、前記出力音の評価値と、前記入力音が入力された場合に生成した前記マスクGNの確からしさである確信度から定まる
ことを特徴とする入力音マスク処理学習方法。
【請求項９】
入力データ処理関数学習装置が、入力データに基づく入力ベクトルxτ（τ∈{1,…,Τ}）を入力とした場合に処理関数Gτ（τ∈{1,…,Τ}）が生成される生成確率をモデル化した事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づき、N個の入力データ（Nは1以上τ以下の整数）に基づく入力ベクトルxNからN個の処理関数GNを生成する処理関数生成ステップと、
前記入力データ処理関数学習装置が、前記処理関数GNを用いて、前記N個の入力データから、前記N個の入力データを処理関数により処理したN個の出力データを生成する処理関数適用ステップと、
前記入力データ処理関数学習装置が、前記N個の出力データに対する、前記処理関数GNの報酬係数を得る報酬係数取得ステップと、
前記入力データ処理関数学習装置が、前記報酬係数と、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づく前記入力ベクトルxNを入力とした場合に処理関数GNが生成される生成確率q(GN|xN)とを用いて、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）を更新する更新ステップと
を含む入力データ処理関数学習方法であって、
前記報酬係数は、前記出力データの評価値と、前記入力データが入力された場合に生成した前記処理関数GNの確からしさである確信度から定まる
ことを特徴とする入力データ処理関数学習方法。
【請求項１０】
請求項１ないし６のいずれか１項に記載の入力音マスク処理学習装置または請求項７に記載の入力データ処理関数学習装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力音をマスク処理するためのマスクや入力データを処理するための処理関数の生成に用いることができる学習技術に関する。
【背景技術】
【０００２】
音源強調技術は、雑音に埋もれた観測信号の中から所望の目的音を強調する技術であり、音声認識の前処理、高臨場音響向け集音、聴覚補助など、その応用範囲の広さから長年研究されている。その実現例の一つとして、ウィナーフィルタリングのような時間周波数マスクに基づく処理がある。
【０００３】
音源強調の定式化のために、まず観測信号をモデル化する。m番目のマイクロホンの観測信号を数十ms分の長さで切り出し、時間フレームごとに短時間フーリエ変換（STFT: short-time Fourier transform）した信号Xω,τ∈CΩ×Τを所望の源信号Sω,τ∈CΩ×Τと雑音Nω,τ∈CΩ×Τが重畳されたものとして以下のように記述する。
【０００４】
【数１】
2019035862.tif 000003
【０００５】
ここで、ω∈{1,…,Ω}とτ∈{1,…,Τ}は、周波数と時間のインデックスを表す変数である。
【０００６】
非線形フィルタリングとは、時間周波数成分ごとにゲインを調整する時間周波数マスクに基づく処理である。時間周波数マスクに基づく音源強調では、0から1の値を持つ時間周波数マスクGω,τ∈[0,1]を観測信号Xω,τに掛け合わせることで、源信号Sω,τが強調された信号S^ω,τ∈CΩ×Τを得る（図１参照）。
【０００７】
【数２】
2019035862.tif 000004
【０００８】
時間周波数マスクGω,τの代表的な計算法として、ウィナーマスクがある。ウィナーマスクは、源信号とすべての雑音が互いに無相関かつ定常であるときにSω,τとS^ω,τの平均二乗誤差(MSE:mean squared error)を最小化するマスクである。しかし、源信号や雑音は非定常であることが多いため、実用上は以下の時変ウィナーマスクGWFω,τを用いることが多い。
【０００９】
【数３】
2019035862.tif 000005
【００１０】
ウィナーマスクを計算するためには、源信号の振幅スペクトル|Sω,τ|と雑音の振幅スペクトル|Nω,τ|の両方を推定しなくてはならないが、実用上は計算量や推定する値の数を少なくするために、以下のように源信号と雑音の加法性がパワースペクトル領域でも成り立つと仮定し、
【００１１】
【数４】
2019035862.tif 000006
【００１２】
源信号と雑音のどちらか片方を推定し近似的にウィナーマスクを計算することが多い。例えば、源信号の振幅スペクトル|Sω,τ|を推定した場合、ウィナーマスクは以下のように計算できる。
【００１３】
【数５】
2019035862.tif 000007
【００１４】
近年、時間周波数マスク推定に、観測信号を時間周波数マスクのパラメータに非線形射影するための射影関数として深層ニューラルネットワーク（DNN:deep neural network）が適用されている（非特許文献１）。観測信号Xω,τの時間周波数要素を並べたベクトルをxτ、時間周波数マスクを計算するためのパラメータを並べたベクトルyτとして、以下の式でベクトルy^τを推定する（図２参照）。例えば、図２のベクトルxτはフレーム結合された振幅スペクトルやMFCC(Mel-Frequency Cepstrum Coefficients)であり、ベクトルy^τは源信号の振幅スペクトルである。
【００１５】
【数６】
2019035862.tif 000008
【００１６】
ここで、Lはニューラルネットワークの層数であり、W(j)、b(j)はそれぞれj層目の重み行列とバイアスベクトルである。つまり、DNNのパラメータΘΜは、ΘΜ={W(j),b(j)|j=2,…,L}である。また、σθは活性化関数と呼ばれる非線形関数であり、シグモイド関数やランプ関数が用いられる。なお、zτ(1)=xτである。DNNの入力となるベクトルxτは、観測信号の周波数情報と時間情報の両方を考慮するために、例えば、以下のような観測信号Xω,τ∈CΩ×Τの時間周波数要素を並べたベクトルとする。
【００１７】
【数７】
2019035862.tif 000009
【００１８】
ここで、式(9)の括弧の右肩のtは転置を表す。また、Pb, Pfは考慮する前後の時間フレーム数であり、コンテキスト窓と呼ばれる。
【００１９】
源信号の振幅スペクトル|Sω,τ|から時間周波数マスクを計算する場合、DNNの出力となるベクトルyτは、例えば、以下のようになる。
【００２０】
【数８】
2019035862.tif 000010
【００２１】
DNNのパラメータΘΜは、観測信号とラベルデータ（時間周波数マスクのパラメータ）が対になったデータ（この例では、ベクトルxτとベクトルyτが対になったデータ）を大量に用意し、二乗誤差などの微分可能な評価値を最小化するように、誤差逆伝搬を用いて教師あり学習により生成される。
【００２２】
【数９】
2019035862.tif 000011
【００２３】
ただし、入出力ベクトルの次元数を抑えるために、源信号Sω,τや雑音Nω,τは、64次元程度のメルフィルタバンクで圧縮することもできる。このような圧縮をした場合には、メルフィルタバンク圧縮を行列演算とみなし、その逆行列などを用いて、DNNの出力を元の周波数領域に戻し、時間周波数マスクを設計する。
【先行技術文献】
【非特許文献】
【００２４】
【非特許文献１】Y. Xu, J. Du, L. R. Dai and C. H. Lee, “A regression approach to speech enhancement based on deep neural networks”, IEEE/ACM Trans. Audio, Speech and Language Processing, Vol.23, No.1, pp.7-19, 2015.
【発明の概要】
【発明が解決しようとする課題】
【００２５】
従来、誤差逆伝搬のために用いることができる評価値は、二乗誤差のように微分可能なものに限られていた。しかし、音源強調の性能評価値には、音源強調の応用に応じて、二乗誤差のように微分可能なものだけでなく、PESQ(perceptual evaluation of speech quality)やSTOI(short-time objective intelligibility measure)のような微分不可能なものも用いられる（参考非特許文献１、参考非特許文献２）。
（参考非特許文献１：ITU-T Recommendation P.862,”Perceptual evaluation of speech quality (PESQ): An objective method for end-to-end speech quality assessment of narrow-band telephone networks and speech codecs”, 2001.）
（参考非特許文献２：C.H.Taal, R.C.Hendriks, R.Heusdens, and J.Jensen, “An Algorithm for Intelligibility Prediction of Time-Frequency Weighted Noisy Speech”, IEEE Transactions on Audio, Speech and Language Processing, Vol.19, pp.2125-2136, 2011.）
【００２６】
したがって、用途に応じてDNNを適切に学習するためには、PESQなどの微分不可能な評価値を用いてDNNパラメータを最適化するようなDNNの学習フレームワークが必要になる。
【００２７】
そこで本発明では、微分不可能な評価値を含む多様な評価値を用いて入力音をマスク処理するためのマスクや入力データを処理するための処理関数を生成する用途に適用できる学習技術を提供することを目的とする。
【課題を解決するための手段】
【００２８】
本発明の一態様は、入力音に基づく入力ベクトルxτ（τ∈{1,…,Τ}）を入力とした場合にマスクGτ（τ∈{1,…,Τ}）が生成される生成確率をモデル化した事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づき、N個の入力音（Nは1以上τ以下の整数）に基づく入力ベクトルxNからN個のマスクGNを生成するマスク生成部と、前記マスクGNを用いて、前記N個の入力音から、前記N個の入力音をマスク処理したN個の出力音を生成するマスク処理部と、前記N個の出力音に対する、前記マスクGNの報酬係数を得る報酬係数取得部と、前記報酬係数と、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づく前記入力ベクトルxNを入力とした場合にマスクGNが生成される生成確率q(GN|xN)とを用いて、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）を更新する更新部とを含み、前記報酬係数は、前記出力音の評価値と、前記入力音が入力された場合に生成した前記マスクGNの確からしさである確信度から定まる。
【００２９】
本発明の一態様は、入力データに基づく入力ベクトルxτ（τ∈{1,…,Τ}）を入力とした場合に処理関数Gτ（τ∈{1,…,Τ}）が生成される生成確率をモデル化した事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づき、N個の入力データ（Nは1以上τ以下の整数）に基づく入力ベクトルxNからN個の処理関数GNを生成する処理関数生成部と、前記処理関数GNを用いて、前記N個の入力データから、前記N個の入力データを処理関数により処理したN個の出力データを生成する処理関数適用部と、前記N個の出力データに対する、前記処理関数GNの報酬係数を得る報酬係数取得部と、前記報酬係数と、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）に基づく前記入力ベクトルxNを入力とした場合に処理関数GNが生成される生成確率q(GN|xN)とを用いて、前記事後確率分布p(Gτ|xτ)（τ∈{1,…,Τ}）を更新する更新部とを含み、前記報酬係数は、前記出力データの評価値と、前記入力データが入力された場合に生成した前記処理関数GNの確からしさである確信度から定まる。
【発明の効果】
【００３０】
本発明によれば、微分不可能な評価値を含む多様な評価値を用いて事後確率分布を更新することにより、入力音をマスク処理するためのマスクや入力データを処理するための処理関数を生成するための事後確率分布を学習することが可能となる。
【図面の簡単な説明】
【００３１】
【図１】音源強調装置９００の構成の一例を示すブロック図。
【図２】DNNを用いた時間周波数マスク生成部９１０の構成の一例を示すブロック図。
【図３】音源強調学習装置１００の構成の一例を示すブロック図。
【図４】音源強調学習装置１００の動作の一例を示すフローチャート。
【図５】DNNパラメータ初期値生成部１１０の構成の一例を示すブロック図。
【図６】DNNパラメータ初期値生成部１１０の動作の一例を示すフローチャート。
【図７】DNN-RLパラメータ生成部１２０の構成の一例を示すブロック図。
【図８】DNN-RLパラメータ生成部１２０の動作の一例を示すフローチャート。
【図９】DNN-RL時間領域出力信号生成部１２４の構成の一例を示すブロック図。
【図１０】DNN-RL時間領域出力信号生成部１２４の動作の一例を示すフローチャート。
【図１１】音源強調装置２００の構成の一例を示すブロック図。
【図１２】音源強調装置２００の動作の一例を示すフローチャート。
【図１３】入力音マスク処理学習装置３００の構成の一例を示すブロック図。
【図１４】入力音マスク処理学習装置３００の動作の一例を示すフローチャート。
【図１５】入力音マスク処理学習装置３０１の構成の一例を示すブロック図。
【図１６】入力音マスク処理学習装置３０１の動作の一例を示すフローチャート。
【図１７】入力データ処理関数学習装置４００の構成の一例を示すブロック図。
【図１８】入力データ処理関数学習装置４００の動作の一例を示すフローチャート。
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００３３】
＜技術的背景＞
PESQやSTOIのような評価値は、時間周波数マスク（やそのパラメータ）の推定値とラベルデータとの誤差（式(12)参照）のように微分することはできない。そこで、ここでは、従来のように直接時間周波数マスク（またはそのパラメータ）を推定する非線形射影のアプローチではなく、観測信号を得た下で評価値を最大化する時間周波数マスクの事後確率分布（またはそのパラメータ）を推定する。この事後確率分布が満たすべき性質を目的関数として記述し、この目的関数を用いて、DNN（DNNパラメータΘΜ）を学習する。
【００３４】
従来は、時間周波数マスクそのものやそのパラメータをDNNで出力し、事前に用意したラベルデータとDNNの出力の二乗誤差などの微分可能な評価値を最小化するようにDNNを学習していた（図２、式(12)参照）。しかし、ここでは、観測信号を得た下での評価値を最大化する時間周波数マスクの確率密度関数（またはそのパラメータ）をDNNで出力する。そして、微分不可能な評価値を出力する評価関数Rを最大化するような新たな目的関数Tarを用いてDNNを学習する。つまり、従来は式(12)を用いてDNNを学習していたところ、ここでは、後述する式(26)を用いてDNNを学習する。
【００３５】
以下、詳細に説明する。
《目的関数Tarの導出》
本発明の実施の形態で最大化する対象となる評価値には、PESQやSTOIのような音声強調の出力信号S^ω,τから計算できる評価値がある。また、MOS値のように主観評価を行った結果やよい悪いを示す二値のように計算以外の方法で出力信号S^ω,τから得ることができる評価値であってもよい。さらに、例えば音声認識向けに音源強調を最適化したいのであれば、音声認識の結果が正解か否かの二値を評価値としてもよい。
【００３６】
また、本発明の実施の形態では、音源強調は時間周波数マスク処理により行われるため、評価値は時間周波数マスク系列Gの関数としてとらえることができる。すなわち、
【００３７】
【数１０】
2019035862.tif 000012
【００３８】
である。
【００３９】
ここで、評価値を出力する評価関数をR、最大化したい評価値をR(G)とおく。すると、問題は、評価値R(G)を最大化する時間周波数マスクを出力するDNNのパラメータΘΜを求めることに帰着する。
【００４０】
従来、DNNの出力は、式(6)のベクトルy^τのように時間周波数マスクそのものやそのパラメータを出力していた。ここでは、Μ(xτ|ΘΜ)を次式のように時間周波数マスクGτが評価値を最大化する事後確率として定義する。
【００４１】
【数１１】
2019035862.tif 000013
【００４２】
そして、時間周波数マスクGτは以下の事後確率最大化推定で求める。
【００４３】
【数１２】
2019035862.tif 000014
【００４４】
ここで、事後確率p(Gτ|xτ,ΘΜ)は時間周波数マスクGτに対する連続的な確率分布であるため、式(16)はp(Gτ|xτ,ΘΜ)を最大化するGτを直接求めること、つまり時間周波数マスクGτの生成とみなすことができる。
【００４５】
評価値R(G)を最大化する音源強調を実現するために、目的関数Tarを評価値R(G)の期待値として以下のように設計する。
【００４６】
【数１３】
2019035862.tif 000015
【００４７】
ただし、
【００４８】
【数１４】
2019035862.tif 000016
【００４９】
であり、p(X)は観測信号系列Xを得る確率、p(G|X,ΘΜ)は観測信号系列Xを得たもとで時間周波数マスク系列Gが評価値を最大化する確率密度関数を表す。
【００５０】
さらに、音源強調においては、時間周波数マスキングが次の時刻の観測信号に影響を及ぼすことはなく、また時刻τにおける時間周波数マスクの設計は他の時刻とは独立に行われる。このことを考慮すると、音源強調における確率密度関数p(G|X,ΘΜ)は以下の簡潔な形で記述できる。
【００５１】
【数１５】
2019035862.tif 000017
【００５２】
よって、目的関数Tarは以下のように記述できる。
【００５３】
【数１６】
2019035862.tif 000018
【００５４】
この目的関数Tarの性質を調べるために、式(21)に出現する目的関数TarのΘΜに関する勾配を求める。目的関数TarのΘΜに関する勾配は以下のように計算できる。
【００５５】
【数１７】
2019035862.tif 000019
【００５６】
ここで、式(23)の期待値をI回（Iは1以上の整数）のエピソードに関する算術平均に置き換える。すると、式(23)は以下のように書き換えることができる。
【００５７】
【数１８】
2019035862.tif 000020
【００５８】
ここで、Rew(i)=R(G(i))p(G(i)|X(i),ΘΜ)、上付き/下付きの文字iや(i)はi番目のエピソードの変数であることを示す。以下、Rewを報酬係数という。
【００５９】
報酬係数Rew(i)の意味を定性的に考える。第一項R(G(i))は評価値に関する項であり、生成した時間周波数マスクがよい評価であれば値が正、悪い評価であれば値が負となる、自身の生成した“時間周波数マスクの評価”を表す。また、第二項p(G(i)|X(i),ΘΜ)は時間周波数マスクの生成確率に関する項であり、自身の生成した時間周波数マスクは現状のDNNパラメータΘΜにおいてどれだけ確信を持って生成したものであるかという“時間周波数マスクの確信度”を表す。報酬係数Rew(i)はこの２つの項の積であるため、確信をもって生成した時間周波数マスクが評価値を向上させたならば生成確率lnp(G(i)τ|X(i)τ, ΘΜ)を大きく増加させ、確信をもって生成した時間周波数マスクが評価値を低下させたならば生成確率lnp(G(i)τ|X(i)τ, ΘΜ)を大きく減少させる働きを持っている。また、確信をもたずに生成した時間周波数マスクによって評価値が向上または低下した場合、その結果は偶発的に生じたものである可能性があるため、生成確率lnp(G(i)τ|X(i)τ, ΘΜ)の増加または減少を小さく抑える働きを持っている。
【００６０】
以上まとめると、PESQ、STOI、MOS値のような微分不可能な評価値を最大化する時間周波数マスク生成のための目的関数Tarは、評価値R(G(i))と確信度p(G(i)|X(i), ΘΜ)で重み付けられた、生成した時間周波数マスクに対する対数尤度lnp(G(i)τ|X(i)τ, ΘΜ)の算術平均となる。
【００６１】
【数１９】
2019035862.tif 000021
【００６２】
なお、報酬係数Rew(i)の第二項p(G(i)τ|X(i)τ, ΘΜ)はΘΜで微分されていないことに注意されたい。
【００６３】
式(26)で定義される目的関数Tarの導出では、微分不可能な評価値を対象に議論を進めてきたが、この議論は微分不可能な評価値に限られるものではない。つまり、式(26)で定義される目的関数Tar及び式(26’)で定義される報酬係数Rew(i)は、微分可能な評価値についても適用することが可能である。
【００６４】
《DNNパラメータΘΜの学習アルゴリズム》
以下、式(26)の目的関数Tarを用いて、時間周波数マスクGτが評価値を最大化する事後確率p(Gτ|xτ,ΘΜ)の分布パラメータを出力とするDNNのパラメータΘΜを学習するためのアルゴリズムについて説明する。
【００６５】
（DNNの出力p(Gτ|xτ,ΘΜ)の分布パラメータの設計）
まず、p(Gτ|xτ,ΘΜ)をDNNのパラメータΘΜで微分可能な分布として表現し、p(Gτ|xτ,ΘΜ)の分布パラメータをニューラルネットワークで推定、出力する。
【００６６】
そこで、p(Gτ|xτ,ΘΜ)をDNNのパラメータΘΜで微分が容易で、数値的に扱いやすい複素ガウス分布としてモデル化する。
【００６７】
【数２０】
2019035862.tif 000022
【００６８】
ここで、式(27)の右辺の小さい丸印はアダマール積を表し、式(29)の右辺のRとIはそれぞれ複素数の実部と虚部を表す。
【００６９】
そして、複素ガウス分布p(Gτ|xτ,ΘΜ)の分布パラメータである平均ベクトルμ(xτ)と分散ベクトルσ(xτ)をDNNの出力とする。
【００７０】
【数２１】
2019035862.tif 000023
【００７１】
ここで、平均ベクトルμ(xτ)を時間周波数マスクGτ∈[0,1]の推定値とするために、活性化関数にシグモイド関数を利用している。
【００７２】
ここでは、事後確率p(Gτ|xτ,ΘΜ)を複素ガウス分布によりモデル化することで、DNNの出力を平均ベクトルμ(xτ)と分散ベクトルσ(xτ)としたが、事後確率p(Gτ|xτ,ΘΜ)そのものをDNNの出力としてもよい（図２参照）。
【００７３】
（評価関数Rの設計）
代表的な評価値であるPESQやSTOIは、音源強調の性能だけでなく観測信号のSNRや雑音の種類によっても値が変動してしまう。そこで、上述のDNN（式(26)の目的関数Tarを用いたDNN）により学習したパラメータΘΜから求めた時間周波数マスクを用いて音源強調した出力音の評価値と、従来のMMSE(minimum mean squared error)基準を用いたDNNにより学習したパラメータΘΜから求めた時間周波数マスクを用いて音源強調した出力音（非特許文献１）の評価値を比較することで得られる評価値（以下、比較報酬という）を計算する。
【００７４】
以下、簡単のために、式(26)の目的関数Tarを用いて学習したDNNをDNN-RLと呼ぶ。また、MMSE基準を用いて学習したDNNをDNN-MMSEという。同様に、簡単のため、DNN-RLで得られた時間周波数マスクを用いて音源強調された出力音のことをDNN-RLで得られた出力音、DNN-MMSEで得られた時間周波数マスクを用いて音源強調された出力音のことをDNN-MMSEで得られた出力音という。
【００７５】
なお、式(26)の目的関数Tarを用いたDNNの学習をDNN-RL学習、MMSE基準を用いたDNNの学習をDNN-MMSE学習という。
【００７６】
DNN-RLで得られた出力音の評価値をZRL、DNN-MMSEで得られた出力音の評価値をZMMSEとする。そして、この２つの評価値を比較した評価値である比較報酬R(G)を以下のように求める。
【００７７】
【数２２】
2019035862.tif 000024
【００７８】
ここで、α(>0)は比較報酬のスケーリング係数であり、tanhは比較報酬のクリッピングのための双曲線正接関数である。
【００７９】
この比較報酬R(G)は、ゲームの勝敗から着想を得た値である。ZRLがZMMSEより大きいということは、DNN-MMSEで得られた出力音の評価値よりもDNN-RLで得られた出力音の評価値が高いということであり、ZRLを求めるために行った音源強調は正しかったと判断することができる（このとき、R(G)>0となる）。一方、ZRLがZMMSEより小さいということは、DNN-MMSEで得られた出力音の評価値よりもDNN-RLで得られた出力音の評価値が低いということであり、ZRLを求めるために行った音源強調は誤っていたと判断することができる（このとき、R(G)<0となる）。このように、DNN-MMSEというDNN-RLと比較対象となる音源強調手段を設けることで、音源強調の性能以外からの評価値への影響を低減することが可能となる。また、MMSE基準に基づく音源強調よりも高い評価値となる音源強調のためのDNNのパラメータの学習が可能となる。
【００８０】
また、報酬係数Rewの第二項p(G|X,ΘΜ)は確率の積であるため非常に小さな値となる（式(20)参照）。アンダーフローを避けるために、報酬係数Rewを以下の式で求める。
【００８１】
【数２３】
2019035862.tif 000025
【００８２】
ここで、βとγはp(G|X)のアンダーフローを避けるための係数である。
【００８３】
DNN-MMSEで得られた出力音の評価値よりもDNN-RLで得られた出力音の評価値が低い場合（R(G)<0）、DNN-RLの時間周波数マスクよりもDNN-MMSEの時間周波数マスクの方が、評価値が高くなると考えられる。そこで、MMSEベースの時間周波数マスクの生成確率を高めるために以下の処理を行う。
【００８４】
【数２４】
2019035862.tif 000026
【００８５】
＜第一実施形態＞
ここでは、＜技術的背景＞で説明した内容に基づいて構成した音源強調学習装置について説明する。
【００８６】
以下、図３〜図４を参照して音源強調学習装置１００を説明する。図３は、音源強調学習装置１００の構成を示すブロック図である。図４は、音源強調学習装置１００の動作を示すフローチャートである。図３に示すように音源強調学習装置１００は、周波数領域信号生成部１０５と、DNNパラメータ初期値生成部１１０と、DNN-RLパラメータ生成部１２０と、記録部１９０を含む。記録部１９０は、音源強調学習装置１００の処理に必要な情報を適宜記録する構成部である。
【００８７】
音源強調学習装置１００は、目的音学習データ記録部９１０、雑音学習データ記録部９２０に接続している。目的音学習データ記録部９１０、雑音学習データ記録部９２０には、事前に収音した目的音と雑音が学習データとして記録されている。目的音学習データ、雑音学習データは、時間領域信号である。例えば、音声を目的音とする場合、目的音学習データは、無響室などで収録した発話データである。この発話データは、8秒間程度の発話を、5000発話程度以上集めることが望ましい。また、雑音学習データは、使用を想定する環境で収録した雑音である。
【００８８】
音源強調学習装置１００の各構成部で用いる各種パラメータ（例えば、DNN-MMSE学習、DNN-RL学習などに用いるパラメータ）については、目的音学習データや雑音学習データと同様外部から入力するようにしてもよいし、事前に各構成部に設定されていてもよい。
【００８９】
図４に従い音源強調学習装置１００の動作について説明する。周波数領域信号生成部１０５は、目的音学習データと雑音学習データから、周波数領域目的音信号Sω,τ、周波数領域雑音信号Nω,τ、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}、Ω、Τはそれぞれ目的音学習データ及び雑音学習データにより定まる1以上の整数）を生成する（Ｓ１０５）。具体的には、まず、目的音学習データ（先ほどの例でいうと、8秒間程度の発話データ）をランダムに1つ選択し、目的音学習データと同じ長さの雑音学習データをランダムに1つ選択する。さらに、目的音学習データと雑音学習データをランダムなSNR(signal-to-noise ratio)で重畳することにより時間領域観測信号を生成する。このSNRの範囲は、例えば、-6dB〜12dB程度に設定するとよい。次に、これらの目的音学習データ、雑音学習データ、時間領域観測信号から周波数領域目的音信号Sω,τ、周波数領域雑音信号Nω,τ、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）を生成する。これらの周波数領域信号の生成には短時間フーリエ変換等を用いるとよい。
【００９０】
DNNパラメータ初期値生成部１１０は、Ｓ１０５で生成した周波数領域目的音信号Sω,τ、周波数領域雑音信号Nω,τ、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、DNN-MMSEパラメータの初期値ΘMMSEiniとDNN-RLパラメータの初期値ΘRLiniを生成する（Ｓ１１０）。DNN-RLパラメータ生成部１２０は、Ｓ１１０で生成したDNN-MMSEパラメータ初期値ΘMMSEiniとDNN-RLパラメータ初期値ΘRLiniを用いて、Ｓ１０５で生成した周波数領域目的音信号Sω,τ、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）からDNN-RLパラメータΘRLを生成する（Ｓ１２０）。
【００９１】
なお、Ｓ１０５の処理は、Ｓ１１０やＳ１２０の処理（DNN-MMSE学習やDNN-RL学習）に必要な回数だけ適宜実行される。したがって、Ｓ１２０の処理に必要となるＳ１０５の処理は、図４におけるＳ１１０とＳ１２０の間で実行してもよい。
【００９２】
以下、図５〜図６を参照してDNNパラメータ初期値生成部１１０について説明する。図５は、DNNパラメータ初期値生成部１１０の構成を示すブロック図である。図６は、DNNパラメータ初期値生成部１１０の動作を示すフローチャートである。図５に示すようにDNNパラメータ初期値生成部１１０は、DNN-MMSEパラメータ初期値生成部１１１と、DNN-RLパラメータ初期値生成部１１２を含む。
【００９３】
図６に従いDNNパラメータ初期値生成部１１０の動作について説明する。DNN-MMSEパラメータ初期値生成部１１１は、Ｓ１０５で生成した周波数領域目的音信号Sω,τ、周波数領域雑音信号Nω,τ、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、DNN-MMSEパラメータの初期値ΘMMSEiniを生成する（Ｓ１１１）。初期値ΘMMSEiniの生成には、例えば、非特許文献１を用いることができる。具体的には、まず、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、式(9)によりDNN-MMSEの入力ベクトルxτ（τ∈{1,…,Τ}）を生成する。また、周波数領域目的音信号Sω,τ、周波数領域雑音信号Nω,τから、次式により時間周波数マスクGIRMω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）を生成する。
【００９４】
【数２５】
2019035862.tif 000027
【００９５】
この時間周波数マスクGIRMω,τがラベルデータとなる。
【００９６】
次に、式(42)〜式(44)を用いてDNN-MMSEを学習する。
【００９７】
【数２６】
2019035862.tif 000028
【００９８】
具体的には、まず、DNN-MMSEの入力ベクトルxτに対して、DNN-MMSEの出力であるμ(xτ)（τ∈{1,…,Τ}）を生成する。次に、Gτ=μ(xτ)として、ラベルデータGIRMω,τとGω,τ(=μω,τ)の二乗誤差を最小化するように誤差逆伝搬法を用いて、DNN-MMSEパラメータΘMを学習する。このDNN-MMSEの構造を定める式(42)〜式(44)は、DNN-RLの構造を定める式(32)〜式(35)から式(33)の分散ベクトルの推定を除いたものに等しい。
【００９９】
なお、この学習にはdiscriminative pre-training（参考非特許文献３）などの初期化法を用いることができる。また、誤差逆伝搬法の実装には、Adam（参考非特許文献４）などのアルゴリズムを用いることができる。
（参考非特許文献３：F.Seide, G.Li, X.Chen and D.Yu, “Feature engineering in context-dependent deep neural networks for conversational speech transcription”, In Proc. IEEE Automatic Speech Recognition and Understanding Workshop(ASRU), pp. 24-29, 2011.）
（参考非特許文献４：D.Kingma and J.Ba, “Adam: A Method for Stochastic Optimization”, In Proc. of the 3rd International Conference for Learning Representations(ICLR), pp.1-15, 2015.）
【０１００】
学習が終了したときのDNN-MMSEパラメータΘMを、DNN-MMSEパラメータ初期値ΘMMSEiniとして出力する。DNN-MMSEパラメータ初期値ΘMMSEiniは、DNN-RLパラメータ生成部１２０の処理で用いるので、記録部１９０に記録しておく。
【０１０１】
DNN-RLパラメータ初期値生成部１１２は、Ｓ１０５で生成した周波数領域目的音信号Sω,τ、周波数領域雑音信号Nω,τ、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、DNN-RLパラメータの初期値ΘRLiniを生成する（Ｓ１１２）。具体的には、まず、Ｓ１０５で生成した周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、式(9)によりDNN-RLの入力ベクトルxτ（τ∈{1,…,Τ}）を生成する。
【０１０２】
次に、式(32)〜式(35)を用いてDNN-RLを学習する。具体的には、まず、DNN-RLの入力ベクトルxτに対して、DNN-RLの出力である平均ベクトルμ(xτ)と分散ベクトルσ(xτ)（τ∈{1,…,Τ}）を生成する。次に、式(45)のように尤度関数を最大化するように誤差逆伝搬法を用いて、DNN-RLパラメータΘMを学習する。
【０１０３】
【数２７】
2019035862.tif 000029
【０１０４】
ただし、
【０１０５】
【数２８】
2019035862.tif 000030
【０１０６】
である。
【０１０７】
なお、誤差逆伝搬法の実装には、先ほど同様、Adamを用いることができる。
【０１０８】
学習が終了したときのDNN-RLパラメータΘMを、DNN-RLパラメータ初期値ΘRLiniとして出力する。DNN-RLパラメータ初期値ΘRLiniは、DNN-RLパラメータ生成部１２０の処理で用いるので、記録部１９０に記録しておく。
【０１０９】
以下、図７〜図８を参照してDNN-RLパラメータ生成部１２０について説明する。図７は、DNN-RLパラメータ生成部１２０の構成を示すブロック図である。図８は、DNN-RLパラメータ生成部１２０の動作を示すフローチャートである。図７に示すようにDNN-RLパラメータ生成部１２０は、DNN-RL時間領域出力信号生成部１２４と、DNN-MMSE時間領域出力信号生成部１２５と、報酬係数計算部１２６と、DNN-RLパラメータ最適化部１２７と、収束条件判定部１２８を含む。
【０１１０】
図８に従いDNN-RLパラメータ生成部１２０の動作について説明する。DNN-RL時間領域出力信号生成部１２４は、Ｓ１０５で生成した周波数領域目的音信号Sω,τ、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、DNN-RL時間領域出力信号を生成する（Ｓ１２４）。
【０１１１】
以下、図９〜図１０を参照してDNN-RL時間領域出力信号生成部１２４について説明する。図９は、DNN-RL時間領域出力信号生成部１２４の構成を示すブロック図である。図１０は、DNN-RL時間領域出力信号生成部１２４の動作を示すフローチャートである。図９に示すようにDNN-RL時間領域出力信号生成部１２４は、事後確率分布パラメータ生成部１２１と、時間周波数マスク生成部１２２と、時間周波数マスク処理部１２３を含む。
【０１１２】
なお、事後確率分布パラメータ生成部１２１、時間周波数マスク生成部１２２、時間周波数マスク処理部１２３はそれぞれ従来技術における非線形写像部９１２、マスク計算部９１３、フィルタリング部９２０に対応する。
【０１１３】
図１０に従いDNN-RL時間領域出力信号生成部１２４の動作について説明する。事後確率分布パラメータ生成部１２１は、Ｓ１０５で生成した周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、事後確率分布パラメータである平均ベクトルμ(xτ)、分散ベクトルσ(xτ)（τ∈{1,…,Τ}）を生成する（Ｓ１２１）。具体的には、まず、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、式(9)によりDNN-RLの入力ベクトルxτ（τ∈{1,…,Τ}）を生成する。
【０１１４】
次に、現時点のDNN-RLパラメータΘMを用いて、式(32)〜式(35)により、入力ベクトルxτ（τ∈{1,…,Τ}）から事後確率分布パラメータである平均ベクトルμ(xτ)と分散ベクトルσ(xτ) （τ∈{1,…,Τ}）を生成する。なお、事後確率分布パラメータ生成部１２１の１番目の処理で用いられるDNN-RLパラメータは、DNN-RLパラメータ初期値ΘRLiniである。
【０１１５】
時間周波数マスク生成部１２２は、Ｓ１２１で生成した事後確率分布パラメータである平均ベクトルμ(xτ)、分散ベクトルσ(xτ)（τ∈{1,…,Τ}）から、時間周波数マスクGτ（τ∈{1,…,Τ}）を生成する（Ｓ１２２）。具体的には、以下のε-greedyアルゴリズムを用いて時間周波数マスクGτ（τ∈{1,…,Τ}）を生成する。
【０１１６】
【数２９】
2019035862.tif 000031
【０１１７】
ここで、式(50)の〜は右辺の確率分布から乱数生成することを表す。確率ε(0<ε<1)は、例えば、0.05程度に設定するとよい。
【０１１８】
もちろん、単にGτ=μ(xτ)（τ∈{1,…,Τ}）としてもよい。
【０１１９】
時間周波数マスク処理部１２３は、Ｓ１２２で生成した時間周波数マスクGτ（τ∈{1,…,Τ}）を用いて、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、DNN-RL時間領域出力信号を生成する（Ｓ１２３）。具体的には、時間周波数マスクGτを用いて、式(2)により、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）からDNN-RL周波数領域出力信号S^τ=(G1,τX1,τ,…, GΩ,τXΩ,τ)（τ∈{1,…,Τ}）を生成し、逆フーリエ変換などを用いて時間領域波形に変換することによりDNN-RL時間領域出力信号を生成する。
【０１２０】
DNN-MMSE時間領域出力信号生成部１２５は、Ｓ１０５で生成した周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、DNN-MMSE時間領域出力信号を生成する（Ｓ１２５）。具体的には、まず、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、式(9)によりDNN-MMSEの入力ベクトルxτ（τ∈{1,…,Τ}）を生成し、DNN-MMSEパラメータ初期値ΘMMSEiniを用いて、式(42)〜式(44)によりDNN-MMSEの出力である平均ベクトルμ(xτ)（τ∈{1,…,Τ}）を生成する。次に、時間周波数マスクGτ=μ(xτ)として、時間周波数マスクGτを用いて、式(2)により、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）からDNN-MMSE周波波数領域出力信号S^τ=(G1,τX1,τ,…, GΩ,τXΩ,τ)を生成し、逆フーリエ変換などを用いて時間領域波形に変換することによりDNN-MMSE時間領域出力信号を生成する。
【０１２１】
報酬係数計算部１２６は、Ｓ１２４で生成したDNN-RL時間領域出力信号とＳ１２５で生成したDNN-MMSE時間領域出力信号から、Ｓ１２２で生成した時間周波数マスクGτ（τ∈{1,…,Τ}）の報酬係数を計算する（Ｓ１２６）。具体的には、DNN-RL時間領域出力信号の評価値ZRLとDNN-MMSE時間領域出力信号の評価値ZMMSEを算出、式(36)を用いて比較報酬を計算し、式(37)〜式(38)を用いて報酬係数を計算する。報酬係数の算出に用いる各パラメータは、比較報酬の計算に用いる評価値によってチューニングするのが好ましい。例えば、評価値としてPESQを用いる場合、α=1.0、β=10.0、γ=0.01程度に設定できる。
【０１２２】
I個の目的音学習データと雑音学習データの組に対して、報酬係数を計算する。つまり、Ｓ１２４〜Ｓ１２６までの処理をI回繰り返す。ここで、Iは5程度に設定するとよい。
【０１２３】
DNN-RLパラメータ最適化部１２７は、式(26)の目的関数Tarの値を最大化するようにDNN-RLパラメータΘMを更新する（Ｓ１２７）。式(26)の目的関数Tarの値は、式(27)〜式(31)を用いて、Ｓ１２１の処理過程で生成した入力ベクトルxτ、Ｓ１２１で生成した平均ベクトルμ(xτ)と分散ベクトルσ(xτ)、Ｓ１２６で計算した報酬係数から求めることができる。なお、式(26)の目的関数Tarに出現する(i)やiは繰り返し回数を表すインデックスである。また、DNN-RLパラメータ初期値生成部１１２と同様、誤差逆伝搬法によりDNN-RLパラメータΘMを最適化するよう更新する。なお、誤差逆伝搬法には、Adamを用いればよい。
【０１２４】
収束条件判定部１２８は、学習の終了条件として事前に設定された収束条件を判定し、収束条件が満たされる場合は処理を終了し、収束条件が満たされない場合はＳ１２４〜Ｓ１２７の処理を繰り返す（Ｓ１２８）。学習が終了したときのDNN-RLパラメータΘMを、DNN-RLパラメータΘRLとして出力する。収束条件として、例えばＳ１２４〜Ｓ１２７の処理の実行回数が所定の回数に達するかという条件を採用することができる。この場合、所定の回数を10万回程度に設定することができる。
【０１２５】
本実施形態の発明によれば、微分不可能な評価値を含む多様な評価値を用いてDNNパラメータを最適化することにより、入力音を音源強調するための時間周波数マスクを生成するためのDNNを学習することができる。例えば、音声認識向けに音源強調を最適化したい場合、音声認識の結果が正解か否かの二値を評価値として目的関数を構成することにより、音声認識向けの音源強調に適した形でDNNパラメータを最適化することができるようになる。
【０１２６】
＜第二実施形態＞
ここでは、第一実施形態の音源強調学習装置が生成したDNNパラメータを用いた音源強調装置について説明する。
【０１２７】
以下、図１１〜図１２を参照して音源強調装置２００を説明する。図１１は、音源強調装置２００の構成を示すブロック図である。図１２は、音源強調装置２００の動作を示すフローチャートである。図１１に示すように音源強調装置２００は、周波数領域観測信号生成部２１０と、事後確率分布パラメータ生成部１２１と、時間周波数マスク生成部１２２と、時間周波数マスク処理部１２３と、記録部２９０を含む。記録部２９０は、音源強調装置２００の処理に必要な情報を適宜記録する構成部である。例えば、音源強調学習装置１００が生成したDNN-RLパラメータΘRLを記録しておく。
【０１２８】
図１２に従い音源強調装置２００の動作について説明する。周波数領域観測信号生成部２１０は、時間領域観測信号から、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}、Ω、Τはそれぞれ時間領域観測信号により定まる1以上の整数）を生成する（Ｓ２１０）。例えば、短時間フーリエ変換を用いて、マイクロホンで収音した時間領域観測信号を周波数領域に変換し、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）を生成する。事後確率分布パラメータ生成部１２１は、Ｓ２１０で生成した周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から、DNN-RLの出力として事後確率分布パラメータである平均ベクトルμ(xτ)、分散ベクトルσ(xτ)（τ∈{1,…,Τ}）を生成する（Ｓ１２１）。その際、DNN-RLパラメータΘRLを用いる。時間周波数マスク生成部１２２は、Ｓ１２１で生成した事後確率分布パラメータである平均ベクトルμ(xτ)、分散ベクトルσ(xτ)（τ∈{1,…,Τ}）から、時間周波数マスクGτ（τ∈{1,…,Τ}）を生成する（Ｓ１２２）。時間周波数マスク処理部１２３は、Ｓ１２２で生成した時間周波数マスクGτ（τ∈{1,…,Τ}）を用いて、周波数領域観測信号Xω,τ（ω∈{1,…,Ω},τ∈{1,…,Τ}）から時間領域出力信号を生成する（Ｓ１２３）。
【０１２９】
本実施形態の発明によれば、微分不可能な評価値を含む多様な評価値を用いて最適化したDNNパラメータを設定したDNNに基づいて生成した時間周波数マスクにより、音源強調が可能となる。例えば、音声認識向けの音源強調に適した形で最適化したDNNパラメータを用いた音源強調が可能となる。また、評価値として主観的な音質評価と相関が高いPESQを採用することにより、音質評価を目的とする音情報処理技術に適した基準（目的関数）にて生成したDNNパラメータを用いた音源強調が可能となる。
【０１３０】
＜第三実施形態＞
第一実施形態では、音源強調のためのDNN-RL学習について説明したが、＜技術的背景＞で説明した枠組み、つまり、DNN-RLパラメータΘΜの学習（最適化）を式(15)のような事後確率分布p(Gτ|xτ,ΘΜ)を出力とするDNN-RLにより定式化する枠組みは、一般に音のマスク処理（フィルタリング）に関しても適用することができる。
【０１３１】
さらに、第一実施形態で扱った学習は、DNNに限定されるものではなく、より一般のニューラルネットワークにも適用することが可能である。
【０１３２】
そこで、ここでは、音源強調に限定しない、一般のニューラルネットワークによる学習に関する実施形態について説明する。なお、以下では、ニューラルネットワークのことをNNと表すことにする。
【０１３３】
以下、図１３〜図１４を参照して入力音マスク処理学習装置３００を説明する。図１３は、入力音マスク処理学習装置３００の構成を示すブロック図である。図１４は、入力音マスク処理学習装置３００の動作を示すフローチャートである。図１３に示すように入力音マスク処理学習装置３００は、入力ベクトル生成部３０５と、事後確率分布生成部３１０と、マスク生成部３２０と、マスク処理部３３０と、報酬係数計算部３６０と、パラメータ最適化部３７０と、収束条件判定部３８０と、記録部３９０を含む。記録部３９０は、入力音マスク処理学習装置３００の処理に必要な情報を適宜記録する構成部である。
【０１３４】
入力音マスク処理学習装置３００は、入力音学習データ記録部９３０に接続している。入力音学習データ記録部９３０には、事前に収音した、マスク処理の対象となる入力音が学習データとして記録されている。
【０１３５】
入力音マスク処理学習装置３００の各構成部で用いる各種パラメータ（例えば、NNの学習などに用いるパラメータ）については、入力音と同様外部から入力するようにしてもよいし、事前に各構成部に設定されていてもよい。
【０１３６】
また、マスク処理は、各入力音について独立であり、他の入力音の処理に影響を及ぼすことはなく、各入力音に対するマスクの設計は他の入力音のそれとは独立に行われるものと仮定する。
【０１３７】
図１４に従い入力音マスク処理学習装置３００の動作について説明する。入力ベクトル生成部３０５は、入力音からNNへの入力ベクトルxτ（τ∈{1,…,Τ}、Τは当該入力音により定まる1以上の整数）を生成する（Ｓ３０５）。事後確率分布生成部３１０は、NNのパラメータΘΜを用いて、Ｓ３０５で生成した入力ベクトルxτ（τ∈{1,…,Τ}）から、NNの出力である、入力ベクトルxτが入力された場合にマスクGτが生成される確率である事後確率分布p(Gτ|xτ,ΘΜ)（τ∈{1,…,Τ}）を生成する（Ｓ３１０）。ここで、事後確率分布p(Gτ|xτ,ΘΜ)は、式(15)のように表現される。
【０１３８】
【数３０】
2019035862.tif 000032
【０１３９】
なお、事後確率分布生成部３１０の１番目の処理で用いられるNNのパラメータΘΜは、例えば、記録部３９０に記録されているなど、事前に与えられているものとする。
【０１４０】
マスク生成部３２０は、Ｓ３１０で生成した事後確率分布p(Gτ|xτ,ΘΜ)（τ∈{1,…,Τ}）から、入力ベクトルxτのマスク処理に用いるマスクGτ（τ∈{1,…,Τ}）を生成する（Ｓ３２０）。具体的には、マスクGτは式(16)で求める。
【０１４１】
【数３１】
2019035862.tif 000033
【０１４２】
マスク処理部３３０は、Ｓ３２０で生成したマスクGτ（τ∈{1,…,Τ}）を用いて、入力ベクトルxτ（τ∈{1,…,Τ}）から出力音を生成する（Ｓ３３０）。具体的には、Ｓ３２０で生成したマスクGτの処理内容に応じた処理が入力ベクトルxτに対して行われ、出力音が生成されることになる。
【０１４３】
なお、事後確率分布生成部３１０と、マスク生成部３２０と、マスク処理部３３０をまとめて、出力音生成部３４０という。出力音生成部３４０は、第一実施形態のDNN-RL時間領域出力信号生成部１２４に対応する構成部であり、入力ベクトルxτ（τ∈{1,…,Τ}）から出力音を生成する。
【０１４４】
報酬係数計算部３６０は、Ｓ３３０で生成した出力音から、マスクGτ（τ∈{1,…,Τ}）の報酬係数を計算する（Ｓ３６０）。具体的には、マスク処理と入力音に関する仮定より、報酬係数Rewを次式により計算する（式(26’)、式(20)参照）。
【０１４５】
【数３２】
2019035862.tif 000034
【０１４６】
R(G)はＳ３３０で生成した出力音の評価値である。また、Πτp(Gτ|xτ,ΘΜ)は入力ベクトルxτが入力された場合にマスクGτが生成される確率である生成確率p(Gτ|xτ,ΘΜ)（τ∈{1,…,Τ}）の積であるから、入力音が入力された場合に生成したマスクGτ（τ∈{1,…,Τ}）の確からしさである確信度を示す。
【０１４７】
なお、評価値R(G)は、NNのパラメータΘΜで微分することができないものであってもよい。
【０１４８】
I個（Iは1以上の整数）の入力音に対して、報酬係数を計算する。つまり、Ｓ３０５〜Ｓ３６０までの処理をI回繰り返す。
【０１４９】
パラメータ最適化部３７０は、式(26)の目的関数Tarの値を最大化するようにNNのパラメータΘMを更新する（Ｓ３７０）。
【０１５０】
【数３３】
2019035862.tif 000035
【０１５１】
ただし、文字iや(i)はi番目のエピソードを表す変数であり、繰り返し回数を表すインデックスとなる。
【０１５２】
式(26)の目的関数Tarは、報酬係数と事後確率分布p(Gτ|xτ,ΘΜ)（τ∈{1,…,Τ}）を用いて定義されるパラメータΘΜの関数であり、具体的には、報酬係数と、事後確率分布p(Gτ|xτ,ΘΜ)（τ∈{1,…,Τ}）を用いて表現される式（ここでは、具体的には、Στlnp(Gτ|xτ,ΘΜ)）の積となっている。
【０１５３】
事後確率分布p(Gτ|xτ,ΘΜ)（τ∈{1,…,Τ}）を用いて表現される式として、出力音の評価値R(G)が正の値であるときは、その値が大きくなるように変動し、出力音の評価値R(G)が負の値であるときは、その値が小さくなるように変動し、確信度が相対的に低いときの値の変動は、前記確信度が相対的に高いときの値の変動に比して小さくなるものを用いる。
【０１５４】
収束条件判定部３８０は、学習の終了条件として事前に設定された収束条件を判定し、収束条件が満たされる場合は処理を終了し、収束条件が満たされない場合はＳ３０５〜Ｓ３７０の処理を繰り返す（Ｓ３８０）。学習が終了したときのNNのパラメータΘMを、NNのパラメータΘNNとして出力する。収束条件として、例えばＳ３０５〜Ｓ３７０の処理の実行回数が所定の回数に達するかという条件を採用することができる。
【０１５５】
本実施形態の発明によれば、微分不可能な評価値を含む多様な評価値を用いてNNのパラメータを最適化することにより、入力音をマスク処理するためのマスクを生成するためのNNを学習することができる。
【０１５６】
＜第四実施形態＞
第一実施形態における報酬係数の計算では、DNN-MMSEパラメータΘMMSEiniを用いて得られる時間周波数マスク処理によるDNN-MMSE時間領域出力信号の評価値も用いる比較報酬に基づいて計算した。
【０１５７】
そこで、ここでは、比較報酬を用いて報酬係数を計算するような実施形態について説明する。
【０１５８】
以下、図１５〜図１６を参照して入力音マスク処理学習装置３０１を説明する。図１５は、入力音マスク処理学習装置３０１の構成を示すブロック図である。図１６は、入力音マスク処理学習装置３０１の動作を示すフローチャートである。図１５からわかるように、入力音マスク処理学習装置３０１は、比較出力音生成部３５０をさらに含む点と、報酬係数計算部３６０の代わりに報酬係数計算部３６１を含む点においてのみ、入力音マスク処理学習装置３００と異なる。また、図１６からわかるように、入力音マスク処理学習装置３０１の動作は、Ｓ３６０の代わりに、Ｓ３５０とＳ３６１が追加されている点においてのみ、入力音マスク処理学習装置３００と異なる。
【０１５９】
以下、Ｓ３５０とＳ３６１の処理について説明する。比較出力音生成部３５０は、Ｓ３０５で生成した入力ベクトルxτ（τ∈{1,…,Τ}）から、比較出力音を生成する（Ｓ３５０）。具体的には、まず、入力ベクトルxτに対して、DNNの場合における式(6)〜式(8)に相当する式（つまり、当該ニューラルネットワークの出力を計算するための式）を用いて、NNの出力y^τとしてマスクGτを生成する。なお、比較出力音生成部３５０の１番目の処理で用いられるNNのパラメータは、例えば、記録部３９０に記録されているなど、事前に与えられているものとする。
【０１６０】
次に、マスクGτ（τ∈{1,…,Τ}）を用いて、入力ベクトルxτ（τ∈{1,…,Τ}）から比較出力音を生成する。具体的には、生成したマスクGτの処理内容に応じた処理が入力ベクトルxτに対して行われ、比較出力音が生成される。
【０１６１】
報酬係数計算部３６１は、Ｓ３３０で生成した出力音とＳ３５０で生成した比較出力音から、Ｓ３２０で生成したマスクGτ（τ∈{1,…,Τ}）の報酬係数を計算する（Ｓ３６１）。具体的には、出力音の評価値と比較出力音の評価値を算出、式(36)を用いて比較報酬を計算し、式(26”)を用いて報酬係数を計算する。
【０１６２】
本実施形態の発明によれば、微分不可能な評価値を含む多様な評価値を用いてNNのパラメータを最適化することにより、入力音をマスク処理するためのマスクを生成するためのNNを学習することができる。
【０１６３】
（変形例）
第三実施形態や第四実施形態では、入力音に対するマスク（フィルタ）による処理を対象にしたNNの学習について説明したが、より一般に入力データに対する所定の処理関数による処理を対象としたNNの学習について、＜技術的背景＞で説明した枠組みを適用した例を説明する。
【０１６４】
以下、図１７〜図１８を参照して入力データ処理関数学習装置４００を説明する。図１７は、入力データ処理関数学習装置４００の構成を示すブロック図である。図１８は、入力データ処理関数学習装置４００の動作を示すフローチャートである。図１７に示すように入力データ処理関数学習装置４００は、入力ベクトル生成部４０５と、事後確率分布生成部４１０と、処理関数生成部４２０と、処理関数適用部４３０と、報酬係数計算部４６０と、パラメータ最適化部４７０と、収束条件判定部４８０と、記録部４９０を含む。
【０１６５】
入力データ処理関数学習装置４００は、入力データ記録部９４０に接続している。入力音データ記録部９４０には、所定の処理関数による処理対象となる入力データが記録されている。
【０１６６】
入力データ処理関数学習装置４００の各構成部で用いる各種パラメータ（例えば、NNの学習などに用いるパラメータ）については、入力データと同様外部から入力するようにしてもよいし、事前に各構成部に設定されていてもよい。
【０１６７】
また、処理関数による処理は、各入力データについて独立であり、他の入力データの処理に影響を及ぼすことはなく、各入力データに対する処理関数の設計は他の入力データのそれとは独立に行われるものと仮定する。
【０１６８】
図１８に従い入力データ処理関数学習装置４００の動作について説明する。入力ベクトル生成部４０５は、入力データからNNへの入力ベクトルxτ（τ∈{1,…,Τ}、Τは当該入力データにより定まる1以上の整数）を生成する（Ｓ４０５）。事後確率分布生成部４１０は、Ｓ４０５で生成した入力ベクトルxτ（τ∈{1,…,Τ}）から、NNの出力である、入力ベクトルxτが入力された場合に処理関数Gτが生成される確率である事後確率分布p(Gτ|xτ,ΘΜ)（τ∈{1,…,Τ}）を生成する（Ｓ４１０）。処理関数生成部４２０は、Ｓ４１０で生成した事後確率分布p(Gτ|xτ,ΘΜ)（τ∈{1,…,Τ}）から、入力ベクトルxτの処理に用いる処理関数Gτ（τ∈{1,…,Τ}）を生成する（Ｓ４２０）。処理関数適用部４３０は、Ｓ４２０で生成した処理関数Gτ（τ∈{1,…,Τ}）を用いて、入力ベクトルxτ（τ∈{1,…,Τ}）から出力データを生成する（Ｓ４３０）。報酬係数計算部４６０は、Ｓ４３０で生成した出力データから、処理関数Gτ（τ∈{1,…,Τ}）の報酬係数を計算する（Ｓ４６０）。I個（Iは1以上の整数）の入力データに対して、報酬係数を計算する。つまり、Ｓ４０５〜Ｓ４６０までの処理をI回繰り返す。パラメータ最適化部４７０は、式(26)の目的関数Tarの値を最大化するようにNNのパラメータΘMを更新する（Ｓ４７０）。収束条件判定部４８０は、学習の終了条件として事前に設定された収束条件を判定し、収束条件が満たされる場合は処理を終了し、収束条件が満たされない場合はＳ４０５〜Ｓ４７０の処理を繰り返す（Ｓ４８０）。学習が終了したときのNNのパラメータΘMを、NNのパラメータΘNNとして出力する。
【０１６９】
つまり、Ｓ４０５〜Ｓ４８０の処理は、Ｓ３０５〜Ｓ３８０の処理と同様でよい。
【０１７０】
本実施形態の発明によれば、微分不可能な評価値を含む多様な評価値を用いてNNのパラメータを最適化することにより、入力データを処理するための処理関数を生成するためのNNを学習することができる。
【０１７１】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【０１７２】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【０１７３】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【０１７４】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【０１７５】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【０１７６】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１７７】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１７８】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１７９】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2019035862.tif 000036
【図２】
2019035862.tif 000037
【図３】
2019035862.tif 000038
【図４】
2019035862.tif 000039
【図５】
2019035862.tif 000040
【図６】
2019035862.tif 000041
【図７】
2019035862.tif 000042
【図８】
2019035862.tif 000043
【図９】
2019035862.tif 000044
【図１０】
2019035862.tif 000045
【図１１】
2019035862.tif 000046
【図１２】
2019035862.tif 000047
【図１３】
2019035862.tif 000048
【図１４】
2019035862.tif 000049
【図１５】
2019035862.tif 000050
【図１６】
2019035862.tif 000051
【図１７】
2019035862.tif 000052
【図１８】
2019035862.tif 000053