Съдържание и теми, включени в курса
Част 1 – Концепции за дълбоко обучение и DNN
Въведение в ИИ, машинно обучение и дълбоко обучение
- История, основни концепции и обичайни приложения на изкуствения интелект, далеч от фантазиите, носени от тази област
- Колективен интелект: агрегиране на знания, споделени от множество виртуални агенти
- Генетични алгоритми: за еволюиране на популация от виртуални агенти чрез селекция
- Обичайна обучаваща се машина: определение.
- Типове задачи: обучение с учител, обучение без учител, обучение с подсилване
- Типове действия: класификация, регресия, клъстеризация, оценка на плътността, намаляване на размерността
- Примери за алгоритми за машинно обучение: линейна регресия, наивен Бейс, произволно дърво
- Машинно обучение срещу дълбоко обучение: проблеми, при които машинното обучение остава водещо днес (Random Forests и XGBoosts)
Основни концепции за невронна мрежа (приложение: многослоен перцептрон)
- Припомняне на математическите основи.
- Определение за мрежа от неврони: класическа архитектура, активиране
- Претегляне на предишни активации, дълбочина на мрежата
- Определение за обучение на мрежа от неврони: функции на загуба, обратно разпространение на грешката, стохастичен градиентен спуск, максимална правдоподобност.
- Моделиране на невронна мрежа: моделиране на входни и изходни данни според типа на проблема (регресия, класификация...). Проклятието на размерността.
- Разграничение между многопризнакови данни и сигнал. Избор на функция на загуба според данните.
- Апроксимация на функция чрез мрежа от неврони: представяне и примери
- Апроксимация на разпределение чрез мрежа от неврони: представяне и примери
- Увеличаване на данни: как да балансираме набор от данни
- Генерализация на резултатите от мрежа от неврони.
- Инициализация и регуляризация на невронна мрежа: L1/L2 регуляризация, партидна нормализация
- Алгоритми за оптимизация и конвергенция
Стандартни ML/DL инструменти
Предвидено е кратко представяне с предимства, недостатъци, позиция в екосистемата и употреба.
- Инструменти за управление на данни: Apache Spark, Apache Hadoop
- Машинно обучение: Numpy, Scipy, Sci-kit
- Високо ниво DL frameworks: PyTorch, Keras, Lasagne
- Ниско ниво DL frameworks: Theano, Torch, Caffe, Tensorflow
Конволюционни невронни мрежи (CNN).
- Представяне на CNN: фундаментални принципи и приложения
- Основна работа на CNN: конволюционен слой, използване на ядро,
- Подложка и стъпка, генериране на карти на признаци, слоеве за обединяване. Разширения 1D, 2D и 3D.
- Представяне на различните CNN архитектури, които са довели до водещи резултати в класификацията
- Изображения: LeNet, VGG Networks, Network in Network, Inception, Resnet. Представяне на иновациите, донесени от всяка архитектура, и техните по-глобални приложения (1x1 конволюция или остатъчни връзки)
- Използване на модел на внимание.
- Приложение към обичаен случай на класификация (текст или изображение)
- CNN за генериране: супер-резолюция, пикселна сегментация. Представяне на
- Основни стратегии за увеличаване на картите на признаци за генериране на изображения.
Рекурентни невронни мрежи (RNN).
- Представяне на RNN: фундаментални принципи и приложения.
- Основна работа на RNN: скрита активация, обратно разпространение през времето, разгърната версия.
- Еволюция към Gated Recurrent Units (GRUs) и LSTM (дълга краткосрочна памет).
- Представяне на различните състояния и еволюциите, донесени от тези архитектури
- Проблеми с конвергенцията и изчезващия градиент
- Класически архитектури: Прогнозиране на времеви ред, класификация...
- Архитектура тип RNN енкодер-декодер. Използване на модел на внимание.
- NLP приложения: кодиране на дума/знак, превод.
- Видео приложения: прогнозиране на следващото генерирано изображение от видео последователност.
Генеративни модели: Вариационен автокодер (VAE) и Генеративни състезателни мрежи (GAN).
- Представяне на генеративните модели, връзка с CNN
- Автокодер: намаляване на размерността и ограничено генериране
- Вариационен автокодер: генеративен модел и апроксимация на разпределението на дадена извадка. Определение и използване на латентно пространство. Трик с репараметризация. Наблюдавани приложения и ограничения
- Генеративни състезателни мрежи: Основи.
- Архитектура с двойна мрежа (генератор и дискриминатор) с редуващо се обучение, налични функции на загуба.
- Конвергенция на GAN и срещани трудности.
- Подобрена конвергенция: Wasserstein GAN, Began. Разстояние на преместване на земна маса.
- Приложения за генериране на изображения или снимки, генериране на текст, супер-резолюция.
Дълбоко обучение с подсилване.
- Представяне на обучението с подсилване: контрол на агент в дефинирана среда
- Чрез състояние и възможни действия
- Използване на невронна мрежа за апроксимация на функцията на състоянието
- Deep Q Learning: преиграване на опит и приложение за контрол на видео игра.
- Оптимизация на политиката на обучение. On-policy и off-policy. Архитектура актьор-критик. A3C.
- Приложения: контрол на единична видео игра или цифрова система.
Част 2 – Theano за дълбоко обучение
Основи на Theano
- Въведение
- Инсталация и конфигурация
Функции в Theano
- входове, изходи, актуализации, givens
Обучение и оптимизация на невронна мрежа с Theano
- Моделиране на невронна мрежа
- Логистична регресия
- Скрити слоеве
- Обучение на мрежа
- Изчисление и класификация
- Оптимизация
- Логаритмична загуба
Тестване на модела
Част 3 – DNN с Tensorflow
Основи на TensorFlow
- Създаване, инициализиране, запазване и възстановяване на променливи в TensorFlow
- Подаване, четене и предварително зареждане на данни в TensorFlow
- Как да използваме инфраструктурата на TensorFlow за обучение на модели в мащаб
- Визуализиране и оценяване на модели с TensorBoard
Механика на TensorFlow
- Подготовка на данните
- Изтегляне
- Входове и заместители
-
Изграждане на графите
- Извод
- Загуба
- Обучение
-
Обучение на модела
- Графът
- Сесията
- Цикъл на обучение
-
Оценка на модела
- Изграждане на графа за оценка
- Изход от оценката
Перцептронът
- Функции за активиране
- Алгоритъм за обучение на перцептрона
- Бинарна класификация с перцептрона
- Класификация на документи с перцептрона
- Ограничения на перцептрона
От перцептрона към опорни вектори (SVM)
- Ядра и трикът с ядрата
- Класификация с максимална разделителна граница и опорни вектори
Изкуствени невронни мрежи
- Нелинейни граници на решение
- Изкуствени невронни мрежи с права и обратна връзка
- Многослойни перцептрони
- Минимизиране на функцията на загуба
- Право разпространение
- Обратно разпространение
- Подобряване на начина, по който невронните мрежи учат
Конволюционни невронни мрежи
- Цели
- Архитектура на модела
- Принципи
- Организация на кода
- Стартиране и обучение на модела
- Оценяване на модел
Основни въведения, които ще бъдат дадени на модулите по-долу (кратко въведение ще бъде предоставено в зависимост от наличното време):
Tensorflow - Разширена употреба
- Нишки и опашки
- Разпределен TensorFlow
- Писане на документация и споделяне на вашия модел
- Персонализиране на четци на данни
- Манипулиране на файлове на модели в TensorFlow
TensorFlow Serving
- Въведение
- Основно ръководство за Serving
- Разширено ръководство за Serving
- Ръководство за Serving на Inception модел
Изисквания
Познания по физика, математика и програмиране. Участие в дейности по обработка на изображения.
Участниците трябва да имат предварително разбиране за концепциите на машинното обучение и да са работили с програмиране на Python и библиотеки.
Отзиви от участници (2)
Обучението беше организирано и добре планирано, аз излязох от него с систематизирано знание и добра наглед на темите, които разглеждахме.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Курс - Deep Learning with TensorFlow 2
Машинен превод
Много ми хареса краят, когато прекарахме време, разглеждайки CHAT GPT. Залата не беше най-добре организирана за това – вместо едно голямо стола, няколко по-малки щеше да помогне, за да се разделим на малки групи и да мислим съвместно.
Nola - Laramie County Community College
Курс - Artificial Intelligence (AI) Overview
Машинен превод