强化学习

前言

机器学习可以大致分为四类:

  • 监督学习
  • 无监督学习
  • 半监督学习
  • 强化学习

监督学习是利用标记了的样本进行学习,无监督学习则是使用未标记的样本进行学习,这两个是我们最常见的。半监督学习则是样本中只有少量带标记的样本,多数样本都未标记,利用这些样本进行学习。强化学习则是很不同的一种学习方式,它没有规则的训练样本和标签,主要通过奖励和惩罚达到学习的目的。

什么是强化学习

《最强大脑》曾经有个挑战项目叫蜂巢迷宫,挑战者不断尝试不断试错。强化学习做法也类似,它主要包含三个概念:状态、动作和回报。同样是以迷宫为例,智能体所在的位置即是状态,从某个位置向某方向走一步则为动作,比如可以向左向右或向上向下,每走一步会产生回报,比如撞到墙就是负回报,好的动作则会带来正回报。而且不仅要关注当前的回报,还要关注长期的回报,通过不断试错学习到一个长期回报的动作序列。

强化学习是机器学习的主要学习方法之一,智能体从环境到行为的学习,也就是如何在环境中采取一些列行为,才能使得奖励信号函数的值最大,即获得的累积回报最大。

强化学习不同于监督学习,监督学习通过正确结果来指导学习,而强化学习通过环境提供的信号对产生的动作的好坏做一种评价,它必须要靠自身经历进行学习。学习后智能体知道在什么状态下该采取什么行为,学习从环境状态到动作的映射,该映射称为策略。

如下图,一个智能体agent通过与环境environment相互交互并以一定的策略改变环境,agent可以从环境中得到状态$S_t$,然后执行一个动作$A_t$,接着得到一个即时回报$R_t$,最后转移到下一个状态。

这里写图片描述

所以整个过程就可以总结为根据当前观察状态值找到一个最优的动作使得回报最多。

Markov决策过程

智能体与环境的交互过程会生成一个序列,

对应的Markov动态过程为:agent初始状态为$S_0$,然后执行动作$A_0$,得到回报$R_1$,然后转移到下个状态$S_1$,不断重复。

这里写图片描述

这个过程构成Markov决策过程,服从“未来独立于过去”的Markov假设,所以下一时刻的状态只取决于当前时刻状态。即

如果定义了一个转换过程后,得到的回报函数累加和为

强化学习目标就是寻找一个最佳的策略,使回报加权和的期望值最大。

而t时刻的累积回报可以表示为

可以看到包含了一个阻尼系数r,它的取值为0到1,越靠后的状态对回报的影响越小,逐步衰减。

在某个状态s下,价值函数为

价值函数可以看成两部分,$R_{t+1}$为即时回报,


为下一状态价值函数值的打折值。上面的价值函数为Bellman Equation形态,即动态规划方程,可用迭代方式求解。

Q学习

前面说到的是状态价值函数,我们还需要动作价值函数,它可以用来根据动作价值的大小而做出动作。Q学习即是学习不同状态下各个动作的质量,它定义为

它同样可以变换成Bellman Equation形态,

最优动作价值函数,

可以看到最大化当前的动作价值函数就是最大化当前回报和下一时刻状态的最优动作价值函数。

动作价值函数虽然能直接计算出Q值,但实际学习时并没有直接使用该Q值来更新,而是通过渐进的方式来更新。学习的方法可用如下伪代码说明,首先初始化Q学习的状态集和动作集组成的数组,然后观察初始状态,接着不断重复执行:选择一个动作,观察回报并转移到新状态,更新Q学习数组值,涉及迭代方式更新,由于我们不能知道下一刻状态的Q值,所以更新时用之前迭代的Q值来更新此次迭代的Q值,其中α表示学习率。

initialize Q[numstates,numactions] arbitrarily
observe initial state s
repeat
    select and carry out an action a
    observe reward R and new state s'
    Q[s,a] = Q[s,a] + α(R + γmaxa'Q[s',a'] - Q[s,a])
    s = s'
until terminated复制代码

强化学习的特点

  • 它是试错学习,因为它没有像监督学习一样的直接指导信息,所以它只能不断去跟环境交互不断试错来获取最佳策略。
  • 它的回报具有延迟性,因为它往往只能在最后一个状态才能给出指导信息,这个问题也让回报的分配更加困难,即在得到正回报或负回报后怎么分配给前面的状态。

强化学习的运用

  • 比如飞行器的飞行控制。
  • 比如控制机器人的行走。
  • 比如学习怎么玩游戏。
  • 比如学习怎么理财投资。
  • 比如学习怎么下棋。

以下是广告

========广告时间========

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 item.jd.com/12185360.ht… 进行预定。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

=========================

欢迎关注:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值