摘要
基于张量分裂技术,设计了一种面向电磁目标识别的神经网络模型分散计算方法。该方法根据不同的隐藏层选择特定的张量分裂方法,将权重无损地分散到多个分布式节点上,以分散、聚合的方式完成协同推理计算。在树莓派设备上进行的仿真实验表明,该方法可以对集中式电磁识别模型进行无损拆分并分布式部署,可以保持与原始模型完全相同的准确率。并且当原始模型由于参数量过大而无法加载到内存中进行处理时,该方法仍可以正常完成计算。
基于神经网络的电磁目标识别对于边缘设备一直是很大的挑战,其主要原因在于边缘设备的计算资源和存储资源有限,而神经网络模型又往往需要很高的计算量和存储空间。如果使用云服务器与边缘设备相结
为解决上述问题带来的挑战,可通过优化边缘设备端的算法与协作方式,减小神经网络模型的计算量与存储空
本文根据电磁目标识别的需求特征,设计了一种基于张量分裂的神经网络模型分散计算方法,将神经网络的数据张量与权重张量以特定的方式进行不同维度上的分裂,并部署于多个智能体节点中,通过节点之间的数据传递与整合,实现与集中式模型完全相同的感知结果,完成边缘端对电磁目标的分布式协同感知,将深度神经网络计算从云边结合的方式推向纯边缘。仿真结果表明,本文提出的方法降低了电磁目标识别任务中边缘计算对云资源和高质量网络的依赖性,提供了一种处理边缘设备采集得到的原始数据的解决方案。
全连接层的计算如式(1)所示:
(1) |
式中:W为权重;x为输入数据;b为偏移量;a为输出数据。
在电磁目标识别模型中,全连接层的张量计算和张量在边缘设备内存中的存储对于单个设备而言是较大的负担。在实际场景中,由于数据分布式存储在多个边缘设备节点上,如果使用集中式计算模型,需要将不同设备的数据进行通信合并,作为一个张量输入全连接层中进行计算,这将在数据处理阶段就带来大量的数据通信开销。而且尽管集中式模型的识别性能好,但单个边缘设备由于计算资源的限制往往无法承载这种集中式模型的计算量。对于一个计算量和存储量要求较高的集中式电磁目标识别模型,本文通过将模型全连接层计算量分散到不同的边缘设备,辅以一定的信息交互,协同地来完成整个计算。本文将全连接层的张量分裂计算方法根据全连接层的拆分维度和输入数据的情况分为输入张量分裂计算方法和输出张量分裂计算方法。
在全连接层的输入张量分裂中,基本思想是将权重W和输入数据x进行相应的分块,分成wi和xi,节点使用分割后的子矩阵进行计算,每个边缘设备进行wixi计算,当每个节点完成计算后,再将所有节点对应的部分相加并合并结果。对于n个节点,最后的结果如式(2)所示:
(2) |
输入张量分裂计算方法如

Fig.1 Input splitting
图1 输入张量分裂
在电磁目标识别模型中,除了对输入张量进行分裂计算外,还可将全连接层的输出进行张量分裂,同样减少单个设备上的计算和存储量。在实际场景中,给定一个识别性能较好但计算量较高的集中式电磁目标识别模型,通过将模型全连接层以一种与输入张量分裂不同的方式进行分裂并分散到不同的边缘设备,同样辅以一定的信息交互协同完成整个计算,最后将不同边缘设备的计算结果进行整合得出最终感知结果。
与输入张量分裂计算不同的是,在全连接层的输出张量分裂中,只将W进行相应的分块表示,每个边缘设备的输入x相同。每个边缘设备进行wix计算,当每个节点完成计算后,再将所有节点对应的部分通过直接相连的方式合并得到结果。对于n个节点,最终结果如式(3)所示:
(3) |
输出张量分裂计算方法具体如

Fig.2 Output splitting
图2 输出张量分裂
全连接层不同张量分裂方法的性能比较如
两种全连接层张量分裂方法相对集中式计算方法都减少了对单个节点的内存占用和计算量。如何选择两类分裂方法的一个重要根据是输入和输出数据的维度,输出分裂的总通信量为ndi+do,输入分裂的总通信量为di+ndo,若输入数据维度较输出数据维度小,则输出分裂效果更好,反之则输入分裂效果更好。值得注意的是,输出张量分裂方法可以在节点内直接调用激活函数,而输入张量分裂方法则必须先汇总计算结果后再进行激活,因此不能在节点内完成激
卷积层由一系列滤波器成,也称为卷积核。滤波器会按照一定的步长从输入张量的宽度以及高度两个方向进行滑动,并将自己的参数与该部分对应的数值进行点乘运算,将所有的乘积相加得到一个输出。每个滤波器遍历整个输入张量后,会得到输出特征图中的一个通道。因此卷积层的输出通道维度仅取决于该层滤波器的个数。
在电磁目标识别模型中,卷积层的张量计算会消耗设备大量计算资源。实际的卷积层计算中,滤波器在输入张量的宽高方向滑动进行卷积运算,提取到上一层张量的局部特征后,还需要与偏置值相加,再通过一个激活函数才能得到当前层的特征图。卷积层的计算中输入数据的维度为Hi×Wi×Ci,滤波器的维度为Hf×Wf×Cf×k,k为滤波器的个数,输出数据的维度为Ho×Wo×Co,并且根据卷积层定义可知Cf=Ci,Co=k。卷积层的计算首先将一个滤波器置于输入数据的左上角进行内积操作,得到结果后按照一定的步长从输入张量的宽度以及高度两个方向进行滑动,每次滑动都伴随着一次新的内积操作并得到一个新的值。将所有遍历得到的计算结果构成矩阵并与偏置值b相加得到一个输出特征矩阵。每个滤波器都对应着一个输出特征矩阵,将这些特征矩阵叠在一起便得到该卷积层最终的卷积运算输出矩阵。为了减少单个设备上的计算量,降低设备负担,提升整体性能,可以通过卷积层的张量分裂方法对卷积层进行拆分。卷积层的分布式运行可从滤波器、输出数据和输入数据等角度对张量进行分裂,通过滤波器张量分裂、通道张量分裂和空间张量分裂的方法来提高设备的计算性能。
本节将卷积层的滤波器和输入数据进行张量分裂,减少单个设备上的计算量,提升整体计算性能。卷积层滤波器张量分裂方法具体如

Fig.3 Filter splitting
图3 滤波器张量分裂
在卷积层的计算中,计算结果的通道数等于滤波器的个数。通道张量分裂仅对卷积层的通道数量进行拆分。在通道张量分裂计算方法中,每个节点用相同的输入数据计算卷积层输出数据中不重叠的一组通道,并利用不同的滤波器进行计算。这一方法具体如

Fig.4 Channel splitting
图4 通道张量分裂
与上述两种张量分裂方法不同,空间分裂仅对输入数据进行拆分。在空间张量分裂计算方法中,每个节点计算卷积层输入数据中的一个部分。在这一方法中,节点存储的权重与原始集中式模型完全一致,仅有输入数据被拆分,具体如

Fig.5 Spatial splitting
图5 空间张量分裂
值得注意的是,为了保持输入数据的完整性,在分割输入数据时会根据卷积核的大小来设置重叠区域,在重叠区域内的数据会被分配到多个节点进行计算,其计算量会有增加。如
卷积层不同张量分裂方法的具体对比如
总体而言,不同的卷积层分裂方法相对集中式计算,都减少了单节点的计算量,另外,通道分裂和滤波器分裂也减少了对内存的占用。不同张量分裂方法的差异对性能的影响强度由特定卷积层的特性决定。具体而言,通道分裂的劣势在于复制输入数据的开销,每个节点都需获得一份原始卷积层中的完整输入数据。空间分裂的劣势在于无法降低内存开销,节点需要存储一份与原始卷积层相同的权重数据。滤波器分裂的劣势在于每个节点需要传输一份与原始卷积层输出数据量相同的结果数据。在拆分方式的选择中,需要根据不同卷积层的权重数、输入维度、输出维度,计算得出具体通信量、计算量和内存占用量,以此作为标准做合理拆分。值得注意的是,通道张量分裂和空间分裂方法可以在节点内直接调用激活函数,而滤波器张量分裂方法则必须先汇总计算结果后再进行激活,因此不能在节点内完成激活。
本节通过在树莓派3b

Fig.6 Raspberry Pi testbed
图6 树莓派测试平台

Fig.7 Topology of node network in simulation experiment
图7 仿真实验节点网络拓扑
仿真实验采用的数据是调制信号数据集RadioML2016.10
通常主流的深度学习框架均采用4维的32位实数数据存储方式,即Nexamples×Nchannels×Dim1×Dim2的数据存取。其中Nexamples代表样本个数,每个样本包含128个复实数点的时间采样,采样通道数Nchannels=1,Dim1=2代表有I,Q两路数据,采样后数据长度Dim2=128。无线通信中通常采用复数的表达方式,但是目前许多机器学习的框架工具并不支持复数表示,为了尽量保存数据信息,数据集利用Dim1的I/Q两路数据将每次采样数据的同相和正交分量组成一个2×128的数据。
在此基础上,通过将同一条数据复制若干份进行叠加的方式来模拟信号输入。实际情况下输入信号不可能完全相同而且会受到一定程度的干扰,故再加入方差为0.05的高斯噪声用于模拟实际情况下多个节点分别采集到的单通道数据叠加成多通道数据作为数据的输入。
实验采用的集中式神经网络如

Fig.8 Centralized neural network
图8 集中式神经网络
将集中式神经网络进行分布式拆分,具体张量分裂方式如

Fig.9 Distributed neural network
图9 分布式神经网络
实验结果如
本节在分布式计算的测试平台上混合利用全连接层张量分裂方法和卷积层张量分裂方法,实现了与集中式计算完全相等的计算准确率。
本文围绕着分布式电磁目标识别计算架构的研究,根据电磁目标识别的需求特征,从张量分解的方向切入,设计了一种面向电磁目标识别的基于张量分裂的神经网络模型分散计算方法,将集中式神经网络无损地拆分成多部分以分布式的方式部署于智能体节点中,通过节点之间的数据传递与整合来完成对目标的协同感知。同时本文搭建了仿真实验平台,并根据实际情况进行了仿真实验,对比集中式系统,本文设计的分散计算方法在不需要强大的集中式计算资源下能够保证计算准确性与集中式计算完全一致,并且在集中式模型由于参数量过大无法加载到内存中而无法进行计算时,本文设计的分散计算方法仍然可以进行计算。该研究成果对于电磁目标的分布式协同感知有重大意义。
参考文献:
MAO J,CHEN X,NIXON K W,et al. MoDNN:local distributed mobile computing system for deep neural network[C]// Design, Automation & Test in Europe Conference & Exhibition(DATE). Lausanne,Switzerland:IEEE, 2017:1396-1401. [百度学术]
TEERAPITTAYANON S,MCDANEL B,KUNG H T. Distributed deep neural networks over the cloud,the edge and end devices[C]// 2017 IEEE 37th International Conference on Distributed Computing Systems(ICDCS). Atlanta,GA,USA: IEEE, 2017:328–339. [百度学术]
UANGC H, MO R, YUEN C. Reconfigurable intelligent surface assisted multiuser MISO systems exploiting deep reinforcement learning[J]. IEEE Journal on Selected Areas in Communications, 2020,38(8):1839-1850. [百度学术]
HUANG C, ZAPPONE A, ALEXANDROPOULOS G C,et al. Reconfigurable intelligent surfaces for energy efficiency in wireless communication[J]. IEEE Transactions on Wireless Communications, 2019,18(8):4157-4170. [百度学术]
SHI W, CAO J, ZHANG Q,et al. Edge computing:vision and challenges[J]. IEEE Internet of Things Journal, 2016,3(5):637-646. [百度学术]
RAMACHANDRAN P, ZOPH B, LE Q V. Searching for activation functions[J/OL]. arXiv:1710.05941, 2018. [百度学术]
DOWNES S. Raspberry Pi foundation[EB/OL]. (2011-05-09). https://www.downes.ca. [百度学术]
TIMOTHY J O,NATHAN W. Radio machine learning dataset generation with gnu radio[C]// Proceedings of the GNU Radio Conference. Boulder,CO,USA:[s.n.],2016. [百度学术]
O'SHEA T, KARRA K. GNU radio signal processing models for dynamic multi-user burst modems[J/OL]. arXiv:1604.08397, 2016. [百度学术]
HAN S, MAO H, DALLY W J. Deep compression:compressing deep neural networks with pruning,trained quantization and huffman coding[J/OL]. arXiv:1510.00149v5, 2016. [百度学术]
YU J,LUKEFAHR A,PALFRAMAN D,et al. Scalpel:customizing DNN pruning to the underlying hardware parallelism[C]// 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture. Toronto,ON,Canada:IEEE, 2017:548-560. [百度学术]
KIM Y D, PARK E, YOO S,et al. Compression of deep Convolutional Neural Networks for fast and low power mobile applications[J]. Computer Science, 2015,71(2):576-584. [百度学术]
ZHOU L,XIA Y,ZANG H,et al. An edge-set based large scale graph processing system[C]// IEEE International Conference on Big Data. Washington,DC,USA:IEEE, 2017:1664-1669. [百度学术]