一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

连续微流控生物芯片下基于DRL的控制逻辑设计方法

2022-09-07 15:45:08 来源:中国专利 TAG:

连续微流控生物芯片下基于drl的控制逻辑设计方法
技术领域
1.本发明属于连续微流控生物芯片计算机辅助设计技术领域,具体涉及一种连续微流控生物芯片下基于drl的控制逻辑设计方法。


背景技术:

2.连续微流控生物芯片,也被称为芯片上的实验室设备,由于其高效率、高精度和低成本的优势,在过去十年中受到了广泛的关注。随着这种芯片的发展,传统的生物学和生物化学实验流程从根本上被改变了。与需要人工操作的传统实验流程相比,由于生物芯片中的生化操作是由内部微控制器自动控制的,因此其大大提高了生物测定执行的效率和可靠性。此外,这种自动化过程避免了由于人为干预而造成的错误检测结果。因此,这种芯片上的实验室设备正越来越多地被用于生物化学和生物医学的一些领域,如药物发现和癌症检测。
3.随着制造技术的进步,成千上万的阀门已经可以被集成到一个芯片中。这些阀门通过紧凑的规则排列构成一种灵活的、可重新配置的通用平台
‑‑
完全可编程的阀门阵列(fpva),其可以用于控制生物测定的执行。然而,由于fpva本身含有大量的微型阀门,因此为每个阀门分配一个独立的压力源是不切实际的。为了减少压力源的数量,因此具有多路复用功能的控制逻辑被用于控制fpva中的阀门状态。综上所述,控制逻辑在生物芯片中起着至关重要的作用。
4.近年来,已经提出了一些方法来优化生物芯片中的控制逻辑。例如,研究控制逻辑合成以减少生物芯片中使用的控制端口的数量;研究控制逻辑中切换模式之间的关系,通过调整控制阀所需的模式序列来优化阀门的切换时间;研究控制逻辑的结构,从而引入多通道切换机制来减少控制阀的切换时间。同时,还引入了独立的备份路径来实现控制逻辑的容错。然而,上述的方法都没有充分考虑到控制模式和多通道组合之间的分配顺序,导致了控制逻辑中使用了冗余资源。
5.基于上述分析,我们提出了patternactor,一种在连续微流控生物芯片下基于深度强化学习控制逻辑设计方法。利用所提出的方法,控制逻辑中使用的时间片数量和控制阀数量可以大大减少,且带来了更好的控制逻辑合成性能,以进一步降低控制逻辑的总成本,提高生化应用的执行效率。据我们的调研,本发明是首次采用深度强化学习的方法来优化控制逻辑的研究工作。


技术实现要素:

6.本发明的目的在于提供一种连续微流控生物芯片下基于深度强化学习(deep reinforcement learning,drl)的控制逻辑设计方法,该方法使得控制逻辑中使用的时间片数量和控制阀数量可以大大减少,且带来了更好的控制逻辑合成性能,以进一步降低控制逻辑的总成本,提高生化应用的执行效率。
7.为实现上述目的,本发明的技术方案是:一种连续微流控生物芯片下基于drl的控
制逻辑设计方法,其特征在于,包括如下步骤:
8.s1、多通道切换方案计算:构建整数线性规划模型以最小化控制逻辑所需的时间片数量,获得多通道切换方案;
9.s2、控制模式分配:获得多通道切换方案后,为多通道切换方案中每个多通道组合分配相应的控制模式;
10.s3、patternactor优化:构建基于深度强化学习的控制逻辑合成方法,对生成的控制模式分配方案进行优化,以最小化所使用的控制阀门数量。
11.相较于现有技术,本发明具有以下有益效果:本发明方法使得控制逻辑中使用的时间片数量和控制阀数量可以大大减少,且带来了更好的控制逻辑合成性能,以进一步降低控制逻辑的总成本,提高生化应用的执行效率。
附图说明
12.图1控制逻辑设计总体流程图;
13.图2多路复用三通道的控制逻辑图;
14.图3(a)控制模式用于控制通道1和3状态的同时更新;
15.图3(b)对图3(a)进行逻辑简化后的控制逻辑;
16.图4切换矩阵与对应的联合向量组、方法数组关系图;
17.图5agent与环境交互流程图;
18.图6流阀门f2的内部逻辑树简化;
19.图7流阀门f1、f2和f3的逻辑树构建逻辑森林;
20.图8ddqn参数更新过程。
具体实施方式
21.下面结合附图,对本发明的技术方案进行具体说明。
22.本发明提出了一种连续微流控生物芯片下基于drl的控制逻辑设计方法,整体的步骤如图1所示。
23.具体包含以下设计过程:
24.1.该流程的输入数据为给定生化应用中所有流阀门/控制通道的状态转换序列,输出数据为优化后支持多通道切换功能的控制逻辑。该流程包含两个子流程,依次是多通道切换方案计算流程和控制逻辑合成流程,其中控制逻辑合成流程包括控制模式分配流程、patternactor优化流程。
25.2.在多通道切换方案计算流程中,构建了一个新的整数线性编程模型来尽可能减少控制逻辑所使用的时间片数量,同时也优化了时间片最小化的计算流程。切换方案的优化极大地提高了搜索控制逻辑中可用多通道组合的效率,以及在具有大规模通道的控制逻辑中阀门切换的可靠性。
26.3.在获得多通道切换方案后,控制逻辑合成流程首先为每个多通道组合分配相应的控制模式,即控制模式分配流程。
27.4.patternactor优化流程是基于深度强化学习对控制逻辑进行构建。主要是采用双深度q网络和两种布尔逻辑简化技术为控制逻辑寻求更有效的模式分配方案。该流程对
该流程生成的控制模式分配方案进行优化,尽可能地减少所使用的控制阀门数量。
28.本发明具体技术方案实现如下:
29.1、多通道切换技术:
30.通常情况下,将控制通道从t时刻状态转换到t 1时刻状态的过程称为一个时间间隔。在这个时间间隔中,控制逻辑可能需要对控制通道的状态做多次改变,因此一个时间间隔可由一个或多个时间片组成,每个时间片都涉及到对于相关控制通道中状态的改变操作。对于原先具有多路复用功能的控制逻辑而言,每一个时间片只涉及到对一个控制通道的状态进行切换操作。
31.如图2所示,在基于具有通道复用功能的控制逻辑,当前控制逻辑需要对三个控制通道的状态做改变,假设控制通道的状态转换序列为101到010,可以发现其中第一个控制通道和第三个控制通道的状态都是从1到0,因此可以将这两个通道的状态切换操作进行合并。注意到图1中此时只使用了3个控制模式,还有余下一种控制模式未使用。在该情况下,控制模式可用于同时控制通道1和通道3的状态,例如图3(a)所示,我们可以称这个机制为多通道切换,利用这个机制我们可以有效的减少状态切换过程中所需要的时间片数量。例如在此例子中,当状态转换序列为从101到010时,相比于原先的控制逻辑而言,具有多通道切换的控制逻辑所需的时间片数量便从3减少到2。
32.在图3(a)中,我们为流阀门1和流阀门3各自分配了两条控制通道来驱动改变他们的状态。注意到在驱动流阀门3的两条控制通道顶部有两个控制阀,且他们都连接到控制端口因此针对这两个控制阀我们可以采用合并操作,将两个相同的控制阀合并成一个来同时控制两条通道顶部的输入。同样的,对于两个通道底部的控制阀是互补的,因此这里我们可以采用消减操作来抵消掉两个阀门的使用,原因是无论通道底部激活的是x2或是只要保证顶部的控制阀门是打开状态,那么用于驱动流阀门3的两条控制通道至少有一条是能够传输核心输入的信号。同样,对控制阀门的合并和消减操作也适用于驱动流阀门1的两条控制通道。对以上所述阀门进行简化后的控制逻辑结构如图3(b)所示,此时的控制通道1和3实际上各自仅需要一个控制阀就可驱动所对应的流阀门从而改变其状态。对于逻辑结构中的合并和消减操作,实质上是基于布尔逻辑简化的方法,在这例子中的体现即为算式:和不仅实现了对于控制逻辑内部资源的简化,而且仍然保证了多通道切换的功能。与图3(a)相比,图3(b)中控制逻辑所使用的控制阀门数量从10减少到了4。
33.2、多通道切换方案计算流程
34.为了实现控制逻辑的多通道切换来减少状态转换过程中的时间片数,最重要的是获取哪些控制通道需要同时进行状态切换。这里考虑已经给定了生化应用状态转换的情况,利用在每一时刻已知的控制通道状态来减少控制逻辑中时间片的数量。通过构建状态矩阵来包含应用的整个状态转换过程,其中矩阵中的每一行表示每一时刻各控制通道的状态。例如对于状态转换序列:101-》010-》100-》011,状态矩阵可以写成:
[0035][0036]
在上述所给状态转换序列中,对于状态转换从101-》010而言,首先需要将第一个和第三个控制通道连接到核心输入,并将核心输入的压力值置0后通过这两个通道传输给对应的流阀门。其次,将第二个控制通道连接到核心输入,此时核心输入的压力值需要置1,同样通过该通道传输给对应的流阀门。此外利用切换矩阵来表示在控制逻辑中需要执行的上述两种操作。在切换矩阵中,元素1代表的是某个控制通道此时已连接到核心输入并且当前通道中的状态值已更新为与核心输入的压力值相同。而元素0则代表的是某个控制通道此时未连接到核心输入且当前通道中的状态值未进行更新。因此针对例子中的状态矩阵可以得到对应的切换矩阵为:
[0037][0038]
其中对于矩阵的每一行都被称为一种切换模式。注意到在矩阵中存在值为x的元素,这是因为在某些状态转换过程中,例如从010-》100的状态转换中,其中第三个控制通道在前后两个时刻的状态值是不变的,基于该情况下第三个控制通道既可以选择与第一个控制通道同时进行状态值的更新,也可以选择不做任何操作以保持自身状态值不变。针对矩阵中每一行具有多个1元素的切换模式而言,该切换模式所对应的多个控制通道状态可能不会同时更新。此时需要将该切换模式划分成多个时间片,利用多个相应的多通道组合来完成此切换模式。因此为了减少整体状态切换所需的时间片总数,需要仔细选择每一种切换模式对应的多通道组合。对于切换矩阵而言,矩阵的行数为完成所有状态转换所需的切换模式总数,列数为控制逻辑中控制通道总数。
[0039]
在此例子中,当前的目标是选择有效的多通道组合来实现切换矩阵中的所有切换模式,同时保证完成该过程所使用的时间片总数最少。
[0040]
对于n个控制通道而言,可以通过列数为n的复用矩阵来表示2
n-1种多通道组合,其中需要从矩阵中的所有行中选择一种或多种组合来实现矩阵中每一行所表示的切换模式。实际上,针对切换矩阵中每一行的切换模式而言,能够实现该切换模式的可行多通道组合数远远小于复用矩阵中的多通道组合总数。通过仔细观察可以发现能够实现切换模式的多通道组合是由该模式中元素1的位置和个数决定的。例如对于切换模式
011,元素1的个数为2且其位置分别位于整个切换模式中的第二和第三位,相当于实现该切换模式的多通道组合只与控制逻辑中的第二和第三个控制通道有关。因此能够实现切换模式011的可选多通道组合分别为011、010以及001,这里仅需要三种多通道组合即可,利用该特点可以推得实现某个切换模式的可选多通道组合个数为2
n-1,这里的n表示切换模式中元素1的个数。
[0041]
如上所述,针对于切换矩阵中每行的切换模式,可以构建联合向量组来包含能够组成每个切换模式的可选多通道组合。例如对于上述例子的切换矩阵而言,对应的联合向量组定义为:
[0042][0043]
其中联合向量组中的向量组个数与切换矩阵的行数x相同,且每个向量组中包含有2
n-1个维度为n的子向量,这些子向量都是实现相应切换模式的可选多通道组合。当联合向量组中元素m
i,j,k
为1时,则表示该元素所对应的控制通道与实现第i个切换模式有关。
[0044]
由于多通道切换方案最终的目标是通过选择联合向量组中各向量组中子向量所表示的多通道组合来实现切换矩阵因此构建一个方法数组来表示针对切换矩阵中的每一行切换模式所使用的相应多通道组合位于中的位置。同时也方便获得所需的具体多通道组合。其中方法数组中包含了x个子数组(与切换矩阵的行数一致),且子数组的元素个数由该子数组所对应的切换模式中元素1的个数决定,即子数组中的元素个数为2
n-1。对于上述例子,方法数组定义如下:
[0045][0046]
其中中第i个子数组表示选择了中第i个向量组中的某些组合来实现切换矩阵第i行的切换模式。例如图4展示了(2)中的切换矩阵与其对应的联合向量组和方法数组之间的关系。可以注意到中总共有6个向量组。通过各自选择6个向量组中的子向量来实现矩阵中对应行的切换模式。其中不同向量组之间的子向量是允许重复的,最终
实际上只需要4个不同的多通道组合就可以完成切换矩阵中的所有切换模式。例如对于中第一行的切换模式101,则选择了中第一个向量组中的第一个子向量表示的多通道组合101来实现,这里仅需要一个时间片即可更新第一和第三个控制通道的状态。
[0047]
对于矩阵中的元素y
i,k
而言,当元素的值为1时则表明第i个切换模式涉及到第k个控制通道来实现状态切换,因此需要在向量中的第i个向量组中选择一个在第k列也为1的子向量来实现该切换模式。此约束可以表示为:
[0048][0049]
k=0,...,n-1
[0050]
其中h(j)表示联合向量组中第j个向量组中子向量的个数。m
i,j,k
和y
i,k
是已给定的常数,而t
i,j
则是值为0或1的二值变量,最终由求解器来决定其取值。
[0051]
控制逻辑中允许被使用的最大控制模式数量通常是由外部压力源的数量所决定的,其表示为常数q
cw
且值为该值通常远小于2
n-1。另外对于从联合向量组中选择的子向量,构建一个值为0或1的二值行向量来记录最终选择的不重复的子向量(多通道组合)。最终选择的不重复子向量总数不能够大于q
cw
,因此该约束如下:
[0052][0053]
其中c表示的是联合向量组中包含的不重复的子向量总数。
[0054]
如果方法数组中第i个子数组的第j个元素不为1,那么对于联合向量组中第i个向量组的第j个子向量所表示的多通道组合则没有被选择。但与该子向量元素值相同的其他子向量可能存在于联合向量组中其他的向量组中,因此具有元素值相同的多通道组合仍可能被选择。仅当某个多通道组合在整个过程中没有被选择,那么在中对应此多通道组合的列元素则置为0,其约束为:
[0055][0056]
j=0,...,h(j)
[0057]
其中[m
i,j
]表示与中第i个向量组中的第j个子向量元素值相同的多通道组合在中的位置。
[0058]
中每一个子数组表明从的向量组中选择了哪些由子向量表示的多通道组合来实现中对应的切换模式。对于中每一个子数组中的1元素个数表示实现该子数组所对应在中的切换模式所需要的时间片数。因此为了最小化实现中所有切换模式的时间片总数,可以解决的优化问题如下所示:
[0059][0060]
s.t.(5),(6),(7).
[0061]
本发明通过求解如上所示的优化问题,可以根据的值来获得实现整个切换方案所需要的多通道组合。同样针对中每一行的切换模式所使用的多通道组合则由t
i,j
的值来决定。即当t
i,j
的值为1时,该多通道组合为m
i,j
表示的子向量的值。
[0062]
3、控制模式分配流程:
[0063]
通过解决上述构建的整数线性规划模型,可以获得独立或同时切换的控制通道,这些通道统称为多通道切换方案。该方案由一个多路径矩阵表示,如(9)所示。在这个矩阵中,有九个流阀门(即f
1-f9)连接到核心输入,总共有五个多通道组合来实现多通道切换,此时需要针对这五个组合各自分配一种控制模式。这里我们首先针对该矩阵的每一行多通道组合分配五种不同的控制模式,这些控制模式位于矩阵的右侧,此分配流程是构建完整控制逻辑的基础。
[0064][0065]
4、patternactor优化流程:
[0066]
对于需要状态切换的控制通道,必须仔细选择合适的控制模式。在本发明中,我们提出了一种基于深度强化学习的方法patternactor,以寻求更有效的控制逻辑综合的模式分配方案。具体来说,它侧重于构建ddqn模型作为强化学习的agent,其能够利用有效的模式信息去学习如何分配控制模式,从而获得哪种模式对给定的多通道组合更有效。
[0067]
深度强化学习的基本思想是agent不断调整自身在每个时间t做出的决策,以获得整体最优策略。这种策略调整是基于agent和环境之间互动所返回的奖励。互动的流程图如图5所示,这个流程主要与三个要素有关:agent的状态、来自环境的奖励和agent采取的动作。首先,agent在时间t感知当前状态s
t
,并从动作空间选择一个动作a
t
。接下来,agent在采取a
t
动作时,从环境中获得相应的奖励r
t
。然后,当前状态被转移到下一个状态s
t 1
,agent再为这个新状态s
t 1
选择一个新的动作。最后,通过迭代更新这一过程,找到最优策略p
best
,该策略使agent的长期累积奖励最大化。
[0068]
对于patternactor优化流程,本发明主要使用了深度神经网络(dnns)来记录数据,同时其可以有效地逼近用于寻找最优策略的状态值函数。除了确定记录数据的模型外,还需要在接下来设计上述的三个要素,从而构建用于控制逻辑合成的深度强化学习框架。
[0069]
在设计三个要素之前,我们首先将控制逻辑中可用的控制端口数初始化为并且这些端口可以相应地形成种控制模式。在本发明中,该流程的主要目标是为多通道组合选择合适的控制模式,从而确保控制逻辑的总成本最小化。
[0070]
4.1、patternactor的状态设计:
[0071]
在为多通道组合选择合适的控制模式之前,首先需要设计agent状态。状态代表当前情况,它影响到agent的控制模式选择,通常表示为s。我们通过将时间t的多通道组合与所有时间内所选动作的编码序列串联起来以设计状态。这种状态设计的目的是保证agent能够将当前的多通道组合与现有的模式分配方案考虑在内,从而使agent能够做出更好的决策。注意到编码序列的长度等于多路径矩阵的行数,也就是说,每个多通道组合对应一位动作码。
[0072]
以(10)中的多路径矩阵为例,初始状态s0是根据多路径矩阵第一行所代表的组合来设计的,时间t随着矩阵的行数递增。因此,当前状态在t 2时应表示为s
t 2
。相应地,多路径矩阵第三行的多通道组合“001001010”需要被分配一个控制模式。如果多路径矩阵前两行的两个组合分别被分配到第二和第三控制模式,那么状态s
t 2
被设计为(00100101023000)。由于当前和后续时刻下的组合没有被分配到任何控制模式,因此与这些组合对应的动作码在序列中用0表示。这里的所有状态构成了一个状态空间s。
[0073][0074]
4.2、patternactor的动作设计:
[0075]
动作表示agent在当前状态下决定做什么,通常表示为a。由于多通道组合需要分配相应的控制模式,动作自然就是尚未被选择的控制模式。每个控制模式只允许被选择一次,所有由控制端口产生的控制模式构成动作空间a。此外,a中的控制模式都是按序号“1”、“2”、“3”等升序编码的。当agent在某一状态下采取动作时,动作码表明哪种控制模式已被分配。
[0076]
4.3、patternactor的奖赏函数设计:
[0077]
奖励代表agent通过采取动作获得的收益,通常表示为r。通过设计状态的奖励函数,agent可以获得有效的信号并以正确的方式学习。对于一个多路径矩阵,假设矩阵的行数为h,我们相应地将初始状态表示为si,终止状态表示为s
i h-1
。为了引导agent获得更有效的模式分配方案,奖励函数的设计需要涉及两种布尔逻辑简化方法:逻辑树简化和逻辑森林简化。下面将介绍这两种技术在奖励函数中的实现。
[0078]
(1)逻辑树的简化:
[0079]
逻辑树简化基本上是针对布尔逻辑中相应的流阀门来实现的,它主要采用quine-mccluskey方法来简化流阀门的内部逻辑。换句话说,它对内部逻辑中使用的控制阀进行了合并和取消的操作。例如,控制模式,如和分别被分配到(10)中多路径矩阵的第二行和第四行所代表的多通道组合。流阀门f2的简化逻辑树如图6所示,其中控制阀x2和x4被相应合并,而x3和由于是互补的,所以被抵消了。从图6可以看出,f2的内部逻辑中使用的控制阀数量已经从8个减少到3个。因此,为了实现内部逻辑的最大简化,我们结
合这种简化方法设计了奖励函数。
[0080]
对于奖励函数的设计,将考虑以下变量。首先,我们考虑在当前状态下,控制模式已经分配给相应的多通道组合的情况,用表示通过分配这个模式可以简化的控制阀数量。其次,在上述情况的基础上,我们为下一个组合随机分配另一个可行的模式,用表示通过这种方式可以简化的控制阀数量。此外,我们还考虑了下一个多通道组合依次分配当前状态下剩余控制模式的情况。在这种情况下,我们取控制逻辑所需的最大控制阀数量,用vm表示。基于上述三个变量,从状态si到s
i h-3
的奖励函数表示为其中λ和β是两个权重因子,其值分别设置为0.16和0.84。这两个因素主要表明,在当前状态下,涉及下一个组合的两种情况对模式选择的影响程度。
[0081]
(2)逻辑林的简化:
[0082]
逻辑林的简化是通过合并流阀门之间的简化逻辑树来实现,从而以全局方式进一步优化控制逻辑。使用上述(10)中多路径矩阵的相同示例来说明这种优化方法,其主要通过顺序合并f
1-f3的逻辑树来实现,以共享更多的阀门资源,其中简化过程如图7所示。一般来说,这种简化方法主要适用于所有多通道组合已经分配了相应控制模式的情况。在这一部分,我们用这种简化技术为终止状态s
i h-1
和状态s
i h-2
设计奖励函数。因为对于这两种状态,agent能够更为方便考虑所有组合都完成分配的情况。通过这种方式,可以有效地设计奖励函数来引导agent寻求更有效的模式分配方案。
[0083]
对于状态s
i h-2
,当当前的多信道组合已经分配了控制模式时,我们考虑最后一个组合选择剩余可用模式的情况,其中控制逻辑所需的控制阀最小数量由vu表示。另一方面,对于终止状态s
i h-1
,考虑了控制阀和路径长度之和,并用表示。对于这最后两种状态,也考虑了上面提到的涉及变量的情况。因此,对于终止状态s
i h-1
,奖励函数被表示为对于状态s
i h-2
,奖励函数被表示为
[0084]
综上所述,总体奖励函数可表述如下:
[0085][0086]
在设计了上述三个要素后,agent能够以强化学习的方式构造控制逻辑。一般来说,关于强化学习的问题主要通过q-学习方法来解决,该方法的重点是估计每个状态-动作对的值函数,即q(s,a),从而选择当前状态下具有最大q-值的动作。此外,q(s,a)的值也是根据在状态s中执动作a获得的奖励来计算的。事实上,强化学习就是学习状态-动作对与奖励之间的映射关系。
[0087]
对于在时间t下的状态s
t
∈s和动作a
t
∈a,状态-动作对的q值,即q(s
t
,a
t
),通过如下所示式子的迭代更新来预测。
[0088][0089]
其中α∈(0,1]表示学习速率,γ∈[0,1]表示折扣因子。折扣因子反映当前奖励和
未来奖励之间的相对重要性,学习速率反映agent的学习速度。q'(s
t
,a
t
)表示此状态动作对的原始q值。r
t
是执行动作a
t
后从环境中得到的当前奖励,s
t 1
表示的是下一时刻的状态。本质上,q-学习通过近似长期累积奖励来估计q(s
t
,a
t
)的值,长期累积奖励是当前奖励r
t
与下一状态s
t 1
中所有可动作作的折扣最大q值(即,)之和。
[0090]
由于q-学习中的最大算子,即的评估值被高估,从而使得次优动作在q值上超过了最优动作,导致无法找到最优动作。根据现有的工作,ddqn可以有效地解决上述问题。因此,在我们提出的方法中,我们采用这个模型来设计控制逻辑。ddqn的结构由两个dnn组成,分别称为策略网络和目标网络,其中策略网络为状态选择动作,而目标网络评估所采取动作的质量。两者交替工作。
[0091]
在ddqn的训练过程中,为了评估在当前状态s
t
中所采取动作的质量,策略网络首先找到动作a
max
,该动作使下一状态s
t 1
中的q值最大化,如下所示:
[0092][0093]
其中θ
t
表示策略网络的参数。
[0094]
然后,下一个状态s
t 1
被传输到目标网络以计算动作a
max
的q值(即,q(s
t 1
,a
max

t-))。
[0095]
最后,该q值用于计算目标值y
t
,该值用于评估在当前状态s
t
下所采取动作的质量,如下所示:
[0096]yt
=r
t
γq(s
t 1
,a
max

t-)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0097]
其中θ
t-表示目标网络的参数。在为状态-动作对计算q值的过程中,策略网络通常以状态s
t
作为输入,而目标网络以状态s
t 1
作为输入。
[0098]
通过上述策略网络,可以获得状态s
t
下所有可能动作的q值,然后通过动作选择策略为该状态选择适当的动作。我们以状态s
t
选择动作a2为例,如图8所示,以反映ddqn中的参数更新过程。首先,策略网络可以确定q(s
t
,a2)的值。其次,我们通过策略网络找到下一个状态s
t 1
中具有最大q值的动作a1。然后,将下一个状态s
t 1
作为目标网络的输入,以获得动作a1的q值,即q(s
t 1
,a1)。此外,根据(14),q(s
t 1
,a1)用于获得目标值y
t
。之后,q(s
t
,a2)作为策略网络的预测值,而y
t
作为策略网络的实际值。因此,策略网络中的值函数通过使用这两个值的误差反向传播进行校正。我们可以根据实际训练结果来调整这两个dnn的结构。
[0099]
在本发明中,ddqn中的两个神经网络都由两个全连接层组成,并以随机权重和偏置进行初始化。
[0100]
首先,必须分别初始化策略网络、目标网络和经验回放buffer相关的参数。具体来说,经验回放buffer是一个循环的buffer,它记录了每一轮中先前控制模式分配的信息.这些信息通常被称为transitions。一个transitions由五个元素组成,即(s
t
,a
t
,r
t
,s
t 1
,done)。除了上面介绍的前四个元素,第五个元素done表示是否已经达到终止状态,它是一个数值为0或1的变量。一旦done的值为1,就意味着所有的多通道组合已经被分配对应的控制模式;否则,在多通道矩阵中仍然存在需要分配控制模式的组合。通过为经验回放buffer设置一定的存储容量,如果存储的transitions数量超过了buffer的最大容量,最旧的transition将被最新的transition所替代。
[0101]
然后,训练回合(episode)被初始化为常量e,agent准备好与环境进行交互。在交互过程开始之前,我们需要重置训练环境中的参数。此外,在每轮交互开始之前,需要检查当前这一轮是否已达到终止状态。在某一轮中,如果当前状态尚未达到终止状态,则为对应于当前状态的多通道组合选择可行的控制模式。
[0102]
策略网络中q值的计算涉及动作选择,主要采用ε-greedy策略从动作空间中选择控制模式,其中ε是一个随机生成的数字,分布在区间[0.1,0.9]上。具体而言,具有最大q值的控制模式以ε的概率被选中。否则,将从动作空间a中随机选择控制模式。通过这种策略,能够使代理选择控制模式时在开发和探索之间进行权衡。在训练过程中,ε的值随着增量系数的影响而增加。接下来,当agent完成当前状态s
t
下的控制模式分配,它将根据设计的奖励函数获得该轮的当前奖励r
t
。同时,还获得下一个状态s
t 1
和终止符号done。
[0103]
之后,由上述五个元素组成的transition被依次存储到经验回放buffer中。经过一定次数的迭代,agent准备从以前的经验中学习。在学习过程中,需要从经验回放buffer中随机选择小批量的transitions作为学习样本,这使网络能够更有效地进行更新。并利用(15)中的损失函数,通过采用梯度下降反向传播来更新策略网络的参数。
[0104]
l(θ)=ε[(r
t
γq(s
t 1
,a
*
;θ
t-)-q(s
t
,a
t
;θ
t
))2]
ꢀꢀꢀꢀꢀꢀꢀ
(15)
[0105]
经过几个周期的学习,目标网络的旧参数会定期被策略网络的新参数替换。需要注意的是,当前状态将在每轮交互结束时转换为下一个状态s
t 1
。最后,代理使用patternactor记录了迄今为止找到的最佳解决方案。整个学习过程以之前设置的训练回合数结束。
[0106]
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献