1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【論文シリーズ】RBMを時系列データに応用する

Posted at

元の論文

高次元系列データの多レベル特徴表現学習(Learning Multilevel Distributed Representations for High-Dimensional Sequences)
Ilya Sutskever and Geoffrey Hinton (2007)

1. 要約

  • 系列データ(動画とか発話とか)に生成モデル(厳密にはRBM=「制限付きボルツマンマシン」)を適用し、多くの場合で、事後分布を推定できるようにした。Temporal RBMと言われる。
  • 比較対象: 線形動的システム、隠れマルコフモデル →混合ガウスモデル、かつ線形結合の伝播でしか、事後分布を推定できないという課題があった。

2. 骨子の理論

系列データが関わる時の、RBMの条件付き分布を表現する(可視変数、隠れ変数ともに)

151124122137_4.JPG

系列$t$におけるパラメータとして可視変数と隠れ変数を推定したい。系列$t-m$から$t-1$の可視変数と隠れ変数が予め観測できると、系列$t$の事後確率はボルツマン分布に従うと仮定できる。
$$P(V_t, H_t|V_{t-m}^{t-1},H_{t-m}^{t-1})= \exp(V_t'C_0H_t+B_V(V_{t-m}^{t-1})'V_t+B_H(V_{t-m}^{t-1},H_{t-m}^{t-1})'H_t)/Z$$

$B_V$や$B_H$は、重みベクトルの集合のようなものを表す。

$$B_V(V_{t-m}^{t-1}) = A_1'V_{t-1}+...+A_m'V_{t-m} + \bf a$$
$$B_H(V_{t-m}^{t-1},H_{t-m}^{t-1}) = B_1'H_{t-1}+...+B_m'H_{t-m} + C_1'V_{t-1}+...+C_m'V_{t-m} + \bf b$$

上式において、$t-1$までの隠れ変数を導出する過程で困難が生じる。したがって、下式のようにV→Hのフィルタリングのおいて近似式を追加する。

$$P(H_{ti}=1|V_{1}^{t},H_{1}^{t-1})=\sigma((C_0'V_t)i+B_H(V{t-m}^{t-1},H_{t-m}^{t-1})_i)$$

学習は、$B_V$, $B_H$を構成する重み行列$A~C$の更新により、進行する。

3. モデル適用例

本稿では、単層RBMによる学習と、RBMの積層による多層学習の2通りを行った。
(動画のソース: www.cs.utoronto.ca/∼ilya/aistats2007_filter/index.html)
ソースの動画の1フレームを20 x 20の400ピクセルに分割した。
学習データは、100フレームを1セットとして、10000セット準備した。

単層学習では、ピクセルをそれぞれ可視ユニットに投入し、400ユニット作った。
隠しユニットは200である。
前後系列のデータの繋がりによって、4つのモデルを作った
1.隠し-隠し
2.可視-隠し
3.可視-可視
4.1~3すべて
学習係数は、0.00005, モメンタムは0.9である。
学習係数は、エポックの進捗に伴い、増加させる。
訓練にかかった時間は、20時間だった。
結果として、いずれのモデルも良好に学習とノイズ除去が進んだ。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?