Büyükler için · görselleştirici + gerçek PyTorch kodu + Colab defteri
PyTorch ile Derin Öğrenme
Tensörlerden ve otomatik türevden başlayıp nn.Module, kayıp ve optimize ediciler, eğitim döngüsü, DataLoader, evrişimli ağlar, düzenlileştirme, RNN/LSTM ve dikkat, aktarım öğrenmesi ve dağıtıma kadar. Her ünitede matematiği tarayıcıda adım adım gösteren bir görselleştirici, gerçek PyTorch kodu ve Google Colab'da çalıştıracağın bir defter var.
- Ünite
- 10
- Görselleştiriciler
- 14
- Saat
- 40
Kimin için
- Hedef kitle
- Büyükler için · 16 yaş ve üstü: lise son sınıf, meslek okulu, üniversite ve meslekten öğrenenler
- Süre
- 40 saat · 10 ünite + bitirme projesi
- Ön koşul
- Python ve temel NumPy; türevin ne olduğunu bilmek. Makine öğrenmesi dersindeki doğrusal regresyon, gradyan inişi ve sinir ağı derslerini bitirmiş olmak çok yardımcı olur.
- Belge
- Tüm üniteleri ve bitirme projesini tamamlayana Macademia katılım belgesi verilir.
Kazanımlar
- Tensör şekillerini, yayınlamayı ve cihaz (CPU/GPU) ayrımını hatasız yönetmek
- Autograd'ın hesaplama grafiği üstünde gradyanı nasıl bulduğunu açıklamak ve doğrulamak
- nn.Module ile model yazmak; kayıp, optimize edici ve öğrenme oranını seçmek
- Eğitim/doğrulama ayrımlı, tekrarlanabilir bir eğitim döngüsü ve DataLoader kurmak
- Evrişimli ağ tasarlamak, öznitelik haritalarını okumak, aşırı öğrenmeyi düzenlileştirmeyle önlemek
- RNN, LSTM ve dikkatin hangi sorunu çözdüğünü açıklamak
- Önceden eğitilmiş modeli ince ayarlamak; TorchScript, ONNX ve nicemleme ile dağıtıma hazırlamak
Üniteler
| Ünite | Konu | Görselleştiriciler |
|---|---|---|
| 1 | Tensörler: şekil, veri tipi, yayınlama ve cihaz torch.Tensor, shape ve dtype, dilimleme, yayınlama kuralı, matmul, view ve reshape, CPU ve GPU. | Şekil oyun alanı: yayınlama, matmul, view |
| 2 | Autograd: hesaplama grafiği ve geri yayılım requires_grad, grad_fn, dinamik grafik, backward ve zincir kuralı, gradyan birikimi, no_grad, sayısal kontrol. | Hesaplama grafiği ve geri yayılım, adım adım |
| 3 | nn.Module: katmanlar, parametreler ve model yazmak nn.Module alt sınıfı, __init__ ve forward, nn.Sequential, Linear ve Conv2d, parametre sayımı, state_dict. | nn.Sequential kurucu: şekiller ve parametre sayısı |
| 4 | Kayıp fonksiyonları ve optimize ediciler MSE, ikili ve çok sınıflı çapraz entropi, logit; SGD, momentum, RMSprop, Adam; öğrenme oranı ve zamanlayıcılar. | Optimize ediciler yarışı: SGD, Momentum, RMSprop, Adam, 3B kayıp yüzeyi ve yörüngeler |
| 5 | Eğitim döngüsü ve doğrulama Dört adımlı döngü, tur ve yığın, model.train / model.eval, eğitim–doğrulama–test ayrımı, metrikler, tekrarlanabilirlik. | Eğitim döngüsü: tarayıcıda gerçek bir küçük ağ |
| 6 | Dataset ve DataLoader: veriyi yığınlar hâlinde beslemek Dataset arayüzü (__len__, __getitem__), DataLoader, batch_size, shuffle, drop_last, random_split, dönüşümler, num_workers. | DataLoader: karıştırma, yığın ve tur |
| 7 | Evrişimli sinir ağları (CNN) Evrişim katmanı, çekirdek, adım, dolgu, genişleme; havuzlama; alıcı alan; öznitelik haritaları; küçük bir MNIST CNN'i. | Evrişim aritmetiği: çekirdek, adım, dolgu, genişleme, Öznitelik haritaları: eğitilmiş CNN'in içi, CNN katmanları 3B |
| 8 | Aşırı öğrenme ve düzenlileştirme Yanlılık–varyans, aşırı öğrenme belirtileri; dropout, ağırlık sönümü (L2 / AdamW), erken durdurma, veri artırma, BatchNorm. | Aşırı öğrenme ve düzenlileştirme deneyi |
| 9 | Diziler: RNN, LSTM ve dikkat Gizli durum, zaman boyunca geri yayılım, sönen gradyan; LSTM kapıları ve hücre durumu; ölçekli nokta çarpımı dikkati ve Transformer fikri. | RNN ve LSTM: gradyan bir dizide ne kadar yol alır, Ölçekli nokta çarpımı dikkati |
| 10 | Aktarım öğrenmesi ve dağıtım Önceden eğitilmiş modeller, dondurma ve ince ayar; state_dict, TorchScript, ONNX; int8 nicemleme; uçta ve tarayıcıda çıkarım. | Aktarım öğrenmesi ve dağıtım: dondur, nicemle, ölç |
Bitirme projesi
Bitirme projesi: el yazısı rakam tanıyan CNN
MNIST'te küçük bir evrişimli ağ eğit, ölç, hatalarını incele, dışa aktar ve tarayıcıda kendi çizdiğin rakamlarla dene. Colab defteri ve tarayıcıdaki tanıyıcı aynı mimariyi kullanır.
Proje ve teslimlerNasıl çalışır
- PyTorch tarayıcıda çalışamaz. Her ünitede aynı matematiği TypeScript'te yapan dürüst bir görselleştirici (küçük ağların gerçek eğitimi, gerçekten eğitilmiş bir CNN) ve yanında gerçek PyTorch kodu var.
- Her ünitenin indirilebilir bir defteri var: Google Colab'da "Dosya → Not defteri yükle" ile açıp ücretsiz GPU'da çalıştır.
- Makine öğrenmesi dersi: doğrusal regresyon, gradyan inişi, sinir ağları, dikkat
- ESOF 323, 11. hafta: robotlarda derin öğrenme ve uçta yapay zekâ
