一、论文概述
1.原文GitHub链接
2.原文大意
论文作者提出了一种深度强化学习方法解决了边缘计算中的任务卸载决策和资源分配问题。
整体分为两大部分:
(1)卸载动作的生成:例如有3个设备,则卸载策略可表示为[1,0,1]
(均为二进制数据,即0或1),即第一台设备和第三台设备将计算任务卸载到边缘服务器执行,第二台设备自身执行计算任务;
(2)卸载策略的更新:根据经验回放缓冲池中的数据更新网络参数,从而优化卸载决策(细节不再赘述,不是本文重点)。
二、保序量化方法
1.概述
此方法应用在上述提到的卸载动作生成部分。
上述提到的第一部分——卸载动作生成的步骤是:首先使用DNN生成一个一维向量,一维向量的每个值范围在0~1之间,原文称其为relaxed offloading action
,注意此时就要用到保序量化方法了,由于本文采用的是深度强化学习的思想,故而我们需要自己探索出几种可能的卸载决策作为强化学习中的action
,由于DNN只能生成一个action
,所以接下来我们就要根据刚刚DNN生成的relaxed offloading action
再生成几种卸载决策作为强化学习中的action
来训练。
在上述根据relaxed offloading action
生成k
种卸载决策时就要用到本文的重点——保序量化方法。
2.计算过程
我们假设relaxed offloading action
为[0.2,0.4,0.7,0.9]
,将要生成的卸载决策个数K = 4
。
根据下列步骤进行生成:
(1)第一个卸载决策x1
根据上述的relaxed offloading action
直接计算,当对应位置的值大于0.5则为1,反之则为0。那么第一个卸载决策x1
为[0,0,1,1]
。
(2)剩余的三个卸载决策则稍微复杂一些,我们首先要计算relaxed offloading action
其中值与0.5的差值的绝对值,然后将其进行由小到大排序,得到[0.4,0.7,0.2,0.9]
。
(3)接下来的三个卸载决策则根据(2)中计算的结果计算。具体的:第二个卸载卸载决策则依赖[0.4,0.7,0.2,0.9]
中的第一个数,第三个卸载决策依赖于第二个数,以此类推。则最多可以生成N个卸载决策,但到底具体怎么算出来的呢,有下面四种情况:
简单来说,就是relaxed offloading action
对应位置上的值和(2)中算出来的一维向量中的某一个数进行比较(生成第k个卸载决策的时候就和第k - 1个数进行比较),最后可得剩余三个卸载决策为:x2 = [0, 1, 1, 1], x3 = [0, 0, 0, 1], x4 = [1, 1, 1, 1]
。(原文在此部分的公式详解在4.2后半部分中)
三、总结
保序量化方法和KNN算法类似,都是根据一条数据生成k个相似数据,但KNN是生成给定数据附近的k组数据,保序量化方法是生成相互之间具有更大距离的k组数据,这样更有利于强化学习算法的实现,论文原作者也对这两种方法进行了对比试验,结果验证了这一猜想。
参考文献
[1] L. Huang, S. Bi and Y. -J. A. Zhang, “Deep Reinforcement Learning for Online Computation Offloading in Wireless Powered Mobile-Edge Computing Networks,” in IEEE Transactions on Mobile Computing, vol. 19, no. 11, pp. 2581-2593, 1 Nov. 2020, doi: 10.1109/TMC.2019.2928811.
keywords: {Wireless communication;Task analysis;Wireless sensor networks;Resource management;Fading channels;Computational complexity;Reinforcement learning;Mobile-edge computing;wireless power transfer;reinforcement learning;resource allocation},