Keuntungan dari Particle Swarm Optimization daripada Bayesian Optimization untuk penyetelan hyperparameter?

18

Ada penelitian kontemporer substansial tentang Bayesian Optimization (1) untuk menyetel hiperparameter ML. Motivasi mengemudi di sini adalah bahwa jumlah minimal titik data diperlukan untuk membuat pilihan berdasarkan informasi tentang poin apa yang layak untuk dicoba (panggilan fungsi obyektif itu mahal, sehingga membuat lebih sedikit lebih baik) karena melatih model intensif waktu - beberapa sederhana Masalah besar-SVM yang telah saya kerjakan membutuhkan waktu antara menit dan jam untuk diselesaikan.

Di sisi lain, Optunity adalah implementasi kawanan partikel untuk mengatasi tugas yang sama. Saya tidak terlalu akrab dengan PSO, tetapi sepertinya itu harus kurang efisien dalam arti membutuhkan lebih banyak poin uji coba, dan karenanya evaluasi fungsi tujuan, untuk menilai permukaan hyperparameter.

Apakah saya melewatkan detail kunci yang membuat PSO lebih disukai daripada BO dalam konteks pembelajaran mesin? Atau apakah pilihan antara keduanya selalu inheren kontekstual untuk tugas tuning hyperparameter?


(1) Shahriari et al, "Membawa Manusia dari Lingkaran: Tinjauan Bayesian Optimizaiton."

Sycorax berkata Reinstate Monica
sumber
tidak perlu gradien. bekerja dengan diskontinuitas. cukup efisien. menangani beberapa dimensi. menangani kebisingan dengan baik. Memiliki penaksir yang kokoh.
EngrStudent
@EngrStudent Anda dapat mengatakan semua hal tentang BO, kecuali BO tampaknya lebih efisien karena memerlukan sejumlah kecil evaluasi fungsi, setidaknya dalam perhitungan saya. Saya tidak bertanya tentang PSO secara umum, saya bertanya tentang manfaatnya relatif terhadap BO.
Sycorax berkata Reinstate Monica
1
Tidak cukup berpendidikan tentang topik ini untuk menjadikan ini jawaban yang pasti, tetapi saya akan berpikir Bayesian Optimization harus mengalami nasib yang sama dengan pengoptimal yang paling efisien dengan masalah multi-modal (lihat: 95% dari masalah pembelajaran mesin): itu nol dalam pada minimum lokal terdekat tanpa "mensurvei" ruang global. Saya pikir Particle Swarm akan lebih beruntung menemukan minimum non-lokal.
Cliff AB
2
Permintaan maaf atas kedatangan saya yang terlambat ke pesta, tidak yakin bagaimana saya berhasil mengabaikan pertanyaan tentang Optunity begitu lama! :-)
Marc Claesen
1
@MarcClaesen saya harus mengakui, saya berharap Anda akan menemukan waktu untuk membalas di beberapa titik. Terlambat atau tidak, saya pikir kita semua senang bahwa Anda telah tiba.
Sycorax berkata Reinstate Monica

Jawaban:

25

Sebagai pengembang utama Optunity saya akan menambahkan dua sen saya.

Kami telah melakukan tolok ukur yang luas membandingkan Optunity dengan pemecah Bayesian paling populer (misalnya, hyperopt, SMAC, bayesopt) pada masalah dunia nyata, dan hasilnya menunjukkan bahwa PSO sebenarnya tidak kurang efisien dalam banyak kasus praktis. Dalam benchmark kami, yang terdiri dari menyetel klasifikasi SVM pada berbagai dataset, Optunity sebenarnya lebih efisien daripada hyperopt dan SMAC, tetapi sedikit kurang efisien daripada BayesOpt. Saya ingin membagikan hasilnya di sini, tetapi saya akan menunggu sampai Optunity akhirnya diterbitkan di JMLR (sedang ditinjau lebih dari setahun sekarang, jadi jangan menahan nafas ...).

Seperti yang Anda tunjukkan, peningkatan efisiensi adalah titik penjualan yang umum digunakan untuk optimalisasi Bayesian, tetapi dalam praktiknya itu hanya menampung air jika asumsi dari model pengganti yang mendasarinya berlaku, yang jauh dari sepele. Dalam percobaan kami, pemecah PSO yang sangat sederhana dari Optunity sering bersaing dengan pendekatan Bayesian yang kompleks dalam hal jumlah evaluasi fungsi. Pemecah Bayesian bekerja dengan sangat baik ketika disediakan dengan prior yang baik, tetapi dengan yang tidak informatif sebelumnya hampir tidak ada manfaat struktural atas metode metaheuristik seperti PSO dalam hal efisiensi.

Nilai jual besar untuk PSO adalah kenyataan bahwa hal itu paralel paralel. Optimalisasi Bayesian seringkali sulit diparalelkan, karena sifatnya yang berurutan (implementasi hyperopt menjadi satu-satunya pengecualian nyata). Diberi peluang untuk mendistribusikan, yang menjadi norma, Optunity dengan cepat memimpin dalam jam dinding untuk mendapatkan solusi yang baik.

Perbedaan utama lainnya antara Optunity dan kebanyakan perpustakaan optimisasi hyperparameter khusus lainnya adalah audiens target: Optunity memiliki antarmuka paling sederhana dan ditargetkan untuk para ahli pembelajaran non-mesin, sedangkan sebagian besar perpustakaan lainnya memerlukan beberapa pemahaman tentang optimasi Bayesian untuk digunakan secara efektif (yaitu, mereka adalah ditargetkan pada spesialis).

Alasan kami membuat perpustakaan adalah bahwa meskipun ada fakta metode optimisasi hyperparameter berdedikasi, mereka kurang diadopsi dalam praktik. Kebanyakan orang masih tidak menyetel sama sekali, melakukannya secara manual, atau melalui pendekatan naif seperti pencarian grid atau acak. Menurut pendapat kami, alasan utama untuk ini adalah kenyataan bahwa perpustakaan yang ada sebelum mengembangkan Optunity terlalu sulit untuk digunakan dalam hal instalasi, dokumentasi, API dan seringkali terbatas pada satu lingkungan saja.

Marc Claesen
sumber
4
Memberi tahu jawaban yang kami bisa! Saya ingin tahu: Anda mengatakan pemecah PSO kompetitif dengan pendekatan Bayesian Optimization. Apakah itu mengatakan bahwa menjalankan PSO secara paralel ditemukan lebih cepat daripada Bayseian Optimization berjalan secara berurutan ? Tidak mencoba untuk menjadi jahat, tetapi ini adalah perbedaan penting bagi saya untuk dipahami.
Cliff AB
2
Tidak, keduanya berjalan berurutan. Dalam percobaan kami (menyetel SVM), efisiensi optimasi PSO dan Bayes bersifat kompetitif dalam hal jumlah evaluasi fungsi. Kami tidak membandingkan efisiensi dalam hal waktu jam dinding dalam pengaturan terdistribusi karena itu akan menjadi pukulan yang murah karena banyak metode optimasi Bayes tidak bisa melakukan itu.
Marc Claesen
Itu menarik. Ada pemikiran mengapa? Permukaan hyper-parameter tidak stabil?
Cliff AB
3
Saya pikir ada beberapa alasan. Untuk satu, permukaan hyperparameter memiliki banyak optima lokal (misalnya, karena efek sampel yang terbatas, lipatan validasi silang, keacakan yang melekat dalam beberapa pendekatan pembelajaran). Kedua, optimasi Bayesian bergantung pada pembangunan fungsi objektif pengganti yang akurat, yang bukan tugas yang mudah sampai fungsi objektif telah disampel banyak kali. Optimasi Bayesian membutuhkan waktu sebelum konvergensi meningkat (detail yang sering dihilangkan). Pada saat itu metode metaheuristik seperti PSO telah mencapai tahap pencarian lokal mereka juga. PSO sangat bagus dalam pencarian lokal.
Marc Claesen
4
+1 untuk jawaban yang sangat bagus. Saya telah membangun perangkat lunak BO saya sendiri, yang harus saya akui sebagian besar merupakan proyek batil pada saat ini, jadi saya mengerti bagaimana prosedur BO bekerja secara terperinci; Saya senang bahwa saya bisa mulai menggaruk permukaan apa lagi yang terjadi di dunia tuning hyperparameter. Komentar Anda tentang pendekatan naif benar-benar mengejutkan saya, karena salah satu program tuning naif saya yang lebih lama telah menyetel model selama seminggu sekarang tanpa akhir yang terlihat ... Terima kasih atas kontribusi Anda, dan saya yakin saya akan memiliki lebih banyak pertanyaan setelah saya mencerna ini.
Sycorax berkata Reinstate Monica
0

Jawabannya tergantung pada masalah dan tidak dapat diberikan tanpa konteks tambahan. Biasanya, jawabannya adalah sebagai berikut. Bayesian Optimization lebih cocok untuk masalah dimensi rendah dengan anggaran komputasi hingga 10x-100x jumlah variabel. PSO bisa sangat efisien untuk anggaran yang jauh lebih besar tetapi tidak canggih di ceruknya.

IndieSolver
sumber
Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
gung - Reinstate Monica