Содержание статьи
Читерство ИИ в культовых настолках: как нейросети научились обыгрывать людей на интуиции
ИИ научил экспертов играть в нарды
Изначально весами сети были заданы случайные значения. Поэтому первое время программа играла очень плохо и партии могли длиться сотни или тысячи ходов. Однако уже после нескольких десятков партий качество игры значительно улучшилось. Для полноценного обучения нейросети потребовалось провести около 300 тысяч партий против самой себя.
ИТ: Чтобы исправить эту несправедливость, я и задумал #хорошее_нейрочгк. Я взял другую модель, очень мощную, выбрал вопросы, написанные ровно по одному источнику, и дообучил её, чтобы она преобразовывала текст в формат вопроса. Сделал это, выложил и успокоился — справедливость восторжествовала. 🙂
СД: Первоначальное обучение модели, которая пытается понять, как работает язык, требует очень больших вычислительных ресурсов и большого количества данных. Например, ту модель, с которой начиналась «Аномалия», изначально обучил Михаил Гранкин на произведениях русской литературы и (кажется) Википедии. С голой версией этой сети можно поиграться здесь .
Несмотря на то, что Ли Седоль сумел выиграть одну партию, независимые комментаторы сошлись во мнении, что машина полностью переиграла человека. Некоторые ходы, сделанные AlphaGo, противоречили классической теории го, но доказали свою эффективность в матче против Ли Седоля. Сегодня профессионалы активно используют эти находки нейросети в своих партиях.
Исследователь ИИ из компании IBM Джеральд Тезауро посвятил 15 лет жизни тому, чтобы компьютер смог играть в нарды. Венцом его исследований, проводившихся с 1987 по 2002 год, стала нейросетевая программа TD-Gammon. Она впервые в мире могла на равных соревноваться с чемпионами мира.
Тезауро смог создать нейросеть, которой не требовалось объяснять правила или демонстрировать, как играют профессионалы. Его программа обучалась полностью самостоятельно, проводя тысячи партий против самой себя. Это выгодно отличало её от применявшихся ранее подходов к обучению нейронных сетей, в которых требовалось участие экспертов.
Сверхчеловеческие способности не для го
Как и TD-Gammon, AlphaGo использовала нейронную сеть для оценки возможных действий. Для обучения сети использовался тот же подход с подкреплением (Reinforcement Learning). И сеть также обучалась самостоятельно, проводя тысячи партий против самой себя и получая «вознаграждения» за действия, приводящие к выигрышу.
Один из ведущих специалистов в области создания AI — Юрий ВИЗИЛЬТЕР, начальник подразделения ГосНИИ авиационных систем (ГосНИИАС), профессор РАН и заместитель созданного указом Президента РФ Экспертного совета национального центра развития технологии и базовых элементов робототехники — настроен оптимистически. Он уверен, что буквально через пару лет будут практически решены все научные задачи, необходимые для создания функционального искусственного интеллекта, то есть устройства, выполняющего функции, на которые, как считалось раньше, способен только человек.
Такой подход зарекомендовал себя для шашек и шахмат, но не подходил для популярной в Азии игры под названием «го». Долгое время она оставалась последним оплотом человечества. До 2015 года лучшие программы могли похвастать лишь любительским уровнем игры. Специалисты по ИИ полагали, что создать программу, способную обыграть экспертов в го, удастся в лучшем случае не раньше 2025 года.
Но добиться этого было непросто. В нардах (в отличие от шахмат или шашек), кроме возможных действий игроков, необходимо также учитывать элемент случайности. Многое в них зависит от результатов бросков игральных костей (выпавшие числа определяют, на сколько пунктов допускается передвинуть фишки по игровой доске). Из-за этого дерево игры в нардах расширяется гораздо быстрее, чем в шахматах.
В сложных настольных играх даже огромная скорость вычислений суперкомпьютеров сама по себе не могла гарантировать победу. Уверенно громить людей в нардах и го программы смогли только после того, как нейронные сети позволили им обрести аналог человеческой интуиции. А началось всё с нейросети, которая показала людям, как надо играть в нарды.
Последующий компьютерный анализ (метод, называемый Rollout) показал, что решение нейросети с большей вероятностью ведёт к улучшению игровой ситуации. Вдохновившись манерой игры TD-Gammon, профессионалы начали экспериментировать с первым ходом по примеру умной программы и добились успеха. Через несколько лет популярный ранее слоттинг практически исчез из дебютов турнирных игр. Так нейросеть способствовала изменению игры в нарды.
Такой подход отличается от метода классических шахматных компьютеров, которые перебирают возможные комбинации действий на большую глубину. Отличается он и от манеры игры людей-экспертов, которые оперируют не только интуитивной оценкой игровой ситуации, но также предпочитают полагаться на шаблонные ходы, логические рассуждения и подсчёты.
Скачал с кинопоиска кучу описаний фильмов и их оценок и пытался собрать систему из нескольких нейросетей, которая будет генерировать описание фильма, который получил бы на «Кинопоиске» как можно большую оценку. Самые смешные результаты я кидал друзьям, многие из которых тоже увлекаются интеллектуальными играми.
Выводы
АИ: ыыыыы, может, это всё же нейросеть, а не просто редактор, который только редактировал и выдавал готовые ответы? 🙂 Но если всё же нейросеть, то она будет генерить те вопросы, которые сами собой не возникнут. Хотя если у вас не нейросеть, а программа — тоже, то почему нет?:) А может, всё наоборот и она уже давно есть?:) А может, и нет вообще:). 🙂 Хотя нет, не может, если я правильно понял вопрос.
ИТ: В декабре я начал учить свои нейросети всяким текстам и не мог не попробовать поучиться на ЧГК-вопросах. Получилось очень прикольно, но в свой канал это постить не хотелось, ведь идею придумали до меня. Я предложил Серёже помогать с админкой, придумывая всякие новые форматы по воскресеньям, и всё заверте.
ИТ: Грубо говоря, нейросети́ показывают очень много текстов на определённом языке. Огромное количество. Так она запоминает последовательности слов, грамматику (исходно о ней не зная), и даже логику, и сохраняет знание внутри себя в числовом виде — это называется обучением модели.
ИТ: До нас нейросеть «выучила язык» на миллионах текстов и умеет просто продолжать текст на русском, а мы говорим ей «окей, твоя задача — генерировать текст исключительно в стиле вопросов ЧГК». Для этого хватает меньше примеров, чем для обучения, хотя тут большое количество данных тоже не помешает. Например, «нейроавтора» (одна из рубрик в канале, когда модель обучается на вопросах одного автора, — прим. ред.) я обучаю, семь раз показав модели некоторое количество вопросов, которое может быть не больше 150, а всю базу достаточно показать от одного до трех раз.
И тогда вместо описанного выше поиска «грубой силы» специалисты британского стартапа Deep Mind решили обратиться к опыту нейросетевой программы для игры в нарды TD-Gammon. Спустя 20 лет после её появления они сумели реализовать заложенные в ней идеи на новом, более высоком техническом уровне. Это позволило Deep Mind создать в 2015 году AlphaGo, показавшую чемпионские результаты в го.
Например, TD-Gammon научилась разыгрывать определённые начальные позиции не так, как было принято среди экспертов. Когда при первом броске на костях выпадало сочетание 2–1, 4–1 или 5–1, профессиональные игроки до появления TD-Gammon практически всегда совершали типовой ход: они перемещали фишку с 6‑го пункта на 5‑й. Такой элемент игры называется « слоттинг ». Однако нейросеть в той же ситуации предпочитала делать неожиданный манёвр: она сдвигала фишку с 24-го на 23-й пункт. Такой элемент игры противоположен предыдущему и называется « сплитирование ».
Нейросеть, оставаясь в рамках правил игры, раз за разом находила нестандартные ходы, ведущие к победе. Многие решения нейронной сети эксперты, комментировавшие матч, поначалу называли ошибками, но потом убеждались, что эти «ошибки» вели программу к победе и были частью успешной стратегии.
СД: Генерация вопросов выглядит так: я прошу модель закончить текст, который начинается со слова «Вопрос». Дальше она всё делает сама, добавляя по одному слову, морфеме или знаку пунктуации и так далее. На каждом шаге модель выдает вероятность того, что следом будет идти такое-то слово, выбирает следующее слово, а получившийся текст опять подается в модель. И так до — тех пор, пока модель не выдаст специальный символ, который обозначает, что генерация закончилась.