强化学习入门

base component

强化学习当中基础的三个组成部分就是actor, environment, reward。举一个例子来说明这三个组成部分。假设机器玩游戏,actor就是机器操作游戏的摇杆控制向左向右还是开火,env就是游戏的主机,提供游戏的画面。reward就是机器在看到游戏画面采取行动之后得到的分数。再举个例子alphago下围棋,actor就是go,evn就是对手,reward function就是围棋的游戏规则。

在这三个部分我们能够控制的是actor,environment和reward是我们不可以控制的,是事先就规定好的。actor是由policy来决定我们要采取那一个action,environment其实也是一个function,不一定是neural network,但也一定是rule base的一个。如果游戏出现的游戏画面是确定的,那么这个游戏只要得到一个行动轨迹就可以通关,那么也是太无聊了。

policy of actor

actor的行为是由policy确定的,policy是一个network,通常用π来表示。network是有参数θ,用参数θ代表policyπ。

因为policy是一个画面,那么就会有输入和输出。举一个机器打游戏的例子,actor看到游戏画面会做出动作,那么actor的policy的input输入就是游戏的画面(你想看的到多少游戏画面这个是由你决定的,如果你觉得actor选择的action不仅和你此时的画面有管还和前一时刻的画面有关,你就可以让你的actor看到所有时刻的画面,可以选择online的处理方法就是相对比较麻烦),这个input通常是游戏的pixels像素,那么输出就是actor采取的动作的分数。policy的network的最后一层outplayer是连接actor要输出的动作。actor可以做几个动作,那么outplayer就有几个neuron相对应,对应输出的是采取这个行动的得到的分数,也可以看成是采取这些行动的几率。actor会根据这个distribution进行采样选择哪一个action,几率越大,采取这个行动的可能性越高。

 

actor, environment, reward

用机器打游戏的例子来说明一下,actor和environment是如何让交互的。

evn也就是游戏的主机,吐出一个游戏画面记作s1,然后actor看到这个游戏画面就会采取这个行动action记作a1,之后就会得到一个分数reward记作r1,此时游戏主机会吐出下一个游戏画面记作s2,然后actor看到这个画面就会采取下一个行动a2,得到一个reward分数记作r2,就这么一直下去,直到游戏主机觉得这个游戏应该结束了,这一过程结束了。把这一过程称作episode。我们把这一个episode得到的每一个reward全部整合起来就得到了total reward记作R。我们的目的就是要让这个total reward 最大。

我们把这个s1,a1,s2,a2串起来,就会得到一个trajectory轨迹τ,τ={s1,a1,s2,a2.......sτ,aτ}我们可以计算这个trajectory发生的几率有多大,记作  。

其中表示state s1发生的概率,这个是由evn也就是游戏的主机给出来的。表示根据游戏画面s1选择action a1发生的概率,这个概率是由actor的policy network的参数θ决定的。 表示下一个画面不仅和actor选择的action有关系还和上一个游戏画面有关系。把后面几项整合到一起得到最后的式子。在这个式子中,是由actor要采取哪个行为这个是由policy的参数θ确定的,这格式可以控制的。但是 是由env function也就是游戏主机控制的,你是不可以控制的。

我们的total reward不是一个scalable常量,而是一个random variable随机变量。这是因为,在actor在某一个state时选择的action是有随机性的,并且environment吐出下一个state时也是具有随机性的。那现在我们的目的是为了total reward最大,那么就是要穷举所有的trajectory,每一个trajectory τ都是有一个几率的,比如你有一个很强的model,那么你死的几率就应该很小,你活下来的几率就会很大。那么我们就期望可以得到更大的total reward,就需要计算他他了reward的期望。用每一个trajectory的total reward乘上它发生的几率。

也可以写成,从trajectory的distribution分布中sample一个trajectory τ然后求total reward的期望。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值