This commit is contained in:
Junior
2024-05-21 23:00:55 +08:00
parent ef139f315c
commit 94f61bfa61
16 changed files with 155 additions and 103 deletions
+15 -16
View File
@@ -1,17 +1,17 @@
\chapter{基于深度强化学习的跳波束算法研究}
\section{引言}
对于多波束卫星,不同地区的覆盖会导致流量的空间分布不均匀,在某一个时间点亮部分活跃的波束,提供服务的跳波束机制是有效应对空间流量分布不均匀的方法。传统的方法解决跳波束问题多采用优化或者元启发算法。这些方法的主要问题是随着波束数量的增加、解空间会极速上升。而跳波束决策是一种典型的动态环境序列决策问题,可以采用深度强化学习的方法进行建模。但是单智能体DRL方法在面对巨大的解空间时求解困难,容易出现维度灾难,面对流量需求和波束的公平性存在权衡的问题。如果将波束视为智能体进行多智能体深度强化学习,又容易陷入局部解的问题。本文采取了一种折中的方法,通过结合单智能体和多智能体的方法,实现了一种基于深度强化学习的波束与信道联合分配的跳波束算法。
对于多波束卫星,不同地区的覆盖会导致流量的空间分布不均匀,在某一个时间点亮部分活跃的波束,提供服务的跳波束机制是有效应对空间流量分布不均匀的方法。传统的方法解决跳波束问题多采用优化或者元启发算法。这些方法的主要问题是随着波束数量的增加,解空间会快速增长。而跳波束决策是一种典型的动态环境序列决策问题,可以采用深度强化学习的方法进行建模。但是单智能体DRL方法在面对巨大的解空间时求解困难,容易出现维度灾难,面对流量需求和波束的公平性存在权衡的问题。如果将波束视为智能体进行多智能体深度强化学习,又容易陷入局部解的问题。本文采取了一种折中的方法,通过结合单智能体和多智能体的方法,实现了一种基于深度强化学习的波束与信道联合分配的跳波束算法。
\section{系统与问题建模}
\subsection{场景描述}
本文考虑多波束卫星的下行链路,通过时分复用的形式,可以提供$K$个波束覆盖$N$个小区的用户($K<N$)。在$t$时刻,不同的波束与小区之间的可以使用以下矩阵描述:
本文考虑多波束卫星的下行链路,通过时分复用的形式,可以提供$K$个波束覆盖$N$个小区的用户($K<N$)。在$t$时刻,波束与小区的点亮关系可以使用以下矩阵描述:
\begin{equation}
\mathbf{X} = \{x_{k,n} | x_{k,n} \in {0,1},\sum_{n=1}^{N} = 1\}
\mathbf{X} = \{x_{k,n} | x_{k,n} \in {0,1},\sum_{n=1}^{N} x_{k,n}= 1\}
\label{eq:X_bh}
\end{equation}
在本章的假设中,每个小区的数据传输和业务请求通过数据包的形式表示,每个数据包大小均为$\varphi$bit,在一个时隙内产生多个不同业务数据包,请求符合参数为$\lambda_i$泊松分布。每个用户在$t$时刻请求服务,卫星系统通过星上业务缓存队列形成各个小区的业务队列,表示为$\Phi_{t,n} = \{\varphi_{1,n},\varphi_{2,n},\cdots, \varphi_{m, n}\}$。$T$为星上的缓存容量,星上缓存维护业务数据队列,超过时限还没有处理的业务数据将会丢弃。相应地,每个业务在被处理时,由于业务的到达时间和业务的处理时间不同产生排队延迟$\tau$。在$t$时刻,小区$n$的数据总需求为$d_{t,n} = \sum \Phi_{t, n}$。图\ref{fig:bh}展示了本章所示的跳波束系统模型。
在本章的假设中,每个小区的数据传输和业务请求通过数据包的形式表示,每个数据包大小均为$\varphi$比特,在一个时隙内产生多个不同业务数据包,请求符合参数为$\lambda_i$泊松分布。每个用户在$t$时刻请求服务,卫星系统通过星上业务缓存队列形成各个小区的业务队列,表示为$\Phi_{t,n} = \{\varphi_{1,n},\varphi_{2,n},\cdots, \varphi_{m, n}\}$。$T$为星上的缓存容量,星上缓存维护业务数据队列,超过时限还没有处理的业务数据将会丢弃。相应地,每个业务在被处理时,由于业务的到达时间和业务的处理时间不同产生排队延迟$\tau$。在$t$时刻,小区$n$的数据总需求为$d_{t,n} = \sum \Phi_{t, n}$。图\ref{fig:bh}展示了本章所示的跳波束系统模型。
\begin{figure}[hbpt]
\includegraphics[width=0.85\textwidth]{chap/figures/bh.png}
\caption{跳波束系统模型图}
@@ -19,7 +19,7 @@
\end{figure}
在本章使用的模型中,假设系统的总带宽为$B_{tot}$,可以被划分为$M$个不同的信道,每个信道的带宽为$B_{ch}$,在本文第二章的描述中,信道的分配是一个高维的信道分配矩阵,但在跳波束问题中,高维的信道分配矩阵会给问题带来额外的复杂度,为了简化由于信道分带来的复杂度,本章中的波束每次只能分配连续的信道使用,即可能的信道分配方式有$1+2+3+\cdots+M$种。图\ref{fig:bwpattern}展示了四个信道时系统的信道分配方式。
在本章使用的模型中,假设系统的总带宽为$B_{tot}$,可以被划分为$M$个不同的信道,每个信道的带宽为$B_{ch}$,在本文第二章的描述中,信道的分配是一个高维的信道分配矩阵,但在跳波束问题中,高维的信道分配矩阵会给问题带来额外的复杂度,为了简化由于信道分配带来的复杂度,本章中的波束每次只能分配连续的信道使用,即可能的信道分配方式有$1+2+3+\cdots+M$种。图\ref{fig:bwpattern}展示了四个信道时系统的信道分配方式。
\begin{figure}[hbpt]
\centering
\includegraphics[width=0.85\textwidth]{chap/figures/bwpattern.png}
@@ -45,18 +45,18 @@
\label{fig:alphaij}
\end{figure}
波束$k$点亮小区$n$的增益为:
波束$k$点亮小区$n$的信道增益为:
\begin{equation}
h^{k,n} = G^k_t \cdot PL \cdot G^n_r
\label{eq:hnks}
\end{equation}
其中$G^k_t$为波束$k$的发射增益,$G^n_r$为小区$n$的接收增益,$PL$为信道损耗。波束$k$到小区$k$的
其中$G^k_t$为波束$k$的发射增益,$G^n_r$为小区$n$的接收增益,$PL$为信道损耗。波束$k$到小区$n$的
信干噪比为
\begin{equation}
SINR_t^{n,k} = x_{n,k} \frac{P_{beam}h^{n,k}}{N_0|B_t^k|B_{ch} + \sum_{n'\neq n} P_{beam} \alpha^{k, i}h^{n',i}}
\label{eq:sinrbh}
\end{equation}
其中$P_{beam}$为波束的发射功率,$N_0$为系统的噪声功率密度。根据香农公式, 可以计算出小区$n$的信道容量为:
其中$P_{beam}$为波束的发射功率,$N_0$为系统的噪声功率谱密度。根据香农公式, 可以计算出小区$n$的信道容量为:
\begin{equation}
C_t^n = \sum_k x_{n,k} |B_t^k|B_{ch} \log_2(1+SINR_t^{n,k}).
\label{eq:Capch}
@@ -68,7 +68,7 @@
\label{eq:th}
\end{equation}
\subsection{问题建模}
在建立了跳波束的场景下,可以定义动态跳波束的优化问题。对于跳波束系统而言,其首要目标是在时变的小区数据传输需求下,最大化长期的总的数据吞吐量,同时为了保障系统中不同用户的Qos需要尽可能保障各小区业务的公平性,即最小化不同小区之间的业务延迟差异。对卫星而言,其长期吞吐量 可以写为
在建立了跳波束的场景下,可以定义动态跳波束的优化问题。对于跳波束系统而言,其首要目标是在时变的小区数据传输需求下,最大化长期的总的数据吞吐量,同时为了保障系统中不同用户的QoS需要尽可能保障各小区业务的公平性,即最小化不同小区之间的业务延迟差异。对卫星而言,其长期吞吐量 可以写为
\begin{equation}
Th_{tot} = \sum_{t=1}^{T} \sum_{n=1}^{N} Th_t^n
\label{eq:thtotal}
@@ -92,7 +92,7 @@
&\sum_k x_{n,k} = 1 \label{eq:xnkk} \\
\end{align}
在此优化问题中,优化的目标是最大化系统的总体和最小化系统的延时极差,其中$\beta$为权重系数,$\beta$反映了对吞吐量和公平性的取舍,$\beta$越大意味着优化越倾向于最大化吞吐量,反之意味着最小化延时差。$Th_{max}$和$\Delta_{max}$为系统的最大吞吐量和最大极差。约束条件\ref{eq:pttt}为系统的总发射功率约束,约束条件\ref{eq:btot}为系统的总带宽约束,约束条件\ref{eq:xnkk}为波束分配约束。
在此优化问题中,优化的目标是最大化系统的总体吞吐量和最小化系统的延时极差,其中$\beta$为权重系数,$\beta$反映了对吞吐量和公平性的取舍,$\beta$越大意味着优化越倾向于最大化吞吐量,反之意味着倾向最小化延时差。$Th_{max}$和$\Delta_{max}$为系统的最大吞吐量和最大极差。约束条件\ref{eq:pttt}为系统的总发射功率约束,约束条件\ref{eq:btot}为系统的总带宽约束,约束条件\ref{eq:xnkk}为波束分配约束。
\section{基于深度强化学习的跳波束算法建模}
本节详细介绍本章关于动态跳波束问题的解决方法。首先描述了多目标深度强化学习算法的体系结构,包含了算法中的一些考虑,随后给出了状态空间、动作空间、奖励函数等的处理。
\subsection{马尔可夫过程构建}
@@ -149,7 +149,7 @@
\caption{多智能体强化学习框架}
\label{fig:multiagent}
\end{figure}
通常而言这种动作价值的输出是一维的数值,而在图\ref{fig:multiagent}的多智能体合作强化学习网络中,两个智能体的动作选择都是具有$K$个分量的高维向量。面对高维动作空间问题,文献\parencite{hu2020dynamic}采用的方法是通过循环的方式,连续进行$K$次决策:每次选择一个小区后,将该小区的数据需求量暂时更新为0,重复$K$次,执行的动作是$K$个动作的并集,$\vec{a} = \{a_1,a_2,\cdots,a_K\}$。这样做的缺点是系统需要更长的时间进行决策、并且会导致难以收敛。而文献\parencite{lin2022dynamic}采取的方式是将每个分量再次拆解为单独的智能体,即将每个波束视为单独的智能体,这样做大大简化了问题的复杂度,但是会导致智能体之间的合作性降低,容易陷入局部最优解。为了应对以上的问题,本文采用了一种折中的方法,即每一个智能体的Q网络在输出层通过多头分叉的方式输出多组不同的Q值,既能充分利用全局的状态信息,又能在一定程度上降低系统的复杂度。在更新时,本文对每个动作分量分别计算网络的误差,通过总误差求平均值获得网络的误差函数:
通常而言这种动作价值的输出是一维的数值,而在图\ref{fig:multiagent}的多智能体合作强化学习网络中,两个智能体的动作选择都是具有$K$个分量的高维向量。面对高维动作空间问题,文献\parencite{hu2020dynamic}采用的方法是通过循环的方式,连续进行$K$次决策:每次选择一个小区后,将该小区的数据需求量暂时更新为0,重复$K$次,执行的动作是$K$个动作的并集,$\vec{a} = \{a_1,a_2,\cdots,a_K\}$。这种方法的缺点是系统需要更长的时间进行决策且算法难以收敛。而文献\parencite{lin2022dynamic}采取的方式是将每个分量再次拆解为单独的智能体,即将每个波束视为单独的智能体,这样做大大简化了问题的复杂度,但是会导致智能体之间的合作性降低,容易陷入局部最优解。为了应对以上的问题,本文采用了一种折中的方法,即每一个智能体的Q网络在输出层通过多头分叉的方式输出多组不同的Q值,既能充分利用全局的状态信息,又能在一定程度上降低系统的复杂度。在更新时,本文对每个动作分量分别计算网络的误差,通过总误差求平均值获得网络的误差函数:
\begin{equation}
L(\theta) = \frac{1}{K} \sum_k \mathrm{E}[(r_t + \gamma \max Q(s_{t+1}, a'_{t+1,k}; \theta') - Q(s_t, a_{t,k}; \theta))^2]
@@ -278,7 +278,7 @@
\subsubsection{收敛性分析}
根据此前的分析,在$\beta$取不同的值时会导致算法偏向不同的优化目标,$\beta$越大时,算法会更倾向于满足通信的需求,而$\beta$越小会更偏重于时延的公平性。
本节对于不同的$beta$取值,分别进行了训练,如图\ref{fig:rwbeta}所示。从图中可以看出,在不同的$\beta$的取值下,本算法对于奖励函数都最终趋于平稳的数值,反映出算法在不同偏好下都具有一定的收敛性。由图中的奖励函数信息可以分析出,在,在$beta$取值较小时(0-0.2),奖励函数收敛性相比其他更慢,这说明为了为了实现时延的公平性,需要进行更多的探索,而其他取值则在4000轮次开始逐渐稳定。图\ref{fig:smooth}反映了$\beta = 0.5
本节对于不同的$\beta$取值,分别进行了训练,如图\ref{fig:rwbeta}所示。从图中可以看出,在不同的$\beta$的取值下,本算法对于奖励函数都最终趋于平稳的数值,反映出算法在不同偏好下都具有一定的收敛性。由图中的奖励函数信息可以分析出,在$\beta$取值较小时(0-0.2),奖励函数收敛性相比其他更慢,这说明为了实现时延的公平性,需要进行更多的探索,而其他取值则在4000轮次开始逐渐稳定。图\ref{fig:smooth}反映了$\beta = 0.5
$时,时延的收敛情况。
\begin{figure}[hbpt]
\centering
@@ -300,7 +300,7 @@ $时,时延的收敛情况。
\textbf{(1)不同$\beta$取值对系统性能的影响}
根据收敛性分析,本章算法对于不同的$\beta$都具有一定的效果,但是不同的$\beta$对系统收敛性存在一定的影响。为了明确的说明算法的在不同取值下的性能,图\ref{fig:beta_delay}说明随着$\beta$的升高,时延的公平性逐渐变差,而系统总的吞吐量随之增加,这一结论与此前的讨论相同。
根据收敛性分析,本章算法对于不同的$\beta$都具有一定的效果,但是不同的$\beta$对系统收敛性存在一定的影响。为了明确说明算法在不同取值下的性能,图\ref{fig:beta_delay}说明随着$\beta$的升高,时延的公平性逐渐变差,而系统总的吞吐量随之增加,这一结论与此前的讨论相同。
\begin{figure}[hbpt]
\centering
\begin{subfigure}{0.45\textwidth}
@@ -329,8 +329,7 @@ $时,时延的收敛情况。
\item 遗传算法\parencite{angeletti2006beam}:通过遗传算法这一启发式算法进行小区的点亮,在本次实现中种群数量选择为200,迭代次数为60次。
\end{enumerate}
在实验中,为了比较算法的长期表现,本文通过进行500次独立的实验,取平均值的操作进行。在每次实验中,通过控制小区不同的流量需求在\SI{50}{Mbps}到\SI{300}{Mbps}之间分布模拟流量需求的空间不均匀特性,通过控制流量的分布得到总的平均流量需求,每次实验包含200个决策时隙。图\ref{fig:allth}展示了不同算法在此场景下的比较结果,其中计算的吞吐量按照实际数据包数量计算,即如果卫星提供的吞吐量超过实际数据量,以实际数据为准。从实验结果不难看出,在较低的流量需求下如图低于\SI{2000}{Mbps}时,所有算法都能够基本满足用户的流量需求,在这种情况下所有波束的容量都要比流量需求大。而随着系统需求的增加,随机算法最早出现了瓶颈,周期算法、贪心算法则在\SI{2200}{Mbps}左右达到吞吐量的饱和值,这是由于频率复用方案所决定的。而本文算法与遗传算法则可以在保持
到流量需求为\SI{3000}{Mbps}。
在实验中,为了比较算法的长期表现,本文通过进行500次独立的实验,取平均值的操作进行。在每次实验中,通过控制小区不同的流量需求在\SI{50}{Mbps}到\SI{300}{Mbps}之间分布模拟流量需求的空间不均匀特性,通过控制流量的分布得到总的平均流量需求,每次实验包含200个决策时隙。图\ref{fig:allth}展示了不同算法在此场景下的比较结果,其中计算的吞吐量按照实际数据包数量计算,即如果卫星提供的吞吐量超过实际数据量,以实际数据为准。从实验结果不难看出,在较低的流量需求下如图低于\SI{2000}{Mbps}时,所有算法都能够基本满足用户的流量需求,在这种情况下所有波束的容量都要比流量需求大。而随着系统需求的增加,随机算法最早出现了瓶颈,周期算法、贪心算法则在\SI{2200}{Mbps}左右达到吞吐量的饱和值,这是由频率复用方案所决定的。而本文算法与遗传算法则可以在流量需求达到\SI{3000}{Mbps}才接近饱和。
\begin{figure}[hbpt]
\centering
@@ -342,7 +341,7 @@ $时,时延的收敛情况。
\textbf{(3)在不同吞吐量需求下的时延公平性的表现}
在时延的公平性上,与吞吐量情况不同,各种算法的表现具有较大的差(图\ref{fig:alldl})。随机算法在各种带宽需求上表现都比较差。周期算法在低业务需求时表现较好,随着业务需求的增加迅速升高。贪心算法总体表现较好,在业务需求区间内都保持着低于\SI{25}{ms}的水平。本章的算法总体上呈现出随着业务量增大而上升的状况,在中低业务需求的情况下,在保证时延的公平性上,具有较好的性能,在\SI{2300}{Mbps}的业务需求下,能够比贪心算法的公平性低25\%左右,而在较大吞吐量需求时,为了保证吞吐量,仍然能够控制时延公平性在\SI{30}{ms}以内的水平,考虑到本仿真中星上缓存为40个时隙,本算法在较高业务流量时仍然能够保证大部分业务的正常传输。遗传算法总体与本章的算法在时延公平性上表现接近。
在时延的公平性上,与吞吐量情况不同,各种算法的表现具有较大的差异(图\ref{fig:alldl})。随机算法在各种带宽需求上表现都比较差。周期算法在低业务需求时表现较好,随着业务需求的增加迅速升高。贪心算法总体表现较好,在业务需求区间内公平性都保持着低于\SI{25}{ms}的水平。本章的算法总体上呈现出随着业务量增大而上升的状况,在中低业务需求的情况下,在保证时延的公平性上,具有较好的性能,在\SI{2300}{Mbps}的业务需求下,能够比贪心算法的公平性低25\%左右,而在较大吞吐量需求时,为了保证吞吐量,仍然能够控制时延公平性在\SI{30}{ms}以内的水平,考虑到本仿真中星上缓存为40个时隙,本算法在较高业务流量时仍然能够保证大部分业务的正常传输。遗传算法总体与本章的算法在时延公平性上表现接近。
\begin{figure}[hbpt]
\centering