Q-Learning算法

之前介绍过Sarsa算法,其是一种TD算法,目的是为了学习动作价值函数。Q-learning也是一种TD算法,目的是为了学习最优动作价值函数Q*,其实训练DQN的算法就是Q-learning。

Sarsa算法和Q-learning算法的区别:

Q-Learning算法_第1张图片

Q-Learning算法_第2张图片

两者的TD target略有不同。

Q-learning的TD target:

Q-Learning算法_第3张图片

求最大化:

Q-Learning算法_第4张图片

求完最大化后,可以消掉,得到下面的等式:

Q-Learning算法_第5张图片

直接求期望比较困难,所以对期望进行蒙特卡洛近似,得到TD target:

Q-learning算法的表格形式:

Q-Learning算法_第6张图片

第二部的max可以查表得知,查到那一行,找到最大值。

 Q-learning算法的神经网络形式:

 Q-Learning算法_第7张图片

DQN是对最优价值函数的近似,用表示DQN,DQN可以控制agent,我们当然要选用分数最高的动作,即最大化后得到的动作at。让agent执行动作at,我们可以更新参数w,让DQN对价值的估计更准确。

算法步骤如下:

Q-Learning算法_第8张图片

 总结:

Q-Learning算法_第9张图片

 

 

 

 

 

 

 

你可能感兴趣的:(深度学习,深度学习)