强化学习(1)
在开始之前个人觉得有必要把概念给大家说清楚,用大写字母表示一类事物的集合,用小写字母表示一类事物的实例。
在强化学习中出现术语解释
- Agent: 是学习主体也就是机器或者说是智能体,agent 通过观察环境(Environment),观察到就是环境具体的 state ,也就是当前的环境一个快照。AlphaGo 就是 Agent
- Environment: Agent 所处环境,Agent 是无法控制环境,也可以理解为 Agent 的对手,Agent 不断通过跟环境进行抗争来进行学习从而战胜环境,环境还会 Agent Reward 不能简单理解 Environment 为对抗
- State 就是环境的一个快照,也就是 Agent 所观察到的
- Action 是 Agent 根据当前 state 为了获得更高 reward 采取行动
- Reward 是在某个 state 给予 Agent 反馈,也就是奖罚
推荐 《Reinforcement Learning An Introduction》
在随后强化学习分享中我们会介绍一下内容,其实无论在机器学习,我们需要学习如何通过抽象将实际问题转化为数学模型,然后我们在想用什么方法来解决问题。其实这里要说一件事,就是为什么老师喜欢在给出答案前,让学生自己思考,然后尝试给出答案,其实并不期望你个给出正确答案,其目标是在于让你加深对答案印象,因为当人发现实际期望(自己答案)差别很大时,印象会很深刻
强化学习
- 微软小 bing
- AlphaGo
- 自动学习
基于价值选行为的算法
- Q learning(基于表格)
- Sarsa
- Deep Q Network (基于神经网络)
基于选行为
Policy Gradients
经典条件反射
经典条件反射又称巴甫洛夫条件反射,简单就是一摇铃就给 dog 食物,这样当摇铃即使没有喂 dog 食物,狗也会流口水(这里流口水表示 dog 开心也就是得到 reward)。也就是通过 dog 通过反射方式在摇铃和食物建立关系。
-
State 表示状态,dog 和摇铃就是一个状态,需要花一些时间和精力来通过训练。
-
Value 就是表示 us 和 cs 间关系的强弱,这个关系强弱是 dog 建立的,所以是主观。
-
reward 表示 dog 对状态反应,也就是 dog 在这种 state 下是否开心。
state(s) value(v) reward(r) 铃,食物 馋: v(铃) >0 好事 拒绝给食物,电击 恐惧: v(电击) < 0 不好事 CS US 期望 结果 -
CS(Conditioned stimuli state) 摇铃 state 就是 dog 并不了解的,也就是不是天生会有好感的状态。
-
US(Unconditioned stimuli State)食物就是 US 是 dog 天生就对其有好感的条件刺激,那么对于 dog US 就是本身就具有 reward 效果
在这里 state 和 reward 是客观的条件,value 是主观的,可以改变的,这里铃并没有 Reward,因为 dog 不会天生对摇铃有任何感觉。需要定义 value 是通过学习可以改变 Value。我们不断通过摇铃给 dog 食物来更新 value 值。value 表示 US 和 CS 之前关系的强弱。value 是 dog 将食物和铃建立关系,所以是主观的东西。
RW(Rescorla-Wagner) Model
- , 为是或否,取值 1 和 0
- A 为学习速率,有关 A 为学习速率,应该小于 1 大于 0
当 us 和 cs 值都为 1 表示 us 和 cs 同时出现,在开始 为 0 , 为 1 那么就等于 加上一个乘以一个系数,我们希望通过训练 ,而且这是一个迭代过程,每一次都是上一次 进行增加的。
解释一下这个公式吧,这里 表示对于摇铃的值,默认为 0 因为 dog 对摇铃没有什么感觉,而 给事物的值却是 1 表示 dog 喜欢事物,一看到食就会流口水。A 表示学习速率这里取值应该为 0 到 1 之间,也大说明 dog 学习越快,如果为 1 表示 dog 听见一次摇铃给食物后就学会了摇铃会给食物。这显然不对的。这个公式并不难而且很好理解,简单解释一下,V(cs)默认为 0 当摇铃和给食物同时出现 1 * 学习率(例如 0.2) 就会更新 V(cs) 为 0.2 下一次就会更新 0.36 。
操作性条件反射
在经典条件反射中 dog 并不需要做任何动作 Action 就可以得到奖励,我们现在进一步思考一下,例如我们都看过马戏团表演,给 dog 10 元 100 元,如果 dog 能够根据主人或观众说出数字找到对的卡片便可以得到奖赏。这一次 dog 在给卡片的状态下,做出选择正确 action 会根据 action state 得到 reward。
state(s) | action(a) | reward(r) |
---|---|---|
10 元和 100 元 | 选择 10 元 | 食物 |
10 元和 100 元 | 选择 100 元 | 给不食物 |
CS US | 期望 | 结果 |
这是 reward 是取决于 Action 这是我们如何来定义 value,
和
例如我们给 5 卡片希望 dog 对应位置支持 5 这是给出奖励,追女朋友
- state 她的心情
- action 根据 state 采用不同 action
- 根据 state 和 action 得到不同 reward
接下来我们尝试将 Alpha Go
- reward 是取得胜利
- state 棋盘状态
- action