13

Гайд по PyTorch

3 нейросети за 60 минут

Ноутбук colab: https://colab.research.google.com/drive/1sHLuc6qO5i42oQh_BFq...

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

  • 00:00:00

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

    • • Создание копии нейронной сети с ключом для демонстрации.

    • • Установка библиотек для работы с данными и нейронными сетями.

  • 00:02:41

    Создание трансформатора данных

    • • Создание трансформатора данных для подготовки данных.

    • • Нормализация данных и создание дата лоудера для загрузки данных.

  • 00:06:02

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

    • • Создание линейного слоя нейронной сети с 756 входными нейронами, 128 выходными нейронами и 10 выходными нейронами.

    • • Определение активационных функций для каждого слоя.

  • 00:09:06

    Работа нейронной сети

    • • Демонстрация работы нейронной сети на примере распознавания рукописных цифр.

    • • Подсчет количества параметров в нейронной сети.

  • 00:11:02

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

    • • Создание примитивной нейронной сети на Python с использованием слоев и активационных функций.

    • • Обсуждение важности понимания принципов работы нейронных сетей и использования специальных инструментов для обучения и оптимизации.

  • 00:15:42

    Функция потерь и обучение нейронной сети

    • • Объяснение алгоритма обратного распространения ошибки для обучения нейронной сети.

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

  • 00:18:18

    Оптимизация и обучение нейронной сети

    • • Обсуждение различных оптимизаторов для обучения нейронных сетей, таких как Adam и другие.

    • • Объяснение процесса обучения нейронной сети, включая выбор шага обучения и его изменение в процессе обучения.

  • 00:22:20

    Обучение нейронной сети

    • • В видео объясняется процесс обучения нейронной сети с использованием градиента.

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

    • • Оптимизатор обнуляется, и моделька обучается в режиме обучения.

    • • Ошибка между ответом нейронки и правильными ответами рассчитывается и распространяется назад для обучения весов.

  • 00:28:22

    Влияние выбора функции активации

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

  • 00:29:04

    Вычисление и тестирование

    • • Моделька и тестовый лоудер проверяются на тестовой выборке.

    • • Градиенты отключаются, и ответы нейронки сравниваются с правильными ответами.

    • • Точность нейронки составляет 97,47%.

  • 00:31:20

    Динамическое структурирование нейронной сети

    • • В Keras нейронка жестко прошита, в то время как в Torch можно динамически менять слои.

    • • Это позволяет более гибко управлять графом нейронки и обучением.

  • 00:33:08

    Обучение с подкреплением

    • • Обучение с подкреплением может иметь преимущество, но это зависит от конкретного проекта.

    • • В видео также обсуждается нелинейность и визуализация предсказаний модели.

  • 00:34:56

    Линейность в пространстве весов

    • • В пространстве весов функция становится нелинейной, когда есть два слоя.

    • • В пространстве данных функция остается линейной, так как данные не меняются.

  • 00:42:19

    Нормализация и предобученная модель

    • • Нормализация используется для предобученной модели, которая принимает картинки размера 224x224.

    • • Модель обучена на огромном датасете, и веса уже установлены.

  • 00:45:11

    Использование видеокарты и ускорение обучения

    • • Если есть видеокарта, обучение на ней будет быстрее, чем на процессоре.

    • • Ускорение может быть от 5 до 50 раз.

  • 00:48:05

    Автоэмли библиотеки и цифры

    • • Авто ML библиотеки существуют для Пайторч, но автор не может назвать конкретные.

    • • Цифры, которые умножаются, изначально задаются случайными, а затем оптимизируются в процессе обучения.

  • 00:49:57

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

    • • Создание нейронной сети для классификации изображений с использованием Keras.

    • • Обучение сети на 25 эпох с использованием функции обучения Adam.

    • • Визуализация результатов обучения и оценка точности.

  • 00:53:27

    Визуализация предсказаний модели

    • • Создание линейной сети с 2024, 512, 256, 128, 64 и 32 нейронами.

    • • Использование активационных функций и dropout для предотвращения переобучения.

    • • Обучение модели на 200 эпох с использованием функции средней квадратичной ошибки.

  • 00:57:29

    Обучение и проверка нейронной сети

    • • Обучение модели на проверочных выборках для определения момента остановки обучения.

    • • Остановка обучения, если в течение 20 эпох точность не улучшается.

    • • Обучение нейронной сети на 200 эпох и остановка на 141 эпохе.

  • 01:00:11

    Результаты обучения и выводы

    • • Средняя цена квартиры, предсказанная нейронной сетью, составляет 8 900 000 рублей.

    • • Средняя ошибка составляет 10,85%.

    • • Нейронная сеть показывает точность 400 000 отброса, что в 2,5 раза ниже, чем у реальной цены.

  • 01:03:38

    Влияние драпаутов на обучение

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

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

  • 01:05:39

    Применение временных рядов

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

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

  • 01:08:17

    Выбор всех пяти из текста

    • • Обсуждается задача выбора всех пяти из текста, которая может быть решена с помощью нейросети.

    • • Упоминается, что это другая задача, чем обучение нейросети.

  • 01:09:30

    Сравнение с другими фреймворками

    • • Сравниваются пайторч и керос, и утверждается, что пайторч используется чаще в реальных проектах.

    • • Упоминается, что пайторч может быть написан на языке программирования C++, но это не было проверено.

Youtube:

VK:

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу