My IBM Masuk Berlangganan
Apa itu penyetelan hyperparameter?

Apa itu penyetelan hyperparameter?

Jelajahi IBM watsonx.ai Berlangganan buletin Think
Piktogram awan, diagram lingkaran, grafik

Diterbitkan: 23 Juli 2024
Kontributor: Ivan Belcic, Cole Stryker

Apa itu penyetelan hyperparameter?

Apa itu penyetelan hyperparameter?

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

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

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

Cara memilih model dasar AI yang tepat

Temukan cara memilih pendekatan yang tepat dalam menyiapkan kumpulan data dan menggunakan model AI.

Konten terkait Panduan CEO untuk AI generatif
Apa itu hyperparameter?

Apa itu hyperparameter?

Hyperparameter adalah variabel konfigurasi yang ditetapkan ilmuwan data sebelumnya 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 hyperparameter yang tepat sangat penting untuk mendorong kinerja terbaik dari model pembelajaran diawasi dan pembelajaran tak diawasi

Hyperparameter regularisasi 

Hyperparameter regularisasi mengontrol kapasitas atau fleksibilitas model, yaitu seberapa banyak kelonggaran yang dimilikinya saat menafsirkan data. Beri perintah yang terlalu ringan dan model tidak akan bisa cukup spesifik untuk membuat prediksi yang baik. Melangkah terlalu jauh, dan model akan mengalami kelebihan muatan: ketika terlalu beradaptasi dengan data pelatihannya dan akhirnya menjadi terlalu ceruk untuk penggunaan dunia nyata. 

Hyperparameter versus. parameter model

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

Mengapa penyetelan hyperparameter penting?

Mengapa penyetelan hyperparameter penting?

Penyetelan hyperparameter penting karena hal ini meletakkan dasar bagi struktur, efisiensi pelatihan dan kinerja model. Konfigurasi hyperparameter 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 hyperparameter adalah untuk menyeimbangkan pertukaran bias-varian. Bias adalah perbedaan antara prediksi model dan kenyataan. Model yang tidak sesuai, atau kurang pas, 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 terlalu cocok dengan kumpulan data pelatihan aslinya dan sulit untuk mengakomodasi data baru. 

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

Contoh hyperparameter

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

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

    Tingkat pembelajaran

    Tingkat pembelajaran menetapkan kecepatan di mana model menyesuaikan parameternya di 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 data yang melayang. Sementara itu, meskipun tingkat pembelajaran yang rendah lebih memakan waktu dan membutuhkan lebih banyak data, hal ini juga membuat para ilmuwan data lebih mungkin untuk menentukan kerugian 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 jaringan neural menentukan kedalamannya, yang memengaruhi kompleksitas dan kemampuan pembelajarannya. Lebih sedikit lapisan membuat model yang lebih sederhana dan lebih cepat, tetapi lebih banyak lapisan — seperti dengan jaringan pembelajaran mendalam — mengarah pada klasifikasi data input yang lebih baik. Mengidentifikasi nilai hyperparameter yang optimal di sini, dari semua kombinasi yang memungkinkan, adalah soal pertukaran 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, dan bukannya berbalik arah. Sebagian besar ilmuwan data memulai dengan nilai hiperparameter yang lebih rendah untuk momentum dan kemudian menyesuaikan ke atas sesuai kebutuhan untuk menjaga model tetap berada di jalur yang diperlukan dalam data pelatihan. 

    Epochs

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

    Fungsi aktivasi

    Fungsi aktivasi memperkenalkan nonlinieritas ke dalam 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 dengan risiko 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 ke dalam kelompok-kelompok yang sesuai. Bergantung pada kernel yang digunakan, titik-titik data akan menunjukkan hubungan yang berbeda, yang dapat sangat mempengaruhi kinerja model SVM secara keseluruhan. Linear, polinomial, radial basis function (RBF), dan sigmoid adalah beberapa kernel yang paling umum digunakan. Kernel linear lebih sederhana dan paling baik untuk data yang mudah dipisahkan, sementara kernel nonlinear 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 yang terlalu tinggi dapat menyebabkan overfitting, sementara nilai yang terlalu rendah dapat merusak batas keputusan. 

      Hyperparameter XGBoost

      XGBoost adalah singkatan dari "penguatan gradien ekstrem” dan merupakan algoritma ansambel yang memadukan prediksi beberapa model yang lebih lemah, yang dikenal sebagai decision trees, untuk hasil yang lebih akurat. Algoritma yang diperkuat gradien cenderung mengungguli model random forest, jenis algoritma ansambel lain yang terdiri dari beberapa decision trees. 

      Hyperparameter terpenting untuk XGBoost adalah:

        learning_rate

        learning_rate mirip dengan hyperparameter laju pembelajaran yang digunakan oleh jaringan neural. 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. Hyperparameter ini dikenal sebagai num_boost_rounds di XGBoost asli, sedangkan API Python populer scikit-learn memperkenalkan nama n_estimators

        max_depth

        max_depth menentukan arsitektur decision trees, mengatur jumlah maksimum node dari pohon ke setiap daun-pengklasifikasi akhir. Lebih banyak node mengarah ke klasifikasi data yang lebih bernuansa, sementara pohon yang lebih kecil dengan mudah menghindari overfitting. 

        min_child_weight

        min_child_weight adalah bobot minimum-pentingnya sebuah kelas dalam proses pelatihan model secara keseluruhan-yang dibutuhkan untuk menumbuhkan 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 konstruksi pohon. 

        Bagaimana cara kerja penyetelan hyperparameter?

        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 hyperparameter

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

        Pencarian grid

        Pencarian grid adalah metode penyetelan hyperparameter yang komprehensif dan lengkap. Setelah para ilmuwan data menetapkan setiap nilai yang mungkin untuk setiap hyperparameter, pencarian grid membuat model untuk setiap konfigurasi yang mungkin dari nilai-nilai hyperparameter diskrit tersebut. Model-model ini masing-masing dievaluasi kinerjanya 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 diskrit untuk setiap hyperparameter. 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 dan 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 set nilai hyperparameter baru yang cenderung 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 hyperparameter 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 hyperparameter 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 (tautan berada di luar ibm.com) dirancang untuk meningkatkan pencarian acak dengan memotong penggunaan konfigurasi pelatihan yang gagal memberikan hasil yang kuat sambil 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 hyperparameter optimal tetap ada. 

        Produk dan solusi terkait

        Produk dan solusi terkait

        watsonx.ai

        Sekarang tersedia—studio perusahaan generasi berikutnya bagi pembangun AI untuk melatih, memvalidasi, menyetel, dan menerapkan model AI.

        Jelajahi watsonx.ai

        Model dasar di watsonx.ai

        Jelajahi perpustakaan model dasar IBM di platform watsonx untuk menskalakan AI generatif untuk bisnis Anda dengan percaya diri.

        Temukan model dasar di watsonx.ai

        Model Granite

        IBM Granite adalah keluarga model kecerdasan buatan (AI) yang dibuat khusus untuk bisnis, direkayasa dari awal untuk membantu memastikan kepercayaan dan skalabilitas dalam aplikasi yang didorong oleh AI. Model Granite sumber terbuka tersedia saat ini.

        Jelajahi model Granite
        Sumber daya

        Sumber daya

        AI yang bertanggung jawab adalah keunggulan kompetitif

        Di era AI generatif, janji teknologi tumbuh setiap hari seiring organisasi membuka kemungkinan barunya. Akan tetapi, ukuran sebenarnya kemajuan AI melampaui kemampuan teknisnya.

        Apa yang dimaksud dengan kecerdasan buatan?

        Artificial intelligence, atau AI, adalah teknologi yang memungkinkan komputer dan mesin untuk mensimulasikan kecerdasan manusia dan kemampuan memecahkan masalah.

        Apakah model bahasa yang lebih besar selalu lebih baik?

        Dalam perlombaan untuk mendominasi AI, yang lebih besar biasanya lebih baik. Lebih banyak data dan lebih banyak parameter menciptakan sistem AI yang lebih besar, yang tidak hanya lebih canggih tetapi juga lebih efisien dan cepat, dan umumnya menciptakan lebih sedikit kesalahan daripada sistem yang lebih kecil.

        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