План на курса

Част 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 програмирането и библиотеките.

 35 часа

Брой участници


Цена за участник

Отзиви от потребители (5)

Предстоящи Курсове

Свързани Kатегории