Your AI powered learning assistant

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

Гоу гоу гоу

00:00:00

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

Что было в прошлом видосе

00:00:20

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

Читаю комментарии

00:00:47

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

Анализируем исходные картинки нейросети

00:01:13

Был создан простой скрипт на Python для анализа входных изображений нейронной сети и получения визуальной статистики. Выяснилось, что более 85% изображений имеют разрешение более 1366x768 пикселей, что неэффективно для оптимальной работы нейронной сети. Для эффективной работы достаточно меньшего разрешения.

Унифицируем изображения

00:01:42

Изображения были изменены до одинакового разрешения, например, 400x400 пикселей или меньше. Однако соответствующие XML-файлы, содержащие данные о метках, нуждались в обновлении, поскольку в них хранятся координаты, характерные для размеров исходного изображения, а не проценты. Это потребовало пересчета и перезаписи позиций метаданных в соответствии с новыми разрешениями с использованием формата Pascal VOC — метода, который критиковали за его неэффективность по сравнению с хранилищем, основанным на процентах. Несмотря на эти трудности, были успешно внесены коррективы перед переобучением нейронной сети на обновленных изображениях.

Результат унифицирования :3

00:03:25

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

Сразу 2 видеокарты

00:03:40

Была рассмотрена идея одновременного использования двух видеокарт, когда одна из них предназначена для рендеринга игры, а другая выполняет дополнительные задачи. Однако этот подход не привел к каким-либо заметным улучшениям или выгодам в производительности.

Включил второй компьютер

00:04:00

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

Топ мышка xD

00:05:10

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

Тест на 2х видеокартах

00:05:30

Распределение задач между двумя графическими процессорами повысило производительность, достигнув 15 кадров в секунду при использовании медленной модели TensorFlow, такой как Fast R-CNN. Это улучшение по сравнению с предыдущими 5 кадрами в секунду, но его по-прежнему недостаточно для эффективного таргетинга нейронной сети в играх. В играх, требующих не менее 60 кадров в секунду, более низкая частота кадров нейронной сети оставляет промежутки, в которых происходят непредсказуемые события, часто позволяя врагам перемещаться до того, как они станут мишенью.

Делюсь кодом с вами

00:06:24

Текущее состояние нейронной сети требует улучшения, в частности, для эффективной работы на одной видеокарте. Эта оптимизация имеет решающее значение, поскольку у большинства пользователей есть только один графический процессор, что обеспечивает более широкий доступ. Создатель планирует поделиться оптимизированным кодом вместе с обучающими файлами и предоставить руководство по установке через свой Telegram-канал, как только наберется 90 000 подписчиков.

Переход на YOLOv7

00:07:32

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

Кринжово читаю на английском

00:08:02

Автор начинает свой путь с YOLO версии 7, инструмента, которым он никогда раньше не пользовался. Чтобы понять его назначение и функциональность, он углубляется в чтение на английском языке, несмотря на трудности. Это первый шаг к освоению этой передовой технологии.

Установил и настроил YOLO

00:08:23

Пользователь установил YOLOv7 на систему Windows, несмотря на то, что планировал вскоре перейти на Linux. После установки были проведены тесты, подтверждающие функциональность нейронной сети в быстром распознавании объектов по тестовым изображениям. Им пришлось переписать код для захвата и обработки изображений из-за различий между более быстрыми реализациями на базе TensorFlow R-CNN и PyTorch, но они справились с этим без существенных задержек. Многопроцессорная обработка была удалена из-за сбоя при настройке; теперь все выполняется в одном процессе для упрощения начальной настройки.

Первый тест новой нейронки

00:09:33

Был проведен тест, чтобы определить частоту кадров в секунду (FPS), достижимую на одной видеокарте. Результаты показали более 25 кадров в секунду без многопроцессорной обработки и около 20 кадров в секунду при одновременном запуске игры. Эта производительность впечатляет, учитывая, что оптимизация еще не применялась, и демонстрирует приемлемую частоту кадров для воспроизведения в этих условиях.

Обучаем новую нейросеть

00:10:16

Новая нейронная сеть обучается распознавать игроков в играх, в частности, контр-террористов. В отличие от предыдущей модели, в которой для надписей использовался формат Pascal VOC, для этой модели требуется форматирование надписей YOLO. XML-файлы, которые использовались ранее, больше бесполезны; их необходимо воссоздать с использованием другого метода. К счастью, существующий конвертер, доступный на GitHub, упрощает процесс, автоматизируя преобразование меток.

Права роботов RLM!!!

00:11:00

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

Почему это не чит

00:11:42

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

Тест YOLO в игре

00:12:15

YOLO был протестирован в игровой среде и показал в среднем 20-25 кадров в секунду и точное обнаружение объектов. Однако нейронной сети не хватало возможностей автономного прицеливания. Чтобы устранить это ограничение, был разработан специальный код для автоматического прицеливания. Функция съемки остается полуавтоматической; она активируется только при нажатии клавиши Caps Lock во время тестирования.

Тест в игре, но стреляет нейросеть

00:12:50

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

Сможете отличить где человек, а где нейронка?

00:13:48

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

Лё финал

00:14:00

Бесплатный выпуск кода для нейронной сети для 90 000 подписчиков Код для нейронной сети и руководство по установке будут доступны бесплатно на Telegram-канале, как только он наберет 90 000 подписчиков. Несмотря на предложения о продаже кода, на данный момент достаточно поддержки через лайки и подписки. Ссылки доступны в описании видео.

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