Penurunan Gradien

pembelajaran mendalam
matematika
penurunan gradien
Penurunan Gradien cover image

Perkenalan

Bayangkan kita mempunyai fungsi f(x)f(x) dan kita ingin mencari nilai minimumnya. Apa yang akan kamu lakukan?

Sederhana bukan? Kita hanya perlu menyelesaikan persamaan berikut:

f(x)=0f'(x) = 0

Masalahnya adalah menemukan rumus ff' 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 ff'.

Mari kita membangun intuisi

Misalkan kita mempunyai fungsi f dengan grafik yang bersesuaian:

Graph 1

Mari kita mulai dengan titik acak x0x_{0}. Tujuannya adalah untuk memindahkan titik ini dan membuatnya semakin dekat ke xx* sehingga f(f'(x*)=0) = 0. Jadi permasalahannya dapat dibagi menjadi dua bagian:

  • Ke arah mana kita harus memindahkan titik xx ? Kiri atau Kanan?

  • Berapa banyak kita harus memindahkannya?

Arahnya

Mari kita membangun intuisi untuk menjawab pertanyaan pertama. Perhatikan poin berikut ini:

Graph 2

Graph 3

Perhatikan bahwa:

  • bila titik x0x_{0} berada di sebelah kanan titik optimal xx* garis singgungnya naik.

  • bila titik x0x_{0} berada di sebelah kanan titik optimal xx* garis singgungnya turun.

Arah suatu garis ditentukan oleh tanda kemiringannya:

  • Sebuah garis naik \menyiratkan\menyiratkan kemiringan aa adalah positif.

  • Garis turun \menyiratkankemiringan\menyiratkan kemiringan a$ negatif.

Perhatikan bahwa: \

Kemiringan garis singgung suatu fungsi di titik tertentu x0x_{0} tidak lebih dari turunan di titik tersebut f(x0)f'(x_{0}):

tangent(x0):g(x)=f(x0).(xx0)+f(x0)tangent(x*{0}): g(x) = f'(x*{0}).(x-x*{0}) + f(x*{0})

Jadi sebagai jawaban atas pertanyaan "Kemana kita harus pindah x0x_{0} ?":

  • f(x0)<0f'(x_{0}) < 0     \implies x0x_{0} di sebelah kanan xx*     \implies Kita perlu memindahkan x0x_{0} ke kiri.

  • f(x0)>0f'(x_{0}) > 0     \implies x0x_{0} ke kiri xx*     \implies Kita perlu memindahkan x0x_{0} ke kanan.

Langkah-langkahnya

Sekarang untuk pertanyaan kedua, Berapa banyak yang harus kita pindahkan x0x_{0} ?

Lihatlah contoh berikut:

Graph 4

Graph 5

Kita dapat menyimpulkan bahwa:

  • x0x_{0} mendekati xx* => Kemiringan garis singgungnya kecil => f(x0)f'(x_{0}) kecil.

  • x0x_{0}jauh dari xx* => Kemiringan garis singgungnya besar => f(x0)f'(x_{0}) besar.

Dengan menjawab kedua pertanyaan tersebut, kami menyimpulkan bahwa hanya pengetahuan tentang turunan di titik x0x_{0} yang dapat memberi kita banyak wawasan tentang arah dan jarak dari titik optimal x0x_{0}.

Penurunan gradien

Penurunan gradien merupakan rumusan jawaban dari dua pertanyaan sebelumnya. Ini adalah algoritme berulang pengoptimalan yang memperkirakan fungsi minimum xx* dimulai dari titik awal acak x0x_{0}. Algoritmanya dinyatakan sebagai berikut:

xn+1=xnlr×dfdx_nx*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x\_{n}}

Di mana:

  • dfdxn\frac{\mathrm{d} f}{\mathrm{d} x*{n}} tidak lebih dari turunan ff pada titik xnx*{n}.

  • lrlr adalah konstanta positif yang menentukan seberapa besar langkah yang akan diambil.

Perhatikan bahwa:

  • xnx_{n} berada di sebelah kanan xx* => dfdxn>0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 => xn+1=xnpositifx_{n+ 1} = x_{n} - positif => xnx_{n} bergerak ke kiri.

  • xnx_{n} berada di sebelah kiri xx* => dfdxn<0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0 => xn+1=xn+positifx*{n +1} = x*{n} + positif => xnx_{n} bergerak ke kanan.

  • xnx_{n} mendekati xx* => dfdxn\frac{\mathrm{d} f}{\mathrm{d} x_{n}} mendekati 00 => Pembaruan kecil ke xnx_{ n}.

Kuis

  • Kapan penurunan gradien berhenti berulang:

  • Ketika xnx_{n} cukup kecil.

  • Ketika xnx_{n} mendekati x0x_{0} .

  • Ketika dfdx_n=0\frac{\mathrm{d} f}{\mathrm{d} x\_{n}} = 0 . XXX

  • Bagaimana cara kita memilih x0x_{0}:

  • Kami mengambilnya secara acak. XXX

  • Kami mengambilnya di sekitar xnx{n}.

  • 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.


Career Services background pattern

Layanan Karir

Contact Section background image

Mari tetap berhubungan

Code Labs Academy © 2025 Semua hak dilindungi undang-undang.