Развитие на машинно обучение - безплатен курс от School of Data Analysis, обучение 4 семестъра, Дата: 2 декември 2023 г.
разни / / December 06, 2023
Тази посока е подходяща за тези, които обичат да програмират и създават услуги и приложения, които могат да се използват от хиляди и милиони хора.
Пишете ефективен код, изграждайте и оптимизирайте индустриално ефективни системи, управлявани от данни.
В разработването на високотехнологични продукти, базирани на машинно обучение.
Всеки студент трябва да завърши успешно поне три курса през семестъра. Например, ако има две от тях в основната програма, тогава трябва да изберете един от специалните курсове.
Знанията се проверяват предимно чрез домашна работа – изпити и контролни се провеждат само по някои предмети.
Първи семестър
Задължителен
Алгоритми и структури от данни, част 1
01 Сложност и изчислителни модели. Анализ на счетоводните стойности (начало)
02 Анализ на счетоводните стойности (край)
03 Алгоритми за обединяване и бързо сортиране
04 Редовна статистика. Купища (начало)
05Heaps (край)
06 Хеширане
07 Търсене на дървета (началото)
08 Дървета за търсене (продължение)
09Дървета за търсене (край). Система от несвързани множества
10 Проблеми на RMQ и LCA
11 Структури от данни за геометрично търсене
12Проблем на динамичната свързаност в неориентиран граф
Обучение по език C++, част 1
C++ е мощен език с богато наследство. За тези, които току-що са тръгнали по пътя на овладяването на този език, е много лесно да се изгубят в изобилието от техники и техники, създадени през последните 30 години. Курсът преподава "Modern C++" - модерно подмножество на езика (стандарти 11, 14 и 17). Обръща се много внимание на инструментите и библиотеките – неща, които не са част от езика, но без които няма да е възможно изграждането на голям и сложен проект.
01 Въведение в C++.
02Константи. Указатели и връзки. Предаване на аргументи към функция.
03Класове.
04 Динамично управление на паметта.
05 Променливи, указатели и препратки.
06 Управление на паметта, интелигентни указатели, RAII.
07 Стандартна библиотека с шаблони.
08 Наследяване и виртуални функции.
09 Обработка на грешки.
10 Модели за дизайн.
11 Пространства от имена Семантика на преместване Перфектно пренасочване.
12 Представяне на структури и класове в паметта. Подравняване на данните. Указатели към членове/методи на класа. Различни шаблони.
Машинно обучение, част 1
01Основни понятия и примери за приложни задачи
02 Методи за метрична класификация
03 Методи за логическа класификация и дървета на решенията
04 Градиентни линейни методи за класификация
05 Поддържаща векторна машина
06Многомерна линейна регресия
07 Нелинейна и непараметрична регресия, нестандартни функции на загуба
08 Прогнозиране на времеви редове
09Байесови методи за класификация
10 Логистична регресия
11 Търсене на правила за асоцииране
Втори срок
Задължителен
Машинно обучение, част 2
01 Невронно-мрежови методи за класификация и регресия
02 Композиционни методи за класификация и регресия
03Критерии за избор на модели и методи за избор на характеристики
04Класиране
05 Учене за засилване
06 Учене без учител
07 Проблеми с частично обучение
08 Съвместно филтриране
09 Тематично моделиране
Да избера от
Алгоритми и структури от данни, част 2
01Байпас по ширина. Първо обхождане на дълбочина (начало)
02 Обхождане в дълбочина (продължение)
03 Обхождане в дълбочина (край). 2-разфасовки
04 Намиране на най-кратките пътища (началото)
05 Намиране на най-кратките пътища (продължение)
06 Минимални обхващащи дървета
07Минимални съкращения. Търсене на поднизове (начало)
08 Търсене на поднизове (продължение)
09 Търсене на поднизове (край)
10 Суфиксни дървета (начало)
11 Суфиксни дървета (окончание). Суфиксни масиви (начало)
12 Суфиксни масиви (край)
13 Най-дългите общи поднизове. Приблизително търсене на подниз.
или
Език Python
01 Основи на езика (част 1)
02 Основи на езика (част 2)
03 Обектно-ориентирано програмиране
04 Обработка на грешки
05 Дизайн и тестване на код
06 Работа с низове
07 Модел с памет
08 Функционално програмиране
09 Преглед на библиотеката (част 1)
10 Преглед на библиотеката (част 2)
11 Паралелно изчисление в Python
12 Работа с обекти за напреднали
или
C++ езиково обучение, част 2
Втората част от курса по C++, която обхваща теми и езикови възможности за напреднали.
01 Многопоточно програмиране. Синхронизиране на нишки с помощта на мютекси и променливи на условие.
02 Атомни променливи. C++ модел на паметта. Примери за структури от данни без заключване.
03 Разширени техники за мета-програмиране в C++. Метафункции, SFINAE, концепции.
04 Конкурентно програмиране, взаимодействие с мрежата.
05llvm архитектура. Работа с дървото за разбор на C++. Разработване на инструменти за анализ на C++ код.
Трети семестър
Да избера от
Обработка на естествен език
„NLP (Обработка на естествен език) е част от по-широкото поле на AI, което се опитва да научи компютъра да разбира и обработва необработени данни на естествен език. Повечето от наличната днес информация не е структуриран текст. Като хора, разбира се, не ни е трудно да ги разберем (ако са на родния ни език), но не сме в състояние да обработим толкова данни, колкото една машина може да обработи. Но как можете да накарате една машина да разбере тези данни и освен това да извлече някаква информация от тях? Преди няколко години, при откриването на ACL (една от основните, ако не и най-важната НЛП конференция) в Президентската реч Марти Хърст призна, че вече не може да даде на учениците любимата си упражнение. Използвайки HAL 9000 като пример (един от примерите за изкуствен интелект в научната фантастика), тя попита учениците какво може да прави машината като HAL и какво все още не може. В наши дни това вече не е толкова добро упражнение, тъй като почти всичко това вече може да се направи от компютър. Удивително е колко бързо се разраства полето и колко много сме постигнали. В курса ще се опитаме да ви накараме да разберете и почувствате какво се случва по света. Какви проблеми се решават, как става това; как някои статистически подходи (на които курсовете по НЛП бяха почти изцяло посветени преди няколко години) получават нов живот и нова интерпретация в невронните мрежи и кои от тях постепенно отмират. Ще покажем, че НЛП не е набор от двойки (проблем, решение), а общи идеи, които проникват в различни проблеми и отразяват някаква обща концепция. Ще научите и какво се случва на практика и кога кои подходи са по-приложими. Това е, което правим, което обичаме и сме готови да го споделим с вас :)"
01 https://lena-voita.github.io/nlp_course.html
02 https://github.com/yandexdataschool/nlp_course
или
Компютърно зрение
„Курсът е посветен на методите и алгоритмите на компютърното зрение, т.е. извличане на информация от изображения и видео. Нека да разгледаме основите на обработката на изображения, класификацията на изображенията, търсенето на изображения по съдържание, разпознаването на лица, сегментирането на изображенията. След това ще говорим за алгоритми за обработка и анализ на видео. Последната част от курса е посветена на 3D реконструкцията. За повечето проблеми ще обсъдим съществуващи модели на невронни мрежи. В курса се опитваме да обърнем внимание само на най-съвременните методи, които се използват в момента при решаване на практически и изследователски проблеми. Курсът е по-скоро практически, отколкото теоретичен. Поради това всички лекции са оборудвани с лабораторни и домашни, които ви позволяват да изпробвате повечето от разгледаните методи на практика. Работата се извършва в Python с помощта на различни библиотеки."
01 Цифрово изображение и корекция на тона
02 Основи на обработката на изображения
03Сшиване на изображения
04Класификация на изображения и търсене на подобни
05 Конволюционни невронни мрежи за класификация и търсене на подобни изображения
06 Откриване на обект
07Семантична сегментация
08 Трансфер на стил и синтез на изображение
09 Видео разпознаване
10 Разредена 3D реконструкция
11 Плътна 3D реконструкция
12Реконструкция от един кадър и облаци от точки, параметрични модели
или
Байесови методи в машинното обучение
01Байесов подход към теорията на вероятностите
02 Аналитично байесово заключение
03 Избор на байесов модел
04 Автоматично определяне на уместността
05 Метод на вектор на релевантност за класификационен проблем
06 Вероятностни модели с латентни променливи
07 Вариационно байесово заключение
08Байесов модел за разделяне на смеси на Гаусиани
09 Методи на Монте Карло с вериги на Марков
10 Латентно разпределение на Дирихле
11 Гаусови процеси за регресия и класификация
12 Непараметрични байесови методи
Четвърти семестър
Задължителен
ML инженерна практика
Курсът е работа по проекти за разработване на ML проекти в екипи.
ML изследователска практика
Курсът представлява работа по екипни изследователски проекти в областта на машинното обучение.
Препоръчителни специални курсове
Дълбоко обучение
01 Материал на курса
Учене с подсилване
01 Материал на курса
Самоуправляващи се автомобили
Курсът обхваща основните компоненти на технологията за самостоятелно шофиране: локализация, възприятие, прогнозиране, ниво на поведение и планиране на движението. За всеки компонент ще бъдат описани основните подходи. Освен това студентите ще се запознаят с текущите пазарни условия и технологични предизвикателства.
01 Преглед на основните компоненти и сензори на безпилотно превозно средство. Нива на автономност. Шофиране по кабел. Самоуправляващите се автомобили като бизнес продукт. Начини за оценка на напредъка в създаването на дронове. Основи на локализацията: gnss, колело одометрия, байесови филтри.
02Лидарни методи за локализиране: ICP, NDT, LOAM. Въведение във визуалния SLAM, използвайки ORB-SLAM като пример. Постановка на проблема GraphSLAM. Намаляване на проблема GraphSLAM до нелинеен метод на най-малките квадрати. Избор на правилната параметризация. Системи със специална структура в GraphSLAM. Архитектурен подход: фронтенд и бекенд.
03 Задача за разпознаване в самоуправляващ се автомобил. Статични и динамични препятствия. Сензори за системата за разпознаване. Представяне на статични препятствия. Откриване на статични препятствия с помощта на лидар (VSCAN, методи на невронни мрежи). Използване на lidar във връзка с изображения за откриване на статика (семантично сегментиране на изображението, завършване на дълбочина). Стерео камера и получаване на дълбочина от картината. Светът на Stixel.
04 Представяне на динамични препятствия в самоуправляваща се кола. Методи на невронни мрежи за откриване на обекти в 2D. Откриване въз основа на изглед от птичи поглед на лидарно представяне на облак. Използване на лидар с изображения за откриване на динамични препятствия. Откриване на автомобили в 3D на базата на снимки (3D монтаж на кутии, CAD модели). Радарно базирано динамично откриване на препятствия. Проследяване на обекти.
05 Модели на шофиране на автомобил: задно колело, предно колело. Планиране на пътя. Концепцията за конфигурационно пространство. Графични методи за построяване на траектории. Траектории, които минимизират друсането. Оптимизационни методи за построяване на траектории.
06 Планиране на скоростта в динамична среда. ST планиране. Прогнозиране на поведението на другите участници в движението
Невро-байесови методи
Курсът се фокусира върху приложението на Bayesian методи в задълбочено обучение. В лекциите ще се говори за използването на вероятностно моделиране за изграждане на генеративни модели на данни, използването на конкурентни мрежи за приблизителни изводи, моделиране на несигурност в параметрите на невронната мрежа и някои открити проблеми в обучение.
01 Стохастичен вариационен извод
02 Двойно стохастичен вариационен извод
03 Вариационен автоенкодер, нормализиращ потоците за вариационен извод
04Методи за намаляване на дисперсията в модели с латентни променливи
05 Оценка на съотношението на плътностите на разпределение, приложение с помощта на примера на \alpha-GAN
06Байесови невронни мрежи
07 Байесово компресиране на невронни мрежи
08 Полуимплицитно вариационно заключение