В настоящее время я изучаю Политический градиентный спуск в контексте обучения усилению. TL; DR, мой вопрос: «Каковы ограничения на функцию вознаграждения (в теории и на практике) и что будет хорошей функцией вознаграждения для случая ниже?»
Подробнее:
Я хочу внедрить Нейронную Сеть, которая должна научиться играть в простую настольную игру с использованием Policy Gradient Descent. Я опущу детали NN, поскольку они не имеют значения. Функция потерь для градиентного спуска политики, насколько я понимаю, имеет отрицательную логарифмическую вероятность: loss = - avg(r * log(p))
Мой вопрос сейчас заключается в том, как определить вознаграждение r
? Так как игра может иметь 3 различных результата: выигрыш, проигрыш или ничья - кажется, что награда 1 за победу, 0 за ничью, -1 за проигрыш (и некоторое дисконтированное значение для действий, ведущих к таким результатам) будет естественный выбор.
Однако математически у меня есть сомнения:
Награда за победу: 1 - Кажется, это имеет смысл. Это должно подтолкнуть вероятности к 1 для ходов, участвующих в победах с уменьшающимся градиентом, тем ближе вероятность становится 1.
Награда за ничью: 0 - Это не имеет смысла. Это просто исключило бы любые вероятности в уравнении, и никакое обучение не должно быть возможным (поскольку градиент всегда должен быть 0).
Вознаграждение за потери: -1 - Это должно отчасти работать. Это должно подтолкнуть вероятности к 0 для ходов, связанных с потерями. Однако меня беспокоит асимметрия градиента по сравнению с выигрышным случаем. Чем ближе к 0 вероятность, тем круче становится градиент. Я обеспокоен тем, что это создаст чрезвычайно сильный уклон в сторону политики, которая позволяет избежать потерь - до такой степени, что сигнал победы не имеет большого значения вообще.