Penurunan Gradien
Diperbarui pada September 06, 20243 Menit Baca
Perkenalan
Bayangkan kita mempunyai fungsi dan kita ingin mencari nilai minimumnya. Apa yang akan kamu lakukan?
Sederhana bukan? Kita hanya perlu menyelesaikan persamaan berikut:
Masalahnya adalah menemukan rumus tidak selalu mudah karena cenderung sangat rumit terutama dalam pembelajaran mendalam yang menangani fungsi-fungsi kompleks. Jadi kita perlu mencari metode lain yang dapat memberikan kita fungsi minimum tanpa perlu mencari rumus turunan .
Mari kita membangun intuisi
Misalkan kita mempunyai fungsi f dengan grafik yang bersesuaian:
Mari kita mulai dengan titik acak . Tujuannya adalah untuk memindahkan titik ini dan membuatnya semakin dekat ke sehingga x*. Jadi permasalahannya dapat dibagi menjadi dua bagian:
-
Ke arah mana kita harus memindahkan titik ? Kiri atau Kanan?
-
Berapa banyak kita harus memindahkannya?
Arahnya
Mari kita membangun intuisi untuk menjawab pertanyaan pertama. Perhatikan poin berikut ini:
Perhatikan bahwa:
-
bila titik berada di sebelah kanan titik optimal garis singgungnya naik.
-
bila titik berada di sebelah kanan titik optimal garis singgungnya turun.
Arah suatu garis ditentukan oleh tanda kemiringannya:
-
Sebuah garis naik kemiringan adalah positif.
-
Garis turun a$ negatif.
Perhatikan bahwa: \
Kemiringan garis singgung suatu fungsi di titik tertentu tidak lebih dari turunan di titik tersebut :
Jadi sebagai jawaban atas pertanyaan "Kemana kita harus pindah ?":
-
di sebelah kanan Kita perlu memindahkan ke kiri.
-
ke kiri Kita perlu memindahkan ke kanan.
Langkah-langkahnya
Sekarang untuk pertanyaan kedua, Berapa banyak yang harus kita pindahkan ?
Lihatlah contoh berikut:
Kita dapat menyimpulkan bahwa:
-
mendekati => Kemiringan garis singgungnya kecil => kecil.
-
jauh dari => Kemiringan garis singgungnya besar => besar.
Dengan menjawab kedua pertanyaan tersebut, kami menyimpulkan bahwa hanya pengetahuan tentang turunan di titik yang dapat memberi kita banyak wawasan tentang arah dan jarak dari titik optimal .
Penurunan gradien
Penurunan gradien merupakan rumusan jawaban dari dua pertanyaan sebelumnya. Ini adalah algoritme berulang pengoptimalan yang memperkirakan fungsi minimum dimulai dari titik awal acak . Algoritmanya dinyatakan sebagai berikut:
Di mana:
-
tidak lebih dari turunan pada titik .
-
adalah konstanta positif yang menentukan seberapa besar langkah yang akan diambil.
Perhatikan bahwa:
-
berada di sebelah kanan => => => bergerak ke kiri.
-
berada di sebelah kiri => => => bergerak ke kanan.
-
mendekati => mendekati => Pembaruan kecil ke .
Kuis
-
Kapan penurunan gradien berhenti berulang:
-
Ketika cukup kecil.
-
Ketika mendekati .
-
Ketika . XXX
-
Bagaimana cara kita memilih :
-
Kami mengambilnya secara acak. XXX
-
Kami mengambilnya di sekitar .
-
Itu tergantung masalahnya.
-
Mengapa kita memerlukan penurunan gradien:
-
Karena komputer tidak cukup kuat untuk menghitung turunan.
-
Karena sangat sulit menemukan rumus turunan model deep learning. XXX
-
Karena fungsi memiliki lebih dari satu minimum lokal.
