Deep Learning w analizie obrazu z Instagram #30DEVSTORIES

30 Dni O Analizie Obrazu Z Wykorzystaniem Głębokich Sieci Neuronowych

30 Dni O Analizie Obrazu
Z Wykorzystaniem Głębokich Sieci Neuronowych

KIM JEST TWÓJ INSTRUKTOR?

Karol Majek

Twój instruktor to Dr inż. Karol Majek.

Prowadzi szkolenia z głębokiego uczenia w widzeniu maszynowym (Deep Learning in Computer Vision).

Prowadzi bloga o sieciach neuronowych, pojazdach autonomicznych i robotyce mobilnej Deep Drive PL.

Przetestował wiele sieci neuronowych na swoim kanale YouTube.

Ten nanokurs to zapis z 30 dni wyzwania #30DEVSTORIES na Instagramie. Znajdziesz tutaj wiele informacji dla osób początkujących, ale i bardziej zaawansowanych, które wprowadzą cię w świat głębokich sieci neuronowych i analizy obrazu.

W wyzwaniu chodziło o to by codziennie dzielić się merytorycznymi historiami przez 30 dni. Takie podejście ogranicza czas na przygotowanie i Jest to dość spontaniczne, tak też było w tym przypadku gdyż bardzo szybko podjąłem wyzwanie (Rozpocząłem 2 maja a skończyłem 31 maja).

Zapis z wszystkich 30 dni znajdziesz tutaj w tym nanokursie. Niektóre rzeczy podzieliłem niektóre połączyłem tak aby zdecydowanie ułatwić nawigację i korzystanie z tych treści.

Dzień 1: Brak analogi do mózgu
Lekcja 1: 7 różnic między mózgiem a siecią neuronową

Dzień 2: Neuron
Lekcja 1: Intro
Lekcja 2: Drugi Elon i być sobą – Avatarify
Lekcja 3: Z czego składa się neuron?
Lekcja 4: Sieć z jednego neuronu!

Dzień 3: Perceptron wielowarstwowy
Lekcja 1: Intro
Lekcja 2: Budowa sieci – warstwy neuronów
Lekcja 3: Ile warstw powinniśmy mieć?

Dzień 4: Podstawowe funkcje aktywacji
Lekcja 1: Intro
Lekcja 2: Po co nam funkcja aktywacji?
Lekcja 3: Sigmoid i TanH
Lekcja 4: Jak wyznaczamy gradient?

Dzień 5: Zaawansowane funkcje aktywacji
Lekcja 1: Avatarify
Lekcja 2: Intro
Lekcja 3: ReLU
Lekcja 4: LeakyReLU i ELU

Dzień 6: Sposoby uczenia sieci neuronowych ze względu na dane
Lekcja 1: Intro
Lekcja 2: Uczenie nadzorowane
Lekcja 3: Ilość danych wygenerowanych
Lekcja 4: Self-Supervised Learning
Lekcja 5: AWS DeepRacer – jako przykład RL
Lekcja 6: Uczenie ze wzmocnieniem
Lekcja 7: Transfer Learning
Lekcja 8: Self-Supervised Learning – przykłady
Lekcja 9: Co gdy już wytrenujemy sieć na pretext tasku?

Dzień 7: Propagacja błędów
Lekcja 1: Intro
Lekcja 2: Jak poprawić wartości wag w sieci neuronowej?
Lekcja 3: Jaki jest wpływ wag na wynik?
Lekcja 4: Lokalne gradienty
Lekcja 5: Chain rule
Lekcja 6: Lokalne gradienty dla warstw
Lekcja 7: Outro

Dzień 8: Optymalizacja – uczenie
Lekcja 1: Intro
Lekcja 2: Metody gradientowe w uproszczeniu
Lekcja 3: Ocena gradientu na jakiej podstawie?
Lekcja 4: Stochastic Gradient Descent – wizualizacja
Lekcja 5: Mini batch Gradient Descent
Lekcja 6: Lepsze algorytmy optymalizacji

Dzień 9: Optymalizatory w DL
Lekcja 1: Intro
Lekcja 2: Udacity – Self-Driving Car Nanodegree
Lekcja 3: Self-Racing Cars 2017 – samochody autonomiczne na torze
Lekcja 4: 2018 – Autonomicznie bez samochodu?
Lekcja 5: Kurs Udacity SDCND
Lekcja 6: Po co nam lepsze optymalizatory?
Lekcja 7: Adam ma problem
Lekcja 8: Adam ma też zalety

Dzień 10: Trening w TensorFlow
Lekcja 1: Intro
Lekcja 2: Trening y=ax+b
Lekcja 3: Trening Fashion MNIST
Lekcja 4: Overfitting

Dzień 11: Reprezentacja obrazu
Lekcja 1: Intro
Lekcja 2: Jak przechowywany jest obraz w OpenCV?
Lekcja 3: Z czego składa się obraz?
Lekcja 4: Reprezentacja obrazu RGB w pythonie
Lekcja 5: Normalizacja wartości obrazu

Dzień 12: Operacja konwolucji
Lekcja 1: Intro
Lekcja 2: Filtry konwolucyjne
Lekcja 3: Stride i dilation w operacji konwolucji
Lekcja 4: Obsługa ramki

Dzień 13: Konwolucja vs warstwa Dense
Lekcja 1: Intro
Lekcja 2: Cały obraz jako wektor
Lekcja 3: Co zmieni zastosowanie konwolucji?
Lekcja 4: Analiza otoczenia pikseli
Lekcja 5: Sieci konwolucyjne – podsumowanie
Lekcja 6: Mniej wag – lepiej?
Lekcja 7: Działanie filtrów konwolucyjnych – przykład
Lekcja 8: Jak działają filtry konwolucyjne?
Lekcja 9: Wartości wyjściowe po konwolucji

Dzień 14: Budowa sieci do rozpoznawania obrazu
Lekcja 1: Intro
Lekcja 2: Po co 1×1 conv?
Lekcja 3: Budowa sieci do rozpoznawania obrazu
Lekcja 4: Ekstrakcja cech, klasyfikacja
Lekcja 5: Global Pooling
Lekcja 6: Global Pooling lepszy niż Flatten?
Lekcja 7: Czemu warto używać Global Poolingu – krótko
Lekcja 8: Czy Flatten nadal ma sens?

Dzień 15: Overfitting
Lekcja 1: Intro
Lekcja 2: Overfitting prosto – Przykład z funkcją liniową
Lekcja 3: Overfitting w rzeczywistości

Dzień 16: Regularyzacja
Lekcja 1: Intro
Lekcja 2: Early stopping
Lekcja 3: Early stopping – podsumowanie
Lekcja 4: Dodatkowy koszt L1 i L2
Lekcja 5: L2 dba o równomierny rozkład
Lekcja 6: Dropout
Lekcja 7: Dropout – kiedy
Lekcja 8: Spatial/Global pooling
Lekcja 9: Spatial Pooling w skrócie
Lekcja 10: Global Pooling
Lekcja 11: Data augmentation
Lekcja 12: Dodawanie szumu do wejść sieci
Lekcja 13: Dodawanie szumu do wag
Lekcja 14: Label smoothing
Lekcja 15: Label smooting – dopuszczamy niedoskonałość

Dzień 17: Data augmentation
Lekcja 1: Intro
Lekcja 2: Pierwszy krok – wizualizacja i test
Lekcja 3: TensorFlow Image
Lekcja 4: TF image – więcej funkcji
Lekcja 5: Albumentations

Dzień 18: Klasyfikacja binarna i na wiele klas
Lekcja 1: Dygresje
Lekcja 2: Intro
Lekcja 3: Prawdopodobieństwo na wyjściu sieci
Lekcja 4: Sigmoid – dwie kategorie na wyjściu – klasyfikacja binarna
Lekcja 5: Softmax – czyli co robić gdy mamy więcej klas
Lekcja 6: Co gdy nie zrobimy Softmaxa?
Lekcja 7: Jak ocenić wynik klasyfikacji?
Lekcja 8: Przykładowy wynik klasyfikacji – mój ulubiony przykład
Lekcja 9: Cross Entropy Loss
Lekcja 10: CE Loss dla 2 klas
Lekcja 11: TF GPU na Windows

Dzień 19: Transfer learning
Lekcja 1: Intro
Lekcja 2: Co to jest transfer learning?
Lekcja 3: Jak stosować Transfer Learning?
Lekcja 4: Kiedy stosowanie Transfer Learningu ma sens?

Dzień 20: Co widzi sieć?
Lekcja 1: Intro
Lekcja 2: Co widzą pierwsze warstwy sieci neuronowej?
Lekcja 3: A co kolejne warstwy sieci?
Lekcja 4: Zaawansowane tekstury
Lekcja 5: Jak to jest zrobione?

Dzień 21: Self-Supervised Learning
Lekcja 1: Intro
Lekcja 2: Predykcja rotacji
Lekcja 3: Kolorowanie zdjęć
Lekcja 4: Predykcja kontekstu
Lekcja 5: Jigsaw Puzzle
Lekcja 6: Sortowanie sekwencji zdjęć
Lekcja 7: Uzupełnianie zdjęcia
Lekcja 8: Spot artifacts
Lekcja 9: Podsumowanie

Dzień 22: Rodzaje analizy obrazu
Lekcja 1: Intro
Lekcja 2: Rozpoznawanie obrazu
Lekcja 3: Wykrywanie obiektów
Lekcja 4: Segmentacja instancji
Lekcja 5: Panoptic segmentation
Lekcja 6: Wykrywanie punktów charakterystycznych

Dzień 23: Skąd wziąć gotowe modele?
Lekcja 1: Intro
Lekcja 2: TensorFlow Model Garden
Lekcja 3: TensorFlow Hub
Lekcja 4: Keras applications
Lekcja 5: PyTorch Hub
Lekcja 6: TorchVision Models
Lekcja 7: ResNeSt

Dzień 24: Jak dobrać Learning Rate?
Lekcja 1: Intro
Lekcja 2: Zbyt mały, zbyt duży Learning Rate
Lekcja 3: Dobór LR w praktyce
Lekcja 4: Adam i LR

Dzień 25: Problem z czasem trwania treningu
Lekcja 1: Intro
Lekcja 2: Co możemy zrobić by przyspieszyć trening?
Lekcja 3: 1 prosty trik by zwiększyć rozmiar batcha
Lekcja 4: One Cycle Learning Rate
Lekcja 5: Wykorzystanie kart graficznych

Dzień 26: Jak ocenić czy obiekt jest poprawnie wykryty?
Lekcja 1: Anegdota – Atari
Lekcja 2: Intro
Lekcja 3: Metryka IoU
Lekcja 4: Problem IoU oraz inne metody
Lekcja 5: GIoU – Generalized IoU
Lekcja 6: Distance IoU
Lekcja 7: Outro

Dzień 27: Metryki w wykrywaniu obiektów
Lekcja 1: Intro
Lekcja 2: True, False Positive, Negative
Lekcja 3: Precyzja wg zbioru danych COCO
Lekcja 4: Metryki COCO – Average Precision i Average Recall
Lekcja 5: 20 lat historii wykrywania obiektów
Lekcja 6: HOG
Lekcja 7: Selective search
Lekcja 8: Outro

Dzień 28: Historia wykrywania obiektów
Lekcja 1: Intro
Lekcja 2: Wykrywanie dwu i jednoetapowe
Lekcja 3: RCNN
Lekcja 4: Fast RCNN
Lekcja 5: Faster RCNN
Lekcja 6: YOLOv4, Joe Redmon i aspekty etyczne
Lekcja 7: Koniecznie przeczytaj artykuł YOLOv3
Lekcja 8: Testy metod wykrywania obiektów

Dzień 29: Segmentacja semantyczna i Panoptic segmentation
Lekcja 1: Intro
Lekcja 2: Segmentacja semantyczna
Lekcja 3: U-Net krok po kroku
Lekcja 4: Konwolucja transponowana
Lekcja 5: DeepLab
Lekcja 6: Panoptic segmentation

Dzień 30: Wykrywanie obiektów z Transformerem – Facebook DETR
Lekcja 1: Intro
Lekcja 2: DETR – Object detection with Transformer
Lekcja 3: DETR do wykrywania obiektów
Lekcja 4: Koniec

BONUS
Lekcja 1: Automatyzacja w DL
Lekcja 2: VISDRONE – wykrywanie obiektów z drona

PYTANIA:

Czy mogę otrzymać ten kurs dożywotnio?
TAK. Masz dostęp od chwili dołączenia do wszystkich materiałów.

Kiedy rozpoczyna się kurs i jak długo trwa?
Masz dostęp do wszystkich lekcji od razu, od momentu gdy dołączysz.

Co, jeżeli mam z czymś problem lub coś jest niejasne?
Napisz na adres email: karol@deepdrive.pl

Co, jeżeli mam uwagi, pomysły na usprawnienia, sugestie?
Napisz na adres email: karol@deepdrive.pl

ZACZYNAMY?

Comments are closed.

Close