Apa itu penyetelan hyperparameter?

Penyusun

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

Apa itu penyetelan hiperparameter?

Penyetelan hiperparameter adalah praktik mengidentifikasi dan memilih hiperparameter yang optimal untuk digunakan dalam melatih machine learning model. Jika dilakukan dengan benar, penyetelan hiperparameter meminimalkan fungsi kesalahan dari model machine learning, yang berarti kinerja model dilatih untuk menjadi seakurat mungkin.

Penyetelan hiperparameter adalah praktik eksperimen, dengan setiap iterasi menguji nilai hiperparameter yang berbeda sampai nilai terbaik teridentifikasi. Proses ini sangat penting untuk kinerja model karena hiperparameter mengatur proses pembelajarannya. Jumlah neuron dalam neural networks, tingkat pembelajaran model AI generatif, dan ukuran kernel mesin vektor dukungan adalah contoh hiperparameter.

Penyetelan hiperparameter yang baik berarti kinerja lebih kuat secara keseluruhan dari model machine learning sesuai dengan metrik untuk tugas yang dimaksudkan. Inilah sebabnya mengapa penyetelan hiperparameter juga dikenal sebagai optimalisasi hiperparameter.

Foto orkestra dengan konduktor

Apa itu hyperparameter?

Hiperparameter adalah variabel konfigurasi yang ditetapkan sebelumnya oleh ilmuwan data untuk mengelola proses pelatihan model machine learning. AI generatif dan model probabilistik lainnya menerapkan pembelajaran mereka dari data pelatihan untuk memprediksi hasil yang paling mungkin untuk suatu tugas. Menemukan kombinasi hiperparameter yang tepat sangat penting untuk mendorong kinerja terbaik dari model pembelajaran diawasi dan pembelajaran tanpa pengawasan.

Hyperparameter regularisasi 

Hiperparameter regularisasi mengontrol kapasitas atau fleksibilitas model, yaitu seberapa banyak kelonggaran yang dimilikinya saat menafsirkan data. Jika perintah yang terlalu ringan diberikan, model tidak akan bisa cukup spesifik untuk membuat prediksi yang baik. Jika melangkah terlalu jauh, model akan mengalami overfitting: ketika model terlalu beradaptasi dengan data pelatihannya dan akhirnya menjadi terlalu spesifik untuk penggunaan dunia nyata.

Hiperparameter vs parameter model

Perbedaan utama antara hiperparameter dan parameter model dalam ilmu data adalah bahwa sementara model mempelajari atau memperkirakan parameter dari kumpulan data pelatihan yang mereka serap, ilmuwan data menentukan hiperparameter untuk algoritma model sebelum proses pelatihan dimulai. Model terus memperbarui parameter saat bekerja, sedangkan nilai optimal dari hiperparameter model diidentifikasi dan ditetapkan sebelumnya.

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 penyetelan hyperparameter penting?

Penyetelan hiperparameter penting karena hal ini merupakan dasar bagi struktur, efisiensi pelatihan, dan kinerja model. Konfigurasi hiperparameter yang optimal mengarah pada kinerja model yang kuat di dunia nyata. Operasi model bahasa besar (LLMOPS) menekankan aspek efisiensi penyetelan yang baik, dengan penekanan pada meminimalkan kebutuhan daya komputasi.

Bias dan varians

Tujuan penyetelan hiperparameter adalah untuk menyeimbangkan kompromi bias-varians. Bias adalah perbedaan antara prediksi model dan kenyataan. Model yang kurang sesuai atau underfitting, gagal untuk melihat hubungan utama antara titik data dan tidak dapat menarik kesimpulan yang diperlukan untuk kinerja yang akurat.

Varians adalah sensitivitas model terhadap data baru. Model yang andal harus memberikan hasil yang konsisten saat bermigrasi dari data pelatihannya ke kumpulan data lain. Namun, model dengan tingkat varians yang tinggi terlalu rumit, model ini mengalami overfitting pada kumpulan data pelatihan aslinya dan kesulitan untuk mengakomodasi data baru.

Model dengan bias rendah akurat, sedangkan model dengan varians rendah konsisten. Penyetelan hiperparameter yang baik mengoptimalkan agar keduanya menciptakan model terbaik untuk pekerjaan tersebut sekaligus memaksimalkan efisiensi sumber daya komputasi selama pelatihan.

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.

Contoh hyperparameter

Setiap algoritme machine learning memiliki set hyperparameter masing-masing, dan tidak perlu memaksimalkannya di semua kasus. Terkadang, pendekatan yang lebih konservatif saat menyetel hyperparameter akan mengarah pada kinerja yang lebih baik.

Hiperparameter jaringan neural

Neural networks mengambil inspirasi dari otak manusia dan terdiri dari node yang saling terhubung yang mengirimkan sinyal kepada satu sama lain. Secara umum, berikut adalah beberapa hiperparameter yang paling umum untuk pelatihan model neural networks:

  • Laju pembelajaran

  • Penurunan laju pembelajaran

  • Ukuran batch

  • Jumlah lapisan tersembunyi

  • Jumlah node atau neuron per lapisan

  • Momentum

  • Periode

  • Fungsi aktivasi

Tingkat pembelajaran

Tingkat pembelajaran menetapkan kecepatan model menyesuaikan parameternya dalam setiap iterasi. Penyesuaian ini dikenal sebagai langkah. Laju pembelajaran yang tinggi berarti model akan menyesuaikan lebih cepat, tetapi dengan risiko kinerja yang tidak stabil dan penyimpangan data. Sementara itu, meskipun tingkat pembelajaran rendah lebih memakan waktu dan membutuhkan lebih banyak data, hal ini juga membuat para ilmuwan data lebih mungkin untuk menentukan kesalahan minimum dari sebuah model. Optimalisasi penurunan gradien adalah contoh metrik pelatihan yang membutuhkan laju pembelajaran yang ditetapkan.

Peluruhan laju pembelajaran

Peluruhan laju pembelajaran menetapkan tingkat di mana laju pembelajaran jaringan menurun seiring waktu, memungkinkan model untuk belajar lebih cepat. Perkembangan pelatihan algoritma dari aktivasi awal hingga kinerja ideal dikenal sebagai konvergensi.

Ukuran batch

Ukuran batch menetapkan jumlah sampel yang akan dihitung model sebelum memperbarui parameternya. Ini memiliki efek yang signifikan pada efisiensi komputasi dan akurasi proses pelatihan. Dengan sendirinya, ukuran batch yang lebih tinggi akan melemahkan kinerja secara keseluruhan, tetapi menyesuaikan laju pembelajaran bersama dengan ukuran batch dapat mengurangi kerugian ini.

Jumlah lapisan tersembunyi

Jumlah lapisan tersembunyi dalam neural networks menentukan kedalamannya, yang memengaruhi kompleksitas dan kemampuan pembelajarannya. Lebih sedikit lapisan membuat model yang lebih sederhana dan lebih cepat, tetapi lebih banyak lapisan—seperti pada jaringan pembelajaran mendalam—mengarah pada klasifikasi data input yang lebih baik. Mengidentifikasi nilai hiperparameter yang optimal di sini dari semua kombinasi yang memungkinkan adalah kompromi antara kecepatan dan akurasi.

Jumlah node atau neuron per lapisan

Jumlah node atau neuron per lapisan menentukan lebar model. Semakin banyak node atau neuron per lapisan, semakin besar cakupan model dan semakin baik kemampuannya untuk menggambarkan hubungan yang kompleks antara titik data.

Momentum

Momentum adalah sejauh mana model memperbarui parameter ke arah yang sama dengan iterasi sebelumnya, alih-alih berbalik arah. Sebagian besar ilmuwan data memulai dengan nilai hiperparameter yang lebih rendah untuk momentum, kemudian menyesuaikan ke atas sesuai kebutuhan untuk menjaga model tetap berada di jalur saat belajar dari data pelatihan.

Epochs

Periode adalah hiperparameter yang mengatur berapa kali model diekspos ke seluruh kumpulan data pelatihan selama proses pelatihan. Paparan yang lebih besar dapat mengarah ke peningkatan kinerja tetapi berisiko overfitting.

Fungsi aktivasi

Fungsi aktivasi menyebabkan nonlinieritas pada model, memungkinkannya menangani kumpulan data yang lebih kompleks. Model nonlinier dapat menggeneralisasi dan beradaptasi dengan variasi data yang lebih besar.

Hyperparameter SVM

Support vector machine (SVM) adalah algoritma machine learning yang berspesialisasi dalam klasifikasi data, regresi, dan deteksi outlier. Ini memiliki hyperparameter esensial sendiri:

    Hyperparameter SVM: C

    C adalah rasio antara margin kesalahan yang dapat diterima dan jumlah kesalahan yang dihasilkan ketika model bertindak sebagai pengklasifikasi data. Nilai C yang lebih rendah menetapkan batas keputusan yang halus dengan toleransi kesalahan yang lebih tinggi dan kinerja yang lebih umum, tetapi berisiko klasifikasi data yang salah. Sementara itu, nilai C yang tinggi menciptakan batasan keputusan yang rapi untuk hasil pelatihan yang lebih akurat tetapi dengan potensi overfitting.

    SVM hyperparameter: kernel

    Kernel adalah fungsi yang menetapkan sifat hubungan antara titik-titik data dan memisahkannya dengan sesuai ke dalam kelompok. Bergantung pada kernel yang digunakan, titik-titik data akan menunjukkan hubungan berbeda yang dapat sangat memengaruhi kinerja model SVM secara keseluruhan. Linier, polinomial, radial basis function (RBF), dan sigmoid adalah beberapa kernel yang paling umum digunakan. Kernel linier lebih sederhana dan paling baik untuk data yang mudah dipisahkan, sementara kernel nonlinier lebih baik untuk kumpulan data yang lebih kompleks.

    SVM hyperparameter: gamma

    Gamma menetapkan tingkat pengaruh vektor pendukung pada batas keputusan. Vektor pendukung adalah titik data yang paling dekat dengan hyperplane: batas antara kelompok data. Nilai yang lebih tinggi menarik pengaruh yang kuat dari vektor terdekat, sementara nilai yang lebih rendah membatasi pengaruh dari vektor yang lebih jauh. Menyetel nilai gamma terlalu tinggi dapat menyebabkan overfitting, sementara nilai yang terlalu rendah dapat merusak batas keputusan.

    Hyperparameter XGBoost

    XGBoost adalah singkatan dari "peningkatan gradien ekstrem” dan merupakan algoritma ensambel yang memadukan prediksi beberapa model lebih lemah yang dikenal sebagai struktur keputusan untuk mendapatkan hasil yang lebih akurat. Algoritma yang ditingkatkan gradien cenderung mengungguli model random forest, jenis algoritma pembelajaran ensambel lain yang terdiri dari beberapa struktur keputusan.

    Hiperparameter terpenting untuk XGBoost adalah:

    • learning_rate

    • n_estimators

    • max_depth

    • min_child_weight

    • subsample

    learning_rate

    learning_rate mirip dengan hiperparameter laju pembelajaran yang digunakan oleh neural networks. Fungsi ini mengontrol tingkat koreksi yang dilakukan selama setiap putaran pelatihan. Nilai potensial berkisar dari 0 hingga 1, dengan 0,3 sebagai default.

    n_estimator

    n_estimators menetapkan jumlah pohon dalam model. Hiperparameter ini dikenal sebagai num_boost_rounds di XGBoost asli, sedangkan scikit-learn API Python yang populer memperkenalkan nama n_estimators.

    max_depth

    max_depth menentukan arsitektur struktur keputusan, mengatur jumlah maksimum node dari pohon ke setiap daun—pengklasifikasi akhir. Lebih banyak node mengarah ke klasifikasi data yang lebih mendalam, sementara pohon yang lebih kecil dengan mudah menghindari overfitting.

    min_child_weight

    min_child_weight adalah bobot minimum—pentingnya sebuah kelas yang diberikan pada keseluruhan proses pelatihan model—yang dibutuhkan untuk menghasilkan sebuah pohon baru. Bobot minimum yang lebih rendah akan menghasilkan lebih banyak pohon tetapi dengan potensi overfitting, sementara bobot yang lebih besar akan mengurangi kompleksitas dengan membutuhkan lebih banyak data untuk membagi pohon.

    subsample

    subsample menetapkan persentase sampel data yang digunakan selama setiap putaran pelatihan dan colsample_bytree menetapkan persentase fitur yang akan digunakan dalam pembuatan pohon.

    Bagaimana cara kerja penyetelan hyperparameter?

    Penyetelan hiperparameter berpusat di sekitar fungsi objektif, yang menganalisis sekelompok, atau tupel, hyperparameter dan menghitung kerugian yang diproyeksikan. Penyetelan hyperparameter yang optimal meminimalkan kerugian sesuai dengan metrik yang dipilih. Hasilnya dikonfirmasi melalui validasi silang, yang mengukur seberapa dekat hasilnya digeneralisasikan ke kumpulan data lain di luar contoh pelatihan tertentu.

    Metode penyetelan hiperparameter

    Ilmuwan data memiliki berbagai metode penyetelan hiperparameter yang dapat mereka gunakan, masing-masing dengan kelebihan dan kekurangannya. Penyetelan hiperparamter dapat dilakukan secara manual atau otomatis sebagai bagian dari strategi AutoML (machine learning otomatis).

    • Pencarian grid

    • Pencarian acak

    • Optimasi Bayesian

    • Hyperband

    Pencarian grid

    Pencarian grid adalah metode penyetelan hiperparameter yang komprehensif dan lengkap. Setelah para ilmuwan data menetapkan setiap nilai yang mungkin untuk setiap hiperparameter, pencarian grid membuat model untuk setiap konfigurasi yang mungkin dari nilai-nilai hiperparameter diskret tersebut. Kinerja setiap model ini dievaluasi dan dibandingkan satu sama lain dengan model terbaik yang pada akhirnya dipilih untuk pelatihan.

    Dengan cara ini, pencarian grid mirip dengan brute force PIN dengan memasukkan setiap kombinasi angka yang mungkin hingga urutan yang benar ditemukan. Meskipun memungkinkan para ilmuwan data untuk mempertimbangkan semua konfigurasi yang mungkin dalam ruang hiperparameter, pencarian grid tidak efisien dan secara komputasi memakan banyak sumber daya.

    Pencarian acak

    Pencarian acak berbeda dengan pencarian grid karena para ilmuwan data menyediakan distribusi statistik, bukan nilai diskret untuk setiap hiperparameter. Pencarian acak menarik sampel dari setiap rentang dan membangun model untuk setiap kombinasi. Selama beberapa iterasi, model ditimbang satu sama lain sampai model terbaik ditemukan.

    Pencarian acak lebih baik daripada pencarian grid dalam situasi di mana ruang pencarian hyperparameter berisi distribusi yang besar - akan membutuhkan terlalu banyak usaha untuk menguji setiap nilai diskrit. Algoritma pencarian acak dapat memberikan hasil yang sebanding dengan pencarian grid dalam waktu yang jauh lebih singkat, meskipun tidak dijamin untuk menemukan konfigurasi hyperparameter yang paling optimal.

    Optimalisasi Bayesian

    Optimalisasi Bayesian adalah algoritma optimalisasi berbasis model sekuensial (SMBO) di mana setiap iterasi pengujian meningkatkan metode pengambilan sampel berikutnya. Baik pencarian grid maupun acak dapat dilakukan secara bersamaan, tetapi setiap pengujian dilakukan secara terpisah—ilmuwan data tidak dapat menggunakan apa yang telah mereka pelajari untuk menginformasikan pengujian berikutnya.

    Berdasarkan pengujian sebelumnya, optimalisasi Bayesian secara probabilistik memilih satu kumpulan nilai hiperparameter baru yang kemungkinan memberikan hasil yang lebih baik. Model probabilistik disebut sebagai pengganti fungsi objektif asli. Karena model pengganti bersifat efisien dalam hal komputasi, model ini biasanya diperbarui dan ditingkatkan setiap kali fungsi objektif dijalankan.

    Semakin baik pengganti dalam memprediksi hiperparameter optimal, semakin cepat prosesnya, dengan lebih sedikit tes fungsi objektif yang diperlukan. Hal ini membuat pengoptimalan Bayesian jauh lebih efisien daripada metode lainnya, karena tidak ada waktu yang terbuang untuk kombinasi nilai hiperparameter yang tidak sesuai.

    Proses menentukan hubungan secara statistik antara hasil - dalam hal ini, kinerja model terbaik - dan serangkaian variabel dikenal sebagai analisis regresi. Proses Gaussian adalah salah satu SMBO yang populer di kalangan ilmuwan data.

    Hyperband

    Diperkenalkan pada tahun 2016, Hyperband dirancang untuk meningkatkan pencarian acak dengan memotong penggunaan konfigurasi pelatihan yang gagal memberikan hasil yang kuat sekaligus mengalokasikan lebih banyak sumber daya ke konfigurasi positif.

    "Penghentian dini" ini dicapai melalui pembagian dua secara berurutan, sebuah proses yang mengerucutkan kumpulan konfigurasi dengan menghapus separuh konfigurasi yang berkinerja terburuk setelah setiap putaran pelatihan. 50% teratas dari setiap batch dibawa ke iterasi berikutnya sampai satu konfigurasi hiperparameter optimal tersisa.

    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