<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZDDWLIG的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ZDDWLIG</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ZDDWLIG]]></copyright><item><title><![CDATA[经典网络架构-ResNet]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/133526392</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/133526392</guid><author>ZDDWLIG</author><pubDate>Tue, 03 Oct 2023 19:25:38 +0800</pubDate><description><![CDATA[深度网络有一个普遍的问题：随着网络层数的增加，准确率是先增后减的，准确率增加是很好理解的，毕竟网络变深之后，模型的学习能力也随之变强，结果也相应地变好，但是结果变差是反直觉的，这种现象被称为网络退化，有人给出解释：模型的参数规模超过数据规模，模型可能发生了过拟合现象。其中$x_1,x_2,x_3$分别为第1、2、3层网络的输入，$y=x_4$为网络的输出，由于每一层都经过激活函数，求导的结果会较小，因此最后相乘的结果也会很小，即浅层的网络的梯度很小，网络学习能力下降。- ##深度网络的退化。]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之REINFORCE VS A2C]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/124086329</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/124086329</guid><author>ZDDWLIG</author><pubDate>Sun, 10 Apr 2022 21:59:03 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 比较

3. 本质联系



1. 引言

我们前面两次学习了与baseline有关的两种算法：REINFORCE 和 A2C，仔细阅读的同学会发现两者的神经网络的结构是一致的，那么这两者究竟有什么关系呢？

2. 比较

我们先来看看两者的算法

REINFORCE:

观测到从  时刻到游戏结束的一个trajectory 
	计算观测到的return 
	计算误差 
	更新策略网络
	更新价值网络
A2C:

观测到一个 transition
	计算TD targe...]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之 A2C with baseline]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/124005342</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/124005342</guid><author>ZDDWLIG</author><pubDate>Thu, 07 Apr 2022 10:01:35 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 数学推导

3. 算法



1. 引言

我们上次介绍了利用到了baseline的一种算法：REINFORCE。现在我们来学习一下另一种利用到baseline的算法：Advantage Actor-Critic(A2C)

2. 数学推导

我们在Sarsa算法中推导出了这个公式，我们分部期望

两边对求期望

我们便得到了关于状态价值函数的递推关系式

使用蒙特卡罗算法近似右侧期望，我们得到

又由，也是使用蒙特卡罗算法，我们得到，总结一下，现在我们...]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之 REINFORCE with baseline]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123978102</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123978102</guid><author>ZDDWLIG</author><pubDate>Tue, 05 Apr 2022 22:29:49 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 估计

2.1 估计期望

2.2 估计价值函数

2.3 估计状态函数

3. 算法

3.1 策略网络

3.2 价值网络



1. 引言

我们上次讲到了baseline的基本概念，今天来讲讲使用到baseline的常用算法：REINFORCE

2. 估计

我们之前得到了状态价值函数的梯度表达式 

我们希望使其梯度上升，现状就需要解决这么几个难题：等式右侧是一个期望表达式，不好计算；含有未知的  ；含有未知的，现在我们来解决这几个问题。

2.1 估计期望

.]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之 Baseline 基本概念]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123960675</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123960675</guid><author>ZDDWLIG</author><pubDate>Mon, 04 Apr 2022 22:04:56 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 数学推导

2.1 引理

2.2 改进的策略梯度

2.3 蒙特卡罗模拟

3. baseline的选择



1. 引言

我们前面讲过策略梯度下降算法，现在来介绍一种加快收敛速度的方法：设置Baseline。

2. 数学推导

我们之前推导过状态价值函数梯度的公式，以下证明源于这个公式。

2.1 引理

我们先证明一个引理：其中是不依赖于的量



这个 引理告诉我们：只要我们找到一个不依赖于的量，就有

2.2 改进的策略梯度

由与...]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之 Multi-agent 训练架构]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123939251</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123939251</guid><author>ZDDWLIG</author><pubDate>Sun, 03 Apr 2022 17:01:08 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 训练架构

2.1 Fully decentralized

2.2 Fully centralized

2.3 Centralized&amp;Decentralized





1. 引言

我们上一次讲到了Multi-agent的基本概念，现在来讲讲具体的训练方法，以Actor-Critic方法为例。

2. 训练架构

我们知道在Single-agent中的Actor-Critic方法中需要一个策略函数  作为Actor进行执行action，还有一个价值函数  进]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之 Multi-agent 基本概念]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123927109</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123927109</guid><author>ZDDWLIG</author><pubDate>Sat, 02 Apr 2022 20:28:10 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 基本分类

2.1 Fully cooperative

2.2 Fully competitive

2.3 Mixed cooperative&amp;competitive

2.4 Self interested

3. 专业术语

3.1 state and action

3.2 state transtition

3.3 reward and return

3.4 policy network

3.5 state value function

3.6 c]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之 Dueling Network]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123883394</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123883394</guid><author>ZDDWLIG</author><pubDate>Thu, 31 Mar 2022 21:56:30 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 数学推导

2.1 最优价值函数

2.2 最优状态函数

2.3 优势函数

3. 网络结构

3.1 优势网络

3.2 状态网络

3.3 新的DQN



1. 引言

我们之前学习了许多DQN的优化技巧，现在我们再来看看一种有趣的DQN的优化:Dueling network

2. 数学推导

2.1 最优价值函数

我们之前已经学过了最优价值函数，这里的是动作价值函数，最优指的是对策略求最优。

2.2 最优状态函数

类比于最优价值函数，我们给出最优...]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之 Overestimation]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123857219</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123857219</guid><author>ZDDWLIG</author><pubDate>Wed, 30 Mar 2022 22:21:37 +0800</pubDate><description><![CDATA[目录



1. 引言

2. Overestimation

2.1 Maximization

2.2 Bootstrapping

3. Solution

3.1 Target Network

3.2 Double DQN



1. 引言

我们现在来介绍在TD算法中出现的一类问题：高估(overestimation)。这个问题会极大地影响TD算法的准确性，下面来具体介绍高估问题和其解决方案。

2. Overestimation

我们所说的高估指的是对TD target  的高估，下面是两种]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之 Experience Replay]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123832984</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123832984</guid><author>ZDDWLIG</author><pubDate>Tue, 29 Mar 2022 22:44:50 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 经验回放算法

2. 优先经验回放

2.1 抽取方法改进

2.2 学习率修正



1. 引言

我们之前学过TD 算法，基本的TD算法的思路如下

观测到一个transition 
	计算TD target 
	计算TD error 
	梯度下降
我们发现一个transition在使用之后就会被丢弃了，我们不会在后面使用到它，这样的训练速度就非常慢：想象AI在打boss，但是一下就被秒了，它从中获取不到足够的信息，只能一遍又一遍地去刷boss，那又需要将前面的所以关..]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之 Multistep TD target]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123763834</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123763834</guid><author>ZDDWLIG</author><pubDate>Sat, 26 Mar 2022 21:43:44 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 数学推导

3. 文献



1. 引言

我们之前已经学习了Sarsa算法和Q-learning算法，我们知道这两者都是基于TD算法的，我们又知道TD算法效果改变受TD target影响，我们思考一下，如果我们选用包含真实信息更多的TD target，效果会不会更好呢？下面我们来进行数学推导。

2. 数学推导

一切都源于这个公式：，我们再使用这个公式将展开得到

这个公式相较于前一个公式更加精确，因为它含有两个真实信息，而前面的公式只有一个,于是我们可以进一步...]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之Q-learning]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123740030</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123740030</guid><author>ZDDWLIG</author><pubDate>Fri, 25 Mar 2022 17:53:29 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 数学推导

3. 算法



1. 引言

我们上次已经介绍了Saras算法，现在我们来学习一下和Saras算法非常相似的一个算法:

Q-learning算法。

Q-learning是一种用于机器学习的强化学习技术。 Q-learning的目标是学习一种策略，告诉Agent在什么情况下要采取什么行动。 它不需要环境模型，可以处理随机转换和奖励的问题，而无需进行调整。

对于任何有限马尔可夫决策过程（FMDP），Q学习找到一种最优的策略，即从当前状态开始，它在任何和所有后续]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之Sarsa算法]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123722212</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123722212</guid><author>ZDDWLIG</author><pubDate>Thu, 24 Mar 2022 22:16:20 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 数学推导

2. 算法步骤



1. 引言

我们现在来看看强化学习中一种常用的算法：Sarsa算法。它常用于学习动作价值网络  。

2. 数学推导

我们知道动作价值函数 就是return对于随机变量state和action的期望值，即：



我们之前推导过一个return的递推式：



将其代入得到



我们知道就是的期望，于是我们得到

等式右端含有随机变量，我们使用来近似，用来近似，于是我们有，又由于等式右端整体是一个期望不好计算，于是我们使...]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之蒙特卡罗算法]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123696081</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123696081</guid><author>ZDDWLIG</author><pubDate>Wed, 23 Mar 2022 21:31:37 +0800</pubDate><description><![CDATA[目录



1. 大数定律

2. 估算圆周率

2.1 公式

2.2 代码

2. 估算定积分

3.1 公式

3.2 代码



1. 大数定律

大数定律是蒙特卡罗算法的理论依据，大数定律的内容如下

在随机事件的大量重复出现中，往往呈现几乎必然的规律，这个规律就是大数定律。

我们来简单看看伯努利大数定律的严格数学表达：

设是次独立试验中事件A发生的次数，且事件A在每次试验中发生的概率为，则对任意正数 有



通俗地说，这个定理就是在试验不变的条件下，重复试验多次,随机事件的频率近似于它的概]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之策略学习]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123659198</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123659198</guid><author>ZDDWLIG</author><pubDate>Tue, 22 Mar 2022 15:58:19 +0800</pubDate><description><![CDATA[目录



1. 引言

2. 数学推导

2.1 状态价值函数

2.2 策略梯度

2.3 蒙特卡罗近似

3. 算法



1. 引言

我们上次讲到了价值学习，这次我们来看看基于策略的学习，我们状态价值函数能够描述当前状态下局势的好坏，如果越大那局势不就会越好吗，所以我们得到了策略学习的基本思想：找到最优的action使达到最大。







2. 数学推导

2.1 状态价值函数

我们之前知道状态价值函数，我们先用神经网络来近似，这里的是神经网络的参数，如果我们认为与无关，...]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之价值学习]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123621517</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123621517</guid><author>ZDDWLIG</author><pubDate>Sun, 20 Mar 2022 22:08:30 +0800</pubDate><description><![CDATA[1. 引言

我们上次最后提到了动作价值函数,它是与状态(state)、动作(action)和策略函数有关的概率分布函数，其中我们提到的它取最优策略后得到的最优动作价值函数，其中的影响已经被消除，所以在给定状态下我们想要最优化就是寻找最好的,所谓价值学习就是使用神经网络DQN来拟合函数，其中是观测到的状态是网络的输入，是agent需要做出的动作，是网络的输出值，表示网络的参数，下面我们来介绍强化学习(DQN)。

2. DQN

我们刚刚提到我们需要状态作为输入值，在许多情...]]></description><category></category></item><item><title><![CDATA[基于Pytorch的强化学习(DQN)之基础概念]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123597411</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123597411</guid><author>ZDDWLIG</author><pubDate>Sat, 19 Mar 2022 21:22:35 +0800</pubDate><description><![CDATA[目录

1. 数学知识

1.1 随机变量与观测值

1.2 概率密度函数

1.3 期望

2. 专业术语

2.1 agent

2.2 action

2.3 state

2.4 policy

2.5 reward

2.6 state transition

2.7 trajectory

2.8 return

2.9 value function

2.9.1 动作价值函数

2.9.2 状态价值函数

3.OpenAI Gym



讲完了神经网络的一些基本知识，我们现在来学习强化学习(D]]></description><category></category></item><item><title><![CDATA[基于Pytorch的神经网络之autoencoder]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123585935</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123585935</guid><author>ZDDWLIG</author><pubDate>Fri, 18 Mar 2022 22:40:03 +0800</pubDate><description><![CDATA[目录



1. 引言

2.结构

3.搭建网络

4.代码



1. 引言

今天我们来学习一种在压缩数据方面有较好效果的神经网络：自编码(autoencoder)。

2.结构

自编码的主要思想就是将数据先不断encode进行降维提取其中的关键信息，再decode解码成新的信息，我们的目标是要使我们生成的信息和原信息尽可能相似，有点像我们做题一样，先刷大量的题，提取其中的关键解题思路，遇到同类型的题目就会写了，基本结构如下



这个网络先将信息不断压缩，再解压，对比原始数据和新数据的差别，再反.]]></description><category></category></item><item><title><![CDATA[基于Pytorch的神经网络之CNN]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123561956</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123561956</guid><author>ZDDWLIG</author><pubDate>Thu, 17 Mar 2022 22:52:58 +0800</pubDate><description><![CDATA[目录



1.引言

2.基本结构

2.1 输入层

2.2 卷积层

2.3 激励层

2.4 池化层

2.5 全连接层

3. 数字识别

3.1 搭建部分

这里主要讲讲神经网络的搭建部分。

3.2 效果

3.3 全部代码



1.引言

之前几篇文章简单介绍了一下神经网络的基础知识和简单应用，现在我们来学习一个十分有用的神经网络：卷积神经网络(CNN)。

2.基本结构

CNN可以简单分为五个部分，每一部分有不同的用处。

2.1 输入层

输入层的主要作用是对数据进行预处理，使其..]]></description><category></category></item><item><title><![CDATA[基于Pytorch的神经网络之Optimizer]]></title><link>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123538155</link><guid>https://blog.youkuaiyun.com/ZDDWLIG/article/details/123538155</guid><author>ZDDWLIG</author><pubDate>Wed, 16 Mar 2022 22:54:03 +0800</pubDate><description><![CDATA[目录



1.引言

2.各种优化器

2.1 SGD

2.2 Momentum

2.3 RMSprop

2.4 Adam

3.效果对比



1.引言

我们之前提到进行反向传播时我们需要用到优化器(Optimizer)来优化网络中的参数，优化器有许多种，下面介绍几种常见的优化算法。

2.各种优化器

2.1 SGD

优化算法中比较基本的一种就是随机梯度下降法(SGD),它通过从全部样本中选取一部分样本计算梯度(使函数下降最快的方向向量)，在其中随机选取一个梯度来下降，依据此来调整参数的值，]]></description><category></category></item></channel></rss>