2021L-ZZSN - projekty
Zaawansowane zagadnienia sieci neuronowych - projekty
Prowadzone grupy
grupa 101
grupa 102
grupa 103
grupa 104
Organizacja zajęć
Część projektowa zajęć z Zaawansowanych zagadnień sieci neuronowych polega na implementacji zaawansowanych modeli sieci neuronowych nawiązujących do tematów omawianych na wykładzie.
Projekty realizowane są w zespołach dwuosobowych. Celem projektu jest rozwiązanie problemu o charakterze użytkowym lub badawczym i jednoczesne zrozumienie danego zagadnienia przez zespół. Oznacza to, że przy realizacji można się posiłkować publicznymi implementacjami, ale nie zwalnia to zespołu z przygotowania się do dokładnego wytłumaczenia zasady działania prezentowanego rozwiązania.
Projekty powinny być realizowane w języku Python 3.8+ z wykorzystaniem biblioteki PyTorch, ewentualnie TensorFlow. Sugerowanym podejściem do ustrukturyzowania kodu jest wykorzystanie biblioteki PyTorch Lightning. Szkielet takiego rozwiązania dostępny jest w repozytorium 2021L-ZZSN/template.
Dodatkowe informacje udostępniane będą na bieżąco w zespole MS Teams przedmiotu.
Zasady oceniania
Za część projektową można uzyskać łącznie 35 punktów:
dokumentacja wstępna - 5 punktów,
implementacja modelu - 15 punktów,
dokumentacja końcowa i prezentacja projektu - 15 punktów.
Dokumentacja wstępna powinna zawierać opis zadania, przewidywany sposób rozwiązania problemu i wyjaśnienie poczynionych założeń (typ modelu, wybrane zbiory danych, narzędzia, zakładana funkcjonalność itp.).
W ramach implementacji, poza zrealizowaną funkcjonalnością i zakresem eksperymentów, oceniana jest przede wszystkim jakość i czytelność wygenerowanego kodu. Kod powinien dać się uruchomić po postawieniu środowiska conda według pliku environment.yml z repozytorium (w wyjątkowych przypadkach obraz z Dockerfile). Mile widziane są adnotacje typowania statycznego i podstawowy zakres testów adekwatny do specyfiki testowania projektów machine learningowych, ale elementy te nie są wymagane do uzyskania maksymalnej liczby punktów, jeżeli nie ma żadnych innych zastrzeżeń.
W dokumentacji końcowej należy zawrzeć opis rozwiązania ze zwięzłym wyjaśnieniem kontekstu danego zagadnienia lub zasady działania modelu, wyniki eksperymentów i wnioski po realizacji projektu.
Dokumentację i kod źródłowy należy umieścić w repozytorium git dedykowanym dla zespołu (dokładne informacje na kanale MS Teams).
Niejasności można wyjaśniać poprzez MS Teams lub na konsultacjach (po zapisaniu się).
Harmonogram
Wyszczególnione daty oznaczają termin na koniec dnia (23:59). Przez dostarczenie materiałów rozumiany jest commit w udostępnionym przeze mnie repozytorium dedykowanym dla projektu.
Data
Etap realizacji
19.03.2021 (piątek)
Zgłoszenie składów zespołów wraz z preferencjami tematów (proszę dołączyć loginy na GitHubie)
22.03.2021 (poniedziałek)
Przydział tematów do zespołów
16.04.2021 (piątek)
Dostarczenie dokumentacji wstępnej
2.06.2021 (środa)
8.06.2021 (wtorek)
Dostarczenie kodu źródłowego i dokumentacji końcowej
7-11.06.2021
9-11.06.2021
Prezentacje i ocena projektów
16.06.2021 (środa)
18.06.2021 (piątek)
Ostateczny termin na oddanie projektu z karą -10 punktów
(po tym terminie projekty nie będą oceniane)
Tematy projektów
Lp.
Temat
1
Zmiana pogody na zdjęciach za pomocą transferu stylu
2
Generowanie twarzy postaci z filmów animowanych za pomocą sieci GAN
3
Detekcja maseczek ochronnych na zdjęciach z wykorzystaniem detektora YOLO
4
Usuwanie tła za pomocą sieci typu U-Net
5
Segmentacja zdjęć lotniczych za pomocą sieci typu U-Net
6
Wykorzystanie sieci impulsowej do klasyfikacji dźwięku
7
Przeciwstawne uczenie ciągłe klasyfikatorów dźwiękowych
8
Rezydualne uczenie ciągłe klasyfikatorów obrazowych
9
Wyszukiwanie efektywnych podsieci w klasyfikatorze danych dźwiękowych
10
Wykorzystanie sieci kapsułkowych do klasyfikacji chmur punktów
11
Predykcja liczby zachorowań na COVID-19 za pomocą grafowych sieci czasowo-przestrzennych
12
Analiza wydźwięku depesz giełdowych za pomocą modelu typu BERT
13
Wykorzystanie architektury typu Music Transformer do generowania dzwonków telefonicznych
14
Wykorzystanie uczenia samonadzorowanego do poprawy klasyfikacji dźwięku
15
Uczenie klasyfikatorów dźwiękowych niewielką liczbą przykładów z wykorzystaniem sieci prototypowych
?
Możliwe tematy własne po konsultacji
Omówienie tematów
1. Zmiana pogody na zdjęciach za pomocą transferu stylu
2. Generowanie twarzy postaci z filmów animowanych za pomocą sieci GAN
3. Detekcja maseczek ochronnych na zdjęciach z wykorzystaniem detektora YOLO
4. Usuwanie tła za pomocą sieci typu U-Net
5. Segmentacja zdjęć lotniczych za pomocą sieci typu U-Net
6. Wykorzystanie sieci impulsowej do klasyfikacji dźwięku
7. Przeciwstawne uczenie ciągłe klasyfikatorów dźwiękowych
8. Rezydualne uczenie ciągłe klasyfikatorów obrazowych
9. Wyszukiwanie efektywnych podsieci w klasyfikatorze danych dźwiękowych
10. Wykorzystanie sieci kapsułkowych do klasyfikacji chmur punktów
11. Predykcja liczby zachorowań na COVID-19 za pomocą grafowych sieci czasowo-przestrzennych
12. Analiza wydźwięku depesz giełdowych za pomocą modelu typu BERT
13. Wykorzystanie architektury typu Music Transformer do generowania dzwonków telefonicznych
14. Wykorzystanie uczenia samonadzorowanego do poprawy klasyfikacji dźwięku
15. Uczenie klasyfikatorów dźwiękowych niewielką liczbą przykładów z wykorzystaniem sieci prototypowych
Zalecenia zbiorcze
Poza raportem końcowym dobrze byłoby, gdyby w ramach rozwiązania można zrozumieć i sprawdzić działanie modelu na przykładach, najlepiej w sposób interaktywny.
Sugerowanym narzędziem do tego typu prostych podsumowań jest Streamlit, ewentualnie Dash lub inne rozwiązania tego typu.
Zasoby obliczeniowe
Do realizacji projektów można wykorzystać darmowe zasoby obliczeniowe:
Jeżeli uda się pozyskać grant edukacyjny na przedmiot, to dostępne będą dodatkowo kupony do wykorzystania w Google Cloud.
W szczególnych przypadkach (np. uczenie samonadzorowane) możliwe jest też przydzielenie zasobów z puli uczelnianej.
W zależności od wymagań projektu i dostępnych mocy obliczeniowych uczenie modeli może zająć dłuższy czas (liczony w dniach). Proszę uwzględnić ten fakt przy rozplanowywaniu harmonogramu prac.
Last updated