Программа учится играть по видеороликам

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

    Лукаш Кайзер (Łukasz Kaiser) из университета Париж Дидро написал программу на C++, которая разбивает видеоряд по кадрам, убирает из них всё лишнее (руки людей) — и получает список последовательных позиций.

    На основе этих данных алгоритм (на OCaml) составляет базу разрешённых ходов и список выигрышных/проигрышных/неразрешённых позиций, затем генерирует набор логических формул типа ∃x1Q(x1) ∧ ∃x0(C(x1,x0) ∧ x0 = e1). Оба модуля интегрированы в свободную программу для игры в настольные игры Toss.

    На обычном ноутбуке программе требуется 28-74 секунды для обработки двухминутного видеоролика, в зависимости от игры. Потом ещё пару минут для составления набора правил — и она готова играть. Правда, чтобы научиться выигрывать, нужно посмотреть не один видеоролик, а больше. Во время тестирования программы она обработала 25 видеороликов игры в крестики-нолики, 25 — четыре в ряд и 17 — в гомоку. Если игра более простая, то достаточно и меньшего количества.

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

    Собственно, и сам Лукаш Кайзер пишет, что выбрал настольные игры как объект применения своей программы, «потому что здесь количество визуальных объектов относительно мало, в то время как имеется достаточное разнообразие действий. Кроме того, игры являются натуральной моделью многих сценариев отношений в реальном мире, что делает результат значимым в широком контексте».

    Подробнее об алгоритме см. в научной работе: Learning Games from Videos Guided by Descriptive Complexity (PDF), или на видеозаписи его презентации с Третьей конференции по искусственному интеллекту общего назначения (Third Conference on Artificial General Intelligence).

    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 13
    • –1
      Ну кто же ещё...
      [внезапно] Так что, мы уже на грани создания самообучающегося искусственного разума? [/внезапно]
      • +6
        Главное не показывать фильмы про терминатора…
    • 0
      Интересно, а в последствии у них будет коллективный разум? Или каждую обучать с нуля?
      • 0
        Интересно, сколько времени ей понадобится, чтобы научиться играть в Го?
        • 0
          А чтобы научиться играть в бридж, придётся ли ей в чужие карты подглядывать?
          • +1
            Можно и без подглядывания :-) Тогда среда будет partly observable против fully observable в крестиках-ноликах, шашках и Го.
          • 0
            Думаю на текущем уровне развития данных алгоритмов или астрономически много или вообще сколько ни играй, нормально играть не станет.
          • 0
            Еще в середине 70-х Артур Семюел создал игру в шашки, которые обучались, играя против самих себя. Сам Артур был посредственным игроком в шашки, и через какое-то количество партий его программа стала обыгрывать его самого :-)
            • 0
              В одной книге (вроде бы «Занимательная математика» Перельмана) видел инструкцию, как построить «компьютер», самообучающийся игре в крестики-нолики, из спичечных коробков и бусин.
              • 0
                Я о таком у Гарднера читал
            • 0
              В покер бы научили программу играть… и проблема с финансированием была бы снята =о)
              • 0
                ага, главное, чтобы она потом не заявила, что она это сама выиграла, ты ей больше не нравишься и она забирает с собой жесткий диск и переезжает к SSD

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