ネストロフ最適化の説明として正しくないものを選択肢から選んでください. 1. ネステロフ最適化は、ほとんどのケースで Momentum 最適化よりも早く解にたどり着く. 2. ネステロフ最適化は NAG とも呼ばれる. 3. TensorFlow にはネステロフ最適化のためのクラスが存在している. 4. データセットによっては、まれに Adam などのオプティマイザーよりもネステロフ最適化を用いた方がモデルの汎化性能が向上することがある.
Monthly Archives: June 2020
ネステロフ慣性最適化
ネストロフ最適化の説明として正しくないものを選択肢から選んでください. 1. ネステロフ最適化は、ほとんどのケースで Momentum 最適化よりも早く解にたどり着く. 2. ネステロフ最適化は NAG とも呼ばれる. 3. データセットによっては、まれに Adam などのオプティマイザーよりもネステロフ最適化を用いた方がモデルの汎化性能が向上することがある. 4. TensorFlow にはネステロフ最適化のためのクラスが存在している.
オプティマイザとは
オプティマイザを説明している以下の文で空欄に入る適切な単語を選択肢 1 ~ 3 から選んでください. DNN では層が深くなればなるほど、訓練に必要な時間は長くなる. よって訓練効率を上げるためにも,モデルに対して重みの初期化や正規化などの処理が必要であったが, ( Q1 ___ ) 以外のオプティマイザを利用することで訓練時間をさらに削減できる. 1. 勾配効果法 2. ReLU 活性化関数 3. 平均 2 乗誤差
バッチ正規化の実装
次のコードで空欄になっている行に入る適切なものを 1 ~ 3 からそれぞれ選び, バッチ正規化によって DNN モデルを正規化してください. import tensorflow as tf n_inputs = 28 * 28 n_hidden1 = 300 n_hidden2 = 100 n_outputs = 10 X = tf.placeholder(tf.float32, shape=(None, n_inputs), name=”X”) train = tf.placeholder_with_default(False, shape=(), name=’training’) hidden1 = tf.layers.dense(X, n_hidden1, name=”hidden1″) # Q1:hidden1 をバッチ正規化してください. bn1 = ########## [Q1の選択肢] 1. tf.layers.batch_normalization(hidden1, training=train, momentum=0.9) 2. tf.layers.batchnormalization(hidden1, […]
Momentum 最適化
Momentum 最適化の説明として正しいもの選択肢から選んでください. 1. 任意の決められたステップに従って勾配を下っていくことで、コスト関数が採用となるハイパーパラメータを見つける手法である. 2. 勾配に慣性を与えることで、コスト関数の最小値を高速で見つけることができる. 3. 慣性の更新のために、少し先の勾配を利用する. 4. 重みの更新時に、それまでの全ての勾配を均一に加味して学習率を徐々に小さくしてくことで、高速で解にたどり着ける. 5. 重みの更新に近い過去の勾配の情報を用いることで、高速に解へたどり着ける. 6. 慣性最適化に適応学習率の考えを取り入れることで、高速かつ安定に解へたどり着くことができる.
Momentum 最適化の実装
Tensorflow を用いて、Momentum 最適化を実装してください.( 慣性は 0.9 ) M_optimizer = ########## 1. tf.training.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9) 2. tf.train.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9) 3. tf.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9)
ネステロフ慣性最適化
ネステロフ慣性最適化を説明している以下の文で空欄に入る適切な単語を選択肢 1 ~ 3 から選んでください. ネステロフ慣性最適化では,Momentum 慣性最適化を応用し,慣性が働く方向を読み少し ( Q1 ___ ) 勾配を重みとして用いる. 1. 後ろに進んだところの 2. 前に進んだところの 3. 小さな
オプティマイザとは
ディープラーニングにおけるオプティマイザの説明として正しいものを選択肢から選んでください. 1. オプティマイザは損失関数を最小にするパラメータを見つけるためのアルゴリズムである. 2. ディープラーニングモデルには閉形式解が存在しており、それを見つけ出すのがオプティマイザである. 3. オプティマイザには、勾配を導出するための偏微分などのテクニックは使用されない. 4. 様々なオプティマイザが存在するが、中でも、SGD が最も高速かつ高性能である.
Momentum 最適化
Momentum 最適化を説明している以下の文で空欄に入る適切な単語を選択肢 1 ~ 3 からそれぞれ選んでください. 勾配降下法では,緩やかな勾配では最適化に時間がかかるのに対し, Momentum 最適化では,それまでの勾配を考慮するために ( Q1 ___ ) と呼ばれる重みを用いる. ( Q1 ___ ) は ( Q1 ___ ) と学習率との積から局所的な勾配を引くことで求まる. ( Q1 ___ ) は速度として捉えられ、( Q2 ____ )は加速度として捉えられる. この時 ( Q1 ____ )が大きくなりすぎなように制御するために ( Q3 ___ ) と呼ばれるハイパーパラメータを設定する必要がある. また,( Q3 ___ ) の値は 0 から 1 までの間で,一般的に使われている値は ( Q4 ___ ) […]
Momentum 最適化の実装
Tensorflow を用いて、Momentum 最適化を実装してください.( 慣性は 0.9 ) M_optimizer = ########## 1. tf.train.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9, use_nesterov=True) 2. tf.train.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9, use_nesterov=False) 3. tf.optimizer.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9, use_nesterov=True) 4. tf.optimizer.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9, use_nesterov=False)