План на курса
Курсът е разделен на три отделни дни, като третият е по желание.
Ден 1 - Machine Learning и Deep Learning: теоретични концепции
1. Въведение в AI, Machine Learning и Deep Learning
- История, основни концепции и обичайни приложения на изкуствения интелект далеч от фантазиите, носени от тази област
- Колективен интелект: съвкупно знание, споделено от множество виртуални агенти
- Генетични алгоритми: развиване на популация от виртуални агенти чрез селекция
- Machine Learning обичайно: определение.
- Видове задачи: контролирано обучение, обучение без надзор, обучение за затвърждаване
- Видове действия: класификация, регресия, групиране, оценка на плътността, намаляване на размерността
- Примери за алгоритми Machine Learning: Линейна регресия, Наивен Бейс, Случайно дърво
- Машинно обучение VS Deep Learning: проблеми, по които Machine Learning остава най-модерното днес (Random Forests & XGBoosts)
2. Основни концепции за невронна мрежа (Приложение: многослоен перцептрон)
- Напомняне на основите на математиката.
- Дефиниция на невронна мрежа: класическа архитектура, функции за активиране и претегляне на предишни активации, дълбочина на мрежата
- Определение за изучаване на невронна мрежа: функции на разходите, обратно разпространение, стохастичен градиентен низход, максимална вероятност.
- Моделиране на невронна мрежа: моделиране на входни и изходни данни според вида на проблема (регресия, класификация и др.). Проклятие на размерността. Разлика между многофункционални данни и сигнал. Избор на разходна функция според данните.
- Апроксимиране на функция с помощта на невронна мрежа: представяне и примери
- Апроксимиране на разпределение с помощта на невронна мрежа: представяне и примери
- Увеличаване на данни: как да балансирате набор от данни
- Обобщение на резултатите от невронна мрежа.
- Инициализации и регуляризации на невронна мрежа: L1/L2 регуляризация, пакетна нормализация...
- Оптимизации и алгоритми за конвергенция.
3. Общи инструменти за ML/DL
Планира се проста презентация с предимства, недостатъци, позиция в екосистемата и използване.
- Инструменти за управление на данни: Apache Spark, Apache Hadoop
- Общи инструменти Machine Learning: Numpy, Scipy, Sci-kit
- DL рамки на високо ниво: PyTorch, Keras, Lasagne
- DL рамки на ниско ниво: Theano, Torch, Caffe, Tensorflow
Ден 2 – Конволюционни и рекурентни мрежи
4. Конволюционен Neural Networks (CNN).
- Представяне на CNN: основни принципи и приложения
- Фундаментална работа на CNN: конволюционен слой, използване на ядро, подложка и стъпка, генериране на карти на функции, слоеве от тип "обединяване". 1D, 2D и 3D разширения.
- Представяне на различните архитектури на CNN, които доведоха до най-съвременното класифициране на изображения: LeNet, VGG Networks, Network in Network, Inception, Resnet. Представяне на иновациите, донесени от всяка архитектура и техните по-глобални приложения (1x1 Convolution или остатъчни връзки)
- Използване на модел на внимание.
- Приложение към обичаен сценарий за класификация (текст или изображение)
- CNN за генериране: супер разделителна способност, сегментация пиксел по пиксел. Представяне на основните стратегии за разширяване на картите на характеристиките за генериране на изображение.
5. Повтарящ се Neural Networks (RNN).
- Представяне на RNN: основни принципи и приложения.
- Фундаментална работа на RNN: скрито активиране, обратно разпространение във времето, разгъната версия.
- Разработки към GRU (Gated Recurrent Units) и LSTM (Long Short Term Memory). Представяне на различните състояния и развитието, предизвикано от тези архитектури
- Проблеми с конвергенция и изчезващ градиент
- Видове класически архитектури: Прогнозиране на времеви редове, класификация...
- Архитектура тип декодер RNN Encoder. Използване на модел на внимание.
- NLP приложения: кодиране на думи/символи, превод.
- Видео приложения: предвиждане на следващото генерирано изображение на видео поредица.
Ден 3 – Поколенчески модели и Reinforcement Learning
6. Генерационни модели: Вариационен автокодер (VAE) и Генеративни състезателни мрежи (GAN).
- Представяне на генерационни модели, връзка със CNN, гледани на ден 2
- Автоматично кодиране: намаляване на размерността и ограничено генериране
- Вариационен автоматичен енкодер: генерационен модел и приближение на разпределението на данните. Определение и използване на латентно пространство. Трик за препараметриране. Приложения и спазвани ограничения
- Генеративни състезателни мрежи: основни принципи. Архитектура с две мрежи (генератор и дискриминатор) с редуващо се обучение, налични функции за разходи.
- Конвергенция на GAN и срещани трудности.
- Подобрена конвергенция: Wasserstein GAN, BeGAN. Разстояние на преместване на Земята.
- Приложения за генериране на изображения или снимки, генериране на текст, супер
резолюция.
7.ДълбокоReinforcement Learning.
- Представяне на обучение за подсилване: контрол на агент в среда, определена от състояние и възможни действия
- Използване на невронна мрежа за приближаване на функцията на състоянието
- Deep Q Learning: повторение на опита и приложение за управление на видео игра.
- Оптимизации на учебната политика. В съответствие с правилата и извън правилата. Актьорска критична архитектура. A3C.
- Приложения: управление на проста видео игра или цифрова система.
Изисквания
Инженерно ниво