🤖
ROBOT KODLA
Öğrenmeye Başla →
🧠 Yapay Zeka İleri

Yapay Sinir Ağları (ANN) Nasıl Çalışır? Biyolojik Beyinden Koda

Yapay sinir ağları mimarisi nedir? Perceptron yapısı, aktivasyon fonksiyonları (ReLU, Sigmoid), gradyan inişi ve sıfırdan Python nöron simülasyonu.

İnsan beyni, kafatasımızın içinde yaklaşık 86 milyar biyolojik nöron ve bu nöronlar arasında kurulan trilyonlarca sinaptik bağlantı ile evrende bilinen en karmaşık ve verimli bilgi işleme makinesidir. Bir bebeğin annesinin yüzünü saniyenin onda birinde tanıması veya bir kalemi havada yakalamamız, beynimizin olağanüstü paralel işlem kapasitesinin bir sonucudur. Bilgisayar bilimciler yarım asırdır şu sorunun cevabını aramaktadır: "İnsan beyninin bu biyolojik mimarisini matematiksel formüllerle taklit edebilir miyiz?" İşte bu sorunun yanıtı Yapay Sinir Ağları (Artificial Neural Networks - ANN) ve Derin Öğrenme devrimidir. Bu rehberde, yapay nöronların iç yapısını, aktivasyon fonksiyonlarını ve ağırlıkların nasıl güncellendiğini en anlaşılır şekilde inceliyoruz.

1. Biyolojik Nöron ile Yapay Nöron (Perceptron) Karşılaştırması

1957 yılında Frank Rosenblatt tarafından icat edilen Perceptron (Algılayıcı), tarihteki ilk yapay nöron modelidir:

Biyolojik BeyinYapay Sinir Ağı (ANN)Matematiksel Karşılığı
DendritlerGiriş Kanalları ($X_1, X_2, \dots, X_n$)Sensörlerden veya piksellerden gelen veriler
SinapslarAğırlıklar ($W_1, W_2, \dots, W_n$)Bilginin önemini belirleyen katsayılar
Hücre Gövdesi (Soma)Toplam ve Aktivasyon FonksiyonuGirişlerin ağırlıklı toplamı: $\sum (X_i \cdot W_i) + b$
AksonÇıkış Değeri ($Y$)Karar veya tahmin sonucu (0 veya 1)

Yapay bir nöronda her girdiye bir "Ağırlık" ($W$) atanır. Eğer bir girdi karar için çok önemliyse ağırlığı büyüktür; önemsizse küçüktür. Ayrıca sistemin sıfırdan sapmasını sağlayan bir de Yanlılık (Bias / $b$) değeri eklenir.

2. Aktivasyon Fonksiyonları: Neden Düz Çizgiler Yetmez?

Nöronun içinde ağırlıklı toplam hesaplandıktan sonra bu değer bir Aktivasyon Fonksiyonundan geçirilir. Aktivasyon fonksiyonunun görevi sisteme Doğrusalsızlık (Non-linearity) kazandırmaktır; çünkü gerçek hayattaki karmaşık problemler (yüz tanıma, ses analizi) basit doğrusal denklemlerle ($y = ax + b$) çözülemez.

En Popüler Aktivasyon Fonksiyonları:

  • Sigmoid: Çıktıyı 0 ile 1 arasına sıkıştırır. Olasılık hesaplamalarında kullanılır.
  • $$\sigma(z) = rac{1}{1 + e^{-z}}$$

  • ReLU (Rectified Linear Unit): Modern derin öğrenmenin kralıdır! Eğer değer negatifse 0 yapar, pozitifse olduğu gibi bırakır: $f(x) = \max(0, x)$. İşlemciyi hiç yormaz ve çok hızlı eğitilir.
  • Softmax: Çok sınıflı problemlerde çıktıların toplamını 1'e (yüzde 100 olasılığa) tamamlar.
  • 3. Çok Katmanlı Ağ Mimarisi (Multilayer Perceptron - MLP)

    Tek bir nöron sadece basit mantık kapılarını çözebilir. Karmaşık problemleri çözmek için yüzlerce nöron katmanlar halinde birbirine bağlanır:

  • Girdi Katmanı (Input Layer): Verilerin ilk alındığı katmandır (Örn: 28x28 piksellik bir resim için 784 girdi nöronu).
  • Gizli Katmanlar (Hidden Layers): Büyünün gerçekleştiği yerdir! İlk gizli katman resimdeki çizgileri ve kenarları tanır; ikinci katman burun ve göz şekillerini birleştirir; üçüncü katman tam bir yüz profili çıkarır.
  • Çıktı Katmanı (Output Layer): Nihai sınıflandırma kararını verir (Örn: %92 İhtimalle Kedi).
  • 4. Bir Yapay Zeka Nasıl Öğrenir? Geri Yayılım ve Gradyan İnişi

    Yapay sinir ağı ilk kurulduğunda tüm ağırlıklar ($W$) tamamen rastgele atanır. Doğal olarak ilk tahminleri tamamen saçmalıktır. Peki bu ağ zamanla nasıl mükemmelleşir?

  • İleri Yayılım (Forward Pass): Veri girdiden girer, katmanlardan geçer ve bir tahmin üretilir.
  • Hata Hesaplama (Loss / Cost Function): Ağın tahmini ile gerçek etiket arasındaki fark (hata payı) hesaplanır.
  • Geri Yayılım (Backpropagation): Hata miktarı çıktı katmanından girdi katmanına doğru geriye doğru zincirleme türev kuralıyla iletilir.
  • Gradyan İnişi (Gradient Descent): Her bir ağırlık, hatayı bir miktar azaltacak yönde milimetrik olarak güncellenir.
  • Bu süreç tıpkı yoğun sis altında bir dağın tepesinde mahsur kalmış bir dağcının, ayağının altındaki en dik eğimi hissederek adım adım aşağıdaki güvenli vadiye inmesine benzer!
  • 5. Python ile Sıfırdan Kütüphanesiz Basit Nöron Simülasyonu

    Aşağıdaki saf Python kodu, hiçbir harici yapay zeka kütüphanesi olmadan Mantıksal VE (AND) kapısını 1000 adımda öğrenen tek bir yapay nöron simülasyonudur:

    import random # VE (AND) Kapısı Doğruluk Tablosu: [Girdi1, Girdi2], Hedef Çıktı
    egitim_verisi = [ ([0, 0], 0), ([0, 1], 0), ([1, 0], 0), ([1, 1], 1)
    ] # Başlangıçta rastgele ağırlıklar ve bias
    w1 = random.uniform(-1, 1)
    w2 = random.uniform(-1, 1)
    bias = random.uniform(-1, 1)
    ogrenme_orani = 0.1 def aktivasyon(toplam): return 1 if toplam >= 0 else 0 # Modeli Eğit (1000 Epoch)
    for epoch in range(1000): for (x1, x2), gercek_hedef in egitim_verisi: toplam = (x1 * w1) + (x2 * w2) + bias tahmin = aktivasyon(toplam) hata = gercek_hedef - tahmin # Ağırlıkları güncelle (Perceptron Öğrenme Kuralı) w1 += ogrenme_orani * hata * x1 w2 += ogrenme_orani * hata * x2 bias += ogrenme_orani * hata print("Eğitim Tamamlandı! Nöron VE Kapısını Öğrendi:")
    for (x1, x2), _ in egitim_verisi: sonuc = aktivasyon((x1 * w1) + (x2 * w2) + bias) print(f"Girdi: [{x1}, {x2}] -> Tahmin: {sonuc}")

    Sonuç

    Yapay sinir ağları, insan zekasının matematiksel bir aynasıdır. Katmanlar derinleştikçe soyutlama yeteneği artan bu mimari; günümüzde kanser hücrelerinin mikroskop altında tespitinden otonom insansız hava araçlarının yönlendirilmesine kadar dünyayı dönüştürmektedir.

    💡

    Yapay Sinir Ağları (ANN) Nasıl Çalışır? Biyolojik Beyinden Koda Hakkında Sıkça Sorulan Sorular

    Bu robotik projeyle ilgili en çok merak edilen noktalar ve uzman yanıtları

    Yapay Sinir Ağları (ANN) Nasıl Çalışır? Biyolojik Beyinden Koda projesini yapmak ne kadar sürer ve kimler için uygundur?▼
    Bu proje ortalama 30-45 dakika sürmektedir. Adım adım montaj rehberi ve test kodları sayesinde okul bilim fuarları, TÜBİTAK sergileri veya evde maker projeleri geliştirmek isteyen tüm meraklılar için uygundur.
    Python kodlarında IndentationError (girinti hatası) nasıl önlenir?▼
    Python'da bloklar süslü parantez yerine girintilerle belirlenir. if, for ve def satırlarından sonra gelen alt satırların 4 boşluk (veya 1 tab) içeride olduğundan ve boşluk ile tab karakterlerinin karıştırılmadığından emin olunmalıdır.
    Yapay Sinir Ağları (ANN) Nasıl Çalışır? Biyolojik Beyinden Koda çalışmasını tamamladıktan sonra nasıl daha ileri bir seviyeye taşıyabilirim?▼
    Bu çalışmaya ek sensörler (kablosuz Bluetooth/Wi-Fi modülü, OLED ekran veya sesli buzzer uyarısı) entegre edebilir; verileri internet ortamına aktararak Nesnelerin İnterneti (IoT) tabanlı akıllı bir sisteme dönüştürebilirsiniz.