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. Пока боты не поймут, что лейта нужно всяческих харасить ака убивать/не давать качаться, а будут самозабвенно убивать сапортов, то проигрывать они будут практически всегда.
При другом наборе персонажей успех проф. игроков не гарантирован.

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

Ну вот то, что победа людей не выглядела такой однозначной, еще больше подогревает интерес к предстоящим двум матчам.
UFO just landed and posted this here
ветра на акса перед агром после блинка
А напишите кто-нибудь, пожалуйста, статью по итогам всех матчей с разбором «для чайников» :)
Описание механики игры, способностей героев и предметов можно почитать здесь.
ru.dotawiki.org/wiki/Heroes
ru.dotawiki.org/wiki/Items
Эти описания для версии DOta 2 7.04, текущая версия 7.18. Но значительных изменений нет, в каждой минорной версии немножко меняют параметры способностей героев и стоимость предметов и количество маны на заклинания.
Примеры вот здесь dota2plusz.ru/patchs
Последний крупный патч 7.08 — где переработали таланты героев. Дота еще и очень динамичная игра, в Valve должно быть целое подразделение аналитиков и BigData с показателями матчей, % выигрыша героев, которые постоянно анализируют и дорабатывают игровой процесс.

Эх, где же моя таблица стака орб эффектов :(

Ветра — eul, который дает 2.5 секунды неуязвимости. Кастуется мгновенно на себя или противника.
Агр — скилл, вынуждающий ближайших противников атаковать танка (как правило, с включенным артефактом возвращения урона, так что противник убивает сам себя). Особенность — время активации после нажатия 0.25 секунды.
Блинк — телепортация на короткое расстояние.




Соответственно, суть в том, что герой телепортировавшись на короткое расстояние нажимает агр. На людей это действует ибо среагировать за 0.25 секунды можно только если ты ОЧЕНЬ сконцентрирован и у тебя неплохой класс игры. У бота же реакция ограничена 200мс, соответсвенно он всегда успевал использовать предмет на себя (eul) и избежать нападения.

использовать предмет на себя (eul)

На Акса.
1. когда акс был под бкб — еул на себя
2. когда был блинк (на тх) — то блинкаут себя :)
Концовку драки, кстати, боты провели очень неплохо и тактически размотали команду людей.
Death Propet после смерти выкупилась. Тайд блинканулся к Снайперу, его зафиксировали Атосом (Road of Atos) на 2 секунды. Акса (Axe) еще раз подняли в воздух EUL-ом, чтобы выключить его из битвы. Лич по ходу битвы даже восстановил здоровье из своего шрайна.
Очень слабо отыграли. Линии проиграли. Но потом камбекнули за счет того, что люди сначала не понимали, что если бот нападает значит он точно уверен, что вы труп, т.е. файты принимать не надо. Да и надо сказать, люди тоже не совсем ответственно играли. Боты кроме супер таймингов на способности и предметы ничего не показали.
В общем будь там хороший призовой за матч для мотивации людей и какие-нибудь ликвид/псж, боты отлетели бы за 20 минут без шансов.
Мне интересно как поведёт себя бот в пике против Инвокера. Там такое обилие вариантов кастов и итем билда в зависимости от ветки прокачки сфер… мммм
Может к следующему году смогут добавить всех героев.
как и ожидалось. Даже самая слабая команда TI, а там кроме Вихи вообще мало кто в кнопки жать толком умеет, уделала железяк. Посмотрим за следующей серией
Но железяки местами впечатляли тактикой и оперативностью взаимодействия.
Интересно какие сферы применения OpenAI 5 вы видите в реальной жизни и бизнес-задачах?

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

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

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


Ботов подкрутили, весьма заметно,

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


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

Никто ботов ниоткуда не снимал, они и до этого не расчитывали ресурсы.

UFO just landed and posted this here

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

UFO just landed and posted this here

Очень сомнительно.

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

Ну вот смотрите, сеть наиграла 2 миллиарда игр, вы теперь хотите чтобы она все это забыла и быстро поправилась за 4 миллиона? :) Это же всего 1% от всего "опыта".


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

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


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

Вы не забывайте, что это не дота пока, пул всего 16 героев. Я уже выше приводил в пример с го с 8-8 клеток вместо оригинального 19-19.

UFO just landed and posted this here
что боты разрабатывают все более сложные схемы

Ну, этого мы как раз пока не увидели. Как играли в лоб, так и играют.


Прикол в том, что боты переняли опыт из прошлой игры

С чего вы взяли? Боты ничего не перенимали. Более того — эта игра вообще на ботов никак не влияла с вероятностью чуть менее чем наверняка. Для этого боты должны играть в режиме обучения, что смысла не имеет, т.к. одна игра на миллиарды — это просто ничто.

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

И что это даст? :)
Чуть менее чем наверняка бот после этого намного хуже играть начнет.

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

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

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

Боты не получают никакой информации, они просто поправляют веса в сети в случае хороших ревардов.

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


То есть в данном случае — сделал бот что-то удачное, и это сдвинет веса сильнее, чем в случае других игр, причем под "сделал" в данном случае будут не только какие-то глобальные решения, но и просто такие вещи как бот двигаетсЯ, как скилы кастует и т.п.

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


Бот это и так делает хорошо и оптимизацию под конкретную игру просто собьют уже имеющиеся (хорошие) настройки.

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

Изменение вознаграждения — уже новая информация.

Вознаграждения не меняются.


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

Откуда получат?


А также есть шанс что поменяются построенные ботом абстракции.

У ботов нет никаких абстракций.


Просто ответьте на два вопроса:


  1. С чего вы взяли, что кто-то вообще будет давать эту игру ботам на обучение? Чуть менее чем наверняка, это не так
  2. Каким образом влияние одной игры может хотя бы в теории внести значимые поправки по сравнению с уже прошедшими миллионами? боты оценивают действия по ожиданию ревардов, это статистическая оценка по выборке многих игр. Одна игра не может поменять стат. оценку существенно, никак.

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

С чего бы вдруг? Вы же предлагаете ботам забыть все полезное, чем они обучились, и вернуться к уровню полного рандома.

Откуда получат?

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


У ботов нет никаких абстракций.

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


С чего бы вдруг? Вы же предлагаете ботам забыть все полезное, чем они обучились, и вернуться к уровню полного рандома.

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

Где я такое предлагал?

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


Для меня не очевидно что нет варианта когда одна игра даст заметные изменения в модели

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


Если для вас это очевидно — вы можете это доказать.

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

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

Конечно. Вот только я этого не предлагал делать. Я сказал что есть такая опасность.


Вы не можете обобщить опыт одной игры. Потому что она одна.

Я — могу. Да, у меня гораздо более совершенная система и вообще ни разу не нейронка, но я не видел доказательства того что нейронка этого не сможет.


Представьте, что у вас есть бот, который умеет добивать крипов, вот на конкретном тике он принимает решение выстрелить по крипу, т.к. обучен, что он сейчас его добьет и получит ревард.

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

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

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

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

Или я что-то пропустил и они сами сети с весами выложили и кто-то разобрался на что именно и как боты реагируют?

Веса-то зачем? Описания алгоритма обучения достаточно, даже в общих чертах.

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

Чтобы увидеть чему именно научилась сеть и какие абстракции построила — конечно же нет.

А зачем вам это знать? Мы же не это обсуждаем, а алгоритм обучения. Не важно какие веса у сети и не важно чему она обучилась, алгоритм обучения не предполагает возможности что-то поправить одной игрой by design.

Вы же не только это утверждаете. Вы утверждаете что боты работают и воспринимают информацию определенным способом. Я и спрашиваю на основании чего вы в этом так уверены если не видели получившейся конфигурации сети. Например вот:


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

Как вы определили что у бота нет нужного обобщения?

Я и спрашиваю на основании чего вы в этом так уверены если не видели получившейся конфигурации сети

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


Как вы определили что у бота нет нужного обобщения?

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

Из вот этого:


разработчики описали, что боты получают на вход.

не следует что известно как боты воспринимают то, что они получают на вход.


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

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

не следует что известно как боты воспринимают то, что они получают на вход.

В смысле? Это одно и то же.


Конкретный набор данных, если известно что в нем есть информация о недостатке текущей модели

Но такой информации нет.


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

В описанной архитектуре это невозможно by design. Так уж она устроена.


В вырожденном случае это будет одно новое изображение из которого нагенерируют исскуственных данных.

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

В смысле? Это одно и то же.


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

Но такой информации нет.


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

В описанной архитектуре это невозможно by design. Так уж она устроена.


И вы можете это доказать?

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


И это тоже?

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


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

Давайте без некорректных аналогий?


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

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


И вы можете это доказать?

Так вы прочитайте описание архитектуры и способа обучения.


И это тоже?

Предоставьте алгоритм генерации.


Я предлагаю несколько вариантов — изменить алгоритм обучения и прогнать через результат текущую игру

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


либо сгенерировать больше данных на основе этой игры и прогнать их все

Что значит "сгенерировать больше данных"? Каких данных? Как вы их собрались генерировать? На примере можно?
У меня такое чувство, что вы сами не понимаете, о чем говорите.
Например — где и как вы эти данные собрались прогонять? Что это вообще за "прогонка данных"? Зачем вы ее придумали и какое отношение она имеет к предмету разговора?

Давайте без некорректных аналогий?


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

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

Ну то есть лично вы — не можете. Я так и думал.
Предоставьте алгоритм генерации.

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

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

Тем, что текущие боты не выполняют никакой задачи классификации.


Ну то есть лично вы — не можете.

Зачем это делать мне, если это сделали сами разработчики?


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

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


С какой стати? Сеть — это набор параметров.

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

Тем, что текущие боты не выполняют никакой задачи классификации.

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

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

Не существует никакого способа нагенерировать «данные», не имея такого бота, т.к. поведение команды-противника — часть этих данных.

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

Нет, не является. Можно получить одинаковые сети разными алгоритмами обучения. Как минимум с точностью до результата работы такой сети. Да даже одинаковые параметры можно получить наверняка. Крайне маловероятно, но возможно. Архитектура сети — это ее вид — количество слоев, их вид, размер, количество сетей в касказном варианте, пути обработки данных, собственно значения параметров. Алгоритм обучения влияет только на то, насколько сложно получить необходимую сеть, но не на ее архитектуру.
Например, для сетей, распознающих изображения, обычно можно применять обучение с учителем.

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

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

Это максимизация ожидания неизвестной функции. Неизвестной — ключевой момент.


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

Еще раз — сгенерированные вами данные должны включать реакцию игроков противоположной команды. Что вам тут не ясно?


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

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


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

Не всегда.


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

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


Обсуждаемый бот обучен с учителем.

Нет, он не обучается с учителем и не обучался. Зачем вы врете?


Или вы понимаете это так, что учитель должен быть обязательно живым человеком?

Конечно, не обязательно. Но у рассматриваемого бота никакого учителя нет. Это классический вариант обучения без учителя.


Доказать вы это можете или это слепая вера фанатика?

Это доказали разработчики сети. Пожалуйста, ознакомьтесь с их доводами в статья в бложике. Это ведь нетрудно?

Еще раз — сгенерированные вами данные должны включать реакцию игроков противоположной команды. Что вам тут не ясно?

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

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

Даже если и так. Вы в состоянии доказать что сейчас именно такой случай?
Нет, он не обучается с учителем и не обучался. Зачем вы врете?

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

Если это не трудно, то вы в состоянии привести ссылку на доказательство. Вы ее не привели — я делаю вывод что у вас ее нет. Что говорит о том что и в бложике ее может не быть. Ну или давайте я заявлю что я прочитал и там нет доказательства.
Мне непонятно откуда «должны».

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

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

Они же не люди, которые могут изменить стратегию уже на следующую игру.

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

Да банальная генерация синтетических данных по этим играм хотя бы.

Это задача эквивалентна задаче научить ботов играть как играли люди, если что.

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

Сгенерировать синтетические данные то? Да нет вроде.

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


Я спорю только с категоричным утерждением про то, что это "невозможно".

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

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

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

Во-первых, вы говорите про генерацию всей игры.

Ну да. Иначе никаких варинатов нет.


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

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


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

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


Такая генерация не может реагировать на что-либо, она уже есть, от начала до конца.

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

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


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

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


У меня такое впечатление что вы и сами совершенно не в курсе что там и как подается раз противоречите сами себе по сути в одном и том же комментарии.

Я прекрасно в курсе, потому что я читал, что пишут сами авторы. А вы несете отсебятину, вместо того, чтобы взять и прочитать.


Еще раз, бот ВООБЩЕ НЕ ПОЛУЧАЕТ НИКАКИХ ДАННЫХ в том виде, в котором вы себе представляете. Он не получает записей игры или подобных вещей, по-этому ваша аналогия с распознаванием изображений не работает. Это совершенно другой алгоритм обучения.
Бот наугад совершает некоторые действия, потом смотрит, что получилось, и в дальнейшем чаще совершает те действия, которые приводили к полезному результату, это все. Бот не анализирует игры постфактум. Ему нельзя "скормить" игру (или игровую ситуацию, которая развивалась определенным образом) и заставить сделать из нее какой-то вывод, это просто так не работает. Единственный способ, которым обучается бот — это совершить некоторое случайное действие и оценить, какой за это действие будет ревард.
И чтобы дать "данные на вход" вам надо уметь смоделировать ответ команды противника на случайное действие бота, чтобы бот потом мог оценить эффективность этого действия.


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

Еще раз, бот ВООБЩЕ НЕ ПОЛУЧАЕТ НИКАКИХ ДАННЫХ в том виде, в котором вы себе представляете.

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

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

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


И в каком же виде я себе это представляю?

Вы полагаете, что бот получает игру для анализа. Это не так. Не получает. С-но, анализировать игры/игровые ситуации и делать из них вывод бот не умеет. Его никто этому не учил и учить не собирался.

Бот учился исключительно сам с собой.

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

Нет, не полагаю. Что я полагаю я вам прямо заявил. Можно не придумывать за меня хотя бы после того как я прямо что-то другое сказал?
Бот получает на вход числовой вектор.

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

Конечно! Я же вам уже не раз предлагал ознакомиться с постами разработчиков, в которых описывается архитектура сети и алгоритм обучения. Непонятно, почему вы это еще не сделали. Ссылка есть в статье выше.


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

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

Конечно!

Замечательно! Где? Я вижу ваши предложения, но я не вижу ссылки. И мне неинтересна общая ссылка на блог разработчиков. Мне нужна ссылка на доказательство ваших утверждений.
Замечательно! Где? Я вижу ваши предложения, но я не вижу ссылки. И мне неинтересна общая ссылка на блог разработчиков

Да вот здесь, четко и ясно, открытым текстом:


Our system learns using a massively-scaled version of Proximal Policy Optimization. Both OpenAI Five and our earlier 1v1 bot learn entirely from self-play. They start with random parameters and do not use search or bootstrap from human replays.

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

Нет извините но вы реально ничего не понимаете в машинном обучении. То, что вы привели ничего не говорит о стратегии обучения и о том, что в ней нет учителя.
Обуче́ние с учи́телем (англ. Supervised learning) — один из способов машинного обучения, в ходе которого испытуемая система принудительно обучается с помощью примеров «стимул-реакция».

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

кек
товарищ гроссмейтер, у меня все ходы записаны:


Бот учился исключительно сам с собой.

И у вас есть ссылка где разработчики именно это сказали?

Конечно!

Замечательно! Где?

Both OpenAI Five and our earlier 1v1 bot learn entirely from self-play.

так что постарайтесь вывернуться лучше


Только не говорите что мне нужно объяснять как приведенная цитата относится к обсуждаемой теме

А мне действительно непонятно, ведь в procimal policy optimisation никаких "примеров «стимул-реакция»" боту на вход не подается, ведь это алгоритм reinforcement learning, а не supervised learning, но вы же даже статью в бложике осилить не смогли, чего уж там от вас требовать ознакомиться с описанием конкретного алгоритма, кек

ок, нынешних тренеров команд

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

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

Нужен кому и зачем?


А сейчас они тупо убили весь хайп =( надеюсь не бросят затею и через год выкатят чудо.

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


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

Ну там просто кроме вихи игроки такие себе :)

UFO just landed and posted this here
По поводу дальнейшего развития опенаи… им надо как-то развивать макро… как это сделать если игры бот-бот длятся в среднем 24 минуты

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

Я не смотрел игру, но если человек не через шифт делает блинк и ульту, то на это тоже не интересно смотреть. Это даже не уровень паб игр, а уровень каких-то совсем новичков.

Активация через шифт тоже не бесплатна: например за полсекунды до блинка там могут активировать бкб. И тогда ульт будет без шансов потерян.
Во второй игре всё стало понятно уже на 10-й минуте. China Stars отлично подготовились к этой игре. Боты собрались в одну неэффективную кучу на миде, проиграв опыт на других линиях. Третью игру даже смотреть не буду. Надеюсь, что проект не забросят и придумают новые технологии обучения. Или просто подкрутят ботов, чтобы не лезли на рожон слишком рано.
Третью игру отменили, признав поражение OpenAI в BO3 серии.