Обучение нейросети с помощью генетического алгоритма. Нейросети 02

YOUTUBE · 01.12.2025 05:47

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

Введение в генетические алгоритмы

0:00
  • Генетический алгоритм - это один из способов обучения нейронных сетей, который имитирует процесс естественного отбора.
  • В этом видео будет рассмотрена реализация генетического алгоритма для обучения змейки в игре.

Развертывание генотипа

0:50
  • Генотип змейки состоит из трех матриц, которые описывают ее мозг.
  • Для скрещивания змей используются разные алгоритмы, такие как случайная отсечка или случайное копирование значений.

Популяция и успешность змеек

3:11
  • В игре используется сто змеек одновременно, каждая из которых имеет свою позицию на поле и свой мозг.
  • Функция успешности змейки определяет, насколько она успешна и с какой вероятностью должна оставить потомство.

Обучение змей

5:03
  • Генетический алгоритм повторяется сто раз, выбирая случайную змейку в качестве мамы и папы, скрещивая их и создавая новое поколение змей.
  • Вероятность выбора змейки в качестве родителя пропорциональна ее успешности.

Результаты и ожидание

7:08
  • Змейки могут экспериментировать с разными формами поведения, такими как движение вверх и влево, а также вправо и вниз.
  • Генетический алгоритм не гарантирует, что будет найдена оптимальная стратегия, но со временем и терпением можно ожидать улучшения результатов.

Многопоточность и ускорение симуляции

19:00
  • Автор переписал код игры, чтобы использовать многопоточность и ускорить симуляцию.
  • Это позволяет перематывать скучные поколения и смотреть на большие успехи.

Состав программы

22:43
  • В видео подробно рассказывается о классах и функциях, которые составляют программу игры.
  • Автор объясняет, как выбираются случайные змейки для скрещивания и как происходит эволюция.

Скрещивание двух змеек

25:01
  • Видео объясняет, как происходит скрещивание двух змеек. Змейки не обладают индивидуальностью, но у них есть мозг, который является генотипом.
  • Для скрещивания двух мозгов используется функция в классе мозг, которая выбирает случайную ячейку из верхней матрицы мамы и папы с небольшим шансом мутации.

Создание нового мозга

25:51
  • Функция скрещивания выбирает случайное число от минус одного до одного и добавляет его к значению в ячейке.
  • После скрещивания двух матриц создается новый мозг ребенка, который затем используется для создания нового поля с этим мозгом.

Поколение плюс один

26:30
  • В конце видео объясняется, что поколение плюс один используется для отображения статистики.