Kurs
10. sınıf yapay zekası: derin öğrenme ve çok modlu yapay zeka
PyTorch ile resimler, metin ve ses için sinir ağları kur ve eğit.
Dersleri sırayla yap. Sonunda bir nöronun çıktısını hesaplayabilir, ReLU, sigmoid ve softmax aktivasyonlarını karşılaştırabilir ve küçük bir ağın ileri geçişini NumPy ile yazabilirsin. Bir kayıp seçebilir, gradyan inişini ve geri yayılımı açıklayabilir ve PyTorch’ta tam eğitim ve test döngüsü olan bir betik yazabilirsin. Bir CNN ile görüntü sınıflandırıcı eğitebilir, olumlu yorumları olumsuzlardan ayıran bir duygu sınıflandırıcı eğitebilir, dikkatin diğer token’ları nasıl tarttığını açıklayabilir ve kısa ses kliplerini sınıflandırabilirsin. Aşırı öğrenmeyi azaltabilir, önceden eğitilmiş bir modeli yeni sınıflarda ince ayarlayabilir, hataları gruplayıp nedenini bulabilir ve görülmemiş görüntülerde denenmiş akıllı bir yaban hayatı izleyicisi sunabilirsin.
Bu dersleri nasıl kullanırsın
- Bunu yap yazan dersten başla. Başlığın altındaki satırı kendin yapınca devam et.
- Önce oyna: Oyunlar. Sonra çöz: Sınav. 8/10 doğru ile geçersin. Çalışma kağıtları kağıt üzerinde. Cevaplar en altta.
- Her ders bir öncekinin üstüne kurulur. Her eğitim çalışmasını not et: ayarlar, kayıp eğrisi ve test puanı.
- Kod dersleri Python ve PyTorch kullanır, ücretsiz bir çevrimiçi defterde, GPU ile. Küçük modeller ve küçük veri kümeleri yeter. Yalnızca kullanmana izin verilen açık veri kümelerini kullan. İnsanların fotoğraflarıyla izinsiz asla eğitme.
Her derste oyunlar, sınav ve çalışma kağıtları vardır.
0/36
Sinir ağı temelleri
- 1NöronlarBir nöronun çıktısını girdilerden, ağırlıklardan ve bias’tan hesapla.
- Ağırlıklı toplam artı bias’ı yaz.
- Üç girdi için elle hesapla.
- Kodda nokta çarpımıyla hesapla.
- 2AktivasyonlarReLU, sigmoid ve softmax aktivasyonlarını karşılaştır.
- Her aktivasyonu çiz.
- Bir ağın neden doğrusal olmayan bir aktivasyona ihtiyacı olduğunu açıkla.
- Puanları olasılığa çevirmek için softmax kullan.
- 3Katmanlar ve ağlarKatmanları üst üste koyup bir ağ yap.
- Bir katmanı matris çarpımı olarak yaz.
- Verinin şeklini her katmanda izle.
- Bir ağın parametrelerini say.
- 4Küçük bir ağKüçük bir ağın ileri geçişini NumPy ile yaz.
- NumPy’de iki katmanlı bir ağ kur.
- Bir girdi batch’ini içinden geçir.
- Çıktının şeklini kontrol et.
Sinir ağlarını eğitmek
- 5KayıpBir görev için kayıp seç ve onu hesapla.
- Regresyon için ortalama kare hata kullan.
- Sınıflandırma için çapraz entropi kullan.
- Kayıp düşünce ne anlama geldiğini söyle.
- 6Gradyan inişiGradyan inişinin ağırlıkları yokuş aşağı nasıl kaydırdığını açıkla.
- Bir kayıp eğrisinin eğimini bul.
- Bir öğrenme oranıyla adım at.
- Oran çok büyük ya da çok küçük olunca ne olduğunu gör.
- 7Geri yayılımHatanın geri yayılımını ağ boyunca geriye doğru izle.
- Küçücük bir ağda zincir kuralını kullan.
- Bir gradyanı elle hesapla.
- Otomatik türevle karşılaştır.
- 8Bir ağ eğitKüçük bir ağ eğit ve kaybı çiz.
- Mini batch ile eğit.
- Eğitim ve doğrulama kaybını çiz.
- Doğrulama kaybı iyileşmeyince dur.
Derin öğrenme çerçeveleri
- 9TensörlerPyTorch tensörleri oluştur ve şekillerini değiştir.
- Tensör oluştur, şeklini ve türünü kontrol et.
- Şekil değiştir, üst üste koy ve dilimle.
- Tensörleri bir GPU’ya taşı.
- 10Modüllertorch.nn modülleriyle bir model kur.
- nn.Module alt sınıfı yap.
- Linear ve aktivasyon katmanları kullan.
- Modeli ve parametre sayısını yazdır.
- 11Optimize edicilerSGD ve Adam optimize edicileriyle eğit.
- zero_grad, backward ve step kullan.
- SGD ile Adam’ı bir görevde karşılaştır.
- Bir öğrenme oranı takvimi kullan.
- 12Eğitim betiğiTam eğitim ve test döngüsü olan bir eğitim betiği yaz.
- Veriyi bir DataLoader ile yükle.
- Eğit, doğrula ve test et.
- En iyi modeli kaydet.
Bilgisayarlı görü
- 13Tensör olarak görüntülerGörüntüleri tensör olarak yükle ve normalize et.
- Bir görüntüyü kanallar, yükseklik ve genişlik olarak yükle.
- Boyutunu değiştir ve normalize et.
- Bir batch’i ızgara olarak göster.
- 14EvrişimlerBir evrişim filtresinin kenarları nasıl bulduğunu açıkla.
- 3×3 filtreyi bir görüntü üzerinde elle kaydır.
- Kenar filtrelerini kodda uygula.
- stride, padding ve pooling’i açıkla.
- 15CNNBir evrişimli sinir ağı, bir CNN kur.
- Evrişim, aktivasyon ve pooling katmanlarını üst üste koy.
- Düzleştir ve bir sınıflandırıcı baş ekle.
- Şekilleri ağ boyunca izle.
- 16Görüntü sınıflandırıcıBir CNN ile görüntü sınıflandırıcı eğit.
- Küçük bir görüntü kümesinde eğit.
- Test doğruluğunu bildir.
- Yanlış sınıfladığı görüntüleri göster.
Doğal dil işleme
- 17TokenleştirmeTokenleştir: metni token’lara ve ID’lere çevir.
- Kelime ve alt kelime token’larını karşılaştır.
- Bir sözlük kur.
- Dizileri aynı uzunluğa doldur.
- 18GömülerGömülerin benzer kelimeleri nasıl birbirine yaklaştırdığını açıkla.
- Bir gömü katmanı kullan.
- Bir kelimeye en yakın kelimeleri bul.
- Gömüleri iki boyutta çiz.
- 19Metin modelleriBir token dizisini okuyan bir metin modeli kur.
- Gömülerin ortalamasını bir vektör yap.
- Basit bir yinelemeli katman kullan.
- İkisini karşılaştır.
- 20Duygu sınıflandırıcıOlumlu yorumları olumsuzlardan ayıran bir duygu sınıflandırıcı eğit.
- Bir yorum kümesinde eğit.
- Doğruluk, kesinlik ve duyarlılığı bildir.
- Onu kandıran yorumlar bul, örneğin alay.
Transformer’lar
- 21DikkatDikkatin diğer token’ları nasıl tarttığını açıkla.
- Sorguları, anahtarları ve değerleri açıkla.
- Kısa bir cümle için dikkat ağırlıklarını hesapla.
- Dikkatin uzak anlam için neden yardımcı olduğunu söyle.
- 22Transformer bloklarıBir transformer bloğunun parçalarını adlandır.
- Çok başlı dikkati, feed-forward katmanını ve normalleştirme katmanlarını adlandır.
- Artık bağlantıları açıkla.
- Konum kodlamalarını açıkla.
- 23Önceden eğitilmiş modellerBir görev için önceden eğitilmiş bir transformer modeli kullan.
- Önceden eğitilmiş bir model ve bir tokenizer yükle.
- Onunla metin sınıflandır.
- Kendi duygu modelinle karşılaştır.
- 24Dikkat haritalarıBir dikkat haritasını oku.
- Dikkat ağırlıklarını bir ısı haritası olarak çiz.
- Bir token’ın hangi kelimelere baktığını bul.
- Dikkatin tam bir açıklama olmadığını söyle.
Ses ve çok modlu yapay zeka
- 25Veri olarak sesSes verisini bir dalga biçimine ve bir spektrograma çevir.
- Sesi yükle ve dalga biçimini çiz.
- Örnekleme oranını açıkla.
- Bir spektrogram yap.
- 26Ses sınıflandırıcıKısa ses kliplerini bir ses sınıflandırıcı ile sınıflandır.
- Spektrogramlara görüntü gibi bak.
- Onların üzerinde bir CNN eğit.
- Arka plan gürültüsüyle test et.
- 27Çok modlu girdilerBir modelin görüntü ve metinden çok modlu girdileri nasıl birleştirdiğini açıkla.
- Her girdi için ayrı kodlayıcıları açıkla.
- Paylaşılan bir gömü uzayını açıkla.
- Üç çok modlu uygulama adlandır.
- 28Görüntü ve metinGörüntü ve metni eşle: görüntüleri altyazılarla önceden eğitilmiş bir modelle bağla.
- Görüntülerin ve altyazıların gömülerini al.
- Her görüntü için altyazıları sırala.
- Bir metin sorgusuyla görüntü ara.
Modeli iyileştirme
- 29DüzenlileştirmeDüzenlileştirme ile aşırı öğrenmeyi azalt: dropout ve ağırlık azaltma.
- Dropout ekle.
- Ağırlık azaltma ekle.
- Doğrulama eğrilerini karşılaştır.
- 30Veri artırmaVeri artır: çevrilmiş ve kırpılmış görüntüleri eğitim kümesine ekle.
- Çevirme, kırpma ve renk değişimi uygula.
- Yalnızca eğitim kümesini artır.
- Test doğruluğundaki değişimi ölç.
- 31Transfer öğrenmeTransfer öğrenme ile önceden eğitilmiş bir modeli yeni sınıflarda ince ayarla.
- Önceden eğitilmiş katmanları dondur.
- Başı değiştir ve eğit.
- Çöz ve küçük bir öğrenme oranıyla ince ayarla.
- 32Hata analiziHata analizi yap: hataları grupla ve nedenini bul.
- Çok sınıflı bir karışıklık matrisini oku.
- Hataları gruplara ayır.
- En büyük grup için düzeltmeyi seç.
Derin öğrenme projesi
- 33Yaban hayatı verisiAçık bir yaban hayatı görüntü kümesi seç ve böl.
- Açık bir kamera kapanı ya da yaban hayatı kümesi seç.
- 5 ile 10 tür seç.
- Test adil olsun diye yere göre böl.
- 34Modeli ince ayarlaGörüntü sınıflandırıcı modeli yaban hayatı sınıflarında ince ayarla.
- Önceden eğitilmiş bir modeli ince ayarla.
- Doğrulama doğruluğunu izle.
- En iyi kontrol noktasını kaydet.
- 35Demo arayüzüYüklenen görüntülerin tahminlerini gösteren bir demo arayüzü kur.
- Yüklenen bir görüntüyü kabul et.
- İlk üç türü ve puanlarını göster.
- Güven düşükken “emin değilim” göster.
- 36Akıllı yaban hayatı izleyicisiAkıllı bir yaban hayatı izleyicisi sun: görülmemiş görüntülerde doğruluk ve ana hatalar.
- Görülmemiş görüntülerde doğruluğu bildir.
- Ana hataları ve nedenlerini göster.
- Sonra neyi değiştireceğini söyle.