Metody numeryczne dla sztucznej inteligencji
Informacje ogólne
Kod przedmiotu: | 1000-2M20MSI |
Kod Erasmus / ISCED: |
11.3
|
Nazwa przedmiotu: | Metody numeryczne dla sztucznej inteligencji |
Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
Grupy: |
Przedmioty obieralne dla informatyki Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka |
Punkty ECTS i inne: |
(brak)
|
Język prowadzenia: | angielski |
Rodzaj przedmiotu: | monograficzne |
Założenia (opisowo): | GSN 1000-2M16GSN, Algebra Liniowa 1000-711ALI, Narzędzia programistyczne w Pythonie wspierające analizę danych 1000-2M20NPD, Algorytmy optymalizacji w statystyce 1000-1M19AOS |
Skrócony opis: |
Kurs będzie omawiał zagadnienia optymalizacji i numeryki z perspektywy uczenia głębokich sieci neuronowych (deep-learning). Kurs jest komplementrany do kursu GSN (Głębokie sieci neuronowe) oferowanego w Instytucie Informatyki. Wykłady (w języku angielskim) będą uzupełnione laboratoriami, gdzie zadaniem studentów będzie implementacja w Pythonie metod omawianych na wykładzie. Celem kursu jest dogłębne zrozumienie metod uczenia sztucznych sieci neuronowych za pomocą metod gradientowych. |
Pełny opis: |
1. Przegląd podstaw programowania w Pythonie/NumPy/IPython oraz matematyki: algebra liniowa i analiza (4-5 wykładów). 2. Spadek gradientowy (gradient descent) oraz optymalizacja wypukła, algorytm wstecznej propagacji, przyspieszony spadek gradientowy, rozwiązywanie problemu regresji za pomocą spadku gradientowego (2-3 wykłady). 3. Optymalizacja niewypukła: uczenie nadzorowane sztucznych sieci neuronowych typu feed-forward, różnica optymalizacja (nie)wypukła, sieci wielowarstwowe, różnice w różnych funkcjach aktywacji i straty (4-5 wykładów). 4. Wstęp do metod typu policy gradients dla problemów uczenia ze wzmocnieniem (2-3 wykłady). 5. Metody wyższego rzędu dla optymalizacji, w tym metoda (pseudo-)Newtona znajdywania min/max oraz TRPO dla uczenia ze wzmocnieniem (1-2 wykłady). |
Literatura: |
• Numerical Analysis for AI course notes (obecnie nieco przestarzałe) https://github.com/dzako/NA4AI, • Carl D. Meyer, Matrix Analysis and Applied Linear Algebra, SIAM, • Jorge Nocedal, Stephen J. Wright, Numerical Optimization, Springer Series in Operations Research, • Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep Learning, http://www.deeplearningbook.org |
Efekty uczenia się: |
Wiedza: • Rozumie podstawy teoretyczne oraz metody optymalizacji (nie)wypukłej. • Ma podstawową wiedzę w zakresie uczenia maszynowego. • Rozumie algorytmy uczenia sieci neuronowych. Umiejętności: • Potrafi implementować podstawowe metody uczenia maszynowego w tym PCA i regresji. • Potrafi implementować od podstaw sieci neuronowe oraz algorytmy ich uczenia spadkiem gradientowym od podstaw w Pythonie. Kompetencje: • Potrafi ocenić czy do danego problemu warto zastosować podstawowe metody uczenia maszynowego. |
Metody i kryteria oceniania: |
Ocena końcowa na podstawie punktów z programu zaliczeniowego, zadań domowych (w formie programów komputerowych). |
Właścicielem praw autorskich jest Uniwersytet Warszawski.