强化学习-基本概念
强化学习入门
强化学习(reinforcement learning, RL)
Basic
- Agent
- Environment
- Goal
Agent在于Environment的互动过程中,完成Goal
Main
- State
- Action
- Reward
在State下,做出Action,改变State,以此往复。
Reward则是做出Action后的反馈
RL最大化总的奖励,Reward即时,Goal长远
Core
- Policy
- Value
Policy: 采取何种策略?State->Action
Value:State Value 输入State 输出能获得最大价值,State-Action Value 输入State,Action 输出价值
智能体的目标就是让预期累积奖励最大化
如果考虑到奖励越来越难以获得,则改写为
,越大表示越在意长期奖励,越小表示越在意短期奖励
任务分类
片段性任务
有起点,终点,之间有一堆状态,一堆行动,一堆奖励,和一堆新的状态。每次结束后,会计算奖励的累积值,以此来评估表现。下一次重新开始时,会更优经验,因此经历的越多,智能体的表现会越好。
连续性任务
没有终点,比如自动驾驶。可通过差分学习,没经过一个时间片都会进行学习
奖励 Reward
奖励的设置很重要
比如:吃到金币+1,赢得游戏+10000,输掉游戏-10000
状态转移
由s和a生成
old -> new
可以是确定的,也可以是随机的
三种方法
基于价值(Value-Based)
目标为优化价值函数V(s)
这个函数表示了在每个状态里得到的未来奖励最大预期(Maximum expected future reward)
比如可以表示为
后面每一步采取当前函数值最大的(Q值)行动
基于策略(Policy-Based)
直接优化策略函数,不使用价值函数
策略是评判Agent在特定时间点的表现 ,把每个状态和对应的最佳行动建立联系
在状态s下选择动作a的概率
策略又可以分为两种:
- 确定性策略:每一个状态下的策略,永远都会给出相同的行动
- 随机性策略:策略给出的是多种行动的可能性分布
基于模型(Model-Based)
对环境建模,每个环境都要有一个不同的模型,这也是不常用的原因。
深度强化学习
在强化学习过程中使用深度神经网络
Q学习:传统算法创建Q-table,帮助Agent找到下一步要采取的行动
DQN(Deep Q Neural network):使用神经网络近似Q值
基本过程
environment 传递给 agent
agent做出动作 然后环境更新状态 ,并获得奖励
理解随机性来源
- 来源于状态s,给定状态s,策略会输出不同action的概率
- 来源状态转移,给定状态s和动作a,会随机生成新的状态s’
轨迹 Trajectory
(state, action, reward):
回报 Return
cumulative future reward
t时刻的回报
Discounted return
为超参数
回报的随机性 Randomness in Returns
价值函数 Value Functions
Action-value function
动作价值函数:
我们并不知道的具体值,因此我们只能进行期望估计:
告诉我们在policy函数下,在状态s下做动作a是好还是坏
Optimal action-value function
最优动作价值函数
State-value function
状态价值函数:当前局势好不好