My IBM Masuk Berlangganan

Apa yang dimaksud dengan penurunan gradien?

Apa yang dimaksud dengan penurunan gradien?

Penurunan gradien adalah algoritma pengoptimalan yang biasanya digunakan untuk melatih model machine learning dan neural networks. Algoritma ini melatih model machine learning dengan meminimalkan kesalahan antara hasil prediksi dan hasil aktual.

Data pelatihan membantu model-model ini belajar dari waktu ke waktu, dan fungsi biaya dalam penurunan gradien secara khusus bertindak sebagai barometer, mengukur keakuratannya dengan setiap iterasi pembaruan parameter. Hingga fungsi mendekati atau sama dengan nol, model akan terus menyesuaikan parameternya untuk menghasilkan kesalahan sekecil mungkin. Setelah dioptimalkan untuk akurasi, model machine learning dapat menjadi alat yang andal untuk kecerdasan buatan (AI) dan aplikasi ilmu komputer.

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Bagaimana cara kerja penurunan gradien?

Sebelum menyelami penurunan gradien, kita perlu meninjau beberapa konsep dari regresi linier. Anda mungkin ingat rumus berikut untuk kemiringan garis, yaitu y = mx + b, di mana m mewakili kemiringan dan b adalah intersep pada sumbu y.

Anda mungkin juga ingat memetakan scatterplot dalam statistik dan menemukan garis kecocokan terbaik, yang memerlukan penghitungan kesalahan antara hasil aktual dan hasil prediksi (y-hat) menggunakan rumus kesalahan kuadrat rata-rata. Algoritma penurunan gradien berperilaku serupa, tetapi didasarkan pada fungsi cembung.

Titik awal hanyalah titik sembarang bagi kita untuk mengevaluasi kinerja. Dari titik awal tersebut, kita akan menemukan turunan (atau kemiringan), dan dari sana, kita bisa menggunakan garis singgung untuk mengamati kecuraman lereng. Kemiringan akan menginformasikan pembaruan parameter—yaitu bobot dan bias. Kemiringan pada titik awal akan lebih curam, tetapi ketika parameter baru dihasilkan, kecuraman akan berkurang secara bertahap hingga mencapai titik terendah pada kurva, yang dikenal sebagai titik konvergensi.

Mirip dengan menemukan garis yang paling sesuai dalam regresi linier, tujuan penurunan gradien adalah meminimalkan fungsi biaya, atau kesalahan antara y prediksi dan aktual. Untuk melakukan hal ini, diperlukan dua titik data—arah dan tingkat pembelajaran. Faktor-faktor ini menentukan perhitungan turunan parsial dari iterasi di masa depan, sehingga memungkinkannya untuk secara bertahap mencapai nilai minimum lokal atau global (yaitu titik konvergensi).

  • Tingkat pembelajaran (juga disebut sebagai ukuran langkah atau alfa) adalah ukuran langkah yang diambil untuk mencapai nilai minimum. Nilai ini biasanya kecil, dan dievaluasi dan diperbarui berdasarkan perilaku fungsi biaya. Tingkat pembelajaran yang tinggi menghasilkan langkah yang lebih besar tetapi berisiko melebihi minimum. Sebaliknya, tingkat pembelajaran yang rendah memiliki ukuran langkah kecil. Meskipun memiliki keunggulan presisi yang lebih tinggi, namun jumlah iterasi mengorbankan efisiensi secara keseluruhan, karena memerlukan lebih banyak waktu dan komputasi untuk mencapai nilai minimum.
  • Fungsi biaya (atau kerugian ) mengukur perbedaan, atau kesalahan, antara y aktual dan y prediksi pada posisi saat ini. Hal ini meningkatkan keefektifan model machine learning dengan memberikan umpan balik kepada model sehingga model dapat menyesuaikan parameter untuk meminimalkan kesalahan dan menemukan minimum lokal atau global. Proses ini terus menerus berulang, bergerak di sepanjang arah penurunan paling curam (atau gradien negatif) sampai fungsi biaya mendekati atau nol. Pada titik ini, model akan berhenti belajar. Selain itu, meskipun istilah fungsi biaya dan fungsi kerugian dianggap sama, ada sedikit perbedaan di antara keduanya. Perlu dicatat bahwa fungsi kerugian mengacu pada kesalahan dari satu contoh pelatihan, sementara fungsi biaya menghitung kesalahan rata-rata di seluruh rangkaian pelatihan.

Jenis penurunan gradien

Ada tiga jenis algoritma pembelajaran penurunan gradien: penurunan gradien batch, penurunan gradien stokastik, dan penurunan gradien batch mini.

Penurunan gradie batch

Penurunan gradien batch menjumlahkan kesalahan untuk setiap titik dalam set pelatihan, memperbarui model hanya setelah semua contoh pelatihan dievaluasi. Proses ini disebut sebagai masa pelatihan.

Meskipun batching ini memberikan efisiensi komputasi, namun masih memiliki waktu pemrosesan yang lama untuk kumpulan data pelatihan yang besar karena masih perlu menyimpan semua data ke dalam memori. Penurunan gradien batch juga biasanya menghasilkan gradien kesalahan dan konvergensi yang stabil, tetapi terkadang titik konvergensi tersebut bukanlah yang paling ideal, menemukan minimum lokal dibandingkan dengan minimum global.

Penurunan gradien stokastik

Penurunan gradien stokastik (SGD) menjalankan epoch pelatihan untuk setiap contoh dalam kumpulan data dan memperbarui parameter setiap contoh pelatihan satu per satu. Karena Anda hanya perlu memegang satu contoh pelatihan, maka lebih mudah disimpan dalam memori. Meskipun pembaruan yang sering dilakukan ini dapat memberikan lebih banyak detail dan kecepatan, namun hal ini dapat menyebabkan hilangnya efisiensi komputasi bila dibandingkan dengan penurunan gradien batch. Pembaruan yang sering dilakukan dapat menghasilkan gradien yang berisik, tetapi hal ini juga dapat membantu untuk keluar dari minimum lokal dan menemukan minimum global.

Penurunan gradien batch mini

Penurunan gradien batch mini menggabungkan konsep dari penurunan gradien batch dan penurunan gradien stokastik. Metode ini membagi kumpulan data pelatihan menjadi ukuran batch kecil dan melakukan pembaruan pada masing-masing batch tersebut. Pendekatan ini memberikan keseimbangan antara efisiensi komputasi dari penurunan gradien batch dan kecepatan penurunan gradien stokastik.

Mixture of Experts | Podcast

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Tantangan penurunan gradien

Meskipun gradient descent merupakan pendekatan yang paling umum untuk masalah optimasi, namun pendekatan ini memiliki tantangan tersendiri. Beberapa di antaranya adalah:

Minimum lokal dan titik pelana

Untuk masalah cembung, penurunan gradien dapat menemukan minimum global dengan mudah, tetapi ketika masalah non-cembung muncul, penurunan gradien akan kesulitan untuk menemukan minimum global, di mana model mencapai hasil terbaik.

Ingatlah bahwa ketika kemiringan fungsi biaya berada pada atau mendekati nol, model berhenti belajar. Beberapa skenario di luar minimum global juga dapat menghasilkan kemiringan ini, yang merupakan minimum lokal dan titik pelana. Minimum lokal meniru bentuk minimum global, di mana kemiringan fungsi biaya meningkat di kedua sisi titik saat ini. Namun, dengan titik pelana, gradien negatif hanya ada di satu sisi titik, mencapai maksimum lokal di satu sisi dan minimum lokal di sisi lainnya. Namanya terinspirasi dari pelana kuda.

Gradien yang bising dapat membantu gradien menghindari minimum lokal dan titik pelana.

Gradien yang Hilang dan Meledak

Dalam neural networks yang lebih dalam, neural networks berulang tertentu, kita juga dapat menghadapi dua masalah lain ketika model dilatih dengan penurunan gradien dan propagasi balik.

  • Gradien yang menghilang: Hal ini terjadi apabila gradien terlalu kecil. Ketika kita bergerak mundur selama propagasi balik, gradien terus menjadi lebih kecil, menyebabkan lapisan awal dalam jaringan belajar lebih lambat daripada lapisan berikutnya. Ketika ini terjadi, parameter bobot diperbarui hingga menjadi tidak signifikan—yaitu. 0—menghasilkan algoritma yang tidak lagi belajar.
  • Gradien yang meledak: Hal ini terjadi apabila gradien terlalu besar, menciptakan model yang tidak stabil. Dalam hal ini, bobot model akan tumbuh terlalu besar, dan pada akhirnya akan direpresentasikan sebagai NaN. Salah satu solusi untuk masalah ini adalah dengan memanfaatkan teknik reduksi dimensi, yang dapat membantu meminimalkan kompleksitas dalam model.
Solusi terkait

Solusi terkait

IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses ke berbagai kemampuan dalam satu alat untuk seluruh siklus pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung