DEEP LEARNING (KERAS) EĞİTİMİ
Deep Learning ve Keras eğitimi, sinir ağlarının temelinden başlayıp model üretime çıkarana kadar uzanan bir programdır. Perceptron, backpropagation ve gradient descent zinciri sezgisel olarak anlatılır; Functional API ve Subclassing arasında doğru model API seçimi pratikle öğrenilir.
Program sonunda katılımcı, CNN ile görüntü, LSTM ve GRU ile sıralı veri, Transformer ile attention mekanizmasını kurabilir. Dropout, BatchNorm ve L1/L2 ile overfitting önleme; transfer learning ile küçük veri setinde state-of-the-art sonuç alma; TFLite, ONNX ve TF Serving ile model dağıtımı eğitimin pratik yanını oluşturur. Eğitim sırasında Keras temel referans olarak kullanılır.
Katılımcı Profili
Bu program, derin öğrenme modellerini üretime çıkarmak isteyen rollere yöneliktir:
- ML Mühendisleri: Model'i üretime çıkaran ve serving altyapısı kuran roller
- Veri Bilimciler: Deep learning model tasarımı yapan analistler
- Araştırma Mühendisleri: Yeni mimari ve loss fonksiyonu deneyen roller
- Computer Vision Mühendisleri: CNN ile görüntü ve video modeli geliştirenler
- NLP Mühendisleri: Transformer ve sıralı modellerle dil işleyen mühendisler
Ön Gereklilikler
Bu eğitime katılım için aşağıdaki ön bilgiler önerilir:
- Python ile temel programlama (NumPy, pandas) deneyimi
- Doğrusal cebir ve kalkülüs temellerine giriş seviyesi aşinalık
- İstatistik ve olasılık kavramlarına temel aşinalık
- Klasik ML kavramlarına (train/test, overfitting) giriş düzeyi bilgi
- Jupyter Notebook veya VS Code Notebook kullanım deneyimi
Süresi ve Tarihi
Süre: 4 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.
Kazanımlar
Eğitim sonunda katılımcı, Keras'ı "yüksek seviye API" diye geçiştirmez, alttaki TensorFlow ile bağlantısını kurar:
- Perceptron, backpropagation ve gradient descent zincirini sezgisel anlatır
- Functional API ve Subclassing arasında doğru model API'sini seçer
- CNN ile görüntü, LSTM/GRU ile sıralı veri, Transformer ile attention kurar
- Dropout, BatchNorm ve L1/L2 ile overfitting'i metrikle önler
- Transfer learning ile küçük veride state-of-the-art'a yakın sonuç alır
- EarlyStopping, ModelCheckpoint ve ReduceLROnPlateau callback'leriyle eğitimi yönetir
- TFLite, ONNX ve TF Serving ile model'i mobile ve sunucuya çıkarır
Deep Learning (Keras) Eğitimi Konuları
1. Deep Learning (Keras) Eğitimi - Temel Kavramlar ve Kurulum
- Biyolojik nöron ve yapay nöron arasındaki ilham
- Perceptron ve multi-layer perceptron (MLP)
- Forward propagation ve weighted sum
- Bias terimi ve karar yüzeyi
2. Backpropagation ve Gradient Descent
- Zincir kuralı ve gradient hesabı
- Stochastic Gradient Descent ve mini-batch
- Vanishing ve exploding gradient sorunları
- Gradient clipping ile stabilizasyon
3. Aktivasyon Fonksiyonları
- Sigmoid, tanh ve doygunluk problemi
- ReLU, Leaky ReLU, ELU
- Softmax çoklu sınıf için
- Aktivasyon seçim kriterleri
4. Loss Function ve Optimizer
- MSE, MAE regresyon kayıp fonksiyonları
- Cross-entropy: binary ve categorical
- Focal loss ve dengesiz sınıf
- SGD, Adam, RMSprop, AdamW karşılaştırması
- Learning rate scheduling
5. Keras API - Sequential ve Functional
- Sequential model: katman zinciri
- Functional API: çoklu girdi/çıktı, dallanma
- Model subclassing ile özel ileri yayılım
- compile, fit, evaluate, predict pipeline'ı
6. Layer Kataloğu - Dense, Conv, Pool, Dropout
- Dense layer ve fully-connected ağlar
- Conv1D, Conv2D, Conv3D konvolüsyon
- MaxPooling, AveragePooling, GlobalPooling
- Dropout ve SpatialDropout
- BatchNormalization ve LayerNormalization
7. Veri Hazırlama ve tf.data Pipeline
- tf.data.Dataset oluşturma
- map, batch, prefetch, cache, shuffle
- Paralel I/O ve AUTOTUNE
- ImageDataGenerator (eski) ve tf.keras.utils.image_dataset
8. Normalization ve Augmentation
- StandardScaler, MinMaxScaler etkisi
- Image augmentation: rotation, flip, zoom, brightness
- Text augmentation: synonym replacement, back-translation
- Mixup ve CutMix modern teknikleri
- Augmentation'ı pipeline içine entegre etme
9. Regularization - L1, L2, Dropout, BatchNorm
- L1 (Lasso), L2 (Ridge) weight decay
- Dropout oranı seçimi ve test zamanı davranışı
- Batch Normalization mantığı ve etkisi
- Early stopping ve patience parametresi
10. Overfitting ve Bias-Variance
- Bias-variance trade-off
- Training, validation, test set bölünmesi
- K-fold cross-validation deep learning'de
- Learning curve okuma ve teşhis
11. CNN - Konvolüsyonel Sinir Ağları
- Filter, stride, padding kavramları
- Receptive field ve mimari derinleştirme
- LeNet, AlexNet, VGG, ResNet evrimi
- Skip connection ve residual learning
- Inception modülü ve depthwise separable
12. Transfer Learning ve Fine-Tuning
- Pre-trained model: VGG, ResNet, EfficientNet, MobileNet
- Feature extraction vs fine-tuning yaklaşımı
- Layer freezing ve unfreezing stratejisi
- Domain adaptation pratikleri
13. RNN, LSTM, GRU - Sıralı Veri
- SimpleRNN ve unfold işlemi
- LSTM: forget, input, output gate
- GRU: reset ve update gate sadeleştirmesi
- Bidirectional ve stacked RNN
- Sequence-to-sequence modelleri
14. Transformer ve Attention Mekanizması
- Self-attention ve scaled dot-product
- Multi-head attention
- Positional encoding
- Encoder ve decoder yapısı
- Vision Transformer (ViT) görsel uygulaması
15. Embedding ve Pre-trained Models
- Embedding layer ve continuous representation
- Word2Vec, GloVe, fastText
- BERT, GPT, T5 öncesi ve sonrası
- Hugging Face Hub ile pre-trained model erişimi
16. Callback Mekanizması ve Eğitim Kontrolü
- ModelCheckpoint ile en iyi ağırlık saklama
- ReduceLROnPlateau ile öğrenme oranı kontrolü
- EarlyStopping ve patience
- Custom callback yazımı
- TerminateOnNaN ile koruma
17. Hyperparameter Tuning - KerasTuner
- Search space tanımı ve hp.Int, hp.Float, hp.Choice
- RandomSearch, BayesianOptimization, Hyperband
- Tuner.search ve trial yönetimi
- MLflow, Weights & Biases ile deney takibi
18. TensorBoard ile Görselleştirme
- Scalar, histogram, imagetag, graph görselleri
- Embedding projector ve PCA/t-SNE
- Profiler ile GPU/CPU bottleneck
- HParams ile hiperparametre karşılaştırma
19. Model Serving - SavedModel, TFLite, TF.js
- SavedModel formatı ve dağıtım
- TFLite ile mobil/edge deploy
- Quantization (post-training ve QAT)
- TensorFlow.js ile tarayıcıda model
- TF Serving ile REST/gRPC servis
20. GPU/TPU ve Distributed Training
- tf.distribute.Strategy: MirroredStrategy, MultiWorker
- Mixed precision (FP16/BF16) ile hızlandırma
- TPU farkı ve XLA derleyici
- Gradient accumulation ile büyük batch
DEEP LEARNING (KERAS) EĞİTİMİ ile İlgili
Sıkça Sorulan Sorular ve Cevapları
CNN, RNN ve Transformer arasında ne zaman hangisi seçilir?
CNN spatial pattern öğrenmek için (görüntü, ses spectrogram). RNN/LSTM sıralı bağımlılık olan kısa-orta seri için (zaman serisi, kısa metin). Transformer dikkat mekanizmasıyla uzun bağımlılığı paralel öğrenir; modern NLP ve vision modellerinin temeli. Karma mimari (CNN + Transformer) hibrit görevlerde yaygın.
Overfitting'i tespit etmenin somut yolları nelerdir?
Train loss düşerken validation loss artıyorsa overfitting. Train-validation gap büyük; train accuracy %99 ama validation %70'te kalıyorsa klasik işaret. Çözüm: dropout, data augmentation, L1/L2, EarlyStopping, daha fazla veri. Cross-validation ile farklı split'lerde tutarlılığa bakmak da kritik.
Transfer learning ile fine-tuning arasındaki fark nedir?
Transfer learning'de önceden eğitilmiş modelin alt katmanları dondurulur, sadece son katman yeniden eğitilir — küçük veride hızlı sonuç. Fine-tuning ise alt katmanların bir kısmı veya tamamı düşük learning rate ile yeniden eğitilir; daha fazla veri ve hesap gerekir ama domain uyumu daha iyi olur.
Keras Functional API ile Subclassing arasında karar?
Functional API çoğu mimari için yeterli; netleşmiş graph yapısı ve kolay debug. Subclassing dinamik mimari (her batch'te değişen yapı, koşullu katman) için doğru; daha esnek ama save/load ve graph mode daha kısıtlı. Standart projelerde Functional, araştırma ve Custom RNN için Subclassing tercih edilir.
EarlyStopping ve ReduceLROnPlateau ne zaman birlikte kullanılır?
ReduceLROnPlateau validation metric plato yaptığında learning rate'i düşürür; modelin son optimizasyon adımlarını ince ayar yapar. EarlyStopping bir süre iyileşme yoksa eğitimi durdurur. İkisi birlikte: önce LR düşür, hala iyileşmezse dur — eğitim süresi tasarrufu ve overfitting koruması sağlar.
TFLite, ONNX ve TF Serving deploy senaryoları nasıl ayrışır?
TFLite mobile ve IoT için optimize edilmiş model formatı — quantization ile boyut/hız kazancı. ONNX framework-agnostic exchange formatı (PyTorch, Keras, sklearn arası taşıma). TF Serving production scale REST/gRPC API olarak servis eder. Karar: cihazda mı, sunucuda mı, çapraz framework mü?



