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

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

▶ 国立大学法人電気通信大学の特許一覧 ▶ 大学共同利用機関法人情報・システム研究機構の特許一覧

特許7019138符号化装置、符号化方法およびプログラム
<>
  • 特許-符号化装置、符号化方法およびプログラム 図1
  • 特許-符号化装置、符号化方法およびプログラム 図2
  • 特許-符号化装置、符号化方法およびプログラム 図3
  • 特許-符号化装置、符号化方法およびプログラム 図4
  • 特許-符号化装置、符号化方法およびプログラム 図5
  • 特許-符号化装置、符号化方法およびプログラム 図6
  • 特許-符号化装置、符号化方法およびプログラム 図7
  • 特許-符号化装置、符号化方法およびプログラム 図8
  • 特許-符号化装置、符号化方法およびプログラム 図9
  • 特許-符号化装置、符号化方法およびプログラム 図10
  • 特許-符号化装置、符号化方法およびプログラム 図11
  • 特許-符号化装置、符号化方法およびプログラム 図12
  • 特許-符号化装置、符号化方法およびプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-04
(45)【発行日】2022-02-15
(54)【発明の名称】符号化装置、符号化方法およびプログラム
(51)【国際特許分類】
   G06N 7/00 20060101AFI20220207BHJP
   G10L 19/02 20130101ALI20220207BHJP
【FI】
G06N7/00 150
G10L19/02 160Z
【請求項の数】 5
(21)【出願番号】P 2017037640
(22)【出願日】2017-02-28
(65)【公開番号】P2018142278
(43)【公開日】2018-09-13
【審査請求日】2020-02-05
(73)【特許権者】
【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
(73)【特許権者】
【識別番号】504202472
【氏名又は名称】大学共同利用機関法人情報・システム研究機構
(74)【代理人】
【識別番号】110000925
【氏名又は名称】特許業務法人信友国際特許事務所
(72)【発明者】
【氏名】中鹿 亘
(72)【発明者】
【氏名】高木 信二
(72)【発明者】
【氏名】山岸 順一
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開平04-246766(JP,A)
【文献】国際公開第2015/148189(WO,A1)
【文献】特開2016-143043(JP,A)
【文献】David P. Reichet and Thomas Serre,Neuronal Synchrony in Complex-Valued Deep Networks,arXiv.org,米国,Cornell University,2014年03月22日,pp.1-14,https://arxiv.org/pdf/1312.6115.pdf
【文献】KyungHyun Cho, Tapani Raiko and Allexander Ilin,Gaussian-Bernoulli Deep Boltzmann Machine,The 2013 International Joint Conference on Neural Networks (IJCNN),米国,IEEE,2013年,pp.1-7,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6706831
(58)【調査した分野】(Int.Cl.,DB名)
G06N 7/00
G10L 19/02
(57)【特許請求の範囲】
【請求項1】
入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用データに対して、前記隠れ素子および前記結合重みを推定する処理を行うパラメータ学習ユニットと、
符号化用入力データに対して、前記パラメータ学習ユニットで推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子を符号化データとして出力する符号化ユニットとを備え、
前記学習用データおよび前記符号化用入力データは複素数データであり、前記制限ボルツマンマシンによる確率モデルのエネルギー関数に実部と虚部のクロスタームが含まれている
符号化装置。
【請求項2】
前記制限ボルツマンマシンによる確率モデルは、I次元のデータz∈CIで構成される可視素子zと隠れ素子hを持ち、モデルのパラメータ集合をθ、そのパラメータ集合θを構成するパラメータをb、c、W、γ、およびδ、可視素子のバイアスをb∈CI、隠れ素子のバイアスをc∈RJ、可視素子と隠れ素子との間の複素結合重みをW∈CI×J、各符号のオーバーラインを複素共役、Hはエルミート転置としたとき、以下の式によって定義される

請求項1に記載の符号化装置。
【請求項3】
さらに、前記符号化ユニットで得られた符号化データを復号化する復号化処理ユニットを備えた
請求項1~2のいずれか1項に記載の符号化装置。
【請求項4】
入力データを表現する可視素子と、潜在的な情報を表現した隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用データに対して、前記隠れ素子および前記結合重みを推定する処理を演算処理部が実行するパラメータ学習処理と、
符号化用入力データに対して、前記パラメータ学習処理で推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定する処理を演算処理部が実行し、推定した前記隠れ素子を符号化データとして出力する符号化処理と、
を含み、
前記パラメータ学習処理で得られる前記学習用データと前記符号化処理で得られる前記符号化用入力データは複素数データであり、前記制限ボルツマンマシンによる確率モデルのエネルギー関数に実部と虚部のクロスタームが含まれている
符号化方法。
【請求項5】
入力データを表現する可視素子と、潜在的な情報を表現した隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、前記入力データに対して、前記隠れ素子および前記結合重みを推定する処理を行い、複素数データである学習用データを得るパラメータ学習ステップと、
前記入力データに対して、前記パラメータ学習ステップで推定した制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子を、複素数データである符号化データとして出力する符号化ステップとを、含み、
前記制限ボルツマンマシンによる確率モデルのエネルギー関数に実部と虚部のクロスタームが含まれている
前記各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化装置および符号化方法、並びに符号化方法を実行するプログラムに関する。
【背景技術】
【0002】
近年、ディープラーニングを用いた手法が飛躍的に高い精度を上げ、画像認識や音声認識など、幅広い分野において盛んに研究され、利用が進んでいる。これまでに数多くのディープラーニング手法が提案されているが、最も代表的なモデルとして、制限ボルツマンマシン(restricted Boltzmann machine:以下、「RBM」と称する)が用いられている。また、RBMを多層に積み重ねたDeep Belief Net (以下、「DBN」と称する) も用いられている。さらに、様々なRBMの拡張モデルも提案されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】“Lending Direction to Neural Networks”:Neural Networks Vol.8. No4.pp503-512,1995(Richard S.Zemel,Christopher K.Williams,Michael C.Mozer)
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来、RBMを利用した特徴量抽出処理としては、いずれのアプローチでも入力特徴量はバイナリまたは実数値が使用されていた。
例えば音声認識や音声合成などの音声処理を行う場合には、メル周波数ケプストラム係数(Mel-Frequency Cepstrum Coefficients :MFCC)、メルケプストラム特徴量、STRAIGHTスペクトルなどの振幅スペクトルに基づいた音響特徴量が利用されている。ところが、振幅スペクトルに基づいた音響特徴量抽出では、位相情報が欠落しており、元の複素数表現された音声データに対して少なからず情報の損失が存在する。
ここでは音声処理を例に説明したが、その他の複素数情報から特徴量抽出をする場合にも、情報の損失が存在するという問題があった。
【0005】
なお、非特許文献1には、ボルツマンマシンで複素数を使って特徴量を抽出する技術が記載されているが、この技術は、上述したRBMやDBNを適用したものではないため、特徴量の抽出がより精度よく行うことができる手法の開発が望まれていた。
【0006】
本発明は、複素数に対してRBMを適用し、精度の良い特徴抽出を行うことで、その特徴量抽出に基づいた良好な符号化ができる符号化装置、符号化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の符号化装置は、パラメータ学習ユニットと符号化ユニットとを備える。
パラメータ学習ユニットは、入力データを表現する可視素子と、潜在的な情報を表現した隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用データに対して、隠れ素子および結合重みを推定する処理を行う。
符号化ユニットは、符号化用入力データに対して、パラメータ学習ユニットで推定した制限ボルツマンマシンによる確率モデルを適用して、隠れ素子を推定し、推定した隠れ素子を符号化データとして出力する。
ここで、学習用データおよび符号化用入力データは複素数データであり、制限ボルツマンマシンによる確率モデルのエネルギー関数に実部と虚部のクロスタームが含まれていることを特徴とする。
【0008】
また本発明の符号化方法は、パラメータ学習処理と符号化処理とを含む。
パラメータ学習処理は、入力データを表現する可視素子と、潜在的な情報を表現した隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用データに対して、隠れ素子および結合重みを推定する処理を行う。
符号化処理は、符号化用入力データに対して、パラメータ学習処理で推定した制限ボルツマンマシンによる確率モデルを適用して、隠れ素子を推定し、推定した隠れ素子を符号化データとして出力する。
ここで、パラメータ学習処理で得られる学習用データと符号化処理で得られる符号化用入力データは複素数データであり、制限ボルツマンマシンによる確率モデルのエネルギー関数に実部と虚部のクロスタームが含まれていることを特徴とする。
【0009】
また本発明のプログラムは、複素数データで構成される学習用データおよび符号化用入力データを入力として、上述した符号化方法のパラメータ学習処理を実行するステップと、符号化処理を実行するステップをコンピュータに実行させるものである。
【発明の効果】
【0010】
本発明によると、制限ボルツマンマシン(RBM)を複素数に拡張した複素RBMによる特徴量の抽出を行うことができ、高い精度で入力データから特徴量を抽出して符号化することが可能になるので、効率の良い符号化が行えるようになる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施の形態例による符号化装置の構成例を示すブロック図である。
図2図1の符号化装置のハードウェア構成例を示すブロック図である。
図3】本発明の一実施の形態例に適用される確率モデルである、複素RBM(Restricted Boltzmann machine)を模式的に示す図である。
図4】本発明の一実施の形態例によるパラメータ学習の流れを示すフローチャートである。
図5】本発明の一実施の形態例による符号化の流れを示すフローチャートである。
図6図4のステップS13の複素RBMの学習処理を示すフローチャートである。
図7図5のステップS23の符号化処理を示すフローチャートである。
図8】本発明の一実施の形態例により符号化されたデータを復号化する復号化装置の構成例を示すブロック図である。
図9】本発明の一実施の形態例による復号化の流れを示すフローチャートである。
図10図9のステップS52の復号化処理を示すフローチャートである。
図11】オリジナルデータ(図11A)と、本発明の一実施の形態例を適用した符号化データ(図11B)との例を示す図である。
図12】本発明を適用した複素RBMによる再構築エラーと、従来例(GB-RBM)による再構築エラーとを比較した特性図である。
図13】本発明の一実施の形態例に適用される複素RBMを多層化した例を模式的に示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の好適な一実施の形態例について説明する。
【0013】
[1.符号化装置の構成例]
図1は、本発明の一実施の形態例にかかる符号化装置の構成例を示す図である。図1に示すように、コンピュータ(PC)等により構成される符号化装置1は、パラメータ学習ユニット11と符号化処理ユニット12とを備える。
パラメータ学習ユニット11は、符号化を行うデータと同じ種類のデータについて事前に学習処理を行い、符号化に必要なパラメータを得る。符号化処理ユニット12は、その学習処理で得たパラメータを使って、入力データ(符号化用データ)の符号化を行う。
符号化を行う入力データとしては、音声データ、画像データなど様々なデータが適用可能である。但し、後述するように本実施の形態例で扱う学習データおよび入力データは複素数データである。
【0014】
パラメータ学習ユニット11は、複素数データ取得部111と前処理部112とパラメータ推定部113とを備える。複素数データ取得部111には、学習用複素数データが供給される。複素数データ取得部111で取得した学習用複素数データは、前処理部112で前処理が行われた後、パラメータ推定部113に供給される。
例えば、複素数データ取得部111で取得される学習用複素数データが音声データの場合には、前処理部112は、学習用の音声データを単位時間ごと(以下、フレームという)に切り出して、MFCC(Mel-Frequency Cepstrum Coefficients:メル周波数ケプストラム係数)やメルケプストラム特徴量などのフレームごとの音声信号のスペクトル特徴量を計算し、これを正規化する。なお、この前処理部112での処理で学習用データを複素数データに変換してもよい。
【0015】
パラメータ推定部113は、可視素子推定部1131と隠れ素子推定部1132とによって構成される確率モデルを持つ。本実施の形態例では、可視素子推定部1131および隠れ素子推定部1132で構成される確率モデルとして、RBMを複素数に拡張した複素RBM(Complex RBM)を使用する。なお、複素RBMの確率モデルは、可視素子および隠れ素子の他に、素子間の結合重みの情報についても有し、パラメータ推定部113は、この結合重みの情報についても推定して持つ。この複素RBMの詳細については後述する。
【0016】
符号化処理ユニット12は、複素数データ取得部121と前処理部122と符号化部123とを備える。
複素数データ取得部121には、符号化用複素数データが供給される。複素数データ取得部121で取得された符号化用複素数データは、前処理部122で前処理が行われた後、符号化部123に供給される。
前処理部122は、パラメータ学習ユニット11の前処理部112と同じ構成である。この前処理部122における処理により、符号化用データを複素数データに変換してもよい。
【0017】
符号化部123は、パラメータ学習ユニット11のパラメータ推定部113と同じ構成であり、可視素子推定部1231で得た可視素子と隠れ素子推定部1232で得た隠れ素子とによって構成される複素RBMの確率モデルを備える。可視素子推定部1231および隠れ素子推定部1232で、可視素子および隠れ素子を推定する際には、パラメータ学習ユニット11のパラメータ推定部113で推定したパラメータが利用される。
【0018】
符号化装置1は、符号化部123の隠れ素子推定部1232で推定された隠れ素子を、符号化データとして外部に出力する。
なお、図1に示す構成では、学習処理を行うパラメータ推定部113と、入力データの符号化処理を行う符号化部123を個別の構成としたが、パラメータ推定部113と符号化部123は、ほぼ同じ機能を有しており、パラメータ推定部113で符号化部123の処理を行うようにしてもよい。複素数データ取得部111,121や前処理部112,122についても共通化してもよい。
【0019】
図2は、符号化装置1のハードウェア構成例を示す図である。ここでは、符号化装置1をコンピュータ(PC)で構成した例を示す。
図2に示すように、符号化装置1は、バス107を介して相互に接続されたCPU(中央制御ユニット:Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)/SSD(Solid State Drive)104、接続I/F(Interface)105、通信I/F106を備える。CPU101は、RAM103をワークエリアとしてROM102またはHDD/SSD104等に格納されたプログラムを実行することで、符号化装置1の動作を統括的に制御する。接続I/F105は、符号化装置1に接続される機器とのインターフェースである。通信I/Fは、ネットワークを介して他の情報処理機器と通信を行うためのインターフェースである。
【0020】
学習用データや符号化用データの入出力および設定は、接続I/F105または通信I/F106を介して行われる。図1で説明した符号化装置1の機能は、CPU101において所定のプログラムが実行されることで実現される。プログラムは、記録媒体を経由して取得してもよく、ネットワークを経由して取得してもよく、ROMに組み込んで使用してもよい。また、一般的なコンピュータとプログラムの組合せでなく、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの論理回路を組むことで、符号化装置1の構成を実現するためのハードウェア構成にしてもよい。
【0021】
[2.複素RBMの定義]
次に、パラメータ推定部113および符号化部123が持つ確率モデルである、複素RBMについて説明する。
RBMは、入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子の間に双方向の接続重みが存在する(ただし可視素子間または隠れ素子間には接続はない)と仮定した確率モデルであり、複素RBMは、実部と虚部を持つ複素数にRBMを拡張したものである。
図3は、本実施の形態例の複素RBMのグラフ表現例を示す。
図3の例は、複素数となるI次元のデータz∈Cを可視素子とする複素RBMのモデルを示す。
図3において、zは可視素子、hは隠れ素子、W′は可視素子zと隠れ素子hとの間の双方向結合重みであり、b′は可視素子zのバイアス、cは隠れ素子hのバイアス、qは共役を示す。また、各符号の上に付けた線(オーバーライン)は複素共役を示す。
【0022】
この複素RBMは、次の[数1]式~[数4]式で定義される。ここでは、I次元のデータz∈Cを可視素子とし、確率モデルのパラメータの集合をθとし、上付きのHはエルミート転置を示す。
【0023】
【数1】
【0024】
【数2】
【0025】
【数3】
【0026】
【数4】
【0027】
また、[数3]式のΦは、[数5]式で定義され、[数5]式で定義される複素数Zの分散と疑似分散(共役複素数との共分散)を表すパラメータは、[数6]式で定義される。ただし、Δは入力されたベクトルが対角成分となる対角行列を返す関数である。
【0028】
【数5】
【0029】
【数6】
【0030】
結局、複素RBMのパラメータは、θ={b、c、W、γ、δ}となる。ここで、[数7]式および[数8]式を導入する。但し、[数7]式および[数8]式において、分数線は要素除算を表す。
【0031】
【数7】
【0032】
【数8】
【0033】
これより、[数9]式となる。
【0034】
【数9】
【0035】
[数3]式で定義されるエネルギー関数は、[数10]式に書き直すことができる。Rは入力された複素数の実部を返す関数である。
【0036】
【数10】
【0037】
ここで、エネルギー関数は実数値となる。複素可視素子zの各次元は共役複素数との結合が存在するが、通常のRBM(複素でないRBM)のように次元間の結合は存在しないことが確認できる。さらに、次の[数11]式および[数12]式を用いることで、[数3]式は[数13]式となる。
【0038】
【数11】
【0039】
【数12】
【0040】
【数13】
【0041】
この[数13]式から、図3に示すように、zとh、z()とhの関係性は、互いに共役空間を挟んで鏡像の関係にあることが分かる。なお、本明細書中に示す「z()」の「()」は、複素共役を示すオーバーラインであり、本来は、図2に示すように「-」が「z」の上に付加されるものであるが、本明細書では記載上の制約から「z()」と記載することとする。他の記号に付加されるオーバーラインについても、本明細書では同様に記載する。
以上の定義から、隠れ素子が与えられたときの可視素子の条件付き確率、および可視素子が与えられたときの隠れ素子の条件付き確率は、それぞれ[数14]式および[数15]式で表すことができる。
【0042】
【数14】
【0043】
【数15】
【0044】
但し、CN(・;μ,Γ,C)は平均μ、分散共分散行列Γ、疑似分散共分散行列Cの多変量複素正規分布である[数16]式および[数17]式で定義される。B(・;π)は成功確率πの多次元ベルヌーイ分布を表す。f(・)は要素ごとのシグモイド関数を表す。Dはzの次元数である。
【0045】
【数16】
【0046】
【数17】
【0047】
[3.学習処理動作および符号化処理動作]
次に、本実施の形態例の複素RBMを適用して行われる符号化処理について説明する。
図4は、パラメータ学習ユニット11が行うパラメータ学習動作の流れを示すフローチャートである。
まず、複素数データ取得部111が学習用の複素数データを取得し(ステップS11)、前処理部112がその複素数データの前処理を実行する(ステップS12)。例えば、複素数データ取得部111は、学習用のデータが音声データである場合には、学習用音声データをフレームごと(例えば、5msecごと)に切り出し、切り出された学習用音声信号にFFT処理などを施すことでスペクトル特徴量(例えば、MFCCやメルケプストラム特徴量)を算出する。なお、この前処理にて学習用データを複素数データとしてもよい。
【0048】
次に、前処理が施された複素数データがパラメータ推定部113に供給され、パラメータ推定部113は、複素数データのパラメータ学習処理を行う(ステップS13)。ステップS13で行われるパラメータ学習処理の詳細については後述する(図6)。
このパラメータ学習処理で複素RBMのモデルが持つ各パラメータが決定され、記憶される。そして、記憶されたパラメータが、パラメータを符号化部123に引き渡されて、符号化部123で符号化される(ステップS14)。
【0049】
図5は、符号化処理ユニット12が行う符号化処理の流れを示すフローチャートである。
まず、複素数データ取得部121が符号化用複素数データを取得し(ステップS21)、前処理部122がその複素数データの前処理を実行する(ステップS22)。ここでの前処理は、前処理部112が行うステップS12での前処理と同じである。なお、先に前処理部112の構成で述べたように、この前処理によって、入力データを複素数データとしてもよい。
【0050】
前処理が施された複素数データは符号化部123に供給され、符号化部123は、ステップS14で引き渡された複素RBMのモデルが持つパラメータを使って隠れ素子を推定するとともに、符号化処理を行う(ステップS23)。ステップS23で行われる符号化処理の詳細については後述する(図7)。そして、符号化処理ユニット12は、ステップS23で得られた隠れ素子を符号化データとして出力する(ステップS24)。
【0051】
図6は、図4のステップS13で行われるパラメータ学習処理の詳細を示すフローチャートである。
まず、パラメータ推定部113は、複素RBMのモデルが持つパラメータとして任意の値を設定する(ステップS31)。次に、パラメータ推定部113の可視素子推定部1131に、前処理が施された学習用複素数データを入力する(ステップS32)。
その後、パラメータ推定部113は、複素RBMのモデルの隠れ素子の確率値を計算し、計算値をサンプリングする(ステップS33)。なお、ここで「サンプリングする」とは、条件付き確率密度関数に従うデータをランダムに1つ生成することをいい、以下、同じ意味で用いる。
【0052】
また、パラメータ推定部113は、複素RBMのモデルの可視素子の確率値を計算し、計算値をサンプリングし(ステップS34)、その後、複素RBMのモデルの隠れ素子の確率値を再度計算し、計算値を再サンプリングする(ステップS35)。そして、パラメータ推定部113は、ここまでの計算で得られた各種パラメータを、複素RBMのモデルを構成するパラメータとして更新し、更新値を記憶する(ステップS36)。
【0053】
ステップS36でパラメータを更新した後、パラメータ推定部113は、パラメータ学習処理の終了条件を満足したか否か判断し(ステップS37)、終了条件を満足しないと判断した場合には(ステップS37のNO)、ステップS31に戻り、ここまでの処理を繰り返す。また、ステップS37で終了条件を満足したと判断した場合には(ステップS37のYES)、パラメータ推定部113は、パラメータ学習処理を終了する。なお、ステップS37での終了条件としては、例えば、これら一連のステップの繰り返し数が挙げられる。
【0054】
図7は、図5のステップS33で行われる符号化処理の詳細を示すフローチャートである。
まず、符号化部123は、パラメータ推定部113から引き渡されたパラメータを設定する(ステップS41)。次に、符号化部123の可視素子推定部1231に、前処理が施された符号化用複素数データを入力する(ステップS42)。
その後、符号化部123の隠れ素子推定部1232は、複素RBMのモデルの隠れ素子を計算し、推定した隠れ素子を符号化データとして出力する(ステップS43)。
【0055】
次に、具体的な学習処理および符号化処理で行われる、複素RBMのモデルのパラメータ推定処理を、数式を用いて説明する。
パラメータ推定では、次の[数18]式で示される、入力データ(可視データ)zの対数尤度L(θ)を最大化するように、複素RBMのパラメータを複素勾配法によって更新する。チルダ付きの変数は、チルダ無しの変数と区別するために導入した。
【0056】
【数18】
【0057】
複素勾配法は、学習率α>0を用いて、[数19]式の計算を繰り返し実行することでパラメータを更新する。
【0058】
【数19】
【0059】
但し、[数19]式における複素数の偏微分は、[数20]式に示すウェルティンガーの微分である。ここでのiは、虚数単位である。[数20]式右辺第一項、第二項はそれぞれ、対数尤度Lの、パラメータθの実部に関する偏微分、虚部に関する偏微分を表す。
【0060】
【数20】
【0061】
各パラメータの偏微分には、観測データ(入力データ)に対する期待値およびモデルの期待値の項が含まれる。モデルの期待値は、計算困難であるため、従来のRBMで計算する場合と同様に、CD法(Contrastive Divergence法)を用いて近似計算する。
エネルギー関数に対するパラメータの偏微分は、解析的に求めることができ、それぞれ[数21]式~[数25]式に示すようになる。
【0062】
【数21】
【0063】
【数22】
【0064】
【数23】
【0065】
【数24】
【0066】
【数25】
【0067】
但し、○,|・|,・は、それぞれ要素ごとの積、絶対値、および二乗を表し、次の[数26]式および[数27]式で示される。
【0068】
【数26】
【0069】
【数27】
【0070】
分散および疑似分散の更新は、他のパラメータと比較してスケールが異なるため、安定して学習させるために、実際には、[数28]に示すように置き換え、rおよびsでパラメータ更新を行う。
【0071】
【数28】
【0072】
[4.復号化装置の構成および動作]
図8は、本発明の一実施形態例に係る符号化装置1に対応する復号化装置2の構成例を示したものである。
復号化装置2は、符号化装置1で得られた符号化データを復号化するものであり、例えばコンピュータで構成される。なお、復号化装置2は、符号化装置1と一体化してもよい。
復号化装置2は、パラメータ学習ユニット11と復号化処理ユニット13とを備える。
パラメータ学習ユニット11は、符号化装置1のパラメータ学習ユニット11と同じであり、パラメータ推定部113として、学習処理で得た可視素子および隠れ素子推定する可視素子推定部1131および隠れ素子推定部1132を備える。
【0073】
復号化処理ユニット13には、符号化装置1で得られた符号化データが供給される。復号化処理ユニット13は、復号化部131を備える。復号化部131は、可視素子推定部1311と隠れ素子推定部1312とを有し、複素RBMのモデルのパラメータをパラメータ推定部113から取得する。
隠れ素子推定部1312は、入力した符号化データを隠れ素子とする。そして、可視素子推定部1311は、複素RBMのモデルのパラメータを使った演算により、可視素子の推定値を得る。この可視素子の推定値は、後処理部132に供給され、後処理部132で後処理が行われる。後処理部132では、例えば符号化装置1の前処理部122での前処理を元に戻す処理が行われる。
そして、出力部133は、後処理が行われた復号化データを出力する。
【0074】
図9は、復号化装置2での復号化の流れを示すフローチャートである。
復号化装置2は、復号化する符号化データを取得すると(ステップS51)、復号化処理ユニット13が復号化処理を行う。復号化処理の詳細は後述する(図10)。
復号化処理ユニット13での処理で得られたデータは、後処理部132に供給されて後処理が行われ(ステップS52)、後処理されたデータが出力部133から復号化データとして出力される(ステップS53)。
【0075】
図10は、図9のフローチャートのステップS52での復号化処理の詳細を示す。
まず、復号化部131は、パラメータ学習ユニット11から引き渡された複素RBMのモデルの各種パラメータを設定する(ステップS61)。ここでは、復号化する符号化データを符号化する際に用いたパラメータ(図1に示す符号化装置1での符号化時に使用したパラメータ)をパラメータ学習ユニット11から取得して設定する。そして、復号化部131の隠れ素子推定部1312に、符号化データを入力する(ステップS62)。そして、可視素子推定部1311が、複素RBMのモデルを使って可視素子(復号化データ)を推定する(ステップS63)。
このようにして、符号化とは逆の流れで、符号化データの復号化が可能となる。
【0076】
[5.複素RBMと従来手法(GB-RBM)との相違]
複素数z=x+iyは、実部と虚部の連結ベクトルであるz′=[x∈R2Iを用いることで、従来手法の一つであるGB-RBM(Gaussian-Bernoulli RBM)で表現することもできる。GB-RBMは、次の[数29]式~[数32]式で示される。
【0077】
【数29】
【0078】
【数30】
【0079】
【数31】
【0080】
【数32】
【0081】
但し、Σ=Δ(σ ),Σ=Δ(σ )である。この場合、例えばエネルギー関数に対する実部および虚部のバイアスパラメータの偏微分はそれぞれ、[数33]式および[数34]式で示される。
【0082】
【数33】
【0083】
【数34】
【0084】
一方で、z=x+iy,b=b+ib,W=W+iW,q=q+iqとし、複素RBMのエネルギー関数([数3]式の右辺)を書き換えると、[数35]式となる。
【0085】
【数35】
【0086】
但し、次の[数36]式~[数42]式で示す条件を設定した。
【0087】
【数36】
【0088】
【数37】
【0089】
【数38】
【0090】
【数39】
【0091】
【数40】
【0092】
【数41】
【0093】
【数42】
【0094】
ここで、[数31]式と[数35]式を比較すると、本実施の形態例による複素RBMによるモデル化では、xとyのクロスターム(xΣxy -1y)が含まれていることが分かる。すなわち、複素RBMでは、従来手法の1つであるGB-RBMによる複素表現に加えて、特徴量次元ごとに実部と虚部との関係性を考慮した拡張表現であると言える。
さらに、GB-RBMによる複素表現では、[数33]式,[数34]式で示されるように、観測データの実部と虚部のバイアスがそれぞれ独立して計算(例えば実部バイアスの更新では実部のみの情報が用いられ)されるのに対して、複素RBMのバイアスパラメータの更新式([数21]式)では、実部と虚部の両方が用いられて更新される。そのため、本実施の形態例による複素RBMによるモデル化では、複素数のデータ構造を保ったまま学習を行うことができる。
【0095】
[6.実験例]
次に、本実施の形態例による複素RBMによるモデルの有効性を検証するために実験した例について説明する。
ここでは、本実施の形態例による複素RBMによるモデルの有効性を確認するため、音声データの符号化を行い、その符号化音声の品質評価実験を行った。具体的には、Repeated Harvard Sentence Prompts (REHASP)2コーパスを用いた再構築音声の品質評価実験を行い、同コーパスから1リピート分の音声(30センテンス,約20秒,サンプリングレート16kHz)を使用した。そして、窓幅256,64サンプルオーバーラップの短時間フーリエ変換を施した複素スペクトル(129次元)を可視素子として、隠れ素子数200の複素RBMを学習させた。この際、学習率0.01、モーメント係数0.1、バッチサイズ100、繰り返し回数100の確率的勾配法を用いた。また、比較手法として、同じ複素スペクトルデータの実部と虚部を連結したベクトルを可視素子としたGB-RBM(隠れ素子数は200)を、同様の条件で学習させた。
【0096】
図11は、符号化前のオリジナルの振幅スペクトル(図11A)と、本実施の形態例による複素RBMによるモデルによって復元されたスペクトル(図11B)とを比較した図である。図11において、それぞれ縦軸は周波数、横軸は時間を示す。この図11から分かるように、本実施の形態例による複素RBMによるモデルによって復元されたスペクトルは、オリジナルのスペクトルに近く、本実施の形態例による複素RBMは、高い精度で音声スペクトルのエンコードおよびデコードが可能であることが確認できる。
【0097】
図12は、本実施の形態例による複素RBM(Comp RBM)と、従来のRBM(GB-RBM)とを、学習中の再構築エラーによって比較した様子を示し、縦軸は再構築エラーの数、横軸は時系列の変化を示す。「Adam」または「Ada Grad」は最適化手法にそれぞれAdamまたはAda Gradを使用した場合の結果であり、表記のないものは最適化手法に確率的勾配法を用いた場合の結果を示す。
図12では、複素RBM(Comp RBM)を単独で適用した例と、他の方式と組み合わせた例(Comp RBM+Ada Grad、Comp RBM+Adam)と、従来のRBMを単独で適用した例と、他の方式と組み合わせた例(RBM+Ada Grad、RBM+Adam)との6つの例を示す。
例えば、複素RBMにAdamを組み合わせた例[Comp RBM+Adam:太い実線]の特性は、従来のRBMにAdamを組み合わせた例[RBM+Adam:細い実線]の特性よりも早く収束し、収束時のエラーも低いことが分かる。複素RBMのみを適用した例[Comp RBM:2点鎖線]の特性についても、従来のRBMのみを適用した例[RBM:1点鎖線]の特性よりも早く収束し、収束時のエラーも低いことが分かる。
【0098】
[7.変形例]
なお、図3に示す複素RBMのモデルは、1層のRBMの構成を示したが、RBMを多層に積み重ねたDBN(Deep Belief Net) に、本発明の複素RBMを適用してもよい。
図13は、複素RBMを3層化した例を示す。
実部は、可視素子zから1層目の隠れ符号hと、その隠れ素子hのバイアスcを得る。虚部は、可視素子z()から1層目の隠れ符号hと、その隠れ素子hのバイアスcを得る。W′およびW′()は、可視素子zと隠れ素子hとの間の双方向結合重みである。
1層目の実部の隠れ符号hおよびバイアスcから、2層目の隠れ符号hおよびバイアスcを得、1層目の実部の隠れ符号hおよびバイアスcから、2層目の隠れ符号hおよびバイアスcを得る。W′およびW′()は隠れ素子hと隠れ素子hとの間の双方向結合重みである。
さらに、2層目の実部の隠れ符号hおよびバイアスcから、3層目の隠れ符号hおよびバイアスcを得、2層目の実部の隠れ符号hおよびバイアスcから、3層目の隠れ符号hおよびバイアスcを得る。W′およびW′()は隠れ素子hと隠れ素子hとの間の双方向結合重みである。
このように、多層化した複素RBMによっても、同様に符号化および復号化ができるようになる。
【0099】
また、上述した実施の形態例では、実験例として音声データに適用した場合を説明したが、本発明による複素RBMは、他の様々の信号の符号化および復号化に適用が可能である。例えば画像データの符号化および復号化に本発明による複素RBMを適用してもよい。さらに、本発明による複素RBMは、音声データや画像データ以外のデータの符号化および復号化に適用してもよい。
【符号の説明】
【0100】
1・・・符号化装置、2・・・復号化装置、11・・・パラメータ学習ユニット、12・・・符号化処理ユニット、13・・・復号化処理ユニット、101・・・CPU(中央制御ユニット)、102・・・ROM、103・・・RAM、104・・・HDD/SDD、105・・・接続I/F、106・・・通信I/F、111,121・・・複素数データ取得部、112,122・・・前処理部、113・・・パラメータ推定部、123・・・符号化部、131・・・復号化部、132・・・後処理部、133・・・出力部、1131,1231,1311・・・可視素子推定部、1132,1232,1312・・・隠れ素子推定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13