JP6927419B2 - 推定装置、学習装置、推定方法、学習方法及びプログラム - Google Patents

推定装置、学習装置、推定方法、学習方法及びプログラム Download PDF

Info

Publication number
JP6927419B2
JP6927419B2 JP2020513083A JP2020513083A JP6927419B2 JP 6927419 B2 JP6927419 B2 JP 6927419B2 JP 2020513083 A JP2020513083 A JP 2020513083A JP 2020513083 A JP2020513083 A JP 2020513083A JP 6927419 B2 JP6927419 B2 JP 6927419B2
Authority
JP
Japan
Prior art keywords
mask
information
sound source
estimation
learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020513083A
Other languages
English (en)
Other versions
JPWO2019198306A1 (ja
Inventor
慶介 木下
慶介 木下
マーク デルクロア
マーク デルクロア
中谷 智広
智広 中谷
荒木 章子
章子 荒木
デルーデ ルーカス
デルーデ ルーカス
クリストフ フォン ノイマン ティロ
クリストフ フォン ノイマン ティロ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2019198306A1 publication Critical patent/JPWO2019198306A1/ja
Application granted granted Critical
Publication of JP6927419B2 publication Critical patent/JP6927419B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • G10L21/0308Voice signal separating characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • G10L21/028Voice signal separating using properties of sound source

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Circuit For Audible Band Transducer (AREA)

Description

本発明は、推定装置、学習装置、推定方法、学習方法及びプログラムに関する。
複数の音源からの音が混合された音響信号を、音源ごとの信号に分離する音源分離の技術では、複数のマイクで収音された音を対象とする音源分離技術と、1つのマイクで収音された音を対象とする音源分離技術がある。後者の技術は、音源の位置に関する情報を利用することができないため、前者の技術よりも難しいとされている。
音源の位置の情報を使わず、入力音響信号の情報に基づいて音源分離を行う後者の技術として、非特許文献1に記載の技術が知られている。
非特許文献1に記載の技術では、入力音響信号を双方向長短期記憶(Bi-directional Long Short-Term Memory:BLSTM)により時間周波数ごとに定まる埋め込みベクトルに変換した後、それらの埋め込みベクトルをk−means法により音源ごとのクラスタにクラスタリングして、各クラスタに属する音源を抽出するためのマスクを推定する。非特許文献1に記載の技術は、BLSTMのパラメータの学習時には、同一音源からの音が(エネルギー的に)支配的である時間周波数における埋め込みベクトルはできる限り平行となり、異なる音源間の埋め込みベクトルはできる限り直交するように、パラメータを更新する。また、非特許文献1に記載の技術は、運用時には、パラメータ学習済みの双方向長短期記憶を用いて入力音響信号を埋め込みベクトルに変換し、その結果をk−means法によりクラスタリングして、マスク推定結果を得る。
また、クラスタリング等のニューラルネットワーク(Neural Network:NN)の外部の処理を要することなく、入力音響信号をNNに入力し、直接、音源ごとのマスクの推定結果を得ることができる技術も提案されている(非特許文献2参照)。
Zhuo Chen, Yi Luo, and Nima Mesgarani, "DEEP ATTRACTOR NETWORK FOR SINGLE-MICROPHONE SPEAKER SEPARATION", arXiv preprint arXiv:1611.08930, 2016. D. Yu, M. Kolbak, Z.-H. Tan, and J. Jensen, "Permutation in-variant training of deep models for speaker-independent multi-talker speech separation", in ICASSP, 2017, pp. 241−245.
非特許文献1記載の技術では、入力音響信号をNN(BLSTM)により埋め込みベクトルに変換した後、k−means法でクラスタリングを行うという2段階構成になっている。ここで、前段のBLSTMは、音源数が未知であっても対応できるものの、後段のk−means法では音源数が既知である(予め与えられる)必要があり、未知の音源数の音源分離に対応できない。
非特許文献2の技術では、NNの出力が直接マスクの推定結果となるため、NNの出力層のノード数が分離可能な音源数と密接な関係を有することになる。したがって、この技術では、予め学習時に用意した出力層のノード数に応じて、分離可能な音源数に限界があるため、任意の音源数に対応することができない。
本発明は、上記に鑑みてなされたものであって、NNのノード数に関係なく、任意の音源数の入力音響信号に対してマスク情報を推定することができる推定装置、学習装置、推定方法、学習方法及びプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係るマスク推定装置は、複数の音源からの音が混合された音響信号である入力音響信号と補助情報とが入力され、補助情報により特定される前記入力音響信号中の一部または全部の信号に含まれる何れか1つの音源からの音を抽出するマスクを特定するマスク情報の推定結果を出力するニューラルネットワークと、該ニューラルネットワークによりマスク情報の推定結果を出力させる処理を繰り返し実行させる制御部とを有する。そして、制御部は、繰り返し毎に、異なる補助情報をニューラルネットワークに入力することで、異なる音源に対応するマスク情報の推定結果を出力させることを特徴とする。
また、本発明に係る学習装置は、複数の音源からの音が混合された音響信号である学習用の入力音響信号と補助情報とが入力され、補助情報により特定される学習用の入力音響信号中の一部または全部の信号に含まれる何れか1つの音源からの音を抽出するマスクを特定するマスク情報の推定結果を出力するニューラルネットワークと、該ニューラルネットワークによりマスク情報の推定結果を出力させる処理を繰り返し実行させる制御部と、該ニューラルネットワークにより求めたマスク情報の推定結果に対応する情報と、学習用の入力音響信号に対して予め与えられた正解のマスク情報に対応する情報との比較結果に基づいて、該ニューラルネットワークの各パラメータを更新するパラメータ更新部と、を有する。そして、制御部は、繰り返し毎に、異なる補助情報を前記ニューラルネットワークに入力することで、異なる音源に対応するマスク情報の推定結果を出力させることを特徴とする。
本発明によれば、NNのノード数に関係なく、任意の音源数の音が混合された入力音響信号に対してマスク情報を推定することができる。
図1は、実施の形態1に係るマスク推定装置の構成の一例を示す図である。 図2は、図1に示すマスク推定装置におけるマスク推定処理の一例を示す図である。 図3は、図1に示すマスク推定装置におけるマスク推定処理の処理手順のフローチャートである。 図4は、実施の形態2に係る学習装置の構成の一例を示す図である。 図5は、図4に示す学習装置における学習処理の一例を示す図である。 図6は、図4に示す学習装置における学習処理の処理手順のフローチャートである。 図7は、実施の形態3に係る信号分離装置の一例を示す図である。 図8は、図7に示す信号分離装置における学習処理の処理手順のフローチャートである。 図9は、実施の形態4に係るマスク推定処理の一例を示す図である。 図10は、実施の形態4に係るマスク推定処理の処理手順のフローチャートである。 図11は、実施の形態5に係る学習処理の一例を示す図である。 図12は、実施の形態5に係る学習処理の処理手順のフローチャートである。 図13は、プログラムが実行されることにより、マスク推定装置、学習装置及び信号分離装置が実現されるコンピュータの一例を示す図である。
以下に、本願に係る推定装置、学習装置、推定方法、学習方法及びプログラムの実施形態を図面に基づいて詳細に説明する。また、本発明は、以下に説明する実施形態により限定されるものではない。なお、以下では、ベクトル、行列又はスカラーであるAに対し、“^A”と記載する場合は「“A”の直上に“^”が記された記号」と同じであるとする。
[実施の形態1]
まず、実施の形態1に係るマスク推定装置の構成について説明する。実施の形態1に係るマスク推定装置は、一度に全てのマスクを推定させるのではなく、一部の音源に対応するマスクを推定する処理を繰り返し行うことによって、全ての音源に対応するマスクの推定を行う。
図1は、実施の形態1に係るマスク推定装置の構成の一例を示す図である。実施の形態1に係るマスク推定装置10は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。図1に示すように、マスク推定装置10は、マスク推定部11(推定部)、及び制御部13を有する。マスク推定装置10には、マスク推定対象であって、複数の音源からの音を含む音響信号(以降、入力音響信号という。)が入力される。
マスク推定部11は、NNを有する。このNNには、入力音響信号と、入力音響信号のうちマスク推定部11においてマスク推定の対象とする信号を特定する情報である残留マスクとが入力される。そして、NNは、入力音響信号のうち残留マスクにより特定される信号に含まれる1つの音源に対応するマスク情報を推定して出力するとともに、マスク情報の推定処理の停止に関与する停止フラグを出力する。NNのパラメータは、後述の学習装置20等により予め学習済みであるものとする。また、マスク推定部11において、各処理時のNNは、同じものを用いる。また、推定されるマスク情報とは、入力音響信号から所定の音源に対応する音を抽出するためのマスクを特定する情報であって、マスクそのものであってもよいし、マスクを一意に特定可能なパラメータの組み合わせ等であってもよい。
マスク推定部11は、NNに入力された入力音響信号のうち、残留マスクにより特定される信号に着目し、その信号に含まれる(であろう)いずれか1つの音源に対応するマスクを推定して出力する。つまり、残留マスクは、入力音響信号のうち、今回のマスク推定部11の処理においてマスクを推定する際に注目する信号を特定する補助情報である。1回目の実行時は入力音響信号の全体に着目するが、2回目以降のマスク推定部11の処理においては、入力音響信号から既に推定済みのマスク情報に対応する音源の信号を除いた残りの信号に着目してマスクを推定するように、補助情報により注目すべき信号を特定する。すなわち、マスク推定部11は、補助情報に従って入力音響信号の一部または全部に着目して、着目した信号中に含まれる何れか1つの音源に対応するマスクを特定するマスク情報を推定するのである。
制御部13は、NNが出力した停止フラグが所定の停止条件を満たすまで、マスク推定部11のマスク情報の推定処理を繰り返し実行させるようにマスク推定部11を制御する。言い換えると、制御部13は、停止フラグが処理を停止することを示す場合には、これまでの各繰り返し処理で音源ごとに求めたマスク情報を出力して、マスク推定処理を終了する。停止フラグが処理を継続することを示す場合(停止しないことを示す場合)は、直前のマスク推定部11の処理の入力として用いた残留マスク(第1残留マスク)と直前のマスク推定部11の処理で推定したマスク情報とに基づいて、新たな残留マスク(第2残留マスク)を計算し、計算した第2残留マスクを用いて再度マスク推定部11の処理を行うよう制御する。第2残留マスクは、第1残留マスクから直前のマスク推定部11の処理で推定したマスク情報を除いた残りの音源に対応する音を残すマスクである。つまり、第2残留マスクは、入力音響信号からこれまでのマスク推定部11の処理で推定済みのマスクに対応する音源の信号を除いた信号(つまり、まだマスクが推定できていない信号)を特定する情報である。
なお、ここでは全ての音源に対応するマスク情報を推定させることを前提として、まだ推定していない音源に対応する信号が残っている限り、繰り返し処理を継続することを示すフラグが停止フラグとして出力されるような処理として説明を行ったが、必ずしも全ての音源に対応するマスクを推定することが必須でないことは言うまでもない。
要するに、制御部13は、補助情報を変更しながらマスク推定部11を繰り返し実行させることにより、各繰り返し処理において異なる音源に対応するマスク情報を逐次的に推定させる。制御部13は、所定の条件を満たすまで繰り返し処理を行えばよい。例えば、推定させたい音源に対応するマスク情報が得られるまで、或いは全ての音源に対応するマスク情報が推定されるまで等、目的に応じて繰り返し回数を設定すればよい。全ての音源に対応するマスクを推定させる必要はない(つまり、一部の音源に対応するマスクを推定させたい)場合には、停止フラグは用いず、マスク情報の推定結果に基づいて繰り返し処理の継続要否を決定すればよい。
[NNに対する入力信号]
以上説明したように、本実施の形態では、入力音響信号と残留マスクとをマスク推定部11に入力し、マスク推定部11によるマスク情報の推定処理を行う。これを、残留マスクを変更しながら繰り返し処理を行う。つまり、各繰り返し処理において、マスク推定部11には異なる残留マスク(補助情報)が入力される。図2は、図1に示すマスク推定装置10におけるマスク推定処理の一例を示す図である。ここで、繰り返し処理の回数のインデックスをi(≧1)とし、入力音響信号をYとする。i回目の繰り返し処理においてNNに入力される残留マスクをRとする。
残留マスクRは、i回目の繰り返し処理において、入力音響信号のうちマスク推定処理の際に注目する信号を特定する情報である。この注目する信号に含まれるいずれか1つの音源の信号に対応するマスク情報が推定されることになる。要するに、残留マスクは、既にマスク情報を推定済みの音源以外の音源のうち何れか1つの音源に対応するマスク情報が推定されるように、マスク情報を推定済みの音源に対応する信号以外の入力音響信号に着目したマスク推定処理をニューラルネットワークが行うように制御する補助情報の役割を担う。よって、最初の実行時の残留マスクRは、入力音響信号全体をマスク推定部11の処理の対象とすることを示す情報とする。
[NNからの出力信号]
マスク推定部11を実現するNNは、入力音響信号と残留マスクとの入力を受けて、入力音響信号のうち残留マスクにより特定される信号に着目して、当該信号に含まれるであろう1つの音源に対応する信号を抽出するマスク情報の推定結果(推定マスク情報)と停止フラグとを出力する。
NNがi回目の繰り返し処理において出力する推定マスク情報を^Mとする。NNがi回目の繰り返し処理において出力する停止フラグを^zとする。
推定マスク情報^Mは、i回目の繰り返し処理において、NNが推定した、i個目の音源に対応するマスク情報の推定結果である。
停止フラグ^zは、i回目の繰り返し処理においてNNから出力された、繰り返し処理の停止指示に関するフラグである。例えば^zを0または1の値を取るものとして、^z=1ならば繰り返し処理を終了し、^z=0ならば繰り返し処理を継続するとすればよい。なお、^zはこれに限られるものではなく、繰り返し処理を継続するか否かを判別できれば値は何でもよい。また、NNが停止フラグを出力することは必須の構成ではない。停止フラグを出力しない場合は、例えば、これまでの繰り返し処理で求めた推定マスク情報^M,・・・,^Mに基づいて、繰り返し処理を継続する必要があるか否かを計算して決定すればよい。
[NNの処理]
マスク推定部11を構成するNNは、入力された入力音響信号Yと残留マスクRに基づいて、入力音響信号のうち残留マスクRにより特定される信号に着目して、当該信号に含まれるいずれか1つの音源に対応する信号を抽出するマスクの推定結果を推定マスク情報として出力する。
[制御部の処理]
続いて、制御部13の処理について説明する。制御部13は、マスク推定部11が停止フラグを出力する場合には、停止フラグに基づき、繰り返し処理を継続するか否かを決定し、繰り返し処理を継続する場合には、i回目までの各繰り返し処理で求めた推定マスク情報^M,・・・,^Mを用いて次のマスク推定部11の入力とする残留マスクRi+1を計算し、マスク推定部11に入力するとともに、マスク推定部11の処理を実行させるよう制御する。ここで、マスク推定部11が停止フラグを出力しない場合は、i回目までの各繰り返し処理で求めた推定マスク情報^M,・・・,^Mに基づき、繰り返し処理を継続するか否かを決定してもよい。例えば、繰り返し処理で求めた推定マスク情報^M,・・・,^Mに基づいて残留マスクRi+1を計算し、入力音響信号に残留マスクRi+1を適用したときに残りの信号が存在しない(または残りの信号に音源からの音が含まれない)ならば、繰り返し処理を停止することとすればよい。
以上説明したように、制御部13は、マスク推定部11によりマスク情報を推定する処理を繰り返し行わせるものであり、各繰り返し処理において異なる補助情報(残留マスク)をニューラルネットワークへ入力することによって、異なる音源に対応するマスク情報が推定されるよう制御するのである。
[マスク推定処理の流れ]
次に、図2を参照して、マスク推定装置10におけるマスク推定処理の流れを説明する。
まず、1回目の繰り返し処理について説明する。この例では、NN11−1には、音源Src1〜Src3を含む入力音響信号Yが入力される。また、NN11−1には、残留マスクRが入力される。
NN11−1は、入力音響信号Y及び残留マスクRが与えられると、例えば、音源Src1の推定マスク情報^Mを推定して出力するとともに、停止フラグ^z(=0)を出力する。
制御部13(不図示)は、停止フラグ^zに基づいて繰り返し処理を行うか否かを決定する。ここでは、^z=0なので、繰り返し処理を継続すると判定し、次の繰り返し処理の入力となる残留マスクRを計算する。残留マスクRは、入力音響信号から推定マスク情報^Mに対応する音源の音を取り除いた信号を特定する情報であり、例えば、残留マスクRが入力音響信号全体を通すマスク情報とすれば、残留マスクRから^Mを取り除いたものである。言い換えれば、残留マスクRは、まだ推定されていないSrc2及びSrc3に対応する音源の信号を通すようなマスクとも言える。残留マスクRは2回目の繰り返し処理において、NN11−1に入力される残留マスクとなる。
次に、2回目の繰り返し処理について説明する。この場合、NN11−1には、入力音響信号Yと残留マスクRとが与えられる。この結果、NN11−1は、例えば、音源Src2の推定マスク情報^Mを推定して出力するとともに、停止フラグ^z(=0)を出力する。ここで、NN11−1は、入力音響信号から、残留マスクRにより特定される信号、すなわち、入力音響信号から推定マスク情報^Mに対応する音源の信号を取り除いた残りの信号に着目し、その信号に含まれる音源の1つであるSrc2に対応するマスクを推定マスク情報^Mを求めることになる。
続いて、制御部13は、停止フラグ^z=0なので、繰り返し処理を継続すると判定し、3回目の繰り返し処理の入力として用いる残留マスクRを求めて出力する。残留マスクRは、入力音響信号から既に推定済みの^M及び^Mに対応する音源の信号を除いた残りの信号を特定する情報である。例えば、残留マスクRが入力音響信号全体を通すマスク情報とすれば、残留マスクRから^Mと^Mを取り除いたものが残留マスクRである。
そして、3回目の繰り返し処理について説明する。この場合、NN11−1には、入力音響信号Yと残留マスクRとが与えられる。この結果、NN11−1は、例えば、音源Src3のマスク情報^Mを推定して出力するとともに、停止フラグ^z(=1)を出力する。
続いて、制御部13は、停止フラグ^z=1であるため、繰り返し処理を終了(停止)すると判定する(図2の(1)参照)。
なお、上述の例では停止フラグがNNから出力されるものとして説明したが(図2の(2)参照)、停止フラグを出力しない構成としてもよく、この場合、例えば、制御部13は、まず残留マスクRi+1を計算し、その結果に基づき、繰り返し処理を行うか否かを決定する。
[マスク推定処理の処理手順]
次に、図3を参照して、マスク推定装置10におけるマスク推定処理の処理手順を説明する。図3は、図1に示すマスク推定装置10におけるマスク推定処理の処理手順のフローチャートである。
図3に示すように、まず、マスク推定装置10では、マスク推定対象の音響信号(入力音響信号)が入力されると(ステップS1)、繰り返し処理回数のインデックスi=1と初期化し(ステップS2)、1回目(i回目)の繰り返し処理を実行する。
具体的には、マスク推定部11のNNは、入力音響信号Yと残留マスクRの入力を受け付け、入力音響信号Yに含まれる1つの音源のマスク情報^Mを推定して出力するとともに、関与する停止フラグ^zを出力するマスク推定処理(推定処理)を行う(ステップS3)。続いて、制御部13は、NNに入力された残留マスクRとマスク推定部11が推定したマスク情報^Mとから新たなRi+1を求める(ステップS4)とともに、繰り返し処理を継続するか否かを判定する。
制御部13は、残留マスクまたは停止フラブの少なくとも一つが所定の停止条件を満たすか否かを基に、繰り返し処理を停止するか否かを判定する(ステップS5)。
制御部13は、繰り返し処理を停止しないと判定した場合(ステップS5:No)、NNに、残留マスクRi+1を入力音響信号Yとともに入力し(ステップS6)、i=i+1(ステップS7)として、ステップS3に戻る。このように、制御部13は、繰り返し処理を停止すると判定するまで、前回の繰り返し処理において制御部13から出力された残留マスクと入力音響信号とをNNに入力し、NNによるマスク情報の推定処理を繰り返し実行させる。
そして、制御部13が繰り返し処理を停止すると判定した場合(ステップS5:Yes)、マスク推定装置10は、これまでの各繰り返し処理で音源ごとに求めたマスク情報を出力して(ステップS8)、マスク推定処理を終了する。
[実施の形態1の効果]
本実施の形態1に係るマスク推定装置10は、マスク推定部11のNNが、入力音響信号と残留マスクとの入力を受けて、入力音響信号に含まれる1つの音源の推定マスク情報を推定して出力するとともに停止フラグを出力する。制御部13は、推定マスク情報と残留マスクに基づいて、新たな残留マスクを計算し、停止フラグと新たな残留マスクとの少なくとも一つが所定の停止条件を満たすまで、新たな残留マスクと入力音響信号とをマスク推定部11に入力し、マスク情報の推定処理を繰り返し実行させるようにマスク推定部11を制御する。
このように、実施の形態1に係るマスク推定装置10では、NNに一度に全てのマスクを推定させるのではなく、NNに入力音響信号のうち残留マスクにより特定される信号に含まれる一部の音源に対応するマスクを推定させる処理を、残留マスクを切り替えながら繰り返し行うことによって、全ての音源に対応するマスクの推定を行っている。したがって、実施の形態1によれば、NNのノード数に関係なく、任意の音源数の入力音響信号に対してマスク情報を推定することができる。
また、実施の形態1では、各処理でマスクの推定に用いるNNは共通であるため、音源の数が増えたとしても、NNの構成を変える必要はない。
また、実施の形態1では、停止フラグと制御部13で計算される新たな残留マスクとの少なくとも一つを基に繰り返し処理の停止を判断するため、入力音響信号に含まれる全ての音源に対して、適切にマスク推定を実行することができる。
[実施の形態2]
次に、実施の形態2について説明する。実施の形態1では、マスク推定部11のNNのパラメータは予め学習済みである物としたが、本実施の形態2では、このNNのパラメータの学習を行う学習装置について説明する。図4は、実施の形態2に係る学習装置の構成の一例を示す図である。
図4に示すように、実施の形態2に係る学習装置20は、マスク推定部21、制御部23及びパラメータ更新部24(更新部)を有する。学習装置20には、学習用に予め用意された学習用の入力音響信号が入力される。この学習用の入力音響信号は、複数の音源からの音が混合された混合音響信号であり、各音源に対応する正解マスク情報がそれぞれ既知である。
マスク推定部21は、図1に示すマスク推定部11と同じ機能を有する。マスク推定部21は、学習用の入力音響信号と残留マスクとをNNに入力する。これを受けて、NNは、学習用の入力音響信号のうち残留マスクにより特定される信号に含まれる1つの音源のマスク情報を推定し、推定したマスク情報と停止フラグとを出力する。制御部23が、残留マスクRを変更しながらNNを繰り返し実行させることにより、異なる音源に対応するマスク情報を推定する。なお、各処理でマスクの推定に用いるNNは、共通である。なお、学習装置の実行開始時点においては、マスク推定部21が有するNNの初期パラメータは、予め適当なものに設定しておくものとする。
制御部23は、制御部13と同様に、i回目の繰り返し処理においてNNから出力された停止フラグ^zと残留マスクRi+1との少なくとも何れかを、繰り返し処理の停止判定に用いる他、学習用の入力音響信号Yに含まれる全音源数と繰り返し回数iの比較結果に基づいて繰り返し処理の停止判定を行ってもよい。この場合、繰り返し回数iが全音源数に達していない場合には、繰り返し処理を停止しないと判定し、繰り返し回数iが全音源数に達したら停止すると判定する。
パラメータ更新部24は、学習用の入力音響信号Yに含まれる各音源の信号の正解と、マスク推定部21で推定された推定マスク情報に基づいて抽出される各音源の信号の推定値との比較結果に基づき、NNの各パラメータを更新する。そして、推定結果が正解に近づくように、NNの各パラメータの更新を行う。これは周知の誤差逆伝播学習法等の学習法に従えばよい。例えば、各音源の信号の正解と各音源の信号の推定値との距離(損失)に基づいて、NNの各パラメータを更新する。損失は、NNによる推定結果である推定マスク情報と正解マスクとがどの程度近づいたかを評価できる尺度であれば距離に限定されるものではなく、他の尺度を用いてもよい。
そして、パラメータ更新部24は、損失の値が所定の条件を満たさない場合は、損失の値に基づいてマスク情報の推定値が正解のマスク情報に近づくように、マスク推定部21のNNの各パラメータを更新する。これは、各パラメータの更新量等は、周知の誤算伝播学習法等に従う。つまり、計算された損失の値に基づいて更新量が決定されることになる。そして、パラメータを更新後は、再び繰り返し回数を初期化して、マスク推定部21及び制御部23により、パラメータ更新後のNNを用いて、各音源に対応するマスク情報を推定する処理を繰り返す。
パラメータ更新部24は、損失の値が所定の条件を満たせば(マスク情報の推定値が正解のマスク情報に十分近い値となったら)、学習処理を終了する。学習処理終了時点でのNNの各パラメータの値が、学習済みのパラメータの値となる。
[損失関数]
パラメータ更新部24で用いる損失の値は、例えば、所定の損失関数に基づき求めてもよい。損失関数Jの一例を以下に示す。損失関数Jは、例えば、(1)式により与えられる。
Figure 0006927419
(1)式において、α、βは、自由に設定してよい。ここで、α、βを0としてもよく、この場合、0とした項は、損失として考慮しないことになる。つまり、α、βを0としたときの損失関数はJ(mse)と等価である。以降、(1)式の右辺の各項について説明する。
[J(mse)
まず、(1)式の各項のうち、J(mse)について説明する。J(mse)は、推定されたマスク情報により抽出される信号と正解の音源の信号との平均二乗誤差である。
ここで、NNは、各繰り返し処理において入力された学習用の入力音響信号Yのある1つの音源のマスクを出力することを必要とされる。ただし、各ステップにおいてどの音源を推定するかという順序は事前に指定することができない。すると、各ステップで推定された推定マスク情報に対応する音源の正解がどれであるかを特定することが難しくなるが、これは例えば次の方法で解決すればよい。推定マスク情報^Mに対応する音源の正解を特定する場合は、^M〜^Mi−1に対する音源の正解は既に決定されている。まだ、推定マスク情報と対応付けられていない正解の音源の各々について、当該音源の信号の正解と推定マスク情報^Mにより推定される音源の信号の推定値(つまり入力音響信号に^Mを適用することで抽出される信号)との平均二乗誤差を計算し、その値が最も小さい正解の音源を、当該推定マスク情報^Mに対応する正解音源の信号とすればよい。具体的には、学習用の入力音響信号は発話単位で区切られており、発話単位でマスク推定(学習)処理を行うものとして、発話単位の平均二乗誤差を損失として用いる。
(mse)は、(2)式により与えられる。
Figure 0006927419
(2)式において、Yは、学習用の入力音響信号である。^Mは、i回目の繰り返し処理においてNNによって推定された1つの音源に対応するマスク情報である。Aφ*は、φの振幅スペクトラムである。φは、発話単位の分離エラーを最小化する音源の組み合わせ(配列)である。||・||は、フロベニウスノルムを表す。Bは、T×N×Sであり、全目的音源の時間周波数ビンの全数である。T、N及びSは、タイムフレーム数、周波数ビン数、ターゲット音源の全数に相当する。Sは、繰り返し処理の回数iの最大値に相当する。
なお、φは、(3)式により与えられる。(3)式中、Pは、全音源の全組み合わせ(配列)のセットである。
Figure 0006927419
φは、マスク推定部21が全S回のマスク推定処理において推定した、最も損失が少ない音源s の組み合わせである。このため、φは、マスク推定部21を繰り返し実行することで全ての音源に対応する推定マスク情報が得られた後に決定される。要するに、(2)式で与えられるJ(mse)は、入力音響信号から推定マスク情報に基づき抽出した信号と、当該マスク情報に対応する音源の信号の正解との近さを示す尺度である。平均二乗誤差に限らず、近さを評価できる尺度であれば他の尺度で代用してもよい。
また、ここではJ(mse)として推定マスク情報を用いて推定される音源の信号(つまり、入力音響信号に推定マスク情報を適用することで得られる信号)と、当該音源の信号の正解との近さによって、マスク情報の推定値と正解のマスク情報の近さを評価しているが、学習用に正解のマスク情報が与えられている場合は、マスク情報の推定値と正解のマスク情報との近さをJ(mse)として用いてもよい。要するに、J(mse)はNNにより推定された推定マスク情報の適切さ(正しさ)を表す尺度であるといえる。
[J(flag)
次に、(1)式の各項のうち、J(flag)について説明する。J(flag)は、停止フラグに関する損失である。J(flag)は、(4)式により与えられる。
Figure 0006927419
(4)式において、^zは、マスク推定部11のNNがi回目の繰り返し処理において出力する停止フラグである。zは、停止フラグのベクトルである。zは、例えば、S−1個の0で構成される。具体的には、z=(z,z,・・・・,zS−1,z)=(0,0,・・・・,0,1)である。このため、J(flag)は、zと^zとの交差エントロピー損失として説明できる。つまり、J(flag)は、NNから出力される停止フラグ(推定停止フラグ)と停止フラグの正解との近さを示す尺度である。言い換えれば、J(flag)は、NNにより出力される停止フラグの適切さ(正しさ)を表す尺度ともいえる。
[J(res−mask)
次に、(1)式の各項のうち、J(res−mask)について説明する。J(res−mask)は、残留マスクに関する損失である。J(res−mask)は、残留マスクによって全時間周波数ビンをカバーすること、及び、学習用音響信号Yの全音源を抽出することに対するNNの損失である。ここで、本実施の形態2では、J(res−mask)について、(5)式のように制限をかける。言い換えると、J(res−mask)に対し、残留マスクRを負値として処理しないよう最大関数を適用した。
Figure 0006927419
つまり、J(res−mask)は、繰り返し処理を行い、全てのiに対してマスクを推定した際に、各周波数点において少なくても一つ以上のマスクが有効な値(0よりも十分に大きい値)を持つことを強制する尺度である。言い換えれば、J(res−mask)を設けることで、NNは、観測信号の全時間周波数点それぞれにおいて、何かしらのマスク推定をより積極的に行うこととなり、特定の時間周波数点がマスク推定対象から誤って除外されてしまうことを防ぐことができる。
以上より、損失関数は、NNにより推定される推定マスク情報の適切さと相関する指標値であるといえる。加えて、損失関数には、停止フラグの適切さと相関する指標値が加味されてもよい。
[学習処理の流れ]
次に、図5を参照して、学習装置20における学習処理の流れを説明する。図5は、図4に示す学習装置20における学習処理の一例を示す図である。
まず、1回目の繰り返し処理について説明する。この例では、NN21−1には、音源Src1〜Src3を含む学習用の入力音響信号Yが入力される。この学習用の入力音響信号Yは、各音源に対応する正解のマスク情報がそれぞれ既知である。また、NN21−1には、残留マスクR(=1)が入力される。ここで、残留マスクRは、入力音響信号の全体をマスク推定処理の対象とすることを示す情報である。
NN21−1は、学習用の入力音響信号Y及び残留マスクRが与えられると、入力音響信号のうち残留マスクRで特定される信号に着目して、当該信号に含まれる1つの音源の信号を抽出するマスクを特定する情報の推定値である推定マスク情報^Mを推定するとともに、停止フラグ^zを出力する。そして、制御部23は、学習用音響信号に含まれた各音源の正解のマスクと、推定マスク情報との平均二乗誤差を損失として計算し、最も小さい損失を与える音源を、推定したかった音源とする。1回目の繰り返し処理では、制御部23は、音源Src1〜Src3のうち、最も損失が小さい音源Src1に対応する推定マスク情報^MをNN21−1が推定したとする。制御部23は、繰り返し回数が音源数(この例では3)に達していないので繰り返し処理を継続すると判定し、2回目の繰り返し処理で用いる残留マスクRを、残留マスクRと推定マスク情報^Mとから求める。
次に、2回目の繰り返し処理について説明する。2回目の繰り返し処理において、NN21−1は、入力音響信号Yと残留マスクRとが与えられると、マスク情報^Mを推定するとともに、停止フラグ^zを出力する。2回目の繰り返し処理では、マスクが未推定である音源Src2,Src3のうち、最も損失が小さい音源Src2に対応するマスク情報^MをNN21−1が推定したとする。制御部23は、繰り返し回数が音源数(この例では3)に達していないので繰り返し処理を継続すると判定し、3回目の繰り返し処理で用いる残留マスクRを、残留マスクRと推定マスク情報^Mとから求める。
次に、3回目の繰り返し処理について説明する。NN21−1は、3回目の繰り返し処理において、入力音響信号Yと残留マスクRとが与えられると、マスク情報^Mを推定するとともに、停止フラグ^zを出力する。3回目の繰り返し処理では、制御部23は、マスクが未推定である音源Src3に対応するマスク情報^MをNN21−1が推定したとする。なお、3回目の繰り返し処理によって全ての音源のマスクに対し学習を行ったため、制御部23は繰り返し処理を終了し、パラメータ更新を実行させる。
パラメータ更新部24は、これまでに求めた推定マスク情報^M、^M、^Mと正解データ(正解の音源毎の信号、もしくは、正解マスクの情報)を用いて、損失関数値を計算し、その結果に基づいてパラメータの更新要否を決定する。損失関数を、推定マスク情報^M、^M、^Mが正解マスクに近づくほど小さな値となるような関数とした場合、損失関数値が所定の閾値未満であれば、パラメータ更新部24は、現在のNNのパラメータの値を出力して学習を終了する。そうでない(損失関数値が所定の閾値以上である)場合は、損失関数値に基づいてNNの各パラメータの値を更新し、再び1回目の繰り返し処理に戻って学習処理を繰り返す。
なお、損失関数値の計算は、上述の説明のように、全てのマスクの推定を終えてからまとめて損失関数値を計算する構成としてもよいし、図5に示しているように、各繰り返し処理において、損失関数の一部(当該繰り返し処理で求めた推定マスク情報^Miとその正解マスクとの距離)を計算しておき、最後に全てのマスクの推定を終えてからそれらを統合して損失関数値を求める構成としてもよい。
[学習処理の処理手順]
次に、図6を参照して、学習装置20における学習処理の処理手順を説明する。図6は、図4に示す学習装置20における学習処理の処理手順のフローチャートである。
図6に示すように、学習装置20では、学習用の音響信号(入力音響信号)が入力されると(ステップS11)、繰り返し処理回数のインデックスi=1と初期化し(ステップS12)、1回目(i回目)の繰り返し処理を実行する。
具体的には、マスク推定部21は、学習用の入力音響信号Yと残留マスクRを用いて、入力音響信号Yに含まれる1つの音源のマスク情報^Mの推定と、停止フラグ^zNNにより推定する(ステップS13)。続いて、制御部23は、繰り返し処理を停止するか否かを判定し(ステップS14)、繰り返し処理を停止しない(継続する)場合は(ステップS14:No)、残留マスクRとマスク推定部21が推定したマスク情報^Mに基づいて残留マスクRi+1を求めて出力する(ステップS15)。
このように、制御部23は、制御部23が繰り返し処理を停止すると判定するまで、マスク推定部21におけるNNの処理を繰り返し実行させるようにマスク推定部21を制御する。
そして、制御部23が繰り返し処理を停止すると判定した場合(ステップS14:Yes)、これまでの各繰り返し処理で音源ごとに求めたマスク情報がパラメータ更新部24に出力される(ステップS16)。
パラメータ更新部24は、(1)式に示す損失関数を用いて、マスク情報の推定値に対する損失を計算し、パラメータ更新の要否を判定する(ステップS17)。パラメータ更新部24は、パラメータの更新が必要と判定した場合(ステップS17:Yes)、パラメータの更新を行い(ステップS18)、ステップS11に戻って学習処理を繰り返す。一方、パラメータ更新部24は、パラメータ更新が不要と判定した場合(ステップS17:No)、パラメータの更新は実行せず、現在のNNのパラメータを出力して学習処理を終了する。
パラメータの更新が必要か否かは、例えば損失関数がマスクの推定結果(推定マスク情報)が正解マスクに近づくほど小さな値をとる関数であれば、損失関数の値が所定の閾値以上であればパラメータの更新が必要であり、損失関数の値が所定の閾値未満となればパラメータの更新が不要とする等により判断される。
[実施の形態2の効果]
学習装置20では、パラメータ更新部24が、推定されたマスク情報と正解との近さを示す損失関数を用いて、マスク情報の推定値に対する損失を求め、該求めた損失の値に応じてNNのパラメータの更新を実行する。この際、パラメータ更新部24は、マスク情報の推定値が正解に近づくほど小さな値となるような損失関数を用いて損失を求め、求めた損失が所定の閾値以上である場合に、NNの各パラメータの更新を行うことにより、NNのパラメータを適正化する。
ここで、この損失関数は、推定されたマスク情報と正解との近さを表す指標値を少なくとも含むものである。したがって、パラメータ更新部24は、マスク情報の推定値が正解のマスク情報に近づくように、マスク推定部21のNNの各パラメータを更新することができる。さらに、この損失関数に、停止フラグとその正解の近さを示す指標値を含めてもよい。この結果、パラメータ更新部24は、推定マスク情報の正しさだけでなく、停止フラグの正しさも含めて適正化されるように、NNの各パラメータの更新を行うことができる。
[実施の形態2の変形例1]
次に、実施の形態2の変形例1について説明する。
ここで、学習の初期段階では、マスク情報^Mの推定精度が低い場合が多い。このため、学習装置20に入力された残留マスクRと推定精度の低いマスク情報^Mに基づいて次の繰り返し処理で用いる残留マスクRを計算すると、残留マスクRが精度の悪いものとなってしまうことが多い。例えば、残留マスクRが正しく計算できていれば、入力音響信号(学習用の音響信号)のうち残留マスクRにより特定される信号は、入力音響信号から^Mに対応する音源の信号を取り除いた信号に相当するのだが、残留マスクRの推定精度が悪いと、入力音響信号(学習用の音響信号)のうち残留マスクRにより特定される信号に、本来は取り除かれるべきであった^Mに対応する音源の信号の一部が残留してしまう。
このような精度の低い残留マスクを入力として、次のマスク情報の推定を行うことを繰り返すと、学習の初期段階では、マスクの推定精度がなかなか向上せず、学習に時間を要してしまうことがある。
本実施の形態2の変形例1では、この問題を回避するために、学習時において、(i+1)回目のマスク推定部21への残留マスクRi+1を求めるために、推定されたマスク^Mを採用せず、i回目で推定された音源に対応する正解のマスクMと、i回目で入力された残留マスクRに基づいて残留マスクRi+1を求める。言い換えると、各繰り返し処理において、制御部23は、直前の推定処理に基づいて生成された精度の低い推定マスク情報を使用するのではなく、それに対応する正解のマスクを用いて、次の処理に用いる残留マスクを求める。
本実施の形態2の変形例1では、制御部23は、全ての繰り返し処理において、正解のマスクを正確に分離して生成される正しい残留マスクを入力として用いることができるため、マスク情報の推定精度の悪さを、次の繰り返し処理に伝播させることを防ぐことができ、早く学習を収束させることができる。
[本実施の形態2の変形例2]
次に、本実施の形態2の変形例2について説明する。本実施の形態2の変形例2では、全ての繰り返し処理において、正解のマスクを正確に分離して生成される正しい残留マスクを、マスク推定部21の入力として用いた。本実施の形態2の変形例2では、マスク推定部21の入力を、推定されたマスク情報に基づく残留マスクと、正解のマスクに基づく残留マスクとのいずれかに切り替える場合について説明する。すなわち、本実施の形態2の変形例2では、繰り返し実行されるマスク情報の推定処理と信号分離処理との一部の処理において、NNへの入力が、推定されたマスク情報に基づく残留マスクではなく、正解のマスク情報に基づいて生成される残留マスクである。
例えば、制御部23は、求めた損失が所定の閾値以上である(推定精度が悪いことに対応する)場合に、正解のマスク情報に基づく残留マスクをNNの入力として用いる。そして、制御部23は、求めた損失が所定の閾値より低い(推定精度が良くなったことに対応する)場合は、推定されたマスクに基づく残留マスクをNNの入力として用いる。
このように、本実施の形態2の変形例2では、マスク推定部21のNNに対する入力を、正解のマスク情報に基づく残留マスク、または、推定されたマスクに基づく残留マスクのいずれかとするかを、学習装置20自体が決定することによって、学習装置20の運用者の負担を軽減することが可能になる。
例えば、パラメータがある程度の推定精度に達するまで、例えば、パラメータ更新部で計算される損失関数値が所定の基準を満たすまでは、推定マスク情報の代わりに正解マスクを用いて次の繰り返し処理に求める残留マスクを計算する。
これに限らず、学習装置20は、マスク推定部21への入力である残留マスクの切り替えについて、制御部23が計算した損失に応じて、複数回実行してもよい。また、学習装置20は、損失に応じたルールに限らず、予め設定された切り替えルールにしたがって、入力する残留マスクの切り替えを行ってもよい。また、マスク推定部21に対する入力する残留マスクの切り替え設定は、予め運用者が設定していてもよい。
[評価実験1]
次に、本実施の形態2に係る学習方法と従来の学習方法とを評価した評価実験1について説明する。評価実験1は、音源分離実験である。
比較対象の従来の学習方法は、uPIT法(詳しくは、M. Kolbak, D. Yu, Z. Tan, and J. Jensen, “Multi-talker Speech Separation with Utterance-level Permutation Invariant Training of Deep Recurrent Neural Networks”,2017, arXiv:1703.06284.(参照文献1)、または、D. Yu, M. Kolbak, Z.-H. Tan, and J. Jensen, “PERMUTATION INVARIANT TRAINING OF DEEP MODELS FOR SPEAKER-INDEPENDENT MULTI-TALKER SPEECH SEPARATION”, in ICASSP, 2017, pp. 241−245.(参照文献2)を参照されたい。)である。
また、本実施の形態2に係る学習方法では、パラメータ更新部24が使用する損失関数Jとして、α=0とした(6)式の損失関数と、β=0として(7)式に示す損失関数との2つを採用した。
Figure 0006927419
Figure 0006927419
以降、(6)式に示す損失関数を適用した方法をRes−maskモデルとする。また、(7)式に示す損失関数を適用した方法をStop−flagモデルとする。
使用するNNは、2層BLSTM NWを用いる。各層は、600のLSTMユニットを有する。残留マスクは、シグモイド関数を用いて推定される。例えば、LSTMユニットは、600セルを有し、各セルがバックヤードフォアワードRNNである。また、学習処理の制御のため、0.001の初期学習レートを有するAdam Optimizerを使用した。最大エポック数は200である。本実験では、2話者同時発話状態を用いる。学習データは30時間である。また、テストデータは、5時間(オープンスピーカーセット)である。
そして、Res−maskモデル及びStop−flagモデルのいずれについても、以下の3つの学習方法で学習を行った。
学習1は、実施の形態2に相当する方法である。学習1は、残留マスク^Rから、推定されたマスク情報^Msi*を減算した残留マスクRi+1をNNに入力する方法である。
学習2は、実施の形態2の変形例1に相当する方法である。学習2は、残留マスクRから、正解のマスク情報Msi*を減算した残留マスクRi+1をNNに入力する方法である。この方法は、学習1よりも早く収束することが予想できるが、マスク推定エラーに頑強ではない場合がある。
学習2´は、実施の形態2の変形例2に相当し、学習1と学習2とを組み合わせた方法である。学習2´は、例えば、残留マスクRi+1の演算式として、最初の40エポックでは、正解マスクを用いて残留マスクを計算する実施の形態2の変形例1の手法を採用し、その後は、実施の形態2と同じく推定マスク情報に基づき残留マスクを計算した。
表1に、従来のuPIT法、Res−maskモデル及びStop−flagモデルを用いた音源分離実験の結果(信号対ひずみ比)を示す。Res−maskモデル及びStop−flagモデルは、それぞれ、学習1,2,2´の各方法で学習した場合に分けて、結果を示す。
Figure 0006927419
表1に示すように、従来のuPIT法では、7.2dBであるのに対し、Res−maskモデル及びStop−flagモデルのいずれについても従来法よりもよい結果が得られた。特に、Res−maskモデルでは、8.6dB(学習2´)であり、Stop−flagモデルでは、8.8dB(学習2)と良好な結果が認められた。Res−maskモデルのいずれについても、NNに入力する残留マスクを演算する際に、正解のマスクを用いるとよい結果が得られた。
[評価実験2]
次に、評価実験2について説明する。評価実験2では、Res−maskモデル及びStop−flagについて、音源数数え上げ精度の評価を行った。
評価実験2では、0〜2話者同時発話状態のデータを用いる。本実験では、バックグラウンドのノイズデータは、ChiME real noise datasetから採用し、20dBのSNR混合を加えた。学習セットとして、30時間のセット(3混合状態を同様に含むもの)を生成した。そして、Res−maskモデル及びStop−flagモデルのいずれも、学習2´の方法を用いて学習を行った。なお、Stop−flagモデルの停止フラグに関する第2の閾値として0.9を設定し、Res−maskモデルの残留マスク(中央値)に関する第1の閾値として0.1を設定した。また、テストデータは、10時間の各話者同時発話状態のデータを用いた。
Figure 0006927419
表2に、Res−maskモデル及びStop−flagモデルを用いた音源数数え上げ精度の評価の結果を示す。表2に示すように、Res−maskモデル及びStop−flagモデルのいずれについても、100%に近い、非常に高い精度で音源数を数え上げていることが分かる。
したがって、Res−maskモデル及びStop−flagモデルについても、非常に高い精度で、入力音響信号に含まれる音源を分離できるものと考えられる。
[実施の形態3]
次に、実施の形態3について説明する。本実施の形態3では、実施の形態1に係るマスク推定装置10を有する信号分離装置について説明する。図7は、実施の形態3に係る信号分離装置の一例を示す図である。
図7に示すように、実施の形態3に係る信号分離装置30は、実施の形態1に係るマスク推定装置10と、音源分離部31とを有する。
音源分離部31は、入力音響信号に、マスク推定装置10で推定したマスク情報に基づいて構成したマスクをかけることにより、音源ごとの信号の推定結果を得て、分離された音響信号を出力する。音源分離部31は、特定の音源からの信号のみを出力したい場合には、音源を特定する情報をさらに入力として受け取り、マスク情報のうち入力された音源を特定する情報に対応するマスク情報からマスクを構成し、入力音響信号に適用することで、当該音源の信号の推定値を得ればよい。
[音源分離処理の処理手順]
次に、図8を参照して、信号分離装置30における信号分離処理の処理手順を説明する。図8は、図7に示す信号分離装置30における学習処理の処理手順のフローチャートである。
マスク推定装置10が入力音響信号に対するマスク推定処理を行う(ステップS31)。このマスク推定処理は、図3に示すマスク推定処理と同じ処理であって、入力音響信号のうちの1つの音源に対するマスクの推定を、繰り返し実行する処理である。
続いて、音源分離部31は、入力音響信号に、マスク推定装置10で推定したマスク情報に基づいて構成したマスクをかけることにより、音源ごとの信号の推定結果を得て、分離された音響信号を出力する音源分離処理を行う(ステップS32)。
[実施の形態3の効果]
本実施の形態3に係る信号分離装置30では、実施の形態1に係るマスク推定装置10を適用し、NNのノード数に関係なく、任意の音源数の入力音響信号に対してマスク情報を推定することができる。このため、信号分離装置30によれば、いずれの音源に対しても適切なマスクをかけることができ、正確に分離された音響信号を出力することができる。
[実施の形態4]
次に、実施の形態4について説明する。実施の形態4では、マスク推定装置10の他の処理の一例について説明する。
実施の形態1では、マスク推定部11を構成するNNの入力は、入力音響信号と、残留マスクとの2種類である。残留マスクは、入力音響信号のうちマスク推定部11においてマスク推定の対象とする信号を特定する情報である。これに対し、実施の形態4では、マスク推定部11を構成するNNには、入力音響信号と、残留マスクとに加え、NNが抽出する音源を特定する情報である音源特定情報を含めた3種類の情報が入力される。音源特定情報は、例えば、話者ベクトル(参考文献1ではbottleneck speaker vector)である。
(参考文献1)H. Huang, K. C. Sim:"An investigation of augmenting speaker representations to improve speaker normalisation for DNN-based speech recognition" in Proc. of IEEE ICASSP, pp.4610-4613, 2015.
実施の形態4では、NNは、入力音響信号のうち残留マスクにより特定される信号に含まれる、音源特定情報により特定される音源についての情報を抽出するためのマスク情報を推定して出力する。そして、NNは、マスク情報と、抽出したマスク情報に対応する音源特定情報と、マスク情報の推定処理の停止に関与する停止フラグとを出力する。なお、NNのパラメータは、後述の学習装置等により予め学習済みであるものとする。また、マスク推定部11において、各音源抽出処理時のNNは、同じものを用いる。
実施の形態4では、NNに入力された入力音響信号のうち、残留マスクにより特定される信号に着目する。マスク推定部11は、その信号に含まれる音源またはその信号に含まれるであろう音源のうち、音源特定情報により特定される音源に対応するマスクを推定して出力する。ここで、残留マスクにより特定される信号の中に音源特定情報により特定される音源の音が含まれない場合は、NNの出力は、空のマスク情報、すなわち、入力された音を全く通さず、音圧0の信号を出力するマスクとなる。
すなわち、実施の形態1のマスク推定部11は、各マスク推定処理において、残留マスクにより特定される信号の中からいずれか1つの音源に対応するマスクを推定する。言い換えると、実施の形態1のマスク推定部11では、どの音源についてのマスクを推定するかは指定されていなかった。
これに対し、本実施の形態4では、NNの入力として音源特定情報を追加することによって、各マスク推定処理で推定する音源を音源特定情報により指定し、指定された音源についてのマスクの推定結果を出力する。
[マスク推定処理の流れ]
次に、図9を参照して、実施の形態4に係るマスク推定処理について説明する。図9は、実施の形態4に係るマスク推定処理の一例を示す図である。
実施の形態4では、入力音響信号が2つの時間ブロックから構成され、先頭の第1時間ブロックから順にブロックオンライン処理により音源毎のマスクを推定する。また、入力音響信号Yには、音源Src1〜Src3の音源の信号が含まれるものとする。第1時間ブロックをY,第2時間ブロックをYとする。Yには音源Src1とSrc2の信号が含まれ、Yには音源Src1とSrc3の信号が含まれる場合を例に、マスク推定処理の流れを説明する。
[第1時間ブロックの処理]
まず、マスク推定処理のうち、第1時間ブロックに対する1回目の繰り返し処理について説明する。NNには、第1時間ブロックの入力音響信号Yと残留マスクR1,1と音源特定情報S1,1とが入力される。ここで、残留マスクの第1インデックスは時間ブロックのインデックスb(b=1,2)である。残留マスクの第2インデックスiは、当該時間ブロックでのマスク推定処理の繰り返し処理のインデックスである。
第1時間ブロックでは、NNに入力される音源特定情報S1,1は、空の情報(S1,1=0)とする。つまり、実施の形態1と同様に、NNで抽出する音源を指定せず、いずれか1つの音源のマスクを推定させるようにする。
NNは、入力音響信号Y及び残留マスク1,1と音源特定情報S1,1(ここではS1,1=0)が与えられると、入力音響信号Yに含まれるいずれか1つの音源に対応するマスクを推定する。図9の例では、NNは、例えば音源Src1の推定マスク情報^M1,1を推定して出力したとする。NNは、音源Src1を特定する音源特定情報(特徴量ベクトル)S2,1と、停止フラグ^z1,1(=0)とを出力する。
制御部13は、停止フラグ^z1,1に基づいて繰り返し処理を行うか否かを決定する。ここでは、^z1,1=0であるため、制御部13は、繰り返し処理を継続すると判定し、次の繰り返し処理の入力となる残留マスクR1,2を計算する。
残留マスクR1,2は、入力音響信号Yから推定マスク情報^M1,1に対応する音源の音を取り除いた信号を特定する情報である。例えば、残留マスクR1,1が入力音響信号全体を通すマスク情報とすれば、残留マスクR1,2は、残留マスクR1,1から^M1,1を取り除いたものである。言い換えれば、残留マスクR1,2は、まだ推定されていないSrc2及びSrc3に対応する音源の信号を通すようなマスクとも言える。残留マスクR1,2は、2回目の繰り返し処理において、NNに入力される残留マスクとなる。
次に、2回目の繰り返し処理について説明する。この場合、NNには、入力音響信号Yと残留マスクR1,2と音源特定情報S1,2(第1時間ブロックなのでS1,2=0である。)が与えられる。この結果、NNは、例えば、音源Src2の推定マスク情報^M1,2を推定して出力するとともに、停止フラグ^z1,2(=1)と音源Src2を特定する情報であるS2,2を出力する。
ここで、NNは、入力音響信号から、残留マスクR1,2により特定される信号、すなわち、入力音響信号から推定マスク情報^M1,1に対応する音源の信号を取り除いた残りの信号に着目する。そして、NNは、その信号に含まれる音源の1つであるSrc2に対応するマスクを推定マスク情報^M1,2を求めることになる。第1時間ブロックにはSrc1とSrc2に対応する信号しか含まれていないため、2回目の繰り返し処理で全ての音源に対応するマスクが推定されることから、停止フラグ^z1,2=1が出力される。
続いて、制御部13は、停止フラグ^z1,2=1であるため、繰り返し処理を停止すると判定する。制御部13は、第1時間ブロックについての処理を終えたので、マスク推定部11のNNに、引き続き後続の第2時間ブロックについてのマスク推定処理を実行させる。
[第2時間ブロックの処理]
まず、第2時間ブロックにおける1回目の繰り返し処理について説明する。NNには、第2時間ブロックの入力音響信号Yと残留マスクR2,1と第1時間ブロックの1回目の繰り返し処理で出力された音源特定情報S2,1とが入力される。
NNは、入力音響信号Yから、音源特定情報S2,1により特定される音源、つまり、音源Src1に対応する信号を抽出するためのマスク^M2,1を推定する。NNは、音源Src1を特定する音源特定情報(特徴量ベクトル)S3,1と、停止フラグ^z2,1(=0)とを出力する。
制御部13は、停止フラグ^z2,1に基づいて繰り返し処理を行うか否かを決定する。ここでは、^z2,1=0であるため、制御部13は、繰り返し処理を継続すると判定する。そして、制御部13は、次の繰り返し処理の入力となる残留マスクR2,2を計算する。
残留マスクR2,2は、入力音響信号Yから推定マスク情報^M2,1に対応する音源の音を取り除いた信号を特定する情報である。例えば、残留マスクR2,1が入力音響信号全体を通すマスク情報とすれば、残留マスクR2,2は、残留マスクR2,1から^M2,1を取り除いたものである。言い換えれば、残留マスクR2,2は、まだ推定されていないSrc2及びSrc3に対応する音源の信号を通すようなマスクとも言える。残留マスクR2,2は、第2時間ブロックの2回目の繰り返し処理において、NNに入力される残留マスクとなる。
次に、2回目の繰り返し処理について説明する。この場合、NNには、入力音響信号Yと残留マスクR2,2と音源特定情報S2,2とが与えられる。この結果、NNは、音源特定情報S2,2により特定される音源、つまり、音源Src2に対応するマスクを推定マスク情報^M2,2として得て出力する。ただし、この例では、Yに音源Src2の信号は含まれないため、^M2,2は、空情報、すなわち、いずれの信号も通さないマスクとなる。また、Yにはまだ音源の信号が残っているため、NNは、停止フラグ^z2,2(=0)を出力する。また、NNは、推定マスク情報^M2,2に対応する音源を特定する情報、つまり音源Src2を特定する情報を、音源特定情報S3,2として出力する。
制御部13は、停止フラグ^z2,2に基づいて繰り返し処理を行うか否かを決定する。ここでは、^z2,2=0であるため、制御部13は、繰り返し処理を継続すると判定し、次の繰り返し処理の入力となる残留マスクR2,3を計算する。
残留マスクR2,3は、入力音響信号Yから、推定マスク情報^M2,1に対応する音源の音と、推定マスク情報^M2,2に対応する音源の音とを取り除いた信号を特定する情報である。例えば、残留マスクR2,1が入力音響信号全体を通すマスク情報とすれば、残留マスクR2,3は、残留マスクR2,1から^M2,1及び^M2、2を取り除いたものである。言い換えれば、残留マスクR2,3は、まだ推定されていないSrc3に対応する音源の信号を通すようなマスクとも言える。残留マスクR2,3は第2時間ブロックの3回目の繰り返し処理において、NNに入力される残留マスクとなる。
次に、3回目の繰り返し処理について説明する。この場合、NNには、入力音響信号Yと残留マスクR2,3と音源特定情報S1,3が与えられる。ここで、第1時間ブロックにおいては3回目の繰り返し処理は存在しないため、音源特定情報S1,3としては、音源特定情報の初期値(第1時間ブロックで用いたものと同じ0)が入力される。この結果、NNは、入力音響信号Yから音源Src1と音源Src2とに対応する音を取り除いた信号に含まれる音源Src3に対応するマスクを、推定マスク情報^M2,3として出力する。また、Yには音源の信号が残っていないため、NNは、停止フラグ^z2,3(=1)を出力する。また、NNは、推定マスク情報^M2,3に対応する音源を特定する情報、つまり音源Src3を特定する情報を、音源特定情報S3,3として出力する。
続いて、制御部13は、停止フラグ^z2,3=1であるため、繰り返し処理を停止すると判定する。
引き続き第3時間ブロックYがある場合、その1回目の繰り返し処理では、NNは、音源特定情報S3,1が入力され、Yの中の音源Src1に対応するマスクを推定する。そして、2回目の繰り返し処理では、NNは、音源特定情報S3,2を入力として受け取り、Yの中の音源Src2に対応するマスクを推定する。そして、3回目の繰り返し処理では、NNは、音源特定情報S3,3を入力として受け取り、Yの中の音源Src3に対応するマスクを推定する。
これによって、マスク推定装置10では、各時間ブロックにおいて、i回目(i=1,2,3,・・・)の繰り返し処理で推定されるマスクに対応する音源が同じ音源となる。
[マスク推定処理の処理手順]
次に、図10を参照して、実施の形態4に係るマスク推定処理の処理手順を説明する。図10は、実施の形態4に係るマスク推定処理の処理手順のフローチャートである。
図10に示すように、まず、実施の形態4に係るマスク推定処理では、時間ブロックのインデックスb=1と初期化する(ステップS41)。NNは、マスク推定対象の第bブロックの音響信号(入力音響信号)Yが入力されるとともに(ステップS42)、残留マスクRb,1と音源推定情報Rb,1とが入力される(ステップS43,S44)。なお、これらのパラメータは処理の開始時点においては初期化されているものとする。マスク推定装置10は、繰り返し処理回数のインデックスi=1と初期化し(ステップS45)、1回目(i回目)の繰り返し処理を実行する。
具体的には、マスク推定部11のNNには、入力音響信号Yと残留マスクRb,iと音源特定情報Sb,iとが入力される。そして、NNは、入力音響信号Yに含まれる1つの音源のマスク情報^Mb,iを推定して出力するマスク推定処理を行う(ステップS46)。そして、NNは、NNに入力された残留マスクRb,iとマスク推定部11が推定したマスク情報^Mb,iとから新たなRb,i+1を求め、出力する(ステップS47)。これとともに、NNは、停止フラグ^zb,i、及び、1つの音源の音源特定情報Sb+1,iを出力する(ステップS48)。
制御部13は、残留マスクまたは停止フラブの少なくとも一つが所定の停止条件を満たすか否かを基に、繰り返し処理を停止するか否かを判定する(ステップS49)。
制御部13は、繰り返し処理を停止しないと判定した場合(ステップS49:No)、NNに、残留マスクRb,i+1及び音源特定情報Sb,i+1を入力音響信号Yとともに入力し(ステップS50,S51)、i=i+1(ステップS52)として、ステップS46に戻り、次の回の繰り返し処理を行う。
そして、制御部13は、繰り返し処理を停止すると判定した場合(ステップS49:Yes)、入力音響信号のブロックが最終ブロックであるか否かを判定する(ステップS53)。制御部13は、入力音響信号のブロックが最終ブロックでないと判定した場合(ステップS53:No)、b=b+1(ステップS54)として、ステップS42に戻り、次のブロックの入力音響信号Yに対して1回目の繰り返し処理を行う。
これに対し、制御部13が、入力音響信号のブロックが最終ブロックであると判定した場合(ステップS53:Yes)マスク推定装置10は、これまでの各繰り返し処理で音源ごとに求めた各時間ブロックのマスク情報を出力して(ステップS55)、マスク推定処理を終了する。
[実施の形態4の効果]
実施の形態4において、マスク推定装置10では、NNの入力として音源特定情報を追加する。これによって、実施の形態4では、各マスク推定処理で推定する音源を音源特定情報を基に指定し、指定された音源についてのマスクの推定結果を出力する。言い換えると、実施の形態4では、マスク推定装置10は、各時間ブロックにおいて、i回目(i=1,2,3,・・・)の繰り返し処理で推定されるマスクに対応する音源が同じ音源になる。
ここで、実施の形態1に係るマスク推定方法では、一定の長さの時間区間(ブロック)単位で、基礎出願の処理を順次実行するオンライン処理として用いる場合、前の時間ブロックで出力されるマスクと、次の時間ブロックで出力されるマスクとの対応関係が分からず、特定の音源に対応する音(例えば、特定の人の音声)を時間方向に追従して取り出すことが難しい場合がある。このため、実施の形態1では、一旦、NNからブロック毎に全てのマスクを出力された後に、ブロック間で同じ音源に対応するマスクがどれであるかを特定する後処理を行い、各ブロックのマスクの順序が揃うように並べ替える(パーミュテーションする)ことが必要になる。
これに対し、実施の形態4に係るマスク推定処理では、NNに、入力される音源特定情報によって特定される音源のマスクを推定させるようにし、各ブロックにおいて音源特定情報の入力順序を揃えている。この結果、実施の形態4に係るマスク推定処理では、NNから順次出力されるマスクに対応する音源の順序が、各ブロックで揃うこととなる。したがって、実施の形態4に係るマスク推定処理では、実施の形態1に係るマスク推定方法で必要であった後処理を行う必要なく、オンライン処理で各音源の音を追跡することができるという効果を奏する。
[実施の形態5]
次に、実施の形態5について説明する。実施の形態4では、マスク推定部11のNNのパラメータは予め学習済みであるものとしたが、本実施の形態5では、このNNのパラメータの学習を行う学習装置について説明する。実施の形態5に係る学習装置の構成は、図4に示す実施の形態2に係る学習装置の構成と同じ構成を有する。
[学習処理の流れ]
次に、図11を参照して、実施の形態5に係る学習処理の流れを説明する。図10は、実施の形態5に係る学習処理の一例を示す図である。
実施の形態5に係る学習処理では、学習用の入力音響信号である混合音響信号と、各音源に対応する正解マスク情報(或いは混合音響信号中の各音源信号)との組からなる学習用の入力音響信号が予め与えられているものとする。実施の形態5に係る学習処理では、学習用の入力音響信号について、実施の形態4に係るマスク推定処理と同様の処理を行って、時間ブロック毎のマスクを推定する。
図11に示すように、学習処理では、時間ブロックごとに、各ブロックに対応する学習用の入力音響信号YがNNに入力される。また、この学習用の入力音響信号Yは、各音源に対応する正解のマスク情報がそれぞれ既知である。また、NNには、残留マスクRb,i、音源特定情報Sb,iが入力される。マスク推定処理と同様に、NNは、残留マスクRb.i及び音源推定情報Sb,iを基に、学習用の入力音響信号Yに含まれる1つの音源の信号を抽出するマスクを特定する情報の推定値である推定マスク情報^Mb,iを推定する。NNは、音源推定情報止フラグ^zb,i及び音源特定情報Sb+1,iを出力する。そして、制御部23は、停止フラグ^zb,iに基づいて繰り返し処理を継続すると判定した場合には、次の繰り返し処理の入力となる残留マスクRb,i+1を計算する。
パラメータ更新部24は、マスク推定部で推定された推定マスク情報に基づいて抽出される各音源の信号の推定値と、学習用の入力音響信号に含まれる各音源の信号の正解とが近づくように、NNの各パラメータの更新を行う。具体的には、学習用の入力音響信号の全ブロックについて、NNによる推定処理が終了すると、パラメータ更新部24は、NNの出力情報に基づいて計算した損失の値が所定の条件を満たさない場合に、NNの各パラメータを更新する。損失関数を、推定マスク情報が正解マスクに近づくほど小さな値となるような関数とした場合、損失関数値が所定の閾値未満であれば、パラメータ更新部24は、現在のNNのパラメータの値を出力して学習を終了する。
ここで、パラメータ更新部24が損失計算において使用する損失関数Lの一例を(8)式に示す。
Figure 0006927419
α、β、γは、それぞれ予め定めた0以上の定数であり、各要素L(res−mask),L(CE),L(TRIPLET)をどの程度考慮するかを調整する重みである。重みの値を0とすれば、その損失を考慮しないことを意味する。つまり、重みの値を0とした場合、少なくともL(MMSE)に基づいてパラメータの更新を行えばよい。
ここで、L(MMSE)は、(9)式により与えられる。
Figure 0006927419
(9)式では時間ブロックに分割されているため、式の形は異なるが、実施の形態2のJ(MSE)と意味合いとしては同じである。L(MMSE)は、推定されたマスク情報により抽出される信号と正解の音源の信号との距離(ここでは平均二乗誤差)に対応する指標値である。
(res−mask)は、実施の形態2のJ(res−mask)に対応するものであり、残留マスクに関する損失を表す。L(res−mask)は、(10)式で与えられる。
Figure 0006927419
(CE)及びL(TRIPLET)は、音源特定情報の推定結果の適切さを表す尺度である。L(CE)は、softmax cross-entropy、つまり、NNの音源特定情報を出力する出力層をsoftmax層とした場合、そのsoftmax層の出力と正解の話者を指し示す1−hotベクトル(ベクトル中の正解話者に対応する要素のみ1となり、それ以外の要素は全て0となるベクトル)より計算されるクロスエントロピー損失である。また、L(TRIPLET)は、トリプレット損失であり、(11)式で与えられる。
Figure 0006927419
anは、anchorベクトルとnegativeベクトルとのコサイン距離である。s apは、anchorベクトルとpositiveベクトルとのコサイン距離である。L(TRIPLET)は、(anchorベクトル,positiveベクトル,negativeベクトル)の3つ組に対してanchorベクトルとpositiveベクトルとのコサイン距離が近くなる、または、anchorベクトルとnegativeベクトルとのコサイン距離が遠くなるほど値が小さくなる尺度である。
トリプレット損失は、同じ音源に対応する音源特定情報のペア、つまりanchorベクトルとpositiveベクトルの距離が、異なる音源に対応する音源特定情報のペア、つまりanchorベクトルとnegativeベクトルの距離よりも近くなるような尺度である。つまり、パラメータ更新部24は、学習処理の過程で得られた複数の音源特定情報の推定結果の中から、適当にanchorベクトルとなる音源特定情報を選択する。そして、パラメータ更新部24は、その音源特定情報と同じ音源に関する音源特定情報の推定結果をpositiveベクトル、その音源特定情報と異なる音源に関する音源特定情報の推定結果をnegativeベクトルとして、(11)式を計算すればよい。なお、δは予め定めた正定数であり、小さな値とすることが好ましい。
[学習処理の処理手順]
次に、図12を参照して、学習装置20における学習処理の処理手順を説明する。図12は、実施の形態5に係る学習処理の処理手順のフローチャートである。
図12に示すように、実施の形態5に係る学習処理では、時間ブロックのインデックスb=1と初期化する(ステップS61)。NNは、学習用の音響信号(入力音響信号)Yが入力されるとともに(ステップS62)、残留マスクRb,1と音源推定情報Sb,1との入力を受け付ける(ステップS63,S64)。学習装置20は、繰り返し処理回数のインデックスi=1と初期化し(ステップS65)、1回目(i回目)の繰り返し処理を実行する。図12に示すステップS66〜ステップS74は、図10に示すステップS46〜ステップS54と同じ処理である。
これまでの各繰り返し処理で音源ごとに求めた各時間ブロックのマスク情報が出力されると(ステップS75)、パラメータ更新部24は、(8)式に示す損失関数を用いて、マスク情報の推定値に対する損失を計算し、パラメータ更新の要否を判定する(ステップS76)。パラメータ更新部24は、パラメータの更新が必要と判定した場合(ステップS76:Yes)、パラメータの更新を行い(ステップS77)、学習処理を終了する。一方、パラメータ更新部24は、パラメータ更新が不要と判定した場合(ステップS76:No)、パラメータの更新は実行せず、現在のNNのパラメータを出力して学習処理を終了する。
[実施の形態5の効果]
本実施の形態5では、上記の処理を行うことによって、実施の形態4に係るマスク推定処理を行うNNの各パラメータの更新を行うことにより、NNのパラメータを適正化することができる。
なお、学習処理時に、1回目の繰り返し処理において背景雑音を抽出するためのマスクを出力するようにNNを設定することによって、マスク推定処理時には、いずれの時間ブロックにおいても、1回目の繰り返し処理において背景雑音を抽出することができる。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図13は、プログラムが実行されることにより、マスク推定装置10、学習装置20及び信号分離装置30が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、マスク推定装置10、学習装置20及び信号分離装置30の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、マスク推定装置10、学習装置20及び信号分離装置30における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
10 マスク推定装置
11,21 マスク推定部
13,23 制御部
20 学習装置
24 パラメータ更新部
30 信号分離装置
31 音源分離部

Claims (16)

  1. 複数の音源からの音が混合された音響信号である入力音響信号と補助情報とが入力され、前記補助情報により特定される前記入力音響信号中の一部または全部の信号に含まれる何れか1つの音源からの音を抽出するマスクを特定するマスク情報の推定結果を出力するニューラルネットワークと、
    前記ニューラルネットワークによりマスク情報の推定結果を出力させる処理を繰り返し実行させる制御部と、
    を有し、
    前記制御部は、繰り返し毎に、異なる補助情報を前記ニューラルネットワークに入力することで、異なる音源に対応する前記マスク情報の推定結果を出力させる
    ことを特徴とする推定装置。
  2. 前記補助情報は、前記入力音響信号のうち、過去に求めたマスク情報の推定結果に対応する音源の信号を前記入力音響信号から取り除いた残りの信号を特定する情報である
    ことを特徴とする請求項1に記載の推定装置。
  3. 前記補助情報として、前記ニューラルネットワークが抽出する音源を特定する音源特定情報をさらに含み、
    前記ニューラルネットワークは、前記音源特定情報に対応する音源からの音を抽出するマスクを特定するマスク情報の推定結果を出力する
    ことを特徴とする請求項2に記載の推定装置。
  4. 複数の音源からの音が混合された音響信号である学習用の入力音響信号と補助情報とが入力され、前記補助情報により特定される前記学習用の入力音響信号中の一部または全部の信号に含まれる何れか1つの音源からの音を抽出するマスクを特定するマスク情報の推定結果を出力するニューラルネットワークと、
    前記ニューラルネットワークによりマスク情報の推定結果を出力させる処理を繰り返し実行させる制御部と、
    前記ニューラルネットワークにより求めたマスク情報の推定結果に対応する情報と、前記学習用の入力音響信号に対して予め与えられた正解のマスク情報に対応する情報との比較結果に基づいて、前記ニューラルネットワークの各パラメータを更新するパラメータ更新部と、
    を有し、
    前記制御部は、繰り返し毎に、異なる補助情報を前記ニューラルネットワークに入力することで、異なる音源に対応する前記マスク情報の推定結果を出力させる
    ことを特徴とする学習装置。
  5. 前記補助情報は、前記入力音響信号のうち、過去に求めたマスク情報の推定結果に対応する音源の信号を前記入力音響信号から取り除いた残りの信号を特定する情報である
    ことを特徴とする請求項4に記載の学習装置。
  6. 前記パラメータ更新部は、前記マスク情報の推定結果と前記正解のマスク情報とが近づくように、前記ニューラルネットワークの各パラメータを更新することを特徴とする請求項4または5に記載の学習装置。
  7. 前記ニューラルネットワークは、前記マスク情報の推定結果に加えて、前記制御部において繰り返し処理を継続するか否かを表す停止フラグを出力し、
    前記パラメータ更新部は、前記停止フラグと、予め与えられた当該停止フラグの正解とが近づくように、前記ニューラルネットワークの各パラメータを更新することを特徴とする請求項6に記載の学習装置。
  8. 前記パラメータ更新部は、前記制御部の各繰り返し処理における補助情報と、予め与えられた当該補助情報の正解とが近づくように、前記ニューラルネットワークの各パラメータを更新することを特徴とする請求項6に記載の学習装置。
  9. 前記ニューラルネットワークは、前記マスク情報の推定結果に加えて、前記制御部において繰り返し処理を継続するか否かを表す停止フラグを出力し、
    前記パラメータ更新部は、前記停止フラグと、予め与えられた当該停止フラグの正解とが近づくように、前記ニューラルネットワークの各パラメータを更新することを特徴とする請求項8に記載の学習装置。
  10. 前記補助情報として、前記ニューラルネットワークが抽出する音源を特定する音源特定情報をさらに含み、
    前記ニューラルネットワークは、前記音源特定情報に対応する音源からの音を抽出するマスクを特定するマスク情報の推定結果を出力する
    ことを特徴とする請求項5に記載の学習装置。
  11. 前記パラメータ更新部は、前記マスク情報の推定結果と前記正解のマスク情報とが近づくように、前記ニューラルネットワークの各パラメータを更新することを特徴とする請求項10に記載の学習装置。
  12. 前記パラメータ更新部は、前記制御部の各繰り返し処理における補助情報と、予め与えられた当該補助情報の正解とが近づくように、前記ニューラルネットワークの各パラメータを更新することを特徴とする請求項11に記載の学習装置。
  13. 前記ニューラルネットワークは、前記マスク情報の推定結果に加えて、前記制御部において繰り返し処理を継続するか否かを表す停止フラグを出力し、
    前記パラメータ更新部は、前記停止フラグと、予め与えられた当該停止フラグの正解とが近づくように、前記ニューラルネットワークの各パラメータを更新することを特徴とする請求項11または12に記載の学習装置。
  14. 推定装置が実行する推定方法であって、
    複数の音源からの音が混合された音響信号である入力音響信号と補助情報とが入力され、ニューラルネットワークにより、前記補助情報により特定される前記入力音響信号中の一部または全部の信号に含まれる何れか1つの音源からの音を抽出するマスクを特定するマスク情報の推定結果を得る推定工程と、
    前記推定工程によりマスク情報の推定結果を得る処理を繰り返し実行させる制御工程と、
    を含み、
    前記制御工程は、繰り返し毎に、異なる補助情報を前記ニューラルネットワークに入力することで、異なる音源に対応する前記マスク情報の推定結果を得る
    ことを特徴とする推定方法。
  15. 学習装置が実行する学習方法であって、
    複数の音源からの音が混合された音響信号である学習用の入力音響信号と補助情報とが入力され、ニューラルネットワークにより、前記補助情報により特定される前記学習用の入力音響信号中の一部または全部の信号に含まれる何れか1つの音源からの音を抽出するマスクを特定するマスク情報の推定結果を得る推定工程と、
    前記推定工程によりマスク情報の推定結果を得る処理を繰り返し実行させる制御工程と、
    前記推定工程により求めたマスク情報の推定結果に対応する情報と、前記学習用の入力音響信号に対して予め与えられた正解のマスク情報に対応する情報との比較結果に基づいて、前記ニューラルネットワークの各パラメータを更新するパラメータ更新工程と、
    を含み、
    前記制御工程は、繰り返し毎に、異なる補助情報を前記ニューラルネットワークに入力することで、異なる音源に対応する前記マスク情報の推定結果を得るものである
    ことを特徴とする学習方法。
  16. コンピュータを、請求項1乃至3のいずれか一項に記載の推定装置または請求項4乃至13のいずれか一項に記載の学習装置として機能させるためのプログラム。
JP2020513083A 2018-04-12 2019-01-29 推定装置、学習装置、推定方法、学習方法及びプログラム Active JP6927419B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018076507 2018-04-12
JP2018076507 2018-04-12
PCT/JP2019/003023 WO2019198306A1 (ja) 2018-04-12 2019-01-29 推定装置、学習装置、推定方法、学習方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2019198306A1 JPWO2019198306A1 (ja) 2021-02-12
JP6927419B2 true JP6927419B2 (ja) 2021-08-25

Family

ID=68164101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020513083A Active JP6927419B2 (ja) 2018-04-12 2019-01-29 推定装置、学習装置、推定方法、学習方法及びプログラム

Country Status (3)

Country Link
US (1) US11456003B2 (ja)
JP (1) JP6927419B2 (ja)
WO (1) WO2019198306A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6821615B2 (ja) * 2018-02-22 2021-01-27 日本電信電話株式会社 マスク推定装置、モデル学習装置、音源分離装置、マスク推定方法、モデル学習方法、音源分離方法及びプログラム
KR20200082227A (ko) * 2018-12-28 2020-07-08 한국전자통신연구원 오디오 신호를 위한 손실 함수 결정 방법 및 손실 함수 결정 장치
KR102190986B1 (ko) * 2019-07-03 2020-12-15 주식회사 마인즈랩 개별 화자 별 음성 생성 방법
JP7293162B2 (ja) * 2020-04-08 2023-06-19 日本電信電話株式会社 信号処理装置、信号処理方法、信号処理プログラム、学習装置、学習方法及び学習プログラム
CN111583954B (zh) * 2020-05-12 2021-03-30 中国人民解放军国防科技大学 一种说话人无关单通道语音分离方法
JP7387565B2 (ja) 2020-09-16 2023-11-28 株式会社東芝 信号処理装置、学習済みニューラルネットワーク、信号処理方法及び信号処理プログラム
CN114818838B (zh) * 2022-06-30 2022-09-13 中国科学院国家空间科学中心 基于像元时域分布学习的低信噪比运动点目标检测方法
WO2024030338A1 (en) * 2022-08-05 2024-02-08 Dolby Laboratories Licensing Corporation Deep learning based mitigation of audio artifacts

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404377A (en) * 1994-04-08 1995-04-04 Moses; Donald W. Simultaneous transmission of data and audio signals by means of perceptual coding
JP4157581B2 (ja) * 2004-12-03 2008-10-01 本田技研工業株式会社 音声認識装置
US8392185B2 (en) * 2008-08-20 2013-03-05 Honda Motor Co., Ltd. Speech recognition system and method for generating a mask of the system
US9100734B2 (en) * 2010-10-22 2015-08-04 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for far-field multi-source tracking and separation
JP5791081B2 (ja) * 2012-07-19 2015-10-07 日本電信電話株式会社 音源分離定位装置、方法、及びプログラム
US9390712B2 (en) * 2014-03-24 2016-07-12 Microsoft Technology Licensing, Llc. Mixed speech recognition
US20160071526A1 (en) * 2014-09-09 2016-03-10 Analog Devices, Inc. Acoustic source tracking and selection
US9881631B2 (en) * 2014-10-21 2018-01-30 Mitsubishi Electric Research Laboratories, Inc. Method for enhancing audio signal using phase information
US9818431B2 (en) * 2015-12-21 2017-11-14 Microsoft Technoloogy Licensing, LLC Multi-speaker speech separation
US10249305B2 (en) * 2016-05-19 2019-04-02 Microsoft Technology Licensing, Llc Permutation invariant training for talker-independent multi-talker speech separation
TWI622043B (zh) * 2016-06-03 2018-04-21 瑞昱半導體股份有限公司 聲源分離方法與裝置
US10460727B2 (en) * 2017-03-03 2019-10-29 Microsoft Technology Licensing, Llc Multi-talker speech recognizer
US10839822B2 (en) * 2017-11-06 2020-11-17 Microsoft Technology Licensing, Llc Multi-channel speech separation
US10546593B2 (en) * 2017-12-04 2020-01-28 Apple Inc. Deep learning driven multi-channel filtering for speech enhancement
US10522167B1 (en) * 2018-02-13 2019-12-31 Amazon Techonlogies, Inc. Multichannel noise cancellation using deep neural network masking

Also Published As

Publication number Publication date
WO2019198306A1 (ja) 2019-10-17
US20210366502A1 (en) 2021-11-25
US11456003B2 (en) 2022-09-27
JPWO2019198306A1 (ja) 2021-02-12

Similar Documents

Publication Publication Date Title
JP6927419B2 (ja) 推定装置、学習装置、推定方法、学習方法及びプログラム
CN107564513B (zh) 语音识别方法及装置
JP6671020B2 (ja) 対話行為推定方法、対話行為推定装置及びプログラム
JP5423670B2 (ja) 音響モデル学習装置および音声認識装置
CN110517664B (zh) 多方言识别方法、装置、设备及可读存储介质
WO2019102884A1 (ja) ラベル生成装置、モデル学習装置、感情認識装置、それらの方法、プログラム、および記録媒体
CN107851434A (zh) 使用自适应增量学习方法的语音识别系统和方法
CN110349597B (zh) 一种语音检测方法及装置
JP6821615B2 (ja) マスク推定装置、モデル学習装置、音源分離装置、マスク推定方法、モデル学習方法、音源分離方法及びプログラム
JP6517760B2 (ja) マスク推定用パラメータ推定装置、マスク推定用パラメータ推定方法およびマスク推定用パラメータ推定プログラム
WO2020045313A1 (ja) マスク推定装置、マスク推定方法及びマスク推定プログラム
JP5994639B2 (ja) 有音区間検出装置、有音区間検出方法、及び有音区間検出プログラム
JP2017134321A (ja) 信号処理方法、信号処理装置及び信号処理プログラム
US8712936B2 (en) Information processing apparatus, information processing method, and program
JP6910002B2 (ja) 対話行為推定方法、対話行為推定装置及びプログラム
Ozerov et al. GMM-based classification from noisy features
JP2013167698A (ja) 音源ごとに信号のスペクトル形状特徴量を推定する装置、方法、目的信号のスペクトル特徴量を推定する装置、方法、プログラム
CN110708619B (zh) 一种智能设备的词向量训练方法及装置
JP2019095599A (ja) 音響モデル学習装置、音声認識装置、それらの方法、及びプログラム
US20220122584A1 (en) Paralinguistic information estimation model learning apparatus, paralinguistic information estimation apparatus, and program
Saleem et al. A discriminative unsupervised method for speaker recognition using deep learning
US11996086B2 (en) Estimation device, estimation method, and estimation program
JP6734237B2 (ja) 目的音源推定装置、目的音源推定方法及び目的音源推定プログラム
JP2019193073A (ja) 音源分離装置、その方法、およびプログラム
JP7485050B2 (ja) 信号処理装置、信号処理方法、信号処理プログラム、学習装置、学習方法、および、学習プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200811

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A801

Effective date: 20200811

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20200811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210719

R150 Certificate of patent or registration of utility model

Ref document number: 6927419

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150