深度强化学习算法的样本效率(sample efficiency)到底是什么?

2023-05-16

本文源自改论文中的一章,基于样本效率优化的深度强化学习方法综述。需要的可自取

一、深度强化学习方法的样本效率

深度强化学习已在街机游戏和物理模拟环境中取得显著成果,但受到采样成本的影响,难以向真实环境任务中迁移。对于模拟环境,采样次数仅与计算速度有关, 在训练过程中,每秒可以完成几万次的环境交互过程; 而对于真实环境,由于控制器与感知器物理情况的限制,单位时间内能完成的采样次数急剧降低。例如,DQN算法在数小时内就能完成200 M帧的训练任务,相当于50帧/秒的实际环境中46天的游戏时间。同时,在深度强化学习算法中,训练效果受超参数影响较大。为了获得更好的训练效果,往往需要通过多次训练来进行超参数调优,进一步提高了训练成本。考虑到真实深度强化学习任务的采样成本问题,本文给出样本效率的定义。

定义6(样本效率)。在深度强化学习任务中, 样本效率即利用有限的交互次数,通过合理的策略与环境交互进行采样,并利用采样数据进行训练,以获取策略优化的指标。
(个人总结一下:)样本效率高就是指在同样的交互次数中,可以更全面的探索环境,并得到更高的策略。
评估算法的样本效率,既可以在使用相同交互次数的前提下衡量动作策略的训练效果,也可以在到达相同训练效果的前提下衡量达到此效果所需的交互采样次数。由于在强化学习算法中,智能体以当前策略与环境交互进行采样,并利用已得到的样本数据对策略进行优化,探索过程与训练过程相互促进,所以可以通过增强对环境的探索能力和提高对数据的利用能力两个方向提高样本效率。

  1. 增强对环境的探索能力。增强对环境的探索能力需要更有效地对环境中可能存在更优策略的动作方向进行探索, 即对极少和未曾执行的动作进行选择, 或对极少和未曾访问过的状态进行访问. 探索能力更强的算法可以在与环境交互的过程中得到更有价值的样本数据, 能够有效地避免陷入局部最优值并有着更高的训练效率.

  2. 提高对数据的利用能力。提高对数据的利用能力需要在样本数据确定的情况下,更有效地利用已有样本对动作策略进行训练,得到更优的动作策略。更优的动作策略也可以指导交互动作选择,进而获得更有价值的样本数据,加速学习进程。

本文将基于Q值函数和策略梯度的两类深度强化学习方法,以增强探索能力和提高利用能力两个方向为主,探究提高样本效率的方案。

二、通过增强探索机制提高样本效率

对于监督学习和无监督学习任务,训练数据已知,训练数据分布固定。而在强化学习中,需要智能体根据当前的动作策略网络以合适的方式选择动作,并通过在环境中执行动作来获得采样数据。因此在强化学习的样本数据中,数据的分布将受到动作策略的影响。

在多数强化学习任务环境中,可行解的空间范围极大,难以遍历全部的状态-动作空间寻找最优解,通常要求算法利用启发式搜索的思想,能够基于当前的动作策略网络输出,朝着可能存在最优解的方向进行探索,并尽力保证探索的范围合适,以免陷入局部最优解。例如, 在MuJoCo环境的Hopper任务中,智能体不仅需要保证模拟各关节的稳定性以防止由于摔倒导致的任务提前结束,即状态空间的探索深度,还需要保证尝试多种未知的动作以学习控制关节快速前进的能力,即动作空间的探索广度。

4.1 经典探索策略

在强化学习任务中,解空间内的任一可行解都可能是最优解,所以要想保证算法在理论上能够使动作策略收敛于最优策略,当且仅当探索策略具有能够访问到所有可行解的能力。

在Q值函数方法中,通常使用ε-贪心和固定范围的高斯噪声作为探索策略进行动作探索。其中, ε-贪心应用在离散动作任务中,即在动作空间有限的情况下,以ε的概率随机选择动作空间内任意动作,并以1−ε的概率,基于贪婪的思想选取Q值最大的动作, DQN, DDQN等算法均使用ε-贪心进行动作探索; 固定范围的高斯噪声通常应用在连续任务中,即动作维度有限但动作域连续的情况下,在动作策略网络输出动作a中加入均值为0的高斯噪声 N ( 0 , σ 2 ) Ν(0, σ^2) N(0,σ2)得到动作 a ′ a' a,并以 a ′ a' a与环境交互进行采样, 其中, σ 2 σ^2 σ2为超参数, 在DDPG, TD3等算法中通常固定为0.05或0.1.

在策略梯度方法中,以动作概率分布表示策略,而非Q值函数方法中固定的贪婪策略, 所以动作策略中包含探索策略。对于离散动作空间,深度神经网络输出所有动作的选择概率,经过softmax层处理后,进行采样完成动作选择。对于连续动作空间,则同时输出动作选择的均值μ和方差 σ 2 σ^2 σ2,并在高斯分布 N ( 0 , σ 2 ) Ν(0, σ^2) N(0,σ2)中采样完成动作选择. VPG, A3C, TRPO, PPO等算法均以该方式进行动作选择.

ε-贪心和高斯分布均以一定概率可以选择到动作域内的任意动作。当交互次数足够大时,在环境的状态转移作用下,可以访问到任务环境中所有状态-动作对,能够保证理论上训练策略收敛于最优策略。

4.2 策略梯度方法中的探索能力增强机制

在Atari 2600的60个游戏任务中,同一算法对于不同类型的任务训练效果差异较大。例如,在Atlantis, Breakout,Video Pinball等游戏中可以获得超越人类数十倍的得分,但在Montezuma’s Revenge,Venture等冒险类游戏中,得分远低于人类水平。所以通过观察Atari不同游戏的特性和分析智能体在不同游戏中的得分情况可知:在任务环境具有密集的、引导性强的奖励时,用深度强化学习算法可以获得显著的效果;而在任务环境需要较长的正确动作决策序列才能获得奖励时,却难以取得良好的训练效果。即以随机概率分布进行探索的算法,在密集奖励环境中训练效果显著,但在稀疏奖励环境中难以进行有效训练[3]。同时,在真实世界的任务中,可以确定的合理奖励通常是稀疏的,人们难以获取足够多的专家经验来为任务设计合理的密集奖励。在奖励不合理的情况下,智能体训练得到的优化策略无法满足真实任务需求[39]。

对于稀疏奖励任务,智能体需要经过一系列正确的动作决策后才能获得奖励,而在获得足够奖励前,无法进行有效的训练优化。智能体在通过随机概率分布进行探索的同时,还需利用现有数据增强探索能力。

通常,人们将任务环境反馈的奖励值称为外在奖励,智能体以最大化外在奖励为训练目标,外在奖励也是评估动作策略优劣的标准。对于策略梯度方法,在外在奖励的基础上增加内在奖励,是增强探索能力效果提升最显著的方案,得到用于训练的混合奖励如公式(9)所示。

r t = r t e + r t i r_t=r^{e}_{t}+r^{i}_{t} rt=rte+rti (9)
其中, r t e r^{e}_{t} rte表示t时刻的外在奖励, r t i r^{i}_{t} rti表示t时刻的内在奖励,并将混合奖励 r t r^t rt用于智能体的训练。内在奖励rit中包含着动作探索的方向信息, 在环境奖励稀疏时或在训练的初期,内在奖励发挥主要作用,并引导智能体进行高效探索;在训练的后期,内在奖励趋向于0,主要通过外在奖励寻找最优策略。由于环境观察数据有限且要同时考虑内在奖励计算的时间和空间复杂度,所以需要构建较为简单的模型来近似计算内在奖励。如何构建内在奖励,使其能够包含有效的探索方向信息,成为增强策略梯度方法中探索能力的研究热点。基于内在奖励的探索能力增强模型框架如图 6所示。
基于内在奖励的探索能力增强模型框架
目前, 效果突出的内在奖励模型构建方法有信息熵最大化方法、伪计数方法和状态预测方法.

  1. 信息熵最大化方法。信息熵最大化方法基于信息增益理论,在训练中增加状态转移预测模型,将内在奖励的目标定义为最大化动作执行后状态转移预测模型可以获得的信息增益,即希望利用有限的交互次数获取更多的环境信息。但由于整个模型的信息增益计算困难,信息熵最大化理论难以应用到算法中。Houthoof等人提出了VIVE (variational information maximizing exploration)算法,利用变分贝叶斯理论,对信息增益进行合理的近似估算,有效增强了智能体的探索能力[40]。

  2. 伪计数方法伪计数方法。基于不确定性理论,认为不确定性越高的状态越有可能存在未知的动作奖励, 并且状态的不确定性与智能体对状态的访问次数成反比。 而深度强化学习的状态空间极大,如何准确衡量某一确定状态的访问次数,是伪计数方法的关键问题。其中,Bellemare等人提出了基于上下文树切换(context tree switching,CTS)的伪计数方法,首次利用近似计数的思想,使用CTS密度模型对状态访问的次数变化情况进行模拟,将基于访问次数的奖励引入深度强化学习任务中[41]。Ostrovski等人提出了基于像素卷积神经网络(pixel convolutional neural networks,PixelCNN)的伪计数方法,使用像素卷积神经网络进行伪计数,获得了比CTS密度模型更好的效果[42]。Tang等人提出了基于自编码器的局部敏感哈希(locality-sensitive Hashing,LSH)方法,先使用自编码器进行特征降维,随后对降维后的特征进行哈希值计算,并基于每个哈希值对应的状态访问次数计算内在奖励,以更直接的计数方式达到了密度模型的效果[43]。

  3. 状态预测方法。状态预测方法基于好奇心理论,认为生物个体学习技能的动机是对未知世界的好奇。 在强化学习中,建立预测智能体行为后果的模型,将好奇心定义为智能体预测自身行为后果能力的误差,通过对预测误差较大的状态给予更多的内在奖励,引导探索方向。随着预测模型的不断训练,智能体将能均匀地向各方向探索环境。所以,如何利用采样数据构建并训练合适的状态预测模型,是状态预测方法的主要研究方向。Stadie等人提出了基于模型预测的探索奖励方法,首次在深度强化学习中引入状态预测模型,利用当前状态与动作来预测后续状态,并以预测误差作为内在奖励进行训练,在稀疏奖励任务中获得了显著的效果[44]。Pathak等人提出了好奇心驱动探索方法,将好奇心的取值定义为对环境变化预测的误差,并在状态预测模型中引入自监督的逆动力学模型,可以有效地在高维像素特征中提取与智能体动作结果相关的主要特征,排除不影响智能体行为的部分环境因素,不仅有着更高的训练效率,还对不可控的环境噪声具有鲁棒性[14]。Burda等人在好奇心驱动探索方法的基础上,基于状态预测方法进行大量实验,对比包括由像素、随机特征、自编码特征、逆动态特征的4种不同编码特征对学习效果的影响。验证了自监督逆动力学模型的有效性[45]、此外,好奇心机制受到无法预测的随机状态特征的影响,在环境中带有特殊噪声的情况下无法有效判断状态的新颖性。Burda等人提出了基于随机网络蒸馏(random network distillation,RND)的奖励驱动探索方法,将环境变化的不确定性分为偶然不确定性和认知不确定性,并通过神经网络间的认知误差衡量认知不确定性,解决了在特殊噪声情况下的失效问题,并获得了更好的效果[15]。

目前,基于信息熵最大化的方法受限于信息熵计算精度而难以获得良好的效果,对增强策略梯度方法探索能力的研究主要集中在伪计数方法和状态预测方法中。与状态预测方法相比,伪计数方法的偏差和误差更小,不易受到环境的影响,更适合用于奖励相对较多的任务;而状态预测方法依赖于对环境变化情况的预测,更适用于奖励极度稀疏和任务极度复杂的环境。

4.3 Q值函数方法中的探索能力增强机制

不同于策略梯度方法,Q值函数方法受限于Q值函数的优化过程,难以通过内在奖励的方式增强探索效率。在策略梯度方法中,只使用当前策略与环境交互得到的采样样本进行策略梯度值计算,内在奖励在训练前期起到激励智能体探索的作用;在训练后期,内在奖励值趋近于0,几乎不会对训练过程有负面影响,且可以保证最优策略的一致性。但Q值函数方法需要在整个任务的状态-动作空间中计算全局Q值函数,面临着过高估计的问题。过高估计问题将导致智能体在训练过程中陷入局部最优值甚至使智能体策略崩溃,所以奖励值的低偏差与低方差成为保证Q值函数方法训练效果的主要约束条件。内在奖励在前期引入的高偏差和高方差导致无法增强Q值函数的探索能力,还会引起训练策略的崩溃,所以需要其他方案增强探索能力[46]。

定义7(过高估计)。在Q值函数方法的训练过程中,受环境的不确定性或奖励噪声影响,对应状态的确定动作的奖励为概率分布值而非固定值。以奖励分布期望为中心,大于奖励期望的奖励值更容易随着贪婪的Q函数优化过程传播,小于奖励期望的奖励值则难以被学习,导致通过深度神经网络得到的Q估计值通常大于真实值,且无法正确估算真实的Q值函数的现象,该现象称为过高估计。

然而可以使探索能力增强的方案并不局限于奖励空间中,研究者已从动作空间、参数空间、网络结构等方面对探索能力进行研究。设计了多样的探索方式。Q值函数方法中探索能力增强方案的结构如图 7所示.
在这里插入图片描述
● 在网络结构方向。Osband等人提出了Bootstrapped DQN算法,利用样本分布来近似总体分布的思想,用多个随机初始化的Q网络代替原有的单个网络,在实现中,为保证效率只改变输出层构建不同的Q值函数,由此得到的多个Q值形成样本集合,可以对环境空间进行更多样化地探索,并在采样数据中加入掩码,使样本以一定概率用于Q值函数的训练,保证Q值函数的多样性。该算法摒弃了原有的无方向的ε-贪心探索策略,通过Q值函数分布,在保证探索范围的同时,引导了探索的总体方向[47]。由此,研究者发现,利用多个Q值输出表来表示动作价值分布会有着更好的稳定性。Bellemare等人和Dabney等人进行了分布式Q值函数的尝试,提出了更灵活的网络结构和优化方式,分别称为C51算法[34]和IQN算法[48].

● 在参数空间方向。Fortunato等人提出了NoisyNet-DQN算法,改变原有动作空间的探索方式,即利用噪声函数在参数空间中加入无偏噪声,并通过随机采样的方式决定每个时刻噪声函数的参数,有着更强的探索能力和训练效率,并可以提高泛化能力[33]。Plappert等人提出了基于自适应噪声比例的参数噪声扰动方法,在为参数空间加入噪声的基础上加入自适应的噪声范围,并验证此类方法在连续动作任务以及在策略梯度类方法上的效果,证明参数空间的噪声可以提升不同类别强化学习方法的训练效率[49]。Han等人提出了基于噪声降低和在线权重调整(noise reduction and online weight adjustment)的参数扰动DQN算法NROWAN-DQN,即在NoisyNet-DQN算法的基础上,考虑到引入网络噪声而导致不稳定的负面影响,提出在线权重调整的降噪机制,在提供探索能力的基础上使训练过程更稳定[50]。

● 在动作空间方向。Hong等人提出了动作差异驱动探索方法,希望增大当前动作选择网络与之前动作选择网络的差距,在损失函数中加入新、旧策略之间的距离衡量损失。使得在网络训练难以得到更高回报时。尽可能地朝不同方向进行探索。有效地防止动作策略陷入局部最优[51]、Ciosek等人专注于连续动作空间任务。提出了OAC (optimistic actor critic)算法。认为动作值在Q值方向上的梯度可以指示出更具价值的采样方向。为选择的动作加上梯度正方向的偏移。提升了与环境交互采样的质量[52]、

目前,对于Q值函数方法,已有多种增强探索能力的方案,虽然都能通过增强探索能力在一定程度上提升算法的训练效率,但在对探索能力的提升有限,在复杂程度高、奖励稀疏的环境中难以获得显著成效。

4.4 多种探索增强机制的比较

在探索增强机制中,主要问题是如何能够在固定探索次数的情况下,采集到更多样性或更有价值的样本,需要探究如何评判样本的潜在价值或新颖性,并试图朝着使样本更新颖的方向进行动作探索。在具体实现中,要求既能找到简单有效的样本新颖性衡量标准,又能在朝着样本新颖方向采样的同时不影响最大化回报的训练目标。

策略梯度方法根据当前策略与环境进行交互采样,通过估计当前策略的梯度进行优化。所以在设计探索机制时,首要考虑与环境交互时探索机制的无偏性,即能够在不改变当前策略与策略梯度计算精度的情况下提升探索范围,且无动作偏差。

Q值函数方法在任务的整个状态-动作空间内寻找最优Q值,且受环境的奖励噪声和奖励不确定性影响,经常会出现过高估计的问题。所以在设计探索机制时,首要考虑不改变环境奖励的精度和不增加任务的不确定性,即在保证不会因引入不确定性而过高估计的情况下提升探索范围,且无奖励偏差。

对于本文所述的多种增强探索机制,在动作偏差、奖励偏差、探索能力和适用范围方向的对比情况见表 2。其中,内在奖励只适用于策略梯度方法且有着最好的增强探索效果。 例如,可以在稀疏奖励甚至不使用外在奖励的情况下,通关复杂的冒险类游戏Super Mario Bros和Montezuma’s Revenge[45],所以当涉及复杂任务的策略训练时,往往以策略梯度方法和内在奖励为基本框架进行算法设计[6]。部分增强探索机制,例如分布式价值函数优化,由于结构限制只适用于Q值函数方法中。此外,部分探索机制对各类强化学习算法均适用,例如参数空间探索[49]和动作差异驱动[51],可以在任务的训练速度和训练得分上有所提升,但效果有限。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度强化学习算法的样本效率(sample efficiency)到底是什么? 的相关文章

  • AXI DMA总结、内核axidmatest.c测试程序分析、SG mode

    AXI DMA 概述 xff1a XILINX提供的AXI DMA支持Scatter Gather mode和Direct Register mode 数据位宽支持32 64 128 256 512 1024bits xff0c strea
  • ZYNQ 平台 AD9361实现网络通信的一种方案+网卡驱动分析及实现

    声明 xff1a 文中若有不合理的地方 xff0c 欢迎讨论学习及指正 xff0c 本文仅仅涉及软件部分的代码 xff0c 不阐述逻辑代码的实现 功能 xff1a 通过AD9361芯片实现无线组网 xff0c 能实现视频 文件 音频等传输
  • MTD分析

    概述 xff1a 本文对mtd的整个结构进行了分析 xff0c 分析得并非很深入 xff0c 但可以了解大体框架和目录结构 xff0c 另外本文会对源码文件进行分析 xff0c 大致描述其作用 xff0c 针对本文的内容中 xff0c 如有
  • CAN总线详解(转)

    1 简介 CAN是控制器局域网络 Controller Area Network CAN 的简称 xff0c 是一种能够实现分布式实时控制的串行通信网络 优点 xff1a 传输速度最高到1Mbps xff0c 通信距离最远到10km xff
  • Linux Socket CAN——驱动开发(转)

    Linux Socket CAN驱动开发 一 CAN总线协议 CAN是Controller Area Network 控制器局域网 的缩写 CAN通信协议在1986年由德国电气商博世公司所开发 xff0c 主要面向汽车的通信系统 现已是IS
  • Joint state with name: “base_l_wheel_joint” was received but not found in URDF

    ROS melodic下运行出现 WARN xff1a Joint state with name base l wheel joint was received but not found in URDF 原因是在robot描述文件URD
  • 已解决 vmware 虚拟机安装后没有虚拟网卡问题

    我用的方法是重装vmware xff0c 使用的是win10的系统 之前安装网ubuntu以后 xff0c 发现主机并没有虚拟网卡 xff0c 也百度了各种方法 xff0c 然而并没有什么用 xff0c 也问了很多人 xff0c 他们也提供
  • rk3399下pwm驱动

    现在记录一下rk3399下pwm的驱动编写 xff0c 下面是内核pwm的API xff0c 从开源论坛复制 xff08 firefly的开源论坛里面的Wiki教程 xff09 1 在要使用 PWM 控制的设备驱动文件中包含以下头文件 xf
  • rk3399下spi驱动

    SPI 使用 Note xff1a 本文从firefly wiki截取 SPI是一种高速的 xff0c 全双工 xff0c 同步串行通信接口 xff0c 用于连接微控制器 传感器 存储设备等 Firefly RK3399 开发板提供了 SP
  • rk3399 u-boot修改开机logo以及开机动画和开机视频

    首先分析了一下uboot启动流程中的一部分代码 xff0c 如下 第一部分 xff1a 开机logo xff08 下面代码分析排版有点乱 xff0c 可以忽略 xff09 1 board late init rk33xx c board r
  • VMware 虚拟网卡防火墙问题

    看了很多人遇到过一段时间会自己删除虚拟网卡的问题 xff0c 这里做一个补充 xff0c 关于防火墙问题 xff0c 如下 这里点进去 点击更改设置 xff08 先找到下图这一项 xff09 最后记得保存更改 xff0c 关于VMware的
  • postman汉化包下载

    postman汉化包 https github com hlmd Postman cn releases postman官网下载地址 Download Postman Get Started for Free
  • 一帧数据接收方法

    最近在做485数据通讯 xff0c 遇到一些通讯问题 xff0c 特意去查找资料 xff0c 一帧数据接收有三种方法 xff0c 现分享如下 xff1a 第一种方法 xff1a 根据帧头和帧尾进行校验 xff0c 串口发送2字节例如 xff
  • 如何使用RTKLIB进行RTK定位(一)

    今天从这个demo xff0c 教给大家如何使用RTKLIB进行RTK定位 xff0c 包括配置文件 数据等 xff1b RTKLIB源码和exe下载地址 xff1a RTKLIB An Open Source Program Packag
  • C++ “::” 作用域符 双冒号

    一 是作用域符 xff0c 是运算符中等级最高的 xff0c 它分为三种 1 global scope 全局作用域符 xff09 xff0c 用法 xff08 name 2 class scope 类作用域符 xff09 xff0c 用法
  • OpenMv测距(Apriltag)

    利用OpenMv测离Apriltag的距离 xff08 其他色块啥的算法都差不多 xff0c 主要是Apriltag精确一些 xff09 span class token comment 本次利用OpenMv单目测距Apriltag离摄像头
  • CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake:27 (message)

    CMake Error at usr lib x86 64 linux gnu cmake Qt5Core Qt5CoreConfig cmake 27 message 在catkin make的时候 xff0c 如果提示 so文件报错 x
  • Deep-Sort多目标追踪算法代码解析

    Deep SORT是多目标跟踪 Multi Object Tracking 中常用到的一种算法 xff0c 是一个Detection Based Tracking的方法 这个算法工业界关注度非常高 xff0c 在知乎上有很多文章都是使用了D
  • 红黑树的查找时间复杂度O(logn)

    红黑树查找时间复杂度 如果二叉排序树是平衡的 xff0c 则n个节点的二叉排序树的高度为Log2n 43 1 其查找效率为O Log2n xff0c 近似于折半查找 如果二叉排序树完全不平衡 xff0c 则其深度可达到n xff0c 查找效
  • Ubuntu16.04环境下STM32和ROS间的串口通信

    目录 前言介绍 lt 1 gt 最终协议的样子 lt 2 gt 本方案提供的API实现的功能 原理 lt 1 gt 简要叙述 lt 2 gt 这里是如何使用共用体的 xff1f 前期准备 lt 1 gt 确保硬件连接 lt 2 gt 查看串

随机推荐

  • C++版本OpenCv教程(三十五 )Laplacian算子

    上述的边缘检测算子都具有方向性 xff0c 因此需要分别求取X方向的边缘和Y方向的边缘 xff0c 之后将两个方向的边缘综合得到图像的整体边缘 Laplacian算子具有各方向同性的特点 xff0c 能够对任意方向的边缘进行提取 xff0c
  • 【从零开始学深度学习编译器】五,TVM Relay以及Pass简介

    TVM Relay以及Pass简介 0x0 介绍0x2 Relay介绍0x2 1 使用Relay建立一个计算图0x2 2 Module xff1a 支持多个函数 xff08 Graphs xff09 0x2 3 Let Binding an
  • 模型量化的原理与实践 —基于YOLOv5实践目标检测的PTQ与QAT量化

    这里写自定义目录标题 一 量化基础知识 1 1 Tops是什么意思 1 2 什么是定点数 1 3 定点数转换 1 4 什么是量化 1 5 定点计算 1 5 1 定点计算 误差计算 1 5 2 定点计算 内存对比 1 5 3 定点计算 速度对
  • TensorRT INT8量化说明文档

    TensorRT developer guide intro quantization 7 Working with INT8 7 1 Introduction to Quantization 7 1 1 Quantization Work
  • YOLO-NAS讲解

    Meet YOLO NAS New YOLO Object Detection Model Beats YOLOv6 amp YOLOv8 代码链接 What is YOLO NAS What does the NAS in YOLO NA
  • Windows下jupyter notebook的安装和使用

    1 安装 xff1a xff08 1 xff09 首先打开Windows命令终端 xff1a 输入命令 xff1a pip install jupyter notebook 慢慢等待安装完成就可以了 我的是已经是安装完成了 在命令行窗口中输
  • 无人驾驶模型预测控制carSIM和MATLAB联合仿真

    本例参照龚建伟的 无人驾驶车辆模型预测控制 书中第四章节 1 carSIM软件介绍 carSIM是由美国MSC公司开发的车辆动力学仿真软件 xff0c 它可以方便灵活地定义实验环境和试验过程 xff0c 准确预测和仿真汽车的操纵稳定性 动力
  • Ubuntu之间通过有线网sftp传输文件

    两台Ubuntu设备之间有线网直连 xff0c 通过sftp传输文件 xff1a 打开有线连接 xff0c 配置ipv4 xff0c 可参考下图 xff1a 两台Ubuntu设备使用同一个网关 xff0c 但是地址ip必须不同 xff0c
  • 虚拟机VMware15中安装Ubuntu18.04步骤

    先安装虚拟机VMware15 xff1a 下载地址 xff1a Windows 10 64位下载链接 xff1a pan baidu com s 1Q9MVsEzVVoeOb99lQ1tsVQ 提取码 xff1a dggh Windows
  • 机械手基础知识(2)之机械手的正运动学和逆运动学问题

    开篇总结 xff1a 机械手运动学是机器人控制中的重要研究内容 xff0c 得知机械手各关节变量的大小 xff0c 可以计算出机械手末端的位姿 xff0c 这个过程叫做机械手的正向运动学 xff1b 获得机械手末端在笛卡尔空间中的位姿 xf
  • 一看就懂的LSTM+Attention,此处用softmax求概率

    1 序言 首先 xff0c 我是看这两篇文章的 但是 xff0c 他们一个写的很笼统 xff0c 一个是根据Encoder Decoder和Query key value 第二个讲的太深奥了 xff0c 绕来绕去 xff0c 看了两天才知道
  • pytorch 保存模型+加载模型+修改部分层+冻结部分层+删除部分层

    pytorch的一些细节操作 本文以普通的CNN为例 1 实验用的模型 参考博客 2 模型代码 原始代码分成两个部分 xff1a 第一个是写CNN模型框架的py文件 xff0c cnn py 第二个是主文件 xff0c 用于下载数据和模型超
  • Windows下,Pytorch使用Imagenet-1K训练ResNet的经验(有代码)

    感谢中科院 xff0c 感谢东南大学 xff0c 感谢南京医科大 xff0c 感谢江苏省人民医院以的赞助 题记 只有被ImageNet真正殴打过一次才算是真的到了深度学习的坑边 xff0c 下一步才是入坑 引用装备所兰海大佬的一句话 xff
  • 实际的机械臂控制(8)使用find_object3D和Kinect2实现目标跟踪(基于python)

    单纯的炫耀我的新机械臂和留下联系方式 话不多说了 由于很多向入门机械臂的人不知道如何把视觉算法检测到目标坐标从图像坐标系转换到机器人坐标系 就这一关 xff0c 让好多人包括我 xff0c 在这块卡了很久 以前我用的是小强机械臂 xff0c
  • python生成pkl文件(pkl文件的读取和写入)

    我在训练UCF101数据集的时候 xff0c 遇到一个大高玩使用pkl文件 xff0c 一开始使用它们的数据炮的好好的 后来开始跑自己的数据时 xff0c 就出问题了 不知道这个pkl到底是个什么东西 原始的那个大高玩的ucf101的标签数
  • Pytorch(Python)中的itertools.count()函数

    在看深度强化学习DQN代码时 xff0c 遇到这段代码 xff0c 搞了好久都没看明白 完整代码参考这个博客 span class token keyword for span t span class token keyword in s
  • 深度强化学习算法调参

    深度强化学习调参技巧 xff1a 以D3QN TD3 PPO SAC算法为例 这个参考链接 如何选择深度强化学习算法 xff1f 参考链接 影响PPO算法性能的10个关键技巧 xff08 附PPO算法简洁Pytorch实现 xff09 主要
  • c语言连接多个字符串(strcat函数实现)

    span style font family KaiTi GB2312 font size 18px background color rgb 255 255 255 想要用c语言实现字符串的连接 xff0c 尤其是多个字符串的连接 xff
  • 对Dueling DQN理论的深度分析。

    强化学习中Agent与环境的交互过程是由马尔可夫决策过程 Markov Decision Process MDP 描述的 MDP对环境做了一个假设 xff0c 称作马尔可夫性质 xff0c 即下一时刻的状态只由上一时刻的状态和动作决定 马尔
  • 深度强化学习算法的样本效率(sample efficiency)到底是什么?

    本文源自改论文中的一章 xff0c 基于样本效率优化的深度强化学习方法综述 需要的可自取 一 深度强化学习方法的样本效率 深度强化学习已在街机游戏和物理模拟环境中取得显著成果 xff0c 但受到采样成本的影响 xff0c 难以向真实环境任务