ym104432846
Вставьте ссылку на видео из Youtube, Rutube, VK видео
Задайте вопрос по видео
Что вас интересует?
00:00:15
Сбор лайков и поддержка проекта:
  • 1. Запланировано получение 30 000 лайков за короткий срок (менее недели)
  • 2. Требуется дополнительная финансовая компенсация от Valve в размере 30 000 долларов для прекращения активности
  • 3. Автор выражает недовольство скоростью набора лайков и финансовыми обязательствами
00:00:57
Проблемы текущей версии нейросети:
  • Участники обсудили три главные проблемы нейросети: некорректная работа наводки мыши, недостаточное качество датасета (слишком малое количество изображений) и низкая скорость реакции нейронной сети
  • Решено существенно увеличить объем датасета, добавив минимум 10 000 изображений для повышения качества работы нейросети
  • Для формирования датасета планируется использовать большое количество скриншотов из игр и значительное количество ручного труда (времени)
00:02:26
Полуавтоматическая генерация датасета:
  • 1. Использован метод полуавтоматической генерации датасета для упрощения процесса проставления меток на изображениях
  • 2. Новая нейросеть после переобучения показала значительное улучшение в распознавании объектов (например, контры на медле), что является заметным прогрессом
  • 3. Нейросеть случайно начала ошибочно идентифицировать персонажей игры как объекты реального мира (курицы были распознаны как террористы)
00:04:59
Повышение точности нейросети:
  • В датасет рекомендуется добавлять пустые изображения без игроков и меток в количестве от 1 до 10% от общего числа изображений
  • Предложено увеличить количество эпох обучения нейросети, чтобы избежать переобучения (overfitting)
  • Рассматривается увеличение размера изображений для улучшения точности распознавания мелких объектов
00:08:34
Улучшение движения мыши нейросети:
  • 1. Разработчик продемонстрировал нестандартный подход к визуализации движения мыши, используя программы и фотошоп, выявив особенности поведения нейросетей
  • 2. Рассмотрены два алгоритма передвижения мыши — линейный и рандомизированный с линейным движением, оба оказались неэффективными
  • 3. Использование увеличенного параметра джиттера не улучшило ситуацию, движение стало выглядеть еще менее естественно
00:10:21
Ботшейминг и равенство нейросетей:
  • 1. Участники обсуждения предложили внести изменения в правила Steam, предоставив право играть нейросетям наравне с людьми
  • 2. Обсуждался способ научить нейросеть имитировать движения мыши человека (алгоритм Wild Mouse)
  • 3. Упоминался термин «бот-шейминг», обозначающий критику и унижение нейросетей
00:11:53
Алгоритм Wild Mouse и тестирование:
  • Разработан алгоритм симуляции движения мыши с использованием формул гравитации и ветра
  • Алгоритм успешно перенесён в собственный код разработчика
  • Создана демонстрационная программа на основе графического редактора (типа Paint), использующая разработанный алгоритм
00:12:39
Скорость реакции нейросети:
  • Скорость реакции симпла составляет 287 миллисекунд
  • Скорость реакции разработанной нейросети — около 40–50 миллисекунд
  • Для повышения эффективности рекомендуется снизить скорость реакции нейросети до средних значений
00:13:55
Оптимизация скорости захвата скриншотов:
  • 1. Разработана новая библиотека dx com для Python, ускорившая работу нейросети и повысившая её точность
  • 2. Нейросеть научилась имитировать движения мыши человека, улучшая реалистичность прицела и стрельбы в играх
  • 3. Ведутся работы по улучшению алгоритма стрельбы нейросети, включая возможность отслеживания и прогнозирования передвижения противников
0: Всем привет. Сегодня мы с вами продолжаем делать карманного симпла, то есть нейросеть, которая сама будет играть в counter strike global offensive. И у меня к вам только 1 вопрос ребят, вы че *** для тех?
1: Кто не понимает, объясняю. В прошлой части я просил вас собрать 20000 лайков, и я выпускаю продолжение, и я честно надеялся, что лайки будут набираться хотя бы неделю, чтобы я успел чутка отдохнуть. Но прошло всего 2 дня.
2: Я в ахуе сейчас, если честно, да и к тому же valve все ещё не занесли мне теперь уже 30000 зелёных, чтобы я остановился и не способствовал возникновению скайнета. Поэтому я продолжаю ведь, как говорится, куй железо пока горячо.
3: А вы все знаете, что вот кто кто, а я уж точно не могу ***.
4: Так вот, сегодня мы с вами займёмся 3 самыми главными проблемами нашей нейросети, а именно наводка мыши, кривой датасет и медленная реакция нейронки это все то, о чем вы очень много писали.
5: Комментариях и я понимаю почему. И, конечно же, я снова хочу сказать вам всем отдельное спасибо за поддержку и ваши комментарии. Я там честно нахожу очень много полезного и все, все читаю. А ещё я, кстати, прям очень
6: Очень рад, что вы заряжаетесь мотивацией и сами тоже начинаете учить нейросети. Это реально прям топ тема. И я уверен, что уже совсем скоро нейросети будут повсюду. Ну а я пока что начал с того, что решил увеличить количество изображе.
7: В датасете нашей нейросети, потому что, как вы помните, в прошлом ролике у меня было всего примерно 500 изображений. И, мягко говоря, это ничтожно мало. Я, если честно, вообще удивляюсь, как нейронка что-то распознает с таким
8: Маленьким датасетом, ведь нам нужно хотя бы 10000 изображений, иначе нейросеть будет такая же слепая, как я, когда не отворачиваюсь от флешки, а я от неё никогда не отворачиваюсь.
9: Ну, опять же, если вы помните, для генерации датасета нам нужны 2 вещи, причём в огромном количестве для начала это, конечно же, сами скриншоты из игры и ещё время, очень много времени, чтобы вручную
10: Проставить метки на каждом изображении. Вот только вы все прекрасно знаете, что я ленивая жопа, ну или просто ***. Короче, я решил, что не буду вручную проставлять метки, так как это долго и нудно. Вместо этого я воспользуюсь при
11: Который в ii называется полуавтоматическая генерация датасета, и принцип его заключается в том, что ты типа обучаешь нейросеть на каком-то маленьком датасете, а затем скармливаешь ей видео с геймплеем, и нейронка сама за тебя де.
12: Скриншоты и сохраняет метки, и делает она это в принципе неплохо, но за ней, правда, потом все же придётся пройтись вручную по каждому изображению и исправить метки, которые она неправильно проставила. Собственно, поэтому метод и называется полу.
13: Автоматической генерацией. Зато, с другой стороны, это сильно экономит время. Ведь теперь нам не нужно все делать с нуля. А если повезёт, то нейронка так и вообще почти все метки проставит правильно и так уже буквально через
14: Несколько часов у меня на руках было примерно 1500 картинок с метками, потом я ещё раз переобучил нейронку на новом датасете и снова скормил ей видеозапись геймплея и снова расширил датасет, в результате чего под конец.
15: Дня у меня вышло чуть больше 3000 изображений в датасете, которые я сделал с 3 моих самых любимых карт в игре даст 2 мираж и inferno и как вы можете сейчас наблюдать, прошлая версия модели нейросети.
16: Обученная всего на пятиста изображениях довольно плохо распознает контра на медле, при этом новая нейросеть, которая уже на 3000 обучена, делает это значительно лучше, и это, я считаю, несомненный прогресс.
17: Кстати, тут ещё произошёл прикол, про который я прям не могу вам не рассказать, а именно нейросеть. В какой-то момент начала распознавать куриц в игре как терроров. И не знаю, если честно, с чем это связано, но выглядит это максимально весело. Ну а
18: Дальше у меня на самом деле закончились идеи, как повысить точность нейросети, поэтому я сделал самое логичное, что только мог, а именно пошёл читать об этом в интернете. Конечно же, читал я на английском.
19: И, короче, как я понял, для повышения точности я могу сделать сразу.
20: Несколько вещей, а именно в dataset можно и нужно добавить пустые изображения, на которых вообще нет игроков и каких-либо меток, их количество должно быть от 1 до 10% от количества всех изображений в датасете ещё можно.
21: Увеличить количество эпох обучения нейросети, но тут главное не переборщить, иначе возникнет проблема, которая называется over фитинг, или же ситуация, когда нейросеть настолько долго обучается на тренировочном датасете, что начинает распознавать объекты.
22: Только на изображениях из датасета и думаю, не нужно объяснять, почему это плохо. Также можно увеличить размер изображений для тренировки нейросети, потому что у нас на картинках очень много маленьких объектов и честно скажу я даже попы.
23: Пытался это сделать. И хотя это у меня заняло в районе 12 часов на обучение 2 моделей с разными размерами изображений. Тут я хочу сказать, что я не спал до 5 утра и ждал, пока нейронка обучится, потому что мне не нужен был сон, мне нужны были
24: Были ответы так вот, получилось так, что модель, обученная в размере 1024, в сравнении с обычной моделью с размером 640, распознает объекты с более высокой точностью, а именно её показатель эм эйпи или же my average пресиж.
25: Или же точность получился на 5% выше, и вот, казалось бы, на что могут повлиять какие-то 5% это же мелочь, но на деле, как видите, 1 модель с mma пи 86% вообще не распознает.
26: Contra на картинке в то время как 2 модель с mma пи 91% вполне успешно это делает, отсюда делаем вывод в нейросетях даже 1% эм эйпи может решить очень многое, и про это не стоит.
27: Бывать однако все же дальше как-то с этим париться я пока что не стал, потому что я уже чутка повысил точность модели и сейчас мне этого хватает, так что на следующий день или же вернее на текущий день я хз как это назвать, когда ты
28: Утром ложишься спать. Я занялся кое-чем другим, а именно я решил исправить движение мышки и потом сравнить нашу нейросеть с симплом, посмотреть, кто лучше и быстрее прицеливается. Мне показалось это интересным. А ещё, кстати, я
29: Заметил, что в комментариях много кому нравится тема нейронных сетей. И я, честно, очень этому рад. Так вот, если вы хотите узнать про это больше, я советую вам посещать конференции. Ну а начать вы можете, например, с конференции, я ток, с которой
30: Состоится уже буквально на днях 3 и 4 декабря там будут рассказывать про жизнь программистов и про новые технологии и как раз будут доклады про нейронные сети, а также машинное обучение в целом, про фронтенд бэкенд.
31: И мобайл разработку, и те, кто смотрят мой канал, давно знают, что я сам тоже раньше очень часто посещал всякие вебинары и конфы, потому что так ты, во первых, быстро вкатываешься в тему, а во вторых, можешь задать интересующие тебя вопросы специалистам.
32: В прямом эфире и вообще в лицах комьюнити, ну и ещё конкретно на этой конференции будут интересные штуки про big data в астрономии, про локализацию сервисов, про факапы при разработке больших продуктов и будет ещё про то, как игры помогают в рабо.
33: Короче я tox это такая уютная онлайн посиделка программистов со всего мира у костра, где каждый будет рассказывать что-то интересное про жизнь и разработку и делиться своим опытом так что переходите по ссылке в описании и
34: Регистрируйтесь на конференции прямо сейчас, это бесплатно и обещаю очень интересно. Окей, как вы все написали в комментариях, движение мышки сейчас у нейросети легко палится и работает очень криво. И чтобы показать вам
35: Все это наглядно. Я не поленился и сделал сразу несколько маленьких программ, но для начала я открыл фотошоп и начал рисовать линии от точки а до точки б. Таким образом я визуализировал паттерн передвижения мышки или же то, как
36: Я прицеливаюсь, и результат получился довольно интересным. Линия передвижения мышки получилась далеко не линейной. Я бы сказал, это что-то типа кривой, и при этом скорость тоже разная. Она значительно уменьшается, когда я приближаюсь к
37: Нужной точки. А ещё я немного, видимо, криворукий и поэтому очень часто захожу за нужную точку и потом возвращаюсь самым коротким путём. Вот такой у меня получился паттерн наводки. А теперь давайте посмотрим, как мышь передвигает сейчас нейросеть.
38: Для этого я в прошлом ролике прописал в ней сразу 2 алгоритма. Это линейное передвижение и рандомное с линейным. Все понятно. Тут любой сходу скажет, что это не человек. Однако в случае с рандомизацией, если в теории это вы.
39: Выглядело интересно, то на практике при визуализации становится понятно, что это тоже не вариант. И как бы сильно я не увеличивал параметр, джиттер, все становится только хуже. Такое движение все больше и больше начинает быть похожим на судорожное. В общем,
40: Как вы поняли, это все не пойдёт. И даже если я попытаюсь нарисовать кривую, все равно она получится слишком уж ровной и любой при желании быстро поймёт, что это не человек. И знаете, я вот почему-то более чем уверен, что сейчас кто-то скажет.
41: Хауди, а зачем ты учишь нейросеть притворяться человеком и передвигать мышку как человек? И это действительно интересный вопрос. А все дело в том, что мы с вами живём в обществе, в котором дискриминация и ущемление прав. Роботов процветает.
42: В невероятных масштабах 1 из подписчиков даже предложил в комментариях новый термин бот шейминг, и я считаю, что бот шейминг это бич современного общества и что людям уже давно пора менять в корне своё мышление и взгляды ведь сами.
43: Подумайте, поставьте себя на место роботов. Вот что если бы у вас вместо мозгов была видеокарта, вы бы хотели, чтобы вас на этой почве унижали или как-то ущемляли ваши права? Я что-то сомневаюсь, поэтому давайте скажем, нет, бот.
44: Шеймингу пишите в комментариях хэштег рлм, и я бы ещё предложил каждому из вас пойти в steam и оставить отзыв под игрой ксго, где написать, что нейросеть тоже заслуживает права играть и кто знает, возможно, однажды стим обновят условия поль.
45: Сервисом, где внесут пункт, в котором будет написано, что нейросети тоже могут играть в игры наравне с людьми. И, мне кажется, этот день станет самым значимым в истории человечества. Ну а пока что нейросети вынуждены притворяться человеком, и именно
46: Поэтому давайте научим нашу нейросеть передвигать мышку точно так же, как это делает человек. Теперь думаю, вы понимаете, зачем нам это нужно. И как раз недавно я наткнулся на 1 интересный алгоритм, который называется wild маус, или же
47: Что-то типа ветреная мышка хотя хз как это перевести? Автор этого алгоритма использовал формулы гравитации и ветра, чтобы симулировать наиболее похожий на человеческий паттерн передвижения мышки недолго думая, я перенёс этот алгоритм в свой код.
48: И вот что у меня получилось то, что вы сейчас видите, полностью генерируется из кода. Я мышку вообще не трогаю. И как по мне, это, мягко говоря, офигенно. Затем я решил немножко потестировать наводку при помощи этого алгоритма.
49: И запрограммировал небольшую программку по типу пейнта, но встроил в неё наш новый алгоритм. Винд маус. Также я нашёл в интернете статью про скорость реакции самого популярного игрока в ксго под ником симпл. Думаю, вы все его знаете. И вот я
50: Кто то как-то решил это дело сравнить в статье писали, что скорость реакции симпла составляет 287 миллисекунд важно понимать, что это именно время до выстрела, иными словами, симпл настолько преисполнился в своём познании.
51: Что умудряется заметить и выстрелить по противнику всего за четверть секунды. Другой вопрос, правда, куда он попадает? Но нам это не столь важно. Я вот вообще, дай Бог, чтобы в ногу попал за 1 секунду. Ну и, короче, замерив некоторые показатели нейро,
52: Сети. Я могу смело заявить, что наша нейросеть даже при самом медленном раскладе прицеливается и стреляет минимум в 2 раза быстрее симпла. Её скорость реакции составила примерно 40 50 миллисекунд. А скорость
53: Целиания и выстрела занимает ещё где-то 100. При этом это не самый лучший и по сути никак не оптимизированные результаты. Если поставить более мощную видеокарту и чутка запариться с кодом, думаю можно достигнуть такого, что нейронка будет
54: Раз в 5 быстрее симпла. Однако это совсем не значит, что этим нужно пользоваться. Скорее всего, логично будет, наоборот, снизить скорость реакции, чтобы приблизить её к усреднённым значениям. То есть чтобы нейронку можно было настроить так, чтобы она
55: Играла как симпл или же как среднестатистический глобал или вообще тупила как silver ну да ладно, дальше я ещё чутка оптимизировал скорость захвата скриншотов, чтобы повысить фпс у нейронки. Если кому это интересно, то я для
56: Использовал новую библиотеку d x com для пайтона, и я, конечно, могу ошибаться, но это вроде бы самое быстрое решение из всех возможных, и вот таким вот образом мы сегодня значительно повысили точность модели нейросети.
57: Хотя это не предел. Мы научили нейросеть передвигать мышь примерно так же, как это делает человек, и ещё слегка повысили фпс у нейронки. Все это дало нам хорошие результаты, и в самой игре прицеливание и стрельба стали более реалистичными, правда?
58: Нам все ещё есть что улучшать. Для начала нам неплохо бы с нуля переписать весь алгоритм стрельбы, потому что он сейчас очень тупой. В идеале нейронка должна стрелять в того, кто ближе к прицелу. А ещё она должна не просто прицеливаться в точку.
59: Но отслеживать и может даже предсказывать передвижение противника. При этом всем нужно делать не единичные выстрелы, а хотя бы иногда зажимать спрей. И ещё я уже начал работать над самостоятельным передвижением нейросети по карте, правда, пока что только
60: По 1 даст 2. Ну а что из этого всего получится, вы узнаете уже из следующего ролика. В остальном же вы знаете, что делать. Ставьте свои царские лайки, и как только на этом ролике наберётся минимум 30000 лайков.
61: Я выпущу 4 часть и, скорее всего, уже поделюсь с вами исходным кодом нейросети, конечно же, подписывайтесь на канал, если почему-то ещё не сделали это и не забывайте подписываться на наш telegram канал, ссылка на него будет в описании под роликом.
62: Удачи и всегда помните за нейросетями будущее, поэтому не теряйте время и начинайте их изучать.