强化学习-个人笔记

强化学习

Reinforcement learning(RL)

agent(智能体)在一个复杂不确定的环境(enviroment)里边极大化它能获得的奖励。

状态(state)---->动作(action) 反应(reward) ,获得最大的收益(return)

在这里插入图片描述

特点:

1.**试错学习:**强化学习一般没有直接的指导信息,Agent要不断与Environment进行交互,通过试错的方式来获取最佳策略(Policy)

2.**延迟回报:**强化学习的指导信息很少,而且往往是事后(最后一个状态(state)才能给出。

基本元素

在这里插入图片描述

  1. 环境(Environment):智能体处于这个系统中,能够感知到这个系统并且能够基于感知到的状态做出行动

  2. 智能体(Agent):智能体会做出一些动作来改变环境的状态。

  3. State(状态)/Observation(观测值):状态是整个环境的完整描述,Observation:智能体观测到的情况(可能遗漏一些信息)

  4. Action : action space(动作空间)有效动作的集合(离散动作空间和连续的动作空间)

  5. Reward: 是由环境给的一个标量的反馈信号(scalar feedback signal) 在当前状态下采取某一个行动作的表现

相关术语

  1. 策略(Policy):

智能体决定下一步执行什么行动的规则,可以是确定性的在这里插入图片描述
也可以是随机的,一般用Π表示在这里插入图片描述
2. 状态转移(State Transition)在这里插入图片描述
环境可能会变化,在当前环境和行动下,衡量系统状态向某一个状态转移的概率是多少,注意环境的变化通常是未知的。

  1. 回报(Return)
    在这里插入图片描述
    其中Rt表示第t时刻的奖励,agent的目标就是让Return最大化。

回报:cumulated future reward 累积奖赏最大化 (Return)

cumulated discount future reward 折扣奖赏

  1. 价值函数(Value Function)

**状态价值函数(State-value Function)😗*用来度量给定策略Π的情况下,当前状态St的好坏程度。

**动作状态价值函数(Action-value Function)😗*用来度量给定状态St和策略Π的情况下,采用动作at的好坏程度
在这里插入图片描述

算法分类在这里插入图片描述

按照环境是否已知划分:免模型学习(Model-Free) vs 有模型学习(Model-Based)

Model-Free:不去学习和理解环境,环境给什么信息就是什么信息,Policy optimization 和 Q-learning

Model-Based:去学习和理解环境,学会用一个模型来模拟环境,通过模拟的环境来得到反馈**(环境是不可知的)**

按照学习环境划分:基于策略(Policy-Based)和基于价值(Value-Based)

  • On-Policy是指agent必须本人在场, 并且一定是本人边玩边学习。典型的算法为Sarsa。
  • Off-Policy是指agent可以选择自己玩, 也可以选择看着别人玩, 通过看别人玩来学习别人的行为准则, 离线学习同样是从过往的经验中学习, 但是这些过往的经历没必要是自己的经历, 任何人的经历都能被学习,也没有必要是边玩边学习,玩和学习的时间可以不同步。典型的方法是Q-learning,以及Deep-Q-Network。

按照学习目标划分:基于策略(Policy-Based)和基于价值(Value-Based)。

在这里插入图片描述

  • Policy-Based的方法直接输出下一步动作的概率,根据概率来选取动作。但不一定概率最高就会选择该动作,还是会从整体进行考虑。适用于非连续和连续的动作。常见的方法有Policy gradients。(概率)
  • Value-Based的方法输出的是动作的价值,选择价值最高的动作。适用于非连续的动作。常见的方法有Q-learning、Deep Q Network和Sarsa。(价值)
  • 更为厉害的方法是二者的结合:Actor-Critic,Actor根据概率做出动作,Critic根据动作给出价值,从而加速学习过程,常见的有A2C,A3C,DDPG等。

Value-Based: 学习的是价值函数,当前状态下执行哪个动作的价值最高则选择哪个动作执行

Policy-Based: 学习的是采用当前策略下下一步动作的概率,一般会综合整体情况选择下一步的策略

经典算法

  1. Q-Learning

在Q-learning中,我们维护一张Q值表(动作价值函数表),表的维数为:状态数S * 动作数A,表中每个数代表在当前状态S下可以采用动作A可以获得的未来收益的折现和。我们不断的迭代我们的Q值表使其最终收敛,然后根据Q值表我们就.可以在每个状态下选取一个最优策略。

exploration/exploitaion (探索和利用)

随机选择动作还是利用已有的信息选择动作---->epsilon贪婪策略:

  • 我们指定一个探索速率「epsilon」,一开始将它设定为 1。这个就是我们将随机采用的步长。在一开始,这个速率应该处于最大值,因为我们不知道 Q-table 中任何的值。这意味着,我们需要通过随机选择动作进行大量的探索。
  • 生成一个随机数。如果这个数大于 epsilon,那么我们将会进行「利用」(这意味着我们在每一步利用已经知道的信息选择动作)。否则,我们将继续进行探索。
  • 在刚开始训练 Q 函数时,我们必须有一个大的 epsilon。随着智能体对估算出的 Q 值更有把握,我们将逐渐减小 epsilon。
    在这里插入图片描述
    评估 现在我们采取了行动并观察了结果和奖励。我们需要更新功能Q(s,a):

(这个就是要学习的Q-learning)
在这里插入图片描述
2. Deep Q Network(神经网络)

将Action和State作为神经网络的输入直接得到Q值

经验回放:replay memeory
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  1. Policy Gradient(策略梯度,PG)

策略梯度不通过误差反向传播,它通过观测信息选出一个行为直接进行反向传播,当然出人意料的是他并没有误差,而是利用reward奖励直接对选择行为的可能性进行增强和减弱,好的行为会被增加下一次被选中的概率,不好的行为会被减弱下次被选中的概率。

在这里插入图片描述

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值