IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

特許7103390音響信号生成方法、音響信号生成装置およびプログラム
<>
  • 特許-音響信号生成方法、音響信号生成装置およびプログラム 図1
  • 特許-音響信号生成方法、音響信号生成装置およびプログラム 図2
  • 特許-音響信号生成方法、音響信号生成装置およびプログラム 図3
  • 特許-音響信号生成方法、音響信号生成装置およびプログラム 図4
  • 特許-音響信号生成方法、音響信号生成装置およびプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-11
(45)【発行日】2022-07-20
(54)【発明の名称】音響信号生成方法、音響信号生成装置およびプログラム
(51)【国際特許分類】
   G06N 3/04 20060101AFI20220712BHJP
   H03M 7/30 20060101ALI20220712BHJP
   G10L 25/30 20130101ALI20220712BHJP
【FI】
G06N3/04 154
H03M7/30 A
H03M7/30 Z
G10L25/30
【請求項の数】 10
(21)【出願番号】P 2020125440
(22)【出願日】2020-07-22
(62)【分割の表示】P 2018169304の分割
【原出願日】2018-09-11
(65)【公開番号】P2020194558
(43)【公開日】2020-12-03
【審査請求日】2021-03-01
(31)【優先権主張番号】P 2018151748
(32)【優先日】2018-08-10
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110003177
【氏名又は名称】特許業務法人旺知国際特許事務所
(72)【発明者】
【氏名】大道 竜之介
(72)【発明者】
【氏名】フア カンルー
【審査官】杉浦 孝光
(56)【参考文献】
【文献】国際公開第2017/141317(WO,A1)
【文献】特開平09-093135(JP,A)
【文献】米国特許第05828993(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-20/00
H03M 3/00-99/00
G10L 13/00-13/10
G10L 19/00-99/00
(57)【特許請求の範囲】
【請求項1】
時間軸上の複数の単位ステップの各々において、
音の特徴を表すデータを含む第1データを第1ニューラルネットワークにより処理することで、前記第1データの代替表現を表す中間データを生成し、
前記中間データを1以上の第2ニューラルネットワークにより処理することで、相異なる周波数に対応する複数の成分値を含む第2データを生成し、
前記第2データを時間領域の音響信号における複数のサンプルに変換する
コンピュータにより実現される音響信号生成方法。
【請求項2】
前記複数の単位ステップの間隔は、前記音響信号の前記複数のサンプルに相当する
請求項1の音響信号生成方法。
【請求項3】
前記複数の成分値は、前記複数のサンプルと同数の修正離散コサイン変換の係数である
請求項2の音響信号生成方法。
【請求項4】
前記複数の成分値は、離散フーリエ変換、離散コサイン変換、離散サイン変換、ウェーブレット変換、および定Q変換の何れかに対応する各周波数基底の係数である
請求項1または請求項2の音響信号生成方法。
【請求項5】
前記複数の成分値は、修正離散コサイン変換に対応する実数系列である
請求項1または請求項2の音響信号生成方法。
【請求項6】
前記複数の成分値は、通過周波数帯域が相違する複数のフィルタを含むフィルタバンクの出力値である
請求項1または請求項2の音響信号生成方法。
【請求項7】
前記フィルタバンクは、直交ミラーフィルタバンク、疑似直交ミラーフィルタバンク、および共役直交フィルタバンクの何れかである
請求項6の音響信号生成方法。
【請求項8】
前記複数の成分値は、第1周波数に対応する第1成分値と、前記第1周波数とは異なる第2周波数に対応する第2成分値とを含み、
前記第2データの生成においては、
前記1以上の第2ニューラルネットワークによる前記第2成分値の生成後に、前記第2成分値または前記第2成分値の生成の過程で生成された中間値を、前記中間データとともに、前記1以上の第2ニューラルネットワークにより処理することで、前記第1成分値を生成する
請求項1から請求項7の何れかの音響信号生成方法。
【請求項9】
時間軸上の複数の単位ステップの各々において、音の特徴を表すデータを含む第1データ処理することで、相異なる周波数に対応する複数の成分値を含む第2データを生成する情報処理部と
前記複数の単位ステップの各々において、前記第2データを時間領域の音響信号における複数のサンプルに変換する波形生成部とを具備し、
前記情報処理部は、
前記第1データを第1ニューラルネットワークにより処理することで、前記第1データの代替表現を表す中間データを生成し、
前記中間データを1以上の第2ニューラルネットワークにより処理することで、前記第2データを生成する
音響信号生成装置。
【請求項10】
時間軸上の複数の単位ステップの各々において、音の特徴を表すデータを含む第1データ処理することで、相異なる周波数に対応する複数の成分値を含む第2データを生成する情報処理部、および、
前記複数の単位ステップの各々において、前記第2データを時間領域の音響信号における複数のサンプルに変換する波形生成部
としてコンピュータを機能させるプログラムであって、
前記情報処理部は、
前記第1データを第1ニューラルネットワークにより処理することで、前記第1データの代替表現を表す中間データを生成し、
前記中間データを1以上の第2ニューラルネットワークにより処理することで、前記第2データを生成する
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークを利用したデータの処理に関する。
【背景技術】
【0002】
ニューラルネットワークを用いて系列データを生成もしくは変換することが可能である。例えば非特許文献1にはWaveNetが開示されている。WaveNetでは過去のオーディオサンプル系列の入力値もしくは出力値と、目標とする出力オーディオサンプル系列の性質に関係する補助データとのうちの少なくともひとつを入力として、単位時間ごとに新たなオーディオサンプルの値に対する確率分布を得て、この確率分布から1個の値をサンプリングすることで新たなオーディオサンプルの値を得ることができる。以上の処理を単位時間毎に繰り返すことで出力オーディオサンプル系列を得ることができる。WaveNetでは、大規模なニューラルネットワークの計算をオーディオサンプル毎に行わなければならない。通常オーディオサンプルは1秒間あたり数十万サンプル必要なため、計算量が膨大になるという問題がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】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)
【発明の概要】
【発明が解決しようとする課題】
【0004】
WaveNetはオーディオサンプル系列の変換もしくは生成に特化した技術である。これをある種のベクトル系列データの生成に直接応用して音声合成器として機能させる形態に、非特許文献2に開示されたNeural Parametric Singing Synthesizer (NPSS)がある。NPSSでは音声の性質を表現する数十次元のメルケプストラム係数からなるベクトルの各次元の確率分布が、WaveNetと類似の形態のニューラルネットワークによって、全次元分一斉に出力される。ただし、ここで出力される確率分布は、各次元毎の独立性に基づく確率分布であって、全次元の同時確率分布や次元間の依存関係に基づく条件付き確率分布ではない。したがって、この方法が直接応用できるのは、音声におけるメルケプストラム係数のように、次元間の関係性をさほど厳密に扱わなくても十分な品質の出力が得られる場合に限定される。その限定を回避するために、仮に同様の形態のニューラルネットワークによって全次元の同時確率分布や次元間の依存関係に基づく条件付き確率分布を出力することを考えると、ニューラルネットワークが出力すべき確率分布やそのパラメタの数が膨大となり、学習や生成にかかる計算リソースが膨大となるうえ、出力の次元数に対する学習データの不足から学習が適切に行われない可能性がある。
【課題を解決するための手段】
【0005】
以上の課題を解決するために、本発明の好適な態様に係る情報処理方法は、時間軸上の複数の単位ステップの各々において、第1データから当該第1データの代替表現を表す中間データを第1ニューラルネットワークにより生成する第1処理と、複数の周波数にそれぞれ対応する複数の成分値を含む第2データを前記中間データから生成する第2処理とを実行し、前記第2処理は、前記複数の成分値をそれぞれ生成する複数の単位処理を含み、前記複数の単位処理の各々は、前記中間データが入力される第2ニューラルネットワークによる推定を含み、前記複数の単位処理のうち第1周波数に対応する第1成分値を生成する第1単位処理においては、前記第1単位処理とは相違する第2単位処理により前記第1周波数以外の第2周波数について生成された第2成分値または当該第2単位処理の過程で生成される中間値が、前記中間データとともに前記第2ニューラルネットワークに入力される。
【図面の簡単な説明】
【0006】
図1】本発明の好適な形態に係る情報処理装置の構成を例示するブロック図である。
図2】情報処理装置の機能的な構成を例示するブロック図である。
図3】情報処理部の具体的な構成を例示するブロック図である。
図4】情報処理装置の動作の具体的な手順を例示するフローチャートである。
図5】学習の具体的な手順を例示するフローチャートである。
【発明を実施するための形態】
【0007】
1.発明の要旨
1.1 発明の好適な態様
本発明の好適な態様は、
単位時間毎に1個以上のベクトルを入力し1個以上のベクトルを出力する主ニューラルネットワークと、
前記単位時間毎に、主ニューラルネットワークの出力を入力の一部もしくは全部として、一般の系列データの当該時刻における、周波数成分ベクトルの一つ以上の要素値もしくはその要素値の確率分布もしくはその確率分布を表現するパラメタ群を出力する一つ以上の副ニューラルネットワークとを備え、
それら副ニューラルネットワーク群のうちの少なくとも一つが、当該時刻における副ニューラルネットワーク群のうち少なくとも一つの計算によって得られた値に依存して当該時刻の値を出力するように構成されたニューラルネットワーク
である。
【0008】
1.2 特に効果的な態様
(1)周波数成分ベクトルとして、離散コサイン変換(DCT; Discrete Cosine Transform)の係数によって成るベクトルを利用する形態。
(2)周波数成分ベクトルとして、離散サイン変換(DST; Discrete Sine Transform)の係数によって成るベクトルを利用する形態。
(3)周波数成分ベクトルとして、修正離散コサイン変換(MDCT; Modified Discrete Cosine Transform)の係数によって成るベクトルを利用する形態。
(4)周波数成分ベクトルとして、レート変換フィルタバンクの一時刻における出力に相当するベクトルを利用する形態。
(5)高い周波数に対応する係数が、低い周波数に対応する係数の計算によって得られた値に依存して出力される形態。
(6)主ニューラルネットワークが大規模であり、各副ニューラルネットワークが小規模あるいは学習可能な係数をもたない関数である形態。
(7)各副ニューラルネットワークの規模が、それぞれに対応する周波数成分に対して要求される精度に基づいて異なるものとする形態。
(8)特に、高い周波数成分に対応する副ニューラルネットワークほど規模を小さくする形態。
(9)係数の確率分布を出力する形態。
(10)特に、その確率分布の表現方法を、各周波数成分の統計的性質に基づいて異なるものとする形態。
(11)特に、その確率分布から係数値を得る方法を、各周波数成分の性質に基づいて異なるものとする形態。
【0009】
2.発明の好適な形態
2.1 ハードウェア構成
図1は、本発明の好適な形態に係る情報処理装置100の構成を例示するブロック図である。図1に例示される通り、本実施形態の情報処理装置100は、制御装置11と記憶装置12と放音装置13とを具備するコンピュータシステムである。例えば携帯電話機、スマートフォンまたはパーソナルコンピュータ等の情報端末が、情報処理装置100として好適に利用される。
【0010】
制御装置11は、例えばCPU(Central Processing Unit)等の処理回路であり、情報処理装置100の各要素を統括的に制御する。記憶装置12は、例えば磁気記録媒体または半導体記録媒体等の公知の記録媒体で構成されたメモリであり、制御装置11が実行するプログラムと制御装置11が使用する各種のデータとを記憶する。例えば、後述するニューラルネットワークを規定する複数の係数Kが記憶装置12に記憶される。なお、複数種の記録媒体の組合せにより記憶装置12を構成してもよい。また、情報処理装置100に対して着脱可能な可搬型の記録媒体、または情報処理装置100が通信網を介して通信可能な外部記録媒体(例えばオンラインストレージ)を、記憶装置12として利用してもよい。放音装置13は、制御装置11が音響信号Aに応じた音波を再生する。例えばスピーカまたはヘッドホンが放音装置13の典型例である。
【0011】
図2は、記憶装置12に記憶されたプログラムを制御装置11が実行することで実現される機能を例示するブロック図である。図2に例示される通り、本実施形態の制御装置11は、前処理部21と情報処理部22と波形生成部23とを実現する。なお、相互に別体で構成された複数の装置により制御装置11の機能を実現してもよい。制御装置11の機能の一部または全部を専用の電子回路で実現してもよい。
【0012】
前処理部21は、時間軸上の複数の単位ステップの各々について、音声の特徴を表す入力データDinの時系列を生成する。入力データDinは、例えば振幅スペクトル等の特徴量ベクトルである。ただし、メルケプストラムの低次係数と基本周波数との組合せ、またはメルスペクトログラム等の特徴量ベクトルを、入力データDinとして生成してもよい。前処理部21は、音声合成を含む公知の変換技術を利用して、例えば発話内容を表すテキスト情報から入力データDinを生成する。単位ステップは、情報処理装置100による処理の時間的な単位となる期間である。
【0013】
情報処理部22は、時間軸上の複数の単位ステップの各々において、入力データDinを含む第1データxから第2データyを生成する。第2データyは、N個の周波数にそれぞれ対応するN個の成分値y~yを含むN次元の周波数成分ベクトルである(Nは2以上の自然数)。N個の成分値y~yは、例えば余弦関数を基底として利用した修正離散コサイン変換(MDCT; Modified Discrete Cosine Transform)の係数である。したがって、各成分値y(n=1~N)は実数である。番号nが小さい成分値yほど低い周波数に対応する。すなわち、成分値yはN個の周波数成分のうち最低の周波数成分に対応し、成分値yはN個の周波数成分のうち最高の周波数成分に対応する。
【0014】
図2に例示される通り、任意の1個の単位ステップにおける第1データxは、当該単位ステップの入力データDinと、直前の単位ステップについて生成された第2データyとを含むベクトルである。すなわち、情報処理部22が生成した第2データyは、第1データxの一部として情報処理部22の入力側に帰還される。
【0015】
波形生成部23は、情報処理部22が生成する第2データyの時系列から時間領域の音響信号Aを生成する。例えば、波形生成部23は、第2データyの時系列に対する逆修正離散コサイン変換(IMDCT; Inverse MDCT)により音響信号Aを生成する。波形生成部23が生成した音響信号Aが放音装置13に供給されて音波として再生される。
【0016】
2.2 ネットワーク構成
図3は、記憶装置12に記憶されたプログラムを制御装置11が実行することで実現される情報処理部22の具体的な構成を例示するブロック図である。図3に例示される通り、本実施形態の情報処理部22は、第1処理部31と第2処理部32とを含んで構成される。第1処理部31は、時間軸上の複数の単位ステップの各々において第1処理を実行する。第1処理は、第1データxの代替表現を表す中間データqを生成する処理である。第1処理には、第1データxと中間データqとの関係を学習した1個の主ニューラルネットワークM(主NN)が利用される。中間データqは、第1データxの特徴量(特に第1データxと第2データyとの関係に寄与する特徴量)を表す特徴量ベクトルである。主ニューラルネットワークMは、第1ニューラルネットワークの例示である。
【0017】
第2処理部32は、時間軸上の複数の単位ステップの各々において第2処理を実行する。第2処理は、第1処理部31が生成した中間データqから第2データyを生成する処理である。図3に例示される通り、第2処理部32は、第2データyの相異なる成分値yに対応するN個の単位処理部U~Uを含んで構成される。第1処理部31が生成した中間データqがN個の単位処理部U~Uに対して共通に入力される。各単位処理部Uは、第2データyの成分値yを生成する処理(以下「単位処理」という)を実行する。すなわち、第2処理は、第2データyのN個の成分値y~yをそれぞれ生成するN回の単位処理を含む。
【0018】
各単位処理部U(U~U)は、副ニューラルネットワークQ(副NN)とサンプリング部Dとを含んで構成される。単位処理部Uの副ニューラルネットワークQは、成分値yの確率分布pを生成する。確率分布pの種類は任意である。例えば離散確率分布、混合ガウス分布(GMM; Gaussian Mixture Model)、またはMoL(Mixture of Logistic distributions)が確率分布pとして好適である。副ニューラルネットワークQは、第2ニューラルネットワークの例示である。
【0019】
単位処理部Uのサンプリング部Dは、前段の副ニューラルネットワークQが生成した確率分布pから成分値yをサンプリングする。例えばサンプリング部Dは、確率分布pに従う疑似乱数を成分値yとして生成する。以上の説明から理解される通り、単位処理部Uによる単位処理は、副ニューラルネットワークQによる確率分布pの生成と、サンプリング部Dによる成分値yのサンプリングとを含む処理である。なお、副ニューラルネットワークQが成分値yを直接的に出力してもよい。副ニューラルネットワークQが成分値yを出力する構成ではサンプリング部Dが省略される。
【0020】
第1番目の単位処理部Uの副ニューラルネットワークQには中間データqが入力される。副ニューラルネットワークQは、中間データqと確率分布pとの関係を学習したニューラルネットワークである。他方、第2番目以降の各単位処理部Uの副ニューラルネットワークQには、第1番目から第(n-1)番目までの単位処理部U~Un-1により生成された(n-1)個の成分値y~yn-1が中間データqとともに入力される。例えば、第2番目の副ニューラルネットワークQには、第1番目の単位処理部Uが生成した成分値yが、中間データqとともに入力される。第3番目の副ニューラルネットワークQには、第1番目の単位処理部Uが生成した成分値yと第2番目の単位処理部Uが生成した成分値yとが、中間データqとともに入力される。また、第N番目の副ニューラルネットワークQには、第1番目から第(N-1)番目までの各単位処理部Uが生成した(N-1)個の成分値y~yN-1が、中間データqとともに入力される。以上の説明から理解される通り、副ニューラルネットワークQnは、第1番目から第(n-1)番目までの成分値y~yn-1および中間データqと、確率分布pとの関係を学習したニューラルネットワークである。
【0021】
第1番目の副ニューラルネットワークQが生成する確率分布pは、中間データqが観測されたという条件のもとで成分値yが発生する条件付き確率分布p(y|q)である。なお、確率分布p(a|b)は、bによって条件付けられたaの条件付き確率分布を意味する。他方、第2番目以降の副ニューラルネットワークQが生成する確率分布pは、中間データqと(n-1)個の成分値y~yn-1とが観測されたという条件のもとで成分値yが発生する条件付き確率分布p(y|q,y,…yn-1)である。以上の説明から理解される通り、第2番目以降の単位処理部Uが生成する成分値yは、中間データqだけでなく、第1番目から第(n-1)番目までの(n-1)個の成分値y~yn-1にも依存する。
【0022】
なお、図3は、1≦n≦Nなるあらゆるnに対してyが1≦m≦n-1に対するすべてのyに依存するように構成したが、yは1≦m≦n-1なるmの何れか一つ以上に対するyに依存していればよい。その依存関係は目標とする第2データyの次元間の関係性に関する性質に基づいて任意に決定される。すなわち、各副ニューラルネットワークQに入力される成分値yの個数および番号mは任意である。例えば、第n番目のニューラルネットワークQに、直前の第(n-1)番目の単位処理部Un-1が生成した1個の成分値yn-1を中間データqとともに入力してもよい。また、第n番目のニューラルネットワークQに、直前の2個の成分値yn-1およびyn-2を中間データqとともに入力してもよい。あるいは各副ニューラルネットワークQの、複数の依存先から得られる各入力(yn-1,i≧1)に対して、0(非依存を意味する数値)もしくは1(依存を意味する数値)のマスクを乗算することで、この依存関係の有無を実現することも可能である。
【0023】
以上の説明から理解される通り、N個の周波数のうち第1周波数の成分値yn1を生成する第1単位処理と、第1周波数以外の第2周波数の成分値yn2を生成する第2単位処理とに便宜的に着目すると、第1単位処理に利用される副ニューラルネットワークQn1には、第2単位処理で生成された成分値yn2が中間データqとともに入力される。第2周波数は、例えば第1周波数を下回る周波数である。すなわち、第2成分値yn2は、第1成分値yn1よりも低い周波数に対応する。
【0024】
主ニューラルネットワークMの構造は任意であり、例えば全結合層を積層した単純なフィードフォワードニューラルネットワークでも良いし、畳み込みニューラルネットワーク(CNN; Convolutional Neural Network)でも良い。また、再帰型ニューラルネットワーク(RNN; Recurrent Neural Network)または長・短期記憶(LSTM; Long Shrot-Term Memory)のように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いても良い。なお、推論の正確性と学習および推論に要する計算効率が良いのはCNNやRNNおよびLSTMの種のニューラルネットワークである。
【0025】
副ニューラルネットワークQの構造もまた任意である。図3に示したようにN個の副ニューラルネットワークQ~Qを依存関係をもって用いる場合には、それぞれの副ニューラルネットワークQは全結合層を積層した単純なフィードフォワードニューラルネットワークやCNNを用いることができる。
【0026】
なお、副ニューラルネットワークQとしてRNNやLSTMのように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いる場合には、1個の副ニューラルネットワークQを備えれば十分である。すなわち、成分値yの個数に相当するN個の副ニューラルネットワークQ~Qは必要ではない。例えば、第2処理部32に設置された1個の副ニューラルネットワークQが、成分値yを生成する単位処理をN回にわたり反復してもよい。具体的には、1個の副ニューラルネットワークQが第2データyの成分値yを単位処理毎に1個ずつ順次出力するように構成される。各単位処理で得られた成分値yを次回以降の単位処理において副ニューラルネットワークQに入力することで成分値yが生成される。第n番目の各単位処理では、例えば第1番目から第(n-1)番目までの単位処理で計算された(n-1)個の成分値y~yn-1に依存する成分値yが生成される。
【0027】
N個の副ニューラルネットワークQ~Qが並列に設置された図3の構成、および、1個の副ニューラルネットワークQが単位処理をN回にわたり反復する構成の何れにおいても、第2処理部32が実行する第2処理は、N個の成分値y~yをそれぞれ生成するN回の単位処理を含む。前掲の例示の通り、N回の単位処理のうち成分値yn1を生成する第1単位処理と成分値yn2を生成する第2単位処理とに便宜的に着目すると、第1単位処理においては、第2単位処理により生成された第2成分値yn2が、中間データqとともに副ニューラルネットワークQに入力される、と包括的に表現される。例えば、第2番目以降の第n番目の単位処理では、第1番目から第(n-1)番目の単位処理により生成された(n-1)個の成分値が、中間データqとともに副ニューラルネットワークQに入力される。
【0028】
2.3 推論
推論において、主ニューラルネットワークMは、単位ステップ毎に中間データqを出力する。各副ニューラルネットワークQは、第2データyのN個の成分値y~yのうち一つ以上の成分値y毎に、その値もしくはその値の確率分布もしくはその確率分布を表現するパラメタ群を出力する。ここで、N個の副ニューラルネットワークQ~Qのうち少なくとも一つは、少なくとも一つの他の副ニューラルネットワークQによる計算で算定された成分値yに依存して当該単位ステップの成分値yを出力する。各副ニューラルネットワークQが確率分布pを出力する場合は、その分布に従う擬似乱数を生成することで、目標とする成分値yを得る。
【0029】
図4は、制御装置11が実行する推論の具体的な手順を例示するフローチャートである。時間軸上の単位ステップ毎に図4の処理が実行される。図4の処理を開始すると、情報処理部22は、第1データxを取得する(Sa1)。前述の通り、第1データxは、前処理部21が当該単位ステップについて生成した入力データDinと、直前の1以上の単位ステップにて生成された第2データyとを含む。なお、推論を開始した直後の第1回目の単位ステップでは、第2データyは初期値に設定される。情報処理部22は、第1データxを主ニューラルネットワークMに入力することで中間データqを生成する(Sa2)。
【0030】
情報処理部22は、第1回目の単位処理を実行する(Sb1)。具体的には、情報処理部22は、単位処理部Uの副ニューラルネットワークQに中間データqを入力することで確率分布p(=p(y|q))を生成し(Sb1_1)、確率分布pから成分値yをサンプリングする(Sb1_2)。
【0031】
情報処理部22は、第2回目の単位処理を実行する(Sb2)。具体的には、情報処理部22は、第2番目の単位処理部Uの副ニューラルネットワークQに中間データqと成分値yを入力することで確率分布p(=p(y|q,y))を生成し(Sb2_1)、確率分布p2から成分値yをサンプリングする(Sb2_2)。
【0032】
以上に例示した単位処理が、第N番目の成分値yの生成まで反復される。第N回目の単位処理において、情報処理部22は、単位処理部Uの副ニューラルネットワークQに中間データqと(N-1)個の成分値y~yN-1を入力することで確率分布p(=p(y|q,y~yN-1))を生成し(SbN_1)、確率分布pから成分値yをサンプリングする(SbN_2)。
【0033】
N回にわたる単位処理の反復(すなわち第2処理)により、N個の成分値y~yで構成される第2データyが生成される。波形生成部23は、第2データyを時間領域の波形に変換し、過去の単位ステップにおける変換済の波形と合成することで、連続的な音響信号Aを生成する(Sc)。音響信号Aは放音装置13に供給される。音響信号Aに対応する音が放音装置13から放音される。
【0034】
2.4 学習
図5は、学習の手順を例示するフローチャートである。主ニューラルネットワークMとN個の副ニューラルネットワークQ~Qは同時に学習させることが可能である。学習において、主ニューラルネットワークMには推論時の入力として想定される第1データxを入力する。図3に示した構成のように、N個の副ニューラルネットワークQ~Qのうち一つ以上が、他の副ニューラルネットワークQの出力によって得られた成分値yを入力の一部とする場合、当該成分値yの正解値と主ニューラルネットワークMが生成した中間データqとを当該副ニューラルネットワークの入力とする。図3に示した構成とは異なり、副ニューラルネットワークQとしてRNNやLSTMのように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いる場合には、各単位ステップについて用意された第2データyの正解値を、当該副ニューラルネットワークQが推論すべき第2データyの正解値として用いる。以上のように第1データxと第2データyの正解値とが組になるように用意した学習データを多数用いて誤差逆伝播法を適用することで、ニューラルネットワーク群を学習させることができる。すなわち、誤差逆伝播法によりニューラルネットワークの全体の係数Kが反復的に更新される。前述の通り、学習による更新後の係数Kが記憶装置12に記憶される。誤差逆伝播法により最小化する対象は、各副ニューラルネットワークQが第2データyの一つ以上の成分値yそのものを出力する場合には例えば正解値との2乗平均誤差、確率分布pを出力する場合には例えば当該確率分布pに対する正解値の対数尤度の符号を反転したものを用いることができる。
【0035】
2.5 周波数成分と変換
本実施形態では、時間領域の一般の系列データ(すなわち、時間軸上の相異なる時点に対応する複数のデータの時系列)と周波数領域の第2データyとが相互に変換できることを利用する。このような変換には大きく分けて二つの方法があり、一つは周波数基底に対する係数への変換およびその逆変換を用いる方法であり、もう一つはフィルタバンクを用いる方法である。
【0036】
2.5.1 周波数基底に対する係数への変換を用いる方法
周波数基底に対応する係数が、第2データyの各成分値yとして好適である。周波数基底の選び方には任意性があり、また一般の系列データを複数の周波数基底に対する係数からなるベクトルに変換もしくはその逆の変換をする方法は多数ある。例えば離散フーリエ変換(DFT; Discrete Fourier Transform)、離散コサイン変換(DCT; Discrete Cosine Transform)、離散サイン変換(DST; Discrete Sine Transform)、ウェーブレット変換、定Q変換などである。DFTでは複素正弦関数、DCTでは余弦関数、離散サイン変換では正弦関数が基底となり、ウェーブレット変換や定Q変換では特定の要件を満たす任意の基底が用いられる。なお、離散時間上の系列データに対してこの種の変換を考えるとき、基底の選び方と変換方法は必ずしも一対一に対応しない。例えばDCTには境界条件やその他の前提条件の設定方法に応じて多くの種類があり、これらの変換によって系列データから得られる係数は何れも余弦関数を基底とする係数であるにも関わらず、それぞれ異なった値となる。基底は直交基底に限らず、例えばウェーブレット変換や定Q変換を利用する場合には非直交基底も取り得る。何れの変換においても基底は一般の系列データの周波数成分に関係する。ただし、ここでいう周波数とはフーリエ変換の基底である複素正弦関数における周波数に限定せず、時間軸方向への基底の拡大縮小を制御する数一般を指す。
【0037】
選択し得る種々の周波数基底および変換の中でも、余弦関数を基底として用い、修正離散コサイン変換(MDCT; Modified Discrete Cosine Transform)によって得られる係数ベクトルの系列データを本実施形態における第2データyとして用いることが極めて好適である。なお、この変換は実数系列に対してのみ定義されるものなので複素数の系列データには利用できない。現実に扱う系列データは実数であることが多いので、この形態の利用範囲は極めて大きい。
【0038】
DCTは、実数系列から余弦関数の基底に対する係数への変換およびその逆変換の総称である。DFTが複素正弦関数を基底とし、実数系列に対しても複素数の係数を出力するのに対して、DCTが出力する係数は常に実数である。複素数は実数と虚数との組からなり、それらの相互的な依存関係をニューラルネットワークで扱うことは容易ではないのに対して、DCTが出力する実数の係数はニューラルネットワークの出力として容易に利用できる。また一般に、現実の系列データに対するDCTはDFTと比較して低周波数成分へのエネルギー集中性が良いことが知られている。この性質から、DCTの係数においては低周波数成分に対応する係数を十分に高い精度で表現すれば、高周波数成分に対応する係数を低い精度で表現しても元の系列データの情報を大きくは失わない。なお、DSTは、実数系列から正弦関数の基底に対する係数への変換およびその逆変換の総称である。DSTはDCTと比較すると低周波数成分へのエネルギー集中性は良くない。ただし、DSTは、DCTと同様に実数系列データに対して実数係数を出力する変換である。したがって、DCTやDSTの各種は、選択し得る種々の周波数基底および変換の中でも好適なものである。
【0039】
MDCTは離散コサイン変換の一種であり、特定の条件を満たす窓関数を特定の比率でオーバーラップさせたフレームによって単位時間毎の相互変換を行うことを前提として、他のDCTの種別やDFTと比較して、周波数基底に対応する係数の数を少なくすることができる。具体的な例では、2N点の窓関数を用いてN点の時間ステップで2重オーバーラップの変換を行うとき、各時間ステップの変換結果はN個の周波数基底に対する係数のベクトルとなる。同条件で他のDCTを用いた場合には2N個の周波数基底に対する係数のベクトルとなることと比較すると、MDCTではその半数の係数で元の系列データを完全に表現でき、2重にオーバーラップした窓関数を用いるにも関わらず、元の系列データと同じ点数で全時間範囲の全周波数基底に対する係数を表現できる。この性質は、周波数基底に対する係数のベクトルをニューラルネットワークの入力または出力として用いるとき、要求されるネットワークの規模削減に寄与する。したがってMDCTは、DCTの各変種の中でも好適なものである。
【0040】
2.5.2 レート変換フィルタバンクを用いる方法
第2データyの各成分値y(周波数成分)の別の一種として、系列データに対するレート変換フィルタバンク出力値がある。フィルタバンクとは、種々の通過周波数域をもつフィルタの集合体であり、系列データの間引きまたは内挿を伴うフィルタバンクをここではレート変換フィルタバンクとよぶ。さらに間引きを伴うフィルタバンクを分析フィルタバンク、内挿を伴うフィルタバンクを合成フィルタバンクとよぶ。一般の系列データに分析フィルタバンクを適用すると、各周波数帯域のフィルタ出力値がもとの系列データよりも低いサンプリング周波数で出力され(ダウンサンプリング)、各出力時刻における各周波数帯域のフィルタ出力値をベクトルとして構成すれば、本実施形態における第2データy(周波数成分ベクトル)として用いることができる。分析フィルタバンクが出力した系列データに合成フィルタバンクを適用すると、もとの系列データと同一もしくはほぼ同一の系列データが、もとの系列データのサンプリング周波数で出力される。
【0041】
本実施形態で好適に用いることができるレート変換フィルタバンクとして、直交ミラーフィルタ(QMF; Quadrature Mirror Filter)バンク、疑似QMF(PQMF; Pseudo Quadrature Mirror Filter)バンク、共役直交フィルタ(Conjugate Quadrature Filter)バンクなどがあり、これらのフィルタはポリフェーズ分解とその等価変換を用いることで、間引きや内挿を伴った計算を効率よく実行することができる。
【0042】
3.効果
3.1 計算量の削減
本実施形態において出力系列データはフレーム単位のベクトル系列であって主ニューラルネットワークMはこのフレームの単位ステップ毎に計算される。したがって、主ニューラルネットワークMの規模を大きく、副ニューラルネットワークQの規模を十分に小さくした本実施形態によれば、例えばWaveNetにおいて本実施形態の主ニューラルネットワークMと同規模のニューラルネットワークを用いてオーディオサンプルなどの系列データを直接推論するよりも計算量が小さくなる。
【0043】
最終的に得られる第2データyを時系列データに変換するケースでも、この変換を実行することの計算量の増加は、本実施形態を用いることによる計算量の削減に対して十分に小さい。特に、MDCTを含む周波数基底に対する係数への変換を利用する場合には、この変換はごく小規模な計算と逆離散フーリエ変換(IDFT; Inverse Discrete Fourier Transform)との組み合わせに帰着可能であって、IDFTは高速フーリエ変換(FFT; Fast Fourier Transform)のアルゴリズムを用いて効率的に計算が可能であるから、これによる計算量の増加は極めて小さい。
【0044】
3.2 受容野の拡大
有限長の系列データを扱うニューラルネットワークにおいて、単位時間あたりの出力値の推論に利用できる入力系列の長さを受容野とよぶ。目標とする時系列データの、継時的な変動構造を正確に反映した推論を実現するためには、その構造が表されるのに十分な長さの受容野が必要である。
【0045】
フィードフォワードニューラルネットワークや畳み込みニューラルネットワークは、その構成によって決まる有限の受容野をもつ。これらのニューラルネットワークでは、単純にニューラルネットワークの入力ノード数または畳み込みカーネルの大きさを増やすことによって受容野を長くすることが可能である。しかし、入力ノード数または畳み込みカーネルの大きさの増加は、学習時および推論時の計算量の増加に直結する。RNNやLSTMは、過去における推論の中間計算結果を推論に利用するため、理論上は過去のすべての入力値が利用できる。ただし、実際には過去の状態の影響は単位ステップ毎に徐々に小さくなるため、実質的には有限の受容野をもつことに相当し、またこの実質的な受容野の長さを制御することは容易ではない。
【0046】
本実施形態においては主ニューラルネットワークMへの入力をフレーム単位に相当する単位ステップ(単位時間)毎に行うので、フレーム間隔がNサンプルのとき、例えばWaveNetのようにサンプル単位で系列データを入力するニューラルネットワークと比較して、実質的な受容野がN倍長くなる。
【0047】
3.3 実質的な量子化誤差の低減
ニューラルネットワークにおいては、出力として期待する値が本来連続的なものであっても、量子化して取り得る値の何れかを出力する構成にする方が誤差の小さい推論が可能になる場合がある。WaveNetでは、音声波形をmu-law量子化して扱うことが提案されている。ただしこのとき、ニューラルネットワークの推論の誤差に加えて、量子化による誤差が発生する。一般に時系列データを直接量子化するよりも、いったん周波数領域の第2データyに変換してそれを量子化してから再度時系列データに変換する方が誤差が小さくなる。例えば音声や画像などの信号においては、この方法で量子化された信号は、直接量子化された信号に比べて誤差が知覚されにくい。この傾向から、最終的に時系列データを得るためには、本実施形態のように周波数基底係数を量子化したものに対するニューラルネットワークを利用する方が、WaveNetのように時系列データを直接量子化したものに対するニューラルネットワークを利用するよりも、量子化によって加わる誤差が知覚されにくい。
【0048】
3.4 周波数帯域毎の特性の利用
系列データには、周波数帯域毎に異なる特性をもつものがある。例えば人間の音声はおおよそ4kHz以下の周波数帯域にエネルギーの大部分が集中しており、これより高い周波数域で急激にエネルギーが小さくなる。また4kHz以下では概ね周期的な経時変動をするのに対して、それ以上の周波数帯域では非周期的な経時変動をする傾向がある。また4kHzより高い周波数帯域においては、人間の聴覚による感度が徐々に低下する。
【0049】
第2データyの各成分値yに対応する周波数帯域毎の特性を利用して、推論のための構成または方法を周波数帯域毎に相違させてもよい。例えば、成分値yを量子化する精度を周波数帯域毎に相違させた構成、副ニューラルネットワークQの規模を周波数帯域毎に相違させた構成、確率分布pの表現方法を周波数帯域毎に相違させた構成が想定される。以上の構成によれば、周波数帯域毎の推論の精度が非一様となり、ニューラルネットワークの規模に対して実質上高精度な推論を行える。例えば、前述の例示のように第1周波数と第2周波数とに着目する。第2周波数が第1周波数を下回る場合、第2周波数の成分値yn2に対応する副ニューラルネットワークQn2の規模は、第1周波数の成分値yn1に対応する副ニューラルネットワークQn1の規模よりも大きい。すなわち、低い周波数の成分値yに対応する副ニューラルネットワークQnほど規模を大きくした構成が好適である。
【0050】
また、周波数領域の第2データyを用いれば、推論時に出力された確率分布pに対して周波数帯域毎に異なる操作を加えることも可能である。例えば低周波数帯域では確率分布pの分散に相当するパラメタの値を小さくすることで、確率分布pの形状をより先鋭にし、確率分布pに基づくサンプリングによって発生する乱雑性を低下させることができる。この方法を適用して人間の音声を予測する場合、通常の方法よりも雑音成分を低減した音声を得ることができる。仮にWaveNetにおいてオーディオサンプル毎の確率分布に対して同様の方法を適用すると、その影響は全周波数範囲に及んでしまい、例えば4kHz以上の範囲で元来雑音性が大きくあるべき摩擦子音のような音声が適切に予測されなくなってしまう。しかし、本実施形態においては周波数帯域毎に雑音性の程度を制御できるので、このような問題は起こりにくい。
【0051】
3.5 広い応用範囲
スカラ値であるオーディオサンプルの時系列のみを対象としたWaveNetや、ベクトルの時系列を対象とするものの次元間の関係性をもった推論ができないNPSSと異なり、本実施形態はベクトルの次元間の関係性とそのベクトルの時系列構造または空間系列構造の双方を同時に加味した推論が可能であるので、より一般のベクトル系列データに対して直ちに応用が可能である。
【0052】
4.実施例
4.1 ニューラルボコーダとしての実施例
4.1.1 概要
主に振幅スペクトルに関係する低次元の音声の特徴量を入力として、それに対応する波形を出力するニューラルネットワークが、ニューラルボコーダと呼ばれている。ニューラルボコーダに入力される音声の特徴量は、例えばメルケプストラムの低次係数と基本周波数情報との組み合わせやメルスペクトログラムなどである。これらの特徴量は、公知の変換技術によって、例えばテキスト情報をもとに生成される。そのような変換技術とニューラルボコーダとを組み合わせれば、情報処理装置100は、テキスト情報から音声波形を得る音声合成システムとして機能する。なお、振幅スペクトルは位相の情報をもたないため、これを低次元表現に圧縮した特徴量も、逆フーリエ変換などの簡単な関数では波形に変換できない。そこでニューラルボコーダでは、このような関数の代わりに、現実に生起する音声特徴量と波形との組みを事前に学習したニューラルネットワークを用意し、そのニューラルネットワークを用いて振幅スペクトルに関係する特徴量を波形に変換する。
【0053】
波形ではなく第2データyを推論する本実施形態を用い、主ニューラルネットワークMの規模を十分に大きくしたうえで、各副ニューラルネットワークQの規模を小さくすれば、WaveNetの数分の一から数十分の一の計算量でWaveNetと同等の品質の音声を推論できる。また音声の特徴量ベクトルは一般的に音声波形と比較すると経時的に滑らかに変化するものであり、WaveNetにおいても本実施形態においても5~10ミリ秒程度の時間ステップによる特徴量ベクトルから十分な品質の音声が得られる。しかし、WaveNetにおいてはオーディオサンプル単位でニューラルネットワークの計算が行われるため、100マイクロ秒程度の時間ステップ毎にこの特徴量ベクトルを補間しなければならない。本実施形態においてはこの補間処理の頻度も数分の一から数十分の一に減少させることができる。
【0054】
音声波形の代替となる第2データyとしては、音声波形に対して2~64サンプル程度のフレーム間隔によるMDCTを適用して得られる係数ベクトル列を用いることが好適である。音声波形には雑音的な成分が多く含まれることを考慮すると、そのMDCT係数の値そのものよりも確率的な性質が重要である場合が多いので、各副ニューラルネットワークQの出力は、各次元のMDCT係数の確率分布もしくはその確率分布を表現するパラメタとすることが好適である。このとき各次元のMDCT係数を量子化して扱い離散値に対する確率分布を用いても良いし、量子化せずに扱い連続値に対する確率分布のパラメタを用いて、それを各副ニューラルネットワークQによって出力しても良い。
【0055】
N個の副ニューラルネットワークQ~Qは、高周波数成分の係数の推論が低周波数成分の係数の推論の計算によって得られた値に依存するように構成することが好適である。副ニューラルネットワークQは規模が小さく推論には誤差を伴うことと、確率分布からのサンプリングを介するために、他の副ニューラルネットワークQへの直接あるいは間接的な依存性の数が大きい副ニューラルネットワークQほど、推論の精度が低下する。音声信号においては概ね低い周波数域ほどエネルギーが大きく周期的であり聴覚における知覚が繊細であって、高い周波数域ほどエネルギーが小さく非周期的であり聴覚における知覚が鈍感であることから、低周波数帯域を正確に推論することでよい品質の音声が得られる。したがって、低周波数帯域が正確に推論され、高周波数域はその推論結果に条件づけられた推論が行われることが合理的である。
【0056】
単一のRNNやLSTMを副ニューラルネットワークQとすることも可能である。ただし、図3に示したように複数の副ニューラルネットワークQ~Qを用い、これら副ニューラルネットワークQは単純なフィードフォワード型のニューラルネットワークまたは畳み込みニューラルネットワークとする方が、依存関係をより柔軟に設計でき、なおかつ誤差逆伝播法による学習が比較的高速に収束するため好適である。
【0057】
以下では本実施例において好適と述べた上記の各条件に基づいて説明する。
【0058】
4.1.2 学習
学習に用いる音声の任意の時間範囲における第2データyの正解値とそれに対応する入力データDin(特徴量ベクトルの系列データ)とを入力とし、入力とした時間範囲の次の単位ステップにおけるMDCT係数ベクトルを最終的な出力の目標値としてニューラルネットワーク全体を学習する。実際に各副ニューラルネットワークQが出力するのはMDCTの各基底に対する係数に対する確率分布であるので、この確率分布に対する目標値の対数尤度関数の符号を反転した値を最小化するように誤差逆伝搬法を適用することで、ニューラルネットワーク全体がもつ重み係数Kを更新する。学習に用いる多数の音声に対してこの手順を繰り返すことで、ニューラルネットワーク全体が持つ重み係数Kは徐々に最適化される。前述の通り、学習による更新後の係数Kが記憶装置12に記憶される。
【0059】
上記学習の手順において、各副ニューラルネットワークQには、主ニューラルネットワークMの出力と、当該副ニューラルネットワークQが依存する副ニューラルネットワークQの出力に対応するMDCT係数の正解値を入力する。このような学習によって、主ニューラルネットワークMは、その入力の系列データの特徴を単一のベクトルに圧縮するある種の符号化器として訓練され、各副ニューラルネットワークQは、当該周波数帯域のMDCT係数値の確率分布を、より低周波数域の系数値の出力と主ニューラルネットワークMが出力するベクトルとに条件づけられたものとして推論するニューラルネットワークとして訓練される。
【0060】
4.1.3 推論
本実施形態のニューラルネットワークを、各時刻の直前における出力ベクトルを最新の入力値とするように自己回帰的に用いれば、所望の時間範囲(以下「合成範囲」という)にわたる目標とする音声の入力データDin(特徴量ベクトル)に対応する第2データyを得ることができ、それに対して逆MDCTを適用すれば目標とする音声の波形を得ることができる。より具体的には以下の手順を実行すればよい。
【0061】
[手順1]制御装置11は、合成範囲内における最初の時間ステップについて、音声の第2データyの初期値と、目標とする音声の特徴量のベクトルの系列データのうち先頭の入力データDinとを主ニューラルネットワークMに入力する。第2データyの初期値は、全MDCT係数の値が0であることに対応するベクトルか、あるいは目標とする音声の最初の信号に対応するMDCT係数があらかじめわかっている場合には、それに対応するベクトルが使用される。手順1は、図4のステップSa1およびSa2に相当する。
[手順2]制御装置11は、主ニューラルネットワークMが出力する中間データqを、最低周波数域(n=1)のMDCT係数に対応する副ニューラルネットワークQに入力し、当該帯域のMDCT係数の確率分布を得る。手順2は、図4のステップSb1_1に相当する。
[手順3]前の手順で得られた確率分布に従う擬似乱数を生成することで、当該帯域のMDCT係数yを得る。手順3は、図4のステップSbn_2に相当する。
[手順4]制御装置11は、主ニューラルネットワークMが出力する中間データqと、前の手順までに推論された低周波数域のMDCT係数yのうち1つ以上とを別の副ニューラルネットワークQに入力し、当該MDCT係数の確率分布を得る。手順3は、図4のステップSbn_1に相当する。
[手順5]当該単位ステップのMDCT係数の全てに対して手順4および手順3が反復されることで、、MDCT係数ベクトルyが生成される。
[手順6]制御装置11は、以上の手順で得られたMDCT係数ベクトルを当該単位ステップの最終的な出力値として出力するとともに、これを第2データyの最新の単位ステップの値として記録する。
[手順7]制御装置11は、処理対象となる単位ステップを1個進め、直前の1以上の単位ステップについて出力された1以上の第2データyと、目標とする音声の特徴を表す入力データDinとを含む第1データxを主ニューラルネットワークMに入力する。
[手順8]制御装置11は、手順7,2~6を、合成範囲内の音声の合成に十分な回数にわたり繰り返す。
[手順9]制御装置11は、第2データyの時系列に対して逆MDCTを適用することで、合成範囲内の音声波形を得る。手順9で得られた音声波形を表す音響信号Aが放音装置13に供給される。音響信号Aに対応する音が放音装置13から放音される。手順9は、図4のステップScに相当する。
【0062】
4.2 音声合成器としての実施例
前記ニューラルボコーダで用いた音声に対応する特徴量ベクトルの代わりに、離散化した音素シンボルの系列データを入力データDinとして用いたり、さらに高度な例ではアルファベットまたは漢字などの一般的な書き文字の系列データを入力データDinとして用いることで、音素シンボルまたは書き文字に対応する音声を生成する、より直接的な音声合成器として実施することが可能である。
【0063】
4.3 オーディオエフェクトとしての実施例
入力オーディオ信号に対応するMDCT係数ベクトル系列データに、任意の変換(例えばピッチチェンジャーまたはマルチバンドコンプレッサー等)を加えて、出力オーディオ信号に対応するMDCT係数ベクトル系列データを得る。前記ニューラルボコーダで用いた音声に対応する特徴量ベクトルの代わりに、その変換の性質に関する情報を与えて学習および推論する。本実施例の場合、出力ベクトルを入力として回帰せず、代わりに、入力オーディオ信号に対応するMDCT係数ベクトル系列データを入力とすることでも実施が可能である。
【0064】
5.その他
前述の形態に係る情報処理装置100の機能は、コンピュータ(例えば制御装置11)とプログラムとの協働により実現される。本発明の好適な態様に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされる。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を含む。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに提供してもよい。
【0065】
ニューラルネットワークを実現するための人工知能ソフトウェアの実行主体はCPUに限定されない。例えば、Tensor Processing UnitおよびNeural Engine等のニューラルネットワーク専用の処理回路、または、人工知能に専用されるDSP(Digital Signal Processor)が、人工知能ソフトウェアを実行してもよい。また、以上の例示から選択された複数種の処理回路が協働して人工知能ソフトウェアを実行してもよい。
【0066】
<付記>
以上に例示した形態から、例えば以下の構成が把握される。なお、各態様の理解を容易にするために、以下の記載では、前述の形態で使用した符号を便宜的に括弧書で併記するが、本発明を、前述の形態の限定する趣旨ではない。
【0067】
[第1態様]
本発明の第1態様に係る情報処理方法は、時間軸上の複数の単位ステップの各々において、第1データ(x)から当該第1データ(x)の代替表現を表す中間データ(q)を第1ニューラルネットワーク(主NN)により生成する第1処理と、複数の周波数にそれぞれ対応する複数の成分値(y~y)を含む第2データ(y)を前記中間データ(q)から生成する第2処理とを実行し、前記第2処理は、前記複数の成分値をそれぞれ生成する複数の単位処理を含み、前記複数の単位処理の各々は、前記中間データ(q)が入力される第2ニューラルネットワーク(副NN)による推定を含み、前記複数の単位処理のうち第1周波数に対応する第1成分値(yn1)を生成する第1単位処理においては、前記第1単位処理とは相違する第2単位処理により前記第1周波数以外の第2周波数について生成された第2成分値(yn2)または当該第2単位処理の過程で生成される中間値が、前記中間データ(q)とともに前記第2ニューラルネットワーク(副NN)に入力される。
【0068】
以上の構成によれば、複数の単位処理のうち第1周波数に対応する第1成分値を生成する第1単位処理において、第2単位処理により第2周波数について生成された第2成分値または当該第2単位処理の過程で生成される中間値が、中間データとともに第2ニューラルネットワークに入力される。したがって、第1成分値と第2成分値との間の依存を反映した第2データを生成することが可能である。
【0069】
以上の態様では、複数の単位処理のうち任意の2個の単位処理(第1単位処理,第2単位処理)のみに便宜的に着目した。他の単位処理における入力の如何(入力の総数や範囲など)は不問である。また、第1単位処理において、第2成分値(または中間値)以外の成分値が第2ニューラルネットワークに入力されるか否かは不問である。
【0070】
第2処理は、例えば、(1)相異なる周波数に対応するN個の副NNによりN個の成分値を生成する処理、または、(2)1個のRNNにより成分値の生成をN回にわたり反復する処理、である。
【0071】
RNNを副NNとして利用した場合には、成分値ではなく、副NNにおける途中の算定値(中間値)が次回の推定に適用される。
【0072】
単位処理は、例えば、(1)第2ニューラルネットワークによる確率分布の推定および確率分布に従う成分値の決定、または、(2)第2ニューラルネットワークによる直接的な成分値の推定である。(1)の構成において、前記複数の単位処理の各々は、前記中間データ(q)が入力される第2ニューラルネットワーク(副NN)により前記成分値の確率分布を推定する処理と、当該確率分布から成分値を決定する処理とを含む。
【0073】
[第2態様]
第1態様の好適例(第2態様)において、前記複数の単位処理のうち第1周波数に対応する第1成分値(yn1)を生成する第1単位処理においては、前記第2単位処理を含む2以上の単位処理により生成された2以上の成分値、または当該2以上の単位処理の過程で生成される中間値が、前記中間データ(q)とともに前記第2ニューラルネットワーク(副NN)に入力される。
【0074】
[第3態様]
第1態様の好適例(第3態様)において、前記複数の単位処理は、N個の単位処理であり、第n番目(n=2~N)の単位処理では、第1番目から第(n-1)番目の単位処理により生成された(n-1)個の成分値、または当該各単位処理の過程で生成される中間値が、前記中間データ(q)とともに前記第2ニューラルネットワーク(副NN)に入力される。
【0075】
[第4態様]
第1態様から第3態様の何れかの好適例(第4態様)において、前記成分値は、離散コサイン変換(DCT)または離散サイン変換(DST)の係数に相当する。
【0076】
[第5態様]
第1態様から第3態様の何れかの好適例(第5態様)において、前記成分値は、修正離散コサイン変換(MDCT)の係数に相当する。
【0077】
[第6態様]
第1態様から第3態様の何れかの好適例(第6態様)において、前記成分値は、前記複数の成分値にそれぞれ対応し、ダウンサンプリングを伴う複数のフィルタを含むフィルタバンクの出力値に相当する。
【0078】
[第7態様]
第1態様から第6態様の何れかの好適例(第7態様)において、前記第2周波数は前記第1周波数を下回る。
【0079】
[第8態様]
第7態様の好適例(第8態様)において、前記複数の単位処理の各々は、相異なる第2ニューラルネットワークによる推定を含み、前記第2周波数に対応する前記第2ニューラルネットワークの規模は、前記第1周波数に対応する前記第2ニューラルネットワークの規模よりも大きい。なお、ニューラルネットワークの規模とは、例えば層数、1層内のノード数またはチャネル数である。また、畳み込みニューラルネットワークにおいては、畳み込みに適用されるカーネルのサイズも、当該ニューラルネットワークの規模として観念される。
【0080】
[第9態様]
第1態様から第8態様の何れかの好適例(第9態様)において、前記第2ニューラルネットワークの規模は、前記第1ニューラルネットワークの規模よりも小さい。
【0081】
以上に例示した各態様の情報処理方法を実行する情報処理装置、または、以上に例示した各態様の情報処理方法をコンピュータに実行させるプログラムとしても、本発明の好適な態様は実現される。
【符号の説明】
【0082】
100…情報処理装置、11…制御装置、12…記憶装置、13…放音装置、21…前処理部、22…情報処理部、23…波形生成部、31…第1処理部、32…第2処理部、M…主ニューラルネットワーク、U(U~U)…単位処理部、Q(Q~Q)…副ニューラルネットワーク、D(D~D)…サンプリング部。
図1
図2
図3
図4
図5