64.000 İnsan Gözlemi: Helmlab Nasıl Eğitildi?
6 veri seti, STRESS metriği, Hessian-tabanlı optimizasyon ve Bootstrap CI — Helmlab'ın 64K insan gözlemiyle nasıl eğitildiği.
Bir renk uzayinin "insan algisina yakin" oldugunu iddia etmek kolaydir. Zor olan, bunu olculebilir bicimde kanitlamaktir. Helmlab'in 72 parametresi rastgele secilmemistir -- renk biliminin yarim yuzyilda biriktirdigi en kapsamli deneysel veriler uzerinde, sistematik bir optimizasyon sureciyle belirlenmistir.
Bu yazida, Helmlab'in egitim surecinin tamamini acikliyoruz: hangi veriler kullanildi, STRESS metrigi nasil hesaplanir, optimizasyon nasil yapildi, overfitting nasil onlendi ve sonuclarin istatistiksel guvenilirligi nasil dogrulandi. Bu, Helmlab blog serisinin son yazisi -- 16 yazinin finali.
6 Veri Seti: Renk Biliminin Deneysel Temeli
Helmlab'in egitiminde kullanilan veriler, onlarca yil boyunca farkli arastirma gruplari tarafindan toplanmis insan renk algilama deneylerinden gelmektedir. Ana kaynaklar:
1. COMBVD (3.813 renk cifti)
COMBVD (Combined Visual Data), 6 buyuk renk farki deneyinin birlestirilmis halidir. Her deney, insan deneklere iki renk gosterip "bu iki renk ne kadar farkli?" sorusunu soran kontrolllu laboratuvar calismalaridir. Toplam 3.813 renk cifti, STRESS hesaplamasinin birincil veri kaynagidir.
2. He Elipsleri (82 elips)
He ve arkadaslari tarafindan olculmus 82 renk fark elipsi. Bu elipsler, bir referans renginin cevresinde "fark edilebilir en kucuk degisikligin" (JND -- just noticeable difference) yonlere gore nasil degistigini gosterir. Elipsin uzun ekseni fark hassasiyetinin dusuk oldugu yonu, kisa ekseni yuksek oldugu yonu isaret eder.
3. MacAdam Elipsleri (128 elips)
David MacAdam'in 1942'de yayinladigi klasik deneyler. 128 referans renginin cevresinde olculmus fark esikleri. Bu veriler, CIE Lab'in tasariminda bile referans olarak kullanilmisti. Renk biliminin en eski ve en guvenilir deneysel verileri arasindadir.
4. Munsell (3.590 renk ornegi)
Munsell Renk Sistemi, 1905'ten bu yana algisal olarak esit aralikli renk ornekleri sunmaktadir. 3.590 ornekten olusan veri seti, renk uzayinin "duzgunluk kontrolu" icin kullanilir: Helmlab koordinatlarinda esit adimlarla ilerlemek, Munsell orneklerinde de esit adimlar uretmeli.
Toplam Kapsam
Bu veriler, farkli ulkelerde, farkli laboratuvar kosullarinda, farkli deney protokolleriyle toplanmistir. Bu cesitlilik, Helmlab'in belirli bir deneye degil, insan gorusunun genel yapisina uyum saglamasini garanti eder.
STRESS Metrigi: Nasil Hesaplanir?
STRESS (Standardized Residual Sum of Squares), renk farki tahminlerinin insan algilamasiyla ne kadar uyustugunu olcen standart metriktir. Formul:
STRESS = sqrt( sum((f(dV_i) - dE_i)^2) / sum(dE_i^2) ) * 100Burada:
- dV_i: i. renk cifti icin insan deneklerden gelen algisal fark degeri
- dE_i: ayni cift icin renk uzayindaki hesaplanan mesafe
- f(): en iyi dogrusal olcekleme (regresyon)
STRESS'in yorumu: 0 = mukemmel tahmin (her mesafe insan algisiyla birebir uyusur), 100 = tamamen iliskisiz. Pratikte:
- CIE Lab: ~30.3 (basit kup kok + Oklid mesafesi)
- CIEDE2000: 29.2 (5 duzeltme terimi)
- Oklab: ~27.5 (optimize edilmis 18 parametre)
- Helmlab: 23.2 (72 parametre, 13 asamali pipeline)
~20 civarindaki bir STRESS degeri, olcum gurultusu ve bireysel farkliliklar (inter-observer variability) nedeniyle teorik alt sinir olarak kabul edilir. Helmlab'in 23.2'si bu sinira oldukca yakindir.
Optimizasyon: Hessian-Tabanli Yeniden Baslatmalar
72 parametreyi optimize etmek, cok boyutlu bir yuzey uzerinde en dusuk noktayi bulmak demektir. Bu yuzey karmasiktir -- bircok yerel minimum vardir. Helmlab'in optimizasyon stratejisi su adimlari icerir:
1. Hessian-Tabanli Optimizasyon
Gradyan inisi (gradient descent) yalnizca egimleri kullanir. Hessian-tabanli yontemler (L-BFGS-B gibi) ise egrilik bilgisini de kullanarak cok daha hizli yakinsar. Helmlab, her optimizasyon calismasinda tam Hessian yaklasimi kullanan ikinci derece bir optimizer kullanir.
2. 8x5000 Yeniden Baslatma
Yerel minimumlara takilmamak icin, optimizasyon 8 farkli rastgele baslangic noktasindan baslatilir ve her biri 5.000 iterasyon calistirilir. Toplam 40.000 iterasyon arasindaki en iyi sonuc secilir. Bu yaklasim, tek bir calismanin yerel minimuma takildigi durumlari buyuk olcude ortadan kaldirir.
3. Faz Yapisi
Optimizasyon iki fazda calisti:
- Faz A: 8x5000 iterasyon, yalnizca COMBVD STRESS + achromatic penalty (graylarin a=b=0 olmasi)
- Faz B: Hue lambda taramasi (lambda_hue = 0, 5, 10, 20). Faz A'nin en iyi sonucundan baslanarak hue hizalamasi denendi. Sonuc: hue lambda'nin ek katki saglamadigi goruldu -- Faz A havzasi zaten tam yakinsamisti.
Analitik Form: Dogal Regularization
Makine ogrenimi alaninda overfitting (asiri uyum) en buyuk tehlikelerden biridir: model egitim verisini "ezberler" ama yeni verilerde basarisiz olur. Helmlab'in buna karsi iki savunma hatti vardir:
1. Analitik Formun Yapisi
Helmlab'in 13 asamali pipeline'i, keyfi bir fonksiyon degil, fiziksel olarak motive edilmis analitik bir formdur. Her asama (kup kok sikistirmasi, opponent kanallar, Helmholtz-Kohlrausch etkisi) bilinen gorsel sistem mekanizmalarini modeller. Bu yapisal kisitlama, modelin "anlamsiz" kaliplari ogrenme kapasitesini sinirlar -- ayni bir sinir agi milyonlarca parametreyle her seyi ezberleyebilirken, 72 parametreli analitik bir form yalnizca fiziksel olarak anlamli kaliplari yakalayabilir.
2. Validation Gap: +1.11
Veri seti, seed=42 ile %80 egitim / %20 dogrulama olarak bolunmustur. Sonuclar:
- Egitim STRESS: 23.22
- Dogrulama STRESS: 24.33
- Validation gap: +1.11
+1.11 puanlik bir gap, renk bilimi standartlarinda cok kucuktur. Karsilastirma olarak: bir sinir agi (3D INN) ayni veriler uzerinde egitim STRESS 20.98, dogrulama STRESS 25.70 -- yani 4.72 puanlik bir gap. Analitik form, sinir aginin 1/4'u kadar gap uretiyor. Bu, overfitting'in neredeyse sifir oldugunu gosterir.
Bootstrap Guven Araliklari
Tek bir STRESS degeri, "verinin farkli bir alt kumesinde de benzer mi?" sorusunu cevaplamaz. Bootstrap CI (confidence interval) bu soruyu cevaplar: veri setinden yeniden orneklem alirak (replacement ile) STRESS dagilimini hesaplariz.
10.000 bootstrap orneklemi sonucu:
- Helmlab %95 CI: [22.50, 23.93]
- CIEDE2000 %95 CI: [27.64, 30.84]
- Iki aralik arasinda 3.71 puanlik bosluk -- dagilimlar hicbir sekilde kesismiyor
Bu, p < 0.001 duzeninde istatistiksel anlamliliktir. Helmlab'in ustunlugu tesadufi degiskenlikle aciklanamaz; yapiya dayalidir.
Iki Havza Kesfindeki Gizemli Durus: SL/SC
Optimizasyon surecinin en ilginc kesfindeki biri, parametre uzayinda iki ayri havzanin (basin) varligidir.
Havza 1: Klasik (v12 benzeri)
COMBVD STRESS = 23.18, SL/SC agirliklari sifir. Mesafe formulu basit Minkowski mesafesidir. Munsell CV = %19 (iyi duzgunluk).
Havza 2: SL/SC (v14c benzeri)
COMBVD STRESS = 22.75 (en dusuk STRESS), SL ve SC agirliklari aktif (sl=0.18, sc=0.80). Ancak Munsell CV = %77 (kotu duzgunluk).
Kritik bulgu: bu iki havza arasinda duz bir Pareto siniri yoktur. Optimizer ya birinde ya digerinde kalir -- arada gecis yapamaz. Bu, SL/SC parametrelerinin yalnizca metrikleri iyilestirmedigini, temelden farkli bir cozum ailesini temsil ettigini gosterir.
- v12 havzasindan baslayarak SL/SC'yi acmak: optimizer SL/SC > 0 bulamaz, havza cok derin
- v14c havzasindan baslayarak CV cezasi eklemek: lambda=2.0 bile havzadan cikartamaz
- v17'de hue lambda taramasi: farkli bir havza daha kesfedildi (strict vs relaxed)
Bu coklu havza yapisi, renk uzayi optimizasyonunun neden zor bir problem oldugunu ve neden yeniden baslatmalarin kritik oldugunu gosterir.
Son Model: v19 NC (Uretim Versiyonu)
Tum bu deneyler ve kesifler sonucunda, uretim versiyonu olarak v19 secilmistir. v19'un temel ozellikleri:
- COMBVD STRESS: 23.22 (Havza 1 temelinde)
- Akromatik chroma: 0.000001 (NC ile yapisal garanti)
- Hue RMS: 16.1 derece (rijit rotasyon ile)
- Validation gap: +1.11 (minimum overfitting)
- Munsell CV: %17.6 (iyi duzgunluk)
- 72 parametre: 13 asamali pipeline + SL/SC mesafe formulu
v14c'nin 22.75 STRESS'i daha dusuk olsa da, %77 Munsell CV'si uretim icin kabul edilemezdi. v19, STRESS-duzgunluk-akromatik kalite ucgeninde en dengeli noktadir.
Kod Ornegi: Egitilmis Modeli Kullanmak
npm install helmlabimport { Helmlab } from 'helmlab';
const hl = new Helmlab();
// 72 parametre, 64.000+ gozlem, 8x5000 yeniden baslatma --
// tum bu egitim surecinin sonucu bu tek satirda:
const d = hl.deltaE('#e74c3c', '#3498db');
console.log(`Delta E: ${d.toFixed(4)}`);
// Bu deger, 6 veri setindeki 64.000+ insan gozlemiyle
// %20.5 daha iyi korelasyon gosterir (vs CIEDE2000)
// Renk bilgisi: 13 asamali pipeline
const info = hl.info('#e74c3c');
console.log(`L: ${info.L.toFixed(3)}`); // Algisal lightness
console.log(`C: ${info.C.toFixed(3)}`); // Algisal chroma
console.log(`H: ${info.H.toFixed(1)}`); // Hue acisi
// Palet uretimi: algisal olarak esit adimlar
const scale = hl.semanticScale('#3B82F6');
// Her adim, 64.000+ gozlemle egitilmis
// pipeline uzerinden hesaplanir
// Anlamsal olcek
const description = hl.semanticScale('#e74c3c');
console.log(description);
// Tailwind CSS benzeri 50-950 olcegiSonuc: Veriden Ogrenilen Algi
Helmlab, 50 yillik renk bilimi deneylerinin birikimini tek bir tutarli modelde birlestiren bir renk uzayidir. 6 veri setinden gelen 64.000+ insan gozlemi, 72 parametreyi sekillendirmistir. Hessian-tabanli optimizasyon 8x5000 yeniden baslatmayla yerel minimumlardan kacmis, analitik form overfitting'i onlemis ve bootstrap CI sonuclarin istatistiksel guvenilirligini kanitlamistir.
Sonuc: STRESS 23.2 -- CIE Lab'a gore %23.4, CIEDE2000'e gore %20.5 daha iyi. Bootstrap guven araliklari kesismiyor. Validation gap yalnizca +1.11. Ve tum bu dogruluk, 10.3 KB'lik bir npm paketinde erisilebilir.
npm install helmlabKaynak kod: GitHub | Paket: npm
Bu yazi, Helmlab serisi 16 blog yazisinin sonuncusudur. Serinin tamaminda renk biliminin temellerinden pratik uygulamaya kadar her konuyu ele aldik. Okudugunuz icin tesekkurler.