Gradient descent

Pengantar Deep Learning dengan Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Gradient descent

ch2_2.003.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.004.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.005.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.006.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.008.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.009.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.010.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.011.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.012.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.013.png

Pengantar Deep Learning dengan Python

Gradient descent

ch2_2.014.png

Pengantar Deep Learning dengan Python

Gradient descent

  • Jika kemiringan positif:
    • Bergerak berlawanan artinya menuju nilai lebih kecil
    • Kurangi kemiringan dari nilai saat ini
    • Langkah terlalu besar bisa menyesatkan
  • Solusi: learning rate
    • Perbarui tiap bobot dengan mengurangkan learning rate * kemiringan
Pengantar Deep Learning dengan Python

Contoh perhitungan kemiringan

ch2_2.022.png

  • Untuk menghitung kemiringan sebuah bobot, kalikan:
    • Kemiringan fungsi loss thd nilai pada node tujuan
    • Nilai node yang masuk ke bobot kita
    • Kemiringan fungsi aktivasi thd nilai masuk
Pengantar Deep Learning dengan Python

Contoh perhitungan kemiringan

ch2_2.028.png

  • Untuk menghitung kemiringan sebuah bobot, kalikan:
    • Kemiringan fungsi loss thd nilai pada node tujuan
    • Nilai node yang masuk ke bobot kita
    • Kemiringan fungsi aktivasi thd nilai masuk
Pengantar Deep Learning dengan Python

Contoh perhitungan kemiringan

ch2_2.029.png

  • Kemiringan mean-squared loss thd prediksi:
    • 2 (Nilai Prediksi - Nilai Aktual) = 2 Error
    • 2 * -4
Pengantar Deep Learning dengan Python

Contoh perhitungan kemiringan

ch2_2.033.png

  • Untuk menghitung kemiringan sebuah bobot, kalikan:
    • Kemiringan fungsi loss thd nilai pada node tujuan
    • Nilai node yang masuk ke bobot kita
    • Kemiringan fungsi aktivasi thd nilai masuk
Pengantar Deep Learning dengan Python

Contoh perhitungan kemiringan

ch2_2.035.png

  • Untuk menghitung kemiringan sebuah bobot, kalikan:
    • Kemiringan fungsi loss thd nilai pada node tujuan
    • Nilai node yang masuk ke bobot kita
    • Kemiringan fungsi aktivasi thd nilai masuk
Pengantar Deep Learning dengan Python

Contoh perhitungan kemiringan

ch2_2.037.png

  • Untuk menghitung kemiringan sebuah bobot, kalikan:
    • Kemiringan fungsi loss thd nilai pada node tujuan
    • Nilai node yang masuk ke bobot kita
    • Kemiringan fungsi aktivasi thd nilai masuk
Pengantar Deep Learning dengan Python

Contoh perhitungan kemiringan

ch2_2.038.png

  • Untuk menghitung kemiringan sebuah bobot, kalikan:
    • Kemiringan fungsi loss thd nilai pada node tujuan
    • Nilai node yang masuk ke bobot kita
    • Kemiringan fungsi aktivasi thd nilai masuk
Pengantar Deep Learning dengan Python

Contoh perhitungan kemiringan

ch2_2.044.png

  • 2 * -4 * 3
  • -24
  • Jika learning rate 0.01, bobot baru adalah
  • 2 - 0.01(-24) = 2.24
Pengantar Deep Learning dengan Python

Jaringan dengan dua input memengaruhi prediksi

ch2_2.045.png

Pengantar Deep Learning dengan Python

Kode menghitung kemiringan dan memperbarui bobot

import numpy as np
weights = np.array([1, 2])
input_data = np.array([3, 4])
target = 6
learning_rate = 0.01
preds = (weights * input_data).sum()
error = preds - target

print(error)
5
Pengantar Deep Learning dengan Python

Kode menghitung kemiringan dan memperbarui bobot

gradient = 2 * input_data * error

gradient
array([30, 40])
weights_updated = weights - learning_rate * gradient
preds_updated = (weights_updated * input_data).sum()
error_updated = preds_updated - target

print(error_updated)
2.5
Pengantar Deep Learning dengan Python

Ayo berlatih!

Pengantar Deep Learning dengan Python

Preparing Video For Download...