草庐IT

强化学习-学习笔记4 | Actor-Critic

Actor-Critic是价值学习和策略学习的结合。Actor是策略网络,用来控制agent运动,可以看做是运动员。Critic是价值网络,用来给动作打分,像是裁判。4.Actor-Critic4.1价值网络与策略网络构建a.原理介绍状态价值函数:$V_\pi(s)=\sum_{{a}}\pi({a}|{s})\cdotQ_\pi({s},{a})$(离散情况,如果是连续的需要换成定积分)V是动作价值函数\(Q_\pi\)的期望,\(\pi({s}|{a})\)策略函数控制agent做运动,\(Q_\pi({s},{a})\)价值函数评价动作好坏。但是上述这两个函数我们都不知道,但是可以分别用

强化学习-学习笔记3 | 策略学习

Policy-BasedReinforcementLearning.策略学习。本讲用一个神经网络来近似policy函数,即PolicyNetwork,策略网络。3.策略学习3.1策略函数我们回顾一下策略函数PolicyFunction:策略函数\(\pi(a|s)\)是一个概率密度函数(PDF),输入时当前状态s,输出为一个概率分布,表征每个action的概率,拿到策略函数输出的概率密度后,agent面向所有动作做一次随机抽样,但各个动作的概率不同。策略学习的思路即,有了合适的策略函数,我们就能很好的控制agent自动地运动。问题与价值学习的相近:我们事先并不知道这样一个策略函数,我们如何得到

强化学习-学习笔记2 | 价值学习

Value-BasedReinforcementLearning:价值学习2.价值学习2.1DeepQ-NetworkDQN其实就是用一个神经网络来近似\(Q*\)函数。agent的目标是打赢游戏,如果用强化学习的语言来讲,就是在游戏结束的时候拿到的奖励总和Rewards越大越好。a.Q-starFunction问题:假设知道了\(Q^*(s,a)\)函数,哪个是最好的动作?显然,最好的动作是\(a^*=\mathop{argmax}\limits_{a}Q^*(s,a)\),\(Q^*(s,a)\)可以给每个动作打分,就像一个先知,能告诉你每个动作带来的平均回报,选平均回报最高的那个动作。但

强化学习-学习笔记1 | 基础概念

1.基本概念1.1概率论的基础知识a.随机变量概念:是一个未知的量,值是由随机事件结果来决定的。使用大写X来表示随机变量如在抛硬币之前我是不知道硬币结果是什么,但是我知道事件的概率使用小写x来表示随机变量X的观测值,只是表示一个数,没有随机性,如下面观测到三次抛硬币的结果观测值:当随机事件结束,会表征出一个结果,比如硬币落地后是正/反面朝上x1=0x2=1x3=1b.概率密度函数ProbabilityDensityFunction,PDF.意义:随机变量再某个确定的取值点附近的可能性。举例理解:连续分布:如高斯分布这个连续分布\[p(x)=\frac{1}{\sqrt{2\pi\sigma^2

新蔬菜专题

公式\[\sum\binom{2j}{j}\binom{2i-2j}{2j}=4^i\]\[\prod[w_i=1]={1\over2^n}\sum\limits_S\Big(\prod\limits_{j\inS}w_j\Big)\(w_i=\pm1)\]\[FWT(f)=g\Longleftrightarrowg_S=\sum\limits_T(-1)^{|S\capT|}f_T\texttt{可以倒着用}\]\[\prod{1\over1-a_iz}=\sumc_i{1\over1-a_iz}\Longleftrightarrowc_i={1\over\prod\limits_{j\ne

随机梯度下降法的数学基础

梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法)。因此,有必要从头理解梯度的来源和意义。本文从导数开始讲起,讲述了导数、偏导数、方向导数和梯度的定义、意义和数学公式,有助于初学者后续更深入理解随机梯度下降算法的公式。大部分内容来自维基百科和博客文章内容的总结,并加以个人理解。导数导数(英语: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参考资料本文大部分内容参考《深度学习》书籍,从中抽取重要的知识点,并

强化学习-学习笔记10 | 经验回放

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

强化学习-学习笔记9 | Multi-Step-TD-Target

这篇笔记依然属于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部分都只有一个奖励

强化学习-学习笔记8 | Q-learning

上一篇笔记认识了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