进化策略和强化学习的区别?

Posted

技术标签:

【中文标题】进化策略和强化学习的区别?【英文标题】:Difference between Evolutionary Strategies and Reinforcement Learning? 【发布时间】:2019-04-17 20:32:43 【问题描述】:

我正在学习机器人强化学习中采用的方法,并且遇到了进化策略的概念。但我无法理解 RL 和 ES 有何不同。谁能解释一下?

【问题讨论】:

【参考方案1】:

我认为进化策略和强化学习最大的区别在于 ES 是一种全局优化技术,而 RL 是一种局部优化技术。因此,RL 可以更快地收敛到局部最优值,而 ES 可以更慢地收敛到全局最小值。

【讨论】:

嗨,Shunyo,我对此有一个简短的问题。我想知道为什么你说 ES 可以收敛到全局解决方案而 RL 收敛到本地解决方案。据我了解,ES 只能在无限时间内“保证”全局解决方案,但适用于损失函数不可微的离散问题。考虑到目标函数本质上是凸的,RL 解决了保证全局最优的最优控制中的动态规划问题。 嗨 Rui,我认为这是一个相关的问题。如果目标函数是凸的,则解是唯一的,当然,RL 会收敛到全局解。然而,问题是当目标函数是非凸的(在许多实际问题中可能是)时,RL 可能会陷入局部最优。另一方面,仅凭借从大量人口中抽样,ES 将更容易收敛到全局解决方案(当然不能保证)。解决方法是奖励塑造,这很麻烦,更像是一门艺术而不是科学。【参考方案2】:

据我了解,我知道两个主要的。

1) 强化学习使用一个代理的概念,代理通过以不同方式与环境交互来学习。在进化算法中,它们通常从许多“代理”开始,只有“强者存活”(具有产生最低损失特征的代理)。

2) 强化学习代理同时学习正面和负面的动作,但进化算法只学习最优的,而负面或次优的解决方案信息被丢弃和丢失。

示例

你想建立一个算法来调节房间的温度。

房间的温度是 15 °C,而您希望它是 23 °C。

使用强化学习,代理会尝试一系列不同的动作来增加和降低温度。最终,它了解到提高温度会产生良好的回报。但它也知道降低温度会产生不好的回报。

对于进化算法,它从一堆随机代理开始,这些代理都有一组预编程的动作。然后具有“升高温度”作用的代理存活下来,并转移到下一代。最终,只有提高温度的试剂才能存活并被认为是最佳解决方案。但是,算法不知道如果降低温度会发生什么。

TL;DR: RL 通常是一个代理,尝试不同的动作,学习和记住所有信息(正面或负面)。 EM 使用许多智能体来猜测许多动作,只有具有最佳动作的智能体才能存活。基本上是解决问题的蛮力方法。

【讨论】:

以上是关于进化策略和强化学习的区别?的主要内容,如果未能解决你的问题,请参考以下文章

强化学习介绍

无梯度强化学习:使用Numpy进行神经进化

强化学习、深度学习和深度强化学习有啥区别?

学习笔记TF037:实现强化学习策略网络

强化学习(十三) 策略梯度(Policy Gradient)

理解策略和价值函数强化学习