强化学习(Reinforcement Learning)中的Q-Learning、DQN,面试看这篇就够了!

1. 什么是强化学习

其他许多机器学习算法中学习器都是学得怎样做,而强化学习(Reinforcement Learning, RL)是在尝试的过程中学习到在特定的情境下选择哪种行动可以得到最大的回报。在很多场景中,当前的行动不仅会影响当前的rewards,还会影响之后的状态和一系列的rewards。RL最重要的3个特定在于:

  1. 基本是以一种闭环的形式;
  2. 不会直接指示选择哪种行动(actions);
  3. 一系列的actions和奖励信号(reward signals)都会影响之后较长的时间。

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题 [1] 。

上图中agent代表自身,如果是自动驾驶,agent就是车;如果你玩游戏它就是你当前控制的游戏角色,如马里奥,马里奥往前走时环境就一直在发生变化,有小怪物或者障碍物出现,它需要通过跳跃来进行躲避,就是要做action(如向前走和跳起的动作);无人驾驶的action就是车左转、右转或刹车等等,它无时无刻都在与环境产生交互,action会反馈给环境,进而改变环境,如果自动驾驶的车行驶目标是100米,它向前开了10米,那环境就发生了变化,所以每次产生action都会导致环境改变,环境的改变会反馈给自身(agent),就是这样的一个循环;反馈又两种方式:

  1. 做的好(reward)即正反馈,
  2. 做得不好(punishment惩罚)即负反馈。

Agent可能做得好,也可能做的不好,环境始终都会给它反馈,agent会尽量去做对自身有利的决策,通过反反复复这样的一个循环,agent会越来越做的好,就像孩子在成长过程中会逐渐明辨是非,这就是强化学习。

2. 强化学习模型

如上图左边所示,一个agent(例如:玩家/智能体等)做出了一个action,对environment造成了影响,也就是改变了state,而environment为了反馈给agent,agent就得到了一个奖励(例如:积分/分数),不断的进行这样的循环,直到结束为止。

上述过程就相当于一个马尔可夫决策过程,为什么这样叫呢?因为符合马儿可夫假设

  • 当前状态 St 只由上一个状态 St-1 和行为所决定,而和前序的更多的状态是没有关系的。

上图右边所示,S0 状态经过了 a0 的行为后,获得了奖励 r1 ,变成了状态S1,后又经过了 a0 行为得到奖励 r2,变成了状态 S2 ,如此往复循环,直到结束为止。

2.1 打折的未来奖励

通过以上的描述,大家都已经确定了一个概念,也就是agent(智能体)在当下做出的决定肯定使得未来收益最大化,那么,一个马儿可夫决策过程对应的奖励总和为:

R = r 1 + r 2 + r 3 + . . . + r n R=r_1+r_2+r_3+...+r_n R=r1+r2+r3+...+rn

t 时刻(当下)的未来奖励,只考虑后面的奖励,前面的改变不了:

R t = r t + r t + 1 + r t + 2 + . . . + r n R_t=r_t+r_{t+1}+r_{t+2}+...+r_n Rt

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Python 强化学习项目 - 2018.pdf" 是一个介绍强化学习项目的文档,使用 Python 编程语言作为实现工具。强化学习是机器学习的一个分支,主要是研究如何让智能体在与环境的交互通过试错学习来获得最大的累积奖励。 该文档提供了一些基于 Python 的强化学习项目案例,目的是帮助读者理解和实践强化学习的概念和应用。这些项目案例可能包括以下内容: 1. 强化学习算法实现:该文档可能介绍了一些常用的强化学习算法,如Q学习、深度 Q 网络(DQN)、策略梯度等,并提供了相应的Python代码实现。通过这些项目案例,读者可以学习到如何使用Python编程语言来实现这些算法。 2. 游戏或机器人控制案例:强化学习经常应用于游戏和机器人控制。该文档可能提供了一些使用强化学习算法来玩游戏或控制机器人的项目案例。通过这些案例,读者可以学习到如何通过强化学习的方法来训练一个智能体,在特定环境掌握游戏规则或实现特定任务。 3. 实际应用案例:除了游戏和机器人控制,强化学习也被应用于其他领域,如金融、交通等。该文档可能提供了一些强化学习在实际应用的项目案例,读者可以学习到如何将强化学习算法应用于解决实际问题。 总之,"Python 强化学习项目 - 2018.pdf" 是一个介绍强化学习项目的文档,通过提供具体的项目案例,帮助读者学习和实践强化学习算法在Python的应用。这些项目案例可能涵盖了强化学习算法实现、游戏或机器人控制案例以及实际应用案例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值