(57)【要約】【課題】学習済みモデルを記憶するためのメモリ容量を小さくすること。【解決手段】信号処理装置は、複数の音源の音が混合された混合音声信号を基に、第１のニューラルネットワークの所定の層の中間状態を計算する。また、信号処理装置は、目的話者の発話を基に生成される補助情報を用いて、中間状態をスケーリングする。信号処理装置は、混合音声信号から目的話者の音声信号を抽出する情報を、スケーリング部によってスケーリングされた中間状態を基に計算する。【選択図】図１
2020134567.tif 000002
【特許請求の範囲】
【請求項１】
複数の音源の音が混合された混合音声信号を基に、第１のニューラルネットワークの所定の層の中間状態を計算する第１計算部と、
目的話者の発話を基に生成される補助情報を用いて、前記中間状態をスケーリングするスケーリング部と、
前記混合音声信号から前記目的話者の音声信号を抽出する情報を、前記スケーリング部によってスケーリングされた中間状態を基に計算する第２計算部と、
を有することを特徴とする信号処理装置。
【請求項２】
前記スケーリング部は、前記目的話者の音声信号を基に、第２のニューラルネットワークを用いて計算された補助情報を用いて前記中間状態をスケーリングすることを特徴とする請求項１に記載の信号処理装置。
【請求項３】
前記スケーリング部は、前記第１のニューラルネットワークの前記所定の層のユニットの数と同じ数の要素を持つベクトルとして表される補助情報と、前記所定の層の各ユニットの出力値を要素とするベクトルとの要素ごとの積を計算することでスケーリングすることを特徴とする請求項１又は２に記載の信号処理装置。
【請求項４】
コンピュータによって実行される信号処理方法であって、
複数の音源の音が混合された混合音声信号を基に、第１のニューラルネットワークの所定の層の中間状態を計算する第１計算工程と、
目的話者の発話を基に生成される補助情報を用いて、前記中間状態をスケーリングするスケーリング工程と、
前記混合音声信号から前記目的話者の音声信号を抽出する情報を、前記スケーリング工程によってスケーリングされた中間状態を基に計算する第２計算工程と、
を含むことを特徴とする信号処理方法。
【請求項５】
コンピュータを、請求項１から３のいずれか１項に記載の信号処理装置として機能させるための信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置、信号処理方法及び信号処理プログラムに関する。
【背景技術】
【０００２】
話者の音声を収録する際に、話者の音声と同時に周囲の他の話者の音声が一緒に収録されてしまう場合がある。これに対し、収録された音声から目的とする話者の音声だけを取り出す技術が知られている（例えば、非特許文献１を参照）。
【０００３】
例えば、非特許文献１には、分割された複数の隠れ層が設けられたニューラルネットワークを用いて目的話者の音声を抽出する技術が記載されている。非特許文献１に記載の技術では、目的話者の音声から求めた各隠れ層に対応する重みを計算し、各々の隠れ層の出力を当該重みにより重み付けした重み付け和を用いて話者の音声を抽出する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】K.  Zmolikova,  M.  Delcroix,  K.  Kinoshita,  T.  Higuchi,  A.  Ogawa,  and  T.  Nakatani,  “Speaker-aware  neural  network  based  beamformer  for  speaker  extraction  in  speech  mixtures,”  in  Proc.  of  Interspeech’17,  Aug  2017,  pp.  2655-2659.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術には、学習済みモデルを記憶するためのメモリ容量が大きくなってしまう場合があるという問題がある。例えば、非特許文献１に記載の技術では、複数のクラスタに分割される隠れ層において必要になるパラメータの数は、クラスタの数に比例して多くなる。また、学習済みモデルは、ニューラルネットワークの各ユニット間の出力を計算するための重みやバイアス等のパラメータとして記憶される。このため、クラスタ数によっては、膨大な数のパラメータが必要になり、多量のメモリ容量が消費される場合がある。
【課題を解決するための手段】
【０００６】
本発明の信号処理装置は、複数の音源の音が混合された混合音声信号を基に、第１のニューラルネットワークの所定の層の中間状態を計算する第１計算部と、前記目的話者の発話を基に生成される補助情報を用いて、前記中間状態をスケーリングするスケーリング部と、前記混合音声信号から前記目的話者の音声信号を抽出する情報を、前記スケーリング部によってスケーリングされた中間状態を基に計算する第２計算部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、学習済みモデルを記憶するためのメモリ容量を小さくすることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る信号処理装置の構成の一例を示す図である。
【図２】図２は、第１の実施形態に係るニューラルネットワークについて説明するための図である。
【図３】図３は、第１の実施形態に係る信号処理装置の処理の流れを示すフローチャートである。
【図４】図４は、第２の実施形態に係る学習装置の構成の一例を示す図である。
【図５】図５は、第２の実施形態に係る学習装置の処理の流れを示すフローチャートである。
【図６】図６は、実験結果を示す図である。
【図７】図７は、プログラムを実行するコンピュータの一例を示す図である。
【図８】図８は、従来のマスク推定装置の構成を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る信号処理装置、信号処理方法及び信号処理プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【００１０】
［第１の実施形態］
図１を用いて、第１の実施形態に係る信号処理装置の構成について説明する。図１は、第１の実施形態に係る信号処理装置の構成の一例を示す図である。図１に示すように、信号処理装置１０は、第１変換部１０１及び第２変換部１０２を有する。また、第１変換部１０１は、第１計算部１０１ａを有する。また、第２変換部１０２は、スケーリング部１０２ａ及び第２計算部１０２ｂを有する。
【００１１】
信号処理装置１０は、混合音声信号及び補助情報の入力を受け付け、目的話者の音声信号を混合音声信号（入力音声信号）から抽出する情報である目的信号抽出情報を出力する。目的信号抽出情報とは、例えば、混合音声信号から目的話者の音声信号を抽出するためのマスクや、このマスクを一意に特定できる情報、あるいは、混合音声信号から抽出した目的話者の音声信号（の推定値）等である。第１の実施形態では、目的信号抽出情報として、マスクを一意に特定できるマスク特定情報を生成する場合を例に、説明する。混合音声信号は、複数の音源の音が混合された音声信号である。例えば、混合音声信号は、目的話者の音声の信号、目的話者以外の話者の音声の信号、背景雑音の信号等を含む。
【００１２】
また、補助情報は、目的話者の発話を基に生成される情報である。また、補助情報は、中間状態をスケーリングするための情報である。例えば、補助情報は、目的話者の発話を基に、周知のi-vectors（参考文献１：N.  Dehak,  P.  J.  Kenny,  R.  Dehak,  P.  Dumouchel,  and  P.  Ouellet,  “Frontend  factor  analysis  for  speaker  verification,”  IEEE  Transactions  on  Audio,  Speech,  and  Language  Processing,  vol.  19,  no.  4,  pp.  788-798,2011.）、sequence  summarizing  network、注意機構付きのsequence  summarizing  network等により生成される。i-vectorsは、入力データの重要な特徴を低次元ベクトルで表現するものであり、本発明においては参考文献１等の周知の手法により、目的話者の多様性を表す特徴をi-vectorsとして抽出し、利用する。
【００１３】
Sequence  summarizing  networkでは、補助情報を生成するためニューラルネットワーク（以下、「補助ネットワーク（auxiliary  network」という）を別途用意し、時間フレーム毎の目的話者の発話を補助ネットワークにより変換して、出力ベクトルであるframe-wise  vectorを抽出する。そして、時間フレーム全体（例えばＴフレーム）について得られたframe-wise  vectorの代表値（平均値等）を補助情報として用いる。
【００１４】
ここで、目的話者の発話は、目的話者しか話していない状況で収録された音声信号であり、目的話者についての音声信号であれば、処理対象となる混合音声中に含まれる目的話者の発話とは異なる発話でよい。目的話者の発話は、例えば時間フレームごとに分割した時間フレーム単位の信号の周波数表現（ＳＴＦＴ（Short  Time  Fourier  Transform）領域の表現）である。また、Ａをフレームｔにおける目的話者の発話（他の話者の声を含まない目的話者の音声信号）とする。このとき、（１）式に示すように、−λｔ（λの直上に−）をフレームｔに対応するframe-wise  vectorとし、補助ネットワークによる変換を関数ｚ（・）と表記すると、補助情報λは（２）式のように表せる。
【００１５】
【数１】
2020134567.tif 000003
【００１６】
【数２】
2020134567.tif 000004
【００１７】
注意機構付きのsequence  summarizing  networkは、上記の補助ネットワークが注意機構（attention  mechanism）をさらに備えたものである。上記の補助ネットワークでは、補助情報λを求める際に、各時間フレームから抽出したframe-wise  vectorを等しい重みで統合しているが、注意機構を用いることでその重みを調整することができる。例えば、ノイズを多く含む時間フレームから抽出したframe-wise  vectorの重みは小さくし、ノイズの少ない時間フレームから抽出したframe-wise  vectorの重みは大きくなるように注意機構が学習されることで、より適切に目的話者の音声信号の特徴を表す補助情報を得ることが可能となる。注意機構付きのsequence  summarizing  networkの演算については、第１の実施形態の変形例の説明の中で詳述する。
【００１８】
このように、例えば、補助情報は、目的話者の発話から得られる音声信号を入力とするニューラルネットワークの出力であってもよい。
【００１９】
マスク特定情報は、混合音声信号から目的話者の音声信号を抽出する情報の一例である。例えば、マスクは、混合音声信号における、時間周波数点ごとの目的話者の音声信号の占有度である。マスク特定情報は、マスクそのものであってもよいし、マスクを計算するための所定の数値であってもよい。
【００２０】
信号処理装置１０は、ニューラルネットワークを用いて各計算処理を行う。図２を用いて、信号処理装置１０によって用いられるニューラルネットワークを示すとともに、各計算処理について説明する。図２は、第１の実施形態に係るニューラルネットワークについて説明するための図である。
【００２１】
ここで、行列Ｙは、目的話者の音声信号を含む混合音声信号の、各時間周波数点の観測信号をＳＴＦＴ領域で表したものである。つまり、Ｔを時間フレームの総数、Ｆを周波数ビンの総数とすると、ＹはＴ×Ｆ行列である。このうち、時間フレームｔにおける観測信号を表すベクトル（つまり、Ｙのｔ行目の要素を縦に並べたベクトル）をＹｔとすると、Ｙｔは時間フレームｔにおける入力混合音声信号の周波数表現であり、図２に示すように、ニューラルネットワークには、Ｙｔの絶対値であるｘ０が入力される。なお、｜・｜は、ＳＴＦＴ信号の絶対値を表すものとする。また、ニューラルネットワークは、ＢＬＳＴＭ（Bi-directional  Long  Short-Term  Memory）層を含むものであってもよい。
【００２２】
また、第１計算部１０１ａ及び第２計算部１０２ｂは、ニューラルネットワークの第ｋ＋１番目（ｋは０以上の整数）の層、すなわちレイヤＬｋ＋１へ入力される中間状態を、（３）式及び（４）式のように計算する。
【００２３】
【数３】
2020134567.tif 000005
【００２４】
【数４】
2020134567.tif 000006
【００２５】
σｋは、レイヤＬｋのアクティベーション関数である。また、ψは、線形計算を行うためのパラメータである。例えば、全結合層においては、ψは重み行列Ｗ及びバイアスベクトルｂを含み、Ｌ（ｘ，ψ）＝Ｗｘ＋ｂのような計算が行われる。また、ニューラルネットワークにおけるユニット間の結合数が多いほど、パラメータψのサイズは大きくなる。
【００２６】
ｑは、信号処理装置１０を構成するニューラルネットワークの線形変換層のうち、入力側から何番目の線形変換層にスケーリング部１０２ａを設けるかを特定するインデックスである。つまり、ｑ番目の線形変換層の後ろに、スケーリング部１０２ａを設ける。したがって、ｑは、あらかじめ設定された、１以上かつ総レイヤ数Ｋ未満の数であり、第１計算部１０１ａを構成する線形変換数の層の数がｑ個、残りのＫ−ｑ個の線形変換層が第２計算部１０２ｂに相当することになる。なお、総レイヤ数Ｋは、信号処理装置を構成するニューラルネットワーク内の線形変換層の総数である。図２の例では、ｑ＝１である。また、λ（ａｃｔ）は補助情報である。例えば、補助情報λ（ａｃｔ）は、目的話者に応じて定まる特徴ベクトルであって、レイヤＬｑのユニットの数と同じ数の要素を持つ特徴ベクトルとして表される。
【００２７】
まず、第１計算部１０１ａは、複数の音源の音が混合された混合音声信号を基に、ニューラルネットワークの所定の層の中間状態を計算する。図２の例では、ｑ＝１なので、第１計算部１０１ａは、ｘｋ＝ｘ０として（３）式によりレイヤＬ０における計算処理を行い、次に、ｘｋ＝ｘ１として（３）式を繰り返し、レイヤＬ１における計算処理を行って、中間状態ｘ１を計算する。一般的には、ｋ＝０，・・・，ｑについて、順次（３）式の線形変換を繰り返し、所定の層であるｑ番目の線形変換層から出力される中間状態Ｌｑ（ｘｑ，ψｑ）を得る。
【００２８】
次に、スケーリング部１０２ａは、目的話者の発話を基に生成される補助情報を用いて、第１計算部１０１ａから出力された中間状態Ｌｑ（ｘｑ，ψｑ）をスケーリングして中間状態ｘｑ＋１を生成する。図２の例では、ｑ＝１なので、スケーリング部１０２ａは、（４）式を用いてレイヤＬ１から出力される中間状態Ｌ１（ｘ１，ψ１）をスケーリングして、中間状態ｘ２を生成する。
【００２９】
ここで、（４）式に示すように、スケーリング部１０２ａは、中間状態Ｌｑ（ｘｑ，ψｑ）の各要素に補助情報λ（ａｃｔ）に含まれる要素の値を重みとして乗ずることで、スケーリングを行う。
【００３０】
また、第２計算部１０２ｂは、混合音声信号から目的話者の音声信号を抽出する情報の一例であるマスク特定情報を、スケーリング部１０２ａによってスケーリングされた中間状態ｘｑ＋１を基に計算する。つまり、第２計算部１０２ｂは、ｋ＝ｑ＋１，・・・，Ｋについて、（３）式を用いて、レイヤＬｋにおける計算処理を行い、最終的な結果ｘｋを求め、これをアクティベーション関数により変換して時間フレームｔにおけるマスク特定情報Ｍを得て出力する。
【００３１】
また、得られたマスク特定情報Ｍにより特定されるマスクを、混合音声信号Ｙに適用することにより、目的話者の音声信号の推定値が得られる。信号処理装置１０は、混合音声信号にマスクを適用し、目的話者の音声信号を推定する推定部を有していてもよい。
【００３２】
また、信号処理装置１０は、学習装置によって最適化が行われたパラメータを取得し、当該取得したパラメータを用いてニューラルネットワークを構築することができる。学習装置については、第２の実施形態として後述する。
【００３３】
［第１の実施形態の処理］
図３を用いて、信号処理装置１０の処理の流れを説明する。図３は、第１の実施形態に係る信号処理装置の処理の流れを示すフローチャートである。図３に示すように、まず、信号処理装置１０は、ニューラルネットワークを用いて、混合音声信号を中間状態に変換する（ステップＳ１０１）。
【００３４】
次に、信号処理装置１０は、目的話者に応じて定められる補助情報を取得する（ステップＳ１０２）。ここで、信号処理装置１０は、補助情報を基に中間状態をスケーリングする（ステップＳ１０３）。そして、信号処理装置１０は、ニューラルネットワークを用いて、スケーリングした中間状態を信号処理情報に変換する（ステップＳ１０４）。
【００３５】
［第１の実施形態の効果］
これまで説明したように、信号処理装置１０は、複数の音源の音が混合された混合音声信号を基に、第１のニューラルネットワークの所定の層の中間状態を計算する。また、信号処理装置１０は、目的話者の発話を基に生成される補助情報を用いて、中間状態をスケーリングする。また、信号処理装置１０は、混合音声信号から目的話者の音声信号を抽出する情報を、スケーリングされた中間状態を基に計算する。このように、信号処理装置１０は、ニューラルネットワークの所定の層をそのまま利用してスケーリングを行うことができる。このため、例えば、信号処理装置１０は、所定の層が分割されたニューラルネットワークを用いることなく話者適応を行うことができる。その結果、ユニットの増加にともなうパラメータの数の増加が抑えられるので、第１の実施形態によれば、学習済みモデルを記憶するためのメモリ容量を小さくすることができる。
【００３６】
また、第１の実施形態によれば、行列演算等の負荷の大きい計算処理を削減することができるため、メモリ容量だけでなく、プロセッサ時間やディスクＩＯといった他の計算機リソースの消費も低減することができる。
【００３７】
また、信号処理装置１０は、目的話者の発話を基に、第２のニューラルネットワークを用いて計算された補助情報を用いて中間状態をスケーリングする。このように、信号処理装置１０は、各中間状態のそれぞれをスケーリングすることができる。このため、隠れ層を複数のクラスタに分割することなく、ニューラルネットワークの話者適応を行うことができる。
【００３８】
また、スケーリング部１０２ａは、第１のニューラルネットワークの所定の層のユニットの数と同じ数の要素を持つベクトルとして表される補助情報と、所定の層の各ユニットの出力値を要素とするベクトルとの要素ごとの積を計算することでスケーリングする。このように、信号処理装置１０は、所定の層の各ユニットの出力値の数、すなわち中間状態の要素の数だけの乗算により話者適応を行う。このため、第１の実施形態によれば、最低限の計算量で話者適応を行うことができる。
【００３９】
ここで、比較のため、図８を用いて、従来のマスク推定装置について説明する。図８は、従来のマスク推定装置の構成を示す図である。図８に示すように、マスク推定装置３０は、第１変換部３０１、第２変換部３０２及び第３変換部３０３を有する。マスク推定装置３０は、混合音声信号の入力を受け付ける。また、マスク推定装置３０は、目的話者音声信号を基にクラスタ重み生成部４０１によって生成されたクラスタ重みの入力を受け付ける。
【００４０】
マスク推定装置３０は、所定の隠れ層が複数のクラスタに分割されたニューラルネットワークを用いて各計算処理を行う（例えば、非特許文献１のFigure  3を参照）。第１変換部３０１は、分割されていない層における中間状態の計算を行う。
【００４１】
複数の第２変換部３０２は、それぞれが対応するクラスタの中間状態の計算を行う。このときの計算量は、第１の実施形態と比較すると、概ね（３）式の計算をクラスタの数だけ行ったときの計算量に相当する。
【００４２】
さらに、第２変換部３０２は、各クラスタの中間状態に対し重み付けを行う。第３変換部３０３は、重み付けが行われた中間状態からマスク特定情報を計算する。
【００４３】
ここで、第１の実施形態の信号処理装置１０のスケーリングが行われる層（図２のレイヤＬ１）、及び従来のマスク推定装置３０における分割された層を、適応層と呼ぶ。適応層のユニット数をＮｕとする。また、従来のマスク推定装置３０におけるクラスタ数をＮｃとする。このとき、従来のマスク推定装置３０における適応層のパラメータ数がＮｃ×
（Ｎｕ）２であるのに対し、第１の実施形態の信号処理装置１０における適応層のパラメータ数は（Ｎｕ）２である。このように、第１の実施形態では、従来と比べ、大幅にパラメータが削減されることになる。
【００４４】
なお、従来のマスク推定装置３０と第１の実施形態の信号処理装置１０とでは、取得する補助情報のサイズ及び補助情報を用いた計算（重み付け、又はスケーリング）の計算量が異なる。しかしながら、その差は、パラメータ数の差に基づく計算量の差に比べると非常に小さい。
【００４５】
［第２の実施形態］
図４を用いて、第２の実施形態に係る学習装置の構成について説明する。図４は、第２の実施形態に係る学習装置の構成の一例を示す図である。学習装置は、ニューラルネットワークの学習を行い、パラメータを最適化する。
【００４６】
図４に示すように、学習装置２０は、第１変換部２０１、第２変換部２０２、目的信号推定部２０３及びパラメータ更新部２０４を有する。第１変換部２０１及び第２変換部２０２は、それぞれ第１の実施形態に係る信号処理装置１０の第１変換部１０１及び第２変換部１０２と同等の機能を有する。
【００４７】
学習装置２０には、学習用混合音声信号が入力される。学習用混合音声信号は、目的話者の音声信号が既知の混合音声信号である。また、学習装置２０には、補助情報及び正解音声信号が入力される。そして、学習装置２０は、学習済みのパラメータを出力する。正解音声信号は、学習用混合音声信号に含まれる既知の目的話者の音声信号である。
【００４８】
第１変換部２０１及び第２変換部２０２は、信号処理装置１０の第１変換部１０１及び第２変換部１０２と同様に、ニューラルネットワークを用いてマスク特定情報を出力する。
【００４９】
目的信号推定部２０３は、学習用音声信号学習用混合音声信号に、マスク特定情報から特定したマスクを適用し、目的話者の音声信号の推定結果を得る。
【００５０】
また、パラメータ更新部２０４は、推定された目的話者の音声信号の正解目的音声信号に対する誤差Ｊｓｐｋｂｅａｍを例えば（５）式により計算する。そして、パラメータ更新部２０４は、誤差に基づいてニューラルネットワークの各パラメータを更新する。例えば、パラメータ更新部２０４は、バックプロパゲーション等の既知の手法を用いてパラメータを更新することができる。
【００５１】
【数５】
2020134567.tif 000007
【００５２】
ここでは、マスク特定情報Ｍにより特定されるマスクを同じ記号Ｍで表記している。また、第２の実施形態では、Ｙを学習用混合音声信号を表す記号として用いている。第１の実施形態と同様に、Ｙは時間フレームｔにおける学習用混合音声信号の周波数表現に対応するベクトルである。また、Ｓ０は、正解目的音声信号である。より正確には、Ｓ０は、時間フレームｔにおける正解目的音声信号の周波数表現に対応するベクトルである。また、θｙは、学習用混合音声信号Ｙの位相である。また、θＳ０は、正解目的音声信号Ｓ０の位相である。なお、各位相は、ベクトルにより表される。
【００５３】
学習装置２０は、パラメータの更新が収束したことを示す所定の条件が満たされるまで、更新済みのパラメータを用いてマスク特定情報の出力、目的話者の音声信号の推定及びパラメータの更新を繰り返す。例えば、所定の条件とは、繰り返しの回数があらかじめ設定した回数に到達したこと、又は誤差が所定の閾値以下になったこと等である。
【００５４】
［第２の実施形態の処理］
図５を用いて、学習装置２０の処理の流れを説明する。図５は、第１の実施形態に係る学習装置の処理の流れを示すフローチャートである。図５に示すように、まず、学習装置２０は、ニューラルネットワークを用いて、学習用混合音声信号を中間状態に変換する（ステップＳ２０１）。
【００５５】
次に、学習装置２０、目的話者に応じて定められる補助情報を取得する（ステップＳ２０２）。ここで、学習装置２０は、補助情報を基に中間状態をスケーリングする（ステップＳ２０３）。そして、学習装置２０は、ニューラルネットワークを用いて、スケーリングした中間状態をマスク特定情報に変換する（ステップＳ２０４）。
【００５６】
さらに、学習装置２０は、マスク特定情報から特定されるマスクを学習用混合音声信号に適用し、目的話者の音声信号である目的音声信号を推定する（ステップＳ２０５）。そして、学習装置２０は、推定した目的音声信号と正解目的音声信号との誤差を計算し、誤差を基に周知のバックプロパゲーション等を用いて各変換部のパラメータを更新する（ステップＳ２０６）。ここで、各変換部のパラメータとは、ニューラルネットワークの重み行列やバイアスベクトル等である。
【００５７】
学習装置２０は、所定の条件が満たされたか否かにより、パラメータの更新が収束したか否かを判定する（ステップＳ２０７、Ｙｅｓ）。学習装置２０は、パラメータの更新が収束したと判定した場合、処理を終了する。一方、学習装置２０は、パラメータの更新が収束していないと判定した場合（ステップＳ２０７、Ｎｏ）、ステップＳ２０１に戻り、更新済みのパラメータを使って処理を繰り返す。
【００５８】
［実験結果］
ここで、第１の実施形態と従来の手法とを比較する実験を行ったので、図６を用いて実験の結果を説明する。図６は、実験結果を示す図である。実験では、Permutation  invariant  traininig(ＰＩＴ)、SpeakerBeam  FA、SpeakerBeam  SAという３つの手法の比較を行った。SpeakerBeam  SAは、第１の実施形態の手法である。いずれの手法においてもニューラルネットワークが用いられる。
【００５９】
ＰＩＴは、目的話者の音声信号を抽出する手法ではなく、話者分離のための手法である。このため、実験において、ＰＩＴには、分離された音源の信号から目的話者に最も近いものを選ぶ処理を組み合わせた。
【００６０】
また、SpeakerBeam  FAは、非特許文献１に記載された手法である。SpeakerBeam  FAの後の数値は、クラスタの数を表している。例えば、SpeakerBeam  FA  30では、適応層における隠れ層は３０個のクラスタに分割される。
【００６１】
実験において、混合音声信号の生成には、MERL2  mixture  dataというコーパスのデータセットを使用した。マスク特定情報を出力するニューラルネットワークは、５１２個のユニットを持つ３層のＢＬＳＴＭ層からなる。また、補助情報は、２００個のユニットを持つ２層の全結合層からなる別のニューラルネットワークによって生成される。
【００６２】
図６は、各手法のニューラルネットワークのサイズ及び目的話者の音声信号の抽出精度を示している。ｄｉｆｆ及びｓａｍｅは、混合された話者の性別が異なっていたか同一であったかを示している。
【００６３】
図６に示すように、SpeakerBeam  FA及びSpeakerBeam  SAの両方の手法で、ＰＩＴに対してΔＳＤＲ（signal  to  distortion  ratio）及びΔＳＴＯＩ（short  term  objective  intelligibility）が改善している。ここで、SpeakerBeam  FAのニューラルネットワークのサイズが１６０Ｍから２１２Ｍであるのに対し、SpeakerBeam  SAのニューラルネットワークのサイズはＰＩＴと同程度の１３４Ｍである。これより、第１の実施形態の手法であるSpeakerBeam  SAは、ニューラルネットワークのサイズを小さく抑えつつ、従来の手法と同程度の抽出精度を持つことがいえる。
【００６４】
［第１の実施形態の変形例１］
第１の実施形態では、第１変換部１０１及び第２変換部１０２による計算処理は、時間周波数ビンごとの信号に対して行われるのに対し、スケーリングのための補助情報は、各時間周波数ビンで共通していた。これに対し、第２変換部１０２は、時間周波数ビンごとに異なる補助情報を使ってスケーリングを行ってもよい。
【００６５】
また、補助情報は、以下のような注意機構付きのsequence  summarizing  networkを利用した方法で生成されてもよい。すなわち、図示しない補助情報生成部は、目的信号抽出のためのニューラルネットワークとは別の、補助情報生成のためのフィードフォワードニューラルネットワークｚを用いる。まず、（６）式に示すように、補助情報生成部は、フィードフォワードニューラルネットワークｚに目的話者の発話から得られる音声信号を入力し、各時間フレームｔの補助情報−λｔ（λの直上に−）及び信頼度−ａｔ（ａの直上に−）を出力させる。前述の通り、（６）式のＡは、時間フレームｔの目的話者信号である。
【００６６】
【数６】
2020134567.tif 000008
【００６７】
そして、（７）式に示すように、補助情報生成部は、信頼度をｓｏｆｔｍａｘ関数により正規化する。
【００６８】
【数７】
2020134567.tif 000009
【００６９】
さらに、補助情報生成部は、（８）式に示すように、時間フレームごとの補助情報及び正規化された信頼度を基に、最終的な補助情報λを計算する。
【００７０】
【数８】
2020134567.tif 000010
【００７１】
このように、雑音等を含まないクリーンな目的話者の音声が用意できない場合であっても、時間フレームごとの信頼度で重み付けを行うことで、雑音等の影響を受けにくい頑健な補助情報の生成及び目的話者の音声信号の抽出が可能となる。
【００７２】
［第１の実施形態の変形例２］
また、第１の実施形態では、第２変換部がマスク特定情報を出力するモデル（関数）として説明したが、第２変換部の出力が目的音声信号（マスクを適用した後の音声信号）となるように構成してもよい。この場合は、第２変換部を構成するニューラルネットワーク内に目的信号推定部２０３に相当する変換部が含まれるため、信号処理装置１０が目的信号推定部２０３を別途備える必要はない。また、この場合は、第２計算部１０２ｂの最終層の変換結果ＬＷＫ（ｘＫ，ψＫ）がマスク適用後の音声信号、つまり、時間フレームｔにおける入力混合音声信号に含まれる目的話者の音声信号の推定結果、つまり時間フレームｔの目的話者音声信号の推定結果の周波数表現に対応するベクトルとなる。
【００７３】
つまり、本発明の信号処理装置は、混合音声信号から、当該混合音声信号に含まれる目的話者の音声信号を抽出する情報を出力する。目的話者の音声信号を抽出する情報とは、マスク特定情報や、マスクそのもの、あるいは、目的話者の音声信号の推定値そのもの等、である。
【００７４】
［第２の実施形態の変形例］
第１の実施形態の変形例２のニューラルネットワークの学習には、第２実施形態の学習装置を次のように変更する。第２の実施形態の変形例１の学習装置は、図４から目的信号推定部２０３を削除した構成となる。そして、パラメータ更新部２０４は、第２変換部２０２の出力ベクトルと正解目的音声信号Ｓ０を直接比較した結果に基づき、パラメータを更新する。例えば、パラメータ更新部２０４は、第２変換部２０２の出力をσＫ（ＬＫ（ｘＫ，ψＫ））として、（３）式におけるＭとＹの要素ごとの積をσＫ（ＬＫ（ｘＫ，ψＫ））に置き換えて、（９）式に示す計算を実行すればよい。
【００７５】
【数９】
2020134567.tif 000011
【００７６】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７７】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７８】
［プログラム］
一実施形態として、信号処理装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記のマスクの計算を実行する信号処理プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の信号処理プログラムを情報処理装置に実行させることにより、情報処理装置を信号処理装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００７９】
また、信号処理装置１０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の信号処理に関するサービスを提供する信号処理サーバ装置として実装することもできる。例えば、信号処理サーバ装置は、混合音声信号を入力とし、目的音声の信号を抽出するためのマスクを出力とする信号処理サービスを提供するサーバ装置として実装される。この場合、信号処理サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の信号処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００８０】
図７は、プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００８１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００８２】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、信号処理装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、信号処理装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００８３】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８４】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８５】
１０  信号処理装置
２０  学習装置
１０１、２０１  第１変換部
１０１ａ  第１計算部
１０２、２０２  第２変換部
１０２ａ  スケーリング部
１０２ｂ  第２計算部
２０３  目的信号推定部
２０４  パラメータ更新部
【図１】
2020134567.tif 000012
【図２】
2020134567.tif 000013
【図３】
2020134567.tif 000014
【図４】
2020134567.tif 000015
【図５】
2020134567.tif 000016
【図６】
2020134567.tif 000017
【図７】
2020134567.tif 000018
【図８】
2020134567.tif 000019