强化学习(RLAI)读书笔记第十六章Applications and Case Studies(不含alphago)

本文介绍了强化学习在多个领域的应用案例,包括TD-Gammon在国际跳棋中的成功,Samuel's Checkers Player的学习策略,以及DeepMind的DQN在Atari游戏上的突破。TD-Gammon通过非线性TD(λ)学习算法,无需游戏知识就能接近大师水平。Samuel's Checkers Player展示了早期强化学习算法的潜力,而DQN则通过深度学习自动化特征设计,实现了人类级别的视频游戏玩法。这些案例展示了强化学习在游戏、内存控制优化等方面的广泛应用和潜力。
摘要由CSDN通过智能技术生成


本章描述了强化学习的几个案例研究。主要想表现在实际应用问题中的一些权衡与问题。比如我们很看重专业知识移植到问题的构建和解决方法中的方式。同样我们也很关注对于成功的应用都很重要的问题表达。

16.1 TD-Gammon

强化学习中最惊人的一个应用之一是Gerald Tesauro做的backgammon游戏的算法。他的程序,也就是TD-Gammon,不需要游戏背景知识但是仍然能够接近这个游戏的世界大师级别。TD-Gammon中使用的学习算法是TD( λ \lambda λ)与非线性函数逼近的直接结合。非线性函数逼近使用的是通过反向传播TD error来训练的多层ANN网络。

Backgammon是世界上玩的最多的游戏之一。游戏有15个白子15个黑子和一个有24个位置的棋盘,每个位置叫一个点。如图展示了一个游戏的棋盘。棋盘中是从白方的视角,此时白方掷了一次骰子,两个骰子分别是5和2,代表白方能够移动两次单个白子,分别移动5个位置和2个位置。这两次可以选择同一个子。比如他可以从位置12移动一个白子到17,移动另一个到14。白方的目标是把所有的白子都移动到19-24上然后把棋子拿下棋盘。第一个拿掉自己所有棋子的人获胜。还有一些复杂的规则,比如如果黑棋子从24移动到22,那么这个白子会被hit,然后放到中间的长条里,长条里现在有个黑子。但是如果一个点上有两个及以上白子,那么黑子不能移动到这个点。比如白方就不能用5和2这两个数字移动位置1上的白子,因为3和6上都有2个以上黑子。连续制造这种阻碍对方移动的棋子是这个游戏的主要策略。

backgammon还有一些更深的设定这里不提。有30个棋子以及24个位置(考虑棋盘外和长条,有26个),可能的移动方式是非常大的数量,远超物理可实现的计算机可以储存的范围。每一次投骰子都有大约20个合法移动,考虑到未来的移动,那么这个游戏的搜索树可能有超过400个有效分支参数,这是不可能使用传统启发式搜索来实现的。

另一方面,这个游戏和TD算法又很好的匹配。尽管游戏高度随机,但是这个游戏的状态还是可以描述的。每次游戏的最后结果可以看作是一次移动序列的最终反馈。另一方面,目前描述的理论结果不能有效地应用到这个问题。因为游戏的状态太多了不可能建立状态的查找表。另外对手的移动也是一个不确定和时变量的来源。

TD-Gammon使用的是非线性TD( λ \lambda λ)。评估值 v ^ ( s , w ) \widehat{v}(s,w) v (s,w)来表示每个状态s下获胜的概率。为了得到这个概率,奖励值设定为每一步都为0,除了最后获胜的那步。TD-Gammon使用了一个标准的多层ANN来实现这个值函数,就像是下图显示的那样(实际使用的网络最后一层网络有两个额外的单元表示每个玩家的获胜率)。

在这里插入图片描述
网络有一个输入层一个隐藏层和一个输出层单元组成。输入时backgammon位置状态的表示,输出是那个位置状态的评估值。

TD-Gammon的第一个版本TD-Gammon 0.0中,位置状态的表示比较直接,没有用到什么游戏背景知识。下面介绍一下输入的特征向量。网络一个有198个特征维度。每个点使用了4个单位来表示白子的数量。对于只有一个白子的点用1000表示,有两个用0100表示,有三个的话用0110表示,多于三个那么用0101表示。

对24个位置每个用4位表示白子,4为表示黑子,就有了192个。剩下的6个有两个表示的是中间的白条有几个黑子和白子。两外两个表示成功从棋盘中拿下来的黑子和白子的个数。最后两个表示本方是执黑子还是白子。他使用了非常直接的方式表示棋盘的状态但只是用了较少的变量。还对每个概念上相关的可能性都提供了一位特征,而且把它们都放进了0或1的范围。

有了棋盘状态的表示,值函数的计算就通过标准的算法来进行。从输入开始,每个单元都被加权求和放进隐藏层。隐藏层j的输出h(j)是加权求和后的非线性sigmoid函数结果。sigmoid的输出介于0-1之间,自然的解释是表示一种概率。

TD-Gammon使用了12.2节描述的半梯度形式的TD( λ \lambda λ)算法,通过误差后向传播算法来进行梯度的计算。公式为:
在这里插入图片描述
w t w_{t} wt表示的是神经网络的权值, z t z_{t}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值