Як навчити нейронну мережу для круглої настільної гри?


11

Мені цікаво, як навчити нейронну мережу для настільних ігор на круговій основі, таких як «тик-так», «шахи», «ризик» або будь-яка інша гра на основі круглих сторін. Наступний хід шляхом виведення здається досить прямим вперед, подаючи ігровий стан у якості входу та використовуючи вихід як рух для поточного гравця. Однак навчання ІС з цією метою не здається таким прямим, тому що:

  1. Можливо, не буде рейтингу, якщо один хід хороший чи ні, тому тренування одинарних ходів не здається правильним вибором
  2. Використання всіх станів гри (входів) та рухів (виходів) всієї гри для тренування нейронної мережі не здається правильним вибором, оскільки не всі рухи в програній грі можуть бути поганими

Тож мені цікаво, як тренувати нейронну мережу для круглої настільної гри? Я хотів би створити нейронну мережу для тик-так-носка за допомогою тензорфлоу.

Відповіді:


10

Чудове запитання! NN дуже перспективний для подібного типу проблем: Шахи жирафи . Досягнення Лая вважалося досить великою справою , але, на жаль, прийшло лише за кілька місяців до того, як AlphaGo взяв на себе увагу. (Все вийшло добре, що Лай був згодом найманий DeepMind, хоча не дуже добре для двигуна Giraffe ;)

Я вважаю, що підхід Лая є дуже корисним, і це підкріплюється ґрунтовними результатами.


Ви можете використовувати " послідовний " на відміну від "круглого", оскільки послідовність є кращим терміном в теорії ігор та теорії комбінаторних ігор , і це поля, які застосовують математичний аналіз до ігор.

Ігри, які ви перераховуєте, ще називаються " абстрактними ", щоб відрізнити їх від сучасних настільних ігор стратегії або ігор загалом, які використовують сильну тему і, як правило, менш компактні, ніж абстрактні ігри з точки зору механіки та елементів. Це говорить про те, що абстрактні ігри не обмежуються лише послідовними іграми або настільними іграми, а точніше навіть іграми, як у випадку із загадками на зразок судоку.

Офіційна назва цієї групи ігор, як правило, " партизанська , послідовна, детермінована , досконала інформація " з подальшою категоризацією Tic-Tac-Toe як "тривіальна" (вирішена та легко вирішальна) та нетривіальна (нерозв'язна та нерозв'язна) для такі ігри, як Шахи та Го.


7

Я шахіст, і моя відповідь буде лише щодо шахів.

Навчання нейтральної мережі з підкріпленням навчання не є новим, це робилося багато разів у літературі.

Я коротко поясню загальні стратегії.

  • Мета мережі - вивчити оцінку позиції. Усі ми знаємо, що королева сильніша за єпископа, але чи можемо ми зрозуміти про це мережу без явного програмування? А як щодо структури пішаків? Чи розуміє мережа, як оцінити, виграє чи ні позиція?

  • Тепер ми знаємо, навіщо нам потрібна мережа, нам потрібно її розробити. Конструкція кардинально відрізняється між дослідженнями. До того, як глибоке навчання було популярним, люди користувалися неглибокою мережею. Нині виділяється мережа з багатьма шарами.

  • Як тільки у нас з’явиться мережа, вам потрібно буде зробити шаховий двигун. Нейронна мережа не може чарівно грати в шахи сама по собі, їй потрібно підключитися до шахового двигуна. На щастя, нам не потрібно писати код оцінки позиції, оскільки мережа може це зробити для нас.

  • Тепер нам належить грати в ігри. Ми можемо почати з декількох баз даних шахової якості або замість цього наш AI-агент зіграти в ігри з іншим гравцем (наприклад, самим іншим агентом AI або людиною). Це відоме як підкріплення навчання .

  • Поки ми граємо в ігри, ми оновлюємо мережевий параметр. Це можна зробити за допомогою стохастичного градієнтного спуску (або інших подібних прийомів). Ми повторюємо нашу підготовку до тих пір, як хочемо, як правило, протягом мільйонів ітерацій.

  • Нарешті, у нас є навчена нейтральна мережна модель для шахів!

Детальні відомості див. У наступних ресурсах:

https://chessprogramming.wikispaces.com/Навчання


Тут є лише маленька шахи
квінтмія,

Це приклад того, як надання зовнішнього посилання без узагальнення може завдати шкоди в майбутньому. Оскільки надане посилання тепер мертве
Грег Гілстон

4

Я думаю, вам слід ознайомитись із навчанням підкріплення. У цій галузі машинного навчання агент взаємодіє зі своїм оточенням і після цього агент отримує певну винагороду. Тепер агент є нейронною мережею, середовище - це гра, і агент може отримати нагороду +1, якщо він виграє, або -1, якщо програє. Ви можете використовувати цей стан, дію, винагороду, щоб виховувати агента. Я можу порекомендувати лекції Девіда Сілвер про ютуб та книгу Саттона.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.