Wprowadzenie do deep learning
1000-AD-DeepLear
Wprowadzenie do tematyki głębokiego uczenia, obejmujące podstawy matematyczne i koncepcyjne oraz praktyczne techniki głębokiego uczenia w perspektywie budowy modeli i zastosowań.
W ramach przedmiotu wprowadzona zostanie niezbędna teoria podparta praktycznymi przykładami zbudowanymi w języku Python i popularnych frameworkach uczenia maszynowego.
Przedmiot będzie zrealizowany w dwóch częściach: wykład oraz laboratorium. Wykład będzie obejmował teoretyczne i praktyczne aspekty uczenia głębokich sieci neuronowych. W ramach wykładu i ćwiczeń szczególny nacisk będzie kładziony na praktyczne aspekty budowania modeli opartych o głębokie sieci neuronowe jaki i ich praktyczne zastosowania.
Laboratoria będą prowadzone w oparciu o język programowania Python i szeroki wachlarz dostępnych dla niego bibliotek do przetwarzania danych, uczenia maszynowego i głębokich sieci neuronowych. Podjęty zostanie też wątek akceleracji obliczeń z wykorzystaniem obliczeń na kartach graficznych (General-purpose computing on graphics processing units, GPGPU) oraz wykorzystania zasobów chmur obliczeniowych.
Materiały wykładu zostaną udostępnione w formie slajdów. Praca w laboratorium będzie polegać przede wszystkim na samodzielnym wykonaniu przez studentów zadań związanych z prezentowanymi na wykładzie zagadnieniami. Ćwiczenia będą prowadzone w formie zachęcającej uczestników do intensywnej pracy w trakcie zajęć, jak i samodzielnej pracy domowej. W ramach laboratorium przewidujemy implementację i eksperymentowanie z otwartymi implementacjami przedstawionych modeli. Treści zadań (wraz z opisem ich realizacji) będą udostępnione w formie materiałów z laboratorium publikowanych w systemie Moodle.
Całkowity nakład pracy studenta
30 godz. – wykład,
30 godz. – laboratoria,
3 godz. – egzamin,
3 godz. - prezentacja zadań – laboratoria.
30 godz. - konsultacje z prowadzącymi zajęcia,
20 godz. - praca własna: przygotowanie zadań,
20 godz. - bieżące przygotowania do zajęć, studiowanie literatury, 20 godz.- praca własna: przygotowanie do egzaminu.
RAZEM: 136 godz.
6 pkt. ECTS
Efekty uczenia się - wiedza
W01 – Zna matematyczne podstawy Deep Learningu, w szczególności podstawowe modele uczenia, typy sieci neuronowych, podstawy reprezentacji danych (K_W01, K_W03).
W02 - Zna metody projektowania i analizowania modeli deep learning (K_W04).
W03 - Zna metody statystycznej analizy danych, w tym zagadnienia estymacji, testowania hipotez i redukcji wymiaru danych (K_W03).
W04 – Zna praktyczne przykłady wykorzystania głębokiego uczenia (K_W03, K_W08).
W05 - Zna biegle co najmniej jeden język programowania oraz biblioteki algorytmów i struktur danych; ma wiedzę na temat praktycznych uwarunkowań wydajnych implementacji algorytmów (K_W04).
Efekty uczenia się - umiejętności
U01 – Pracuje samodzielnie i efektywnie z dużą ilością danych, dostrzega zależności i poprawnie wyciąga wnioski, posługując się zasadami logiki (K_U03, K_U07).
U02 - Projektuje i analizuje modele głębokich sieci neuronowych w kontekście zastosowań w przetwarzaniu obrazu, tekstu i sekwencji. Zna podstawy generatywnych sieci neuronowych (K_U01, K_U05, K_U10) .
U03 - Posługuje się bibliotekami algorytmów i struktur danych, w tym bibliotekami algorytmów numerycznych, czy bibliotekami uczenia maszynowego (K_U08,K_U10, K_U13).
U04 - Potrafi posługiwać się podstawowymi narzędziami informatycznymi wspomagającymi tworzenie oprogramowania i jego utrzymanie (K_U05, K_U08).
U05 - Umie znajdować niezbędne informacje w literaturze fachowej, bazach danych i innych źródłach (także anglojęzycznych), zna podstawowe czasopisma i konferencje naukowe w swojej specjalności (K_U10, K_U13).
Efekty uczenia się - kompetencje społeczne
K01 - Myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań (K_K02).
K02 - Jest nastawiony na jak najlepsze wykonanie zadania; dba o szczegół; jest systematyczny (K_K03).
K03 - Skutecznie przekazuje innym swoje myśli w zrozumiały sposób; właściwie posługuje się terminologią fachową; potrafi nawiązać kontakt w obrębie swojej dziedziny i z osobą reprezentującą inną dziedzinę (K_K01, K_K02).
K04 - Potrafi opisywać zbudowane modele i struktury danych w sposób zrozumiały dla niespecjalisty (K_K02).
K05 - Pracuje systematycznie i posiada umiejętność pozytywnego podejścia do trudności stojących na drodze do realizacji założonego celu; dotrzymuje terminów (K_K04).
Metody dydaktyczne
Metody dydaktyczne podające:
● wykład informacyjny (konwencjonalny).
Metody dydaktyczne poszukujące:
● ćwiczeniowa,
● laboratoryjna,
● klasyczna metoda problemowa.
Metody dydaktyczne eksponujące
- symulacyjna (gier symulacyjnych)
Metody dydaktyczne podające
- wykład informacyjny (konwencjonalny)
Metody dydaktyczne w kształceniu online
- metody służące prezentacji treści
Rodzaj przedmiotu
przedmiot obligatoryjny
Wymagania wstępne
Aby w pełni docenić materiał w tego wykładu, zalecamy następujące wymagania:
1. Podstawowe wiadomości z zakresu informatyki
obejmujące bazy danych i programowanie współbieżne
oraz systemy operacyjne.
2. Algorytmy oraz struktury danych i matematyka dyskretna.
3. Eksploracja danych oraz metody uczenia maszynowego.
4. Wymagana jest praktyczna znajomość języka programowania Python oraz zasad programowania obiektowego.
Koordynatorzy przedmiotu
Kryteria oceniania
Wykład
Zaliczenie wykładu na podstawie oceny z ćwiczeń i rozbudowanego projektu (prezentacja + pytania do projektu) lub egzaminu ustnego i pisemnego. Realizuje W01-W05, K01-K05, U01-U04.
Laboratoria
Zaliczenie laboratorium odbywa się na podstawie 4/5 projektów zaliczeniowych wykonywanych częściowo w trakcie laboratoriów i częściowo samodzielnie. Przygotowane projekty student prezentuje i omawia. Realizuje W01, W03-W05, K02-K05, U01-U04.
Literatura
1. Francois Chollet: "Deep Learning. Praca z językiem Python i biblioteką Keras", 2019.
2. Ian Goodfellow, "Deep Learning", 2016 (wersja angielska, darmowy i legalny dostęp na stronie autorów, polskie tłumaczenie zawiera sporo błędów).
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i
terminach zajęć) mogą być dostępne w serwisie USOSweb: