Comments 392
Ставлю на OpenAl.Проиграете )
Угу, ребята, небось, уже бодро пропивают с горя кровно заработанные призовые и тут бац, играйте с ботами -.-
даже под медикаментами быстрее 0.07-0.08 не выжать, а ведь там надо не только среагировать и кликнуть, но и мышью двинуть. Так что 200мс это слишком быстро для ботов… надо их еще замедлять.
Скорость поворота на 180 градусов сама по себе около 200мс. Так что 0.07-0.08 не нужно, герой команду выполнить не успеет.
Именно, я имел ввиду что даже сведя скорость реакции глаз-рука до биологического минимума, все остальные операции займут больше времени чем общая скорость реакции бота
Реагировать не надо, надо просто делать последовательность кликов с нужным паттерном. Вы как думаете 16-е ноты в престо играют?
хм) но музыкант знает какой паттерн использовать, а игрок должен его выбрать на основании текущей ситуации, крипы не бегут по одной линии, их порядок не всегда одинаков и прибегают к башне они в разное время.
Мы же рассматриваем тут конкретный хитрый прием? Когда персонаж равномерно, в соответствии с выстрелами товера, вбегает/отбегает. Тут вполне себе конкретный и четкий паттерн, нет?
На самом деле проблема гораздо глубже и объяснять ее тем, кто не знаком с глубокой механикой игры еще сложнее.
Я знаком с механикой игры :)
Так вот боты это делают с тем же временем реакции в 200, тут был мат, миллисекунд.
Не раз делал инстахекс после блинка противника, даже не за 200мс, а за 0. Реакция уровень бог, видимо ;)
А иногда и вовсе инста-глобал сайленсером получается! Не иначе, тахионы в действии, ведь чтобы так сделать — надо нажать сайленс еще до того, как противник блинкнулся.
Наверное, именно по этой причине одно из известных правил — сперва бкб, потом блинк, не наоборот :)
И тут, за 200 миллисекунд до попадания оглушения в противника, на него вешается отражающий щит.
Ну вот возьмем стан свена, у него 0.3 сек анимация, и потом еще прожектайл летит. Уметь в таких случаях среагировать и заэвейдить стан мантой — вобщем-то навык, входящий в инструментарий любого профессионального игрока. Если речь о том, чтобы успеть лотус орб — игрок с такой ответственностью должен с-но следить за ситуацией вокруг своего керри и ожидать подобных вещей. Это его задача.
Но боты это делают всегда, в 100, блин, процентах случаев.
Обсуждаемые боты смоком по герою в шедоу амулете мажут, и кидают по две шрапнели в одно место :)
В общем, ваш тезис, конечно понятен, но длительные анимации большей частью нивелируют описанные вами проблемы. Наиболее сильно они проявляются как раз при том же хексе и других мгновенных кастах — ну как раз потому что они мгновенные. Но такие скилы — вобщем-то исключение.
У ботов нет проблемы «дебил нафиг ты лотус провесил, я ж манту прожал» )))
Ну, у этих есть, т.к. они не вступают в коммуникацию и не предсказывают действия друг друга. С-но в тех играх что были не раз можно было наблюдать "лишние" действия.
разработчики сказали что они из пула героев джагу убрали по причине имбовости, так как боты идеально считали прыжки и разводили урон по нескольким целям идеально подходя в радиус прыжков
Джагернаут же рандомно цель в радиусе выбирает, чтобы получилось "развести ульту" — это надо героев расставить заранее специально и чтобы они не двигались. Так что какая-то фиговая отмазка. Где вы вообще это прочитали?
Я все сильнее начинаю думать что гифка, в которой Лич форсстафит одного врага и прожирает вражеского крипа мидасом, чтобы ульта отскочила в того, кого нужно, была сделана с openai бота.
Очень маловероятно, что текущие боты смогут так делать хоть когда-нибудь. С-но даже просто толкнуть форсой под ульт для ботов данной архитектуры — уже где-то на границе возможного.
Чтобы делать то, о чем вы говорите, надо сетью определять набор таргетов, а потом подбирать исполнение нужного уже перебором по действиям (или, возможно, другой специальной сетью для "микро").
но я так понял что боты считали количество прыжков и скидывали прыгающего юрика на тиммейта, уходя например в инвиз, при этом в радиус прыжков заходил второй толстый игрок, для уменьшения шанса прыжка на третьего.
А, в смысле они от вражеского джаги урон распределяли. Ну вообще не вижу тут ничего особенного, у кого много хп — становится под джагу, у кого мало — отходят :)
Кстати, ульт лича, считай, по той же схеме работает и его можно так же эффективно эвейдить (причем тут боты находятся в более выигрышном положении — т.к. из-за того что ульт летит медленно, можно не только расчитать прыжки, но и успеть подойти/отойти, что в случае джаги из-за скорости может быть просто нереализуемо физически), но лич в пуле.
Ещё вопрос с коммуникацией. Нигде не сказано, что они не общаются, а даже намекают на обратное, но в принципе, даже если этого изначально не предусмотрено, боты вполне могут выработать стратегию — есть манта — не прожимаю орб; да и в принципе создавать более сложные паттерны общения используя доступную игровую механику не является невероятным. Вообще, слабые места ботов разработчики видели и слабо вериться, что они их не пофиксят.
Вы постоянно говорите про архитектуру, но основная проблема в том, что архитектура не статична. Нейросеть — это контейнер, аналоговый вычислитель эмулированный на ПК, если грубо. Какая в него программа заложена определяется обучением. И тут нет никакой магии. Вообще, вспомним AlphaGo: по мере продвижения по турнирной лестнице его возможности росли невероятно, практически полностью устраняя слабые места. Вообще, сама по себе AlphaGo именно что сама придумала огромное число новых паттернов, а в среде го-игроков до сих пор идут разборы матчей с AlphaGo.
По поводу механики игры, тут тоже есть над чем подумать. Неограниченная реакция и потрясающий контроль даёт просто невообразимые тактические возможности. Если человеку приходится полагаться на то, что он видит и свою скорость реакции, то у нейросети таких проблем нет. Если очень грубо, то полноценный запуск всего цикла енва -> обс -> агент -> акт на каждый кадр это тоже самое, что если бы для вас останавливали время 30 раз в секунду. Вообще говоря, это очень сильно.
Да, у нейронных сетей есть проблемы, но Маск, мне кажется, хочет просто продемонстрировать насколько опасен может быть общий ИИ: даже настолько простой, практически на коленке собранный способен демонстрировать практически неоспоримое преимущество перед людьми. Наверняка есть герои, которые будут показывать просто невероятный импакт (зевс, тинкер, шторм — они могут овнить героев противника на раз два, практически закапывая команду противника, а какой-нибудь профет и чен или даже дроу спушить все вышки за 10 минут). Тут дело практически в тотальным контроле своего здоровья, здоровья противника, очень сильной реакции и крайне неожиданные стратегии и тактики. Вообще не могу представить, какую дичь они могут творить с невероятной мобильностью той же фуры или какой-нибудь магины.
Абуз вардов это вершина айсберга. Дота не идеальна, очень далеко не идеальна: вспомните тот же хук нави. В огромном пуле героев найдутся довольно легко крайне неожиданные связки на незапланированных механиках. И не забывайте, что именно этим и занимается нейросеть — это статистика предыдущего опыта. Условно — эффективные и неэффективные стратегии. Эффективные используем, а противника заставляем использовать неэффективные (растрата ресурсов на консумабл — одна из них, брать неметовых героев против которых легко противодействовать к этому же; тысячи их).
Вы статью то читали? Боты вполне себе оперируют всеми таргетами, да чёрт, это ну ничерта не проблема
Вы видимо не поняли. Боты не работают в стиле: "выбираем наиболее полезный таргет (например — убить персонажа Х) -> расчитываем действия для выполнения (окей, нашли последовательность действий — кинуть ульт, толкнуть форсой, съесть крипа мидасом) -> выполняем", вместо этого боты просто принимают на вход некоторое состояние, прогоняют его через нейросеть и получают действие, которое надо совершить (которое, как показывает обучающая выборка, приводило в итоге к росту вознаграждения). По-этому если бот не оказывался в такой ситуации с поеданием крипа и форсой (или какой-то похожей) — то он никогда ее и не повторит. Он просто не догадается, что такие действия могут привести к какому-то профиту, и, с-но, их не сделает.
Ещё вопрос с коммуникацией. Нигде не сказано, что они не общаются
По-моему, разработчики вполне четко говорили, что боты не общаются.
Да, у нейронных сетей есть проблемы, но Маск, мне кажется, хочет просто продемонстрировать насколько опасен может быть общий ИИ: даже настолько простой, практически на коленке собранный
Чего, прошу прощения? Это одна из самых мощных нейросетей, существующих в мире на данный момент (точнее будет сказать, одна из потребивших наибольшее количество флопсо-часов). Какое простой на коленке собранный?
И Маск там, кстати, уже давно не при делах.
Вы, наверное, не понимаете к чему я веду. Блин, оперируя "статистическая машина" можно догадаться, что это обычная нейросеть.
Но. Во-первых, там тем не менее под капотом классическая стейтмашина. В том плане, что нейросеть не придумывает варианты, она выбирает из пула вариантов. Эти варианты довольно низкоуровневые, но тем не менее в нейросеть уже заложены понятия позиционирования и таргетирования. И да, текущее состояние (читай, намерения) также учитывается, иначе не работало бы. Во-вторых, вы видимо не понимаете, что такое 180 лет. Черт, да это за один день! Даже если у нейросети очень слабые возможности по абстрагированию, в ней буквально запихиваются данные о тысячах лет игры в доту 2. Хоть кто-нибудь может хотя бы чем-то похожим похвастаться? В-третьих, Маск это, конечно тот человек, про которого говорят 25 часов в сутках, но даже 25 часов это мало, конечно он не участвует настолько интенсивно, все время сжирает тесла и спейсИкс, но тем не менее, он это начинал с определенной целью, он все еще выделяет огромные деньги, так что вряд ли он совсем в неведении. Да и взгляды Маска заразительны. И, в довесок, на коленке в том смысле, что никакой матан не избретался. Условно взяли доту, взяли апи, ограничили игру, чтобы нейросеть была адекватная и залили пожары деньгами. Такой способ пожаротушения не предполагает концептуального развития технологий, а максимум — лишь демонстрирует масштабируемость решения. Не считаю запихивание подмножества доты в огромнейшую нейросеть рокетсайнсом, что, впрочем, нисколько не умаляет значимости.
Эти варианты довольно низкоуровневые, но тем не менее в нейросеть уже заложены понятия позиционирования и таргетирования.
Вы что понимаете под "позиционированием и таргетированием" сейчас?
Даже если у нейросети очень слабые возможности по абстрагированию, в ней буквально запихиваются данные о тысячах лет игры в доту 2.
Это ничуть не отменяет того, что редкие, специфические ситуации (вроде толкания форсой с мидасом под ульт) могут не встретиться вменяемое число из а миллион лет.
И, в довесок, на коленке в том смысле, что никакой матан не избретался. Условно взяли доту, взяли апи, ограничили игру, чтобы нейросеть была адекватная и залили пожары деньгами.
Вы вообще осознаете, что, вполне возможно, в мире не существует другой команды разработчиков, которая обладает достаточными знаниями и специфичным опытом, чтобы повторить ваше "на коленке"?
Если бы вы пытались завалить деньгами, мощностями и т.д. — я вам гарантирую, нихрена бы не вышло у вас.
Я понимаю команды вроде "держись этого этой секции" или "убей этого крипа". Это несколько абстрактнее, чем "иди в эту точку" или "ударь этот таргет". Разъяснять что такое абстракции не надо?
Вы все еще не понимаете масштабы. С моим опытом в 5к часов таких ситуаций было… Не прямо таких, но вообще любых микромоментов было очень много. Да блин, зайдите на дотавтф, там ситуации сплошь и рядом из "ват жаст ай син?", их не просто много, но ооооочень много. Сама по себе дота с её не всегда очевидными механиками это позволяет. А микромоменты очень быстро тренируются за счет того, что они дают много из ничего: не обязательно мидас держать, хотя и вполне может быть, что под него на откате таргета не будет, но есть еще много скилов и предметов, способные ластхитнуть крипа. Да и блинский, я же в принципе не про условного лича с мидасом, а про тысячи возможных абузов, многие из которых наверняка найдут боты. Мгновенная реакция может раскрыть и те, которые или невозможно нами воспроизвести, или ооочень сложно.
Я понимаю команды вроде "держись этого этой секции" или "убей этого крипа". Это несколько абстрактнее, чем "иди в эту точку" или "ударь этот таргет". Разъяснять что такое абстракции не надо?
Нету там таких команд. Есть "атака цели Х" (в смысле команда персонажу атаковать, не какая-то абстрактная "атакую!"), "мув в точку Х", "юз предмета Х по цели Y", "юз абилки Х по цели Y". Еще "ничего не делать" есть.
Вы все еще не понимаете масштабы. С моим опытом в 5к часов таких ситуаций было… Не прямо таких, но вообще любых микромоментов было очень много.
Вот именно что каких-то микромоментов было много, но бот от этого не научится. Чтобы научиться — ему надо, чтобы похожих микромоментов было достаточно много для того, чтобы бот из случайных примитивных действий (которые перечислены выше) выбрал последовательность нужных и убедился, что за последовательность дает значимый ревард, что поднимет в итоге вес конкретных действий. При этом он влегкую может улететь в локальный минимум.
А микромоменты очень быстро тренируются за счет того, что они дают много из ничего: не обязательно мидас держать, хотя и вполне может быть, что под него на откате таргета не будет, но есть еще много скилов и предметов, способные ластхитнуть крипа
Так вот, для бота они не взаимозаменяемы. Если у бота есть две одинаково действующие абилки, которые ластхитят крипа, но при этом они у него обозначены как разные действия, то бот если научится пользоваться одной — то это ничего ему не даст в плане использования другой. Он никак не догадается, например, проюзать в такой ситуации вторую абилку, если первая будет в кд. До тех пор, пока случайно не попробует это сделать и не получит ревард.
Нету там таких команд
Откуда вы знаете, что там есть и чего нет? Исходники видели, что ли?
Он никак не догадается, например, проюзать в такой ситуации вторую абилку, если первая будет в кд.
В статье сказано, что 80% ботов находятся в режиме обучения. В этом режиме они производят действия, которые выбираются (в первом приближении) случайно, и затем происходит оценка эффекта такого рандомного действия. Полезные действия закрепляются и используются в дальнейшем. Таким образом, при симуляции 180 лет игры в сутки, случайным перебором действий бот не только научится юзать вторую абилку, но и найдёт возможные их сочетания, дающие профит.
Откуда вы знаете, что там есть и чего нет? Исходники видели, что ли?
В статье описано, какую информацию получает бот на вход и какие варианты команд может исполнять. В частности, там, например, текущая анимация дается и время долета прожектайла (оО)
А среди команд — вариации с задержками в n фреймов, то есть бот может решить вместо "сделать действие Х вот прям щас" — "сделать действие Х через 2 фрейма".
В статье сказано, что 80% ботов находятся в режиме обучшения. В этом режиме они производят действия, которые выбираются (в первом приближении) случайно, и затем происходит оценка эффекта такого рандомного действия.
Вам только надо, чтобы сформировалась ситуация, похожая на обсуждаемую, чтобы бот узнал, что в этой ситуации прожимать такие действия — полезно. А если ситуация редкая — то она может и за тысячу лет игры не произойти больше пары раз.
Верно, поэтому на месте разработчиков я бы отпарсил все случаи
Да не парсится никаких случаев. Сеть просто играет сама с собой и конец истории.
Они разве говорят, что задача — сделать "чистый эксперимент"? Задача — выиграть. Нейросети — это самый простой известный способ, который вообще позволит эту задачу решить (наверное). Мне навскидку кажется, что "парсинг редко используемых действий" — тупиковая ветвь (потому что ревард так и так покажет, что действие хорошее), но если они посчитают, что это выгодно — наверняка сделают.
Пространство возможностей не позволяет достигнуть результата случайным перебором. Фишка не просто в случайном действии, а ещё и в окружении. Я не думаю, что там случайный выбор действий.
Пространство возможностей не позволяет достигнуть результата случайным перебором.
У них же stohastic policy, то есть сеть выдает на самом деле не действие, а вероятностное распределение на возможных действиях. Потом на конкретном семпле сеть делает конкретное действие (бросая кубик и выбирая в соответствии с указанной вероятностью) и потом апдейтит веса в соответствии с ревардом за это действия так, что вероятность действия увеличивается в том случае, если оно дает больше реварда, с дополнительным рандомом для того чтобы не попасть в локальный оптимум.
В изначальном приближении, полагаю, распределение действий равномерное, то есть чисто случайно выбирается, что делать.
Согласен. На самой первой итерации — наверняка равномерное.
Но к тому моменту, когда бот смог добраться до вышки — уже нет. Т.е. если он хоть немного обучился, выбор действий всё же отличается от полного перебора. Нельзя сказать, что бот попробует все действия во всех ситуациях.
Так вот, для бота они не взаимозаменяемы. Если у бота есть две одинаково действующие абилки, которые ластхитят крипа, но при этом они у него обозначены как разные действия, то бот если научится пользоваться одной — то это ничего ему не даст в плане использования другой.
Насколько я знаю принципы нейросети у бота будет не "вариант 1 — 1я абилка, вариант 2 — 2я абилка", у него скорее всего есть параметры и их больше одного для каждой абилки и что использовать выбирается по ним. То есть если абилка наносит урон — значит бот может ее использовать для того чтобы нанести урон даже если в конкретно этой ситуации и конкретно для этой цели он такого никогда не делал. Не нужно прогонять все возможные сочетания, да и нереально это, как вы и сами говорите. Достаточно определить набор параметров для различных вещей/абстракций и сила бота будет именно в том, насколько сложные абстракции он может образовать.
Не считаю запихивание подмножества доты в огромнейшую нейросеть рокетсайнсом
Это так не работало даже на шахматах, не говоря уж о го. И это точно не будет так работать с дотой — слишком большое пространство вариантов. Никакие тысячи лет не помогут, из-за тумана войны. Он
Нейросеть именно что вычленяет варианты и стоит высокоуровневые признаки. Это не то же самое, что просто запомнить все варианты — это абсолютно точно невозможно.
Вы постоянно говорите про архитектуру, но основная проблема в том, что архитектура не статична. Нейросеть — это контейнер, аналоговый вычислитель эмулированный на ПК, если грубо.
Вообще-то она как раз статична. Не статичны веса.
Если очень грубо, то полноценный запуск всего цикла енва -> обс -> агент -> акт на каждый кадр это тоже самое, что если бы для вас останавливали время 30 раз в секунду.
Останавливали время 30 раз в секунду… на одну тридцатую секунды. Не забывайте, что ботам надо успеть отреагировать.
даже настолько простой, практически на коленке собранный способен демонстрировать практически неоспоримое преимущество перед людьми
Надеюсь, вы осознаёте, что это не «простой, на коленке собранный ИИ», а state-of-the-art в современном machine learning?
они не вступают в коммуникацию и не предсказывают действия друг друга
Вы в этом уверены? Я так полагаю, что все боты находятся под управлением одного инстанса, соответсвенно, все пять ботов в одной игре обладают общей «памятью», глобальной целью и стратегией, то есть вся коммуникация скрыта за единым общим процессом, управляющим всеми ботами одновременно. В частности, любой бот «в курсе» точного кулдауна всех перков любого другого бота и управляющий ими процесс использует сведения о доступности перков, как будто боты постоянно, автоматически, «докладывают» друг другу о применении перков даже когда они не видны тимейтам, и все боты скрупулёзно отсчитывают кулдауны тиммейтов.
Таким образом, помимо стабильной высокой реации, боты имеют преимущество в мгновенной коммуникации за счёт одного общего процесса, обладающего сведениями обо всех управляемых им ботами.
Вы в этом уверены? Я так полагаю, что все боты находятся под управлением одного инстанса, соответсвенно, все пять ботов в одной игре обладают общей «памятью», глобальной целью и стратегией, то есть вся коммуникация скрыта за единым общим процессом, управляющим всеми ботами одновременно.
Это логичный метод, но так решили почему-то не делать. Не знаю, почему. Возможно, чтобы получить 5в5 бота инкрементально из 1в1 бота, в предлагаемой схеме так бы не получилось.
В частности, любой бот «в курсе» точного кулдауна всех перков любого другого бота и управляющий ими процесс использует сведения о доступности перков
У любого бота есть полный доступ к стейту своих мейтов. То есть так же как игрок видит хп, положение и т.д., так и бот видит. Это просто часть информации, которая идет на вход сети. Но сеть у каждого отдельная и принимает решения независимо.
Кстати, на счет кд, в статье не указано, что они вообще трекаются. Для союзников все же, думаю, трекаются, а вот для врагов, походу, нет. В информацию предоставляемую апи доты это не входит, с-но нужен какой-то отдельный алгоритм трекинга, но он не описан. Так что скорее всего фактор кд противника вообще игнорируется, как не входящий в стейт.
Но сеть у каждого отдельная и принимает решения независимо.
Вот это утверждение требует документального подтверждения. Я таки считаю иначе, потому что если бы это были действительно независимые сети, то в названии не было бы слова Five и не было бы ограничения 5х5, то есть матчи были бы и 8х8, ну, вплоть до максимума на карту. Но мы видим везде только формулу 5х5, что намекает на конструктивную особенность единого управляющего элемента для всей команды в 5 ботов.
Вот это утверждение требует документального подтверждения.
Using a separate LSTM for each hero and no human data, it learns recognizable strategies.
~180 years per day (~900 years per day counting each hero separately)
Достаточно просто открыть блогпосты OpenAI.
API нужен для того, чтобы полученные данные прогонять через однослойную LSTM-сеть из 1024 блоков и получать, как итог, краткосрочные решения, которые согласуются с долгосрочными стратегиями, которыми располагает нейросеть.
Это я так интерпретирую текст статьи:
Это вы неправильно интерпретируете текст статьи.
Даже тут я не понимаю, как можно было сделать те выводы, которые вы сделали. А уж в оригинальных постах такого тем более не найти.
Каждый герой управляется одним отдельным инстансом сети.
Окей, это более-менее честно для людей.
Coordination
OpenAI Five does not contain an explicit communication channel between the heroes’ neural networks. Teamwork is controlled by a hyperparameter we dubbed “team spirit”. Team spirit ranges from 0 to 1, putting a weight on how much each of OpenAI Five’s heroes should care about its individual reward function versus the average of the team’s reward functions. We anneal its value from 0 to 1 over training.
https://blog.openai.com/openai-five/
там кстати классные картинки на счет того что бот получает на вход и что возвращает
то есть матчи были бы и 8х8, ну, вплоть до максимума на карту
Я вижу, вы в доту не играете :)
Дота — это только 5в5. Как баскетбол :)
Можно, конечно, играть в баскетбол и не 5в5, так и в доту — есть соло для тренировки, есть какие-то фановые режимы. Но это как бы будет не дота :)
Я вижу, вы в доту не играете :)
Играл ещё когда она была модом к варкрафту 3 :)
OpenAI Five does not contain an explicit communication channel between the heroes’ neural networks.
Тогда у людей есть шанс коммуникацией компенсировать стабильность реакции ботов.
Играл ещё когда она была модом к варкрафту 3 :)
И как там было с 8х8 в 5.84b? ;)
Тогда у людей есть шанс коммуникацией компенсировать стабильность реакции ботов.
Один бот имеет практически всю ту же самую инфу, что имеют другие боты. В этом плане с коммуникацией не проблема. Проблема тут в том, что один бот не знает что сделает другой, с-но не может планировать… но! Штука в том что бот не знает и то, что он сам сделает, с-но он и свои действия не может планировать :D
Что, вобщем-то, не мешает.
матчи были бы и 8х8, ну, вплоть до максимума на карту
Играл ещё когда она была модом к варкрафту 3 :)
Насколько я помню, в варкрафте 3 было максимум 12 игроков до недавнего патча, и в доте использовались все: 10 слотов для игроков и 2 для Sentinel и Scourge.
Такой бот сможет дополнять команды играя вместе с людьми. Да и просто играть против людей в режиме PvB
Потому что бота, который может управлять конкретным одним игроком, и взаимодействовать с другими игроками при помощи коммуникации, можно затем коммерчески продать той же valve.
Поверьте, та игра, которую показывает этот бот — это ни то, что люди хотят смотреть, ни то, против чего они хотят играть :)
Так что коммерческая польза сомнительна будет.
Робот же не может навредить человеку
Это только по Азимову. Джеймс Кэмерон немного другого мнения. ;)
Помню, например, рассказ где роботу приказали достать важные элементы без которых база на Меркурии(?) загнется. Но роботу не объяснили важность миссии. А ему оказалось «стремно». И он как то не торопился добывать элементы. Не поймали б робота — загнулась бы база вместе с людьми:)
Мне очень интересно следить за противостоянием белковых и кремниевых, и я бы с радостью посмотрел трансляцию…
Но не буду.
Уже пытался смотреть стримы, но всё равно ничего не понятно. Что произошло? Кто выиграл боестолкновение? Кто побеждает? Куда смотреть? А комментаторы только усиливают хаос, говоря на каком-то своем языке. С выражениями типа тех, что в комментариях выше
лион в стане от фиссуры
скомпенсировать траты на варды и плевать что он не в мете
Кто-нибудь знает, где можно будет посмотреть игру так, чтобы было понятно простым смертным?
В общем, увы, нет, если основы не знаете, смотреть трансляцию довольно специфичного события (т.е. массово никто заморачиваться с адаптацией под новичков не станет) смысла нет, скорее всего.
Это не столько «зачем заморачиваться ради чёртовых казуалов», сколько «зачем объяснять это им, если 90% не интересно, а кому надо — сами придут».
И будут комментаторы быстрые схватки на замедленных повторах анализировать, пока игроки отдыхают.
А после матчей комментаторы (а чаще выделенная студия аналитики уже, а не комментаторы) уже давно анализируют матчи, подмечая на повторах наиболее интересные, яркие или ключевые моменты, да. Это замечательно.
Турниры турнирам рознь.
На набережной в Ялте одно время (возможно, и сейчас) летными жаркими вечерами собиралась тусовка шахматистов из местного клуба. Ниже 1го разряда у них никого не было. Ну чемпионов мира — тоже. Играли они преимущественно друг с другом, но иногда их можно было уговорить и на игру с прохожим.
Играли блицы. 5 минут на партию каждому игроку.
По началу действительно ничего не понятно. Не успеваешь.
Но некоторое время насмотревшись уже получалось найти ходы лучше чем игроки сыграли и увидеть где кто чего зевнул. И это в «онлайне».
Сам я даже до 3го в лучшие свои времена не дотягивал.
Просто у доты относительно других игр большой порог входа, я вообще удивляюсь как у неё новые игроки появляются.
На инсте гейта минусовый хуррик, в бубле, в агре.
Похожие фразы можно найти и про wow, и про diablo2, starcraft, да вообще про что угодно.
Если включить радиотрансляцию с матча по футболу человеку, незнакомому с этой игрой (да, такого сложно найти), то он тоже мало что поймет.
Просто скажем так, мне сложно представить обстоятельства, в которых кто-то стал бы транслировать EVE Online, ещё и с какими-то жёсткими рамками по времени, потому мобы с их соревновательной составляющей, которую как-то монетизируют и делают публичным развлечением, были более ярким примером. Да и в данном случае речь о Доте шла.
«2дд лфг цлк25 гс5.4 трини есть»
2. Не объясните, а покажите, куда смотреть;
3. Думаю, я бы смог.
Вот смотри: нужно, чтобы если вот эту фигульку пропустить вот через это преобразование, получилось бы то же самое, что и вот тут.
Вот, пропускаем, складываем — сходится!
А на С не смотри, оно не важно.
А когда вы смотрите профессиональный матч, никто не станет «играть попроще», чтоб зритель-новичок понял. Люди деньги зарабатывают, наоборот, чем хитрее и тоньше, тем зачастую и лучше.
Простите, а когда король в шахматах ходит через фигуры?
www.twitch.tv/dota2ti_newcomer
Стоит отметить, что трансляция только на английском языке.
Я долгое время смотрел стримы по Гвинту и таки да. Для непосвященного карточки меняются очень быстро, прочитать текст нереально, а уж комментарии целиком сленговые…
С Гвинтом попроще, хотя я его тоже забросил. Там банально меньше новых карт
От них требуют чтобы игра приносила больше денег.
А «интересность» она даже не в первой тройке приоритетов.
Возможно, есть и русский стрим новичковый, но я не слышал.
Стан — название эффекта под которое он попал
фиссура — название способности которая накинула этот эффект.
Куда проще? Это даже не сокращение или какие-то мудренные термины, а просто названия которые можно увидеть сыграв разок другой.
Кто-нибудь знает, где можно будет посмотреть игру так, чтобы было понятно простым смертным?
Да нафиг это нам не нужно. Понимаете ли, с тех пор как дота стала отдельной игрой, при взгляде на неё, единственно что я вижу — сплошное мельтещение графических эффектов, поглощающее происходящее. Я просто не увижу то, что происходит, даже если мне это будут объяснять на понятном мне уровне.
Просто УИ действительно перегружено, и тут ничего не сделаешь, механика такая. Я после первой доты тоже долго привыкал.
После анимаций первого варкрафта было очень тяжело: деревья сливаются друг с другом, ауры нужно прокликивать, многие анимации намного менее контрастные,… Нужно поиграть 20-30 игр чтобы привыкнуть, а после сотни игр начинаешь вычленять исключительно полезную информацию.
Уже пытался смотреть стримы, но всё равно ничего не понятно. Что произошло? Кто выиграл боестолкновение? Кто побеждает? Куда смотреть? А комментаторы только усиливают хаос, говоря на каком-то своем языке. С выражениями типа тех, что в комментариях выше
Форвард ударяет велосипедом, от чего мяч перелетает бетон и голкипер пропускает хет-трик.
Как вы думаете, ваша жена или любой другой человек незнакомый с футболом многое понял из этой фразы?
Сленг — норма любой специфической сферы деятельности. Для его разжевывания нужно быть погруженным, например играть в футбол, или в данном случае в доту.
Команды, которые остались думают сделают тоже самое. А если убрать ограничение по персонажам, то там вообще пока что у бота мало шансов
Вообще говоря, если бы они до этого не видели матч с ботами, то, вполне себе, проиграли бы. Потому что то как они играли с ботами — это сейчас не в мете. А если бы играли метово — маловероятно, что успели бы подстроиться под ботов.
Это наше эволюционное преимущество. Нефиг:)
Типа давайте запретим кожаным игрокам учиться на чужих ошибкахиграх?
При чем тут обучение на чужих ошибках? Есть определенные правила проведения спортивных состязаний. Когда Каспаров проиграл DeepBlue то ему никто не предлагал сыграть еще n игр с целью поискать абузы и потом уже сыграть игру по-настоящему. Нет, он проиграл матч, и на этом машина победила человека в шахматы.
Если бы тот АИ, о котором речь, участвовал в конкретном состязании под видом людей, то люди бы у него смогли выиграть? Не смогли бы, т.к. никто бы не дал им в рамках этого состязания сидеть и 6 часов алгоритм вскрывать. Вы в принципе не сможете это сделать против реального игрока. Он просто пошлет вас и не станет с вами играть :)
Вообще то могу. Достаточно посмотреть на ютубчике как он играл с другими противниками ранее ;-)
Я вообще думал, этот тот же тред, что про quake и ответил не совсем про то :)
Посмотреть-то в ютубчике вы можете, но это не даст вам больших знаний, чем в случае игры с обычным игроком.
Здесь, кстати, еще интересный момент — так же как люди не готовы к игре с ботом так и бот не готов к игре с людьми. То поведение, которое он выучил оптимальным в игре сам с собой, не всегда будет оптимальным в игре против людей.
Конкретный пример: вот в игре с PaiN вихо на аксе не упевал после блинка прожимать колл, т.к. бот всегда успевал отпрыгивать своим блинком. С-но, что выучит бот в игре с самим с собой? нет смысла пытаться поймать героя с блинком при помощи колла акса. И не будет это пытаться сделать в игре с людьми. Хотя люди прекрасно ловятся :)
Потому что положительное закрепление было именно на «отпрыгивание».
А отрицательного закрепления на «попытку блинка» — не было. Значит не должно быть забраковано.
Вот когда команда ботов победит 5 на 5, тогда поговорим.
=== Вы находитесь здесь ===
Вот когда команда ботов победит про-игроков 5 на 5, тогда поговорим.
Вот когда команда ботов победит про-игроков 5 на 5 без ограничений, тогда поговорим.
Вот когда команда ботов победит про-игроков 5 на 5 без ограничений и без использования API для ботов, только анализируя аудиовизуальный поток, тогда поговорим.
При этом я мало сомневаюсь, что рано или поздно они научатся людей и в «полноценную» доту рвать, но пока не думаю, что скоро.
Думаю что боты в доте и Лоле уже давно играют.
Обученные сколько-то «честным» ML, и, как следствие, потенциально превосходящие человека не только реакцией, но и пониманием — точно нет.
Совсем недавно была статья на хабре посвященная данной теме.
habr.com/post/420197
Пример банальной цепочки вещей, которые человеку приходят с опытом, и формируют маленький кусочек «понимания игры»:
— Мы хотим обладать максимумом информации о действиях и состоянии соперника
— Соответственно, мы хотим организовывать максимальный обзор на карте (ставить варды, например; различия в важности наличия вижена в разных участках карты в принципе и в разных игровых ситуациях оставим за кадром, это немного следующий уровень рассуждений)
— Когда мы имеем условно достаточный уровень обзора, мы можем делать выводы, как видя противника (можно наблюдать, какие действия на карте он производит, и строить прогнозы развития событий, и предпринимать решения — стоит ли пытаться его сейчас убить, например, или его можно условно игнорировать), так и не видя его (если мы видим большУю часть карты, и не видим противника, вполне вероятно, что он осознанно скрылся, и, возможно, предпринимает агрессивные действия, которых надо или избегать, или встретить готовыми всей командой, или предпринять ответную агрессию).
И так вот понемногу, по кирпичикам.
Народ вы читайте сначала весь текст статьи. Играют именно на видеопотока распознавая картинку.
Вот когда команда ботов победит 5 на 5, тогда поговорим.
Боты на 5*5, причем без ограничений на весь пул героев в доте есть уже давным-давно, с разморозкой вас ;)
Вопрос именно в том, насколько они хорошо играют.
128 тысяч процессорных ядер Google Cloud.
256 GPU P100 NVIDIA
Какой-то дичайший перевес в сторону CPU. Они что, нейронку в основном на CPU тренируют?
Сильно ли отличается уровень, например, среднего музыканта, который тренировался 10 лет от того, кто тренировался 20? С какого уровня человек достигает предела, выше которого не растет.
Для нейросетей это так же верно. Любая архитектура имеет плато — там хоть сто лет, хоть сто тысяч, а качество расти перестает. Вот и ищут архитектуру, которая с одной стороны хорошо обучается, а с другой — имеет очень высокое плато.
Топ игроки Го с вами не согласны, причем в корне, чем сложнее среда, тем больше ИИ доминирует над людьми
У топ игроков го странное мнение, которое опровергается наблюдаемыми фактами.
Мне кажется, топ-игроки го имели ввиду что-то другое, не то, что вы сейчас говорите.
Можно пару фамилий? Или вы от их имени говорите?
Конечно ИИ будет переигрывать в доте. Но у конкретной архитектуры есть плато. И её можно хоть сто настоящих лет учить — плато останется. Если плато выше, чем навык людей — будет обыгрывать (если доучить до этого плато). Если плато ниже — будет проигрывать.
Конечно всегда можно взять более крупную архитектуру. У неё плато наверняка будет выше. Просто учить сложнее. Иногда настолько сложнее, что вообще не ясно — как.
Если интересно — посмотрите "график обучения нейронной сети", на них хорошо видно, что сеть постепенно идёт к определенному уровню.
> Роботы-убийцы
> Мы все умрем
Вы точно в правильном месте решили начать писать про конец света и восстание машин?
xkcd.com/1968

По информации от разработчиков, все партии происходят с отрисовкой событий на карте с частотой в 30 FPS. Нейросеть OpenAI постоянно анализирует каждый кадр через LSTM, на основе результата которого принимает дальнейшие решения.
В этом контексте очень интересно, что будет, если скин карты внезапно сменить :)
Кроме того, похоже, можно делать какие-то абузы на стаке анимаций.
Таки исходя из оригинала боты видят не экранное изображение, а информацию о происходящем в чистом виде, в частности, например:
For example, until recently OpenAI Five’s observations did not include shrapnel zones (areas where projectiles rain down on enemies), which humans see on screen. However, we observed OpenAI Five learning to walk out of (though not avoid entering) active shrapnel zones, since it could see its health decreasing.
еще немаловажная вещь:
We hardcode item and skill builds (originally written for our scripted baseline), and choose which of the builds to use at random. Courier management is also imported from the scripted baseline.
разводка на лайны тоже осуществляется насильно:
At the beginning of each training game, we randomly “assign” each hero to some subset of lanes and penalize it for straying from those lanes until a randomly-chosen time in the game.
так что боты совсем не учатся "сами по себе".
разводка на лайны тоже осуществляется насильно:
we randomly “assign” each hero to some subset of lanes and penalize it for straying from those lanes
Как бы это не скриптинг. Просто они включили лайнапы в cost function обучения.
Как бы это не скриптинг. Просто они включили лайнапы в cost function обучения.
Так и сборки — тоже не скриптинг, это просто способ показать сети, что "так можно", чтобы она вслепую не тыкалась миллион лет, подбирая осмысленные варианты наугад.
Речь просто о том что, получается, боты не на 100% сами все узнают, а получают некоторую внешнюю информацию о том, как играть
"можно собрать такой-то билд по итемам", "можно качать скиллы в таком-то порядке", "можно играть вот такой вот стратегией с расстановкой по лайнам".
Что, вобщем-то, нарушает чистоту эксперимента.
Так и сборки — тоже не скриптинг, это просто способ показать сети, что «так можно», чтобы она вслепую не тыкалась миллион лет, подбирая осмысленные варианты наугад.
Сборки — это скриптинг. Читайте внимательнее — ботам даётся несколько айтембилдов / скиллбилдов, и они выбирают случайный. ML никаким образом в этом не участвует.
С лайнапами ситуация другая — ботам дают выбранные лайны и включают это в функцию потерь таким образом, чтобы боты меняли линии только тогда, когда это реально выгодно.
Речь просто о том что, получается, боты не на 100% сами все узнают, а получают некоторую внешнюю информацию о том, как играть
«можно собрать такой-то билд по итемам», «можно качать скиллы в таком-то порядке», «можно играть вот такой вот стратегией с расстановкой по лайнам».
Что, вобщем-то, нарушает чистоту эксперимента.
Чем это нарушает чистоту эксперимента? Machine learning — это не про blackbox. Вносить знания о домене в модель — это нормально.
Смотря какая задача у разработчиков. У DeepMind задача на играх научиться чему-то чтобы решить новую область задач с помощью AI. OpenAI похоже главное выиграть пусть с помощью скриптов и готовых алгоритмов.
Чем это нарушает чистоту эксперимента? Machine learning — это не про blackbox. Вносить знания о домене в модель — это нормально.
Я полагал что поставленной задачей было продемонстрировать эффективность сетей определенного типа на определенных задачах. Если в сеть вносятся какие-то априорные знания о задаче, то это уже ничего не демонстрирует. Сейчас непонятно — если бы так не сделали, то сеть бы ничему не научилась и играть бы не смогла? или это оказало не существенное влияние? Непонятно.
Сборки — это скриптинг. Читайте внимательнее — ботам даётся несколько айтембилдов / скиллбилдов, и они выбирают случайный.
Это делается для эксплоринга, при тренировке, чтобы боты смогли научиться играть с конкретными осмысленными билдами, а не перебирали их рандомно. Непосредственно в игре, естественно, никаких предопределенных билдов нет.
С лайнапами ситуация другая — ботам дают выбранные лайны и включают это в функцию потерь таким образом, чтобы боты меняли линии только тогда, когда это реально выгодно.
Опять же — это тоже делается только в тренировочных играх, чтобы боты больше наиграли с адекватными расстановками по лайнам и потом повторяли это "закрепленное поведение" уже сами.
Если в сеть вносятся какие-то априорные знания о задаче, то это уже ничего не демонстрирует.
Кхм, как бы feature engineering никто не отменял даже для нейросетей.
Это делается для эксплоринга, при тренировке, чтобы боты смогли научиться играть с конкретными осмысленными билдами, а не перебирали их рандомно. Непосредственно в игре, естественно, никаких предопределенных билдов нет.
Пруфы? В блоге написано про рандомный выбор среди заскриптованных билдов. То же самое озвучивал на стриме разработчик из OpenAI и говорил, что это одна из вещей, от которых они хотят избавиться в ближайшее время.
Опять же — это тоже делается только в тренировочных играх, чтобы боты больше наиграли с адекватными расстановками по лайнам и потом повторяли это «закрепленное поведение» уже сами.
Эээ, ну да, во время игры никаких cost function уже нет. Вернитесь к исходному аргументу: вы говорили, что лайнапы захардкожены, и боты по линиям разводятся насильно. Я же просто сказал вам, что это не так, и лейнинг является trainable параметром. Другое дело, что в него вносятся некие priors в виде того, что изначально боты распределяются по линиям, а потом уже решают, надо ли менять это.
Пруфы?
Это написано в разделе про эксплоринг. Нет никакого повода полагать, что это происходит как-то иначе. Но окей, быть может, я понял неверно.
Вернитесь к исходному аргументу: вы говорили, что лайнапы захардкожены, и боты по линиям разводятся насильно. Я же просто сказал вам, что это не так, и лейнинг является trainable параметром.
Я и не говорил что он захардкожен, я говорил о том, что ботам "помогли" выучить некоторое наперед заданное поведение.
я говорил о том, что ботам «помогли» выучить некоторое наперед заданное поведение.
Нет, вы дословно сказали, что «разводка на лайны тоже осуществляется насильно», хотя по факту это просто было добавлено в cost function (как, наверняка, и ещё огромное количество других игровых элементов).
Это написано в разделе про эксплоринг. Нет никакого повода полагать, что это происходит как-то иначе. Но окей, быть может, я понял неверно.
Там написано:
We hardcode item and skill builds (originally written for our scripted baseline), and choose which of the builds to use at random. Courier
Мы хардкодим айтембилды и скиллбилды (это изначально было реализовано в рамках нашего заскриптованного бейзлайна) и случайным образом выбираем, какой из билдов использовать.
В интервью же разработчик говорил, что сейчас это заскриптовано, и они хотят в ближайшее время это устранить. Если бы это использовалось только во время обучения, зачем бы это надо было устранять? Так что как раз таки нет никакого повода полагать, что это происходит именно так, как вы описали.
Нет, вы дословно сказали, что «разводка на лайны тоже осуществляется насильно», хотя по факту это просто было добавлено в cost function (как, наверняка, и ещё огромное количество других игровых элементов).
Если я приставлю вам пистолет к голове и скажу съесть свой галстук, то я тоже "просто добавляю cost function". А вы оп! И едите галстуки теперь!
Если бы это использовалось только во время обучения, зачем бы это надо было устранять?
Резонно. А что за интервью?
Резонно. А что за интервью?
Интервью, которое было между картами бейзлайн-матча.
Если я приставлю вам пистолет к голове и скажу съесть свой галстук, то я тоже «просто добавляю cost function». А вы оп! И едите галстуки теперь!
Так с тем же успехом можно сказать, что боты вообще скриптованные. Ведь всё их обучение по большому счёту упирается в удачный reward для обучения.
Ведь всё их обучение по большому счёту упирается в удачный reward для обучения.
Если у вас стоит ревард только за победу, то никаких проблем. Это же и есть цель игры.
В нашем случае дают еще реварды за голду, уничтожение вышек, убийства, снижают за обратное — но это вещи вполне логично приводят к победе, доту не выиграть, не убивая, вражеских персонажей и не ломая здания. То есть это просто некоторая оптимизация алгоритма, боты к этому в любом случае придут, просто медленнее.
С другой стороны, расстановка по лайнам — это именно навязывание конкретных тактических решений. Таким ведь образом можно и конкретным пикам расставить реварды (или пикам, удовлетворяющим определенным условиям) и вообще любым действиям. Но в таком случае это уже не будет самообучаюшейся сетью, согласитесь.
Это тоже, что использовать базу эндшпилей для шахмат. Да, помогли, но это в целом нормально. И, кстати, может снизить качество, если эвристики не идеальны, просто обучать без них сложнее.
Я полагал что поставленной задачей было продемонстрировать эффективность сетей определенного типа на определенных задачах.
Предположу, что как и в случае AlphaZero, первый этап — это решить задачу в принципе, без ограничений на априорные знания (без нейросетей задача выиграть у про игроков вообще не решается). То есть они не столько демонстрируют, сколько проверяют эффективность.
Разница во взаимодействии между персонажами — либо все знают в реальном времени про все, что видят/планируют другие персонажи (один бот), либо это как и у людей — пять разных ботов, которые должны передавать информацию друг другу, тогда им соответственно нужен свой язык для коммуникации.
При этом бот для Dota 2 — это вам не бот для шутера уровня QuakeПри этом, (почти) обыгрывающие профессионалов боты для Го и Доты 2 есть, а для Quake — нет; лучшее достижении ИИ в кваке на сегодня — это умение играть в недо-CTF на плоских сгенерированных «картах» а-ля Wolf3D. Это по-своему круто и важно, но пока что далеко от настоящего Quake.
Ботов в Quake/UT несложно научить идеально стрелять и доджиться, но лучшие игроки выигрывают не столько благодаря стрельбе (хотя стрелять в кваке, конечно, уметь надо, и желательно, хорошо), а за счет знания карт, умения слушать уровень, предугадывать действия и, наоборот, удивлять соперника. Говорят, мол, Quake неинтересен для ИИ, потому что компьютер всегда перестреляет человека, — имхо, интеллект в кваке проявляется всё-таки в другом, а вещи типа времени реакции, идеального тайминга или меткости как раз имеет смысл гандикапить.
Кроме того, дота — игра с неполной информациейКак и Quake.
При этом, (почти) обыгрывающие профессионалов боты для Го и Доты 2 есть
Вообще-то, нет.
Ну окей, пусть для доты пока нет, но в го AI, кажется, всех победил?
В Го, конечно, победил. Но и квейк и дота сильно сложнее Го.
Попробуйте выписать полные правила Го и полные правила доты/кваки и сравнить :)
Для кваки, где один против всех: убивай всех как можно чаще, умирай как можно реже?
Вы, кажется, забыли описать механику передвижений, как минимум. Понятие трехмерного пространства, скорости, препятствий.
К правилам это отношения не имеет.
Конечно, имеет! Правила игры — это описание игрового состояния, возможных действий игрока и того, как действия игрока влияют на игровое состояние.
Например: "вы можете идти вперед, тогда ваш персонаж будет двигаться вперед со скоростью Х, если не упрется в стену, а если упрется — то будет Y, вы можете менять угол обзора, отчего ваш персонаж будет поворачиваться" и т.д.
Это все часть правил.
Имеет. Просто в кваке типа обычный физический мир, к которому все привыкли (условно, конечно). Поэтому и правила, что можно делать в этом физическом мире, а что нельзя (ходить сквозь стены, например) — обычно не описывают, это и так ясно. Но боту-то не ясно, он по физический мир не в курсе, ему все эти правила надо рассказать. Ну или он может их сам изучить, случайно тыкаясь.
Насколько я понимаю саму суть нейронной сети, что она случайно тыкаясь должна и рокет джампу выучиться. Тем не менее на лицо эпическое отставание от кожаных игроков. Кожаный игрок один раз подсмотрит у более опытного соперника — и готово.
Не должна. Может, да. Но ей можно это и задать как одно действие и она будет его использовать как одно действие (хотя на практике там несколько действий).
Отставание потому, что у нейросети нет модели реальности, а у нас есть. Эксперименты по one-shot learning ведутся, кстати. Я б на кожаных не стал ставить на отрезке в 20 лет, скажем.
убивай всех как можно чаще, умирай как можно реже
А вот чтобы это реализовать, надо декомпизировать еще тучу других «правил» (а затем их всех как-то «объяснить»).
Вы бы знали сколько у меня сил ушло (и лет) на то, чтобы тесты сами разбирались в каких-то простых случаях «сбоев» и не падали от этого (а сами разруливали конфликты на основе кучи правил).
Только и в го есть правила ходов и набора очков и в кваке. Только в кваке добавляются модификаторы, разное оружие, каждое из которых требуется описать и пр.
Когда-то я слышал это про шахматы и шашки и го и шахматы.
Ну вот смотрите — с победы компьютера в шахматах до победы в го прошло порядка 20 лет, хотя разница в сложности между го и шахматами меньше, чем между го и дотой, квейком, старкрафтом, етц.
То что рано или поздно компьютер победит — никто, наверное, и не сомневается, вопрос в том — когда.
Здравая позиция.
Но сравнивать разницу сложностей шахматы-го, го-dota я бы на глаз не взялся — слишком сильное утверждение, если не подкреплять хотя бы прикидкой на цифрах.
Может статься, что мы говорим о равных шагах нарастающей сложности.
Всего 14 знаков? В го сотня с гаком.
И вопрос был в другом N(го)/N(шахматы) <<? N(дота)/N(го)
На самом деле конечно это все равно движение шагами, просто они очень мелкие и человеку кажутся непрерывными. Ну это если придираться.
По вашей же ссылке разжевано, что сделать снайпера — не проблема. Разработчикам пришлось специльно замедлять реакцию ботов, чтобы игра с людьми имела какой-то смысл.
ЗАДАЧА заключалась в том, чтобы обучить ботов игре в команде: огневая поддержка, распеределение ролей. И это без чатиков! И это удалось, между прочим.
З.Ы. И заметьте, в этом недо-CTF бот видел просто картинку, а не готовое игровое поле, как в Доте.
Я не умаляю значение этой работы, еще раз подчеркну: да, это круто, такие исследования я только приветствую (особенно как любитель кваки), и результаты очень интересные и воодушевляющие. Но до уверенного доминирования AI в боевых условиях против лучших квейкеров пока еще далеко.
Разработчикам пришлось специально замедлять реакцию ботов, чтобы игра с людьми имела какой-то смысл.Да, и это вполне естественно, моторика (рефлексы) у компьютера заведомо лучше. Люди сильнее другим (с. 21):
We also performed another study with human players to find out if human ingenuity, adaptivity and teamwork would help humans find exploitative strategies against trained agents. We asked two professional games testers to play as a team against a team of two FTW agents on a fixed, particularly complex map, which had been held out of training. After six hours of practice and experimentation, the human games testers were able to consistently win against the FTW team on this single map by employing a high-level strategy. This winning strategy involved careful study of the preferred routes of the agents on this map in exploratory games, drawing explicit maps, and then precise communication between humans to coordinate successful flag captures by avoiding the agents’ preferred routes.Вполне ожидаемый результат: на нерандомной карте люди нашли нужный подход к AI и начали систематически выигрывать.
И заметьте, в этом недо-CTF бот видел просто картинкуДа, высококонтрастную картинку 84×84 px.
Вполне ожидаемый результат: на нерандомной карте люди нашли нужный подход к AI и начали систематически выигрывать.
Скажите, а в игре на чемпионате у игроков тоже была бы возможность "попрактиковаться 6 часиков на конкретной карте" с отслеживанием перемещений ботов, drawing explicit maps и вот этим вот всем? Вы же понимаете, что это чистая метаигра?
Так а при чем тут известная карта, нужна не известная карта, нужен противник, который согласится с вами 6 часов поиграть и дать возможность узнать его игру. В доте вон, вообще в групповых "страты не палят", ждут плейоффа. Как вы что узнавать собрались?
Само собой.
Я турнир не смотрел, но и раньше Равшана убивали на первом уровне.
www.championat.com/cybersport/article-3289643-obzor-vtorogo-dnja-gruppovogo-etapa-chm-po-dota-2--the-international-2016.html
В любом случае это не та вещь, про которую все помнят и которую все используют. Можно послушать комментаторов на этом моменте, они сами это говорят.
Фишка, когда показывают что-то новое, новая комбинация там или совершено другой стиль игры.
Как китайцы показали игру через фарм и выигрывали. Это было очень круто, никто и не ожидал, что можно просто перефармить и выиграть. Потом научились это контрить.
2. Теперь по поводу второго коммента. Естественно! Как я понимаю, именно этого и добивались разрабы. Люди обучались стратегии ботов, а ботам не дали обучиться новой стратегии людей. Итог закономерен.
Ботов в Quake/UT несложно научить идеально стрелять и доджиться, но лучшие игроки выигрывают не столько благодаря стрельбе (хотя стрелять в кваке, конечно, уметь надо, и желательно, хорошо), а за счет знания карт, умения слушать уровень, предугадывать действия и, наоборот, удивлять соперника. Говорят, мол, Quake неинтересен для ИИ, потому что компьютер всегда перестреляет человека, — имхо, интеллект в кваке проявляется всё-таки в другом, а вещи типа времени реакции, идеального тайминга или меткости как раз имеет смысл гандикапить.
Если бот умеет крутится на 360 градусов десять раз в секунду и всегда стрелять в голову игроку, то вы такую игру выкинете в ту же секунду. На хабре уже были статьи про то, что ботов специально вяжут по рукам и ногам, чтобы мешки с мясом не расстраивались. Пруф.
Хедшотов в классических квейках, кстати, нет (разве что ачивка появилась в QL), пофиг куда попадать. Но даже если у бота, к примеру, 100% RG, ему можно просто не давать брать рельсу. :-)
Речь, однако, о более требовательных игроках, условных «разрядниках» среднего уровня.
Никто не любит проигрывать в 100% случаев, даже самые требовательные игроки. От этого люди выгорают, и ломают себе вещи и части тела.
Те же godlike боты UT, у которых aim goes less than 1° off target, 360° field of view without line of sight limitations (meaning it sees the whole map at all times) и всё такое, или лучшие квачные боты (с нулевой реакцией и полным обзором) уверенно обыгрываются средним игроком-человеком.
Если такие боты проигрывают, значит им подперты костыли в стиле «ты все видишь и супер-точный, но не имеешь права стрелять пока не стрельнет человек». С 100% точностью первый выстрел всегда смертельный, реакцию ботов можно было наблюдать на инте. То есть показалось 3 пикселя головы из-за угла, человек отправляется на перерождение. Конец истории.
Никто не любит проигрывать в 100% случаев, даже самые требовательные игроки.Хорошо, никто не любит. Проблема в том, что даже средние игроки выносят самых найтмарных ботов в Quake/UT. Невзирая на стрельбу последних в пиксел. Я не знаю, в каких ботах реализовано описанное вами правило первого выстрела, но те же кудвачные зигоки (3zb2), с которыми я чаще всего играю, точно не церемонятся. Однако и им, и всем прочим это не помогает, ибо тупые и предсказуемые.
С 100% точностью первый выстрел всегда смертельныйГосподи, да нет конечно! Если вы бегаете голым, то ССЗБ. Как минимум одну (а лучше две) рельсы надо стараться держать.
реакцию ботов можно было наблюдать на инте.Простите, какую реакцию, что за инт?
Господи, да нет конечно! Если вы бегаете голым, то ССЗБ. Как минимум одну (а лучше две) рельсы надо стараться держать.
Если мы про 1х1 говорим, то всевидящие боты которые идеально стреляют всегда будут размениваться по ХП в свою пользу и вовремя подпирать павер апы. Если они этого не делают, то скорее всего они специально ослаблены, хотя это и не афишируется.
Простите, какую реакцию, что за инт?
Время реакции на изменение ситуации, на The International, который обсуждается в статье.
The International, который обсуждается в статье.А, я думал это из кваки что-то и никак не мог понять, что же. :-/
Тут есть еще один немаловажный момент, на реддите в теме про ограничения дообсуждались до того, что использование Bottle по общему времени обучения превышает _все_ что сделали боты до этого в три раза. То есть обучение использовать одну вещь сложнее, чем обучение 5 ботов разнести 6к ммр солянку в рандом драфте.
Это настолько жёсткое преувеличение, что тут даже говорить нечего.
Возможно, даже ограничение на курьеров сложнее, чем на ботл (из-за того, что боты научились весьма неадекватно абузить наличие пяти неуязвимых курьеров).
боты научились весьма неадекватно абузить наличие пяти неуязвимых курьеров
Боты как раз в данном случае действуют очень адекватно и логично :)
Во-первых, с одним курьером они бы банально не могли обеспечить себе такую интенсивность принесения предметов (можно обратить внимание, что большую часть времени было задействовано 1-3 курьера сразу). Во-вторых, с уязвимыми курьерами боты бы не смогли так беспечно носить эту регенерацию в моменты столкновения с игроками.
Ну тут основная проблема в коммуникации. Крипов боты друг у друга вполне бодро подворовывали, с 1 курьером, не сомневаюсь, мы бы пронаблюдали каноничное "кто куру реюзнул, твари??7?" :)
Так что, чтобы без токсичности — каждому по куре и все довольны :)
Совсем скоро обидное слово: "да ты бот" поменяет свой смысл ровно на противоположный...
Ну пока что у DeepMind конкурировать с людьми, на сколько я знаю, не получается. Максимум речь идёт о решении отдельных задач на микроконтроль. При этом мне не очевидно, чтобы DeepMind как исследовательский коллектив были существенно слабее OpenAI. Так что, возможно, дело в сложности игры.
Отмечу также, что даже начинающие игроки (серебряная лига) без особых проблем обыгрывают встроенный ИИ на максимальной сложности.
Про ск, кстати, интересный момент — с одной стороны, игра, вроде, сложнее, т.к. очень большое количество юнитов, с другой стороны — в ск сильно больший уклон в сторону тактических элементов и краткосрочных обжективов, а боты из сабжа как раз отлично справляются в тактике, но полные нули стратегически. То есть как раз в случае ск они зашли бы, по логике, лучше.
Возможно, тут проблема в инкрементальности — опенАИ сперва выкатили бота 1в1, и это было как бы осмысленно, сейчас вот пул с 16 героями, и это тоже воспринимается ок, хоть и понятно, что "не дота". Плюс захардкоженные билды.
но как это было бы в старкрафте? сделать бота зерга, который будет играть только рабами и зерлингами и при этом в захордкоженных бо? Ну даже не смешно, это никто не будет всерьез обсуждать.
Я видел ваше сообщение в параллельной теме, но не стал тогда комментить. :)
Мне совсем не очевидна справедливость Вашего тезиса, что sc2 стратегически проще доты. Где вы проводите раздел между тактическими задачами и стратегическими?
Во второму вопросу: можно показывать убедительное микро, можно показать игру бота против встроенного ИИ.
Мне совсем не очевидна справедливость Вашего тезиса, что sc2 стратегически проще доты. Где вы проводите раздел между тактическими задачами и стратегическими?
Это вопрос хороший, т.к. разница тут где-то там же, где несколько зерен становятся кучей :)
Я провожу водораздел где-то в области многошавости — например, план "сделаю забегание/дроп, чтобы нанести урон экономике", это что-то тактическое, т.к. конкретное действие и конкретный результат, сразу. Или: "пойдем и погангаем этого персонажа" — это тоже что-то тактическое. А вот если: "там много контроля, одному из коров не хватает 1к до бкб, значит, он должен пойти пофармить на него, значит надо создать спейс, фармить он будет вот тут, сюда на подходе ставим один вард, а сами будет разводить грязь здесь, значит, здесь ставим второй, собрались, пошли" — то вот это уже ближе к стратегии. Многоходовочка :)
Опять же, количество разных бо и вообще, скажем так "условно работающих стратегий" в старкрафте на порядок меньше. С-но и выбор стратегический (как играть в общем) существенно уже.
Во второму вопросу: можно показывать убедительное микро, можно показать игру бота против встроенного ИИ.
Ну, убедительное микро зерлингами вс танков показывали и без нейросетей :)
Я всё-же не соглашусь, но не хочу уходить в детали. Мне кажется, что вы доту знаете лучше, чем sc2. :)
Ну, убедительное микро зерлингами вс танков показывали и без нейросетей :)
Именно! Пусть теперь AI этому сам обучится, для разных карт и рельефов! Чем не вызов?
план «сделаю забегание/дроп, чтобы нанести урон экономике»
Шикарный план, только откуда взять дропшип? Ах, его же нужно было построить несколько минут назад, а перед этим построить старпорт (отказавшись от другой постройки) ну и так далее.
количество разных бо и вообще, скажем так «условно работающих стратегий» в старкрафте на порядок меньше
Пруфы будут? Я вот скажу что в доте 3 стратегии — идти в сверху, снизу и по миду. Согласны?
Вот игра двух ботов. Потрясающее микро с АПМ под сорок тысяч, но стратегия пока хромает. Продолжаем наблюдать.
Давайте все же будем корректными — бот еще не умеет играть в доту. Ни на сколько ммр.
Этот график — то же самое, что если бы бот играющий в го на поле в 6-6 вместо 19-19 кого-то там обыгрывал и ему бы ставили соответствующее звание.
Ожидаемый — люди заабузили непонимание ботом лейта, затянули и выиграли.
Курьеров, кстати, пофиксили, сейчас он один, уязвимый. Бот два раза отдал его :)
По микро было видно — бот красавчик, чего стоят ветра на акса перед агром после блинка. А вот момент там где боты бьют рошана, а акс сносит им сторону и они игнорят — это странно. И таких макро проигранных ситуаций было очень много
They might have lost but it was an impressive showing by OpenAI.
— Wykrhm Reddy (@wykrhm) August 23, 2018
- Over warding outside Roshan
- Giving Aegis and Cheese to Lich
- Making some really questionable decisions
And yet .. Open AI managed to put up a competitive game against a TI team.#TI8
Игра с ботом оказалась довольно длинной — чуть не час. И в какой-то момент в середине игры казалось, что боты доминируют и исход ясен, но очередные «качели» и люди вырвались вперёд.
Очень жаль конечно.
Но надеюсь разработчики на этот (и следующие два) матча включат ботам галочку «сделать максимальные выводы из прошедшего матча». Ну и то, что боты между собой не общаются это конечно приводит к ошибкам откровенным.
Жаль игры поздно (или рано) очень. До конца недели так и не высплюсь.
Плюс система ревардов требует переделки, она должна быть динамической, а тут, судя по тому что боты не сделали синхронный тп с рошана чтобы отбить акса — он статический и не учитывает изменение обстановки. То есть если на момент начала атаки на рошана ревард был максимальный, никакие внешние действия не могли его сбросить и отменить атаку ботов… что выглядит весьма странно.
Она, конечно же, динамическая, но боты решили, что рошан важнее. Собственно многие мясные команды приняли то же решение. Хотя ни одна из них не дошла бы до TI, это верно. Не забывайте, что решение отдать рошана за барак могло быть выигрышным, «странным ходом» по аналогии с альфа го. Просто боты зашли в лейт где и умерли, не потому, что отдали барак, а потому что кастовали по 5 скиллов в одного саппорта, после чего оставались беззащитными против снайпера.
Резюмируя, надеялся на гораздо лучший результат от ботов. Оказалось, что при резком повышении уровня игры людей, все обучение ботов разваливается. Ну… будем посмотреть что в следующем матче будет, возможно поиграют с теми, кто вылетел уже в финальной стадии… предполагаю Newbee
Не думаю, что 480 миллионов сыгранных за сегодня игр сильно улучшат игру ботов, так что более сильный ньюби ботов и так уделают. Скорее имеет смысл собирать более слабую команду, например из комментаторов или зрителей.
Просто боты зашли в лейт где и умерли, не потому, что отдали барак, а потому что кастовали по 5 скиллов в одного саппорта, после чего оставались беззащитными против снайпера.
Странно, кстати, что пейны в принципе не абузили байты, т.к. то, что боты принципиально не могут в менеджмент ресурсов было достаточно очевидно по предыдущим играм.
Причем проблема это скорее всего архитектурная, будет интересно, как с ней справятся (если справятся).
По идее им надо очень существенно подправлять все реварды, как в плюс так и минус, ну и еще увеличивать долгосрочные реварды. Проблема в том, что это плохо влияет на сходимость, кроме того, тонкий тюнинг ревардов в итоге может перейти просто в аналог рукописного алгоритма...
А что писать в настройках? "никогда не отдавать аегис и сыр личу"? Так могут быть ситуации, где это разумно.
Нет) Аегис — возрождает персонажа после смерти, поэтому его надо отдать персонажу, который после смерти может внести максимальный импакт и тогда аегис не будут отдавать личу
А что если в данный момент его может забрать только лич? Остальные в стане стоят, допустим? Или лич крадет аегис с блинка и потом умирает отдавая его офк, но при этом аегис не достается противнику.
Ну в скольких матчах отдача сыра и аегиса личу помогла выиграть чтобы боты эту шизу сотворили?
Это ваш белковый мозг говорит, что отдавать аегис личу плохо. А может быть без этого сыра игра была бы проиграна на 5 минут раньше? Если бы альфа го проиграл, то все бы винили тот «странный» ход в этом, хотя на самом деле сейчас нам всем очевидно, что он был выигрышным.
Отдача аегиса личу это «questionable at best..» ©, но никто в мире не скажет, что это плохое (или хорошее) решение. Просто один из факторов, и никакого понимания, помог он ботам или проиграл — нет. Все, что можно сказать, что текущая мета считает, что сыр должен получать кери персонаж. Не более того.
я скажу) отдача аегиса личу, если это не кража из-под носа оппонента, это ВСЕГДА плохо.
просто нет.
Причем тут текущая мета? Кери персонаж — это персонаж который тащит в лейте игру. Будет кери лич — будут ему давать аегис…
А вот бот считает, что через 2 минуты возрожденный лич накинет броню и это зарешает игру.
И что броня изменит? Наврятли броня что-то может изменить.
Конечно, может — ваш керри вместо того, чтобы умереть, останется в живых на 200хп после стана, включит сатаник и развалит команду противника :)
Так может сразу отдать сыр и аегис Керри, чтобы он и сыр прожал и реснулся тут же на месте?
И наличие у Керри сыра и аегиса сильно охлаждает пыл соперников, потому что они понимают какой геморрой убить два раза Керри.
Так может сразу отдать сыр и аегис Керри, чтобы он и сыр прожал и реснулся тут же на месте?
С-на пока керри мертвый в аегисе сидит вся команда может отъехать.
Лич забрал предметы тоже исходя из оценки ситуации строго на данный момент.
Никакого плана или тактики у ИИ нет и в помине.
А уж, чтобы взять аегис ради «Кинет броню в нужный момент», то это уже даже не уровень ИИ и не уровень человека. Это настолько маловероятная ситуация, что броня лича спасет керри, что это уже уровень Ванги.
Ты очень переоцениваешь ИИ. Он не ясновидящий, который может предсказать исход игры сразу после пика.
Цель разработчиков именно в том, чтобы научить ИИ прогнозировать наперед. По-этому нет смысла прикручивать подобные вещи "руками", ну допустим будет бот играть лучше, даже кого-то там победит, и что? Пользы-то от этого 0, это ничего не продемонстрирует, то, что можно руками какие-то скрипты прописать — не секрет ни для кого.
Видимо, научили забирать, а кому отдавать аегис и сыр пока нет)
Пока у ботов с этим полный провал.

Проблема с лейтом серьезнее, чем вы полагаете. В лейте гораздо большее значение принимают факторы с отложенными последствиями — это и покупка итемов, и менеджмент ресурсов. А эти боты наперед смотреть не умеют.
Аналогично с вардами — последствия установки варда в конкретном месте очень отложены и ситуативны.
Но надеюсь разработчики на этот (и следующие два) матча включат ботам галочку «сделать максимальные выводы из прошедшего матча». Ну и то, что боты между собой не общаются это конечно приводит к ошибкам откровенным.
Сильно сомневаюсь, что это возможно. Так что это 1 проигранная игра из скольких там триллионов сыгранных? Ей могут поставить очень сильные весы, но все равно сильного влияния она оказать не может на обучение бота.
Позднюю игру боты не могут. Неправильные предметы и неверный размен (нельзя качать вражеского керри). В следущей их вынесут как котят на этом. Керри фармится, потом забирает всех ботов.
Но игра крутая. Тоже не ожидал, что кремниевые так облажаются, на середине игры думал, что победят (когда к соперникам наверх зашли).
Игра с ботом оказалась довольно длинной — чуть не час. И в какой-то момент в середине игры казалось, что боты доминируют и исход ясен, но очередные «качели» и люди вырвались вперёд.
Очень жаль конечно.
Здесь над понимать, что нельзя сказать, что боты доминировали в середине. У ботов был выбор героев, который очень силен в середине игры из-за мощного прокаста, и просадка людей в этот момент была логичной, задача людей в этот момент не была выигрывать игру — она была затянуть игру, перевести ее в позднюю стадию не отдав критического преимущества. Более того — это был исходный план на игру в принципе. Иными словами — игра изначально шла по плану людей и никуда от этого плана не отклолнялась, в том числе и в середине. Ну а дальше просто по времени:
30 минута: все вроде плохо, боты жмут людей со всех сторон
31 минута: снайпер покупает бкб (предмет, который дает при использовании временную неуязвимость к магии — что делает прокаст ботов малоэффективным)
33 минута: акс покупает бкб
35 минута: пейны зажимают ботов на их базе, резво убивают гирокоптера за вышкой, ну и в этот момент игра закончилась. Оставшиеся 15 минут — пейны просто развлекались.
Информация о матчах появилась на официальном сайте Dota 2 в разделе с расписанием игр плей-офф The International. Всего OpenAI сыграет три матча за три дня с про-игроками. Первая игра состоится примерно в 18:30-19:00 по МСК (точное время пока не указано).
Судя по информации на приведенном сайте, игры OpenAI будут проходить каждый день после 2-х игр турнира. Если так, то время игр — ближе к 1:00-2:00 по МСК
При другом наборе персонажей успех проф. игроков не гарантирован.
Сегодня сыграли с обратным пиком :)
В итоге развал был еще сильнее, хоть и менее надежный, несмотря на то, что играла более слабая команда.
Сегодня пройдет первый матч между OpenAI и профессионалами Dota 2 (люди победили). Разбираемся, как работает бот