Neural Network (NN)
Sinir ağı (NN), ağırlıkları verilerden öğrenilen, birbirine bağlı yapay nöron katmanlarından oluşur. Nöronların nasıl hesaplama yaptığını, eğitimi ve başlıca türleri ele alır.
Sinir ağı (NN), yapay sinir ağı (ANN) olarak da bilinir ve nöron adı verilen basit, bağlantılı birimlerin katmanlarından oluşan bir makine öğrenmesi (ML) modelidir. Her nöron, girdilerini ağırlıklarla çarpar, bir bias ekler ve toplamı doğrusal olmayan bir aktivasyon işlevinden geçirir. Ağ, çıktıları eğitim verilerindeki örneklerle eşleşene kadar bu ağırlıkları ve bias değerlerini ayarlayarak öğrenir; böylece davranışı verilerden öğrenilmiş olur. Tasarım biyolojik nöronlardan kabaca esinlenmiş olsa da modern ağları büyük, eğitilebilir matematiksel işlevler olarak anlamak daha doğrudur. Çok katmanlı ağlar derin öğrenmenin (DL) konusudur ve bilgisayarlı görüye, konuşma tanımaya ve büyük dil modellerine (LLM'ler) güç verir.
Sinir Ağı Nasıl Hesaplama Yapar#
Nöronlar katmanlar hâlinde düzenlenir. Girdi katmanı piksel değerleri veya sensör okumaları gibi verileri alır, bir veya daha fazla gizli katman bu verileri dönüştürür ve çıktı katmanı sınıf puanları ya da tahmin edilen bir değer gibi tahminleri üretir. Tam bağlantılı bir katmanda her nöron, önceki katmanın tüm çıktılarını alır; dolayısıyla katmanın tamamı, eleman bazında aktivasyonun izlediği bir matris çarpımıdır. Verinin tüm katmanlardan sırayla geçmesine ileri geçiş denir. Derinliği yararlı kılan aktivasyondur: aktivasyon olmadan üst üste yığılmış katmanlar tek bir doğrusal işlevde birleşir. Aktivasyon sayesinde, yeterince geniş tek bir gizli katmana sahip bir ağ bile her sürekli işlevi istenen doğrulukta yaklaşık olarak ifade edebilir; bu sonuç evrensel yaklaşım teoremi olarak bilinir.
Aşağıdaki PyTorch kodu önce tek bir nöronun hesabını elle, ardından dört nörondan oluşan bütün bir katmanın hesabını aynı anda yapar:
import torch
from torch import nn
torch.manual_seed(1)
x = torch.tensor([0.5, -1.0, 2.0]) # one example with three input features
# A layer of four neurons: each has three weights and one bias
layer = nn.Linear(in_features=3, out_features=4)
# Neuron 0 by hand: weighted sum of inputs plus bias, then a ReLU activation
z = (layer.weight[0] * x).sum() + layer.bias[0]
print(f"Neuron 0 by hand: {torch.relu(z).item():.4f}")
# The layer computes all four neurons at once as one matrix multiplication
outputs = torch.relu(layer(x))
print(f"All four neurons: {[round(v, 4) for v in outputs.tolist()]}")Şu çıktıyı verir: Neuron 0 by hand: 0.3906 ve All four neurons: [0.3906, 1.1465, 0.0, 0.0]. Elle yapılan hesaplama, katmanın ilk nöronuyla eşleşir; ReLU aktivasyonu ise ağırlıklı toplamları negatif olan iki nöronu sıfıra ayarlar. Katmanda öğrenilebilir 16 sayı bulunur: 12 ağırlık ve 4 bias. Gerçek ağlar bu tür katmanları üst üste koyarak milyonlarca veya milyarlarca parametreye ulaşır.
Sinir Ağları Nasıl Öğrenir?#
Eğitim rastgele ağırlıklarla başlar ve basit bir döngüyü yineler. Etiketlenmiş örneklerden oluşan bir yığın ağdan ileri yönde geçer; bir kayıp işlevi tahminlerin etiketlerden ne kadar farklı olduğunu ölçer; geri yayılım, her ağırlığın bu hataya ne ölçüde katkıda bulunduğunu hesaplamak için zincir kuralını uygular ve stokastik gradyan inişi (SGD) veya Adam gibi bir optimizer, kaybı azaltan yönde her ağırlığı biraz değiştirir. Eğitim kümesinin tamamında yapılan tek bir geçişe epoch denir. Ağ, eğitim kümesine uyum sağlamayı bu noktadan sonra da sürdürdüğünde aşırı öğrenme başladığından, eğitim genellikle ayrılmış doğrulama verilerindeki kayıp artık iyileşmediğinde durur.
Sıfırdan eğitim genellikle büyük etiketli veri kümeleri gerektirir; aktarım öğrenmesi ise büyük bir veri kümesinde önceden eğitilmiş ağırlıklarla başlayarak bu gereksinimi azaltır. Öğrenilmiş milyonlarca ağırlığı yorumlamak da zordur; bu durum açıklanabilir yapay zekâ (XAI) araştırmalarını teşvik eder.
Başlıca Sinir Ağı Türleri#
Mimarisi adı verilen nöron bağlantı biçimi, bir ağın hangi verileri iyi işlediğini belirler:
- İleri beslemeli ağlar: Veriyi tek yönde ileten tam bağlantılı katmanlardır; çok katmanlı algılayıcılar (MLPs) olarak da adlandırılır. Tablo verileri için uygundur ve daha büyük modellerin yapı taşları olarak kullanılır.
- Evrişimli sinir ağları (CNNs): Görüntü üzerinde evrişim kullanarak küçük, paylaşılan filtreler kaydırırlar; bu, görme görevlerinde standart tasarımdır. Artık bağlantılar, yüzlerce katmana ulaşmalarını sağlar.
- Tekrarlayan sinir ağları (RNNs): Gizli durumu taşırken dizileri adım adım işlerler; LSTM ve daha uzun belleğe sahip GRU gibi kapılı sürümleri vardır.
- Transformer'lar: Bir dizinin her öğesini diğer tüm öğelerle paralel olarak ilişkilendirmek için öz-dikkat kullanırlar. LLM'lere ve görsel Transformer'larına güç verirler.
- Darbeli sinir ağları (SNNs): Biyolojik nöronlara daha yakın biçimde, zaman içinde ayrık darbelerle iletişim kurarlar ve nöromorfik yongalarda verimli çalışırlar.
Günümüzdeki modellerin çoğu bu tasarımları bir araya getirir. YOLO26, en düşük çözünürlüklü özellik haritalarında öz-dikkat blokları kullanan bir evrişimli ağdır. Nano tespit modeli, 640×640 boyutundaki bir görüntüde nesnelerin konumunu belirleyip sınıflandırmak için yaklaşık 2,4 milyon parametre kullanır ve bunu tek bir ileri geçişte yapar.
Sinir Ağları ve İlgili Terimler#
- Derin öğrenme: Bir veya iki gizli katmanı olan sinir ağı sığdır. Derin öğrenme, ham verilerden kendi özellik hiyerarşilerini öğrenen çok katmanlı ağları eğitme pratiğidir. Her derin öğrenme modeli bir sinir ağıdır.
- Makine öğrenimi: Sinir ağları; karar ağaçları, destek vektör makineleri ve gradyan artırmalı ağaçların yanı sıra makine öğrenimi modellerinin bir ailesidir. Bu diğer yöntemler tablo verilerinde hâlâ güçlü rakiplerdir.
- Biyolojik sinir ağları: Gerçek nöronlar zamanlanmış elektriksel darbelerle iletişim kurar ve yapay nöronların modellemediği kimyasal süreçlerle uyum sağlar. Darbeli sinir ağları bu davranışın daha büyük bölümünü standart ağlardan daha iyi taklit eder.
Kısa Bir Tarihçe#
Warren McCulloch ve Walter Pitts, 1943'te nöronun matematiksel bir modelini tanımladı; bu modelde ikili girdilerin toplamı bir eşiği aştığında birim etkinleşiyordu. Frank Rosenblatt'ın 1958'de geliştirdiği algılayıcı, bu tür birimlerin ağırlıklarını örneklerden öğrendi. Ancak 1969'da Marvin Minsky ve Seymour Papert, tek katmanlı bir algılayıcının XOR işlevini bile hesaplayamadığını gösterdi ve konuya ilgi azaldı. Çok katmanlı ağlar XOR'u çözebilir. 1986'da David Rumelhart, Geoffrey Hinton ve Ronald Williams, geri yayılımın gizli katmanları yararlı iç temsiller öğrenmeleri için eğittiğini gösterdi. AlexNet'in iki GPU üzerinde eğitilip ImageNet yarışmasını %15,3'lük ilk-5 hata oranıyla kazanması ve sonraki en iyi katılımcının %26,2'de kalmasıyla, derin ağlar 2012'de bilgisayarlı görüye hâkim oldu.










