基于循环生成式对抗网络的机会网络拓扑预测方法及装置与流程

文档序号:22804262发布日期:2020-11-04 04:06阅读:179来源:国知局
基于循环生成式对抗网络的机会网络拓扑预测方法及装置与流程

本发明涉及网络技术领域,特别是涉及一种基于循环生成式对抗网络的机会网络拓扑预测方法及装置。



背景技术:

机会网络利用节点的移动,将数据以多跳的方式从源节点传输到目标节点,以“存储-携带-转发”的路由模式实现节点间通信。机会网络的这种动态性和不要求网络全连通的特点,更适合实际的自组网需求,且更具有普适性并能满足恶劣条件下的网络通信需要,因此在军事和民用无线通信领域都具有重要的研究和应用价值,相关研究的开展也越来越广泛。

由于机会网络中节点的移动导致网络拓扑结构、节点通信存在时变性,节点间无固定的通信路径,使得机会网络的路由选择更为困难。与传统的动态网络相比,机会网络的拓扑结构变化更加复杂、链路状态变化更频繁且网络更加稀疏。动态性是影响机会网络使用效果的一个重要因素,拓扑结构预测被认为是解决这一问题的有效方法。例如,在adhoc网络中通信链路的动态性使得路由协议的设计成为一个具有挑战性的问题,其中网络动态拓扑的预测对于实现更高效、更可靠的通信起着重要的作用。

尽管现在已近开展了大量的研究来处理动态网络的链路预测,传统的链路预测方法无法适用于获取机会网络的网络演化特征,且多数研究的对象是节点对之间的链路预测,而无法整个机会网络全局的未来时刻拓扑预测。



技术实现要素:

鉴于上述状况,有必要针对现有技术中无法对机会网络拓扑结构进行预测的问题,提供一种基于循环生成式对抗网络的机会网络拓扑预测方法及装置。

一种基于循环生成式对抗网络的机会网络拓扑预测方法,包括:

通过时间序列分析方法对机会网络的通信数据进行切片,得到一系列离散的网络快照数据;

对所述机会网络中的所有节点进行随机抽取和分组,得到多个观测节点组;

以预设尺寸的滑动窗口对所述网络快照进行截取,并提取每个滑动窗口下各个观测节点组的网络拓扑结构变化序列;

利用生成模型和判别模型构建生成式对抗网络模型,将提取的网络拓扑结构变化序列作为训练样本对生成式对抗网络模型进行训练,并将训练后的生成式对抗网络模型中的生成模型作为预测模型;

利用所述预测模型对所述机会网络进行拓扑结构预测。

进一步的,上述机会网络拓扑预测方法,其中,所述生成模型和所述判别模型均采用循环神经网络模型。

进一步的,上述机会网络拓扑预测方法,其中,所述利用生成模型和判别模型构建生成式对抗网络模型的步骤包括:

确定生成式对抗网络模型中生成模型、判别模型,以及超参数和模型优化算法,并根据确定的信息构建生成式对抗网络模型。

进一步的,上述机会网络拓扑预测方法,其中,所述模型优化算法的目标函数为:

其中,e(*)表示分布函数的期望值,pdata(x)表示真实的数据分布,gi表示第i个时间切片的网络快照数据,d(*)表示判别模型判断输入样本来自真实网络数据的概率,g(x)表示生成模型生成的网络拓扑数据。

进一步的,上述机会网络拓扑预测方法,其中,所述将提取的网络拓扑结构变化序列作为训练样本对生成式对抗网络模型进行训练的步骤包括:

将前l-1时刻的网络拓扑结构变化序列作为所述生成模型的输入,并输出预测的第l时刻的网络拓扑数据,其中l为滑动窗口的总长度;

将前l-1时刻的网络拓扑结构变化序列作为所述判别模型的第一输入,同时将所述生成模型输出的第l时刻的网络拓扑数据或真实网络中的第l时刻的网络拓扑数据作为第二输入,并输出概率值,所述概率值为所述判别模型输入的数据来自真实网络拓扑数据的概率。判别模型根据所述概率值计算模型损失,并反向传播至生成模型进行网络参数更新。

进一步的,上述机会网络拓扑预测方法,其中,所述将提取的网络拓扑结构变化序列作为训练样本对生成式对抗网络模型进行训练的步骤包括:

将所述网络拓扑结构变化序列划分为训练集和测试集;

利用所述训练集对所述生成式对抗网络模型进行训练;

利用测试集对训练后的生成式对抗网络模型进行训练进行验证。

本发明实施例还提供了一种基于循环生成式对抗网络的机会网络拓扑预测装置,包括:

数据切片模块,用于通过时间序列分析方法对机会网络的通信数据进行切片,得到一系列离散的网络快照数据;

分组模块,用于对所述机会网络中的所有节点进行随机抽取和分组,得到多个观测节点组;

数据提取模块,用于以预设尺寸的滑动窗口对所述网络快照进行截取,并提取每个滑动窗口下各个观测节点组的网络拓扑结构变化序列;

模型构建模块,利用生成模型和判别模型构建生成式对抗网络模型;

模型训练模块,用于将提取的网络拓扑结构变化序列作为训练样本对生成式对抗网络模型进行训练,并将训练后的生成式对抗网络模型中的生成模型作为所述机会网络的拓扑结构的预测模型;

网络预测模块,利用所述预测模型对所述机会网络进行拓扑结构预测。

进一步的,上述机会网络拓扑预测装置,其中,所述模型构建模块具体用于:

确定生成式对抗网络模型中生成模型、判别模型,以及超参数和模型优化算法,并根据确定的信息构建生成式对抗网络模型。

进一步的,上述机会网络拓扑预测装置,其中,所述模型训练模块具体用于:

将前l-1时刻的网络拓扑结构变化序列作为所述生成模型的输入,并输出预测的第l时刻的网络拓扑数据,其中l为滑动窗口的总长度;

将前l-1时刻的网络拓扑结构变化序列作为所述判别模型的第一输入,同时将所述生成模型输出的第l时刻的网络拓扑数据或真实网络中的第l时刻的网络拓扑数据作为第二输入,并输出概率值,所述概率值为所述判别模型输入的数据来自真实网络拓扑数据的概率。判别模型根据所述概率值计算模型损失,并反向传播至生成模型进行网络参数更新。

进一步的,上述机会网络拓扑预测装置,其中,所述生成模型和所述判别模型均采用循环神经网络模型。

本发明实施例通过对机会网络进行时序切片和对节点进行抽样分组,并提取每个滑动窗口下各个观测节点组的网络拓扑结构变化序列作为生成式对抗网络模型的训练数据。训练后的生成式对抗网络模型中的生成模型作为该随机网络的预测模型。本实施例利用生成式对抗网络模型在拟合真实数据分布方面上的优势,从而建立基于成式对抗网络模型的预测模型。利用该预测模型提取机会网络拓扑结构演化规律的高阶时空特征,实现对机会网络未来时刻的拓扑预测,为机会网络的结构演化分析、路由选择等相关研究提供一定的支撑。

附图说明

图1为本发明第一实施例提供的基于循环生成式对抗网络的机会网络拓扑预测方法的流程图;

图2a至2c为机会网络节点通信过程图;

图3为本发明第二实施例提供的基于循环生成式对抗网络的机会网络拓扑预测方法的流程图;

图4为长短期记忆网络结构图;

图5为基于生成式对抗网络模型的机会网络拓扑预测模型结构图;

图6为本发明第三实施例提供的基于循环生成式对抗网络的机会网络拓扑预测装置的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

请参阅图1,为本发明第一实施例中的基于循环生成式对抗网络的机会网络拓扑预测方法,包括步骤s11~s15。

步骤s11,通过时间序列分析方法对机会网络的通信数据进行切片,得到一系列离散的网络快照数据。

机会网络的原始数据集往往是连接信息的集合,连接信息包括产生连接的两个节点编号、连接的开始时间与结束时间,无法直接观察网络的拓扑变化情况。针对机会网络的高动态性、连接间歇性等特点,采用基于时间序列分析方法对通信数据进行时序上的切分,切片的时长根据实际需要进行设置,由此获得一系列的离散网络快照数据,一个网络快照数据包含这一段时间内节点集合、边集合以及邻接矩阵。

机会网络节点通信过程如图2a至图2c所示,将其定义为g=(v,e),其中v为节点集合,e为边集合,使用时间序列方法将机会网络g切分为网络快照集合g={g1,g2,...,gt},其中gt=(vt,et,at),gt表示t时刻节点的网络快照,vt表示t时刻节点的集合,et表示t时刻边的集合,at表示t时刻的邻接矩阵。

步骤s12,对所述机会网络中的所有节点进行随机抽取和分组,得到多个观测节点组。

由于一个网络中的节点数目量较大,因此对节点进行一个定量的选取,得到多个观测节点组。具体实施时可从整个机会网络中多次的随机抽样的方法抽取预设数量的节点,每次抽取的预设数量的节点确定为一个观测节点组,从而得到多个观测节点组。其观测节点组中节点的数量可根据网络实际大小进行设置。

步骤s13,以预设尺寸的滑动窗口对所述网络快照进行截取,并提取每个滑动窗口下各个观测节点组的网络拓扑结构变化序列。

将步骤1中得到的一系列离散的网络快照数据以预设尺寸的滑动窗口对所述网络快照进行截取,在截取的每一个滑动窗口下的多个时刻的网络快照中,只关注各个观测节点的网络快照数据。根据每个滑动窗口下各个观测节点组的网络快照数据生成各个观测节点的网络拓扑结构变化序列。其中,该网络拓扑结构变化序列为一系列的连续的邻接矩阵。将得到的网络拓扑结构变化序列作后续生成式对抗网络模型训练的样本数据。

观测节点组中节点的数目决定生成式对抗网络模型的网络结构,观测节点组的总数量与滑动窗口的大小决定模型训练样本的生成数量,从而影响模型的拟合能力。本发明可设定一个较小的迭代次数与滑动窗口大小,而后逐步调整,如果在迭代次数内还没有收敛就减小滑动窗口,反之则增大滑动窗口。初始设定迭代次数与滑动窗口大小与具体情况相关,根据计算经验的不断积累得到。

步骤s14,利用生成模型和判别模型构建生成式对抗网络模型,将提取的网络拓扑结构变化序列作为训练样本对生成式对抗网络模型进行训练,并将训练后的生成式对抗网络模型中的生成模型作为所述机会网络的拓扑结构的预测模型。

生成式对抗网络模型由生成模型与判别模型两部分组成。生成式对抗网络模型的输入维度由观测节点组中节点数目决定,时序步长由时间窗口大小l决定。生成模型的输入为长度为观测节点组的网络拓扑结构变化序列,输出为生成的下一时刻网络拓扑数据。判别模型的输入分为两部分,第一输入的数据与生成模型的输入相同,第二输入的数据为生成模型生成的下一时刻网络拓扑数据,或是真实网络中的下一时刻网络拓扑数据,两种数据的选择概率各百分之五十,输出为0到1之间的概率值,表示判别模型判断输入来自真实的网络拓扑数据的概率。判别模型根据所述概率值计算模型损失,并反向传播至生成模型进行网络参数更新。利用生成式对抗网络更好地提升预测模型的训练精度。

生成模型的训练目标是尽可能地生成判别模型无法区分的生成数据,判别模型的训练目标是尽可能的区分输入是来自生成模型生成的数据还是来自真实网络的数据,生成模型与判别模型进行对抗式的训练,直到达到纳什均衡,即生成模型生成的数据与真实样本无明显差别,判别模型也无法正确的区分生成数据和真实数据。

对于不同类型的机会网络,生成式对抗网络模型中生成模型与判别模型的网络结构和超参数可根据具体网络数据来确定。

优选的,本发明的一实施例中,该生成模型和判别模型均选用循环神经网络模型。选用循环神经网络做生成模型与判别模型的目的是为了提取网络拓扑结构随时间变化的高阶时空特征。

当生成模型与对抗模型达到纳什均衡后,即可将该训练后的生成模型作为该有机机会网络模型的预测模型。

步骤s15,利用所述预测模型对所述机会网络进行拓扑结构预测。

拓扑预测问题本质是从网络历史拓扑数据变化中提取机会网络的高阶时空特征。该预测模型可实现自发地提取机会网络历史拓扑数据中的高阶时序特征,从而进行拓扑结构预测。当该预测模型输入需要预测的历史网络拓扑序列之后,会输出预测的下一时刻网络拓扑数据,即得到观测节点组下一时刻的邻接矩阵,表示的是这些节点的连接情况,从而进行拓扑结构预测。

本实施例通过对机会网络进行时序切片和对节点进行抽样分组,并提取每个滑动窗口下各个观测节点组的网络拓扑结构变化序列作为生成式对抗网络模型的训练数据。训练后的生成式对抗网络模型中的生成模型作为该随机网络的预测模型。本实施例利用生成式对抗网络模型在拟合真实数据分布方面上的优势,从而建立基于成式对抗网络模型的预测模型。利用该预测模型提取机会网络拓扑结构演化规律的高阶时空特征,实现对机会网络未来时刻的拓扑预测,为机会网络的结构演化分析、路由选择等相关研究提供一定的支撑。

请参阅图3,为本发明第二实施例中的基于循环生成式对抗网络的机会网络拓扑预测方法,包括步骤s21~s28。

步骤s21,通过时间序列分析方法对机会网络的通信数据进行切片,得到一系列离散的网络快照数据。

步骤s22,对所述机会网络中的所有节点进行随机抽取和分组,得到多个观测节点组。

从整个机会网络中多次的随机抽样的方法抽取预设数量个节点,每次抽取的预设数量的节点确定为一个观测节点组,从而得到多个观测节点组。

步骤s23,以预设尺寸的滑动窗口对所述网络快照进行截取,并提取每个滑动窗口下各个观测节点组的网络拓扑结构变化序列。

步骤s24,确定生成式对抗网络模型中生成模型和判别模型,以及超参数和模型优化算法。

步骤s25,采用循环神经网络模型作为生成模型和判别模型,并根据确定的超参数和模型优化算法构建生成式对抗网络模型。

本实施例中使用的循环神经网络模型为长短期记忆网络(longshort-termmemory,lstm),其网络结构如图4所示。lstm网络组成结构上采用是与传统循环神经网络相同的链式结构,与之不同是一个lstm神经元由三个“门限控制”(分别为遗忘门、输入门以及输出门)与神经元状态组成。lstm的一次时序数据训练过程如下:

lstm的第一步是由遗忘门决定当前时刻的输入数据有多少需要保存到神经元状态。遗忘门由一个sigmoid层组成,输入为ht-1和xt,输出为0到1之间的数字,表示ct-1每个神经元需要保留的程度,公式如下:

ft=σ(wf·[ht-1,xt]+bf)

其中σ(x)为sigmoid函数,ct-1为上一时刻的神经元状态,ht-1为上一时刻的输出,xt为t时刻的数据输入,ct为t时刻的神经元状态,ht为t时刻的输出,w为权重矩阵,b为偏置值,wf为遗忘门的权重矩阵,bf为遗忘门的偏置值,下面公式依此类推。

lstm的第二步是决定神经元需要添加哪些新的信息,包括两个部分:首先使用输入门来决定ht-1与xt需要更新哪些信息。然后使用一个tanh层根据ht-1与xt的值得到新的候选神经元状态公式如下:

it=σ(wi·[ht-1,xt]+bi);

其中,tanh()为双曲正切函数,可以将值压缩至[-1,1]。

第三步为更新神经元状态ct,将上一时刻的状态ct-1乘以第一步得到的ft,再加上新的候选神经元状态与输入门的输出it的乘积,得到新的神经元状态ct,公式如下:

最后一步使用上一个时刻的隐含层ht-1和即时的数据输入xt计算得到ot,再结合新的神经元状态ct和ot得到最终的输出ht,公式如下:

ot=σ(wo·[ht-1,xt]+bo);

ht=ot*tanh(ct)。

模型的超参数主要包括输入序列长度、初始权值等,输入序列长度根据实际数据集进行对比实验得出长度,权值初始化方式为正交初始化方法(orthogonalinitialization),模型优化算法可选择适应性动量估计算法(adaptivemomentestimation,adam)。

优选的,该模型优化算法的目标函数为:

其中,e(*)表示分布函数的期望值,pdata(x)表示真实的数据分布,gi表示第i个时间切片的网络快照数据,d(*)表示判别模型判断输入样本来自真实数据的概率,g(x)表示生成模型生成的下一时刻网络拓扑数据。

步骤s26,将前l-1时刻的网络拓扑结构变化序列作为所述生成模型的输入,并输出预测的第l时刻的网络拓扑数据,将前l-1时刻的网络拓扑结构变化序列作为所述判别模型的第一输入,同时将所述生成模型输出的第l时刻的网络拓扑数据或真实网络中的第l时刻的网络拓扑数据作为第二输入,并输出概率值。判别模型根据所述概率值计算模型损失,并反向传播至生成模型进行网络参数更新。

其中,其中l为滑动窗口的总长度,以l尺寸的滑动窗口对该网络快照进行截取,得到l个时刻的网络快照。继而可提取到l个时刻的网络拓扑结构变化序列。

步骤s27,当所述生成模型和所述判别模型达到纳什平衡后,将所述生成模型作为所述机会网络的预测模型。

将训练后的生成式对抗网络模型中的生成模型作为该机会网络的预测模型。该预测模型结构如5所示,其中xi为循环神经网络输入层,hi为lstm输出,ci为神经元状态。生成模型的输出为ht-1,与原始的网络拓扑结构变化序列共同构成判别模型的输入,判别模型的输出为0到1之间的数字,表示判断输入数据来自真实数据的概率。

进一步的,进行生成式对抗网络模型进行训练的步骤包括:

将所述网络拓扑结构变化序列划分为训练集和测试集;

利用所述训练集对所述生成式对抗网络模型进行训练;

利用测试集对训练后的生成式对抗网络模型进行训练进行验证。

本实施例中将网络拓扑结构变化序列按照一定比例(如7:3的比例)切分为训练集和测试集,训练过程中生成模型以网络拓扑结构变化序列作为模型的输入,预测的下一时刻的网络拓扑数据作为输出。判别模型以真实网络的下一时刻的网络拓扑数据或生成模型生成的下一时刻的网络拓扑数据作为输入,输出为是否来自真实网络拓扑数据的概率值。达到纳什均衡后,通过测试集来验证模型,若测试结果满足一定的精度则预测成功,即可将该生成模型作为预测模型来预测机会网络未来时刻的拓扑结构。

步骤s28,利用所述预测模型对所述机会网络进行拓扑结构预测。

拓扑结构预测问题本质是从网络历史拓扑数据变化中提取机会网络的高阶时空特征。本实施例利用循环神经网络在序列数据建模上的优势,结合生成式对抗网络模型在拟合真实数据分布方面上的优势,从而建立机会网络的预测模型。当输入机会网络的历史网络拓扑序列之后,生成模型会输出预测的下一时刻网络拓扑数据。

请参阅图6,为本发明第三实施例中的一种基于循环生成式对抗网络的机会网络拓扑预测装置,包括:

数据切片模块10,用于通过时间序列分析方法对机会网络的通信数据进行切片,得到一系列离散的网络快照数据;

分组模块20,用于对所述机会网络中的所有节点进行随机抽取和分组,得到多个观测节点组;

数据提取模块30,用于以预设尺寸的滑动窗口对所述网络快照进行截取,并提取每个滑动窗口下各个观测节点组的网络拓扑结构变化序列;

模型构建模块40,利用生成模型和判别模型构建生成式对抗网络模型;

模型训练模块50,用于将提取的网络拓扑结构变化序列作为训练样本对生成式对抗网络模型进行训练,并将训练后的生成式对抗网络模型中的生成模型作为所述机会网络的拓扑结构的预测模型;

网络预测模块60,利用所述预测模型对所述机会网络进行拓扑结构预测。

进一步的,上述机会网络拓扑预测装置,其中,所述模型构建模块40具体用于:

确定生成式对抗网络模型中生成模型、判别模型,以及超参数和模型优化算法,并根据确定的信息构建生成式对抗网络模型。

进一步的,上述机会网络拓扑预测装置,其中,所述模型训练模块50具体用于:

将前l-1时刻的网络拓扑结构变化序列作为所述生成模型的输入,并输出预测的第l时刻的网络拓扑数据,其中l为滑动窗口的总长度;

将前l-1时刻的网络拓扑结构变化序列作为所述判别模型的第一输入,同时将所述生成模型输出的第l时刻的网络拓扑数据或真实网络中的第l时刻的网络拓扑数据作为第二输入,并输出概率值,所述概率值为所述判别模型输入的数据来自真实网络拓扑数据的概率。判别模型根据所述概率值计算模型损失,并反向传播至生成模型进行网络参数更新。

进一步的,上述机会网络拓扑预测装置,其中,所述生成模型和所述判别模型均采用循环神经网络模型。

本发明实施例所提供的机会网络拓扑预测装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1