主要内容

火车DQN波束选择的代理

这个例子展示了如何训练深Q-network (DQN)强化学习代理完成波束选择任务5 g的新收音机(NR)通信系统。而不是一个详尽的定向搜索所有梁对,训练有素的特工增加梁选择精度通过选择信号强度最高,同时减少梁的梁转换成本。当你使用一个访问网络节点(gNB)四光束,仿真结果在这个例子显示培训代理选择梁最大可能信号强度大于90%。

介绍

使毫米波(mmWave)通信、梁必须使用管理技术由于pathloss较高和堵塞在高频率。梁管理是一组图层1(物理层)和2(介质访问控制)层程序建立和保持一个最佳的梁副(传输光束和相应接收光束)连接好(1]。NR梁管理程序的例子,请参阅NR单边带束扫(5 g工具箱)使用CSI-RS NR下行发送端梁细化(5 g工具箱)

这个例子考虑梁选择程序时建立连接用户设备(UE)和gNB之间。5 g NR,梁选拔程序首次访问由梁席卷,这需要详尽的搜索所有光束发射器和接收器,然后选择梁副提供最有力的参考信号接收功率(RSRP)。因为mmWave通信需要许多天线元素,这意味着许多光束,一个详尽的搜索在所有光束成为计算昂贵,增加初始访问时间。

为了避免重复执行一个详尽的搜索和减少通信开销,这个示例使用强化学习(RL)代理执行梁选择使用接收者的GPS坐标和当前波束角而问题绕轨道。

在这个图中,广场代表问题的跟踪(绿色圆圈)绕,红色的三角形代表基站的位置(gNB),黄色方块代表信道散射,蓝线代表所选的梁。

DQN强化学习代理的更多信息,见深Q-Network (DQN)代理(强化学习工具箱)

定义环境

训练强化学习代理,您必须定义的环境进行交互。强化学习代理选择行为的观察。强化学习算法的目标是找到最优的行动最大化预期的长期累积奖励期间收到环境的任务。关于强化学习的更多信息代理、明白了强化学习代理(强化学习工具箱)

梁的选择环境:

  • 代表不同的观测问题束位置信息和当前的选择。

  • 行为是一个选择的梁四梁总从gNB角度。

  • 奖励 r t 在时间步 t 是由:

r t = r rsrp + r θ r rsrp = 0 9 × rsrp r θ = - - - - - - 0 1 × | θ t - - - - - - θ t - - - - - - 1 |

r rsrp 是一个奖励的信号强度测量问题(rsrp)和 r θ 是一个点球为控制的努力。 θ 波束角的度。

环境创建RSRP从生成的数据神经网络对梁的选择(5 g工具箱)。在预先录制的数据中,接收器是随机分布在6米平方的周长,配置了16梁双(四梁两端,与一个射频模拟beamformed链)。使用MIMO散射通道,200例考虑接收机位置在训练集(nnBS_TrainingData.mat在测试集()和100接收机位置nnBS_TestData.mat)。预录的数据使用二维位置坐标。

nnBS_TrainingData.mat文件包含一个矩阵接收机的位置,locationMatTrain一束RSRP测量16双,rsrpMatTrain。由于接收机梁选择不显著影响信号强度,计算每个基站天线波束的意思是RSRP为每个问题的位置。因此,操作空间是四光束角度。你重新排序记录数据模仿周围的接收机顺时针移动基站。

生成新的训练集和测试集,集useSavedData。请注意,再生的数据需要几个小时。

%设置随机发生器再现性的种子rng useSavedData = true (0);如果useSavedData%从神经网络生成的数据加载波束选择的例子负载nnBS_TrainingData负载nnBS_TestData负载nnBS_position其他的%生成数据helperNNBSGenerateData ();% #好吧的位置。posTX = prm.posTx;的位置。ScatPos = prm.ScatPos;结束locationMat = locationMatTrain(1:4:最终,);%位置顺时针顺序排序secLen =大小(locationMat 1) / 4;(~,b1) =排序(locationMat (1: secLen, 2));(~,b2) =排序(locationMat (secLen + 1:2 * secLen, 1));(~,b3) =排序(locationMat (2 * secLen + 1:3 * secLen, 2),“下”);(~,b4) =排序(locationMat (3 * secLen + 1:4 * secLen, 1),“下”);idx = [b1; secLen + b2; 2 * secLen + b3; 3 * secLen + b4);locationMat = locationMat (idx:);%计算平均每个gNB RSRP梁和以顺时针顺序排序avgRsrpMatTrain = rsrpMatTrain / 4;% prm.NRepeatSameLoc = 4;avgRsrpMatTrain = 100 * avgRsrpMatTrain。/ max (avgRsrpMatTrain, [],“所有”);avgRsrpMatTrain = avgRsrpMatTrain (:,:, idx);avgRsrpMatTrain =意味着(avgRsrpMatTrain, 1);%角旋转矩阵:更新nBeams > 4txBeamAng = (-78, 92177);rotAngleMat = [0 85 170 105 85 0 85 170 170 85 0 85 105 170 85 0];rotAngleMat = 100 * rotAngleMat. / max (rotAngleMat [],“所有”);%使用生成的数据创建培训环境envTrain = BeamSelectEnv (locationMat avgRsrpMatTrain rotAngleMat,位置);

环境中定义BeamSelectEnv万博1manbetx支持类,它是使用创建的rlCreateEnvTemplate类。BeamSelectEnv.m坐落在这个示例文件夹。奖励和惩罚函数内定义和更新代理与环境交互。

创建代理

DQN代理接近长期奖励通过使用一个给定的观察和操作rlVectorQValueFunction(强化学习工具箱)评论家。向量核反应能量函数近似者也观察输入和政府行动值作为输出。每个输出元素代表预期的长期累积奖励从国家采取相应的离散行动观察输入所示。

示例使用默认的评论家对于给定的观测网络结构和行为规范。

obsInfo = getObservationInfo (envTrain);actInfo = getActionInfo (envTrain);代理= rlDQNAgent (obsInfo actInfo);

查看评论家神经网络。

criticNetwork = getModel (getCritic(代理));analyzeNetwork (criticNetwork)

促进expoloration, DQN代理在这个例子中优化学习速率为0.001和ε衰减系数为0.0001。的完整列表DQN hyperparameters及其描述,看到的rlDQNAgentOptions(强化学习工具箱)

指定代理hyperparameters培训。

agent.AgentOptions.CriticOptimizerOptions。LearnRate = 1 e - 3;agent.AgentOptions.EpsilonGreedyExploration。EpsilonDecay = 1的军医;

火车代理

培训代理商,首先使用指定培训选项rlTrainingOptions(强化学习工具箱)。在这个例子中,运行每个训练最多500集,每集持续最多200时间步,对应于一个完整循环的轨道。

trainOpts = rlTrainingOptions (MaxEpisodes = 500,MaxStepsPerEpisode = 200,% = 200训练数据大小StopTrainingCriteria =“AverageSteps”,StopTrainingValue = 500,情节=“训练进步”);

火车代理使用火车(强化学习工具箱)函数。培训这个代理是一个计算密集型的过程需要几分钟才能完成。节省时间在运行这个例子中,加载一个pretrained代理设置doTraining。训练自己代理,集doTraining真正的

doTraining = false;如果doTraining trainingStats =火车(代理,envTrain, trainOpts);% #好吧其他的负载(“nnBS_RLAgent.mat”)结束

这个图显示了培训的发展。你可以期待不同的结果由于固有的随机性,培训过程。

模拟训练的代理

验证训练有素的特工,rfirst建立一个测试环境问题位置,代理还没有看到在训练过程中。

locationMat = locationMatTest(1:4:最终,);%位置顺时针顺序排序secLen =大小(locationMat 1) / 4;(~,b1) =排序(locationMat (1: secLen, 2));(~,b2) =排序(locationMat (secLen + 1:2 * secLen, 1));(~,b3) =排序(locationMat (2 * secLen + 1:3 * secLen, 2),“下”);(~,b4) =排序(locationMat (3 * secLen + 1:4 * secLen, 1),“下”);idx = [b1; secLen + b2; 2 * secLen + b3; 3 * secLen + b4);locationMat = locationMat (idx:);%计算平均RSRPavgRsrpMatTest = rsrpMatTest / 4;% 4 = prm.NRepeatSameLoc;avgRsrpMatTest = 100 * avgRsrpMatTest。/ max (avgRsrpMatTest, [],“所有”);avgRsrpMatTest = avgRsrpMatTest (:,:, idx);avgRsrpMatTest =意味着(avgRsrpMatTest, 1);%创建测试环境envTest = BeamSelectEnv (locationMat avgRsrpMatTest rotAngleMat,位置);

模拟环境与训练有素的特工。代理模拟更多的信息,请参阅rlSimulationOptions(强化学习工具箱)sim卡(强化学习工具箱)

情节(envTest) sim (envTest、代理、rlSimulationOptions (“MaxSteps”,100))

图包含一个坐标轴对象。坐标轴对象包含x (m), ylabel y (m)包含5类型的对象矩形,散点、线。

maxPosibleRsrp =总和(max(挤压(avgRsrpMatTest)));rsrpSim = envTest.EpisodeRsrp;disp (“代理RSRP /最大RSRP = "+ rsrpSim / maxPosibleRsrp * 100 +“%”)
代理RSRP /最大RSRP = 94.9399%

引用

38.802 [1]3 gpp TR。“新的无线接入技术研究物理层方面。”第三代合作伙伴项目;技术规范集团无线接入网络

[2]萨顿,理查德·S。,和Andrew G. Barto. Reinforcement Learning: An Introduction. Second edition. Cambridge, MA: MIT Press, 2020.

相关的话题