8

Perluasan Batas Objek Evolusi: dari Parameter ke Program

AI999第2课:演化计算的源流与多路线交汇
00:00

Objek evolusimerujuk pada bagian dari sistem evolusi yang benar-benar dikodekan, dimutasi, dievaluasi, dan diseleksi. Algoritma evolusi klasik mengasumsikan objek ini hanya berupa sekumpulan parameter numerik; namun pada fondasi modern yang dibentuk oleh GPU dan model besar, batas ini sedang didorong keluar: dari parameter numerik, ke hyperparameter dan struktur model, lalu ke mekanisme algoritma dan operator, hingga akhirnya ke program dan status rekayasa perangkat lunak yang terus ada.

Kunci untuk memahami tangga ini adalah dengan menangkap tiga hal sekaligus: objekbagaimana direpresentasikan, dibatasi olehbatasan apa, dan dengansinyal apa dievaluasi. Setiap kali objek naik satu tingkat, ketiga hal ini akan berubah secara bersamaan.

  1. Lapisan parameter numerik: objeknya adalah vektor riil kontinu θ \in \mathbb{R}^d, misalnya laju pembelajaran, bobot, atau faktor mutasi pada evolusi diferensial. Batasannya terutama berupa rentang nilai, dan evaluasinya biasanya berupa satu tujuan skalar f(θ).
  2. Lapisan hyperparameter dan struktur model: objeknya mengandung pilihan diskret, seperti jumlah lapisan, lebar, cara koneksi, dan strategi augmentasi data. Ruang pencarian menjadi bertipe campuran dan meledak secara kombinatorial dengan cepat, sehingga evaluasi harus memberikan perhatian ekstra pada kemampuan generalisasi dan overfitting.
  3. Lapisan mekanisme algoritma dan operator: objeknya sendiri adalah mekanisme yang akan dijalankan, misalnya strategi mutasi pada evolusi diferensial, cara pengombinasian koefisien inersia pada particle swarm, atau bentuk konkret dari fungsi kerugian. Kandidat harus memenuhi batasan sintaksis dan semantik, dan evaluasi bergeser dari "siapa yang skornya lebih tinggi" menjadi ketangguhan, stabilitas, serta pertukaran multi-tujuan.
  4. Lapisan program dan status rekayasa: objeknya menjadi skrip pelatihan, konfigurasi pipeline, dependensi, dan status proyek. Kandidat hanya dianggap valid jika lolos kompilasi, pengujian, dan verifikasi, serta evaluasinya meningkat menjadi umpan balik tingkat sistem: seberapa besar peningkatan akurasi, apakah biaya sumber daya dapat diterima, dan apakah hasilnya dapat direproduksi.
Tangga Empat Tingkat Perluasan Objek EvolusiBagaimana kandidat direpresentasikanDibatasi oleh apaDievaluasi dengan sinyal apaKemampuan representasi objek evolusi dan kompleksitas evaluasi1Parameter numerikContoh: laju pembelajaran dan bobot2Hyperparameter danstruktur modelContoh: jumlah lapisan dan lebar3Mekanisme algoritmadan operatorContoh: strategi mutasi,bentuk fungsi kerugian4Program danstatus rekayasaContoh: skrip pelatihan,konfigurasi pipeline,catatan pengujian dan versiSemakin objek mendekati program, semakin besar ruang representasinya, dan biaya batasan serta evaluasi juga meningkat bersamaan

Mengapa batasnya meluas ke luar

Dua kekuatan mendorongnya bersama-sama. Pertama, skala daya komputasi membuka kemungkinan eksplorasi paralel: perulangan serial yang sebelumnya ditulis untuk satu kandidat kini digantikan oleh tensorisasi dan paralelisasi batch, sehingga seluruh populasi dapat dihasilkan dan dievaluasi sekaligus. Kedua, model besar mampu memahami bahasa alami, kode, dan konteks domain, sehingga sistem dapat menyusun kandidat dengan struktur kompleks—cara pengodean dan mutasi yang dahulu harus dirancang secara manual kini dapat dihasilkan dengan bantuan model.

Ketika "metode untuk menghasilkan kandidat" itu sendiri juga dapat diekspresikan dan dievaluasi, sebuah pertanyaan alami pun muncul: jika solusi kandidat dapat dievolusikan, apakah metode yang menghasilkan solusi kandidat juga dapat menjadi objek evolusi? Inilah anak tangga yang membawa kita dari "mengoptimalkan solusi" menuju "mengoptimalkan algoritma itu sendiri".

Sinyal evaluasi harus meningkat seiring objeknya

Pada lapisan parameter, satu tujuan skalar sudah cukup untuk menggerakkan pencarian, misalnya \min f(θ). Namun pada lapisan program, tidak ada satu skalar pun yang dapat merangkum "apakah kode ini layak dipertahankan": evaluasi berubah menjadi pertukaran multi-tujuan dengan batasan, yang perlu mempertimbangkan secara bersamaan akurasi f1, biaya evaluasi f2 , dan stabilitas f3, serta pada batasan C(x) ≤ 0 mencari sekumpulan kandidat yang saling tidak mendominasi. Daftar pemeriksaan yang umum digunakan dalam praktik rekayasa meliputi: apakah kompilasi berhasil, apakah pengujian mencakup, apakah tolok ukur meningkat, apakah biaya sumber daya dapat diterima, dan apakah hasilnya dapat direproduksi.

Kesalahpahaman umum: perluasan bukan berarti menghasilkan secara sembarangan

Mendorong batas objek ke luar tidak berarti kode dapat dihasilkan secara sembarangan. Semakin bebas objeknya, batasan tidak menghilang, melainkan berpindah dari "rentang nilai" ke "sintaksis, antarmuka, dan kemampuan eksekusi"; tanggung jawab verifikasi juga tidak berkurang, melainkan bertambah berat. Tim yang membuka evolusi tingkat skrip biasanya akan lebih dulu menghadapi dua masalah nyata: ruang pencarian yang meledak pesat, serta banyaknya kandidat "yang bisa berjalan tetapi tanpa manfaat" yang menghabiskan anggaran evaluasi.

Oleh karena itu, pendekatan yang lebih aman adalah membuka secara berlapis: perluas cakupan yang boleh diubah setingkat demi setingkat, gunakan penyaringan berbiaya rendah atau model proksi untuk menyingkirkan kandidat yang jelas tidak valid, lalu sisakan evaluasi berfidelitas tinggi untuk segelintir solusi yang menjanjikan, dan secara eksplisit menyeimbangkan akurasi dengan biaya.

Satu kalimat untuk mengingat halaman ini
Batas objek evolusi menentukan seberapa jauh pencarian dapat melangkah; semakin objek mendekati program, semakin besar ruang representasinya, dan biaya batasan serta evaluasi juga meningkat bersamaan—karena itu setiap lapisan memerlukan cara representasi baru, pemeriksaan batasan baru, dan sinyal evaluasi baru.