一种结合频谱与智能的在线对抗学习测试系统的制作方法

文档序号:32609550发布日期:2022-12-20 19:16阅读:61来源:国知局
一种结合频谱与智能的在线对抗学习测试系统的制作方法

1.本发明涉及频谱对抗与人工智能领域,具体是提出一种频谱智能在线对抗学习系统。


背景技术:

2.随着无线频谱在诸如5g、6g等应用的研究与发展,频谱应用愈发受到重视,频谱使用过程中的应用效能,特别是在干扰对抗条件下的用频策略是未来技术发展的重点方向之一。与此同时深度学习人工智能取得了巨大的技术突破,具有高效处理海量信息、快速处理复杂问题的特点,特别是在计算机视觉、自然语言处理等领域,从处理结果的准确率、处理速度与更新频率等方面取得了超越人类的效果。因此基于深度学习人工智能技术的特点提高无线频谱使用效能是可期的技术方向。
3.然而深度学习算法在取得高准确率的同时,可被针对性攻击,现有大量的攻击算法,如基于梯度的pgd攻击系列、基于优化的cw攻击系列以及基于决策边界的deepfool系列,通过添加很小的扰动即可让模型得到错误的识别结果。基于频谱应用具有面临强大安全威胁的特点,为保证我方频谱信息的有效传输,因此必须考虑深度学习系统面对攻击时的安全性和可靠性。传统上,在频谱领域考虑了很多安全相关的内容,但这些机制并不能用来保证深度学习模型的安全性。目前主要通过对抗训练、数据增强等方式提升模型鲁棒性。
4.目前在无线频谱领域,以gnu radio为代表的软件系统能够很好的实现硬件或软件层面的各种频谱过程模拟。同时在深度学习领域以pytorch为代表的软件系统能够非常快速便捷的实现各类神经网络模型的训练、测试、调优。然而兼顾频谱与智能的完整系统是目前技术研究方面的空白,使得结合智能的频谱技术在发展过程中受到了较大限制。


技术实现要素:

5.本发明所要解决的技术问题是:本发明公开了一种结合频谱与智能的在线对抗学习测试系统,可实现基于真实频谱数据的智能在线训练、测试、对抗流程,无需事先构建大规模数据集,提高后续技术开发的真实性与时效性。
6.本发明所采用的技术方案是:一种结合频谱与智能的在线对抗学习测试系统,包括硬件系统和软件系统,可实现基于真实频谱信号的智能算法在线对抗学习与测试。
7.硬件系统包括频谱收发模块、软件无线电模块和智能计算模块。频谱收发模块使用可重构天线将接收到的频谱信号传递给软件无线电模块,软件无线电模块对其进行初步处理并传递给智能计算模块,智能计算模块完成频谱信号的智能计算任务。
8.频谱收发模块使用可重构天线为可收发频谱信号的天线,要求其可接收频谱、功率等参数,可受软件系统控制。软件无线电模块可采用usrp设备,主要负责天线接收数据的载波滤波、调制解调等用频过程处理。智能处理模块可为高性能计算机,包括高性能cpu与gpu,可进行基于神经网络的人工智能算法计算。
9.软件系统基于gnu radio和pytorch开发,包括系统参数配置模块、频谱处理模块、
数据管理模块、对抗样本生成模块、智能训练模块、智能推理模块,系统参数配置模块、数据管理模块、对抗样本生成模块、智能训练模块、智能推理模块运行在智能计算模块上。
10.软件系统工作步骤如下:
11.参数配置模块为对系统所需的参数进行配置。
12.频谱处理模块完成频谱信号的收发以及处理,主要通过开源软件gnu radio完成。
13.数据管理模块处理来自频谱处理模块的频谱数据,对信号进行分批打包管理。
14.对抗样本生成模块主要生成对抗样本来对抗智能模型,或者引入到训练中以增强智能模型鲁棒性。
15.智能训练模块将数据管理模块和对抗样本生成模块输入的训练集数据按批次送入智能训练模块的神经网络进行训练,迭代直至得到收敛的模型。
16.智能推理模块评估测试在无干扰对抗和干扰对抗时的模型性能。
17.系统参数配置模块主要包括硬件参数配置和算法参数配置,硬件参数配置包括频谱采样率、中心频率、硬件传输的数据类型、收发的通道增益、带宽、通道数等参数的设置。算法配置部分对频谱处理模块、数据管理模块、对抗样本生成模块、智能训练模块、智能推理模块的各种参数进行配置,主要包括神经网络结构、学习率、迭代次数、对抗扰动大小、模型文件保存路径等参数的配置。
18.频谱处理模块负责将参数配置应用于硬件系统,并控制硬件系统完成整个频谱收发全流程。包括天线接收、信号检测、载波频率校准、符号相位同步、调制解调、编码解码等环节。为便于确保频谱收发数据易于确认,可在发射频谱信号前端添加同步头,使得接收后可通过同步头相关器进行对准。
19.数据管理模块考虑到硬件系统收发数据的速率和软件系统处理的速率不匹配,通常数据处理的速度远远跟不上数据生成的速度,通过设置一块缓存区解决处理速度不匹配问题,频谱数据实时存到缓存区,缓存区数据遵循先进先出原则,每次从缓存区取出包含所有种类的一批次数据集进行数据增强,将增强后的数据按设定的比例划分为训练集、测试集、验证集三部分。
20.对抗样本生成模块基于神经网络模型应用对抗攻击算法生成得到对抗样本,将得到的对抗样本送入数据管理模块并添加到训练集、测试集、验证集中,用于后续智能模型的干扰对抗或增强模型性能。若在训练过程中,将原始数据和生成的对抗样本一起送入神经网络模型进行训练可得到鲁棒性模型。对抗样本可选择任意对抗算法生成,包括但不限于白盒攻击、黑盒攻击以及基于梯度的攻击、基于优化的攻击、基于决策面的攻击等。
21.智能训练模块根据数据管理模块划分好的训练集,计算训练集对应模型梯度信息,并由此更新神经网络参数使其在训练集上准确率提高。训练采用的代价函数为l2正则化的交叉熵函数,训练算法采用随机梯度下降(sgd)优化算法在线训练神经网络权重参数,通过训练集和验证集的识别准确率和损失函数判断网络是否满足结束条件,当训练集的正确率在上升,验证集的准确率下降时,停止训练,得到训练好的网络模型。
22.智能推理模块在无攻击时测试,将数据管理模块得到的测试集数据按批次送入智能训练模块训练好的模型,得到模型判定结果,统计准确率。有攻击测试,将对抗样本生成模块得到的对抗样本送入训练好的模型得到判定结果,统计准确率;并计算在无干扰和干扰下信号的误码率。
23.本发明与现有技术相比的优点是:
24.(1)本发明可对真实频谱信号进行在线训练与测试,可实现频谱的实时对抗,无需事先构建数据集,确保整个过程的时效性;通过usrp等软件无线电设备、可重构天线等频谱收发设备实现真实频谱信号的收发,同时所收发的频谱信号全程在真实信道与设备中传输,各类噪声干扰真实,因此测试结果可信度高。
25.(2)本发明的系统使用智能模型进行频谱数据的智能计算处理,可根据应用需要灵活调整神经网络架构,可用神经网络代替传统频谱流程中的任意环节,因此频谱流程可定义,具有良好的泛化能力。
26.(3)本发明所提出的频谱智能在线对抗学习系统,可应用于6g等各类包含干扰或对抗的无线通信应用场景;可用于测试频谱算法在各类信道条件下的用频性能,测试进而提高频谱算法的抗噪与抗互扰能力,寻找最佳策略并提高训练效率;可用于频谱信号检测等算法测试与开发,通过真实信号在线测试与训练检测算法。
附图说明
27.图1为本发明的系统组成图;
28.图2为智能训练流程图;
29.图3为智能推理流程图。
具体实施方式
30.本发明提出了一种频谱智能在线对抗学习的系统,包括硬件系统和软件系统。硬件系统包括频谱收发模块、软件无线电模块和智能计算模块。频谱收发模块使用可重构天线将接收到的频谱信号传递给软件无线电模块,软件无线电模块对其进行初步处理并传递给智能计算模块,智能计算模块完成频谱信号的智能计算任务。软件系统基于gnu radio和pytorch开发,包括系统参数配置模块、频谱处理模块、数据管理模块、对抗样本生成模块、智能训练模块、智能推理模块,系统参数配置模块、数据管理模块、对抗样本生成模块、智能训练模块、智能推理模块运行在智能计算模块上。系统参数配置模块完成参数配置,频谱处理模块基于gnu radio对接收到的信号进行加工处理,处理后的数据通过数据管理模块输入到智能训练模块中进行在线训练,训练完成后通过智能推理模块对模型进行在线智能评估测试,在训练和测试过程中,引入对抗样本来增强或验证模型的鲁棒性。本发明可实现基于真实频谱数据的智能在线训练、测试、对抗流程,无需事先构建大规模数据集,提高后续技术开发的真实性与时效性。
31.频谱收发模块使用可重构天线为可收发频谱信号的天线,要求其可接收频谱、功率等参数可受软件系统控制。软件无线电模块可采用usrp设备,主要负责天线接收数据的载波滤波、调制解调等用频过程处理。智能处理模块可为高性能计算机,包括高性能cpu与gpu,可进行基于神经网络的人工智能算法计算。
32.参数配置模块主要包括硬件参数配置和算法参数配置,硬件参数配置包括频谱采样率、中心频率、硬件传输的数据类型、收发的通道增益、带宽、通道数等参数的设置。算法参数配置对系统智能处理部分的各种参数进行配置,主要包括神经网络结构、学习率、迭代次数、对抗扰动大小、模型文件保存路径等参数的配置。
33.频谱处理模块负责将参数配置应用于硬件系统,并控制硬件系统完成整个频谱收发全流程。包括天线接收、信号检测、载波频率校准、符号相位同步、调制解调、编码解码等环节。为便于确保频谱收发数据易于确认,可在发射频谱信号前端添加同步头,使得接收后可通过同步头相关器进行对准。具体工作包括发送控制与接收控制。对于接收控制,频谱处理模块基于gnu radio,控制频谱收发模块接收频谱信号,传递给软件无线电模块进行信号处理,例如增益、解调、同步等,进而将获取的处理数据传递给智能计算模块写入数据缓存池,衔接数据管理模块。对于发送控制,则基于数据管理模块对于数据集的数量与多样性要求,选择不同的频谱信号并添加相应同步头,然后依次通过软件无线电模块、频谱收发模块发射频谱数据。
34.数据管理模块考虑到硬件系统收发数据的速率和软件系统处理的速率不匹配,通常数据处理的速度远远跟不上数据生成的速度,通过设置一块缓存区解决处理速度不匹配问题,管理数据的发送间隔,频谱数据实时存到缓存区,缓存区数据遵循先进先出原则,每次从缓存区取出包含所有种类的一批次数据集进行数据增强,将增强后的数据按比例7:2:1划分为训练集、测试集、验证集三部分。数据管理模块包括数据打包、数据增强、数据控制3部分,共同保证数据利用率,防止缓存区数据爆炸。对于数据打包,根据智能训练或推理的要求进行固定批量打包对于数据增强,数据管理模块对接收端的数据进行平移、多角度旋转、加噪声等数据增强手段。对于数据控制,则确保每次从缓存区里取一批次包含所有训练需要的标签种类,不同数据的标签根据设置不同的同步头进行区分。为了防止缓存区数据太多导致内存爆炸,设定临界值,当缓存区数据到达临界值时,自动暂停数据发送,当数据量降下时,恢复数据发送。
35.对抗样本生成模块基于神经网络模型应用对抗攻击算法生成得到对抗样本,将得到的对抗样本送入数据管理模块并添加到训练集、测试集、验证集中,用于后续智能模型的干扰对抗或增强模型性能。若在训练过程中,将原始数据和生成的对抗样本一起送入神经网络模型进行训练可得到鲁棒性模型。对抗攻击主要分为白盒攻击和黑盒攻击,攻击方式又可分为有目标攻击和无目标攻击。白盒攻击可获取模型结构、梯度等信息,首先得到模型梯度,选取一个合适的扰动添加到数据里,输出的对抗样本使模型识别错误。黑盒攻击不知道模型的信息,需要通过不断与受攻击模型交互、查询等方式得到模型信息再进行攻击。有目标攻击为让模型识别为指定的类别,无目标攻击只需要模型识别出错就行。一方面对抗样本可增强敌方信道干扰导致对方智能模型识别错,另一方面,对抗样本加入智能训练后得到的模型可降低我方信号被敌方截获识别的概率与增强信道抗干扰能力。对抗样本可选择任意对抗算法生成,包括但不限于白盒攻击、黑盒攻击以及基于梯度的攻击、基于优化的攻击、基于决策面的攻击等。本发明支持多种对抗样本,包括基于梯度的攻击fgsm、pgd、mi-fgsm等,基于优化的cw等,基于决策面的deepfool等。
36.智能训练模块根据数据管理模块划分好的训练集,计算训练集对应模型梯度信息,并由此更新神经网络参数使其在训练集上准确率提高。训练采用的代价函数为l2正则化的交叉熵函数,训练算法采用随机梯度下降(sgd)优化算法在线训练神经网络权重参数,通过训练集和验证集的识别准确率和损失函数判断网络是否满足结束条件,当训练集的正确率在上升,验证集的准确率下降时,停止训练,得到训练好的网络模型。在训练过程中,对当前批次数据应用对抗算法生成对抗样本,对抗算法可表示为首先取得模型的梯度信息,
根据设定攻击的迭代步数和扰动大小,运用对抗算法对模型进行迭代攻击直到输出的对抗样本使模型识别错误,返回此时对抗样本并将对抗样本和原始数据一起送入神经网络模型进行训练得到鲁棒性模型。
37.智能推理模块在无攻击时测试,将数据管理模块得到的测试集数据按批次送入智能训练模块训练好的模型,得到模型判定结果,统计准确率。有攻击测试,将对抗样本生成模块得到的对抗样本送入训练好的模型得到判定结果,统计准确率;并计算在无干扰和干扰下信号的误码率。
38.实施例:
39.本发明为一种频谱智能在线对抗学习系统,其组成如图1所示,包括硬件系统和软件系统,可实现基于真实频谱信号的智能算法在线对抗学习与测试。
40.硬件系统包括频谱收发模块、软件无线电模块和智能计算模块。频谱收发模块使用可重构天线将接收到的频谱信号传递给软件无线电模块,软件无线电模块对其进行初步处理并传递给智能计算模块,智能计算模块完成频谱信号的智能计算任务。
41.频谱收发模块使用可重构天线,其具体为1.4g全向天线通信1410-1470mhz,软件无线电模块具体为ettus软件无线电usrp b210-kit,智能计算模块具体为高性能计算机,处理器芯片为intel(r)core(tm)i7-9700k cpu@3.60ghz、显卡为geforce rtx 2070。
42.软件系统基于gnu radio和pytorch开发,包括系统参数配置模块、频谱处理模块、数据管理模块、对抗样本生成模块、智能训练模块、智能推理模块,主要运行在智能处理模块上。软件系统主要在智能计算模块即高性能计算机上运行,计算机的操作系统为ubuntu20.04lts 64位,用到的软件为python版本3.6,pytorch版本为1.6.0,gnu radio版本为3.8。
43.软件系统工作步骤如下:
44.步骤1,参数配置模块为对系统所需的参数进行配置。
45.步骤2,频谱处理模块完成频谱信号的收发以及处理,主要通过开源软件gnu radio完成。
46.步骤3,数据管理模块处理来自频谱处理模块的频谱数据,对信号进行分批打包管理。
47.步骤4,对抗样本生成模块主要生成对抗样本来对抗智能模型,或者引入到训练中以增强智能模型鲁棒性。
48.步骤5,智能训练模块将步骤3-4得到的训练集数据按批次送入智能训练模块的神经网络进行训练,迭代直至得到收敛的模型。
49.步骤6,智能推理模块评估测试在无干扰对抗和干扰对抗时的模型性能。
50.参数配置模块主要包括硬件参数配置和算法参数配置。硬件参数配置具体为默认采样率设为2.88ghz、中心频率为1.44ghz,收发的通道增益为20db、带宽为10mhz,通道数1。算法参数具体为神经网络的初始学习率为0.001,batchsize为224,动量大小为0.9,训练轮数为100,学习率策略为余弦退火,对抗攻击扰动大小默认为0.01,迭代次数为50。
51.频谱处理模块负责将参数配置应用于硬件系统,并控制硬件系统完成整个频谱收发全流程。包括天线接收、信号检测、载波频率校准、符号相位同步、调制解调、编码解码等环节。为便于确保频谱收发数据易于确认,可在发射频谱信号前端添加同步头,使得接收后
可通过同步头相关器进行对准。具体工作包括发送控制与接收控制。对于接收控制,频谱处理模块基于gnu radio,控制频谱收发模块接收频谱信号,传递给软件无线电模块进行信号处理,增益调整为20db,同步方式采用极大似然估计法对数据进行时钟同步,解调采用发送部分的调制方式进行解调,进而将获取的处理数据传递给智能计算模块写入数据缓存池,衔接数据管理模块。对于发送控制,则基于数据管理模块对于数据集的数量与多样性要求,由发送模块的软件无线电平台根据调制信号原理利用开源软件无线电(gnu radio)软件平台共生成16种调制方式的调制信号:am、dsb、ssb、2ask、4ask、8ask、2fsk、4fsk、8fsk、msk、2psk、4psk、8psk、16qam、64qam、256qam。发送模块将信号均调制到1.44ghz的中频上,然后分别发送16种调制信号,每种信号开头设置不同的同步头,如(4,7,8,6,11,12,5),利用接收模块的软件无线电平台和pc机,中频对准1ghz,每种调制格式数据发100组,循环进行发送,每组数据为2*1052,包括1024bit的信号和28个bit的同步头的矩阵,然后依次通过软件无线电模块、频谱收发模块发射频谱数据。
52.数据管理模块考虑到硬件系统收发数据的速率和软件系统处理的速率不匹配,通常数据处理的速度远远跟不上数据生成的速度,通过设置一块缓存区解决处理速度不匹配问题,管理数据的发送间隔,频谱处理模块中的数据放入缓存模块中,一次取所有类型的调制方式,取出的数据大小为1600*2*1052,对数据进行左右平移,相位按照30,50,70,130旋转以及加各种噪声得到增强后的数据集,其大小为12800*2*1052,对增强后的数据集打乱并按7:2:1划分为训练集、验证集和测试集,得到训练集大小8960*2*1052,验证集大小2560*2*1052,测试集大小1280*2*1052,数据集的标签按照设定的同步头得到,为了防止缓存区数据太多导致内存爆炸,设定临界值,当缓存区数据到达临界值时,自动暂停数据发送,当数据量降下时,恢复数据发送。
53.对抗样本生成模块基于神经网络模型应用对抗攻击算法生成得到对抗样本,将得到的对抗样本送入数据管理模块并添加到训练集、测试集、验证集中,用于后续智能模型的干扰对抗或增强模型性能。若在训练过程中,将原始数据和生成的对抗样本一起送入神经网络模型进行训练可得到鲁棒性模型。对抗样本具体以pgd、fgsm、deepfool等方式生成:
54.pgd实现公式如下:
55.x
t
=x0+noise,
[0056][0057]
x
t
表示生成的对抗样本,表示损失函数l(θ,x,y)对x的梯度,y为样本对应的标签,θ为模型参数,t=0,1,2,3,4
……
;x0代表初始样本,noise表示一个与输入信号相同shape的噪声,s代表扰动大小,α表示攻击步长,攻击过程表示为初始样本由噪声加上输入信号,每一步对抗样本等于上一步对抗样本加上扰动并加上对抗样本梯度的符号与攻击步长乘积得到,一轮计算完成后,对当前对抗样本进行clip操作,再进行迭代,直到到达设定的迭代次数为止。
[0058]
fgsm,其实现公式如下
[0059][0060]
x'为生成的对抗样本,ε表示扰动的大小,l(θ,x,y)损失函数,θ为模型参数,x代表原始样本,y代表样本对应的标签,sgn表示求符号运算。初始样本加上扰动乘以损失函数对
x导数的符号,得到fgsm对抗算法下的攻击样本。
[0061]
deepfool实现方式为,通过计算原始样本与决策边界的最小距离及最佳扰动方向,通过迭代将原始样本推向决策边界。给定一个分类器,对抗样本计算方式如下所示:
[0062][0063]fy
'=fy(xi)-f
y0
(xi),
[0064]
分类器表示为f(x)=w
t
x+b,其对应的决策边界平面γ={x:w
t
x+b=0},其中w、b均为模型权重参数,deepfool攻击通过每一轮的迭代求得一个最小扰动距离f
l
'和最佳扰动方向ω
l
',x
i+1
是指第i轮迭代中生成的对抗样本,x0表示原始样本,y0表示对应的标签,y表示攻击标签的集合,表示在y标签下对xi求梯度,fy(xi)表示样本xi在分类器上对应y标签索引的预测值,l表示对抗样本标签,ωy'表示当前扰动方向,fy'表示当前扰动距离,其中i=0,1,2,3,4
……

[0065]
如图2所示,智能训练模块根据数据管理模块划分好的训练集,计算训练集对应模型梯度信息,并由此更新神经网络参数使其在训练集上准确率提高。具体的,网络选用resnet,将resnet网络的输出层大小改为224*16,网络权重初始化采用he initialization,训练采用的代价函数为l2正则化的交叉熵函数,其中利用正则化技术和交叉熵损失函数以防止训练过拟合,根据设置好的参数采用随机梯度下降(sgd)优化算法在线训练神经网络权重参数,初始学习率0.01,采用余弦退火策略调整学习率,总训练次数100次。第一轮迭代时,取一批次训练数据并改变维度为8960*1*1052*2,内循环40次,每次数据大小为224*1*1052*2,将数据送入模型进行训练行,训练完40次后,更新模型的梯度信息,权重信息,将验证集数据送入模型验证,验证后进行下一轮迭代,继续从数据缓存模块中取下一批数据继续训练,当达到训练轮数,或者当训练集精度上升,验证集精度下降时,停止训练,保存模型。训练过程中,若选用对抗训练方式,对当前批次数据进行对抗攻击,首先取得模型的梯度信息,设定攻击的迭代步数和扰动大小,运用pgd、fgsm、deepfool对模型进行迭代攻击直到输出的对抗样本使模型识别错误,返回此时对抗样本并将对抗样本和原始数据一起送入神经网络模型进行训练得到鲁棒性模型。
[0066]
如图3所示,智能推理模块,主要评估在无干扰和干扰时候的模型调制识别和误码率分析。利用gnu radio结合上位机系统(此例中即为pc机的linux操作系统)的深度学习算法构成实时频谱智能在线对抗学习系统。无干扰条件下,根据数据管理模块得到一批次数据(1600,2,1024),将数据扩充为(1,1600,2,1024),加载智能训练模块训练好的模型,将数据模型进行检测,得到模型对当前信号的调制识别结果,统计模型识别准确率,接收端通过gnu radio调整增益、极大似然时钟同步以及模型识别到的调制方式进行解调对接收到的信号进行处理,根据设定的同步头找到接收端数据对应的发送端数据,计算100000个信号长度的比特误码率和符号误码率。有干扰条件下,对数据管理模块生成的数据不同扰动大小下生成pgd、deepfool、fgsm等对抗样本,加载同样的模型进行检测,验证模型在干净样本和对抗样本下的准确率以及在不同扰动大小下的鲁棒性。将干扰数据送到通过gnu radio调整增益、极大似然时钟同步以及模型识别到的调制方式进行解调送到接收端,如果调制识别出错,接收端解调不出来原有的调制方式,得到的误码率极高,干扰成功,如果调制识
别正确,同样计算信号的误码率。
[0067]
本发明未详细说明的部分属于本领域技术人员公知技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1