李宏毅强化学习笔记【0.强化学习导论】

agent观察(observation即为state)environment

agent对做一些动作(action),影响environment

因为有一些影响,environment给agent一些reward,告诉他是好的影响还是坏的影响

agent要学习,如何采取动作才能让期望的reward最大

李宏毅强化学习笔记【0.强化学习导论】

 

有时候reward很稀疏,大部分为0(什么都没发生),只有少数有数值,这是一个困难。

 

监督:跟着老师学

强化学习:从经验学

 

通常,环境会有一些随机性

 

一系列状态和采取的动作,叫一个episode。

 

reward有延迟。有些动作没有reward,但是会帮助未来得到reward。短期牺牲换来更好的结果。

agent的行为会影响以后看到的东西。所以agent要学会探索没有做过的行为。

 

李宏毅强化学习笔记【0.强化学习导论】

value比较老,policy比较新。

policy,学习一个做事情的actor

value,学习一个不做事情,只评价的critic

现在A3C,结合actor和critic

 

model-based预测未来发现什么事情,一般在棋类游戏中用到。

 

actor就是一个function,输入observation,输出action。

李宏毅强化学习笔记【0.强化学习导论】

 

李宏毅强化学习笔记【0.强化学习导论】

deep learning

神经网络作为一个actor,就是deep reinforcement learning

给神经网络输入一个向量或者矩阵,输出各个动作的分数(概率),向量的维度是动作的个数。可以选择最大概率的,也可以根据概率选择(概率大的被选择的概率越大,但不一定被选到)。

传统是state和action的表格,穷举,但是数量太大。所以用神经网络,可以一般化。

对于监督的学习,就是用预测和目标比较,有一个loss function,调整网络的参数李宏毅强化学习笔记【0.强化学习导论】,使得loss越小越好。

 

对于一个actor,网络的参数李宏毅强化学习笔记【0.强化学习导论】,actor是李宏毅强化学习笔记【0.强化学习导论】,让李宏毅强化学习笔记【0.强化学习导论】去玩游戏

从观察s1开始,决定动作a1,得到reward r1……

总reward李宏毅强化学习笔记【0.强化学习导论】为 t=1...T时刻,rt的求和,要最大化

同一个李宏毅强化学习笔记【0.强化学习导论】,每次得到的李宏毅强化学习笔记【0.强化学习导论】可能会不同,因为actor和游戏可能存在随机性,所以李宏毅强化学习笔记【0.强化学习导论】是一个随机变量

我们要最大化李宏毅强化学习笔记【0.强化学习导论】的期望值,越大越好,衡量actor李宏毅强化学习笔记【0.强化学习导论】的好坏

 

τ某一种游戏过程,有很多情况。选择一个actor后,有一些τ可能会出现,有一些τ不太容易出现。P(τ|李宏毅强化学习笔记【0.强化学习导论】),在某个参数李宏毅强化学习笔记【0.强化学习导论】下actor的,出现τ的概率。

李宏毅强化学习笔记【0.强化学习导论】玩n次游戏。得到李宏毅强化学习笔记【0.强化学习导论】求平均。

李宏毅强化学习笔记【0.强化学习导论】

 

选一个最好的function

梯度下降。

李宏毅强化学习笔记【0.强化学习导论】

R(τ)不需要做偏微分,所以reward不可微分也可以。因为reward是环境给的,不需要怎么得到。

李宏毅强化学习笔记【0.强化学习导论】

 

李宏毅强化学习笔记【0.强化学习导论】

 

第1项和第3项与微分无关,可以忽略掉。

李宏毅强化学习笔记【0.强化学习导论】

 

注意:要每个动作乘R(τ),不可每个动作乘r,要不然只有reward不为0的动作会被改变概率。但并不代表其他动作没有长久的意义。

李宏毅强化学习笔记【0.强化学习导论】

 

而且log项的意义是,不会偏好出现几率较大的action

李宏毅强化学习笔记【0.强化学习导论】

 

如果R(τ)永远都是正的。理想情况,不会有问题。reward比较小的,即使概率大,但训练后概率会变小。

实际情况,是sampling,没sample到的,概率会变小。所以减掉一个bias(自己设置)。没超过bias的,action概率就减小,超过bias的,概率就增加。

李宏毅强化学习笔记【0.强化学习导论】

 

critic:学习一个function,看到一个observation/state,评价一下它有多好。

李宏毅强化学习笔记【0.强化学习导论】