Ref:R. Huang, V. W. S. Wong and R. Schober, “Throughput Optimization for Grant-Free Multiple Access With Multiagent Deep Reinforcement Learning,” in IEEE Transactions on Wireless Communications, vol. 20, no. 1, pp. 228-242, Jan. 2021, doi: 10.1109/TWC.2020.3024166.
Abstract
\quad\quad
非授权多址(GFMA)有希望有效支持物联网设备的上行接入。在本文中,我们为GFMA系统提出了一种基于深度强化学习(DRL)的导频序列选择方案,以减轻潜在的导频序列冲突。我们将具有特定吞吐量约束的GFMA系统中总吞吐量最大化的导频序列选择问题公式化为马尔可夫决策过程(MDP)。通过利用多智能体DRL,我们训练深度神经网络(DNNs)从底层MDP的过渡历史中学习接近最优的导频序列选择策略,而不需要用户之间的信息交换。虽然训练过程利用了全局信息,但我们利用因子分解技术来确保DNN策略可以以分布式方式执行。仿真结果表明,该方案的平均总吞吐量在最优值的85%以内,分别比基于确认的GFMA、动态接入类别限制和随机选择GFMA方案高31%、128%和162%。我们的结果还证明了所提出的方案支持具有特定吞吐量要求的物联网设备的能力。
Introduction
\quad\quad 物联网(Internet of Things, IoT)是一个很有前途的范式,可以支持各种类型的应用,包括智能家居、智能城市、智能交通系统和智慧医疗等等[2]。因此,物联网被认为是工业4.0的重要推动者[3]。虽然物联网得益于大量设备提供的数据[4],但这也给无线通信系统带来了新的挑战。由于资源有限,无线通信系统需要支持大量的物联网设备。据估计,到2023年,全球将会有147亿个机器类型的连接[5]。此外,不同的物联网设备根据其应用和服务可能有不同的数据速率或吞吐量要求[2]。因此,无线通信系统必须实现高效的物联网数据传输,以便能够支持大量具有不同吞吐量需求的设备。
\quad\quad
非授权多址接入(Grant-free Multiple Access, GFMA)可以通过提高频谱效率和减少接入延迟来应对无线系统中出现的这些挑战[6],[7]。在GFMA中,物联网设备从预先分配的资源池中选择导频序列,并将其数据发送到基站,而不向基站发送接入请求。基站在成功解码后向设备发送确认(ACK)。GFMA的时序图示于图1。与LTE中基于四步授权的随机接入相比,GFMA只需要两步接入。因此可以有较低的信令开销,并减少随机接入过程中物联网设备的接入延迟。此外,当与非正交多址(NOMA)结合时,多个物联网设备可以同时向共享相同物理资源块的基站(GFMA系统中的PRB)传输它们的数据包[8]。
\quad\quad
为了充分利用GFMA,必须克服两个挑战。首先,由于缺乏集中调度,当多个物联网设备选择相同的导频序列时,就会发生分组冲突,从而导致解码失败和吞吐量下降。因此,每个设备都应该选择一个特定的导频序列,将自己的信号与其他设备的信号区分开来,以确保接收机成功进行信道估计和解码
[8]。其次,异构物联网设备之间无法协调传输或交换信息。每个设备独立地选择导频序列,而不知道其他设备的选择。
此外,由于缺乏对其他设备吞吐量需求的了解,物联网设备可能贪婪地占用太多网络资源,从而无法满足其他设备的吞吐量需求。
\quad\quad
目前有很多学者提出了许多方案来解决GFMA系统中导频序列选择的冲突问题[9]–[11]。[9]中的作者提出了一种基于ACK的调度方案,其中经历分组冲突的设备从其他设备尚未选择的剩余导频序列中选择新的导频序列,并重传分组。作者在[10]中提出,基站保留一些导频序列用于当分组冲突发生时设备的重传。然后,基站通过广播确认向设备通知保留的导频序列。对于基于确认的解决方案[9],[10],虽然冲突在重传阶段得到解决,但是当设备第一次发送数据包时,冲突仍然会发生,因为只有在冲突发生后才执行调度。
[11]中的作者提出了一种导频序列分配方案,其中基站将导频序列预分配给那些在下一时隙中传输分组的概率较高的设备。然而,在[11]中的分配方案需要集中调度和发射概率的精确估计。此外,上述方案没有考虑任何吞吐量需求,因此可能无法支持不同类型的物联网应用。
\quad\quad
深度强化学习(DRL)是一种基于深度神经网络的无模型学习的技术。DRL不依赖于预先建立的系统模型,是解决具有大决策空间的优化问题的有力工具[12],[13]。与基于多武装匪徒问题的解决方案[14]–[16]相比,基于DRL的解决方案可以被推广并应用于具有不同系统模型和目标的问题。对于本文的问题,利用DRL,DNN可以通过训练之前的序列选择来学习用于导频序列选择的分布式策略。基于预先训练的DNN,设备可以避免与其他设备的冲突,而不需要设备之间的信息交换。
\quad\quad
将传统的多智能体强化学习(MARL)与决策神经网络相结合,多智能体DRL (MA-DRL)可以联合训练多个决策神经网络来联合学习策略,从而有效地处理非平稳多智能体决策过程[17]–[19]。但GFMA协议设计中尚未考虑DRL方式。然而,从认知无线电中分布式频谱接入的DRL应用中可以获得一些启发[20]–[22]。文献[20]的作者利用DRL设计了一种分布式多信道接入方案,以降低冲突概率,最大化信道利用率。在[21]中,DRL被用来研究多用户的合作和非合作信道接入。作者在[21]中表明,通过适当地设计合作奖励函数,基于DRL的信道接入方案可以在比例公平方面产生比使用个人奖励函数更好的性能。作者在[22]中提出了一种基于DRL的异构无线网络信道接入方案。文献[22]的结果表明,通过使用一个MA-DRL框架和一个合作奖励函数,可以实现最大的总吞吐量和比例公平。综合吞吐量最大化和比例公平是α公平的两种特殊情况,已在[21]和[22]中进行了研究,但上述研究中提出的DRL框架不能应用于用户可能有不同吞吐量要求的无线系统。
后一种情况可以被视为比例公平的一般情况,其中用户基于其特定的吞吐量需求被优先化。与α-公平性相比,在这种情况下,对于DNN来说,学习关于设备的特定吞吐量需求的导频序列选择策略更困难。
\quad\quad
为了解决上述问题,本文提出了一种基于MA-DRL的分布式导频序列选择方案,用于GFMA系统中的聚合吞吐量最大化,其中我们考虑了不同的用户吞吐量需求。每个物联网设备既不知道导频序列选择决策,也不知道其他设备的吞吐量要求。由于每个设备缺乏全局信息,设计一个促进物联网设备之间协作的分布式方案,以满足不同设备的吞吐量需求是一项挑战。在本文中,我们利用递归神经网络的潜力来处理底层决策过程的不完全信息,并研究其学习导频序列选择策略的能力,从而在满足不同吞吐量需求的同时,最大化总吞吐量。
\quad\quad
为了更好地解决设备之间非平稳性和缺乏协调性等问题,我们进一步提出了一个MA-DRL训练框架,在该框架中,联合训练所有设备的DNN,在基站的全局信息的帮助下学习导频序列选择策略。使用因子分解技术[18],[23],在联合训练期间学习的策略可以以分布式方式执行。我们的贡献如下:
- 我们建模导频序列选择问题来解决GFMA系统中的吞吐量优化问题,我们的建模也具有 IoT 设备的平均吞吐量限制。我们应用随机网络优化[24]并提出一种算法来获得最优解。在依赖于集中调度的同时,当评估所提出的基于DRL的方案的性能时,最优解可以充当基准。
- 我们将导频序列选择过程建模为马尔可夫决策过程(MDP),并提出了一种导频序列选择方案,其中基于DRL对dnn进行训练,以从物联网设备的底层MDP的过渡历史中学习导频序列选择策略。我们提出了一种深度递归Q网络(DRQN)来利用rnn的能力来有效地学习时间序列学习问题中系统转换的时间相关性。
- 利用因式分解技术,我们提出了一个集中式训练分布式执行框架。在建议的训练框架中,所有物联网设备的DRQNs都是利用基站的全局信息进行联合训练的,而在集中训练阶段学习到的策略可以以分布式在线方式执行。
- 我们进行仿真来评估所提出方案的性能。我们的结果表明,DNN能够学习物联网设备的接近最优的导频序列选择策略。对于所考虑的系统,所提出的方案可以实现85%最优范围内的总吞吐量。该方案的总吞吐量分别比基于确认的方案[9]、动态接入类别限制(ACB) [25]和随机选择方案高31%、128%和162%。通过DRL学习的导频序列选择策略也可以适应物联网设备的不同吞吐量要求。因此,所提出的方案能够支持GFMA系统中不同的物联网应用。
\quad\quad 本文的其余部分组织如下。第二节介绍了系统模型和问题表述。第三节介绍了DRL导频序列选择框架。第四节介绍了DNN体系结构和训练算法。第五节提供了模拟结果。第六节得出了结论。
SYSTEM MODEL AND PROBLEM FORMULATION
\quad\quad
我们考虑一个GFMA系统,其中一个基站服务多个用户。基站和每个用户配备一个天线。时间被划分为相等的时间间隔。时间间隔
[
t
,
T
+
1
]
[t,T+1]
[t,T+1]称为时隙
T
T
T,其中
t
∈
T
=
{
0
,
1
,
2
,
⋯
,
t
1
}
t \in T=\{0,1,2,\cdots,t_{1}\}
t∈T={0,1,2,⋯,t1}。基站主动控制网络资源分配,以用于GFMA传输。特别地,每个时隙基站会为GFMA传输分配一个PRB,即一个时频资源块。我们假设基站在每个时隙中将K个导频序列分配给PRB,并且
K
\mathbb{K}
K
=
1
,
2
,
.
.
.
K
= {1,2,...K}
=1,2,...K是导频序列索引的集合。韦尔奇界等式序列、格拉斯曼序列或其他类型的稀疏扩展序列可以用作导频序列。
\quad\quad
在所考虑的系统中,一共有N个用户,用
N
\mathbb{N}
N
=
1
,
2
,
.
.
.
N
= {1,2,...N}
=1,2,...N表示。所有数据包都使用GFMA传输。在每个时隙的开始,基站通过无线电资源控制信令向用户通知PRB和K个可用导频序列。当用户决定发送时,它在K个可用导频序列中选择1个并执行上行链路传输。我们假设当用户决定执行上行链路传输时,总是有分组要发送。如果用户
n
∈
N
n \in N
n∈N在时隙
t
∈
T
t \in T
t∈T中选择第K个导频序列
k
∈
K
k\in K
k∈K,我们定义二进制变量
g
n
k
∈
{
0
,
1
}
g_{nk}\in \{0,1\}
gnk∈{0,1},当
g
n
k
(
t
)
g_{nk}(t)
gnk(t)等于1时,用户
n
∈
N
n\in N
n∈N选择了第
k
k
k个导频序列。否则,
g
n
k
(
t
)
g_{nk}(t)
gnk(t)等于0。用户在每个时隙中最多只能选择一个导频序列,我们有
∑
k
∈
K
g
n
k
(
t
)
≤
1
,
n
∈
N
,
t
∈
T
.
(1)
\sum _{k\in \mathcal {K} } g_{nk}(t) \leq 1, \quad n\in \mathcal {N}, t\in \mathcal {T}.\tag{1}
k∈K∑gnk(t)≤1,n∈N,t∈T.(1)
当
∑
k
∈
K
g
n
k
(
t
)
=
0
\sum_{k\in K}g_{nk}(t)=0
∑k∈Kgnk(t)=0时,用户
n
n
n在时序t中不会传输数据。定义
g
n
(
t
)
=
(
g
n
1
(
t
)
,
g
n
2
(
t
)
,
⋯
,
g
n
K
(
t
)
)
g_{n}(t)=(g_{n1}(t),g_{n2}(t),\cdots,g_{nK}(t))
gn(t)=(gn1(t),gn2(t),⋯,gnK(t))为用户
n
n
n在时序t中的导频序列选择向量。定义
n
k
(
t
)
n_{k}(t)
nk(t)为在时序
t
t
t内选择第k个导频序列的用户数,我们有:
n
k
(
t
)
≜
∑
n
∈
N
g
n
k
(
t
)
,
k
∈
K
,
t
∈
T
.
(2)
n_{k}(t) \triangleq \sum _{n\in \mathcal {N} } g_{nk}(t),\quad k\in \mathcal {K}, t\in \mathcal {T}.\tag{2}
nk(t)≜n∈N∑gnk(t),k∈K,t∈T.(2)
此外,
S
(
t
)
S(t)
S(t)表示选择选择在时隙
t
t
t中没有被其他用户选择的导频序列的一组用户,即
S
(
t
)
≜
{
n
∣
∑
k
∈
K
1
(
n
k
(
t
)
=
1
)
g
n
k
(
t
)
=
1
,
n
∈
N
}
,
t
∈
T
,
\mathcal {S}(t)\triangleq \left\{{n \: \Bigl \vert \: \sum _{k\in \mathcal {K} } {\mathsf{1}} (n_{k}(t) = 1) g_{nk}(t) \:=\: 1, \:n\in \mathcal {N} }\right\},\quad t\in \mathcal {T},
S(t)≜{n∣∣∣k∈K∑1(nk(t)=1)gnk(t)=1,n∈N},t∈T,
其中,
1
(
⋅
)
1(\cdot)
1(⋅)为指示函数。
在接收机侧,基站基于接收的导频序列估计信道,然后解码用户的分组。对于选择了其他用户没有选择的导频序列的用户,我们假设基站可以执行完美的信道估计,并应用多用户检测来减轻用户之间的干扰[8],[26],并成功解码他们的分组。然而,当多个用户选择相同的导频序列时,基站不能估计用户的信道,因此不能解码他们的分组[27]。换句话说,我们假设基站只能成功解码集合
S
(
t
)
S(t)
S(t)中用户的数据。对于用户
n
∈
N
n \in N
n∈N,我们将
r
n
(
t
)
r_{n}(t)
rn(t)定义为二进制指示符,用于指定其信号是否在时隙t中被成功解码。我们假设:
r
n
(
t
)
≜
{
1
,
if
n
∈
S
(
t
)
,
0
,
otherwise
.
(3)
r_{n}(t) \triangleq \begin{cases} 1, &\text {if $n\in \mathcal {S}(t) $}, \\ 0, &\text {otherwise}. \end{cases}\tag{3}
rn(t)≜{1,0,if n∈S(t),otherwise.(3)
如果用户的分组被成功解码,基站向用户发送确认。
我们使用基站成功接收的数据包数量的时间平均期望值作为性能指标来衡量所考虑的GFMA系统的平均总吞吐量。
[22]中也采用了这一指标。由于存在
K
K
K个导频序列,因此所考虑的系统最大总吞吐量是每个时隙
K
K
K个分组,这是在没有导频序列选择冲突的情况下所考虑的系统的可实现的总吞吐量。我们将
μ
n
(
t
)
\mu _{n}(t)
μn(t)表示为时隙
t
t
t内用户
n
n
n的平均吞吐量。因此:
μ
n
(
t
)
≜
1
t
∑
τ
=
0
t
−
1
E
[
r
n
(
τ
)
]
,
n
∈
N
,
t
∈
T
∖
{
0
}
,
(4)
\mu _{n}(t) \triangleq \frac {1}{t}\;\sum _{\tau =0}^{t-1} \mathbb {E}\left [{r_{n}(\tau)}\right],\quad n\in \mathcal {N}, \:t\in \mathcal {T} \setminus \{0\},\tag{4}
μn(t)≜t1τ=0∑t−1E[rn(τ)],n∈N,t∈T∖{0},(4)
并且,
E
(
⋅
)
\mathbb {E}(\cdot)
E(⋅)是关于其他用户的导频序列选择的随机性的期望,
μ
n
(
0
)
≜
0
\mu _{n}(0) \triangleq0
μn(0)≜0。通过(4),我们有
μ
n
(
t
)
∈
[
0
,
1
]
\mu _{n}(t)\in [0,1]
μn(t)∈[0,1],且
n
∈
N
,
t
∈
T
n \in \mathcal{N},t \in \mathcal{T}
n∈N,t∈T.此外,我们假设每个用户都知道自己的平均吞吐量,但不知道其他用户的平均吞吐量。这有两个主要原因。首先,我们将特定用户的平均吞吐量视为私有信息。
因此,从移动网络运营商的角度来看,基站不应该广播用户的平均吞吐量,以避免私人信息的潜在泄露。其次,广播用户的平均吞吐量会带来额外的信令开销,该开销与用户数量$K$成比例
.
我们用
μ
n
r
e
q
\mu_{n}^{req}
μnreq表示用户
n
n
n的平均所需吞吐量。因此,关于用户
n
n
n的平均吞吐量需求的约束由下式给出
lim sup
T
→
∞
μ
n
(
T
)
=
lim sup
T
→
∞
1
T
∑
τ
=
0
T
−
1
E
[
r
n
(
τ
)
]
≥
μ
n
req
,
n
∈
N
.
(5)
\limsup _{T\rightarrow \infty } \mu _{n}(T) = \limsup _{T\rightarrow \infty } \frac {1}{T}\sum _{\tau = 0}^{T-1} \mathbb {E}\left [{r_{n}(\tau)}\right] \geq \mu ^{\text {req}}_{n},\quad n\in \mathcal {N}. \\\tag{5}
T→∞limsupμn(T)=T→∞limsupT1τ=0∑T−1E[rn(τ)]≥μnreq,n∈N.(5)
我们假设物联网应用程序的平均所需吞吐量可以分为不同的服务质量级别,并且每个服务质量级别都预先分配有服务质量流标识符(QFI),该标识符是正整数[28,第5.7节]。当向基站发送分组时,用户在分组报头中指示其QFI,并且通过检查分组报头向基站通知用户的平均所需吞吐量[28,第5.8节]。
我们的目标是在用户特定的吞吐量限制下,最大化GFMA系统的平均总吞吐量。这带来了以下优化问题
maximize
g
n
(
t
)
,
n
∈
N
,
t
∈
T
lim
T
→
∞
1
T
∑
t
=
0
T
−
1
∑
n
∈
N
E
[
r
n
(
t
)
]
\underset{\boldsymbol {g}_{n}(t), \:n\in \mathcal {N}, \:t\in \mathcal {T} }{\text {maximize}}~\lim _{T\rightarrow \infty } \frac {1}{T} \sum _{t = 0}^{T-1} \sum _{n\in \mathcal {N} } \mathbb {E}\left [{r_{n}(t)}\right]
gn(t),n∈N,t∈Tmaximize T→∞limT1t=0∑T−1n∈N∑E[rn(t)]
subject to
∑
k
∈
K
g
n
k
(
t
)
≤
1
,
n
∈
N
,
t
∈
T
,
\text {subject to}~\sum _{k\in \mathcal {K} } g_{nk}(t) \leq 1,\,n\in \mathcal {N}, \:t\in \mathcal {T},
subject to k∈K∑gnk(t)≤1,n∈N,t∈T,
lim sup
T
→
∞
1
T
∑
τ
=
0
T
−
1
E
[
r
n
(
τ
)
]
≥
μ
n
req
,
n
∈
N
.
(6)
\limsup _{T\rightarrow \infty } \frac {1}{T}\sum _{\tau = 0}^{T-1} \mathbb {E}\left [{r_{n}(\tau)}\right] \geq \mu ^{\text {req}}_{n}, \quad n\in \mathcal {N}.\tag{6}
T→∞limsupT1τ=0∑T−1E[rn(τ)]≥μnreq,n∈N.(6)
问题(6)是一个组合优化问题,可以使用带有虚拟队列的随机网络优化来解决[24]。这种方法的细节可以在附录中找到。然而,问题(6)的最优解需要全局信息和集中计算
。此外,集中调度
对于在GFMA系统中实现问题(6)的最优解是必要的。因此,在本文中,我们提出了一种实用的基于DRL的在线导频序列选择方案,以分布式方式获得问题(6)的次优解。
MA-DRL FRAMEWORK FOR GFMA SYSTEMS
随着机器学习和人工智能的最新进展,DRL已经成为开发组合优化问题解决方案的强大工具。在本节中,我们将导频序列选择问题建模为MDP问题,并提出了一个基于MA-DRL的框架来有效地解决问题(6)。
A. Modeling With MDP
由于所考虑的GFMA系统中
N
N
N个用户的导频序列选择本质上是一个多智能体决策过程,我们将其建模为MDP,它可以由元组
(
S
,
A
,
P
,
R
)
(\mathcal{S},\mathcal{A},\mathcal{P},\mathcal{R})
(S,A,P,R)定义。详情如下:
1) 状态
S
\mathcal{S}
S: 我们定义变量
d
k
(
t
)
∈
−
1
,
0
,
1
,
k
∈
K
d_{k}(t)\in {-1,0,1},k\in \mathcal{K}
dk(t)∈−1,0,1,k∈K作为当前时隙
t
∈
T
t\in \mathcal{T}
t∈T开始时第
k
k
k个导频序列的解码状态的指示符。
d
k
(
t
)
d_{k}(t)
dk(t)取决于用户在前一个时隙
t
1
t_{1}
t1中的导频序列选择。具体而言,如果使用的第
k
k
k个导频序列的信号在时隙
t
−
1
t-1
t−1中被成功解码,则
d
k
(
t
)
d_{k}(t)
dk(t)等于1。如果使用的第
k
k
k个导频序列的信号在时隙
t
−
1
t-1
t−1没有被成功解码,则我们设置
d
k
(
t
)
d_{k}(t)
dk(t)为-1。如果在时隙t-1中没有使用第k个导频发送信号,则
d
k
(
t
)
d_{k}(t)
dk(t)等于0。在时隙t中,全局状态
s
(
t
)
s(t)
s(t)由所有导频序列的解码状态和直到时隙t的所有用户的平均吞吐量组成。我们有:
s
(
t
)
≜
(
d
1
(
t
)
,
…
,
d
K
(
t
)
,
μ
1
(
t
)
,
…
,
μ
N
(
t
)
)
,
t
∈
T
,
(7)
\boldsymbol {s}(t) \triangleq (d_{1}(t), \ldots, d_{K}(t), \mu _{1}(t),\ldots,\mu _{N}(t)),\quad t\in \mathcal {T},\tag{7}
s(t)≜(d1(t),…,dK(t),μ1(t),…,μN(t)),t∈T,(7)
其中,
μ
n
(
t
)
\mu_{n}(t)
μn(t)由公式(4)给出。在解码所有用户的分组之后,基站可以知道所有导频序列
d
1
(
t
)
,
…
,
d
K
(
t
)
d_{1}(t),\ldots,d_{K}^(t)
d1(t),…,dK(t)的解码状态,并且它可以跟踪所有用户
μ
1
(
t
)
,
…
,
μ
N
(
t
)
\mu _{1}(t),\ldots,\mu _{N}(t)
μ1(t),…,μN(t)的平均吞吐量。因此,在基站,全局状态
s
(
t
)
s(t)
s(t)在每个时隙中都可用。我们定义
S
⊆
{
−
1
,
0
,
1
}
K
×
[
0
,
1
]
N
\mathcal {S}\subseteq \{-1,0,1\}^{K} \times [{0,1}]^{N}
S⊆{−1,0,1}K×[0,1]N为所有可能的全局状态的集合。
我们假设基站包括
d
1
(
t
)
,
…
,
d
K
(
t
)
d_{1}(t), \ldots, d_{K}(t)
d1(t),…,dK(t)的信息,并且在时隙t的开始向用户广播该信息。每个
d
k
(
t
)
,
k
∈
K
d_{k}(t),\,k\in \mathcal {K}
dk(t),k∈K可以使用2比特来编码。因此,对于具有K个导频序列的GFMA系统,这导致了用于下行链路信令的2K比特的开销。然而,除了知道所有K个可用导频序列的解码状态之外,用户
n
n
n只知道其平均吞吐量
μ
n
(
t
)
\mu_{n}(t)
μn(t)。因此,我们将用户
n
n
n在时隙t中的本地状态定义为
s
n
(
t
)
≜
(
d
1
(
t
)
,
…
,
d
K
(
t
)
,
μ
n
(
t
)
)
,
t
∈
T
.
(8)
\boldsymbol {s}_{n}(t) \triangleq (d_{1}(t), \ldots, d_{K}(t), \mu _{n}(t)),\quad t\in \mathcal {T}.\tag{8}
sn(t)≜(d1(t),…,dK(t),μn(t)),t∈T.(8)
我们定义
S
^
⊆
{
−
1
,
0
,
1
}
K
×
[
0
,
1
]
\widehat { \mathcal {S}} \subseteq \{-1,0,1\}^{K} \times [{0,1}]
S
⊆{−1,0,1}K×[0,1]为用户
n
∈
N
n \in \mathcal{N}
n∈N所有可能状态的集合。我们注意到,由于这个状态包括用户的平均吞吐量,一个特定时隙中的状态取决于前一时隙的状态和用户的导频序列选择。
2)联合行动
A
\mathcal{A}
A
在时隙t中,用户
n
n
n的动作是它自己的导频序列选择
g
n
(
t
)
g_{n}(t)
gn(t)。为了减少动作空间的维度,我们使用用户
n
n
n在时隙t中选择的导频序列的索引来指示其动作。即
a
n
(
t
)
∈
A
^
=
{
0
,
1
,
…
,
K
}
,
n
∈
N
,
t
∈
T
,
(9)
a_{n}(t) \in \mathcal {\widehat {A}} = \{0,1,\ldots,K\},\quad n\in \mathcal {N},\:t\in \mathcal {T},\tag{9}
an(t)∈A
={0,1,…,K},n∈N,t∈T,(9)
其中,
a
n
(
t
)
=
0
a_{n}(t)=0
an(t)=0意味着用户
n
n
n没有在时隙
t
t
t内传输。时隙t内所有用户的联合行动为:
a
(
t
)
≜
(
a
1
(
t
)
,
…
,
a
N
(
t
)
)
,
t
∈
T
.
(10)
\boldsymbol {a}(t) \triangleq (a_{1}(t),\ldots,a_{N}(t)),\quad t\in \mathcal {T}.\tag{10}
a(t)≜(a1(t),…,aN(t)),t∈T.(10)
3) 状态转移概率
P
\mathcal{P}
P: 给定现在的状态
s
(
t
)
\boldsymbol {s}(t)
s(t)和联合行动
a
(
t
)
\boldsymbol {a}(t)
a(t),下一状态
s
(
t
+
1
)
s(t+1)
s(t+1)后,状态转移概率为
P
(
s
(
t
+
1
)
∣
s
(
t
)
,
a
(
t
)
)
,
t
∈
T
\mathbb {P}(\boldsymbol {s}(t+1)\,|\,\boldsymbol {s}(t),\boldsymbol {a}(t)), \:t\in \mathcal {T}
P(s(t+1)∣s(t),a(t)),t∈T。在所考虑的GFMA系统中,如果给出当前状态
s
(
t
)
\boldsymbol {s}(t)
s(t)和联合行动
a
(
t
)
\boldsymbol {a}(t)
a(t),则下一个状态
s
(
t
+
1
)
s(t+1)
s(t+1)可以用概率1来确定。我们把状态转移概率表示为
P
:
S
×
S
×
A
→
[
0
,
1
]
\mathcal {P}: \mathcal {S}\times \mathcal {S}\times \mathcal {A} \rightarrow [{0,1}]
P:S×S×A→[0,1]。
4) 奖励
R
\mathcal{R}
R: 奖励是基于所有用户的状态和联合行动确定的真实数字。在所考虑的MDP,给定全局状态
s
(
t
)
\boldsymbol {s}(t)
s(t)和联合行动
a
(
t
)
\boldsymbol {a}(t)
a(t),所有用户都获得一个集合奖励,其定义如下:
R
(
s
(
t
)
,
a
(
t
)
)
≜
∑
n
∈
N
(
r
^
n
(
t
)
−
λ
n
(
t
)
(
μ
n
req
−
μ
n
(
t
)
)
)
,
t
∈
T
,
(11)
\hspace {-.5pc}R(\boldsymbol {s}(t),\boldsymbol {a}(t)) \triangleq \sum _{n\in \mathcal {N} }\Big (\hat {r}_{n}(t) - \lambda _{n}(t) (\mu ^{\text {req}}_{n} - \mu _{n}(t))\Big), t\in \mathcal {T},\tag{11}
R(s(t),a(t))≜n∈N∑(r^n(t)−λn(t)(μnreq−μn(t))),t∈T,(11)
其中,
r
^
n
(
t
)
\hat {r}_{n}(t)
r^n(t)表示为:
r
n
(
t
)
=
{
1
,
the packet of user
n
has been successfully received
,
−
1
,
the packet of user
n
‘
collided with those of other users
,
0
,
otherwise
.
(12)
r_{n}(t) = \begin{cases} 1, &\text {the packet of user} ~n~\text {has been successfully received}, \\[5pt] -1, &\text {the packet of user}~ n`\text {collided with those of other users}, \\[5pt] 0, &\text {otherwise}. \end{cases}\tag{12}
rn(t)=⎩⎪⎪⎪⎨⎪⎪⎪⎧1,−1,0,the packet of user n has been successfully received,the packet of user n‘collided with those of other users,otherwise.(12)
λ
n
(
t
)
(
μ
n
req
−
μ
n
(
t
)
)
\lambda _{n}(t) (\mu ^{\text {req}}_{n} - \mu _{n}(t))
λn(t)(μnreq−μn(t))是违反用户吞吐量约束带来的惩罚值,当
μ
n
(
t
)
<
μ
n
req
\mu _{n}(t) < \mu ^{\text {req}}_{n}
μn(t)<μnreq时,我们设
λ
n
(
t
)
\lambda _{n}(t)
λn(t)为常数C,当吞吐量约束满足时为0。即
λ
n
(
t
)
=
{
C
,
if
μ
n
(
t
)
<
μ
n
req
,
0
,
otherwise
.
(13)
\lambda _{n}(t) = \begin{cases} C, \quad &\text {if $\mu _{n}(t) < \mu ^{\text {req}}_{n}$}, \\ 0, \quad &\text {otherwise}. \end{cases}\tag{13}
λn(t)={C,0,if μn(t)<μnreq,otherwise.(13)
我们定义
R
⊆
R
\mathcal {R} \subseteq \mathbb {R}
R⊆R为奖励的集合。
B. Global Q-Value Approximation With MA-DRL
为了最大化MDP中的总汇报,最优联合行动可以通过传统的Q-Learning来确定[29]。在Q-Learning中,在状态s下采取联合行动a的预期累积折扣奖励由全局Q值
Q
G
(
s
,
a
)
Q^{\mathrm {G}}(\boldsymbol {s}, \boldsymbol {a})
QG(s,a)给出[29,第3.5节],如下所示:
Q
G
(
s
,
a
)
=
E
[
∑
k
=
0
∞
γ
k
R
(
s
(
t
+
k
)
,
a
(
t
+
k
)
)
∣
s
(
t
)
=
s
,
a
(
t
)
=
a
]
,
(14)
\hspace {-.5pc} Q^{\mathrm {G}}(\boldsymbol {s}, \boldsymbol {a}) = \mathbb {E}\bigg [\sum _{k=0}^{\infty }\gamma ^{k}\;R(\boldsymbol {s}(t+k),\boldsymbol {a}(t+k)) {{\bigg |\; \boldsymbol {s}(t) = \boldsymbol {s}, \;\boldsymbol {a}(t)=\boldsymbol {a}\bigg],}}\tag{14}
QG(s,a)=E[k=0∑∞γkR(s(t+k),a(t+k))∣∣∣∣s(t)=s,a(t)=a],(14)
其中,
γ
∈
[
0
,
1
]
\gamma \in [0,1]
γ∈[0,1]是折扣系数。在决策过程中更新全局Q值。在时隙t,给定状态
s
(
t
)
s(t)
s(t),用户可以选择联合行动
a
(
t
)
a(t)
a(t),得到回报
R
(
s
(
t
)
,
a
(
t
)
)
R(s(t),a(t))
R(s(t),a(t)),接着,下一个状态为
s
(
t
+
1
)
s(t+1)
s(t+1)。Q值可以更新为:
Q
G
(
s
(
t
)
,
a
(
t
)
)
←
E
[
R
(
s
(
t
)
,
a
(
t
)
)
\hspace {-.5pc} Q^{\mathrm {G}}(\boldsymbol {s}(t),\boldsymbol {a}(t)) \leftarrow \mathbb {E}\bigg [R(\boldsymbol {s}(t),\boldsymbol {a}(t))
QG(s(t),a(t))←E[R(s(t),a(t))
+
γ
max
a
′
∈
A
Q
G
(
s
(
t
+
1
)
,
a
′
)
∣
s
(
t
)
=
s
,
a
(
t
)
=
a
]
.
(15)
{{+\, \gamma \:\max \limits_{\boldsymbol {a}'\in \mathcal {A}}\: Q^{\mathrm {G}}(\boldsymbol {s}(t+1),\boldsymbol {a}')\, \bigg | \,\boldsymbol {s}(t) = \boldsymbol {s}, \;\boldsymbol {a}(t)=\boldsymbol {a}\bigg].}}\tag{15}
+γa′∈AmaxQG(s(t+1),a′)∣∣∣∣s(t)=s,a(t)=a].(15)
在多智能体决策过程中对全局Q值的估计是有益的,因为全局状态
s
(
t
)
s(t)
s(t)和联合行动
a
(
t
)
a(t)
a(t)包含所有用户的信息。因此,全局Q值可以捕捉用户的行为对其他用户的影响,从而处理多智能体决策过程的非平稳情况[30],[31]
。为了确定使预期累积折扣奖励最大化的行动
a
(
t
)
a(t)
a(t),在传统的Q-learning中,需要Q表来存储给定状态
s
(
t
)
s(t)
s(t)的所有可能动作的全局Q值。然而,Q表的大小随着动作和状态空间的基数而增加。这使得Q-learning在计算和内存方面成本很高,尤其对于物联网设备而言。
\quad\quad
Deep Q-learning[12]可以来解决上述问题。在Deep Q-learning中,通过在给定状态和所有可能动作的相应Q值之间建立映射,Q值由DNNs近似。具有可学习参数
Φ
\boldsymbol {\Phi }
Φ的DNN模块可以用来逼近全局Q值。事实上,
Φ
\boldsymbol {\Phi }
Φ是一个向量,包括DNN模块中神经元的权重和偏差。
\quad\quad
可学习参数
Φ
\boldsymbol {\Phi }
Φ基于系统转移历史被更新,以提高Q值近似的精度。这被称为DNN的训练阶段。在当前时隙
t
t
t中,系统转移历史由系统转移元组
(
s
(
τ
)
,
a
(
τ
)
,
R
(
s
(
τ
)
,
a
(
τ
)
)
,
s
(
τ
+
1
)
)
(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau), R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)),\boldsymbol {s}(\tau +1))
(s(τ),a(τ),R(s(τ),a(τ)),s(τ+1))组成,时间索引
τ
∈
{
0
,
1
,
…
,
t
−
1
}
\tau \in \{0,1,\ldots,t-1\}
τ∈{0,1,…,t−1},描述从时隙
τ
\tau
τ到时隙
τ
+
1
\tau+1
τ+1的系统转移。我们表示
s
(
τ
)
s(\tau)
s(τ)和
a
(
τ
)
a(\tau)
a(τ)的全局Q值,它由参数为
Φ
\boldsymbol {\Phi }
Φ的DNN近似,即
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau))
QΦG(s(τ),a(τ))。在每一次训练迭代中,我们存储由先前训练迭代产生的DNN参数,我们将其表示为
Φ
^
\widehat{\boldsymbol {\Phi }}
Φ
.然后,目标全局q值由
R
(
s
(
τ
)
,
a
(
τ
)
)
+
γ
max
a
∈
A
Q
Φ
^
G
(
s
(
τ
+
1
)
,
a
)
R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)) + \gamma \: \max \limits_{\boldsymbol {a}\in \mathcal {A}} \; Q^{\mathrm {G}}_{ \widehat{\boldsymbol {\Phi }}}(\boldsymbol {s}(\tau + 1), \boldsymbol {a})
R(s(τ),a(τ))+γa∈AmaxQΦ
G(s(τ+1),a)[12]给出。
Φ
^
\widehat{\boldsymbol {\Phi }}
Φ
的更新是通过最小化目标和近似全局
Q
Q
Q值之间的时间差异误差(Temporal Difference,TD)来确定的[12]。即
a
r
g
m
i
n
Φ
1
2
(
R
(
s
(
τ
)
,
a
(
τ
)
)
+
γ
max
a
∈
A
Q
Φ
^
G
(
s
(
τ
+
1
)
,
a
)
−
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
)
2
(16)
\underset {{ \boldsymbol {\Phi }}}{ \mathop {\mathrm {arg\,min}} } \frac {1}{2}\big (R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)) + \gamma \: \underset {\boldsymbol {a}\in \mathcal {A}}{\max } \: Q^{\mathrm {G}}_{ \widehat{\boldsymbol {\Phi }}}(\boldsymbol {s}(\tau + 1), \boldsymbol {a}){{-\, Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)) \big)^{2}}}\tag{16}
Φargmin21(R(s(τ),a(τ))+γa∈AmaxQΦ
G(s(τ+1),a)−QΦG(s(τ),a(τ)))2(16)
对于问题(16)的解,我们应用随机梯度下降(SGD)算法来更新参数
Φ
\boldsymbol {\Phi }
Φ。如下所示:
Φ
←
Φ
−
α
∇
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
(
R
(
s
(
τ
)
,
a
(
τ
)
)
\boldsymbol {\Phi }\leftarrow \boldsymbol {\Phi }- \alpha \: \nabla Q^{\mathrm {G}} _{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau))\: \big (R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau))
Φ←Φ−α∇QΦG(s(τ),a(τ))(R(s(τ),a(τ))
+
γ
max
a
∈
A
Q
Φ
^
G
(
s
(
τ
+
1
)
,
a
)
−
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
)
,
(17)
\qquad {{+\, \gamma \: \max \limits_{\boldsymbol {a}\in \mathcal {A}} \: Q^{\mathrm {G}}_{ \widehat{\boldsymbol {\Phi }}}(\boldsymbol {s}(\tau + 1), \boldsymbol {a})- Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)) \big),}}\tag{17}
+γa∈AmaxQΦ
G(s(τ+1),a)−QΦG(s(τ),a(τ))),(17)
其中,
α
\alpha
α是学习率。梯度
∇
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
\nabla Q^{\mathrm {G}} _{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau))
∇QΦG(s(τ),a(τ))可以由反向传播算法确定。在用足够数量的系统转移元组更新参数
Φ
\boldsymbol {\Phi }
Φ之后,可以基于预先训练的DNN确定最优联合动作,如下所示:
a
(
t
)
=
a
r
g
m
a
x
a
∈
A
Q
Φ
G
(
s
(
t
)
,
a
)
.
(18)
\boldsymbol {a}(t)=\underset {\boldsymbol {a}\in \mathcal {A}}{ \mathop {\mathrm {arg\,max}} }\: Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(t),\boldsymbol {a}).\tag{18}
a(t)=a∈AargmaxQΦG(s(t),a).(18)
C. Local Q-Value Based on Factorization
\qquad
为了估计全局Q值,用户需要知道联合动作
a
(
t
)
a(t)
a(t)和全局状态
s
(
t
)
s(t)
s(t) [30],[31]。然而,由于所考虑的GFMA系统中的用户之间的通信(或协调)是不可能的,用户不能获得关于其他用户的动作或他们的本地状态的知识来直接估计全局Q值
。这意味着仅依赖于全局Q值的MARL算法不能以分布式方式在所考虑的GFMA系统中实现。
\qquad
为了解决上述困难,我们建议每个用户维护一个本地DNN
模块,以估计其自身行为对全局Q值的影响,而不是直接估计全局Q值。利用由参数
Φ
n
\boldsymbol {\Phi }_{n}
Φn表征的局部DNN模块,每个用户
n
∈
N
n\in \mathcal {N}
n∈N可以基于其局部信息,即其动作
a
n
(
τ
)
\boldsymbol {a}_{n}(\tau)
an(τ)和其局部状态
s
n
(
τ
)
\boldsymbol {s}_{n}(\tau)
sn(τ),获得由
Q
Φ
n
(
s
n
(
τ
)
,
a
n
(
τ
)
)
Q_{ \boldsymbol {\Phi }_{n}}(\boldsymbol {s}_{n}(\tau),a_{n}(\tau))
QΦn(sn(τ),an(τ))表示的局部Q值。
\qquad
为了确保由用户n的本地DNN模块估计的本地Q值能够捕获用户n的动作对全局Q值的影响,应该学习全局Q值和本地Q值之间的映射。为了获得这样的映射,我们采用了MARL和多智能体系统中的因式分解思想
[23],[34],[35],根据该思想,对于给定的状态,导致更大的全局Q值的用户动作也应该导致更大的局部Q值。特别地,让
a
−
N
(
τ
)
\boldsymbol a_{-N}(\tau)
a−N(τ)表示除了时隙τ中的用户N之外的集合N中的所有用户的动作。给定全局状态s(τ)和局部状态
s
n
(
τ
)
s_{n}(\tau)
sn(τ),由用户n的局部DNN模逼近的局部Q值是全局Q值的因式分解[34,Ch.3]
Q
Φ
n
(
s
n
(
τ
)
,
a
n
(
τ
)
)
>
Q
Φ
n
(
s
n
(
τ
)
,
a
n
′
(
τ
)
)
Q_{ \boldsymbol {\Phi }_{n}}(\boldsymbol {s}_{n}(\tau),a_{n}(\tau))>Q_{ \boldsymbol {\Phi }_{n}}(\boldsymbol {s}_{n}(\tau),a'_{n}(\tau))
QΦn(sn(τ),an(τ))>QΦn(sn(τ),an′(τ))
⇔
Q
Φ
G
(
s
(
τ
)
,
(
a
n
(
τ
)
,
a
−
n
(
τ
)
)
)
\\\Leftrightarrow Q_{ \boldsymbol {\Phi }}^{\mathrm {G}}(\boldsymbol {s}(\tau), (a_{n}(\tau),\boldsymbol {a}_{-n}(\tau)))
⇔QΦG(s(τ),(an(τ),a−n(τ)))
>
Q
Φ
G
(
s
(
τ
)
,
(
a
n
′
(
τ
)
,
a
−
n
(
τ
)
)
)
,
(19)
>Q_{ \boldsymbol {\Phi }}^{\mathrm {G}}(\boldsymbol {s}(\tau), (a'_{n}(\tau),\boldsymbol {a}_{-n}(\tau))),\tag{19}
>QΦG(s(τ),(an′(τ),a−n(τ))),(19)
其中,
a
n
(
τ
)
,
a
n
′
(
τ
)
∈
A
^
a_{n}(\tau), a'_{n}(\tau) \in \mathcal {\widehat {A}}
an(τ),an′(τ)∈A
且
a
−
n
(
τ
)
∈
A
^
N
−
1
\boldsymbol {a}_{-n}(\tau) \in \mathcal {\widehat {A}} ^{N-1}
a−n(τ)∈A
N−1。为了得到因式分解结果,我们采用单调函数
F
(
⋅
)
F(\cdot)
F(⋅),即
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
=
F
(
Q
Φ
1
(
s
1
(
τ
)
,
a
1
(
τ
)
)
,
⋯
,
Q
Φ
N
(
s
N
(
τ
)
,
a
N
(
τ
)
)
)
.
(20)
Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau))= F\big (Q_{ \boldsymbol {\Phi }_{1}}(\boldsymbol {s}_{1}(\tau),a_{1}(\tau)), {{\cdots, Q_{ \boldsymbol {\Phi }_{N}}(\boldsymbol {s}_{N}(\tau),a_{N}(\tau))\big).}}\tag{20}
QΦG(s(τ),a(τ))=F(QΦ1(s1(τ),a1(τ)),⋯,QΦN(sN(τ),aN(τ))).(20)
式(20)中的单调函数满足如下条件:
∂
F
(
Q
Φ
1
(
s
1
(
τ
)
,
a
1
(
τ
)
)
,
⋯
,
Q
Φ
N
(
s
N
(
τ
)
,
a
N
(
τ
)
)
)
∂
Q
Φ
n
(
s
n
(
τ
)
,
a
n
(
τ
)
)
>
0.
(21)
\frac {\partial F\big (Q_{ \boldsymbol {\Phi }_{1}}(\boldsymbol {s}_{1}(\tau),a_{1}(\tau)), \cdots, Q_{ \boldsymbol {\Phi }_{N}}(\boldsymbol {s}_{N}(\tau),a_{N}(\tau))\big)}{\partial Q _{ \boldsymbol {\Phi }_{n}}(\boldsymbol {s}_{n}(\tau),a_{n}(\tau))} > 0. \\\tag{21}
∂QΦn(sn(τ),an(τ))∂F(QΦ1(s1(τ),a1(τ)),⋯,QΦN(sN(τ),aN(τ)))>0.(21)
任何满足(21)约束的单调函数保证了局部Q值是全局Q值的因式分解,且满足(19)。
我们强调,全局Q值的因子分解是设计基于MA-DRL的分布式导频序列选择方案的关键。(20)中全局Q值的因式分解可以带来如下性质:
a
r
g
m
a
x
a
∈
A
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
=
(
a
r
g
m
a
x
a
1
∈
A
^
Q
Φ
1
(
s
1
(
τ
)
,
a
1
)
,
\underset {\boldsymbol {a}\in \mathcal {A}}{ \mathop {\mathrm {arg\,max}} }\: Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau)) = \Big (\underset {a_{1}\in \mathcal {\widehat {A}} }{ \mathop {\mathrm {arg\,max}} }\: Q_{ \boldsymbol {\Phi }_{1}}(\boldsymbol {s}_{1}(\tau),a_{1}),
a∈AargmaxQΦG(s(τ),a(τ))=(a1∈A
argmaxQΦ1(s1(τ),a1),
…
,
a
r
g
m
a
x
a
N
∈
A
^
Q
Φ
N
(
s
N
(
τ
)
,
a
N
)
)
.
(22)
{{\ldots,\mathop{ \mathop {\mathrm {arg\,max}} }\limits_{a_{N}\in \mathcal {\widehat {A}} }\: Q_{ \boldsymbol {\Phi }_{N}}(\boldsymbol {s}_{N}(\tau),a_{N})\Big).}}\tag{22}
…,aN∈A
argmaxQΦN(sN(τ),aN)).(22)
公式(22)表明,使全局Q值最大化的联合行动对应于使每个用户的局部Q值最大化的个体动作
n
∈
N
n\in\mathcal{N}
n∈N。换句话说,每个用户可以通过贪婪地选择使其局部Q值最大化的动作来确定其自己的使全局Q值最大化的动作,即
a
n
(
t
)
=
a
r
g
m
a
x
a
n
∈
A
^
Q
Φ
n
(
s
n
(
t
)
,
a
n
)
.
(23)
a_{n}(t)=\underset {a_{n}\in \mathcal {\widehat {A}} }{ \mathop {\mathrm {arg\,max}} }\: Q_{ \boldsymbol {\Phi }_{n}}(\boldsymbol {s}_{n}(t),a_{n}).\tag{23}
an(t)=an∈A
argmaxQΦn(sn(t),an).(23)
为了获得(23)中的
a
(
t
)
a(t)
a(t),用户
n
n
n将
s
n
(
t
)
s_{n}(t)
sn(t)馈送到其DNN中,并基于DNN的输出来确定
a
n
(
t
)
a_{n}(t)
an(t)。这不需要知道其他用户的动作或全局状态,因此可以以分布式方式实现。
DNN ARCHITECTURE AND PROPOSED SCHEME
在本节中,我们为DNN模块提出了一个架构来近似全局和局部Q值。我们还提出了一种在线导频序列选择方案,其中导频序列选择是基于预先训练的DNN模块的输出来确定的。
A. Overall Network Architecture
所提出的用于逼近全局 Q 值的 DNN 模块的整体网络架构如图 2 所示。DNN 模块由两部分组成:
- 深度循环 Q 网络 (DRQN):DRQN 是一个基于循环神经网络 (RNN) 的 DNN 模块,可以从系统转换历史中聚合经验。我们使用 DRQN 根据用户的状态生成 Q 值。
- 分解模块:分解模块是一个多层感知器(MLP)模块,它保证用户的局部 Q 值是近似全局 Q 值的分解。为此,训练分解模块在(20)中利用全局信息,即全局状态
s
(
t
)
\boldsymbol{s}(t)
s(t) 来逼近单调函数
F
(
⋅
)
F(\cdot)
F(⋅).
具体而言,每个用户维护一个本地 DRQN 以确定近似的本地 Q 值(图 2 的右侧),用户可以根据该值选择其导频序列。同时,所有用户的DRQN的训练都是由基站完成的。在基站集中训练阶段(图 2左侧),所有用户的 DRQN 都是基于全局信息联合训练的。
在无线系统中使用集中训练的优点有两个。首先,配备强大硬件的基站可以高效地为用户训练 DNN。其次,用户(即 IoT 设备)可以通过不参与耗能训练阶段来延长其电池寿命。分解模块仅在训练阶段使用,以确保可以正确分解全局 Q 值。训练完成后,基站将 DRQN 的可学习参数发送给用户。用户基于 DRQN 的输出以分布式方式选择导频序列,而不依赖于全局信息。
请注意,基站不知道用户的哪些导频序列选择会导致冲突。此外,基站无法区分保持沉默的用户和遭受冲突的用户。这可以防止基站知道联合行动 a ( τ ) \boldsymbol{a}(\tau) a(τ) . 因此,在实践中,用户 n n n 可能包含其行动的历史 一种n( τ) 在其数据包中,以便基站可以获取完整的系统转换历史。
所提出的训练框架属于分布式 DRL 和 MA-DRL [13]、[36]中的集中式训练分布式执行框架。我们将传统的 MARL,特别是分解技术与 DRL 相结合。所提出框架的优点是可以在集中训练过程中学习分布式和特定于用户的导频序列选择策略。此外,与传统的集中式 MARL 相比,所提出的学习框架能够在 DNN 的帮助下更好地处理大型联合动作空间。网络架构的详细信息在以下小节中介绍。
B DRQN Design
所有用户的DRQN具有相同的网络架构,如图3所示。对于每个用户
n
∈
N
n\in \mathcal {N}
n∈N,DRQN 中的 DNN 层及其功能如下:
1)输入层:输入层收集本地状态并将其馈送给DNN。对于用户n的DRQN,输入是本地状态sn(t),是大小为K + 1的向量。
2)Long Short-Term Memory(LSTM)层:由输入层收集的本地状态sn(t)被馈送到LSTM层。LSTM层是RNN的一种。使用LSTM层,可以学习关于系统转换历史的信息,并将其存储在其循环状态中。因此,LSTM层可以比前馈神经网络更有效地学习系统转变的时间相关性。出于同样的原因,LSTM层能够克服底层MDP缺乏完整信息的问题[13]。具体来说,我们使用一个带有D隐藏单元的LSTM层来聚合来自系统转换历史的信息,并近似Q值。LSTM层的输出是其隐藏状态。
3)输出层: LSTM层连接到输出层以产生Q值。具体来说,我们使用两个全连接层和一个整流线性单元层来基于LSTM层的隐藏状态生成Q值。输出是大小为K+1的向量。对于
k
∈
K
k\in \mathcal {K}
k∈K,输出向量的第 (k + 1)个条目是用于为本地状态
s
n
(
t
)
\boldsymbol {s}_{n}(t)
sn(t)在时隙t中选择第K个导频序列的本地Q值,而第一个条目是用于不在时隙t中发送的本地Q值。
C Factorization Module Design
因子分解模块的DNN结构如图4所示。为了获得全局Q值分解所需的函数
F
(
⋅
)
F(\cdot)
F(⋅),我们使用基于MLP网络的通用近似器(参见图4中的蓝框)来近似函数F(),而MLP网络的权重和偏差由四个FC层生成(参见图4中的绿框)。如[37]所示,具有一个隐层的MLP网络可以作为通用逼近器。特别地,MLP网络的输入层具有N个神经元,并且每个神经元分别将由N个用户的DRQNs近似的局部Q值之一作为输入。MLP网络的隐藏层有H神经元。输出层有一个神经元,因为全局Q值是标量。我们将隐藏层的第j个神经元和输入层的第n个神经元之间的权重以及隐藏层的第j个神经元在时隙τ中的bias分别表示为
v
j
n
(
τ
)
v_{jn}(\tau)
vjn(τ)vjn(τ)和
b
j
(
τ
)
b_{j}(\tau)
bj(τ)。我们将时隙τ中隐藏层的第j个神经元和输出层的神经元之间的权重表示为
w
j
(
τ
)
w_j(\tau)
wj(τ))。时隙
τ
\tau
τ输出层神经元的偏差记为
b
0
(
τ
)
b_0(\tau)
b0(τ)。
F
(
⋅
)
F(\cdot)
F(⋅)可以表示为:
F
(
Q
Φ
1
(
s
1
(
τ
)
,
a
1
(
τ
)
)
,
…
,
Q
Φ
N
(
s
N
(
τ
)
,
a
N
(
τ
)
)
)
F(Q_{ \boldsymbol {\Phi }_{1}}(\boldsymbol {s}_{1}(\tau),\boldsymbol {a}_{ 1}(\tau)), \ldots, Q_{ \boldsymbol {\Phi }_{N}}(\boldsymbol {s}_{N}(\tau),\boldsymbol {a}_{N}(\tau)))
F(QΦ1(s1(τ),a1(τ)),…,QΦN(sN(τ),aN(τ)))
=
b
0
(
τ
)
+
∑
j
=
1
H
w
j
(
τ
)
h
(
b
j
(
τ
)
+
∑
n
∈
N
v
j
n
(
τ
)
Q
Φ
n
(
s
n
(
τ
)
,
a
n
(
τ
)
)
)
,
(24)
= b_{0}(\tau) + \sum _{j=1}^{H} w_{j}(\tau) h\Big (b_{j}(\tau) + \sum _{n\in \mathcal {N} } v_{jn}(\tau) Q_{ \boldsymbol {\Phi }_{n}}(\boldsymbol {s}_{n}(\tau) ,a_{n}(\tau))\Big),\tag{24}
=b0(τ)+j=1∑Hwj(τ)h(bj(τ)+n∈N∑vjn(τ)QΦn(sn(τ),an(τ))),(24)
回想一下,为了确保局部Q值是全局Q值的因子分解,函数
F
(
⋅
)
F(\cdot)
F(⋅)应该满足条件(21)。这意味着函数
F
(
⋅
)
F(\cdot)
F(⋅)相对于输入
Q
Φ
n
(
s
n
(
τ
)
,
a
n
(
τ
)
)
,
n
∈
N
Q_{ \boldsymbol {\Phi }_{n}}(\boldsymbol {s}_{n}(\tau),a_{n}(\tau)),\,n\in \mathcal {N}
QΦn(sn(τ),an(τ)),n∈N应该是单调递增的。对于由通用逼近器(24)逼近的函数,由于sigmoid函数
h
(
⋅
)
h(\cdot)
h(⋅)是单调递增的,如果时隙
τ
∈
T
\tau \in T
τ∈T中的权重,即
w
j
(
τ
)
w_j(\tau)
wj(τ)和
v
j
n
(
τ
)
v_{jn}(\tau)
vjn(τ)都是正的,则满足条件(21)[37]。因此,我们强调,获得具有所需因子分解性质的函数
F
(
⋅
)
F(\cdot)
F(⋅)的关键是在训练阶段增强MLP网络权重的poistivity。
由于全局
Q
Q
Q值
Q
G
(
s
(
τ
)
,
a
(
τ
)
)
Q^{\mathrm {G}}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau))
QG(s(τ),a(τ))依赖于全局状态
s
(
τ
)
s(\tau)
s(τ),所以让近似单调函数F()也依赖于全局状态是直观的。因此,我们使用DNNs基于全局状态s(τ)生成通用逼近器在时隙τ中的权重和偏差。通过这样做,我们让通用逼近器的权重和偏差依赖于时隙中的特定状态,使得单调函数F()可以针对不同的状态进行调整,例如,用户的不同实现吞吐量。这使得通用逼近器更加灵活。为了考虑状态s(τ)对权重和偏差的影响,我们将(24)中的τ替换为s(τ)。通用近似器(24)然后可以用下面的矩阵符号来写
F
(
Q
Φ
1
(
s
1
(
τ
)
,
a
1
(
τ
)
)
,
…
,
Q
Φ
N
(
s
N
(
τ
)
,
a
N
(
τ
)
)
)
=
W
(
s
(
τ
)
)
h
(
V
(
s
(
τ
)
)
Q
(
s
(
τ
)
,
a
(
τ
)
)
+
b
(
s
(
τ
)
)
)
+
b
0
(
s
(
τ
)
)
,
(25)
F\big (Q_{ \boldsymbol {\Phi }_{1}}(\boldsymbol {s}_{1}(\tau),\boldsymbol {a} _{1}(\tau)), \ldots, Q_{ \boldsymbol {\Phi }_{N}}(\boldsymbol {s}_{N}(\tau),\boldsymbol {a}_{N} (\tau))\big) \\=\boldsymbol {W}(\boldsymbol {s}(\tau))\;h\big (\boldsymbol {V}(\boldsymbol {s}(\tau)) \;\boldsymbol {Q}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau)) + \boldsymbol {b}(\boldsymbol {s}(\tau))\big) \\ +\, b_{0}(\boldsymbol {s}(\tau)),\tag{25}
F(QΦ1(s1(τ),a1(τ)),…,QΦN(sN(τ),aN(τ)))=W(s(τ))h(V(s(τ))Q(s(τ),a(τ))+b(s(τ)))+b0(s(τ)),(25)
这里,
h
(
⋅
)
h(\cdot)
h(⋅)是元素态的sigmoid函数。
Q
(
s
(
τ
)
,
a
(
τ
)
)
=
[
Q
Φ
1
(
s
1
(
τ
)
,
a
1
(
τ
)
)
⋯
Q
Φ
N
(
s
N
(
τ
)
,
a
N
(
τ
)
)
]
⊤
∈
R
N
×
1
,
(26)
{Q}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau))=\bigg [Q_{ \boldsymbol {\Phi }_{1}} (\boldsymbol {s}_{1}(\tau),\boldsymbol {a}_{1}(\tau)) \\\cdots \;\; Q_{ \boldsymbol {\Phi }_{N}}(\boldsymbol {s}_{N}(\tau),\boldsymbol {a}_{N}(\tau))\bigg]^\top \hspace {-3mm}\in \mathbb {R}^{N \times 1},\tag{26}
Q(s(τ),a(τ))=[QΦ1(s1(τ),a1(τ))⋯QΦN(sN(τ),aN(τ))]⊤∈RN×1,(26)
V
(
s
(
τ
)
)
=
[
v
11
(
s
(
τ
)
)
⋯
v
1
N
(
s
(
τ
)
)
⋮
⋱
v
d
o
t
s
v
H
1
(
s
(
τ
)
)
⋯
v
H
N
(
s
(
τ
)
)
]
∈
R
H
×
N
,
(27)
\boldsymbol {V}(\boldsymbol {s}(\tau))=\begin{bmatrix} v_ {11}(\boldsymbol {s}(\tau)) \quad \cdots &\quad v_{1N}(\boldsymbol {s}(\tau))\\ \vdots & \quad \ddots \quad \ vdots \\ v_{H1}(\boldsymbol {s}(\tau)) \quad \cdots & v_{HN}(\boldsymbol {s}(\tau)) \end{bmatrix}\in \mathbb {R }^{H \times N}, \tag{27}
V(s(τ))=⎣⎢⎡v11(s(τ))⋯⋮vH1(s(τ))⋯v1N(s(τ))⋱ vdotsvHN(s(τ))⎦⎥⎤∈RH×N,(27)
b
(
s
(
τ
)
)
=
[
b
1
(
s
(
τ
)
)
b
2
(
s
(
τ
)
)
]
⊤
∈
R
H
×
1
,
(28)
\boldsymbol {b}(\boldsymbol {s}(\tau))=\begin{bmatrix} b_{ 1}(\boldsymbol {s}(\tau))~ b_{2}(\boldsymbol {s}(\tau)) \end{bmatrix}^\top \in \mathbb {R}^{H \times 1}, \tag{28}
b(s(τ))=[b1(s(τ)) b2(s(τ))]⊤∈RH×1,(28)
W
(
s
(
τ
)
)
=
[
w
1
(
s
(
τ
)
)
w
2
(
s
(
τ
)
)
⋯
w
H
(
s
(
τ
)
)
]
∈
R
1
×
H
.
(29)
\boldsymbol {W}(\boldsymbol {s}(\tau))=\begin{bmatrix} w_{1}(\boldsymbol {s}(\tau)) &~w_{2}(\boldsymbol {s}(\tau)) & ~\cdots & ~w_{H}(\boldsymbol {s}(\tau)) \end{bmatrix}\in \mathbb {R}^{1 \times H}.\!\!\!\!\! \\\tag{29}\
W(s(τ))=[w1(s(τ)) w2(s(τ)) ⋯ wH(s(τ))]∈R1×H. (29)
时隙τ中的权重
V
(
s
(
τ
)
)
V(s(\tau))
V(s(τ))、
W
(
s
(
τ
)
)
W(s(\tau))
W(s(τ))和偏差
b
(
s
(
τ
)
)
b(s(\tau))
b(s(τ))、
b
0
(
s
(
τ
)
)
b_0(s(\tau))
b0(s(τ))分别由多个DNN生成,以提高通用逼近器的表示能力[19]。特别是,我们使用一个FC层来生成权重
V
(
s
(
τ
)
)
V(s(\tau))
V(s(τ))。这个FC层的输入是全局状态
s
(
τ
)
s(\tau)
s(τ),输出是大小为
H
N
HN
HN的向量。输出向量然后被重新排列成一个
H
×
N
H \times N
H×N矩阵。权重
V
(
s
(
τ
)
)
V(s(\tau))
V(s(τ))是通过取输出矩阵所有元素的绝对值得到的。我们也使用类似的方法来获得权重
W
(
s
(
τ
)
)
W(s(\tau))
W(s(τ))。注意,通过取绝对值,我们确保(24)中的权重都是正的,因此获得了期望的因子分解性质。我们使用一个FC层来获得偏差
b
(
s
(
τ
)
)
b(s(\tau))
b(s(τ))。该FC层以
(
s
(
τ
)
(s(\tau)
(s(τ)为输入,输出为大小为h的向量
b
(
s
(
τ
)
)
b(s(\tau))
b(s(τ)),不需要使偏差为正,因为偏差的符号不会影响单调性。我们使用类似的方法来获得偏置
b
0
(
s
(
τ
)
)
b_0(s(\tau))
b0(s(τ))。
b
0
(
s
(
τ
)
)
b_0(s(\tau))
b0(s(τ))的FC层的输出尺寸等于1。
D. Joint Training Algorithm
我们用
Φ
0
\boldsymbol {\Phi }_{0}
Φ0来表示包含因式分解模块的可学习参数的向量。由于时隙
τ
\tau
τ中的单调函数
F
(
⋅
)
F(\cdot)
F(⋅)依赖于全局状态
s
(
τ
)
s(\tau)
s(τ)和参数
Φ
0
\boldsymbol {\Phi }_{0}
Φ0,我们将其表示为
F
s
(
τ
)
,
Φ
0
(
⋅
)
F_{\boldsymbol {s}(\tau), \boldsymbol {\Phi }_{0}}(\cdot)
Fs(τ),Φ0(⋅)。基于所提出的网络结构,用于近似全局Q值
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau))
QΦG(s(τ),a(τ))的参数
Φ
0
\boldsymbol {\Phi }_{0}
Φ0现在表示为
Φ
=
(
Φ
0
,
Φ
1
,
…
,
Φ
N
)
\boldsymbol {\Phi }= (\boldsymbol {\Phi }_{0}, \boldsymbol {\Phi }_{1},\ldots, \boldsymbol {\Phi }_{N})
Φ=(Φ0,Φ1,…,ΦN),它包括N个DRQNs的参数和因式分解模块的参数。算法1总结了训练算法。
在第5行,状态
s
(
τ
)
s(\tau)
s(τ)和联合行动
a
(
τ
)
a(\tau)
a(τ)下的近似全局
Q
Q
Q值表示为:
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
=
F
s
(
τ
)
,
Φ
0
(
Q
Φ
1
(
s
1
(
τ
)
,
a
1
(
τ
)
)
,
…
,
Q
Φ
N
(
s
N
(
τ
)
,
a
N
(
τ
)
)
)
.
(30)
Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau)) = F_{\boldsymbol {s}(\tau), \boldsymbol {\Phi }_{0}}\big (Q_{ \boldsymbol {\Phi }_{1}}(\boldsymbol {s}_{1}(\tau),a_{1}(\tau)), {{\ldots, Q_{ \boldsymbol {\Phi }_{N}}(\boldsymbol {s}_{N}(\tau),a_{N}(\tau))\big).}}\tag{30}
QΦG(s(τ),a(τ))=Fs(τ),Φ0(QΦ1(s1(τ),a1(τ)),…,QΦN(sN(τ),aN(τ))).(30)
为了获得
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau))
QΦG(s(τ),a(τ)),我们首先将时隙τ中的本地状态
s
n
(
τ
)
,
n
∈
N
\boldsymbol {s}_{n}(\tau), n\in \mathcal {N}
sn(τ),n∈N馈送到用户N的DRQN中。可以通过选择与an(τ)对应的输出条目的值来获得
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau))
QΦG(s(τ),a(τ))。然后,我们将全局状态s(τ)馈入因子分解模块。对于四个FC层的输出,权重
V
(
s
(
τ
)
)
,
W
(
s
(
τ
)
)
\boldsymbol {V}(\boldsymbol {s}(\tau)), \boldsymbol {W}(\boldsymbol {s}(\tau))
V(s(τ)),W(s(τ))和偏差
b
(
s
(
τ
)
)
,
b
0
(
s
(
τ
)
)
\boldsymbol {b}(\boldsymbol {s}(\tau)), b_{0}(\boldsymbol {s}(\tau))
b(s(τ)),b0(s(τ))产生单调函数
F
s
(
τ
)
,
Φ
0
(
⋅
)
F_{\boldsymbol {s}(\tau), \boldsymbol {\Phi }_{0}}(\cdot)
Fs(τ),Φ0(⋅)。
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau))
QΦG(s(τ),a(τ))现在可以基于(25)获得,其
Q
Φ
n
G
(
s
n
(
τ
)
,
a
n
(
τ
)
)
Q^{\mathrm {G}}_{ \boldsymbol {\Phi_n }}(\boldsymbol {s_n}(\tau), \boldsymbol {a_n}(\tau))
QΦnG(sn(τ),an(τ))作为单调函数的输入。
基站现在可以基于全局Q值近似的TD误差来联合训练因子分解模块和DRQNs。
在第6行,对于具有时间索引
τ
\tau
τ的系统转换元组,全局Q值近似的目标是
y
Φ
G
(
s
(
τ
+
1
)
,
R
(
s
(
τ
)
,
a
(
τ
)
)
)
=
R
(
s
(
τ
)
,
a
(
τ
)
)
+
γ
max
a
∈
A
Q
Φ
G
(
s
(
τ
+
1
)
,
a
)
=
R
(
s
(
τ
)
,
a
(
τ
)
)
+
γ
max
a
∈
A
F
s
(
τ
+
1
)
,
Φ
0
(
Q
Φ
1
(
s
1
(
τ
+
1
)
,
a
1
)
,
y^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau +1), R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau))) \\=R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)) + \gamma \:\underset {\boldsymbol {a}\in \mathcal {A}}{\max }\: Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau +1),\boldsymbol {a}) \\=R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)) + \gamma \:\underset {\boldsymbol {a}\in \mathcal {A}}{\max }\:F_{\boldsymbol {s}(\tau +1), \boldsymbol {\Phi }_{0}}\big (Q_{ \boldsymbol {\Phi }_{1}}(\boldsymbol {s}_{1}(\tau +1),a_{1}),
yΦG(s(τ+1),R(s(τ),a(τ)))=R(s(τ),a(τ))+γa∈AmaxQΦG(s(τ+1),a)=R(s(τ),a(τ))+γa∈AmaxFs(τ+1),Φ0(QΦ1(s1(τ+1),a1),
…
,
Q
Φ
N
(
s
N
(
τ
+
1
)
,
a
N
)
)
=
(
a
)
R
(
s
(
τ
)
,
a
(
τ
)
)
+
γ
F
s
(
τ
+
1
)
,
Φ
0
(
max
a
1
∈
A
^
Q
Φ
1
(
s
1
(
τ
+
1
)
,
a
1
)
,
\ldots, Q_{ \boldsymbol {\Phi }_{N}}(\boldsymbol {s}_{N}(\tau +1),a_{N})\big) \\\stackrel {(a)}{=}R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)) + \gamma \:F_{\boldsymbol {s}(\tau +1), \boldsymbol {\Phi }_{0}}\big (\underset {a_{1}\in \mathcal {\widehat {A}} }{\max }\: Q_{ \boldsymbol {\Phi }_{1}}(\boldsymbol {s}_{1}(\tau +1),a_{1}),
…,QΦN(sN(τ+1),aN))=(a)R(s(τ),a(τ))+γFs(τ+1),Φ0(a1∈A
maxQΦ1(s1(τ+1),a1),
…
,
max
a
N
∈
A
^
Q
Φ
N
(
s
N
(
τ
+
1
)
,
a
N
)
)
.
(31)
\ldots,\underset {a_{N}\in \mathcal {\widehat {A}} }{\max }\: Q_{ \boldsymbol {\Phi }_{N}}(\boldsymbol {s}_{N}(\tau +1),a_{N})\big).\tag{31}
…,aN∈A
maxQΦN(sN(τ+1),aN)).(31)
\quad\quad
在实际系统中,基站保持系统转换历史,这在DRL文献[12],[17]中被称为replay。在每次训练迭代中,基站从replay中采样包含多个系统转换元组的小批次。基站在(32)中为小批量内的元组确定TD误差,然后更新参数
Φ
\boldsymbol {\Phi }
Φ。为了有效地训练LSTM层,我们不是从长期重放中随机采样系统转换元组,而是采样m个连续时隙的系统转换元组,并将相应的系统转换历史顺序馈送到DNN模块中以更新参数。通过这样做,LSTM层的隐藏状态可以在整个训练迭代中继续,以从系统转变历史中学习时间相关性。我们注意到,已知用从replay中采样的小批次训练LSTM层会遭受初始重复状态失配[13],这可能导致不准确的Q值近似。具体而言,在两个连续训练迭代(即,先前训练迭代和当前训练迭代)中采样的迷你批次可以表示两个不同时间段的系统转变历史。这意味着在先前训练迭代中采样的系统转变历史内的时间相关性可能与在当前训练迭代中采样的时间相关性显著不同。因此,基于在先前训练迭代中采样的系统转变历史生成的LSTM层的隐藏状态可能不能相对于在当前训练迭代中采样的系统转变历史精确地逼近Q值。
\quad\quad
为了克服初始重复状态不匹配,LSTM层的隐藏状态应该在每次训练迭代中正确初始化。我们使用采样微批次内的前l个连续系统转换元组来初始化LSTM层的隐藏状态,从而可以基于在当前训练迭代中采样的系统转换历史的时间相关性来初始化隐藏状态(也称为老化方法(burn-in method)[13])。
\quad\quad
这是通过将前
l
l
l个时隙的状态历史顺序馈送到DRQNs来实现的。因此,隐藏状态可以被初始化并继续。随后,我们使用剩余
m
−
l
m-l
m−l个连续时隙的状态历史来更新可学习参数。全局Q值近似的TD误差仅针对剩余
m
−
l
m-l
m−l时隙的状态确定,然后进行平均。我们用
T
b
′
T_{b}'
Tb′表示迷你批次内系统转换元组的时间索引集,不包括前
l
l
l个转换元组。对于采样的微型批次,全局Q值近似的TD误差为
L
G
=
1
m
−
l
∑
τ
∈
T
b
′
L
G
(
s
(
τ
)
,
a
(
τ
)
,
R
(
s
(
τ
)
,
a
(
τ
)
)
,
s
(
τ
+
1
)
)
.
(33)
\mathcal {L}_{G} = \frac {1}{m-l}\sum _{\tau \in \mathcal {T}'_{b}} \mathcal {L}_{G}(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau), R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)), \boldsymbol {s}(\tau +1)). \tag{33}
LG=m−l1τ∈Tb′∑LG(s(τ),a(τ),R(s(τ),a(τ)),s(τ+1)).(33)
在第7行,可学习参数
Φ
\boldsymbol{\Phi}
Φ可以用SGD更新:
Φ
←
Φ
−
α
m
−
l
∑
τ
∈
T
b
′
(
y
Φ
G
(
s
(
τ
+
1
)
,
R
(
s
(
τ
)
,
a
(
τ
)
)
)
\boldsymbol {\Phi }\leftarrow \boldsymbol {\Phi }- \frac {\alpha }{m-l} \:\sum _{\tau \in \mathcal {T}'_{b}} (y^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau +1), R(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)))
Φ←Φ−m−lατ∈Tb′∑(yΦG(s(τ+1),R(s(τ),a(τ)))
−
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
)
∇
Q
Φ
G
(
s
(
τ
)
,
a
(
τ
)
)
.
(34)
\qquad\qquad\qquad {{-\,\, Q^{\mathrm {G}}_{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau), \boldsymbol {a}(\tau)))\:\nabla Q^{\mathrm {G}} _{ \boldsymbol {\Phi }}(\boldsymbol {s}(\tau),\boldsymbol {a}(\tau)).}}\tag{34}
−QΦG(s(τ),a(τ)))∇QΦG(s(τ),a(τ)).(34)
\quad\quad
(34)中的训练是一个端到端的学习过程。即在每次训练迭代中,基于全局Q值逼近的TD误差联合训练所有用户的DRQNs以及因式分解模块。
E. Proposed Online Scheme
\quad\quad
如(22)和(23)所示,用户可以通过利用其本地信息和预训练的DRQN以分布式方式确定其导频序列选择。特别地,基站将用户n的DRQN的参数,即
Φ
n
\boldsymbol{\Phi_{n}}
Φn,发送回用户
n
∈
N
n \in N
n∈N。每个用户维护一个本地DRQN。一旦从基站接收到参数
Φ
n
\boldsymbol{\Phi_{n}}
Φn,用户
n
n
n就将其本地DRQN的参数更新为与
Φ
n
\boldsymbol{\Phi_{n}}
Φn相同。贪婪策略选择其导频序列。具体地,用户
n
n
n在当前时隙
t
t
t中的导频序列选择由[12]确定
a
n
(
t
)
=
{
a
r
g
m
a
x
a
n
∈
A
^
Q
Φ
n
(
s
n
(
t
)
,
a
n
)
,
with probability
1
−
ϵ
,
random selection
,
with probability
ϵ
,
(35)
a_{n}(t) = \begin{cases} \underset {a_{n}\in \mathcal {\widehat {A}} }{ \mathop {\mathrm {arg\,max}} }\: Q_{ \boldsymbol {\Phi }_{n}}(\boldsymbol {s}_{n}(t),a_{n}), &\text {with probability } 1-\epsilon, \\ \text {random selection}, &\text {with probability } \epsilon, \end{cases}\!\!\!\!\! \tag{35}
an(t)=⎩⎨⎧an∈A
argmaxQΦn(sn(t),an),random selection,with probability 1−ϵ,with probability ϵ,(35)
其中,
ϵ
=
ϵ
min
+
(
ϵ
max
−
ϵ
min
)
e
−
G
/
ϵ
decay
\epsilon = \epsilon _{\text {min}} + (\epsilon _{\text {max}} - \epsilon _{\text {min}}) e^{-G/\epsilon _{\text {decay}}}
ϵ=ϵmin+(ϵmax−ϵmin)e−G/ϵdecay,
ϵ
min
,
ϵ
max
,
ϵ
decay
\epsilon _{\text {min}},\epsilon _{\text {max}},\epsilon _{\text {decay}}
ϵmin,ϵmax,ϵdecay是常数,
G
G
G是训练迭代计数器。
ϵ
\epsilon
ϵ-贪婪策略的选择是为了避免过拟合。为了确定当前时间序列
t
t
t的行动
a
n
(
t
)
=
a
r
g
m
a
x
a
n
∈
A
^
Q
Φ
n
(
s
n
(
t
)
,
a
n
)
a_{n}(t)=\mathop{ \mathop {\mathrm {arg\,max}} }\limits_{a_{n}\in \mathcal {\widehat {A}} }\: Q_{ \boldsymbol {\Phi }_{n}}(\boldsymbol {s}_{n}(t),a_{n})
an(t)=an∈A
argmaxQΦn(sn(t),an),用户
n
n
n将本地状态
s
n
(
t
)
s_n(t)
sn(t)传递到DRQN中,并且基于DRQN的输出确定时隙t中的导频序列选择。
F. Discussion
\quad\quad
图2中的框架是可扩展的,因为DRQN模块的数量可以根据用户数量而变化,而不改变后续的训练算法。我们注意到,如果N或K的值改变,dnn的可学习参数必须被更新。然而,基站可以通过使用用户聚类来有效地避免频繁地重新训练dnn。假设基站服务
N
′
N'
N′个用户,有
K
′
K'
K′个导频序列,但是具有针对N个用户和K个导频序列的预训练dnn。在这种情况下,基站可以将用户分为
[
N
′
N
]
[\frac{N'}{N}]
[NN′]集群,其中每个集群包含N个用户。然后,基站将K个正交导频序列分配给每个用户群。这意味着不同的簇被分配了不同的导频序列,因此不同簇中的用户之间不存在导频序列冲突。这需要
[
N
′
N
]
K
[\frac{N'}{N}]K
[NN′]K个正交导频序列。通过这样做,预先训练的dnn可以在每个用户群中重用,而无需调用重新训练。
\quad\quad
我们注意到,当
N
N
N不是
N
‘
N‘
N‘的倍数或
N
′
N'
N′小于
N
N
N时,此外,当
K
K
K不是
K
‘
K‘
K‘的倍数或
K
′
K'
K′小于
K
K
K时,在这两种情况下,该特定用户群内的用户的dnn都必须重新训练。原因是,随着特定集群中用户数量或导频序列的变化,应该更新该集群中用户的导频序列选择策略,以适应新的网络设置。为此,必须对dnn进行重新训练,以学习新的导频序列选择策略。