PyTorch обучение
Оглавление
2. Создание трансформатора данных [редактировать]
3. Создание нейронной сети [редактировать]
4. Работа нейронной сети [редактировать]
5. Создание примитивной нейронной сети [редактировать]
6. Функция потерь и обучение нейронной сети [редактировать]
7. Оптимизация и обучение нейронной сети [редактировать]
8. Обучение нейронной сети [редактировать]
9. Влияние выбора функции активации [редактировать]
10. Вычисление и тестирование [редактировать]
11. Динамическое структурирование нейронной сети [редактировать]
12. Обучение с подкреплением [редактировать]
13. Линейность в пространстве весов [редактировать]
14. Нормализация и предобученная модель [редактировать]
15. Использование видеокарты и ускорение обучения [редактировать]
16. Автоэмли библиотеки и цифры [редактировать]
17. Компьютерное зрение [редактировать]
18. Визуализация предсказаний модели [редактировать]
19. Обучение и проверка нейронной сети [редактировать]
20. Результаты обучения и выводы [редактировать]
21. Влияние драпаутов на обучение [редактировать]
22. Применение временных рядов [редактировать]
PyTorch — это довольно низкоуровневая библиотека по созданию нейросетей, где мы можем управлять созданием слоев, даже непосредственно тензорами и расчётом градиентного спуска. Она предоставляет инструменты для создания и обучения нейронных сетей, а также для работы с тензорами (массивами чисел).
Для начала работы с PyTorch вам нужно установить его на ваш компьютер. Вы можете скачать его с официального сайта PyTorch или использовать пакетный менеджер pip для установки.
После установки вы можете начать изучать PyTorch, используя наш Курс Основы Python.
-
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++, но это не было проверено.
-