Rozwój uczenia maszynowego – bezpłatny kurs ze Szkoły Analizy Danych, szkolenie 4 semestry, Termin: 2 grudnia 2023 r.
Miscellanea / / December 06, 2023
Ten kierunek jest odpowiedni dla tych, którzy lubią programować i tworzyć usługi i aplikacje, z których mogą korzystać tysiące i miliony ludzi.
Pisz efektywny kod, buduj i optymalizuj wydajne przemysłowo systemy oparte na danych.
W rozwoju produktów high-tech opartych na uczeniu maszynowym.
Każdy student musi pomyślnie zaliczyć co najmniej trzy przedmioty w semestrze. Na przykład, jeśli w programie głównym są dwa z nich, musisz wybrać jeden z kursów specjalnych.
Sprawdzanie wiedzy odbywa się przede wszystkim poprzez prace domowe – egzaminy i kolokwia przeprowadzane są tylko z niektórych przedmiotów.
Pierwszy semestr
Obowiązkowy
Algorytmy i struktury danych, część 1
01Złożoność i modele obliczeniowe. Analiza wartości księgowych (początek)
02Analiza wartości księgowych (koniec)
03 Algorytmy scalania i szybkiego sortowania
04Statystyka porządkowa. Sterty (początek)
05Sterty (koniec)
06Haszowanie
07Wyszukaj drzewa (początek)
08Wyszukiwanie drzew (ciąg dalszy)
09Przeszukaj drzewa (koniec). Układ zbiorów rozłącznych
10Problemy RMQ i LCA
11Struktury danych do wyszukiwania geometrycznego
12Zagadnienie spójności dynamicznej w grafie nieskierowanym
Szkolenie z języka C++, część 1
C++ to potężny język z bogatym dziedzictwem. Osobom, które dopiero wkroczyły na ścieżkę opanowania tego języka, bardzo łatwo jest zagubić się w bogactwie technik i technik powstałych na przestrzeni ostatnich 30 lat. Kurs uczy „Modern C++” – nowoczesnego podzbioru języka (standardy 11, 14 i 17). Dużo uwagi poświęca się narzędziom i bibliotekom - rzeczom, które nie są częścią języka, ale bez których nie będzie możliwe zbudowanie dużego i złożonego projektu.
01Wprowadzenie do C++.
02Stałe. Wskaźniki i linki. Przekazywanie argumentów do funkcji.
03Zajęcia.
04Dynamiczne zarządzanie pamięcią.
05Zmienne, wskaźniki i referencje.
06Zarządzanie pamięcią, inteligentne wskaźniki, RAII.
07Standardowa biblioteka szablonów.
08Dziedziczenie i funkcje wirtualne.
09 Obsługa błędów.
10Wzorce projektowe.
11Przestrzenie nazw Semantyka ruchu Idealne przekazywanie.
12Reprezentacja struktur i klas w pamięci. Wyrównanie danych. Wskaźniki do członków/metod klasy. Szablony wariadyczne.
Uczenie maszynowe, część 1
01Podstawowe pojęcia i przykłady stosowanych problemów
02Metody klasyfikacji metrycznej
03Logiczne metody klasyfikacji i drzewa decyzyjne
04Gradientowe metody klasyfikacji liniowej
05Wsparcie maszyny wektorowej
06Wieloczynnikowa regresja liniowa
07Regresja nieliniowa i nieparametryczna, niestandardowe funkcje strat
08Prognozowanie szeregów czasowych
09Bayesowskie metody klasyfikacji
10Regresja logistyczna
11Wyszukaj zasady stowarzyszenia
Drugi termin
Obowiązkowy
Uczenie maszynowe, część 2
01 Metody klasyfikacji i regresji sieci neuronowych
02Kompozycyjne metody klasyfikacji i regresji
03Kryteria doboru modeli i metody doboru cech
04Ranking
05 Uczenie się przez wzmacnianie
06Nauka bez nauczyciela
07Problemy z częściowym treningiem
08Wspólne filtrowanie
09Modelowanie tematyczne
Do wybrania z
Algorytmy i struktury danych, część 2
01Obejście na szerokość. Głębokość pierwszego przejścia (początek)
02 Pełzanie w głąb (ciąg dalszy)
03 Pełzanie w głąb (koniec). 2 cięcia
04 Znajdowanie najkrótszych ścieżek (początek)
05 Znajdowanie najkrótszych ścieżek (ciąg dalszy)
06 Minimalna liczba drzew rozpinających
07Minimalne cięcia. Wyszukaj podciągi (start)
08Wyszukiwanie podciągów (ciąg dalszy)
09Wyszukaj podciągi (koniec)
10 drzew przyrostków (początek)
11Drzewa przyrostków (zakończenie). Tablice przyrostków (początek)
12 Tablice przyrostków (koniec)
13 Najdłuższe wspólne podciągi. Przybliżone wyszukiwanie podciągów.
Lub
Język Pythona
01Podstawy języka (część 1)
02Podstawy języka (część 2)
03Programowanie obiektowe
04 Obsługa błędów
05Projektowanie i testowanie kodu
06Praca ze sznurkami
07Model pamięci
08Programowanie funkcjonalne
09Przegląd biblioteki (część 1)
10Przegląd biblioteki (część 2)
11Obliczenia równoległe w Pythonie
12Zaawansowana praca z obiektami
Lub
Szkolenie z języka C++, część 2
Druga część kursu C++, która obejmuje zaawansowane tematy i możliwości językowe.
01Programowanie wielowątkowe. Synchronizowanie wątków przy użyciu muteksów i zmiennych warunkowych.
02 Zmienne atomowe. Model pamięci w C++. Przykłady struktur danych bez blokad.
03Zaawansowane techniki metaprogramowania w C++. Metafunkcje, SFINAE, pojęcia.
04Programowanie konkurencyjne, interakcja z siecią.
Architektura 05llvm. Praca z drzewem analizy C++. Rozwój narzędzi do analizy kodu C++.
Trzeci semestr
Do wybrania z
Przetwarzanie języka naturalnego
„NLP (przetwarzanie języka naturalnego) to podzbiór szerszej dziedziny sztucznej inteligencji, która ma na celu nauczenie komputera rozumienia i przetwarzania surowych danych w języku naturalnym. Większość dostępnych obecnie informacji nie jest tekstem strukturalnym. Jako ludziom oczywiście nie jest nam trudno je zrozumieć (jeśli są w naszym ojczystym języku), jednak nie jesteśmy w stanie przetworzyć takiej ilości danych, jaką byłaby w stanie przetworzyć maszyna. Jak jednak sprawić, by maszyna zrozumiała te dane i, co więcej, wydobyła z nich jakieś informacje? Kilka lat temu, podczas otwarcia ACL (jednej z głównych, jeśli nie najważniejszej konferencji NLP) w jej ramach Przemówienie prezydenckie Marti Hearst przyznała, że nie może już dawać uczniom swojego ulubieńca ćwiczenia. Na przykładzie HAL 9000 (jeden z przykładów sztucznej inteligencji w science fiction) zapytała uczniów, co maszyna potrafi zrobić jak HAL, a czego jeszcze nie potrafi. W dzisiejszych czasach nie jest to już takie dobre ćwiczenie, ponieważ prawie wszystko można teraz wykonać za pomocą komputera. To niesamowite, jak szybko rozwija się ta dziedzina i jak wiele osiągnęliśmy. Na kursie postaramy się, abyś zrozumiał i poczuł to, co dzieje się na świecie. Jakie problemy są rozwiązywane, jak to się dzieje; jak niektóre podejścia statystyczne (którym kilka lat temu były prawie w całości poświęcone kursy NLP) zyskują nowe życie i nową interpretację w sieciach neuronowych, a które stopniowo wymierają. Pokażemy, że NLP nie jest zbiorem par (problem, rozwiązanie), ale ogólnymi ideami, które przenikają różne problemy i odzwierciedlają jakąś wspólną koncepcję. Dowiesz się także, co dzieje się w praktyce i kiedy które podejścia są bardziej odpowiednie. To jest to co robimy, co kochamy i jesteśmy gotowi się tym z Wami podzielić :)"
01 https://lena-voita.github.io/nlp_course.html
02 https://github.com/yandexdataschool/nlp_course
Lub
Wizja komputerowa
„Kurs poświęcony jest metodom i algorytmom widzenia komputerowego, czyli wydobywaniu informacji z obrazów i filmów. Przyjrzyjmy się podstawom przetwarzania obrazu, klasyfikacji obrazów, wyszukiwania obrazów według treści, rozpoznawania twarzy, segmentacji obrazów. Następnie porozmawiamy o algorytmach przetwarzania i analizy wideo. Ostatnia część kursu poświęcona jest rekonstrukcji 3D. W przypadku większości problemów omówimy istniejące modele sieci neuronowych. Na zajęciach staramy się zwracać uwagę wyłącznie na najnowocześniejsze metody, które są obecnie stosowane w rozwiązywaniu problemów praktycznych i badawczych. Kurs ma w dużej mierze charakter praktyczny, a nie teoretyczny. Dlatego wszystkie wykłady wyposażone są w laboratorium i prace domowe, które pozwalają wypróbować większość omawianych metod w praktyce. Praca jest wykonywana w Pythonie przy użyciu różnych bibliotek.”
01Obrazowanie cyfrowe i korekcja tonów
02Podstawy przetwarzania obrazu
03Łączenie obrazu
04Klasyfikacja obrazów i wyszukiwanie podobnych
05Konwolucyjne sieci neuronowe do klasyfikacji i wyszukiwania podobnych obrazów
06 Wykrywanie obiektów
07Segmentacja semantyczna
08Transfer stylu i synteza obrazu
09Rozpoznawanie wideo
10 Rzadka rekonstrukcja 3D
11Gęsta rekonstrukcja 3D
12Rekonstrukcja z jednego układu i chmur punktów, modele parametryczne
Lub
Metody bayesowskie w uczeniu maszynowym
01Bayesowskie podejście do teorii prawdopodobieństwa
02Analityczne wnioskowanie bayesowskie
03Wybór modelu bayesowskiego
04Automatyczne określenie istotności
05 Metoda wektora istotności dla problemu klasyfikacji
06Modele probabilistyczne ze zmiennymi ukrytymi
07Wariacyjne wnioskowanie bayesowskie
08Bayesowski model separacji mieszanin Gaussa
09Metody Monte Carlo z łańcuchami Markowa
10 Ukryta alokacja Dirichleta
11Procesy Gaussa dla regresji i klasyfikacji
12Nieparametryczne metody bayesowskie
Czwarty semestr
Obowiązkowy
Praktyka inżynierska ML
Kurs ma charakter pracy projektowej nad opracowaniem projektów ML w zespołach.
Praktyka badawcza ML
Kurs reprezentuje pracę nad zespołowymi projektami badawczymi z zakresu uczenia maszynowego.
Polecane kursy specjalne
Głęboka nauka
01Materiał kursu
Uczenie się przez wzmacnianie
01Materiał kursu
Samochody autonomiczne
Kurs obejmuje podstawowe elementy technologii autonomicznej jazdy: lokalizację, percepcję, przewidywanie, poziom zachowania i planowanie ruchu. Dla każdego komponentu zostaną opisane główne podejścia. Dodatkowo studenci zapoznają się z aktualnymi warunkami rynkowymi i wyzwaniami technologicznymi.
01Przegląd głównych podzespołów i czujników pojazdu bezzałogowego. Poziomy autonomii. Jedź przewodem. Samochody autonomiczne jako produkt biznesowy. Sposoby oceny postępu w tworzeniu dronów. Podstawy lokalizacji: gnss, odometria kół, filtry Bayesa.
02 Metody lokalizacji Lidaru: ICP, NDT, LOAM. Wprowadzenie do wizualnego SLAM na przykładzie ORB-SLAM. Omówienie problemu GraphSLAM. Sprowadzenie problemu GraphSLAM do nieliniowej metody najmniejszych kwadratów. Wybór właściwej parametryzacji. Systemy o specjalnej strukturze w GraphSLAM. Podejście architektoniczne: frontend i backend.
03Zadanie rozpoznawcze w samochodzie autonomicznym. Przeszkody statyczne i dynamiczne. Czujniki systemu rozpoznawania. Reprezentacja przeszkód statycznych. Detekcja przeszkód statycznych za pomocą lidaru (VSCAN, metody sieci neuronowych). Używanie lidaru w połączeniu z obrazami do wykrywania statyki (semantyczna segmentacja obrazu, uzupełnianie głębi). Kamera stereo i uzyskiwanie głębi ze zdjęcia. Świat Stixela.
04Reprezentacja przeszkód dynamicznych w samochodzie autonomicznym. Metody sieci neuronowych do wykrywania obiektów w przestrzeni 2D. Wykrywanie oparte na widoku z lotu ptaka przedstawiającym chmurę lidarową. Używanie lidaru ze zdjęciami do wykrywania dynamicznych przeszkód. Detekcja samochodów w 3D na podstawie zdjęć (montaż pudeł 3D, modele CAD). Dynamiczne wykrywanie przeszkód w oparciu o radar. Śledzenie obiektów.
05Wzorce jazdy samochodem: koło tylne, koło przednie. Planowanie ścieżki. Pojęcie przestrzeni konfiguracyjnej. Grafowe metody konstruowania trajektorii. Trajektorie minimalizujące szarpnięcie. Metody optymalizacyjne konstruowania trajektorii.
06Planowanie prędkości w dynamicznym środowisku. Planowanie ST. Przewidywanie zachowań innych użytkowników dróg
Metody neurobayesowskie
Kurs koncentruje się na zastosowaniu metod bayesowskich w głębokim uczeniu się. Na wykładach omówione zostanie wykorzystanie modelowania probabilistycznego do budowy generatywnych modeli danych, wykorzystanie konkurowania sieci do wnioskowania przybliżonego, niepewności modelowania parametrów sieci neuronowych i niektórych otwartych problemów w głębi szkolenie.
01Stochastyczne wnioskowanie wariacyjne
02 Podwójnie stochastyczne wnioskowanie wariacyjne
03Autoenkoder wariacyjny, normalizujący przepływy na potrzeby wnioskowania wariacyjnego
04Metody redukcji wariancji w modelach zmiennych ukrytych
05Oszacowanie stosunku gęstości rozkładu, zastosowanie na przykładzie \alfa-GAN
06Bayesowskie sieci neuronowe
07Kompresja bayesowska sieci neuronowych
08 Półukryte wnioskowanie wariacyjne