CN107145387B - 一种车载网环境下基于深度强化学习的任务调度方法 - Google Patents

一种车载网环境下基于深度强化学习的任务调度方法 Download PDF

Info

Publication number
CN107145387B
CN107145387B CN201710367333.1A CN201710367333A CN107145387B CN 107145387 B CN107145387 B CN 107145387B CN 201710367333 A CN201710367333 A CN 201710367333A CN 107145387 B CN107145387 B CN 107145387B
Authority
CN
China
Prior art keywords
task
roadside unit
neural network
current
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710367333.1A
Other languages
English (en)
Other versions
CN107145387A (zh
Inventor
窦万春
费凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201710367333.1A priority Critical patent/CN107145387B/zh
Publication of CN107145387A publication Critical patent/CN107145387A/zh
Application granted granted Critical
Publication of CN107145387B publication Critical patent/CN107145387B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

本发明公开了一种车载网环境下基于深度强化学习的任务调度方法,包括以下步骤:步骤1:获取每一个路侧单元覆盖范围内的车流量数据;步骤2:获取每一个路侧单元的负载数据,并将此数据以多播形式传递给其他路侧单元;步骤3:构架深度神经网络,对相关变量进行初始化;步骤4:初始时间内,对于范围内到达的请求,随机选择在本地执行或者负载到任意其他路侧单元执行记录请求从到达到完成的时间;步骤5:当步骤4收集的数据到达一定规模,对神经网络进行更新;步骤6:对于新到达的请求,根据各区域车流量以及各路侧单元的负载,使用更新过的神经网络进行分配;步骤7:收集数据,重复执行步骤5~6。

Description

一种车载网环境下基于深度强化学习的任务调度方法
技术领域
本发明属于计算机移动云计算领域,尤其涉及一种车载网环境下基于深度强化学习的任务调度方法。
背景技术
移动云计算(Mobile Computing),是随着近几年随着移动终点的迅猛发展而兴起的一种新的云计算模式。它为移动终端用户,以及云服务提供商提供了丰富的计算资源。移动终端可以将任务卸载到云端,云端将计算的结果返回移动终端以克服移动终端计算能力有限的问题并可以减小移动端电量的损耗。
车载网(vehicular ad-hoc network简称VANET)作为自组织网络的典型案例,可以通过车与车的通信(V2V)与车到基础设施的通信(V2I)来进行数据共享与任务卸载。随着中国城市化进程的发展,越来越多家庭购买汽车以方便家庭出行。汽车厂商的一大买点就是在汽车上装载了丰富的传感器与车载设备,用户可以使用这些设备观看多媒体视频,享受基于位置的服务以达到提高出行体验的目的。而在这些丰富的设备中,大量设备是闲置的。“Arif S,Olariu S,Wang J,et al.Datacenter at the airport:Reasoning abouttime-dependent parking lot occupancy[J].IEEE Transactions on Parallel andDistributed Systems,2012,23(11):2067-2080.”在文章中利用相对稳定,但是资源丰富的停车场作为一个移动的车云中心。“Olariu S,Khalil I,Abuelela M.Taking VANET tothe clouds[J]. International Journal of Pervasive Computing andCommunications,2011,7(1):7-21.”在文章中利用固定的路侧单元作为车载网环境下的云中心。
云计算为移动终端提供了丰富的资源,但是用户到云中心有时候因为通信带宽的问题,即使云中心有着强大的计算能力,但是因为通信的时延依然使得任务无法及时完成。基于此,一种称为朵云(cloudlet)的技术应运而生。”Zhang Y,Niyato D,Wang P.Offloading in mobile cloudlet systems with intermittent connectivity[J].IEEETransactions on Mobile Computing,2015,14(12):2516-2529.”论证了即便在时断时续的链接情况下,依然可以将任务卸载到移动朵云。
强化学习又称评价学习,激励学习,是机器学习中与监督学习,无监督学习并列的一种重要的学习范式,在智能控制领域得到了广泛的应用。它可以有效的解决在开放环境下为了自己学习规则并达到长期目标最优的效果。深度强化学习,是将深度学习与强化学习结合的一个技术,近年来在自动驾驶,围棋(AlphaGo)取得了巨大的成功。深度强化学习主要分为基于策略(Policy Based)的强化学习与基于Q值的强化学习。其中,基于策略的强化学习有收敛快的优点。
随着机器学习发展尤其是强化学习的成熟以及车载网移动云计算的成熟,研究利用强化学习来进行任务调度是比较符合当前实际情况的。
发明内容
发明目的:本发明基于车载网环境下,请求到达强度不稳定的特点,提出了一种基于强化学习的任务调度方法。
为了解决上述技术问题,本发明公开了一种车载网环境下基于深度强化学习的任务调度方法,包括以下步骤:
步骤1:在一定范围内(通常为一个路段,或者城际高速公路的起点到终点),有 N个路侧单元,获取每一个路侧单元(Road Side Unit)在t时间段内的车流量数据和一定范围内到达的任务。用Qi,t表示路侧单元Ri在t时间段内的车流量,i取值为1~N。时间段可以是1s,2s,视具体的路况(道路长度,道路宽度,路边经典等信息)决定。因为,一般情况下车流量较大的区域内路侧单元往往会有更多的任务请求,代表一种潜在负载压力。
步骤2:获取每一个路侧单元的负载数据,并将此数据以多播形式传递共享给其他路侧单元;每一个路侧单元Ri记录当前队列长度Li,并将当前任务队列长度Li共享给其他N-1各路侧单元,使得每一个路侧单元可以获得一个全局的负载状况信息。
步骤3,构架神经网络,对相关变量进行初始化;
步骤4,初始时间内,对于步骤1所述一定范围内到达的任务,随机选择在本地执行或者负载到任意其他路侧单元执行,记录任务从到达到完成的时间;所述一定范围为一个路段,或者城际高速公路的起点到终点;
步骤5,当步骤4收集的数据到达一定规模BatchSize,对神经网络进行更新;
步骤6,对于新到达的任务,使用更新过的神经网络进行分配;
步骤7,收集数据,重复执行步骤5~步骤6,得到新的神经网络。
步骤2包括以下步骤:
步骤2-1,第i个路侧单元Ri记录其当前任务((任务指车辆电子设备服务请求))队列长度Li,并将当前任务队列长度Li共享给其他N-1个各路侧单元;
步骤2-2,对于一个路侧单元,当该路侧单元共享其当前任务队列长度Li给其他N-1 个路侧单元时,记录该路侧单元当前共享时刻的当前任务队列长度为Llast,当新到达一个任务时当前任务队列长度Li加一,当完成一个任务时,当前任务队列长度Li减一;
步骤2-3,当|Llast-Li|>δ(δ为阈值,可以选择10到50,较小的阈值会使得本发明在具体应用中更为灵敏,也会相应的增加通信开销)时,第i个路侧单元Ri将最新的当前任务队列长度Li通知到其他N-1个路侧单元,其中δ是一个触发状态共享的阈值;
步骤2-4,每个路侧单元都得到一个当前全局的环境变量Vt, Vt=[Q1,t,Q2,t,...QN,t,L1,L2,...LN]T,QN,t表示第N个路侧单元RN在t时间段内的车流量, LN表示第N个路侧单元RN的当前第N个队列长度。步骤3:定义神经网络,确定神经网络的输入节点,隐层数目以及输出,并初始化参数。
步骤3包括以下步骤:
步骤3-1:神经网络输入层为2N(即神经元输入设置为路侧单元数目的两倍)个神经元,每个神经元包含的两个参数分别为路侧单元的当前全局的环境变量Vt与任务包的大小PackageSize,任务包在网络间传播时间正比于任务包的大小,隐层为K个神经元,为了便于收敛将隐层设置为两层,输出层为N个神经元。使用ReLu函数作为神经网络的激活函数,Relu函数定义为对于给定变量x,其输出为g(x)=max(0,x),神经网络在层传播函数按照下面公式进行计算:
其中,表示神经网络中输入层、第一个隐层、第二个隐层或者输出层,在输入层为(2N)×K的矩阵,在第一个隐层到第二个隐层为K×K的矩阵,在第一个隐层到输出层或第二个隐层到输出层为K×N的矩阵,为第层的偏移量,为第层的输入;
步骤3-2:对于神经网络各层权重,根据下述区间的一个均匀分布来初始化神经网络各层权重:
其中fanin和fanout分别表示输入神经元的个数与输出神经元的个数,对于输出层到第一个隐层或者输出层到第二个隐层时fanin和fanout分别为2N+1和K,对于第一个隐层到第二个隐层fanin和fanout分别为K和K,从第一个隐层到输出层或者第二个隐层到输出层fanin和fanout分别为K和N;
步骤3-3:对于神经网络最后的输出,再使用softmax函数得到每一个策略对应的概率,计算公式为:
其中Pi代表当前任务派发到路侧单元Ri的概率,yi和yj分别为输出层第i个神经元的输出与第j个神经元的输出。
步骤4包括以下步骤:
步骤4-1:对于新到达的任务,以概率ε(一般取值0.7到0.9)选择在本地执行任务,以1-ε(即1减ε的值)的概率选择在其他路侧单元执行此任务;
步骤4-2:如果选择其他路侧单元执行此任务,任务按照均匀分布分配到其余路侧单元,即分配到其余路侧单元的概率为1/(N一1);
步骤4-3:对于第i个任务Ti,Ti={Vt,Proi,RSi},表示Ti包括三个参数Vt、Proi和RSi,其中Vt是步骤2-4得到的任务到达时刻的当前全局的环境变量,Proi为第i个任务分配到第i个路侧单元的概率,RSi为第i个任务的响应时间,即从任务到达路侧单元开始到执行为止的时间;如果任务在当前路侧单元即本地执行,则响应时间等于在当前任务队列的等待数件,如果任务在其它路侧单元执行,则响应时间等于网络传输时间加上在新的路侧单元的任务队列的等待时间。对于到达的每一个任务,均收集如下数据:第i个任务对应的当前全局的环境变量、第i个任务分配到第i个路侧单元的概率和第i个任务的响应时间。
步骤5中,当步骤4收集的数据到达一定规模,定为BatchSize(为N的3到10 倍),对神经网络各层权重W与偏移量b进行基于反向传播(Back Propagation)算法的更新。
步骤5包括以下步骤:
步骤5-1:计算每一个任务在其对应环境下的分配策略对应的收益:对于BatchSize 个任务,根据到达时间进行排序,即任务集合为Task={T1,T2,...TBatchSize},则按照如下公式计算第i个任务Ti的收益Ai
其中,i取值为1~BatchSize,γ为衰减因子,一般设定为0.99。收益顺序指数衰减,第i个任务衰减因子为γi,根据该公式得到收益数组AT=[A1,A2,...ABatchSize],ABatchSize表示第BatchSize个任务TBatchSize的收益;
本发明优化的目标函数是损失函数是收益分布函数与分配的路侧单元的概率分布的交叉熵,对收益函数进行标准化就很重要。本发明中希望丢弃掉那些收益低于平均水平的策略,对数据进行标准化,这样低于平均水平的收益ADi将为负值。
步骤5-2:对收益数组进行标准化:通过如下公式计算第i个任务Ti的收益Ai的标准化值ADi::
其中mean(AT)是收益数组的均值,std(AT)是收益数组的标准差。根据公式(5) 计算得到标准化后的收益数组AD;
本发明使用随机梯度下降的方法对神经网络进行更新,最小化的损失函数是收益分布函数与分配的路侧单元的概率分布的交叉熵,即任务更容易被分配到收益较大的路侧单元,而尽量减小分配到收益较小的路侧单元。这里面,收益小指的是任务的响应时间比较大。步骤5-3具体阐述了这个方法。
步骤5-3:利用标准化后的收益数组AD与步骤4-3收集的数据对神经网络进行更新,更新公式如下:
其中,Loss代表损失函数,定义为:
其中η表示学习率,分别表示损失函数相对于的梯度和损失函数相对于的梯度,其中梯度在基于miniBatch的更新中计算公式如下:
更新后得到新的神经网络,其中Lossi代表选取的miniBatch个记录中第i个样本损失。
本发明对任务的分配并不直接按照输出概率最大的路侧单元进行支配,而是按照相应概率,概率大的路侧单元更容易被分配到,概率小的路侧单元也有被分配到的可能。本发明使用这样的一种策略保证了当网络环境改变或者某个路侧单元改变的情况下引起对应的响应时间发生改变,而这种改变更容易被及时的收集到并反馈给神经网络。步骤6具体阐述了这个方法。
步骤6中,对于新到达的任务,根据各区域车流量以及各路侧单元的负载,使用更新过的神经网络进行分配,
步骤6包括以下步骤:
步骤6-1:获得当前全局的环境变量Vt作为更新后神经网络的输入,得到新任务分配到各个路侧单元的概率{P1,P2,...,PN}。PN表示新任务分配到第N个路侧单元的概率;
步骤6-2:产生一个[0,1]区间内的随机数。对于上面N个概率,得到N个区间, [0,Pr1],[Pr1,Pr2],...,[PrN-1PrN],其中Pri-Pri-1=Pi,i取值1到N,Pi的含义为,随机数落入到区间[Pri-1,Pri],其概率正好为Pi,因此如果产生的随机数落在了区间 [Pri-1,Pri]内,则将当前任务分配到路侧单元Ri
步骤7中,当新收集的任务数量积累到BatchSize,重新进行步骤5的操作,对神经网络进行更新。
步骤7包括以下步骤:
步骤7-1:按照上一轮训练的神经网络,对任务进行分配,并记录任务的响应时间。
步骤7-1包括以下步骤:
步骤7-1-1:对于新到达的任务,获得当前的各个路侧单元的负载以及道路的车流量信息,得到当前全局的环境变量Vz=[Q1,z,Q2,z,...Qg,z,L1,L2,...Lg]T,Qg,z表示路侧单元Rg在z时间段内的车流量,Lg表示路侧单元Rg的当前队列长度。
步骤7-1-2:然后根据当前全局的环境变量,根据步骤5更新的神经网络,对任务进行分配,记录任务的响应时间RS1
步骤7-1-3:持续收集当前全局的环境变量、在当前全局的环境变量下的分配策略以及任务的响应时间,直到收集的数量等于BatchSize时为止。
步骤7-2:将最新收集的BatchSize个数据反馈到神经网络,对神经网络进行更新。
步骤7-2主要包括以下步骤:
步骤7-2-1:按照步骤5-1中的方法计算每一个任务的的收益advantages,并对收益值进行标准化;
步骤7-2-2:使用随机梯度下降的方法对神经网络进行更新,得到更新后的神经网络。将新的神经网络用于调度策略。
有益效果:利用强化学习进行任务调度的方法有易于初始化,容错性强的优点,而本发明使用基于策略的强化学习又可以使得调度策略快速收敛到最优。在移动环境,尤其是车载网环境下,因为车辆的高速移动性,周期性等特征,调度策略需要及时变化以达到资源利用最大化的目的。因为强化学习是利用手机的数据,自适应的达到最优化的目的,所以在进行部署的时候不需要特别的进行初始化。当部署的路侧单元有一个失效的时候,强化学习的神经网络可以利用新收集的响应时间及时的得到反馈并训练处在当前状态下的最优调度策略。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1是本发明方法的流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本发明公开了一种基于深度强化学习的任务调度方法,该方法流程图如图1所示,包括以下步骤:
步骤1:收集各个路侧单元覆盖范围内的在一段时间t内的车流量Qi,t。然后共享给其他路侧单元。
步骤2:收集每个路侧单元的负载情况,即每个路侧单元的任务队列内的任务数,每当任务队列的任务数量变化超过一定的阈值δ,就将最新的负载信息通知其它路侧单元。这样,每个路侧单元都会得到一个在误差δ内的实时的各个路侧单元负载情况信息。
步骤3:定义以车流量以及各路侧单元负载信息为输入,即步骤1,2收集得到的环境变量Vt=[Q1,t,Q2,t,...QN,t,L1,L2,...LN]T,以分配到路侧单元Ri的概率Pi为输出的神经网络,它本质上是一个神经网络。
本发明中神经网络初始为一个2N个神经元作为神经网络的输入层,以K个神经元作为神经网络的第一个隐层以K个神经元作为神经网络的第二个隐层,输出层为N个神经元,通过SoftMax函数进行变换得到分配到各个路侧单元的概率。其中输入层到隐层,隐层到隐层使用Relu函数作为激活函数。
然后对神经网络的输入层到隐层权重初始化为范围内的均匀分布,隐层到隐层初始化为内的均匀分布,隐层到输出层初始化范围内的均匀分布。
步骤4:对于新到达的任务,然后选择ε的概率在本地执行任务,以1-ε的概率选择在其他路侧单元执行此任务。如果选择到其它路侧单元执行任务,则随机等概率的分配到其它路侧单元。
然后,对于第i个任务Ti,Ti={Vt,Proi,RSi},表示Ti包括三个参数Vt、Proi和RSi,其中Vt是步骤2-4得到的当前全局的环境变量,Proi为第i个任务分配到第i个路侧单元的概率,RSi为第i个任务的响应时间,记录每一个任务的响应时间,即从任务到达路侧单元开始,到实行为止。如果任务在当前路侧单元执行,则响应时间等于在当前任务队列的等待数件,如果任务在其它路侧单元执行,则响应时间等于网络传输时间加上到在新的路侧单元的任务队列的等待时间。
步骤5:当步骤3收集的数据到达一定规模,我们定为BatchSize,对神经网络各层权重W与偏移量b进行基于反向传播(Back Propagation)算法的更新。
首先,计算对于每一个任务Ti={Vt,Pro}的advantages,即Ai.对于BatchSize个任务,我们根据到达时间进行排序,即任务集合为Task={T1,T2,...TBatchsize},根据公式(1)得到每个任务的收益,对于一个任务,响应时间越短,收益越大。
其中,γ为衰减因子,一般设定为0.99。
对于一批任务,得到收益数组AT=[A1,A2,...ABatchSize],然后对数组进行标准化,按照公式(2)进行标准化。
其中,mean(AT)是收益数组的均值,std(AT)是收益数组的标准差。
然后使用随机梯度下降的方法最小化交叉熵损失函数,本发明中损失函数定义为公式(3)。
然后使用公式(4)(5)按照η的学习率对梯度进行更新。
实际中我们使用miniBatch的方式对梯度进行更新,即从BatchSize个记录中选取miniBatch个记录,根据公式(6),(7)得到梯度的无偏估计
步骤6:获得当前的环境状态向量Vt,作为神经网络的输入,得到分配到各个路侧单元的概率{P1,P2,...,PN}。然后按照对应概率Pi将当前任务分配到对应的路侧单元Ri
步骤7:重复执行步骤5,6,神经网络不断的收集新的信息进行自我更新,利用更新的神经网络对任务进行分配。
实施例
本实施例使用了A城市某某区域进行实验。
对于该区域内,有10个路侧单元,统计每个路侧单元在一定时间段内的车辆数,单位(辆){Q1,Q2,...Q10}。得到每个路侧单元的任务队列长度{L1,L2,...L10}。
其次,对任务分配的神经网络进行初始化,初始化为20个神经元的输入层,7个神经元的第一个隐层,七个神经元的第二个隐层,10个神经元的输出层。
再次,对神经网络进行预热,将一段时间内的任务按照随机分配的策略,记录其响应时间与环境变量。
然后,根据响应时间计算每一个策略的收益值,为了厘清策略的好坏,对收益值进行标准化。
接下来,利用标准化的收益值以及其对应的环境变量对神经网络进行基于BP算法的更新,使用随机梯度下降,以一个一个的miniBatch进行更新。
然后,利用更新后的神经网络,根据任务到达时候的环境变量,决定任务被分配到各个路侧单元的概率,然后随机按照对应概率对任务进行分配。
最后,反复收集数据,更新网络,渐进迭代的得到最优的神经网络。
本发明提供了一种车载网环境下基于深度强化学习的任务调度方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (5)

1.一种车载网环境下基于深度强化学习的任务调度方法,其特征在于,包括以下步骤:
步骤1,在一定范围内,获取每一个路侧单元覆盖范围内的车流量数据和一定范围内到达的任务;
步骤1中,假设有N个路侧单元,获取每一个路侧单元在t时间段内的车流量,用Qi,t表示第i个路侧单元Ri在t时间段内的车流量,i取值为1~N;
步骤2,获取每一个路侧单元的负载数据,并将此负载数据以多播形式传递共享给其他路侧单元;
步骤2包括:
步骤2-1,第i个路侧单元Ri记录其当前任务队列长度Li,并将当前任务队列长度Li共享给其他N-1个路侧单元;
步骤2-2,对于一个路侧单元,当该路侧单元共享其当前任务队列长度Li给其他N-1个路侧单元时,记录该路侧单元当前共享时刻的当前任务队列长度为Llast,当新到达一个任务时当前任务队列长度Li加一,当完成一个任务时,当前任务队列长度Li减一;
步骤2-3,当|Llast-Li|>δ时,第i个路侧单元Ri将最新的当前任务队列长度Li通知到其他N-1个路侧单元,其中δ是一个触发状态共享的阈值;
步骤2-4,每个路侧单元都得到一个当前全局的环境变量Vt,Vt=[Q1,t,Q2,t,...QN,t,L1,L2,...LN]T,QN,t表示第N个路侧单元RN在t时间段内的车流量,LN表示第N个路侧单元RN的当前任务队列长度;
步骤3,构架神经网络,并进行初始化;
步骤3包括:
步骤3-1,神经网络输入层为2N个神经元,每个神经元包含的两个参数分别为路侧单元的当前全局的环境变量Vt与任务包的大小PackageSize,任务包在网络间传播时间正比于任务包的大小,隐层为K个神经元,隐层设置为两层,输出层为N个神经元,使用ReLu函数作为神经网络的激活函数,Relu函数定义为对于给定变量x,其输出为g(x)=max(0,x),神经网络在层传播函数按照下面公式进行计算:
其中,表示神经网络中输入层、第一个隐层、第二个隐层或者输出层,在输入层为(2N)×K的矩阵,在第一个隐层到第二个隐层为K×K的矩阵,在第一个隐层到输出层或第二个隐层到输出层为K×N的矩阵,为第层的偏移量,为第层的输入;
步骤3-2,对于神经网络各层权重,根据下述区间的一个均匀分布来初始化神经网络各层权重:
其中fanin和fanout分别表示输入神经元的个数与输出神经元的个数,对于输出层到第一个隐层或者输出层到第二个隐层时fanin和fanout分别为2N+1和K,对于第一个隐层到第二个隐层fanin和fanout分别为K和K,从第一个隐层到输出层或者第二个隐层到输出层fanin和fanout分别为K和N;
步骤3-3:对于神经网络最后的输出,使用softmax函数得到每一个策略对应的概率,计算公式为:
其中Pi代表当前任务派发到路侧单元Ri的概率,yi和yj分别为输出层第i个神经元的输出与第j个神经元的输出;
步骤4,初始时间内,对于步骤1所述一定范围内到达的任务,随机选择在本地执行或者负载到任意其他路侧单元执行,记录任务从到达到完成的时间;所述一定范围为一个路段,或者城际高速公路的起点到终点;
步骤4包括:
步骤4-1,对于新到达的任务,以概率ε选择在本地执行任务,以1-ε的概率选择在其他路侧单元执行此任务;
步骤4-2,如果选择其他路侧单元执行此任务,任务按照均匀分布分配到其余路侧单元,即分配到其余路侧单元的概率为1/(N-1);
步骤4-3,对于第i个任务Ti,Ti={Vt,Proi,RSi},表示Ti包括三个参数Vt、Proi和RSi,其中Vt是步骤2-4得到的当前全局的环境变量,Proi为第i个任务分配到第i个路侧单元的概率,RSi为第i个任务的响应时间,即从任务到达路侧单元开始到执行为止的时间;如果任务在当前路侧单元即本地执行,则响应时间等于在当前任务队列的等待时间,如果任务在其它路侧单元执行,则响应时间等于网络传输时间加上在新的路侧单元的任务队列的等待时间;
对于到达的每一个任务,均收集如下数据:第i个任务对应的当前全局的环境变量、第i个任务分配到第i个路侧单元的概率和第i个任务的响应时间;
步骤5,当步骤4收集的数据到达一定规模BatchSize,对神经网络进行更新;
步骤6,对于新到达的任务,使用更新过的神经网络进行分配。
2.根据权利要求1所述的方法,其特征在于,步骤5中,当步骤4收集的数据到达一定规模BatchSize,对神经网络各层权重W与偏移量b进行基于反向传播Back Propagation算法的更新,包括:
步骤5-1,计算每一个任务在其对应环境下的分配策略对应的收益:对于BatchSize个任务,根据到达时间进行排序,即任务集合为Task={T1,T2,...TBatchSize},则按照如下公式计算第i个任务Ti的收益Ai
其中,i取值为1~BatchSize,第i个任务衰减因子为γi,根据该公式得到收益数组AT=[A1,A2,...ABatchSize],ABatchSize表示第BatchSize个任务TBatchSize的收益;
步骤5-2,对收益数组进行标准化:通过如下公式计算第i个任务Ti的收益Ai的标准化值ADi
其中mean(AT)是收益数组的均值,std(AT)是收益数组的标准差,根据公式(5)计算得到标准化后的收益数组AD;
步骤5-3,利用标准化后的收益数组AD与步骤4-3收集的数据对神经网络进行更新,更新公式如下:
其中,Loss代表损失函数,定义为:
η表示学习率,分别表示损失函数相对于的梯度和损失函数相对于的梯度,梯度在基于miniBatch的更新中计算公式如下:
miniBatch表示从BatchSize个记录中选取的记录的个数,更新后得到新的神经网络,其中Lossi代表选取的miniBatch个记录中第i个样本损失。
3.根据权利要求2所述的方法,其特征在于,步骤6中,对于新到达的任务,使用更新过的神经网络进行分配,包括:
步骤6-1,将当前全局的环境变量Vt作为更新后神经网络的输入,得到新任务分配到各个路侧单元的概率集合{P1,P2,...,PN},PN表示新任务分配到第N个路侧单元的概率;
步骤6-2,产生一个[0,1]区间内的随机数,对于步骤6-1得到的N个概率,得到N个区间:[0,Pr1],[Pr1,Pr2],...,[PrN-1PrN],其中Pri-Pri-1=Pi,i取值1到N,Pi的含义为,随机数落入到区间[Pri-1,Pri],其概率正好为Pi,因此如果产生的随机数落在了区间[Pri-1,Pri]内,则将当前任务分配到路侧单元Ri
4.根据权利要求3所述的方法,其特征在于,还包括步骤7,收集数据,重复执行步骤5~步骤6,得到新的神经网络,步骤7包括:
步骤7-1,按照上一轮更新的神经网络,对任务进行分配,并记录任务的响应时间;
步骤7-2,将最新收集的BatchSize个数据反馈到神经网络,对神经网络进行更新;
步骤7-1包括:
步骤7-1-1:对于新到达的任务,获得当前的各个路侧单元的负载以及道路的车流量信息,得到当前全局的环境变量Vz=[Q1,z,Q2,z,...Qg,z,L1,L2,...Lg]T,Qg,z表示路侧单元Rg在z时间段内的车流量,Lg表示路侧单元Rg的当前队列长度;
步骤7-1-2,根据当前全局的环境变量,根据步骤5更新的神经网络,对任务进行分配,记录任务的响应时间;
步骤7-1-3,持续收集当前全局的环境变量、当前全局的环境变量下的分配策略以及任务的响应时间,直到收集的数量等于BatchSize时为止。
5.根据权利要求4所述的方法,其特征在于,步骤7-2包括:
步骤7-2-1,计算后续到达的任务的收益,并对收益值进行标准化;
步骤7-2-2,使用随机梯度下降的方法对神经网络进行更新,得到更新后的神经网络。
CN201710367333.1A 2017-05-23 2017-05-23 一种车载网环境下基于深度强化学习的任务调度方法 Active CN107145387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710367333.1A CN107145387B (zh) 2017-05-23 2017-05-23 一种车载网环境下基于深度强化学习的任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710367333.1A CN107145387B (zh) 2017-05-23 2017-05-23 一种车载网环境下基于深度强化学习的任务调度方法

Publications (2)

Publication Number Publication Date
CN107145387A CN107145387A (zh) 2017-09-08
CN107145387B true CN107145387B (zh) 2019-09-10

Family

ID=59777231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710367333.1A Active CN107145387B (zh) 2017-05-23 2017-05-23 一种车载网环境下基于深度强化学习的任务调度方法

Country Status (1)

Country Link
CN (1) CN107145387B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363478B (zh) * 2018-01-09 2019-07-12 北京大学 针对可穿戴设备深度学习应用模型分载系统及方法
CN108596335B (zh) * 2018-04-20 2020-04-17 浙江大学 一种基于深度强化学习的自适应众包方法
CN109067842B (zh) * 2018-07-06 2020-06-26 电子科技大学 面向车联网的计算任务卸载方法
CN110717359B (zh) * 2018-07-12 2023-07-25 浙江宇视科技有限公司 基于数理统计的反向传播优化方法、装置及电子设备
CN109002358B (zh) * 2018-07-23 2021-08-31 厦门大学 基于深度强化学习的移动终端软件自适应优化调度方法
US10845815B2 (en) * 2018-07-27 2020-11-24 GM Global Technology Operations LLC Systems, methods and controllers for an autonomous vehicle that implement autonomous driver agents and driving policy learners for generating and improving policies based on collective driving experiences of the autonomous driver agents
CN109862086B (zh) * 2019-01-21 2020-10-09 华北电力大学 一种车载边缘计算中基于匹配算法的任务分配策略
CN110989614B (zh) * 2019-12-18 2020-10-30 电子科技大学 一种基于深度强化学习的车辆边缘计算转移调度方法
CN111211893B (zh) * 2020-01-22 2022-03-04 西安电子科技大学 一种应用区块链的自动驾驶汽车模型共享方法
CN113254192B (zh) * 2020-02-12 2024-04-16 北京沃东天骏信息技术有限公司 资源分配方法、资源分配装置、电子设备及存储介质
CN113495767B (zh) * 2020-03-20 2023-08-22 北京轻舟智航智能技术有限公司 一种交互场景生成的方法、装置及电子设备
CN111526495B (zh) * 2020-04-22 2021-03-26 华中科技大学 一种基于改进遗传算法的车联网AoI优化任务卸载方法
CN113613206A (zh) * 2020-06-12 2021-11-05 南京理工大学 一种基于强化学习的无线异构车联网边缘卸载方案
CN112185532B (zh) * 2020-10-10 2023-09-19 中国联合网络通信集团有限公司 一种车辆部署方法及装置
CN113641496B (zh) * 2021-08-13 2023-12-12 陕西边云协同网络科技有限责任公司 基于深度强化学习的dids任务调度优化方法
CN114942799B (zh) * 2022-06-21 2023-08-04 福州大学 云边环境下基于强化学习的工作流调度方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228314A (zh) * 2016-08-11 2016-12-14 电子科技大学 基于深度增强学习的工作流调度方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228314A (zh) * 2016-08-11 2016-12-14 电子科技大学 基于深度增强学习的工作流调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Deep Reinforcement Learning-based Scheduling for Roadside Communication Networks";Ribal Atallah etc.;《2017 15TH INTERNATIONAL SYMPOSIUM ON MODELING AND OPTIMIZATION IN MOBILE, AD HOC, AND WIRELESS NETWORKS (WIOPT)》;20170519;第I 、VI- VIII节,附图1-4

Also Published As

Publication number Publication date
CN107145387A (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
CN107145387B (zh) 一种车载网环境下基于深度强化学习的任务调度方法
Xu et al. Game theory for distributed IoV task offloading with fuzzy neural network in edge computing
WO2021248607A1 (zh) 一种基于深度强化学习的出租车调度方法及系统
CN109272157A (zh) 一种基于门控神经网络的高速公路交通流参数预测方法及系统
Ke et al. Optimizing online matching for ride-sourcing services with multi-agent deep reinforcement learning
CN109831522A (zh) 一种基于smdp的车联云雾系统动态资源优化管理系统和方法
CN105302858B (zh) 一种分布式数据库系统的跨节点查询优化方法及系统
CN105657758B (zh) 一种基于Markov模型的多AP自适应切换方法
Tang et al. Online operations of automated electric taxi fleets: An advisor-student reinforcement learning framework
Ouyang et al. Network user equilibrium model for scheduling daily activity travel patterns in congested networks
CN113672846A (zh) 网约车调度方法、装置、电子设备及存储介质
CN108170531A (zh) 一种基于深度信念网络的云数据中心请求流调度方法
CN115686846A (zh) 边缘计算中融合图神经网络和强化学习的容器集群在线部署方法
Akter et al. Time-constrained task allocation and worker routing in mobile crowd-sensing using a decomposition technique and deep Q-learning
Zhao et al. Cooperative task assignment in spatial crowdsourcing via multi-agent deep reinforcement learning
CN115022322A (zh) 一种车联网中基于群智进化的边云协作任务卸载方法
Oda et al. Distributed fleet control with maximum entropy deep reinforcement learning
CN114372680A (zh) 一种基于工人流失预测的空间众包任务分配方法
Mu et al. Deep reinforcement learning based adaptive threshold multi-tasks offloading approach in mec
CN103838964B (zh) 一种基于人工交通系统的社交关系网络生成方法及装置
CN107612967A (zh) 一种基于群体智能的车联网服务对象发现方法
CN110222892B (zh) 乘客的下车站点预测方法及装置
CN115865914A (zh) 车辆边缘计算中基于联邦深度强化学习的任务卸载方法
CN116739466A (zh) 基于多智能体深度强化学习的配送中心车辆路径规划方法
CN113708982B (zh) 一种基于群体学习的服务功能链部署方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant