Bayesyen Optimizasyon: Vekil Model ve Edinme Fonksiyonu Neden Izgara Aramasını (Grid Search) Geride Bırakır?
Kaynak: dev.to

İçindekiler 2 başlık
Bazı fonksiyonları değerlendirmek son derece maliyetlidir ve bu durum optimizasyon süreçlerindeki her şeyi değiştirir. Büyük bir yapay zeka modelinin hiperparametrelerini ayarlamak (tuning) konfigürasyon başına saatler sürebilir. Bir laboratuvar deneyini yürütmek günler alabilir; yeni bir alaşımı, ilaç adayını veya gerçek donanım üzerindeki bir kontrolcüyü test etmek ciddi zaman ve para gerektirir.
Böyle bir dünyada asıl soru "Sonsuz deneme hakkımız olsaydı en iyi optimizasyon algoritması hangisi olurdu?" değildir. Asıl soru şudur: "Elimdeki birkaç sonucu göz önünde bulundurarak bir sonraki adımda neyi denemeliyim?"
Bayesyen optimizasyon, bu ikinci sorunun cevabıdır. Bilinmeyen fonksiyonun olasılıksal bir modelini oluşturur, belirsizlik hakkında akıl yürütmek için bu modeli kullanır ve umut vaat eden noktalar ile henüz bilinmeyen bölgeler arasında denge kurarak bir sonraki deneme noktasını seçer. Sihirli bir değnek değildir ve her zaman doğru araç olmayabilir. Ancak maliyetli, gürültülü ve düşük-orta boyutlu problemlerde, ızgara araması (grid search) veya rastgele aramaya (random search) kıyasla örneklem açısından çok daha verimlidir.
Problem: Maliyetli Bir Kara Kutu (Black Box)#
Bir $\mathcal{X}$ arama uzayı üzerinde bilinmeyen bir $f: \mathcal{X} \to \mathbb{R}$ fonksiyonunu maksimize etmek istediğimizi varsayalım. Fonksiyonu bir $x$ noktasında değerlendirebiliriz ancak her değerlendirme maliyetlidir, elimizde gradyan bilgisi yoktur ve gözlemlerimiz gürültülü olabilir:
$$y = f(x) + \epsilon, \quad \epsilon \sim \mathcal{N}(0, \sigma_n^2)$$
Elimizde 100.000 değil; 20, 50 veya 100 değerlendirmelik küçük bir bütçe vardır.
- Izgara araması (Grid search) bu bütçeyi iki şekilde israf eder: İlk olarak, erken sonuçların kötü olduğunu gösterdiği bölgelerde deneme yapmaya devam eder. İkinci olarak, boyut sayısı arttıkça çok kötü ölçeklenir; boyut başına 10 değer içeren bir ızgara, iki boyutta 100 noktaya ihtiyaç duyarken dört boyutta 10.000 noktaya ihtiyaç duyar.
- Rastgele arama (Random search), önemsiz boyutlarda aynı katı şekilde çaba harcamadığı için ızgara aramasından daha iyidir; ancak yine de bir değerlendirmeden diğerine hiçbir şey öğrenmez. Hafızası ve belirsizlik kavramı yoktur.
- Bayesyen optimizasyon ise her ikisini de ekler: Öğrendiklerinin bir modelini tutar ve bir sonraki adımda neyi deneyeceğine dair ilkeli bir kural uygular.
Pratik Çıkarım: Yazılım ve MLOps süreçlerinde, özellikle büyük dil modellerini (LLM) veya derin öğrenme ağlarını eğitirken Weights & Biases gibi araçlarla hiperparametre taraması (sweep) yaparken Grid Search yerine Bayesyen yöntemleri seçmek, bulut GPU maliyetlerini ve eğitim süresini dramatik biçimde düşürür.
Adım 1: Vekil Model (The Surrogate Model)#
Vekil model, değerlendirmesi maliyetli olan asıl fonksiyonun ucuz ve olasılıksal bir temsilcisidir. Klasik tercih Gauss Süreci (Gaussian Process - GP) kullanmaktır. Bir GP, doğrudan fonksiyonlar üzerine bir önsel (prior) dağılım yerleştirir:
$$f \sim \mathcal{GP}(m(x), k(x, x'))$$
Burada $m(x)$ genellikle veriler merkezileştirildikten sonra sıfır kabul edilen ortalama fonksiyonudur ve $k(x, x')$ iki noktadaki fonksiyon değerlerinin birbirine ne kadar benzemesi gerektiğini belirten çekirdek (kernel) fonksiyonudur. Yaygın bir tercih, karesel-üstel (squared-exponential) çekirdektir:
$$k(x, x') = \sigma_f^2 \exp\left(-\frac{|x - x'|^2}{2\ell^2}\right)$$
- $\sigma_f^2$: Değişimin genel ölçeğini kontrol eder.
- $\ell$ (uzunluk ölçeği): Fonksiyonun ne kadar hızlı değişebileceğini kontrol eder. $\ell$ değerine göre birbirine yakın olan noktalar yüksek korelasyonlu değerlere sahipken, uzak noktalar neredeyse bağımsızdır.
$\mathcal{D} = {(x_i, y_i)}_{i=1}^{n}$ verilerini gözlemledikten sonra, yeni bir $x$ noktasındaki GP sonsal (posterior) dağılımı yine belirli bir ortalama ve varyansa sahip bir Gauss dağılımı olur. Mühendislik açısından bu yapı, sadece beklenen performansı tahmin etmekle kalmaz, aynı zamanda modelin hangi parametre aralıklarında "emin olmadığını" matematiksel olarak ölçmemizi sağlar.
Kaynak ve atıf
Bu yazı, dev.to üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- dev.to/umeshtharukaofficial/bayesian-optimization-why-a-surrogate-model-plus-an-acquisition-function-beats-grid-search-3nof