
248
11
章 深層信念ネットワークを用いた特徴量検出
それぞれ数字の「
0
」「
4
」「
1
」「
9
」だ。いずれの場合も生成された画像は元画像によく似ている。
11.5
完全な深層信念ネットワーク
さて、
DBN
クラスを定義しよう。このクラスは、これまでに学習した
3
つの
RBM
に
4
層目の
RBM
を加えたものだ。この
4
層目の
RBM
は、順方向パスと逆方向パスを行い生成モデル全体を改善する。
まずクラスのインスタンス変数を定義しよう。コンストラクタには、元の入力サイズ、学習済みの
3
層目の
RBM
の 出 力(
4
層目への入力)サイズ、この
DB
からの最終 的な出力サイズ、学 習 率 、学 習エポッ
ク数、学習バッチサイズ、それにこれまでに学習した
3
つの
RBM
を指定する。以前と同じように、重み、
隠れ層のバイアス、可視層のバイアスはゼロ行列で初期化する。
class DBN(object):
def __init__(self, original_input_size, input_size, output_size,
learning_rate, epochs, batchsize, rbmOne, rbmTwo, rbmThree):
# Define hyperparameters
self._original_input_size = original_input_size
self._input_size = input_size
self._output_size = output_size
self.learning_rate ...