Функция вознаграждения за политический градиент спуска в обучении подкрепления - PullRequest
0 голосов
/ 29 июня 2018

В настоящее время я изучаю Политический градиентный спуск в контексте обучения усилению. TL; DR, мой вопрос: «Каковы ограничения на функцию вознаграждения (в теории и на практике) и что будет хорошей функцией вознаграждения для случая ниже?»

Подробнее: Я хочу внедрить Нейронную Сеть, которая должна научиться играть в простую настольную игру с использованием Policy Gradient Descent. Я опущу детали NN, поскольку они не имеют значения. Функция потерь для градиентного спуска политики, насколько я понимаю, имеет отрицательную логарифмическую вероятность: loss = - avg(r * log(p))

Мой вопрос сейчас заключается в том, как определить вознаграждение r? Так как игра может иметь 3 различных результата: выигрыш, проигрыш или ничья - кажется, что награда 1 за победу, 0 за ничью, -1 за проигрыш (и некоторое дисконтированное значение для действий, ведущих к таким результатам) будет естественный выбор.

Однако математически у меня есть сомнения:

Награда за победу: 1 - Кажется, это имеет смысл. Это должно подтолкнуть вероятности к 1 для ходов, участвующих в победах с уменьшающимся градиентом, тем ближе вероятность становится 1.

Награда за ничью: 0 - Это не имеет смысла. Это просто исключило бы любые вероятности в уравнении, и никакое обучение не должно быть возможным (поскольку градиент всегда должен быть 0).

Вознаграждение за потери: -1 - Это должно отчасти работать. Это должно подтолкнуть вероятности к 0 для ходов, связанных с потерями. Однако меня беспокоит асимметрия градиента по сравнению с выигрышным случаем. Чем ближе к 0 вероятность, тем круче становится градиент. Я обеспокоен тем, что это создаст чрезвычайно сильный уклон в сторону политики, которая позволяет избежать потерь - до такой степени, что сигнал победы не имеет большого значения вообще.

1 Ответ

0 голосов
/ 29 июня 2018

Вы на правильном пути. Тем не менее, я считаю, что вы путаете вознаграждение с вероятностями действий. В случае розыгрыша он узнает, что само вознаграждение равно нулю в конце эпизода. Однако, в случае потери, функция потери дисконтируется как вознаграждение (которое должно быть -1), умноженное на вероятности действий. Таким образом, вы получите больше к действиям, которые заканчиваются выигрышем и от проигрыша с действиями, заканчивающимися ничьей, попадающими в середину. Интуитивно понятно, что это очень похоже на контролируемое глубокое обучение только с дополнительным весовым параметром (вознаграждением), прикрепленным к нему.

Кроме того, я считаю, что этот документ из Google DeepMind будет полезен для вас: https://arxiv.org/abs/1712.01815. Они на самом деле говорят о решении шахматной задачи с использованием RL.

...