美文网首页
强化学习

强化学习

作者: 理工萧努力 | 来源:发表于2022-11-12 20:31 被阅读0次

本内容主要参照了李宏毅老师的机器学习课程


我们知道 机器学习分为监督学习和非监督学习

监督学习是人为给训练集进行分类,每个训练集有标签进行训练

非监督学习则是无标签训练,但是人们仍然知道分类的正确答案

强化学习(reinforcement learning)则是一种人类也不知道正确的答案是什么的一种(比如下围棋,你也不知道下在哪里最后会赢,强化学习解决的就是这类问题)


强化学习的基本组成有obseration(input)->actor=f(observation)->action->environment->reward

强化学习的基本构成元素及其关系

observation:即输入,对于棋盘游戏则是棋盘当下界面

actor:即我们需要训练的actor(强化学习的训练对象)

action:actor在看到observation后决定采取的动作

reward:采取动作后的得分情况,由于动作往往和当下所处的状态环境有关,故需要和environment互动


actor的sample

actor之后会对每个可选择的动作进行打分,但是不是采取分数越高就取哪个的策略,选用的是Sample方法(随即方法),即action本身具有随机性


对于一个可以实时反映分数的游戏,如星际争霸,可以不断地通过actor的输入observation和输出action进行游戏(即机器替代人玩游戏)

强化学习的episode

这样把每次action后的reward加起来,就得到了一个total reward,我们的目的就变成了使total reward最大化


那么actor是怎么得到的呢?

actor也是通过数据训练得到的

training data(数据只有两种输出) training data(数据有多种输出)

而这种数据的来源必须是经过一个episode获得的,由于数据量的问题,往往是多个episode

(这里也就回答了为什么用sample,因为sample以保证数据的多样和丰富性,有时我们甚至会给参数加上一些噪声,以生成不同种类的action


那么对于action的选择有多个版本

Version0:如果采取一个action的reward>0,则采取该action(short-sighted Version)

Version1:为了避免短视效应,我们将采取这个action之后所有的reward加起来代表其reward,

这里我们需要引入一个概念:cumulated reward

version 1

version1的cumulated reward则是所有的action reward之和

但是Version1存在一个逻辑问题,就是距离越远的action影响越小(比如打游戏,第一步和第二步可能关系很大,但是第一步和第99步你还能说二者之间影响关系大吗?)

Version2:所以我们引入变量 discount factor来解决这个问题

version2

Version3:考虑到高分低分都是相对的,比如一个班平均分100,那你考90分就不算高;一个班平均分10分,那你考60分你就有可能是班级第一,version3就是在这种思想的基础之上进行改进。

version3

我们的目的是训练actor,具体训练步骤如下图,即采用梯度下降算法来选取actor的参数

actor的训练步骤

但是需要注意的是,对于一个参数,跑完游戏生成一组数据进行训练;如果更换参数,那么需要重新生成数据进行训练

这种就是我们所说的on-policy,那么这样就很费时间,我们当然想一个数据集可以用于多次训练,基于此思想,我们就引入了off-policy(:seita用seita i-1的数据集进行训练

off-policy

而在一系列off-policy方法中,最常见的就是Proximal Policy Optimization(PPO),具体PPO内容目前还没看


Value function

对于cumulated reward计算方法有两种

1.Monte-Carlo(MC)算法

即需获得observation下采取action1后得到的reward,但是这种不好的是就是耗时(因为需要采取相应的action,并得到reward)

Monte-Carlo

2.Temporal-difference(TD)算法

即根据St、at、rt、St+1预测

Temporal-difference

Version3.5:

b如何选取?

可以直接赋值我们的value function

Version 3.5

总的来说,IRL雨点类似GAN,

输入一个参数的actor 输出reward,根据reward对actor参数进行修正,直至生成一个满意的reward

相关文章

网友评论

      本文标题:强化学习

      本文链接:https://www.haomeiwen.com/subject/brrkxdtx.html