Apakah tingkat pembelajaran dalam machine learning?

Penyusun

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

Apa tingkat pembelajaran dalam machine learning? 

Laju pembelajaran adalah hiperparameter yang mengontrol sejauh mana model machine learning menyesuaikan parameternya di setiap langkah optimasi. Nilai laju pembelajaran yang tepat sangat penting, karena dapat menentukan apakah model mencapai kinerja optimal atau justru gagal belajar selama proses pelatihan. 

Tujuan dari algoritma optimasi adalah untuk meminimalkan fungsi kesalahan yang mengukur kesenjangan antara prediksi model dan data dunia nyata. Setiap kali model menjalankan algoritma optimasi, algoritma memperbarui parameter model nya berdasarkan hasilnya. Laju pembelajaran, atau ukuran langkah, ditunjukkan oleh huruf Yunani η dan menentukan ukuran perubahan yang dapat dilakukan oleh model. 

Laju pembelajaran memastikan model memperoleh pembelajaran yang cukup untuk menyesuaikan parameternya secara berarti tanpa melakukan koreksi berlebihan. Bayangkan menuruni bukit. Untuk mencapai dasar dengan aman, Anda perlu bergerak cukup cepat untuk membuat kemajuan, namun tidak terlalu cepat sehingga kehilangan kendali. Laju pembelajaran yang optimal menetapkan kecepatan penurunan yang tepat 

Setiap langkah pelatihan mewakili model yang mengesampingkan pemahaman sebelumnya tentang kumpulan datanya. Neural networks “belajar” lebih banyak tentang data pelatihannya dengan setiap proses algoritma pengoptimalannya. 

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Mengapa tingkat pembelajaran penting?

Laju pembelajaran penting karena memandu model AI dalam belajar secara efektif dari data pelatihannya. 

Laju pembelajaran yang rendah tidak membuat model "belajar" cukup di setiap langkah. Model memperbarui parameternya terlalu lambat dan membutuhkan waktu terlalu lama untuk mencapai konvergensi. Tetapi itu tidak berarti bahwa laju pembelajaran yang tinggi adalah jawabannya. 

Dengan laju pembelajaran yang tinggi, algoritma dapat menjadi korban overshooting: saat ia bertindak terlalu jauh dalam mengoreksi kesalahannya. Dalam kasus ini, algoritma membutuhkan laju pembelajaran yang lebih kecil, tetapi tidak terlalu kecil sehingga pembelajaran menjadi tidak efisien. 

Misalnya, bayangkan ada alien yang datang untuk mempelajari kehidupan di Bumi. Alien itu mengamati kucing, anjing, kuda, babi, dan sapi, lalu menyimpulkan bahwa semua hewan memiliki empat kaki. Namun, ketika ia melihat seekor ayam, muncul pertanyaan: apakah ayam juga termasuk hewan? Bergantung pada seberapa cepat alien itu belajar, ia mungkin akan mengambil salah satu dari tiga kesimpulan berikut: 

  • Pada laju pembelajaran yang optimal, alien akan menyimpulkan bahwa ayam juga merupakan hewan. Dan jika memang demikian, ini berarti jumlah kaki bukanlah penentu utama apakah sesuatu itu hewan atau bukan. 

  • Jika alien memiliki laju pembelajaran yang rendah, ia tidak dapat memperoleh insight yang cukup dari ayam tunggal ini. Alien akan menyimpulkan bahwa ayam bukanlah hewan karena mereka tidak memiliki empat kaki. Laju pembelajaran alien yang kecil tidak memungkinkannya memperbarui pemikirannya sampai ia melihat lebih banyak ayam. 

  • Pada laju pembelajaran yang tinggi, alien akan mengoreksi secara berlebihan. Sekarang, akan disimpulkan bahwa karena ayam adalah binatang, dan karena ayam memiliki dua kaki, maka semua hewan harus memiliki dua kaki. Tingkat pembelajaran yang tinggi berarti bahwa model belajar "terlalu banyak" sekaligus. 

Laju pembelajaran yang berbeda akan memengaruhi hasil pelatihan model. Laju pembelajaran optimal memungkinkan algoritma menyesuaikan parameter secara efisien tanpa melewati titik konvergensi. 

Mixture of Experts | 12 Desember, episode 85

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.

Apa parameter dalam machine learning?

Parameter adalah variabel yang mengontrol cara kerja model pembelajaran mendalam. Mereka berfungsi sebagai pengaturan model yang menentukan perilakunya dan dapat disesuaikan untuk mengoptimalkan kinerja.

Parameter yang dipelajari model

Parameter yang dipelajari oleh model—atau bobot model—merupakan komponen internal yang diperbarui selama pelatihan. Pada setiap langkah, model menyesuaikan bobotnya untuk meningkatkan kinerjanya. Besarnya penyesuaian ini diatur oleh laju pembelajaran, sehingga konfigurasi parameter secara langsung mempengaruhi kinerja model.

Saat menyempurnakan model, penyesuaian yang lebih kecil diperlukan karena model telah dilatih. Penyempurnaan biasanya memerlukan tingkat pembelajaran yang lebih rendah daripada saat pertama kali melatih model.

Hyperparameter

Hiperparameter adalah parameter eksternal yang menentukan struktur model dan proses pelatihannya. Konfigurasi hiperparameter dilakukan oleh individu yang melatih model. Salah satu hiperparameter utama adalah laju pembelajaran, yang biasanya bernilai antara 0,0 dan 1,0. 

Dua hiperparameter fundamental lainnya adalah: 

  • Epoch: berapa kali seluruh kumpulan data pelatihan melewati model selama pelatihan. Epoch selesai ketika model memproses setiap sampel dalam data pelatihannya satu kali. Hiperparameter epoch menetapkan jumlah epoch dalam proses pelatihan. 

  • Ukuran batch: Epoch pelatihan dapat dipecah menjadi beberapa bagian yang lebih kecil yang disebut batch. Model memperbarui bobotnya setelah setiap batch pelatihan. 

Epoch menetapkan durasi proses pelatihan, sementara ukuran batch menentukan seberapa sering model memperbarui bobotnya. Laju pembelajaran memberi tahu model seberapa banyak yang harus dipelajari setelah setiap batch. 

Apa itu algoritma pengoptimalan?

Algoritma optimasi, atau algoritma pembelajaran, adalah proses pemrograman yang mengajarkan model pembelajaran mendalam bagaimana belajar dari data pelatihannya dan memperbarui bobot modelnya. Algoritma pembelajaran terdiri atas fungsi kerugian— juga dikenal sebagai fungsi biaya atau fungsi kesalahan — dan metode untuk mengoptimalkan bobot model.

Setiap iterasi algoritma pembelajaran semakin menyempurnakan model. Ketika sebuah model tidak dapat lagi ditingkatkan dengan pelatihan lebih lanjut, dikatakan telah mencapai konvergensi

Penurunan gradien

Gradient Descent adalah algoritma pengoptimalan untuk melatih model machine learning. Algoritma penurunan gradien menggunakan fungsi kerugian untuk memetakan perbedaan antara prediksi machine learningdan nilai aktual. Gradien adalah kemiringan fungsi, mewakili nilai potensialnya. 

Tujuan dari algoritma optimasi adalah untuk menurunkan gradien ke minimum lokalnya, di mana fungsi tersebut menghasilkan output terendah. Tetapi minimum lokal belum tentu minimum global tunggal fungsi, atau nilai minimum keseluruhannya. Ilmuwan data menggunakan metode tambahan, seperti algoritma lain dan regularisasi, untuk menjaga model agar tidak terjebak pada minimum lokal yang tidak optimal karena output fungsi kerugian menurun. 

Proses memperbarui bobot model melalui meminimalkan fungsi kerugiannya dikenal sebagai propagasi balik. Penurunan gradien adalah metode umum untuk melakukan teknik backpropagation. 

Setiap kali algoritma memperbarui parameter model untuk mengurangi fungsi kerugian dan menurunkan gradien, model semakin mendekati konvergensi. Laju pembelajaran mengontrol proses ini dengan menentukan seberapa besar perubahan bobot model dalam setiap pembaruan. 

Ada tiga jenis penurunan gradien: 

  • Penurunan gradien batch melakukan iterasi setelah menghitung kerugian untuk semua sampel dalam kumpulan data. Metode ini sangat stabil, tetapi bukan yang terbaik dalam mencapai konvergensi optimal. 

  • Penurunan gradien stokastik (SGD) secara acak memilih satu titik data per iterasi, sangat meningkatkan kecepatan dan nuansa. Tetapi frekuensi pembaruan yang tinggi dapat mengurangi stabilitas. SGD memiliki banyak varian, termasuk Adam, AdaGrad, dan RMSProp. 

  • Penurunan gradien mini-batch merupakan metode kompromi yang memilih sekelompok kecil titik data per iterasi sebagai gantinya. Metode ini menyediakan frekuensi dan kecepatan pembaruan yang baik tanpa mengorbankan stabilitas. 

    Cara menentukan tingkat pembelajaran yang optimal

    Menentukan tingkat pembelajaran yang baik sebagian besar merupakan proses coba-coba. Tidak ada teknik ilmu data yang sangat mudah yang akan menjamin tingkat pembelajaran awal yang optimal tanpa menilai kemajuan selama pelatihan. 

    Metode umum untuk menentukan laju pembelajaran meliputi: 

    • Pencarian grid 

    • Jadwal laju pembelajaran

    • Laju pembelajaran adaptif 

    • Optimalisasi hiperparameter

    Optimalisasi laju pembelajaran sangat bertumpu pada prinsip-prinsip inti peluruhan dan momentum. Banyak perpustakaan pembelajaran mendalam menghitung peluruhan dan momentum atas nama pengguna. Salah satu perpustakaan tersebut adalah sumber terbuka Keras API, ditulis dalam Python dengan dukungan untuk TensorFlow, JAX, dan PyTorch

    • Peluruhan memperlambat laju pembelajaran saat pelatihan berlangsung. Penggunaan peluruhan yang efektif memungkinkan model belajar dengan cepat pada awalnya, kemudian secara bertahap untuk menghindari melampaui konvergensi. 

    • Momentum adalah kelembaman dari algoritma pengoptimalan. Cara ini meningkatkan laju pembelajaran ketika gradien mengikuti arah yang sama-yang berarti bahwa algoritme belum mencapai konvergensi-sambil melewati minimum lokal untuk melanjutkan kemajuan ke bawah. Meningkatkan momentum dapat menyebabkan konvergensi yang lebih cepat. Momentum rendah dapat menghentikan latihan pada minimum lokal kecil, sementara momentum tinggi dapat secara tidak sengaja melewati minimum lokal yang signifikan. 

    Pencarian grid

    Pencarian grid adalah metode brute force untuk menentukan laju pembelajaran optimal. Ilmuwan data membuat grid yang mencakup berbagai kemungkinan laju pembelajaran, kemudian menguji dan memvalidasi masing-masing nilai. Proses validasi melibatkan pelatihan model pada set data baru dan menyesuaikan hiperparameter. 

    Meskipun pencarian grid mempermudah proses evaluasi tingkat pembelajaran yang mencakup semua, proses ini memakan waktu dan intensifkomputasi.

    Jadwal tingkat pembelajaran

    Jadwal laju pembelajaran memperbarui laju pembelajaran selama proses pelatihan sesuai dengan salah satu dari beberapa rencana yang telah ditentukan sebelumnya. Jadwal laju pembelajaran yang umum meliputi: 

    • Tingkat pembelajaran tetap

    • Peluruhan berbasis waktu 

    • Peluruhan langkah 

    • Peluruhan eksponensial

    • Peluruhan polinomial

    Tingkat pembelajaran tetap

    Laju pembelajaran tetap, atau tingkat pembelajaran konstan, tidak berubah selama pelatihan. Dengan tingkat pembelajaran tetap, momentum dan peluruhan tetap statis selama pelatihan. Laju pembelajaran tetap memberikan tolok ukur atau titik referensi untuk menguji strategi tingkat pembelajaran lainnya.

    Peluruhan berbasis waktu

    Jadwal pembelajaran berbasis waktu memicu penurunan laju pembelajaran setelah sejumlah epoch pelatihan yang telah ditentukan sebelumnya atau pada epoch tertentu. Jumlah penurunan laju pembelajaran didasarkan pada laju pembelajaran siklus sebelumnya. Jadwal pembelajaran berbasis waktu yang umum mendasarkan penurunan pada faktor yang berbanding terbalik dengan jumlah epoch.

    Peluruhan langkah

    Peluruhan langkah mengurangi laju pembelajaran dengan faktor yang telah ditentukan sebelumnya, seperti separuh, setelah sejumlah epoch tertentu.

    Peluruhan eksponensial

    Laju pembelajaran peluruhan eksponensial menurun secara eksponensial setelah sejumlah epoch tertentu. Jika tidak, jadwal pembelajaran peluruhan eksponensial mirip dengan jadwal peluruhan bertahap.

    Peluruhan polinomial

    Dalam jadwal pembelajaran polinomial, peluruhan ditentukan oleh fungsi polinomial dari epoch saat ini. Mengalikan epoch dengan eksponen yang lebih tinggi akan meningkatkan laju peluruhan, sedangkan pangkat yang lebih rendah akan mempertahankan laju peluruhan yang lebih stabil.

    Jadwal tingkat pembelajaran siklus

    Jadwal pembelajaran siklis menetapkan batas minimum dan maksimum untuk laju pembelajaran, lalu mengayunkannya di antara kedua nilai tersebut. Dalam jadwal segitiga, laju pembelajaran meningkat secara linear dari minimum ke maksimum, lalu menurun kembali dengan pola yang tetap. Sementara itu, jadwal lainnya dapat menggunakan fungsi seperti kosinus, sinusoidal, atau parabola.

    Tingkat pembelajaran adaptif

    Algoritma pembelajaran adaptif secara dinamis menyesuaikan diri dengan kondisi saat ini atau iterasi sebelumnya. Sebaliknya, laju pembelajaran terjadwal semuanya bergantung pada hiperparameter yang telah ditentukan sebelumnya. 

    Banyak metode pembelajaran adaptif yang merupakan varian SGD. Algoritme pembelajaran adaptif yang terkenal meliputi: 

    • AdaGrad: Rangkaian algoritma AdaGrad (gradien adaptif), yang diperkenalkan pada tahun 2011, memperbarui laju pembelajaran secara terpisah untuk setiap parameter. Biasanya menetapkan hubungan proporsional terbalik antara tingkat pembelajaran dan frekuensi fitur. Pendekatan ini mempertahankan fokus pada fitur yang lebih relevan dalam kumpulan data. 

    • RMSProp: RMSProp (root mean square propagation) menyesuaikan bobot pembelajaran untuk setiap parameter menurut rata-rata bergerak dari kuadrat setiap gradien. Solusi ini meningkatkan AdaGrad dengan mengabaikan gradien di masa lalu, meningkatkan stabilitas dan mengarah ke konvergensi yang lebih cepat. 

    • Adam: Diperkenalkan pada tahun 2014, Adam (estimasi momen adaptif) menggabungkan momentum dengan RMSProp untuk menyesuaikan tingkat pembelajaran setiap parameter berdasarkan gradien sebelumnya. Versi Adam yang lebih baru menambahkan awal yang hangat, yang secara bertahap meningkatkan tingkat pembelajaran saat memulai pelatihan.

    Optimalisasi hiperparameter

    Pengoptimalan hiperparameter atau penyetelan hiperparameteradalah praktik mengidentifikasi konfigurasi optimal untuk semua hiperparameter, termasuk laju pembelajaran. Algoritma penyetelan hiperparameter mengotomatiskan proses mengonfigurasi hiperparameter yang optimal, di mana masing-masing algoritma lebih menyukai hiperparameter tertentu daripada algoritma lain. 

    Mencari konfigurasi hiperparameter yang optimal memerlukan analisis hubungan antara setiap hiperparameter dan dampaknya terhadap kinerja model secara keseluruhan. Namun, pendekatan ini dapat menjadi sangat mahal secara komputasi, terutama ketika jumlah hiperparameter yang harus dievaluasi cukup besar.

    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 satu atap ke kemampuan yang mencakup siklus hidup 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