Neural network 连续动作空间的强化算法

Neural network 连续动作空间的强化算法,neural-network,tensorflow2.0,reinforcement-learning,Neural Network,Tensorflow2.0,Reinforcement Learning,最近,我开始探索强化学习,并尝试在离散的动作空间中进行学习,在OpenAI健身房中使用Q-learning和预期的SARSA实现了一些环境的工作实现。然而,我在理解连续动作空间的处理时遇到了一些困难 根据我到目前为止的理解,我已经构建了一个神经网络,它输出高斯分布的平均值,标准偏差现在是固定的。然后使用神经网络的输出,我从高斯分布中采样一个动作,并在环境中执行这个动作。对于一集中的每一步,我都会保存开始状态、动作和奖励。一旦这一集结束,我应该训练网络,但这是我正在努力 据我所知,保单网络的损失是

最近,我开始探索强化学习,并尝试在离散的动作空间中进行学习,在OpenAI健身房中使用Q-learning和预期的SARSA实现了一些环境的工作实现。然而,我在理解连续动作空间的处理时遇到了一些困难

根据我到目前为止的理解,我已经构建了一个神经网络,它输出高斯分布的平均值,标准偏差现在是固定的。然后使用神经网络的输出,我从高斯分布中采样一个动作,并在环境中执行这个动作。对于一集中的每一步,我都会保存开始状态、动作和奖励。一旦这一集结束,我应该训练网络,但这是我正在努力

据我所知,保单网络的损失是由所选行动的对数概率乘以该行动的折扣报酬计算得出的。对于离散操作,这似乎足够简单,将softmax层作为最终层,并定义自定义损失函数,该函数将损失定义为softmax输出层的对数乘以我们设置为折扣奖励的目标值

但是,对于一个连续的动作,你是如何做到这一点的呢?神经网络输出的是平均值,而不是动作的概率,甚至动作本身,那么我如何定义一个损失函数来传递给keras,以便在连续情况下执行TensorFlow中的学习步骤


我已经阅读了很多关于策略优化的文章,虽然这篇文章可能会提到连续的案例,但是所有相关的代码都集中在用于策略优化的离散操作空间案例上,这开始变得相当令人沮丧。有人能帮我理解如何在TensorFlow 2.0中实现连续案例吗?

你找到解决方案了吗?