{机器学习}【Reinforcement Learning】

常识性知识:

RL学习的转移过程图示(机器就是agent)


  •  
  • agent 选择一个action输入到environment中,envirment会反馈(输出)一个reward和转移到的state,agent再根据这些信息选择新的action

基本框架

  • agent 根据 environment 选择 action,通过这个action 改变 environment,根据environment的变化,Agent 获得某种reward. RL 的目的是决定代理的行动方法来获得更好的报酬

Reinforcement Learning Method 分类

  • Mode-Based RL:不理解环境(只能等待环境的反馈采取行动)
  • Mode-Free RL:理解环境,建立模型模拟环境的反馈(可以通过想象预判断所有情况,选择最好的一种)

 

  • Policy-Based RL:输出所有action的概率,根据概率选择action,实际上不一定选择概率最高的动作(利用概率分布可以解决连续的action的问题) eg:Policy Gradient
  • Value-Based RL:输出所有action的值,只选择价值最高的action(只能解决离散的action的问题)eg:Q Learning ,Sarsa 
  • Actor-Critic:结合两种方法的优势,Actor 基于概率选择动作,Critic根据选择的动作给出动作的价值

 

  • Monte-Carlo update:回合更新 eg:Monte-Carlo,基础版Policy Gradient
  • Temporal-Difference:单步更新(更有效率) eg:Q Learning ,Sarsa ,升级版Policy Gradient

 

  • On-Policy:在线学习(必须本人在学习) eg: Sarsa,Sarsa(lanmeida)
  • Off-Policy:离线学习(可以学习别人的经验,也不必要是在线的,可以先存储经历,后学习)eg:Q Learning,Deep Q network

Q Learning 

  • value-based
  • Temporal-Difference
  • off-policy 

期望reward的获取(计算)方法

  • exploration-only(探索):对每种进行平均(概率均等)的测试,统计最优
  • exploitation-only(利用):利用到目前为止,最优的

ε-greedy(折中方法1)

  • 每次尝试时,以ε概率进行探索(即以均匀概率随机选取一个),以1-ε的概率利用(选择当前平均奖赏最高的action,若有多个随机选取一个)
  • 算法描述(摇臂数对应action数量)
  • ε(探索概率)的选取方法:初始值(0.1/0.01)+随时间递减

softmax(折中方法2)

Q Learning 过程:

  • α是learning rate,含义是有多快地抛弃旧值、生成新值的度量。如果学习率是 1,新的估计值会成为新的 Q 值,并完全抛弃旧值
  • γ是discount factor

Q Learning 过程总结:

循环做如下的步骤

  • 在当前的state下根据policy(如ε-greedy)选择action
  • 向environment输入action,观测环境反馈的state’和reward
  • 更新Q表中的Q(s,a)值,更新为:老的Q(s,a)+lr*{(reward+γ*Q(s',?)中的最大估计)-Q(s,a)}

DQN - Deep Q network 

Description 

  • 神经网络+Q learning
  • 基于表格的缺点:实际问题中state过多(甚至无法存储),同时在表格中搜索也很耗时

使用神经网络

  • 将状态和动作当成神经网络的输入, 然后经过神经网络分析后得到动作的 Q 值(这样就没必要在表格中记录 Q 值, 而是直接使用神经网络生成 Q 值)
  • 或者,只输入状态值, 输出所有的动作值, 然后按照 Q learning 的原则, 直接选择拥有最大值的动作当做下一步要做的动作

神经网络的学习和训练(参数更新方法)

图中s2指的就是当前所处的state

 

对于一次训练具体而言(下图):

  • NN 预测出Q(s, a1) ,Q(s,a2),... 的值 (这就是 Q 估计),然后选取 Q 估计中最大值的动作来换取环境中的奖励 reward(这就能得到Q现实),然后再利用上图(类似于Q learning的方法)更新NN中的参数

RL中数据的关联问题

  • 对神经网络进行训练时,存在的假设是独立同分布。而通过强化学习采集到的数据之间存在着关联性,利用这些数据进行顺序训练,神经网络当然不稳定。

DQN的两大重要方法(解决RL中数据的连续获取导致的关联性(相关性)问题)

  • experice replay:Q learning 是一种 off-policy 离线学习法, 它能学习当前经历着的, 也能学习过去经历过的, 甚至是学习别人的经历. 所以每次 DQN 更新的时候, 可以随机抽取一些之前的经历进行学习. 随机抽取这种做法打乱了经历之间的相关性, 也使得神经网络更新更有效率.
  • fixed Q-target:也是一种打乱相关性的机理,需要在 DQN 中使用到两个结构相同但参数不同的神经网络, 预测 Q 估计 的神经网络具备最新的参数, 而预测 Q 现实 的神经网络使用的参数则是很久以前的.

DQN算法描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值