Bagaimana Hyperparameter Tuning Bekerja - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bagaimana Hyperparameter Tuning Bekerja

Ketika Anda membangun sistem pembelajaran mesin yang kompleks seperti jaringan saraf pembelajaran mendalam, menjelajahi semua kombinasi yang mungkin tidak praktis. Penyetelan hyperparameter dapat mempercepat produktivitas Anda dengan mencoba banyak variasi model. Ini mencari model terbaik secara otomatis dengan berfokus pada kombinasi nilai hyperparameter yang paling menjanjikan dalam rentang yang Anda tentukan. Untuk mendapatkan hasil yang baik, Anda harus memilih rentang yang tepat untuk dijelajahi.

Gunakan panduan referensi API untuk memahami cara berinteraksi dengan penyetelan hyperparameter. Contoh di halaman ini dapat ditemukan di HyperParameterTuningJobConfig dan Config APIHyperbandStrategy.

catatan

Karena algoritme itu sendiri adalah stokastik, ada kemungkinan bahwa model tuning hyperparameter akan gagal untuk bertemu pada jawaban terbaik. Ini dapat terjadi bahkan jika kombinasi nilai terbaik ada dalam rentang yang Anda pilih.

Saat menggunakan pencarian kisi, penyetelan hyperparameter memilih kombinasi nilai dari rentang nilai kategoris yang Anda tentukan saat Anda membuat pekerjaan. Hanya parameter kategoris yang didukung saat menggunakan strategi pencarian kisi. Anda tidak perlu menentukanMaxNumberOfTrainingJobs. Jumlah pekerjaan pelatihan yang dibuat oleh pekerjaan penyetelan akan secara otomatis dihitung menjadi jumlah total kombinasi kategoris yang berbeda yang mungkin. Jika ditentukan, nilai MaxNumberOfTrainingJobs harus sama dengan jumlah total kombinasi kategoris yang berbeda mungkin.

Saat menggunakan pencarian acak, penyetelan hyperparameter memilih kombinasi nilai acak dari dalam rentang yang Anda tentukan untuk hiperparameter untuk setiap pekerjaan pelatihan yang diluncurkan. Karena pilihan nilai hyperparameter tidak bergantung pada hasil pekerjaan pelatihan sebelumnya, Anda dapat menjalankan jumlah maksimum pekerjaan pelatihan bersamaan tanpa mempengaruhi kinerja penyetelan.

Untuk contoh notebook yang menggunakan pencarian acak, lihat Pencarian acak dan penskalaan hyperparameter dengan notebook SageMaker XGBoost dan Automatic Model Tuning.

Optimasi Bayesian

Optimasi Bayesian memperlakukan penyetelan hyperparameter seperti masalah regresi. Mengingat serangkaian fitur input (hyperparameters), tuning hyperparameter mengoptimalkan model untuk metrik yang Anda pilih. Untuk mengatasi masalah regresi, penyetelan hyperparameter membuat tebakan tentang kombinasi hyperparameter mana yang cenderung mendapatkan hasil terbaik, dan menjalankan pekerjaan pelatihan untuk menguji nilai-nilai ini. Setelah menguji satu set nilai hyperparameter, tuning hyperparameter menggunakan regresi untuk memilih set nilai hyperparameter berikutnya untuk diuji.

Penyetelan hyperparameter menggunakan SageMaker implementasi Amazon dari optimasi Bayesian.

Saat memilih hiperparameter terbaik untuk pekerjaan pelatihan berikutnya, penyetelan hyperparameter mempertimbangkan semua yang diketahui tentang masalah ini sejauh ini. Terkadang ia memilih kombinasi nilai hiperparameter yang dekat dengan kombinasi yang menghasilkan pekerjaan pelatihan terbaik sebelumnya untuk meningkatkan kinerja secara bertahap. Hal ini memungkinkan tuning hyperparameter untuk mengeksploitasi hasil yang paling terkenal. Di lain waktu, ia memilih satu set nilai hyperparameter yang jauh dari yang telah dicoba. Hal ini memungkinkannya untuk mengeksplorasi kisaran nilai hyperparameter untuk mencoba menemukan area baru yang belum dipahami dengan baik. Explore/exploit trade-off adalah hal biasa dalam banyak masalah pembelajaran mesin.

Untuk informasi lebih lanjut tentang optimasi Bayesian, lihat berikut ini:

Hyperband

Hyperband adalah strategi tuning berbasis multi-fidelity yang secara dinamis merealokasi sumber daya. Hyperband menggunakan hasil menengah dan akhir dari pekerjaan pelatihan untuk mengalokasikan kembali zaman ke konfigurasi hyperparameter yang digunakan dengan baik dan secara otomatis menghentikan yang berkinerja buruk. Ini juga menskalakan dengan mulus untuk menggunakan banyak pekerjaan pelatihan paralel. Fitur-fitur ini dapat secara signifikan mempercepat penyetelan hyperparameter melalui pencarian acak dan strategi optimasi Bayesian.

Hyperband seharusnya hanya digunakan untuk menyetel algoritme berulang yang mempublikasikan hasil pada tingkat sumber daya yang berbeda. Misalnya, Hyperband dapat digunakan untuk menyetel jaringan saraf untuk klasifikasi gambar yang menerbitkan metrik akurasi setelah setiap zaman.

Untuk informasi lebih lanjut tentang Hyperband, lihat tautan berikut:

Hyperband dengan berhenti lebih awal

Pekerjaan pelatihan dapat dihentikan lebih awal ketika mereka tidak mungkin meningkatkan metrik objektif dari pekerjaan penyetelan hiperparameter. Ini dapat membantu mengurangi waktu komputasi dan menghindari overfitting model Anda. Hyperband menggunakan mekanisme internal canggih untuk menerapkan penghentian dini. Dengan demikian, parameter TrainingJobEarlyStoppingType dalam HyperParameterTuningJobConfig API harus disetel ke OFF saat menggunakan fitur penghentian awal internal Hyperband.

catatan

Penyetelan hyperparameter mungkin tidak meningkatkan model Anda. Ini adalah alat canggih untuk membangun solusi mesin. Dengan demikian, harus dianggap sebagai bagian dari proses pengembangan ilmiah.