Derin öğrenme, son yıllarda yapay zeka alanındaki en heyecan verici gelişmelerden biri haline geldi. Bu yazıda, derin öğrenmenin temellerini ve modern mimarilere nasıl evrildiğini inceleyeceğiz.

Sinir Ağları Nedir?

Sinir ağları, insan beyninin çalışma prensiplerinden esinlenerek geliştirilmiş matematiksel modellerdir. Temel yapı taşı olan nöron, şu formülle ifade edilir:

$$y = f(\sum_{i=1}^{n} w_i x_i + b)$$

Burada:

  • $x_i$: Giriş değerleri
  • $w_i$: Ağırlıklar
  • $b$: Bias terimi
  • $f$: Aktivasyon fonksiyonu

Aktivasyon Fonksiyonları

En yaygın kullanılan aktivasyon fonksiyonları:

1. ReLU (Rectified Linear Unit)


    def relu(x):
        return max(0, x)

2. Sigmoid


import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

3. Tanh


def tanh(x):
    return np.tanh(x)

Geri Yayılım (Backpropagation)

Geri yayılım algoritması, sinir ağlarının eğitilmesinde kullanılan temel yöntemdir. Zincir kuralını kullanarak gradyanları hesaplar:

$$\frac{\partial L}{\partial w} = \frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial w}$$

Convolutional Neural Networks (CNN)

CNN’ler özellikle görüntü işleme görevlerinde başarılıdır. Temel bileşenleri:

  1. Konvolüsyon Katmanı: Özellik haritaları oluşturur
  2. Pooling Katmanı: Boyut indirgeme yapar
  3. Fully Connected Katmanlar: Sınıflandırma için

import torch
import torch.nn as nn
import torch.nn.functional as F

class SimpleCNN(nn.Module):
    def __init__(self):
        super(SimpleCNN, self).__init__()
        self.conv1 = nn.Conv2d(3, 32, kernel_size=3, padding=1)
        self.pool = nn.MaxPool2d(2, 2)
        self.conv2 = nn.Conv2d(32, 64, kernel_size=3, padding=1)
        self.fc1 = nn.Linear(64 * 8 * 8, 128)
        self.fc2 = nn.Linear(128, 10)
        
    def forward(self, x):
        x = self.pool(F.relu(self.conv1(x)))
        x = self.pool(F.relu(self.conv2(x)))
        x = x.view(-1, 64 * 8 * 8)
        x = F.relu(self.fc1(x))
        x = self.fc2(x)
        return x

Transformer Mimarisi

2017’de “Attention is All You Need” makalesiyle tanıtılan Transformer mimarisi, NLP alanında devrim yarattı. Temel konsept olan Self-Attention mekanizması:

$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$

Multi-Head Attention


class MultiHeadAttention(nn.Module):
    def __init__(self, embed_size, heads):
        super(MultiHeadAttention, self).__init__()
        self.embed_size = embed_size
        self.heads = heads
        self.head_dim = embed_size // heads
        
        self.values = nn.Linear(self.head_dim, self.head_dim, bias=False)
        self.keys = nn.Linear(self.head_dim, self.head_dim, bias=False)
        self.queries = nn.Linear(self.head_dim, self.head_dim, bias=False)
        self.fc_out = nn.Linear(heads * self.head_dim, embed_size)

Modern Yaklaşımlar

1. GPT (Generative Pre-trained Transformer)

  • Otoregresif dil modeli
  • Sadece decoder kullanır
  • Büyük ölçekli ön eğitim

2. BERT (Bidirectional Encoder Representations from Transformers)

  • Çift yönlü anlama
  • Masked Language Modeling
  • Fine-tuning için güçlü

3. Vision Transformer (ViT)

  • Transformer’ları görüntü işlemeye uygulama
  • Görüntüyü patch’lere bölme
  • CNN’lere alternatif

Pratik İpuçları

  1. Learning Rate Scheduling: Eğitim sürecinde öğrenme oranını dinamik olarak ayarlayın
  2. Regularization: Dropout, L2 regularization kullanın
  3. Data Augmentation: Veri çeşitliliğini artırın
  4. Transfer Learning: Önceden eğitilmiş modelleri kullanın

Sonuç

Derin öğrenme, yapay zeka alanında çığır açan gelişmelere imza atmaya devam ediyor. Sinir ağlarından başlayan yolculuk, bugün Transformer’lar ve ötesinde devam ediyor. Bu temel kavramları anlamak, modern AI sistemlerini geliştirmek için kritik öneme sahip.

Kaynaklar

  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
  • Vaswani, A., et al. (2017). Attention is All You Need. NeurIPS.
  • Dosovitskiy, A., et al. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale.