(57)【要約】【課題】ニューラルネットワークが正しく処理されているかをより効率的に確認することができるようにする。【解決手段】信号生成装置は、変換部と、周波数取得部と、生成部と、を備える。変換部は、音響信号を変換し、複数の周波数における振幅および位相を出力する。周波数取得部は、振幅および位相を入力とするニューラルネットワークに含まれる中間層の複数のノードごとに、ノードの演算で用いられる複数の重みに基づいて周波数を取得する。生成部は、取得された複数の周波数と、複数のノードそれぞれに対応する振幅および位相とに基づいて、音響信号を生成する。【選択図】図１
2020034624.tif 000002
【特許請求の範囲】
【請求項１】
音響信号を変換し、複数の周波数における振幅および位相を出力する変換部と、
前記振幅および前記位相を入力とするニューラルネットワークに含まれる中間層の複数のノードごとに、前記ノードの演算で用いられる複数の重みに基づいて周波数を取得する周波数取得部と、
取得された複数の周波数と、複数の前記ノードそれぞれに対応する振幅および位相とに基づいて、音響信号を生成する生成部と、
を備える信号生成装置。
【請求項２】
前記ニューラルネットワークは、複素数を入出力する層を含む複素ニューラルネットワークである、
請求項１に記載の信号生成装置。
【請求項３】
前記周波数取得部は、複素数を入出力する中間層の複数のノードごとに、前記ノードの演算で用いられる複数の重みの絶対値に基づいて周波数を取得する、
請求項２に記載の信号生成装置。
【請求項４】
前記周波数取得部は、前記絶対値が最大となる重みに対応する前層のノードに対して定められる周波数を取得する、
請求項３に記載の信号生成装置。
【請求項５】
前記ニューラルネットワークは、音響信号の特徴量を入力して音素、音節、文字、単語片、および、単語の少なくともいずれか１つである処理単位ごとの事後確率を出力するように学習された音響モデルである、
請求項１に記載の信号生成装置。
【請求項６】
前記ニューラルネットワークは、音響信号の特徴量を入力して雑音が除去された特徴量を出力するように学習されたデノイジングオートエンコーダである、
請求項１に記載の信号生成装置。
【請求項７】
音響信号を変換し、複数の周波数における振幅および位相を出力する変換部と、
前記振幅および前記位相を入力とするニューラルネットワークに含まれる中間層の複数のノードごとに、前記ノードの演算で用いられる複数の重みに基づいて周波数を取得する周波数取得部と、
取得された複数の周波数と、複数の前記ノードそれぞれに対応する振幅および位相とに基づいて、音響信号を生成する生成部と、
を備える信号生成システム。
【請求項８】
音響信号を変換し、複数の周波数における振幅および位相を出力する変換ステップと、
前記振幅および前記位相を入力とするニューラルネットワークに含まれる中間層の複数のノードごとに、前記ノードの演算で用いられる複数の重みに基づいて周波数を取得する周波数取得ステップと、
取得された複数の周波数と、複数の前記ノードそれぞれに対応する振幅および位相とに基づいて、音響信号を生成する生成ステップと、
を含む信号生成方法。
【請求項９】
コンピュータを、
音響信号を変換し、複数の周波数における振幅および位相を出力する変換部と、
前記振幅および前記位相を入力とするニューラルネットワークに含まれる中間層の複数のノードごとに、前記ノードの演算で用いられる複数の重みに基づいて周波数を取得する周波数取得部と、
取得された複数の周波数と、複数の前記ノードそれぞれに対応する振幅および位相とに基づいて、音響信号を生成する生成部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、信号生成装置、信号生成システム、信号生成方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ニューラルネットワークを利用した信号処理および音響モデルが多く提案されている。例えば、クリーン信号に雑音を重畳した音声から抽出されたメルフィルタバンク特徴量を入力とし、クリーン信号から抽出されたメルフィルタバンク特徴量を出力とするようにニューラルネットワークを学習させることで、ノイズ除去を実現するデノイジングオートエンコーダが提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Xugang  Lu,  et  al.,  “Speech  Enhancement  Based  on  Deep  Denoising  Autoencoder”,  INTERSPEECH  pp.  436−440，  2013.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、ニューラルネットワークが正しく処理されているかを確認することが困難となる場合があった。
【課題を解決するための手段】
【０００５】
実施形態の信号生成装置は、変換部と、周波数取得部と、生成部と、を備える。変換部は、音響信号を変換し、複数の周波数における振幅および位相を出力する。周波数取得部は、振幅および位相を入力とするニューラルネットワークに含まれる中間層の複数のノードごとに、ノードの演算で用いられる複数の重みに基づいて周波数を取得する。生成部は、取得された複数の周波数と、複数のノードそれぞれに対応する振幅および位相とに基づいて、音響信号を生成する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態にかかる信号生成装置のブロック図。
【図２】複素ニューラルネットワークの構成例を示す図。
【図３】複素ニューラルネットワークの構成例を示す図。
【図４】第１の実施形態における信号生成処理のフローチャート。
【図５】複素層における時系列信号の生成処理の流れを示す図。
【図６】周波数取得部の詳細な機能構成の一例を示す図。
【図７】重みの絶対値の分布の一例を示す図。
【図８】第２の実施形態にかかる信号生成装置およびサーバ装置のブロック図。
【図９】信号生成装置（信号生成システム）の活用例を示す図。
【図１０】第１または第２の実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、この発明にかかる信号生成装置の好適な実施形態を詳細に説明する。
【０００８】
（第１の実施形態）
ニューラルネットワークを用いた信号処理の一例として、複数の話者の音声を含む信号から一部の話者の音声を強調し、強調した音声に基づいて音声認識を行う処理が挙げられる。このような処理を行うニューラルネットワークでは、例えば前半の音声強調処理が正しく実行されているかを確認することが困難となる場合がある。
【０００９】
第１の実施形態にかかる信号生成装置は、ニューラルネットワークの中間層の出力から、時系列信号を生成する。例えば時系列信号として音響信号を生成するためには、振幅および位相の他に、周波数の情報が必要となる。しかし通常のニューラルネットワークでは、振幅と位相を扱う層に周波数の情報が保持されていない。そこで、第１の実施形態の信号生成装置は、ニューラルネットワークの層の重みから周波数の情報を取得可能とする。そして取得した周波数、振幅および位相の情報を用いて時系列信号を生成する。時系列信号は、例えば音声などの音響信号である。以下では、時系列信号として音声信号を用いる例を主に説明する。
【００１０】
図１は、第１の実施形態にかかる信号生成装置１００の構成の一例を示すブロック図である。図１に示すように、信号生成装置１００は、音声取得部１０１と、変換部１０２と、ニューラルネットワーク処理部１０３と、周波数取得部１０４と、生成部１０５と、記憶部１２１と、を備えている。
【００１１】
音声取得部１０１は、処理対象とする音声データを取得する。例えば音声取得部１０１は、マイクロホンなどの集音装置により集音された音声信号を取得する。
【００１２】
変換部１０２は、音声信号（音響信号）を変換し、複数の周波数における振幅および位相を出力する。例えば変換部１０２は、音声信号を短時間フーリエ変換（Short-Time  Fourier  Transform：ＳＴＦＴ）により変換する。変換方法は短時間フーリエ変換に限られるものではない。例えば変換部１０２は、複素ウェーブレット変換を用いてもよい。
【００１３】
ニューラルネットワーク処理部１０３は、学習されたニューラルネットワークを用いた演算を実行する。ニューラルネットワークは、例えば、複素数を入出力する層を含む複素ニューラルネットワークである。
【００１４】
複素ニューラルネットワークは、入出力、並びに、重み、および、バイアスなどのパラメータが複素数値である層を持つニューラルネットワークである。入出力およびパラメータの要素には実数が含まれていてもよい。この場合、虚部が０の複素数として扱う。以下、入出力およびパラメータが複素数値である層を複素層といい、実数値である層を実数層という。複素ニューラルネットワークは、入力層、１層以上の中間層、および、出力層から構成される。
【００１５】
入力層には、変換部１０２が音声を変換することで得られた振幅および位相が入力される。例えば入力層には、音声の短時間フーリエ変換特徴量が入力される。短時間フーリエ変換特徴量Ｘ（ｊ，ｎ）の振幅Ａｊｎおよび位相θｊｎは以下のように定義される。ｊは周波数ビンの番号を、ｎはフレームの番号を表す。
振幅：Ａｊｎ＝｜Ｘ（ｊ、ｎ）｜
位相：θｊｎ＝ｔａｎ−１（Ｉ｛Ｘ（ｊ、ｎ）｝／Ｒ｛Ｘ（ｊ、ｎ）｝）
ただし、｜・｜は絶対値をとる演算、Ｒ｛・｝とＩ｛・｝はそれぞれ実部、虚部をとる演算、ｔａｎ−１はタンジェント関数の逆関数を表す。
【００１６】
中間層および出力層は、複素層および実数層のいずれでもよい。図２および図３は、複素ニューラルネットワークの構成例を示す図である。図２に示すように、入力層から出力層まですべて複素層であってもよい。図３に示すように、２つの中間層の間に例えば、入力の絶対値を出力する絶対値層などを設けて、入力層から絶対値層までを複素層とし、絶対値層から出力層までを実数層としてもよい。
【００１７】
中間層は、複素層であるか実数層であるかによって処理が異なる。例えば、複素層は、層の入力に重みをかけた後、位相情報は変えずに、その絶対値に対して非線形関数を適用する。実数層は、層の入力に重みをかけた後、非線形関数を適用する。
【００１８】
以下、中間層が３層の場合の各層の演算の例を２つ挙げる。
（例１）中間層が複素層３層、出力が複素層で構成される場合
中間層１（複素）：h1（n）＝tanh（｜C1X（n）｜）exp（i  arg（C１X（n）））
中間層２（複素）：h2（n）＝tanh（｜C2h1（n）｜）exp（i  arg（C2h1（n）））
中間層３（複素）：h3（n）＝tanh（｜C3h2（n）｜）exp（i  arg（C3h2（n）））
出力層（複素）：out（n）＝tanh（｜Coh3（n）｜）exp（i  arg（Coh3（n）））
（例２）中間層が複素層１層、絶対値層、実数層１層、出力が実数層で構成される場合
中間層１（複素）：h1（n）＝tanh（｜C1X（n）｜）exp（i  arg（C１X（n）））
絶対値層：h2（n）＝｜h１（n）｜
中間層３（実数）：h3（n）＝tanh（R3h2（n））
出力層（実数）：out（n）＝tanh（Roh3（n））
【００１９】
Ｘ（ｎ）は、ｎフレーム目の短時間フーリエ変換特徴量であり、以下の（１）式に示すようにＸ（ｊ，ｎ）を要素とするベクトルである。Ｊは周波数ビンの総数を表す。
Ｘ（ｎ）＝［Ｘ（１，ｎ），Ｘ（２，ｎ），・・・，Ｘ（Ｊ，ｎ）］  ・・・（１）
【００２０】
ｈ１（ｎ）、ｈ２（ｎ）、ｈ３（ｎ）、および、ｈｏ（ｎ）は、中間層１層目、２層目、３層目、および、出力層の出力を表すベクトルである。Ｃ１、Ｃ２、Ｃ３、および、Ｃｏは、それぞれ中間層１層目、２層目、３層目、および、出力層の重み（複素数）を表す行列（重み行列）である。Ｒ３、および、Ｒｏは、それぞれ３層目、および、出力層の重み（実数）を表す行列（重み行列）である。ｉは虚数単位を表す。|・|は絶対値をとる演算を表す。ｔａｎｈはハイパボリックタンジェント関数をベクトルの各要素に適用する演算を表す。ａｒｇはベクトルの各要素の位相を取得する演算を表す。
【００２１】
入力層から出力層までがすべて複素層であるモデル（例１）を用いるか、入力層と出力層の間に絶対値層を設けて出力層を実数層にしたモデル（例２）を用いるかは、用途によって決めればよい。例えば、クリーン信号（雑音のない音声信号）に雑音を重畳した音声から抽出された短時間フーリエ変換特徴量を入力とし、クリーン信号から抽出された短時間フーリエ変換特徴量を出力とするようなデノイジングオートエンコーダを複素ニューラルネットワークで実現する場合には、入力層から出力層までが複素層であるモデルが用いられる。
【００２２】
一方、音声の短時間フーリエ変換特徴量を入力として、音素、音節、文字、単語片、および、単語の少なくともいずれか１つである処理単位ごとの事後確率を出力するような音響モデルを複素ニューラルネットワークで実現する場合には、出力が実数で無ければならない。このため、入力層と出力層の間に絶対値層を設けて出力層を実数層にしたモデルが用いられる。
【００２３】
複素ニューラルネットワークの重みの学習は、実数層については以下の＜参考文献１＞、複素層については以下の＜参考文献２＞に示される手法により実現可能である。
＜参考文献１＞P．J．Werbos，“Backpropagation  Through  Time：What  it  Does  and  How  to  Do  It”，Proceedings  of  the  IEEE，vol．78，no．10，pp．1550-1560，Oct．1990．
＜参考文献２＞T．Nitta，“An  extension  of  the  back-propagation  algorithm  to  complex  numbers”，Neural  Netw．，vol．10，no．8，pp．1391-1415，Nov．1997.
【００２４】
図１に戻り、周波数取得部１０４は、時系列信号の生成対象となる中間層（対象層）の複数のノードごとに、複数の重みに基づいて周波数を取得する。周波数取得部１０４による処理の詳細は後述する。
【００２５】
生成部１０５は、周波数取得部１０４により取得された、複数のノードごとの周波数と、複数のノードそれぞれに対応する振幅および位相とに基づいて、音響信号（時系列信号）を生成する。生成部１０５は、例えば以下の（２）式のようにフレームごとに各ノードの信号を合成し、１フレームから最終フレーム目まで生成された信号を順に繋げることにより、時系列信号を生成する。ｘｎｏｕｔ（ｔ）、および、ｚｋ、ｎｏｕｔは、それぞれ入力層にＸ（ｎ）を入力したときの、生成された信号、および、ｋ番目のノードにおける出力を表す。|・|は絶対値をとる演算、ａｒｇはベクトルの各要素の位相を取得する演算を表す。｜ｚｋ、ｎｏｕｔ｜、および、ａｒｇ（ｚｋ、ｎｏｕｔ）は、それぞれ入力層にＸ（ｎ）を入力したときの、ｋ番目のノードにおける振幅、および、位相に相当する。ωｋはｋ番目のノードにおける周波数、Ｋはノードの総数を表す。
【数１】
2020034624.tif 000003
【００２６】
時系列信号の生成方法は、上記（２）式に限られるものではなく、周波数、振幅および位相に基づいて時系列信号を生成できればどのような方法であってもよい。例えば（２）式のコサイン（cos）をサイン（sin）に置き換えた式を適用してもよい。
【００２７】
記憶部１２１は、信号生成装置１００による各種処理で用いられる各種情報を記憶する。例えば記憶部１２１は、ニューラルネットワーク処理部１０３が演算に用いるニューラルネットワークの学習済みのパラメータ（重みなど）を記憶する。記憶部１２１は、フラッシュメモリ、メモリカード、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００２８】
上記各部（音声取得部１０１、変換部１０２、ニューラルネットワーク処理部１０３、および、周波数取得部）は、例えば、１または複数のプロセッサにより実現される。例えば上記各部は、ＣＰＵ（Central  Processing  Unit）などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のＩＣ（Integrated  Circuit）などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち１つを実現してもよいし、各部のうち２以上を実現してもよい。
【００２９】
次に、このように構成された第１の実施形態にかかる信号生成装置１００による信号生成処理について説明する。図４は、第１の実施形態における信号生成処理の一例を示すフローチャートである。
【００３０】
音声取得部１０１は、マイクロホンなどにより集音された処理対象とする音声データを取得する（ステップＳ１０１）。変換部１０２は、取得された音声を例えば短時間フーリエ変換により変換し、振幅および位相を出力する（ステップＳ１０２）。ニューラルネットワーク処理部１０３は、出力された振幅および位相を入力として、学習済みのニューラルネットワークによる演算を実行する（ステップＳ１０３）。周波数取得部１０４は、対象層の複数のノードごとに周波数を取得する（ステップＳ１０４）。生成部１０５は、取得された周波数、並びに、対象層の出力である振幅および位相から、時系列信号（音声信号）を生成して出力する（ステップＳ１０５）。
【００３１】
次に、複素ニューラルネットワークの複素層からの時系列信号の生成処理についてさらに詳細に説明する。
【００３２】
複素ニューラルネットワークの複素層からの時系列信号生成では、予め変換部１０２で変換した振幅および位相、並びに、学習された複素ニューラルネットワークが用いられる。例えば、以下のような複素ニューラルネットワークが学習されていることを前提とする。
・音声の短時間フーリエ変換特徴量を入力として、音素、音節、文字、単語片、および、単語の少なくともいずれか１つである処理単位ごとの事後確率を出力とするような音響モデル
・クリーンな音声に雑音を重畳した雑音重畳音声から取得された短時間フーリエ変換特徴量を入力として、クリーンな音声の短時間フーリエ変換特徴量を出力とするデノイジングオートエンコーダ
【００３３】
時系列信号を生成する対象層は、例えば複素層とする。図５は、複素層における時系列信号の生成処理の流れを示す図である。
【００３４】
ニューラルネットワーク処理部１０３は、複素層については、複素数値の入力に対して、複素数の重み行列を用いて演算を行う。例えば上記の（例１）または（例２）で説明したような演算が実行される。対象層からの時系列信号の生成は、ニューラルネットワーク処理部１０３から出力された各ノードの振幅および位相の値、並びに、周波数取得部１０４により各ノードで取得された周波数を、生成部１０５に入力することで実現される。
【００３５】
次に、周波数取得部１０４による周波数取得処理の詳細について説明する。図６は、周波数取得部１０４の詳細な機能構成の一例を示す図である。
【００３６】
図６に示すように、周波数取得部１０４は、絶対値取得部６０１と、ピーク周波数算出部６０２と、を備えている。絶対値取得部６０１は、複素数の重み行列の各要素の絶対値を算出することにより、重みの絶対値を取得する。ピーク周波数算出部６０２は、対象層の複数のノードごとに、対応する複数の重みのうち絶対値が最大となる重みに対応する前層のノードを求め、求めたノードに対して定められる周波数（ピーク周波数）を取得する。
【００３７】
複素ニューラルネットワークが学習されると、複素層の出力における各ノードに、複素層の入力における一部のノードからの情報が重点的に出力されるように、重みの絶対値が分布する。図７は、重みの絶対値の分布の一例を示す図である。
【００３８】
図７は、音声の短時間フーリエ変換を入力として学習した複素ニューラルネットワークにおける、入力層の次層の複素層における重みの絶対値の分布を示したものである。横軸は入力側のノードのインデックス、縦軸は出力側のノードのインデックスを表す。図７の例では、グレースケールにより絶対値の大きさが示されている。黒に近いほど重みの絶対値が大きいことを示す。図７から、出力側の各ノードには、いずれの入力側のノードからの情報が重点的に出力されるかがわかる。例えば、出力側の６０番目付近のノードでは、入力側の５０番目付近のノードからの情報が重点的に出力される。従って、入力側の各ノードの周波数がわかれば、出力側の各ノードにいずれの周波数の信号が出力されるかがわかる。
【００３９】
図６に示す絶対値取得部６０１は、重みの絶対値を取得する。次に、ピーク周波数算出部６０２は、各ノードの周波数の情報を取得する。ピーク周波数算出部６０２には、絶対値取得部６０１によって取得された重みの絶対値、および、当該複素層より前の層に対して取得された、入力側のノードの周波数の情報が入力される。前の層が入力層の場合は、例えば短時間フーリエ変換の周波数ビンにおける中心周波数が、周波数の情報として取得される。このように、各層の各ノードの周波数は、対応する前の層の周波数を順次辿ることにより取得できる。
【００４０】
ピーク周波数算出部６０２は、出力側（対象層）の各ノードに対して、重みの絶対値のピーク（最大値）を取得する。ピーク周波数算出部６０２は、重みの絶対値のピークに対応する、入力側のノードを特定する。特定した入力側のノードは、当該ノードに対して情報が重点的に出力されるノードを表す。ピーク周波数算出部６０２は、特定した入力側のノードにおける周波数を、出力側の当該ノードの周波数として取得する。
【００４１】
時系列信号を生成する中間層（対象層）は、いずれの層であってもよい。対象層は１つに限られず、２以上の対象層についてそれぞれ時系列信号を生成してもよい。デノイジングオートエンコーダに適用する場合、出力層に近い中間層を対象層とすれば、ノイズが低減されているか否かを効率的に確認できる。音響モデルに適用する場合、出力層に近い層では、特徴量が正規化され、話者の特徴が消えることが想定される。従って、話者の特徴を確認する場合は、入力層に近い中間層を対象層としてもよい。
【００４２】
複数話者のうち一人の音声を強調するモデルに適用する場合、入力層に近い中間層を対象層とすれば、より自然な音声を確認することができる。一方、出力層に近い中間層を対象層とすれば、複数の話者の音声が分離しているか否かをより容易に確認することができる。このように、用途に応じて対象層とする中間層を決定してもよい。
【００４３】
これまでは、複素ニューラルネットワークの複素層から時系列信号を生成する場合を主に説明した。時系列信号は実数層の出力に基づいて生成してもよい。この場合も、周波数の情報は、前の層の各ノードから順次取得することができる。また、位相の情報は、例えば対応する前段の複素層から取得すればよい。
【００４４】
時系列信号の生成に用いる各ノードの周波数は、重みの絶対値のピークに対応する１つの周波数でなくてもよい。例えばノードごとに、ピークから予め定められた範囲内の複数の絶対値を特定し、複数の絶対値に対応する、入力側の複数のノードの周波数を取得してもよい。生成部１０５は、例えば、複数の周波数の平均値を時系列信号の生成に用いる。ノードごとに、取得した複数の周波数と、各周波数に対応するノードの振幅および位相とにより定められる複数の信号を、時系列信号の合成に用いてもよい。
【００４５】
変換部１０２がウェーブレット変換である場合、変換部１０２の出力Ｙ（ｊ、ｎ）は以下の（３）式のようになる。
【数２】
2020034624.tif 000004
【００４６】
ｊ、ｎは自然数を表す。ｘ（ｔ）は入力する時系列信号を表す。ψ（ｔ）はアナライジングウェーブレット関数と呼ばれ、例えば以下の（４）式のようなガウシアンウェーブレット関数が選ばれる。
【数３】
2020034624.tif 000005
【００４７】
ただし、ｉは虚数単位であり、Ｆは正の定数である。ｓｊはアナライジングウェーブレット関数を拡大および縮小する倍率で、スケーリング係数と呼ばれており、例えば以下の（５）式が用いられる。
ｓｊ＝２ｊ／１２  ・・・（５）
【００４８】
τｎは時間シフトであり、例えばＴを０より大きい定数として、以下の（６）式が用いられる。
τｎ＝ｎＴ  ・・・（６）
【００４９】
このウェーブレット変換により、信号から特定の時間周波数における信号の成分を取得することが可能となる。例えば、（４）式のようなガウシアンウェーブレット関数を用いる場合、Ｙ（ｊ、ｎ）は、中心周波数Ｆ／（２πｓｊ）、時間τｎにおける成分に相当する。
【００５０】
ウェーブレット変換特徴量Ｙ（ｊ、ｎ）の振幅Ｂｊｎ、位相φｊｎは以下のように定義される。
振幅：Ｂｊｎ＝｜Ｙ（ｊ、ｎ）｜
位相：φｊｎ＝ｔａｎ−１（Ｉ｛Ｙ（ｊ、ｎ）｝／Ｒ｛Ｙ（ｊ、ｎ）｝）
ただし、｜・｜は絶対値をとる演算、Ｒ｛・｝とＩ｛・｝はそれぞれ実部、虚部をとる演算、ｔａｎ−１はタンジェント関数の逆関数を表す。
【００５１】
ニューラルネットワークの入力層には、以下の（７）式に示すように、Ｙ（ｊ、ｎ）を要素とするＹ（ｎ）が入力される。Ｊは自然数であり、ユーザーが自由に決めることができる。
Ｙ（ｎ）＝［Ｙ（１，ｎ），Ｙ（２，ｎ），・・・，Ｙ（Ｊ，ｎ）］  ・・・（７）
【００５２】
ニューラルネットワークの演算は、上記（例１）、（例２）のＸ（ｎ）をＹ（ｎ）に置き換えて、同様に行うことができる。
【００５３】
変換部１０２がウェーブレット変換である場合、生成部１０５は、例えば以下の（８）式のように時系列信号を生成する。
【数４】
2020034624.tif 000006
【００５４】
Ｋはノードの総数、Ｎはフレームの総数を表す。ｚｎ、ｋｏｕｔは、入力層にＹ（ｎ）を入力したときのｋ番目のノードにおける出力を表す。|・|は絶対値をとる演算、ａｒｇはベクトルの各要素の位相を取得する演算を表す。｜ｚｎ，ｋｏｕｔ｜、ａｒｇ（ｚｎ，ｋｏｕｔ）はそれぞれ、入力層にＹ（ｎ）を入力したときのｋ番目のノードにおける振幅、位相に相当する。Ωｋはｋ番目のノードにおけるスケールで、ωｋをｋ番目のノードにおける周波数として以下の（９）式により求められる。
Ωｋ＝Ｇ／ωｋ  ・・・（９）
【００５５】
Ｇは定数で、アナライジングウェーブレット関数ψ（ｔ）が例えばガウシアンウェーブレット関数の場合Ｇ＝Ｆ／（２π）となる。
【００５６】
このように、第１の実施形態にかかる信号生成装置では、ニューラルネットワークの中間層から周波数、振幅および位相の情報を取得し、取得した各情報を用いて時系列信号を生成する。ニューラルネットワークの入力が音声から抽出された特徴量等である場合、音声信号を時系列信号として生成できる。生成された音声信号をスピーカなどの出力装置により音として出力すれば、ニューラルネットワークの状態（正しく学習されているかなど）を直感的に理解することが可能になる。音声信号以外の音響信号（例えば超音波）を時系列信号として生成した場合は、音響信号をディスプレイなどの出力装置に出力することにより、ニューラルネットワークの状態を理解することができる。
【００５７】
（第２の実施形態）
第２の実施形態にかかる信号生成システムは、第１の実施形態の信号生成装置の一部の機能を外部の装置（サーバ装置）で実行する。すなわち第２の実施形態にかかる信号生成システムは、信号生成処理を複数の装置で分散して実現する。
【００５８】
図８は、第２の実施形態にかかる信号生成装置１００−２およびサーバ装置２００−２の構成の一例を示すブロック図である。図８に示すように、信号生成装置１００−２とサーバ装置２００−２とは、ネットワーク３００−２を介して接続される。ネットワーク３００−２は、例えばインターネットであるが、どのような形態のネットワークであってもよい。
【００５９】
信号生成装置１００−２は、音声取得部１０１と、変換部１０２と、周波数取得部１０４と、生成部１０５と、通信制御部１１１−２と、を備えている。サーバ装置２００−２は、通信制御部２１１−２と、ニューラルネットワーク処理部１０３と、記憶部１２１と、を備えている。
【００６０】
第２の実施形態では、ニューラルネットワーク処理部１０３および記憶部１２１がサーバ装置２００−２に備えられ、これら各部が信号生成装置１００−２から削除される。また、各装置にそれぞれ通信制御部（通信制御部１１１−２、２１１−２）が備えられる。第１の実施形態と同じ機能については同一符号を付し、ここでの説明は省略する。
【００６１】
通信制御部１１１−２は、サーバ装置２００−２などの外部装置との間の通信を制御する。例えば通信制御部１１１−２は、変換部１０２により出力された振幅および位相の情報をサーバ装置２００−２に送信する。また通信制御部１１１−２は、ニューラルネットワークに関する情報（重み行列など）、および、ニューラルネットワーク処理部１０３による処理結果などの情報を、サーバ装置２００−２から受信する。
【００６２】
通信制御部２１１−２は、信号生成装置１００−２などの外部装置との間の通信を制御する。例えば通信制御部２１１−２は、信号生成装置１００−２から送信された振幅および位相の情報を受信する。また通信制御部２１１−２は、ニューラルネットワークに関する情報、および、ニューラルネットワーク処理部１０３による処理結果などの情報を、信号生成装置１００−２に送信する。
【００６３】
なお、機能の分散方法は図８の例に限られるものではなく、どのような分散方法であってもよい。例えば、サーバ装置２００−２が周波数取得部１０４および生成部１０５の機能も備えてもよい。この場合はサーバ装置２００−２が信号生成装置に相当する。また、この場合、音声取得部１０１および変換部１０２を備える情報処理装置（パーソナルコンピュータ、携帯端末など）が、サーバ装置２００−２により生成された時系列信号を受信して出力してもよい。
【００６４】
サーバ装置２００−２は、物理的に１つのハードウェアにより構成されてもよいし、１以上のハードウェアにより構成されてもよい。サーバ装置２００−２は、クラウド環境上に構築されてもよい。
【００６５】
第２の実施形態における信号生成処理の全体の流れは、第１の実施形態の信号生成処理を示す図４と同様であるため説明を省略する。
【００６６】
このように、第２の実施形態では、複数の装置を備えるシステムにより、第１の実施形態と同様の機能を実現できる。
【００６７】
次に、各実施形態の活用例について説明する。図９は、信号生成装置（信号生成システム）の活用例を示す図である。
【００６８】
図９は、マイクロホンアレーを用いて音声を取得し、対象とする話者（対象者）の音声を強調し、対象者の音声を認識する音声認識システムに実施形態を適用した例を示す。図９に示すように、音声認識システムは、２つのマイクロホン９０１ａ、９０１ｂ、変換部１０２ａ、１０２ｂ、および、ニューラルネットワーク９１０を含む。
【００６９】
マイクロホン９０１ａ、９０１ｂは、マイクロホンアレーに含まれるマイクロホンである。
【００７０】
変換部１０２ａ、１０２ｂは、上記の変換部１０２と同様の機能により、それぞれマイクロホン９０１ａ、９０１ｂから取得された音声を変換する。１つの変換部１０２がマイクロホン９０１ａ、９０１ｂから取得された音声を変換するように構成してもよい。マイクロホン９０１ａ、９０１ｂで収録された音声波形は、変換部１０２ａ、１０２ｂによって、振幅と位相の情報に変換される。
【００７１】
ニューラルネットワーク処理部１０３は、変換された振幅と位相の情報をニューラルネットワーク９１０に入力して演算を実行する。ニューラルネットワーク９１０は、入力層から、時系列信号９２０を取得する中間層までを含む前半部、および、この中間層より後の後半部の２つの部分に分けられる。前半部は、対象者の音声を強調して出力するように学習するビームフォーマの役割を果たすニューラルネットワークに相当する。後半部は、前半部から出力される情報を受け取り、音素、音節、文字、単語片、および、単語の少なくともいずれか１つである処理単位ごとの事後確率を出力するように学習する音響モデルの役割を果たすニューラルネットワークに相当する。
【００７２】
従来、このように統合されたニューラルネットワーク全体を学習するジョイントトレーニングという手法がある。しかしジョイントトレーニングでは、例えば対象者の音声が強調されているか否かを確認できなかった。
【００７３】
上記各実施形態によれば、このようなニューラルネットワークを用いる場合であっても、中間層から出力される情報等を用いて時系列信号を生成することができる。生成された時系列信号の波形を音にすれば、対象者の音声が強調されているかを、聴覚的に確かめることが可能になる。
【００７４】
以上説明したとおり、第１から第２の実施形態によれば、ニューラルネットワークが正しく処理されているかをより効率的に確認することが可能となる。
【００７５】
次に、第１または第２の実施形態にかかる各装置（信号生成装置、サーバ装置）のハードウェア構成について図１０を用いて説明する。図１０は、第１または第２の実施形態にかかる装置のハードウェア構成例を示す説明図である。
【００７６】
第１または第２の実施形態にかかる装置は、ＣＰＵ５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００７７】
第１または第２の実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００７８】
第１または第２の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００７９】
さらに、第１または第２の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１または第２の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００８０】
第１または第２の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００８１】
（変形例）
第１または第２の実施形態にかかる装置を用いて、特定話者の認識に用いることもできる。例えば、記者会見、講演会、および、学会発表など、一人で話す時間が長い場面において取得された音声から、雑音を抑制して、話者の声を強調するような場合を想定する。この場合、第１または第２の実施形態にかかる信号生成装置、信号生成システム、信号生成方法およびプログラムを用いて、取得した音声の雑音の抑制具合を具体的に音声として再生することができる。利用者は、再生した音声を実際にきくことで、十分雑音が抑制されているかなどを確認できる。さらに、音声取得のために設定されたマイクが可動な場合、雑音が強調されない、反響などが少ない、など、マイク自体の場所、集音方向など、試した結果を利用者が音で確認することができる。これらは演奏会の楽器などの音響でもよい。
【００８２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８３】
１００  信号生成装置
１０１  音声取得部
１０２  変換部
１０３  ニューラルネットワーク処理部
１０４  周波数取得部
１０５  生成部
１１１−２、２１１−２  通信制御部
１２１  記憶部
２００−２  サーバ装置
３００−２  ネットワーク
６０１  絶対値取得部
６０２  ピーク周波数算出部
９０１ａ、９０１ｂ  マイクロホン
【図１】
2020034624.tif 000007
【図２】
2020034624.tif 000008
【図３】
2020034624.tif 000009
【図４】
2020034624.tif 000010
【図５】
2020034624.tif 000011
【図６】
2020034624.tif 000012
【図７】
2020034624.tif 000013
【図８】
2020034624.tif 000014
【図９】
2020034624.tif 000015
【図１０】
2020034624.tif 000016