[英]Reinforcement Learning or Supervised Learning?
如果在强化学习 (RL) 算法在现实世界中工作之前需要在模拟环境中进行大量迭代,为什么我们不使用相同的模拟环境来生成标记数据,然后使用监督学习方法而不是 RL?
究其原因,是因为这两个领域有着根本的区别:
一个尝试复制以前的结果,另一个尝试比以前的结果更好。
机器学习有4个领域:
说一下你问的两个领域,我们用射箭这个现实生活中的例子来直观地探索它们。
监督学习
对于监督学习,我们可能会观察一位弓箭手的动作,并记录他们将弓弦拉回多远、射击角度等。然后我们回家建立模型。 在最理想的情况下,我们的模型变得不如主射手同样。 它不会变得更好,因为监督学习中的损失函数通常是 MSE 或交叉熵,所以我们只是尝试复制特征标签映射。 构建模型后,我们部署它。 让我们说我们特别花哨,让它在线学习。 所以我们不断地从弓箭大师那里获取数据,并继续学习与弓箭大师完全一样。
最大的收获:
我们试图复制大师弓箭手只是因为我们认为他是最好的。 所以我们永远打不过他。
强化学习
在强化学习中,我们只是建立一个模型并让它尝试许多不同的事情。 我们根据箭头离靶心的距离给予奖励/惩罚。 我们不是试图复制任何行为,而是试图找到我们自己的最佳行为。 因此,我们不会对我们认为的最佳射击策略有任何偏见。
由于 RL 没有任何先验知识,因此 RL 可能难以收敛于困难的问题。 因此,有一种方法叫做学徒学习/模仿学习,我们基本上给 RL 一些弓箭手的轨迹,以便它可以有一个起点并开始收敛。 但在那之后,RL将采取随机的行动有时会尽力去找其他的最优解探索。 这是监督学习无法做到的。 因为如果您使用监督学习进行探索,您基本上是说在这种状态下采取此行动是最佳的。 然后你尝试让你的模型复制它。 但是这种情况在监督学习中是错误的,应该被视为数据中的异常值。
监督学习与强化学习的主要区别:
为什么我们不使用相同的模拟环境来生成标记数据,然后使用监督学习方法而不是 RL
我们为 Deep RL 这样做是因为它有一个经验回放缓冲区。 但这对于监督学习是不可能的,因为缺乏奖励的概念。
例子:走迷宫。
强化学习
在方格 3 中向右转:奖励 = 5
在方格 3 中左转:奖励 = 0
在方格 3 中上升:奖励 = -5
监督学习
在第 3 广场右转
在广场 3 左转
在方格 3 中向上
当您尝试在第 3 方格中做出决定时,RL 会知道要正确。 监督学习会混淆,因为在一个例子中,你的数据说在方格 3 中向右走,第二个例子说向左走,第三个例子说往上走。 所以它永远不会收敛。
简而言之,监督学习是被动学习,即在开始训练模型之前收集所有数据。
然而,强化学习是主动学习。 在 RL 中,通常一开始没有太多数据,然后在训练模型时收集新数据。 您的 RL 算法和模型决定了您在训练时可以收集哪些特定数据样本。
在监督学习中,我们有被假定为正确的目标标记数据。
在RL 中,情况并非如此,我们只有奖励。 代理需要在观察环境获得的奖励的同时,通过与环境玩耍来确定自己要采取的行动。
监督学习是将监督者提供的知识(训练数据)泛化到未知领域(测试数据)。 它基于指导性反馈,其中为代理提供正确的动作(标签)以在给定的情况(特征)下采取。
强化学习是通过试错的交互来学习。 没有指导性反馈,只有评估性反馈,通过告知采取的行动有多好而不是说要采取的正确行动来评估代理采取的行动。
强化学习是机器学习的一个领域。 它是关于采取适当的行动以在特定情况下最大化奖励。 它被各种软件和机器用来寻找在特定情况下应该采取的最佳行为或路径。 强化学习与监督学习的不同之处在于,在监督学习中,训练数据具有答案密钥,因此模型本身使用正确答案进行训练,而在强化学习中,没有答案,但强化代理决定要做什么执行给定的任务。 在没有训练数据集的情况下,它必然会从它的经验中学习。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.