Программа и содержание

Добрый, добрый ИИ. Часть 2. Нейронные сети на PyTorch (2026)

Слив курса Добрый, добрый ИИ. Часть 2. Нейронные сети на PyTorch [Stepik] [Сергей Балакирев]

Нейронные сети не нуждаются в представлении. О них слышал практически каждый. Но далеко не каждый понимает и даже отдаленно представляет принцип их работы.

Это рождает много домыслов и небылиц о зарождении искусственного самосознания, захвата мира бездушными машинами, о проникновении в творческие профессии и полного вытеснения из них человека.

Чтобы лучше разбираться в этих и других подобных вопросах, как всегда, необходимы базовые, фундаментальные знания в области нейронных сетей.

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

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

Ценность этого курса уже в том, чтобы устранять многие мифы и небылицы вокруг этого относительно нового направления и тем самым поддерживать

развитие искусственного интеллекта в нашей стране. Тем более, что лидеры в нем сейчас Китай и США.

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

Почему именно PyTorch? В действительности, единственный конкурент ему другой аналогичный фреймворк Keras/Tensorflow.

Однако PyTorch имеет более удобный функционал проектирования сетей самой разной архитектуры.

В то время как Keras/Tensorflow больше зарекомендовал себя в коммерческих приложениях (в продакшене) благодаря несколько более высокой скорости обучения НС.

Но различия по скорости работы между этими двумя фреймворками не так существенны, а иногда и вовсе незаметны, чтобы отказываться от удобства PyTorch в пользу Keras/Tensorflow.

К тому же, изучив PyTorch, вы легко сможете перейти на Keras/Tensorflow, если в этом возникнет необходимость.

Программа курса:

Введение в нейросети. Тензоры PyTorch

Начало

Структура и принцип работы полносвязных нейронных сетей

Установка PyTorch совместно с CUDA

Создание тензоров. Конвертирование в NumPy

Тензоры. Автозаполнение, изменение формы

Тензоры. Индексирование и срезы

Тензоры. Базовые математические операции

Тензоры. Тригонометрические и статистические функции

Тензоры. Векторно-матричные операции

Использование CPU и GPU на примере простой НС

Персептрон - возможности классификации образов

Создание и обучение моделей полносвязных нейронных сетей

Идея обучения НС градиентным алгоритмом

Алгоритм back propagation

Функции активации и потерь в PyTorch

Автоматическое дифференцирование

Оптимизаторы. Реализация SGD на PyTorch

Классы nn.Linear и nn.Module

Форматы выборок. Сбалансированность и репрезентативность

Классы Dataset и Dataloader

Применение классов Dataset и Dataloader

Классификация изображений цифр БД MNIST

Трансформации transform. Класс ImageFolder

Сохранение и загрузка моделей нейронных сетей

Переобучение (overfitting). Критерии останова обучения

L2-регуляризатор и Dropout

Алгоритм Batch Normalization

Классы Sequential, ModuleList и ModuleDict

Сверточные нейронные сети

Введение в сверточные нейронные сети (CNN)

Классы Conv2d и MaxPool2d

Пример реализации сверточной нейронной сети

Сверточные нейронные сети VGG-16 и VGG-19

Теория стилизации изображений (Neural Style Transfer)

Делаем стилизацию изображений на PyTorch

Остаточные нейронные сети (residual networks - ResNet)

Архитектуры ResNet-18 и ResNet-50

Использование ResNet моделей. Их связь с Dropout и бустингом

Transfer Learning (трансферное обучение)

Архитектура сети U-Net. Семантическая сегментация изображений

Реализация U-Net для семантической сегментации изображений

Рекуррентные нейронные сети

Введение в рекуррентные нейронные сети

Класс nn.RNN рекуррентного слоя

Рекуррентная сеть для прогноза символов

Понятие эмбеддинга. Embedding слов

Прогноз слов рекуррентной нейронной сетью

Функции активации в RNN. Двунаправленные RNN

Двунаправленные RNN в PyTorch. Сентимент-анализ фраз

LSTM - долгая краткосрочная память

Рекуррентный блок GRU

Автоэнкодеры. Генеративные сети

Введение в автоэнкодеры

Вариационные автоэнкодеры (VAE)

Реализация вариационного автоэнкодера (VAE)

Генеративно-состязательные сети (GAN)

Реализация GAN на PyTorch