Как стать автором
Обновить

Комментарии 111

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

А какие ограничения на невидимость?

Пока совсем без нее играют, вот список ограничений на последний прошедший шоу-матч (следующий вроде как должен быть где-то на финалах The International, но конкретной инфы в сети не видно)

Current set of restrictions:

Mirror match of Necrophos, Sniper, Viper, Crystal Maiden, and Lich
No warding
No Roshan
No invisibility (consumables and relevant items)
No summons/illusions
No Divine Rapier, Bottle, Quelling Blade, Boots of Travel, Tome of Knowledge, Infused Raindrop
5 invulnerable couriers, no exploiting them by scouting or tanking
No Scan
А вы смотрели эти матчи? ;)

Там и предметы на невидимость использовали, и Рики бегал, и спот Рошана боты проверяли, и выбор героев был из более десяти без зеркала.

А этот текст не изменялся с начала лета, или когда там были позапрошлые демонстрации Five.
Хмм, неа, только читал статью-отчет — или я что-то напутал или там что-то напутали :thinking:
По идее-то да, если уж бот умеет играть во все остальное, инвиз не так много добавляет в игру
НЛО прилетело и опубликовало эту надпись здесь
5v5
Я все еще не вижу в этом смысла, что даст победа ии людям? Ну научит ии игроков новым фишкам, но на этом визуально всё. Хотя конечно могу ошибаться и чего-то не учесть, подскажите если я что-то упускаю из виду.
Люди учатся учить нейронки. Пока на играх. Дальше эти знания будут применять в других областях. Например в боевых человекоподобных роботах.
Я действительно мало знаю о нейронных, сетях хоть и потихоньку изучаю их, потому связь между нейронной сетью играющей в доту и сетью управляющей боевым роботом для меня не очевидна. Спасибо что ответили.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за ответ. Действительно не задумывался о возможной пользе связанной с новой архитектурой сети.
Не сочтите за высокопарность и попытку влепить слишком прямую аналогию, но зачем людям такие абсолютно ненужные вещи как освоение космоса, теоретическая физика, фундаментальные науки в целом? На всякий случай: |сарказм!|
Вопрос был задан из любопытства и с желанием увидеть большее чем вижу я. Да действительно вопрос «Зачем?» весьма интересен, в разрезе человеческой истории, и напоминает о диалоге андройда из Прометея. «А зачем вы, люди, создали меня? Создали, потому что могли.». Спасибо ответили, а уж тем более с сарказмом. =)

Что даст людям научное исследование? А что дает людям сам чемпионат? Ну явно же кто-то выиграет, какая разница человечеству — кто конкретно?


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

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

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

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

Ладью в шахматах отняли у обоих. Так что вполне честная победа. Хоть и не совсем в доту (механика-то сменилась). Но ограничения постепенно снимут, главная интрига — когда. Сколько дней или лет им потребуется.

Ну, вы ничего не понимаете в доте тогда. Боты играют агрессивно и пушат, больше они не умеют ничего, это элементарно контрится в 99% вин на стадии пика. Этих СУПЕРБОТОВ забьет ногами бруда с 5к ммр, не вспотев, или втопчет в землю неруб ассасин с дагоном. Так же их засплитит фура, фантом лансер и медуза, заклатчит варлок и банально украдет рошана урса. И это при том, что АИ играет уже в изимоде, имея мгновенный доступ ко всей информации вне тумана войны.
>> Боты играют агрессивно и пушат, больше они не умеют ничего, это элементарно контрится в 99% вин на стадии пика

В тех ограничениях, которые сейчас стоят на ботах, они не видят смысла играть иначе. Вот обожгутся пару раз на этой стратегии — переучатся сразу играть.
нет, просто с данными правилами, соревнование сводится к механике, без альтернатив, где само собой АИ доказывает, что он быстрее, выше и сильнее. Боюсь что ЛоЛ, даже при согласии Риот ботам не освоить никогда, все 400 Нвидий спекут мозги, расчитывая пазл — дракон(1 из 5 видов), барон, баффы, вышка, войд, барон, фарм и вижн в кустах.

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


ИИ не имеет информацию вне тумана войны.

вне тумана войны = видимая область
в тумане войны = невидимая.

Да, перепутал, извините.

Тактику пуша любые норм игроки контрят контрпиком. Тот же шейкер фисурой отрезает подход к вышке — это минус XPM&GPM для всей команды, а боты идут толпой, что даёт carry время на farm и Покупку нужных предметов к этому тайму, а так же перевес в опыте, а это и уровень и атрибуты, и сила скиллов(space creating). Отспам скилами, типа пугна — и весь push потенциал, который используют боты уходит в топку. А потом их перефармленный carry выносит вперёд ногами, в соло
сейчас вообще мета пик-зависимая. многие игры в групповом этапе выиграны на этапе драфта.
извините, но статья дурацкая… аргументы:
— известные игры, в которых были соперниками АИ, осуществились с многими существенными ограничениями (не стану перечислять абы не раздувать комментарий)
— на интернешинл нет тех ограничений которые используются для игр против АИ
— какой смысл развивать АИ для игры в доту, тратить кучу времени, ресурсов и т.п., займитесь чемто полезным, и так ясно что есть способы обучать всякое такое и т.п., какая цель?

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

количество задействованных мощностей подробно описано на офф сайте, но до сих пор не увидел во сколько обходится 1 катка АИ, (допустим 60мин когда не изи)… если есть информация — дайте, пожалуйста, ссылку… ато уже надоедает туфта типо этой статьи.
— какой смысл развивать АИ для игры в доту

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

чтобы его (ИИ) вообще развивать
Поспорю. Смотрите, здесь вы подразумеваете, что после того, как этот ИИ наконец-то научится играть в доту, его навыки смогут использовать «на производстве» — где-нибудь в реальной сфере. Что ИИ будет настолько хорош, что сможет обучаться не только доте, но и вообще любой сложной игре.
Но мы с вами прекрасно понимаем, что это не правда, как минимум потому, что если бы ИИ был хорош, то его не надо было бы дальше допиливать ручками, и учить играть в урезанные режимы. Этот «самообучаемый» ИИ бросили бы в самые тяжкие условия и смотрели, как он обучается. Но он не обучается так, как этого ожидают. Вместо этого, его приходится вручную допиливать. И это значит, что на выходе мы получим ИИ, который заточен только для игры в доту.
И никакого «прорыва» в сфере ИИ здесь нет. Вспоминается история из 1980-х, когда ИИ начал на равных тягаться с людьми в шахматах — все вокруг говорили, что вот же он прорыв в науке, сегодня этот ИИ выигрывает в шахматах, а еще чуть-чуть допилить, и завтра он будет управлять киборгами и покорять планеты. Сейчас всё то же самое, история повторяется, и люди снова верят в ИИ…
Обучается не столько ИИ(точнее тонна хитрых отбалансированных скриптов, не берусь называть это искусственным интеллектом) играть в доту, сколько люди обучаются его обучать.
Посмотрите историю с AlphaGo. Изначально нейронка обучалась на миллионах игр профессионалов, но уже следующая версия играла ТОЛЬКО сама с собой. И это был огромный прорыв. Ваш пример с шахматами совершенно некорректен: в шахматных программах прошлого столетия «ИИ» просто перебирал варианты. Современный ИИ, используя технологии нейронных сетей, хотя и пользуясь частичным перебором, за счет самообучения свособен создавать новые ходы, что и случилось после прихода AlphaGo: учебники по го пришлось частично переписывать после анализа новых ходов, посчитанных нейронкой.

Аналогичная ситуация происходит и в данном случае, а цель совершенно прозрачная: мы хотим чтобы ИИ мог самообучаться под ЛЮБУЮ задачу. Но с нуля это невозможно, поэтому алгоритмы реализуют на частных случаях, типо Dota или го, получая тем самым базу.

И да, после триумфальной победы Альфы, к Deepmind'овцам сразу пришли ребята из армии − использовать на производстве)
его навыки смогут использовать

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


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

Когда в 80-х ИИ начал на равных тягаться с людьми в шахматах, для этого требовались невероятные вычислительные мощности, и это был прорыв. Сегодня в шахматный ИИ может жить в мобилке и обыгрывать чемпионов. И это не потому что мобилка мощнее той железки, что впервые обыграла Каспарова, вовсе нет, дело в развитии ИИ.
2 года назад ИИ впервые выйграл в сложной борьбе профи в Го, игру в хрилионы раз математически более сложную нежели шахматы. А через год (уже год назад) в сухую поравл самого сильного игрока в эту игру. Пока всё это на супер-железке. И это тоже прорыв.
Сейчас ИИ обыграет (я в этом почти уверен, не сейчас, так на следующем турнире) лучших игроков в Доту. И это будет ещё одной победой. Вы что думаете, сейчас напишут на коленке сильный ИИ, который тут же всему научится и станет цифровой копией человека? Нет, вот так долго и упорно и будет развиваться ИИ, тренеруясь на кошках, не хотите же вы сразу дать ему в руки человеческие жизни.
чушь,

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

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

Результаты — нет. А вот процесс — может и подойти.
У нас до сих пор нет надежного способа создать ИИ, даже для компьютерных игр, не говоря уже о реальном применении. На Доте, на Старкрафте, на КС и Квейке можно пробовать разные подходы в его создании.
сколько стоит в долларах час игры АИ?

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


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


В конце-концов, вы можете сами заняться исследованием вопроса. Задайте команде вопрос, сколько там железа на этапе игры, например, узнайте в Амазоне тарифы на его аренду.

Думаю про команда, учтя опыт своих коллег, будет готова играть против АИ не в доту, а в то, во что играет АИ, и даже если сольет одну игру, быстро приспособится и возьмет верх, поскольку люди более гибкие.
Современные проблемы нейронных сетей в области игрового АИ уже давно не лежат в плоскости «оказаться гибче человека». Го тому пример, где сеть оказалась намного сильнее человека. А интеллектуальная составляющая го, на порядки сложнее доты.
Современные проблемы нейронных сетей лежат в плоскости создания модели сети которая бы могла работать с таким большим обьемом входных данных. Эффективно работать. В реальном режиме времени на обозримом уровне мощностей.
не правда, го не может быть сложнее доты:
— распознать врага по образу (их десятки)
— предполагать действие не только на возможную атаку, но и на тип атаки (их сотни)
— планирование в многомерной дискретной плоскости, когда в го планирование линейное…

аи — круто, но прайс до сих пор никто не озвучил.
— распознать врага по образу (их десятки)

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


С остальным согласен, дота сложнее (для ИИ).

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

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

А интеллектуальная составляющая го, на порядки сложнее доты.


Простите, можете подсказать ваш уровень игры в Го и в ДОТА?
А то звучит прям как экспертная оценка, хотя мне почему-то кажется что сложность МОБА игр в разы сложнее GO.

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

Но MOBA игры — совсем другое. Слишком много факторов для победы.

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


Вам нужны мнения игроков?
В исследовании Роберти(победитель турниров по быстрым шахматам и турниров по покеру), сделанного на основе статистического анализа побед игрока более высокого класса над игроком более низкого класса, вообще утверждается что Го сложнее шахмат почти в 4 раза. И т.д. и т.п.

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

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

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

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

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

Го это была игра где преимущество человека над машиной не оспаривалось в принципе.


Потому что 640 кбайт не хватит всем, но эти времена давно прошли. Вы очень плохо читали википедию.
Стратегия ГО считается сложной среди настольных игр, в основном из-за количества степеней свободы. Никакого сравнения с МОБА в википедии нет.
Правил и нюансов в МОБА играх, по сравнению с GO очень много.

* Вы совершенно забываете, что в MOBA свободы действий еще больше.

* Вы совершенно забываете о сложности МОБА по сравнению с GO в виде различных объектов — и миньоны и монстры и вышки и собственно разнообразие чемпионов.

* Вы совершенно забываете про вижн (туман войны), игру с неполной информацией — в GO вы видите все.

* Вы совершенно забываете о том, что пошаговая стратегия и реал-тайм стратегия — это ОЧЕНЬ разные по сложности вещи. Просто несопоставимые. Каждую секунду меняется позиция противника, пересчитывать все каждую секунду — нереально.
А научить перемножать тысячезначные числа в уме за доли секунды так вообще и за 10 лет не выйдет, а компьютер это давно умеет. Игры вроде го или шахмат требуют много опыта и запоминания, но это не обязательно означает сложность для компьютера.
> Игры вроде го… требуют много опыта и запоминания, но это не обязательно означает сложность для компьютера.

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

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

"Например он может точно посчитать кто выиграет драку 5 на 5 в конкретный момент"
Нет, противник ему свои действия не раскрывает

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

Нужно понимать, что в идеале ИИ способен на это — мгновенный просчет действий в драке 5/5, планирование позиционирования, выбора цели для каждого заклинания и так далее.
Но это — в идеале.
Вопрос в том, справилась ли команда OpenAI с тем, чтобы довести ИИ до такого состояния?
Учитывая количество ограничений в игре против полупрофессионалов, учитывая сами игры и отзывы игроков после нее — я считаю, что еще нет.

Особенно, если снять несколько ограничений, например на количество персонажей — то команда чемпионов пока что будет сильнее. Мы же даже не знаем на каких условиях будут игры. Если снять все ограничения — то ИИ вообще не будет готов к игре.
Я уверен что ИИ выиграет потому что он получает данные в цифровом формате из API, т.е. он знает с точность до миллисекунды успеет ли персонаж добежать куда нужно или не успеет. Грубо говоря ИИ может начать атаку и соперник не успеет добежать 1 секунду и этого хватит, потому что будет уже поздно.
Сейчас этот ИИ очень читерский из за того что получает нужные данные в цифровом формате, человек не может с точностью до миллисекунды сказать куда и когда ему бежать, а ИИ знает.
В доте побеждает тот кто раньше оказался в нужном месте + точно посчитал тимфайт по ДПС. И человек не способен составить здесь конкуренцию.
Даже профи играют по интуиции и не могут справится с подсчетом дамага 1 на 1 что уж говорить о командных боях где ИИ точно знает у кого сколько ДПС и куда кого поставить.
Я не знаю почему меня минусят. Видимо люди не видели как играет этот ИИ.
www.twitch.tv/videos/293517383
Есть ощущение, что для вас аббревиатура API загадочная магия, которая дает ВСЮ информацию.

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

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

Вы видимо не понимаете количество ограничений, навешанное на игроков в той игре.
Не понимаете важность сыгранности — а ведь это ОБЩЕИЗВЕСТНО, что в МОБА играх — сыгранность команды важнее, чем индивидуальный скилл.

Профи не играют чисто по интуиции. Плюс минус 5 урона — бывают критичны в крайне редких случаях. В основном даже +- 50 урона не так важны.

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

В том то и дело что вражеский план есть. Иначе на чем же он по вашему обучался? он знает планы людей лучше чем сами люди.
Посмотрите как играет этот ИИ. Там учитывается абсолютно все что нужно учесть.
www.twitch.tv/videos/293517383
Вы слишком идеализируете текущий вариант ИИ.

Игроки не разобрались с кем они играют, и играли как против игроков, а не как против АИ, плюс драфт — в доте он мега-критичен, и из всего пула всего 18 игроков. Минус иллюзии.

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

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

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

Человек оказался гибче, нашел уязвимость в логике и приспособился. Так что «абсолютно все» на самом деле «кое что»
Как же я ненавижу читать рассуждения про «может ли Х считаться спортом», и далее человек высказывает максимально узколобую позицию без аргументов. Просто вот спорт это про движение, спорт это про сопричастность, спорт это когда судьи есть, спорт это когда травмы, спорт это когда стадион, спорт это когда… Самое ужасное когда у таких людей есть статус и «уважение», и они вкладывают подобные мысли в головы своих фанатов. Неужели нельзя принять тот факт что спортом можно назвать любую деятельность где есть соревновательность? Видимо у людей псевдо-сакральность некоторых областей масс-медии и культуры совсем голову промывает, и когда они видят как их объект обожания с миллиардами рекламных денег ставят в один ряд с «задротским развлекаловом», то у них просыпается чувство важности. Накипело.
Прикол в том, что задротские развлекалова уже зарабатывают больше, чем большинство видов классического спорта.
Например так внезапно, финал чемпионата лиги легенд два года назад посмотрело больше людей, чем финал кубка НФА по баскетболу.

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

А вообще — осталось подождать 10-20 лет, пока основной массой зрителей станет поколение Z
Искренне надеюсь что формат трансляций Овервотч лиги не станет доминирующим. Активижн конечно жадные.
Везде есть свой крикет и японские шоу…
Увы, это все еще статистическая симуляция а не AI. Обобщения опыта как не было, так и нет. Очевидно и не будет.

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

P.S. Если суть не совсем ясна, но знаешь что такое нейросеть — обучи нейросеть на x = f(x), и затем подавай x которых нейросеть никогда не видела. Вот полученные тобой результаты и покажут все возможности обобщения доступные на данный момент.

Количество ситуаций которые могут случится превышают чисто атомов во вселенной в овер триллиардов раз. Поэтому просто нереально перебрать даже 0.000000000000...........1% их на обучающей выборке

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

Но это не проблема, это лишь расходы на обучение модели. Реальная проблема в том, что не умеют, пока, нейросети в обобщение.
обучи нейросеть на x = f(x)

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


Лучше попробуйте обобщить, на каких микрофотографиях тканей присутствуют признаки рака, а на каких нет. У вас получится хуже, чем у нейросетки.

И? Добавили априорных знаний про числа, улучшили генерализацию: "often extrapolating orders of magnitude beyond trained numerical ranges".

Речь не о том, что сделали авторы. Речь про невозможность системного обобщения для сегодняшних нейросетей, в том числе и на примере x = f(x) разобранного в той статье.

Таблица 1 в статье. Результаты NALU — абсолютная точность во всех тестах кроме деления. NALU — не сегодняшняя нейросеть? Или она не умеет обобщать?


Или все остальные сети не умеют обобщать, потому что у них нет numerical bias? Чем это противоречит тому, что я говорил?

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

Осталось теперь найти аналогичные решения для миллионов других задач.

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

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

Или сделать систему, которая подыскивает подходящие архитектуры для этих миллионов задач. Это возможно, судя по тому, что находится у нас в черепе.

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

И нет, NALU еще слишком новы, и все написанное там еще будут месяцами проверять на практике и пытаться применить в реальных задачах. Может будет круто. А может их ждет судьба RBM, Capsule Networks, RNTN, и сотен других архитектур не оправдавших высоких надежд или вытесненных улучшенными вариантами.
НЛО прилетело и опубликовало эту надпись здесь
> Что это меняет в сказанном мной? Зачеркни слово «людьми» в моем комменте, и суть останется прежней.

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

и есть общеупотребимые понимания понятия «искусственный интеллект» (AI) — нет смысла переопределять его понятием «статистическая модель»…

AlphaZero и AlphaGo Zero — это именно типичный AI… (в рамках современных понятий)
Хех… Машинное обучение показывает лучшие результаты без влияния людей в процессе обучения прямо с изобретения логистической регрессии. А это уже 60 лет как, на секундочку.

Ну а насчет AI — всплакнул, спасибо :)

Маск тот еще гондурас. То ему ИИ самое страшное исчадие ада, и нельзя, чтобы он был создан. То он создает OpenAI, типа для исследований, как бы так сделать мирным.
И вот OpenAI упорото создает бота для баттл игрищ. Это что в мирных целях??

выползайте из своего бомбоубежища — вы пропустили все самое главное.

«ИИ страшное исчадие ада и нельзя, чтобы он был создан» — потому что 1) его делает кто попало, без предосторожностей, потому что 2) никто не задумывается о том, что ИИ — это не нечто эфемерное, а то, что может случиться достаточно быстро, и потому что 3) если его создадут в одном месте и дадут ему задачу давить создание ИИ в других местах — то очень вероятно, что он с этим справится.

именно поэтому — открытый ИИ, чтобы «пистолет был у каждого, а не только один у потенциального диктатора», поэтому — публичные мероприятия, чтобы повысить внимание к тому что «ИИ обучается ОЧЕНЬ быстро», и поэтому у OpenAI есть не только команда с дотой, но и ученые со статьями и исследованиями и рекомедациями — как правильно обучать безопасный ИИ (цитируя Н.Бострома — который не переработает весь мир на скрепки, если ему дать задачу «а сделай-ка мне самую большую фабрику канцтоваров»)
Бомбоубежище как раз у Маска, покойного Хокинга и Гейтса, которые на весь мир орали, что низзяяяя, ни при каких условиях низззяяяя!!! Но вот Маск оказался просто обычным лицемером. Тут дело не в том, что они могли бы или не могли сделать хоть какой-то достойный ИИ. Дело в том, что они ринулись в исследования поведения ИИ в симуляции боевых действий (не важно сказочных или реальных — суть одна).

Если вам интересно знать мое мнение, то настоящий ИИ не будет создан в обозримом будущем, пока мир не будет готов к последствиям. Тот типа ИИ на стат.математике, ну который дип лернинг, — это примитивнейший примитив, ничего не имеющий общего с механизмами интеллекта и сознания. А настоящий — в руки неандертальцев (по осознанию последствий и собственного поведения) никто не даст. В смысле, самим ума не хватит сделать.
которые на весь мир орали, что низзяяяя, ни при каких условиях низззяяяя!!
не «низзя», а это опасно.
вы понимаете разницу между «радиоактивность — низзяяяя ©» или «радиоактивные вещества — это опасно»?
Друзья, большинство комментариев выше неверны из-за непонимания как работает современный нейросетевой ИИ. Ничего он там не рассчитывает и не сравнивает какие варианты лучше. Разработчики ИИ используют совсем другую терминологию.

С математической точки зрения, вся наша жизнь, и вся работа нашего разума — это движение в многомерном пространстве высокой размерности в идеале к глобальному, но на практике к ближайшему локальному экстремуму. Максимуму или минимуму. Грубо говоря, агент ИИ находится в одном состоянии (state). Он применяет действия (actions), получает в результате награду (reward) и оказывается в новом состоянии (state). Задача оптимизации, и работы интеллекта в широком смысле, сводится к переходам между такими state с помощью actions, чтобы суммарная награда была как можно выше. Данный подход в машинном обучении известен как обучение с подкреплением, или Reinforcement Learning. Именно этим занимается OpenAI Five.

А теперь грустная часть. В человеческом теле примерно 700 мышц. Это 700 степеней свободы, или размерность actions ~= 700. А вот дальше можно либо оперировать последовательностями действий, либо различные последовательности считать одним элементом и оперировать этим элементом как размерностью. Так, одно слово можно рассматривать как последовательность сокращения мышц гортани, и тогда размерность actions при разговоре будет около 40 (40 задействованных мышц). Размерность низкая, но последовательность длинная. Либо оперировать словом целиком, и тогда размерность actions будет ~1 млн (размер словаря). Аналогично, можно оперировать целыми предложениями или группами слов как смысловыми единицами. И тогда размерность actions растет до бесконечности. С размерностью state все еще хуже, просто с actions проще объяснить. Не существует математических способов оптимизации в пространствах такой размерности.

Вот поэтому не существует, и видимо, в принципе невозможен сильный ИИ, который действовал бы безупречно и наиболее оптимально, как представляется большинству про ИИ. По крайней мере, при текущих вычислительных мощностях и нашем знании математики. Любой сильный ИИ будет похож на человека, будет делать ошибки и так далее. Но он может быть лучше/умнее с учетом большей памяти и/или большей скорости вычислений. Скажем, работать не на 100 Гц как наш мозг, а на 50 ГГц, как в теории позволяют перспективные транзисторы. Может думать быстрее, но не лучше. Это можно сравнить, как если бы на заданный вопрос вы могли обложиться книжками и потратить 100 лет, прежде чем отвечать. Но если вы тупой, это не сильно поможет.

Грустная часть, как и обещал. Знаете в какой размерности работают современные нейросетевые ИИ? State = 5..10, actions = 2..4. Это для простых задач вроде балансировки маятника. А state = 40 и actions = 17 уже считаются задачами высокой размерности, с которыми не справляется практически ни один из современных алгоритмов reinforcement learning. Частные решения задач такой размерности преподносятся как прорыв ИИ, о них пишут новости и т.д. Это бег «слепого» гуманоида в симуляторе, например. Он не видит мир вокруг, знает только углы своих 17 частей тела и точки касания с землей, причем имеет всего 17 мышц. Просто сравните с размерностью пространства actions и state, с которыми имеем дело мы, люди, и с которыми нужно работать сильному ИИ.

Теперь, когда вы понимаете состояние дел и текущие ограничения ИИ, вернемся к OpenAI Five. Для компании OpenAI это прежде всего пиар. Как показала практика, журналистам не интересны настоящие работы в области ИИ, выходящие сотнями каждый месяц. Зато AlphaGo все вспоминают по поводу и без, хотя это ничем не примечательная работа, просто удачно совместившая нейросеть для прогноза в обходе Monte Carlo Tree Search (MCTS). Как до этого было с древнющим методом Q-learning (DQN, игры Atari, вот это все). Что не отменяет их важности как вехи в развитии ИИ, конечно. Эти успехи привлекли тысячи новых исследователей ИИ, в этом их важность.

OpenAI немного сдала и в последнее время не выдавала концептуально новых разработок в сфере ИИ, поэтому видимо решили взять масштабностью. Они используют 128 тысяч ядер CPU в облаке (не процессоров, а ядер) для параллельной симуляции игр и 256 GPU видеокарточек для обучения нейросетей. Никакой опыт человеческих игр не используется, играют только боты против ботов. Самое интересное — они обучают ОДНОСЛОЙНУЮ нейросеть LSTM из 1024 нейронов (точнее, из 1024 ячеек, каждая ячейка может запоминать и забывать часть проходящей через нее информации, в этом отличие рекуррентной ячейки от простого нейрона). Сравните с 50..150 слойными сетями в распознавание изображений, где, как мы думаем, выводятся разные абстракции между слоями по мере увеличения глубины сети.

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

Это можно будет использовать потом и для других задач. Просто никто такого масштабного эксперимента до этого не проводил, в этом основная заслуга OpenAI Five. Ну и удачный пиар с популярной игрой, разжигающий интерес. Сравнимые ресурсы до этого были вложены разве что в AlphaGo, нейросетевые переводчики и синтез речи через WaveNet в английском гугл ассистенте, но это все другое. Уже сейчас похоже, что это неплохо работает. Боты проявляют подобие командной работы, чего от такой простой однослойной сети никто не ожидал (еще лучше это видно в работе Deepmind: Capture the Flag, похожей по принципу на Five).

Строго говоря, сейчас считается что мозг человека совмещает model-free (как этот OpenAI Five, где веса сети оптимизируются по ходу дела согласно награде, ничего не зная о внешнем мире) и model-based (где нейросеть моделирует окружающую среду, предсказывает что будет и на основе этого принимает решение) обучение. Поэтому в случае успеха, OpenAI Five можно рассматривать как составную часть будущего сильного ИИ. Но в целом, это аналог AlphaGo Zero, только для частично видимого observation space, без обхода Монте-Карло и с совсем другим способом обучения (распределенным PPO для простой однослойной LSTM сети из 1024 ячеек).
Вот поэтому не существует, и видимо, в принципе невозможен сильный ИИ, который действовал бы безупречно и наиболее оптимально, как представляется большинству про ИИ.

Это да, но не нужно бежать быстрее медведя, достаточно бежать быстрее геолога.

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

В частности интересует источник для утверждения
Знаете в какой размерности работают современные нейросетевые ИИ? State = 5..10, actions = 2..4. Это для простых задач вроде балансировки маятника. А state = 40 и actions = 17 уже считаются задачами высокой размерности

А state = 40 и actions = 17 уже считаются задачами высокой размерности

Если смотреть на робототехнику, то, насколько я знаю, лучшее из достигнутого — Learning Dexterity state = 15 координат кончиков пальцев + смотря как считать размерность данных с камер (от нескольких миллионов до единицы. Скорее единица, так как используется только ориентация кубика), actions = 24


А насчет ограничений нейросетей, опять же, насколько я знаю, особых результатов нет. Нейросети — универсальный аппроксиматор, но какие есть ограничения у существующих методов обучения никто особо не знает. Есть вот такая работа: https://arxiv.org/abs/1805.12152, где доказывается, что повышение устойчивости бинарного классификатора к adversarial perturbations (не знаю как переводится, возможно "состязательные возмущения"), неизбежно приводит к уменьшению точности распознавания на тестовом наборе. Но это относится к любым бинарным классификаторам, как к искусственно-нейросетевым, так и к естественно-нейросетевым.

Нейросети — универсальный аппроксиматор

Это часто цитируемый, но плохой пример. Доказательство этого сводится, упрощенного говоря, к табличной функции. Если у нас есть огромная таблица со всем правильными ответами, то даже в двух или трех слойном перцептроне мы можем обнулить все остальные связи, а ведущие к нужной ячейке с правильным ответом, поставить как 1.0. И получаем универсальный аппроксиматор =). Только толку от этого никакого. Ведь вся проблема получить эту таблицу с правильными ответами…

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

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

Также сейчас набирает обороты оценка по распределениям — насколько входное распределение хорошо проецируется на выходное. Статистически, по анализу внутренностей сети и т.д… Но это более сложные темы и больше актуальны для GAN архитектур, так как там как важно понять насколько распределение генерирующей сети соответствуют реальному (желаемому) распределению. Так как это определяет насколько сеть хорошо и разнообразно генерирует примеры.
Если не смущает английский язык, то эта серия статей очень хорошо описывает современный Reinforcement Learning: https://medium.freecodecamp.org/@thomassimonini, начиная с An introduction to Reinforcement Learning и заканчивая, на данный момент, статьей про Actor-Critic (A2C/A3C) методы. Метод PPO, которым тренируется OpenAI Five, это просто надстройка над actor-critic архитектурой, не позволяющая нейросети слишком отклоняться от предыдущей версии при обновлениях. Это стабилизирует обучение и считается сейчас state-of-art. Хотя уже есть разработки лучше PPO (и его ближайшего предшественника TRPO), заметно превосходящие этот метод в отдельных задачах, но они вроде как не такие универсальные, как PPO.

Если коротко, со сверточными сетями сейчас все хорошо. Они равны или лучше человека. И продолжают развиваться. Но CNN, благодаря тому что они хорошо выделяют локальные фичи, в основном используются в распознавании объектов на картинках. И иногда при синтезе звука. Хотя с CNN строят и карты глубины, и делают сегментацию и прочее, т.е. сверточные сети способны содержать адекватную информацию о трехмерном мире. Но все же сверточные сети CNN — это «зрение». А Reinforcement Learning — это «мозги». То есть принятие решений. А это путь к сильному ИИ.

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

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

Поэтому за последние несколько лет было придумано несколько обходных маневров и математических трюков. Это, упрощенно говоря, эволюция DQN -> Actor-Acritic -> PPO (хотя реально там около трех десятков разных методов). Описание по ссылкам выше.

Но это все о том же, как применить градиентный спуск SGD, только с учетом специфики обучения с подкреплением. А из-за того, что размерность задачи обучения с подкреплением намного выше, чем при обучении сверточных сетей, все это обучается очень медленно. Плюс нужно симулировать саму игру, а это медленно (поэтому и OpenAI с их Rapid, и Deepmind с их Impala делают ставку на параллельную симуляцию тысяч игр на CPU, а сами нейросети обучают на GPU). Из-за сложности обучения ВСЕ reinforcement learning нейросети сейчас работают на смешных по современных мерках глубинах: трехслойные сети вроде 128-128-128 нейронов, однослойные LSTM 256...1024 нейронов(ячеек). С числом параметров 500 тыс… 2-3 млн. Понятно, что ожидать от таких простых нейросетей какого-то сложного поведения не приходится… Какой-то прорыв в сильном ИИ будет, когда перейдут на десятки-сотни слоев, как в CNN, и число параметров 50-150 млн.

Поэтому успехи сильного ИИ сделаны пока только на задачах с очень низкой размерностью state и actions. Где-то 17-21 шарниров у гуманоида и около 20-50 цифр его «знаний» об окружающем мире. Или вообще 2-3 шарнира у двухмерной прыгающей ноги. Но в низких размерностях ИИ действительно показывает зачатки разума (пока на уровне животных или насекомых). Как например тут: https://www.youtube.com/watch?v=OBcjhp4KSgQ. Это чрезвычайно бодрит исследователей и позволяет надеяться, что удастся смасштабировать на более высокие размерности и получить настоящий сильный ИИ. OpenAI Five идет на пути к этому. Вложив огромные вычислительные мощности в существующие алгоритмы обучения, вместо того чтобы разрабатывать более удачные. Ну, это надо было проверить. Вдруг получится.

Отличие современных нейросетей и, вообще всего современного ИИ, от человека в том, что мы учимся на единственном удачном/неудачном примере. Удалось один раз поймать мяч, и мы сразу научились, поняли как это делается. А нейросетям из-за математических особенностей, нужны миллионы повторений. Так как на каждом повторении веса нейросети изменяются на очень малую величину (согласно скорости обучения learning rate). Хоть и в нужном направлении, к местному условно глобальному экстремуму.

Пока никто не знает, как повторить это с нейросетями. Это называемый «one shot learning», и почти все попытки пока сводятся к такой предварительной подготовке весов нейросети, чтобы она потом лучше работала на единичных задачах. Но для обучения этому используются обычное SGD обучение на миллионах и миллиардах второстепенных задач. Да и не работает это толком пока что.

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

Если бы удалось разработать reinforcement learning алгоритм с one-shot обучением, то OpenAI Five за несколько часов обучения порвала бы всех людей, как тузик грелку! Это был бы почти что сильный ИИ! Но пока имеем то, что имеем. Околослучайные блуждания при обучении сети, показывая ей миллионы удачных и неудачных примеров, и используя хитроумные математические трюки, чтобы стабилизировать это обучение (см. ссылки выше). Сотни лет игры в симуляторе. Вместо нескольких минут, необходимых человеку, чтобы понять как играть.

P.S. отвечая на вопрос — теоретических ограничений на обучение современных нейросетей, в общем-то, и нет никаких. По крайней мере, они неизвестны. Это скорее практика, народ делится удачными решениями друг с другом. И иногда пытаются понять, почему происходит именно так (но тоже на сравнениях: мы попробовали такую-то архитектуру нейросети на таком-то тесте, и на нем она почему-то вообще не обучилась). В Reinforcement Learning, пожалуй, больше математики по сравнению с другими областями Deep Learning, да еще со статистическим и вероятностным уклоном. И тянущие многие термины с 70-х годов. Поэтому его хуже знают и меньше понимают, чем те же сверточные нейросети. Но за ним огромный потенциал для создания сильного ИИ (но вряд ли на текущих методах, скорее кто-нибудь откроет удачную архитектуру на model-based архитектуре с curiosity (с любопытством для мотивации) или новый, более быстрый алгоритм обучения для текущего reinforcement learning).

Размерность текущих state и action можно посмотреть, например, в OpenAI Gym. Там для каждого окружения есть специальные функции, выдающие размерности. То есть количество цифр, подаваемых на вход сети (это state, а точнее observation, т.к. под state можно понимать совокупность с предыдущими действиями или последовательность последних наблюдений) и количество цифр/нейронов на выходе сети (это будут actions).
Удалось один раз поймать мяч, и мы сразу научились, поняли как это делается.

Это преувеличение, конечно. Например, я (точнее моторная зона коры + мозжечок) не научился точно бросать что-нибудь в цель за сотни (пожалуй и тысячи, если считать детство) повторений.


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

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

Удалось один раз поймать мяч, и мы сразу научились, поняли как это делается.

Это преувеличение, конечно. Например, я (точнее моторная зона коры + мозжечок) не научился точно бросать что-нибудь в цель за сотни (пожалуй и тысячи, если считать детство) повторений.

Увы, нет. Существует исследование (не могу найти ссылку), где в игре вроде марио, фигурку персонажа и блоки с наградой/ловушками заменяли на блоки из случайных цветных пикселей. Люди-игроки методом проб и ошибок довольно быстро научились играть в такую игру. Не зная какой значок означает ловушку, а какой награду.

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

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

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

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

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

С другой стороны, недавнее исследование группы из Uber (https://www.youtube.com/watch?v=uSZWeRADTFI) показало, что пространство ландшафта обучения нейросетей насколько велико, что реально при обучении используется только маленькая часть этого ландшафта. Можно начать из разных точек и прийти к похожим оптимальным решениям совсем в разных местах этого ландшафта.

Они это выяснили, ограничивая размерность ландшафта нейросети небольшим участком и обучая нейросеть только в границах этого участка. Побочным эффектом оказался способ оценивать сложность задачи. Скажем, MNIST можно решить, ограничив размерность до 700. А для Cifar-10 уже нужно минимум 2.9k (для подробностей см. видео). Это позволяет сравнивать сложность задач. Ну и подбирать соответствующие нейросети для их решения.
Кстати, похожий процесс происходит и при обучении нейросети.

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


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


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

Увы, нет. Существует исследование (не могу найти ссылку), где в игре вроде марио, фигурку персонажа и блоки с наградой/ловушками заменяли на блоки из случайных цветных пикселей. Люди-игроки методом проб и ошибок довольно быстро научились играть в такую игру. Не зная какой значок означает ловушку, а какой награду.

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

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


Вероятно имелась ввиду эта статья
Вероятно имелась ввиду эта статья

Да, кажется она. Ссылка на саму статью (PDF): https://openreview.net/pdf?id=Hk91SGWR-

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

Это называется model-based подход в reinforcement learning. Но к сожалению, сейчас просто не существует хороших алгоритмов при таком подходе. Обычно все сводится к тому, что нейросеть обучают предсказывать что будет дальше. А потом просто берется сотня случайных траекторий и с помощью этой нейросети проверяется, какая из них лучше (для какой нейросеть предсказывает бОльшую награду). Так можно научить машинку ездить, например: Model-based Reinforcement Learning with Neural Network Dynamics.

Но когда вариантов траекторий слишком много, как например при планировании движений гуманоида с 20 степенями свободы на 60 шагов вперед (на 2 сек вперед при частоте кадров 30 к/сек), то шансы случайно выбрать удачную траекторию стремятся у нулю. Хотя нейросеть и показала бы, что она хороша.

Подходы с actor-critic (A2C, A3C и прочие) как раз направлены на то, чтобы брать не случайные траектории, а нейросеть сама подсказывала удачные действия, которые надо предпринять. При этом часть сети critic, которая предсказывает насколько хорошее текущее состояние (обычно предсказывая Value, а точнее Advantage для текущего state) выступает в своем роде как model-based архитектура. Содержит в себе модель окружающего мира.

А относительно недавно был предложен метод RUDDER (обсуждение). В котором LSTM сеть научили предсказывать будет ли впереди награда, а потом проанализировали, какие конкретно входы влияют на выход сети (можно также использовать механизм внимания attention для этого). И перераспределили награду пропорционально их влиянию. Подразумевается, что чтобы правильно предсказать будет ли впереди награда, нейросеть должна понимать, какие шаги к ней приводят. И потом этот перераспределенный график наград используют в обычном PPO при обучении сети.

Например, если для получения награды надо часто заходить в дверь (если награда лежит в комнате), то в момент около двери LSTM выдает тоже награду, а не только в момент получения приза в комнате. Благодаря таким частым reward, PPO обучается намного быстрее. Что характерно, не нужно прописывать промежуточные награды вручную (reward shaping), LSTM сама в процессе предсказания выявляет, какие шаги/действия важны для получения награды, а какие нет.

Но в OpenAI Five это не используется, там простой PPO. Это просто пример, что активно ведутся разработки в этом направлении.
Это доказывает, что у нас мозги уже предобучены для компьютерных игр.

DeepMind вчера статью выложил, примерно на эту тему: Life-Long Disentangled Representation
Learning with Cross-Domain Latent Homologies


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

Спасибо, почитаю. Это вообще очень увлекательное занятие, читать работы с arxiv.org =). Я обычно для новостей просматриваю последние статьи с https://arxiv.org/list/cs.AI/recent, https://arxiv.org/list/cs.CV/recent и https://arxiv.org/list/cs.RO/recent (разделы AI, компьютерное зрение и робототехника, соответственно).

А также https://www.reddit.com/r/MachineLearning/, https://www.reddit.com/r/deeplearning/, https://www.reddit.com/r/reinforcementlearning/, ну и блоги основных разработчиков в сфере ИИ. Обычного этого хватает, чтобы быть в курсе новинок.
>P.S. отвечая на вопрос — теоретических ограничений на обучение современных нейросетей, в общем-то, и нет никаких. По крайней мере, они неизвестны. Это скорее практика, народ делится удачными решениями друг с другом.

вопрос был скорее про теоретические ограничения текущих моделей RL Т.е. какие задачи (и какого уровня сложности) можно уже решать при их помощи, а какие все еще нет. Какие у них есть ограничения и недостатки (например есть ли аналог ADVERSARIAL EXAMPLES как в случае CNN) Понятное дело что ограничения вообще достаточно сложно представить.

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

Аналогичный вопрос про Deepmind capture the flag Это прорыв, или реально просто огромный перебор параметров (на что намекает использование эволюционных алгоритмов)?

>В Reinforcement Learning, пожалуй, больше математики по сравнению с другими областями Deep Learning, да еще со статистическим и вероятностным уклоном. И тянущие многие термины с 70-х годов.

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

На данный момент в RL решаются только задачи очень низкой размерности. Где размерность state и actions каждое не более 4..20. На входе, скажем, 20 чисел, а на выходе 5 чисел — 5 нейронов по количеству кнопок в джойстике (поэтому мы не видим настоящих роботов с ИИ, а в основном примитивные консольные игрушки с джойстиком). Такие почти всегда решаются. Все что выше — не факт.

Для случаев где на входе картинка, снижают ее размерность. При этом в state еще можно снизить размерность, а вот с actions ничего не поделать. Нейросеть в OpenAI Five на выходе имеет, если не ошибаюсь, всего 8 вариантов действий (~8 выходных нейронов). Правда, через какой-то enum, видимо какая-то хитрость, надо почитать оригинал статьи. Там еще пишут, что на входе 20000 чисел, но непонятно как они предобрабатываются. И это всего чисел в последовательности или именно размерность одного шага для LSTM. Похоже на первое, а значит реальная размерность намного ниже. Но все равно, эксперимент OpenAI сейчас один из, если не самый, масштабный.

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

Так сделано, например в World Models для машинки с ИИ. Картинка с экрана пропускается через VAE автоэнкодер, а в контролере, который управляет машинкой, используется внутреннее представление VAE низкой размерности. Причем для обучения этого контролера (собственно, для обучения ИИ машинки) благодаря получившейся низкой размерности тупо использовали эволюционный алгоритм CMA-ES, без всяких нейросетей! Нейросети там только для снижения размерности входных данных.

Также сейчас, в 2018 году, активно исследуются автоэнкодеры с дискретным внутренним представлением (гуглить про Gumbel-Softmax, например). Тоже в основном для снижения размерности, чтобы использовать в RL.

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

Существует два основных подхода в обучении с подкреплением, тянущиеся еще с 70-х годов, когда о нейросетях еще и речи не шло. Обучение с подкреплением тогда было на таблицах и очень простых примерах. Это Q-learning, где для каждой ячейки (для каждого state) в таблице динамически обновляется коэффициент, показывающий насколько эта ячейка хороша и в какие соседние ячейки (state) лучше всего перейти из нее, чтобы получить максимальную награду. Эти коэффициенты обновляются динамически во время игры по специальной формуле — уравнению Беллмана (корень всего RL, кстати). Существует доказательство, что такой алгоритм неизбежно сходится. Но в задачах высоких размерностей это слишком сложно, поэтому когда просто формулу заменили на предсказание этого Q-коэффициента с помощью нейросети, родился метод DQN, обыгравший людей в игры Atari (с парой дополнительных трюков для устойчивости обучения, без них алгоритм не сходился).

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

В задачах высокой размерности, таких как игра Go, количество таких траекторий, которые надо пройти, чтобы узнать результат, получается слишком большим. И поэтому стандартный MCTS буксует. Приходится ограничивать длину траекторий и тому подобное. В AlphaGo все что сделали — это применили нейросеть для предсказания насколько хороша текущая позиция, вместо делания rollout до конца игры (сама нейросеть обучается на реальных проигранных партиях, конечно).

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

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

Аналогичный вопрос про Deepmind capture the flag Это прорыв, или реально просто огромный перебор параметров (на что намекает использование эволюционных алгоритмов)?

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

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

Скажем, один бот в популяции при возникновении события «флаг схватил враг» дает себе награду 1.2, а другой дает себе награду -0.6. В эволюционном алгоритме отбирались те боты со своими приоритетами, которые в итоге выигрывали бой. А само обучение нейросетей было обычным через RL, в их распределенном фреймворке Impala (обычный actor-critic с оптимизацией переброса параметров между серверами).

Похоже, эти дополнительные события и подобранная эволюционным алгоритмом внутренняя награда при их наступлении, и привели к командной игре ИИ ботов. С другой стороны, похожее поведение с командной игрой показывают и боты в OpenAI Five, где ничего такого не используется, а обучение стандартным PPO. Так что это вряд ли является обязательным.

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

И с трудом, и в RL вводятся непривычные концепции. Если кому-то казались CNN непонятными со всеми этими свертками, kernel и features, то RL еще мудренее. Хотя в основе RL лежат простые, а чаще всего вообще примитивные вещи (вроде DQN или actor-critic архитектур). Но понимаются они из-за непривычных концепцией действительно с трудом.
В AlphaGo все что сделали — это применили нейросеть для предсказания насколько хороша текущая позиция, вместо делания rollout до конца игры (сама нейросеть обучается на реальных проигранных партиях, конечно).


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

Это большая проблема, замедляющая обучение в методах, основанных на цельных эпизодах. Поэтому MCTS не так уж часто используется, чаще разные варианты Q-learning. В которых оценка для разных действий делается оперативно в течении игры внутри одного эпизода. Редкие награды можно (и так часто делают) вручную перераспределить и давать награды за разные второстепенные действия, которые разработчик считает полезными. Это называется reward shaping. Скажем, если цель игры попасть мячом в ворота, то кроме награды за гол +100 очков, программист может добавлять по +5 очков за каждый 1 м/с в скорости бега.

Проблема ручного reward shaping в том, что ИИ может найти такие тактики, которые в сумме дадут больше награды, чем основная цель игры. Например, он может быстро бегать кругами и накопить по +5 очков больше за то же время, чем единичный +100 гол. Как эта лодка: https://www.youtube.com/watch?v=tlOIHko8ySg. Или вместо бросания мяча в нужном направлении, ИИ может быстро подбегать к цели с мячом в руке. А что, мяч движется к цели, награда за полет мяча капает… ))

image

видео: https://www.youtube.com/watch?time_continue=286&v=vppFvq2quQ0

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

Аналогичный подход применили в OpenAI для обучения игры в Montezuma’s Revenge с одной демонстрации. Они просто начинали с конца показываемой траектории, где у ИИ есть высокий шанс случайными действиями получить награду. А по мере обучения, сдвигали начальную точку для ИИ все ближе к началу показываемой траектории. В итоге, он выучился делать очень длинные последовательности действий, показываемые на траектории, сыгранной экспертом-игроком.
НЛО прилетело и опубликовало эту надпись здесь
Сможет, вопрос наличия ресурсов, в первую очередь время и понимания как игроки в WoT принимают решение. Будет ли стратегия командного раша успешной в танках покажет время. Пока AI (если смотреть по обзорам игры Dota) выбрал одну из очевидных стратегий приносящую победу это командное синхронное нападение и защита. В этом плане ботам проще синхронизироваться чем игрокам (боты не спорят друг с другом). Пока боты играют по кастрированным правилам, но что будет если AI научится вычислять стратегию при любой комбинации персонажей.

UPDATE! В первом матче из 3-х OpenAI five проиграл команде профессиональных игроков из Бразилии. Матч длился почти час.

UPDATE! В первом матче из 3-х OpenAI five проиграл команде профессиональных игроков из Бразилии. Матч длился почти час.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации