基于知识迁移的深度学习无线电信号聚类方法①

2023-12-16 11:30李晓慧陈壮志徐东伟赵文红
高技术通讯 2023年11期
关键词:聚类辅助样本

李晓慧 陈壮志 徐东伟 赵文红 宣 琦

(∗浙江工业大学信息工程学院网络空间安全研究院 杭州 310023)

(∗∗嘉兴南湖学院信息工程学院 嘉兴 314001)

0 引言

随着现代电磁环境日趋复杂,信号调制识别已成为实现频谱资源监管的重要手段。近年来,深度学习作为一种有效且强大的分类工具,被广泛应用于信号调制识别[1-6]。然而现有研究大多基于监督学习和半监督学习[7-9],主要存在以下2 个缺点:(1)需要标记样本训练深度学习模型;(2)只能检测训练集所包含的固定类型的信号,一旦先验数据不足或信号的工作状态、信道环境发生变化,很可能导致识别失效[10]。因此,无线电信号的无监督学习是一个急需解决的难题。

作为一种无监督学习方法,聚类通过捕捉信号间的相关性,将其分为多个簇。由于深度学习模型强大的特征提取能力,深度聚类逐渐兴起,例如基于学生t 分布对比的深度嵌入聚类(deep embedded clustering,DEC)[11]、基于凝聚聚类的联合无监督学习(joint unsupervised learning,JULE)[12]、基于样本对比的深度自适应图像聚类(deep adaptive image clustering,DAC)[13]和基于密度聚类的深度密度图像聚类(deep density-based image clustering,DDC)[14]等。然而对于无线电信号,直接的聚类很难达到期望的效果。因为从波形上看,信号调制类型相关的特征并不显著,这会导致深度学习模型在聚类初期提取的特征毫无聚集性,模型优化的方向不明确,最终导致无法聚类。目前聚类在无线电信号调制中主要用来分析各种统计特征的重要性[15]和重构星座图的聚类中心向量[16-19]。

迁移学习[20-25]通过对模型参数、样本知识等的迁移利用,在目标数据集样本不足时,可以有效整合利用辅助数据集提供的知识,提升算法性能。因此,通过迁移学习机制弥补深度学习模型在聚类初期特征提取能力不足的缺陷,保证模型能提取到有用的、疏密不同的特征,是提升聚类性能的可行思路。

本文提出了一种用于调制识别的无线电信号深度迁移聚类框架,将特征学习和聚类联合训练,并采用迁移学习策略来增强特征提取能力。该框架的流程如下。首先,使用相同或相关领域的有标记数据集对卷积神经网络(convolutional neural network,CNN)进行预训练,由于预训练使用的是有类标的信号,所以可以保证模型所学知识的正确性;然后,使用预训练阶段得到的CNN 模型对目标数据集中的信号进行初步特征提取并聚类,选择聚类结果中高置信度的信号进行软标注;再根据这些样本进一步微调CNN 模型;最后重复聚类和微调过程,迭代训练CNN,直到聚类精度稳定。由于每次模型训练均使用高置信度的信号,模型抗干扰能力强,训练效率高。聚类过程和特征学习过程联合训练,可学到更符合信号聚类需求的隐藏特征。本文的主要贡献可总结如下。

(1)本文提出了一种无监督的无线电信号聚类方法:深度迁移无线电信号聚类(deep transfer clustering of radio signals,DTC)。基于样本对比的思想,分析信号间的相似性,并将特征学习与聚类联合训练,实现无线电信号的聚类,协助识别未知信号的调制类型。

(2)本文设计了一种迁移学习机制,通过对同领域数据集知识的迁移,有效提高CNN 的特征提取能力,大幅提高信号聚类的性能。

(3)本文将迁移学习与深度聚类结合,实现了目标属性聚类。通过控制辅助数据集提供的知识,增加特征向量中与调制类型属性相关的特征所占比重,实现对聚类方向的控制,确保样本聚类依据的主要属性为调制类型。

1 深度迁移聚类

本节旨在介绍无线电信号的深度迁移聚类方法。假设O={xi}n i=1表示无标记的信号数据集,其中n为样本个数,xi表示第i个信号。唯一可知的信息是数据集包含k类调制信号,而具体调制类型未知。DTC 将分析这些信号在调制类型方面的相似性,将O分成k个簇。

DTC 的总体框架如图1 所示,使用CNN 作为学习模型来实现特征映射。与其他聚类方法不同的是,为了提高CNN 对调制信息的特征提取能力,DTC 引入了迁移学习的参数迁移,用已有调制类型标签的数据集作为辅助数据集,将辅助数据集上训练得到的CNN 参数应用到目标数据集上,辅助数据集与目标数据集互相独立,数据分布不同。DTC 整个框架包括3 个阶段:数据对齐、预训练和微调聚类。

图1 DTC 的整体框架

1.1 数据对齐

数据对齐的目的是为了实现辅助数据集和待聚类的目标数据集之间信号样本长度的一致性。

辅助数据集B是独立于O的有标记信号数据集。在聚类之前,使用B对模型进行预训练。由于O和B是相互独立的,2 个数据集的样本长度可能不同。当B中的信号比O中的信号短时,通过复制将其扩展至目标长度。例如,长度为3 的信号“abb”扩展为长度为8 的“abbabbab”。当B中的信号长于O中的信号时,基于等间隔采样对其进行压缩,以保留信号整体的波形特征。例如,长度为8 的信号“abcdefgh”缩短为长度为3 的“adg”。需要注意的是,在这里只调整了B中信号的长度,O中的信号会被直接输入到CNN 中,无需任何调整。

两个数据集中的类别数(调制类型的种类数量)可能存在差异。当B中的类别数大于O的类别数k时,随机选择k类的样本用于模型的预训练;当B的类别数不够时,所有样本都将被利用,该情况下预训练过程的效果会略有降低。无论辅助数据集类别数是多少,CNN 输出的特征向量的维数始终与O的类别数保持一致。

1.2 预训练

数据对齐后,使用B中的信号及标签预训练CNN。为了降低计算量,B的训练集中的样本被随机划分成多个批次,每个批次包含m个信号。对于一个批次的输入信号,CNN 输出m个k维的特征向量。根据余弦距离,信号xi和xj之间的相似度定义为

其中,vi是信号xi的特征向量,fi是对vi归一化后的结果,维度为k。所以该批次信号的相似度矩阵:

其中,FB=,SB(i,j)=fi·fj,表示信号xi和xj之间的相似度,SB的维度为m×m。

然后,将信号的标签转换成维度为k的one-hot向量。每批信号的标签向量可以组成m×k维的标签矩阵YB=。由此可得二元判断矩阵:

其中,PB是一个m×m维的布尔矩阵。如果信号xi和xj属于同一类别,则矩阵元素PB(i,j)=1,否则PB(i,j)=0。根据PB,得到正矩阵=PB和负矩阵=1 -PB。根据二分类交叉熵,预训练过程中的损失函数可以定义为

其中,超参数λ用于调整正损失和负损失的比例。损失函数用来衡量预测的相似度矩阵与信号真实标签矩阵之间的差异。通过预训练阶段的损失函数,CNN 可以学习信号调制类型相关的知识,提高特征提取能力,并通过余弦相似度判断2 个信号的调制类型是否相同。这种样本对比的思想类似于Sim-CLR[26],但最大的不同在于SimCLR 比较的是同一样本的2 个不同增强版本并学习其特征表示。而本文方法比较的是不同的样本,侧重于总结样本的相似性。

DTC 使用辅助数据集B的训练集对CNN 进行迭代预训练,在每次迭代后,使用验证集评估CNN的性能。当验证集上的损失值稳定时,停止预训练,保存CNN 的参数。预训练使CNN 具备了一定的特征提取能力,且辅助数据集提供的知识促使CNN 在提取特征时,更关注与调制类型有关的特征。

1.3 微调与聚类

将预训练得到的CNN 迁移到目标数据集上,根据目标数据集O对CNN 进行微调,并输出O的聚类结果。目标数据集O是无标签的。如图1 右侧所示,同样,将目标数据集O分批输入CNN,批次大小与预训练阶段相同。对于每个批次的输入信号,CNN 输出信号的特征矩阵为FO,FO的维度为m×k。根据FO得到该批信号的相似度矩阵:

其中,SO的维度为m×m。由于O中的样本是无标注的,DTC 使用软标签代替样本的真实标签。将SO的元素分别与上限阈值u和下限阈值l进行比较,以衡量2 个信号属于同一簇的可能性。相似度大于上限阈值和小于下限阈值的样本对将被筛选用于CNN 的微调训练,不在此范围内的样本对暂时忽略。

每次训练中,只有当前置信度较高的样本对被用于训练CNN,因为高置信度样本的软标签是正确的可能性更大,也意味着这些样本在调制类型上的特征更鲜明,有利于CNN 学习表示O中样本的调制类型特征。随着微调的进行,由于高置信度样本的标签正确性相对较高,模型对当前数据集的特征提取能力得到了加强,所以会出现更多的高置信度样本参与微调,最终提高模型性能。在训练过程中,由于DTC 采用余弦距离衡量特征向量间的相似程度,所以来自不同类别的信号的特征向量会趋于相互垂直。特征向量的维度为k,与类别数相同。随着训练的进行,经过归一化处理的特征向量会趋于onehot 向量的形式。归一化后的特征向量实际代表信号在各个类别中的概率分布。

CNN 的结构如图2 所示,包括4 层二维卷积层(Conv)和2 层全连接层(Dense),每层都使用整流线性(rectified linear unit,ReLU)[27]激活函数,并在ReLU 层之前增加了批标准化(batch normalization,BN)[28]以防止过拟合。同时,BN 层可以将数据的分布调整为正态分布,在每次输入数据的分布不同时保证模型的泛化性能。为了去除冗余信息,在第2 和第3 卷积层的ReLU 函数之后添加了最大池化层(MaxPool)。最大池化层的输出后也添加了BN层。CNN 的4 个卷积层分别包含32、128、128 和32个过滤器。最后2 个全连接层分别包含64 和k个神经元。模型的最后使用softmax 分类器输出概率分布。CNN 的更多详细参数设置参见表1。本文所有实验均基于TensorFlow 深度学习框架实现,并使用Adam 优化器对模型进行训练。

表1 CNN 的结构设置

图2 DTC 使用的CNN 结构

2 整体实验设置

2.1 数据集

本文使用3 个公开数据集:RML 2016.10A、RML 2016.04C 和RML 2018.01A。

RML 2016.10A 是一个使用GNU Radio 生成的公共数据集。该数据集包含11 种调制类别的样本,包括数字调制的BPSK、QPSK、8PSK、16QAM、64QAM、BFSK、CPFSK 和PAM4,以及模拟调制的WB-FM、AM-SSB 和AM-DSB。数据集包含从-20~18 dB 的20 种不同信噪比的信号样本,每个样本的形状为128 ×2。

RML 2016.04C 是一个使用GNU Radio 生成的公共合成数据集,由11 种不同调制类型的信号组成。样本的调制类别种类、信噪比和形状与RML 2016.10A 相同,但该数据集的生成过程更接近真实信号。

RML2018.01A 是一个包括24 种数字和模拟调制类型的数据集,具体调制类型有:32PSK、16APSK、32QAM、FM、GMSK、32APSK、OQPSK、8ASK、BPSK、8PSK、AM-SSB-SC、4ASK、16PSK、64APSK、128QAM、128APSK、AM-DSB-SC、AM-SSB-WC、64QAM、QPSK、256QAM、AM-DSB-WC、OOK、16QAM。每个样本的形状为1024 ×2。

由于高信噪比的信号受噪声影响更小,为了突出显示各种方法的效果,在本文的实验中,只使用了信噪比最高的信号。实验中使用的数据集的详细信息如表2 所示。

表2 使用的信号数据集

2.2 对比方法

为了说明DTC 的性能,本文选择了传统聚类方法K-means 和几种深度聚类方法与DTC 进行对比。由于信号领域尚未有成熟的无监督学习的方法,本文选择了近年来提出的2 种通用性较强的高性能深度聚类方法DEC 和DAC。同时作为参考,本文列出了2 种半监督方法的结果,包括基于生成对抗网络的信号分类方法(signal classifier generative adversarial networks,SCGAN)[9]和半监督信号识别卷积神经网络(semi-supervised signal recognition convolutional neural network,SSRCNN)[8]。

2.3 评价指标

本文选择3 种经典聚类指标来评估实验结果,包括聚类精度(accuracy,ACC)、调整兰德系数(adjusted rand index,ARI)和归一化互信息(normalized mutual information,NMI)。指标数值越高表明聚类性能越好。

2.4 超参数

由于该模型对超参数λ并不敏感,当λ发生量级程度的改变时,才会对实验结果产生影响。因此可以对λ取0.01、0.1、1 等不同数量级的值进行实验,根据实验结果确定λ的取值。在本文实验中,预训练阶段设置λ=0.1,微调聚类阶段设置λ=100。对于上下限阈值,本文实验以0.1 为间隔,在[0,1]范围内为l取不同的值,在[l,1] 范围内为u取不同的值,经过66 次测试,最终确定上限阈值u=0.95,下限阈值l=0.455。

3 实验结果

3.1 DTC 的聚类实验

本文在3 个数据集上进行交叉聚类实验。每次实验选择2 个数据集,分别作为目标数据集和辅助数据集。由于RML 2018.01A 包含24 种类型的样本,其他2 个数据集只有11 类。当使用RML 2018.01A作为辅助数据集时,仅使用其中11 类样本进行预训练。目标数据集和辅助数据集在调制类型上的重叠可能会带来过好的提升效果,干扰DTC 的性能评估。为了消除这个因素的干扰,RML 2018.01A 作为辅助数据集时,使用的是11 种与RML 2016.10A调制类型完全不重合的信号样本。所选样本类型为32QAM、FM、GMSK、32APSK、OQPSK、8ASK、4ASK、16PSK、64APSK。

DTC 在预训练阶段仅使用辅助数据集的训练集训练CNN,在微调聚类阶段使用目标数据集的所有样本(包括训练集和测试集)微调CNN 模型。训练过程和微调过程的批次大小、学习率和训练周期数相同。批量大小m和迭代训练次数都是150。对于不同的训练周期,学习率的值不同。前20 个周期的学习率为0.001,第21~50 个周期的学习率为0.0008,最后100 个周期的学习率为0.0005。训练过程中,损失值会持续减少直到稳定,此时停止训练并保存模型参数。

实验结果如表3 所示,第1 列显示了所有实验的预训练阶段使用的辅助数据集,第1 行是相应的目标数据集。表中也列出了DTC 在没有预训练的情况下的聚类结果以用于对比。实验结果表明,利用辅助数据集对CNN 进行预训练后,DTC 的性能具有显著提升。在任何一组实验中,聚类结果的3 个评估指标都有明显上升。以RML2016.10A 数据集上的实验结果为例,未经预训练时,DTC 的聚类指标NMI、ARI、ACC 分别为0.4045、0.2693、0.3809。然而,在使用数据集RML2016.04C 进行预训练后,3 个指标分别增加到0.6780、0.5445 和0.6552。表3显示,在RML 2016.10A 数据集的聚类结果中,使用RML 2016.04C 作为辅助数据集时,DTC 的性能提升最显著。而RML 2016.04C 数据集的聚类结果中,使用RML 2016.10A 作为辅助数据集时,DTC 的性能提升最显著。原因在于数据集RML 2016.10A 和RML 2016.04C 的相似度较高,两者的调制类型和信号长度完全相同。值得注意的是,即使数据集RML 2018.01A 在调制类型和信号长度上与另外2个数据集完全不同,选择RML 2018.01A 作为辅助数据集时,仍然可以提高另外2 个数据集的聚类性能。同样,RML 2018.01A 作为目标数据集时,其他2 个数据集预训练得到的CNN 参数也能提升RML 2018.01A 上的聚类性能。这说明DTC 具有一定的泛化能力。

表3 3 个数据集上交叉预训练的聚类结果

3.2 对预训练阶段的消融研究

3.1 节中的实验证明了预训练可以提高模型的聚类性能。为了研究预训练对最终结果的影响,本文进行了消融实验。取原辅助数据集训练集的5%、10%、20%、30%、40%和50%的样本进行预训练,分别进行聚类实验。样本挑选采用分层随机抽取策略,每种调制类型的样本所占比例与原训练集中的一致。表4 展示了6 组交叉实验(即exp 1~6)中辅助数据集和目标数据集的选取情况。结果如图3所示。可以看出,随着辅助数据数量的减少,目标数据集上的聚类精度逐渐下降,但在辅助数据集的样本数量下降至10%前,精度总体下降幅度不大。部分实验结果中,样本数量降低,精度出现大幅波动,原因可能与辅助样本提供的知识量有关。辅助数据数量减少,提供的调制信息减少,所以聚类精度出现下降。但样本提供的调制信息存在重叠,所以当辅助数据数量足够充足时,即使数据量大幅减少,精度下降幅度仍然不大。在部分情况下,若辅助数据集中不同样本提供的信息间重叠程度相对较小,信息总量较高,就会产生精度较高的实验结果;若部分样本提供的信息过少,也可能对聚类产生不利影响。

表4 exp 1~6 中的辅助数据集和目标数据集

图3 消融实验结果

3.3 信号调制种类的影响

为了验证DTC 在不同调制类型上的普适性,本文进行了以下实验。为了消除类别数不一致产生的干扰,保证辅助数据集的类别数量与目标数据集相同,本文在每个数据集中随机选择了10 类样本进行实验,并将每个数据集的10 类样本等分为第1 部分和第2 部分。划分原则为任何数据集的第1 部分不与其他数据集的第2 部分调制类型重叠。划分后的各部分数据集的具体调制信息见表5。

表5 对3 个数据集的划分结果

此项实验使用各数据集的第1 部分进行预训练,在其他数据集的第2 部分上进行微调聚类,结果如表6 所示。实验结果表明,即使辅助数据集和目标数据集的调制类型完全不同,DTC 也能有很好的聚类效果。无预训练时,DTC 在RML 2016.10A 数据集上的聚类精度为51.62%。经过预训练,聚类精度提高至99.52%,其他性能指标也有显著提升。DTC 在RML 2016.04C 数据集上的聚类精度也从41.60%提高到了86.67%。

表6 3 个数据集的交叉实验的聚类结果(5 类)

为了进一步验证实验结果,排除偶然性,本文对RML 2016.10A 和RML 2016.04C 的4 个部分进行了交叉实验,实验结果如表7 所示。为方便表述,RML2016.10A 的第1 部分记为P1,第2 部分记为P2;RML 2016.04C 的第1 部分记为P3,第2 部分记为P4。P1 和P3 中样本的调制类型相同,P2 和P4的调制类型相同。

表7 RML 2016.10A 和RML 2016.04C 交叉实验的聚类结果(5 类)

从表7 可以看出,无论辅助数据集和目标数据集的调制类型是否相同,聚类精度都有所提高。当2 个数据集的调制类型相同时,预训练对聚类精度的提升最为显著。以P3 为辅助数据集时,对P1 的聚类精度可以达到72%,比次优结果高21.7%;以P2 为辅助数据集时,对P4 的聚类精度可以达到88%,同样高于其他实验结果。同时,辅助集和目标集的生成方式更相似时,也可能获得更好的性能结果,例如,当设置P3 为目标数据集时,选择P4 作为辅助数据集时聚类精度最高。

3.4 与现有方法的对比

本文将DTC 与3.2 节中提到的其他方法进行了比较。对于DEC 的DAC,实验中的各种参数设置与原论文的推荐值一致。由于K-means 和DEC 所需的输入数据形式为一维,信号的Q 通道数据被拼接在I 通道后方,形成一维数据。而在DAC 的实验中,信号的形状被调整为n×n。SCGAN 和SSRCNN的结果来自原论文,都是在有类标数据占比10%的情况下,高信噪比信号上的半监督实验结果。

对比结果见表8。其中“DTC (无预训练)”行是不进行预训练的结果。“DTC”行代表经过预训练的聚类结果,引用的是表3 中的最优值。实验结果显示DTC 的聚类效果明显优于所有其他无监督聚类方法。特别是在RML2016.10A 上,DTC 的聚类精度达到了0.6552,比次优方法DAC 高出86.2%,比半监督方法SSRCNN 的精度低0.04。在RML2016.04C上,DTC 的聚类精度为0.7023,比DAC 高出44.5%,超过了SCGAN。在RML2018.01A 上,DTC 的聚类精度为0.3276,比DAC 高出23.3%。这些结果表明,对于无线电信号无监督学习这一项具有挑战性的任务,DTC 是一种可行的方法。

表8 各种方法在3 个数据集上的聚类结果

4 结论

借助卷积神经网络强大的特征提取能力,本文提出了一种新型端到端的无线电信号深度迁移聚类方法(DTC),将深度学习和迁移学习融合到一个整体框架中,以此提高聚类性能。实验结果表明,该方法具有一定的泛化能力,即使辅助数据集与目标数据集的调制类型不重合,DTC 也能实现较好的聚类效果。与现有方法相比,本文所提创新方法在3 个公共无线电信号数据集上取得了更优的性能。

无线电信号的无监督学习的难点在于特征提取。本文的实验证明了利用迁移学习机制提升深度学习模型特征提取能力的可行性。未来的研究方向一方面将尝试改进DTC 的框架,以期实现跨领域数据集上的知识迁移,另一方面将尝试其他增强方法,进一步提升DTC 的聚类性能。

猜你喜欢
聚类辅助样本
小议灵活构造辅助函数
倒开水辅助装置
用样本估计总体复习点拨
推动医改的“直销样本”
基于DBSACN聚类算法的XML文档聚类
基于高斯混合聚类的阵列干涉SAR三维成像
随机微分方程的样本Lyapunov二次型估计
减压辅助法制备PPDO
村企共赢的样本
提高车辆响应的转向辅助控制系统