Учим Нейронные Сети за 1 час! | Python Tensorflow & PyTorch YOLO | Хауди Хо | Дзен

DZEN · 29.11.2025 08:07

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

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

0:00
  • Обучение основам и продвинутым техникам работы с нейронными сетями за один час.
  • Нейросети захватывают мир, но пока только в переносном смысле.
  • Искусственная нейронная сеть ИНС — это математическая модель, обучающаяся и находящая взаимосвязи между данными.

Применение нейросетей

0:56
  • Нейросети используются для распознавания объектов и классификации изображений.
  • Примеры применения: системы видеонаблюдения, машины Tesla.
  • В будущем нейросети могут стать основой для создания терминаторов.

Инструменты для работы с нейросетями

2:48
  • Необходимы базовые знания языка Python и один час на просмотр урока.
  • Использование Google Colab и Jupyter Notebook для работы с нейросетями.
  • Google Colab позволяет запускать код в браузере и делиться им с друзьями.

Преимущества Google Colab

4:03
  • Google Colab используется для обучения нейросетей и запуска кода в браузере.
  • Платформа предоставляет мощные ресурсы CPU, GPU и TPU.
  • Jupyter Notebook — среда разработки в браузере для работы с Python-кодом.

Важность языка Python

6:52
  • Нейросети работают на языке Python, который удобен и быстр в написании кода.
  • Python используется для создания ботов, сайтов и программ.
  • Изучение Python можно осуществить самостоятельно или на курсах.

Курсы по Python

7:51
  • Курсы по Python для веб-разработки предлагают обучение на реальных проектах.
  • Курсы включают изучение Java, Django и Linux.
  • Карьерный центр помогает с трудоустройством и обучением на фрилансе.

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

11:04
  • Классификация изображений — одна из простейших задач для нейросетей.
  • Пример: распознавание цветов по их изображениям.
  • Создание датасета: фотографии цветов с их названиями.

Сбор данных для датасета

12:02
  • Можно фотографировать цветы самостоятельно или искать фотографии в интернете.
  • Важно иметь достаточное количество изображений для каждого вида цветов.

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

12:57
  • Третий вариант - использование готового датасета из интернета.
  • Пример датасета для классификации изображений цветов.
  • Важно качество датасета, а не только его размер.

Установка Python и TensorFlow

13:53
  • Установка Python и TensorFlow через Google Colab.
  • Установка TensorFlow вручную через Docker.
  • Установка через Anaconda, но с ограничениями.

Создание и загрузка датасета

16:39
  • Создание пустого Python-скрипта для обучения.
  • Импорт необходимых модулей и загрузка датасета.
  • Использование утилиты get_file для загрузки датасета.

Создание тренировочного и валидационного датасетов

18:35
  • Создание тренировочного и валидационного датасетов по правилу 80/20.
  • Кэширование данных перед обучением.
  • Разметка структуры модели и компиляция модели.

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

20:23
  • Указание количества эпох обучения и вызов метода fit.
  • Использование библиотеки matplotlib для вывода графиков точности и потерь.
  • Важность параметра batch_size и его влияние на точность и скорость обучения.

Анализ результатов обучения

23:09
  • Анализ графиков точности и потерь после обучения.
  • Проблема переобучения и её последствия.
  • Важность правильного выбора параметров для обучения.

Проблема переобучения

25:58
  • Тренировочный лос падает, валидационный лос растет.
  • Нейросеть начинает точно распознавать тренировочный датасет, но плохо валидационный.
  • Это называется переобучением, и с ним сталкиваются все программисты.

Методы борьбы с переобучением

26:53
  • Увеличение датасета через поиск новых фотографий или аугментацию данных.
  • Регуляризация для повышения точности модели и уменьшения отклонений.
  • Снижение количества параметров и уменьшение количества эпох для улучшения обобщения.

Аугментация данных

27:47
  • Аугментация позволяет раздуть датасет, манипулируя изображениями.
  • Примеры манипуляций: поворот, отражение, искажение.
  • В коде это выглядит как добавление аугментации как слоя при создании модели.

Результаты аугментации

28:38
  • Увеличение датасета до 15-20 тысяч изображений.
  • Добавление аугментации и регуляризации улучшает обобщение модели.
  • Пример кода для добавления аугментации и регуляризации.

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

29:38
  • Сохранение модели с помощью метода сейф или чек-поинтов.
  • Инференс на новом изображении с использованием метода лод уэйтс и эволюэт.
  • Пример кода для инференса на изображении подсолнуха.

Работа с моделью YOLO

32:30
  • YOLO - это реализация стейт-оф-арт документа для распознавания объектов.
  • YOLO 8 - последняя и самая быстрая модель для распознавания объектов в реальном времени.
  • Установка YOLO 8 через анаконду или докер-контейнер.

Установка и настройка YOLO

35:25
  • Установка через анаконду для удобства на Windows.
  • Проверка доступности GPU в пай-торче.
  • Обновление пай-торча для работы с GPU.

Обучение и инференс YOLO

37:14
  • Обучение нейросети и инференс на примере классификации цветов.
  • Объяснение трансферного обучения и его применения.
  • Переход к задаче распознавания объектов.

Трансферное обучение в YOLO

38:08
  • YOLO использует трансферное обучение для адаптации готовых моделей под новые задачи.
  • В YOLO 8 есть четыре типа задач: классификация, сегментирование, обнаружение и детекция.
  • Каждая задача имеет пять моделей с разной точностью и скоростью инференса.

Подготовка датасета для YOLO

39:04
  • Для классификации цветов используется модель YOLO 8.
  • Датасет должен быть разделен на тренировочную и тестовую части.
  • Для этого можно использовать скрипт или модуль PyLabel.

Обучение нейросети с помощью YOLO

40:58
  • YOLO имеет удобную утилиту для обучения нейросети.
  • Команда для обучения: yolo-task classify train model.
  • Процесс обучения занимает несколько минут и создает папку с результатами.

Инференс и обнаружение объектов

41:56
  • Для инференса используется команда yolo-task predict model.
  • Обнаружение объектов на фотографиях требует разметки датасета.
  • Разметка может быть полуавтоматической, что ускоряет процесс.

Заключение и рекомендации

46:32
  • Изучены основы работы с TensorFlow и PyTorch.
  • Понимание работы YOLO и других нейросетей.
  • Рекомендации по углублению в тему и переходу на Linux.
  • Призыв к подписке и лайкам для продвижения видео.