深度学习大规模MIMO中的功率分配
摘要-本文使用深度学习的方法在大规模MIMO网络的下行链路中执行max-min和max-prod功率分配。更确切地说,与传统的面向优化的方法相比,训练深度神经网络来学习用户设备(UE)的位置和最优功率分配策略之间的映射,然后用于预测新的UE集合的功率分配曲线。与传统的优化定向方法相比,使用深度学习的方法显著提高了功率分配的复杂性-性能折衷。特别地,所提出的方法不需要计算任何统计平均值,而是需要使用标准方法来计算,并且能够保证接近最优的性能。
1 引言
大规模MIMO是指一种无线网络技术,其中基站(BSs)配备了大量的天线,通过空间复用技术为众多用户设备(UE)服务。近年来出现了令人兴奋的事态发展。在工业上,这项技术已被纳入5G新无线电标准。在学术界,被认为施加了根本的限制长期的试验性污染问题,终于得到了解决。更准确地说,有些文献中表明,在最优最小均方误差(MMSE)组合/预编码和少量空间信道相关的情况下,上行链路(UL)和下行链路(DL)中的容量随天线数目的增加而增加。结合/预编码和少量空间信道相关,在上行链路(UL)和下行链路(DL)中,容量随天线数目的增加而增加。
在这项工作中,我们使用深度学习来解决大规模MIMO网络DL中的max-min和max-prod功率分配问题。 我们受到最近机器学习技术成功应用的爆炸式增长的启发[5],它证明了深度神经网络学习丰富模式和逼近任意函数映射的能力[5],[6]。 特别地,我们的目的是证明UE的位置(可以通过全球定位系统容易地获得)可以被神经网络有效地用于获得接近最佳的性能。 这允许基本上降低功率分配的复杂性(因为需要简单的矩阵矢量运算)并且因此使得可以实时地执行功率分配,即跟随UE的位置的变化。 除此之外,训练这样的神经网络是相当方便的,因为通过运行现成的优化算法可以容易地获得训练样本。
在文献[7]中也考虑了无线网络中无线电资源分配的深度学习,其中速率最大化的WMMSE算法已经由完全连接的前馈神经网络模拟,并且在文献[8]中,卷积神经网络用于用户 - 单元关联。
2 大规模MIMO网络
对具有L个小区的大规模MIMO进行深度学习,每个小区包括具有M根天线的BS和K个UEs。
A 信道估计
B 下行频谱效率
C 预编码设计
3 功率分配
4 基于深度学习的功率分配
•训练集可以离线生成。 因此,可以提供更高的复杂性并且不适用实时约束。
•训练集可以在比UE在网络中的位置变化的速率更长的时间尺度上更新。 因此,如果使用传统的资源分配方法,则训练集可以在比应该解决功率控制问题的时间尺度更长的时间尺度上更新。
从以上考虑,得出的结论是,所提出的方法给予了巨大的复杂性降低,这允许人们基于UE的实时位置更新功率分配。
5 性能评估
A. Max-prod
评估基于NN的功率分配的性能,我们示出了每个UE的DL SE的累积分布函数(CDF),其中随机性归因于UE位置和阴影衰落实现。我们考虑MR和M-MMSE。表2中报告了与两种预编码方案一起使用的NN,其可训练参数为6,373。图2(a)的结果显示NN非常匹配具有M-MMSE的最佳解决方案。平均MSE为0.007。使用MR预编码,观察到两条曲线之间的小的不匹配。实际上,平均MSE增加到0.051。图2(b)示出了SE的MSE的CDF。正如预期的那样,带有M-MMSE的CDF曲线位于MR曲线的左侧。这基本上意味着从统计学上讲,NN使用M-MMSE比使用MR具有更好的性能。这个结果可能看似违反直觉,因为M-MMSE在算法上和计算上比MR更复杂,因此其原理中的最佳功率分配应该更难以学习。因此,对于MR预编码,仅基于期望的信号增益来分配功率。另一方面,对于M-MMSE,这也是通过考虑干扰信号的功率来实现的。由于NN接收网络中所有UE的位置作为输入,因此仅当使用M-MMSE时才能够获得该信息的大部分。
为了提高MR的学习能力,我们还考虑了表III中报告的更复杂的NN。 数值结果表明,采用M-MMSE和MR预编码,SE的平均MSE分别降至0.003和0.015。 这是以计算复杂性和训练时间为代价实现的,因为可训练参数的数量是202,373,而不是6,373。
总之,使用max-prod策略,与传统方法相比,所提出的基于深度学习的功率分配具有显着的计算复杂性优势,同时利用MR和M-MMSE预编码保持接近最佳的性能。
B. Max-min
用于max-prod策略的NN显示不适用于max-min方法。 这可能是由于两种策略之间的功率分布发生了显着变化。 为了克服这个问题,我们使用了不同的NN,它由两个循环长短期记忆(LSTM)1层和两个密集层组成。 表IV总结了NN参数和激活函数。 图2的结果表明,NN与MR和M-MMSE几乎完全匹配理论曲线。 尽管在准确性方面提供了令人满意的结果,但表IV中的NN计算总数为509,829个可训练参数。 对于L = 4且K = 5的Massive MIMO网络,这是一个相对较高的数字。当网络规模增加时,它缺乏可扩展性。
6 结论
在这项工作中,提出了一种基于MR和M-MMSE预编码的大规模MIMO网络中功率分配的深度学习框架。 考虑了两种功率分配策略,即max-min和max-prod。 我们表明,通过两种策略,经过适当训练的前馈NN能够学习如何为每个小区中的UE分配功率。 这是通过仅使用网络中UE的位置的知识来实现的,从而大大降低了优化过程的复杂性和处理时间。 数值结果表明深度学习框架使用M-MMSE而不是MR表现更好。 这可能是由于M-MMSE允许NN充分利用其可用信息。 此外,最大最小政策显示更难学。 实际上,我们需要求助于具有相对较多可训练参数的递归神经网络。
对于相对较小的Massive MIMO网络进行分析,其中L = 4个小区并且每个小区K = 5个UE。 需要进一步研究以了解随着网络规模的增加,开发框架的表现如何。 此外,实际上每个小区的UE数量不断变化。 处理这种情况的一种简单方法是对于所有可能的UE配置,每个BS具有多个NN。 但是,这种解决方案不具备可扩展性。 除了这些以及许多其他开放性问题之外,用于Massive MIMO中的实时功率分配的深度学习工具的集成似乎非常有希望。
深度学习大规模MIMO中的功率分配的更多相关文章
- 【腾讯Bugly干货分享】深度学习在OCR中的应用
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5809bb47cc5e52161640c5c8 Dev Club 是一个交流移动 ...
- 【AI in 美团】深度学习在OCR中的应用
AI(人工智能)技术已经广泛应用于美团的众多业务,从美团App到大众点评App,从外卖到打车出行,从旅游到婚庆亲子,美团数百名最优秀的算法工程师正致力于将AI技术应用于搜索.推荐.广告.风控.智能调度 ...
- Attention机制在深度学习推荐算法中的应用(转载)
AFM:Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Ne ...
- 【深度学习】CNN 中 1x1 卷积核的作用
[深度学习]CNN 中 1x1 卷积核的作用 最近研究 GoogLeNet 和 VGG 神经网络结构的时候,都看见了它们在某些层有采取 1x1 作为卷积核,起初的时候,对这个做法很是迷惑,这是因为之前 ...
- 深度学习训练过程中的学习率衰减策略及pytorch实现
学习率是深度学习中的一个重要超参数,选择合适的学习率能够帮助模型更好地收敛. 本文主要介绍深度学习训练过程中的6种学习率衰减策略以及相应的Pytorch实现. 1. StepLR 按固定的训练epoc ...
- 从零开始学会GAN 0:第一部分 介绍生成式深度学习(连载中)
本书的前四章旨在介绍开始构建生成式深度学习模型所需的核心技术.在第1章中,我们将首先对生成式建模领域进行广泛的研究,并从概率的角度考虑我们试图解决的问题类型.然后,我们将探讨我们的基本概率生成模型的第 ...
- 深度学习在 CTR 中应用
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:高航 一. Wide&&Deep 模型 首先给出Wide && Deep [1] 网络结构: 本质上 ...
- 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv
搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里. 先来规范表达 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核 ...
- 转载:深度学习在NLP中的应用
之前研究的CRF算法,在中文分词,词性标注,语义分析中应用非常广泛.但是分词技术只是NLP的一个基础部分,在人机对话,机器翻译中,深度学习将大显身手.这篇文章,将展示深度学习的强大之处,区别于之前用符 ...
随机推荐
- weBDrriver API接口方法小记
3.2.1 输入框(text field or textarea) 找到输入框元素:WebElement element = driver.findElement(By.id("passwd ...
- js/jquery中什么时候用return,什么时候用return false
根本的说 return 是函数的返回结果用, 如果你一个函数需要执行结果那就return 你需要的结果, 不需要结果就不用return而在jq中有些特殊的用法,比如$().each(function( ...
- Python之反向迭代
需求:得到反方向迭代一个序列解决:使用内置的 reversed() 函数 a = [1, 2, 3, 4] for x in reversed(a): print(x) # 4 3 2 1 反向迭代仅 ...
- c# UDP分包发送
考虑到UDP的高速和其他协议的复杂性,做了一个依靠时间发送的分包组包重发的UDP库. https://github.com/jinyuttt/UDPTTL.git
- IDEA中添加自定义的方法快捷方式
IDEA中快速添加自己自定义的方法方法,想要什么快捷方法都行 作为一个从MyEclipse转IDEA的程序员,原来写main就能补全main方法,写syso就能补全System.out.println ...
- Java 时间类 Date 和 Calendar
在项目中获取一个yyyy-MM-dd HH:mm:ss格式的时间字符串 package org.htsg.kits; import java.text.SimpleDateFormat; import ...
- rk3288 android5.1 修改时区
/work/rk3288/firefly-rk3288_android5.1_git_20180126/device/rockchip/rk3288/rk3288_box/system.prop 修改 ...
- 记一次sql索引颠覆认知
首先先建立数据库和插入数据 我们要查询的命令如下,前提是以mysql数据库为准 , 结果和我想的不太一样,先准备好环境和所需的数据库和表 准备阶段 CREATE TABLE `test` ( `id` ...
- 一、WebApi模型验证实践项目使用
一.启语 前面我们说到,模型验证的原理(包含1.项目创建,2.模型创建,3.走通测试模型验证,4.在过滤器中处理返回json格式(非控制器内))-完全是新手理解使用的,新番理解 通常情况下,对于那些经 ...
- Djano中static和media文件路径的设置
对于常用的css.js.image和常用的工具类在django项目中要设置一个全局的路径,对所有的app都可以访问到这个路径下的文件 1在django项目的setting文件中设置对应的static和 ...