强化学习笔记(一): 概括与基础
1. 基本概念
术语 | 概念 |
---|---|
environment | 需要解决的问题的整体环境 |
agent | 与环境交互的智能体 |
reward | 标量反馈信号,反馈 agent 在指定状态的行为评分 |
Full observability | agent 可以观测到环境的所有状态(MDP) |
Partial observability | agent 仅可观测到部分环境(形如 POMDP) |
MDP | 马尔可夫决策过程,Markov Decision Process |
POMDP | 部分可观测马尔科夫决策过程,Partially Observed Markov Decision Process |
2. RL 中 Agent 的组成
Agent 可以由Policy
,Value Function
,Model
中的一个或者多个组成(不同种类的 Agent)
2.1 Policy
Policy(策略),即在不同情况下 Agent 行动的准测
通常是一个把状态映射为行为的函数,例如
- Stochastic policy(随机策略):Probabilistic sample(不同行为概率不同)
- Deterministic policy(确定性策略):按照某种指标确定行动
2.2 Value Function
Value function(价值函数),即按照指定的策略和固定的衰减系数,未来 Reward 的加合期望
衰减系数决定行动的短期 Reward 和未来 Reward 之间的权衡
- 定义一个状态的价值函数(V 函数)
- 定义一个状态下一个行为的价值函数(Q 函数)
2.3 Model
Model(模型),即 Agent 内部对于环境的表示
有模型的 Agent 可以用模型得到下一个 state(不同 state 的概率) 和 reward
3. RL 中 Agent 的分类
3.1 按照学到的东西分类
Value-based agent:
学到不同状态的价值函数,并从中抽取出一个行动策略(还是策略)Policy-based agent:
直接学习策略,没有价值函数做中间商Actor-Critic agent:
同时学习行动策略和价值函数(行动策略不是从价值函数中抽取的)
分别用于行动和评价
3.2 按照有没有模型分类
Model-based
内部有模型,这种 agent 可以没有 policy 和 value functionModel-free
内部没有模型,至少有 policy 和 value function 中的一个
4. RL 中的其他知识
4.1 序列决策任务
序列决策任务即在一个任务中需要决策多次,每个决策会影响接下来的状态
首先对于序列决策任务(SequentialDecision Making)有两种分类:Planning
和Reinforcement learning
- Planning:给定了环境模型,计算得到最佳行动策略,通常可以使用动态规划,阿尔法剪枝树搜索等算法
- Reinforcement learning:agent 不知道环境如何工作,需要与环境互动获得经验,需要使用强化学习算法
4.2 探索与利用
探索(Exploration)和利用(Exploitation)是 agent 在决策时需要权衡(trade-off)的两个方面
(就像是去已知的还不错的理发店
还是去未知的理发店
理发)
- 探索可以让 agent 得到未知的知识,但是也会因为行动的不够好而恶化后面的状态
- 利用可以让 agent 采取其经验中最好的行为,使得后面的状态更好,但是不会学到新的知识
4.3 RL 相关的轮子
资源 | 介绍 |
---|---|
introRL | 周博磊老师的 RL 教程 |
RLexample | 周博磊老师课程的配套代码 |
OpenAI | 非盈利 AI 研究机构 |
OpenAI GYM | OpenAI 提供的测试环境 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 遗世の私语!