Съдържание и теми, включени в курса
Част 1 – Дълбоко обучение и концепции за DNN
Въведение в ИИ, машинното обучение и дълбокото обучение
- История, основни понятия и обичайни приложения на изкуствения интелект, далеч от фантазиите, които съпътстват тази област
- Колективен интелект: обединяване на знания, споделени от много виртуални агенти
- Генетични алгоритми: за еволюиране на популация от виртуални агенти чрез селекция
- Обичайно машинно обучение: определение.
- Видове задачи: обучение с учител, обучение без учител, обучение с подкрепление
- Видове действия: класификация, регресия, клъстериране, оценка на плътността, намаляване на размерността
- Примери за алгоритми за машинно обучение: линейна регресия, наивен Бейс, случайно дърво
- Машинно обучение срещу дълбоко обучение: проблеми, при които машинното обучение остава днес най-съвременно (Random Forests и XGBoost)
Основни концепции на невронна мрежа (приложение: многослоен перцептрон)
- Припомняне на математическите основи.
- Определение на мрежа от неврони: класическа архитектура, активация и
- Претегляне на предишни активации, дълбочина на мрежата
- Определение на обучението на мрежа от неврони: функции на загубата, обратно разпространение, стохастичен градиентен спуск, максимална правдоподобност.
- Моделиране на невронна мрежа: моделиране на входни и изходни данни според вида на проблема (регресия, класификация...). Проклятието на размерността.
- Разграничение между многопризнакови данни и сигнал. Избор на функция на загубата според данните.
- Апроксимация на функция чрез мрежа от неврони: представяне и примери
- Апроксимация на разпределение чрез мрежа от неврони: представяне и примери
- Увеличаване на данните: как да балансираме набор от данни
- Обобщаване на резултатите от мрежа от неврони.
- Инициализация и регуларизация на невронна мрежа: L1/L2 регуларизация, Batch Normalization
- Алгоритми за оптимизация и конвергенция
Стандартни инструменти за машинно обучение / дълбоко обучение
Предвидено е кратко представяне с предимства, недостатъци, позиция в екосистемата и начин на употреба.
- Инструменти за управление на данни: Apache Spark, Apache Hadoop Tools
- Машинно обучение: Numpy, Scipy, Sci-kit
- Високо ниво на рамки за дълбоко обучение: PyTorch, Keras, Lasagne
- Рамки за дълбоко обучение на ниско ниво: Theano, Torch, Caffe, Tensorflow
Конволюционни невронни мрежи (CNN).
- Представяне на CNN: основни принципи и приложения
- Основна работа на CNN: конволюционен слой, използване на ядро,
- Padding и stride, генериране на карти на признаците, слоеве за обединяване. Разширения 1D, 2D и 3D.
- Представяне на различните CNN архитектури, които доведоха до най-съвременно ниво в класификацията
- Изображения: LeNet, VGG Networks, Network in Network, Inception, Resnet. Представяне на иновациите, въведени от всяка архитектура и техните по-глобални приложения (конволюция 1x1 или остатъчни връзки)
- Използване на модел на внимание.
- Приложение към обичаен случай на класификация (текст или изображение)
- CNN за генериране: супер-резолюция, сегментация пиксел по пиксел. Представяне на
- Основни стратегии за увеличаване на картите на признаците за генериране на изображения.
Рекурентни невронни мрежи (RNN).
- Представяне на RNN: основни принципи и приложения.
- Основна работа на RNN: скрита активация, обратно разпространение във времето, разгъната версия.
- Еволюции към Gated Recurrent Units (GRU) и LSTM (Long Short Term Memory).
- Представяне на различните състояния и еволюциите, въведени от тези архитектури
- Проблеми с конвергенцията и изчезващия градиент
- Класически архитектури: прогнозиране на времеви ред, класификация...
- Архитектура тип RNN Encoder Decoder. Използване на модел на внимание.
- Приложения за обработка на естествен език (NLP): кодиране на думи/знаци, превод.
- Видео приложения: прогнозиране на следващото генерирано изображение от видео последователност.
Генеративни модели: вариационен автоенкодер (VAE) и генеративни състезателни мрежи (GAN).
- Представяне на генеративните модели, връзка с CNN
- Автоенкодер: намаляване на размерността и ограничено генериране
- Вариационен автоенкодер: генеративен модел и апроксимация на разпределението на дадена величина. Определение и използване на латентно пространство. Трик с репараметризация. Приложения и наблюдавани ограничения
- Генеративни състезателни мрежи: основи.
- Двойна мрежова архитектура (генератор и дискриминатор) с редуващо се обучение, налични функции на загубата.
- Конвергенция на GAN и срещани трудности.
- Подобрена конвергенция: Wasserstein GAN, Began. Earth Moving Distance.
- Приложения за генериране на изображения или снимки, генериране на текст, супер-резолюция.
Дълбоко обучение с подкрепление.
- Представяне на обучението с подкрепление: управление на агент в дефинирана среда
- Чрез състояние и възможни действия
- Използване на невронна мрежа за апроксимиране на функцията на състоянието
- Deep Q Learning: преиграване на опит и приложение за управление на видеоигра.
- Оптимизация на политиката на обучение. On-policy && off-policy. Архитектура актьор-критик. A3C.
- Приложения: управление на отделна видеоигра или цифрова система.
Част 2 – Theano за дълбоко обучение
Основи на Theano
- Въведение
- Инсталация и конфигурация
Функции на Theano
- входове, изходи, актуализации, givens
Обучение и оптимизация на невронна мрежа с Theano
- Моделиране на невронна мрежа
- Логистична регресия
- Скрити слоеве
- Обучение на мрежа
- Изчисления и класификация
- Оптимизация
- Логаритмична загуба
Тестване на модела
Част 3 – DNN с Tensorflow
Основи на TensorFlow
- Създаване, инициализиране, запазване и възстановяване на променливи в TensorFlow
- Подаване, четене и предварително зареждане на данни в TensorFlow
- Как да използвате инфраструктурата на TensorFlow за обучение на модели в мащаб
- Визуализиране и оценяване на модели с TensorBoard
Механика на TensorFlow
- Подготовка на данните
- Изтегляне
- Входове и заместители
-
Изграждане на графата
- Извод
- Загуба
- Обучение
-
Обучение на модела
- Графът
- Сесията
- Цикъл на обучение
-
Оценяване на модела
- Изграждане на граф за оценка
- Изход от оценката
Перцептронът
- Функции на активация
- Алгоритъм за обучение на перцептрона
- Бинарна класификация с перцептрона
- Класификация на документи с перцептрона
- Ограничения на перцептрона
От перцептрона към опорни векторни машини
- Ядра и трикът с ядрата
- Класификация с максимална граница и опорни вектори
Изкуствени невронни мрежи
- Нелинейни граници на решение
- Изкуствени невронни мрежи с права и обратна връзка
- Многослойни перцептрони
- Минимизиране на функцията на загубата
- Право разпространение
- Обратно разпространение
- Подобряване на начина, по който невронните мрежи учат
Конволюционни невронни мрежи
- Цели
- Архитектура на модела
- Принципи
- Организация на кода
- Стартиране и обучение на модела
- Оценяване на модел
Основни въведения, които да бъдат дадени за следните модули (кратко въведение ще бъде предоставено в зависимост от наличното време):
Tensorflow – Разширена употреба
- Нишки и опашки
- Разпределен TensorFlow
- Писане на документация и споделяне на вашия модел
- Персонализиране на четците на данни
- Манипулиране на файлове на модели в TensorFlow
TensorFlow Serving
- Въведение
- Основен урок за обслужване
- Разширен урок за обслужване
- Урок за обслужване на Inception Model
Изисквания
Познания по физика, математика и програмиране. Участие в дейности по обработка на изображения.
Участниците трябва да имат предварително разбиране за концепциите на машинното обучение и да са работили с програмиране на 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
Машинен превод