0%

Q-learning(1)

Q-learning

李宏毅老师主页18年机器学习教程: http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html (老师的2020年视频也出了)

值函数

值函数分为: State value function , State-action value function

状态值函数$V_\pi(s)$,是对状态s的估计

如何估计状态值函数

monte-carlo方法:

对多个episode求平均,可以用神经网咯拟合

1586575571217

TD方法:

两个状态之间的值函数之差是reward,拟合reward就可以了

1586575379396

注:MC方法相较来说方差更大,并且这两种估计方法可能结果不一样大

Q-Learning

1586576088554

对于一个状态,选择一个最大的Q func就可以了

1586585731110

证明:

1586585767328

三个技巧

Target network

由于对q func的拟合是用的两个q之差与reward的比较,所以需要固定住一个

1586585935056

Exploration

策略更新的方式是选择q(s,a)最大的,这在前面阶段肯定是不合适的,因为很多(s,a)没有被遍历过。

两种解决方法如下图

1586586846153

replay buffer

弄一个缓存,里面放(st,at,rt,st+1)

每次从buffur里取一个batch,然后训练q func

Typical Q-Learning Algorithm

1586587733417