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

Соперник, ученик, помощник: игры, в которые играют люди... и машины

Время на прочтение 7 мин
Количество просмотров 27K
Развитие искусственного интеллекта, как и его восприятие человеком, прошло сложный путь и продолжается на наших глазах. ИИ давно вырос из коротких штанишек простого помощника человека и все активнее заявляет о своих правах. Стартующий в 2019 году технологический конкурс Up Great ставит перед собой долгосрочную амбициозную цель — создать универсальный ИИ, который будет обучаться вместе с людьми в ходе совместной деятельности. А это значит, что пришло время окончательно решить, кем является ИИ для человека и кем человек является для ИИ.

Шахматы
Одиннадцатое мая 1997 года. Нью-Йорк. Мир шахмат изменился навсегда. Машина победила человека. Стало понятно: игра уже не будет прежней — машина сильнее. Спустя годы Гарри Каспаров поедет по миру и в лекциях будет вспоминать о том, какими были шахматы и какими стали сегодня.
«Играя с машиной, ты словно играешь с пятиклассником — только в конце ты проигрываешь», — вспоминает он. Типичная игра компьютера отличается от человеческой: это прежде всего тактика и стратегия, основанная на последовательном получении маленького и едва заметного преимущества в каждом шаге. Горизонт планирования и расчета по дереву решений у человека и машины существенно отличается. Магнус Карлсен утверждает, что видит в среднем на 15, а иногда на 20 ходов вперед (не endspiel) — современные компьютеры могут обсчитать на порядок большее число шагов. Заметим, что для создания подобной системы необходимо иметь два ключевых элемента: функцию оценки доски и алгоритм обхода дерева возможных решений.
Первый модуль говорит нам, насколько хороша данная расстановка фигур для нас, а второй, модуль поиска, используя эту функцию, смотрит на возможные N шагов вперед и пытается найти наиболее выгодный шаг. Частой эвристикой и эффективным алгоритмом поиска является альфа-бета отсечение, а также стохастический метод Монте-Карло поиска по дереву. В чем соль? Мы играем в игру min-max: мы хотим сделать такой шаг, чтобы полученная доска была оптимальна для нас, а ответный шаг был минимален. Для этого мы просчитываем все возможные ответы оппонента, рассчитывая, как на них можно максимально эффективно ответить. Для этого нам нужно перейти на глубину n+1 и заново рассчитать min-max. Повторяя эту операцию N раз, мы можем узнать оптимальное для нас состояние доски через 2*N шагов (или N наших шагов).
Evaluation function — как правило, набор экспертных эвристик, оценивающих качество доски для нашего игрока
Каспаров говорит, что сейчас все профессионалы тренируются с машинами: «Когда-то это было невозможно себе представить — правила игры поменялись». К сожалению, многие слепо следуют в тренировках советам машин. Как наставник Магнуса он отмечает, что прежде всего того отличает от других игроков в шахматы способность «прочувствовать» логику машины во время тренировки.
Когда-то мы учили машины «видеть» доску и «находить» лучший ответ на действия оппонента, а сейчас на основе этих алгоритмов, которые вдохновлялись видением и тактикой шахматистов и были основаны на человеческом опыте игры в шахматы, мы обучаем будущих и настоящих игроков в шахматы. Круг замкнулся?
На самом деле все куда интереснее, ведь связки «человек + машина», как правило, сильнее, чем человек или машина в отдельности. И здесь мы видим совершенно новое направление augmented intelligence. Подобные шахматы получили название advanced chess. Вышла невероятно интересная игра: взаимодействие машинной и человеческой логики.
Всегда ли машины работают на строгом расчете? Или у них есть «интуиция»?
αГо и триумф машинного обучения
Девятое марта 2016-го. Сеул. Практически никто из профессиональных игроков не верит, что легендарный Ли Седоль может проиграть машине в го — ведь это «священный Грааль» игр и самая сложная из настольных игр с открытой информацией.
На каждый шаг в шахматах есть 20 осмысленных переходов-ответов. В го их около 200. Это означает, что всего через несколько шагов число возможных комбинаций превышает число молекул в обозримой вселенной. Ниже приведен план «раскрытия» дерева возможных решений во времени (по шагам — слева направо).
Общая стратегия, как мы видим на схеме ниже, похожа на алгоритм поиска.
  1. Выбор (Selection). Симулирует обход дерева, выбирая дуги с максимальным весом Q (насколько хорош шаг).
  2. Раскрытие вершины (Expansion). Если вершина выбрана при обходе, она скармливается supervised learning (SL) policy network для получения априорных вероятностей возможных шагов.
  3. Оценка (Evaluation). Включается Reinforcement Learning стратегия, которая играет множество игр и оценивает, насколько текущая позиция хороша (условно, если белые выиграли у черных 8 из 10 раз начиная с данной расстановки, то вес позиции — 0,8).
  4. Backup. Приписываем вес всему дереву и продолжаем поиски.
Нейросети играют роль «интуиции» машины. Если в случае с шахматами в деле строгая логика, то здесь просчитать ходы невозможно.
В документальном фильме про AlphaGo мы видим, как система играет на 5-й линии. Шаг 37. Комментатор говорит, что это ошибка человека за столом. Приходит ответ системы: «Нет, это не ошибка». Корея замирает. Эксперты меняются в лице. Ли уходит покурить. Мир Го перевернулся навсегда.
Шаг 37 AlphaGo — игра на пятой линии
Это был всего лишь расчет, точный и кропотливый. Если Каспаров говорил, что машина — это школьник-пятиклассник, то в этот момент пятиклассником оказался сам мир.
В одной-единственной игре, возможно, последней, когда человек победил машину в Го, Ли Седоль делает свой 78-й ход. Машина говорит, что такой ход фактически невозможен — так никто никогда бы не пошел. Этот ход назовут «прикосновением Бога».
Шаг 78: Ли Седоль — «прикосновение бога»
Ход 37 был всего лишь расчетом, а ход 78 — откровением, актом человеческой интуиции, творчества и даже искусством, но без хода 37 не было бы и хода 78. Не делает ли это его чем-то большим, чем просто расчет? Не узнали ли мы о себе что-то, чего никогда не узнали бы без машин?
Может быть, это станет переходом из фазы «человек против машины» в фазу «человек и машина»?
Игры: что дальше?
Почему игры вызывают такой интерес? Сейчас понятно, что для того, чтобы решать реальные жизненные задачи, нужно абстрактное мышление и математика, что почти не требует общих знаний о физическом мире. Возможностей компьютеров пока (пусть и есть какие-то примеры) не хватает для моделирования всего мира. А игры — это интересная абстракция части существующего мира, и в них можно играть эффективно. Именно поэтому такая ситуация стала одним из бенчмарков развития искусственного интеллекта.
Сейчас мы видим, как DeepMind, OpenAi и многие другие покоряют новые горизонты.
На подходе системы, которые могут ориентироваться в пространстве и взаимодействовать с друг другом (например, Dota и StarCraft), используя совершенно разные стратегии, тактики и доступные ресурсы — безусловно, все это необходимо для применения подобных систем в реальной жизни.
Интересный инсайт: в такой игре, как StarCraft, обладая возможностью быстро и безошибочно контролировать и координировать действия, простые линейные юниты побеждают даже самые сложные комбинации созданий и существ. Это поможет упростить дизайн сложных инженерных систем, которые мы создаем сейчас.
Ну а DeepMind просто натренировал идеально скоординированную армию роботов-убийц — нет никаких поводов для волнений.
Реальная жизнь и взаимное обучение с ИИ: умные помощники
Стоит нам произнести: «Alexa Spotify Random Access Memories by Daft Punk», как заиграет хорошая музыка.
А тем временем сложилась целая цепочка решений, принятых несколькими разными системами искусственного интеллекта. Первый слой — голосовой модуль — преобразовал записанный звук в отдельные слова. Затем внутренняя система обнаружила команду активации.
Выделим ключевые аспекты процесса:
  • Команда активации — Alexa;
  • Команда выбора модуля — музыкальный модуль Spotify;
  • Spotify query template matching <album> by <artist> — тут подсистема поняла, что у нас запрос вида <music> by <performer> и что в данной ситуации <music> является альбомом, а <performer> — группой.
И тут случается что-то невероятное. Сначала мы учим помощника понимать человеческую речь, общаясь с ним так, как с обычным человеком, но потом незаметно для себя мы переходим на искусственный язык запросов.
Кому-то пример с голосовым помощником может показаться надуманным (pun intended), ведь совсем не обязательно пользоваться системой в духе Алексы или Алисы. Но автоматические голосовые системы уже повсеместно внедряются для помощи человеку. Рассмотрим, например, голосовой помощник «Аэрофлота». Допустим, что нам нужно срочно вернуть билеты в связи с форс-мажорными обстоятельствами. Как только мы дозвонимся до диспетчерской, автомат попросит нас сообщить цель звонка — по сути, мы видим (концептуально) ту же систему, что и в случае с Алексой, только более специализированную. Мы произносим что-то похожее на «вернуть билеты срочно» и начинаем говорить с ботом, используя его же функциональные термины («категория» + «модификатор»), вставляя ключевые «поисковые» слова в простой язык запросов. И это, безусловно, эффективно, т. к. экономит время операторов первой линии, но возвращает нас к уже прозвучавшему ранее тезису: сначала мы обучаем машины, а потом сами машины учат нас, как с ними говорить. Главное здесь — помнить, что человек решает, что, как и зачем происходит.
В связи с этим появляются вопросы: не станет ли наш язык в результате интеграции с системами искусственного интеллекта более структурированным? Должны ли мы вообще говорить с ИИ так, как говорим с ним сейчас, или пусть боты подчиняются нашему интуитивному и эмоциональному языку, самостоятельно переводя его в логичную, графовую форму? И не это ли имел в виду Хомский в своей универсальной грамматике?
Умные помощники: граф знаний
Как именно Алекса поняла, что Random Access Memories — это альбом, а не песня? Как правило, подобные системы используют knowledge graphs — представление знаний в логической форме.
Таким образом, мы зафиксировали, как должны быть представлены знания, чтобы система могла их извлечь. Вернемся к основному тезису: сначала человек научил систему, как представлять знания, а потом стал следовать машинному представлению, чтобы получить эти данные из системы.
Умные помощники: Natural Language Processing
Картинка из OpenAI: better language models
Но как система идет от набора звуков к буквам и смыслам, которые за ним стоят? Идеи в основе таких систем, как Word2Vec, BERT (RoBERTa, etc), восходят своими корнями еще к Людвигу Витгенштайну: «Значение слова — это его употребление в контексте» (Die Bedeutung eines Wortes ist sein Gebrauch in der Sprache).
Система изучает контексты и может оперировать с ними, как с алгебраическими величинами:
Особенность BERT в том, что эта технология умеет учитывать так называемые правые и левые контексты — например, для слова bank ниже:
Таким образом, каждое слово представляется в виде совокупности контекстов, в которых оно может использоваться. В частности, в машинном представлении контекст — это N-мерный вектор, а значит, слово может быть представлено в виде радиус-вектора в N-мерном пространстве, например:
Подобным представлением и пользуются многие NLP-системы для поиска и анализа большинства запросов, а также ответов на вопросы. Например, если задать Алексе вопрос: «Who was the president before Obama?», она сможет распознать контекст выборов в США даже без упоминания страны, а также понять, что нам необходим человек, бывший президентом до личности, упомянутой в запросе, и корректно ответить: «Barack Obama was preceded as the president United States by the George W. Bush».
Продолжать тему можно бесконечно, но, наверное, актуальный путь ее развития — это движение в сторону плотного взаимодействия человека и ИИ. Еще одним шагом на пути прогресса в этой отрасли станет технологический конкурс Up Great. Похоже, вопрос о роли ИИ в жизни человека постепенно находит свое окончательное решение.
Теги:
Хабы:
+40
Комментарии 33
Комментарии Комментарии 33