强化学习笔记——周博磊老师课程(概括与基础上&下)


写在前面,第一次写学习类博客,想把学习RL的一些内容记下来以便回顾,也能加深印象。如果有错误还请大家指正。

概括与基础-上

什么是强化学习?为什么关心?

智能体 (agent) 在与环境交互的过程中最大化 (maximize) 获得的所有奖励 (total amount of reward)

强化学习与监督学习对比

监督学习
  • 监督学习需要标记的数据,数据之间关联性较低,满足i.i.d(独立同分布)
  • 数据有真实的标签
强化学习(以打砖块游戏(Breakout)为例)
  • 数据不是i.i.d,数据之间有关联性,learner得到的数据是帧连续的。
  • 对于一个动作,没有一个立刻的反馈,(因为最终追求的是maximize total reward )。
  • 并没有一个确定的标签来判定一个动作是否正确。只能在游戏结束才能判定,不知道当前动作对游戏的胜利有帮助,这是一种delay reward(延迟奖励)。
对比总结
  • 强化学习输入是序列的数据,数据不是独立的。
  • learner并没有被告诉哪一个动作是最好的,learner需要自己不断尝试去学习。
  • Trial-and-error exploration,在exploration(开发)和exploitation(试探)中平衡,这个问题在监督学习中没有出现(RL.sutton书中第二章讨论了这个问题,详见:)
  • 没有supervisor,不知道当前动作是否是正确的(能够利益最大化),只有一个奖励信号,并且可能在一段时间之后才知道最终动作的奖励。
强化学习的特征-Features
  • Trial-and-error exploration–在环境中探索进行学习
  • Delayed reward–延迟的奖励
  • Time matters (sequential data, non i.i.d data)–数据关联性
  • Agent’s actions affect the subsequent data it receives(agent’s action changes the environment)–agent行为会影响其得到的数据
强化学习的优势

监督学习的标签由人标签,其性能有上限,而强化学习在环境中探索,可以获得超人类的性能。(AlphaGo)

例子–乒乓球(Pong)

example-Pong
动作:上移or下移。
Rollout:从当前帧生成很多局游戏,得到一堆观测,如上图。
通过这个例子,很好的说明了delay reward 的概念,只有在一局游戏结束,我们才能知道之前的一系列动作是否是正确的有利的动作。通过很多个Rollout能够学习到一个状态下最好的动作或动作序列。

深度强化学习

在deep learning 之前,往往是设计手工特征,通过提取特征来训练分类器。
在DRL中,可以构造一个end-to-end training,之间输入state,利用神经网络来拟合,直接输出action。

强化学习近些年来取得突破原因:

  • 计算能力大大增加,可以大幅增加探索获得信息。train-and-error rollout
  • 规则控制领域更加成熟。
  • 有了端到端模型,可以使特征提取和价值估计(或策略估计)一起优化。

概括与基础-下

时序决策过程(Introduction to Sequential Decision Making)

智能体和环境-Agent and Environment

智能体通过与环境交互获得观测,利用这些观测进行不断尝试探索,学习到能够使收益最大化的策略。

收益-Reward

  • 奖励是环境的反馈信号
  • 奖励是评估agent在某一时刻或者某一步动作的好坏
  • 一些例子。。。

Sequential Decision Making

  • agent的目的是选择能够获得最大化奖励的一系列动作
  • action 需要一些长远的眼光——大局观,整体利益
  • 奖励可能是延误的delayed,在几步之后才能知道当前动作的影响。
  • trade off,在近期奖励和长期奖励之间平衡——选择有些动作可能获得目前看来最好的收益,但是在长期来看并不是很好的动作。
  • 在和环境交互的过程中,我们可以得到一个观测,动作,收益的序列。如下公式所示:
  • State是用来决定接下来会发生什么,可以看成关于 H t H_{t} Ht的函数。即 S t = f ( H t ) S_{t}=f(H_{t}) St=f(Ht)

环境状态和智能体状态(Environment state and agent state

S t e = f e ( H t ) S t a = f a ( H t ) S^{e}_{t}=f^{e}(H_{t}) \qquad S^{a}_{t}=f^{a}(H_{t}) Ste=fe(Ht)Sta=fa(Ht)
这里提到了两个概念:

  • Full observability(全观测):智能体可以观测到环境提供的所有信息——建模为(MDP)-马尔科夫决策过程。 O t = S t e = S t a O_{t}=S^{e}_{t}=S^{a}_{t} Ot=Ste=Sta
  • Partial observability(部分观测):环境中有部分信息是智能体无法观测到的——建模为(POMDP)-部分可观测马尔科夫决策过程。
    • 这里周老师提到玩纸牌的例子,我们只能看到牌面上的牌,对其他玩家手中的牌无法知道。
    • 还有一个比较直观的是在驾驶过程中,我们只能对视野内的环境进行感知,但对于视线盲区的信息就无法获得。

RL-Agent 的主要组成

  • Policy: agent’s behavior function–智能体用来选择下一个动作
    • 是agent的行为模型,输入是state,输出是action。主要包含两种:
      • Stochastic policy: 概率分布,输入state,输出的是action的概率,对于action进行采样,得到真实的动作。 π ( a ∣ s ) = P [ A t = a ∣ S t = s ] \pi(a|s)=P[A_{t}=a|S_{t}=s] π(as)=P[At=aSt=s] .
      • Deterministic policy:输出特定的动作,选取概率最大的动作 a ∗ = arg max ⁡ a π ( a ∣ s ) a^*=\argmax_{a} \pi(a|s) a=aargmaxπ(as)
  • Value function: how good is each state or action–agent对当前动作进行估值
    • 计算在特定策略 π \pi π下,未来所以奖励之和。
    • 有折价因子(Discount factor):对当前奖励和未来奖励给予不同的权重。当前奖励的权重更大
    • 状态值函数,表示状态的好坏:这里可以看到对于离当前时刻越远的奖励,其折合因子 γ \gamma γ的幂次越高,就说明越不重要。同时最终的奖励是一个期望式,因为注意到角标上的 π \pi π,说明这是在策略 π \pi π下得到的期望收益。 v π ( s ) = E π [ G t ∣ S t = s ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] , for all  s ∈ S v_{\pi}(s)=\mathbb{E}_{\pi}[G_{t}|S_{t}=s]=\mathbb{E}_{\pi}\bigg[\sum^{\infin}_{k=0}\gamma^kR_{t+k+1} \bigg| S_{t}=s\bigg],\text{for all }s\in\mathcal{S} vπ(s)=Eπ[GtSt=s]=Eπ[k=0γkRt+k+1St=s],for all sS
    • 动作值函数,表示某状态下采取某动作的好坏:这里是衡量一个状态 动作对的期望价值。这也是强化学习算法在学习的函数。 q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s , A t = a ] q_{\pi}(s,a)=\mathbb{E}_{\pi}[G_{t}|S_{t}=s,A_{t}=a]=\mathbb{E}_{\pi}\bigg[\sum^{\infin}_{k=0}\gamma^kR_{t+k+1} \bigg| S_{t}=s,A_{t}=a\bigg] qπ(s,a)=Eπ[GtSt=s,At=a]=Eπ[k=0γkRt+k+1St=s,At=a]
  • Model: agent’s state representation of the environment–agent对环境的理解
    • 模型决定了环境会对动作做出怎样的反应,这个反应分为两方面
      • 其一是预测下一个状态,是一个概率分布: P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ] \mathcal{P}^a_{ss'}=\mathbb{P}[S_{t+1}=s'|S_{t}=s,A_{t}=a] Pssa=P[St+1=sSt=s,At=a]
      • 其二是预测一个状态下对动作的回报(reward),期望式 R s s ′ a = E [ R t + 1 ∣ S t = s , A t = a ] \mathcal{R}^a_{ss'}=\mathbb{E}[R_{t+1}|S_{t}=s,A_{t}=a] Rssa=E[Rt+1St=s,At=a]

强化学习分类

例子

下面通过一个例子讲解了policy-basevalue-base两种算法的概念和区别:
走迷宫:

  • 每走一步会有 -1 的reward。
  • 动作空间:上下左右
  • 状态:agent的位置
    迷宫
    如果使用policy-base的方法来学习,最终得到的是一个策略,及在每个状态下我们要采取的动作,如下图:policy-base
    如果采用value-base的方法来学习,我们最终得到的是每一个状态的价值估计,我们就可以让agent的策略为选择更大价值的状态在这里插入图片描述

基于agent所学来分类-base on what agent learns

  • **Value-based agent:**学到的是value function-价值函数,从价值函数我们可以推演出策略。
  • Policy-based agent: 直接学习到策略
  • Actor-Critic agent: 同时学习价值和策略函数,通过两者的交互,选择最佳的action。

基于agent 是否学习环境模型

  • Model-based: 学习状态的转移来采取措施。没有价值和策略函数。
  • Model-free: 直接对状态和动作的价值进行估计和学习,不考虑状态之间转移的情况。
    在这里插入图片描述

Exploration(试探)和 Exploitation(开发):

在已经确定所有动作的价值时,我们自然会选择价值最高的动作,这就是对当前已知知识的开发,贪心的选择价值最优的动作。–(选择最喜欢的餐馆)。
但是当agent刚开始学习是,对状态下每个动作的价值估计可能是不准确的,非贪心动作可能其期望收益比当前贪心动作的收益更高,这就需要agent有试探,试探非贪心动作,与环境交互更加全面,这样能够获得对所有动作更准确的价值估计。–(尝试一个新的餐馆,可能踩雷,但也可能更好吃)。
这就需要在两者之间做权衡(trade-off)
(这一部分内容在Sutton-RL书第二章有详细阐述)下面是周老师给出的一些例子。
一些例子

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
众所周知,人工智能是当前最热门的话题之一, 计算机技术与互联网技术的快速发展更是将对人工智能的研究推向一个新的高潮。 人工智能是研究模拟和扩展人类智能的理论与方法及其应用的一门新兴技术科学。 作为人工智能核心研究领域之一的机器学习, 其研究动机是为了使计算机系统具有人的学习能力以实现人工智能。 那么, 什么是机器学习呢? 机器学习 (Machine Learning) 是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参数,并最终对数据进行预测和分析的一门学科。 机器学习的用途 机器学习是一种通用的数据处理技术,其包含了大量的学习算法。不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言翻译、垃圾邮件过滤、自然语言处理等 生物领域----基因序列分析、DNA 序列预测、蛋白质结构预测等 自动化领域----人脸识别、无人驾驶技术、图像处理、信号处理等 金融领域----证券市场分析、信用卡欺诈检测等 医学领域----疾病鉴别/诊断、流行病爆发预测等 刑侦领域----潜在犯罪识别与预测、模拟人工智能侦探等 新闻领域----新闻推荐系统等 游戏领域----游戏战略规划等 从上述所列举的应用可知,机器学习正在成为各行各业都会经常使用到的分析工具,尤其是在各领域数据量爆炸的今天,各行业都希望通过数据处理与分析手段,得到数据中有价值的信息,以便明确客户的需求和指引企业的发展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值