О курсе

Курс «Добрый, добрый ИИ. Часть 2. Нейронные сети на PyTorch» продолжает тему искусственного интеллекта и сосредоточен на практическом построении и обучении нейронных сетей с использованием фреймворка PyTorch. Автор отмечает, что материал рассчитан на формирование базовых, фундаментальных знаний о нейронных сетях и сопровождается минимальными математическими обоснованиями, достаточными для понимания сути алгоритмов.

Программа начинается с введения в нейросети и работы с тензорами PyTorch: создания, преобразования, индексирования, математических и векторно-матричных операций, а также использования CPU и GPU. Далее рассматриваются полносвязные сети, персептрон, градиентное обучение, алгоритм обратного распространения ошибки, функции активации и потерь, автоматическое дифференцирование, оптимизаторы и реализация SGD.

Отдельные разделы посвящены подготовке данных и обучению моделей: классам Dataset и DataLoader, форматам выборок, классификации изображений из базы MNIST, трансформациям, сохранению и загрузке моделей, переобучению, L2-регуляризации, Dropout и Batch Normalization. Затем следуют свёрточные нейронные сети, включая классы Conv2d и MaxPool2d, архитектуры VGG-16 и VGG-19, стилизацию изображений, остаточные сети ResNet-18 и ResNet-50, трансферное обучение и сеть U-Net для семантической сегментации.

В курсе также разбираются рекуррентные нейронные сети: класс nn.RNN, прогноз символов и слов, эмбеддинги, двунаправленные RNN, сентимент-анализ фраз, LSTM и GRU. Завершающая часть посвящена автоэнкодерам и генеративным сетям — вариационным автоэнкодерам (VAE) и генеративно-состязательным сетям (GAN) с примерами реализации на PyTorch.

Что рассматривается в программе

  • работа с тензорами PyTorch: создание, преобразование, индексирование и математические операции
  • построение и обучение полносвязных нейронных сетей
  • использование классов nn.Linear, nn.Module, Dataset и DataLoader
  • реализация свёрточных сетей, включая VGG и ResNet
  • применение трансферного обучения и сети U-Net для сегментации изображений
  • работа с рекуррентными сетями, LSTM и GRU
  • реализация автоэнкодеров, VAE и GAN на PyTorch

Кому может быть полезен курс

  • тем, кто интересуется принципами работы нейронных сетей и хочет разобраться в базовых алгоритмах
  • специалистам, которым нужно ознакомиться с практическим построением и обучением моделей на PyTorch
  • тем, кто хочет изучить полносвязные, свёрточные и рекуррентные нейронные сети
  • тем, кто интересуется генеративными моделями, автоэнкодерами и GAN

Вопросы о программе

Какой фреймворк используется в курсе?

Практической основой курса выбран PyTorch. В описании автор сравнивает его с Keras/Tensorflow и отмечает, что PyTorch имеет более удобный функционал проектирования сетей разной архитектуры.

Какие типы нейронных сетей рассматриваются в программе?

В программе рассматриваются полносвязные нейронные сети, свёрточные сети (включая VGG и ResNet), рекуррентные сети (RNN, LSTM, GRU), автоэнкодеры, вариационные автоэнкодеры и генеративно-состязательные сети.

Нужна ли глубокая математическая подготовка для прохождения курса?

По описанию автора, курс содержит минимальные математические обоснования, необходимые для понимания сути приводимых алгоритмов.

Рассматривается ли в курсе обучение на GPU?

Да, в программе есть темы установки PyTorch совместно с CUDA и использования CPU и GPU на примере простой нейронной сети.