КурсыИИМатематикаКодФизикаО проекте и вопросы

TwiddleLab / Искусственный интеллект / Обучение с наградой

Учимся играть в игры

Урок 8 из 10 · 7 мин · Бесплатно, без аккаунта

Что ты узнаешь

  • Игра с собой: агент учится игре, играя против своей копии.
  • После каждой партии позиции победителя получают оценку чуть выше, а проигравшего чуть ниже.
  • В больших играх сеть ценности угадывает, насколько хороша позиция. Так AlphaGo Zero выучила го.

Начать урок

Как идёт урок

  1. В 2016 году программа обыграла одного из лучших игроков в го. Её преемница училась, только играя сама с собой.

    Как учиться у партнёра, который знает так же мало? Попробуй на маленькой игре.

  2. Сыграй в палочки против бота, который ходит наугад.

    Бери 1, 2 или 3. Кто возьмёт последнюю палочку, тот выиграл.

  3. Теперь пусть бот играет сам с собой.

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

  4. Это игра с собой.

    Таблица ценностей это то, что выучил бот. Правило четвёрки ему никто не говорил.

  5. Будь правилом обучения для одной партии.

    Сдвинь каждый задетый столбик к результату: 1 для кучек победителя, 0 для кучек проигравшего.

  6. Обыграй обученного бота. Его ценности тебе видны.

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

  7. Собери цикл игры с собой на Python.

    play_one_game возвращает, какие кучки были у победителя и какие у проигравшего.

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

  8. Из каких кучек тот, кому ходить, проигрывает?

    Считай, что соперник никогда не ошибается.

    Из числа, кратного 4, сколько ни возьми (от 1 до 3), соперник может взять столько, чтобы пара в сумме дала 4, и оставить следующее кратное 4, и так до 0.

  9. Как AlphaGo Zero (2017) научилась играть в го?

    AlphaGo Zero получила только правила. Она сыграла сама с собой миллионы раз, и нейросеть по этим партиям научилась оценивать позиции и предлагать ходы. Потом она обыграла прежнюю AlphaGo со счётом 100:0.

  10. Турнир: обыгрывает ли каждая версия предыдущую?

    Выбери две версии бота и дай им сыграть 100 партий.

Предыдущий урок: Взлом награды · Следующий урок: RL в чат-ботах · Часть курса: Обучение с наградой

Уроки интерактивные и работают на JavaScript. Включи его, чтобы играть.

Loading TwiddleLab