Beranda Page Title penurunan gradien Apa yang dimaksud dengan penurunan gradien?
Terapkan penurunan gradien dengan watsonx.ai Berlangganan pembaruan tentang topik AI
Ilustrasi dengan kolase piktogram awan, diagram lingkaran, piktogram grafik
Apa yang dimaksud dengan penurunan gradien?

Penurunan gradien adalah algoritma pengoptimalan yang biasanya digunakan untuk melatih model machine learning dan jaringan neural. 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.

IBM dinobatkan sebagai pemimpin oleh Gartner

Ketahui mengapa IBM dinobatkan sebagai Pemimpin dalam Gartner Magic Quadrant 2023 untuk Layanan Pengembang Cloud AI

Konten terkait

Daftar untuk buku elektronik di Presto

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

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 jaringan neural yang lebih dalam, jaringan neural 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
Teknologi yang didorong oleh AI

Mulai dari alur kerja bisnis hingga operasi IT Anda, kami siap membantu Anda dengan otomatisasi bertenaga AI. Temukan cara perusahaan terkemuka bertransformasi.

Jelajahi teknologi yang didorong oleh AI
Sumber daya Algoritma Penurunan Gradien Stokastik yang Efisien dan Terdistribusi untuk Aplikasi Pembelajaran Mendalam

IBM Research mengusulkan algoritma penurunan gradien stokastik terdistribusi dan sinkron secara massal yang memungkinkan agregasi gradien yang jarang dari masing-masing pelajar.

Terapkan XGBoost di R

Terapkan pohon keputusan yang ditingkatkan gradien menggunakan algoritma XGBoost untuk melakukan tugas klasifikasi.

Ambil langkah selanjutnya

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.

Jelajahi watsonx.ai Pesan demo langsung