一种样本数据处理方法、样本数据处理装置及电子设备与流程

文档序号:16883130发布日期:2019-02-15 22:22阅读:193来源:国知局
一种样本数据处理方法、样本数据处理装置及电子设备与流程

本申请属于信息处理技术领域,尤其涉及一种样本数据处理方法、样本数据处理装置、电子设备及计算机可读存储介质。



背景技术:

深度确定性策略梯度(deepdeterministicpolicygradient,ddpg)算法是当前较为受欢迎的深度学习算法。在智能体通过该ddpg算法进行训练的过程中,需要使用到大量的样本数据进行训练。这些大量的样本数据被存储于重播缓冲区中,当需要使用到样本数据时,将通过批处理的方式在重播缓冲区中对样本数据进行随机采样。然而,重播缓冲区中的样本数据是按顺序获取并存放的,这将导致重播缓冲区中的样本数据高度相关,使得在对样本数据随机采样时,容易采样到高度相关的样本数据,导致无法基于采样得到的样本数据获得更好的训练效果,一定程度上影响了智能体的训练效率。



技术实现要素:

有鉴于此,本申请提供了一种样本数据处理方法、样本数据处理装置、电子设备及计算机可读存储介质,可使得重播缓冲区中保留更有价值的样本数据,以提升训练效果。

本申请的第一方面提供了一样本数据处理方法,包括:

计算重播缓冲区的各个样本数据的绝对时间差分误差值;

分别根据各个样本数据的绝对时间差分误差值确定各个样本数据的优先级;

将优先级高于预设优先级的样本数据作为待训练的样本数据。

本申请的第二方面提供了一种样本数据处理装置,包括:

计算单元,用于计算重播缓冲区的各个样本数据的绝对时间差分误差值;

确定单元,用于分别根据各个样本数据的绝对时间差分误差值确定各个样本数据的优先级;

筛选单元,用于将优先级高于预设优先级的样本数据作为待训练的样本数据。

本申请的第三方面提供了一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上第一方面的方法的步骤。

本申请的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上第一方面的方法的步骤。

本申请的第五方面提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。

由上可见,通过本申请方案,首先计算重播缓冲区的各个样本数据的绝对时间差分误差值,然后分别根据各个样本数据的绝对时间差分误差值确定各个样本数据的优先级,最后将优先级高于预设优先级的样本数据作为待训练的样本数据。在本申请方案中,可基于样本数据的优先级对重播缓冲区的样本数据进行数据剪枝操作,使得重播缓冲区保留更有价值的样本数据。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的样本数据处理方法的实现流程示意图;

图2是本申请实施例提供的样本数据处理装置的结构框图;

图3是本申请实施例提供的电子设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

本申请实施例中所提供的样本数据处理方法、样本数据处理装置、电子设备及计算机可读存储介质具体可基于ddpg算法设计,为了更好对本申请实施例所提出的样本数据处理方法、样本数据处理装置、电子设备及计算机可读存储介质作出解释及说明,此处先对上述ddpg算法作出介绍。上述ddpg算法是一种无模型的、非策略的行为(actor)-批评家(critic)算法,其通过使用深度函数逼近器,可以在高维连续的动作空间中学习策略。上述ddpg算法利用两种神经网络,对actor和critic进行近似。上述ddpg算法只需要一个简单的行为-批评家体系结构和强化学习算法,及可通过很少的“移动部件”完成更多的扩展、间接更难的问题并构建更大的网络。在强化学习算法中,定义每一个时间步长为t,智能体所接受到的一个观测为xt,所采取一个行为为at并接受一个奖励值rt。一般来说,环境可能是部分观察到的,所以针对观察的整个历史,可通过定义st=(x1,a1,……,at-1,xt-1)来描述环境的状态。在理想状态下,假定环境能够被完全观察到,则st=xt。

一个代理的行为是由策略π定义的,它将状态映射到行为上的概率分布为s→p(a)。此处,将其建模为马尔可夫决策过程(markovdecisionprocess,mdp),具有状态空间s,行为空间a,初始状态分布p(s1),转换p(st+1|st,at),以及奖励函数r(st,at)等参数。将上述策略π应用于mdp中用于定义马尔可夫链,并用eπ来表示该马尔可夫链的期望。

从一个状态返回的值被定义为折扣未来回报的总和,表达为其中,折扣因子γ∈[0,1]。上述强化学习的目标是学习一种策略,它能最大程度地从开始状态eπ[r1]获得预期的回报。

动作值函数q用于表示在状态st和之后的策略π中所采取的动作at的期望回报。其中,上述q函数定义为:

上式中的各项参数已在前文中有所解释,此处不再赘述;

通过bellman方程可以得到:

qμ(st,at)=e[r(st,at)+γqμ(st+1,μ(st+1))]

其中,如果目标策略是确定性的,则可以将其描述为一个函数μ:s←a,并避免内部期望:

为了将上述ddpg算法从离散空间应用到连续状态空间,设计了两种深度神经网络。在ddpg算法中,actor和critic都通过带参数的深度神经网络(deepneuralnetwork,dnn)来近似。对上述critic网络的训练为基于最小化的损失函数l,具体通过下式表示:

在上述中,i表示的为之前的参数t,也即是说,在上式中,以i来表示t。

继续通过θq参数化函数近似器,其中yi表示为:

yi=r(si,ai)+γq′(si+1,μ′(si+1|θμ′)|θq′)

进一步地他,通过ddpg算法更新actor网络的参数,所采用的公式为:

以上即为ddpg算法的实现流程,在上述ddpg算法中,将在重播缓冲区中缓存通过actor网络所得到的数据(st,at,rt,st+1)作为样本数据。为了说明本申请所提出的样本数据处理方法、样本数据处理装置、电子设备及计算机可读存储介质的技术方案,下面通过具体实施例来进行说明。

实施例一

下面对本申请实施例提供的一种样本数据处理方法进行描述,请参阅图1,本申请实施例中的样本数据处理方法包括:

在步骤101中,计算重播缓冲区的各个样本数据的绝对时间差分误差值;

在本申请实施例中,可以是在重播缓冲区每次接收并缓存新的样本数据时,就计算该样本数据的时间差分误差值(temporaldifferenceerror,td-error)的绝对值,上述td-error隐含反映了代理可以从该样本数据中学习的程度,可以认为,上述td-error的绝对值越大,则通过该样本数据修正语气动作值的正确率越高,也即该样本数据更有价值。通过具备较高td-error的样本数据的频繁重播,可以帮助代理慢慢认识到相应状态下不当行为的真实后果,避免代理在同样情况下再次出错,从而提升智能体的整体性能。可以认为,本申请实施例中通过上述样本数据的绝对时间差分误差值作为评价样本数据的指标之一。具体地,计算上述td-error的公式如下:

δj=r(si,ai)+γq′(si+1,μ′(si+1|θμ′)|θq′)-q(si,ai|θq)

其中,上式中的各个参数的含义已在上文对ddpg算法的介绍中有所说明,此处不再赘述。

在步骤102中,分别根据各个样本数据的绝对时间差分误差值确定各个样本数据的优先级;

在本申请实施例中,通过上述步骤101可知,由于td-error的绝对值越大,则认为该样本数据更有价值,因而,可以基于各个样本数据的绝对时间差分误差值确定各个样本数据的优先级。例如,预先划分多个绝对时间差分误差值的区间,其中,上述各个区间不重叠,不同区间对应不同的优先级,根据绝对时间差分误差值由大至小的顺序设置各个区间的优先级。例如,假定各个样本的绝对时间差分误差值的范围在a至b之间,则可以将其划分为[a,c)、[c,d)、[d,b]这三个区间,且设定落入[d,b]区间内的样本数据为最高优先级,落入[c,d)区间内的样本数据为次高优先级,落入[a,c)区间内的样本数据为最低优先级。当然,上述区间的划分数量及上述优先级的划分方式可以由用户自行设定,此处不作限定。

在步骤103中,将优先级高于预设优先级的样本数据作为待训练的样本数据。

在本申请实施例中,通过设定各个不同样本数据的优先级,仅保留优先级高于预设优先级的样本数据作为待训练的样本数据,将其他低优先级的样本数据作为待选或者直接删除,不仅使得训练时所需要采用的样本数据变少,并且,能够使得训练结果有所提升,训练效果更佳显著。

可选地,为了进一步提高强化学习的稳定性及长期记忆能力,上述步骤103还包括:

a1、在待训练的样本数据中,依次计算每一样本数据与其它样本数据的相似度;

在本申请实施例中,由于样本数据是顺序存储的,因而容易导致相邻的样本数据高度相关,即相邻的样本数据相似度较高。为了减少样本数据在重播缓冲区的相关性,可以对待训练的样本数据做出进一步筛选操作,通过每一样本数据与其它样本数据的相似度,将较为独特的样本数据保留。具体地,上述相似度的计算方法包括:

b1、针对待训练的样本数据中的任一样本数据,根据高斯核函数计算上述样本数据与各个其它样本数据的欧式距离;

其中,上述高斯核函数包括:

上述g(ti,tj)的计算结果为样本数据ti与样本数据tj的欧式距离,上述σ为高斯核函数的宽度参数;

b2、基于上述样本数据与各个其它样本数据的欧式距离,根据预设归一化计算公式计算得到上述样本数据的归一化反惟一性值,其中,上述归一化反惟一性值指示了上述样本数据与其他样本数据的相似度。

其中,定义独特值vi为:

上述独特值为衡量是否保留或删除某一样本数据的标准之一;上述预设归一化计算公式包括:

其中,p(reserveti)为样本数据ti的归一化反惟一性值,n为待训练的样本数据的总数量。

a2、基于每一样本数据与其它样本数据的相似度,确定待丢弃的样本数据;

在本申请实施例中,若样本数据与其他样本数据相似度越高,则认为该样本数据与其它样本数据高度相关,此时,可以丢弃该样本数据。具体地,当采用归一化反惟一性值作为相似度的表达时,该归一化反惟一性值越小,则代表样本数据之间相似度越小,可以保存该样本数据用于训练;该归一化反惟一性值越大,则代表样本越相似,可以丢弃该样本数据。

a3、将上述待丢弃的样本数据从上述待训练的样本数据中随机丢弃。

可选地,上述步骤101包括:

c1、获取上述重播缓冲区已被占用的空间容量;

c2、当上述重播缓冲区已被占用的空间容量大于预设的空间容量阈值时,计算重播缓冲区的各个样本数据的绝对时间差分误差值。

其中,上述预设的空间容量阈值可以由重播缓冲区的总容量计算得出,例如,将重播缓冲区的总容量的80%作为上述预设的空间容量阈值;当然,用户也可以主动设定或更改上述空间容量阈值,此处不作限定。当上述重播缓冲区已被占用的空间容量大于预设的空间容量阈值时,认为当前重播缓冲区的可用容量已经不多,可以在此时启动对样本数据进行剪枝的流程,以删除重播缓冲区中用处较少的样本数据。

由上可见,通过本申请实施例,可以在重放缓冲区中去除高度相关或相似的样本,能够保留有价值的数据的同时,使得后续在通过样本数据对智能体进行训练时的,能够提升训练的速度、效率及效果。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

实施例二

本申请实施例二提供了一种样本数据处理装置,如图2所示,本申请实施例中的样本数据处理装置200包括:

计算单元201,用于计算重播缓冲区的各个样本数据的绝对时间差分误差值;

确定单元202,用于分别根据各个样本数据的绝对时间差分误差值确定各个样本数据的优先级;

筛选单元203,用于将优先级高于预设优先级的样本数据作为待训练的样本数据。

可选地,上述筛选单元203包括:

相似度计算子单元,用于在待训练的样本数据中,依次计算每一样本数据与其它样本数据的相似度;

待丢弃数据确定子单元,用于基于每一样本数据与其它样本数据的相似度,确定待丢弃的样本数据;

数据丢弃子单元,用于将上述待丢弃的样本数据从上述待训练的样本数据中随机丢弃。

可选地,上述相似度计算子单元包括:

欧氏距离计算子单元,用于针对待训练的样本数据中的任一样本数据,根据高斯核函数计算上述样本数据与各个其它样本数据的欧式距离;

归一化反惟一性值计算子单元,用于基于上述样本数据与各个其它样本数据的欧式距离,根据预设归一化计算公式计算得到上述样本数据的归一化反惟一性值,其中,上述归一化反惟一性值指示了上述样本数据与其他样本数据的相似度。

可选地,上述根据高斯核函数包括:

其中,上述g(ti,tj)的计算结果为样本数据ti与样本数据tj的欧式距离,上述σ为高斯核函数的宽度参数;

定义独特值vi为:

则上述预设归一化计算公式包括:

其中,p(reserveti)为样本数据ti的归一化反惟一性值,n为待训练的样本数据的总数量。

可选地,计算单元201具体用于,获取上述重播缓冲区已被占用的空间容量;当上述重播缓冲区已被占用的空间容量大于预设的空间容量阈值时,计算重播缓冲区的各个样本数据的绝对时间差分误差值。

可选地,确定单元202包括:

区间确定子单元,用于根据各个样本数据的绝对时间差分误差值的分布情况,确定各个优先级的绝对时间差分误差值区间,其中,上述各个优先级的绝对时间差分误差值区间不重叠;

优先级确定子单元,用于将各个样本数据的绝对时间差分误差值所落入的绝对时间差分误差值区间对应的优先级确定为各个样本数据的优先级。

由上可见,通过本申请实施例,样本数据处理装置可以在重放缓冲区中去除高度相关或相似的样本,能够保留有价值的数据的同时,使得后续在通过样本数据对智能体进行训练时的,能够提升训练的速度、效率及效果。

实施例三

图3是本申请实施例六提供的电子设备的示意图。如图3所示,该实施例的电子设备3包括:处理器30、存储器31以及存储在上述存储器31中并可在上述处理器30上运行的计算机程序32。上述处理器30执行上述计算机程序32时实现上述各个样本数据处理方法实施例中的步骤,例如图1所示的步骤101至103。或者,上述处理器30执行上述计算机程序32时实现上述各装置实施例中各模块/单元的功能,例如图2所示模块201至203的功能。

示例性的,上述计算机程序32可以被分割成一个或多个模块/单元,上述一个或者多个模块/单元被存储在上述存储器31中,并由上述处理器30执行,以完成本申请。上述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述上述计算机程序32在上述电子设备3中的执行过程。例如,上述计算机程序32可以被分割成计算单元、确定单元、筛选单元,各单元具体功能如下:

计算单元,用于计算重播缓冲区的各个样本数据的绝对时间差分误差值;

确定单元,用于分别根据各个样本数据的绝对时间差分误差值确定各个样本数据的优先级;

筛选单元,用于将优先级高于预设优先级的样本数据作为待训练的样本数据。

上述电子设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。上述电子设备可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图3仅仅是电子设备3的示例,并不构成对电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如上述电子设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器30可以是中央处理单元cpu,还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic、现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

上述存储器31可以是上述电子设备3的内部存储单元,例如电子设备3的硬盘或内存。上述存储器31也可以是上述电子设备3的外部存储设备,例如上述电子设备3上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,上述存储器31还可以既包括上述电子设备3的内部存储单元也包括外部存储设备。上述存储器31用于存储上述计算机程序以及上述电子设备所需的其他程序和数据。上述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。

由上可见,通过本申请实施例,电子设备可以在重放缓冲区中去除高度相关或相似的样本,能够保留有价值的数据的同时,使得后续在通过样本数据对智能体进行训练时的,能够提升训练的速度、效率及效果。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1