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

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

▶ 国立大学法人電気通信大学の特許一覧

特許7011309符号化装置、符号化方法およびプログラム
<>
  • 特許-符号化装置、符号化方法およびプログラム 図1
  • 特許-符号化装置、符号化方法およびプログラム 図2
  • 特許-符号化装置、符号化方法およびプログラム 図3
  • 特許-符号化装置、符号化方法およびプログラム 図4
  • 特許-符号化装置、符号化方法およびプログラム 図5
  • 特許-符号化装置、符号化方法およびプログラム 図6
  • 特許-符号化装置、符号化方法およびプログラム 図7
  • 特許-符号化装置、符号化方法およびプログラム 図8
  • 特許-符号化装置、符号化方法およびプログラム 図9
  • 特許-符号化装置、符号化方法およびプログラム 図10
  • 特許-符号化装置、符号化方法およびプログラム 図11
  • 特許-符号化装置、符号化方法およびプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-18
(45)【発行日】2022-01-26
(54)【発明の名称】符号化装置、符号化方法およびプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20220119BHJP
   G06N 7/00 20060101ALI20220119BHJP
【FI】
G06N20/00
G06N7/00 150
【請求項の数】 5
(21)【出願番号】P 2018031875
(22)【出願日】2018-02-26
(65)【公開番号】P2019148877
(43)【公開日】2019-09-05
【審査請求日】2020-12-16
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成29年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業(ACT-I)研究領域「情報と未来」研究課題名「適応型制限ボルツマンマシンの複素拡張に基づくボコーダー不要な非パラレル声質変換」委託研究、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
(74)【代理人】
【識別番号】110000925
【氏名又は名称】特許業務法人信友国際特許事務所
(72)【発明者】
【氏名】中鹿 亘
【審査官】中村 信也
(56)【参考文献】
【文献】中鹿 亘 Toru NAKASHIKA,長・短期記憶構造を持つ拡張ボルツマンマシンの検討,日本音響学会 2018年 春季研究発表会講演論文集CD-ROM [CD-ROM],一般社団法人日本音響学会,2018年03月15日,P.237-240
【文献】齋藤 大輔 Daisuke SAITO,声質変換における深層学習技術 Deep Learning in Voice Conversion,電子情報通信学会技術研究報告 Vol.116 No.414 IEICE Technical Report,日本,一般社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2017年01月14日,第116巻,P.47-52
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-3/12
G06N 7/08-99/00
G06N 5/00-7/06
(57)【特許請求の範囲】
【請求項1】
入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用入力データに対して、前記隠れ素子および前記結合重みを推定する処理を行うパラメータ学習ユニットと、
符号化用入力データに対して、前記パラメータ学習ユニットで推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子に基づいて符号化データとしての出力データを得る符号化ユニットとを備え、
前記学習用入力データおよび前記符号化用入力データは時系列の入力データであり、前記パラメータ学習ユニットおよび前記符号化ユニットは、前記可視素子に基づいて時系列のデータを記憶する記憶セルと、前記記憶セルに記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶セルと、前記可視素子に基づいて前記短期記憶セルの出力を制御する忘却ゲートとを有し、
前記忘却ゲートに基づいて制御された前記短期記憶セルの出力に基づいて、時刻ごとに伝播する前記隠れ素子を得るようにした
符号化装置。
【請求項2】
前記短期記憶セルが記憶する、入力データについての特定時刻における短期記憶データは、その特定時刻の1つ前の時刻における短期記憶データに前記忘却ゲートを通したものと、前記記憶セルのデータに入力データを通したものとの和で取得し、
得られた短期記憶データに出力データを掛け合わせて、非線形関数を乗算したものを、時刻ごとに伝播する前記隠れ素子とする
請求項1に記載の符号化装置。
【請求項3】
さらに、前記符号化ユニットで得られた符号化データを復号化する復号化処理ユニットを備えた
請求項1又は2に記載の符号化装置。
【請求項4】
入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、時系列のデータである学習用入力データに対して、前記隠れ素子および前記結合重みを推定するパラメータ学習処理と、
時系列のデータである符号化用入力データに対して、前記パラメータ学習処理で推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子に基づいて符号化データとしての出力データを得る符号化処理とを行う符号化方法であり、
前記パラメータ学習処理と前記符号化処理のそれぞれは、
前記可視素子に基づいて時系列のデータを記憶する記憶処理と、
前記記憶処理により記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶処理と、
前記短期記憶処理で一時記憶されたデータの出力を前記可視素子に基づいて制御する忘却処理と、
前記忘却処理に基づいて制御された前記短期記憶処理の出力に基づいて、時刻ごとに伝播する前記隠れ素子を得る隠れ素子取得処理と、を含む
符号化方法。
【請求項5】
入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、時系列のデータである学習用入力データに対して、前記隠れ素子および前記結合重みを推定するパラメータ学習ステップと、
時系列のデータである符号化用入力データに対して、前記パラメータ学習ステップで推定した前記制限ボルツマンマシンによる確率モデルを適用して、前記隠れ素子を推定し、推定した前記隠れ素子に基づいて符号化データとしての出力データを得る符号化ステップとを、コンピュータに実行させるプログラムであり、
前記パラメータ学習ステップと前記符号化ステップのそれぞれは、
前記可視素子に基づいて時系列のデータを記憶する記憶ステップと、
前記記憶ステップにより記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶ステップと、
前記短期記憶ステップで一時記憶されたデータの出力を前記可視素子に基づいて制御する忘却ステップと、
前記忘却ステップに基づいて制御された前記短期記憶ステップの出力に基づいて、時刻ごとに伝播する前記隠れ素子を得る隠れ素子取得ステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化装置および符号化方法、並びに符号化方法を実行するプログラムに関する。
【背景技術】
【0002】
近年、ディープラーニングを用いた機械学習手法が飛躍的に高い精度を上げ、画像認識や音声認識など、幅広い分野において盛んに研究され、利用が進んでいる。これまでに数多くの機械学習手法が提案されているが、最も代表的なモデルとして、制限ボルツマンマシン(restricted Boltzmann machine:以下、「RBM」と称する)が用いられている。RBMは、可視ユニットと隠れユニットからなる2層構造の確率モデルであり、その応用は特徴抽出や識別器、DNN(deep neural network)の事前学習など多岐に渡る。
【0003】
一方で、音声認識や自然言語処理など、時系列データを取り扱う場合には、過去の情報を伝播させる機構を持つRNN(recurrent neural networks)やCNN(convolutional neural networks)、LSTM(long short-term memory)、GRU(gated recurrent unit)などが有効である。中でもLSTMは記憶セルによる長・短期記憶構造によって重要な情報を保持させることができ、音声認識、音声合成、機械翻訳など様々なタスクにおいて高い精度を得ることができる。
非特許文献1には、ボルツマンマシンで特徴量を抽出する技術が記載されている
【先行技術文献】
【非特許文献】
【0004】
【文献】Y. Freund and D. Haussler, “Unsupervised learning of distributions of binary vectors using two layer networks,” Computer Research Labora- tory, pp. 912-919, 1994
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、RBMはフレームごとに独立して処理を行うため、時系列データを表現するのに不十分である。時系列データを表現するRBMの拡張モデルとして、既にTRBM(temporal RBM)が提案されているが、RNNと同様に、勾配が消失する、過去の長期的な依存関係を表現できない、といった問題がある。
【0006】
本発明は、LSTMにある長・短期記憶構造に着目し、重要な記憶を確率的に伝播させることのできるRBMの拡張モデルを適用して、良好な符号化ができる符号化装置、符号化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の符号化装置は、パラメータ学習ユニットと符号化ユニットとを備える。
パラメータ学習ユニットは、入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、学習用入力データに対して、隠れ素子および結合重みを推定する処理を行う。
符号化ユニットは、符号化用入力データに対して、パラメータ学習ユニットで推定した制限ボルツマンマシンによる確率モデルを適用して、隠れ素子を推定し、推定した隠れ素子に基づいて符号化データとしての出力データを得る。
ここで、学習用入力データおよび符号化用入力データは時系列の入力データであり、パラメータ学習ユニットおよび符号化ユニットは、可視素子に基づいて時系列のデータを記憶する記憶セルと、記憶セルに記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶セルと、可視素子に基づいて短期記憶セルの出力を制御する忘却ゲートとを有する。
そして、忘却ゲートに基づいて制御された短期記憶セルの出力に基づいて、時刻ごとに伝播する隠れ素子を得るようにした。
【0008】
また、本発明の符号化方法は、パラメータ学習処理と符号化処理とを行うものである。
パラメータ学習処理は、入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子との間に結合重みが存在すると仮定した制限ボルツマンマシンによる確率モデルを適用して、時系列のデータである学習用入力データに対して、隠れ素子および結合重みを推定する。
符号化処理は、時系列のデータである符号化用入力データに対して、パラメータ学習処理で推定した制限ボルツマンマシンによる確率モデルを適用して、隠れ素子を推定し、推定した隠れ素子に基づいて符号化データとしての出力データを得る。
ここで、パラメータ学習処理と符号化処理のそれぞれは、可視素子に基づいて時系列のデータを記憶する記憶処理と、記憶処理により記憶されたデータおよび入力データに基づいてデータを一時記憶する短期記憶処理と、短期記憶処理で一時記憶されたデータの出力を可視素子に基づいて制御する忘却処理と、忘却処理に基づいて制御された短期記憶処理の出力に基づいて、時刻ごとに伝播する隠れ素子を得る隠れ素子取得処理と、を含む。
【0009】
また、本発明のプログラムは、上述した符号化方法の記憶処理、短期記憶処理、忘却処理、隠れ素子取得処理のそれぞれのステップをコンピュータに実行させるものである。
【発明の効果】
【0010】
本発明によると、時系列データに対して制限ボルツマンマシン(RBM)の機能を適用することができ、適切に特徴量を抽出することができるので、時系列の入力データから高い精度で特徴量を抽出して符号化することが可能になり、効率の良い符号化を行うことができる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施の形態例による符号化装置の構成例を示すブロック図である。
図2図1の符号化装置のハードウェア構成例を示すブロック図である。
図3】本発明の一実施の形態例に適用される、LSTBM(long short-term Boltzmann memory)を模式的に示す図である。
図4】本発明の一実施の形態例によるパラメータ学習の流れを示すフローチャートである。
図5】本発明の一実施の形態例による符号化の流れを示すフローチャートである。
図6図4のステップS13のLSTBMの学習処理を示すフローチャートである。
図7図5のステップS23の符号化処理を示すフローチャートである。
図8】本発明の一実施の形態例により符号化されたデータを復号化する復号化装置の構成例を示すブロック図である。
図9】本発明の一実施の形態例による復号化の流れを示すフローチャートである。
図10図9のステップS52の復号化処理を示すフローチャートである。
図11】本発明を適用したLSTBMと従来例(RBM、TRBM)とを比較した特性図である。
図12】符号化前のオリジナルの信号スペクトル(図12A)と、本発明を適用したLSTBMで符号化した信号スペクトル(図12B)とを対比して示す波形図である。
【発明を実施するための形態】
【0012】
以下、本発明の好適な一実施の形態例について説明する。
【0013】
[1.符号化装置の構成例]
図1は、本発明の一実施の形態例にかかる符号化装置の構成例を示す図である。図1に示すように、コンピュータ(PC)等により構成される符号化装置1は、パラメータ学習ユニット11と符号化処理ユニット12とパラメータ記憶ユニット14とを備える。
パラメータ学習ユニット11は、符号化を行うデータと同じ種類のデータについて事前に学習処理を行い、符号化に必要なパラメータを得る。パラメータ学習ユニット11が決定したパラメータは、パラメータ記憶ユニット14に記憶される。符号化処理ユニット12は、学習処理でパラメータ記憶ユニット14に記憶されたパラメータを使って、入力データ(符号化用データ)の符号化を行う。
符号化を行う入力データは、音声データ、画像データなどの様々な時系列データを含む。
【0014】
パラメータ学習ユニット11は、系列データ取得部111と前処理部112とパラメータ推定部113とを備える。系列データ取得部111には、学習用時系列データが供給される。系列データ取得部111で取得した学習用時系列データは、前処理部112で前処理が行われた後、パラメータ推定部113に供給される。
例えば、系列データ取得部111で取得される学習用時系列データが音声データの場合には、前処理部112は、学習用の音声データを単位時間ごと(以下、フレームという)に切り出して、MFCC(Mel-Frequency Cepstrum Coefficients:メル周波数ケプストラム係数)やメルケプストラム特徴量などのフレームごとの音声信号のスペクトル特徴量を計算し、これを正規化する。
【0015】
パラメータ推定部113は、可視素子推定部1131と隠れ素子推定部1132とによって構成される確率モデルを持つ。本実施の形態例では、可視素子推定部1131および隠れ素子推定部1132で構成される確率モデルとして、可視素子と、潜在的な情報を表現する隠れ素子との間に、結合重みが存在すると仮定したRBM(制限ボルツマンマシン)を使用する。パラメータ推定部113は、この結合重みの情報についても推定して持つ。このRBMの詳細については後述する。
【0016】
符号化処理ユニット12は、系列データ取得部121と前処理部122と符号化部123とを備える。
系列データ取得部121には、符号化用系列データが供給される。系列データ取得部121で取得された符号化用系列データは、前処理部122で前処理が行われた後、符号化部123に供給される。
前処理部122は、パラメータ学習ユニット11の前処理部112と同じ構成である。
【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の拡張モデル(LSTBM)の例]
次に、符号化装置1のパラメータ学習ユニット11および符号化処理ユニット12が可視素子と隠れ素子を推定する処理について説明する。
本実施の形態においては、RBM(制限ボルツマンマシン)の拡張モデルである、LSTBM(long short-term Boltzmann memory)を新規に開発して、このLSTBMを実装して、時系列データの符号化および復号化を適切に行えるようにした点を特徴とする。LSTBMは、RBMと同様に可視素子と隠れ素子で構成される確率モデルであるが、入力ゲート、出力ゲート、忘却ゲート(forget gate)、および記憶セルを備えて、これらから計算される短期記憶が次の時刻(フレーム)のデータに伝播する構造を持つ。
【0022】
まず、本実施の形態で特徴となるLSTBMを説明する前に、LSTBMの前提となる処理であるRBMについて説明する。
RBMは入力データを表現する可視素子と、潜在的な情報を表現する隠れ素子の間に双方向の接続重みが存在する(但し可視素子間または隠れ素子間には接続はない)と仮定したボルツマンマシンの一種である。ここで説明するRBMは、実数値データを扱うものとする。
I次元の実数ベクトルである可視素子v∈Rと、J個のバイナリーベクトルである隠れ素子h∈B(但しBは0と1の集合)を表現するRBMは、以下のように定義される。
【0023】
【数1】
【0024】
【数2】
【0025】
【数3】
【0026】
これらの式において、モデルのパラメータ集合を、θ={b,c,W,σ}としたとき、それぞれのパラメータである、b∈Rは可視素子のバイアス、c∈Rは隠れ素子のバイアス、W∈RI×Jは可視素子と隠れ素子の間の双方向結合重み、σ∈Rは可視素子の偏差を表す。また、式中の分数での表記は除算を示し、[・]は2乗を示し、Eはエネルギーを示し、Tは転置を示す。
このとき、隠れ素子hが与えられたときの可視素子の条件付き確率p(v|h)、および可視素子vが与えられたときの隠れ素子の条件付き確率p(h|v)は、それぞれ以下の単純な式で計算することができる。
【0027】
【数4】
【0028】
【数5】
【0029】
ここで、N(・;μ,Σ)は、平均μと分散共分散行列Σの多変量正規分布、B(・;π)は成功確率πの多次元ベルヌイ分布、ρ(・)は要素ごとのシグモイド関数、diag(・)は入力ベクトルを対角成分とする対角行列を返す関数を表す。
【0030】
本実施の形態においては、このRBMを拡張したモデルであるLSTBM(long short-term Boltzmann memory)のモデルを実装する。
LSTBMは、背景技術の欄で説明したLSTMと同様に、時刻tにおける短期記憶データc∈Rは、1つ前の時刻t-1の短期記憶データct-1に忘却ゲートf∈Bを通したものと、記憶コア(長期記憶)のデータg∈Rに入力ゲートi∈Rを通したものとの和で表現される。すなわち、次式で示される。
【0031】
【数6】
【0032】
また、次の[数7]式に示すように、この短期記憶データcに出力ゲートo∈Rを掛け合わせ、非線形関数ρを通したものを、時刻毎に伝播する隠れ状態h∈[0,1]と定義する。
【0033】
【数7】
【0034】
LSTBMのモデルでは、各ゲートおよび記憶セルが入力vと作用し合う潜在変数であるとし、次の[数8]式に示すように、潜在変数に関してマルコフ過程を仮定する。次の式において、p(v 、s )は確率密度を示し、[数8]式は確率密度が最大になるように学習することを示す。
【0035】
【数8】
【0036】
但し、[数8]式においては、s={f,i,o,g}とする。ここで、時刻tにおける条件付き確率p(v,s|ht-1)を以下の[数9]式~[数11]式のように定める。
【0037】
【数9】
【0038】
【数10】
【0039】
【数11】
【0040】
[数11]式右辺第三項は、可視素子vと潜在変数s間のポテンシャルを表し、vとsは双方向に演算していることを示す。
ここで、l=1,2,3,4は、いずれかの潜在変数を指すインデックスであり、次の[数12]式のように定義する。
【0041】
【数12】
【0042】
[数11]式および[数12]式において、bおよびb(l)は可視素子および潜在変数のバイアスパラメータ、W(l)は可視素子と各潜在変数との同じ時間内での双方向接続重み行列パラメータ、U(l)は時間方向の各潜在変数の再起接続重み行列パラメータ、σは可視素子の偏差パラメータを表す。これらのパラメータは、勾配法に基づく最尤推定によって最適化が可能である。各パラメータの勾配には計算困難な項が含まれるが,通常のRBMと同様に、CD(contrastive divergence)法によって近似することができる。勾配計算には、時刻ステップごとのサンプリングが必要になるが、RTRBM(recurrent TRBM)のように期待値を伝播させて効率よく近似計算させることもできる。
本実施の形態例では、一度、可視素子系列v から、各フレームの隠れ状態を潜在変数の期待値E[st]から計算して伝播させた後、全てのフレームt=1,・・・,Tについて、[数13]式および[数14]式に示すようにサンプリングし、勾配を計算することでパラメータ更新を行う。
【0043】
【数13】
【0044】
【数14】
【0045】
正規化した可視素子vを既知の入力としたときの各潜在変数の期待値は、[数15]式~[数18]式で示される。
【0046】
【数15】
【0047】
【数16】
【0048】
【数17】
【0049】
【数18】
【0050】
これら[数15]式~[数18]式と[数6]式および[数7]式とから、LSTMと同様の順伝播の式になることが分かる。すなわち、本実施の形態で説明しているLSTBMは、LSTMの拡張表現ということができ、その順伝播は、本来各要素が0または1の値を取る潜在変数を期待値として近似させる場合に、LSTMと一致する。
【0051】
図3は、本実施の形態例における、LSTBMのモデルを示す。
本実施の形態例のLSTBMのモデル構造は、入力ゲート11a、可視素子セル11b、記憶セル11c、演算器11d、11g、11i、短期記憶セル11e、忘却ゲート11f、出力ゲート11h、および隠れ素子セル11jを有する。
入力ゲート11aには時刻tの入力データiが得られる。この入力データiの正規化により、可視素子セル11bに時刻tの可視素子vが得られる。
記憶セル11cには、セルの根幹であるローデータ(生データ)gが得られ、このローデータgが記憶処理で記憶される。入力ゲート11aに得られた入力データiと記憶セル11cに記憶されたローデータgとが、演算器11dでドット積され、短期記憶セル11eで短期記憶データcを得るための処理が行われる。
【0052】
短期記憶データcは、[数6]式で説明したように、1つ前の時刻t-1の短期記憶データct-1に、忘却ゲート11fのデータf∈Bを、演算器11gで通したものと、記憶コアのデータg∈Rに演算器11dで入力ゲート11aのデータi∈Rを通したものとの和で表現される。このように表現される短期記憶データcが、短期記憶処理で短期記憶セル11eに記憶される。忘却ゲート11fのデータf∈Bは、忘却処理で得られたデータである。
【0053】
さらに、この短期記憶データcに出力ゲート11hのデータoを演算器11iで掛け合わせ、非線形関数を通したものが、時刻ごとに伝播する隠れ状態のデータh∈[0,1]となって、隠れ素子セル11jに得られる。
なお、W、W、W、Wは可視素子vと各潜在変数との双方向接続重み行列パラメータ、U、U、U、Uは各潜在変数の再起接続重み行列パラメータである。
【0054】
[3.学習処理動作および符号化処理動作]
次に、本実施の形態例のLSTBMを適用して行われる符号化処理について説明する。
図4は、パラメータ学習ユニット11が行うパラメータ学習動作の流れを示すフローチャートである。
まず、系列データ取得部111が学習用の系列データを取得し(ステップS11)、前処理部112がその系列データの前処理を実行する(ステップS12)。例えば、学習用のデータが音声データである場合には、系列データ取得部111は、学習用音声データを単位時刻(フレーム)ごと(例えば、5msecごと)に切り出し、切り出された学習用音声信号にFFT処理などを施すことでスペクトル特徴量(例えば、MFCCやメルケプストラム特徴量)を算出する。
【0055】
次に、前処理が施された系列データがパラメータ推定部113に供給され、パラメータ推定部113は、系列データのパラメータ学習処理を行う(ステップS13)。ステップS13で行われるパラメータ学習処理の詳細については後述する(図6)。
このパラメータ学習処理でLSTBMのモデルが持つ各パラメータが決定され、パラメータ記憶ユニット14に記憶される。そして、パラメータ記憶ユニット14に記憶されたパラメータが、パラメータを符号化部123に引き渡されて、符号化部123で符号化される(ステップS14)。
【0056】
図5は、符号化処理ユニット12が行う符号化処理の流れを示すフローチャートである。
まず、系列データ取得部121が符号化用系列データを取得し(ステップS21)、前処理部122がその系列データの前処理を実行する(ステップS22)。ここでの前処理は、前処理部112が行うステップS12での前処理と同じである。
【0057】
前処理が施された系列データは符号化部123に供給され、符号化部123は、ステップS14で引き渡されたLSTBMのモデルが持つパラメータを使って隠れ素子を推定するとともに、符号化処理を行う(ステップS23)。ステップS23で行われる符号化処理の詳細については後述する(図7)。そして、符号化処理ユニット12は、ステップS23で得られた隠れ素子を符号化データとして出力する(ステップS24)。
【0058】
図6は、図4のステップS13で行われるパラメータ学習処理の詳細を示すフローチャートである。
まず、パラメータ推定部113は、LSTBMのモデルが持つパラメータ、セル、隠れ素子の初期値として任意の値を設定し、設定した値の時刻を初期値(例えば時刻t=0)とする(ステップS31)。なお、時刻は、フレーム番号などで表現される。次に、パラメータ推定部113の可視素子推定部1131に、前処理が施された学習用系列のt番目(時刻t)のデータを入力する(ステップS32)。
その後、パラメータ推定部113は、t番目の各隠れ状態の確率値を計算し、計算値をサンプリングする(ステップS33)。なお、ここで「サンプリングする」とは、条件付き確率密度関数に従うデータをランダムに1つ生成することをいい、以下、同じ意味で用いる。
【0059】
また、パラメータ推定部113は、LSTBMのモデルのt番目の可視素子の確率値を計算し、計算値をサンプリングする(ステップS34)。その後、LSTBMのモデルの隠れ状態の確率値を再度計算し、計算値を再サンプリングする(ステップS35)。そして、パラメータ推定部113は、t番目の隠れ素子、セルの値を計算し、時刻tを一つ進めた時刻t+1に更新する(ステップS36)。
【0060】
その後、パラメータ推定部113は、現在の時刻tが終了時刻Tよりも小さいか否か判断し(ステップS37)、終了時刻Tよりも小さい場合には(ステップS37のYES)、ステップS32に戻り、ここまでの処理を繰り返す。
また、終了時刻Tに到達したと判断したとき(ステップS37のNO)、パラメータ推定部113は、各種パラメータを計算した値で更新する(ステップS38)。そして、各種パラメータの更新後にパラメータ学習処理の終了条件を満足したか否か判断する(ステップS39)。
【0061】
ステップS39で、終了条件を満足しないと判断した場合には(ステップS39のNO)、ステップS31に戻り、ここまでの処理を繰り返す。また、ステップS39で終了条件を満足したと判断した場合には(ステップS39のYES)、パラメータ推定部113は、パラメータ学習処理を終了する。なお、ステップS39で終了条件を満たす場合としては、例えば、これら一連のステップの繰り返し数が予め設定された繰り返し数になった場合がある。
【0062】
図7は、図5のステップS23で行われる符号化処理の詳細を示すフローチャートである。
まず、符号化部123は、パラメータ推定部113から引き渡されたパラメータを設定する(ステップS41)。次に、符号化部123の可視素子推定部1231に、前処理が施された符号化用系列データを入力する(ステップS42)。
その後、符号化部123の隠れ素子推定部1232は、LSTBMのモデルの隠れ素子を計算し、推定した隠れ素子を符号化データとして出力する(ステップS43)。
【0063】
[4.復号化装置の構成および動作]
図8は、本発明の一実施形態例に係る符号化装置1に対応する復号化装置2の構成例を示したものである。
復号化装置2は、符号化装置1で得られた符号化データを復号化するものであり、例えばコンピュータで構成される。なお、復号化装置2は、符号化装置1と一体化してもよい。
復号化装置2は、パラメータ学習ユニット11とパラメータ記憶ユニット14と復号化処理ユニット13とを備える。
パラメータ学習ユニット11は、符号化装置1のパラメータ学習ユニット11と同じであり、パラメータ推定部113として、学習処理で得た可視素子および隠れ素子を推定する可視素子推定部1131および隠れ素子推定部1132を備える。
パラメータ学習ユニット11で得たパラメータは、パラメータ記憶ユニット14に記憶される。
【0064】
復号化処理ユニット13には、符号化装置1で得られた符号化データが供給される。復号化処理ユニット13は、復号化部131を備える。復号化部131は、可視素子推定部1311と隠れ素子推定部1312とを有し、LSTBMのモデルのパラメータをパラメータ記憶ユニット14から取得する。
隠れ素子推定部1312は、入力した符号化データを隠れ素子の推定値とする。そして、可視素子推定部1311は、LSTBMのモデルのパラメータを使った演算により、可視素子の推定値を得る。この可視素子の推定値は、後処理部132に供給され、後処理部132で後処理が行われる。後処理部132では、例えば符号化装置1の前処理部122での前処理を元に戻す処理が行われる。
そして、出力部133は、後処理が行われた復号化データを出力する。
【0065】
図9は、復号化装置2での復号化の流れを示すフローチャートである。
復号化装置2は、復号化する符号化データを取得すると(ステップS51)、復号化処理ユニット13により復号化処理を行う。復号化処理の詳細は後述する(図10)。
復号化処理ユニット13での処理で得られたデータは、後処理部132に供給されて後処理が行われ(ステップS52)、後処理されたデータが出力部133から復号化データとして出力される(ステップS53)。
【0066】
図10は、図9のフローチャートのステップS52での復号化処理の詳細を示す。
まず、復号化部131は、パラメータ記憶ユニット14から引き渡されたLSTBMのモデルの各種パラメータを設定する(ステップS61)。ここでは、復号化する符号化データを符号化する際に用いたパラメータをパラメータ記憶ユニット14から取得して設定する。このパラメータは、図1に示す符号化装置1での符号化時に使用したパラメータである。そして、復号化部131の隠れ素子推定部1312に、符号化データを入力する(ステップS62)。また、可視素子推定部1311は、LSTBMのモデルを使って可視素子(復号化データ)を推定する(ステップS63)。
このようにして、符号化とは逆の流れで、符号化データの復号化が可能となる。
【0067】
[5.実験例]
次に、本実施の形態例によるLSTBMのモデルの有効性を検証するために実験した例について説明する。
ここでは、本実施の形態例によるLSTBMのモデルの有効性を確認するため、系列データである音声データの符号化を行い、その符号化音声の品質評価実験を行った。具体的には、評価実験用に用意された音声データベースから選んだ音声(女性アナウンサーの音声)を用いて再構築音声の品質評価実験を行った。ここでは、約4.2分の音声について、サンプリングレート20kHzを16kHzにダウンサンプリングし、窓幅256、64サンプルオーバーラップの短時間フーリエ変換を施して得られる振幅スペクトル(I=129次元、全フレーム数64438)を入力特徴量として、LSTBMのモデルで学習を行った。
【0068】
隠れ素子数Jについては、J=100、200、400の3種類で比較した。モデルの学習では、フレーム数T=1000のバッチをランダムに選択し、学習率0.001、減衰率β=0.9、β=0.999で、250回のパラメータ更新を繰り返した。また、従来のRBMのモデルと、TRBMのモデルについても、同様の条件で学習および符号化を行った結果を、表1に示す。
【0069】
【表1】
【0070】
表1において、LSTBM(100)、LSTBM(200)、LSTBM(400)は、それぞれLSTBMのモデルで、隠れ素子数100、200、400の例を示す。同様に、RBM(100)、RBM(200)、RBM(400)、TRBM(100)、TRBM(200)、TRBM(400)は、それぞれRBMのモデル又はTRBMのモデルで、隠れ素子数100、200、400の例を示す。
また、表1の「Train」は学習データで学習した際の評価値、「Test」は学習後のテスト用音声データによる符号化時の評価値を示す。
【0071】
モデルの評価には、学習用音声およびテスト用音声について、各手法から得られる復元音声に対し、PESQ(perceptual evaluation of speech quality)の手法を用いた客観品質評価を行った。ここでの評価値は、5が最も高い値で、1が最も低い値である。すなわち、5に近い程、高い評価が得られたことを示す。
ここでの復元音声とは、具体的には与えられた音声から潜在変数の期待値を計算(符号化)し、逆に潜在変数から音声の期待値を計算(復号化)して得られる振幅スペクトルと、オリジナルの位相スペクトルから復元される複素スペクトルに逆フーリエ変換を施し、overlap-add 法によって復元した音声信号である。
表1から分かるように、LSTBMのモデルは、いずれの隠れ素子数の場合でも、RBMやTRBMよりも高い評価値が得られている。
【0072】
図11は、いずれも隠れ素子数400のLSTBMのモデル、RBMのモデル、TRBMのモデルのMSE(Mean Squared Error:平均二乗誤差)を比較したものである。図11において、縦軸はMSE、横軸は繰り返し回数(図6のフローチャートのステップS39でのループ回数)を示す。
この図11からも、本実施の形態例によるLSTBMのモデルが、収束時のMSEが最も低くなっていることが分かる。
【0073】
図12は、符号化前のオリジナルの音声信号のスペクトル(図12A)と、本実施の形態例のLSTBMのモデルで符号化した音声信号を復号したスペクトル(図12B)とを対比して示す波形図である。図12の縦軸は周波数、横軸は時間(秒)である。LSTBMのモデルを適用した場合の隠れ素子数は400である。
図12A図12Bを比較すると分かるように、図12Aのオリジナルの音声信号のスペクトルと、図12Bの符号化した音声信号のスペクトルはほぼ等しく、LSTBMのモデルによる符号化では、音声の調波構造やフォルマントが正しく表現できている。
【0074】
以上説明したように、長期記憶と短期記憶の構造を持つボルツマンマシンベースの確率モデルであるLSTBMを適用することで、従来よりも高品質な符号化や復号化が行えるようになる。
【0075】
[6.変形例]
なお、上述した実施の形態例では、実験例として音声データに適用した場合を説明したが、本発明によるLSTBMは、他の様々な時系列の信号の符号化および復号化に適用が可能である。例えば画像データの符号化および復号化に本発明によるLSTBMを適用してもよい。さらに、本発明によるLSTBMは、音声データや画像データ以外の時系列データの符号化および復号化に適用してもよい。
【符号の説明】
【0076】
1・・・符号化装置、2・・・復号化装置、11・・・パラメータ学習ユニット、11a・・・入力ゲート、11b・・・可視素子セル、11c・・・記憶セル、11d,11g,11i・・・演算器、11e・・・短期記憶セル、11f・・・忘却ゲート、11h・・・出力ゲート、11j・・・隠れ素子セル、12・・・符号化処理ユニット、13・・・復号化処理ユニット、14・・・パラメータ記憶ユニット、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