Optimasi hiperparameter

Dalam pemelajaran mesin, optimasi atau penyetelan hyperparameter Matthias Feurer and Frank Hutter. Hyperparameter optimization. In: AutoML: Methods, Systems, Challenges, pages 3–38. (bahasa Inggris: hyperparameter optimization atau tuning hyperparameter)  adalah masalah pemilihan sekumpulan hiperparameter yang paling efektif (atau optimal) untuk suatu algoritma pemelajaran. Hiperparameter adalah parameter yang nilainya digunakan untuk mengontrol proses pemelajaran.

Optimasi hiperparameter merupakan sebuah proses dalam pemelajaran mesin yang bertujuan untuk menemukan tupel hiperparameter yang menghasilkan model optimal yang meminimalkan fungsi kerugian yang telah ditentukan sebelumnya pada data independen. Fungsi objektif berperan sebagai panduan dalam proses optimasi. Fungsi ini menerima tupel hiperparameter sebagai input dan menghasilkan nilai kerugian terkait. Semakin rendah nilai kerugian, semakin baik kinerja model. Validasi silang sering kali digunakan untuk memperkirakan performa generalisasi ini. Oleh karena itu, kumpulan nilai untuk hiperparameter dipilih yang dapat memaksimalkannya.

 Pendekatan 
jmpl| Pencarian grid pada nilai yang berbeda dari dua hyperparameter. Untuk setiap hyperparameter, 10 nilai berbeda dipertimbangkan, sehingga total 100 kombinasi berbeda dievaluasi dan dibandingkan. Kontur berwarna biru menunjukkan wilayah dengan hasil yang kuat, sedangkan kontur berwarna merah menunjukkan wilayah dengan hasil yang buruk.

 Pencarian kisi 
Cara tradisional untuk melakukan optimasi hiperparameter adalah pencarian kisi (grid search) atau sapuan parameter (parameter sweep). ni adalah proses pencarian menyeluruh dalam sub-bagian ruang hiperparameter yang ditentukan secara manual, untuk algoritma pembelajaran yang digunakan. Algoritma pencarian kisi memerlukan panduan beberapa metrik performa, biasanya diukur dengan validasi silang pada set pelatihanChin-Wei Hsu, Chih-Chung Chang and Chih-Jen Lin (2010). A practical guide to support vector classification. Technical Report, National Taiwan University. atau evaluasi pada set validasi terpisah.

Karena ruang parameter dari sebuah pemelajar mesin dapat mencakup ruang nilai bernilai riil atau tidak terbatas untuk parameter tertentu, pembatas yang ditetapkan secara manual dan diskritisasi mungkin diperlukan sebelum menerapkan pencarian kisi.

Misalnya, pengklasifikasi SVM "soft margin" yang dilengkapi dengan kernel RBF memiliki setidaknya dua hiperparameter yang perlu disetel untuk mendapatkan performa yang baik pada data yang tidak terlihat, yaitu konstanta regularisasi C dan hiperparameter kernel γ. Kedua parameter tersebut kontinu dan tidak terbatas. Sehingga untuk melakukan pencarian kisi, kumpulan nilai "masuk akal"  yang terbatas harus dipilih untuk masing-masing hiperparameter tersebut, misalnya:




Pencarian grid kemudian melatih SVM dengan masing-masing pasangan (C, γ) dalam produk Cartesius dari kedua himpunan tersebut dan mengevaluasi kinerjanya pada set validasi yang terpisah (atau dengan validasi silang internal pada set pelatihan dan dalam hal ini beberapa SVM dilatih per-pasangan). Terakhir, algoritma pencarian kisi mengeluarkan pengaturan atau penyetelan hiperparameter yang mampu mencapai skor tertinggi dalam prosedur validasi.

Pencarian grid memang mengalami kutukan dimensionalitas. Akan tetapi, metode ini sering kali sangat paralel, karena pengaturan hiperparameter yang dievaluasinya biasanya independen satu sama lain.
jmpl| Pencarian acak di berbagai kombinasi nilai untuk dua hyperparameter. Dalam contoh ini, 100 pilihan acak berbeda dievaluasi. Bilah hijau menunjukkan bahwa lebih banyak nilai individual untuk setiap hyperparameter yang dipertimbangkan dibandingkan dengan penelusuran kisi.

 Pencarian acak 
Pencarian Acak (random search) menawarkan alternatif dari enumerasi lengkap yang dilakukan pada pencarian kisi semua kombinasi hiperparameter melalui pemilihan secara acak. Metode ini tidak hanya berlaku untuk pengaturan diskrit, tetapi juga dapat digeneralisasi ke ruang kontinu dan campuran. Dibandingkan dengan pencarian grid, pencarian acak memungkinkan eksplorasi nilai yang jauh lebih luas, terutama untuk hiperparameter kontinu. Keunggulan ini membuatnya berpotensi mengungguli pencarian kisi, khususnya ketika hanya sedikit hiperparameter yang berpengaruh signifikan terhadap kinerja akhir algoritma pembelajaran mesin. Dalam hal ini, masalah optimasi dikatakan mempunyai dimensi intrinsik yang rendah. Lebih lanjut, pencarian acak memiliki sifat sangat paralel dan fleksibel untuk mengakomodasi pengetahuan sebelumnya melalui penentuan distribusi sampel. Meskipun tergolong sederhana, pencarian acak tetap menjadi garis acuan (baseline) penting untuk evaluasi kinerja berbagai metode optimasi hiperparameter terbaru.
jmpl| Metode seperti optimasi Bayesian secara cerdas mengeksplorasi ruang pilihan hiperparameter potensial dengan memutuskan kombinasi mana yang akan dieksplorasi selanjutnya berdasarkan pengamatan sebelumnya.

 Optimasi Bayesian 

Optimasi Bayesian merupakan metode optimasi global yang cocok diterapkan pada fungsi noisy black-box (kotak hitam bising) dalam konteks optimasi hiperparameter. Inti metode ini adalah membangun model probabilitas yang memetakan nilai hiperparameter terhadap nilai objektif yang dievaluasi pada set validasi.  Melalui evaluasi konfigurasi hiperparameter yang menjanjikan dan dilakukan secara iteratif (berulang)  berdasarkan model terkini, diikuti pembaruan model, optimasi Bayesian berupaya mengumpulkan observasi yang mengungkap informasi sebanyak mungkin tentang fungsi tersebut, khususnya terkait lokasi nilai optimal. Keunikannya terletak pada kemampuan menyeimbangkan eksplorasi (mencoba hiperparameter yang hasilnya belum pasti) dan eksploitasi (fokus pada hiperparameter yang diprediksi mendekati optimal). Dalam praktiknya, optimasi Bayesian terbuktiBergstra, James; Bardenet, Remi; Bengio, Yoshua; Kegl, Balazs (2011), "Algorithms for hyper-parameter optimization" (PDF), Advances in Neural Information Processing Systems mencapai hasil yang lebih baik dengan evaluasi yang lebih sedikit dibandingkan pencarian kisi dan pencarian acak, berkat kemampuannya "menalar" kualitas eksperimen sebelum dijalankan.

 Optimasi berbasis gradien 
Dalam ranah algoritma pembelajaran tertentu, optimasi berbasis gradien memungkinkan penghitungan gradien terhadap hiperparameter. Dengan memanfaatkan gradien tersebut, optimasi hiperparameter dapat dilakukan melalui teknik penurunan gradien. Penerapan awal teknik ini berfokus pada jaringan saraf. Kini, metode ini telah diperluas dan diadaptasi untuk berbagai model lain, seperti support-vector machine dan regresi logistik.

Pendekatan alternatif lainnya untuk memperoleh gradien terhadap hiperparameter adalah diferensiasi langkah-langkah algoritma optimasi iteratif menggunakan diferensiasi otomatis.Shaban, A., Cheng, C. A., Hatch, N., & Boots, B. (2019, April). Truncated back-propagation for bilevel optimization. In The 22nd International Conference on Artificial Intelligence and Statistics (pp. 1723-1732). PMLR. Penelitian terkini dalam bidang ini memanfaatkan teorema fungsi implisit untuk menghitung hipergradien dan mengusulkan pendekatan hampiran yang stabil untuk matriks Hessian invers. Metode ini mampu menangani jutaan hiperparameter dengan kebutuhan memori yang konstan.Lorraine, J., Vicol, P., & Duvenaud, D. (2018). Optimizing Millions of Hyperparameters by Implicit Differentiation. arXiv preprint arXiv:1911.02590.

Dalam pendekatan yang berbeda,Lorraine, J., & Duvenaud, D. (2018). Stochastic hyperparameter optimization through hypernetworks. arXiv preprint arXiv:1802.09419. sebuah hypernetwork dilatih untuk memperkirakan fungsi respons terbaik. Salah satu kelebihan metode ini adalah dapat juga menangani hiperparameter diskrit. Jaringan self-tuning (penyetelan mandiri)MacKay, M., Vicol, P., Lorraine, J., Duvenaud, D., & Grosse, R. (2019). Self-tuning networks: Bilevel optimization of hyperparameters using structured best-response functions. arXiv preprint arXiv:1903.03088. menawarkan versi pendekatan ini yang efisien dalam penggunaan memori dengan memilih representasi hypernetwork yang ringkas. Baru-baru ini, Δ-STN Bae, J., & Grosse, R. B. (2020). Delta-stn: Efficient bilevel optimization for neural networks using structured response jacobians. Advances in Neural Information Processing Systems, 33, 21725-21737. berhasil menyempurnakan metode ini lebih lanjut melalui reparametrisasi hypernetwork secara minimal, sehingga berdampak pada peningkatan kecepatan pelatihan. Δ-STN juga menghasilkan perkiraan yang lebih baik dari respons terbaik Jacobian dengan linierisasi jaringan terhadap bobot, sehingga menghilangkan efek nonlinier yang tidak perlu dari perubahan bobot yang besar.

Selain pendekatan hypernetwork, metode berbasis gradien juga dapat digunakan untuk mengoptimalkan hiperparameter diskrit melalui relaksasi parameter secara kontinu.Liu, H., Simonyan, K., & Yang, Y. (2018). Darts: Differentiable architecture search. arXiv preprint arXiv:1806.09055. Metode ini telah banyak digunakan untuk optimasi hiperparameter arsitektur dalam pencarian arsitektur saraf .

 Optimasi evolusioner 

Optimasi evolusioner merupakan metodologi optimasi global untuk fungsi noisy black-box. Dalam konteks optimasi hiperparameter, optimasi evolusioner memanfaatkan algoritma evolusioner untuk menjelajahi ruang hiperparameter untuk suatu algoritma tertentu.Bergstra, James; Bardenet, Remi; Bengio, Yoshua; Kegl, Balazs (2011), "Algorithms for hyper-parameter optimization" (PDF), Advances in Neural Information Processing Systems Proses optimasi hiperparameter evolusioner terinspirasi dari konsep evolusi biologis:

 Membentuk populasi awal dari solusi acak, yaitu menghasilkan tupel hiperparameter secara acak, biasanya lebih dari 100
 Evaluasi tupel hiperparameter dan peroleh fungsi kecocokannya (fitness function), misalnya, akurasi validasi silang 10 kali lipat dari algoritma pemelajaran mesin dengan hiperparameter tersebut
 Beri peringkat tupel hiperparameter berdasarkan hasil nilai fungsi kecocokannya. 
 Ganti tupel hiperparameter yang berkinerja terburuk dengan tupel hiperparameter baru yang dihasilkan melalui persilangan dan mutasi
 Ulangi langkah 2-4 hingga performa algoritma yang memuaskan tercapai atau performa algoritma tidak lagi meningkat

Optimasi evolusioner telah diterapkan dalam optimasi hiperparameter untuk algoritma pemelajaran mesin statistik,Bergstra, James; Bardenet, Remi; Bengio, Yoshua; Kegl, Balazs (2011), "Algorithms for hyper-parameter optimization" (PDF), Advances in Neural Information Processing Systems pemelajaran mesin otomatis, jaringan saraf umum, dan pencarian arsitektur jaringan saraf dalam, serta pelatihan bobot dalam jaringan syaraf tiruan dalam.

 Berbasis populasi 
Pelatihan Berbasis Populasi (PBT) mempelajari nilai hiperparameter dan bobot jaringan. Banyak proses pemelajaran beroperasi secara independen, menggunakan hiperparameter yang berbeda. Seperti pada metode evolusi, model dengan kinerja buruk secara iteratif diganti dengan model yang mengadopsi nilai hiperparameter dan bobot yang dimodifikasi berdasarkan performa yang lebih baik. Pemanasan awal model pengganti ini merupakan pembeda utama antara PBT dan metode evolusi lainnya. Oleh karena itu, PBT memungkinkan hiperparameter untuk berevolusi dan menghilangkan kebutuhan penyetelan manual. Proses ini tidak membuat asumsi mengenai arsitektur model, fungsi kerugian, atau prosedur pelatihan.

PBT dan variannya merupakan metode adaptif yang dinamis dalam memperbaharui nilai hyperparameter selama proses pelatihan model. Ini berbeda dengan metode non-adaptif yang menerapkan penetapan nilai hyperparameter secara statis dan suboptimal sepanjang pelatihan.

 Berbasis pemberhentian awal 
jmpl| Pengurangan berturut-turut untuk delapan konfigurasi hiperparameter arbitrer. Pendekatan ini dimulai dengan delapan model dengan konfigurasi yang berbeda dan secara berurutan menerapkan pengurangan berturut-turut hingga hanya satu model yang tersisa.
Suatu kelas algoritma optimasi hiperparameter berbasis penghentian awal dirancang khusus untuk ruang pencarian yang besar dengan hiperparameter kontinyu dan diskrit, terutama ketika biaya komputasi untuk mengevaluasi kinerja kumpulan hiperparameter tinggi. Irace menerapkan algoritma "iterated racing" yang memfokuskan pencarian pada konfigurasi paling menjanjikan, menggunakan uji statistik untuk membuang konfigurasi yang berkinerja buruk. Algoritma optimasi hiperparameter berbasis penghentian awal lainnya adalah "successive halving" (SHA), yang dimulai sebagai pencarian acak tetapi secara berkala memangkas model berkinerja rendah, sehingga memfokuskan sumber daya komputasi pada model yang lebih menjanjikan. "Asynchronous successive halving" (ASHA)lebih lanjut meningkatkan profil pemanfaatan sumber daya SHA dengan menghilangkan kebutuhan untuk mengevaluasi dan memangkas model berkinerja rendah secara sinkron. Hyperband adalah algoritma berbasis penghentian awal tingkat tinggi yang menerapkan SHA atau ASHA beberapa kali dengan berbagai tingkat keagresifan pemangkasan, agar lebih dapat diterapkan secara luas dan dengan lebih sedikit input yang diperlukan.

 Lainnya 
Pendekatan RBF dan spektral juga telah dikembangkan.

 Masalah dengan optimasi hiperparameter 
Setelah optimasi hiperparameter selesai, rangkaian hiperparameter tersebut biasanya dipasangkan dengan set data pelatihan dan dipilih berdasarkan kinerja generalisasi, atau skor, dari set validasi. Namun, prosedur ini rentan mengarah pada kelebihan penyesuaian (overfitting) hiperparameter terhadap set validasi, sehingga mengaburkan performa generalisasi sebenarnya. Akibatnya, skor kinerja generalisasi pada set validasi (yang dapat berupa beberapa set dalam validasi silang) tidak dapat diandalkan untuk secara bersamaan memperkirakan kinerja generalisasi model akhir. Untuk mencapai estimasi yang lebih akurat, evaluasi kinerja generalisasi harus dilakukan pada set yang independen (tidak memiliki irisan) dari set (atau set) yang digunakan untuk optimasi hiperparameter. Jika tidak, kinerja yang dilaporkan dapat terlalu optimis (terlalu tinggi). Penilaian set independen ini dapat dilakukan dengan menggunakan set pengujian kedua yang terpisah, atau melalui prosedur validasi silang bertingkat (nested cross-validation). Pendekatan validasi silang bertingkat memungkinkan estimasi kinerja generalisasi model yang lebih tak bias, dengan mempertimbangkan bias yang muncul akibat optimasi hiperparameter.

 Lihat juga 

 Pembelajaran mesin otomatis
 Pencarian arsitektur saraf
 Optimasi meta
 Pemilihan model
 Penyetelan sendiri
 XGBoost

 Referensi 

Kategori:Optimisasi matematis
Kategori:Pemelajaran mesin