1 Yeni Zhiyuan derlemesi
Tam kurs videosu (İngilizce altyazılı):
Tüm kurs materyalleri, PPT, vb.:
Ders Tanımı
Öğretim Görevlisi ve Öğretim Asistanı Ekibi
Bilgisayarla görme, arama, görüntü anlama, uygulamalar, haritalar, tıp, insansız hava araçları, kendi kendini süren arabalar ve daha fazlası gibi toplumumuzda her yerde bulunur hale geldi. Çoğu uygulamanın merkezinde görüntü sınıflandırma, yerelleştirme ve algılama gibi görsel tanıma görevleri yer alır. Sinir ağı (diğer bir deyişle "derin öğrenme") yöntemlerindeki son gelişmeler, bu son teknoloji görsel tanıma sistemlerinin performansını büyük ölçüde geliştirdi. Bu kurs, özellikle görüntü sınıflandırma görevleri olmak üzere bu görevler için uçtan uca modelleri öğrenmeye odaklanarak derin öğrenme mimarilerine derinlemesine bir bakış sağlayacaktır.
10 haftalık kurs boyunca öğrenciler, kendi sinir ağlarını uygulamayı, eğitmeyi ve hata ayıklamayı öğrenecek ve bilgisayarla görü alanındaki en son araştırmalara ilişkin içgörü kazanacaklar. Son görev, milyonlarca parametreye sahip bir evrişimsel sinir ağının eğitilmesini ve bunu en büyük görüntü sınıflandırma veri setine (ImageNet) uygulamayı içerecektir. Görüntü tanıma problemlerinin nasıl oluşturulacağına, algoritmaların nasıl öğrenileceğine (geri yayılım gibi), eğitim ve ağların ince ayarı için pratik mühendislik ipuçlarına ve uygulamalı ve final ders projelerinde öğrencilere nasıl rehberlik edileceğine odaklanacağız. Bu kurs için arka planın ve materyalin çoğu ImageNet Challenge'dan geliyor.
Önkoşullar
Python'da yeterlilik, C/C++ Tüm sınıf atamalarına ileri düzeyde aşinalık Python'da (ve numpy ile) olacaktır (Python'a aşina olmayanlar için bir eğitimimiz var), ancak derinlemesine öğrenme için bazı kitaplıklara daha sonra bakabiliriz. C++ ile yazılır. Farklı bir dilde (örneğin C/C++/Matlab/Javascript) çok fazla programlama deneyiminiz varsa, sorun olmayabilir.
College Calculus, Lineer Cebir (örneğin MATH 19 veya 41, MATH 51) Türev sözcükleri kullanmakta ve matris-vektör işlemlerini ve notasyonu anlamakta rahat olmalısınız.
Temel Olasılık ve İstatistik (CS 109 veya diğer istatistik kursları gibi) Olasılığın temellerini, Gauss dağılımını, ortalamayı, standart sapmayı vb. bilmelisiniz.
Eşdeğer CS229 bilgisi (Machine Learning) Bir maliyet fonksiyonu formüle edeceğiz, türevler ve gradyan inişi kullanarak optimizasyon gerçekleştireceğiz.
Ders Notları:
Ders Notları:
Modül 0: İçerik Hazırlama
Python/Numpy Eğitimi
IPython Not Defteri Eğitimi
Google Bulut Eğitimi
GPU Eğitimi ile Google Cloud
AWS Eğitimleri
Modül 1: Sinir Ağları
Görüntü sınıflandırması: veriye dayalı yöntemler, k-en yakın komşular, tren/val/test bölmeleri
L1/L2 mesafesi, hiperparametre arama, çapraz doğrulama
Doğrusal Sınıflandırma: Destek Vektör Makineleri, Softmax
Parametreleştirme yöntemi, önyargı tekniği, menteşe kaybı, çapraz entropi kaybı, L2 düzenlemesi, web demosu
Optimizasyon: Stokastik Gradyan İnişi
yerel arama, öğrenme oranı, analitik/sayısal gradyanlar
geri yayılım, sezgi
Zincir kurallarının yorumlanması, gerçek değerli devrelerde örüntüler, gradyan akışı
Sinir Ağları Bölüm 1: Mimariyi İnşa Etme
Biyolojik nöron modeli, aktivasyon fonksiyonu, sinir ağı mimarisi
Sinir Ağları Bölüm 2: Veri ve Kayıp Ayarlama
Ön işleme, ağırlık başlatma, toplu normalleştirme, düzenlileştirme (L2/bırakma), kayıp işlevi
Sinir Ağları Bölüm 3: Öğrenme ve Değerlendirme
Gradyan Kontrolü, Sağlık Kontrolü, Momentum (+neserov), İkinci Derece Yöntemler, Adagrad/RMSprop, Hiperparametre Optimizasyonu, Model Topluluğu
Hepsini bir araya getirmek: Bir sinir ağı vaka çalışması
Minimal 2D oyuncak veri örneği
Modül 2: Evrişimli Sinir Ağları
Evrişimli Sinir Ağları: Mimari, Evrişim/Toplama Katmanları
Katmanlar, Uzamsal Düzenleme, Katman Modu, Katman Boyutu Modu, AlexNet/ZFNet/VGGNet Vaka Çalışması, Hesaplamayla İlgili Hususlar
Evrişimli Sinir Ağlarını Anlama ve Görselleştirme
tSNE yerleştirmeleri, deconvnet'ler, veri gradyanları, ConvNet'leri kandırma, insan karşılaştırmaları
Transfer Öğrenimi ve İnce Ayar Evrişimli Sinir Ağları
kısa tanıtım
Ders 1: Görsel Tanıma Kursu için Evrişimli Sinir Ağlarına Giriş
Ders 1, bilgisayarla görü alanını tanıtır, tarihini ve temel zorluklarını tartışır. Bilgisayar görüşünün çok çeşitli farklı görevleri kapsadığını vurguluyoruz ve derin öğrenme yaklaşımlarının son zamanlardaki bazı başarılarına rağmen, insan düzeyinde görsel zeka hedefinden hala uzaktayız.
Anahtar kelimeler: Bilgisayarla Görme, Kambriyen Patlaması, Camera Obscura, Hubel ve Wiesel, Block World, Normalize Cut, Yüz Algılama, SIFT, Uzamsal Piramit Eşleştirme, Yönlendirilmiş Gradyan Histogramı, PASCAL Görsel Nesne Yarışması, ImageNet Mücadelesi
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture1.pdf
Ders 2: Görüntü Sınıflandırma
Ders 2, görüntü sınıflandırma problemini resmileştirir. Görüntü sınıflandırma probleminin kendi zorluklarını tartışıyoruz ve veriye dayalı yaklaşımları tanıtıyoruz. İki basit veri güdümlü görüntü sınıflandırma algoritmasını tartıştık: K-En Yakın Komşular ve Doğrusal Sınıflandırıcılar ve hiperparametreler ve çapraz doğrulama kavramlarını tanıttık.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture2.pdf
Ders 3: Kayıp Fonksiyonları ve Optimizasyon
Ders 3, doğrusal sınıflandırıcıların tartışmasına devam ediyor. Kayıp fonksiyonları kavramını tanıtıyoruz ve görüntü sınıflandırması için yaygın olarak kullanılan iki kayıp fonksiyonunu tartışıyoruz: çok sınıflı SVM kaybı ve çok terimli lojistik regresyon kaybı. Ayrıca, fazla takmayla mücadele için bir mekanizma olarak düzenlileştirmeyi ve somut bir örnek olarak ağırlık düşüşünü sunuyoruz. Ayrıca optimizasyon kavramını ve stokastik gradyan iniş algoritmasını tanıttık. Ayrıca bilgisayarla görü özelliği temsillerinin kullanımını da kısaca tartışıyoruz.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture3.pdf
Ders 4: Sinir Ağlarına Giriş
Ders 4'te doğrusal sınıflandırıcılardan tam bağlantılı sinir ağlarına geçtik. Bu bölüm, gradyanları hesaplamak için geri yayılım algoritmasını tanıtmakta ve yapay sinir ağları ile biyolojik sinir ağları arasındaki ilişkiyi kısaca tartışmaktadır.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture4.pdf
Ders 5: Evrişimli Sinir Ağları
Ders 5'te, tamamen bağlı sinir ağlarından evrişimli sinir ağlarına geçtik. Perceptron, neocognitron, LeNet ve AlexNet dahil olmak üzere evrişimsel ağların gelişimindeki bazı önemli tarihsel kilometre taşlarını tartışacağız. Modern evrişimsel ağların temelini oluşturan evrişim, havuzlama ve tam bağlantılı katmanları tanıtacağız.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture5.pdf
Ders 6: Sinir Ağı Eğitimi 1
Ders 6'da modern sinir ağlarının eğitimindeki birçok pratik konuyu tartıştık. Farklı etkinleştirme işlevlerini, veri ön işlemeyi, ağırlık başlatmayı ve toplu normalleştirmenin önemini tartışıyoruz; ayrıca öğrenme sürecini izlemek ve hiperparametreleri seçmek için bazı stratejiler sunuyoruz.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture6.pdf
Ders 7: Sinir Ağı Eğitimi 2
Ders 7, sinir ağlarının eğitimindeki pratik konuları tartışmaya devam ediyor. Eğitim sırasında sinir ağlarını optimize etmek için farklı güncelleme kurallarını ve büyük sinir ağlarını (bırakma dahil) düzenli hale getirmek için stratejileri tartışıyoruz. Ayrıca transfer öğrenimi ve ince ayarı tartışıyoruz.
Anahtar kelimeler: optimizasyon, momentum, Nesterov momentumu, AdaGrad, RMSProp, Adam, ikinci dereceden optimizasyon, L-BFGS, topluluk, düzenlileştirme, bırakma, veri büyütme, aktarım öğrenimi, ince ayar
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture7.pdf
Ders 8: Derin Öğrenme Yazılımı
Ders 8, TensorFlow ve PyTorch'a odaklanarak derin öğrenme için farklı yazılım paketlerinin nasıl kullanılacağını tartışır. CPU ve GPU arasındaki bazı farkları da tartıştık.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture8.pdf
Ders 9: CNN Mimarisi
Ders 9, evrişimli sinir ağlarının bazı yaygın mimarilerini tartışır. AlexNet, VGGNet, GoogLeNet ve ResNet dahil olmak üzere ImageNet Challenge'da iyi performans gösteren bazı mimarilerin yanı sıra diğer bazı ilginç modelleri tartıştık.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf
Ders 10: Tekrarlayan Sinir Ağları
Ders 10, sıralı verileri modellemek için tekrarlayan sinir ağlarının nasıl kullanılacağını tartışır. Dil modelleme ve resim yazısı için tekrarlayan sinir ağlarının nasıl kullanılacağını ve yumuşak uzamsal dikkatin resim yazısı modellerine nasıl dahil edileceğini gösteriyoruz. Uzun kısa süreli bellek (LSTM) ve kapılı tekrarlayan birim (GRU) dahil olmak üzere tekrarlayan sinir ağlarının farklı mimarilerini tartışıyoruz.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture10.pdf
Ders 11: Tespit ve Bölümleme
Ders 11'de, evrişimli ağların diğer bilgisayarlı görme görevlerine nasıl uygulanabileceğini göstermek için görüntü sınıflandırmasının ötesine geçiyoruz. Altörnekleme ve üstörnekleme katmanlarına sahip tam evrişimli ağların anlamsal bölümleme için nasıl kullanılabileceğini ve yerelleştirme ve poz tahmini için çoklu görev kayıplarının nasıl kullanılabileceğini gösteriyoruz. Bölge tabanlı R-CNN yöntem ailesi ve SSD ve YOLO gibi tek çekim yöntemleri dahil olmak üzere bazı nesne algılama yöntemlerini tartışıyoruz. Son olarak, örnek bölümleme için anlamsal bölümleme ve nesne algılamadan gelen fikirlerin nasıl birleştirileceğini gösteriyoruz.
Anahtar kelimeler: Semantik segmentasyon, tam evrişimli ağ, havuzdan çıkarma, devrik evrişim, yerelleştirme, çoklu görev kaybı, poz tahmini, nesne algılama, kayan pencere, bölge önerileri, R-CNN, Hızlı R-CNN, Daha Hızlı R-CNN , YOLO, SSD, DenseCap , Örnek Segmentasyonu, Maske R-CNN
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture11.pdf
Ders 12: Görselleştirme ve Anlama
Ders 12, evrişimli ağların iç mekaniğini görselleştirmenin ve anlamanın yollarını tartışır. Ayrıca DeepDream ve sanatsal stil aktarımı dahil olmak üzere yeni görüntüler oluşturmak için evrişimli ağların nasıl kullanılacağını tartışıyoruz.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture12.pdf
Ders 13: Üretken Modeller
Ders 13'te, denetimli öğrenmenin ötesine geçiyor ve bir denetimsiz öğrenme biçimi olarak üretici modelleri tartışıyoruz. Otoregresif PixelRNN ve PixelCNN modellerini, geleneksel ve varyasyonel otomatik kodlayıcıları (VAE'ler) ve üretken çekişmeli ağları (GAN'lar) ele alıyoruz.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture13.pdf
Ders 14: Derin Takviyeli Öğrenme
Ders 14'te, denetimli öğrenmeden pekiştirmeli öğrenmeye (RL) geçtik. Takviyeli öğrenmede, ajan, ödülü en üst düzeye çıkarmak için çevre ile etkileşime girmeyi öğrenmelidir. Markov Karar Süreçleri (MDP'ler), politikalar, değer işlevleri ve Q işlevleri dilini kullanarak pekiştirmeli öğrenmeyi resmileştiriyoruz. Q-Learning, Policy Gradient ve Actor-Critic dahil olmak üzere pekiştirici öğrenme için farklı algoritmaları tartıştık. Atari oyunlarını oynamak için pekiştirmeli öğrenmenin kullanıldığını, AlphaGo'nun Go'da profesyonel insan oyunculardan daha iyi performans gösterdiğini gösteriyoruz.
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture14.pdf
Ders 15: Derin Öğrenme İçin Etkili Yöntemler ve Donanım
15. Derste konuk öğretim görevlisi Song Han, derin öğrenme iş yükleri için eğitimi ve çıkarımı hızlandırmak için kullanılabilecek algoritmaları ve özel donanımları tartışıyor. Paralelleştirme, karma kesinlik ve daha fazlasını içeren çıkarım sürecini hızlandırmak için budama, ağırlık paylaşımı, niceleme ve diğer teknikler gibi teknikleri tartışıyoruz. NVIDIA'nın en yeni Volta GPU'sundaki Tensör Çekirdekleri ve Google'ın TPU'ları (Tensor İşlem Birimleri) dahil olmak üzere GPU'lar, FPGA'lar ve ASIC'ler gibi derin öğrenme için özel donanımları tartıştık.
Anahtar kelimeler: Donanım, CPU, GPU, ASIC, FPGA, budama, ağırlık paylaşımı, niceleme, ikili ağ, üçlü ağ, Winograd dönüşümü, EIE, paralel veri, model paralel, karışık hassasiyet, FP16, FP32, model damıtma, Yoğun-Sparse -Yoğun eğitim , NVIDIA Volta, Tensör Çekirdeği, Google TPU, Google Cloud TPU
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture15.pdf
Ders 16: Çelişki Örnekleri ve Çelişki Eğitimi
Konuk öğretim görevlisi Ian Goodfellow tarafından sunulan 16. Ders, Derin Öğrenmede Çelişkili Örnekleri tartışıyor. Bu ders, derin ağların ve diğer makine öğrenimi modellerinin neden rakip örneklere açık olduğunu ve makine öğrenimi sistemlerine saldırmak için rakip örneklerin nasıl kullanılabileceğini tartışıyor. Rakip örneklere karşı potansiyel savunmaları ve açık bir rakip olmadığında bile makine öğrenimi sistemlerini geliştirmek için rakip örneklerin nasıl kullanılabileceğini tartışıyoruz.
Anahtar kelimeler: Rakip örnekler, Fooling görüntüleri, hızlı gradyan işaret yöntemi (FGSM), Clever Hans, çekişmeli savunma, fiziksel dünyada çekişmeli örnekler, çekişmeli eğitim, sanal çekişmeli eğitim, model tabanlı optimizasyon
PPT: cs231n.stanford.edu/slides/2017/cs231n_2017_lecture16.pdf
İş ayrıntılarını görüntülemek için orijinal metni okumak için tıklayın, katılmanızı dört gözle bekliyoruz~