Your AI powered learning assistant

Я сделал ИИ для Counter Strike: Global Offensive :D | Часть 3

Изи пизи

00:00:00

Проект предполагает разработку нейронной сети, способной автономно играть в Counter-Strike: Global Offensive. Несмотря на первоначальные ожидания, что потребуется больше времени, подавляющая поддержка и быстрое накопление лайков ускорили процесс продолжения. Создатель с юмором отмечает их недоверие к быстрой реакции, подчеркивая при этом стремление к прогрессу до вмешательства внешних факторов.

Цели на сегодня

00:00:56

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

Расширяю датасет

00:01:36

Для повышения производительности нейронной сети крайне важно увеличить размер набора данных. Ранее было недостаточно работать только с 500 изображениями, и было удивительно, что вообще произошло какое-либо распознавание. Необходимо как минимум 10 000 изображений, чтобы избежать "слепой" нейронной сети, неспособной к эффективному обучению.

Полуавтоматическая генерация датасета

00:02:12

Создание набора данных требует большого количества скриншотов и времени на ручную маркировку. Для экономии усилий используется полуавтоматическая генерация путем обучения нейронной сети на небольшом наборе образцов. Обученная модель обрабатывает видео с игровым процессом для автоматического создания маркированных скриншотов. Несмотря на то, что этот метод значительно сокращает рабочую нагрузку, некоторая ручная коррекция неправильно помеченных данных по-прежнему необходима.

Новый датасет (3000+ изображений)

00:03:27

Набор данных из более чем 3000 изображений был создан путем первоначальной маркировки около 1500 изображений в течение нескольких часов. Нейронная сеть была переобучена на основе этого нового набора данных и использовалась для обработки игровых видеороликов для дальнейшего расширения. К концу дня на основе трех любимых игровых карт было создано более 3000 изображений с надписями.

Сравнение старой и новой модели нейросети

00:03:54

Старая модель нейронной сети, обученная только на 500 изображениях, с трудом распознает определенные элементы, такие как метла на карте Dust 2 для Counter-Strike. В отличие от этого, новая модель демонстрирует значительное улучшение после обучения на трех тысячах изображений. Это показывает, насколько увеличенные данные обучения повышают точность распознавания.

Прикол с курицей xD

00:04:13

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

Про повышение точности нейросети

00:04:28

Для повышения точности нейронной сети рекомендуется добавлять в набор данных пустые изображения без проигрывателей или надписей. Они должны составлять 1-10% от всех изображений в наборе данных. Увеличение сроков обучения также может помочь, но должно быть сбалансировано, чтобы избежать переобучения, когда модель распознает объекты только по своим обучающим данным. Увеличение размеров изображения для обнаружения небольших объектов дополнительно повышает производительность; однако этот процесс требует значительных временных и вычислительных ресурсов.

Сравнение mAP 86% vs mAP 91

00:06:02

Сравнение моделей, обученных с разрешением 1024 и 640 точек, выявило существенную разницу в точности распознавания объектов. Модель с более высоким разрешением достигла среднего показателя точности (mAP) в 91%, опередив модель с более низким разрешением (mAP) на 86% за счет более точного распознавания объектов, включая случаи, когда последнее полностью не удавалось. Это демонстрирует, что даже небольшие процентные улучшения могут оказать существенное влияние на работу нейронных сетей.

Нейросети и конференции по ним

00:07:15

Нейронные сети увлекательны, особенно тем, как они повышают точность выполнения задач. Тем, кто интересуется, настоятельно рекомендуется посещать конференции, чтобы глубже погрузиться в тему. Предстоящая 3-4 декабря конференция будет посвящена нейронным сетям, машинному обучению, разработке интерфейсов и бэкендов, созданию мобильных приложений, а также новым технологиям в программировании. Подобные мероприятия дают возможность быстро погрузиться в интересующие темы, пообщаться с экспертами вживую и стать частью сообщества.

Проблема передвижения мышки

00:08:40

Движение указателя мыши не является линейным, что продемонстрировано с помощью визуализаций, созданных в Photoshop. Траектория часто образует кривые с различной скоростью, значительно замедляясь вблизи целевой точки. Кроме того, часто наблюдаются случаи, когда указатель выходит за пределы желаемого местоположения и корректируется путем возврата к нему более короткими путями.

Линейное и рандомное передвижение

00:09:37

Нейронная сеть была запрограммирована с использованием двух алгоритмов: линейного и случайного перемещения. Линейное движение легко идентифицировать как нечеловеческое, в то время как случайные движения, хотя и являются теоретически многообещающими, не выглядят естественными при визуализации. Увеличение параметров дрожания только усугубляет проблему, делая движение похожим скорее на судорожное поведение, чем на деятельность человека.

Роборасизм и дискриминация ИИ!!!

00:10:16

В обществе, где широко распространена дискриминация роботов, концепция "пристыжения роботов" становится актуальной проблемой. Идея призывает людей сопереживать роботам, представляя себя на их месте, выступая против предрассудков, основанных на искусственной природе. Призыв к действию призывает людей поддерживать равные права для нейронных сетей на игровых платформах, таких как Steam, представляя будущее, в котором искусственный интеллект сможет участвовать наряду с людьми без притворства или предвзятости.

Алгоритм Wind Mouse

00:11:46

Алгоритм Wind Mouse, основанный на формулах гравитации и ветра, имитирует движения мыши, как у человека. Благодаря интеграции этого алгоритма в код, он генерирует реалистичные движения курсора без ручного ввода. Тестирование его точности показало впечатляющие результаты в создании естественного поведения навигации.

Статья про реакцию симпла

00:12:29

Новый алгоритм Windbaus был интегрирован в простую программу, похожую на paint. Вдохновленный статьей о скорости реакции профессионального игрока в CS:GO S1mple (287 миллисекунд на выстрел), этот проект был нацелен на сравнение и анализ такого быстрого времени отклика. Основное внимание уделяется тому, как мастерство S1mple позволяет ему не только замечать противников, но и реагировать на них и открывать огонь всего за четверть секунды.

Нейросеть VS S1mple

00:13:05

Были измерены время реакции нейронной сети и точность стрельбы, которые показали, что она работает как минимум в два раза быстрее, чем профессиональный геймер, такой как S1mple. Скорость реакции составляет примерно 40-50 миллисекунд, а на прицеливание и стрельбу уходит еще 100 миллисекунд. Эти результаты неоптимизированы; использование более совершенного оборудования или доработка кода могли бы сделать его в пять раз быстрее, чем у S1mple. Однако такая производительность может оказаться непрактичной для игровых целей — возможно, было бы логичнее настроить его настройки таким образом, чтобы они имитировали работу обычных игроков, таких как профессионалы или обычные геймеры.

Новая библиотека для захвата скриншотов

00:14:02

Была внедрена новая библиотека для улучшения захвата скриншотов, устраняющая предыдущие недостатки. Для повышения производительности нейронной сети в режиме FPS была проведена дальнейшая оптимизация с использованием библиотеки dxcam, основанной на Python. Эта корректировка была направлена на достижение более быстрой и эффективной работы.

Итоги

00:14:20

В модель нейронной сети были внесены значительные улучшения, повысившие ее точность и реалистичность. Искусственный интеллект теперь имитирует движения мыши, как у человека, немного повышает частоту кадров в секунду и обеспечивает более реалистичную механику прицеливания и стрельбы в игровом процессе. Будущие цели включают в себя переписывание алгоритма стрельбы для более точного прицеливания, который предсказывает движение противника и включает в себя схемы распыления вместо одиночных выстрелов. Также начата работа над автономной навигацией по карте с использованием нейронных сетей.