«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (9): 34-43  DOI: 10.19678/j.issn.1000-3428.0059295
0

引用本文  

黄煜梵, 彭诺蘅, 林艳, 等. 基于SAC强化学习的车联网频谱资源动态分配[J]. 计算机工程, 2021, 47(9), 34-43. DOI: 10.19678/j.issn.1000-3428.0059295.
HUANG Yufan, PENG Nuoheng, LIN Yan, et al. Dynamic Spectrum Resource Allocation in Internet of Vehicles Based on SAC Reinforcement Learning[J]. Computer Engineering, 2021, 47(9), 34-43. DOI: 10.19678/j.issn.1000-3428.0059295.

基金项目

国家自然科学基金(62001225,62071236);中央高校基本科研业务费专项资金(30920021127,30919011227);江苏省自然科学青年基金(BK20190454)

通信作者

林艳(通信作者), 讲师

作者简介

黄煜梵(1998-), 女, 硕士研究生, 主研方向为物联网资源分配、网络安全;
彭诺蘅, 硕士研究生;
范建存, 副教授、博士生导师;
张一晋, 教授;
余妍秋, 硕士研究生

文章历史

收稿日期:2020-08-18
修回日期:2020-11-08
基于SAC强化学习的车联网频谱资源动态分配
黄煜梵1 , 彭诺蘅1 , 林艳1 , 范建存2 , 张一晋1 , 余妍秋1     
1. 南京理工大学 电子工程与光电技术学院, 南京 210094;
2. 西安交通大学 信息与通信工程学院, 西安 710049
摘要:针对车联网频谱资源稀缺问题,提出一种基于柔性致动-评价(SAC)强化学习算法的多智能体频谱资源动态分配方案。以最大化信道总容量与载荷成功交付率为目标,建立车辆-车辆(V2V)链路频谱资源分配模型。将每条V2V链路作为单个智能体,构建多智能体马尔科夫决策过程模型。利用SAC强化学习算法设计神经网络,通过最大化熵与累计奖励和以训练智能体,使得V2V链路经过不断学习优化频谱资源分配。仿真结果表明,与基于深度Q网络和深度确定性策略梯度的频谱资源分配方案相比,该方案可以更高效地完成车联网链路之间的频谱共享任务,且信道传输速率和载荷成功交付率更高。
关键词车联网    资源分配    多智能体强化学习    柔性致动-评价算法    频谱分配    
Dynamic Spectrum Resource Allocation in Internet of Vehicles Based on SAC Reinforcement Learning
HUANG Yufan1 , PENG Nuoheng1 , LIN Yan1 , FAN Jiancun2 , ZHANG Yijin1 , YU Yanqiu1     
1. School of Electronic and Optical Engineering, Nanjing University of Science and Technology, Nanjing 210094, China;
2. School of Information and Communications Engineering, Xi'an Jiaotong University, Xi'an 710049, China
Abstract: To address the scarcity of spectrum resources in Internet of Vehicles(IoV), a novel multi-agent dynamic spectrum allocation solution based on Soft Actor-Critic(SAC) reinforcement learning is proposed.The solution aims to maximize the total channel capacity and the success rate of payload delivery.To achieve this goal, a spectrum resource allocation model consisting of Vehicle-to-Vehicle(V2V) links is constructed.Each V2V link is regarded as an agent to model this problem as a Markov decision process.Then the SAC reinforcement learning algorithm is used to design a neural network.The agents are trained by maximum entropy and cumulative reward, so the V2V links can optimize the allocation of spectrum resources through rounds of learning.Simulation results show that compared with spectrum resource allocation scheme based on Deep Q-Network(DQN) and Deep Deterministic Policy Gradient(DDPG), the proposed scheme can more efficiently implement spectrum sharing between V2V links, and improves the channel transmission rate and the success rate of payload delivery.
Key words: Internet of Vehicles(IoV)    resource allocation    multi-agent reinforcement learning    Soft Actor-Critic(SAC) algorithm    spectrum allocation    

开放科学(资源服务)标志码(OSID):

0 概述

随着新一代移动通信技术的不断发展,车联网(Internet of Vehicles,IoV)受到了全世界范围内的广泛关注[1]。车联网将处于高速移动状态的车辆连接移动网络,实现车辆-行人(Vehicle-to-Pedestrian,V2P)、车辆-车辆(Vehicle-to-Vehicle,V2V)、车辆-路旁基础设施(Vehicle-to-Roadside Infrastructure,V2I)、车辆-网络(Vehicle-to-Network,V2N)的全方位连接功能[2]。频谱资源是实现所有车联网通信的必备条件,但随着车联网应用范围的扩大和网络中通信性能要求的提高,已有的频谱资源显然已不能满足车联网中的所有通信需求,因此需要设计更有效的频谱资源分配方案来保证高可靠低时延的车联网通信服务[3]

车联网中高速运动的车辆节点、不断变化的信道条件等不确定性网络环境给频谱资源分配带来了巨大的挑战。针对车联网中高速移动的车辆节点之间频谱资源的动态分配问题,文献[4]提出一种基于图论着色模型和信道反馈的动态频谱分配算法,定义反馈矩阵来分析信道的占用和通信情况,并规定车辆节点依据信道反馈矩阵中返回的参数数值来自主甄别当前信道是否可用。为适应车辆数目不断变化的车联网通信环境,文献[5]提出一种基于分簇结构的三步式认知频谱分配机制,根据交通拥堵情况设置任务优先级,并使用复用的动态频谱接入技术将资源合理分配给授权用户与认知用户。除此之外,文献[6-7]提出可适应缓慢变化的大规模信道衰落的频谱资源分配方案,最大限度地提高了V2I链路的吞吐量,且降低了网络信令开销。该方案不仅允许在V2I和V2V链路之间共享频谱资源,而且可以在不同V2V链路之间共享频谱资源。

近年来,研究人员开始尝试使用不同的深度学习和强化学习理论来解决未知动态环境下的车联网频谱资源分配问题。文献[8]为满足不同实体的动态和多样化需求,提出一个强化学习Q-learning框架来解决车辆云中的资源分配问题。文献[9]针对车联网可分配频谱资源数目未知的情况,提出一种基于深度Q网络(Deep Q-Network,DQN)的联合缓存和计算资源方案。为进一步解决高移动性和多数目车辆环境中的频谱资源难以集中式管理问题,文献[10]提出一种用于V2V和V2I通信的混合式频谱复用和功率分配方案,并设计基于卷积神经网络(Convolutional Neural Network,CNN)的实时决策方法实现频谱重用和功率分配。文献[11]利用DQN理论提出一种分布式的多智能体频谱资源分配方案。该方案考虑将每个V2V链路作为一个智能体,且各智能体在环境中周期性地完成观察和探索任务,然后根据观测结果和行为奖励变化,各智能体自主学习合理选择频谱和功率。文献[12]针对车联网中负载和资源分配问题,基于Q-learning思想提出一个可合理分配负载、控制传输功率、规划子信道和计算频谱资源的最佳解决方案,相较其他方法能有效减少系统开销。然而,高密度车辆的车联网环境可能会带来高维的动作空间,为此文献[13]利用一种多智能体深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法研究非正交多址技术条件下V2I链路和V2V链路频谱资源分配问题,使得V2I链路和速率最大化且同时满足V2V通信的严格延迟和可靠性约束。文献[14]提出两种基于分布式深度确定性策略梯度(DDDPG)和共享深度确定性策略梯度(SDDPG)算法,解决了基于D2D的V2V通信中的多智能体节能功率分配问题。两种算法明显优于普通的强化学习算法,且SDDPG算法还可显著降低解的计算复杂度和内存存储空间。

目前,研究人员主要采用强化学习中的DQN和DDPG算法来解决车联网中的频谱资源动态分配问题,但这两类算法存在一定的局限性。DQN算法只有在离散低维行为空间中才能体现出较好的优势。DDPG算法利用致动-评价(Actor-Critic,AC)算法来适用连续高维行为空间,但由于采用的是确定性行为策略,因此算法稳定性较差。为了更好地体现强化学习中AC算法的性能优势,本文在文献[11]的基础上设计柔性致动-评价(Soft Actor-Critic,SAC)强化学习算法,并提出适用于高维行为空间和车联网多智能体环境的新型频谱资源动态分配方案。通过智能体和环境的实时交互,不断学习以最大化信道总容量和载荷成功交付率为目标的V2I链路和V2V链路的频谱共享策略。

1 系统模型

车联网系统模型如图 1所示。车联网的下行无线通信系统由单个基站、$ I $条V2I链路和$ K $条V2V链路组成[11]。本文将V2I链路和V2V链路的集合分别表示为$ \mathcal{I} $ ={1,2,…,$ I $}和$ \mathcal{K} $ ={1,2,…,$ K $}。为保证高质量V2I链路通信,假设每条V2I链路已被预先分配不同的正交频谱子载波以消除网络中V2I链路之间的干扰。定义第$ i $条V2I链路已被固定分配第$ i $个子载波,且所有V2I链路的发射功率均为$ {P}^{\mathrm{c}} $。由于V2V链路与V2I链路共享相同频谱资源,为提高V2V链路通信质量,各V2V链路需要选择其占用的频谱子载波和发射功率。因此,本文将为车联网中V2V链路联合设计频谱资源和功率分配方案,使得系统总传输速率最大化。

Download:
图 1 车联网系统模型 Fig. 1 IoV system model

假设V2V链路$ k $的信道增益仅由大尺度衰落与小尺度衰落组成,其中$ {\delta }_{k} $表示与频率无关的大尺度衰落效应,即阴影效应和路径损耗,$ {h}_{k}\left[i\right] $表示与频率相关的小尺度衰落信道增益。因此,当V2V链路$ k $占用第$ i $个子载波时的信道功率增益可表示如下:

$ {G}_{k}\left[i\right]=\delta {}_{k}\cdot {h}_{k}\left[i\right] $ (1)

使用第$ i $个子载波的V2I下行链路$ i $对应的接收信干噪比可表示如下:

$ S_i^{\rm{c}}\left[ i \right] = \frac{{P_i^{\rm{c}}{{\hat g}_i}, B\left[ i \right]}}{{{\sigma ^2} + \sum\limits_k {{\beta _k}} \left[ i \right]P_k^{\rm{d}}\left[ i \right]{g_k}, B\left[ i \right]}} $ (2)

其中:$ {P}_{i}^{\mathrm{c}} $$ {P}_{k}^{\mathrm{d}}\left[i\right] $分别表示第$ i $条V2I链路车辆发射机和第$ k $条V2V链路车辆发射机在第$ i $个子载波上的发射功率;$ {\widehat{g}}_{i} $表示使用第$ i $个子载波的第$ i $个V2I链路的车辆发射机到基站的干扰信道增益$ B\left[i\right] $$ {g}_{k} $表示占用第$ i $个子载波的第$ k $个V2V链路的车辆发射机到基站的干扰信道增益$ B\left[i\right] $$ {\beta }_{k}\left[i\right]=\left\{\mathrm{0, 1}\right\} $表示频谱分配方案的选择,$ {\beta }_{k}\left[i\right]=1 $表示V2V链路$ k $正在使用子载波$ i $传输信息,否则相反;$ {\sigma }^{2} $表示噪声功率。

占用第$ i $个子载波的V2V链路$ k $对应的接收信干噪比可表示如下:

$ {S}_{k}^{\mathrm{d}}\left[i\right]=\frac{{P}_{k}^{\mathrm{d}}\left[i\right]{G}_{k}\left[i\right]}{{\sigma }^{2}+{I}_{k}\left[i\right]} $ (3)
$ {I_k}\left[ i \right] = P_i^{\rm{c}}{\hat g_i}, k\left[ i \right] + \sum\limits_{k' \ne k} {{\beta _{k'}}\left[ i \right]P_{k'}^{\rm{d}}\left[ i \right]{g_{k'}}, k\left[ i \right]} $ (4)

其中:$ {I}_{k}\left[i\right] $表示V2V链路$ k $接收到来自其他V2V链路$ {k'} $和来自所有V2I链路的干扰功率;$ {\widehat{g}}_{i} $表示第$ i $个V2I链路的车辆发射机到占用第$ i $个子载波的第$ k $个V2V链路车辆接收机的干扰信道增益$ k\left[i\right] $$ {g}_{k'} $表示第$ {k'} $个V2V链路车辆发射机到占用第$ i $个子载波的第$ k $个V2V链路车辆接收机的干扰信道增益$ k\left[i\right] $

根据香农公式,使用第$ i $个子载波的V2I链路$ i $的传输速率可表示如下:

$ {C}_{i}^{\mathrm{c}}\left[i\right]=W\mathrm{l}\mathrm{b}(1+{S}_{i}^{\mathrm{c}}[i\left]\right) $ (5)

其中:W是各子载波带宽。

占用第$ i $个子载波的V2V链路$ k $的传输速率可表示如下:

$ {C}_{k}^{\mathrm{d}}\left[i\right]=W\mathrm{l}\mathrm{b}(1+{S}_{k}^{\mathrm{d}}[i\left]\right) $ (6)

理论上,所有V2I链路在系统中可实现的最大总传输速率为$ \sum\limits_{i = 1}^I {C_i^{\rm{c}}} \left[ i \right] $。根据文献[8],为了检验V2V链路与V2I链路的频谱共享过程中的信息传输情况,需要考虑V2V链路的成功交付率,定义如下:

$ P\left\{ {\sum\limits_{t = 1}^T {\sum\limits_{i = 1}^I {{\beta _k}} } \left[ i \right]C_k^{\rm{d}}[i, t] \ge \frac{{{B_k}}}{{\Delta T}}} \right\}, k \in K $ (7)

其中:$ {B}_{k} $表示V2V链路$ k $需要交付的载荷数量;$ \mathrm{\Delta }T $表示设定的交付时间。由于车辆移动以及信道条件的不断变化,考虑在式(6)的基础上增加参数$ t $以表示不同时间下V2V链路的容量变化情况。

本文研究的目标是联合设计V2V链路频谱和功率分配方案,以最大化V2I链路的总信道容量以及V2V链路的载荷成功交付率。该问题可以转化为V2V链路作为智能体如何更加合理地选择需占用的频谱子带和采用的传输功率,从而最大限度地提升V2I链路和V2V链路的通信性能。

2 基于SAC强化学习的多智能体频谱资源分配

强化学习能解决动态车联网环境下的序贯决策问题,可使智能体通过与复杂未知环境的不断交互,以试错的方式来寻求累积奖励最大的频谱选择策略[15]。SAC算法是由HAARNOJA等[16]于2018年基于AC思想提出的一种强化学习算法,核心思想是在原有奖励基础上增加熵信息,以鼓励探索进而训练出一种带熵的奖励最大化的行为策略。由于其能最大限度地保留行为策略的随机性,因此提高了智能体对环境的感知能力,能使智能体在信道条件不断变化的车联网环境中自适应调整策略,更有利于做出合理的频谱选择。本文在文献[11]的多智能体车联网系统基础上,基于SAC思想提出一种新型车联网频谱资源动态分配方案。

2.1 多智能体马尔科夫决策过程模型建立

为采用多智能体SAC强化学习算法求解问题,需建立马尔科夫决策过程模型[17],如图 2所示,每条V2V链路作为一个智能体,与环境实时进行交互,收集环境中各个时刻的状态信息,根据当前环境的车辆状况和需求做出决策,并反馈到环境中获得行为奖励。

Download:
图 2 多智能体车联网马尔科夫决策过程模型 Fig. 2 Markov decision process model in multi-agent IoV
2.1.1 状态与观测空间

V2V智能体k的观测空间包括:1)$ {G}_{k}\left[i\right] $,占用子载波$ i $的V2V链路$ k $的信道增益;2)$ {g}_{k'}/k\left[i\right] $,其他V2V链路$ {k'} $的车辆发射机到占用子载波$ i $的V2V链路$ k $车辆接收机的干扰信道增益;3)$ {g}_{k}/B\left[i\right] $,占用子载波$ i $的V2V链路$ k $的车辆发射机到基站的干扰信道增益;4)$ {\widehat{g}}_{i}/k\left[i\right] $,V2I链路$ i $的车辆发射机到占用子载波$ i $的V2V链路$ k $的车辆接收机的干扰信道增益;5)$ {B}_{k} $,V2V链路$ k $剩余的有效载荷数量;6)$ {T}_{k} $,V2V链路$ k $剩余的可传输载荷时间。与信道相关的观测信息表示如下:

$ {Z_k}\left[ i \right] = \left\{ {{G_k}\left[ i \right], {g_{k'}}, k\left[ i \right], {g_k}, B\left[ i \right], {{\hat g}_i}, k\left[ i \right]} \right\} $ (8)

最终将智能体$ k $的环境观察函数表示如下:

$ O(t, k)=\left\{{B}_{k}, {T}_{k}, {\left\{{I}_{k}\left[i\right]\right\}}_{i\in I}, {\left\{{Z}_{k}\left[i\right]\right\}}_{i\in I}\right\} $ (9)
2.1.2 行为空间

在多智能体车联网频谱资源分配问题中,V2V智能体主要是对子载波和发射功率进行选择。设置发射功率p为23 dBm、10 dBm、5 dBm、-100 dBm[11]以供所有V2V链路选择,因此V2V智能体$ k $在时刻$ t $的动作表示如下:

$ A(t, k)=({i}_{i\in I}, {p}_{p\in P}) $ (10)
2.1.3 奖励值设定

智能体学习的最终目标是尽可能提高V2I链路的总信道容量及V2V链路的载荷成功交付率。V2I链路总信道容量可表示为$ \sum\limits_{i = 1}^I {C_i^{\rm{c}}} \left[ i \right] $,针对载荷成功交付率,将每个V2V链路$ k $在每个时间步骤$ t $的有效传输速率设置成$ k $收获的奖励值,在所有载荷传输完成后该奖励值又被设置为常数$ \rho $

$ {r_k}\left( t \right) = \left\{ {\begin{array}{*{20}{l}} {\sum\limits_{i = 1}^I {{\beta _k}} \left[ i \right]C_k^{\rm{d}}[i, t], {B_k} \ge 0}\\ {\rho , {B_k} < 0} \end{array}} \right. $ (11)

需要说明的是,式(11)奖励函数中常数$ \rho $的设置是为了平衡训练最终目标和实际训练效率之间的关系。如果仅考虑最终目标,则在完成最终目标前的所有行为奖励应均设为0,直到载荷全部传输完成,奖励设为1。然而,在实际训练过程中发现这样的设计会严重阻碍学习,智能体会因为在训练前期持续收获零值奖励而无法学到任何信息。为平衡最终目标中V2I链路和V2V链路的关系,将每个时刻$ t $对应的系统奖励[11]设置如下:

$ {R_{t + 1}} = I \cdot N \cdot \frac{{{\varepsilon _c}\sum\limits_{i = 1}^I {C_i^{\rm{c}}} [i, t]}}{{I + (1 - {\varepsilon _c})\sum\limits_{k = 1}^K {{r_k}} \left( t \right)}} $ (12)

其中:N表示车辆的邻居数目;$ {\varepsilon }_{c} $表示平衡目标V2I链路传输速率和目标V2V链路传输速率的权重。

2.2 算法框架

采用强化学习的SAC算法解决频谱资源分配问题,其基本原理为:首先建立近似行为策略产生的Policy网络和策略价值判断的Soft Q网络;然后将车联网中每一条V2V链路在每个时刻产生的状态、行为、奖励存储在记忆库中;最后通过优化网络损失函数反向训练神经网络以获得性能最佳的资源分配策略[16, 18]

一般而言,强化学习算法的优化目标是寻找一个最优策略$ \pi $使得训练集返回的累加奖励值达到最大。SAC算法的优化目标除了需要使得训练集返回的累加奖励值达到最大以外,还要满足熵最大化,如式(13)所示:

$ \pi {\rm{ = argmax}}\sum\limits_{t = 0}^T {{E_{\left( {{s_t}, {a_t}} \right) \sim {\rho _\pi }}}} [r({s_t}, {a_t}) + \alpha H(\pi \left( {{s_t}} \right))] $ (13)

其中:$ H $为熵,表示当前策略的随机化程度;$ \alpha $为熵系数;$ {s}_{t} $表示当前环境的状态信息;$ {a}_{t} $表示对应当前状态做出的行为选择。

由Bellman一般递推方程可以得到强化学习中判断行为策略价值大小的函数表达式:

$ {Q}^{\pi }({s}_{t}, {a}_{t})=r({s}_{t}, {a}_{t})+\gamma {E}_{{s}_{t+1}, {a}_{t+1}}[{Q}^{\pi }({s}_{t+1}, {a}_{t+1})] $ (14)

$ \mathrm{其}\mathrm{中}:{s}_{t+1} $表示环境的下一个状态信息;$ {a}_{t+1} $表示对应下一个状态的行为选择。为实现最大熵的目标,在实际算法中需要将熵作为奖励的一部分,即在计算每一个状态的Q值的同时计算状态对应的熵。式(15)表示取自记忆库的下一个状态和取自当前策略的下一个动作的期望值,使用基于采样的计算形式表示:

$ \begin{array}{l}{Q}_{\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}}({s}_{t}, {a}_{t})=r({s}_{t}, {a}_{t})+\\ \gamma {E}_{{s}_{t+1}, {a}_{t+1}}\left[{Q}_{\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}}\right({s}_{t+1}, {a}_{t+1})-\alpha \mathrm{l}\mathrm{b}\mathrm{ }\pi ({a}_{t+1}\left|{s}_{t+1}\right)]\end{array} $ (15)
2.2.1 Policy网络

构造一个Policy神经网络作为该算法中的Actor网络来生成行为策略。该网络的输入为环境中观测到的所有状态信息,输出包括大小为$ Z=P\times I $$ P $表示V2V智能体可选择的功率等级数量)的每一个训练集行为选择空间中每一种行为出现的概率,以及根据概率最终选择的行为,即:

$ {A}_{t}={\pi }_{\varphi }\left({s}_{t}\right) $ (16)

Policy网络的损失函数[19]表示如下:

$ {J_\pi }\left( \phi \right) = {E_{{s_t} \sim S}}\left[ {\alpha \sum\limits_{z = 1}^Z {[\pi (} {s_t}{)^T}{\rm{lb}}\pi \left( {{s_t}} \right)] - Q_\theta ^{\rm{*}}({s_t})} \right] $ (17)
$ Q_\theta ^{\rm{*}} = \sum\limits_{z = 1}^Z {[\pi (} {s_t}{)^T}{\rm{min}}({Q_1}({s_t}), {Q_2}({s_t}))] $ (18)

为能更好地避免Q值估计过高的问题,选取当前价值网络处在同一状态下的两次输出值,即$ {Q}_{1}\left({s}_{t}\right) $$ {Q}_{2}\left({s}_{t}\right) $

2.2.2 Soft Q网络

为评判行为策略的优劣,构造两个Soft Q神经网络作为该算法中的当前价值网络和目标价值网络。网络均输入环境中观测到的所有状态信息,输出行为空间中每一种行为对应的价值[20]

$ Q({s_t}, {a_t}) = r({s_t}, {a_t}) + \gamma {E_{{s_{t + 1}} \sim \rho }}[V({s_{t + 1}})] $ (19)

软状态值函数[19]定义如下:

$ {V}_{\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}}\left({s}_{t}\right)=\pi \left({s}_{t}{)}^{T}\right[\mathrm{m}\mathrm{i}\mathrm{n}\left({Q}_{1}\right({s}_{t}), {Q}_{2}({s}_{t}\left)\right)-\alpha \mathrm{l}\mathrm{b}\pi \left({s}_{t}\right)] $ (20)

其中:$ \pi \left({s}_{t}\right) $表示行为策略$ \pi $下行为空间中每一种行为出现的概率;$ \alpha $表示温度熵系数。Soft Q当前网络的损失函数[20]表示如下:

$ {J_Q}\left( \theta \right) = \frac{1}{m}{\sum\limits_{i = 1}^m {\left[ {{Q_\theta }({s_t}, {a_t}) - (r({s_t}, {a_t}) + \gamma \sum\limits_{z = 1}^Z {{V_{\theta '}}\left( {{s_{t + 1}}} \right)} } \right]} ^2} $ (21)

为计算出更准确的行为价值,采用一种基于温度熵系数$ \alpha $的动态调整策略[20],即无须将$ \alpha $设置为一个定值,而是可以根据网络学习情况对其进行动态调节。描述温度熵系数学习情况的损失函数表示如下:

$ J\left( \alpha \right) = - {E_{{s_t} \sim S}}\left[ {\alpha \left( {\sum\limits_{z = 1}^Z {[\pi (} {s_t}{)^T}{\rm{lb}}\pi \left( {{s_t}} \right)] + \bar H} \right)} \right] $ (22)
$ {\bar H}=-\chi \mathrm{l}\mathrm{b}\frac{1}{Z} $ (23)

其中:Z为行为空间大小;$ \chi $为目标熵系数。

2.2.3 缓冲记忆库

SAC算法与强化学习Q-learning算法类似,也采用经验回放思想。在神经网络的训练过程中,使用全部样本数据参与训练会导致训练速度过慢、收敛性差,使用过少的样本数据又无法达到较好的训练效果,而通过建立固定大小的缓冲记忆库则可以很好地解决以上问题。根据行为策略和从环境中得到的反馈,每训练一次就将智能体的一组样本数据存储在记忆库中,当存满时即释放内存为新的样本数据预留空间。通过设置记忆库的容量M来控制参与训练的数据量级,尽可能地保留大部分样本数据以达到良好的训练效果。在实际训练过程中,为加快训练速度,通过分批从记忆库中随机抽取数据用于网络的反向训练。

2.2.4 网络学习

网络学习实质是不断更新网络参数以最小化网络损失函数的过程。在本文算法中,网络更新采用梯度更新和软更新两种方法。具体地,Soft Q网络和Policy网络的参数以及温度熵系数的更新使用梯度更新方法,更新公式如下:

$ \begin{array}{l}{\theta }^{Q}={\theta }^{Q}+\lambda {\nabla }_{J}\left(\theta \right)\\ {\phi }^{\pi }={\phi }^{\pi }+\lambda {\nabla }_{J}\left(\phi \right)\\ \alpha =\alpha +\lambda {\nabla }_{J}\left(\alpha \right)\end{array} $ (24)

其中:$ \lambda $表示梯度更新程度;$ {\theta }^{Q} $$ {\phi }^{\pi } $分别表示当前Soft Q网络和Policy网络的网络参数。

Soft Q目标网络并不主动参与学习过程,无法独立进行更新,因此使用软更新方法。每隔一段时间复制Soft Q当前网络最新的网络参数进行小范围的更新,更新公式如下:

$ \stackrel{-}{Q}\leftarrow \tau Q+(1-\tau )\stackrel{-}{Q} $ (25)

其中:$ \tau $表示软更新程度;$ \stackrel{-}{Q} $表示目标价值网络的Q值。

2.3 算法流程

基于SAC强化学习的车联网频谱资源分配算法主要包括:1)初始化网络参数,更新网络环境;2)收集智能体在车联网环境中的行为数据,并储存在记忆库中;3)分批调用记忆库数据反向训练神经网络,以获得最有益的功率选择和资源分配联合策略。

算法1  基于SAC强化学习的车联网频谱资源分配算法

1.随机初始化Soft Q网络和Policy网络参数$ {{\rm{ \mathsf{ θ} }}^{\rm{Q}}} $$ {{\rm{ \mathsf{ ϕ} }}^{\rm{ \mathsf{ π} }}} $

2.初始化缓冲记忆库大小M,初始化更新门槛步数$ \mathrm{U}\mathrm{S} $,初始化神经网络学习参数γ、χ、λ和τ;

3.从第i个智能体开始初始化($ i\in \mathrm{I} $);

4.从第j个训练集开始初始化(j=1,2,…,600);

5.初始化累加奖励和为0,初始化车辆链路需传输的载荷数量、载荷传输时间限制和车辆链路数目;

6.每100个训练集更新一次所有车辆位置速度信息和信道状态;

7.从第$ \mathrm{n} $步开始更新($ \mathrm{n} $=1,2,…,20);

8.计算当前训练总步数$ \mathrm{X}=\mathrm{j}\times 20+\mathrm{n} $

9.获取此刻环境中该智能体搜集到的所有状态信息$ {\mathrm{S}}_{\mathrm{t}} $,输出$ {\mathrm{A}}_{\mathrm{t}}={\mathrm{\pi }}_{\mathrm{j}}\left({\mathrm{S}}_{\mathrm{t}}\right) $以及$ {\mathrm{A}}_{\mathrm{t}} $对应的奖励R;

10.根据$ {\mathrm{A}}_{\mathrm{t}} $给予的奖励,进入下一个状态$ {\mathrm{S}}_{\mathrm{t}+1} $

11.在记忆库存储一组$ ({\mathrm{S}}_{\mathrm{t}}, {\mathrm{A}}_{\mathrm{t}}, \mathrm{R}, {\mathrm{S}}_{\mathrm{t}+1}) $数据;

12.当$ \mathrm{X}>\mathrm{U}\mathrm{S} $时开始网络的学习及更新;

13.从缓冲区中采样出一批样本数据,分别根据式(17)、式(21)、式(22)计算网络损失函数$ {{\rm{J}}_{\rm{ \mathsf{ π} }}}\left( \rm{ \mathsf{ ϕ}} \right) $$ {\rm{J}}_{\rm{Q}}\left(\rm{ \mathsf{ θ} }\right) $和温度熵系数损失函数$ \rm{J}\left(\rm{ \mathsf{ α} }\right) $

14.根据式(24)更新网络参数;

15.根据式(25)更新Soft Q目标网络的参数;

16.结束当前步骤,进入下一个步骤;

17.结束当前训练集,进入下一个回合;

18.结束算法

3 仿真与结果分析

仿真场景为位于十字路口道路的双向和单向车道区域,其宽为375 m、长为649 m。在场景中心位置设有一个基站,车辆起始位置和行驶方向在区域范围内随机初始化。仿真参数设置如表 1所示,V2V和V2I链路信道模型和其他仿真参数设置参考文献[11, 21]。

下载CSV 表 1 仿真参数设置 Table 1 Setting of simulation parameters

为体现本文频谱分配算法相较文献[11]中DQN算法的优势,对比SAC与其他AC算法在车联网频谱资源分配中的性能差异及随机性策略和确定性策略在本文系统模型中的适用性。对比方案具体如下:

1)基于DQN算法的频谱资源分配方案,简记为DQN方案。

2)基于深度确定性策略梯度的频谱资源分配方案,简记为DDPG方案。

3)频谱子带和传输功率均随机选择的资源分配方案,随机基线方案。

在DDPG方案中,将Actor网络和Critic网络的梯度更新率分别设置为0.001和0.002。在本文SAC方案中,将Soft Q当前网络、Policy网络以及温度熵系数的梯度更新率$ \lambda $均设置为0.001,Soft Q目标网络软更新率$ \tau $设置为0.01,目标熵系数$ \chi $设置为0.95。此外,上述两种方案均采用5层全连接神经网络,其中3个隐藏层的神经元数目分别设置为500、250和125。

仿真比较车辆链路数目为4时4种方案的V2I链路信道总容量,如图 3所示。由图 3可以看出:相较随机基线方案,在载荷数量较少时DQN方案的V2I链路性能表现更为优秀,但随着载荷数量增加性能下降更为明显;SAC方案起初V2I性能指标劣于DQN方案,但当所需传输载荷数量增加到14 840 Byte时,SAC方案性能开始反超DQN方案,并且随着载荷数量的增加性能变化更加稳定;DDPG方案则一直性能不佳,与随机基线方案几乎一致。这是因为:DDPG方案中确定性行为策略的采用大大限制了行为的随机性,从而不适用于车联网不断变化的复杂环境;SAC方案采用了随机行为策略,能更好地适应变化的环境;DQN方案因为同时结合了深度学习和强化学习Q-learning两种思想,能在最短的时间内为智能体选出最优的行为。值得注意的是,4种方案的V2I链路总容量均随着载荷数量的增加而减小,这是因为要保证一定的载荷成功交付率,链路所需传递的载荷越多所需时间越长、传输功率也越大,对V2I链路造成的干扰程度就越大,从而导致链路性能指标的下降。

Download:
图 3 车辆链路数目为4时V2I链路信道总容量随载荷数量的变化 Fig. 3 The total capacity of the V2I link channel varies with the number of loads when the number of vehicle links is four

仿真比较车辆链路数目为4时4种方案的V2V链路载荷成功交付率,如图 4所示。由图 4可以看出,4种方案的V2V链路载荷成功交付率也随着载荷数量的增加而降低。但此时DQN方案在V2V链路性能上优势已不再突出,而是与SAC方案性能相近,且同样当所需传输载荷数量增加到14 840 Byte时,SAC方案V2V链路性能开始优于DQN方案,而DDPG方案性能依然不佳。为了更好地凸显方案的性能优势,下文只考虑DQN方案、SAC方案与随机基线方案的性能比较。

Download:
图 4 车辆链路数目为4时V2V链路载荷成功交付率随载荷数量的变化 Fig. 4 The load successful delivery rate of the V2V link varies with the number of loads when the number of vehicle links is four

当车辆链路数目为4时,SAC方案和DQN方案的V2V链路剩余载荷数量在单位时间内的变化情况如图 5所示。由图 5可以看出:一方面,两种方案均在很短的时间内完成了链路的载荷传输任务;另一方面,尽管DQN方案的V2I链路和V2V链路性能指标略高于SAC方案,但其稳定性比SAC方案差。

Download:
图 5 车辆链路数目为4时DQN和SAC的V2V链路剩余载荷数量随时间的变化 Fig. 5 The remaining V2V link load of DQN and SAC varies with the time when the number of vehicle links is four

仿真比较车辆链路数目为8时3种方案的V2I链路信道总容量,如图 6所示。由图 6可以看出,当增加车辆链路数目后,DQN方案的V2I链路性能大幅下降,甚至劣于随机基线方案,而SAC方案仍具有良好的性能表现。

Download:
图 6 车辆链路数目为8时V2I链路信道总容量随载荷数量的变化 Fig. 6 The total capacity of the V2I link channel varies with the number of loads when the number of vehicle links is eight

仿真比较车辆链路数目为8时3种方案的V2V链路载荷成功交付率,如图 7所示。由图 7可以看出,DQN方案的V2V链路性能仍然不佳,而SAC方案却随着车辆链路数目的增多更具优势,载荷成功交付率随着载荷数量的增加而下降缓慢,变化趋于稳定。这是因为SAC方案采用最大熵思想,使得智能体在完成当前任务的基础上尽可能地使行为随机化以获得近似最优的选择,提升了智能体在环境中的探索能力,也增强了SAC方案在动态环境中的稳定性。

Download:
图 7 车辆链路数目为8时V2V链路载荷成功交付率随载荷数量的变化 Fig. 7 The load successful delivery rate of the V2V link varies with the number of loads when the number of vehicle links is eight

当车辆链路数目为8时,SAC方案和DQN方案的V2V链路剩余载荷数量在单位时间内的变化情况如图 8所示。通过随机抽取其中4条链路进行观察,可以发现SAC方案仍能迅速地完成链路的载荷传输任务,而DQN方案中2条车辆链路在限定时间内并未完成全部载荷的传输。可见,当车辆链路数目为8时,DQN方案性能表现较差,而SAC方案依然具有较好的稳定性。

Download:
图 8 车辆链路数目为8时DQN和SAC的V2V链路剩余载荷数量随时间的变化 Fig. 8 The remaining V2V link load of DQN and SAC varies with the time when the number of vehicle links is eight

当车辆链路数目为12时3种方案的V2I链路信道总容量与V2V链路载荷成功交付率如图 9图 10所示。由图 10可以看出,DQN方案的V2V链路性能远劣于随机基线方案,而SAC方案随着载荷数量增加,相较随机基线方案的链路性能优势不断扩大。以上仿真结果表明,随着车辆链路数目的增多,DQN方案已无法最大化V2I链路和V2V链路的性能指标,而SAC方案仍然保持优势且性能稳定。

Download:
图 9 车辆链路数目为12时V2I链路信道总容量随载荷数量的变化 Fig. 9 The total capacity of the V2I link channel varies with the number of loads when the number of vehicle links is twelve
Download:
图 10 车辆链路数目为12时V2V链路载荷成功交付率随载荷数量的变化 Fig. 10 The load successful delivery rate of the V2V link varies with the number of loads when the number of vehicle links is twelve

仿真比较车辆链路数目为4时DQN和SAC方案的收敛性能,如图 11所示。由图 11可以看出,随着训练次数的增加,两种方案训练返回的累积奖励和逐渐增加最终趋于收敛,验证了两种方案的有效性。

Download:
图 11 车辆链路数目为4时DQN和SAC的收敛性能 Fig. 11 The convergence performance of DQN and SAC when the number of vehicle links is four

仿真比较车辆链路数目为8时DQN和SAC方案的收敛性能,如图 12所示。SAC方案训练返回的奖励和仍趋于收敛,而DQN方案返回的奖励和却无法收敛。这再次验证了图 6~图 8的仿真结果,随着车辆链路数目的增加,DQN方案性能急剧下降,而SAC方案仍保持一定的优势。由此可以得出:针对车联网频谱资源分配问题,随着环境的不断变化和行为空间的扩大,本文SAC方案均具有良好的性能表现,DQN方案本身稳定性较差且不适用于解决高维行为空间问题,随着车辆链路数目和链路载荷数量增加性能持续下降,甚至低于随机基线方案,因此SAC方案更适用于解决车联网中多智能体的频谱资源分配问题。

Download:
图 12 车辆链路数目为8时DQN和SAC的收敛性能 Fig. 12 The convergence performance of DQN and SAC when the number of vehicle links is eight

仿真比较不同链路数目下SAC方案的V2I链路信道总容量与V2V链路载荷成功交付率相比随机基线方案的性能提升率,如图 13图 14所示。由图 13图 14可以看出,当车辆链路数目持续增加至24时,SAC方案的V2I链路和V2V链路性能提升率虽有所下降,但仍大于0,证明了其在高维行为空间也具有良好的性能表现。

Download:
图 13 起始载荷数量为6 360 Byte时SAC方案相比随机基线方案的性能提升率 Fig. 13 The performance improvement rate of SAC scheme compared to the random baseline scheme when the number of initial load is 6 360 Byte
Download:
图 14 起始载荷数量为12 720 Byte时SAC方案相比随机 Fig. 14 The performance improvement rate of SAC scheme compared to the random baseline scheme when the number of initial load is 12 720 Byte

仿真比较单位时间内SAC方案和随机基线方案中不同V2V链路载荷传输速率随时间的变化情况,如图 15所示。由图 15可以看出,随机基线方案中4条V2V链路全部完成载荷交付任务的总用时为17 ms,SAC方案中4条V2V链路全部完成载荷交付仅需5 ms。因此,SAC方案所训练的智能体能更加高效地完成自身的载荷交付任务。除此之外,随机基线方案中的4条链路在载荷传递过程中并未体现出明显特征,当链路3已经完成载荷传输时,过了3 ms链路1才开始进行传输工作,可见随机基线方案中智能体之间无法及时感知到彼此的状态并进行及时信息交互,而SAC方案中4条V2V链路采用合作的方式且尽可能依次有序地完成自身的载荷传递任务,避免同时开始工作而造成互相干扰。该结果充分体现了本文SAC方案中的智能体有较好的学习能力和对周围环境的感知力。

Download:
图 15 起始载荷数量为2 120 Byte时V2V链路载荷传输速率随时间的变化 Fig. 15 The V2V load transmission rate varies with the time when the number of initial load is 2 120 Byte

综上所述,可以得出以下结论:1)基于DDPG算法的频谱资源分配方案几乎未体现出任何性能优势;2)基于DQN算法的频谱资源分配方案在车辆链路数目较少时,性能更加稳定,但当载荷数量增大时,算法性能下降明显,而当车辆链路数目增多时,算法不再适用于频谱分配任务;3)基于SAC强化学习算法的多智能体车联网频谱资源分配方案虽然在车辆链路数目为4时性能稍劣于DQN方案,但随着车辆链路数目的增多和链路需要传输载荷数量的增多,因为采用随机行为策略和最大熵大幅提高了智能体在环境中的探索能力,能更好地应对环境的变化,所以具有更好的收敛性、鲁棒性、平衡多个链路目标等性能优势,能够有效帮助多个智能体在复杂的车联网环境中完成信息交互并且同时保证最大化V2I链路和V2V链路的传输性能。此外,在仿真过程中还发现,SAC算法训练学习模型的耗时约为DQN算法训练学习模型耗时的1/8,大幅节省了训练开销,提高了学习效率。

4 结束语

针对V2V链路和V2I链路在车联网环境中无线通信网络频谱资源紧缺的问题,本文基于SAC强化学习算法提出一种多智能体联合频谱资源和功率分配方案。采用随机行为策略,以熵最大化和奖励最大化为目标,实现多个V2V智能体之间的相互合作,并通过实时探知环境状态,选择V2I链路未使用的空闲频谱以完成V2V链路自身载荷传输任务。仿真结果表明,该方案能使智能体在与环境不断交互的过程中学习合作式频谱资源分配策略,有效解决了不断变化的车联网环境中的资源分配问题,同时最大化了V2I链路信道总容量以及V2V链路载荷成功交付率。后续将继续优化基于SAC强化学习算法的多智能体频谱资源和功率分配方案,以解决车联网中联合V2V链路和V2I链路的资源分配问题。

参考文献
[1]
PENG X. Research on vehicle localization and spectrum allocation strategy in VANETs[D]. Changsha: Hunan University, 2011. (in Chinese)
彭鑫. 车载自组网节点定位及频谱分配策略研究[D]. 长沙: 湖南大学, 2011.
[2]
JING X. Analysis of vehicle Internet technology and application[J]. Shanghai Auto, 2019(4): 9-12. (in Chinese)
井骁. 浅析车联网技术与应用[J]. 上海汽车, 2019(4): 9-12.
[3]
LIAO X M, YAN S H, SHI J, et al. Deep reinforcement learning based resource allocation algorithm in cellular networks[J]. Journal on Communications, 2019, 40(2): 11-18. (in Chinese)
廖晓闽, 严少虎, 石嘉, 等. 基于深度强化学习的蜂窝网资源分配算法[J]. 通信学报, 2019, 40(2): 11-18.
[4]
SUN Z L, LI D M, TAO B, et al. Research of dynamic spectrum allocation algorithm for multi-radio multi-channel VANET[J]. Application of Electronic Technique, 2015, 41(3): 90-92, 96. (in Chinese)
孙智乐, 李德敏, 陶冰, 等. 一种多接口多信道VANET动态频谱分配算法研究[J]. 电子技术应用, 2015, 41(3): 90-92, 96.
[5]
XUE L L, FAN X M. Cognitive spectrum allocation mechanism in Internet of vehicles based on clustering structure[J]. Computer Science, 2019, 46(9): 143-149. (in Chinese)
薛玲玲, 樊秀梅. 基于分簇结构的车联网认知频谱分配机制[J]. 计算机科学, 2019, 46(9): 143-149.
[6]
SUN W L, STRÖM E G, BRÄNNSTRÖM F, et al. Radio resource management for D2D-based V2V communication[J]. IEEE Transactions on Vehicular Technology, 2016, 65(8): 6636-6650. DOI:10.1109/TVT.2015.2479248
[7]
SUN W L, YUAN D, STRÖM E G, et al. Cluster-based radio resource management for D2D-supported safety-critical V2X communications[J]. IEEE Transactions on Wireless Communications, 2016, 15(4): 2756-2769. DOI:10.1109/TWC.2015.2509978
[8]
SALAHUDDIN M A, AL-FUQAHA A, GUIZANI M. Reinforcement learning for resource provisioning in the vehicular cloud[J]. IEEE Wireless Communications, 2016, 23(4): 128-135. DOI:10.1109/MWC.2016.7553036
[9]
HE Y, ZHAO N, YIN H X. Integrated networking, caching, and computing for connected vehicles: a deep reinforcement learning approach[J]. IEEE Transactions on Vehicular Technology, 2018, 67(1): 44-55. DOI:10.1109/TVT.2017.2760281
[10]
CHEN M M, CHEN J J, CHEN X J, et al. A deep learning based resource allocation scheme in vehicular communication systems[C]//Proceedings of 2019 IEEE Wireless Communications and Networking Conference. Washington D.C., USA: IEEE Press, 2019: 1-7.
[11]
LIANG L, YE H, LI G Y. Spectrum sharing in vehicular networks based on multi-agent reinforcement learning[J]. IEEE Journal on Selected Areas in Communications, 2019, 37(10): 2282-2292.
[12]
ZHANG H B, WANG Z X, LIU K J. V2X offloading and resource allocation in SDN-assisted MEC-based vehicular networks[J]. China Communications, 2020, 17(5): 266-283.
[13]
XU Y H, YANG C C, HUA M, et al. Deep Deterministic Policy Gradient(DDPG)-based resource allocation scheme for NOMA vehicular communications[J]. IEEE Access, 2020, 8: 18797-18807.
[14]
NGUYEN K K, DUONG T Q, VIEN N A, et al. Distributed deep deterministic policy gradient for power allocation control in D2D-based V2V communications[J]. IEEE Access, 2019, 7: 164533-164543.
[15]
XIONG Z H, ZHANG Y, NIYATO D, et al. Deep reinforcement learning for mobile 5G and beyond: fundamentals, applications, and challenges[J]. IEEE Vehicular Technology Magazine, 2019, 14(2): 44-52.
[16]
HAARNOJA T, ZHOU A, ABBEEL P, et al. Soft actor-critic: off-policy maximum entropy deep reinforcement learning with a stochastic actor[EB/OL]. [2020-07-04]. https://arxiv.org/abs/1801.01290.
[17]
SUTTON R S, BARTO A G. Reinforcement learning: an introduction[M]. Cambridge, USA: MIT Press, 2017.
[18]
ODDI G, PANFILI M, PIETRABISSA A, et al. A resource allocation algorithm of multi-cloud resources based on Markov decision process[C]//Proceedings of the 5th International Conference on Cloud Computing Technology and Science. Washington D.C., USA: IEEE Press, 2013: 130-135.
[19]
CHRISTODOULOU P. Soft actor-critic for discrete action settings[EB/OL]. [2020-07-04]. https://arxiv.org/abs/1910.07207v2.
[20]
HAARNOJA T, ZHOU A, HARTIKAINEN K, et al. Soft actor-critic algorithms and applications[EB/OL]. [2020-07-04]. https://arxiv.org/abs/1812.05905.
[21]
3rd Generation Partnership Project. Technical specification group radio access network[EB/OL]. [2020-07-04]. http://www.doc88.com/p-9082561797139.html.