深度学习

强化学习(1)

2020-10-04  本文已影响0人  zidea

在开始之前个人觉得有必要把概念给大家说清楚,用大写字母表示一类事物的集合,用小写字母表示一类事物的实例。

在强化学习中出现术语解释

推荐 《Reinforcement Learning An Introduction》

在随后强化学习分享中我们会介绍一下内容,其实无论在机器学习,我们需要学习如何通过抽象将实际问题转化为数学模型,然后我们在想用什么方法来解决问题。其实这里要说一件事,就是为什么老师喜欢在给出答案前,让学生自己思考,然后尝试给出答案,其实并不期望你个给出正确答案,其目标是在于让你加深对答案印象,因为当人发现实际期望(自己答案)差别很大时,印象会很深刻

强化学习

基于价值选行为的算法

基于选行为

Policy Gradients

经典条件反射

经典条件反射又称巴甫洛夫条件反射,简单就是一摇铃就给 dog 食物,这样当摇铃即使没有喂 dog 食物,狗也会流口水(这里流口水表示 dog 开心也就是得到 reward)。也就是通过 dog 通过反射方式在摇铃和食物建立关系。

在这里 state 和 reward 是客观的条件,value 是主观的,可以改变的,这里铃并没有 Reward,因为 dog 不会天生对摇铃有任何感觉。需要定义 value 是通过学习可以改变 Value。我们不断通过摇铃给 dog 食物来更新 value 值。value 表示 US 和 CS 之前关系的强弱。value 是 dog 将食物和铃建立关系,所以是主观的东西。

RW(Rescorla-Wagner) Model

V_{cs} = V_{cs} + A \times (V_{us} \times us - V_{cs} \times cs)

当 us 和 cs 值都为 1 表示 us 和 cs 同时出现,在开始 V_{cs} 为 0 , V_{us} 为 1 那么就等于 V_{cs} 加上一个乘以一个系数,我们希望通过训练 V_{cs} ,而且这是一个迭代过程,每一次都是上一次 V_{cs} 进行增加的。

解释一下这个公式吧,这里 V_{cs} 表示对于摇铃的值,默认为 0 因为 dog 对摇铃没有什么感觉,而 V_us 给事物的值却是 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,
V(S)\, state-value\,fucntionQ(s,a)\,action-value\,function

例如我们给 5 卡片希望 dog 对应位置支持 5 这是给出奖励,追女朋友

接下来我们尝试将 Alpha Go

上一篇下一篇

猜你喜欢

热点阅读