ノイズ除去

スタックノイズ除去オートエンコーダを説明している以下の文で空欄に対して適切ではない単語を選択肢 1 ~ 3 から選んでください.
(空欄に当てはまらないものを選んでください.)

入力に ( Q1 ___ ) を加えてオートエンコーダを訓練し,デコーダで入力を復元できるように訓練することでノイズの特徴を学習し,
ノイズ除去機能を得ることができる.

1. ガウスノイズ
2. 潜在変数
3. ドロップアウト

ノイズ除去

スタックノイズ除去オートエンコーダを説明している以下の文の空欄にはいる適切な単語を選択肢から選んでください.
(空欄に当てはまらないものを選んでください.)

入力をいくらか ( Q1 ____ ) したものを用いてオートエンコーダを訓練し,デコーダで入力を復元できるように訓練することで
モデルはノイズの特徴を学習することふができ,ノイズ除去機能を得ることができる.

1. プーリング
2. ドロップアウト
3. Weight decay
4. TBPTT

スタックオートエンコーダの訓練

スタックオートエンコーダに関す説明をしている以下の文で空欄に入る適切な単語を選択肢 1 ~ 3 から選んでください.

隠れ層の数が 3 層のスタックオートエンコーダでは,まずスタックオートエンコーダ全体の入出力層を用いて,最初の隠れ層を ( Q1 ___ ) と見立てて訓練する.
続いて、残りの 2 つの隠れ層を用いて、この段階で得られた隠れ層からの出力を再構築するようなアウトエンコーダエンコーダを訓練する.
この中間層のネットワークを入出力層でサンドイッチすること、最終的な訓練済みのスタックオートエンコーダが得られる.

[Q1 選択肢]
1. 畳み込み層
2. 前結合層
3. コーディング層

スタックオートエンコーダとは

スタックオートエンコーダを説明している以下の文で空欄に入る適切な単語を選択肢から選んでください.

スタックオートエンコーダは( Q1 ____ )と、より複雑なコーディングを学習できる.
複雑なコーディングを学習し、訓練データを完全に再構築できるオートエンコーダは(Q2 ____ )といえる.

[Q1 選択肢]
1. 入力層よりも出力層のユニット数を大きくする
2. 出力層よりも入力層のユニット数を大きくする
3. 隠れ層の数を増やすと
4. 隠れ層の数を減らすと

[Q2 選択肢]
1. 過小適合している
2. 過学習している
3. 自由度が低い
4. バイアスが大きい

不完線形オートエンコーダによる PCA

次のコードで空欄になっている行に入る適切な選択肢を 1 ~ 3 から選び,オートエンコーダによる PCA を実装してください.

import tensorflow as tf

n_inputs = 3
n_hidden = 2
n_outputs = n_inputs

learning_rate = 0.01

X = tf.placeholder(tf.float32, shape=[None, n_inputs])

# Q1:コーディング層を定義してください.
hidden = ##########

[Q1の選択肢]
1. tf.nn.dense(n_hidden)
2. tf.layers.dense(X, n_hidden)
3. tf.placeholder(X, n_hidden)

# Q2:出力層を定義してください.
outputs = ##########

reconstruction_loss = tf.reduce_mean(tf.square(outputs – X))

optimizer = tf.train.AdamOptimizer(learning_rate)
training_op = optimizer.minimize(reconstruction_loss)

init = tf.global_variables_initializer()

[Q2の選択肢]
1. tf.layers.dense(hidden, n_outputs)
2. tf.placeholder(hidden, n_outputs)
3. tf.layers.dense(n_hidden, n_outputs)

再構築の精度

再構築の精度に関する説明として正しいものを選択肢 1 ~ 3 から選んでください.

1. 入力の次元数に対して,コーディング層の次元数を 2 倍にすると必ず再構築ロスは 0 となる.
2. 一般的に,コーディング層の次元数を減らすと再構築の精度は下がる.
3. 複雑なコーディング(潜在変数)を用意するほど、モデルの汎化性能は向上する.

不完線形オートエンコーダによる PCA

次のコードで空欄になっている行に入る適切な選択肢を 1 ~ 3 から選び,オートエンコーダによる PCA を実装してください.

import tensorflow as tf

n_inputs = 3
n_hidden = 2
n_outputs = n_inputs

learning_rate = 0.01

X = tf.placeholder(tf.float32, shape=[None, n_inputs])

# Q1:コーディング層を定義してください.
hidden = ##########

[Q1の選択肢]
1. tf.layers.dense(X, n_hidden)
2. tf.layers.dense(n_hidden)
3. tf.placeholder(X, n_hidden)

# Q2:出力層を定義してください.
outputs = ##########

reconstruction_loss = tf.reduce_mean(tf.square(outputs – X))

optimizer = tf.train.AdamOptimizer(learning_rate)
training_op = optimizer.minimize(reconstruction_loss)

init = tf.global_variables_initializer()

[Q2の選択肢]
1. tf.placeholder(hidden, n_outputs)
2. tf.layers.dense(n_hidden, n_outputs)
3. tf.layers.dense(hidden, n_outputs)