进化策略和强化学习的区别?
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 使用许多智能体来猜测许多动作,只有具有最佳动作的智能体才能存活。基本上是解决问题的蛮力方法。
【讨论】:
以上是关于进化策略和强化学习的区别?的主要内容,如果未能解决你的问题,请参考以下文章