О курсе
Курс «Добрый, добрый ИИ. Часть 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 на примере простой нейронной сети.