Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

optim - Optimizasyon

Gradient descent ve ileri seviye optimizer algoritmaları

4
Optimizer
5
Scheduler
Adam
Varsayılan

Genel Bakış

optim modülü, sinir ağlarını eğitmek için gradient descent tabanlı optimizasyon algoritmaları sağlar.

Adam Optimizer

kullan ai/optim;
kullan ai/nn;

değişken model = Sequential::yeni([/*...*/]);
değişken optimizer = Adam::yeni(
    parametreler: model.parametreler(),
    lr: 0.001,
    beta1: 0.9,
    beta2: 0.999,
    epsilon: 1e-8
);

// Training loop
her epoch içinde aralık(100) için yap
    değişken loss = model.eğit(x, y);
    
    optimizer.sıfırla();
    loss.geri();
    optimizer.adım();
son

SGD (Stochastic Gradient Descent)

kullan ai/optim;

değişken optimizer = SGD::yeni(
    parametreler: model.parametreler(),
    lr: 0.01,
    momentum: 0.9,
    weight_decay: 1e-4,
    nesterov: doğru
);

AdamW (Adam with Weight Decay)

kullan ai/optim;

değişken optimizer = AdamW::yeni(
    parametreler: model.parametreler(),
    lr: 0.001,
    weight_decay: 0.01  // L2 regularization
);

Learning Rate Schedulers

StepLR

kullan ai/optim;

değişken scheduler = StepLR::yeni(
    optimizer: optimizer,
    step_size: 30,      // Her 30 epoch
    gamma: 0.1          // LR × 0.1
);

her epoch içinde aralık(100) için yap
    // Eğitim...
    scheduler.adım();  // LR güncelle
son

ReduceLROnPlateau

kullan ai/optim;

değişken scheduler = ReduceLROnPlateau::yeni(
    optimizer: optimizer,
    mode: "min",
    factor: 0.5,
    patience: 10
);

her epoch içinde aralık(100) için yap
    değişken val_loss = validate();
    scheduler.adım(val_loss);  // Metric'e göre LR ayarla
son

Gradient Clipping

kullan ai/optim;

// Gradient norm clipping
her batch için yap
    loss.geri();
    
    // Gradient norm'u 1.0'a kırp
    optim::clip_grad_norm(model.parametreler(), max_norm: 1.0);
    
    optimizer.adım();
son

API Referansı

OptimizerLR ÖnerisiKullanım
Adam0.001Genel amaçlı, adaptive
AdamW0.001Transformers için
SGD0.01-0.1Momentum ile vision
RMSprop0.001RNN'ler için