这是价值学习高级技巧第三篇,前两篇主要是针对TD算法的改进,而DuelingNetwork对DQN的结构进行改进,能够大幅度改进DQN的效果。DuelingNetwork的应用范围不限于DQN,本文只介绍其在DQN上的应用。12.DuelingNetwork12.1优势函数AdvantageFunction.回顾一些基础概念:折扣回报:\(U_t=R_t+\gamma\cdotR_{t+1}+\gamma^2R+...\)动作价值函数:\(Q_\pi(s_t,a_t)=\mathbb{E}[U_t|S_t=s_t,A_t=a_t]\)消去了未来的状态和动作,只依赖于当前动作和状态,以及策略函数
这一篇介绍重头戏:多智能体强化学习。多智能体要比之前的单智能体复杂很多。但也更有意思。13.Multi-Agent-Reiforcement-Learning13.1多智能体关系设定合作关系FullCooperativeSetting竞争关系FullCompetitiveSetting合作和竞争的混合MixedCooperative&Competitive利己主义Self-Interesteda.完全合作关系agents的利益一致,合作去获取共同的回报;如工业机器人共同装配;b.完全竞争关系一个agent的收益是另一个agent的损失;如机器人搏斗,零和博弈;c.合作竞争混合既有合作,也有竞争
这是价值学习高级技巧第三篇,前两篇主要是针对TD算法的改进,而DuelingNetwork对DQN的结构进行改进,能够大幅度改进DQN的效果。DuelingNetwork的应用范围不限于DQN,本文只介绍其在DQN上的应用。12.DuelingNetwork12.1优势函数AdvantageFunction.回顾一些基础概念:折扣回报:\(U_t=R_t+\gamma\cdotR_{t+1}+\gamma^2R+...\)动作价值函数:\(Q_\pi(s_t,a_t)=\mathbb{E}[U_t|S_t=s_t,A_t=a_t]\)消去了未来的状态和动作,只依赖于当前动作和状态,以及策略函数
梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法)。因此,有必要从头理解梯度的来源和意义。本文从导数开始讲起,讲述了导数、偏导数、方向导数和梯度的定义、意义和数学公式,有助于初学者后续更深入理解随机梯度下降算法的公式。大部分内容来自维基百科和博客文章内容的总结,并加以个人理解。导数导数(英语:derivative)是微积分学中的一个概念。函数在某一点的导数是指这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。当函数\(f\)的自变量在一点\(x_0\)处产生一个增量时\(h\)时,函数输出值的增量与自变量增量\(h\)的比值在\(
前言5.1学习算法5.1.1任务\(T\)5.1.2性能度量\(P\)5.1.3经验\(E\)5.1.4示例:线性回归5.2容量、过拟合和欠拟合5.2.1没有免费午餐定理5.2.2正则化5.3超参数和验证集5.3.1验证集的作用5.3.2交叉验证5.4估计、偏差和方差5.4.1点估计5.4.2偏差5.4.3方差和标准差5.4.4权衡偏差和方差以最小化均方误差5.5最大似然估计5.6贝叶斯统计5.7监督学习算法5.8无监督学习算法5.8.1PCA降维5.8.2k-均值聚类5.9随机梯度下降5.10构建机器学习算法pipeline参考资料本文大部分内容参考《深度学习》书籍,从中抽取重要的知识点,并
ExperienceReplay经验回放。价值学习高级技巧第一篇。之前讲解的价值学习的方法都很简单,所以实现效果并不优秀。接下来会介绍一些高级的技巧,可以大幅度提高DQN的表现。ExperienceReplay是最重要的技巧。10.经验回放10.1DQN/DeepQNetworkDQN是用神经网络\(Q(s,a;w)\)来近似Q-star函数。通常用TD算法训练DQN。TD算法思路如下:agent观察当前状态\(s_t\)并执行动作\(a_t\);环境给出新的状态\(s_{t+1}\),返回奖励\(r_t\);TDtarget:\(y_t=r_t+\gamma\cdot{\mathop{max
这篇笔记依然属于TD算法的范畴。Multi-Step-TD-Target是对TD算法的改进。9.Multi-Step-TD-Target9.1ReviewSarsa&Q-LearningSarsa训练动作价值函数\(Q_\pi(s,a)\);TDTarget是\(y_t=r_t+\gamma\cdotQ_\pi(s_{t+1},a_{t+1})\)Q-Learning训练最优动作价值函数Q-star;TDTarget是\(y_t=r_t+\gamma\cdot\mathop{max}\limits_{a}Q^*({s_{t+1}},a)\)注意,两种算法的TDTarget的r部分都只有一个奖励
上一篇笔记认识了Sarsa,可以用来训练动作价值函数\(Q_\pi\);本篇来学习Q-Learning,这是另一种TD算法,用来学习最优动作价值函数Q-star,这就是之前价值学习中用来训练DQN的算法。8.Q-learning承接上一篇的疑惑,对比一下两个算法。8.1SarsaVSQ-Learning这两个都是TD算法,但是解决的问题不同。SarsaSarsa训练动作价值函数\(Q_\pi(s,a)\);TDtarget:\(y_t=r_t+\gamma\cdot{Q_\pi(s_{t+1},a_{t+1})}\)价值网络是\(Q_\pi\)的函数近似,Actor-Critic方法中,用Sa
Sarsa算法是TD算法的一种,之前没有严谨推导过TD算法,这一篇就来从数学的角度推导一下Sarsa算法。注意,这部分属于TD算法的延申。7.Sarsa算法7.1推导TDtarget推导:Derive。这一部分就是Sarsa最重要的内核。折扣回报:$U_t=R_t+\gammaR_{t+1}+\gamma^2R_{t+2}+\gamma^3R_{t+3}+\cdots\\quad={R_t}+\gamma\cdotU_{t+1}$即将\(R_{t+1}\)之后都提出一个\(\gamma\)项,后面括号中的式子意义正为\(U_{t+1}\)通常认为奖励\(R_t\)依赖于t时刻的状态\(S_t\
本文不是论文阅读笔记,只是一个学习笔记,重在理解,在严谨程度上可能稍差。AlphaGo论文指路:MasteringthegameofGowithdeepneuralnetworksandtreesearch.Nature,2016.https://www.nature.com/articles/nature16961MasteringthegameofGowithouthumanknowledge.Nature,2017.https://www.nature.com/articles/nature242705.AlphaGo5.1围棋介绍如果用强化学习的语言,围棋如何表达:标准的围棋盘是一个1