actor-critic 模型中的共享参数如何工作?
How do shared parameters in actor-critic models work?
你好 Whosebug 社区!
我对强化学习中的 Actor-Critic 模型有疑问。
在听伯克利大学的策略梯度方法类时,在讲座中说,在 actor-critic 算法中,我们既用一些策略参数优化我们的策略,又用一些价值函数优化我们的价值函数参数,我们在某些算法(例如 A2C/A3C)
中的两个优化问题(即策略参数 = 值函数参数)中使用相同的参数
我不明白这是怎么回事。我在想我们应该分别优化它们。这个共享参数解决方案对我们有什么帮助?
提前致谢:)
您可以通过共享他们网络的某些(或所有)层来实现。但是,如果你这样做,你就假设存在一个最优的公共状态表示(中间层输出)w.r.t。两个都。这是一个非常有力的假设,通常不成立。它已被证明可用于从图像中学习,您将(例如)一个自动编码器放在演员和评论家网络的顶部,并使用它们的损失函数的总和来训练它。
这在PPO paper中提到(就在等式(9)之前)。然而,他们只是说他们共享层只是为了学习Atari游戏,而不是为了持续控制问题。他们没有说为什么,但这可以像我上面说的那样解释:Atari 游戏有一个 low-dimensional 状态表示,对演员和评论家都是最佳的(例如,由自动编码器学习的编码图像),而对于连续控制,您通常直接传递 low-dimensional 状态(坐标、速度...)。
您提到的 A3C 也主要用于游戏(我认为是 Doom)。
根据我的经验,如果状态已经紧凑,则控制共享层永远不会工作。
你好 Whosebug 社区!
我对强化学习中的 Actor-Critic 模型有疑问。
在听伯克利大学的策略梯度方法类时,在讲座中说,在 actor-critic 算法中,我们既用一些策略参数优化我们的策略,又用一些价值函数优化我们的价值函数参数,我们在某些算法(例如 A2C/A3C)
中的两个优化问题(即策略参数 = 值函数参数)中使用相同的参数我不明白这是怎么回事。我在想我们应该分别优化它们。这个共享参数解决方案对我们有什么帮助?
提前致谢:)
您可以通过共享他们网络的某些(或所有)层来实现。但是,如果你这样做,你就假设存在一个最优的公共状态表示(中间层输出)w.r.t。两个都。这是一个非常有力的假设,通常不成立。它已被证明可用于从图像中学习,您将(例如)一个自动编码器放在演员和评论家网络的顶部,并使用它们的损失函数的总和来训练它。
这在PPO paper中提到(就在等式(9)之前)。然而,他们只是说他们共享层只是为了学习Atari游戏,而不是为了持续控制问题。他们没有说为什么,但这可以像我上面说的那样解释:Atari 游戏有一个 low-dimensional 状态表示,对演员和评论家都是最佳的(例如,由自动编码器学习的编码图像),而对于连续控制,您通常直接传递 low-dimensional 状态(坐标、速度...)。
您提到的 A3C 也主要用于游戏(我认为是 Doom)。
根据我的经验,如果状态已经紧凑,则控制共享层永远不会工作。