Memahami optimisasi model

Pengantar Deep Learning dengan Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Mengapa optimisasi sulit

  • Mengoptimalkan ribuan parameter dengan hubungan kompleks secara bersamaan
  • Pembaruan mungkin tidak banyak meningkatkan model
  • Pembaruan terlalu kecil (jika learning rate rendah) atau terlalu besar (jika learning rate tinggi)
Pengantar Deep Learning dengan Python

Stochastic gradient descent

def get_new_model(input_shape = input_shape):
    model = Sequential()
    model.add(Dense(100, activation='relu', input_shape = input_shape))
    model.add(Dense(100, activation='relu'))
    model.add(Dense(2, activation='softmax'))
    return(model)

lr_to_test = [.000001, 0.01, 1]

# Loop over learning rates
for lr in lr_to_test:
   model = get_new_model()
   my_optimizer = SGD(lr=lr)
   model.compile(optimizer = my_optimizer, loss = 'categorical_crossentropy')
   model.fit(predictors, target)
Pengantar Deep Learning dengan Python

Masalah neuron mati

Masalah neuron mati

Pengantar Deep Learning dengan Python

Gradien menghilang

Gradien menghilang

Pengantar Deep Learning dengan Python

Gradien menghilang

  • Terjadi saat banyak layer punya kemiringan sangat kecil (mis. karena berada di bagian datar kurva tanh)
  • Di jaringan dalam, pembaruan backprop mendekati 0
Pengantar Deep Learning dengan Python

Ayo berlatih!

Pengantar Deep Learning dengan Python

Preparing Video For Download...