Начало
00:00:00Создание искусственного интеллекта для таких игр, как Geometry Dash и Google Dino, предполагает использование алгоритмов нейронной эволюции. Однако этот подход не работает повсеместно, поскольку ИИ сначала необходимо обучить игре, что сродни обучению ребенка. Как правило, копия игры модифицируется с помощью датчиков и позволяет проводить одновременное сравнение между несколькими игроками. Затем создаются поколения, в которых успешные геномы вознаграждаются, а менее успешные получают штрафы, пока не будет создан оптимальный геном.
ИИ для Counter Strike
00:00:48Создание искусственного интеллекта для игры в Counter-Strike непосредственно в игре, а не для ее тиражирования, представляет собой уникальную задачу. Такой искусственный интеллект потенциально мог бы выигрывать матчи, не задействуя античит-системы, такие как VAC. Это позволило бы автономно собирать кейсы и вознаграждения, соблюдая при этом правила, избегая запретов, поскольку нарушений не происходит.
Права роботов! Хештег RLM
00:01:20В 2022 году будет представлена идея о том, что роботы должны иметь право участвовать в онлайн-играх. Концепция бота, играющего от чьего-либо имени, вызывает споры об их включении и правах в цифровое пространство. Поддержка этой идеи поощряется лайками и комментариями с использованием хэштегов, таких как #robot, символизирующих принятие в киберпанковское будущее.
Принцип работы ИИ для CS:GO
00:01:40Цель состоит в разработке нейронной сети, способной автономно играть в CS:GO. Подход фокусируется на трех основных навыках для успешного игрового процесса: восприятие игры с высокой частотой кадров, точное прицеливание и стрельба (предпочтительно в голову), а также эффективная навигация в игровой среде.
Скриншотим экран (захват картинки)
00:02:15Вдохновленный видеороликом на YouTube, в котором кто-то обучал искусственный интеллект вождению в GTA V с помощью компьютерного зрения, процесс включал в себя захват игровых скриншотов со скоростью 10-15 кадров в секунду для анализа. Этот метод имитирует подход Tesla к использованию визуальных данных для систем автономного вождения. Чтобы повторить этот эксперимент, был написан код на Python, включающий библиотеку OpenCV для компьютерного зрения и библиотеку MSS для захвата экрана.
Многопоточный захват
00:02:55Изначально программа фиксировала в среднем 20 кадров в секунду, что было неплохим результатом. Для повышения производительности код был переписан, чтобы включить многопоточность, разделив процессы захвата и отображения скриншотов. Эта оптимизация увеличила частоту кадров до 30 кадров в секунду, продемонстрировав значительное повышение эффективности.
Вторая задача. Прицеливание и стрельба
00:03:24Задача заключается в обучении нейронной сети распознавать объекты и игроков на игровых изображениях, отличая союзников от врагов. Для этого требуется, чтобы модель не только идентифицировала, но и точно классифицировала эти элементы. Выбор был сделан в пользу TensorFlow, библиотеки машинного обучения Google, предназначенной для создания и обучения нейронных сетей, способных достичь качества восприятия, подобного человеческому.
Важный совет про GPU нейросети
00:04:23Процесс настройки обучения нейронной сети с помощью графического процессора в Windows описывается как крайне сложный и сопряженный с многочисленными трудностями. Докладчик с юмором предполагает, что обсуждение деталей приведет к чрезмерному использованию ненормативной лексики и потенциальному запрету видео. Они клянутся никогда больше не тренировать нейронные сети с использованием графических процессоров в Windows из-за этих трудностей, намекая на общие трудности среди тех, кто пытался это сделать.
Учим нейросеть отличать КТ от Т
00:05:00Чтобы обучить нейронную сеть распознавать объекты, ей сначала необходимо подробно показать эти объекты. Для этой цели в качестве обучающих данных было собрано 700 скриншотов из игры Counter-Strike. Каждое изображение было помечено вручную с помощью специализированного программного обеспечения, путем выделения определенных классов, таких как полные тела и головы, как для контртеррористов, так и для террористов. Эти аннотации преобразуются в форматы, такие как XML или CSF, перед созданием файла записи TF, необходимого для обучения модели. Кроме того, требуется сопоставление меток, поскольку нейронные сети обрабатывают числовые представления классов; наконец, конфигурационные файлы, указывающие количество классов и пути к ним, завершают настройку.
Нейросеть обучена, первый тест
00:06:15Процесс обучения нейронной сети зависит от аппаратного обеспечения, в частности от графического процессора. При использовании RTX 2080 Ti обучение заняло примерно 2-3 часа, но для удобства его можно отложить на ночь. Первые результаты были впечатляющими; модель с высокой точностью идентифицировала врагов на игровых скриншотах, обводя их рамками, включая, по возможности, положение головы. Такого уровня детализации достаточно для обеспечения функциональности прицеливания.
Царская интеграция
00:07:15Создатели игры "Небо из Таркова" изначально разрабатывали браузерные игры, такие как Street Wars и Contract Wars, которые привлекли миллионы благодаря своему удобству - не требовалось скачивать или покупать. Если вам интересно научиться создавать такие игры с нуля, вы можете пройти бесплатный курс на платформе Yandex Games. Этот курс обучает основам движка Unity, включая навигацию, создание объектов, написание сценариев для управления персонажами, добавление анимации, интеграцию эффектов и звуковое оформление. Это также позволяет загружать вашу игру на платформу для монетизации без необходимости саморекламы, поскольку Яндекс занимается привлечением трафика.
Тест в самой игре
00:08:49Во время тестирования способности нейронной сети распознавать игроков в Counter-Strike возникла неожиданная проблема. Во время игрового процесса количество скриншотов резко сократилось до 10 в секунду, что сделало невозможным эффективное реагирование из-за низкой частоты кадров. Запись экрана еще больше ухудшила производительность, еще больше сократив количество кадров и сделав невозможными правильные реакции. Несмотря на такие усилия, как внедрение многопоточных решений, проблема сохранялась.
В чем причина проблемы
00:09:40Проблема возникает, когда нейронная сеть потребляет почти все ресурсы видеокарты, оставляя недостаточную мощность для других задач, таких как игры. Это приводит к значительным задержкам при обработке кадров. Предлагается два решения: добавить еще один графический процессор для выполнения отдельных задач или использовать два компьютера — один для запуска игр, а другой для работы с нейронной сетью через разъем Wi-Fi.
Другая нейронка (YOLO)
00:10:45Переход на библиотеку нейронных сетей YOLO дает значительное преимущество в скорости по сравнению с TensorFlow, который работает медленнее. Хотя у TensorFlow есть свои достоинства, YOLO работает как высокопроизводительное транспортное средство, идеально подходящее для задач обнаружения объектов в реальном времени. Это делает его оптимальным выбором для создания эффективных и функциональных ботов с минимальными требованиями к оборудованию.
Финал
00:11:28Создатели успешно разработали искусственный интеллект, способный эффективно наносить удары в голову, что говорит о его впечатляющей функциональности. Они планируют выпустить вторую часть, в которой нейронная сеть будет дополнительно обучена автономной навигации по картам, если их видео наберет 20 000 лайков. Кроме того, они обещают поделиться всем исходным кодом и файлами для тех, кто заинтересован в самостоятельных экспериментах с этой технологией.