План на курса
Част 1 – Концепции на дълбокото обучение и DNN
Въведение в ИИ, машинно обучение и дълбоко обучение
- История, основни концепции и обичайни приложения на изкуствения интелект извън фантастиците идеи, носими от тази област
- Колективен интелект: агрегиране на знания, споделени от много виртуални агенти
- Генетични алгоритми: за еволюцията на населението на виртуални агенти чрез селекция
- Обичайно машинно обучение: дефиниция.
- Видове задачи: контролирано обучение, неконтролирано обучение, обучение с подкрепа
- Видове действия: класификация, регресия, кластериране, оценка на плотност, редуциране на размерността
- Примери за алгоритми на машинното обучение: линейна регресия, наивен Байес, случайно дърво
- Машинно обучение VS дълбоко обучение: проблеми, при които машинното обучение остава днес най-добрата практика (Random Forests & XGBoosts)
Основни концепции на невронна мрежа (Приложение: многослойен перцептрон)
- Повторение на математическите основи.
- Дефиниция на невронна мрежа: класически архитектура, активация и
- Весове на предходните активации, дълбочина на мрежата
- Дефиниция за обучение на невронна мрежа: функции на цена, обратно разпространяване, стохастично градиентно спускане, максимална вероятност.
- Моделиране на невронна мрежа: моделите за входни и изходни данни в зависимост от типа на задачата (регресия, класификация...). Проклятието на размерността.
- Разлика между многомерните данни и сигнала. Избор на функция за цена в зависимост от данните.
- Приближение на функция с невронна мрежа: представяне и примери
- Приближение на разпределение с невронна мрежа: представяне и примери
- Увеличаване на данни: как да балансираме датасет
- Обобщаване на резултатите от невронна мрежа.
- Инициализация и регуляризация на невронна мрежа: L1 / L2 регуляризация, бъчевата нормализация
- Алгоритми за оптимизация и сходимост
Стандартни инструменти за ML / DL
Просто представяне с предимства, недостатъци, позиция в екосистемата и използване е планирано.
- Инструменти за управление на данни: Apache Spark, Apache Hadoop
- Машинно обучение: Numpy, Scipy, Sci-kit
- Високонивелировани фреймворки за DL: PyTorch, Keras, Lasagne
- Нисконивелировани фреймворки за DL: Theano, Torch, Caffe, Tensorflow
Конволюционни невронни мрежи (CNN).
- Представяне на CNN: основни принципи и приложения
- Основна операция на CNN: конволюционен слой, използване на ядро,
- Padding & stride, генериране на feature map, pooling layers. Проширените версии 1D, 2D и 3D.
- Представяне на различните CNN архитектури, които довеждат до най-добрата практика в класификацията
- Изображения: LeNet, VGG Networks, Network in Network, Inception, Resnet. Представяне на иновациите, принесени от всяка архитектура и техните по-общи приложения (convolution 1x1 или residual connections)
- Използване на модел с внимание.
- Приложение в обикновен случай за класификация (текст или изображение)
- CNN за генериране: супер-резолюция, pixel-to-pixel сегментация. Представяне на
- Основни стратегии за увеличаване на feature map при генериране на изображения.
Рекурентни невронни мрежи (RNN).
- Представяне на RNN: основни принципи и приложения.
- Основна операция на RNN: скрита активация, обратно разпространяване във времето, разгъвана версия.
- Еволюция към Gated Recurrent Units (GRUs) и LSTM (Long Short Term Memory).
- Представяне на различните състояния и еволюцията, принесена от тези архитектури
- Проблеми на сходимост и изчезващ градиент
- Класически архитектури: прогноза за временен ред, класификация...
- Архитектура RNN Encoder Decoder. Използване на модел с внимание.
- Приложения в NLP: кодиране на дума / символ, превод.
- Приложения за видео: прогноза за следващото генерирано изображение от видео съвкупност.
Генеративни модели: Variational AutoEncoder (VAE) и Generative Adversarial Networks (GAN).
- Представяне на генеративните модели, връзка с CNN
- Авто-кодиране: редуциране на размерността и ограничената генерирация
- Variational Auto-encoder: генеративен модел и приближение на разпределението на дадено. Дефиниция и използване на латентното пространство. Reparameterization trick. Приложения и ограничения, наблюдавани
- Generative Adversarial Networks: основни принципи.
- Двойна мрежа (генератор и дискриминатор) с алтернативно обучение, налични функции на цена.
- Сходимост на GAN и трудности, срещани.
- Усъвършенствана сходимост: Wasserstein GAN, Began. Earth Moving Distance.
- Приложения за генериране на изображения или фотографии, текстово генерирање, супер-резолюция.
Дълбоко обучение с подкрепа (Deep Reinforcement Learning).
- Представяне на обучението с подкрепа: управление на агент в дефинирано окружение
- Чрез състояние и възможни действия
- Използване на невронна мрежа за приближение на функцията състояние
- Дълбоко Q обучение: разгъване на опит, и приложение към управление на видео игра.
- Оптимизация на политика за обучение. On-policy && off-policy. Архитектура Actor critic. A3C.
- Приложения: управление на една видео игра или цифров систем.
Част 2 – Theano за дълбоко обучение
Theano основи
- Въведение
- Инсталация и конфигуриране
TheanoFunctions
- входи, изходи, обновявания, гивенс
Обучение и оптимизация на невронна мрежа с Theano
- Моделиране на невронна мрежа
- Логистична регресия
- Скрити слоеве
- Обучение на мрежа
- Изчисление и класификация
- Оптимизация
- Log Loss
Тестване на модела
Част 3 – DNN с TensorFlow
Основи на TensorFlow
- Създаване, инициализация, запазване и възстановяване на променливи на TensorFlow
- Подаване, четене и предварително зареждане на данни на TensorFlow
- Как да използвате инфраструктурата на TensorFlow за масовото обучение на модели
- Визуализиране и оценка на модели с TensorBoard
Механика на TensorFlow
- Подготовка на данни
- Сваляне
- Входове и Placeholders
-
Създаване на графи
- Инференция
- Загуба
- Обучение
-
Обучение на модела
- Графа
- Сесията
- Обучаващ цикъл
-
Оценка на модела
- Създаване на оценки за графа
- Резултат от оценката
Перцептрон
- Активациски функции
- Алгоритъм за обучение на перцептрона
- Бинарна класификация с перцептрон
- Класификация на документи с перцептрон
- Ограничения на перцептрона
От перцептрона до поддръжката на вектори (Support Vector Machines)
- Ядрави функции и ядров трик
- Максимална класификация с поддръжка и векторите на подкрепа
Изкуствени невронни мрежи
- Неخطови граници за вземане на решения
- Прехвърлящо и обратно разпространяване на изкуствени невронни мрежи
- Многослойен перцептрон
- Минимизиране на функцията за цена
- Прехвърляне напред
- Обратно разпространяване
- Подобряване на начина, по който невронните мрежи се учат
Конволюционни невронни мрежи
- Цели
- Архитектура на модела
- Принципи
- Организация на кода
- Стартиране и обучение на модела
- Оценка на модела
Основни представления, които да бъдат предоставени за следните модули (Кратко въведение да бъде предоставено в зависимост от налично време):
Tensorflow - продвинато използване
- Потоци и опашки
- Разпределен TensorFlow
- Написване на документация и споделяне на модела
- Подреждане на четения на данни
- Управление на файловете на TensorFlow модела
TensorFlow Serving
- Въведение
- Основен урок за използване
- Продвинат урок за използване
- Урок за използване на модела Inception
Изисквания
Задължителен багаж от знания по физика, математика и програмиране. Участие в активности за обработка на изображения.
Учениците трябва да имат предварително разбиране на концепциите от машинното обучение и да са работили с Python програмирането и библиотеките.
Отзиви от потребители (5)
Хънтър е невероятен, много ангажиращ, изключително информиран и представителен. Много добре направено.
Rick Johnson - Laramie County Community College
Курс - Artificial Intelligence (AI) Overview
Машинен превод
Ann created a great environment to ask questions and learn. We had a lot of fun and also learned a lot at the same time.
Gudrun Bickelq
Курс - Introduction to the use of neural networks
Машинен превод
Курсистът обяснил съдържанието добре и бил привлекателен през цялото време. Той спрял, за да попита въпроси и ни позволи да стигнем до нашите собствени решения в някои практични сесии. Той също така адаптирал курса добре за нашите нужди.
Robert Baker
Курс - Deep Learning with TensorFlow 2.0
Машинен превод
Very updated approach or CPI (tensor flow, era, learn) to do machine learning.
Paul Lee
Курс - TensorFlow for Image Recognition
Машинен превод
Томаш знае добре информацията и курсът беше добре подреден.
Raju Krishnamurthy - Google
Курс - TensorFlow Extended (TFX)
Машинен превод