Всем привет!
Сегодня мы с вами займемся созданием двух искусственных интеллектов. Один будет заниматься стрельбой по врагам - зомби, а другой ловить главного героя!
Ссылка на курс: bit.ly/3FZhBjF
Для начала, главному герою нужно выжить как можно дольше против зомби. Поэтому, нейросети нужно дать возможность поднимать пистолет и стрелять из него по врагам!
Мы сделаем сразу несколько ситуаций с разным количеством патронов, урона, врагов и картой!
Тайм-коды:
0:00 Вступление
0:19 Принцип работы нейросети
2:53 Нейросеть против двух зомби
4:04 Нейросеть против четверых зомби с комнатой
5:33 Нейросеть снайпер
7:10 Одна нейросеть против 8 зомби
9:39 Итоги видео
Музыка из видео:
Evan King - Portlight( • SYNTHWAVE ♫ Portlight )
Evan King - Metro City ( • SYNTHWAVE ♫ Metro City )
Evan King - Overgrowth ( • SYNTHWAVE ♫ Overgrowth )
Контакты для связи со мной:
Мой вк: vk.com/id152101174
Email для сотрудничества: krashher.delovoi@gmail.com
#ИскусственныйИнтеллект #ИИ #МашинноеОбучение #KrashheR
мне кажется, выживший понял, что при долгом выживании он получает больше очков, чем при моментальном убийстве всех зомби сразу
Смотря ваши видео появился такой вопрос: "А что будет, если обучать нейросеть на рандомно генерируемой карте?"
Думаю КПД от такого обучения не будет потому что сеть постоянно будет пытаться одаптироваться под новую местность и обучение с ведётся к минимуму
@@user-xv8bx6kw7f Да, согласен, что КПД будет ниже, но зато ИИ будет адаптирован к меняющейся ситуации. Также можно добавить уровни обучения по типу: сначала просто передвижение, потом применение каких-то механик, адаптация к миру и прочее.
@@novastarwriter Я и говорю что толку от этой адаптации будет ноль. Так как постоянно будут меняться локации...... Если дапустим всего будет 5-10..... И дапустим рандомно они будут меняться, то в этом случае есть смысл. Если постоянно новые то нет
@@user-xv8bx6kw7f я это к тому веду, что у нейросетей может происходить переобучение, что не очень хорошо, так как она будет адекватно действовать только в той, ситуации на которой её обучали.
В процессе обучения вредно для ии. После уже прогресса можно потихоньку добавлять даже процедурную генерацию карты. Обучение значительно замедлится, но будет умение к адаптации в изменяющейся местности
*3:48** просто зомби решил что ему уже пора стать цилиндром!*
Надо было вставить на задний план "Фристайло" для аутентичности.
0:47 Все ясно, крутлику подрубил...
#FIXCSGO
#СпинТуВин
[VALVE]NiggerKiller moment (TF2)
Мне это напомнило моих врагов в КС, а зомби это мои тимейты...
Hay dream wosimy speedrun!
7:56 - Какое крутое поведение зомбаков, предсказавших, что стрелок хочет добыть оружие, получается зомбаки тоже обучаются)
Ля тришка тоже тут, найс
Да в таких видео обычно обучаются обе стороны, что бы было честнее. (Я гляжу Тришка подсела на познавательные ролики)
О здравствуйте
о тришка я тебя знаю
Добрый день, не ожидал здесь увидеть Тришку)
Попробуй передавать нейросети информацию не только о количестве патронов, но и количестве оставшихся зомби на карте. Еще можно отнимать очки за промахи) Кстати интереснее было бы, чтобы нейросеть сама считала зомби, когда их видит или убивает
Ну, вряд ли ИИ стрелка знает, сколько зомби всего - имхо, это добавлять было бы излишне. А вот остальные предложения очень даже хороши.
возможно дело в том, что при 8 зомби у стрелка были слишком высокие шансы погибнуть в начале, поэтому он променял точность на скорострельность
Мне кажется все проще и стрелок просто никак не учитывал скорость пули. А значит, либо еще не научился, либо у него не было информации о расстоянии до цели.
они постоянно крутятся, чтобы найти все окружающие их предметы, но люди так не делают. Почему? Да потому, что человек не может моментально обработать всю поступающую с глаз информацию и ему нужно некоторое время смотреть на объект, чтобы наконец его заметить. Предлагаю сделать, чтобы игрок или зомби могли заметить друг друга только если они находятся в поле зрения более какого то времени, ну секунды, например. Т.е. если в поле зрения стрелка находится зомби, то он его не сразу видит, а только через секунду нахождения зомби внутри поля зрения, а если тот вышел из поля зрения, то стрелок его соответственно не замечает.
мне кажется что с реакцией в кс у тебя туго всё , человек почти моментально обрабатывает информацию (кроме случаев кода спит, или только проснулся )
@Холин Иван потому что у людей куда больше источников восприятия информации которые ии сложно будет заложить у меня у тебя и вообще у всех есть ещё такие источники как слух обаяние и тактильное очущение ии в данном случае получает только визуальную информацию (и то не полностью его зрение не полноценных 70 градусов , хотя этого достаточно для того что бы увидеть зомби) ии крутится для того что бы полностью получать информацию о каждом зомби и менять траекторию, если бы крашер добавил слух и звуки от зомби ии уже бы не крутился и вёл себя как адекватный персонаж я надеюсь что ответил тебе почему люди не ведут себя как стрелок из видео
@Холин Иванну, во-первых это было бы странно, во-вторых нам это не надо, в третих после поворота в другую сторону, мы можем запомнить место, где стояли объекты в стороне до поворота, а нейросеть так не умеет
@@ibuysticker1880 несмотря на то, что человеку на распознание силуэтов требуется немного времени, все же оно требуется и если бы человеку оно не требовалось то он бы мог осматривать все вокруг себя, мгновенно воспринимая информацию и мог бы даже в той же контре постоянно крутится, чтобы получать больше информации о врагах. Слух наверное тоже является фактором почему человек не всегда вертит башкой (не нужно видеть, когда достаточно слышть), но не основным. Так же можно вспомнить, что человек любит минимизировать усилия, а на кручения требуется достаточно много энергии, но все же это тоже не основная причина. Если бы человек мог воспринимать информацию мгновенно, то он был бы способен конкурировать с машиной в реакции, но, как видим, он не может.
@Холин Иван предсказать поведение нейросети нетрудно она в любом случае добьётся за теже 1,5кк шагов более менее адекватных результатов, он крутится для обновления информации и прощёта траекторий, но я не могу не согласится, что постоянный сбор визуальной информации вокруг себя это было бы плохо, вопрос лишь в трате энергии на те же повороты
Мои союзники в кс:
Зомби пишет в чат:в бан его,он с крутилкой(
KICK CHEATER! ENGINEER GAMING IS HAX
2:53 - пропуск рекламы
8:55 - возможно, стоит добавить ограничение на время для симуляции. Ведь против 1-2 врагов бот может прожить достаточно времени, чтобы по очкам превзойти ту симуляцию, где он убил всех сразу. Или добавить условие, что при окончании патронов, если убиты не все враги, симуляция прекращается сразу, не давая бонусных очков ИИ стрелка. Да и врагов что-то он часто касается, для зомби-апокалипсиса опасно. Может штраф за касание и утерю хп дать? Именно как разные условия, ведь зомби иногда могут не успеть ударить, если спиной повернуты.
Го сделать битву стрелков, типо ковбойской дуэли, с несколькими оружиями (скачала пистолет, где-то на карте винтовка и пистолет пулемёт)
Уже начал разрабатывать такую, кстати)
@@krashher_ai а ты способен устроить дуэль на огнемётах? Ну так, чисто теоритически...
@@krashher_ai вот ещё кстати:битва 2 на 2, где каждого бойца тренируют сначала с манекеном (на скорость убийства манекена), потом друг против друга а после уже заключают в команды, немного тренировки в команде и турнир, ещё можно сделать разные условия тренировки и в конце совместить, типа один с препятствиями,другой с малым количеством патрон, третий с маленьким или большим полем зрения, четвёртый с маленьким урон впринцепе и когда они дерутся друг против друга у них совмещяются особенности (и препятствия и патроны и зрение и урон уменьшается) чтобы каждый был адаптирован к чему-то одному, можно команды комбинировать и посмотреть какая команда будет лучшей
@@ashy2577 Можно ещё низкие укрытия добавить, через которые не все пули пролетать будут. (правда я беспонятия, как это сделать. И так, что бы персонаж одновременно видел препятствие и видел поверх него. Может, добавить вторые лучи где то на уровне пола?)
Даайте вспомним нашу любимую CS 1.6 с боями 6 на 6, с бомбой на карте deDust и deDust2. такое обязательно зайдет всем игрокам в кс.
Нужно было дать ей штраф, если у человека не оставалось патронов, а зомби были всё ещё живы. И коефициент штрафа в зависимости от кол-ва зомби. Думаю, так бы сработало)
Писать до премьеры как смысл жизни
да
ага
я соглашаюсь с вашим мнением
КРЯ (согласен)
Привет, люблю тему ИИ, и ты реализовываешь это в классных идеях и выглядит это круто. Концовка - просто супер, мораль присутствует) Я вижу ты лайкаешь много комментов, можно и мой тоже?)
Спасибо большое)
@@krashher_ai как это мило, и тебе спасибо)
Я могу ошибаться, но разве не надо было давать зомби вознаграждение за укус?
В случае карт с перегородками можно дать зомби способность чувствовать запах - местоположение примерное давать при нахождении гюна определёном расстоянии от цели, возможно с задержкой. Так чтобы зрение всё же было основным, а чуйка второстепенным, когда зрение не помогает. Это может быть ещё и идеей для версии с шумом.
Ещё есть ощущение, что если персонаж не видит цели - то забывает о ней, а потому постоянно крутится, чтобы обновить данные. Ощущение, что просчитывает оптимальные траектории движения, основываясь на предыдущих забегах, а не просчёт тактики текущей ситуации, имея инфлрмацию сейчас и опыт предыдущих. Возможно нужно больше времени или больше связей.
лайк со старта, как всегда отлично)
О, так это Ваше видео однажды мне попалось) как раз хотелось вспомнить чьё оно было
ура, я ждал этого видео!
Krusher, вероятно, что нейросеть бездумно тратит патроны, по тому, что не имеет информации о количестве противников. Она привыкла к 4-м зомби и 6-ти патронам, но затем ей дают 16 патронов, а она думает: "ого, у меня так моного пуль!" Попробуй научить нейросеть определять количество врагов, это может сказаться на эффективности ее стрельбы.
УРА БИЛЛИ ВЕРНУЛСЯ! #биллижив
Круто! Кстати, а ММА нейросетей готовится?)
Такие ролики хоть ничего неидают ' но очень интересные !!!!!😃
надо было сделать 6 патронов+перезарядку,и за эту перезарядку ему будет даваться штраф. он убивал всех зомби,оставлял одного,и фармил очки за выживание.
Мне кажется надо было делать награду за сэкономленные патроны и за скорость убийства зомби , и если патроны кончались он получал бы минус очки и проходил заново , но вопрос в том , возможно он бы не стрелял вообще для выживания , но для этого можно дать ему по минуте на убийство определенного количества зомби
можно добавить еще патроны,которые нужно собирать
Сразу лайкаю, не глядя,знаю что за ролик будет интересный!
Спасибо))
А круто бы было добавить предметы взаимодействия ( оружие, гаджеты, бонусы, транспорт, активация нейросетей помощников), а так же разные способности у них. Я про тех моделей людей, которые боксом занимаются. Вот тогда бы можно было устроить несколько челенджей, а ещё натренеровать их по разному. Как интересно было бы. И ещё делай видео по длиннее - они очень интересны, но короткие. А выходят редко.
Привет спасибо за контент. Желаю удачи
Привет, спасибо большое)
@@krashher_ai пожалуйста
Если будет не трудно, сделай пожалуйста видео о самом коде, где ты создаёшь и настраиваешь нейронную сеть, было бы супер)
А теперь давай битву стрелков один на один/команда на команду с препятствиями, разными оружиями и т.д.
0:47 ну как всегда, дашь боту оружие и он переключиться в режим вертолёта)
Круто!
Спасибо)
Спасибо за годный видос
Всегда пожалуйста))
Клёво. Обучалась нейросеть частями или каждый раз по новой? Может постановка базовых навыков с последующей выработкой тактики даст результат лучше?
Я начинал с самого начала обучение каждый раз. Касательно переобучения думал, но наверняка так выйдет дольше, чем с нуля
я бы сделал стрелку штрафы за промахи и штраф за то когда не остаётся патрон но есть живые зомби так же зомби по их движениям видно что им пофиг надо было давать им очки за хит по игроку а так довольно неплохо, продолжай в том же духе
Был тут вариант по поводу добавления слуха - предложу свою идею. Дать ИИ лучи вокруг, как у зомби, но те, которые не являются зрением, пускай дают куда меньше информации. Например, передние (зрение) дают полностью информацию о том, находятся ли спереди зомби, и о расстоянии до них. А вот остальные (слух) дают информацию только о том, находится ли зомби СЗАДИ (т.е. крутиться бот начнет только как "услышит" зомби), но не о том, в какой стороне или о расстоянии до него. Причем дает лишь спустя какое-то время нахождения напротив луча, например, пару секунд (можно сделать рандомным), ведь зомби нужно время на то, чтобы сделать шумный шаг или прорычать. Это если он будет - возможен вариант, если он "рычит" только, как заметит добычу, т.е. он сам должен увидеть стрелка по той же схеме - со слухом и зрением. Причем так же возможен вариант, что звук выстрела зомби слышат всегда (но не знают, в какой стороне, кроме той инфы, что "не там, куда я смотрю").
Видел такое же у ин-яз ютубера) У тебя тоже хорошо))
Спасибо за контенд
Я думаю, что если ты сделал бы так чтобы за каждый промах у стрелка отнимался бы бал, то его точность была бы гораздо лучше.
Он бы тогда просто не стрелял, а прятался по углам
Чтобы сделать всё более сложнее, то можно добавить «людей», которые зомби могут инфицировать. Наш ИИ получит -1 балл за это. Также можно будет поставить постройки, чтобы заложники могли там прятаться (или ИИ будет их там прятать) и зомби-мутантов, для начала, того кто будет плеваться, -10 HP, и до гиганта, большего размера и отнимающего больше здоровья. Эту идею можно развивать ещё дальше, и даже сделать новую игру за зомби против ИИ, или наоборот!
Жду премьеры
Есть идея: Следать что то подобное, но запретить крутиться как юла. То есть сделать так что бы он обязательно должен был по кругу идти для разворота, а на месте.
Билли вернулся :)
Сделай ещё и ограничение поворота. Например можно поворачиваться на 90 градусов за 2 секунды.
Улучшить точность стрелка можно с правилом на подобие:попал по стене -0,5бала
Я думаю что для ускорения обучения ИИ, его нужно наказывать за промах с пистолета, а также понижать со временем поощрение за выживание (ИИ может думать что выгоднее избегать зомби, чем их убить).
Всë круто! Накажи героя за промах при выстреле 🔫
На твоём месте бы сделал ограничения по скорости поворота, давал бы штраф за резкие прокрутки, также наверное уменьшил чувствительность и скорость.
Нужно еще иногда патроны спаунить)
LET'S DO THIS
А если ИИ Война? Было-бы интересно! Допустим будет пехота, танки, вертолёты, самолёты и т.д. И каждый будет воевать по своему.
Есть такая идея: 1. Ограничить скорость вращения персонажа 2. Штрафовать за промахи
Игра: Выживи если у тебя есть гречка))
Го следующее видео про то как нейросеть учиться носить предметы
Надо было сделать так, чтоб бы прикосновении зомби сразу убивало, вдруг герой потом понял что социальная дистанция лучший способ выживания
Идея для ролика: что если будет две нейросети, одна будет выживать в каких то условиях, а вторая будет генерировать карту для выживания первой так, что бы та не смогла выжить.
Я увидел проблему стрелка в том, что у него нет штрафа за промахи. Просто ограничить ему магазин - недостаточный стимул
666 лайков, хмм, подозрительно! А видео классное!
В мене є ідея для цього 1.Добавить орежее автомат, дробовик,снайперка,і т.д. і аксесуари для них преціл,приклад і т.д. 2.щоб строіть: стіни, двері,защита і т.д. 3 карта ціла з лісом, городом,бункер,воєна база,і т.д. 4.ресурсе для строітельства 3 вида дерево,камінь,желізо аптечка мала,аптечка велика патр різні 5.більше людей 6.
Я ще буду дописувати список цей
Кстати клёвая идея! Плиз зделай обнову!
во-первых, надо было минусовать баллы за то, что он попадал в стены и плюсовать, что попадал в зомби. во-вторых, дать нейронке управлять velocity rotation напрямую, она бы контролировала ситуацию, а не крутилась как сумасшедшая.
Возьми тех боксеров, и научи стоять, бегать, прыгать через ящики, и стрелять по таким же зомби, будет топ.
Мне кажется, что в добавок к ограничению патронов можно было бы добавить и штраф за промах, примерно такой же как и за попадание
Надо было сделать ограниченное количество патронов P.S. Только дошёл до момента с ограничением патронов) P.P.S. Сделай лабиринт с минотавром
А какова скорость пули? Не нужно ли делать упреждение? Если нужно, то знает ли она вектор движение зомби, или только моментальную позицию?
Ты можешь создать свою игру Мне понравилось видео про бокс ;)
Тебе надо было добавить звуки для зомби звук шагов героя. И герою звук ходьбы и вытья зомби. Было бы юольше приблеженно к нашим условиям.
ML-Agents это круто
Скажи, так ты на шарпе делаешь нейросети? Подскажи пожалуйста , какие технологии использовал
Стрелок в начале напоминает трикшутеров)
Есть идея для нейросети. Попробуй сделать такую нейросеть, которая будет состоять из двух одновременно находящихся на одной площадке существ, которые работают сообща. Моя задумка такова: за каждый собранный зелёный квадратик оба существа получают по одному очку. Таким образом, один бот будет заинтересован в том, чтобы другой получил квадратик, но и у него самого будет мотивация собирать кубики. Такая конфигурация очень проста и будет сводиться к тому, что за кубиком будет бежать ближний робот, но моя идея в другом: у роботов будут трудности в виде того, что кубики будут находится высоко над землёй. Причём высота такова, что бот сам допрыгнуть не сможет, а вот забравшись на другого - с лёгкостью. От тебя требуется развить эту идею и сделать код. Продублирую в вк.
смотрю на 5:07 хочу предложить отнимать немного очков за пустую стрельбу (типо патроны) Изменено: вижу, что патроны добавили, я Ванга)
А возможно ли сохранить знания нейросети? Чтобы нейросеть не начинала с начала, а с того, чему оно научилось
Видимо меня услышали 🤣
Надо вычитать очки за промах. Штраф. Приближение к "гибели", страх промахнуться
Клёвый ролик
Спасибо)
Last Day, но с ИИ
Что на счет создать карту dust 2 из ксго, ну, а дальше ты сам понял
Это же очевидно, ты его вознограждаешь,за время жизни, для него победа не убийство всех зомби, а ограничение их количества(за что тоже вознаграждаешь) и жизнь в этих условиях(бесконечное вознаграждение). Похожая ситуация в правилах квидича в Поттере, можно играть вечно и начислять очки своему факультету, не ловя снитч, выгодна не победа, а игра.(инфа из фанфика Гари Поттер и методы рационального мышления)
То чувство когда люди учатся владению оружием годами, а кубик за ночь🗿
Крутое видио но я би добавил город
8:23 Варвар из Диабло
У тебя награда у стрелка только за прожитое время, поэтому он старается уменьшить кол во противников и просто убегать от них, видимо в процессе обучения он дошел до того что, лучше будет заработать больше очков, чем убить всех врагов
Можно было добавить штраф за промахи, а так же убрать бонус за выживание, он просто бы бегал и фармил очки
Билли мог быть метким стрелком, если-бы у него отнимали очки за промах)
Я бы не сказал что 1 против 8 зомби в комнате это более комфортная ситуация))
Как на счёт "ИИ учится уворачиваться от пуль"? 2-4 стрелка с пушками, 1 бот в центре. Стрельба та же. Думаю это может быть интересно, если бдут некоторые преграды, колонны там, стенки.
Интересно, если за каждый промах отнимать очки, как изменится результат? И если делать то же самое с хп, что в итоге получится?
Надо было отнимать очки за промахи)
Я думаю что из за того что игрок получает очки за время, то чем быстрее он убьёт зомби тем меньше очков он получит. Если сделать наоборот и забирать очки за время у игрока, то он будет просто моментально пытаться убить зомби
А почему бы не ограничить скорость поворота наших объектов, и давать минус очки за промахи стрелку? И зомби слегка переделать, сделать им скорость 1.1, когда у стрелка будет 1
Ета да
В идеале для игрока: +0,0001 - за каждую секунду нахождения на поле +1 - за убийство каждого зомби +5 - за убийство всех зомби (чистая карта, победа) -1 - за касание с зомби -0,5 - за промах Для зомби: +2 - за касание игрока +0,01 за каждый сделанные метр +0,5 за каждый промах игрока -1 - за каждого убитого зомби -0,0001 - за каждую секунду нахождения на поле
Вся проблема была в том, что персонаж получал баллы за время жизни. То есть ему выгоднее было не убивать всех врагов, а оставить нескольких и избегать их
попробуй сделать битву разных алгоритмов обучения
А будет когда нибудь обучение созданию нейресетей?
Надо было добавить наказание за промах