强化学习:Q-learning与DQN(Deep Q Network)

本文介绍了强化学习中的Q-learning方法,详细阐述了Q值表、ε-greedy策略及其算法流程。接着讲解了DQN(Deep Q Network),通过引入神经网络解决大规模状态和动作空间的问题,并解释了Experience replay和Fixed Q-target策略,帮助理解DQN的收敛机制。
摘要由CSDN通过智能技术生成

  Q-learning是一种很常用很传统的强化学习方法,DQN是Q-learning和神经网络的结合,是近年来很火的强化学习方法。

Q-learning

  Q-learning会输出一张Q值表,如果有m个状态,n个动作,这个Q值表的size就是m*n;使用时,查表就行,先确定当前状态s,在看这个状态s对应的那一行,在输出这一行Q 值最大的动作,就完成了一次决策过程。

  所以,使用Q-learning,首先要设计状态空间s(会有哪些状态),动作空间a(会有哪些动作),以及reward。最最简单的例子,一维迷宫,假如一共有五个格子,最后一个格子是出口(T,target),机器(A,agent)最开始处于第一个格子,机器可以选择的动作是向左走一格或者向右走一格,初始状态如下:

A   _   _   _   T A ~\_~ \_~ \_~ T A _ _ _ T

不难想到,我们的状态空间可以设置成5个状态(对应A处于五个格子的状态),动作空间可以设置成两个动作(对应A向左向右的动作),reward可以设置如下,其中 s ′ s' s表示在当前状态s采取动作a后,会跳转到的下一个状态。

r e w a r d ( s , a ) = { 1 s ′ = T 0 e l s e reward(s,a)=\begin{cases} 1 & s'= T \\ 0 & else \end{cases} reward(s,a)={ 10s=Telse

如果机器在初始状态选择向右走这一动作,下一个状态就变成下面,这个转换带来的reward就是0。

_   A   _   _   T \_ ~A~ \_~ \_~ T _ A _ _ T

  Q值的更新利用贝尔曼方程

Q t a r g e t = R + γ max ⁡ a ′ Q ( s ′ , a ′ ) (1) Q_{target} = R + \gamma \max_{a'} Q(s', a') \tag{1} Qtarget=R+γamaxQ(s,a)(1)

Q (

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值