Я пытался построить модель, используя "глубокое обучение", где у меня большое количество действий (2908). После некоторого ограниченного успеха с использованием стандартного DQN: (https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf) я решил провести дополнительное исследование, так как считал, что пространство действия слишком велико для выполнения эффективное исследование.
Затем я обнаружил этот документ: https://arxiv.org/pdf/1512.07679.pdf, где они используют модель актер-критик и градиенты политики, что затем привело меня к: https://arxiv.org/pdf/1602.01783.pdf где они используют градиенты политики, чтобы получить гораздо лучшие результаты, чем DQN в целом.
Я нашел несколько сайтов, где они внедрили градиенты политики в Керасе, https://yanpanlau.github.io/2016/10/11/Torcs-Keras.html и https://oshearesearch.com/index.php/2016/06/14/kerlym-a-deep -rengcement-learning-toolbox-in-keras/ однако я запутался, как они реализованы. В первом (и когда я читаю статьи) кажется, что вместо предоставления входной и выходной пары для сети акторов, вы предоставляете градиенты для всех весов, а затем используете сеть для ее обновления, тогда как во втором они просто рассчитывают пару ввода-вывода.
Я только что запутался? Должен ли я просто тренировать сеть, предоставляя пару вход-выход и использовать стандартную "подгонку", или мне нужно сделать что-то особенное? Если это последнее, как мне сделать это с бэкэндом Theano? (в приведенных выше примерах используется TensorFlow).