1103,0
рейтинг
26 февраля 2015 в 12:17

ИИ от Google самостоятельно освоил 49 старых игр Atari



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

Эта разработка не такая легкомысленная, как может показаться. Универсальная самообучаемая система когда-нибудь может найти применение, например, в автономных автомобилях и других проектах, где нужно анализировать состояние окружающих объектов и принимать решения. Скажем, при установке в автономный автомобиль ИИ методом проб и ошибок определит, на какой сигнал светофора лучше проезжать перекрёсток. Если без шуток, то программа способна находить решение для широкого спектра задач, независимо от правил и начальных условий.

Интересно ещё и то, что в 20 играх ИИ не смог превзойти человека. Например, он серьёзно облажался в игре Pac-Man, так и не научившись планировать свои действия на несколько секунд вперёд. Он также не понял, что съев определённые волшебные шарики можно пожирать призраков. В итоге, программа сумела набрать всего 13% от рекорда, поставленного лучшим профессиональным игроком.

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

В результате DQN смогла в 22 из 49 игр превзойти лучший результат людей-игроков и в 43 из 49 игр победить любой другой специализированный компьютерный алгоритм.



«Это действительно первый в мире алгоритм, который соответствует человеческому уровню на большом разнообразии сложных задач», — говорит Демис Хассабис (Demis Hassabis), сооснователь DeepMind.

Результаты исследования опубликованы в журнале Nature.



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

Программа лучше всего проявила себя в простых играх вроде пинбола (2439% от результата человека), бокса (1607%) и в игре Breakout (1227%), где нужно отбивать мячик, расчищая блоки на экране. Она даже освоили трюк профессиональных игроков, когда в массиве блоков пробивается туннель и шарик запускается в верхнюю часть экрана!



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

Компьютеры давно используются для управления игровым процессом, но современные системы ИИ вышли на новый уровень. Самообучение DQN предполагало анализ информации на экране в реальном времени, то есть обработку примерно 2 млн пикселей в секунду. Такими темпами ИИ в будущем сможет научиться анализировать окружающую действительность настоящего мира в реальном времени, снимая всё вокруг себя с помощью видеокамер. Это открывает для него совершенно новые области применения.
Анатолий Ализар @alizar
карма
683,6
рейтинг 1103,0
Редактор
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (74)

  • –10
    Я знаю кто автор, но «ИИ от Google» это слишком громко для инс.
    • +5
      Это же не просто бот, система самообучается, так что, почему не AI? Пишут, что фундаментально подход отличается от тех же Deep Blue и Watson.
  • +5
    Странно, что не попробовали противопоставить этой системе саму себя (копию). Например, в том же пинболе.
    • +4
      Пинбол — игра для одного игрока и в ней нет соперника.
      • +8
        наверно имелся в виду понг
    • 0
      Может недостаточно вычислительной мощности для запуска двух экземпляров? Я думаю там не офисные ПК стоят, а какие-нибудь сверхпроизводительные серверы.
      • –4
        Не думаю, что там использовалась целая площадка серверов. Возможно, что специальные нейросетевые плисы, но кто — кто, а гугл себе может позволить такое роскошество и в большем количестве.


        Пинбол — игра для одного игрока и в ней нет соперника.
        xplodr — простите, что не разобрался в таком важном вопросе, прежде чем написать, ведь моя мысль из-за этого становится абсолютно непонятной-)
      • 0
        Согласно Ленте
        две недели на каждую игру и вычислительные мощности одного-единственного персонального компьютера

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

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

        Мне же думается, что причина причина в другом: этот «ИИ» не смог научиться играть, например, в PacMan (по-моему, об этом говорилось в интервью Nature), так что ожидать от него чего-нибудь интересного от противостояния с «двойником» не стоит. Хотя было бы очень интересно посмотреть на дуэль роботов.
  • +7
    Пусть E.T. the Extra-Terrestrial попробует.
    • +15
      я, кажется, представляю себе как может появиться Скайнет…
  • +1
    Умные гели из «Морских звёзд» Питера Уоттса тоже учились по картинкам.
  • +3
    «Будущее здесь», не?
  • +18
    Сегодня Понг, завтра на миде тащить начнет :)
    • +12
      Сначала за нас в игры играть будет, потом за нас котлеты есть начнет… :)
    • 0
      Так ведь уже умеют же, не? Пока еще хуже чем люди и без самообучения, но все же
      • 0
        Конечно умеют. Против компьютера всегда играть можно было, в Дюну какую-нибудь, например.
  • +5
    Они просто бота для счастливой фермы писали, а получилось вот…
  • +2
    Это запредельно круто. Будущее здесь.
  • –3
    >>>Универсальная самообучаемая система когда-нибудь может найти применение, например, в автономных автомобилях и других проектах, где нужно анализировать состояние окружающих объектов и принимать решения.
    Мне вот страшно было бы доверить свою жизнь обученной нейросети подобного рода. Потому как классические алгоритмы хоть на предмет ошибок анализировать можно, доказывать или опровергать их корректность. А тут даже не знаешь наверняка, что случится с такой системой, если кто-то её сфотографирует со вспышкой, и будет ли этот результат устойчивым.
    • +5
      Вы можете проанализировать на предмет ошибок мозг наёмного водителя? Доказать/опровергнуть его корректность? Нет.

      Вы максимум можете опросить его на предмет знания ПДД и посмотреть стиль вождения. Т.е. проверить поведение в некотором наборе конкретных ситуаций. И вроде бы это никого не смущает. Однако когда речь заходит про ИИ — сразу же требуется непременно «математическое доказательство корректности». Странно, неправда ли? )
      • –2
        То, что у водителя есть водительские права, гарантирует у него с высокой вероятностью отсутствие учёта у врачей по части эпилепсии, например. Да и тот факт, что он дожил до зрелого возраста, свидетельствует о наличии инстинкта самосохранения и минимального здравого смысла. Но главное, всё же — наличие списка медицинских противопоказаний, по которым права не дают. Это — чёткий список известных предпосылок для конкретных проблем, которые могут возникнуть с живым водителем. Конечно, не строго математическое доказательство корректности водителя, но серьёзный фильтр.

        Про нейросеть же неизвестно ничего вообще — это просто чёрный ящик, который вроде бы неплохо себя вёл в тех немногих ситуациях, где его успели протестировать перед продажей.
        • +3
          Нынешние «черные ящики» уже чуть ли не 10 лет «тестируют перед продажей». Ни одного мясного водителя с таким пристрастием не гоняли никогда.
      • +1
        Ничего странного.
        Общую адекватность водителя можно оценить по его поведению и в беседе. Оценить адекватность примитивной нейросети не представляется возможным.
        • +1
          Если человек себя нормально ведет при разговоре — это не обязательо означает, что он адекватно себя ведет за рулем. Увы.
          • 0
            Верно. Но если человек неадекватно ведёт себя уже при разговоре — то одно это даёт некоторые представления и о его вождении.
            • 0
              А если ИИ неадкватно ведет себя на тестах — то это тоже вполне себе дает «некоторые представления о его вождении».
    • 0
      Я лучше доверю подобному алгоритму чем гостю из южных стан (я не вожу автомобиль). Алгоритм будет проходить _очень_ серьёзное тестирование, я могу почитать отзывы людей «в теме», посмотреть статистику аварийности, действия алгоритма логичны и предсказуемы. В отличии от человека время реакции — пару тактов процессора
  • 0
    >Эта разработка не такая легкомысленная, как может показаться. Универсальная самообучаемая система когда-нибудь может найти применение, например, в автономных автомобилях и других проектах, где нужно анализировать состояние окружающих объектов и принимать решения.
    В автомобилях нет индикатора заработанных очков, чтобы легко написать целевую функцию. А где ее легко написать, подобрать соответствующий оптимизатор не проблема.
    • +3
      есть индикаторы — время в пути, деньги на ремонт (или выплаты пострадавшим) и штрафы в почтовом ящике. Распрекраснейшие заработанные очки.
      • 0
        Думаю на стадии, когда нужно будет большое количество денег на ремонт и штрафов в почтовом ящике, система не будет в реально эксплуатации)
    • 0
      Для автомобиля не нужна будет универсальность. Точнее нужна будет, но в другом контексте (вид за окном и управление примерно одинаковое, а вот ситуации на дороге — разные).
      • 0
        Дело не в этом, это задачи разного порядка и разного пути решения, сравнения из разряда «ученый изнасиловал журналиста»
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Тетрис появился в то время, когда Atari уже не актуальна была
  • +4
    Я так и не понял, система сама определяла, что является победой, а что проигрышем? Ей показывалось, где на экране очки, а где жизни?

    Откуда игра могла знать, что цель игры BrakeOut (арканоинд?) — набрать как можно больше очков, а не, к примеру, потратить свои жизни как можно быстрее?
    • +1
      Как следует из оригинальной статьи в nature, на вход программе кроме сырых пикселей подавался ещё и счет.
      Цитата
      We demonstrate that the deep Q-network agent, receiving only the pixels and the game score as inputs, was able to surpass the performance of all previous algorithms and achieve a level comparable to that of a professional human games tester across a set of 49 games, using the same algorithm, network architecture and hyperparameters.
    • +1
      Вряд ли система научилась понимать цифры на экране, так что о количестве жизней она бы не узнала.

      Насколько мне известно, задачей ИИ было максимизировать количество набранных очков, которые, как уже заметили выше, подавались ей в явной форме.
  • +3
    На мой взгляд наиболее впечатляющее достижение — это то что программа обучается методом анализа картинки, а не кучи цифровых входных данных как в большинстве других самообучающихся игровых ИИ.
  • +4
    вот сайт где можно скачать исходники на LUA. В архиве есть инструкция что надо инсталлировать и как обучать программу и играть.
  • +1
    Жесть. Когда смотришь видео про игру в Breakout и видишь, как ИИ целенаправленно загоняет мяч в щель между блоками и краем игрового поля, чтобы набить очки, действительно становится не по себе. С одной стороны — восторг от того, что в будущем точно так же будет делаться куча вещей, с которыми ИИ справится значительно лучше и точнее человека, а с другой — холодок по спине, ведь вместо блоков могут быть люди, а вместо шарика — луч лазера (или что там у роботов Скайнета было) :)
    • 0
      Странно, то что она научилась человеческой стратегии. По моему ей было легче научиться просто отбивать шарик все время, чем делать тоннель. Она же не устает как человек. Хотя стратегия туннеля оправдана если шарик не всегда можно отбить.
      • 0
        Думаю это просто случайность. Шарик от угла всегда летит в том же направлении, откуда он был запущен, поэтому платформе нужно меньше двигаться. С этой целью ИИ и посылал по возможности шарик в угол. А тоннель — лишь случайность.
      • +2
        Мне кажется, бот фактически запомнил оптимальные углы отбития шарика. То есть, один раз шар наверх залетел и бот запомнил, какая куча очков высыпалась.
        • 0
          В том то и соль — даже авторы бота не знают правду.
    • +2
      Да что все напуганные какие? И картинки то какие страшные в голове рисуются. Люди рядами и выбивание их лазером. «Мертвые с косами стоят и тишина...».
      • 0
        Фантасты постарались. Уж очень это заманчивая тема. Кто только по ней не прошелся… Мы — поколение технарей, в детстве свзахлёб смотревшее Теминаторов всех видов и сортов.

        Машин мы боимся. Не людей, которые их программируют, нет… Машин.
        • +1
          Я вот не боюсь. Я жду, когда появится полноценный ИИ, если он возможен. Можно на это смотреть вообще как на эволюцию.
  • +6
    Эта статья от Deep Mind была еще в 2013 году опубликована

    arxiv.org/abs/1312.5602

    Все, что изменилось с тех пор, это то, что Google купил Deep Mind :)
    • 0
      Ну, это статья с семью играми от декабря 13 года, а статья в Nature с 49 играми была отправлена летом 14-го. С другой стороны, в статье 13-го года говорится про «a variant of Q-learning», а теперь они это называют Deep Q-Network. Это одна и та же модель?
  • 0
    SC-у научат, и зазвучит во всех динамиках «nuclear launch detected»
  • 0
    Когда уже оно научится фармить кредиты в онлайн-играх?
  • 0
    А кто оценивал успешность игры?

    Если человек, то это получается простейший генетический алгоритм, а вот если робот сам допетрил, что он круто играет, то все намного интересней.
    • 0
      Роботу говорили, сколько у него на текущий момент очков. А ещё он был запрограммирован максимизировать это число.
  • –2
    После видео с «арканоидом», мне кажется что в данном случае ИИ надо расшифровывать как «искусственный идиот». Я к тому, что любой человек уже при первом в жизни сеансе игры в арканоид добивается куда больших успехов, чем этот ИИ после 400 сеансов. Ни в коем случае не хочу принижать достижение разработчиков, просто хотелось указать на огромный разрыв между человеком и существующими ИИ.
    • +2
      Любой человек? Даже младенец, родившийся, скажем, неделю назад?

      У Вашего «любого» человека тысячи часов опыта, включающего не только визуальную составляющую, но и множество других путей получения информации об окружающем мире, в том числе о его физике. У машины этого по-умолчанию нет.
    • 0
      Найдите слова «деревенский дурачок» на этой странице.
    • +3
      У человека уже очень большое количество накопленных знаний, здесь ноль. Если дать арканоид маленькому ребенку, который ходить-то не может, число попыток перед более-менее успешной игрой будет очень приличным. Так что, говоря о разрыве, что вы оцениваете – алгоритм самообучения, или насколько машина уже напичкана знаниями?
    • 0
      Значит я — идиот. Мне в детстве (лет в шесть) потребовалось поиграть в Breakout с неделю, чтобы догадаться загнать шарик наверх. И потом еще некоторое время ушло на тренировки.
  • 0
    «использовала метод обучения с подкреплением»
    «ИИ получает «вознаграждение» за выполнение определённых действий»
    это не самостоятельное обучение. Это кто-то должен сидеть и нажимать ей много раз когда система права а когда нет. Типа q-learning. В данном случае вероятно использовались вспомогательные программы, которые считывали очки из игры и передавали в ИИ. В человеческом случае, этот признак — импульсы удовольствия или боли, которые бессмысленны в отношении единичного компьютера. Если только не захотим создать саморазмножающиеся и конкурирующие компьютеры.
    • 0
      Это кто-то должен сидеть и нажимать ей много раз когда система права а когда нет.
      В данном случае вероятно использовались вспомогательные программы, которые считывали очки из игры и передавали в ИИ
      Если бы всегда можно было просто жадно делать действие, приводящее к увеличению количества очков (что, казалось бы, как раз случай когда «система права»), эти игры бы не представляли ни интереса, ни сложности.

      Тут же действие, дающее очки, не всегда оптимально в долгосрочной перспективе. Поэтому неверно говорить, что кто-то отделяет правильные действия от ошибочных.
      • 0
        этот метод — это выбор стратегии. Берем суммируем вперед несколько шагов поощерений на каждый вариант возможного действия в текущий момент — и получаем прогноз, какой из вариантов лучше. Вместо таблицы состояний, как в q-learning используется сетка распознающая изображения. Но смысл в том, что эту систему, что бы она научилась выбирать эту стратегию, кто-то другой должен ей предоставить определения, что хорошо, а что плохо — т.е. у нее нету и не будет этого нерва. Подразумевается, что для того, что бы она смогла это спланировать, мы должны давать ей признаки, что для нас хорошо или плохо, и угадать этого самостоятельно она не сможет. Я в своей статье показал метод, каким образом мы можем этой системе сказать словами, что нужно.
        • 0
          В чём же выражается эти определения? Не говорите только про значение целевой функции — минимизируемый функционал, если уж на то пошло, можно найти в любой задаче машинного обучения. От этого классификация методов не схлопывается в одно лишь «обучение с учителем».

          Но и про заяву на AGI тоже никто не говорит.
          • 0
            я в ней показал, как система может учится всему, в том числе правилам разговорных языков, только лишь на одном универсальном признаке — прогнозирование, и объяснил, как потом с этой системой прогнозирования можно разговаривать — без каких либо дополнительных расширений. И ей так же можно объяснить, которую стратегию действий желаете, хотя в статье я не стал углубляться в метод выбора стратегий.
            • 0
              я в ней показал, как система может учится всему
              Код есть? Можете хотя бы Ирисы Фишера классифицировать?

              У вас там лишь вода и философия. Более того, логические парадоксы подсказывают нам, что на естественном языке можно выразить такие вещи, о которых и рассуждать строго-то нельзя. Так что априори не верю ни единому слову, покуда оно не подкреплено каким-нибудь более формальным аргументом.
              • 0
                там статью можно поделить на два утверждения:
                1. что прогнозирование можно использовать, что бы с системой можно было разговаривать.
                2. что прогнозировать можно что угодно, если данные не случайны. А если данные есть но не получается — значит просто еще не нашли алгоритм.

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

                Задача классификации, это не задача прогнозирования. Хотя любая задача, которую может понять человек — значит существует алгоритм.

                Над кодом трудимся. Много воды — иначе широкие массы не поймут. А философия — это когда приписывают компьютерам свойство «мудрость», дабы оно решило все наши проблемы — качество взятое из определению сильного ИИ из википедии.
                • 0
                  Второе утверждение требует банальной вычислимости «чего угодно», а, перефразируя Матроскина, у нас теоремы о неразрешимости есть. Более того, даже если алгоритм и существует, Вам его никогда не найти, т.к., очевидно, существует бесконечное количество алгоритмов, выдающих на любой конечном множестве входов любой (конечный, как следствие) набор выходов. Разумно утверждать, что искомый алгоритм будет обладать минимальной длиной программы, его вычисляющей, в каком-нибудь ЯП, но это тоже неразрешимая задача, и не надейтесь.

                  Да и что там неразрешимые задачи, уже пара NP-сложных задач сведёт Вашу систему на нет, на сколько машин Вы её не распараллеливайте. Ибо насчёт пары лет на вычисление это Вы сильно размечтались, реалистичные цифры будут примерно такими: 5.3 * 10285 лет (время факторизации 1024-битного числа перебором, тоже NP сложная задача). Даже если Вы сможете запустить параллельные вычисления на каждой частице во Вселенной (которых всего 1080), это ничем не поможет.

                  Задача классификации, это не задача прогнозирования.
                  Чем задача прогнозирования метки для изображения не классификация? Вы в своей статье говорили, что можно загрузить в программу данные, произнести заклинание «Прогнозируй!» и машина выдаст ответ. Почему если до этого в неё загрузить обучающую выборку в предложенном Вами же формате "[биты картинки] — [число на ней изображенное]", это не будет классификацией?

                  Позвольте нескромный вопрос: а в каком объёме Вы знакомы с Теорией Сложности, Машинным Обучением, Искуственным Интеллектом, Теорией Статистического Обучения? Что такого инновационного Вы предлагаете, что ещё не было опробовано другими?
                  • 0
                    Количество алгоритмов бесконечно — я с этим согласен, и там я об этом упоминал. Я всего лишь утверждаю, что если это спрогнозировал человек, значит это возможно. Если не нравятся точные методы, то в конце я упомянул, что это же можно искать в нейронных сетках.

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

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

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

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

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

                      они проглядели свойство, что так можно с ней разговаривать
                      Серьёзно? Вы фильмы смотрите? Я не знаю ни одного фильма, где с ИИ бы не разговаривали. Я уже не говорю про всевозможных ассистентов вроде Сири, Кортаны и пр. Или Вы думаете, что все учёные мужи до единого просто сидят взаперти уже 60 лет, потирают лбы и сосредоточенно смотрят на формулы?
                      • 0
                        вот Вы спорите, а сами правильно угадали принцип «картинка-число», причем в статье этого не было. Скорость поиска — вопрос не в этом. Если бы за 60 лет об этом сообразили бы, то были бы хотя бы теоретические упоминания об этом, а так же выкладки сколько это займет времени. И как следствие утверждения, что поиск аналогичный мозговому не возможен, и нужно все пилить ручками. И мозг работает далеко не на брутфорсе — даже ему это не под силу.

                        Других вариантов нету, либо будет универсальный критерий, либо мы продолжим все пилить, и под каждую ситуацию придумывать подкрепления. Типа строим космический корабль, на него смотрит через камеру отдельно выпиленная программа и считает очки — тот ли нос прикрепили.
  • 0
    А завтра эта программа просмотрит канал НТВ и пойдет лить кровь с утра до утра. Жестоко, но такая вероятность есть.
  • 0
    Из сообщения я узнал и захотел развидеть понятие «профессиональный игрок в Пакман».
  • +2
    Будем ждать, когда этот ИИ создаст канал на ютубе, чтобы выкладывать там свои летсплеи

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