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.