(57)【要約】【課題】時系列データに対して重要な記憶を確率的に伝播させることのできるＲＢＭの拡張モデルを適用することで、良好な符号化ができるようにする。【解決手段】パラメータ学習ユニットと符号化ユニットとを備え、入力データを表現する可視素子と、制限ボルツマンマシンによる確率モデルを適用して隠れ素子を推定して、学習および符号化を行う。ここで学習ユニットと符号化ユニットの入力データは時系列データであり、学習ユニットと符号化ユニットは、可視素子に基づいて時系列のデータを記憶する記憶セルと、記憶セルに記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶セルと、可視素子に基づいて短期記憶セルの出力を制御する忘却ゲートとを有する。そして、忘却ゲートに基づいて制御された短期記憶セルの出力に基づいて、時刻ごとに伝播する隠れ素子を得る。【選択図】図３
2019148877.tif 000002
【特許請求の範囲】
【請求項１】
入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用入力データに対して、前記隠れ素子および前記結合重みを推定する処理を行うパラメータ学習ユニットと、
符号化用入力データに対して、前記パラメータ学習ユニットで推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子に基づいて符号化データとしての出力データを得る符号化ユニットとを備え、
前記学習用入力データおよび前記符号化用入力データは時系列の入力データであり、前記パラメータ学習ユニットおよび前記符号化ユニットは、前記可視素子に基づいて時系列のデータを記憶する記憶セルと、前記記憶セルに記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶セルと、前記可視素子に基づいて前記短期記憶セルの出力を制御する忘却ゲートとを有し、
前記忘却ゲートに基づいて制御された前記短期記憶セルの出力に基づいて、時刻ごとに伝播する前記隠れ素子を得るようにした
符号化装置。
【請求項２】
前記短期記憶セルが記憶する、入力データについての特定時刻における短期記憶データは、その特定時刻の１つ前の時刻における短期記憶データに前記忘却ゲートを通したものと、前記記憶セルのデータに入力データを通したものとの和で取得し、
得られた短期記憶データに出力データを掛け合わせて、非線形関数を乗算したものを、時刻ごとに伝播する前記隠れ素子とする
請求項１に記載の符号化装置。
【請求項３】
さらに、前記符号化ユニットで得られた符号化データを復号化する復号化処理ユニットを備えた
請求項１又は２に記載の符号化装置。
【請求項４】
入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、時系列のデータである学習用入力データに対して、前記隠れ素子および前記結合重みを推定するパラメータ学習処理と、
時系列のデータである符号化用入力データに対して、前記パラメータ学習処理で推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子に基づいて符号化データとしての出力データを得る符号化処理とを行う符号化方法であり、
前記パラメータ学習処理と前記符号化処理のそれぞれは、
前記可視素子に基づいて時系列のデータを記憶する記憶処理と、
前記記憶処理により記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶処理と、
前記短期記憶処理で一時記憶されたデータの出力を前記可視素子に基づいて制御する忘却処理と、
前記忘却処理に基づいて制御された前記短期記憶処理の出力に基づいて、時刻ごとに伝播する前記隠れ素子を得る隠れ素子取得処理と、を含む
符号化方法。
【請求項５】
入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、時系列のデータである学習用入力データに対して、前記隠れ素子および前記結合重みを推定するパラメータ学習ステップと、
時系列のデータである符号化用入力データに対して、前記パラメータ学習ステップで推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子に基づいて符号化データとしての出力データを得る符号化ステップとを、コンピュータに実行させるプログラムであり、
前記パラメータ学習ステップと前記符号化ステップのそれぞれは、
前記可視素子に基づいて時系列のデータを記憶する記憶ステップと、
前記記憶ステップにより記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶ステップと、
前記短期記憶ステップで一時記憶されたデータの出力を前記可視素子に基づいて制御する忘却ステップと、
前記忘却ステップに基づいて制御された前記短期記憶ステップの出力に基づいて、時刻ごとに伝播する前記隠れ素子を得る隠れ素子取得ステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置および符号化方法、並びに符号化方法を実行するプログラムに関する。
【背景技術】
【０００２】
近年、ディープラーニングを用いた機械学習手法が飛躍的に高い精度を上げ、画像認識や音声認識など、幅広い分野において盛んに研究され、利用が進んでいる。これまでに数多くの機械学習手法が提案されているが、最も代表的なモデルとして、制限ボルツマンマシン（restricted Boltzmann machine：以下、「ＲＢＭ」と称する）が用いられている。ＲＢＭは、可視ユニットと隠れユニットからなる２層構造の確率モデルであり、その応用は特徴抽出や識別器、ＤＮＮ（deep neural network）の事前学習など多岐に渡る。
【０００３】
一方で、音声認識や自然言語処理など、時系列データを取り扱う場合には、過去の情報を伝播させる機構を持つＲＮＮ(recurrent neural networks)やＣＮＮ(convolutional neural networks)、ＬＳＴＭ(long short-term memory)、ＧＲＵ(gated recurrent unit)などが有効である。中でもＬＳＴＭは記憶セルによる長・短期記憶構造によって重要な情報を保持させることができ、音声認識、音声合成、機械翻訳など様々なタスクにおいて高い精度を得ることができる。
非特許文献１には、ボルツマンマシンで特徴量を抽出する技術が記載されている
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Y. Freund and D. Haussler, “Unsupervised learning of distributions of binary vectors using two layer networks,” Computer Research Labora- tory, pp. 912-919, 1994
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ＲＢＭはフレームごとに独立して処理を行うため、時系列データを表現するのに不十分である。時系列データを表現するＲＢＭの拡張モデルとして、既にＴＲＢＭ(temporal RBM)が提案されているが、ＲＮＮと同様に、勾配が消失する、過去の長期的な依存関係を表現できない、といった問題がある。
【０００６】
本発明は、ＬＳＴＭにある長・短期記憶構造に着目し、重要な記憶を確率的に伝播させることのできるＲＢＭの拡張モデルを適用して、良好な符号化ができる符号化装置、符号化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の符号化装置は、パラメータ学習ユニットと符号化ユニットとを備える。
パラメータ学習ユニットは、入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用入力データに対して、隠れ素子および結合重みを推定する処理を行う。
符号化ユニットは、符号化用入力データに対して、パラメータ学習ユニットで推定した制限ボルツマンマシンによる確率モデルを適用して、隠れ素子を推定し、推定した隠れ素子に基づいて符号化データとしての出力データを得る。
ここで、学習用入力データおよび符号化用入力データは時系列の入力データであり、パラメータ学習ユニットおよび符号化ユニットは、可視素子に基づいて時系列のデータを記憶する記憶セルと、記憶セルに記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶セルと、可視素子に基づいて短期記憶セルの出力を制御する忘却ゲートとを有する。
そして、忘却ゲートに基づいて制御された短期記憶セルの出力に基づいて、時刻ごとに伝播する隠れ素子を得るようにした。
【０００８】
また、本発明の符号化方法は、パラメータ学習処理と符号化処理とを行うものである。
パラメータ学習処理は、入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、時系列のデータである学習用入力データに対して、隠れ素子および結合重みを推定する。
符号化処理は、時系列のデータである符号化用入力データに対して、パラメータ学習処理で推定した制限ボルツマンマシンによる確率モデルを適用して、隠れ素子を推定し、推定した隠れ素子に基づいて符号化データとしての出力データを得る。
ここで、パラメータ学習処理と符号化処理のそれぞれは、可視素子に基づいて時系列のデータを記憶する記憶処理と、記憶処理により記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶処理と、短期記憶処理で一時記憶されたデータの出力を可視素子に基づいて制御する忘却処理と、忘却処理に基づいて制御された短期記憶処理の出力に基づいて、時刻ごとに伝播する隠れ素子を得る隠れ素子取得処理と、を含む。
【０００９】
また、本発明のプログラムは、上述した符号化方法の記憶処理、短期記憶処理、忘却処理、隠れ素子取得処理のそれぞれのステップをコンピュータに実行させるものである。
【発明の効果】
【００１０】
本発明によると、時系列データに対して制限ボルツマンマシン（ＲＢＭ）の機能を適用することができ、適切に特徴量を抽出することができるので、時系列の入力データから高い精度で特徴量を抽出して符号化することが可能になり、効率の良い符号化を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態例による符号化装置の構成例を示すブロック図である。
【図２】図１の符号化装置のハードウェア構成例を示すブロック図である。
【図３】本発明の一実施の形態例に適用される、ＬＳＴＢＭ(long short-term Boltzmann memory)を模式的に示す図である。
【図４】本発明の一実施の形態例によるパラメータ学習の流れを示すフローチャートである。
【図５】本発明の一実施の形態例による符号化の流れを示すフローチャートである。
【図６】図４のステップＳ１３のＬＳＴＢＭの学習処理を示すフローチャートである。
【図７】図５のステップＳ２３の符号化処理を示すフローチャートである。
【図８】本発明の一実施の形態例により符号化されたデータを復号化する復号化装置の構成例を示すブロック図である。
【図９】本発明の一実施の形態例による復号化の流れを示すフローチャートである。
【図１０】図９のステップＳ５２の復号化処理を示すフローチャートである。
【図１１】本発明を適用したＬＳＴＢＭと従来例（ＲＢＭ、ＴＲＢＭ）とを比較した特性図である。
【図１２】符号化前のオリジナルの信号スペクトル（図１２Ａ）と、本発明を適用したＬＳＴＢＭで符号化した信号スペクトル（図１２Ｂ）とを対比して示す波形図である。
【発明を実施するための形態】
【００１２】
以下、本発明の好適な一実施の形態例について説明する。
【００１３】
［１．符号化装置の構成例］
図１は、本発明の一実施の形態例にかかる符号化装置の構成例を示す図である。図１に示すように、コンピュータ（ＰＣ）等により構成される符号化装置１は、パラメータ学習ユニット１１と符号化処理ユニット１２とパラメータ記憶ユニット１４とを備える。
パラメータ学習ユニット１１は、符号化を行うデータと同じ種類のデータについて事前に学習処理を行い、符号化に必要なパラメータを得る。パラメータ学習ユニット１１が決定したパラメータは、パラメータ記憶ユニット１４に記憶される。符号化処理ユニット１２は、学習処理でパラメータ記憶ユニット１４に記憶されたパラメータを使って、入力データ（符号化用データ）の符号化を行う。
符号化を行う入力データは、音声データ、画像データなどの様々な時系列データを含む。
【００１４】
パラメータ学習ユニット１１は、系列データ取得部１１１と前処理部１１２とパラメータ推定部１１３とを備える。系列データ取得部１１１には、学習用時系列データが供給される。系列データ取得部１１１で取得した学習用時系列データは、前処理部１１２で前処理が行われた後、パラメータ推定部１１３に供給される。
例えば、系列データ取得部１１１で取得される学習用時系列データが音声データの場合には、前処理部１１２は、学習用の音声データを単位時間ごと（以下、フレームという）に切り出して、ＭＦＣＣ（Mel-Frequency Cepstrum Coefficients：メル周波数ケプストラム係数）やメルケプストラム特徴量などのフレームごとの音声信号のスペクトル特徴量を計算し、これを正規化する。
【００１５】
パラメータ推定部１１３は、可視素子推定部１１３１と隠れ素子推定部１１３２とによって構成される確率モデルを持つ。本実施の形態例では、可視素子推定部１１３１および隠れ素子推定部１１３２で構成される確率モデルとして、可視素子と、潜在的な情報を表現する隠れ素子との間に、結合重みが存在すると仮定したＲＢＭ（制限ボルツマンマシン）を使用する。パラメータ推定部１１３は、この結合重みの情報についても推定して持つ。このＲＢＭの詳細については後述する。
【００１６】
符号化処理ユニット１２は、系列データ取得部１２１と前処理部１２２と符号化部１２３とを備える。
系列データ取得部１２１には、符号化用系列データが供給される。系列データ取得部１２１で取得された符号化用系列データは、前処理部１２２で前処理が行われた後、符号化部１２３に供給される。
前処理部１２２は、パラメータ学習ユニット１１の前処理部１１２と同じ構成である。
【００１７】
符号化部１２３は、パラメータ学習ユニット１１のパラメータ推定部１１３と同じ構成であり、可視素子推定部１２３１で推定される可視素子と隠れ素子推定部１２３２で推定される隠れ素子とによって構成されるＲＢＭの確率モデルを備える。可視素子推定部１２３１および隠れ素子推定部１２３２で、可視素子および隠れ素子を推定する際には、パラメータ学習ユニット１１のパラメータ推定部１１３で推定されたパラメータが利用される。
【００１８】
符号化装置１は、符号化部１２３の隠れ素子推定部１２３２で推定された隠れ素子を、符号化データとして外部に出力する。
なお、図１に示す構成では、学習処理を行うパラメータ推定部１１３と、入力データの符号化処理を行う符号化部１２３を個別の構成としたが、パラメータ推定部１１３と符号化部１２３は、ほぼ同じ機能を有しており、パラメータ推定部１１３で符号化部１２３の処理を行うようにしてもよい。系列データ取得部１１１，１２１や前処理部１１２，１２２についても共通化することが可能である。
【００１９】
図２は、符号化装置１のハードウェア構成例を示す図である。ここでは、符号化装置１をコンピュータ（ＰＣ）で構成した例を示す。
図２に示すように、符号化装置１は、バス１０７を介して相互に接続されたＣＰＵ（中央制御ユニット：Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、ＨＤＤ（Hard Disk Drive）／ＳＳＤ（Solid State Drive）１０４、接続Ｉ／Ｆ（Interface）１０５、通信Ｉ／Ｆ１０６を備える。ＣＰＵ１０１は、ＲＡＭ１０３をワークエリアとしてＲＯＭ１０２またはＨＤＤ／ＳＳＤ１０４等に格納されたプログラムを実行することで、符号化装置１の動作を統括的に制御する。接続Ｉ／Ｆ１０５は、符号化装置１に接続される機器とのインターフェースである。通信Ｉ／Ｆは、ネットワークを介して他の情報処理機器と通信を行うためのインターフェースである。
【００２０】
学習用データや符号化用データの入出力および設定は、接続Ｉ／Ｆ１０５または通信Ｉ／Ｆ１０６を介して行われる。図１で説明した符号化装置１の機能は、ＣＰＵ１０１において所定のプログラムが実行されることで実現される。プログラムは、記録媒体を経由して取得してもよく、ネットワークを経由して取得してもよく、ＲＯＭに組み込んで使用してもよい。また、一般的なコンピュータとプログラムの組合せでなく、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの論理回路を組むことで、符号化装置１の構成を実現するためのハードウェア構成にしてもよい。
【００２１】
［２．ＲＢＭの拡張モデル（ＬＳＴＢＭ）の例］
次に、符号化装置１のパラメータ学習ユニット１１および符号化処理ユニット１２が可視素子と隠れ素子を推定する処理について説明する。
本実施の形態においては、ＲＢＭ（制限ボルツマンマシン）の拡張モデルである、ＬＳＴＢＭ(long short-term Boltzmann memory)を新規に開発して、このＬＳＴＢＭを実装して、時系列データの符号化および復号化を適切に行えるようにした点を特徴とする。ＬＳＴＢＭは、ＲＢＭと同様に可視素子と隠れ素子で構成される確率モデルであるが、入力ゲート、出力ゲート、忘却ゲート（forget gate）、および記憶セルを備えて、これらから計算される短期記憶が次の時刻（フレーム）のデータに伝播する構造を持つ。
【００２２】
まず、本実施の形態で特徴となるＬＳＴＢＭを説明する前に、ＬＳＴＢＭの前提となる処理であるＲＢＭについて説明する。
ＲＢＭは入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子の間に双方向の接続重みが存在する（但し可視素子間または隠れ素子間には接続はない）と仮定したボルツマンマシンの一種である。ここで説明するＲＢＭは、実数値データを扱うものとする。
Ｉ次元の実数ベクトルである可視素子ｖ∈ＲＩと、Ｊ個のバイナリーベクトルである隠れ素子ｈ∈ＢＪ（但しＢは０と１の集合）を表現するＲＢＭは、以下のように定義される。
【００２３】
【数１】
2019148877.tif 000003
【００２４】
【数２】
2019148877.tif 000004
【００２５】
【数３】
2019148877.tif 000005
【００２６】
これらの式において、モデルのパラメータ集合を、θ＝｛ｂ，ｃ，Ｗ，σ｝としたとき、それぞれのパラメータである、ｂ∈ＲＩは可視素子のバイアス、ｃ∈ＲＪは隠れ素子のバイアス、Ｗ∈ＲＩ×Ｊは可視素子と隠れ素子の間の双方向結合重み、σ∈ＲＩは可視素子の偏差を表す。また、式中の分数での表記は除算を示し、［・２］は２乗を示し、Ｅはエネルギーを示し、Ｔは転置を示す。
このとき、隠れ素子ｈが与えられたときの可視素子の条件付き確率ｐ（ｖ｜ｈ）、および可視素子ｖが与えられたときの隠れ素子の条件付き確率ｐ（ｈ｜ｖ）は、それぞれ以下の単純な式で計算することができる。
【００２７】
【数４】
2019148877.tif 000006
【００２８】
【数５】
2019148877.tif 000007
【００２９】
ここで、Ｎ（・；μ，Σ）は、平均μと分散共分散行列Σの多変量正規分布、Ｂ（・；π）は成功確率πの多次元ベルヌイ分布、ρ（・）は要素ごとのシグモイド関数、diag（・）は入力ベクトルを対角成分とする対角行列を返す関数を表す。
【００３０】
本実施の形態においては、このＲＢＭを拡張したモデルであるＬＳＴＢＭ(long short-term Boltzmann memory)のモデルを実装する。
ＬＳＴＢＭは、背景技術の欄で説明したＬＳＴＭと同様に、時刻ｔにおける短期記憶データｃｔ∈ＲＪは、１つ前の時刻ｔ−１の短期記憶データｃｔ−１に忘却ゲートｆｔ∈ＢＪを通したものと、記憶コア（長期記憶）のデータｇｔ∈ＲＪに入力ゲートｉｔ∈ＲＪを通したものとの和で表現される。すなわち、次式で示される。
【００３１】
【数６】
2019148877.tif 000008
【００３２】
また、次の［数７］式に示すように、この短期記憶データｃｔに出力ゲートｏｔ∈ＲＪを掛け合わせ、非線形関数ρを通したものを、時刻毎に伝播する隠れ状態ｈｔ∈［０，１］Ｊと定義する。
【００３３】
【数７】
2019148877.tif 000009
【００３４】
ＬＳＴＢＭのモデルでは、各ゲートおよび記憶セルが入力ｖｔと作用し合う潜在変数であるとし、次の［数８］式に示すように、潜在変数に関してマルコフ過程を仮定する。次の式において、ｐ（ｖ１Ｔ、ｓ１Ｔ）は確率密度を示し、［数８］式は確率密度が最大になるように学習することを示す。
【００３５】
【数８】
2019148877.tif 000010
【００３６】
但し、［数８］式においては、ｓｔ＝｛ｆｔ，ｉｔ，ｏｔ，ｇｔ｝とする。ここで、時刻ｔにおける条件付き確率ｐ（ｖｔ，ｓｔ｜ｈｔ−１）を以下の［数９］式〜［数１１］式のように定める。
【００３７】
【数９】
2019148877.tif 000011
【００３８】
【数１０】
2019148877.tif 000012
【００３９】
【数１１】
2019148877.tif 000013
【００４０】
［数１１］式右辺第三項は、可視素子ｖｔと潜在変数ｓｔ間のポテンシャルを表し、ｖｔとｓｔは双方向に演算していることを示す。
ここで、ｌ＝１，２，３，４は、いずれかの潜在変数を指すインデックスであり、次の［数１２］式のように定義する。
【００４１】
【数１２】
2019148877.tif 000014
【００４２】
［数１１］式および［数１２］式において、ｂｖおよびｂ（ｌ）は可視素子および潜在変数のバイアスパラメータ、Ｗ（ｌ）は可視素子と各潜在変数との同じ時間内での双方向接続重み行列パラメータ、Ｕ（ｌ）は時間方向の各潜在変数の再起接続重み行列パラメータ、σは可視素子の偏差パラメータを表す。これらのパラメータは、勾配法に基づく最尤推定によって最適化が可能である。各パラメータの勾配には計算困難な項が含まれるが，通常のＲＢＭと同様に、ＣＤ（contrastive divergence）法によって近似することができる。勾配計算には、時刻ステップごとのサンプリングが必要になるが、ＲＴＲＢＭ（recurrent ＴＲＢＭ）のように期待値を伝播させて効率よく近似計算させることもできる。
本実施の形態例では、一度、可視素子系列ｖｌＴから、各フレームの隠れ状態を潜在変数の期待値Ｅ[st]から計算して伝播させた後、全てのフレームｔ＝１，・・・，Ｔについて、［数１３］式および［数１４］式に示すようにサンプリングし、勾配を計算することでパラメータ更新を行う。
【００４３】
【数１３】
2019148877.tif 000015
【００４４】
【数１４】
2019148877.tif 000016
【００４５】
正規化した可視素子ｖｔを既知の入力としたときの各潜在変数の期待値は、［数１５］式〜［数１８］式で示される。
【００４６】
【数１５】
2019148877.tif 000017
【００４７】
【数１６】
2019148877.tif 000018
【００４８】
【数１７】
2019148877.tif 000019
【００４９】
【数１８】
2019148877.tif 000020
【００５０】
これら［数１５］式〜［数１８］式と［数６］式および［数７］式とから、ＬＳＴＭと同様の順伝播の式になることが分かる。すなわち、本実施の形態で説明しているＬＳＴＢＭは、ＬＳＴＭの拡張表現ということができ、その順伝播は、本来各要素が０または１の値を取る潜在変数を期待値として近似させる場合に、ＬＳＴＭと一致する。
【００５１】
図３は、本実施の形態例における、ＬＳＴＢＭのモデルを示す。
本実施の形態例のＬＳＴＢＭのモデル構造は、入力ゲート１１ａ、可視素子セル１１ｂ、記憶セル１１ｃ、演算器１１ｄ、１１ｇ、１１ｉ、短期記憶セル１１ｅ、忘却ゲート１１ｆ、出力ゲート１１ｈ、および隠れ素子セル１１ｊを有する。
入力ゲート１１ａには時刻ｔの入力データｉｔが得られる。この入力データｉｔの正規化により、可視素子セル１１ｂに時刻ｔの可視素子ｖｔが得られる。
記憶セル１１ｃには、セルの根幹であるローデータ（生データ）ｇｔが得られ、このローデータｇｔが記憶処理で記憶される。入力ゲート１１ａに得られた入力データｉｔと記憶セル１１ｃに記憶されたローデータｇｔとが、演算器１１ｄでドット積され、短期記憶セル１１ｅで短期記憶データｃｔを得るための処理が行われる。
【００５２】
短期記憶データｃｔは、［数６］式で説明したように、１つ前の時刻ｔ−１の短期記憶データｃｔ−１に、忘却ゲート１１ｆのデータｆｔ∈ＢＪを、演算器１１ｇで通したものと、記憶コアのデータｇｔ∈ＲＪに演算器１１ｄで入力ゲート１１ａのデータｉｔ∈ＲＪを通したものとの和で表現される。このように表現される短期記憶データｃｔが、短期記憶処理で短期記憶セル１１ｅに記憶される。忘却ゲート１１ｆのデータｆｔ∈ＢＪは、忘却処理で得られたデータである。
【００５３】
さらに、この短期記憶データｃｔに出力ゲート１１ｈのデータｏｔを演算器１１ｉで掛け合わせ、非線形関数を通したものが、時刻ごとに伝播する隠れ状態のデータｈｔ∈［０，１］Ｊとなって、隠れ素子セル１１ｊに得られる。
なお、Ｗｉ、Ｗｇ、Ｗｆ、Ｗｏは可視素子ｖｔと各潜在変数との双方向接続重み行列パラメータ、Ｕｉ、Ｕｇ、Ｕｆ、Ｕｏは各潜在変数の再起接続重み行列パラメータである。
【００５４】
［３．学習処理動作および符号化処理動作］
次に、本実施の形態例のＬＳＴＢＭを適用して行われる符号化処理について説明する。
図４は、パラメータ学習ユニット１１が行うパラメータ学習動作の流れを示すフローチャートである。
まず、系列データ取得部１１１が学習用の系列データを取得し（ステップＳ１１）、前処理部１１２がその系列データの前処理を実行する（ステップＳ１２）。例えば、学習用のデータが音声データである場合には、系列データ取得部１１１は、学習用音声データを単位時刻（フレーム）ごと（例えば、５ｍｓｅｃごと）に切り出し、切り出された学習用音声信号にＦＦＴ処理などを施すことでスペクトル特徴量（例えば、ＭＦＣＣやメルケプストラム特徴量）を算出する。
【００５５】
次に、前処理が施された系列データがパラメータ推定部１１３に供給され、パラメータ推定部１１３は、系列データのパラメータ学習処理を行う（ステップＳ１３）。ステップＳ１３で行われるパラメータ学習処理の詳細については後述する（図６）。
このパラメータ学習処理でＬＳＴＢＭのモデルが持つ各パラメータが決定され、パラメータ記憶ユニット１４に記憶される。そして、パラメータ記憶ユニット１４に記憶されたパラメータが、パラメータを符号化部１２３に引き渡されて、符号化部１２３で符号化される（ステップＳ１４）。
【００５６】
図５は、符号化処理ユニット１２が行う符号化処理の流れを示すフローチャートである。
まず、系列データ取得部１２１が符号化用系列データを取得し（ステップＳ２１）、前処理部１２２がその系列データの前処理を実行する（ステップＳ２２）。ここでの前処理は、前処理部１１２が行うステップＳ１２での前処理と同じである。
【００５７】
前処理が施された系列データは符号化部１２３に供給され、符号化部１２３は、ステップＳ１４で引き渡されたＬＳＴＢＭのモデルが持つパラメータを使って隠れ素子を推定するとともに、符号化処理を行う（ステップＳ２３）。ステップＳ２３で行われる符号化処理の詳細については後述する（図７）。そして、符号化処理ユニット１２は、ステップＳ２３で得られた隠れ素子を符号化データとして出力する（ステップＳ２４）。
【００５８】
図６は、図４のステップＳ１３で行われるパラメータ学習処理の詳細を示すフローチャートである。
まず、パラメータ推定部１１３は、ＬＳＴＢＭのモデルが持つパラメータ、セル、隠れ素子の初期値として任意の値を設定し、設定した値の時刻を初期値（例えば時刻ｔ＝０）とする（ステップＳ３１）。なお、時刻は、フレーム番号などで表現される。次に、パラメータ推定部１１３の可視素子推定部１１３１に、前処理が施された学習用系列のｔ番目（時刻ｔ）のデータを入力する（ステップＳ３２）。
その後、パラメータ推定部１１３は、ｔ番目の各隠れ状態の確率値を計算し、計算値をサンプリングする（ステップＳ３３）。なお、ここで「サンプリングする」とは、条件付き確率密度関数に従うデータをランダムに１つ生成することをいい、以下、同じ意味で用いる。
【００５９】
また、パラメータ推定部１１３は、ＬＳＴＢＭのモデルのｔ番目の可視素子の確率値を計算し、計算値をサンプリングする（ステップＳ３４）。その後、ＬＳＴＢＭのモデルの隠れ状態の確率値を再度計算し、計算値を再サンプリングする（ステップＳ３５）。そして、パラメータ推定部１１３は、ｔ番目の隠れ素子、セルの値を計算し、時刻ｔを一つ進めた時刻ｔ＋１に更新する（ステップＳ３６）。
【００６０】
その後、パラメータ推定部１１３は、現在の時刻ｔが終了時刻Ｔよりも小さいか否か判断し（ステップＳ３７）、終了時刻Ｔよりも小さい場合には（ステップＳ３７のＹＥＳ）、ステップＳ３２に戻り、ここまでの処理を繰り返す。
また、終了時刻Ｔに到達したと判断したとき（ステップＳ３７のＮＯ）、パラメータ推定部１１３は、各種パラメータを計算した値で更新する（ステップＳ３８）。そして、各種パラメータの更新後にパラメータ学習処理の終了条件を満足したか否か判断する（ステップＳ３９）。
【００６１】
ステップＳ３９で、終了条件を満足しないと判断した場合には（ステップＳ３９のＮＯ）、ステップＳ３１に戻り、ここまでの処理を繰り返す。また、ステップＳ３９で終了条件を満足したと判断した場合には（ステップＳ３９のＹＥＳ）、パラメータ推定部１１３は、パラメータ学習処理を終了する。なお、ステップＳ３９で終了条件を満たす場合としては、例えば、これら一連のステップの繰り返し数が予め設定された繰り返し数になった場合がある。
【００６２】
図７は、図５のステップＳ２３で行われる符号化処理の詳細を示すフローチャートである。
まず、符号化部１２３は、パラメータ推定部１１３から引き渡されたパラメータを設定する（ステップＳ４１）。次に、符号化部１２３の可視素子推定部１２３１に、前処理が施された符号化用系列データを入力する（ステップＳ４２）。
その後、符号化部１２３の隠れ素子推定部１２３２は、ＬＳＴＢＭのモデルの隠れ素子を計算し、推定した隠れ素子を符号化データとして出力する（ステップＳ４３）。
【００６３】
［４．復号化装置の構成および動作］
図８は、本発明の一実施形態例に係る符号化装置１に対応する復号化装置２の構成例を示したものである。
復号化装置２は、符号化装置１で得られた符号化データを復号化するものであり、例えばコンピュータで構成される。なお、復号化装置２は、符号化装置１と一体化してもよい。
復号化装置２は、パラメータ学習ユニット１１とパラメータ記憶ユニット１４と復号化処理ユニット１３とを備える。
パラメータ学習ユニット１１は、符号化装置１のパラメータ学習ユニット１１と同じであり、パラメータ推定部１１３として、学習処理で得た可視素子および隠れ素子を推定する可視素子推定部１１３１および隠れ素子推定部１１３２を備える。
パラメータ学習ユニット１１で得たパラメータは、パラメータ記憶ユニット１４に記憶される。
【００６４】
復号化処理ユニット１３には、符号化装置１で得られた符号化データが供給される。復号化処理ユニット１３は、復号化部１３１を備える。復号化部１３１は、可視素子推定部１３１１と隠れ素子推定部１３１２とを有し、ＬＳＴＢＭのモデルのパラメータをパラメータ記憶ユニット１４から取得する。
隠れ素子推定部１３１２は、入力した符号化データを隠れ素子の推定値とする。そして、可視素子推定部１３１１は、ＬＳＴＢＭのモデルのパラメータを使った演算により、可視素子の推定値を得る。この可視素子の推定値は、後処理部１３２に供給され、後処理部１３２で後処理が行われる。後処理部１３２では、例えば符号化装置１の前処理部１２２での前処理を元に戻す処理が行われる。
そして、出力部１３３は、後処理が行われた復号化データを出力する。
【００６５】
図９は、復号化装置２での復号化の流れを示すフローチャートである。
復号化装置２は、復号化する符号化データを取得すると（ステップＳ５１）、復号化処理ユニット１３により復号化処理を行う。復号化処理の詳細は後述する（図１０）。
復号化処理ユニット１３での処理で得られたデータは、後処理部１３２に供給されて後処理が行われ（ステップＳ５２）、後処理されたデータが出力部１３３から復号化データとして出力される（ステップＳ５３）。
【００６６】
図１０は、図９のフローチャートのステップＳ５２での復号化処理の詳細を示す。
まず、復号化部１３１は、パラメータ記憶ユニット１４から引き渡されたＬＳＴＢＭのモデルの各種パラメータを設定する（ステップＳ６１）。ここでは、復号化する符号化データを符号化する際に用いたパラメータをパラメータ記憶ユニット１４から取得して設定する。このパラメータは、図１に示す符号化装置１での符号化時に使用したパラメータである。そして、復号化部１３１の隠れ素子推定部１３１２に、符号化データを入力する（ステップＳ６２）。また、可視素子推定部１３１１は、ＬＳＴＢＭのモデルを使って可視素子（復号化データ）を推定する（ステップＳ６３）。
このようにして、符号化とは逆の流れで、符号化データの復号化が可能となる。
【００６７】
［５．実験例］
次に、本実施の形態例によるＬＳＴＢＭのモデルの有効性を検証するために実験した例について説明する。
ここでは、本実施の形態例によるＬＳＴＢＭのモデルの有効性を確認するため、系列データである音声データの符号化を行い、その符号化音声の品質評価実験を行った。具体的には、評価実験用に用意された音声データベースから選んだ音声（女性アナウンサーの音声）を用いて再構築音声の品質評価実験を行った。ここでは、約４．２分の音声について、サンプリングレート２０kHzを１６kHzにダウンサンプリングし、窓幅２５６、６４サンプルオーバーラップの短時間フーリエ変換を施して得られる振幅スペクトル（Ｉ＝１２９次元、全フレーム数64438）を入力特徴量として、ＬＳＴＢＭのモデルで学習を行った。
【００６８】
隠れ素子数Ｊについては、Ｊ＝１００、２００、４００の３種類で比較した。モデルの学習では、フレーム数Ｔ＝１０００のバッチをランダムに選択し、学習率０．００１、減衰率β１＝０．９、β２＝０．９９９で、２５０回のパラメータ更新を繰り返した。また、従来のＲＢＭのモデルと、ＴＲＢＭのモデルについても、同様の条件で学習および符号化を行った結果を、表１に示す。
【００６９】
【表１】
2019148877.tif 000021
【００７０】
表１において、ＬＳＴＢＭ（１００）、ＬＳＴＢＭ（２００）、ＬＳＴＢＭ（４００）は、それぞれＬＳＴＢＭのモデルで、隠れ素子数１００、２００、４００の例を示す。同様に、ＲＢＭ（１００）、ＲＢＭ（２００）、ＲＢＭ（４００）、ＴＲＢＭ（１００）、ＴＲＢＭ（２００）、ＴＲＢＭ（４００）は、それぞれＲＢＭのモデル又はＴＲＢＭのモデルで、隠れ素子数１００、２００、４００の例を示す。
また、表１の「Train」は学習データで学習した際の評価値、「Test」は学習後のテスト用音声データによる符号化時の評価値を示す。
【００７１】
モデルの評価には、学習用音声およびテスト用音声について、各手法から得られる復元音声に対し、ＰＥＳＱ(perceptual evaluation of speech quality)の手法を用いた客観品質評価を行った。ここでの評価値は、５が最も高い値で、１が最も低い値である。すなわち、５に近い程、高い評価が得られたことを示す。
ここでの復元音声とは、具体的には与えられた音声から潜在変数の期待値を計算（符号化）し、逆に潜在変数から音声の期待値を計算（復号化）して得られる振幅スペクトルと、オリジナルの位相スペクトルから復元される複素スペクトルに逆フーリエ変換を施し、overlap-add 法によって復元した音声信号である。
表１から分かるように、ＬＳＴＢＭのモデルは、いずれの隠れ素子数の場合でも、ＲＢＭやＴＲＢＭよりも高い評価値が得られている。
【００７２】
図１１は、いずれも隠れ素子数４００のＬＳＴＢＭのモデル、ＲＢＭのモデル、ＴＲＢＭのモデルのＭＳＥ(Mean Squared Error：平均二乗誤差)を比較したものである。図１１において、縦軸はＭＳＥ、横軸は繰り返し回数（図６のフローチャートのステップＳ３９でのループ回数）を示す。
この図１１からも、本実施の形態例によるＬＳＴＢＭのモデルが、収束時のＭＳＥが最も低くなっていることが分かる。
【００７３】
図１２は、符号化前のオリジナルの音声信号のスペクトル（図１２Ａ）と、本実施の形態例のＬＳＴＢＭのモデルで符号化した音声信号を復号したスペクトル（図１２Ｂ）とを対比して示す波形図である。図１２の縦軸は周波数、横軸は時間（秒）である。ＬＳＴＢＭのモデルを適用した場合の隠れ素子数は４００である。
図１２Ａと図１２Ｂを比較すると分かるように、図１２Ａのオリジナルの音声信号のスペクトルと、図１２Ｂの符号化した音声信号のスペクトルはほぼ等しく、ＬＳＴＢＭのモデルによる符号化では、音声の調波構造やフォルマントが正しく表現できている。
【００７４】
以上説明したように、長期記憶と短期記憶の構造を持つボルツマンマシンベースの確率モデルであるＬＳＴＢＭを適用することで、従来よりも高品質な符号化や復号化が行えるようになる。
【００７５】
［６．変形例］
なお、上述した実施の形態例では、実験例として音声データに適用した場合を説明したが、本発明によるＬＳＴＢＭは、他の様々な時系列の信号の符号化および復号化に適用が可能である。例えば画像データの符号化および復号化に本発明によるＬＳＴＢＭを適用してもよい。さらに、本発明によるＬＳＴＢＭは、音声データや画像データ以外の時系列データの符号化および復号化に適用してもよい。
【符号の説明】
【００７６】
１・・・符号化装置、２・・・復号化装置、１１・・・パラメータ学習ユニット、１１ａ・・・入力ゲート、１１ｂ・・・可視素子セル、１１ｃ・・・記憶セル、１１ｄ，１１ｇ，１１ｉ・・・演算器、１１ｅ・・・短期記憶セル、１１ｆ・・・忘却ゲート、１１ｈ・・・出力ゲート、１１ｊ・・・隠れ素子セル、１２・・・符号化処理ユニット、１３・・・復号化処理ユニット、１４・・・パラメータ記憶ユニット、１０１・・・ＣＰＵ（中央制御ユニット）、１０２・・・ＲＯＭ、１０３・・・ＲＡＭ、１０４・・・ＨＤＤ／ＳＤＤ、１０５・・・接続Ｉ／Ｆ、１０６・・・通信Ｉ／Ｆ、１１１，１２１・・・系列データ取得部、１１２，１２２・・・前処理部、１１３・・・パラメータ推定部、１２３・・・符号化部、１３１・・・復号化部、１３２・・・後処理部、１３３・・・出力部、１１３１，１２３１，１３１１・・・可視素子推定部、１１３２，１２３２，１３１２・・・隠れ素子推定部
【図１】
2019148877.tif 000022
【図２】
2019148877.tif 000023
【図３】
2019148877.tif 000024
【図４】
2019148877.tif 000025
【図５】
2019148877.tif 000026
【図６】
2019148877.tif 000027
【図７】
2019148877.tif 000028
【図８】
2019148877.tif 000029
【図９】
2019148877.tif 000030
【図１０】
2019148877.tif 000031
【図１１】
2019148877.tif 000032
【図１２】
2019148877.tif 000033