AlphaZero. Нейронная сеть играет в шахматы

Тема в разделе "Машинное отделение", создана пользователем grizly, 6 дек 2017.

  1. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    103
    Симпатии:
    9
    Репутация:
    1
    Оффлайн
    Её хоть так хоть так тренируют(и я в том числе), а шахматы фишера это лишь новые позиции которые улучшат понимание шахмат LcZero.
    подобная идея уже была https://groups.google.com/forum/#!topic/lczero/C2PY8Lm8GMA
  2. Boroda Новичок

    • Новичок
    Рег.:
    12.01.2018
    Сообщения:
    43
    Симпатии:
    7
    Репутация:
    0
    Оффлайн
    На основном сервере, новым сетям наконец то удалось обыграть 390 сеть, для этого понадбилось почти 100 поколений сети!
    Sergey1983 и Rom нравится это.
  3. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.311
    Симпатии:
    1.697
    Репутация:
    60
    Адрес:
    Москва
    Оффлайн
    Ещё и другие ходы - рокировки нетривиального вида. Насколько они хорошо лягут на существующую архитектуру сети?
  4. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    103
    Симпатии:
    9
    Репутация:
    1
    Оффлайн
    Но, если ляжет почему бы не сделать?По ссылке выше писали что позиции во многом похожие поэтому замедление обучения не должно быть таким уж большим, кроме того я в том числе спрашиваю мнение других хотя окончательно прояснит ситуацию пожалуй лишь Crem.
  5. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    25
    Симпатии:
    1
    Репутация:
    0
    Оффлайн
    Я согласен, что для анализа позиций это может быть полезным. Но для игры - скорее всего, нет, т. к. это уменьшает capacity нейронной сети для ходов из реальной игры.
  6. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.716
    Симпатии:
    209
    Репутация:
    12
    Адрес:
    Киев
    Оффлайн
    В любом случае для анализа позиций куда более полезны позиции из классических шахмат. Если у нас король с b8 может рокировать на g8, то эта особенность может быть надо будет учитывать в шахматах Фишера, но для классических шахмат она более чем бесполезна.

    Я просто не сильно владею на тему того, как именно используются тестовые партии в обучении. И насколько велика вероятность, что сеть будет стремится к тому, чтобы глубоко знать небольшое количество дебютов. А это вполне себе локальный максимум, который использует большинство белковых шахматистов — иметь свой дебютный репертуар. В принципе, чтобы проверить это, надо просто посмотреть на статистику по дебютам в тестовых партиях. Если дебюты однообразны — сеть будет настроена на узкий дебютный репертуар.

    Но этого вполне можно избежать, если наигрывание тестовых партий реализовывать как большой MCTS где в UCT увеличить коэффициент исследования. Тогда в тестовых партиях будут разыгрываться самые разные дебюты, сеть будет учиться на большом количестве разнообразных позиций.
  7. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    439
    Симпатии:
    144
    Репутация:
    21
    Оффлайн
    С одной стороны специализация на одной начальной расстановке должна дать результаты "глубже", чем необходимость разбрасываться по разным расстановкам шахмат Фишера, невозможным в реальной партии. С другой стороны, не возникает ли в классической расстановке некоторый аналог переобучения нейросети, из-за ограниченного количества позиций в начальной стадии партии, что в итоге даже снизит общую силу игры. (Вопросы рокировки в шахматах Фишера при обучении можно как-нибудь решить.)
    --- добавлено: 12 июл 2018 в 13:15, опубликовано: 12 июл 2018 в 13:02 ---
    Кстати, к вопросу о вариативности. Уж коли мы не можем раздавать некоторым не столь продвинутым видеокартам данные для самоигры в половинной точности (см. обсуждение на предыдущей странице), и поскольку половинная точность не слишком сказывается на качестве игры, то нельзя ли раздавать таким видеокартам для самоигры нейросетки с рандомными значениями последних значащих цифр? А мастер-сеть хранить только на сервере для обучения? Не знаю правда, не трудно ли это с точки зрения реализации и даст ли необходимую вариативность?
  8. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    25
    Симпатии:
    1
    Репутация:
    0
    Оффлайн
    Переобучение возникает, когда данных недостаточно. Тут данные можно генерировать бесконечно.
  9. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    439
    Симпатии:
    144
    Репутация:
    21
    Оффлайн
    В начале партии количество позиций ограничено. То есть дебютные позиции нейросеть по сути запоминает, вместо того, чтобы заниматься обобщением.
  10. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.311
    Симпатии:
    1.697
    Репутация:
    60
    Адрес:
    Москва
    Оффлайн
    Так против запоминания есть всякие специальные техники, типа дропаута, добавления случайного шума и т.д.
  11. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    103
    Симпатии:
    9
    Репутация:
    1
    Оффлайн
    Я считаю что переобучение возникает когда мал не абсолютный, а относительный(% от максимально возможного) набор данных, если же % велик то сеть будет просто превосходно адаптирована под данные(ИМХО).
  12. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    439
    Симпатии:
    144
    Репутация:
    21
    Оффлайн
    400 позиций первого хода не расширить никакими методами. Скорее всего сеть их просто запомнит. И потеряет гибкость "мышления" в начальной стадии партии. На следующих ходах вариантов больше, но тоже проще запомнить. Таким образом часть нейросети быстро проучивается и костенеет, по сути превращаясь в курс дебютов, и таким образом оказывает сдерживающее влияние на гибкость обучения остальной части нейросети.

    ...Или не оказывает. Это просто гипотеза, в достоверности которой я и сам не убежден.

Поделиться этой страницей