tag Optimizasyon

Genetic Algorithm (Genetik Algoritma)

Bu sayfada Optimizasyon (Genetic Algorithm (Genetik Algoritma)) etiketi ile işaretlenmiş 27 yapay zeka kavramını bulabilirsiniz.

Genetik Algoritma (GA), biyolojik evrim ilkelerini — doğal seçilim, çaprazlama (crossover) ve mutasyon — bilgisayar optimizasyon problemlerine uygulayan, John Holland tarafından 1960'larda geliştirilen ve 1975 yılında "Adaptation in Natural and Artificial Systems" adlı kitabıyla sistematize edilen bir meta-sezgisel (metaheuristic) arama yöntemidir. Algoritma, her biri bir çözüm adayını temsil eden bireylerden oluşan bir popülasyonla başlar. Her birey, çözümün kodlanmış biçimi olan bir "kromozom" ile temsil edilir — geleneksel uygulamalarda bu ikili bit dizisidir, ancak modern uygulamalarda gerçel sayı vektörleri, permütasyonlar veya ağaç yapıları da kullanılır. Algoritmanın çekirdek döngüsü dört adımdan oluşur: (1) Uygunluk değerlendirmesi — her bireyin amaç fonksiyonuna göre puanlandırılması; (2) Seçim — yüksek uygunluklu bireylerin ebeveyn olarak tercih edilmesi (rulet tekerleği, turnuva veya sıralama seçimi gibi yöntemlerle); (3) Çaprazlama — iki ebeveynin kromozomlarının belirli bir noktadan birleştirilerek yavru üretilmesi; (4) Mutasyon — düşük olasılıkla rastgele gen değişikliği yapılarak yerel minimumdan kaçınma. Nesiller boyunca tekrar eden bu döngü, popülasyonu giderek daha iyi çözümlere doğru yönlendirir. Genetik Algoritmalar, gradyan tabanlı optimizasyon yöntemlerinin başarısız olduğu ayrık, çok modlu, çok boyutlu ve gürültülü problem uzaylarında güçlüdür. Geleneksel arama yöntemlerinin tıkandığı NP-zor problemlerde (gezgin satıcı problemi, çizelgeleme, ağ tasarımı) pratik çözümler üretir. Makine öğrenmesindeki uygulamaları arasında hiperparametre optimizasyonu, sinir ağı mimarisi arama (NAS — Neural Architecture Search) ve özellik seçimi öne çıkar. AutoML sistemleri, en iyi model konfigürasyonunu bulmak için evrimsel stratejileri kullanır. Bunun yanı sıra mühendislik tasarımı (aerodinamik optimizasyon, malzeme bilimi), lojistik (rota planlaması, kapasite optimizasyonu) ve biyoinformatik (protein katlama, gen ifadesi analizi) alanlarında yaygın kullanım bulur. Pratik uygulama için Python'da DEAP (Distributed Evolutionary Algorithms in Python) ve PyGAD kütüphaneleri kapsamlı API sunmaktadır. Genetik Programlama (GP), GA'nın bir uzantısı olup bireyleri sabit uzunluklu kodlar yerine program ağaçları olarak temsil eder ve sembolik regresyon gibi görevlerde kullanılır. Diferansiyel Evrim (Differential Evolution) ise sürekli uzaylar için optimize edilmiş yakın akraba bir yöntemdir.

code_blocks

Genetic Algorithm (Genetik Algoritma)

Genetik Algoritma (GA), biyolojik evrim ilkelerini — doğal seçilim, çaprazlama (crossover) ve mutasyon — bilgisayar optimizasyon problemlerine uygulayan, John Holland tarafından 1960'larda geliştirilen ve 1975 yılında "Adaptation in Natural and Artificial Systems" adlı kitabıyla sistematize edilen bir meta-sezgisel (metaheuristic) arama yöntemidir. Algoritma, her biri bir çözüm adayını temsil eden bireylerden oluşan bir popülasyonla başlar. Her birey, çözümün kodlanmış biçimi olan bir "kromozom" ile temsil edilir — geleneksel uygulamalarda bu ikili bit dizisidir, ancak modern uygulamalarda gerçel sayı vektörleri, permütasyonlar veya ağaç yapıları da kullanılır. Algoritmanın çekirdek döngüsü dört adımdan oluşur: (1) Uygunluk değerlendirmesi — her bireyin amaç fonksiyonuna göre puanlandırılması; (2) Seçim — yüksek uygunluklu bireylerin ebeveyn olarak tercih edilmesi (rulet tekerleği, turnuva veya sıralama seçimi gibi yöntemlerle); (3) Çaprazlama — iki ebeveynin kromozomlarının belirli bir noktadan birleştirilerek yavru üretilmesi; (4) Mutasyon — düşük olasılıkla rastgele gen değişikliği yapılarak yerel minimumdan kaçınma. Nesiller boyunca tekrar eden bu döngü, popülasyonu giderek daha iyi çözümlere doğru yönlendirir. Genetik Algoritmalar, gradyan tabanlı optimizasyon yöntemlerinin başarısız olduğu ayrık, çok modlu, çok boyutlu ve gürültülü problem uzaylarında güçlüdür. Geleneksel arama yöntemlerinin tıkandığı NP-zor problemlerde (gezgin satıcı problemi, çizelgeleme, ağ tasarımı) pratik çözümler üretir. Makine öğrenmesindeki uygulamaları arasında hiperparametre optimizasyonu, sinir ağı mimarisi arama (NAS — Neural Architecture Search) ve özellik seçimi öne çıkar. AutoML sistemleri, en iyi model konfigürasyonunu bulmak için evrimsel stratejileri kullanır. Bunun yanı sıra mühendislik tasarımı (aerodinamik optimizasyon, malzeme bilimi), lojistik (rota planlaması, kapasite optimizasyonu) ve biyoinformatik (protein katlama, gen ifadesi analizi) alanlarında yaygın kullanım bulur. Pratik uygulama için Python'da DEAP (Distributed Evolutionary Algorithms in Python) ve PyGAD kütüphaneleri kapsamlı API sunmaktadır. Genetik Programlama (GP), GA'nın bir uzantısı olup bireyleri sabit uzunluklu kodlar yerine program ağaçları olarak temsil eder ve sembolik regresyon gibi görevlerde kullanılır. Diferansiyel Evrim (Differential Evolution) ise sürekli uzaylar için optimize edilmiş yakın akraba bir yöntemdir.

arrow_forward
fingerprint

Genetic Algorithms (Genetik Algoritmalar)

Genetik Algoritmalar (GA), biyolojik evrimin temel mekanizmalarından — doğal seçilim, çaprazlama (crossover) ve mutasyon — ilham alarak tasarlanmış sezgisel arama ve optimizasyon algoritmalarıdır. 1975 yılında John Holland tarafından Michigan Üniversitesi'nde teorik temelleri atılan bu yaklaşım, özellikle gradyan tabanlı yöntemlerin yetersiz kaldığı karmaşık, çok boyutlu ve türevlenemeyen arama uzaylarında güçlü bir alternatif sunar. GA'nın çalışma prensibi beş temel adımdan oluşur: (1) Başlangıç popülasyonu — olası çözümleri temsil eden bireylerden (kromozomlardan) oluşan rastgele bir popülasyon oluşturulur; her birey genellikle binary bit dizisi, gerçek sayı vektörü veya permütasyon olarak kodlanır. (2) Uygunluk değerlendirmesi — her bireyin kalitesi, probleme özgü bir uygunluk (fitness) fonksiyonuyla ölçülür. (3) Seçilim — daha yüksek uygunluk değerine sahip bireyler ebeveyn olarak seçilme şansını artırır; rulet tekerleği, turnuva ve sıra-tabanlı seçim en yaygın stratejilerdir. (4) Çaprazlama — iki ebeveynin genetik materyali birleştirilerek yeni çocuk bireyler üretilir; tek nokta, iki nokta ve üniform çaprazlama popüler yöntemlerdir. (5) Mutasyon — küçük rastgele değişiklikler eklenerek genetik çeşitlilik korunur ve yerel optimumlara takılma riski azaltılır. Bu döngü, belirlenen nesil sayısına ulaşılana ya da uygunluk eşiği sağlanana dek tekrarlanır. Her nesilde popülasyon ortalama kalitesi artar; en iyi birey "elit seçim" stratejisiyle bir sonraki nesile doğrudan aktarılabilir (elitizm). Genetik Algoritmalar; makine öğrenmesinde hiperparametre optimizasyonu, lojistik rota planlaması (Gezgin Satıcı Problemi), elektronik devre tasarımı, protein katlama, oyun yapay zekası ve NAS (Neural Architecture Search) gibi geniş bir uygulama yelpazesine sahiptir. Simulated Annealing ve Parçacık Sürü Optimizasyonu (PSO) ile sıklıkla karşılaştırılır; GA'nın temel avantajı, paralel popülasyon keşfiyle çok-modlu fonksiyonlarda yerel optimumlardan kaçabilmesidir. Hesaplama maliyetinin yüksek olabileceği ve sonuçların deterministik olmadığı başlıca kısıtlamalar arasındadır.

arrow_forward
code_blocks

Gradient Boosting (Gradyan Artırma)

Gradient Boosting (Gradyan Artırma), makine öğreniminde zayıf öğrenicileri art arda sıralı biçimde ekleyerek güçlü ve yüksek doğruluklu bir tahmin modeli oluşturan bir topluluk öğrenme algoritmasıdır. Random Forest gibi diğer topluluk yöntemlerinin ağaçları paralel olarak eğitmesinin aksine, Gradient Boosting her yeni ağacı bir önceki modelin kalan hatasını (artık değer, residual) azaltacak şekilde sıralı olarak inşa eder. Algoritmanın çalışma mantığı şu adımlarla özetlenebilir: İlk adımda verilen hedef değer için basit bir temel tahmin yapılır; bu genellikle ortalama değerdir. Sonraki adımda mevcut tahmin ile gerçek değer arasındaki farklar (artık değerler) hesaplanır. Bir sonraki karar ağacı bu artık değerleri tahmin etmek üzere eğitilir. Yeni ağacın katkısı, aşırı öğrenmeyi önlemek için öğrenme hızı (learning rate) parametresiyle ölçeklendirilerek mevcut modele eklenir. Bu döngü, belirlenen ağaç sayısına ulaşılana kadar tekrar eder; her yinelemede model bir öncekinin en zayıf noktasına odaklanır. Gradient Boosting'in matematiksel temeli gradyan iniş (gradient descent) optimizasyonuna dayanır. Ağaçlar, seçilen kayıp fonksiyonunu minimize edecek şekilde gradyan yönünde oluşturulur; bu yapı, algoritmanın regresyon, sınıflandırma ve sıralama gibi farklı problem tiplerine kolayca uyarlanmasını sağlar. Algoritmanın en belirgin avantajı, tablolar halindeki yapısal veriyle (structured/tabular data) olağanüstü yüksek doğruluk sağlamasıdır. Kaggle yarışmalarında yıllardır zirvede yer alan bu aile, XGBoost, LightGBM ve CatBoost gibi modern kütüphanelerle bellek ve hız açısından da optimize edilmiştir. XGBoost level-wise (satır bazlı) ağaç büyümesiyle daha kararlı sonuçlar üretirken LightGBM ise leaf-wise (yaprak bazlı) büyüme ve histogram tabanlı bölme ile büyük veri setlerinde çok daha hızlı çalışır. Dezavantajları arasında aşırı öğrenmeye (overfitting) yatkınlık, hiperparametre ayarının (n_estimators, learning_rate, max_depth, min_samples_split) hassasiyeti ve büyük veri setlerinde paralel eğitimin zorluğu sayılabilir. Öğrenme hızı düşük ve ağaç sayısı yüksek tutulduğunda daha genelleştirilebilir modeller elde edilir; ancak bu dengenin bulunması kapsamlı çapraz doğrulama (cross-validation) gerektirir.

arrow_forward
settings_input_component

Hyperparameter Tuning (Hiperparametre Optimizasyonu)

Hiperparametre optimizasyonu (Hyperparameter Tuning), makine öğrenimi modelinin eğitim sürecine başlamadan önce araştırmacı veya mühendis tarafından belirlenen kontrol değişkenlerinin — öğrenme hızı (learning rate), ağaç derinliği, katman sayısı, düzenlileştirme katsayısı gibi — en uygun kombinasyonunun sistematik biçimde aranması işlemidir. Makine öğreniminde iki farklı parametre türü bulunur: modelin eğitim verisinden öğrendiği "parametreler" (ağırlıklar, bias değerleri) ve eğitimden önce dışarıdan belirlenen "hiperparametreler". Hiperparametreler model mimarisini ve öğrenme dinamiklerini doğrudan şekillendirir; yanlış seçilen bir hiperparametre seti, en kaliteli veriyle bile zayıf sonuçlar doğurabilir. Başlıca hiperparametre arama yöntemleri şöyle sıralanabilir: Grid Search (Izgara Arama): Belirlenen aralıklar içindeki tüm olası kombinasyonları dener; garanti sonuç verir ancak hesaplama maliyeti kombinasyon sayısıyla katlanarak artar. Az sayıda hiperparametre ve dar aralıklar için uygundur. Random Search (Rasgele Arama): Kombinasyonları rastgele örnekler; Grid Search'e kıyasla genellikle daha kısa sürede benzer kalitede sonuç üretir. Yüksek boyutlu arama uzaylarında tercih edilir. Bayesian Optimization: Önceki denemelerin sonuçlarını kullanarak sonraki adımda hangi kombinasyonu deneyeceğini olasılık modeline göre seçer. Deneme sayısını minimize ederek en iyi hiperparametrelere ulaşmayı hedefler; derin öğrenme gibi maliyetli modellerde yaygındır. Optuna, Ray Tune ve Hyperopt bu yaklaşımı uygulayan popüler kütüphanelerdir. Automated ML (AutoML): Hiperparametre aramasını tamamen otomatikleştirir. Google AutoML, H2O.ai ve Keras Tuner gibi araçlar hem model seçimi hem de parametre optimizasyonunu arka planda yürütür. Hiperparametre optimizasyonu sürecinde çapraz doğrulama (cross-validation) kritik bir rol oynar: her aday kombinasyon, verinin farklı katlarında test edilerek aşırı uyumu (overfitting) önleyecek şekilde değerlendirilir. Özellikle derin sinir ağlarında learning rate, momentum ve batch size değerlerinin doğru ayarlanması, model başarısını belirleyici ölçüde etkiler. Pratik projelerde hiperparametre arama sürecinin toplam eğitim süresinin %30–50'sini oluşturduğu görülmektedir.

arrow_forward
play_arrow

Inference (Çıkarım (Model Çıkarımı))

Çıkarım (Inference), eğitilmiş bir yapay zeka modelinin yeni girdilere yanıt üretmek için kullanıldığı süreçtir. Eğitim aşamasının aksine çıkarım sırasında model ağırlıkları güncellenmez; model yalnızca ileri besleme (forward pass) yapar. Büyük dil modellerinde çıkarım iki belirgin aşamaya ayrılır. Prefill aşamasında tüm girdi tokenleri paralel olarak transformer katmanlarından geçirilir ve KV önbelleği (KV cache) doldurulur; bu aşama GPU'nun hesaplama kapasitesini yoğun kullanır. Decode aşamasında ise model her adımda yalnızca bir token üretir ve KV önbelleğini günceller; bu aşama bellek bant genişliğiyle sınırlıdır (memory-bound). Çıkarım performansı üç temel metrikle ölçülür: ilk token süresi (TTFT — time to first token), token başına gecikme (TPOT — time per output token) ve verim (throughput — saniyede toplam üretilen token). Etkileşimli uygulamalar düşük TTFT'yi, toplu işlem sistemleri ise yüksek verimi önceliklendirir. Çıkarım iki temel ortamda gerçekleştirilebilir. Bulut çıkarımında modeller veri merkezlerindeki sunucu GPU kümelerinde çalışır; ölçeklenebilirlik, büyük model desteği ve yönetilen altyapı avantajı sunar ancak veri dışarıya çıkar. Uç çıkarımda (edge inference) model kullanıcının cihazında çalışır; gecikme azalır, veri gizliliği artar ve çevrimdışı kullanım mümkün olur. Apple Silicon, Qualcomm Snapdragon ve NVIDIA Jetson gibi platformlardaki nöral işlemci birimleri (NPU) bu amaçla optimize edilmiştir; nicellenmiş küçük modeller (1B–7B, INT4) akıllı telefon ve dizüstü bilgisayarlarda gerçek zamanlı çalışabilmektedir. Gizlilik gerektiren uygulamalar (sağlık, finans) uç çıkarımı tercih eder. Üretim sistemleri için çıkarım optimizasyonu kritik öneme sahiptir: niceleme (INT8/INT4) model boyutunu küçültür; PagedAttention ve continuous batching GPU belleğini verimli kullanır; Flash Attention dikkat hesaplama hızını artırır; spekülatif kod çözme ise küçük bir taslak modelle büyük modelin doğrulamasını birleştirerek çözme hızını %2–3× artırabilir. vLLM, TGI, TensorRT-LLM ve Ollama bu amaçla kullanılan popüler açık kaynak araçlardır.

arrow_forward
grid_4x4

Jacobian Matrix (Jacobian Matrisi)

Jacobian Matrisi, birden fazla değişkene bağlı olan vektör değerli bir fonksiyonun birinci dereceden kısmi türevlerini düzenli biçimde gösteren matematiksel yapıdır. f: Rⁿ → Rᵐ türünde bir fonksiyon için Jacobian, m×n boyutunda bir matristir; her (i,j) girişi ∂fᵢ/∂xⱼ kısmi türevine eşittir. Bu matris, bir noktanın yakınında fonksiyonun nasıl değiştiğini lineer olarak özetler. Tarihsel köken açısından Jacobian, 19. yüzyılda Alman matematikçi Carl Gustav Jacob Jacobi tarafından çok değişkenli integrallerde koordinat dönüşümlerini incelemek amacıyla geliştirilmiştir. Çok boyutlu koordinat değişimlerinde "Jacobian determinantı" alan ölçekleme faktörü olarak ortaya çıkar ve integralin doğru hesaplanmasını sağlar. Derin öğrenmedeki rolü bakımından Jacobian, geri yayılım (backpropagation) algoritmasının matematiksel çekirdeğinde yer alır. Bir sinir ağı katmanı y = f(x) dönüşümü gerçekleştirdiğinde, kayıp fonksiyonunun x'e göre gradyanı zincir kuralıyla şöyle hesaplanır: ∂L/∂x = Jᵀ · (∂L/∂y). Pratikte tam Jacobian matrisi belleğe sığmayabilir; büyük mimarilerde giriş ve çıkış boyutları milyonları aşar. Bu nedenle modern otomatik türev kütüphaneleri (PyTorch autograd, JAX) gerçekte Jacobian matrisini oluşturmaz — yalnızca Jacobian-vektör çarpımlarını (JVP, ileri mod) veya vektör-Jacobian çarpımlarını (VJP, geri mod) hesaplar. İleri mod otomatik türevleme JVP kullanır ve küçük giriş — büyük çıkış durumlarında verimlidir. Geri mod (reverse-mode) ise VJP kullanır ve PyTorch'un backward() çağrısının temelidir; büyük giriş — tek kayıp skaleri durumlarında (tipik sinir ağı eğitimi) tercih edilir. Diğer uygulamalar arasında şunlar sayılabilir: normalizing flow modellerinde olasılık yoğunluğu hesabı için Jacobian determinantı kullanılır; meta-öğrenme algoritması MAML'ın iç döngü gradyanları Jacobian zincirlemesi gerektirir; robotik kol kinematiklerinde eklem açılarından uç-efektör konumuna dönüşüm Jacobian aracılığıyla ifade edilir. Kaybolan gradyan sorununu (vanishing gradient) anlamak için de Jacobian spektrumu incelenir: Jacobian'ın özdeğerleri 1'den küçükse gradyanlar katmanlar boyunca sıfıra yaklaşır.

arrow_forward
🐜

Karınca Kolonisi Optimizasyonu (ACO) (Karınca Kolonisi Optimizasyonu)

Karınca Kolonisi Optimizasyonu (ACO), Marco Dorigo tarafından 1992 yılındaki doktora tezinde geliştirilen, karıncaların feromon izi bırakarak yiyecek kaynağına en kısa yolu bulma davranışını matematiksel olarak modelleyen meta-sezgisel bir optimizasyon algoritmasıdır. Biyolojik karıncalar, kısa güzergahlarda daha sık geçiş yaptığından bu yollarda feromon birikimi artar; uzun yollardaki feromon ise zamanla buharlaşarak solar. Bu olasılıksal mekanizma, koloniyi zamanla global optimuma yakınsatır. Algoritmada her iterasyonda bir grup sanal "yapay karınca" çözüm uzayını keşfeder. Her karınca, mevcut feromon yoğunluğunu ve sezgisel bilgiyi (örn. kenar uzunluğunu) birleştiren stokastik bir kuralla hareket kararları verir. İterasyon tamamlandığında iyi çözümler bulan karıncalar feromonlarını biriktirir; tüm güzergahlardaki feromonlar ρ (rho) buharlaşma katsayısıyla kısmi olarak azalır. Birikim ve buharlaşma dengesi, hem umut verici bölgeleri yoğun araştırmayı hem de yeni alanları keşfetmeyi olanaklı kılar. Temel varyantlar arasında Ant Colony System (ACS, 1997) yerel feromon güncellemesi ve yalnızca küresel en iyi yolun güncellenmesiyle daha hızlı yakınsama sunar; MAX-MIN Ant System (MMAS) feromon değerlerini belirlenen alt ve üst sınırlar arasında tutarak erken yakınsamayı engeller; Rank-Based AS (ASrank) ise yalnızca sıralı en iyi karıncaların feromon bırakmasına izin verir. ACO, Gezgin Satıcı Problemi (TSP), Araç Rota Planlama (VRP), makine çizelgeleme, internet paketi yönlendirme (AntNet protokolü) ve protein katlama gibi kombinatoryal optimizasyon görevlerinde yaygın olarak kullanılır. Hibrit ACO-Derin Öğrenme modelleri büyük ölçekli lojistik ve enerji şebekesi optimizasyonunda aktif araştırma konusudur. Marco Dorigo, ACO ve sürü zekası alanındaki katkılarıyla 2022 IEEE Frank Rosenblatt Ödülü'nü almıştır. Güçlü yanları arasında dinamik ve çok modlu arama uzaylarında etkinliği, paralel uygulamaya uygunluğu ve yerel optimum tuzaklarından çıkma kapasitesi yer alır. Sınırlılıkları ise sürekli fonksiyon optimizasyonuna kısıtlı uyumu ve α, β, ρ hiperparametrelerinin problem bazında hassas ayar gerektirmesidir.

arrow_forward
trending_down

Loss Function (Kayıp (Maliyet) Fonksiyonu)

Kayıp fonksiyonu (loss function), makine öğrenmesi modelinin tahminleri ile gerçek etiketler arasındaki farkı sayısal olarak ölçen matematiksel bir işlevdir. Eğitim sürecinin kalbi olan bu fonksiyon, modelin ne kadar 'yanlış' olduğunu bir skalar değere dönüştürür; optimizasyon algoritması da bu değeri minimize etmek için ağırlıkları günceller. Görev türüne göre farklı kayıp fonksiyonları kullanılır. İkili sınıflandırmada ikili çapraz entropi (binary cross-entropy), çok sınıflı görevlerde kategorik çapraz entropi (categorical cross-entropy) standarttır. Bu fonksiyonlar, modelin olasılık çıktıları ile gerçek etiketler arasındaki log-olasılık farklılığını ölçer ve modeli güvenilir olasılık kalibrasyonuna yönlendirir. Regresyon görevlerinde ortalama kare hata (Mean Squared Error, MSE) ve ortalama mutlak hata (Mean Absolute Error, MAE) en yaygın seçeneklerdir. MSE büyük hatalara ağırlık verirken MAE tüm hatalara eşit davranır; aykırı değer (outlier) hassasiyetine göre bu ikisi arasında seçim yapılır. Huber kaybı ise ikisinin karışımı olarak hem büyük hem küçük hatalarda dengeli davranır. Kayıp fonksiyonu, düzenlileştirme terimleriyle genişletilebilir. L1 (Lasso) ve L2 (Ridge) düzenlileştirmesi, kayıp değerine ağırlıkların büyüklüğüne orantılı bir ceza ekleyerek modelin aşırı öğrenmesini frenler ve seyrek çözümler üretmesini teşvik eder. GAN'larda, contrastive learning'de ve RL'de özel kayıp fonksiyonları (adversarial loss, triplet loss, policy gradient) görevin dinamiklerine göre tasarlanır. Seçilen kayıp fonksiyonu doğrudan optimizasyon yüzeyini şekillendirir ve bu nedenle model eğitiminin en kritik tasarım kararlarından birini oluşturur. Kayıp fonksiyonunun doğru seçimi, model mimarisinin doğru seçimi kadar belirleyicidir. Dengesiz sınıflara sahip bir veri setinde standart çapraz entropi kullanmak, modelin baskın sınıfa odaklanmasına yol açar; bu durumda focal loss gibi daha gelişmiş alternatifler devreye girer. Benzer biçimde, öneri sistemlerinde pairwise sıralama kaybı (pairwise ranking loss) veya bilgi damıtmada KL-diverjans kaybı tercih edilir. Kayıp yüzeyinin şekli, gradyan iniş yönteminin kaç adımda yakınsayacağını ve yerel minimuma takılıp takılmayacağını etkiler; bu nedenle kayıp seçimi ile öğrenme hızı ve momentum gibi hiperparametrelerin birlikte ele alınması gerekir.

arrow_forward
code_blocks

Monte Carlo Simülasyonu

Monte Carlo Simülasyonu, belirsizlik içeren sistemleri analiz etmek için büyük sayıda rastgele deney (simülasyon) çalıştıran istatistiksel bir hesaplama tekniğidir. Türkçede Monte Carlo Benzetimi olarak da anılır. Analitik çözümün aşırı karmaşık ya da imkânsız olduğu durumlarda, bu yöntem olası sonuçların olasılık dağılımını ampirik olarak tahmin eder. Yöntem, 1940'lı yıllarda Manhattan Projesi kapsamında nükleer madde difüzyonunu hesaplamak için Stanislaw Ulam ve John von Neumann tarafından geliştirilmiştir. İsmi, şans oyunlarıyla ünlü Monaco'nun Monte Carlo bölgesinden gelir; tesadüfilik ve olasılık kavramlarını vurgular. Temel mekanizma üç adımdan oluşur: (1) giriş parametrelerine ait olasılık dağılımları tanımlanır, (2) bu dağılımlardan rastgele örnekler çekilerek simülasyon defalarca çalıştırılır, (3) çıktıların istatistiksel özeti hesaplanır. Hata payı 1/√n oranında azaldığından örnek sayısını dört katına çıkarmak hassasiyeti iki katına çıkarır. Çoğu mühendislik uygulamasında 10.000 ile 100.000 iterasyon yeterli kabul edilir; finansal risk hesaplamalarında ise bu sayı bir milyonun üzerine çıkabilir. Yapay zeka ve makine öğrenmesinde Monte Carlo yöntemleri kritik rollere sahiptir. Monte Carlo Tree Search (MCTS) algoritması, AlphaGo ve AlphaZero'nun satranç ile Go oyunlarındaki olağanüstü başarısının temel karar mekanizmasıdır: ağaç düğümlerini rastgele simülasyonlarla değerlendirerek en umut verici hamleyi seçer. Markov Chain Monte Carlo (MCMC) yöntemi, Bayes çıkarımında analitik olarak hesaplanamayan posterior dağılımları örneklemek için kullanılır; Metropolis-Hastings ve Hamiltonian Monte Carlo algoritmaları bu kategorinin öne çıkan örnekleridir. Pekiştirmeli öğrenmede ise Monte Carlo politika değerlendirmesi, bir ajanın çevresiyle etkileşiminden elde edilen tam bölüm ödüllerini öğrenmek için tercih edilir. GPU paralelleştirmesi modern Monte Carlo hesaplamalarını dramatik biçimde hızlandırır; NumPy, PyTorch ve JAX kütüphaneleri milyonlarca örnekle vektörel simülasyon desteği sunar. Finansal risk analizinde portföy değer-at-risk (VaR) ve opsiyon fiyatlaması için sektör standardı hâline gelmiş olan bu yöntem, iklim modelleme ve mühendislik güvenilirliği gibi disiplinlerde de temel araç olarak kullanılmaktadır.

arrow_forward
code_blocks

Parçacık Sürü Optimizasyonu (PSO)

Parçacık sürü optimizasyonu (İng. Particle Swarm Optimization, PSO), James Kennedy ve Russell Eberhart tarafından 1995 yılında IEEE Uluslararası Sinir Ağları Konferansı'nda önerilen, sürü zekasına dayalı bir meta-sezgisel optimizasyon algoritmasıdır. Algoritmanın temel esin kaynağı, merkezi bir yönlendirme olmaksızın koordineli davranan kuş sürüleri ve balık okullarının kolektif davranışıdır. PSO, bir "sürü" oluşturan aday çözümler kümesiyle çalışır; her aday çözüme "parçacık" adı verilir. Her parçacık, arama uzayında bir konum (X) ve bir hız vektörüyle (V) temsil edilir. Optimizasyon sürecinde her parçacık iki bilgiden yararlanır: kendi geçmişte ulaştığı en iyi konum (kişisel en iyi, pBest) ve sürünün tümünün şimdiye kadar bulduğu en iyi konum (küresel en iyi, gBest). Hız güncelleme formülü şu şekildedir: V(t) = w·V(t-1) + c₁·r₁·(pBest - X) + c₂·r₂·(gBest - X). Burada w atalet ağırlığı, c₁ bilişsel katsayı, c₂ sosyal katsayı; r₁ ve r₂ ise [0,1] aralığındaki rastgele sayılardır. Shi ve Eberhart (1998), w değerini yinelemeler boyunca 0,9'dan 0,4'e doğrusal olarak azaltmanın küresel keşif ile yerel sömürü arasındaki dengeyi iyileştirdiğini göstermiştir. Makine öğrenmesinde PSO; yapay sinir ağlarında hiper-parametre optimizasyonu (katman sayısı, öğrenme hızı, batch boyutu), sinir mimarisi araması (NAS) ve özellik seçimi için yaygın biçimde kullanılır. Araştırmalar, 20-50 parçacıktan oluşan küçük bir sürünün bile etkili sonuçlar ürettiğini göstermektedir. Başlıca varyantları arasında Uyarlanabilir PSO (APSO, Zhan vd. 2009), zaman değişkenli ivme katsayılı PSO (PSO-TVAC) ve kombinatoryal problemler için Ayrık PSO sayılabilir. Genetik algoritmalarla karşılaştırıldığında PSO, çaprazlama ve mutasyon operatörlerine gerek duymadan daha az parametreyle çalışır; bu durum özellikle sürekli değerli optimizasyon problemlerinde daha hızlı yakınsama sağlar. Başlıca sınırlılığı erken yakınsamadır: parçacıklar küresel en iyiye hızla yöneldiğinde sürü çeşitliliği azalır ve algoritma yerel bir optimumda takılı kalabilir.

arrow_forward
code_blocks

Prescriptive Analytics (Prescriptif Analitik)

Prescriptif analitik, veri analitiğinin en gelişmiş basamağını temsil eder. Tanımlayıcı analitik 'ne oldu?' sorusunu yanıtlarken, teşhis analitik 'neden oldu?' sorusunu, öngörüsel analitik 'ne olacak?' sorusunu ve prescriptif analitik ise 'ne yapmalıyız?' sorusunu yanıtlar. Bu son basamak, yalnızca geleceği tahmin etmekle kalmaz; aynı zamanda belirlenen hedeflere ulaşmak için optimal eylem planları önerir ve bu önerileri ölçülebilir iş çıktılarına doğrudan bağlar. Prescriptif analitiğin temel mekanizması, optimizasyon algoritmalarını tahmine dayalı modellerle birleştirmektir. Doğrusal programlama ve tamsayılı programlama gibi operasyon araştırması teknikleri, kısıt koşulları altında en iyi çözümü bulmak için kullanılır. Monte Carlo simülasyonu ise olası senaryoları binlerce kez çalıştırarak belirsizlik altında karar almayı destekler. Modern prescriptif sistemler bu klasik yöntemleri pekiştirmeli öğrenme ve büyük dil modelleriyle güçlendirerek dinamik ortamlarda gerçek zamanlı kararlar üretebilmektedir. Prescriptif analitiğin uygulama alanları son derece geniştir. Tedarik zinciri yönetiminde perakende devleri envanter optimizasyonu için prescriptif modellerden yararlanmaktadır. Sağlık sektöründe hastane kaynak planlaması ve ilaç dozaj optimizasyonu bu yaklaşımla yönetilir. Enerji sektöründe yenilenebilir kaynak dağıtımı ve şebeke dengeleme prescriptif modellerle optimize edilir. Finansta portföy optimizasyonu ve risk yönetimi bu tekniğin klasik uygulama alanlarıdır. Prescriptif analitik uygulamalarının başarısı büyük ölçüde veri kalitesine ve kısıt tanımlarının doğruluğuna bağlıdır. Açıklanabilir yapay zeka teknikleri, karar alıcıların güvenini kazanmak için prescriptif sistemlerle giderek daha sık entegre edilmektedir. AB Yapay Zeka Yasası kapsamında yüksek riskli sektörlerdeki otomatik karar sistemleri insan denetimi gerektirmekte olup bu durum prescriptif analitik tasarımını doğrudan etkilemektedir. Kötü tanımlanmış kısıt fonksiyonları veya yetersiz veri, modelin pratikte uygulanamaz öneriler üretmesine yol açabileceğinden pilot projelerle başlamak ve iteratif iyileştirme döngüsü kurmak kritik başarı faktörlerinin başında gelir.

arrow_forward
cached

Prompt Caching (Prompt Önbellekleme)

Prompt önbellekleme (Prompt Caching), büyük dil modeli (LLM) API'larında aynı prompt ön ekinin birden fazla istekte tekrar tekrar kullanılması durumunda, modelin bu ön ek için önceden hesapladığı dikkat tensörlerini (KV cache) sunucu tarafında saklayarak yeniden hesaplama maliyetini ortadan kaldıran bir optimizasyon tekniğidir. Bir LLM her prompt işlediğinde her token için anahtar-değer (key-value, KV) dikkat tensörleri hesaplar. Prompt önbellekleme bu tensörleri sunucuda saklar; sonraki istek aynı ön ekle başlıyorsa model onları sıfırdan hesaplamak yerine doğrudan önbellekten yükler. Bu sayede hem hesaplama süresi hem de faturalanan giriş maliyeti önemli ölçüde düşer. Teknik özellikle uzun sistem prompt'larının, büyük belgelerin veya kapsamlı örnekler içeren şablonların yüzlerce ya da binlerce ardışık istek için tekrar gönderildiği senaryolarda kayda değer tasarruf sağlar. Ajansal döngülerde (agentic loops), RAG boru hatlarında ve çok turlu sohbet uygulamalarında girdi token maliyetleri toplam harcamanın büyük bölümünü oluşturur; prompt önbellekleme bu senaryolarda üretim AI sistemlerinin ekonomik sürdürülebilirliğini doğrudan etkiler. 2024'ten itibaren Anthropic (Claude), OpenAI (GPT-4o ve üstü), Google (Gemini) ve DeepSeek başta olmak üzere büyük LLM sağlayıcıları bu özelliği sunmaktadır. Uygulamalar arasında fark mevcuttur: Anthropic açık `cache_control` parametresiyle işaret isterken, OpenAI belirli bir token eşiğini aşan sabit ön ekleri otomatik önbellekler. Her iki yaklaşımda da önbellekteki token'lar normal girdi fiyatının %10-50'siyle faturalandırılır; bu oran giriş maliyetlerinde %50 ila %90 tasarruf anlamına gelir. Anthropic'te önbellek ömrü yaklaşık 5 dakika olup her kullanımda yenilenir. Minimum önbellekleme eşiği sağlayıcıya göre 1.024-2.048 token arasında değişir. Maliyet avantajının yanı sıra, önbellekten okunan token'lar yeniden hesaplama gerektirmediğinden ilk token gecikmesi (TTFT, time-to-first-token) de önemli ölçüde düşer; Anthropic bu iyileşmenin %85'e kadar ulaşabildiğini bildirmektedir. vLLM ve SGLang gibi açık kaynak çıkarım çerçeveleri de GPU üzerinde benzer KV önbellekleme mekanizmaları sunar.

arrow_forward
fitness_center

Quantization (Kuantizasyon (Model Küçültme))

Quantization (niceleme), sinir agi modellerindeki parametre degerlerinin yuksek hassasiyetli sayisal formattan (genellikle 32-bit kayan nokta, float32) daha dusuk bit genisligine (8-bit tam sayi veya 4-bit gibi) donusturulme islemidir. Bu donusum model boyutunu kucultmesi, cikarim hizini artirmasi ve guc tuketimini dusurmesinin yaninda, modeli kaynak kisitli ortamlarda - ornegin akilli telefon veya kenarda calisabilen cihazlarda - calistirmaya olanak tanir. Nicelemenin temelinde bir uzlasim yatar: hassasiyet azaldikca model hafizasi ve hesaplama maliyeti duser, ancak tahmin kalitesi potansiyel olarak azalabilir. Uygulamada, ozellikle INT8 dzeyinde, bu kalite kaybi cogu gorev icin ihmal edilebilir seviyede kalir. GPTQ veya bitsandbytes gibi kutuphaneler, niceleme hatasini en aza indirmek icin kalibrasyon verisi kullanarak agirlik matrislerini yeniden optimize eder. Iki ana yaklasim mevcuttur. Post-Training Quantization (PTQ) halihazirda egitilmis bir modele uygulanir; ekstra egitim gerektirmez ve hizlidir. Quantization-Aware Training (QAT) ise niceleme etkisini eğitim dongusu icerisine dahil eder; model, daha dusuk hassasiyetle bile dogru tahmin uretmeyi ogrenir. QAT genellikle PTQ'ya kiyasla daha iyi nihai kalite sunar ama ek hesaplama maliyeti getirir. Buyuk dil modellerinin (LLM) giderek buyumesiyle quantization zorunlu bir pratik haline gelmistir. GPT-3 seviyesinde bir model tam hassasiyetle yuzlerce gigabayt RAM gerektirir; INT4 nicelemeyle bu rakam onlarca gigabayta iner ve ticarette satilan bir laptopla calistirmak mumkun olur. llama.cpp projesi ve GGUF formati, bu olasiligi genis bir topluluga acmistir: Q4_K_M, Q5_K_S gibi semboller bit genisligi ile kalite stratejisini kodlar. Donanim ekosistemi de nicelemeyi etkin sekilde destekler. NVIDIA'nin Tensor Core mimarisi INT8 ve FP8 cikarimini donanim katmaninda hizlandirir; bu sayede veri merkezi GPU'larinda ayni enerji butcesiyle cok daha yuksek islem hacmi elde edilir. Apple Silicon'un Unified Memory mimarisi ise CPU ve GPU'nun ayni bellek havuzunu paylasmasina izin vererek quantized LLM'lerin tuketu cihazlarda akici calismasi icin dogal bir avantaj sunar. **Sik Sorulan Sorular** **INT8 ile INT4 niceleme arasinda kalite farki buyuk mudur?** INT8, cogulukla ihmal edilebilir kalite kaybı uretir. INT4 ise modele ve goreve bagimlidir: genel dil anlama gorevlerinde sinirli etki gorulurken kucuk modeller veya hassas gorevlerde kayip daha belirgin olabilir. **Bir modeli niceleme yapmak icin ne gereklidir?** bitsandbytes veya AutoGPTQ kutuphanesiyle birkaç satirda Python kodla herhangi bir Hugging Face modeli niceleye bilirsiniz; kalibrasyon icin kucuk bir veri kumesi onerilen uygulamalardan biridir. **Quantization modelin egitim verilerini degistirir mi?** Hayir. Niceleme yalnizca cikarim asamasini etkiler; egitim verisi veya egitim sureci degismez. **Hangi modeller niceleye en uyundur?** Buyuk, asiri parametreli modeller genellikle niceleye daha direnclidir; parametreler arasinda islevsel fazlalik bulundugu icin bazi bilgi kaybi tolere edilebilir.

arrow_forward
code_blocks

Sürü Zekası (Sürü Zekası)

Sürü zekası (swarm intelligence), bireysel ajanların birbirleriyle ve çevreleriyle yerel etkileşimleri sonucunda gruba özgü kolektif zeka davranışının kendiliğinden ortaya çıkmasını inceleyen hesaplama paradigmasıdır. Terimi, biyolog Guy Theraulaz ve matematikçi Eric Bonabeau 1990'ların başında kavramsallaştırmış; ilham kaynağı ise karınca kolonileri, arı kovanları ve kuş sürülerindeki merkezi koordinasyon olmaksızın gerçekleşen etkin problem çözme davranışıdır. Sürü zekasının iki temel özelliği öne çıkar: birincisi öz-örgütlenme, yani basit bireysel kurallardan küresel yapıların kendiliğinden doğması; ikincisi dağıtık kontrol, yani tek noktada merkezileşmiş otorite olmaksızın işleyen sistemdir. Bu özellikler, sürü tabanlı algoritmaların donanım arızalarına ve ortam değişimlerine karşı yüksek dayanıklılık sergilemesini mümkün kılar. En yaygın sürü zekası algoritmaları şunlardır: Karınca Kolonisi Optimizasyonu (ACO), Marco Dorigo'nun 1992'de önerdiği bu yöntemde yapay karıncalar, feromon izi mantığıyla graflar üzerinde optimal yolları keşfeder. Gezgin satıcı problemi, ağ yönlendirmesi ve lojistik optimizasyonunda başarıyla uygulanmaktadır. Parçacık Sürüsü Optimizasyonu (PSO), Kennedy ve Eberhart'ın 1995'te geliştirdiği bu algoritma kuş ve balık sürüsü davranışından esinlenir; her parçacık, kendi en iyi konumu ve sürünün küresel en iyisi bilgisiyle hareketini günceller. Sürekli optimizasyon problemlerinde ve derin öğrenme hiperparametre ayarında sıklıkla tercih edilir. Yapay Arı Kolonisi (ABC) algoritması, Karaboğa tarafından tasarlanan bu yöntemde keşifçi, sömürücü ve gözetici arı rolleri çok modlu fonksiyonları başarıyla optimize eder. Ateşböceği Algoritması, parlaklık tabanlı iletişim kurallarıyla çok modlu ve yüksek boyutlu problemleri ele alır. Biyolojik temeli itibariyle sürü zekası karmaşıklık teorisi, ortaya çıkış (emergence) ve öz-örgütlenme kavramlarıyla sıkı biçimde ilişkilidir. Stigmerji mekanizması —dolaylı çevre üzerinden koordinasyon— bu paradigmanın ayırt edici unsurudur ve robotik sürü sistemlerinden internet yönlendirme protokollerine kadar geniş bir alana uygulanmaktadır. Günümüzde sürü zekası; nöral mimari araması (NAS), çok-etmenli robot koordinasyonu, akıllı şebeke yönetimi ve otonom araç filolarının denetiminde yeni uygulama alanları bulmaktadır. Pekiştirmeli öğrenme ile birleştirilen hibrit yaklaşımlar, gradyan tabanlı yöntemlerin yetersiz kaldığı süreksiz veya çok modlu arama uzaylarında üstün sonuçlar üretmekte; büyük ölçekli kombinatoryal optimizasyon problemleri için vazgeçilmez bir alternatif olmaya devam etmektedir.

arrow_forward
scatter_plot

Swarm AI (Sürü Yapay Zeka)

Sürü Yapay Zeka (Swarm AI), doğadaki karıncaların, arıların veya kuş sürülerinin sergilediği merkezi olmayan, kolektif akıldan ilham alan bir yapay zeka paradigmasıdır. Geleneksel yapay zeka sistemleri tek ve güçlü bir merkezi karar vericiye dayanırken, sürü zekası yüzlerce veya binlerce basit otonom etmenin (agent) yerel etkileşimleri aracılığıyla küresel düzeyde akıllı davranış sergilemesini sağlar. Temel prensipler üç sütun üzerine kuruludur. İlk olarak öz-örgütlenme: sistem herhangi bir dış yönlendirme olmaksızın koordineli davranış geliştirir; kuş sürülerinin şahin saldırısına anında tepki vermesi bunun en güzel örneğidir. İkinci olarak stigmerji: karınca kolonilerinde olduğu gibi etmenler feromon benzeri dolaylı işaretlerle iletişim kurar; kimin ne yapacağını merkezi bir otorite değil, yerel bilgi ve çevre geri bildirimi belirler. Üçüncüsü hata toleransı: bireysel etmenin arızalanması sistemin bütününü bozmaz, zira hiçbir etmen kritik bir merkezi rol üstlenmez. Bu özellik özellikle askeri drone filolarını ve dağıtık sensör ağlarını değerli kılar. Başlıca algoritmalar arasında Karınca Kolonisi Optimizasyonu (ACO), Parçacık Sürü Optimizasyonu (PSO) ve Yapay Arı Kolonisi (ABC) öne çıkar. ACO, feromon birikimi ve buharlaşma mekanizmasıyla kombinatoryal optimizasyon problemlerinde güçlü sonuçlar verirken, PSO sürekli arama uzaylarında sinir ağı hiperparametre ayarlaması ve nöral mimari arama (NAS) alanlarında kullanılır. Craig Reynolds'ın 1986'da geliştirdiği Boids simülasyonu ise yalnızca üç kuralla (hizalanma, birleşme, ayrılma) kuş sürüsü ve balık okulu davranışlarını modellemekte; robotik koordinasyon alanının temel taşını oluşturmaktadır. Günümüzde sürü yapay zekası farklı alanlarda etkin biçimde kullanılmaktadır: Amazon Kiva lojistik robotları depo operasyonlarını merkezi komuta gerek duymadan yönetir; askeri drone sürüleri radar savunmalarını aşacak şekilde programlanır; tarımda koordineli ilaçlama drone'ları maliyet ve çevre etkisini azaltır; finans sektöründe çok-etmenli piyasa simülasyonları trader davranışını modeller. 2020'lerden itibaren büyük dil modellerinin yaygınlaşmasıyla sürü zekası çok-etmenli LLM çerçevelerinde (CrewAI, AutoGPT, LangGraph) yeni bir anlam kazanmıştır. Bu sistemlerde her LLM ajanı karmaşık bir görevin alt bölümünü üstlenerek merkezi bir orkestratörün müdahalesi olmadan sonuca ulaşır. Temel zorluklar hâlâ geçerliliğini korur: iletişim gecikmesi ile koordinasyon kalitesi dengesi, yerel optimuma takılma riski ve bir etmenin ele geçirilmesiyle tüm sistemin manipüle edilmesi tehlikesi.

arrow_forward
🔍

Tabu Arama (Tabu Arama)

Tabu Arama (Tabu Search), Fred Glover tarafından 1986 yılında geliştirilen ve 1989'da ORSA Journal on Computing'de yayımlanan meta-sezgisel bir optimizasyon algoritmasıdır. Kombinatoryal optimizasyon problemlerinde yerel aramayı bir üst düzeye taşıyan bu yaklaşım, gezgin satıcı problemi (TSP), iş çizelgeleme ve araç rotalama gibi NP-zor problemlerde kaliteli çözümler üretmektedir. Algoritmanın çekirdeğinde tabu listesi mekanizması yatar. Her adımda mevcut çözümün komşuları değerlendirilir ve tabu listesinde yer almayan en iyi komşuya geçilir. Bu adım anlık çözüm kalitesini geçici olarak düşürebilir; ancak döngüsel arama tuzağının önüne geçer. Tabu listesinin uzunluğu (tabu tenure, genellikle 5–20 adım) kritik bir hiperparametredir: kısa liste çevik fakat döngüye açık, uzun liste ise aşırı kısıtlayıcı olabilir. Reaktif Tabu Arama varyantı bu dengeyi otomatik yöneterek döngü saptandığında tenure'ü uzatır, çeşitlilik arttığında kısaltır. Algoritma iki tür bellek yapısıyla çalışır. Kısa vadeli bellek (tabu listesi) son k hareketi yasaklayarak döngüyü engeller. Uzun vadeli bellek ise iki strateji barındırır: diversifikasyon az keşfedilen bölgelere yönlendirir; yoğunlaştırma umut vaat eden bölgeleri derinlemesine tarar. Bu bellek hiyerarşisi, simüle tavlama gibi tek bellekli yöntemlere kıyasla daha tutarlı sonuçlar ortaya koyar ve büyük arama uzaylarında bile etkin bir tarama gerçekleştirmeyi olanaklı kılar. Aspirasyon kriteri tabu listesinin katılığını yumuşatır: bir hareket tabu statüsünde olsa bile o ana kadar bulunan global en iyi çözümü geçiyorsa kabul edilir. Bu kural aşırı kısıtlamadan kaynaklanan fırsatçı kayıpları engeller ve algoritmanın yüksek kaliteli bölgelere erişimini korur. Tabu Arama, paralel uygulama ve derin öğrenme hibridleriyle de kullanılmaktadır. Paralel Tabu Arama birden fazla başlangıç noktasından eş zamanlı arama yaparak çözüm çeşitliliğini artırır. Günümüzde hiperparametre araması ve sinir mimarisi optimizasyonunda (NAS) Tabu Arama bileşenleri, gradyan tabanlı olmayan etkili bir alternatif olarak değer görmektedir.

arrow_forward
trending_down

Vanishing Gradient Problem (Kaybolan Gradyan Problemi)

Kaybolan Gradyan Problemi (Vanishing Gradient Problem), derin sinir ağlarında geri yayılım (backpropagation) sırasında gradyanların ağın giriş katmanlarına doğru ilerledikçe üstel biçimde küçülmesi ve pratikte sıfıra yaklaşmasıyla ortaya çıkan eğitim istikrarsızlığıdır. Bu durum, girişe yakın katmanların neredeyse hiç güncellenmemesine ve dolayısıyla ağın düzgün öğrenememesine yol açar. Sorunun matematiksel kökü, zincir kuralındaki çarpım yapısındadır. Sigmoid veya tanh aktivasyon fonksiyonlarının türevleri en fazla 0.25 değerini alır; bu nedenle L katmanlı bir ağda gradyan, geri yayılım sırasında her katmanda bu faktörle çarpılarak L. kuvvet kadar küçülür. 10 katmanlı bir ağda 0.25^10 ≈ 0.000001'lik bir küçülme, girişe yakın ağırlıkların güncellenmesini fiilen imkânsız hale getirir. Problem ilk kez Sepp Hochreiter tarafından 1991'deki diplom tezinde sistematik olarak analiz edilmiştir. Modern derin öğrenme, bu sorunu büyük ölçüde çözen birkaç teknik geliştirmiştir. **ReLU (Rectified Linear Unit)** aktivasyon fonksiyonu, pozitif değerler için türevi sabit 1 olarak tutar; bu sayede gradyan çarpımları zincirde birikmez. **Batch Normalization**, her katmanın çıkışını normalize ederek gradyan akışını düzenler ve çok daha derin ağların eğitilmesini mümkün kılar. **Skip Connection (artık bağlantı)**, He et al.'ın ResNet makalesinde (2015) önerilmiş; gradyanın katmanları atlayarak doğrudan önceki katmanlara akmasını sağlar ve 152 katmanlı ağların başarıyla eğitilmesine olanak tanımıştır. **LSTM (Long Short-Term Memory)**, kaybolan gradyan problemini aşmak amacıyla özel hücre geçiti mekanizmasıyla tasarlanmış bir RNN mimarisidir; Hochreiter & Schmidhuber tarafından 1997'de önerilmiştir. Kaybolan gradyan probleminin karşıtı olan **Patlayan Gradyan (Exploding Gradient)** sorununda ise gradyanlar kontrol edilemez biçimde büyür. Bu ikisi birlikte derin öğrenmenin iki temel eğitim istikrarsızlığını oluşturur. Patlayan gradyan için gradient clipping (gradyan kırpma) tekniği yaygın biçimde kullanılır. Günümüzde bu sorunların çözülmüş olması, yüzlerce hatta binlerce katmanlı ağların başarıyla eğitildiği modern derin öğrenme mimarilerinin zeminini hazırlamıştır.

arrow_forward
code_blocks

Adam Optimizer (Adam Optimize Edici)

Adam Optimizer (Adaptive Moment Estimation), derin öğrenme modellerinin eğitiminde kullanılan ve her parametre için ayrı, uyarlanabilir öğrenme oranları hesaplayan bir optimizasyon algoritmasıdır. 2014 yılında Diederik Kingma ve Jimmy Ba tarafından önerilen Adam, klasik Stochastic Gradient Descent (SGD) yönteminin sınırlamalarını aşmak amacıyla geliştirilmiştir. Adam'ın temel gücü, hem birinci moment tahminini (momentum — gradyanların ağırlıklı ortalaması) hem de ikinci moment tahminini (RMSProp benzeri — gradyanların kareli ortalamasının ağırlıklı ortalaması) aynı anda takip etmesinden kaynaklanmaktadır. Bu iki bileşen birleştirilerek her parametre güncelleme adımı, hem geçmiş gradyan yönünü hem de geçmiş gradyan büyüklüğünü dikkate alır; bu yapı sayede sık güncellenen parametreler küçük adımlar atarken seyrek güncellenen parametreler büyük adımlar atabilmektedir. Algoritmanın iki kritik hiperparametresi vardır: β₁ (varsayılan 0.9) birinci moment için üstel bozunma oranını, β₂ (varsayılan 0.999) ikinci moment için üstel bozunma oranını kontrol eder. ε (epsilon, varsayılan 1e-8) sıfıra bölünmeyi önlemek için eklenen küçük bir sabittir. Öğrenme oranı genellikle 1e-3 ile 1e-4 arasında seçilir. Adam, başlangıç moment tahminlerinin sıfıra yanlılığını düzeltmek için önyargı düzeltmesi (bias correction) mekanizması içerir. Bu mekanizma özellikle eğitimin ilk adımlarında daha kararlı güncellemeler yapılmasını mümkün kılar. GPT, BERT, ResNet ve diğer modern derin öğrenme modellerinin büyük çoğunluğu varsayılan olarak Adam ile eğitilmektedir. AdaGrad ve RMSProp algoritmalarının avantajlarını birleştiren Adam, geniş bir model sınıfında iyi performans sergilemektedir. Doğal dil işleme, bilgisayarlı görü ve pekiştirmeli öğrenme gibi alanlarda fiilî standart optimizasyon algoritması hâline gelmiştir. Büyük ölçekli model eğitiminde Adam'ın bellek tüketimi kritik bir etkendir. Her parametre için iki moment tahmini saklandığından bellek maliyeti SGD'nin yaklaşık üç katıdır. Bu nedenle 2024-2025 döneminde Llama 3 ve Gemini 1.5 gibi mimarilerin bazı varyantlarında 8-bit ve 4-bit Adam uygulamaları (bitsandbytes kütüphanesi) kullanılarak GPU bellek tüketimi önemli ölçüde azaltılmıştır.

arrow_forward
schema

Algoritma (Algoritma)

Algoritma, belirli bir problemi çözmek veya bir görevi gerçekleştirmek için izlenen, sıralı ve sonlu adımlar dizisidir. Programlamadan matematiğe, gündelik hayattaki tariflerden arama motorlarına kadar her sistemin temelinde algoritmalar yatar. Bir algoritmanın dört temel özelliği vardır: sonlu sayıda adımdan oluşması, her adımın açık ve net biçimde tanımlanmış olması, belirli bir giriş alarak belirli bir çıkış üretmesi ve her giriş için bir süre sonra tamamlanması. Algoritmalar beş temel kategoride incelenir: sıralama (Bubble Sort, Merge Sort, Quick Sort), arama (Binary Search, Breadth-First Search, Depth-First Search), grafik gezimi (Dijkstra, Bellman-Ford), dinamik programlama (Fibonacci, Knapsack problemi) ve açgöz (greedy) yaklaşımlar. Her kategori farklı problem türlerine özgü çözüm stratejileri sunar. Divide & conquer stratejisi büyük problemleri küçük alt problemlere böler ve ardından çözümleri birleştirir. Algoritma karmaşıklığı Büyük O Notasyonu ile ölçülür. O(1) sabit zaman; O(log n) logaritmik; O(n) doğrusal; O(n log n) doğrusal-logaritmik; O(n²) karesel karmaşıklığı ifade eder. Girdi boyutu milyonları aştığında bu farklar kritik hale gelir: O(n²) bir algoritma yerine O(n log n) kullanmak saatler yerine saniyelere inebilir. En iyi, ortalama ve en kötü durum analizi farklı senaryolar için ayrı değerlendirilir. Yapay zeka ve makine öğrenmesinde algoritmalar eğitim sürecinin çekirdeğini oluşturur. Stokastik Gradyan İnişi (SGD) ve Adam Optimizer, kayıp fonksiyonunu minimize etmek için model parametrelerini iteratif olarak günceller. Karar ağacı bölme kriterleri (Gini, Entropi), her düğümde en bilgi verici ayırımı belirleyen algoritmalardır. Geri yayılım algoritması derin öğrenme modellerinin öğrenmesinin temel motorudur; zincir kuralı ile her katmanın katkısını hesaplar. Günlük hayatta algoritmalar YouTube öneri sistemi, Google Arama sıralaması ve navigasyon uygulamalarındaki en kısa yol hesaplamasında çalışır. Bir yemek tarifi de algoritma sayılabilir: belirli malzemeler giriş, adım adım talimatlar işlem, hazır yemek çıkıştır. Türkiye'de e-ticaret platformları, bankacılık dolandırıcılık tespiti ve trafik optimizasyon sistemleri algoritma yoğun alanlardır.

arrow_forward
code_blocks

Dynamic Programming (Dinamik Programlama)

Dinamik programlama (DP), karmaşık problemleri birbiriyle örtüşen alt problemlere ayrıştırarak çözen ve her alt problemin sonucunu bellekte saklayarak aynı hesaplamanın tekrar yapılmasını önleyen bir algoritma tasarım paradigmasıdır. Yöntem, 1950'lerde ABD'li matematikçi Richard Bellman tarafından geliştirilmiş; adındaki "programlama" sözcüğü yazılım değil, matematiksel optimizasyonu ifade etmektedir. Dinamik programlamanın iki temel koşulu vardır: optimal altyapı (optimal substructure) — bir problemin optimal çözümü, alt problemlerinin optimal çözümlerinden oluşmalıdır; örtüşen alt problemler (overlapping subproblems) — aynı alt problemler defalarca karşılaşılmalıdır. Bu iki özelliğin bir arada bulunduğu yerde DP büyük verimlilik kazanımları sağlar. Uygulamada iki ana strateji kullanılır: tabanlı yaklaşım (bottom-up/tabulation) en küçük alt problemden başlayarak büyük probleme iteratif biçimde ilerler ve sonuçları bir tabloda depolar; yukarıdan aşağıya yaklaşım (top-down/memoization) özyinelemeli çağrıları önbelleğe alarak aynı hesaplamaların tekrarını engeller. Yapay zeka ve makine öğrenimi alanında dinamik programlama hayati önem taşır. Pekiştirmeli öğrenmede (reinforcement learning) politika değerlendirme (policy evaluation) ve politika yineleme (policy iteration) algoritmaları doğrudan DP ilkelerine dayanır. Bellman denklemi — DP'nin kurucusu tarafından formüle edilmiş — modern Q-öğrenmesinin ve derin pekiştirmeli öğrenmenin (DRL) matematiksel temelini oluşturur. Markov karar süreçleri (MDP) çözümünde hem değer yineleme (value iteration) hem de politika yineleme DP formülasyonuna dayanır. Doğal dil işlemede Levenshtein (düzenleme) mesafesi iki dizi arasındaki minimum edit sayısını DP tablosuyla hesaplar; Viterbi algoritması Gizli Markov Modellerinde (HMM) en olası durum dizisini DP ile bulur; CTC (Connectionist Temporal Classification) kaybı ise ses tanıma modellerinde hizalama belirsizliğini DP ile çözer. Tokenizasyonda kullanılan BPE (Byte Pair Encoding) algoritması da DP prensiplerinden yararlanır. Klasik DP örnekleri arasında En Uzun Ortak Alt Dizi (LCS), 0/1 Sırt Çantası, Matris Zinciri Çarpımı ve Floyd-Warshall en kısa yol algoritması sayılabilir. Modern yapay zeka bağlamında Monte Carlo Ağaç Araması (MCTS) ve bazı hiperparametre optimizasyonu yaklaşımları da DP fikirlerinden faydalanır.

arrow_forward
biotech

Evrimsel Algoritma (Evrimsel Algoritma)

Evrimsel algoritmalar, doğal seçilim, kalıtım ve genetik dönüşüm ilkelerinden ilham alan popülasyon tabanlı metasezgisel optimizasyon yöntemlerinin genel adıdır. Bu algoritmalar, bir dizi aday çözümden oluşan başlangıç popülasyonuyla çalışmaya başlar ve her nesilde bu popülasyonu değerleyerek, seçerek ve dönüştürerek daha iyi çözümlere doğru iteratif biçimde ilerler. Temel işleyiş döngüsü dört ana adımdan oluşur: Başlatma aşamasında rastgele ya da sezgisel yöntemle aday bireyler oluşturulur; her birey problemi temsil eden bir kodlamadır (bit dizisi, gerçek sayı vektörü veya program ağacı). Uygunluk değerlendirmesi (fitness evaluation) aşamasında her bireyin problemi ne kadar iyi çözdüğü sayısal olarak ölçülür. Seçilim operatörü, daha yüksek uygunluğa sahip bireyleri üremeye tercih ederek bilginin bir nesilden diğerine aktarılmasını sağlar. Son olarak çaprazlama ve mutasyon operatörleri yeni bireyler üretir; mutasyon arama uzayında çeşitliliği koruyarak erken yakınsamayı engeller. Döngü, belirlenen durdurma kriteri karşılanana kadar sürer. Evrimsel algoritmalar, gradyan tabanlı yöntemlerin yetersiz kaldığı senaryolarda güçlü alternatifler sunar: türev hesaplanamayan, ayrık veya çok-modlu amaç fonksiyonları, simülasyon tabanlı kara-kutu optimizasyonu ve NP-zor kombinatoryal problemler bu senaryoların başında gelir. Birden fazla bireyi paralel değerlendirme kapasitesi, çok çekirdekli ve dağıtık hesaplama ortamlarında önemli hız avantajı sağlar. Başlıca türler arasında Genetik Algoritmalar (GA), Kovaryans Matris Adaptasyonu (CMA-ES), Diferansiyel Evrim (DE), Genetik Programlama (GP) ve NEAT sayılabilir. 2006 yılında NASA'nın ST5 uydusunun anteni bu yöntemle tasarlanmış; geleneksel mühendislik yaklaşımlarını aşan, sezgisel-olmayan bir geometriye ulaşılmıştır. Yapay zeka alanında CMA-ES ve OpenAI ES, pekiştirmeli öğrenme politika aramasında gradyan iniş yöntemleriyle rekabet edebilecek düzeyde etkisini kanıtlamıştır. Hibrit yaklaşımlarda ise evrimsel algoritmalar genel bir arama yaparak iyi başlangıç noktaları belirler, ardından gradyan iniş yerel ince ayarı tamamlar.

arrow_forward
code_blocks

Genetic Programming (Genetik Programlama)

Genetic Programming (GP), genetik algoritmaların bir uzantısı olarak bireylerin sabit uzunluklu bit dizileri yerine yürütülebilir bilgisayar programları olduğu evrimsel bir hesaplama yöntemidir. John Koza tarafından 1992'de sistematik biçimde formüle edilen GP, doğal seleksiyonu programların yüksek seviyeli sembolleriyle çalışacak şekilde uyarlar. Her birey, tipik olarak ağaç veri yapısıyla temsil edilir: dallar aritmetik operatörler, mantıksal koşullar veya döngü yapıları gibi işlevleri, yapraklar ise sabitler ya da değişkenler (terminaller) içerir. Bir popülasyon başlatıldıktan sonra üç temel evrimsel operatör devreye girer. Seçim operatörü, bir değerlendirme fonksiyonuna göre en iyi bireyleri bir sonraki nesle taşır. Çaprazlama, iki ebeveyn ağacından rastgele seçilen alt ağaçların yer değiştirmesiyle hibrit çocuklar üretir. Mutasyon ise rastgele bir düğümü ya da alt ağacı yeniden oluşturarak keşif kapasitesini artırır. GP'nin en güçlü uygulama alanlarından biri sembolik regresyondur: gözlem verilerinden en uygun matematiksel denklemi otomatik olarak türetir. Bu yaklaşım, fizik ve mühendislik verilerinden anlamlı denklemler çıkarmak için kullanılır; örneğin PySR kütüphanesi Feynman denklemlerini otomatik olarak yeniden keşfetmiştir. Bunların yanı sıra GP; FPGA devre tasarımı, robotik hareket planlama, oyun stratejisi öğrenme ve yazılım hata onarımı gibi alanlarda da geniş kullanım bulur. Önemli bir dezavantaj bloat sorunudur: nesiller ilerledikçe programlar gereksiz kod parçalarıyla şişer ve hesaplama maliyeti artar; bunu önlemek için ağaç boyutu sınırlamaları veya parsimony pressure (boyut cezası) eklenir. Modern varyantlar arasında Grammatical Evolution (BNF gramerleriyle arama uzayını kısıtlar), Linear Genetic Programming (ağaç yerine doğrusal talimat dizileri kullanır) ve Strongly-Typed GP (tür güvenliğini zorlayan uzantı) yer alır. Derin öğrenme çağında GP, differansiyellenebilir GP ve nöral ağlarla hibrit mimarilerde yeniden ilgi görmekte; AutoML ve NAS (Neural Architecture Search) araştırmalarıyla kesişmektedir.

arrow_forward
code_blocks

Greedy Algorithm (Açgözlü Algoritma)

Açgözlü algoritma (Greedy Algorithm), bir problemi çözerken her adımda o anki duruma göre yerel olarak en iyi görünen kararı veren ve bu kararları geri almadan ilerleyen bir algoritma tasarım paradigmasıdır. "Açgözlü" adı, algoritmanın şu anın en iyi seçimini yaparken gelecekteki sonuçları göz ardı etmesinden kaynaklanmaktadır. Temel mantığı şudur: Her karar noktasında mevcut bilgilerle alınabilecek en iyi seçimi yap, bu kararı kesin kabul et ve bir sonraki adıma geç. Geri dönüş (backtracking) ya da yeniden değerlendirme yapılmaz. Bu özellik açgözlü algoritmaları genellikle çok hızlı kılar, ancak her zaman global optimum sonucu garantilemez. Açgözlü algoritmaların doğru çalışabilmesi için iki matematiksel koşulun sağlanması gerekir: Açgözlü Seçim Özelliği (Greedy Choice Property) — her adımdaki yerel optimal seçim, global optimum çözümün bir parçasıdır; ve Optimal Alt Yapı (Optimal Substructure) — problemin optimal çözümü, alt problemlerin optimal çözümlerini içerir. Bu koşullar sağlandığında açgözlü algoritmalar kusursuz çalışır: Kruskal ve Prim algoritmaları ile Minimum Yayılan Ağaç (MST) bulma, Dijkstra algoritması ile en kısa yol hesaplama, Huffman kodlaması ile kayıpsız veri sıkıştırma ve çizelgeleme problemleri bunların en bilinen örnekleridir. Yapay zeka ve makine öğrenmesinde açgözlü yaklaşım yaygındır. Karar ağaçlarında her düğüm için en bilgi kazandıran özelliği seçme, greedy decoding ile büyük dil modellerinde her adımda en yüksek olasılıklı token üretme ve nöral mimari arama süreçlerinde açgözlü stratejiler kullanılır. Özellik seçimi (feature selection) aşamasında da açgözlü ileri seçim (greedy forward selection) sık tercih edilir. Açgözlü algoritmaların dezavantajı, yerel optimuma takılıp global optimumu kaçırabilmesidir. Örneğin gezgin satıcı probleminde açgözlü yaklaşım iyi ama çoğunlukla optimal olmayan sonuçlar verir. Bu sınırlamayı aşmak için simüle tavlama (Simulated Annealing), genetik algoritmalar veya dinamik programlama tercih edilebilir. Beam search ise açgözlü decoding ile kapsamlı arama arasında bir denge kurar.

arrow_forward
code_blocks

Hiperparametre (Hiperparametre)

Hiperparametre, bir makine öğrenimi modelinin eğitim sürecini dışarıdan yöneten ve eğitim başlamadan önce belirlenmesi gereken yapılandırma değişkenidir. Öğrenme hızı (learning rate), katman sayısı, gizli birim sayısı, batch boyutu, dropout oranı ve regularizasyon katsayısı bunun başlıca örnekleridir. Model parametrelerinden temel farkı şudur: parametreler (ağırlıklar, bias değerleri) eğitim sırasında gradyan inişiyle otomatik olarak güncellenir; hiperparametreler ise öğrenme algoritmasının dışındadır ve araştırmacı ya da otomatik bir arama süreci tarafından belirlenir. Yanlış ayarlanmış bir hiperparametre, model ne kadar güçlü olursa olsun yetersiz öğrenmeye (underfitting) veya eğitim verisini ezberlemeye (overfitting) yol açar. Öğrenme hızı çok yüksek ayarlandığında model ıraksar; çok düşük olduğunda ise eğitim aşırı yavaşlar ve yerel minimumlara takılır. Bu nedenle hiperparametre optimizasyonu (HPO), başarılı bir ML projesinin ayrılmaz parçasıdır. Günümüzde Optuna, Ray Tune ve Weights & Biases Sweeps gibi kütüphaneler bu süreci otomatikleştirir. Büyük dil modeli eğitimlerinde hiperparametre seçimi milyarlarca dolarlık hesaplama bütçelerini doğrudan etkiler; bu yüzden küçük proxy modeller üzerinde yapılan HPO denemeleri, maliyeti kısıtlamak için kritik bir strateji haline gelmiştir. Transformer mimarisinde hiperparametre uzayı geleneksel derin öğrenme modellerine kıyasla çok daha geniştir: dikkat başlığı sayısı (num_attention_heads), gömme boyutu (d_model), ileri besleme katmanı genişliği (d_ff) ve bağlam penceresi uzunluğu (context length) birbirine bağlı değerlerdir. Araştırmalar d_model ile num_attention_heads arasındaki 64:1 oranının çoğu görevde iyi bir başlangıç noktası olduğunu göstermektedir. Bu nedenle yalnızca öğrenme hızını optimize etmek yetmez; mimariye özgü değerler de sistematik biçimde keşfedilmelidir. Hiperparametre duyarlılık analizi, hangi değişkenlerin modeli en çok etkilediğini belirlemeye yarar; önemsiz boyutları sabitleyip kritik olanlara odaklanmak arama süresini önemli ölçüde kısaltır. Bütçe kısıtlı projelerde deneyimli pratisyenlerin kullandığı başlangıç değerleri bunun tipik örnekleridir: öğrenme hızı için 3e-4 (yaygın olarak Karpathy sabiti adıyla anılır), weight decay için 0.1, dropout oranı için 0.1. Bu değerlerden başlayıp küçük kapsamlı bir arama ile kendi veri setine göre rafine etmek mühendislik maliyetini minimize eder.

arrow_forward
code_blocks

Quantum Machine Learning (Kuantum Makine Öğrenimi)

Quantum Machine Learning (QML — Kuantum Makine Öğrenimi), kuantum hesaplama ilkeleriyle klasik makine öğrenmesi algoritmalarını birleştiren disiplinlerarası bir araştırma alanıdır. QML, kuantum bilgisayarların süperpozisyon, dolanıklık (entanglement) ve girişim (interference) özelliklerinden yararlanarak belirli öğrenme ve optimizasyon görevlerini klasik bilgisayarlara kıyasla daha hızlı ya da daha verimli biçimde gerçekleştirmeyi hedefler. Kuantum bitleri (kübit), süperpozisyon ile aynı anda 0 ve 1 durumlarının doğrusal birleşiminde bulunabilir; bu özellik, belirli hesaplamaların paralel yürütülmesini olanaklı kılar. İki kübit arasındaki kuantum dolanıklığı ise aralarında klasik iletişim gerekmeksizin güçlü korelasyonlar oluşturur. Teorik analizler, doğrusal denklem sistemlerinde üstel hızlanma (HHL algoritması) ve yapılandırılmamış aramada karesel hızlanma (Grover algoritması) öngörmektedir. Temel QML yaklaşımları arasında Kuantum Destek Vektör Makineleri (QSVM), Değişimsel Kuantum Devreler (VQC), Kuantum Sinir Ağları (QNN) ve Kuantum Yaklaşık Optimizasyon Algoritması (QAOA) öne çıkmaktadır. VQC'ler parametrik kuantum kapılarıyla oluşturulmuş ve klasik optimizörlerle eğitilen hibrit devrelerdir; NISQ (Noisy Intermediate-Scale Quantum) çağının en gerçekçi yaklaşımı olarak kabul görmektedir. Değişimsel Kuantum Özdeğer Çözücüsü (VQE) ise kimya simülasyonu ve ilaç keşfinde moleküler enerji hesaplamak için kullanılmaktadır. NISQ çağında mevcut kuantum işlemciler yüzlerce fiziksel kübit içermekte; ancak gürültü ve hata oranları yüksek kalmaktadır. Genel amaçlı makine öğrenmesi görevlerinde kanıtlanmış bir kuantum hızlanması henüz pratik ölçekte gösterilememiştir. PennyLane, Qiskit Machine Learning ve TensorFlow Quantum gibi açık kütüphaneler, klasik ML araçlarıyla entegre hibrit iş akışları geliştirmeyi kolaylaştırmakta ve araştırmacıların gerçek kuantum donanımlarında deney yapmasını erişilebilir kılmaktadır. Bu araç ekosistemi, QML'nin teorik potansiyelini pratik uygulamaya taşımanın önündeki en kritik köprü işlevi görmektedir. Kuantum hesaplama, ilaç molekülü tasarımını, kriptografiyi ve finans portföy optimizasyonunu dönüştürme potansiyeli taşımakta; QML bu potansiyelin makine öğrenmesi boyutunu oluşturmaktadır.

arrow_forward
thermostat

Simulated Annealing (Benzetimli Tavlama)

Benzetimli Tavlama (Simulated Annealing), fizikteki metal tavlama sürecinden esinlenen olasılıksal bir optimizasyon algoritmasıdır. Metal tavlama işleminde erimiş metal yavaşça soğutularak atom dizilişi minimum enerji durumuna ulaşır; benzer şekilde bu algoritma da çözüm uzayında küresel minimumu (veya maksimumu) aramak için kontrollü bir soğuma stratejisi kullanır. Algoritma 1983 yılında Scott Kirkpatrick, C. Daniel Gelatt Jr. ve Mario P. Vecchi tarafından Science dergisinde yayımlanmıştır. Temel çalışma prensibi Metropolis-Hastings kabulüne dayanır: yeni çözüm daha iyiyse kesinlikle kabul edilir; daha kötüyse exp(-(ΔE)/T) olasılığıyla kabul edilir. Burada ΔE kötüleşme miktarı, T ise anlık sıcaklık değeridir. Başlangıçta yüksek T, kötü adımları bile kabul ederek geniş alanı keşfeder; T azaldıkça algoritma yerel arama moduna geçer. Bu mekanizma, gradyan tabanlı yöntemlerin çözemediği çok modlu (non-convex) problemlerde güçlü bir avantaj sunar. Pratik uygulamalarda son derece geniş bir kapsama sahiptir: gezgin satıcı problemi (TSP), çizelgeleme optimizasyonu, VLSI devre yerleşimi, portföy optimizasyonu ve protein katlama simülasyonlarında yıllardır başvuru algoritması olma özelliğini korumaktadır. Hiperparametre araması ve Sinir Mimarisi Araması (Neural Architecture Search) gibi derin öğrenme görevlerinde de kullanılmaktadır. Gradient descent ile karşılaştırıldığında türevlenebilir bir hedef fonksiyonu gerektirmez; kara kutu optimizasyonu için idealdir. Genetik algoritmalardan farklı olarak tek çözüm üzerinde iterasyon yapar ve bellek gereksinimi düşüktür. 2023-2026 döneminde kuantum tavlama (Quantum Annealing) yaklaşımları, fiziksel kuantum süperpozisyonunu kullanarak tünel etkisiyle yerel tuzakları aşmaktadır; D-Wave gibi donanımlar belirli kombinatoryal problemlerde klasik SA'yı geride bırakmaktadır. Python'da scipy.optimize.dual_annealing standart bir uygulama sunarken nelderoptimize ve inspyred kütüphaneleri özel soğuma programları için esneklik sağlar. Soğuma programının seçimi algoritma performansını doğrudan belirler. Geometrik soğuma (T ← α·T, 0.80 < α < 0.99) en yaygın yaklaşımdır; çok hızlı soğuma lokal minimuma hapsolmaya, çok yavaş soğuma ise aşırı uzun çalışma sürelerine yol açar.

arrow_forward
scale

Weights and Biases (Ağırlıklar ve Sapmalar)

Ağırlıklar (Weights) ve Sapmalar (Biases), bir yapay sinir ağındaki öğrenilebilir parametrelerin iki temel bileşenidir. Ağırlıklar, bir önceki katmandan gelen her girdinin çıktıya katkısının gücünü; sapmalar ise nöronun girdi sinyalinden bağımsız olarak tetiklenme eşiğini belirler. Model eğitimi bu iki parametre grubunun kayıp fonksiyonunu minimize edecek biçimde güncellenmesinden ibarettir. Matematiksel açıdan bir tam bağlantılı (fully connected) nöron şu işlemi gerçekleştirir: giriş vektörü x ile ağırlık matrisi W'nın iç çarpımı alınır, bias terimi b eklenir ve aktivasyon fonksiyonundan geçirilir: y = f(Wx + b). Ağırlıklar genellikle Xavier veya He başlatma yöntemleriyle rastgele, sapma değerleri ise sıfır veya küçük sabitlerle başlatılır; rastgele simetri kırma olmadan tüm nöronlar özdeş kalır. Eğitim sürecinde stokastik gradyan inişi (SGD) ve türevleri (Adam, AdamW, RMSProp) geri yayılım algoritmıyla hesaplanan gradyanlar yönünde parametreleri günceller. Öğrenme hızı (learning rate) bu adım büyüklüğünü kontrol eden kritik hiper parametredir; çok büyük öğrenme hızı kararsız eğitime, çok küçük öğrenme hızı ise yavaş yakınsamaya neden olur. Parametre sayısı model kapasitesini doğrudan belirler. GPT-3'ün 175 milyar, Llama 3.1 405B'nin ise 405 milyar parametresi mevcuttur. Bu parametrelerin tamamı çoğunlukla Float16 veya BF16 biçiminde depolanır; 7 milyar parametreli bir model FP16'da yaklaşık 14 GB VRAM gerektirir. L1 ve L2 düzenlileştirme (regularization) yöntemleri, ağırlıkların aşırı büyümesini cezalandırarak aşırı öğrenmeyi (overfitting) dizginler. Transferi öğrenme (transfer learning) bağlamında önceden eğitilmiş bir modelin ağırlıkları yeni bir görev için başlangıç noktası olarak kullanılır. Sadece son katmanların ağırlıkları güncellenmesi (fine-tuning), tüm modeli sıfırdan eğitmeye kıyasla çok daha az veri ve hesaplama gerektirir. LoRA (Low-Rank Adaptation) ise ağırlık matrislerini düşük ranklı matrislerle temsil ederek eğitilecek parametre sayısını dramatik biçimde azaltır; bu yöntem büyük dil modellerinin tüketici donanımında ince ayarlanmasını mümkün kılan temel tekniktir.

arrow_forward