畳み込み層

畳み込みを説明している以下の文で空欄に入る適切な単語を選択肢から選んでください.

畳み込みとは、ある関数の上で他の関数を動かしていくことで、ある点ごとに れぞれの関数同士の ( Q1 ___ ) する数学的な操作のことである.

1. 重積分
2. 差を積分
3. 和を積分
4. 積を積分

畳み込み層の役割

畳み込み層を説明している以下の文の空欄に入る適切な選択肢を選んでください.

畳み込み層は英語で(Q1 ____ )と呼ばれる.畳み込み層では入力に( Q2 ____ )とも呼ばれるフィルタを適用することで、
入力と( Q2 ____ )の積の積分を求めていく.畳み込みの結果得られた行列は( Q3 ____ )と呼ばれる.
畳み込みの結果、入力画像の特徴が反映された(Q3 ____ )が得られ、この(Q3 ____ )に対してもうなども畳み込みを行うことで、
最終的には入力画像の広域的な特徴を考慮した(Q3 ____ )が得られる.(Q3 ____ )に(Q4 ____ )を適用してから sigmoid 関数やソフトマックス関数などの
活性化関数に通すことで、画像の分類や生成ができる.

[Q1、Q4選択肢]
1. Dense Layer
2. Reccurent Layer
3. Convolutional Layer
4. Upsampling Layer

[Q2–3 選択肢]
1. フィーチャマップ
2. カーネル
3. パディング
4. オプティマイザー
5. パーセプトロン
6. ストライド

l1, l2 正規化 – 正規化項、誤差項

次のコードで空欄になっている行に入る適切な選択肢を 1 ~ 3 から選び,l1 正則化を実装してください.

import tensorflow as tf
n_inputs = 28 * 28 # MNIST を想定
n_hidden1 = 300
n_outputs = 10

X = tf.placeholder(tf.float32, shape=(None, n_inputs), name=”X”)
y = tf.placeholder(tf.int32, shape=(None), name=”y”)

with tf.name_scope(“dnn”):
hidden1 = tf.layers.dense(X, n_hidden1, activation=tf.nn.relu, name=”hidden1″)
logits = tf.layers.dense(hidden1, n_outputs, name=”outputs”)

重みを設定
W1 = tf.get_default_graph().get_tensor_by_name(“hidden1/kernel:0”)
W2 = tf.get_default_graph().get_tensor_by_name(“outputs/kernel:0”)

l1 正則化のハイパーパラメータを設定
scale = 0.001

with tf.name_scope(“loss”):
#Q1:loss 関数としてクロスエントロピーを定義
xentropy = ##########
base_loss = tf.reduce_mean(xentropy, name=”avg_xentropy”)
reg_losses = tf.reduce_sum(tf.abs(W1)) + tf.reduce_sum(tf.abs(W2))
#Q2:base_loss に l1 正規化項を追加
loss = ##########

[Q1の選択肢]
1. tf.nn.cross_entropy(labels=y, logits=logits)
2. tf.nn.cross_entropy_with_logits(labels=y, logits=logits)
3. tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)

[Q2の選択肢]
1. tf.add(base_loss, scale * reg_losses, name=”loss”)
2. tf.add(base_loss, scale * base_loss, name=”loss”)
3. tf.loss_function(base_loss, scale * reg_losses, name=”loss”)

Adam 最適化の実装

tf.train.AdamOptimizer クラスの引数 Q1 ~ Q3 として正しいものを選択肢から選んでください.
また、それぞれの値のデフォルト値(論文内の推奨値)として正しいものを選んでください.

Q1, Q4:learning_rate
Q2, Q5:beta1
Q3, Q6:beta2

[Q1–3 選択肢]
1. 慣性減衰ハイパーパラメータ(一次モーメント用の係数)
2. スケーリング減衰ハイパーパラメータ(二次モーメント用の係数)
3. 学習率

[Q4–6 選択肢]
1. 0.999
2. 1e-3
3. 0.9

早期打ち切り (early stopping)

早期打ち切りを説明している以下の文で空欄に入る適切な単語を選択肢 1 ~ 3 から選んでください.

早期打ち切りとは,モデルが訓練セットに対して ( Q1 ___ ) するのを防ぐための正則化手法である.
具体的には,任意のステップごとに ( Q2 ___ ) を用いてモデルを評価し保存する.
そして,スッテプが進むごとに保存されているモデルとそのステップのモデルを比べ,性能が高い方を保存する.
この保存されているモデルが,一定のステップを超えても更新されない場合は,そのステップで訓練を終了する.

[Q1の選択肢]
1. 過学習
2. 汎化
3. 過小適合

[Q2の選択肢]
1. 検証セット
2. テストセット
3. 訓練セット

重み上限正規化

重み上限正則化の説明として正しいものを選択肢から選んでください.

1. 基本的にはパッチノーマライゼーションと併用する
2. 重み上限ハイパーパラメータを大きくすることで正則化を厳しくできる.
3. 重み上限正則化は勾配爆発問題の緩和に繋がる.
4. 重み上限正則化ではマックスノルムを用いる.

早期打ち切り (early stopping)

早期打ち切りを説明している以下の文で空欄に入る適切な単語を選択肢 1 ~ 3 から選んでください.

早期打ち切りとは,モデルが訓練セットに対して ( Q1 ___ ) するのを防ぐための正則化手法である.
具体的には,任意のステップごとに ( Q2 ___ ) を用いてモデルを評価し保存する.
そして,スッテプが進むごとに保存されているモデルとそのステップのモデルを比べ,性能が高い方を保存する.
この保存されているモデルが,一定のステップを超えても更新されない場合は,そのステップで訓練を終了する.

[Q1の選択肢]
1. 過小適合
2. 過学習
3. 汎化

[Q2の選択肢]
1. 訓練セット
2. テストセット
3. 検証セット