Как выполнить обратное распространение ошибки в PyTorch при обучении AlphaZero?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как выполнить обратное распространение ошибки в PyTorch при обучении AlphaZero?

Сообщение Anonymous »

Я пытаюсь реализовать свою версию AlphaZero для Connect Four. Я реализовал сверточную сеть с помощью PyTorch и могу получать (случайные) значения и выходные данные политики из модели для заданных состояний платы. Теперь я хотел бы смоделировать некоторые игры и обучить модель с их помощью. Однако я столкнулся с проблемой:
Насколько я понимаю, обучение состоит в основном из двух этапов: шаг, на котором используется самостоятельная игра для сбора игровых данных, и после этого шаг, на котором собранные данные используются для обучайте модель с помощью обратного распространения ошибки.
На этапе самостоятельной игры сеть используется для получения оценки позиции и политики выбора следующего шага. Затем эта политика улучшается с использованием версии алгоритма MCTS.
После окончания игры все ходы и результат сохраняются.
Для простоты предположим, что я играю только в одну игру, а потом хочу обновить модель. Если я сохраню политики MCTS и сетевые политики, теперь я смогу рассчитать потери. Но я не могу выполнить обратное распространение по модели, поскольку прямой проход произошел на этапе сбора данных. Теоретически я мог бы снова передать ту же позицию через модель, но это звучит не только неэффективно, но, поскольку в моей архитектуре используются выпадающие слои, я даже не получу тех же результатов.
Так как же мне решить эту проблему в PyTorch? Могу ли я как-то сохранить модель вместе с конфигурацией отсева, которая использовалась для создания политики? Тогда я мог бы хотя бы просто снова перенаправить позицию и потом использовать обратное распространение, даже если это было бы неэффективно.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -alphazero
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»