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).
Koordynatorzy przedmiotu
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.
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: