1
元のオートエンコード変分ベイズpaperでは、著者は2.4節の「再パラメータ化トリック」について説明します。トリックは、潜在状態zを学習可能な平均とシグマ(エンコーダによって学習)に分解し、ガウスノイズを追加することです。その後、zからデータポイントをサンプリングして(基本的にはエンコードされた画像を生成します)、デコーダがエンコードされたデータポイントを元の画像にマッピングするようにします。バリアントオートエンコーダのガウスパラメータ化の説明
私は、これがどれほど奇妙であるかを知りません。潜在変数モデルについて具体的に説明してください:
- 潜在的な状態がガウス型であると仮定しているのはなぜですか?
- ガウスが画像を生成することはどうしたら可能ですか?
- そして、バックプロップは、未知の非線形関数ではなく、ガウス関数を学習するためにエンコーダをどのように破壊しますか?
TensorFlowのhereの潜在モデルの実装例です。
...neural net code maps input to hidden layers z_mean and z_log_sigma
self.z_mean, self.z_log_sigma_sq = \
self._recognition_network(network_weights["weights_recog"],
network_weights["biases_recog"])
# Draw one sample z from Gaussian distribution
n_z = self.network_architecture["n_z"]
eps = tf.random_normal((self.batch_size, n_z), 0, 1,
dtype=tf.float32)
# z = mu + sigma*epsilon
self.z = tf.add(self.z_mean,
tf.mul(tf.sqrt(tf.exp(self.z_log_sigma_sq)), eps))
...neural net code maps z to output
私が質問を書いた時、私はKL最小化の重要性を忘れていたと思います。 – vega