(57)【要約】【課題】複素数データにＲＢＭを適応することで精度の良い特徴抽出を行って、良好な符号化ができるようにする。【解決手段】パラメータ学習ユニットと符号化ユニットとを備える。パラメータ学習ユニットは、入力データを表現する可視素子と、潜在的な情報を表現した隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用データに対して、隠れ素子および結合重みを推定する処理を行う。符号化ユニットは、符号化用入力データに対して、パラメータ学習ユニットで推定した確率モデルを適用して、隠れ素子を推定し、推定した隠れ素子を符号化データとして出力する。ここで、学習用データおよび符号化用入力データは複素数データであり、制限ボルツマンマシンによる確率モデルが持つ可視素子および隠れ素子は、実部と虚部を持つようにした。【選択図】図３
2018142278.tif 000002
【特許請求の範囲】
【請求項１】
入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用データに対して、前記隠れ素子および前記結合重みを推定する処理を行うパラメータ学習ユニットと、
符号化用入力データに対して、前記パラメータ学習ユニットで推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子を符号化データとして出力する符号化ユニットとを備え、
前記学習用データおよび前記符号化用入力データは複素数データであり、前記制限ボルツマンマシンによる確率モデルが持つ前記可視素子および前記隠れ素子は、実部と虚部を持つようにした
符号化装置。
【請求項２】
前記制限ボルツマンマシンによる確率モデルは、Ｉ次元のデータｚ∈ＣＩで構成される可視素子ｚと隠れ素子ｈを持ち、モデルのパラメータ集合をθ、そのパラメータ集合θを構成するパラメータをｂ、ｃ、Ｗ、γ、およびδ、可視素子のバイアスをｂ∈ＣＩ、隠れ素子のバイアスをｃ∈ＲＪ、可視素子と隠れ素子との間の複素結合重みをＷ∈ＣＩ×Ｊ、各符号のオーバーラインを複素共役、Ｈはエルミート転置としたとき、以下の式によって定義される
2018142278.tif 000045
請求項１に記載の符号化装置。
【請求項３】
前記制限ボルツマンマシンによる確率モデルは、実部と虚部の前記隠れ素子を連結させたモデルである
請求項１または２に記載の符号化装置。
【請求項４】
さらに、前記符号化ユニットで得られた符号化データを復号化する復号化処理ユニットを備えた
請求項１〜３のいずれか１項に記載の符号化装置。
【請求項５】
入力データを表現する可視素子と、潜在的な情報を表現した隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用データに対して、前記隠れ素子および前記結合重みを推定する処理を演算処理部が実行するパラメータ学習処理と、
符号化用入力データに対して、前記パラメータ学習処理で推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定する処理を演算処理部が実行し、推定した前記隠れ素子を符号化データとして出力する符号化処理と、
を含み、
前記パラメータ学習処理で得られる前記学習用データと前記符号化処理で得られる前記符号化用入力データは複素数データであり、前記制限ボルツマンマシンによる確率モデルが持つ前記可視素子および前記隠れ素子は、実部と虚部を持つようにした
符号化方法。
【請求項６】
入力データを表現する可視素子と、潜在的な情報を表現した隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、前記入力データに対して、前記隠れ素子および前記結合重みを推定する処理を行い、複素数データである学習用データを得るパラメータ学習ステップと、
前記入力データに対して、前記パラメータ学習ステップで推定した制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子を、複素数データである符号化データとして出力する符号化ステップとを、含み、
前記制限ボルツマンマシンによる確率モデルが持つ前記可視素子および前記隠れ素子は、実部と虚部を持つようにして
前記各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置および符号化方法、並びに符号化方法を実行するプログラムに関する。
【背景技術】
【０００２】
近年、ディープラーニングを用いた手法が飛躍的に高い精度を上げ、画像認識や音声認識など、幅広い分野において盛んに研究され、利用が進んでいる。これまでに数多くのディープラーニング手法が提案されているが、最も代表的なモデルとして、制限ボルツマンマシン（restricted Boltzmann machine：以下、「ＲＢＭ」と称する）が用いられている。また、ＲＢＭを多層に積み重ねたDeep Belief Net (以下、「ＤＢＮ」と称する) も用いられている。さらに、様々なＲＢＭの拡張モデルも提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Lending Direction to Neural Networks”：Neural Networks Vol.8. No4.pp503-512,1995(Richard S.Zemel,Christopher K.Williams,Michael C.Mozer)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、ＲＢＭを利用した特徴量抽出処理としては、いずれのアプローチでも入力特徴量はバイナリまたは実数値が使用されていた。
例えば音声認識や音声合成などの音声処理を行う場合には、メル周波数ケプストラム係数（Mel-Frequency Cepstrum Coefficients ：ＭＦＣＣ）、メルケプストラム特徴量、ＳＴＲＡＩＧＨＴスペクトルなどの振幅スペクトルに基づいた音響特徴量が利用されている。ところが、振幅スペクトルに基づいた音響特徴量抽出では、位相情報が欠落しており、元の複素数表現された音声データに対して少なからず情報の損失が存在する。
ここでは音声処理を例に説明したが、その他の複素数情報から特徴量抽出をする場合にも、情報の損失が存在するという問題があった。
【０００５】
なお、非特許文献１には、ボルツマンマシンで複素数を使って特徴量を抽出する技術が記載されているが、この技術は、上述したＲＢＭやＤＢＮを適用したものではないため、特徴量の抽出がより精度よく行うことができる手法の開発が望まれていた。
【０００６】
本発明は、複素数に対してＲＢＭを適用し、精度の良い特徴抽出を行うことで、その特徴量抽出に基づいた良好な符号化ができる符号化装置、符号化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の符号化装置は、パラメータ学習ユニットと符号化ユニットとを備える。
パラメータ学習ユニットは、入力データを表現する可視素子と、潜在的な情報を表現した隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用データに対して、隠れ素子および結合重みを推定する処理を行う。
符号化ユニットは、符号化用入力データに対して、パラメータ学習ユニットで推定した制限ボルツマンマシンによる確率モデルを適用して、隠れ素子を推定し、推定した隠れ素子を符号化データとして出力する。
ここで、学習用データおよび符号化用入力データは複素数データであり、制限ボルツマンマシンによる確率モデルが持つ可視素子および隠れ素子は、実部と虚部を持つようにしたことを特徴とする。
【０００８】
また本発明の符号化方法は、パラメータ学習処理と符号化処理とを含む。
パラメータ学習処理は、入力データを表現する可視素子と、潜在的な情報を表現した隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用データに対して、隠れ素子および結合重みを推定する処理を行う。
符号化処理は、符号化用入力データに対して、パラメータ学習処理で推定した制限ボルツマンマシンによる確率モデルを適用して、隠れ素子を推定し、推定した隠れ素子を符号化データとして出力する。
ここで、パラメータ学習処理で得られる学習用データと符号化処理で得られる符号化用入力データは複素数データであり、制限ボルツマンマシンによる確率モデルが持つ可視素子および隠れ素子は、実部と虚部を持つようにしたことを特徴とする。
【０００９】
また本発明のプログラムは、複素数データで構成される学習用データおよび符号化用入力データを入力として、上述した符号化方法のパラメータ学習処理を実行するステップと、符号化処理を実行するステップをコンピュータに実行させるものである。
【発明の効果】
【００１０】
本発明によると、制限ボルツマンマシン（ＲＢＭ）を複素数に拡張した複素ＲＢＭによる特徴量の抽出を行うことができ、高い精度で入力データから特徴量を抽出して符号化することが可能になるので、効率の良い符号化が行えるようになる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態例による符号化装置の構成例を示すブロック図である。
【図２】図１の符号化装置のハードウェア構成例を示すブロック図である。
【図３】本発明の一実施の形態例に適用される確率モデルである、複素ＲＢＭ(Restricted Boltzmann machine)を模式的に示す図である。
【図４】本発明の一実施の形態例によるパラメータ学習の流れを示すフローチャートである。
【図５】本発明の一実施の形態例による符号化の流れを示すフローチャートである。
【図６】図４のステップＳ１３の複素ＲＢＭの学習処理を示すフローチャートである。
【図７】図５のステップＳ２３の符号化処理を示すフローチャートである。
【図８】本発明の一実施の形態例により符号化されたデータを復号化する復号化装置の構成例を示すブロック図である。
【図９】本発明の一実施の形態例による復号化の流れを示すフローチャートである。
【図１０】図９のステップＳ５２の復号化処理を示すフローチャートである。
【図１１】オリジナルデータ（図１１Ａ）と、本発明の一実施の形態例を適用した符号化データ（図１１Ｂ）との例を示す図である。
【図１２】本発明を適用した複素ＲＢＭによる再構築エラーと、従来例（ＧＢ−ＲＢＭ）による再構築エラーとを比較した特性図である。
【図１３】本発明の一実施の形態例に適用される複素ＲＢＭを多層化した例を模式的に示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の好適な一実施の形態例について説明する。
【００１３】
［１．符号化装置の構成例］
図１は、本発明の一実施の形態例にかかる符号化装置の構成例を示す図である。図１に示すように、コンピュータ（ＰＣ）等により構成される符号化装置１は、パラメータ学習ユニット１１と符号化処理ユニット１２とを備える。
パラメータ学習ユニット１１は、符号化を行うデータと同じ種類のデータについて事前に学習処理を行い、符号化に必要なパラメータを得る。符号化処理ユニット１２は、その学習処理で得たパラメータを使って、入力データ（符号化用データ）の符号化を行う。
符号化を行う入力データとしては、音声データ、画像データなど様々なデータが適用可能である。但し、後述するように本実施の形態例で扱う学習データおよび入力データは複素数データである。
【００１４】
パラメータ学習ユニット１１は、複素数データ取得部１１１と前処理部１１２とパラメータ推定部１１３とを備える。複素数データ取得部１１１には、学習用複素数データが供給される。複素数データ取得部１１１で取得した学習用複素数データは、前処理部１１２で前処理が行われた後、パラメータ推定部１１３に供給される。
例えば、複素数データ取得部１１１で取得される学習用複素数データが音声データの場合には、前処理部１１２は、学習用の音声データを単位時間ごと（以下、フレームという）に切り出して、ＭＦＣＣ（Mel-Frequency Cepstrum Coefficients：メル周波数ケプストラム係数）やメルケプストラム特徴量などのフレームごとの音声信号のスペクトル特徴量を計算し、これを正規化する。なお、この前処理部１１２での処理で学習用データを複素数データに変換してもよい。
【００１５】
パラメータ推定部１１３は、可視素子推定部１１３１と隠れ素子推定部１１３２とによって構成される確率モデルを持つ。本実施の形態例では、可視素子推定部１１３１および隠れ素子推定部１１３２で構成される確率モデルとして、ＲＢＭを複素数に拡張した複素ＲＢＭ（Complex RBM）を使用する。なお、複素ＲＢＭの確率モデルは、可視素子および隠れ素子の他に、素子間の結合重みの情報についても有し、パラメータ推定部１１３は、この結合重みの情報についても推定して持つ。この複素ＲＢＭの詳細については後述する。
【００１６】
符号化処理ユニット１２は、複素数データ取得部１２１と前処理部１２２と符号化部１２３とを備える。
複素数データ取得部１２１には、符号化用複素数データが供給される。複素数データ取得部１２１で取得された符号化用複素数データは、前処理部１２２で前処理が行われた後、符号化部１２３に供給される。
前処理部１２２は、パラメータ学習ユニット１１の前処理部１１２と同じ構成である。この前処理部１２２における処理により、符号化用データを複素数データに変換してもよい。
【００１７】
符号化部１２３は、パラメータ学習ユニット１１のパラメータ推定部１１３と同じ構成であり、可視素子推定部１２３１で得た可視素子と隠れ素子推定部１２３２で得た隠れ素子とによって構成される複素ＲＢＭの確率モデルを備える。可視素子推定部１２３１および隠れ素子推定部１２３２で、可視素子および隠れ素子を推定する際には、パラメータ学習ユニット１１のパラメータ推定部１１３で推定したパラメータが利用される。
【００１８】
符号化装置１は、符号化部１２３の隠れ素子推定部１２３２で推定された隠れ素子を、符号化データとして外部に出力する。
なお、図１に示す構成では、学習処理を行うパラメータ推定部１１３と、入力データの符号化処理を行う符号化部１２３を個別の構成としたが、パラメータ推定部１１３と符号化部１２３は、ほぼ同じ機能を有しており、パラメータ推定部１１３で符号化部１２３の処理を行うようにしてもよい。複素数データ取得部１１１，１２１や前処理部１１２，１２２についても共通化してもよい。
【００１９】
図２は、符号化装置１のハードウェア構成例を示す図である。ここでは、符号化装置１をコンピュータ（ＰＣ）で構成した例を示す。
図２に示すように、符号化装置１は、バス１０７を介して相互に接続されたＣＰＵ（中央制御ユニット：Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、ＨＤＤ（Hard Disk Drive）／ＳＳＤ（Solid State Drive）１０４、接続Ｉ／Ｆ（Interface）１０５、通信Ｉ／Ｆ１０６を備える。ＣＰＵ１０１は、ＲＡＭ１０３をワークエリアとしてＲＯＭ１０２またはＨＤＤ／ＳＳＤ１０４等に格納されたプログラムを実行することで、符号化装置１の動作を統括的に制御する。接続Ｉ／Ｆ１０５は、符号化装置１に接続される機器とのインターフェースである。通信Ｉ／Ｆは、ネットワークを介して他の情報処理機器と通信を行うためのインターフェースである。
【００２０】
学習用データや符号化用データの入出力および設定は、接続Ｉ／Ｆ１０５または通信Ｉ／Ｆ１０６を介して行われる。図１で説明した符号化装置１の機能は、ＣＰＵ１０１において所定のプログラムが実行されることで実現される。プログラムは、記録媒体を経由して取得してもよく、ネットワークを経由して取得してもよく、ＲＯＭに組み込んで使用してもよい。また、一般的なコンピュータとプログラムの組合せでなく、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの論理回路を組むことで、符号化装置１の構成を実現するためのハードウェア構成にしてもよい。
【００２１】
［２．複素ＲＢＭの定義］
次に、パラメータ推定部１１３および符号化部１２３が持つ確率モデルである、複素ＲＢＭについて説明する。
ＲＢＭは、入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子の間に双方向の接続重みが存在する（ただし可視素子間または隠れ素子間には接続はない）と仮定した確率モデルであり、複素ＲＢＭは、実部と虚部を持つ複素数にＲＢＭを拡張したものである。
図３は、本実施の形態例の複素ＲＢＭのグラフ表現例を示す。
図３の例は、複素数となるＩ次元のデータｚ∈ＣＩを可視素子とする複素ＲＢＭのモデルを示す。
図３において、ｚは可視素子、ｈは隠れ素子、Ｗ′は可視素子ｚと隠れ素子ｈとの間の双方向結合重みであり、ｂ′は可視素子ｚのバイアス、ｃは隠れ素子ｈのバイアス、ｑは共役を示す。また、各符号の上に付けた線（オーバーライン）は複素共役を示す。
【００２２】
この複素ＲＢＭは、次の［数１］式〜［数４］式で定義される。ここでは、Ｉ次元のデータｚ∈ＣＩを可視素子とし、確率モデルのパラメータの集合をθとし、上付きのＨはエルミート転置を示す。
【００２３】
【数１】
2018142278.tif 000003
【００２４】
【数２】
2018142278.tif 000004
【００２５】
【数３】
2018142278.tif 000005
【００２６】
【数４】
2018142278.tif 000006
【００２７】
また、［数３］式のΦは、［数５］式で定義され、［数５］式で定義される複素数Ｚの分散と疑似分散（共役複素数との共分散）を表すパラメータは、［数６］式で定義される。ただし、Δは入力されたベクトルが対角成分となる対角行列を返す関数である。
【００２８】
【数５】
2018142278.tif 000007
【００２９】
【数６】
2018142278.tif 000008
【００３０】
結局、複素ＲＢＭのパラメータは、θ＝｛ｂ、ｃ、Ｗ、γ、δ｝となる。ここで、［数７］式および［数８］式を導入する。但し、［数７］式および［数８］式において、分数線は要素除算を表す。
【００３１】
【数７】
2018142278.tif 000009
【００３２】
【数８】
2018142278.tif 000010
【００３３】
これより、［数９］式となる。
【００３４】
【数９】
2018142278.tif 000011
【００３５】
［数３］式で定義されるエネルギー関数は、［数１０］式に書き直すことができる。Ｒは入力された複素数の実部を返す関数である。
【００３６】
【数１０】
2018142278.tif 000012
【００３７】
ここで、エネルギー関数は実数値となる。複素可視素子ｚの各次元は共役複素数との結合が存在するが、通常のＲＢＭ（複素でないＲＢＭ）のように次元間の結合は存在しないことが確認できる。さらに、次の［数１１］式および［数１２］式を用いることで、［数３］式は［数１３］式となる。
【００３８】
【数１１】
2018142278.tif 000013
【００３９】
【数１２】
2018142278.tif 000014
【００４０】
【数１３】
2018142278.tif 000015
【００４１】
この［数１３］式から、図３に示すように、ｚとｈ、ｚ（−）とｈの関係性は、互いに共役空間を挟んで鏡像の関係にあることが分かる。なお、本明細書中に示す「ｚ（−）」の「（−）」は、複素共役を示すオーバーラインであり、本来は、図２に示すように「−」が「ｚ」の上に付加されるものであるが、本明細書では記載上の制約から「ｚ（−）」と記載することとする。他の記号に付加されるオーバーラインについても、本明細書では同様に記載する。
以上の定義から、隠れ素子が与えられたときの可視素子の条件付き確率、および可視素子が与えられたときの隠れ素子の条件付き確率は、それぞれ［数１４］式および［数１５］式で表すことができる。
【００４２】
【数１４】
2018142278.tif 000016
【００４３】
【数１５】
2018142278.tif 000017
【００４４】
但し、ＣＮ（・;μ，Γ，Ｃ）は平均μ、分散共分散行列Γ、疑似分散共分散行列Ｃの多変量複素正規分布である［数１６］式および［数１７］式で定義される。Ｂ（・；π）は成功確率πの多次元ベルヌーイ分布を表す。ｆ（・）は要素ごとのシグモイド関数を表す。Ｄはｚの次元数である。
【００４５】
【数１６】
2018142278.tif 000018
【００４６】
【数１７】
2018142278.tif 000019
【００４７】
［３．学習処理動作および符号化処理動作］
次に、本実施の形態例の複素ＲＢＭを適用して行われる符号化処理について説明する。
図４は、パラメータ学習ユニット１１が行うパラメータ学習動作の流れを示すフローチャートである。
まず、複素数データ取得部１１１が学習用の複素数データを取得し（ステップＳ１１）、前処理部１１２がその複素数データの前処理を実行する（ステップＳ１２）。例えば、複素数データ取得部１１１は、学習用のデータが音声データである場合には、学習用音声データをフレームごと（例えば、５ｍｓｅｃごと）に切り出し、切り出された学習用音声信号にＦＦＴ処理などを施すことでスペクトル特徴量（例えば、ＭＦＣＣやメルケプストラム特徴量）を算出する。なお、この前処理にて学習用データを複素数データとしてもよい。
【００４８】
次に、前処理が施された複素数データがパラメータ推定部１１３に供給され、パラメータ推定部１１３は、複素数データのパラメータ学習処理を行う（ステップＳ１３）。ステップＳ１３で行われるパラメータ学習処理の詳細については後述する（図６）。
このパラメータ学習処理で複素ＲＢＭのモデルが持つ各パラメータが決定され、記憶される。そして、記憶されたパラメータが、パラメータを符号化部１２３に引き渡されて、符号化部１２３で符号化される（ステップＳ１４）。
【００４９】
図５は、符号化処理ユニット１２が行う符号化処理の流れを示すフローチャートである。
まず、複素数データ取得部１２１が符号化用複素数データを取得し（ステップＳ２１）、前処理部１２２がその複素数データの前処理を実行する（ステップＳ２２）。ここでの前処理は、前処理部１１２が行うステップＳ１２での前処理と同じである。なお、先に前処理部１１２の構成で述べたように、この前処理によって、入力データを複素数データとしてもよい。
【００５０】
前処理が施された複素数データは符号化部１２３に供給され、符号化部１２３は、ステップＳ１４で引き渡された複素ＲＢＭのモデルが持つパラメータを使って隠れ素子を推定するとともに、符号化処理を行う（ステップＳ２３）。ステップＳ２３で行われる符号化処理の詳細については後述する（図７）。そして、符号化処理ユニット１２は、ステップＳ２３で得られた隠れ素子を符号化データとして出力する（ステップＳ２４）。
【００５１】
図６は、図４のステップＳ１３で行われるパラメータ学習処理の詳細を示すフローチャートである。
まず、パラメータ推定部１１３は、複素ＲＢＭのモデルが持つパラメータとして任意の値を設定する（ステップＳ３１）。次に、パラメータ推定部１１３の可視素子推定部１１３１に、前処理が施された学習用複素数データを入力する（ステップＳ３２）。
その後、パラメータ推定部１１３は、複素ＲＢＭのモデルの隠れ素子の確率値を計算し、計算値をサンプリングする（ステップＳ３３）。なお、ここで「サンプリングする」とは、条件付き確率密度関数に従うデータをランダムに１つ生成することをいい、以下、同じ意味で用いる。
【００５２】
また、パラメータ推定部１１３は、複素ＲＢＭのモデルの可視素子の確率値を計算し、計算値をサンプリングし（ステップＳ３４）、その後、複素ＲＢＭのモデルの隠れ素子の確率値を再度計算し、計算値を再サンプリングする（ステップＳ３５）。そして、パラメータ推定部１１３は、ここまでの計算で得られた各種パラメータを、複素ＲＢＭのモデルを構成するパラメータとして更新し、更新値を記憶する（ステップＳ３６）。
【００５３】
ステップＳ３６でパラメータを更新した後、パラメータ推定部１１３は、パラメータ学習処理の終了条件を満足したか否か判断し（ステップＳ３７）、終了条件を満足しないと判断した場合には（ステップＳ３７のＮＯ）、ステップＳ３１に戻り、ここまでの処理を繰り返す。また、ステップＳ３７で終了条件を満足したと判断した場合には（ステップＳ３７のＹＥＳ）、パラメータ推定部１１３は、パラメータ学習処理を終了する。なお、ステップＳ３７での終了条件としては、例えば、これら一連のステップの繰り返し数が挙げられる。
【００５４】
図７は、図５のステップＳ３３で行われる符号化処理の詳細を示すフローチャートである。
まず、符号化部１２３は、パラメータ推定部１１３から引き渡されたパラメータを設定する（ステップＳ４１）。次に、符号化部１２３の可視素子推定部１２３１に、前処理が施された符号化用複素数データを入力する（ステップＳ４２）。
その後、符号化部１２３の隠れ素子推定部１２３２は、複素ＲＢＭのモデルの隠れ素子を計算し、推定した隠れ素子を符号化データとして出力する（ステップＳ４３）。
【００５５】
次に、具体的な学習処理および符号化処理で行われる、複素ＲＢＭのモデルのパラメータ推定処理を、数式を用いて説明する。
パラメータ推定では、次の［数１８］式で示される、入力データ（可視データ）ｚの対数尤度Ｌ（θ）を最大化するように、複素ＲＢＭのパラメータを複素勾配法によって更新する。チルダ付きの変数は、チルダ無しの変数と区別するために導入した。
【００５６】
【数１８】
2018142278.tif 000020
【００５７】
複素勾配法は、学習率α＞０を用いて、［数１９］式の計算を繰り返し実行することでパラメータを更新する。
【００５８】
【数１９】
2018142278.tif 000021
【００５９】
但し、［数１９］式における複素数の偏微分は、［数２０］式に示すウェルティンガーの微分である。ここでのｉは、虚数単位である。［数２０］式右辺第一項、第二項はそれぞれ、対数尤度Lの、パラメータθの実部に関する偏微分、虚部に関する偏微分を表す。
【００６０】
【数２０】
2018142278.tif 000022
【００６１】
各パラメータの偏微分には、観測データ（入力データ）に対する期待値およびモデルの期待値の項が含まれる。モデルの期待値は、計算困難であるため、従来のＲＢＭで計算する場合と同様に、ＣＤ法（Contrastive Divergence法）を用いて近似計算する。
エネルギー関数に対するパラメータの偏微分は、解析的に求めることができ、それぞれ［数２１］式〜［数２５］式に示すようになる。
【００６２】
【数２１】
2018142278.tif 000023
【００６３】
【数２２】
2018142278.tif 000024
【００６４】
【数２３】
2018142278.tif 000025
【００６５】
【数２４】
2018142278.tif 000026
【００６６】
【数２５】
2018142278.tif 000027
【００６７】
但し、○，｜・｜，・２は、それぞれ要素ごとの積、絶対値、および二乗を表し、次の［数２６］式および［数２７］式で示される。
【００６８】
【数２６】
2018142278.tif 000028
【００６９】
【数２７】
2018142278.tif 000029
【００７０】
分散および疑似分散の更新は、他のパラメータと比較してスケールが異なるため、安定して学習させるために、実際には、［数２８］に示すように置き換え、ｒおよびｓでパラメータ更新を行う。
【００７１】
【数２８】
2018142278.tif 000030
【００７２】
［４．復号化装置の構成および動作］
図８は、本発明の一実施形態例に係る符号化装置１に対応する復号化装置２の構成例を示したものである。
復号化装置２は、符号化装置１で得られた符号化データを復号化するものであり、例えばコンピュータで構成される。なお、復号化装置２は、符号化装置１と一体化してもよい。
復号化装置２は、パラメータ学習ユニット１１と復号化処理ユニット１３とを備える。
パラメータ学習ユニット１１は、符号化装置１のパラメータ学習ユニット１１と同じであり、パラメータ推定部１１３として、学習処理で得た可視素子および隠れ素子推定する可視素子推定部１１３１および隠れ素子推定部１１３２を備える。
【００７３】
復号化処理ユニット１３には、符号化装置１で得られた符号化データが供給される。復号化処理ユニット１３は、復号化部１３１を備える。復号化部１３１は、可視素子推定部１３１１と隠れ素子推定部１３１２とを有し、複素ＲＢＭのモデルのパラメータをパラメータ推定部１１３から取得する。
隠れ素子推定部１３１２は、入力した符号化データを隠れ素子とする。そして、可視素子推定部１３１１は、複素ＲＢＭのモデルのパラメータを使った演算により、可視素子の推定値を得る。この可視素子の推定値は、後処理部１３２に供給され、後処理部１３２で後処理が行われる。後処理部１３２では、例えば符号化装置１の前処理部１２２での前処理を元に戻す処理が行われる。
そして、出力部１３３は、後処理が行われた復号化データを出力する。
【００７４】
図９は、復号化装置２での復号化の流れを示すフローチャートである。
復号化装置２は、復号化する符号化データを取得すると（ステップＳ５１）、復号化処理ユニット１３が復号化処理を行う。復号化処理の詳細は後述する（図１０）。
復号化処理ユニット１３での処理で得られたデータは、後処理部１３２に供給されて後処理が行われ（ステップＳ５２）、後処理されたデータが出力部１３３から復号化データとして出力される（ステップＳ５３）。
【００７５】
図１０は、図９のフローチャートのステップＳ５２での復号化処理の詳細を示す。
まず、復号化部１３１は、パラメータ学習ユニット１１から引き渡された複素ＲＢＭのモデルの各種パラメータを設定する（ステップＳ６１）。ここでは、復号化する符号化データを符号化する際に用いたパラメータ（図１に示す符号化装置１での符号化時に使用したパラメータ）をパラメータ学習ユニット１１から取得して設定する。そして、復号化部１３１の隠れ素子推定部１３１２に、符号化データを入力する（ステップＳ６２）。そして、可視素子推定部１３１１が、複素ＲＢＭのモデルを使って可視素子（復号化データ）を推定する（ステップＳ６３）。
このようにして、符号化とは逆の流れで、符号化データの復号化が可能となる。
【００７６】
［５．複素ＲＢＭと従来手法（ＧＢ−ＲＢＭ）との相違］
複素数ｚ＝ｘ＋ｉｙは、実部と虚部の連結ベクトルであるｚ′＝［ｘＴｙＴ］Ｔ∈Ｒ２Ｉを用いることで、従来手法の一つであるＧＢ−ＲＢＭ（Gaussian-Bernoulli  ＲＢＭ）で表現することもできる。ＧＢ−ＲＢＭは、次の［数２９］式〜［数３２］式で示される。
【００７７】
【数２９】
2018142278.tif 000031
【００７８】
【数３０】
2018142278.tif 000032
【００７９】
【数３１】
2018142278.tif 000033
【００８０】
【数３２】
2018142278.tif 000034
【００８１】
但し、Σｘ＝Δ（σｘ２），Σｙ＝Δ（σｙ２）である。この場合、例えばエネルギー関数に対する実部および虚部のバイアスパラメータの偏微分はそれぞれ、［数３３］式および［数３４］式で示される。
【００８２】
【数３３】
2018142278.tif 000035
【００８３】
【数３４】
2018142278.tif 000036
【００８４】
一方で、ｚ＝ｘ＋ｉｙ，ｂ＝ｂＲ＋ｉｂＩ，Ｗ＝ＷＲ＋ｉＷＩ，ｑ＝ｑＲ＋ｉｑＩとし、複素ＲＢＭのエネルギー関数（［数３］式の右辺）を書き換えると、［数３５］式となる。
【００８５】
【数３５】
2018142278.tif 000037
【００８６】
但し、次の［数３６］式〜［数４２］式で示す条件を設定した。
【００８７】
【数３６】
2018142278.tif 000038
【００８８】
【数３７】
2018142278.tif 000039
【００８９】
【数３８】
2018142278.tif 000040
【００９０】
【数３９】
2018142278.tif 000041
【００９１】
【数４０】
2018142278.tif 000042
【００９２】
【数４１】
2018142278.tif 000043
【００９３】
【数４２】
2018142278.tif 000044
【００９４】
ここで、［数３１］式と［数３５］式を比較すると、本実施の形態例による複素ＲＢＭによるモデル化では、ｘとｙのクロスターム（ｘＴΣｘｙ−１ｙ）が含まれていることが分かる。すなわち、複素ＲＢＭでは、従来手法の１つであるＧＢ−ＲＢＭによる複素表現に加えて、特徴量次元ごとに実部と虚部との関係性を考慮した拡張表現であると言える。
さらに、ＧＢ−ＲＢＭによる複素表現では、［数３３］式，［数３４］式で示されるように、観測データの実部と虚部のバイアスがそれぞれ独立して計算（例えば実部バイアスの更新では実部のみの情報が用いられ）されるのに対して、複素ＲＢＭのバイアスパラメータの更新式（［数２１］式）では、実部と虚部の両方が用いられて更新される。そのため、本実施の形態例による複素ＲＢＭによるモデル化では、複素数のデータ構造を保ったまま学習を行うことができる。
【００９５】
［６．実験例］
次に、本実施の形態例による複素ＲＢＭによるモデルの有効性を検証するために実験した例について説明する。
ここでは、本実施の形態例による複素ＲＢＭによるモデルの有効性を確認するため、音声データの符号化を行い、その符号化音声の品質評価実験を行った。具体的には、Repeated Harvard Sentence Prompts (REHASP)2コーパスを用いた再構築音声の品質評価実験を行い、同コーパスから１リピート分の音声（３０センテンス，約２０秒，サンプリングレート１６ｋＨｚ）を使用した。そして、窓幅２５６，６４サンプルオーバーラップの短時間フーリエ変換を施した複素スペクトル（１２９次元）を可視素子として、隠れ素子数２００の複素ＲＢＭを学習させた。この際、学習率０．０１、モーメント係数０．１、バッチサイズ１００、繰り返し回数１００の確率的勾配法を用いた。また、比較手法として、同じ複素スペクトルデータの実部と虚部を連結したベクトルを可視素子としたＧＢ−ＲＢＭ（隠れ素子数は２００）を、同様の条件で学習させた。
【００９６】
図１１は、符号化前のオリジナルの振幅スペクトル（図１１Ａ）と、本実施の形態例による複素ＲＢＭによるモデルによって復元されたスペクトル（図１１Ｂ）とを比較した図である。図１１において、それぞれ縦軸は周波数、横軸は時間を示す。この図１１から分かるように、本実施の形態例による複素ＲＢＭによるモデルによって復元されたスペクトルは、オリジナルのスペクトルに近く、本実施の形態例による複素ＲＢＭは、高い精度で音声スペクトルのエンコードおよびデコードが可能であることが確認できる。
【００９７】
図１２は、本実施の形態例による複素ＲＢＭ（Comp RBM）と、従来のＲＢＭ（ＧＢ−ＲＢＭ）とを、学習中の再構築エラーによって比較した様子を示し、縦軸は再構築エラーの数、横軸は時系列の変化を示す。「Adam」または「Ada Grad」は最適化手法にそれぞれAdamまたはAda Gradを使用した場合の結果であり、表記のないものは最適化手法に確率的勾配法を用いた場合の結果を示す。
図１２では、複素ＲＢＭ（Comp RBM）を単独で適用した例と、他の方式と組み合わせた例（Comp RBM＋Ada Grad、Comp RBM＋Adam）と、従来のＲＢＭを単独で適用した例と、他の方式と組み合わせた例（RBM＋Ada Grad、RBM＋Adam）との６つの例を示す。
例えば、複素ＲＢＭにAdamを組み合わせた例［Comp RBM＋Adam：太い実線］の特性は、従来のＲＢＭにAdamを組み合わせた例［RBM＋Adam：細い実線］の特性よりも早く収束し、収束時のエラーも低いことが分かる。複素ＲＢＭのみを適用した例［Comp RBM：２点鎖線］の特性についても、従来のＲＢＭのみを適用した例［RBM：１点鎖線］の特性よりも早く収束し、収束時のエラーも低いことが分かる。
【００９８】
［７．変形例］
なお、図３に示す複素ＲＢＭのモデルは、１層のＲＢＭの構成を示したが、ＲＢＭを多層に積み重ねたＤＢＮ(Deep Belief Net) に、本発明の複素ＲＢＭを適用してもよい。
図１３は、複素ＲＢＭを３層化した例を示す。
実部は、可視素子ｚから１層目の隠れ符号ｈ１と、その隠れ素子ｈのバイアスｃ１を得る。虚部は、可視素子ｚ（−）から１層目の隠れ符号ｈ１と、その隠れ素子ｈのバイアスｃ１を得る。Ｗ１′およびＷ１′（−）は、可視素子ｚと隠れ素子ｈ１との間の双方向結合重みである。
１層目の実部の隠れ符号ｈ１およびバイアスｃ１から、２層目の隠れ符号ｈ２およびバイアスｃ２を得、１層目の実部の隠れ符号ｈ１およびバイアスｃ１から、２層目の隠れ符号ｈ２およびバイアスｃ２を得る。Ｗ２′およびＷ２′（−）は隠れ素子ｈ１と隠れ素子ｈ２との間の双方向結合重みである。
さらに、２層目の実部の隠れ符号ｈ２およびバイアスｃ２から、３層目の隠れ符号ｈ３およびバイアスｃ３を得、２層目の実部の隠れ符号ｈ２およびバイアスｃ２から、３層目の隠れ符号ｈ３およびバイアスｃ３を得る。Ｗ３′およびＷ３′（−）は隠れ素子ｈ２と隠れ素子ｈ３との間の双方向結合重みである。
このように、多層化した複素ＲＢＭによっても、同様に符号化および復号化ができるようになる。
【００９９】
また、上述した実施の形態例では、実験例として音声データに適用した場合を説明したが、本発明による複素ＲＢＭは、他の様々の信号の符号化および復号化に適用が可能である。例えば画像データの符号化および復号化に本発明による複素ＲＢＭを適用してもよい。さらに、本発明による複素ＲＢＭは、音声データや画像データ以外のデータの符号化および復号化に適用してもよい。
【符号の説明】
【０１００】
１・・・符号化装置、２・・・復号化装置、１１・・・パラメータ学習ユニット、１２・・・符号化処理ユニット、１３・・・復号化処理ユニット、１０１・・・ＣＰＵ（中央制御ユニット）、１０２・・・ＲＯＭ、１０３・・・ＲＡＭ、１０４・・・ＨＤＤ／ＳＤＤ、１０５・・・接続Ｉ／Ｆ、１０６・・・通信Ｉ／Ｆ、１１１，１２１・・・複素数データ取得部、１１２，１２２・・・前処理部、１１３・・・パラメータ推定部、１２３・・・符号化部、１３１・・・復号化部、１３２・・・後処理部、１３３・・・出力部、１１３１，１２３１，１３１１・・・可視素子推定部、１１３２，１２３２，１３１２・・・隠れ素子推定部
【図１】
2018142278.tif 000046
【図２】
2018142278.tif 000047
【図３】
2018142278.tif 000048
【図４】
2018142278.tif 000049
【図５】
2018142278.tif 000050
【図６】
2018142278.tif 000051
【図７】
2018142278.tif 000052
【図８】
2018142278.tif 000053
【図９】
2018142278.tif 000054
【図１０】
2018142278.tif 000055
【図１１】
2018142278.tif 000056
【図１２】
2018142278.tif 000057
【図１３】
2018142278.tif 000058