目录
Introduction of Q-Learning
Tips of Q-Learning
Double DQN
Dueling DQN
Prioritized Reply
Multi-step
Noisy Net
Distributional Q-function
Rainbow
Q-Learning for Continuous Actions
Introduction of Q-Learning
Critic: The output values of a critic depend on the actor evaluated.
How to estimate V𝝿(s)? 有两种方法:
① Monte-Carlo(MC) based approach
The critic watches 𝝿 playing the game.
② Temporal-difference (TD) approach
MC v.s. TD: TD比较常见,MC比较少用到
MC和TD估算出的V𝝿(s)很有可能是不一样的,不同的方法考虑了不同的假设,最后就会得到不同的运算结果。举例如下:
Another Critic:
从表面上看learn一个Q function,只能拿来评估某一个actor 𝝿的好坏。但实际上只要有了Q function,就可以做reinforcement learning:
Q-Learning:
在Q-Learning中会用到的三个tip:
① Target Network
② Exploration
有两个做exploration的方法:
③ Replay Buffer
The experience in the buffer comes from different policies. Drop the old experience if the buffer is full.
Typical Q-Learning Algorithm:
Tips of Q-Learning
——train Q-Learning的一些tip
Double DQN
Q value is usually over-estimated.
解决target(rt+maxQ)总是太大的问题:Double DQN
在Double DQN里面,选action的Q function和算value的Q function不是同一个
Dueling DQN
Q network就是input state,output每一个action的Q value。
Dueling DQN相较于原来的DQN,唯一的差别是改了network的架构。
按照上图方式改network架构的好处是,假设现在train network的target是希望下面两个被划掉的数字的值变为新的值,那么我们希望在train network的时候,network选择去更新V(s)的值而不是A(s,a)的值。
更新V(s)值的好处是,当我们更新这一列的前两个值的时候,第三个值也会发生改变。即在某一个state,只sample到两个action,没sample到第三个action,但是也可以对第三个action的Q value进行更动。这样的好处是不需要把所有的state action pair都sample一遍,可以用比较有效率的方式去estimate Q value。
实际上要给A一些constrain,使得update A比较麻烦,让network倾向于用V去解决问题。实作上做法如下:
Prioritized Reply
——更改sampling的process。因为更改了sampling的process,会更改update参数的方法。
Multi-step
——Balance between MC and TD
好处:sample了比较多的step,sample大N个step才估测value,所以估测的部分所造成的影响比较轻微。
坏处:r的项比较多,把大N项的r加起来,variance就会比较大。
所以需要调N的值,在variance跟不精确的Q之间取得一个平衡。
Noisy Net
——improve exploration
之前讲过的Epsilon Greedy这种exploration,是在action的space上面加noise。更好的方法Noisy Net,它是在参数的space上面加noise。
注意:the noise would not change in an episode.
Noise on Action v.s. Noise on Parameters:
Distributional Q-function
——model distribution. 可以不只是估测mean的值,还能估测distribution(每一个action都有自己的distribution)。
不太好实作,所以没有很多人在实作的时候使用这个技术。
Q-function是accumulated reward的期望值。所以计算出的Q value,其实是一个期望值。
同样的Q value可能会对应不同的distribution。如果只用一个expected的Q value来代表整个reward,会loss掉一些information。
Rainbow
——把所有方法都综合起来
下图是说,每次拿掉Rainbow中的一种技术:
拿掉double的时候,score和原始的Rainbow没什么差别。一个比较make sense的解释是,当用distributional DQN的时候,就不会over estimate reward。用double就是为了避免over estimate reward的问题。
Q-Learning for Continuous Actions
Q-Learning一个最大的问题是,它不太容易处理continuous的action。
Solution 1:
Solution 2: Using gradient ascent to solve the optimizationproblem.
把a当做parameter,找一个a去maximize Q function,用gradient ascent去update a的value。
Solution 3: Design a network to make the optimization easy
Solution 4: Don't use Q-learning文章来源:https://www.toymoban.com/news/detail-436920.html
文章来源地址https://www.toymoban.com/news/detail-436920.html
到了这里,关于Lecture 13(Extra Material):Q-Learning的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!