C/MLDL4RL : Reinforcement Learning Öncesi Sağlam Temel için Machine Learing ve Deep Learning Temelleri
3 Gün (18 Saat) Orta Sınıf Yapay Zeka ve Makine Öğrenimi
Reinforcement Learning (RL) öğrenmeye çalışıp da "Policy gradient nedir?", "Neden loss değil reward var?", "DQN'deki o network ne yapıyor?" gibi sorulara takılanlardan mısınız? Bu 3 günlük (18 saat) yoğun program tam size göre. Eğitim, RL'yi doğrudan anlatmak yerine, önce makine öğrenmesi ve derin öğrenmenin temel yapı taşlarını RL perspektifiyle kuruyor. Loss minimizasyonu ile reward maksimizasyonunun aynı optimizasyon mantığı olduğunden, policy gradient'in sezgisel temellerine, overfitting'ten non-stationarity'ye kadar tüm kritik konuları işliyoruz. Her modülün sonunda mutlaka "Peki bunun RL ile ne ilgisi var?" sorusunu cevaplıyoruz. Program boyunca Python, NumPy, Pandas, PyTorch ve OpenAI Gym ile çalışıyoruz. Son gün ise aynı problemi üç farklı yöntemle (Supervised Learning, Function Approximation ve basit bir RL simülasyonu) çözerek RL'in diğer yöntemlerden neden ve nasıl farklılaştığını bizzat deneyimliyorsunuz. Eğitim sonunda yalnızca temel ML/DL kavramlarına hakim olmakla kalmıyor, aynı zamanda DQN, PPO ve A2C gibi modern RL algoritmalarının altyapısını anlayarak bu algoritmaları kullanmaya veya geliştirmeye hazır hale geliyorsunuz. Amacımız, RL öğrenmeye "Bu network ne işe yarıyor?" sorusunu sormadan, doğru zihinsel modellerle başlamanızı sağlamak.
Eğitim İçeriği
Günlük Hedefler ve Kullanılacak Araçlar
Hedefler
- Gün 1: Makine Öğrenimi Temel Düşünce Biçimini Oluşturmak
- Gün 2: Derin Öğrenme Temelleri ve Sinir Ağları
- Gün 3: Reinforcement Learning'e Doğru Son Hazırlık ve Framework Geçişi
Araçlar
- Python 3.8+
- NumPy (temel işlemler için)
- Pandas (veri manipülasyonu için, kısa)
- Matplotlib / Seaborn (görselleştirme için, kısa)
- PyTorch (derin öğrenme için)
- VSCode, Jupyter Notebook (interaktif kodlama için)
- OpenAI Gym veya benzeri basit bir RL simülasyonu (son gün için)
Module 1: Model, Veri ve Öğrenme Nedir?
- Feature, target, model kavramları (RL'de observation, action, policy)
- Train / validation ayrımı
- Regresyon vs sınıflandırma
- Loss fonksiyonu nedir ve neden önemlidir?
- RL Bağlantısı: Loss minimization = Reward maximization'ın aynısı (farklı yön)
- Katılımcının "model = veri üzerinden bir fonksiyon öğrenir" zihinsel modelini kurması
- Bir problemi doğru şekilde makine öğrenmesi problemine dönüştürebilmesi
- RL'deki ödül maksimizasyonu ile loss minimizasyonu arasında bağlantı kurabilmesi
- Girdi-çıktı ilişkisini doğru kurabilme
- Loss fonksiyonunu doğru seçebilme (regresyon → MSE, sınıflandırma → Cross-Entropy)
- Basit bir modelin neyi öğrendiğini yorumlayabilme
- "RL'de loss olmaz, reward vardır" ama optimizasyon mantığının aynı olduğunu söyleyebilme
Amaç:
Kazanımlar:
Module 2: Gradient Descent ve Optimizasyon
- Loss yüzeyi ve optimum arayışı
- Gradient nedir? (sezgisel - temel matematik anlatım)
- Learning rate ve etkileri
- Batch, Stochastic, Mini-Batch gradient descent
- RL Bağlantısı: Policy gradient'de de aynı mantık, sadece loss yerine reward var
- Modelin "nasıl öğrendiğini" anlamak
- Learning rate gibi temel hiperparametrelerin etkisini kavramak
- RL'deki policy gradient'a zihinsel hazırlık yapmak
- Loss fonksiyonunu yorumlayabilme
- Gradient'in yönünü sezgisel olarak anlayabilme (temel türev bilgisi ile desteklenir.)
- Learning rate'in çok yüksek veya çok düşük olduğunda ne olduğunu tahmin edebilme
- Policy gradient'ın da benzer bir optimizasyon süreci olduğunu bilme
Amaç:
Kazanımlar:
Module 3: Overfitting, Underfitting ve Regularization
- Underfitting vs overfitting
- Bias-variance tradeoff (sezgisel, türetsiz)
- Train vs validation, test performans farkı
- Regularization (L1, L2) ve Dropout (kısa)
- Early stopping
- RL Bağlantısı: RL'de overfitting farklıdır (policy overfitting), ama validation mantığı benzerdir
- Modelin "ezberleme vs öğrenme" farkını anlamak
- Overfitting'i teşhis edebilmek
- RL'deki overfitting problemine hazırlık yapmak
- Overfitting durumunu validation set ile tespit edebilme
- Model karmaşıklığını ayarlayabilme
- Regularization'ın ne zaman gerekli olduğunu söyleyebilme
- Dropout'un ne işe yaradığını kısaca açıklayabilme
Amaç:
Kazanımlar:
Module 4: Sinir Ağları ve Derin Öğrenme Temelleri
- Nöron, katman, ağ yapısı
- Aktivasyon fonksiyonları (ReLU, Sigmoid, Tanh) - neden ReLU popüler?
- Forward pass (girdiden çıktıya hesaplama)
- RL Bağlantısı: Bu network, policy veya value fonksiyonunu temsil edecek
- Sinir ağlarını "black box" olmaktan çıkarmak
- Bir ağın nasıl hesaplama yaptığını anlamak
- RL'deki network yapılarına zihinsel hazırlık yapmak
- Basit bir sinir ağının forward pass'ini adım adım takip edebilme
- Aktivasyon fonksiyonlarının neden gerekli olduğunu açıklayabilme
- ReLU'nun neden popüler olduğunu (vanishing gradient'i çözdüğünü) bilme
- Dying ReLU sorununu duymuş olma
Amaç:
Kazanımlar:
Module 5: Backpropagation ve Öğrenme Süreci
- Backpropagation nedir? (sezgisel, temel matematik anlatım)
- Zincir kuralı ve ağırlık güncelleme mantığı
- Gradient'in ağ içinde nasıl aktığı
- Vanishing gradient problemi (derin ağlar neden zor öğrenir?)
- Exploding gradient problemi (ağır güncellemeler neden sorun olabilir?)
- Learning rate'in etkisi (çok büyük vs çok küçük)
- RL Bağlantısı: RL'deki instability'nin bir nedeni gradient flow problemidir.
- Sinir ağlarının "nasıl öğrendiğini" anlamak (türev bilmeden)
- Derin ağların neden bazen öğrenemediğini kavramak
- RL'deki stabilite sorunlarına hazırlık yapmak
- Gradient'in ağın sonundan başına doğru aktığını bilme ve zincir kuralını sezgisel olarak anlayabilme
- Vanishing gradient'in ve exploding gradient'in ne olduğunu ve ne zaman ortaya çıktığını söyleyebilme
- Türev hesaplamadan, "küçük değişimin etkisi" olarak gradient'i sezebilme
Amaç:
Kazanımlar:
Module 6: Feature Engineering ve Feature Selection
- State representation = feature engineering
- Normalizasyon / standardizasyon (gradient descent için neden şart?)
- Anlamlı feature tasarımı prensipleri
- RL Bağlantısı: RL'de state tasarımı, algoritmadan daha önemli olabilir
- Girdi temsilinin model başarısını nasıl etkilediğini somut bir örnekle göstermek
- RL'de state tasarımına doğrudan hazırlık yapmak
- Ham veriyi anlamlı feature'lara dönüştürebilme
- Normalizasyonun gradient descent üzerindeki etkisini açıklayabilme
- RL'de "state tasarımı" ile "feature engineering"in aynı şey olduğunu söyleyebilme
- Kötü feature'ların modeli nasıl öldürdüğünü gözlemleyebilme
Amaç:
Kazanımlar:
Module 7: NumPy'dan PyTorch'a Geçiş
- RL dünyasında PyTorch standart olması nedeniyle tensör işlemlerine giriş
- NumPy vs PyTorch: benzerlikler ve farklar
- Manual gradient (NumPy) → autograd (PyTorch)
- Basit bir modelin PyTorch ile yazılması
- Critical: .detach() ne zaman gerekir? (kısa)
- Framework geçişinde kopma yaşanmaması
- PyTorch ile model kurabilme ve eğitebilme
- RL araçlarını (SB3, RLlib) kullanmaya hazır hale gelme
- NumPy'de yazdığı kodu PyTorch'a çevirebilme
- torch.nn.Linear, torch.relu, torch.optim kullanabilme
- Training loop'u PyTorch ile yazabilme
- Autograd'ın ne işe yaradığını bilme (detaylı değil, sezgisel)
Amaç:
Kazanımlar:
Module 8: Function Approximation
- Tablo (tabular) yöntemlerin sınırları (örnek: 1000x1000 grid → 1M state ile tablo tutamayız)
- Neden sinir ağlarına ihtiyaç duyarız?
- Lineer model vs sinir ağı karşılaştırması
- RL Bağlantısı: DQN = Q-learning + function approximation
- RL'deki DQN'nin temel mantığını anlamaya hazırlık
- "Büyük state space'te tablo tutamayız" fikrini oturtmak
- Lineer modelin yetersiz kaldığı durumları görmek
- Aynı problemi lineer model ve NN ile çözüp farkı gözlemleyebilme
- Function approximation ihtiyacını açıklayabilme
- DQN'in neyi çözdüğünü (tabular → NN) söyleyebilme
Amaç:
Kazanımlar:
Module 9: Training Dynamics (Loss ve Reward Eğrileri)
- Loss eğrileri neden dalgalanır? (örnek: noisy data, model kapasitesi, learning rate)
- Reward eğrileri neden dalgalanır? (örnek: exploration, stochastic environment)
- RL'de neden stabilite sorunları yaşanır? (örnek: non-stationarity, bootstrapping)
- RL'de reward'un neden daha gürültülü olduğunu göstermek (örnek: reward = feedback, loss = error)
- Bootstrapping nedir? (örnek: DQN'de target network'ün eski değerleriyle öğrenme)
- Non-stationarity nedir?
- Distribution shift problemi
- RL Bağlantısı: RL'de data policy ile değişir → non-stationary
- RL'deki stabilite problemlerine zihinsel hazırlık
- "Model neden bir öğrenir bir unutur?" sorusuna cevap
- Non-stationarity kavramını somut örnekle oturtmak
- Eğitim sırasında loss dalgalanmalarını yorumlayabilme
- Data distribution değiştiğinde modelin neden bozulduğunu açıklayabilme
- RL'de non-stationarity problemini kendi cümleleriyle ifade edebilme
Amaç:
Kazanımlar:
Module 10: Value ve Policy Network Mantığı
- İki temel RL yaklaşımı: Value-based (DQN) vs Policy-based (PPO, A2C gibi)
- Value Function nedir? (state value, state-action value)
- Policy Function nedir? (State'den direkt action'a giden bir fonksiyon)
- Value network'ün amacı: state-action value (Q) öğrenmek
- Policy network'ün amacı: doğrudan iyi bir policy öğrenmek
- Actor-Critic mimarisi: Actor = policy, Critic = value
- RL Bağlantısı: DQN = value-based, PPO/A2C = policy-based networkleri modern RL algoritmatlarının temelini oluşturur
- RL'de kullanılan network'lerin ne işe yaradığını anlamak
- RL eğitimine "bu network'ler ne yapıyor?" sorusuyla gelmemesini sağlamak
- Actor-Critic mimarisine zihinsel hazırlık yapmak
- Bir state'in value'sunu tahmin eden network yazabilme
- Policy network ile value network arasındaki farkı söyleyebilme
- Actor-Critic'te actor'ün policy, critic'in value olduğunu bilme
Amaç:
Kazanımlar:
Module 11: Aynı Problemi Farklı Yöntemlerle Çözme (Kritik Köprü - Hazır RL Simülasyonu)
- Yöntem 1 - Supervised Learning: Eticaretli veri ile öğrenme (doğru action biliniyor)
- Yöntem 2 - Function Approximation: Value tahmini (doğru action bilinmiyor, value tahmin ediliyor)
- Yöntem 3 - RL (Hazır Simülasyon): Reward ile öğrenme (doğru action bilinmiyor, deneme-yanılma)
- Kritik Fark: Supervised'de loss'u biliyoruz, RL'de sadece reward'ı biliyoruz
- RL'in diğer yöntemlerden farkını yaşayarak hissetmek
- "Neden RL zor?" sorusunun cevabını bulmak
- RL eğitimine hazır olduklarını hissetmek
- Supervised'de loss'u bildiğimizi, RL'de ise doğru action'ı bilmediğimizi açıklayabilme
- RL'in neden daha karmaşık olduğunu ifade edebilme
- Reward tasarımının önemini kavrayabilme
- RL eğitimine "hazırım" diyebilme
Amaç:
Kazanımlar:
Öncesinde Önerilenler
-
Data Scientist
Yapay Zeka, Makine Öğrenimi, Derin Öğrenme Teknikleri ile Büyük Veri Kümelerinden Desen ve Eğilim Keşfetme
- C/STATI : Betimleyici ve Çıkarımsal İstatistik Temelleri
- C/STATF : İstatistik Esasları
- C/STATF+ : İstatistik Esasları (Genişletilmiş)
- MS/20761C : Querying Data with Transact-SQL
- C/TVTS : T-SQL ile Veri Tabanı Sorgulama (Microsoft SQL Server)
- C/PBSSBI : Power BI ile Self Service BI
- C/GAISD : Generative AI ve LLM ile İş Süreçlerini Güçlendirme: Fırsatlar, Uygulamalar ve Etkili Kullanım Yöntemleri
- C/IRFDS : R Dili ve R ile Veri Analizi
- C/PDE : Python Dili Esasları
- C/IPFDS : Python Dili ve Python ile Veri Analizi
- C/PVA : Python ile Veri Analizi
- C/DMDQ : Veri Yönetimi ve Veri Kalitesi
- C/ADMT : İleri Veri Modelleme Teknikleri
- MS/AI-900v2 : Microsoft Azure AI Fundamentals
- MS/AI-100 : Designing and Implementing an Azure AI Solution
- MS/DP-100 : Designing and Implementing a Data Science Solution on Azure
- C/MOE : Makine Öğrenimi Esasları
- C/M4MLP : Makine Öğrenimi için Matematiksel Temeller ve Pratik Uygulamalar
Sonrasında Önerilenler
-
Data Scientist
Yapay Zeka, Makine Öğrenimi, Derin Öğrenme Teknikleri ile Büyük Veri Kümelerinden Desen ve Eğilim Keşfetme
- C/ADSB : Accelerated Data Science for Business
- C/AZSC-Synapse : Fundamentals of Azure Synapse Analytics
- MS/DP-500 : Designing and Implementing Enterprise-Scale Analytics Solutions Using Microsoft Azure and Microsoft Power BI
- CMS/DP-601T00A : Implementing a Lakehouse with Microsoft Fabric
- CMS/DP-700 : Microsoft Fabric Data Engineer
- C/DAWS : Big Data Analysis with Spark
- C/PSS : PySpark ile Spark SQL
- C/VBL : Veri Bilimcileri için Linux