Penelusuran acak acak

Unit ini berfokus pada penelusuran kuasi-acak.

Mengapa menggunakan penelusuran kuasi-random?

Penelusuran kuasi-acak (berdasarkan urutan perbedaan rendah) adalah preferensi kami dibandingkan alat pengoptimalan {i>blackbox<i} yang lebih mewah ketika digunakan sebagai bagian dari proses tuning yang dimaksudkan untuk memaksimalkan insight tentang masalah tuning kita sebut sebagai “fase eksplorasi”). Pengoptimalan Bayes dan yang serupa tetapi lebih sesuai untuk tahap eksploitasi. Penelusuran kuasi-acak berdasarkan urutan perbedaan rendah yang digeser secara acak dapat dianggap sebagai "{i>jittered, shuffled grid search<i}", karena seragam, tetapi secara acak, menjelajahi ruang pencarian tertentu dan menyebarkan titik pencarian lebih dari sekadar penelusuran acak.

Keuntungan penelusuran kuasi-acak dibandingkan kotak hitam yang lebih canggih alat pengoptimalan (misalnya, pengoptimalan Bayesian, algoritma evolusi) termasuk:

  • Pengambilan sampel ruang penelusuran secara non-adaptif memungkinkan perubahan tujuan tuning dalam analisis post-hoc tanpa menjalankan kembali eksperimen. Misalnya, kami biasanya ingin menemukan percobaan terbaik dalam hal validasi error yang dicapai dalam pelatihan. Namun, model non-adaptif sifat pencarian kuasi-acak memungkinkan menemukan percobaan terbaik berdasarkan error validasi akhir, error pelatihan, atau beberapa alternatif metrik evaluasi tanpa menjalankan kembali eksperimen apa pun.
  • Penelusuran kuasi-acak berperilaku konsisten dan dapat direproduksi secara statistik sebelumnya. Seharusnya mungkin untuk mereproduksi studi dari enam bulan lalu, jika implementasi algoritma pencarian berubah, selama itu mempertahankan properti keseragaman yang sama. Jika menggunakan model Bayes canggih pengoptimalan perangkat lunak, implementasinya mungkin berubah dalam sebuah antar versi, sehingga lebih sulit untuk mereproduksi penelusuran lama. Anda tidak selalu dapat melakukan roll back ke implementasi lama (mis. jika alat pengoptimalan akan dijalankan sebagai layanan).
  • Eksplorasi yang seragam terhadap ruang penelusuran memudahkan proses berpikir tentang hasil dan apa yang mungkin mereka sarankan tentang ruang pencarian. Misalnya, jika titik terbaik dalam traversal penelusuran kuasi-random berada di batas ruang penelusuran, ini bagus (tapi tidak terjamin) menunjukkan bahwa batas ruang pencarian harus diubah. Namun, algoritma pengoptimalan blackbox adaptif mungkin mengabaikan bagian tengah ruang pencarian karena beberapa hal percobaan lebih awal bahkan jika itu berisi poin yang sama baiknya, karena adalah ketidakseragaman yang tepat di mana algoritma pengoptimalan yang baik digunakan untuk mempercepat pencarian.
  • Menjalankan jumlah uji coba yang berbeda secara paralel atau berurutan akan tidak menghasilkan hasil yang berbeda secara statistik saat menggunakan kuasi-acak penelusuran (atau algoritma penelusuran non-adaptif lainnya), tidak seperti algoritme.
  • Algoritma penelusuran yang lebih canggih mungkin tidak selalu menangani benar, terutama jika model tidak dirancang dengan jaringan neural penyesuaian hyperparameter.
  • Penelusuran kuasi-acak sederhana dan bekerja sangat baik ketika banyak tuning uji coba yang sedang berjalan secara paralel. Secara anekdot1, sangat sulit bagi algoritma adaptif untuk mengalahkan penelusuran kuasi-random yang memiliki anggaran 2X lipat, terutama ketika banyak percobaan harus dijalankan secara paralel (dan dengan demikian ada sangat sedikit peluang untuk penggunaan hasil uji coba sebelumnya saat meluncurkan uji coba baru). Tanpa keahlian dalam pengoptimalan Bayesian dan kotak hitam canggih lainnya pengoptimalan, Anda mungkin tidak mendapat manfaat yang ada, pada prinsipnya, mampu menyediakan. Sulit untuk membandingkan tingkat lanjut algoritma pengoptimalan blackbox dalam penyesuaian deep learning yang realistis kondisi tertentu. Mereka adalah area yang sangat aktif dalam penelitian saat ini, dan algoritma yang lebih canggih memiliki kesulitan tersendiri untuk pengguna yang tidak berpengalaman. Para ahli dalam metode ini dapat memperoleh hasil yang baik, tetapi dalam kondisi paralelisme tinggi, ruang pencarian dan anggaran cenderung jauh lebih penting.

Meskipun demikian, jika sumber daya komputasi Anda hanya memungkinkan sejumlah kecil uji coba berjalan secara paralel dan Anda dapat menjalankan banyak uji coba secara berurutan, Pengoptimalan Bayes menjadi jauh lebih menarik meskipun hasil tuning yang lebih sulit ditafsirkan.

Vizier Open-Source telah implementasi kuasi-random penelusuran. Tetapkan algorithm="QUASI_RANDOM_SEARCH" dalam penggunaan Vizier ini contoh. Implementasi alternatif ada dalam sweep hyperparameter ini contoh. Kedua implementasi ini menghasilkan urutan Halton untuk penelusuran tertentu spasi (ditujukan untuk menerapkan urutan Halton yang digeser dan diacak sebagai direkomendasikan di Hyper-Parameter Penting: Tidak Acak, Tidak Menangis.

Jika algoritma penelusuran kuasi-acak yang didasarkan pada urutan perbedaan rendah tidak pencarian seragam acak semu dapat diganti, meskipun hal ini cenderung sedikit kurang efisien. Dalam 1-2 dimensi, penelusuran petak juga dapat diterima, meskipun tidak dalam dimensi yang lebih tinggi. (Lihat Bergstra & Bengio, 2012).

Berapa banyak uji coba yang diperlukan untuk mendapatkan hasil yang baik dengan penelusuran kuasi-acak?

Tidak ada cara untuk menentukan berapa banyak uji coba yang diperlukan untuk mendapatkan hasil dengan pencarian kuasi-random secara umum, tetapi Anda dapat melihat contoh yang spesifik. Seperti yang ditunjukkan oleh Gambar 3, jumlah percobaan dalam suatu penelitian dapat berdampak besar pada hasil:

Box plot untuk tingkat error validasi (sumbu y) vs. anggaran penyesuaian (sumbu x),
          di mana anggaran penyesuaian adalah jumlah uji coba. Rata-rata validasi
          tingkat error umumnya turun karena anggaran penyesuaian meningkat.

Gambar 3: ResNet-50 yang disetel di ImageNet dengan 100 uji coba. Dengan menggunakan bootstrap, jumlah anggaran penyesuaian yang berbeda disimulasikan. Box plot performa terbaik untuk setiap anggaran uji coba diplot.

 

Perhatikan hal-hal berikut tentang Gambar 3:

  • Rentang interkuartil ketika 6 uji coba diambil sampelnya jauh lebih besar bila dibandingkan dengan 20 percobaan sampel.
  • Bahkan dengan 20 uji coba, perbedaan antara sangat beruntung dan tidak beruntung studi kemungkinan lebih besar daripada variasi umum antar-pelatihan kembali model ini pada bibit acak yang berbeda, dengan hyperparameter yang tetap, yang untuk beban kerja ini mungkin sekitar +/- 0,1% pada tingkat error validasi ~23%.

  1. Ben Recht dan Kevin Jamieson menunjukkan seberapa kuat Penelusuran acak anggaran 2X lipat adalah sebagai dasar ( Kertas hyperband membuat argumen yang serupa), tetapi tentu saja memungkinkan untuk menemukan ruang dan masalah di mana pengoptimalan Bayesian yang canggih menghancurkan penelusuran acak yang memiliki anggaran 2X lipat. Namun, dalam mengalahkan penelusuran acak dengan anggaran 2X lipat menjadi jauh lebih sulit dalam rezim paralelisme tinggi sejak pengoptimalan Bayesian tidak memiliki peluang untuk mengamati hasil percobaan sebelumnya.