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

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

  1. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Это глупость какая-то. При обучении нейронная сеть учиться не ходы копировать, а выигрывать. А если бы ваша логика работала, то и люди были бы не способны превзойти своего учителя.

    И речь не о том, чтобы с нуля обучать нейронку на играх с переборными движками. Предлагается взять допустим нынешнюю версию Лилы и дообучить ее на играх со Стокфишем и другими топовыми движками.
     
    Последнее редактирование: 19 сен 2018
  2. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Кстати, LCZero будет играть лучше во 2-м этапе CCCC, т. к. отключили Ponder и не будет усиления движков в игре против Lc0 из-за Hyperthreading. До этого движки имели больший NPS при игре против LC0, сейчас все одинаково. Так что и 3-е, и 2-е место Lc0 может занять :)
     
  3. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    Undying, я говорю лишь о том что читал насколько я помню примерно это писал один из разработчиков, или вернее то-что нейронка обученная переборным движком будет ограничена его пониманием игры.

    P.S. Насколько я понял обучение нейронки идёт за счёт того что с одной стороны идёт движком не глядящем вперёд и глядящем на несколько ходов вперёд(с той-же нейронкой) таким образом новая нейронка как бы глядит вперёд без анализа на несколько ходов вперёд движком.Если тренировать по вашей методике то когда нейронка достигнет уровня переборного движка её придётся тренировать по старой вот только она к этому времени может попасть в какой нибудь локальный экстремум(из-за неправильной тренировки или возникнет другая проблема) из которого её будет вытянуть довольно сложно. ИМХО
     
    Последнее редактирование: 19 сен 2018
  4. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    И ещё как я понял сеть именно запоминает выигрышные приёмы в разных позициях и потом интерполирует/экстраполирует эти приёмы на другие подобные позиции так что если её обучать переборным движком она начнёт использовать приёмы Stockfish/Houdini/Komodo, хотя вроде разработчикам также интересна чистота эксперимента, научить движок на играх с самим собой.
     
  5. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Второе - не сможет. Для этого надо обыграть кого-то из первой тройки. А имеющаяся статистика - 12 ничьих подряд - говорит за то, что Лила на это не способна.
     
  6. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    WinPooh, выборка очень маленькая. А так, Lc0 добилась выигранной позиции против SF и получила небольшой перевес против H черными
     
  7. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Вернёмся к этой теме через пару-тройку кругов.
     
    sovaz1997 нравится это.
  8. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Скорей всего разработчик имел в виду, что если обучать нейронку на партиях переборных движков, то нейронка научится только тому, что умеют переборные движки. Но речь не об этом. Смысл в том, чтобы Лила обучалась на своих партиях, но играя не сама с собой, а с переборными движками.

    Нет такого интереса. Просто опыт Гугла для го показал, что самообучение эффективнее, чем обучение на человеческих партиях.
    —- добавлено: 20 сен 2018, опубликовано: 20 сен 2018 —-
    Проблема возникнет только когда нейронка станет на голову сильнее переборных движков. Тогда возникнет ситуация аналогичная тому, что мастеру для повышения своей силы бессмысленно играть с перворазрядниками. Но до этого еще очень далеко.

    Естественно при обучении на играх с переборными движками нейронка уйдет в локальный экстремум, стремясь к тем позициям, в которых плохо работает перебор и важно понимание. Что может и не увеличит сферическую силу Лилы в вакууме, но способно кардинально повысить результаты Лилы против переборных движков. В этом весь смысл.
     
  9. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    36
    Ну... в шахматах ситуацич может быть другой —- игра современных программ тоже на пару голов превосходит человека.
     
  10. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    В го у нейронных движков нет конкурентов. Поэтому обучаться нейронка может только играя сама с собой. Других вариантов нет. В шахматах переборные движки конкурентоспособны, поэтому нейронка может обучаться играя с ними. Насколько это будет эффективно опыт покажет. Но идея выглядит очень перспективно.
     
  11. svoitsl
    Оффлайн

    svoitsl Учаcтник

    Репутация:
    7
    Все же есть опасения, что учась на этих играх она не превзойдет переборные движки, а может и кое что упустит

    Жаль, что этот опыт не набирается на небольших сетях, времени бы потребовалось бы меньше
     
  12. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Непонятны опасения. Наоборот, чтобы ничего не упустить, нужно учиться на партиях с разными соперниками. А играя только сам с собой как раз рискуешь многое упустить.
     
  13. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    36
    Ещё перспективнее с начала использовать Syzygy — зачем тратить ресурсы нейросети на то, что уже посчитано со 100% точностью? Соответственно увеличится сила игры в окончаниях в наигрывании, отсюда вырастет сила игры в окончаниях.
    —- добавлено: 20 сен 2018, опубликовано: 20 сен 2018 —-
    Ну... основная идея в том, чтобы получить метод, которые был бы применим к разным играм, не только к шахматам. Но, как показывает практика, всё равно приходится добавлять чисто шахматные эвристики — оценку позиции, и т. п...

    Опять де, AlphaGo превзошда человека, хотя училась на его партиях. Так что непонятно, чем вызвано такое опасение... Для обучения нужна статистика «позиция — начальные вероятности ходов для MCTS». Возможно лучше возвращать не только вероятности, но и начальное количество симуляций (как критерий хода, который может оказаться лучшим). И эта статистика должна быть лучшего качества. Ну а опасность попасть в локальный экстремум есть при любом подходе, тут прыгать надо.
     
  14. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Это зависит от поставленных целей. Лила начиналась как исследовательский проект, с идеей выжать максимум из игры с самой собой без привлечения каких-то сторонних источников.
     
  15. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    36
     
  16. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Syzygy только проблему с простыми окончаниями решит. Которая может и не особо критична. Не часто Лила упускает выигрыш переходом в простое ничейное окончание.

    Самая интересная идея в плане практической силы игры это выявить те типы позиций, в которых переборные движки играют относительно слабо и добиться, чтобы нейронка целенаправленно шла на такие позиции. Для этого и нужно обучение на играх с переборными движками.
     
  17. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    36
    Судя по моим шашкам, это эчень сильно помогает MCTS. Во-первых, увеличивается точность оценки при доигрывании. Во-вторых, перебирается больше вариантов.
     
  18. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Да, простые окончания реально проблема для Лилы. Так раскатать Стокфиш, чтобы затем перейти в мертвоничейное окончание... Это эпик фейл.

    Вообще такое непонимание простых окончаний удивительно. Нейронку на них вообще не обучали что ли.
     
  19. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    А главное, в табличном окончании она всё ещё рисует себе +10. Значит, по статистике умудряется его за белых у самой себя выигрывать.
    Как говорится, это всё, что вам нужно знать об MCTS-поиске.
     
  20. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    MCTS здесь ни причем. Явно бага какая-то. Скорей всего при обучении таблицы Налимова были подключены. Из-за этого все и проблемы. Лила в первый раз в жизни подобные окончания видит. И оценивает их соответственно с позиции многофигурного эндшпиля, в котором две лишних связанные пешки это гарантированная победа.
     
  21. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Это ещё и цена отказа от ролл-аутов до конца партии, когда вся оценка отдана на откуп глюкавой нейросети.
     
  22. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Отказ от ролл-аутов полностью оправдан. Ролл-ауты это крайне нерациональное использование ресурсов. А глюки поправить надо и проблема решится. Просто болезнь роста.

    Походу закат переборных движков не за горами. Ежели с такими багами Лила на равных с топами играет, то что будет когда ее доведут до ума.
     
  23. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Нейросети - тот же самый переборный брут-форс, только в профиль (и ты, Брут...)
    Будущее за гибридными схемами.
     
  24. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    А что гибридность может дать? Кому верить при расхождении переборной и нейронной оценки?
     
  25. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Тому, на кого покажет арбитр - отдельная нейросеть, натасканная на различение типов позиции.
     
  26. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Согласен. Лучше термин "алгоритмический движок" использовать.
     
  27. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    А как тренировать арбитра?Тут даже человек не скажет где какой тип позиции(ИМХО), а вы хотите нейросеть натренировать.Кроме того использование двух нейросетей может существенно замедлить движок.
     
    Undying нравится это.
  28. Kesandr
    Оффлайн

    Kesandr Учаcтник

    Репутация:
    11
    Напоминает ситуацию когда первая рыбка имела много багов в ендшпиле но громила все топовие движки своего времени.
     
  29. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Роллауты можно попробовать заменить на ФВ (QS). Кстати, если кого интересуют гибридные проекты, то стоит присмотреться к проекту Scorpio:
    https://sites.google.com/site/dshawul/
    https://github.com/dshawul/Scorpio/releases
     
    WinPooh нравится это.
  30. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    36
    Лучше «движок, основанный на Alpha-Beta переборе». В отличие от «движок, основанный на MCTS переборе» :)
     
  31. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Речь о различии нейронного и алгоритмического подхода. Причем здесь Альфа-Бета и MCTS? Это ортогональные вещи.
     
  32. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    36
    Дык сейчас вроде используются две нейросети? Одна выбирает ходы-кандидаты, другая возвращает оценку позиции :)
    —- добавлено: 21 сен 2018 —-
    Ну... субъективно по стилю Komodo MCTS близок по стилю к Leela: та же агрессивная игра без большой привязки к материалу.
    —- добавлено: 21 сен 2018, опубликовано: 21 сен 2018 —-
    Нейросеть может просто использовать информацию от переборного движка и сама решать. Либо использовать некоторые эвристики из Alpha-Beta для принудительного включения веток. И т. д. и т. п. Вариаинтов решения проблемм масса.
    —- добавлено: 21 сен 2018 —-
    Элементарно — пробуем оба варианта в данной позиции, наигрываем партии и смотрим, что сработало лучше. Эти данные используем для обучения.
     
  33. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    Одна игра это десятки позиций разыграть каждую это десятки игр в каждой опять же десятки позиций....
    Это дерево с почти бесконечным числом вариантов, кроме того где гарантия что арбитр будет качественно оценивать позиции, а не повторится история с текущей LCZero.
     
    Последнее редактирование: 21 сен 2018
  34. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Используется одна нейросеть, которая работает на два выхода - оценку и ходы.
     
    Последнее редактирование: 21 сен 2018
    Undying нравится это.
  35. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Ну, эта не громит. Эта с топами ничьи штампует, одну за другой.