План на курса
Част 1 – Deep Learning и DNN концепции
Въведение AI, Machine Learning и дълбоко обучение
- История, основни концепции и обичайни приложения на изкуствения интелект далеч от фантазиите, носени от тази област Колективен интелект: агрегиране на знания, споделени от много виртуални агенти Генетични алгоритми: за развитие на популация от виртуални агенти чрез селекция Обичайна машина за обучение: дефиниция. Типове задачи: контролирано обучение, неконтролирано обучение, подсилващо обучение Типове действия: класификация, регресия, групиране, оценка на плътността, намаляване на размерността Примери за алгоритми за машинно обучение: Линейна регресия, Наивен Бейс, Случайно дърво Машинно обучение VS Deep Learning: проблеми на кое машинно обучение остава днес най-модерното (Random Forests & XGBoosts)
Основни понятия за невронна мрежа (Приложение: многослоен перцептрон)
- Напомняне на математически основи. Дефиниция на мрежа от неврони: класическа архитектура, активиране и претегляне на предишни активации, дълбочина на мрежа. Дефиниция на обучението на мрежа от неврони: функции на цената, обратно разпространение, стохастичен градиентен спад, максимална вероятност. Моделиране на невронна мрежа: моделиране на входни и изходни данни според вида на проблема (регресия, класификация ...). Проклятие на размерността. Разлика между многофункционални данни и сигнал. Избор на разходна функция според данните. Апроксимация на функция чрез мрежа от неврони: представяне и примери Апроксимация на разпределение чрез мрежа от неврони: представяне и примери Увеличаване на данни: как да се балансира набор от данни Обобщаване на резултатите от мрежа от неврони. Инициализация и регуляризация на невронна мрежа: L1 / L2 регуляризация, пакетна нормализация, оптимизация и алгоритми за конвергенция
Стандартни ML / DL инструменти
Планира се проста презентация с предимства, недостатъци, позиция в екосистемата и използване.
- Инструменти за управление на данни: Apache Spark, Apache Hadoop Tools Машинно обучение: Numpy, Scipy, Sci-kit DL рамки на високо ниво: PyTorch, Keras, Lasagne DL рамки на ниско ниво: Theano, Torch, Caffe, Tensorflow
Конволюционен Neural Networks (CNN).
- Представяне на CNN: основни принципи и приложения. Основна работа на CNN: конволюционен слой, използване на ядро, Padding & stride, генериране на карта на функции, обединяване на слоеве. Разширения 1D, 2D и 3D. Представяне на различните архитектури на CNN, които донесоха най-съвременното класифициране Изображения: LeNet, VGG Networks, Network in Network, Inception, Resnet. Представяне на иновациите, предизвикани от всяка архитектура и техните по-глобални приложения (Convolution 1x1 или остатъчни връзки) Използване на модел на внимание. Приложение към общ класификационен случай (текст или изображение) CNN за генериране: супер разделителна способност, сегментиране от пиксел до пиксел. Представяне на основните стратегии за увеличаване на картите на характеристиките за генериране на изображения.
Повтарящ се Neural Networks (RNN).
- Представяне на RNN: основни принципи и приложения. Основна работа на RNN: скрито активиране, обратно разпространение във времето, разгъната версия. Еволюция към Gated Recurrent Units (GRU) и LSTM (Long Short Term Memory). Представяне на различните състояния и еволюциите, донесени от тези архитектури. Проблеми с конвергенцията и изчезването на градиента. Класически архитектури: прогнозиране на времеви серии, класификация ... RNN Encoder Архитектура тип декодер. Използване на модел на внимание. NLP приложения: кодиране на думи / знаци, превод. Видео приложения: предвиждане на следващото генерирано изображение на видео поредица.
Генерационни модели: Variational AutoEncoder (VAE) и Generative Adversarial Networks (GAN).
- Представяне на генерационните модели, връзка с CNNs Auto-encoder: намаляване на размерността и ограничено генериране Вариационен авто-енкодер: генерационен модел и апроксимация на разпределението на дадена. Определение и използване на латентно пространство. Трик за препараметриране. Приложения и наблюдавани ограничения Генеративни състезателни мрежи: Основи. Двойна мрежова архитектура (генератор и дискриминатор) с алтернативно обучение, налични функции за разходи. Конвергенция на GAN и срещани трудности. Подобрена конвергенция: Wasserstein GAN, Began. Разстояние на преместване на Земята. Приложения за генериране на изображения или снимки, генериране на текст, супер-резолюция.
Дълбоко Reinforcement Learning.
- Представяне на обучение с подсилване: контрол на агент в дефинирана среда чрез състояние и възможни действия Използване на невронна мрежа за приближаване на функцията на състоянието Deep Q Learning: преиграване на опит и приложение за управление на видео игра. Оптимизиране на учебната политика. В съответствие с правилата и извън правилата. Архитектура на актьорския критик. A3C. Приложения: управление на отделна видео игра или цифрова система.
Част 2 – Theano за Deep Learning
Основи на Theano
- Въведение Инсталиране и конфигуриране
Теано функции
- входове, изходи, актуализации, дадености
Обучение и оптимизиране на невронна мрежа с помощта на Theano
- Моделиране на невронни мрежи Логистична регресия Скрити слоеве Обучение на мрежа Компютри и класификация Оптимизация Загуба на журнал
Тестване на модела
Част 3 – DNN с помощта на Tensorflow
TensorFlow Основи
- Създаване, инициализиране, запазване и възстановяване на TensorFlow променливи Подаване, четене и предварително зареждане TensorFlow Данни Как да използваме TensorFlow инфраструктура за обучение на модели в мащаб Визуализиране и оценяване на модели с TensorBoard
TensorFlow Механика
- Подгответе входните данни за изтегляне на данни и контейнерите за място. Изградете GraphS Inference Loss Training
От Perceptron до поддържащи векторни машини
- Ядрата и трикът на ядрото Максимална класификация на границите и поддържащи вектори
Изкуствен Neural Networks
- Граници на нелинейни решения Изкуствени невронни мрежи за предаване и обратна връзка Многослойни персептрони Минимизиране на функцията на разходите Разпространение напред Разпространение назад Подобряване на начина, по който невронните мрежи учат
Конволюционен Neural Networks
- Goals Принципи на архитектурата на модела Организация на кода Стартиране и обучение на модела Оценка на модел
- Основни въведения, които трябва да бъдат дадени на модулите по-долу (Кратко въведение, което трябва да бъде предоставено въз основа на наличността на времето):
Tensorflow – Разширено използване
Threading и Queues Distributed TensorFlow Писане на документация и споделяне на вашия модел Персонализиране на четци на данни Манипулиране на TensorFlow Моделни файлове
TensorFlow Сервиране
- Въведение Урок за основно обслужване Урок за разширено обслужване Урок за начален модел на сервиране
Изисквания
Обучение по физика, математика и програмиране. Участие в дейности по обработка на изображения.
Делегатите трябва да имат предварително разбиране на концепциите за машинно обучение и трябва да са работили върху Python програмиране и библиотеки.