(57)【要約】【課題】演算量を削減しながらニューラルネットワークの適切な学習および推論を実現する。【解決手段】情報処理装置は、時間軸上の複数の単位ステップの各々において、第１データから当該第１データの代替表現を表す中間データを第１ニューラルネットワークにより生成する第１処理と、複数の周波数にそれぞれ対応する複数の成分値を含む第２データを中間データから生成する第２処理とを実行し、第２処理は、複数の成分値をそれぞれ生成する複数の単位処理を含み、複数の単位処理の各々は、中間データが入力される第２ニューラルネットワークによる推定を含み、複数の単位処理のうち第１周波数に対応する第１成分値を生成する第１単位処理においては、第１単位処理とは相違する第２単位処理により第１周波数以外の第２周波数について生成された第２成分値または当該第２単位処理の過程で生成される中間値が、中間データとともに前記第２ニューラルネットワークに入力される。【選択図】図３
2020194558.tif 000002
【特許請求の範囲】
【請求項１】
時間軸上の複数の単位ステップの各々において、
第１データから当該第１データの代替表現を表す中間データを第１ニューラルネットワークにより生成する第１処理と、
複数の周波数にそれぞれ対応する複数の成分値を含む第２データを前記中間データから生成する第２処理と
を実行し、
前記第２処理は、前記複数の成分値をそれぞれ生成する複数の単位処理を含み、
前記複数の単位処理の各々は、前記中間データが入力される第２ニューラルネットワークによる推定を含み、
前記複数の単位処理のうち第１周波数に対応する第１成分値を生成する第１単位処理においては、前記第１単位処理とは相違する第２単位処理により前記第１周波数以外の第２周波数について生成された第２成分値または当該第２単位処理の過程で生成される中間値が、前記中間データとともに前記第２ニューラルネットワークに入力される、
コンピュータにより実現される情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークを利用したデータの処理に関する。
【背景技術】
【０００２】
ニューラルネットワークを用いて系列データを生成もしくは変換することが可能である。例えば非特許文献１にはWaveNetが開示されている。WaveNetでは過去のオーディオサンプル系列の入力値もしくは出力値と、目標とする出力オーディオサンプル系列の性質に関係する補助データとのうちの少なくともひとつを入力として、単位時間ごとに新たなオーディオサンプルの値に対する確率分布を得て、この確率分布から１個の値をサンプリングすることで新たなオーディオサンプルの値を得ることができる。以上の処理を単位時間毎に繰り返すことで出力オーディオサンプル系列を得ることができる。WaveNetでは、大規模なニューラルネットワークの計算をオーディオサンプル毎に行わなければならない。通常オーディオサンプルは１秒間あたり数十万サンプル必要なため、計算量が膨大になるという問題がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Van Den Oord, Aaron, et al. "Wavenet: A generative model for raw audio." CoRR abs/1609.03499 (2016)
【非特許文献２】Blaauw, Merlijn, and Jordi Bonada. "A neural parametric singing synthesizer." arXiv preprint arXiv:1704.03809 (2017)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
WaveNetはオーディオサンプル系列の変換もしくは生成に特化した技術である。これをある種のベクトル系列データの生成に直接応用して音声合成器として機能させる形態に、非特許文献２に開示されたNeural Parametric Singing Synthesizer （NPSS）がある。NPSSでは音声の性質を表現する数十次元のメルケプストラム係数からなるベクトルの各次元の確率分布が、WaveNetと類似の形態のニューラルネットワークによって、全次元分一斉に出力される。ただし、ここで出力される確率分布は、各次元毎の独立性に基づく確率分布であって、全次元の同時確率分布や次元間の依存関係に基づく条件付き確率分布ではない。したがって、この方法が直接応用できるのは、音声におけるメルケプストラム係数のように、次元間の関係性をさほど厳密に扱わなくても十分な品質の出力が得られる場合に限定される。その限定を回避するために、仮に同様の形態のニューラルネットワークによって全次元の同時確率分布や次元間の依存関係に基づく条件付き確率分布を出力することを考えると、ニューラルネットワークが出力すべき確率分布やそのパラメタの数が膨大となり、学習や生成にかかる計算リソースが膨大となるうえ、出力の次元数に対する学習データの不足から学習が適切に行われない可能性がある。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために、本発明の好適な態様に係る情報処理方法は、時間軸上の複数の単位ステップの各々において、第１データから当該第１データの代替表現を表す中間データを第１ニューラルネットワークにより生成する第１処理と、複数の周波数にそれぞれ対応する複数の成分値を含む第２データを前記中間データから生成する第２処理とを実行し、前記第２処理は、前記複数の成分値をそれぞれ生成する複数の単位処理を含み、前記複数の単位処理の各々は、前記中間データが入力される第２ニューラルネットワークによる推定を含み、前記複数の単位処理のうち第１周波数に対応する第１成分値を生成する第１単位処理においては、前記第１単位処理とは相違する第２単位処理により前記第１周波数以外の第２周波数について生成された第２成分値または当該第２単位処理の過程で生成される中間値が、前記中間データとともに前記第２ニューラルネットワークに入力される。
【図面の簡単な説明】
【０００６】
【図１】本発明の好適な形態に係る情報処理装置の構成を例示するブロック図である。
【図２】情報処理装置の機能的な構成を例示するブロック図である。
【図３】情報処理部の具体的な構成を例示するブロック図である。
【図４】情報処理装置の動作の具体的な手順を例示するフローチャートである。
【図５】学習の具体的な手順を例示するフローチャートである。
【発明を実施するための形態】
【０００７】
１．発明の要旨
１．１  発明の好適な態様
本発明の好適な態様は、
単位時間毎に１個以上のベクトルを入力し１個以上のベクトルを出力する主ニューラルネットワークと、
前記単位時間毎に、主ニューラルネットワークの出力を入力の一部もしくは全部として、一般の系列データの当該時刻における、周波数成分ベクトルの一つ以上の要素値もしくはその要素値の確率分布もしくはその確率分布を表現するパラメタ群を出力する一つ以上の副ニューラルネットワークとを備え、
それら副ニューラルネットワーク群のうちの少なくとも一つが、当該時刻における副ニューラルネットワーク群のうち少なくとも一つの計算によって得られた値に依存して当該時刻の値を出力するように構成されたニューラルネットワーク
である。
【０００８】
１．２  特に効果的な態様
（１）周波数成分ベクトルとして、離散コサイン変換（DCT; Discrete Cosine Transform）の係数によって成るベクトルを利用する形態。
（２）周波数成分ベクトルとして、離散サイン変換（DST; Discrete Sine Transform）の係数によって成るベクトルを利用する形態。
（３）周波数成分ベクトルとして、修正離散コサイン変換（MDCT; Modified Discrete Cosine Transform）の係数によって成るベクトルを利用する形態。
（４）周波数成分ベクトルとして、レート変換フィルタバンクの一時刻における出力に相当するベクトルを利用する形態。
（５）高い周波数に対応する係数が、低い周波数に対応する係数の計算によって得られた値に依存して出力される形態。
（６）主ニューラルネットワークが大規模であり、各副ニューラルネットワークが小規模あるいは学習可能な係数をもたない関数である形態。
（７）各副ニューラルネットワークの規模が、それぞれに対応する周波数成分に対して要求される精度に基づいて異なるものとする形態。
（８）特に、高い周波数成分に対応する副ニューラルネットワークほど規模を小さくする形態。
（９）係数の確率分布を出力する形態。
（10）特に、その確率分布の表現方法を、各周波数成分の統計的性質に基づいて異なるものとする形態。
（11）特に、その確率分布から係数値を得る方法を、各周波数成分の性質に基づいて異なるものとする形態。
【０００９】
２．発明の好適な形態
２．１  ハードウェア構成
図１は、本発明の好適な形態に係る情報処理装置１００の構成を例示するブロック図である。図１に例示される通り、本実施形態の情報処理装置１００は、制御装置１１と記憶装置１２と放音装置１３とを具備するコンピュータシステムである。例えば携帯電話機、スマートフォンまたはパーソナルコンピュータ等の情報端末が、情報処理装置１００として好適に利用される。
【００１０】
制御装置１１は、例えばCPU（Central Processing Unit）等の処理回路であり、情報処理装置１００の各要素を統括的に制御する。記憶装置１２は、例えば磁気記録媒体または半導体記録媒体等の公知の記録媒体で構成されたメモリであり、制御装置１１が実行するプログラムと制御装置１１が使用する各種のデータとを記憶する。例えば、後述するニューラルネットワークを規定する複数の係数Ｋが記憶装置１２に記憶される。なお、複数種の記録媒体の組合せにより記憶装置１２を構成してもよい。また、情報処理装置１００に対して着脱可能な可搬型の記録媒体、または情報処理装置１００が通信網を介して通信可能な外部記録媒体（例えばオンラインストレージ）を、記憶装置１２として利用してもよい。放音装置１３は、制御装置１１が音響信号Ａに応じた音波を再生する。例えばスピーカまたはヘッドホンが放音装置１３の典型例である。
【００１１】
図２は、記憶装置１２に記憶されたプログラムを制御装置１１が実行することで実現される機能を例示するブロック図である。図２に例示される通り、本実施形態の制御装置１１は、前処理部２１と情報処理部２２と波形生成部２３とを実現する。なお、相互に別体で構成された複数の装置により制御装置１１の機能を実現してもよい。制御装置１１の機能の一部または全部を専用の電子回路で実現してもよい。
【００１２】
前処理部２１は、時間軸上の複数の単位ステップの各々について、音声の特徴を表す入力データＤinの時系列を生成する。入力データＤinは、例えば振幅スペクトル等の特徴量ベクトルである。ただし、メルケプストラムの低次係数と基本周波数との組合せ、またはメルスペクトログラム等の特徴量ベクトルを、入力データＤinとして生成してもよい。前処理部２１は、音声合成を含む公知の変換技術を利用して、例えば発話内容を表すテキスト情報から入力データＤinを生成する。単位ステップは、情報処理装置１００による処理の時間的な単位となる期間である。
【００１３】
情報処理部２２は、時間軸上の複数の単位ステップの各々において、入力データＤinを含む第１データｘから第２データｙを生成する。第２データｙは、Ｎ個の周波数にそれぞれ対応するＮ個の成分値ｙ１〜ｙＮを含むＮ次元の周波数成分ベクトルである（Ｎは２以上の自然数）。Ｎ個の成分値ｙ１〜ｙＮは、例えば余弦関数を基底として利用した修正離散コサイン変換（MDCT; Modified Discrete Cosine Transform）の係数である。したがって、各成分値ｙｎ（ｎ＝１〜Ｎ）は実数である。番号ｎが小さい成分値ｙｎほど低い周波数に対応する。すなわち、成分値ｙ１はＮ個の周波数成分のうち最低の周波数成分に対応し、成分値ｙＮはＮ個の周波数成分のうち最高の周波数成分に対応する。
【００１４】
図２に例示される通り、任意の１個の単位ステップにおける第１データｘは、当該単位ステップの入力データＤinと、直前の単位ステップについて生成された第２データｙとを含むベクトルである。すなわち、情報処理部２２が生成した第２データｙは、第１データｘの一部として情報処理部２２の入力側に帰還される。
【００１５】
波形生成部２３は、情報処理部２２が生成する第２データｙの時系列から時間領域の音響信号Ａを生成する。例えば、波形生成部２３は、第２データｙの時系列に対する逆修正離散コサイン変換（IMDCT; Inverse MDCT）により音響信号Ａを生成する。波形生成部２３が生成した音響信号Ａが放音装置１３に供給されて音波として再生される。
【００１６】
２．２  ネットワーク構成
図３は、記憶装置１２に記憶されたプログラムを制御装置１１が実行することで実現される情報処理部２２の具体的な構成を例示するブロック図である。図３に例示される通り、本実施形態の情報処理部２２は、第１処理部３１と第２処理部３２とを含んで構成される。第１処理部３１は、時間軸上の複数の単位ステップの各々において第１処理を実行する。第１処理は、第１データｘの代替表現を表す中間データｑを生成する処理である。第１処理には、第１データｘと中間データｑとの関係を学習した１個の主ニューラルネットワークＭ（主ＮＮ）が利用される。中間データｑは、第１データｘの特徴量（特に第１データｘと第２データｙとの関係に寄与する特徴量）を表す特徴量ベクトルである。主ニューラルネットワークＭは、第１ニューラルネットワークの例示である。
【００１７】
第２処理部３２は、時間軸上の複数の単位ステップの各々において第２処理を実行する。第２処理は、第１処理部３１が生成した中間データｑから第２データｙを生成する処理である。図３に例示される通り、第２処理部３２は、第２データｙの相異なる成分値ｙｎに対応するＮ個の単位処理部Ｕ１〜ＵＮを含んで構成される。第１処理部３１が生成した中間データｑがＮ個の単位処理部Ｕ１〜ＵＮに対して共通に入力される。各単位処理部Ｕｎは、第２データｙの成分値ｙｎを生成する処理（以下「単位処理」という）を実行する。すなわち、第２処理は、第２データｙのＮ個の成分値ｙ１〜ｙＮをそれぞれ生成するＮ回の単位処理を含む。
【００１８】
各単位処理部Ｕｎ（Ｕ１〜ＵＮ）は、副ニューラルネットワークＱｎ（副ＮＮ）とサンプリング部Ｄｎとを含んで構成される。単位処理部Ｕｎの副ニューラルネットワークＱｎは、成分値ｙｎの確率分布ｐｎを生成する。確率分布ｐｎの種類は任意である。例えば離散確率分布、混合ガウス分布（GMM; Gaussian Mixture Model）、またはMoL（Mixture of Logistic distributions）が確率分布ｐｎとして好適である。副ニューラルネットワークＱｎは、第２ニューラルネットワークの例示である。
【００１９】
単位処理部Ｕｎのサンプリング部Ｄｎは、前段の副ニューラルネットワークＱｎが生成した確率分布ｐｎから成分値ｙｎをサンプリングする。例えばサンプリング部Ｄｎは、確率分布ｐｎに従う疑似乱数を成分値ｙｎとして生成する。以上の説明から理解される通り、単位処理部Ｕｎによる単位処理は、副ニューラルネットワークＱｎによる確率分布ｐｎの生成と、サンプリング部Ｄｎによる成分値ｙｎのサンプリングとを含む処理である。なお、副ニューラルネットワークＱｎが成分値ｙｎを直接的に出力してもよい。副ニューラルネットワークＱｎが成分値ｙｎを出力する構成ではサンプリング部Ｄｎが省略される。
【００２０】
第１番目の単位処理部Ｕ１の副ニューラルネットワークＱ１には中間データｑが入力される。副ニューラルネットワークＱ１は、中間データｑと確率分布ｐｎとの関係を学習したニューラルネットワークである。他方、第２番目以降の各単位処理部Ｕｎの副ニューラルネットワークＱｎには、第１番目から第(ｎ−１)番目までの単位処理部Ｕ１〜Ｕｎ−１により生成された(ｎ−１)個の成分値ｙ１〜ｙｎ−１が中間データｑとともに入力される。例えば、第２番目の副ニューラルネットワークＱ２には、第１番目の単位処理部Ｕ１が生成した成分値ｙ１が、中間データｑとともに入力される。第３番目の副ニューラルネットワークＱ３には、第１番目の単位処理部Ｕ１が生成した成分値ｙ１と第２番目の単位処理部Ｕ２が生成した成分値ｙ２とが、中間データｑとともに入力される。また、第Ｎ番目の副ニューラルネットワークＱＮには、第１番目から第(Ｎ−１)番目までの各単位処理部Ｕｎが生成した(Ｎ−１)個の成分値ｙ１〜ｙＮ−１が、中間データｑとともに入力される。以上の説明から理解される通り、副ニューラルネットワークＱｎは、第１番目から第(ｎ−１)番目までの成分値ｙ１〜ｙｎ−１および中間データｑと、確率分布ｐｎとの関係を学習したニューラルネットワークである。
【００２１】
第１番目の副ニューラルネットワークＱ１が生成する確率分布ｐ１は、中間データｑが観測されたという条件のもとで成分値ｙ１が発生する条件付き確率分布ｐ(ｙ１|ｑ)である。なお、確率分布ｐ(ａ|ｂ)は、ｂによって条件付けられたａの条件付き確率分布を意味する。他方、第２番目以降の副ニューラルネットワークＱｎが生成する確率分布ｐｎは、中間データｑと(ｎ−１)個の成分値ｙ１〜ｙｎ−１とが観測されたという条件のもとで成分値ｙｎが発生する条件付き確率分布ｐ(ｙｎ|ｑ，ｙ１，…ｙｎ−１)である。以上の説明から理解される通り、第２番目以降の単位処理部Ｕｎが生成する成分値ｙｎは、中間データｑだけでなく、第１番目から第(ｎ−１)番目までの(ｎ−１)個の成分値ｙ１〜ｙｎ−１にも依存する。
【００２２】
なお、図３は、１≦ｎ≦Ｎなるあらゆるｎに対してｙｎが１≦ｍ≦ｎ−１に対するすべてのｙｍに依存するように構成したが、ｙｎは１≦ｍ≦ｎ−１なるｍの何れか一つ以上に対するｙｍに依存していればよい。その依存関係は目標とする第２データｙの次元間の関係性に関する性質に基づいて任意に決定される。すなわち、各副ニューラルネットワークＱｎに入力される成分値ｙｍの個数および番号ｍは任意である。例えば、第ｎ番目のニューラルネットワークＱｎに、直前の第(ｎ−１)番目の単位処理部Ｕｎ−１が生成した１個の成分値ｙｎ−１を中間データｑとともに入力してもよい。また、第ｎ番目のニューラルネットワークＱｎに、直前の２個の成分値ｙｎ−１およびｙｎ−２を中間データｑとともに入力してもよい。あるいは各副ニューラルネットワークＱｎの、複数の依存先から得られる各入力（ｙｎ−１，ｉ≧１）に対して、０（非依存を意味する数値）もしくは１（依存を意味する数値）のマスクを乗算することで、この依存関係の有無を実現することも可能である。
【００２３】
以上の説明から理解される通り、Ｎ個の周波数のうち第１周波数の成分値ｙｎ１を生成する第１単位処理と、第１周波数以外の第２周波数の成分値ｙｎ２を生成する第２単位処理とに便宜的に着目すると、第１単位処理に利用される副ニューラルネットワークＱｎ１には、第２単位処理で生成された成分値ｙｎ２が中間データｑとともに入力される。第２周波数は、例えば第１周波数を下回る周波数である。すなわち、第２成分値ｙｎ２は、第１成分値ｙｎ１よりも低い周波数に対応する。
【００２４】
主ニューラルネットワークＭの構造は任意であり、例えば全結合層を積層した単純なフィードフォワードニューラルネットワークでも良いし、畳み込みニューラルネットワーク（CNN; Convolutional Neural Network）でも良い。また、再帰型ニューラルネットワーク（RNN; Recurrent Neural Network）または長・短期記憶（LSTM; Long Shrot-Term Memory）のように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いても良い。なお、推論の正確性と学習および推論に要する計算効率が良いのはCNNやRNNおよびLSTMの種のニューラルネットワークである。
【００２５】
副ニューラルネットワークＱｎの構造もまた任意である。図３に示したようにＮ個の副ニューラルネットワークＱ１〜ＱＮを依存関係をもって用いる場合には、それぞれの副ニューラルネットワークＱｎは全結合層を積層した単純なフィードフォワードニューラルネットワークやCNNを用いることができる。
【００２６】
なお、副ニューラルネットワークＱｎとしてRNNやLSTMのように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いる場合には、１個の副ニューラルネットワークＱを備えれば十分である。すなわち、成分値ｙｎの個数に相当するＮ個の副ニューラルネットワークＱ１〜ＱＮは必要ではない。例えば、第２処理部３２に設置された１個の副ニューラルネットワークＱが、成分値ｙｎを生成する単位処理をＮ回にわたり反復してもよい。具体的には、１個の副ニューラルネットワークＱが第２データｙの成分値ｙｎを単位処理毎に１個ずつ順次出力するように構成される。各単位処理で得られた成分値ｙｎを次回以降の単位処理において副ニューラルネットワークＱに入力することで成分値ｙｎが生成される。第ｎ番目の各単位処理では、例えば第１番目から第(ｎ−１)番目までの単位処理で計算された(ｎ−１)個の成分値ｙ１〜ｙｎ−１に依存する成分値ｙｎが生成される。
【００２７】
Ｎ個の副ニューラルネットワークＱ１〜ＱＮが並列に設置された図３の構成、および、１個の副ニューラルネットワークＱが単位処理をＮ回にわたり反復する構成の何れにおいても、第２処理部３２が実行する第２処理は、Ｎ個の成分値ｙ１〜ｙＮをそれぞれ生成するＮ回の単位処理を含む。前掲の例示の通り、Ｎ回の単位処理のうち成分値ｙｎ１を生成する第１単位処理と成分値ｙｎ２を生成する第２単位処理とに便宜的に着目すると、第１単位処理においては、第２単位処理により生成された第２成分値ｙｎ２が、中間データｑとともに副ニューラルネットワークＱに入力される、と包括的に表現される。例えば、第２番目以降の第ｎ番目の単位処理では、第１番目から第(ｎ−１)番目の単位処理により生成された(ｎ−１)個の成分値が、中間データｑとともに副ニューラルネットワークＱに入力される。
【００２８】
２．３  推論
推論において、主ニューラルネットワークＭは、単位ステップ毎に中間データｑを出力する。各副ニューラルネットワークＱｎは、第２データｙのＮ個の成分値ｙ１〜ｙＮのうち一つ以上の成分値ｙｎ毎に、その値もしくはその値の確率分布もしくはその確率分布を表現するパラメタ群を出力する。ここで、Ｎ個の副ニューラルネットワークＱ１〜ＱＮのうち少なくとも一つは、少なくとも一つの他の副ニューラルネットワークＱｎによる計算で算定された成分値ｙｎに依存して当該単位ステップの成分値ｙｎを出力する。各副ニューラルネットワークＱｎが確率分布ｐｎを出力する場合は、その分布に従う擬似乱数を生成することで、目標とする成分値ｙｎを得る。
【００２９】
図４は、制御装置１１が実行する推論の具体的な手順を例示するフローチャートである。時間軸上の単位ステップ毎に図４の処理が実行される。図４の処理を開始すると、情報処理部２２は、第１データｘを取得する（Ｓa1）。前述の通り、第１データｘは、前処理部２１が当該単位ステップについて生成した入力データＤinと、直前の１以上の単位ステップにて生成された第２データｙとを含む。なお、推論を開始した直後の第１回目の単位ステップでは、第２データｙは初期値に設定される。情報処理部２２は、第１データｘを主ニューラルネットワークＭに入力することで中間データｑを生成する（Ｓa2）。
【００３０】
情報処理部２２は、第１回目の単位処理を実行する（Ｓb1）。具体的には、情報処理部２２は、単位処理部Ｕ１の副ニューラルネットワークＱ１に中間データｑを入力することで確率分布ｐ１（＝ｐ(ｙ１|ｑ)）を生成し（Ｓb1_1）、確率分布ｐ１から成分値ｙ１をサンプリングする（Ｓb1_2）。
【００３１】
情報処理部２２は、第２回目の単位処理を実行する（Ｓb2）。具体的には、情報処理部２２は、第２番目の単位処理部Ｕ２の副ニューラルネットワークＱ２に中間データｑと成分値ｙ１を入力することで確率分布ｐ２（＝ｐ(ｙ２|ｑ，ｙ１)）を生成し（Ｓb2_1）、確率分布ｐ２から成分値ｙ２をサンプリングする（Ｓb2_2）。
【００３２】
以上に例示した単位処理が、第Ｎ番目の成分値ｙＮの生成まで反復される。第Ｎ回目の単位処理において、情報処理部２２は、単位処理部ＵＮの副ニューラルネットワークＱＮに中間データｑと(Ｎ−１)個の成分値ｙ１〜ｙＮ−１を入力することで確率分布ｐＮ（＝ｐ(ｙＮ|ｑ,ｙ１〜ｙＮ−１)）を生成し（ＳbN_1）、確率分布ｐＮから成分値ｙＮをサンプリングする（ＳbN_2）。
【００３３】
Ｎ回にわたる単位処理の反復（すなわち第２処理）により、Ｎ個の成分値ｙ１〜ｙＮで構成される第２データｙが生成される。波形生成部２３は、第２データｙを時間領域の波形に変換し、過去の単位ステップにおける変換済の波形と合成することで、連続的な音響信号Ａを生成する（Ｓc）。音響信号Ａは放音装置１３に供給される。音響信号Ａに対応する音が放音装置１３から放音される。
【００３４】
２．４  学習
図５は、学習の手順を例示するフローチャートである。主ニューラルネットワークＭとＮ個の副ニューラルネットワークＱ１〜ＱＮは同時に学習させることが可能である。学習において、主ニューラルネットワークＭには推論時の入力として想定される第１データｘを入力する。図３に示した構成のように、Ｎ個の副ニューラルネットワークＱ１〜ＱＮのうち一つ以上が、他の副ニューラルネットワークＱｎの出力によって得られた成分値ｙｎを入力の一部とする場合、当該成分値ｙｎの正解値と主ニューラルネットワークＭが生成した中間データｑとを当該副ニューラルネットワークの入力とする。図３に示した構成とは異なり、副ニューラルネットワークＱとしてRNNやLSTMのように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いる場合には、各単位ステップについて用意された第２データｙの正解値を、当該副ニューラルネットワークＱが推論すべき第２データｙの正解値として用いる。以上のように第１データｘと第２データｙの正解値とが組になるように用意した学習データを多数用いて誤差逆伝播法を適用することで、ニューラルネットワーク群を学習させることができる。すなわち、誤差逆伝播法によりニューラルネットワークの全体の係数Ｋが反復的に更新される。前述の通り、学習による更新後の係数Ｋが記憶装置１２に記憶される。誤差逆伝播法により最小化する対象は、各副ニューラルネットワークＱｎが第２データｙの一つ以上の成分値ｙｎそのものを出力する場合には例えば正解値との２乗平均誤差、確率分布ｐｎを出力する場合には例えば当該確率分布ｐｎに対する正解値の対数尤度の符号を反転したものを用いることができる。
【００３５】
２．５  周波数成分と変換
本実施形態では、時間領域の一般の系列データ（すなわち、時間軸上の相異なる時点に対応する複数のデータの時系列）と周波数領域の第２データｙとが相互に変換できることを利用する。このような変換には大きく分けて二つの方法があり、一つは周波数基底に対する係数への変換およびその逆変換を用いる方法であり、もう一つはフィルタバンクを用いる方法である。
【００３６】
２．５．１  周波数基底に対する係数への変換を用いる方法
周波数基底に対応する係数が、第２データｙの各成分値ｙｎとして好適である。周波数基底の選び方には任意性があり、また一般の系列データを複数の周波数基底に対する係数からなるベクトルに変換もしくはその逆の変換をする方法は多数ある。例えば離散フーリエ変換（DFT; Discrete Fourier Transform）、離散コサイン変換（DCT; Discrete Cosine Transform）、離散サイン変換（DST; Discrete Sine Transform）、ウェーブレット変換、定Q変換などである。DFTでは複素正弦関数、DCTでは余弦関数、離散サイン変換では正弦関数が基底となり、ウェーブレット変換や定Q変換では特定の要件を満たす任意の基底が用いられる。なお、離散時間上の系列データに対してこの種の変換を考えるとき、基底の選び方と変換方法は必ずしも一対一に対応しない。例えばDCTには境界条件やその他の前提条件の設定方法に応じて多くの種類があり、これらの変換によって系列データから得られる係数は何れも余弦関数を基底とする係数であるにも関わらず、それぞれ異なった値となる。基底は直交基底に限らず、例えばウェーブレット変換や定Q変換を利用する場合には非直交基底も取り得る。何れの変換においても基底は一般の系列データの周波数成分に関係する。ただし、ここでいう周波数とはフーリエ変換の基底である複素正弦関数における周波数に限定せず、時間軸方向への基底の拡大縮小を制御する数一般を指す。
【００３７】
選択し得る種々の周波数基底および変換の中でも、余弦関数を基底として用い、修正離散コサイン変換（MDCT; Modified Discrete Cosine Transform）によって得られる係数ベクトルの系列データを本実施形態における第２データｙとして用いることが極めて好適である。なお、この変換は実数系列に対してのみ定義されるものなので複素数の系列データには利用できない。現実に扱う系列データは実数であることが多いので、この形態の利用範囲は極めて大きい。
【００３８】
DCTは、実数系列から余弦関数の基底に対する係数への変換およびその逆変換の総称である。DFTが複素正弦関数を基底とし、実数系列に対しても複素数の係数を出力するのに対して、DCTが出力する係数は常に実数である。複素数は実数と虚数との組からなり、それらの相互的な依存関係をニューラルネットワークで扱うことは容易ではないのに対して、DCTが出力する実数の係数はニューラルネットワークの出力として容易に利用できる。また一般に、現実の系列データに対するDCTはDFTと比較して低周波数成分へのエネルギー集中性が良いことが知られている。この性質から、DCTの係数においては低周波数成分に対応する係数を十分に高い精度で表現すれば、高周波数成分に対応する係数を低い精度で表現しても元の系列データの情報を大きくは失わない。なお、DSTは、実数系列から正弦関数の基底に対する係数への変換およびその逆変換の総称である。DSTはDCTと比較すると低周波数成分へのエネルギー集中性は良くない。ただし、DSTは、DCTと同様に実数系列データに対して実数係数を出力する変換である。したがって、DCTやDSTの各種は、選択し得る種々の周波数基底および変換の中でも好適なものである。
【００３９】
MDCTは離散コサイン変換の一種であり、特定の条件を満たす窓関数を特定の比率でオーバーラップさせたフレームによって単位時間毎の相互変換を行うことを前提として、他のDCTの種別やDFTと比較して、周波数基底に対応する係数の数を少なくすることができる。具体的な例では、２Ｎ点の窓関数を用いてＮ点の時間ステップで２重オーバーラップの変換を行うとき、各時間ステップの変換結果はＮ個の周波数基底に対する係数のベクトルとなる。同条件で他のDCTを用いた場合には２Ｎ個の周波数基底に対する係数のベクトルとなることと比較すると、MDCTではその半数の係数で元の系列データを完全に表現でき、２重にオーバーラップした窓関数を用いるにも関わらず、元の系列データと同じ点数で全時間範囲の全周波数基底に対する係数を表現できる。この性質は、周波数基底に対する係数のベクトルをニューラルネットワークの入力または出力として用いるとき、要求されるネットワークの規模削減に寄与する。したがってMDCTは、DCTの各変種の中でも好適なものである。
【００４０】
２．５．２  レート変換フィルタバンクを用いる方法
第２データｙの各成分値ｙｎ（周波数成分）の別の一種として、系列データに対するレート変換フィルタバンク出力値がある。フィルタバンクとは、種々の通過周波数域をもつフィルタの集合体であり、系列データの間引きまたは内挿を伴うフィルタバンクをここではレート変換フィルタバンクとよぶ。さらに間引きを伴うフィルタバンクを分析フィルタバンク、内挿を伴うフィルタバンクを合成フィルタバンクとよぶ。一般の系列データに分析フィルタバンクを適用すると、各周波数帯域のフィルタ出力値がもとの系列データよりも低いサンプリング周波数で出力され（ダウンサンプリング）、各出力時刻における各周波数帯域のフィルタ出力値をベクトルとして構成すれば、本実施形態における第２データｙ（周波数成分ベクトル）として用いることができる。分析フィルタバンクが出力した系列データに合成フィルタバンクを適用すると、もとの系列データと同一もしくはほぼ同一の系列データが、もとの系列データのサンプリング周波数で出力される。
【００４１】
本実施形態で好適に用いることができるレート変換フィルタバンクとして、直交ミラーフィルタ（QMF; Quadrature Mirror Filter）バンク、疑似QMF（PQMF; Pseudo Quadrature Mirror Filter）バンク、共役直交フィルタ（Conjugate Quadrature Filter）バンクなどがあり、これらのフィルタはポリフェーズ分解とその等価変換を用いることで、間引きや内挿を伴った計算を効率よく実行することができる。
【００４２】
３．効果
３．１  計算量の削減
本実施形態において出力系列データはフレーム単位のベクトル系列であって主ニューラルネットワークＭはこのフレームの単位ステップ毎に計算される。したがって、主ニューラルネットワークＭの規模を大きく、副ニューラルネットワークＱｎの規模を十分に小さくした本実施形態によれば、例えばWaveNetにおいて本実施形態の主ニューラルネットワークＭと同規模のニューラルネットワークを用いてオーディオサンプルなどの系列データを直接推論するよりも計算量が小さくなる。
【００４３】
最終的に得られる第２データｙを時系列データに変換するケースでも、この変換を実行することの計算量の増加は、本実施形態を用いることによる計算量の削減に対して十分に小さい。特に、MDCTを含む周波数基底に対する係数への変換を利用する場合には、この変換はごく小規模な計算と逆離散フーリエ変換（IDFT; Inverse Discrete Fourier Transform）との組み合わせに帰着可能であって、IDFTは高速フーリエ変換（FFT; Fast Fourier Transform）のアルゴリズムを用いて効率的に計算が可能であるから、これによる計算量の増加は極めて小さい。
【００４４】
３．２  受容野の拡大
有限長の系列データを扱うニューラルネットワークにおいて、単位時間あたりの出力値の推論に利用できる入力系列の長さを受容野とよぶ。目標とする時系列データの、継時的な変動構造を正確に反映した推論を実現するためには、その構造が表されるのに十分な長さの受容野が必要である。
【００４５】
フィードフォワードニューラルネットワークや畳み込みニューラルネットワークは、その構成によって決まる有限の受容野をもつ。これらのニューラルネットワークでは、単純にニューラルネットワークの入力ノード数または畳み込みカーネルの大きさを増やすことによって受容野を長くすることが可能である。しかし、入力ノード数または畳み込みカーネルの大きさの増加は、学習時および推論時の計算量の増加に直結する。RNNやLSTMは、過去における推論の中間計算結果を推論に利用するため、理論上は過去のすべての入力値が利用できる。ただし、実際には過去の状態の影響は単位ステップ毎に徐々に小さくなるため、実質的には有限の受容野をもつことに相当し、またこの実質的な受容野の長さを制御することは容易ではない。
【００４６】
本実施形態においては主ニューラルネットワークＭへの入力をフレーム単位に相当する単位ステップ（単位時間）毎に行うので、フレーム間隔がＮサンプルのとき、例えばWaveNetのようにサンプル単位で系列データを入力するニューラルネットワークと比較して、実質的な受容野がＮ倍長くなる。
【００４７】
３．３  実質的な量子化誤差の低減
ニューラルネットワークにおいては、出力として期待する値が本来連続的なものであっても、量子化して取り得る値の何れかを出力する構成にする方が誤差の小さい推論が可能になる場合がある。WaveNetでは、音声波形をmu-law量子化して扱うことが提案されている。ただしこのとき、ニューラルネットワークの推論の誤差に加えて、量子化による誤差が発生する。一般に時系列データを直接量子化するよりも、いったん周波数領域の第２データｙに変換してそれを量子化してから再度時系列データに変換する方が誤差が小さくなる。例えば音声や画像などの信号においては、この方法で量子化された信号は、直接量子化された信号に比べて誤差が知覚されにくい。この傾向から、最終的に時系列データを得るためには、本実施形態のように周波数基底係数を量子化したものに対するニューラルネットワークを利用する方が、WaveNetのように時系列データを直接量子化したものに対するニューラルネットワークを利用するよりも、量子化によって加わる誤差が知覚されにくい。
【００４８】
３．４  周波数帯域毎の特性の利用
系列データには、周波数帯域毎に異なる特性をもつものがある。例えば人間の音声はおおよそ４ｋＨｚ以下の周波数帯域にエネルギーの大部分が集中しており、これより高い周波数域で急激にエネルギーが小さくなる。また４ｋＨｚ以下では概ね周期的な経時変動をするのに対して、それ以上の周波数帯域では非周期的な経時変動をする傾向がある。また４ｋＨｚより高い周波数帯域においては、人間の聴覚による感度が徐々に低下する。
【００４９】
第２データｙの各成分値ｙｎに対応する周波数帯域毎の特性を利用して、推論のための構成または方法を周波数帯域毎に相違させてもよい。例えば、成分値ｙｎを量子化する精度を周波数帯域毎に相違させた構成、副ニューラルネットワークＱｎの規模を周波数帯域毎に相違させた構成、確率分布ｐｎの表現方法を周波数帯域毎に相違させた構成が想定される。以上の構成によれば、周波数帯域毎の推論の精度が非一様となり、ニューラルネットワークの規模に対して実質上高精度な推論を行える。例えば、前述の例示のように第１周波数と第２周波数とに着目する。第２周波数が第１周波数を下回る場合、第２周波数の成分値ｙｎ２に対応する副ニューラルネットワークＱｎ２の規模は、第１周波数の成分値ｙｎ１に対応する副ニューラルネットワークＱｎ１の規模よりも大きい。すなわち、低い周波数の成分値ｙｎに対応する副ニューラルネットワークＱｎほど規模を大きくした構成が好適である。
【００５０】
また、周波数領域の第２データｙを用いれば、推論時に出力された確率分布ｐｎに対して周波数帯域毎に異なる操作を加えることも可能である。例えば低周波数帯域では確率分布ｐｎの分散に相当するパラメタの値を小さくすることで、確率分布ｐｎの形状をより先鋭にし、確率分布ｐｎに基づくサンプリングによって発生する乱雑性を低下させることができる。この方法を適用して人間の音声を予測する場合、通常の方法よりも雑音成分を低減した音声を得ることができる。仮にWaveNetにおいてオーディオサンプル毎の確率分布に対して同様の方法を適用すると、その影響は全周波数範囲に及んでしまい、例えば４ｋＨｚ以上の範囲で元来雑音性が大きくあるべき摩擦子音のような音声が適切に予測されなくなってしまう。しかし、本実施形態においては周波数帯域毎に雑音性の程度を制御できるので、このような問題は起こりにくい。
【００５１】
３．５  広い応用範囲
スカラ値であるオーディオサンプルの時系列のみを対象としたWaveNetや、ベクトルの時系列を対象とするものの次元間の関係性をもった推論ができないNPSSと異なり、本実施形態はベクトルの次元間の関係性とそのベクトルの時系列構造または空間系列構造の双方を同時に加味した推論が可能であるので、より一般のベクトル系列データに対して直ちに応用が可能である。
【００５２】
４．実施例
４．１  ニューラルボコーダとしての実施例
４．１．１  概要
主に振幅スペクトルに関係する低次元の音声の特徴量を入力として、それに対応する波形を出力するニューラルネットワークが、ニューラルボコーダと呼ばれている。ニューラルボコーダに入力される音声の特徴量は、例えばメルケプストラムの低次係数と基本周波数情報との組み合わせやメルスペクトログラムなどである。これらの特徴量は、公知の変換技術によって、例えばテキスト情報をもとに生成される。そのような変換技術とニューラルボコーダとを組み合わせれば、情報処理装置１００は、テキスト情報から音声波形を得る音声合成システムとして機能する。なお、振幅スペクトルは位相の情報をもたないため、これを低次元表現に圧縮した特徴量も、逆フーリエ変換などの簡単な関数では波形に変換できない。そこでニューラルボコーダでは、このような関数の代わりに、現実に生起する音声特徴量と波形との組みを事前に学習したニューラルネットワークを用意し、そのニューラルネットワークを用いて振幅スペクトルに関係する特徴量を波形に変換する。
【００５３】
波形ではなく第２データｙを推論する本実施形態を用い、主ニューラルネットワークＭの規模を十分に大きくしたうえで、各副ニューラルネットワークＱｎの規模を小さくすれば、WaveNetの数分の一から数十分の一の計算量でWaveNetと同等の品質の音声を推論できる。また音声の特徴量ベクトルは一般的に音声波形と比較すると経時的に滑らかに変化するものであり、WaveNetにおいても本実施形態においても５〜１０ミリ秒程度の時間ステップによる特徴量ベクトルから十分な品質の音声が得られる。しかし、WaveNetにおいてはオーディオサンプル単位でニューラルネットワークの計算が行われるため、１００マイクロ秒程度の時間ステップ毎にこの特徴量ベクトルを補間しなければならない。本実施形態においてはこの補間処理の頻度も数分の一から数十分の一に減少させることができる。
【００５４】
音声波形の代替となる第２データｙとしては、音声波形に対して２〜６４サンプル程度のフレーム間隔によるMDCTを適用して得られる係数ベクトル列を用いることが好適である。音声波形には雑音的な成分が多く含まれることを考慮すると、そのMDCT係数の値そのものよりも確率的な性質が重要である場合が多いので、各副ニューラルネットワークＱｎの出力は、各次元のMDCT係数の確率分布もしくはその確率分布を表現するパラメタとすることが好適である。このとき各次元のMDCT係数を量子化して扱い離散値に対する確率分布を用いても良いし、量子化せずに扱い連続値に対する確率分布のパラメタを用いて、それを各副ニューラルネットワークＱｎによって出力しても良い。
【００５５】
Ｎ個の副ニューラルネットワークＱ１〜ＱＮは、高周波数成分の係数の推論が低周波数成分の係数の推論の計算によって得られた値に依存するように構成することが好適である。副ニューラルネットワークＱｎは規模が小さく推論には誤差を伴うことと、確率分布からのサンプリングを介するために、他の副ニューラルネットワークＱｎへの直接あるいは間接的な依存性の数が大きい副ニューラルネットワークＱｎほど、推論の精度が低下する。音声信号においては概ね低い周波数域ほどエネルギーが大きく周期的であり聴覚における知覚が繊細であって、高い周波数域ほどエネルギーが小さく非周期的であり聴覚における知覚が鈍感であることから、低周波数帯域を正確に推論することでよい品質の音声が得られる。したがって、低周波数帯域が正確に推論され、高周波数域はその推論結果に条件づけられた推論が行われることが合理的である。
【００５６】
単一のRNNやLSTMを副ニューラルネットワークＱｎとすることも可能である。ただし、図３に示したように複数の副ニューラルネットワークＱ１〜ＱＮを用い、これら副ニューラルネットワークＱｎは単純なフィードフォワード型のニューラルネットワークまたは畳み込みニューラルネットワークとする方が、依存関係をより柔軟に設計でき、なおかつ誤差逆伝播法による学習が比較的高速に収束するため好適である。
【００５７】
以下では本実施例において好適と述べた上記の各条件に基づいて説明する。
【００５８】
４．１．２  学習
学習に用いる音声の任意の時間範囲における第２データｙの正解値とそれに対応する入力データＤin（特徴量ベクトルの系列データ）とを入力とし、入力とした時間範囲の次の単位ステップにおけるMDCT係数ベクトルを最終的な出力の目標値としてニューラルネットワーク全体を学習する。実際に各副ニューラルネットワークＱｎが出力するのはMDCTの各基底に対する係数に対する確率分布であるので、この確率分布に対する目標値の対数尤度関数の符号を反転した値を最小化するように誤差逆伝搬法を適用することで、ニューラルネットワーク全体がもつ重み係数Ｋを更新する。学習に用いる多数の音声に対してこの手順を繰り返すことで、ニューラルネットワーク全体が持つ重み係数Ｋは徐々に最適化される。前述の通り、学習による更新後の係数Ｋが記憶装置１２に記憶される。
【００５９】
上記学習の手順において、各副ニューラルネットワークＱｎには、主ニューラルネットワークＭの出力と、当該副ニューラルネットワークＱｎが依存する副ニューラルネットワークＱｎの出力に対応するMDCT係数の正解値を入力する。このような学習によって、主ニューラルネットワークＭは、その入力の系列データの特徴を単一のベクトルに圧縮するある種の符号化器として訓練され、各副ニューラルネットワークＱｎは、当該周波数帯域のMDCT係数値の確率分布を、より低周波数域の系数値の出力と主ニューラルネットワークＭが出力するベクトルとに条件づけられたものとして推論するニューラルネットワークとして訓練される。
【００６０】
４．１．３  推論
本実施形態のニューラルネットワークを、各時刻の直前における出力ベクトルを最新の入力値とするように自己回帰的に用いれば、所望の時間範囲（以下「合成範囲」という）にわたる目標とする音声の入力データＤin（特徴量ベクトル）に対応する第２データｙを得ることができ、それに対して逆MDCTを適用すれば目標とする音声の波形を得ることができる。より具体的には以下の手順を実行すればよい。
【００６１】
［手順１］制御装置１１は、合成範囲内における最初の時間ステップについて、音声の第２データｙの初期値と、目標とする音声の特徴量のベクトルの系列データのうち先頭の入力データＤinとを主ニューラルネットワークＭに入力する。第２データｙの初期値は、全MDCT係数の値が０であることに対応するベクトルか、あるいは目標とする音声の最初の信号に対応するMDCT係数があらかじめわかっている場合には、それに対応するベクトルが使用される。手順１は、図４のステップＳa1およびＳa2に相当する。
［手順２］制御装置１１は、主ニューラルネットワークＭが出力する中間データｑを、最低周波数域（ｎ＝１）のMDCT係数に対応する副ニューラルネットワークＱ１に入力し、当該帯域のMDCT係数の確率分布を得る。手順２は、図４のステップＳb1_1に相当する。
［手順３］前の手順で得られた確率分布に従う擬似乱数を生成することで、当該帯域のMDCT係数ｙｎを得る。手順３は、図４のステップＳbn_2に相当する。
［手順４］制御装置１１は、主ニューラルネットワークＭが出力する中間データｑと、前の手順までに推論された低周波数域のMDCT係数ｙｎのうち１つ以上とを別の副ニューラルネットワークＱｎに入力し、当該MDCT係数の確率分布を得る。手順３は、図４のステップＳbn_1に相当する。
［手順５］当該単位ステップのMDCT係数の全てに対して手順４および手順３が反復されることで、、MDCT係数ベクトルｙが生成される。
［手順６］制御装置１１は、以上の手順で得られたMDCT係数ベクトルを当該単位ステップの最終的な出力値として出力するとともに、これを第２データｙの最新の単位ステップの値として記録する。
［手順７］制御装置１１は、処理対象となる単位ステップを１個進め、直前の１以上の単位ステップについて出力された１以上の第２データｙと、目標とする音声の特徴を表す入力データＤinとを含む第１データｘを主ニューラルネットワークＭに入力する。
［手順８］制御装置１１は、手順７，２〜６を、合成範囲内の音声の合成に十分な回数にわたり繰り返す。
［手順９］制御装置１１は、第２データｙの時系列に対して逆MDCTを適用することで、合成範囲内の音声波形を得る。手順９で得られた音声波形を表す音響信号Ａが放音装置１３に供給される。音響信号Ａに対応する音が放音装置１３から放音される。手順９は、図４のステップＳcに相当する。
【００６２】
４．２  音声合成器としての実施例
前記ニューラルボコーダで用いた音声に対応する特徴量ベクトルの代わりに、離散化した音素シンボルの系列データを入力データＤinとして用いたり、さらに高度な例ではアルファベットまたは漢字などの一般的な書き文字の系列データを入力データＤinとして用いることで、音素シンボルまたは書き文字に対応する音声を生成する、より直接的な音声合成器として実施することが可能である。
【００６３】
４．３  オーディオエフェクトとしての実施例
入力オーディオ信号に対応するMDCT係数ベクトル系列データに、任意の変換（例えばピッチチェンジャーまたはマルチバンドコンプレッサー等）を加えて、出力オーディオ信号に対応するMDCT係数ベクトル系列データを得る。前記ニューラルボコーダで用いた音声に対応する特徴量ベクトルの代わりに、その変換の性質に関する情報を与えて学習および推論する。本実施例の場合、出力ベクトルを入力として回帰せず、代わりに、入力オーディオ信号に対応するMDCT係数ベクトル系列データを入力とすることでも実施が可能である。
【００６４】
５．その他
前述の形態に係る情報処理装置１００の機能は、コンピュータ（例えば制御装置１１）とプログラムとの協働により実現される。本発明の好適な態様に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされる。記録媒体は、例えば非一過性（non-transitory）の記録媒体であり、ＣＤ-ＲＯＭ等の光学式記録媒体（光ディスク）が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を含む。なお、非一過性の記録媒体とは、一過性の伝搬信号（transitory, propagating signal）を除く任意の記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに提供してもよい。
【００６５】
ニューラルネットワークを実現するための人工知能ソフトウェアの実行主体はＣＰＵに限定されない。例えば、Tensor Processing UnitおよびNeural Engine等のニューラルネットワーク専用の処理回路、または、人工知能に専用されるＤＳＰ（Digital Signal Processor）が、人工知能ソフトウェアを実行してもよい。また、以上の例示から選択された複数種の処理回路が協働して人工知能ソフトウェアを実行してもよい。
【００６６】
＜付記＞
以上に例示した形態から、例えば以下の構成が把握される。なお、各態様の理解を容易にするために、以下の記載では、前述の形態で使用した符号を便宜的に括弧書で併記するが、本発明を、前述の形態の限定する趣旨ではない。
【００６７】
［第１態様］
本発明の第１態様に係る情報処理方法は、時間軸上の複数の単位ステップの各々において、第１データ（ｘ）から当該第１データ（ｘ）の代替表現を表す中間データ（ｑ）を第１ニューラルネットワーク（主ＮＮ）により生成する第１処理と、複数の周波数にそれぞれ対応する複数の成分値（ｙ１〜ｙＮ）を含む第２データ（ｙ）を前記中間データ（ｑ）から生成する第２処理とを実行し、前記第２処理は、前記複数の成分値をそれぞれ生成する複数の単位処理を含み、前記複数の単位処理の各々は、前記中間データ（ｑ）が入力される第２ニューラルネットワーク（副ＮＮ）による推定を含み、前記複数の単位処理のうち第１周波数に対応する第１成分値（ｙｎ１）を生成する第１単位処理においては、前記第１単位処理とは相違する第２単位処理により前記第１周波数以外の第２周波数について生成された第２成分値（ｙｎ２）または当該第２単位処理の過程で生成される中間値が、前記中間データ（ｑ）とともに前記第２ニューラルネットワーク（副ＮＮ）に入力される。
【００６８】
以上の構成によれば、複数の単位処理のうち第１周波数に対応する第１成分値を生成する第１単位処理において、第２単位処理により第２周波数について生成された第２成分値または当該第２単位処理の過程で生成される中間値が、中間データとともに第２ニューラルネットワークに入力される。したがって、第１成分値と第２成分値との間の依存を反映した第２データを生成することが可能である。
【００６９】
以上の態様では、複数の単位処理のうち任意の２個の単位処理（第１単位処理，第２単位処理）のみに便宜的に着目した。他の単位処理における入力の如何（入力の総数や範囲など）は不問である。また、第１単位処理において、第２成分値（または中間値）以外の成分値が第２ニューラルネットワークに入力されるか否かは不問である。
【００７０】
第２処理は、例えば、（１）相異なる周波数に対応するＮ個の副ＮＮによりＮ個の成分値を生成する処理、または、（２）１個のＲＮＮにより成分値の生成をＮ回にわたり反復する処理、である。
【００７１】
ＲＮＮを副ＮＮとして利用した場合には、成分値ではなく、副ＮＮにおける途中の算定値（中間値）が次回の推定に適用される。
【００７２】
単位処理は、例えば、（１）第２ニューラルネットワークによる確率分布の推定および確率分布に従う成分値の決定、または、（２）第２ニューラルネットワークによる直接的な成分値の推定である。（１）の構成において、前記複数の単位処理の各々は、前記中間データ（ｑ）が入力される第２ニューラルネットワーク（副ＮＮ）により前記成分値の確率分布を推定する処理と、当該確率分布から成分値を決定する処理とを含む。
【００７３】
［第２態様］
第１態様の好適例（第２態様）において、前記複数の単位処理のうち第１周波数に対応する第１成分値（ｙｎ１）を生成する第１単位処理においては、前記第２単位処理を含む２以上の単位処理により生成された２以上の成分値、または当該２以上の単位処理の過程で生成される中間値が、前記中間データ（ｑ）とともに前記第２ニューラルネットワーク（副ＮＮ）に入力される。
【００７４】
［第３態様］
第１態様の好適例（第３態様）において、前記複数の単位処理は、Ｎ個の単位処理であり、第ｎ番目（ｎ＝２〜Ｎ）の単位処理では、第１番目から第(ｎ−１)番目の単位処理により生成された(ｎ−１)個の成分値、または当該各単位処理の過程で生成される中間値が、前記中間データ（ｑ）とともに前記第２ニューラルネットワーク（副ＮＮ）に入力される。
【００７５】
［第４態様］
第１態様から第３態様の何れかの好適例（第４態様）において、前記成分値は、離散コサイン変換（DCT）または離散サイン変換（DST）の係数に相当する。
【００７６】
［第５態様］
第１態様から第３態様の何れかの好適例（第５態様）において、前記成分値は、修正離散コサイン変換（MDCT）の係数に相当する。
【００７７】
［第６態様］
第１態様から第３態様の何れかの好適例（第６態様）において、前記成分値は、前記複数の成分値にそれぞれ対応し、ダウンサンプリングを伴う複数のフィルタを含むフィルタバンクの出力値に相当する。
【００７８】
［第７態様］
第１態様から第６態様の何れかの好適例（第７態様）において、前記第２周波数は前記第１周波数を下回る。
【００７９】
［第８態様］
第７態様の好適例（第８態様）において、前記複数の単位処理の各々は、相異なる第２ニューラルネットワークによる推定を含み、前記第２周波数に対応する前記第２ニューラルネットワークの規模は、前記第１周波数に対応する前記第２ニューラルネットワークの規模よりも大きい。なお、ニューラルネットワークの規模とは、例えば層数、１層内のノード数またはチャネル数である。また、畳み込みニューラルネットワークにおいては、畳み込みに適用されるカーネルのサイズも、当該ニューラルネットワークの規模として観念される。
【００８０】
［第９態様］
第１態様から第８態様の何れかの好適例（第９態様）において、前記第２ニューラルネットワークの規模は、前記第１ニューラルネットワークの規模よりも小さい。
【００８１】
以上に例示した各態様の情報処理方法を実行する情報処理装置、または、以上に例示した各態様の情報処理方法をコンピュータに実行させるプログラムとしても、本発明の好適な態様は実現される。
【符号の説明】
【００８２】
１００…情報処理装置、１１…制御装置、１２…記憶装置、１３…放音装置、２１…前処理部、２２…情報処理部、２３…波形生成部、３１…第１処理部、３２…第２処理部、Ｍ…主ニューラルネットワーク、Ｕｎ（Ｕ１〜ＵＮ）…単位処理部、Ｑｎ（Ｑ１〜ＱＮ）…副ニューラルネットワーク、Ｄｎ（Ｄ１〜ＤＮ）…サンプリング部。
【図１】
2020194558.tif 000003
【図２】
2020194558.tif 000004
【図３】
2020194558.tif 000005
【図４】
2020194558.tif 000006
【図５】
2020194558.tif 000007