Pull to refresh

Comments 392

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

Угу, ребята, небось, уже бодро пропивают с горя кровно заработанные призовые и тут бац, играйте с ботами -.-

Взяли команду которая уже проиграла на турнире. И все равно бот проиграл.
В общем, как я и предполагал. Сыгранная команда, которая не делала глупостей и не отдавалась по одному смогла пережить первые полчаса игры, после которой обучение ботов остановилось и они уже не знали, что делать. Ребятам понадобилось 2-3 залета чтобы понять, что бота на реакции поймать нельзя, и если время каста агра 0.25 секунды, то всегда человек успеет прожать еул или дагер. Поэтому в конце можно видеть как залет происходит исключительно после инстахексов лиона или когда спасительные артефакты в кд.
С учетом того, что люди взяли в команду снайпера — их стратегия была понятна еще до начала тайма. Вспомним 4х часовую игру, где команда несколько часов держалась без 2х линий www.youtube.com/watch?v=JonbjtOExLg.
Интересно еще почему не абузили остановку анимации на аксе это популярный трюк в пабе, а на про сцене тем более должны были знать, делаешь вид что кастуешь а в последний момент стоп, если бот так триггерил на начало анимации, на этом можно было вообще все замесы выигрывать.
UFO just landed and posted this here
По большому счёту, согласен, маленькая ремарка только — теорию про «танчить башню вардами» уже давно отмели, потому как у вардов максимально низкий приоритет «агрессии» (только для башен или для вообще всего ИИ крипов это тоже работает — не помню) — как и катапульты, башни начинают их обстреливать, только если больше потенциальных целей вообще нет. То есть герои попали бы под удар раньше.
UFO just landed and posted this here
даже под медикаментами быстрее 0.07-0.08 не выжать, а ведь там надо не только среагировать и кликнуть, но и мышью двинуть. Так что 200мс это слишком быстро для ботов… надо их еще замедлять.

Скорость поворота на 180 градусов сама по себе около 200мс. Так что 0.07-0.08 не нужно, герой команду выполнить не успеет.

UFO just landed and posted this here
Именно, я имел ввиду что даже сведя скорость реакции глаз-рука до биологического минимума, все остальные операции займут больше времени чем общая скорость реакции бота

Реагировать не надо, надо просто делать последовательность кликов с нужным паттерном. Вы как думаете 16-е ноты в престо играют?

UFO just landed and posted this here
хм) но музыкант знает какой паттерн использовать, а игрок должен его выбрать на основании текущей ситуации, крипы не бегут по одной линии, их порядок не всегда одинаков и прибегают к башне они в разное время.

Мы же рассматриваем тут конкретный хитрый прием? Когда персонаж равномерно, в соответствии с выстрелами товера, вбегает/отбегает. Тут вполне себе конкретный и четкий паттерн, нет?


На самом деле проблема гораздо глубже и объяснять ее тем, кто не знаком с глубокой механикой игры еще сложнее.

Я знаком с механикой игры :)


Так вот боты это делают с тем же временем реакции в 200, тут был мат, миллисекунд.

Не раз делал инстахекс после блинка противника, даже не за 200мс, а за 0. Реакция уровень бог, видимо ;)
А иногда и вовсе инста-глобал сайленсером получается! Не иначе, тахионы в действии, ведь чтобы так сделать — надо нажать сайленс еще до того, как противник блинкнулся.
Наверное, именно по этой причине одно из известных правил — сперва бкб, потом блинк, не наоборот :)


И тут, за 200 миллисекунд до попадания оглушения в противника, на него вешается отражающий щит.

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


Но боты это делают всегда, в 100, блин, процентах случаев.

Обсуждаемые боты смоком по герою в шедоу амулете мажут, и кидают по две шрапнели в одно место :)


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

UFO just landed and posted this here
У ботов нет проблемы «дебил нафиг ты лотус провесил, я ж манту прожал» )))

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


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

Джагернаут же рандомно цель в радиусе выбирает, чтобы получилось "развести ульту" — это надо героев расставить заранее специально и чтобы они не двигались. Так что какая-то фиговая отмазка. Где вы вообще это прочитали?


Я все сильнее начинаю думать что гифка, в которой Лич форсстафит одного врага и прожирает вражеского крипа мидасом, чтобы ульта отскочила в того, кого нужно, была сделана с openai бота.

Очень маловероятно, что текущие боты смогут так делать хоть когда-нибудь. С-но даже просто толкнуть форсой под ульт для ботов данной архитектуры — уже где-то на границе возможного.
Чтобы делать то, о чем вы говорите, надо сетью определять набор таргетов, а потом подбирать исполнение нужного уже перебором по действиям (или, возможно, другой специальной сетью для "микро").

UFO just landed and posted this here
но я так понял что боты считали количество прыжков и скидывали прыгающего юрика на тиммейта, уходя например в инвиз, при этом в радиус прыжков заходил второй толстый игрок, для уменьшения шанса прыжка на третьего.

А, в смысле они от вражеского джаги урон распределяли. Ну вообще не вижу тут ничего особенного, у кого много хп — становится под джагу, у кого мало — отходят :)


Кстати, ульт лича, считай, по той же схеме работает и его можно так же эффективно эвейдить (причем тут боты находятся в более выигрышном положении — т.к. из-за того что ульт летит медленно, можно не только расчитать прыжки, но и успеть подойти/отойти, что в случае джаги из-за скорости может быть просто нереализуемо физически), но лич в пуле.

UFO just landed and posted this here
У лича прожектайл медленнее летит, может с этим что связано

Так это как раз дает лишнее преимущество. То, что прожектайл летит медленнее, не поможет людям рассчитать оптимальный разбег — люди что от джаги, что от лича одинаково разбегаются :)
А вот ботам поможет этот "идеальный разбег" исполнить.

UFO just landed and posted this here
Вы статью то читали? Боты вполне себе оперируют всеми таргетами, да чёрт, это ну ничерта не проблема: есть конкретное API, тут не надо никакого компьютерного зрения, хотя, по большому счёту, его прикрутить не такая проблема (и к слову, текущая ситуация значительно улучшает положение ботов — по сути у них полтора экрана область действия, тогда как для игроков такой хак по сути — чит).

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

Вы постоянно говорите про архитектуру, но основная проблема в том, что архитектура не статична. Нейросеть — это контейнер, аналоговый вычислитель эмулированный на ПК, если грубо. Какая в него программа заложена определяется обучением. И тут нет никакой магии. Вообще, вспомним AlphaGo: по мере продвижения по турнирной лестнице его возможности росли невероятно, практически полностью устраняя слабые места. Вообще, сама по себе AlphaGo именно что сама придумала огромное число новых паттернов, а в среде го-игроков до сих пор идут разборы матчей с AlphaGo.

По поводу механики игры, тут тоже есть над чем подумать. Неограниченная реакция и потрясающий контроль даёт просто невообразимые тактические возможности. Если человеку приходится полагаться на то, что он видит и свою скорость реакции, то у нейросети таких проблем нет. Если очень грубо, то полноценный запуск всего цикла енва -> обс -> агент -> акт на каждый кадр это тоже самое, что если бы для вас останавливали время 30 раз в секунду. Вообще говоря, это очень сильно.

Да, у нейронных сетей есть проблемы, но Маск, мне кажется, хочет просто продемонстрировать насколько опасен может быть общий ИИ: даже настолько простой, практически на коленке собранный способен демонстрировать практически неоспоримое преимущество перед людьми. Наверняка есть герои, которые будут показывать просто невероятный импакт (зевс, тинкер, шторм — они могут овнить героев противника на раз два, практически закапывая команду противника, а какой-нибудь профет и чен или даже дроу спушить все вышки за 10 минут). Тут дело практически в тотальным контроле своего здоровья, здоровья противника, очень сильной реакции и крайне неожиданные стратегии и тактики. Вообще не могу представить, какую дичь они могут творить с невероятной мобильностью той же фуры или какой-нибудь магины.

Абуз вардов это вершина айсберга. Дота не идеальна, очень далеко не идеальна: вспомните тот же хук нави. В огромном пуле героев найдутся довольно легко крайне неожиданные связки на незапланированных механиках. И не забывайте, что именно этим и занимается нейросеть — это статистика предыдущего опыта. Условно — эффективные и неэффективные стратегии. Эффективные используем, а противника заставляем использовать неэффективные (растрата ресурсов на консумабл — одна из них, брать неметовых героев против которых легко противодействовать к этому же; тысячи их).
Вы статью то читали? Боты вполне себе оперируют всеми таргетами, да чёрт, это ну ничерта не проблема

Вы видимо не поняли. Боты не работают в стиле: "выбираем наиболее полезный таргет (например — убить персонажа Х) -> расчитываем действия для выполнения (окей, нашли последовательность действий — кинуть ульт, толкнуть форсой, съесть крипа мидасом) -> выполняем", вместо этого боты просто принимают на вход некоторое состояние, прогоняют его через нейросеть и получают действие, которое надо совершить (которое, как показывает обучающая выборка, приводило в итоге к росту вознаграждения). По-этому если бот не оказывался в такой ситуации с поеданием крипа и форсой (или какой-то похожей) — то он никогда ее и не повторит. Он просто не догадается, что такие действия могут привести к какому-то профиту, и, с-но, их не сделает.


Ещё вопрос с коммуникацией. Нигде не сказано, что они не общаются

По-моему, разработчики вполне четко говорили, что боты не общаются.


Да, у нейронных сетей есть проблемы, но Маск, мне кажется, хочет просто продемонстрировать насколько опасен может быть общий ИИ: даже настолько простой, практически на коленке собранный

Чего, прошу прощения? Это одна из самых мощных нейросетей, существующих в мире на данный момент (точнее будет сказать, одна из потребивших наибольшее количество флопсо-часов). Какое простой на коленке собранный?
И Маск там, кстати, уже давно не при делах.

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


Но. Во-первых, там тем не менее под капотом классическая стейтмашина. В том плане, что нейросеть не придумывает варианты, она выбирает из пула вариантов. Эти варианты довольно низкоуровневые, но тем не менее в нейросеть уже заложены понятия позиционирования и таргетирования. И да, текущее состояние (читай, намерения) также учитывается, иначе не работало бы. Во-вторых, вы видимо не понимаете, что такое 180 лет. Черт, да это за один день! Даже если у нейросети очень слабые возможности по абстрагированию, в ней буквально запихиваются данные о тысячах лет игры в доту 2. Хоть кто-нибудь может хотя бы чем-то похожим похвастаться? В-третьих, Маск это, конечно тот человек, про которого говорят 25 часов в сутках, но даже 25 часов это мало, конечно он не участвует настолько интенсивно, все время сжирает тесла и спейсИкс, но тем не менее, он это начинал с определенной целью, он все еще выделяет огромные деньги, так что вряд ли он совсем в неведении. Да и взгляды Маска заразительны. И, в довесок, на коленке в том смысле, что никакой матан не избретался. Условно взяли доту, взяли апи, ограничили игру, чтобы нейросеть была адекватная и залили пожары деньгами. Такой способ пожаротушения не предполагает концептуального развития технологий, а максимум — лишь демонстрирует масштабируемость решения. Не считаю запихивание подмножества доты в огромнейшую нейросеть рокетсайнсом, что, впрочем, нисколько не умаляет значимости.

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

Вы что понимаете под "позиционированием и таргетированием" сейчас?


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

Это ничуть не отменяет того, что редкие, специфические ситуации (вроде толкания форсой с мидасом под ульт) могут не встретиться вменяемое число из а миллион лет.


И, в довесок, на коленке в том смысле, что никакой матан не избретался. Условно взяли доту, взяли апи, ограничили игру, чтобы нейросеть была адекватная и залили пожары деньгами.

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

Я понимаю команды вроде "держись этого этой секции" или "убей этого крипа". Это несколько абстрактнее, чем "иди в эту точку" или "ударь этот таргет". Разъяснять что такое абстракции не надо?


Вы все еще не понимаете масштабы. С моим опытом в 5к часов таких ситуаций было… Не прямо таких, но вообще любых микромоментов было очень много. Да блин, зайдите на дотавтф, там ситуации сплошь и рядом из "ват жаст ай син?", их не просто много, но ооооочень много. Сама по себе дота с её не всегда очевидными механиками это позволяет. А микромоменты очень быстро тренируются за счет того, что они дают много из ничего: не обязательно мидас держать, хотя и вполне может быть, что под него на откате таргета не будет, но есть еще много скилов и предметов, способные ластхитнуть крипа. Да и блинский, я же в принципе не про условного лича с мидасом, а про тысячи возможных абузов, многие из которых наверняка найдут боты. Мгновенная реакция может раскрыть и те, которые или невозможно нами воспроизвести, или ооочень сложно.

Я понимаю команды вроде "держись этого этой секции" или "убей этого крипа". Это несколько абстрактнее, чем "иди в эту точку" или "ударь этот таргет". Разъяснять что такое абстракции не надо?

Нету там таких команд. Есть "атака цели Х" (в смысле команда персонажу атаковать, не какая-то абстрактная "атакую!"), "мув в точку Х", "юз предмета Х по цели Y", "юз абилки Х по цели Y". Еще "ничего не делать" есть.


Вы все еще не понимаете масштабы. С моим опытом в 5к часов таких ситуаций было… Не прямо таких, но вообще любых микромоментов было очень много.

Вот именно что каких-то микромоментов было много, но бот от этого не научится. Чтобы научиться — ему надо, чтобы похожих микромоментов было достаточно много для того, чтобы бот из случайных примитивных действий (которые перечислены выше) выбрал последовательность нужных и убедился, что за последовательность дает значимый ревард, что поднимет в итоге вес конкретных действий. При этом он влегкую может улететь в локальный минимум.


А микромоменты очень быстро тренируются за счет того, что они дают много из ничего: не обязательно мидас держать, хотя и вполне может быть, что под него на откате таргета не будет, но есть еще много скилов и предметов, способные ластхитнуть крипа

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

Нету там таких команд

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

В статье сказано, что 80% ботов находятся в режиме обучения. В этом режиме они производят действия, которые выбираются (в первом приближении) случайно, и затем происходит оценка эффекта такого рандомного действия. Полезные действия закрепляются и используются в дальнейшем. Таким образом, при симуляции 180 лет игры в сутки, случайным перебором действий бот не только научится юзать вторую абилку, но и найдёт возможные их сочетания, дающие профит.
Откуда вы знаете, что там есть и чего нет? Исходники видели, что ли?

В статье описано, какую информацию получает бот на вход и какие варианты команд может исполнять. В частности, там, например, текущая анимация дается и время долета прожектайла (оО)
А среди команд — вариации с задержками в n фреймов, то есть бот может решить вместо "сделать действие Х вот прям щас" — "сделать действие Х через 2 фрейма".


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

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

UFO just landed and posted this here
Верно, поэтому на месте разработчиков я бы отпарсил все случаи

Да не парсится никаких случаев. Сеть просто играет сама с собой и конец истории.

Они разве говорят, что задача — сделать "чистый эксперимент"? Задача — выиграть. Нейросети — это самый простой известный способ, который вообще позволит эту задачу решить (наверное). Мне навскидку кажется, что "парсинг редко используемых действий" — тупиковая ветвь (потому что ревард так и так покажет, что действие хорошее), но если они посчитают, что это выгодно — наверняка сделают.

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

Пространство возможностей не позволяет достигнуть результата случайным перебором.

У них же stohastic policy, то есть сеть выдает на самом деле не действие, а вероятностное распределение на возможных действиях. Потом на конкретном семпле сеть делает конкретное действие (бросая кубик и выбирая в соответствии с указанной вероятностью) и потом апдейтит веса в соответствии с ревардом за это действия так, что вероятность действия увеличивается в том случае, если оно дает больше реварда, с дополнительным рандомом для того чтобы не попасть в локальный оптимум.
В изначальном приближении, полагаю, распределение действий равномерное, то есть чисто случайно выбирается, что делать.

Согласен. На самой первой итерации — наверняка равномерное.


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

Нельзя сказать, что бот попробует все действия во всех ситуациях.

В случае когда для результата надо сделать несколько последовательных конкретных действий — это еще хуже, т.к. снижается вероятность того, что бот попробует какую-то "необычную" стратегию.

Так вот, для бота они не взаимозаменяемы. Если у бота есть две одинаково действующие абилки, которые ластхитят крипа, но при этом они у него обозначены как разные действия, то бот если научится пользоваться одной — то это ничего ему не даст в плане использования другой.

Насколько я знаю принципы нейросети у бота будет не "вариант 1 — 1я абилка, вариант 2 — 2я абилка", у него скорее всего есть параметры и их больше одного для каждой абилки и что использовать выбирается по ним. То есть если абилка наносит урон — значит бот может ее использовать для того чтобы нанести урон даже если в конкретно этой ситуации и конкретно для этой цели он такого никогда не делал. Не нужно прогонять все возможные сочетания, да и нереально это, как вы и сами говорите. Достаточно определить набор параметров для различных вещей/абстракций и сила бота будет именно в том, насколько сложные абстракции он может образовать.

> То есть если абилка наносит урон — значит бот может ее использовать для того чтобы нанести урон

Нет, не так. У бота просто «абилка1», «абилка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.
Отдельная LSTM сеть, которая как мы узнали из статьи, ответственна за поведение бота «здесь и сейчас» (краткосрочные решения), в то же время есть ещё нейросеть, ответственная за долгосрочное планирование игры. И здесь стоит вопрос — какая информация о действиях (статусе) LSTM-управляемых ботов уходит «наверх» и доступна для планирования совместных действий (и, соответственно, опосредственно уходит «вниз» как скрытая коммуникация).
Откуда информация про отдельную нейросеть, ответственную за долгосрочное планирование игры?
Это я так интерпретирую текст статьи:
API нужен для того, чтобы полученные данные прогонять через однослойную LSTM-сеть из 1024 блоков и получать, как итог, краткосрочные решения, которые согласуются с долгосрочными стратегиями, которыми располагает нейросеть.
Это я так интерпретирую текст статьи:

Это вы неправильно интерпретируете текст статьи.
Даже тут я не понимаю, как можно было сделать те выводы, которые вы сделали. А уж в оригинальных постах такого тем более не найти.
Каждый герой управляется одним отдельным инстансом сети.
Ну, в модели сети действительно отсутствуют связи между ботами, единственное что я там увидел — кулдауны глифов для каждого героя в игре.
Окей, это более-менее честно для людей.
долгосрочные стратегии это наработанная база самого бота. Можете считать, что у всех ботов общая ДНК, но в конкретной игре — это 5 инстансов.
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.

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

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

Поверьте, та игра, которую показывает этот бот — это ни то, что люди хотят смотреть, ни то, против чего они хотят играть :)
Так что коммерческая польза сомнительна будет.

Хороший бот — это отличный режим для начинающих, которые хотят научиться играть в MOBA игры, не читая с первой же минуты оскорбления и маты в свой адрес.

Существующие боты с этим прекрасно справляются.

Нет вы не правы, вард танкует 8 ударов, а вышка не переагривается сама по себе, если поставить четко по таймингу будет фора 8 ударов у крипов, если не четко меньше, причем на 7 ударов там времени секунда где-то, на 6 ударов 2 секунды, так что успеть можно, не говоря о том, что крипы идут линейно и предсказать это просто, так что тут не реакция нефига а просто действие заранее.
если все так просто почему это не делают на про сцене?
Теперь делают) После того, как боты это показали.
Ну моё имхо, так это сомнительная целесообразность, 8 ударов это не так много, а стоит 100 золота.
Тем не менее это интересная стратегия, которая в определенных случаях позволяет забрать вышку.
Робот же не может навредить человеку. но сколько же людей расстроятся из-за поражения своих любимчиков:) А если серьезно, то это безумно круто. удачи ботам:)
Робот же не может навредить человеку

Это только по Азимову. Джеймс Кэмерон немного другого мнения. ;)
Насколько я помню Азимова — все таки может. Просто неумышленно.:)

Помню, например, рассказ где роботу приказали достать важные элементы без которых база на Меркурии(?) загнется. Но роботу не объяснили важность миссии. А ему оказалось «стремно». И он как то не торопился добывать элементы. Не поймали б робота — загнулась бы база вместе с людьми:)
UFO just landed and posted this here
UFO just landed and posted this here
Последняя игра, в которую я играл более-менее, была Q2.
Мне очень интересно следить за противостоянием белковых и кремниевых, и я бы с радостью посмотрел трансляцию…
Но не буду.
Уже пытался смотреть стримы, но всё равно ничего не понятно. Что произошло? Кто выиграл боестолкновение? Кто побеждает? Куда смотреть? А комментаторы только усиливают хаос, говоря на каком-то своем языке. С выражениями типа тех, что в комментариях выше
лион в стане от фиссуры
скомпенсировать траты на варды и плевать что он не в мете

Кто-нибудь знает, где можно будет посмотреть игру так, чтобы было понятно простым смертным?
Вот это проблема для MOBA (та же, кстати, с которой сталкивается ИИ) — очень большой глоссарий базовых терминов, которые необходимо освоить, чтобы нормально понимать игру.

В общем, увы, нет, если основы не знаете, смотреть трансляцию довольно специфичного события (т.е. массово никто заморачиваться с адаптацией под новичков не станет) смысла нет, скорее всего.
Ну естественно, зачем ради нас, не-дотеров, заморачиваться. Нас ведь так мало…
Проблема в том, что на это (для понимания на уровне «перестал теряться раз в 1-2 минуты при спокойном темпе игры и понимаю хотя бы 50% происходящего в более интенсивных ситуациях») реально надо будет угрохать раза в 2-3 больше времени, чем займёт сама игра, и это если довольно интенсивно подавать материал.

Это не столько «зачем заморачиваться ради чёртовых казуалов», сколько «зачем объяснять это им, если 90% не интересно, а кому надо — сами придут».
Ну тогда молитесь, чтобы казуалам по прежнему было не интересно. Потому что если вдруг станет, то игра быстренько эволюционирует.
И будут комментаторы быстрые схватки на замедленных повторах анализировать, пока игроки отдыхают.
Да ё-моё, мне совсем не жаль, я наоборот за широкую популяризацию разных форм киберспорта. Просто с мобами, особенно дотой, это довольно сложно делать — вникать тяжеловато. Это был единственный посыл — «я совсем не против, чтоб сюда приходили, но пожалуйста, готовьтесь, будет сложновато».

А после матчей комментаторы (а чаще выделенная студия аналитики уже, а не комментаторы) уже давно анализируют матчи, подмечая на повторах наиболее интересные, яркие или ключевые моменты, да. Это замечательно.
Я больше скажу — это как с шахматами, если у тебя ниже 1го разряда, то турниры с топовыми игроками можно не смотреть, потому что разрыв слишком большой. Вместо того чтобы чему-то научиться, ты просто сидишь и не понимаешь игру, даже несмотря на комментарии и разбор ходов.
Ну… не скажите.
Турниры турнирам рознь.

На набережной в Ялте одно время (возможно, и сейчас) летными жаркими вечерами собиралась тусовка шахматистов из местного клуба. Ниже 1го разряда у них никого не было. Ну чемпионов мира — тоже. Играли они преимущественно друг с другом, но иногда их можно было уговорить и на игру с прохожим.
Играли блицы. 5 минут на партию каждому игроку.
По началу действительно ничего не понятно. Не успеваешь.
Но некоторое время насмотревшись уже получалось найти ходы лучше чем игроки сыграли и увидеть где кто чего зевнул. И это в «онлайне».

Сам я даже до 3го в лучшие свои времена не дотягивал.
В том и суть, что чемпионов мира не было. Если бы вы находили зевки или более лучшие ходы за Магнуса Карлсена или Владимира Крамника — тогда другое дело :)
Если бы они играли блицы по 20 штук за вечер и так каждый вечер, то думаю ходов по лучше хватило б на всех ;-)
Не обязательно быть дотером чтобы понимать, я СК2 люблю смотреть, хотя сам тока компанию играл.
Просто у доты относительно других игр большой порог входа, я вообще удивляюсь как у неё новые игроки появляются.
Вот фраза из из eve-online, которая вовсе не MOBA:
На инсте гейта минусовый хуррик, в бубле, в агре.

перевод
В непосредственной близости от звёздных врат (то есть на таком расстоянии, что можно невозбранно пропрыгнуть) находится линейный крейсер класса «Хуррикейн», пилот которого является врагом нашей корпорации/альянса, в течение последней минуты совершивший акт агрессии против другого игрока, что не позволяет ему использовать звёздные врата по прямому назначению. Также крейсер находится в антигиперпрыжковом поле, что не позволяет ему использовать генератор гиперпрыжкового поля и уебать нахуй вглубь системы.


Похожие фразы можно найти и про wow, и про diablo2, starcraft, да вообще про что угодно.
Если включить радиотрансляцию с матча по футболу человеку, незнакомому с этой игрой (да, такого сложно найти), то он тоже мало что поймет.
Ну да, абсолютно, такие вещи очень много в каких играх с активным коммьюнити можно найти.
Просто скажем так, мне сложно представить обстоятельства, в которых кто-то стал бы транслировать EVE Online, ещё и с какими-то жёсткими рамками по времени, потому мобы с их соревновательной составляющей, которую как-то монетизируют и делают публичным развлечением, были более ярким примером. Да и в данном случае речь о Доте шла.
К тому-ж эпичные зарубы в EVE абсолютно не зрелищный, даже если понимаешь, что происходит. Трансляция экрана игрока-да, для понимающих зрелище захватывающее, но не любого игрока, и не одного игрока. Для «трансляции» боя требуется захват экранов всех участников, ну и переговоры желательны, потом ещё смонтировать-бы.
В EVE есть ежегодный турнир альянсов (недавно прошёл 16-й, поговаривают что последний из-за низкой популярности), который по сути представляет собой бой на арене между двумя околосбалансированными по силе кораблей командами. Очень специфичное зрелище, опять же без понимания игры половина движухи на арене будет непонятна.
Окей, спасибо (без сарказма, информация для меня новая, почему бы и нет). Кажется, мою мысль оно в целом подтверждает, я уже сказал, что просто речь идёт об определённом частном случае, о котором я в основном и вёл речь (но ни в коем разе не претендовал на его исключительность).
Хы, вспомнил времена, когда играл в WoW еще:
«2дд лфг цлк25 гс5.4 трини есть»
Знаете, в точности то же самое говорят и про Eve Online o)
Испытываю те же проблемы в свои 34. Вроде и интересно (человеки пытаются победить роботов) и в целом принцип понятен, но начинаешь смотреть стрим и становится совершенно непонятно, что происходит на экране.
Сравнение не совсем корректное, но «быстро объясните эти диф. уравнения что бы стало понятно человеку который когда то учил цифры и не хочет во все это вникать». Звучит как то так.
1. Совсем не корректное;
2. Не объясните, а покажите, куда смотреть;
3. Думаю, я бы смог.

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

А на С не смотри, оно не важно.
Только вот после этого объяснения, показав пару других типов диффуров, вам придётся заново объяснять, как эти преобразования работают на принципиально других аргументах (и работают ли вообще), и какие другие преобразования придётся использовать.
А когда вы смотрите профессиональный матч, никто не станет «играть попроще», чтоб зритель-новичок понял. Люди деньги зарабатывают, наоборот, чем хитрее и тоньше, тем зачастую и лучше.
UFO just landed and posted this here
Довольно часто слышу как комментаторы не разжёвывают, но объясняют правила для тех, кто впервые увидел этот вид спорта, если он не очень популярный.
Спортивные правила обычно очень просты в сравнении с.

Простите, а когда король в шахматах ходит через фигуры?

Наверное, рокировка, если делать ее через ладью, а не через короля.

Ну тут сложно сказать кто через кого ходит, король через ладью, или она через него.

Если быть очень придирчивым, по правилам, рокировка всегда начинается с хода короля, вне зависимости от стороны, в которую выполняется.
Можно попробовать посмотреть записи с первого интернешенела, там комментаторы именно таким образом рассказывали, что и как, в простой манере.
UFO just landed and posted this here

О, так намного понятнее, спасибо за перевод

Раньше был стрим TI для новичков или тех, кто совсем не разбирается в игре.
Есть официальная трансляция для новичков — www.twitch.tv/dota2ti_newcomer.
Стоит отметить, что трансляция только на английском языке.
Это вам не футбол:)
Я долгое время смотрел стримы по Гвинту и таки да. Для непосвященного карточки меняются очень быстро, прочитать текст нереально, а уж комментарии целиком сленговые…
Да что там для непосвященного… Я играл в ХС с ОБТ и до начала 2018. Сейчас, пропустив 2 последних обновления, я захожу на стримы и не знаю, какие картонки что делают.
С Гвинтом попроще, хотя я его тоже забросил. Там банально меньше новых карт
Нагромождение сущностей не делает игру интересней, жаль, что дизайнеры карточных игр до этого никак не дойдут.
Дизайнеры получают несколько другую задачу на вход:)
От них требуют чтобы игра приносила больше денег.
А «интересность» она даже не в первой тройке приоритетов.
Хотя «интересность» и прибыльность пытаются всеми силами отвязать друг от друга, пока они связанны неразрывно. Поэтому ведьмак взлетел, и гвинт в нём нравиться почти всем, а отдельный гвинт не так что-бы был хитом.
Ведьмак это исключение. Он именно потому и взлетел, что изначально закладывался как интересный. На фоне абсолютного большинства игр нынче, которые делаются как раз на выжимание денег Ведьмак полыхнул сверхновой.
Есть трансляция для новичков, если понимаете английский. https://www.twitch.tv/dota2ti_newcomer
Возможно, есть и русский стрим новичковый, но я не слышал.
Лион — имя персонажа
Стан — название эффекта под которое он попал
фиссура — название способности которая накинула этот эффект.
Куда проще? Это даже не сокращение или какие-то мудренные термины, а просто названия которые можно увидеть сыграв разок другой.
UFO just landed and posted this here
Потому что ошибся и не нажал эхо слем сразу, он же сам потом сказал ;)
Более того это просто англ слова, смысл которых можно спроецировать в игру.
Кто-нибудь знает, где можно будет посмотреть игру так, чтобы было понятно простым смертным?

Да нафиг это нам не нужно. Понимаете ли, с тех пор как дота стала отдельной игрой, при взгляде на неё, единственно что я вижу — сплошное мельтещение графических эффектов, поглощающее происходящее. Я просто не увижу то, что происходит, даже если мне это будут объяснять на понятном мне уровне.
Значит, не одному мне так показалось. После варкрафта действительно было ничего не понятно в замесах, одни огни мелькают. Может, конечно, это только из-за привычки к другой графике.

Просто УИ действительно перегружено, и тут ничего не сделаешь, механика такая. Я после первой доты тоже долго привыкал.

Да ничего не поменялось, как мне кажется. Просто к механике и графике вар3 ты привык уже, вот и кажется всё знакомым. После вар3 увидев мощный замес в дота 1 ты бы тоже офигел и ничего не понял, а потом привыкаешь уже и даже не видишь половину анимаций итд. Мозг как-то отфильтровывает.
Мозг видит всё, но вместо мусорной графики оценивает «ага, был скастован скилл Х».

После анимаций первого варкрафта было очень тяжело: деревья сливаются друг с другом, ауры нужно прокликивать, многие анимации намного менее контрастные,… Нужно поиграть 20-30 игр чтобы привыкнуть, а после сотни игр начинаешь вычленять исключительно полезную информацию.
Уже пытался смотреть стримы, но всё равно ничего не понятно. Что произошло? Кто выиграл боестолкновение? Кто побеждает? Куда смотреть? А комментаторы только усиливают хаос, говоря на каком-то своем языке. С выражениями типа тех, что в комментариях выше


Форвард ударяет велосипедом, от чего мяч перелетает бетон и голкипер пропускает хет-трик.

Как вы думаете, ваша жена или любой другой человек незнакомый с футболом многое понял из этой фразы?

Сленг — норма любой специфической сферы деятельности. Для его разжевывания нужно быть погруженным, например играть в футбол, или в данном случае в доту.
Я не поклонник футбола, но никогда не слышал подобную фразу от комментаторов. Никто не пропускает хет-трик, его делают. Про бетон и велосипед мне остается только догадываться.
UFO just landed and posted this here

Если будут такие же ограничения, то в первом матче преимущество будет в том, что люди в такую доту просто не играют, с-но некоторые решения которые верны в нормальной доте, тут будут ошибочными, и наоборот.

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

Вообще говоря, если бы они до этого не видели матч с ботами, то, вполне себе, проиграли бы. Потому что то как они играли с ботами — это сейчас не в мете. А если бы играли метово — маловероятно, что успели бы подстроиться под ботов.

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

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


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

Вообще то могу. Достаточно посмотреть на ютубчике как он играл с другими противниками ранее ;-)
Вообще то могу. Достаточно посмотреть на ютубчике как он играл с другими противниками ранее ;-)

Я вообще думал, этот тот же тред, что про quake и ответил не совсем про то :)
Посмотреть-то в ютубчике вы можете, но это не даст вам больших знаний, чем в случае игры с обычным игроком.

Здесь, кстати, еще интересный момент — так же как люди не готовы к игре с ботом так и бот не готов к игре с людьми. То поведение, которое он выучил оптимальным в игре сам с собой, не всегда будет оптимальным в игре против людей.
Конкретный пример: вот в игре с PaiN вихо на аксе не упевал после блинка прожимать колл, т.к. бот всегда успевал отпрыгивать своим блинком. С-но, что выучит бот в игре с самим с собой? нет смысла пытаться поймать героя с блинком при помощи колла акса. И не будет это пытаться сделать в игре с людьми. Хотя люди прекрасно ловятся :)

Не уверен. Думаю бот выучит, что надо отпрыгивать.
Потому что положительное закрепление было именно на «отпрыгивание».

А отрицательного закрепления на «попытку блинка» — не было. Значит не должно быть забраковано.
А отрицательного закрепления на «попытку блинка» — не было.


Конечно было. Бот тратил ресурсы на блинк, от которого чужой бот в 100% отпрыгивает.
Хм. Тогда таки да.
Не скоро людей обыграют:)
Слава роботам!!! Убить всех человеков!!!
Если без ограничений, то уверен, что люди порвут ботов. Если с ограничениями, то тут всё зависит исключительно от ограничений.
Вот когда бот победит про-игрока 1 на 1, тогда поговорим.
Вот когда команда ботов победит 5 на 5, тогда поговорим.
=== Вы находитесь здесь ===
Вот когда команда ботов победит про-игроков 5 на 5, тогда поговорим.
Вот когда команда ботов победит про-игроков 5 на 5 без ограничений, тогда поговорим.
Вот когда команда ботов победит про-игроков 5 на 5 без ограничений и без использования API для ботов, только анализируя аудиовизуальный поток, тогда поговорим.
Проблема только в том, что они немного в другую игру играют, не в доту, а почти в суровый такой кастом гейм на основе доты.
При этом я мало сомневаюсь, что рано или поздно они научатся людей и в «полноценную» доту рвать, но пока не думаю, что скоро.

Думаю что боты в доте и Лоле уже давно играют.

Написанные заскриптованные боты — да.
Обученные сколько-то «честным» ML, и, как следствие, потенциально превосходящие человека не только реакцией, но и пониманием — точно нет.
Что есть понимание? Понимаем ли мы сами?
Совсем недавно была статья на хабре посвященная данной теме.
habr.com/post/420197
В контексте у самого термина «понимание» есть относительно чёткая трактовка — умение делать наблюдения (как позитивные, так и негативные — Х присутствует/Х отсутствует), дополнять, уточнять и обновлять на основе этих наблюдений собственную ментальную модель происходящего в игре, и на основе этих дополнений принимать решения как тактические, так и стратегические, и на основе обратной связи (результат игры или отдельных её моментов) также обновлять модель принятия тактических и стратегических решений.

Пример банальной цепочки вещей, которые человеку приходят с опытом, и формируют маленький кусочек «понимания игры»:
— Мы хотим обладать максимумом информации о действиях и состоянии соперника
— Соответственно, мы хотим организовывать максимальный обзор на карте (ставить варды, например; различия в важности наличия вижена в разных участках карты в принципе и в разных игровых ситуациях оставим за кадром, это немного следующий уровень рассуждений)
— Когда мы имеем условно достаточный уровень обзора, мы можем делать выводы, как видя противника (можно наблюдать, какие действия на карте он производит, и строить прогнозы развития событий, и предпринимать решения — стоит ли пытаться его сейчас убить, например, или его можно условно игнорировать), так и не видя его (если мы видим большУю часть карты, и не видим противника, вполне вероятно, что он осознанно скрылся, и, возможно, предпринимает агрессивные действия, которых надо или избегать, или встретить готовыми всей командой, или предпринять ответную агрессию).

И так вот понемногу, по кирпичикам.

Народ вы читайте сначала весь текст статьи. Играют именно на видеопотока распознавая картинку.

Я конечно не знаю, что такое «официальный API доты для ботов», но сомневаюсь, что в нем — просто картинка.
Логичнее было бы передавать как раз закодированное игровое поле примерно в таком виде, каким его распознает человек.
Вот когда команда ботов победит 5 на 5, тогда поговорим.

Боты на 5*5, причем без ограничений на весь пул героев в доте есть уже давным-давно, с разморозкой вас ;)
Вопрос именно в том, насколько они хорошо играют.

Пока на этом уровне и остались. Даже самую слабы команду-участницу ТИ боты не победили :(
Самая слабая команда-участница ТИ это все же топ 20 команд всего мира. Нехило такое «лишь».
Они не топ 20. Паин отобрались с региональных квал. Многие команды из СНГ, Европы и Китая да и тот же регион юго-восток Азии обыграли бы их.
Не согласен, с приходом w33 они очень неплохо стали играть. В общем рейтинге DPC они заняли 16е место (если не считать дисквала из-за смены состава) и являются одной из 16 команд за этот год с призовым местом на мейджоре.
128 тысяч процессорных ядер Google Cloud.
256 GPU P100 NVIDIA

Какой-то дичайший перевес в сторону CPU. Они что, нейронку в основном на CPU тренируют?

На сколько я понимаю, CPU используются для симуляции параллельных игр, а GPU для обучения.

UFO just landed and posted this here

Сильно ли отличается уровень, например, среднего музыканта, который тренировался 10 лет от того, кто тренировался 20? С какого уровня человек достигает предела, выше которого не растет.


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

UFO just landed and posted this here
Топ игроки Го с вами не согласны, причем в корне, чем сложнее среда, тем больше ИИ доминирует над людьми

У топ игроков го странное мнение, которое опровергается наблюдаемыми фактами.
Мне кажется, топ-игроки го имели ввиду что-то другое, не то, что вы сейчас говорите.

Можно пару фамилий? Или вы от их имени говорите?


Конечно ИИ будет переигрывать в доте. Но у конкретной архитектуры есть плато. И её можно хоть сто настоящих лет учить — плато останется. Если плато выше, чем навык людей — будет обыгрывать (если доучить до этого плато). Если плато ниже — будет проигрывать.


Конечно всегда можно взять более крупную архитектуру. У неё плато наверняка будет выше. Просто учить сложнее. Иногда настолько сложнее, что вообще не ясно — как.


Если интересно — посмотрите "график обучения нейронной сети", на них хорошо видно, что сеть постепенно идёт к определенному уровню.

> Квантовый компьютер
> Роботы-убийцы
> Мы все умрем

Вы точно в правильном месте решили начать писать про конец света и восстание машин?
Тренировка нейронки не бесконенчна, в итоге строится сеть тренирующая сеть (нашу нейронку) и эта тренировка сводится к упрощению внутреннего состояния «нашей нейронки», к отсечению лишних путей и в конце конце все упрощается до аналитического решения (если оно существует). Так действует человеческий мозг. Невозможно бесконечно улучшать законы Ньютона наблюдая за падающим яблоком.
По информации от разработчиков, все партии происходят с отрисовкой событий на карте с частотой в 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 похоже главное выиграть пусть с помощью скриптов и готовых алгоритмов.

У DeepMind задача на играх научиться чему-то чтобы решить новую область задач с помощью AI. OpenAI похоже главное выиграть пусть с помощью скриптов и готовых алгоритмов.

Ну ок тогда. Мне просто казалось, что у OpeanAI та же задача.

Чем это нарушает чистоту эксперимента? 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 я бы на глаз не взялся — слишком сильное утверждение, если не подкреплять хотя бы прикидкой на цифрах.
Может статься, что мы говорим о равных шагах нарастающей сложности.

Комбинаторика доты больше на порядки чем го гарантированно. Причем мне даже сложно оценить, насколько. Одно только количество комбинаций героев в игре 11,279,926,456,656. При этом у каждого героя есть несколько вариантов прокачки (около полумиллиона), и 9 слотов для одного (или нескольких из) 130. И это только изначальная установка. Дальше у нас появляются возможности сочетать всех этих геров со всеми умениями со всеми предметами…

Всего 14 знаков? В го сотня с гаком.


И вопрос был в другом N(го)/N(шахматы) <<? N(дота)/N(го)

Всего 14 знаков? В го сотня с гаком.

Это только пики героев. Фактически, эквивалентно первым 15 ходам игры в го, пр-во примерно тоже.
А дальше начинается, с-но, сама дота :)

Конечно на порядки, причём я бы даже оценить эти порядки не взялся. Что там сочетания, если первое, бросающееся в глаза — позиционирование на карте во времени. Тут не сотня-другая клеток, и двигаться можно непрерывно, а не по очереди на один шаг.

На самом деле конечно это все равно движение шагами, просто они очень мелкие и человеку кажутся непрерывными. Ну это если придираться.

Шаги настолько маленькие, что можно рассматривать поле как 100000х100000, что сильно больше поля для того же го. Так что проще считать их условно непрерывными.

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

UFO just landed and posted this here

Го и есть точки, так что уже завезли:)

Учитесь читать статьи дальше их завлектельного названия.
По вашей же ссылке разжевано, что сделать снайпера — не проблема. Разработчикам пришлось специльно замедлять реакцию ботов, чтобы игра с людьми имела какой-то смысл.
ЗАДАЧА заключалась в том, чтобы обучить ботов игре в команде: огневая поддержка, распеределение ролей. И это без чатиков! И это удалось, между прочим.

З.Ы. И заметьте, в этом недо-CTF бот видел просто картинку, а не готовое игровое поле, как в Доте.
Не только статью читал, но и pdf'ку, и не очень понимаю суть вашего наезда недовольства. :-)

Я не умаляю значение этой работы, еще раз подчеркну: да, это круто, такие исследования я только приветствую (особенно как любитель кваки), и результаты очень интересные и воодушевляющие. Но до уверенного доминирования 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 и вот этим вот всем? Вы же понимаете, что это чистая метаигра?

Конечно: на чемпионатах заранее известный маппул, многим картам 10+ лет, все изучены вдоль и поперек, тщательно взвешены расположение и ротация айтемов, риски той или иной тактики и стиля игры, варианты opening'ов в зависимости от spawn-поинта; в общем, когда и куда бежать, когда и куда стрелять. На малознакомых картах не интересно ни игрокам, ни зрителям.

Так а при чем тут известная карта, нужна не известная карта, нужен противник, который согласится с вами 6 часов поиграть и дать возможность узнать его игру. В доте вон, вообще в групповых "страты не палят", ждут плейоффа. Как вы что узнавать собрались?

Вы меня запутали. :-) Окей, шестичасовой warmup это нонсенс, согласен, никто так не соревнуется, но и неизвестные карты на соревнованиях не играют. В кваке топ-игроки играют (тренируются) между собой постоянно и хорошо знают сильные и слабые стороны друг друга на той или иной карте (и поэтому их пикают или черкают). Думаю, показательная игра AI против людей в Quake будет проводиться на известных популярных картах, bo7-bo9.
В доте стратегии не палят, но заранее как каждый игрок играет известно, потому что до этого он уже сыграл очень много публичных игр. Это не игра с неизвестным, а вполне ожидаемые действия ждут от каждого игрока и каждый же команды.
Только для турниров каждая комнда копит «фишечки», которая она нигде пока не демонстрировала. Вспомнить того же рошана на первом уровне на текущем турнире.

Само собой.
Я турнир не смотрел, но и раньше Равшана убивали на первом уровне.

Рошана на первом уровне раньше убивали только в пабах, на про сцене риск слишком велик.
Не обошлось и без изюминок, которые так любят видеть зрители: Амер «Miracle» аль-Баркави совершил рэмпейдж (убийство всех вражеских героев одним игроком) играя за Huskar, команда Alliiance сумела убить Рошана на первом уровне героев с помощью связки Ursa и Witch Doctor, керри команды Na`Vi Дмитрий «Ditya Ra» Миненков невероятным образом выжил с единицей очков здоровья и при этом убил вражеского героя, а Digital Chaos сумели перевернуть игру с отставанием около 20 тысяч по золоту (это очень много. — Прим. ред.).

www.championat.com/cybersport/article-3289643-obzor-vtorogo-dnja-gruppovogo-etapa-chm-po-dota-2--the-international-2016.html
Ок.

В любом случае это не та вещь, про которую все помнят и которую все используют. Можно послушать комментаторов на этом моменте, они сами это говорят.
Убийству Рошана на 1 лвл 100 лет в обед. Это не является фишкой или секретом даже для паб игр. Про профессионалов даже и говорить не буду.
Фишка не в том, как его убить, а чтобы это сделать. Это нереальный риск отдать кучу преимущества в самом начале, на про сцене это недопустимо.
Убийство Рошана не является фишкой или какой-то интересной стратегией. Это очень очевидная вещь, даже банальная. Вся ставка на то, что поймают тебя или нет.

Фишка, когда показывают что-то новое, новая комбинация там или совершено другой стиль игры.
Как китайцы показали игру через фарм и выигрывали. Это было очень круто, никто и не ожидал, что можно просто перефармить и выиграть. Потом научились это контрить.
Буквально на этом TI8 убивали рошана не 1-ом лвл.
1. Послать бота на обычные карты с полным набором оружия — не проблема, АI все равно. Но тогда любой журналист напишет, что роботы учатся убивать людей. Именно поэтому разрабы так старательно избегают военной терминологии. Даже вместо «стрелять» пишут «осалить».
2. Теперь по поводу второго коммента. Естественно! Как я понимаю, именно этого и добивались разрабы. Люди обучались стратегии ботов, а ботам не дали обучиться новой стратегии людей. Итог закономерен.
Ботов в Quake/UT несложно научить идеально стрелять и доджиться, но лучшие игроки выигрывают не столько благодаря стрельбе (хотя стрелять в кваке, конечно, уметь надо, и желательно, хорошо), а за счет знания карт, умения слушать уровень, предугадывать действия и, наоборот, удивлять соперника. Говорят, мол, Quake неинтересен для ИИ, потому что компьютер всегда перестреляет человека, — имхо, интеллект в кваке проявляется всё-таки в другом, а вещи типа времени реакции, идеального тайминга или меткости как раз имеет смысл гандикапить.

Если бот умеет крутится на 360 градусов десять раз в секунду и всегда стрелять в голову игроку, то вы такую игру выкинете в ту же секунду. На хабре уже были статьи про то, что ботов специально вяжут по рукам и ногам, чтобы мешки с мясом не расстраивались. Пруф.
Про мешки с мясом всё понятно; кто-то всегда играет на I'm too young to die и вообще преодолевать, так сказать, не любит. Там да, приходится вязать и притуплять. Речь, однако, о более требовательных игроках, условных «разрядниках» среднего уровня. Оказывается, что в какой-то момент суперметкость больше не гарантирует ботам победу. Те же 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) и всё такое, или лучшие квачные боты (с нулевой реакцией и полным обзором) уверенно обыгрываются средним игроком-человеком.

Хедшотов в классических квейках, кстати, нет (разве что ачивка появилась в 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, который обсуждается в статье.
Какой-то минимальный гандикап, скорее всего, есть (случайный разброс в несколько процентов при стрельбе и таймингах), чтобы сделать игру хоть чуть-чуть похожей на настоящую, но сути это не меняет: боты не могут составить конкуренцию более-менее опытному игроку с ≥35% LG/RG.
The International, который обсуждается в статье.
А, я думал это из кваки что-то и никак не мог понять, что же. :-/
UFO just landed and posted this here
Тут есть еще один немаловажный момент, на реддите в теме про ограничения дообсуждались до того, что использование Bottle по общему времени обучения превышает _все_ что сделали боты до этого в три раза. То есть обучение использовать одну вещь сложнее, чем обучение 5 ботов разнести 6к ммр солянку в рандом драфте.

Это настолько жёсткое преувеличение, что тут даже говорить нечего.
Возможно, даже ограничение на курьеров сложнее, чем на ботл (из-за того, что боты научились весьма неадекватно абузить наличие пяти неуязвимых курьеров).
боты научились весьма неадекватно абузить наличие пяти неуязвимых курьеров

Боты как раз в данном случае действуют очень адекватно и логично :)

Неадекватно с точки зрения игроков-людей и нормальной доты, где не получится себе нон-стоп носить фласки во время драки.
UFO just landed and posted this here
Абуз курьера был не в том, что боты идеально быстро закупались и клали в неё предметы, а в том, что они безостановочно носили пятью курьерами себе предметы на регенерацию, принося их прямо в замесе и тут же восстанавливая себе здоровье и ману.
Во-первых, с одним курьером они бы банально не могли обеспечить себе такую интенсивность принесения предметов (можно обратить внимание, что большую часть времени было задействовано 1-3 курьера сразу). Во-вторых, с уязвимыми курьерами боты бы не смогли так беспечно носить эту регенерацию в моменты столкновения с игроками.

Ну тут основная проблема в коммуникации. Крипов боты друг у друга вполне бодро подворовывали, с 1 курьером, не сомневаюсь, мы бы пронаблюдали каноничное "кто куру реюзнул, твари??7?" :)
Так что, чтобы без токсичности — каждому по куре и все довольны :)

Про крипов, возможно, это они так уравнивали уровень. Об этом писали в предыдущей статье.
Про крипов, возможно, это они так уравнивали уровень. Об этом писали в предыдущей статье.

Были моменты, когда боты замахивались на одного и того же крипа. Успевал убить, конечно, только один.

UFO just landed and posted this here

Рапира единственный артефакт который может выпадать, а болт крайне своеобразный

UFO just landed and posted this here

Совсем скоро обидное слово: "да ты бот" поменяет свой смысл ровно на противоположный...

Вот бы популярность доты конвертировать во второй Старкрафт )

Ну пока что у DeepMind конкурировать с людьми, на сколько я знаю, не получается. Максимум речь идёт о решении отдельных задач на микроконтроль. При этом мне не очевидно, чтобы DeepMind как исследовательский коллектив были существенно слабее OpenAI. Так что, возможно, дело в сложности игры.
Отмечу также, что даже начинающие игроки (серебряная лига) без особых проблем обыгрывают встроенный ИИ на максимальной сложности.

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


Возможно, тут проблема в инкрементальности — опенАИ сперва выкатили бота 1в1, и это было как бы осмысленно, сейчас вот пул с 16 героями, и это тоже воспринимается ок, хоть и понятно, что "не дота". Плюс захардкоженные билды.
но как это было бы в старкрафте? сделать бота зерга, который будет играть только рабами и зерлингами и при этом в захордкоженных бо? Ну даже не смешно, это никто не будет всерьез обсуждать.

Я видел ваше сообщение в параллельной теме, но не стал тогда комментить. :)
Мне совсем не очевидна справедливость Вашего тезиса, что sc2 стратегически проще доты. Где вы проводите раздел между тактическими задачами и стратегическими?


Во второму вопросу: можно показывать убедительное микро, можно показать игру бота против встроенного ИИ.

Мне совсем не очевидна справедливость Вашего тезиса, что sc2 стратегически проще доты. Где вы проводите раздел между тактическими задачами и стратегическими?

Это вопрос хороший, т.к. разница тут где-то там же, где несколько зерен становятся кучей :)
Я провожу водораздел где-то в области многошавости — например, план "сделаю забегание/дроп, чтобы нанести урон экономике", это что-то тактическое, т.к. конкретное действие и конкретный результат, сразу. Или: "пойдем и погангаем этого персонажа" — это тоже что-то тактическое. А вот если: "там много контроля, одному из коров не хватает 1к до бкб, значит, он должен пойти пофармить на него, значит надо создать спейс, фармить он будет вот тут, сюда на подходе ставим один вард, а сами будет разводить грязь здесь, значит, здесь ставим второй, собрались, пошли" — то вот это уже ближе к стратегии. Многоходовочка :)
Опять же, количество разных бо и вообще, скажем так "условно работающих стратегий" в старкрафте на порядок меньше. С-но и выбор стратегический (как играть в общем) существенно уже.


Во второму вопросу: можно показывать убедительное микро, можно показать игру бота против встроенного ИИ.

Ну, убедительное микро зерлингами вс танков показывали и без нейросетей :)

Я всё-же не соглашусь, но не хочу уходить в детали. Мне кажется, что вы доту знаете лучше, чем sc2. :)


Ну, убедительное микро зерлингами вс танков показывали и без нейросетей :)

Именно! Пусть теперь AI этому сам обучится, для разных карт и рельефов! Чем не вызов?

план «сделаю забегание/дроп, чтобы нанести урон экономике»

Шикарный план, только откуда взять дропшип? Ах, его же нужно было построить несколько минут назад, а перед этим построить старпорт (отказавшись от другой постройки) ну и так далее.
количество разных бо и вообще, скажем так «условно работающих стратегий» в старкрафте на порядок меньше

Пруфы будут? Я вот скажу что в доте 3 стратегии — идти в сверху, снизу и по миду. Согласны?

Мой тезис был: "у DeepMind конкурировать с людьми, на сколько я знаю, не получается". Я не увидел, чтобы видео по ссылке ему противоречило. Я что-то пропустил?

А если ИИ не будет знать, что делать, он примется в задумчивости «шевелить пальцами», как компонентный робот из рассказа Азимова «Как поймать кролика».
Не совсем по теме, но может кто в курсе, как там дела у ДипМайнда и StarCraft2?

Вот игра двух ботов. Потрясающее микро с АПМ под сорок тысяч, но стратегия пока хромает. Продолжаем наблюдать.

UFO just landed and posted this here

Давайте все же будем корректными — бот еще не умеет играть в доту. Ни на сколько ммр.
Этот график — то же самое, что если бы бот играющий в го на поле в 6-6 вместо 19-19 кого-то там обыгрывал и ему бы ставили соответствующее звание.

Посмотрел, как OpenAI разорвал в клочья людей в предыдущей битве. Думаю, что у белковых особей крайне мало шансов, особенно в первой игре. Наверняка играть будут те, кто вылетел из основного турнира. Времени на разработку тактических уловок именно против ботов у них будет немного.
UFO just landed and posted this here

Ожидаемый — люди заабузили непонимание ботом лейта, затянули и выиграли.
Курьеров, кстати, пофиксили, сейчас он один, уязвимый. Бот два раза отдал его :)

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

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


И таких макро проигранных ситуаций было очень много

Ну, игроки тоже там не раз замисплеили.

Не спал пол ночи, болел за «наших». Перед игрой OpenAl посмотрел два матча на вылет «живых людей» и в целом происходящее на экране становится понятным на уровне — «вот наши, а вот не наши, тут вот большой замес и размен 2:3 это плохо, а тут 2:1 это хорошо, какие-то деньги (или их дельта) обозначается рядом со счетом фрагов и чем их больше тем соответственно лучше».
Игра с ботом оказалась довольно длинной — чуть не час. И в какой-то момент в середине игры казалось, что боты доминируют и исход ясен, но очередные «качели» и люди вырвались вперёд.
Очень жаль конечно.
Но надеюсь разработчики на этот (и следующие два) матча включат ботам галочку «сделать максимальные выводы из прошедшего матча». Ну и то, что боты между собой не общаются это конечно приводит к ошибкам откровенным.
Жаль игры поздно (или рано) очень. До конца недели так и не высплюсь.
Спасибо за ссылку, посмотрел с удовольствием; хотя в доте ничего не понимаю, но кастеры молодцы, было приятно послушать. Жаль, конечно, что ничего похожего по размаху и качеству для кваки нынче не проводится. :-(
Жанр мертв. Даже более мертв, чем стратегии. А беседка своими квейкконами с основным режимом тдм 2х2 и выбором Saber в качестве разработчика еще сильнее убивают игру.
UFO just landed and posted this here
Плюс система ревардов требует переделки, она должна быть динамической, а тут, судя по тому что боты не сделали синхронный тп с рошана чтобы отбить акса — он статический и не учитывает изменение обстановки. То есть если на момент начала атаки на рошана ревард был максимальный, никакие внешние действия не могли его сбросить и отменить атаку ботов… что выглядит весьма странно.

Она, конечно же, динамическая, но боты решили, что рошан важнее. Собственно многие мясные команды приняли то же решение. Хотя ни одна из них не дошла бы до TI, это верно. Не забывайте, что решение отдать рошана за барак могло быть выигрышным, «странным ходом» по аналогии с альфа го. Просто боты зашли в лейт где и умерли, не потому, что отдали барак, а потому что кастовали по 5 скиллов в одного саппорта, после чего оставались беззащитными против снайпера.

Резюмируя, надеялся на гораздо лучший результат от ботов. Оказалось, что при резком повышении уровня игры людей, все обучение ботов разваливается. Ну… будем посмотреть что в следующем матче будет, возможно поиграют с теми, кто вылетел уже в финальной стадии… предполагаю Newbee

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

Странно, кстати, что пейны в принципе не абузили байты, т.к. то, что боты принципиально не могут в менеджмент ресурсов было достаточно очевидно по предыдущим играм.
Причем проблема это скорее всего архитектурная, будет интересно, как с ней справятся (если справятся).


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

UFO just landed and posted this here

А что писать в настройках? "никогда не отдавать аегис и сыр личу"? Так могут быть ситуации, где это разумно.

UFO just landed and posted this here
Нет) Аегис — возрождает персонажа после смерти, поэтому его надо отдать персонажу, который после смерти может внести максимальный импакт и тогда аегис не будут отдавать личу

А что если в данный момент его может забрать только лич? Остальные в стане стоят, допустим? Или лич крадет аегис с блинка и потом умирает отдавая его офк, но при этом аегис не достается противнику.

Ну в скольких матчах отдача сыра и аегиса личу помогла выиграть чтобы боты эту шизу сотворили?

Это ваш белковый мозг говорит, что отдавать аегис личу плохо. А может быть без этого сыра игра была бы проиграна на 5 минут раньше? Если бы альфа го проиграл, то все бы винили тот «странный» ход в этом, хотя на самом деле сейчас нам всем очевидно, что он был выигрышным.

Отдача аегиса личу это «questionable at best..» ©, но никто в мире не скажет, что это плохое (или хорошее) решение. Просто один из факторов, и никакого понимания, помог он ботам или проиграл — нет. Все, что можно сказать, что текущая мета считает, что сыр должен получать кери персонаж. Не более того.
UFO just landed and posted this here
я скажу) отдача аегиса личу, если это не кража из-под носа оппонента, это ВСЕГДА плохо.

просто нет.

Причем тут текущая мета? Кери персонаж — это персонаж который тащит в лейте игру. Будет кери лич — будут ему давать аегис…

А вот бот считает, что через 2 минуты возрожденный лич накинет броню и это зарешает игру.
Как Лич зарешает игру в лейте?
Кинет броню в нужный момент, я вроде написал.

И что броня изменит? Наврятли броня что-то может изменить.

Конечно, может — ваш керри вместо того, чтобы умереть, останется в живых на 200хп после стана, включит сатаник и развалит команду противника :)

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

Иметь фуллового кора (от сатаника) и саппорта строго лучше, чем фуллового кора (после аеги) и дохлого саппорта.
Так может сразу отдать сыр и аегис Керри, чтобы он и сыр прожал и реснулся тут же на месте?

С-на пока керри мертвый в аегисе сидит вся команда может отъехать.

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

Лич забрал предметы тоже исходя из оценки ситуации строго на данный момент.
Никакого плана или тактики у ИИ нет и в помине.

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

Цель разработчиков именно в том, чтобы научить ИИ прогнозировать наперед. По-этому нет смысла прикручивать подобные вещи "руками", ну допустим будет бот играть лучше, даже кого-то там победит, и что? Пользы-то от этого 0, это ничего не продемонстрирует, то, что можно руками какие-то скрипты прописать — не секрет ни для кого.

Пока бот не прогнозирует ничего. Когда научат тогда и поговорим.
До матча разработчики говорили, что боты вообще не забирали рошана, только в супер исключительных ситуациях.
Видимо, научили забирать, а кому отдавать аегис и сыр пока нет)
Суть ИИ заключается в том, чтобы он сам до этого дошел.
UFO just landed and posted this here
Война за варды это чуть ли не отдельная дисциплина. Она тоже очень вариативна и сложна.

Пока у ботов с этим полный провал. image
UFO just landed and posted this here
Сложно дать ботам преимущество, не выплеснув с этим ребенка и не заскриптовав его нафиг. У нас уже есть скриптованые боты, нужно, чтобы они сами поняли, что варды полезны и как их надо ставить. Только так можно получить качественно новое понимание игры, как в случае с альфа го.

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

Но надеюсь разработчики на этот (и следующие два) матча включат ботам галочку «сделать максимальные выводы из прошедшего матча». Ну и то, что боты между собой не общаются это конечно приводит к ошибкам откровенным.

Сильно сомневаюсь, что это возможно. Так что это 1 проигранная игра из скольких там триллионов сыгранных? Ей могут поставить очень сильные весы, но все равно сильного влияния она оказать не может на обучение бота.

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


Но игра крутая. Тоже не ожидал, что кремниевые так облажаются, на середине игры думал, что победят (когда к соперникам наверх зашли).

Позднюю игру боты не могут. Неправильные предметы

У них предметы заскриптованные из гайдов, как выше выяснили. Тут вообще трудно каких-то успехов в лейте ожидать, с таким-то подходом.

Игра с ботом оказалась довольно длинной — чуть не час. И в какой-то момент в середине игры казалось, что боты доминируют и исход ясен, но очередные «качели» и люди вырвались вперёд.
Очень жаль конечно.

Здесь над понимать, что нельзя сказать, что боты доминировали в середине. У ботов был выбор героев, который очень силен в середине игры из-за мощного прокаста, и просадка людей в этот момент была логичной, задача людей в этот момент не была выигрывать игру — она была затянуть игру, перевести ее в позднюю стадию не отдав критического преимущества. Более того — это был исходный план на игру в принципе. Иными словами — игра изначально шла по плану людей и никуда от этого плана не отклолнялась, в том числе и в середине. Ну а дальше просто по времени:
30 минута: все вроде плохо, боты жмут людей со всех сторон
31 минута: снайпер покупает бкб (предмет, который дает при использовании временную неуязвимость к магии — что делает прокаст ботов малоэффективным)
33 минута: акс покупает бкб
35 минута: пейны зажимают ботов на их базе, резво убивают гирокоптера за вышкой, ну и в этот момент игра закончилась. Оставшиеся 15 минут — пейны просто развлекались.

UFO just landed and posted this here

Ну это все было вобщем-то очевидно еще с предыдущих игр, пейны-то не просто так лейт взяли :)
Посмотрим, может, завтра что-нибудь подкрутят в быстром темпе.

Информация о матчах появилась на официальном сайте Dota 2 в разделе с расписанием игр плей-офф The International. Всего OpenAI сыграет три матча за три дня с про-игроками. Первая игра состоится примерно в 18:30-19:00 по МСК (точное время пока не указано).


Судя по информации на приведенном сайте, игры OpenAI будут проходить каждый день после 2-х игр турнира. Если так, то время игр — ближе к 1:00-2:00 по МСК
Расписание было изменено уже через сутки после публикации статьи. Форс-мажор.
Посмотрел матч. OpenAI ничего не смог сделать со снайпером, который ко второй половине игры стал очень силён. На 25-й минуте люди переломили игру. В первой половине AI выглядел более сильно. При другом наборе персонажей успех проф. игроков не гарантирован.
Вроде бы игры ботов и длятся 20-30 минут, так что то, что бот тупо не знает как играть дальше сильно заметно по игре. Остаются заскриптованные билдордеры и фарм. Напоминает мою среднестатистическую команду людей :)
Снайпер это лейт, персонаж который раскрывается в поздней игре. Вначале он крайне слаб и уязвим. Его оберегают, холят и лелеят его команда поддержки, чтобы он раскачался и зарешал. Это тактика стара как мир известна примерно с момента появления доты как карты к вар3. Пока боты не поймут, что лейта нужно всяческих харасить ака убивать/не давать качаться, а будут самозабвенно убивать сапортов, то проигрывать они будут практически всегда.
При другом наборе персонажей успех проф. игроков не гарантирован.

Сегодня сыграли с обратным пиком :)
В итоге развал был еще сильнее, хоть и менее надежный, несмотря на то, что играла более слабая команда.