Реализация и обучение нейронной сети с помощью PyTorch

YOUTUBE · 27.11.2025 06:36

Ключевые темы и таймкоды

Введение в PyTorch для обработки аудио

0:00
  • Первое видео из серии по PyTorch для обработки аудио.
  • Создание нейронной сети с нуля и её обучение.
  • Использование набора данных MNIST для классификации изображений.

Установка PyTorch и необходимых пакетов

0:52
  • Установка PyTorch и необходимых пакетов с помощью pip.
  • Использование torch audio и torch vision для работы с аудио и изображениями.

Загрузка набора данных MNIST

1:48
  • Создание функции для загрузки набора данных MNIST.
  • Загрузка обучающих и тестовых данных.
  • Применение преобразования для нормализации данных.

Создание загрузчика данных

8:08
  • Объяснение, что такое загрузчик данных.
  • Создание загрузчика данных для обучающих данных.
  • Определение размера пакета.

Построение модели

10:01
  • Создание модели в PyTorch.
  • Определение класса модели и методов конструктора и forward.
  • Добавление слоев в модель, включая сглаживание и плотные слои.

Использование последовательности действий

13:09
  • Объяснение последовательности действий в PyTorch.
  • Объединение нескольких слоев в один атрибут.
  • Применение линейного слоя для обработки данных.

Создание нейронной сети

14:23
  • Использование 256 нейронов и функции активации ReLU.
  • Применение линейного слоя с 156 входами и 10 выходами.
  • Использование слоя softmax для нормализации предсказаний.

Определение метода forward

15:23
  • Объяснение метода forward для обработки данных.
  • Передача сглаженных данных в плотные слои.
  • Применение softmax для получения прогнозов.

Создание модели

18:12
  • Наследование класса от модуля и определение методов конструктора и forward.
  • Создание экземпляра сети и назначение устройства для обучения.
  • Проверка наличия ускорения GPU и выбор устройства.

Обучение модели

20:48
  • Использование функций для обучения одной эпохи и всего обучения.
  • Перебор выборок в наборе данных и использование загрузчика данных.
  • Назначение тензоров устройству и выполнение шагов вычисления потерь и обратного распространения.

Вычисление потерь и обновление весов

24:47
  • Получение прогнозов и расчет потерь с помощью функции потерь.
  • Применение обратного распространения и градиентного спуска для обновления весов.
  • Использование оптимизатора и выполнение шага для обновления весов.

Заключение

27:57
  • Печать потерь для последней партии.
  • Сравнение подхода PyTorch с Keras и TensorFlow.
  • Важность понимания работы PyTorch для настройки и контроля.

Введение в обучение

29:36
  • Обсуждение различий между фреймворками глубокого обучения.
  • Переход к реализации обучения.
  • Процесс обучения состоит из нескольких эпох.

Реализация обучения

30:31
  • Вывод текущей эпохи.
  • Вызов функции train для одной эпохи.
  • Добавление разделителя для каждой эпохи.

Подготовка к обучению модели

31:16
  • Введение модели и загрузчика данных.
  • Определение функции потерь и оптимизатора.
  • Установка количества эпох для обучения.

Определение функции потерь и оптимизатора

32:10
  • Использование перекрестной потери энтропии.
  • Применение оптимизатора Adam.
  • Передача параметров и скорости обучения.

Сохранение модели

33:34
  • Использование torch.save для сохранения модели.
  • Указание состояния модели и пути к файлу.
  • Печать сообщения о сохранении модели.

Проверка и завершение

35:36
  • Проверка работы модели.
  • Сохранение модели в памяти.
  • Завершение видео и анонс следующего видео.

Заключение

36:34
  • Призыв к лайкам и вопросам в комментариях.
  • Приглашение присоединиться к сообществу Sound of AI Slack.
  • Прощание и пожелания.