Я пытаюсь реализовать настраиваемую функцию потерь для алгоритма мягкого Q-обучения, алгоритма градиента политики «актер-критик» в PyTorch. Это взято из следующего документа Уроки несовершенных демонстраций. Структура алгоритма аналогична глубокому q-обучению в том, что мы используем сеть для оценки Q-значений, и мы используем целевую сеть для стабилизации результатов. Однако, в отличие от DQN, мы вычисляем V (s) из Q (s) следующим образом:
Это достаточно просто вычислить с помощью PyTorch. Мой главный вопрос связан с тем, как настроить функцию потерь. Часть уравнения обновления выражается как:
Обратите внимание, что Q_hat поступает из целевой сети. Как я могу поместить что-то подобное в функцию потерь? Я могу вычислить значения для V и Q, но как я могу обрабатывать градиенты в этом случае? Если кто-нибудь может указать мне на аналогичный пример, я был бы очень признателен.