首页> 中国专利> 一种基于深度强化学习的智能网络编码方法和设备

一种基于深度强化学习的智能网络编码方法和设备

摘要

本发明提供一种基于深度强化学习的网络编码方法,所述方法包括:源节点将要发送的信息划分成K个片,根据源节点编码模型确定每个片的编码系数,生成并向下一跳节点发送编码包;中间节点接收前一节点发送的编码包,将收到的编码包再次编码,根据中间节点编码模型确定编码系数,生成并向下一跳节点发送编码包,其中所述源节点和中间节点编码模型通过对DQN网络训练得到。本发明可以根据网络动态变化来自适应地调节编码系数,改善解码效率,并具备良好的模型泛化能力,能泛化于具有不同网络规模和不同链路质量下的网络,本发明分别在源节点和中间节点上分布式执行的各自的编码系数优化模型,简化了编码系数优化实施并且改善了DQN训练的稳定性。

著录项

  • 公开/公告号CN112564712A

    专利类型发明专利

  • 公开/公告日2021-03-26

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN202011344089.5

  • 发明设计人 王琪;刘建敏;徐勇军;王永庆;

    申请日2020-11-26

  • 分类号H03M7/40(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11280 北京泛华伟业知识产权代理有限公司;

  • 代理人王勇

  • 地址 100190 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-06-19 10:22:47

说明书

技术领域

本发明涉及信息技术领域,尤其涉及网络编码方法。

背景技术

线性网络编码是一类网络编码,由选自有限域中的编码系数对数据进行线性组合。与利用非线性组合函数的非线性网络编码相比,线性网络编码具有较低的复杂度和更简单的模型,因此已经得到了深入的研究和广泛的应用。

线性网络编码的基本思想是网络中的节点通过从有限域中选取编码系数对原始数据进行线性编码以形成新的编码数据并进行转发,接收节点通过相应的解码操作可以恢复出原始数据。线性网络编码方法主要包括确定性网络编码算法和随机线性网络编码算法。确定性网络编码算法可以保证目标节点成功解码,但是它需要全局信息,例如网络拓扑和链路容量。现实中存在多种拓扑,为不同类型的网络设计特定的编码方法不切实际。此外,它不适用于动态网络,因为从分布式节点实时收集全局信息非常复杂,无法大规模应用。在随机线性网络编码中,节点使用独立、随机选取在某限域的编码系数,对需要发送的数据进行线性组合。相关研究已经证明,只要有限域足够大,随机线性网络编码可以确保每个接收节点能够以较高的概率完成解码,即接收节点对应的全局编码系数矩阵是满秩的。由于随机线性网络编码的主要特征是随机选择线性组合的系数,因此随机线性网络编码适用于拓扑未知或变化的网络,因为它可以轻松地以分布式方式实现。例如一个具有编码能力的节点有三个数据包X、Y、Z需要发送,该节点可以随机选取编码系数a

各种原因都可能造成解码失败,不仅是由中间节点所提取线性相关系数造成,也有可能是因为网络不稳定导致的丢包使得中间节点未接收到一些用于解码的分组。在随机线性网络编码中,系数是从一个伽罗华域中以相等的概率随机提取的。因此,这种编码方法无法根据网络动态变化(包括网络链路质量和中间节点数量的变化)来调整编码系数造成的解码效率低的问题。

发明内容

本发明针对上述问题,根据本发明的第一方面,提出一种网络编码方法,所述网络包括源节点和中间节点,所述方法包括:

源节点将要发送的信息划分成K个片x

中间节点接收前一节点发送的编码包,将收到的编码包P

在本发明的一个实施例中,其中所述源节点编码模型包括目标网络N

步骤110:从经验回放存储器M

步骤120:将N

步骤130:在源节点上,将环境状态ss

在本发明的一个实施例中,其中中间节点编码模型包括目标网络N

步骤210:在经验回放存储器M

步骤220:将N

步骤230:在各中间节点上,将环境状态s

在本发明的一个实施例中,其中对N

将网络编码的环境状态ss

a

r

θ

在本发明的一个实施例中,其中对N

将网络编码的环境状态s

Q

a

r

θ

在本发明的一个实施例中,其中对于N

a

当该源节点发送的编码包能够使得由该源节点的下一跳中间节点缓冲区里的编码包所形成的线性系统的秩增加时,r

在本发明的一个实施例中,其中对于N

a

当该中间节点发送的编码包能够使得由该中间节点的下一跳节点缓冲区里的编码包所形成的线性系统的秩增加时,r

在本发明的一个实施例中,其中,如果源节点没有收到ACK,源节点的ss

在本发明的一个实施例中,其中源节点通过以下方式生成编码包P

P

在本发明的一个实施例中,其中,中间节点的M次编码中的第k次编码包括:

k=1时,P

k>1时,P

P

根据本发明的第二方面,提供一种计算机可读存储介质,其中存储有一个或者多个计算机程序,所述计算机程序在被执行时用于实现本发明的网络编码方法。

根据本发明的第三方面,提供一种网络编码的计算系统,包括存储装置、以及一个或者多个处理器;其中,所述存储装置用于存储一个或者多个计算机程序,所述计算机程序在被所述处理器执行时用于实现本发明的网络编码方法。

与现有技术相比,本发明的实施例的优点在于:

本发明与现有技术相比,具有以下优点:

1.由于本发明创新性地提出了利用深度强化学习自适应地选择编码系数方法,与现有技术相比,本发明可以根据网络动态变化(包括网络链路质量和中间节点数量的变化)来自适应地调节编码系数,以适应高动态变化的网络环境,改善解码效率。

2.本发明使用马尔科夫决策过程(MDP)来制定编码系数优化问题,其中网络变化可以自动且连续地表示为MDP状态转换。此外,本发明具备良好的模型泛化能力,能泛化于具有不同网络规模和不同链路质量下的网络,使得该发明可以适应网络的动态变化。

3.本发明实现了分布式编码系数优化机制,基于深度Q网络(Deep Q-learningNetwork,DQN)的编码系数优化模型网络被预先设置的优化器集中式训练,同时,基于DQN的源节点和中间节点的编码系数优化模型分别在源节点和中间节点上分布式执行,进而简化了编码系数优化实施并且改善了DQN训练的稳定性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了根据本发明实施例的源节点网络编码流程图;

图2示出了根据本发明实施例的中间节点网络编码流程图;

图3示出了根据本发明实施例的用于深度强化学习智能网络编码的设备的功能配置框图;

图4示出了根据本发明实施例的多跳线性网络拓扑图;

图5示出了根据本发明实施例的多跳并行网络拓扑图;

图6示出了根据本发明实施例的多跳线性网络的仿真实验结果图;

图7示出了根据本发明实施例的多跳并行网络的仿真实验结果图;

图8示出了根据本发明实施例的在不同网络规模上的泛化能力的仿真实验结果图;

图9示出了根据本发明实施例的在不同链路质量上的泛化能力的仿真实验结果图;

图10示出了本发明实施例、基准编码算法与RL-aided SNC三种方法的仿真实验结果与真实试验平台结果的对比图。

具体实施方式

针对背景技术指出的问题,发明人进行了研究,提出了一种基于深度强化学习的网络编码方法,下面结合附图和具体实施例,对本方法进行详细描述。

概括说来,在本发明中,网络包括源节点、中间节点和接收信息的目的节点。信息产生于源节点,由源节点发出,经过中间节点,最终由目的节点接收。源节点将信息划分成多个片,确定每个片的编码系数,将这些片编码,生成编码包,并向下一跳节点发送编码包。中间节点接收编码包,为收到的编码包确定每个包的编码系数,将多个编码包再次编码,生成新的编码包,并向下一跳节点发送新的编码包。

本发明采用深度强化学习方法DQN确定编码系数,DQN方法的模型中包含多个步骤,多个环境状态,在每个环境状态可采取多种行为,每种行为对应不同的奖励。在本发明中,每个步骤对应于为每一片或每个包确定编码系数,在该步骤的行为为所确定的编码系数,环境状态为相关的信息片或多个编码包。DQN使用Q值评价每个行为,在每个环境状态下的多个行为中,使得Q值最大的行为为最佳行为,也就是在该环境状态下应当采取的行为。DQN要从整体上寻找最佳方案,因此该最佳行为是从一系列行为的整体上评价的,即在当前环境状态下此行为可使所有步骤累积奖励最佳。

Q值的计算基于奖励,采用如下公式:Q

DQN通过训练神经网络,使神经网络可以计算每个环境状态的每个行为对应的Q值。DQN的训练方法为从真实环境中采集输入与输出,其中,输入为环境状态,输出为行为的Q值,将环境状态输入卷积神经网络CNN后,计算出行为的Q值,使用损失函数来表达计算的目标Q值与真实Q值之间的误差,以减小该误差为目的,对神经网络参数进行训练。在实际执行过程中,尽管Q值最大的行为为最佳行为,但是为了平衡学习与探索,会尝试采取新的行为,例如采用贪心策略,即用较小的概率ε(ε<1)选择采取未知的行为,而用1ε选择采取通过学习已知的Q值最大的行为。

现有的DQN还包括:样本回放缓冲区(Replay Buffer)或者叫做经验回放(Experience replay),以及目标网络(Target Network)。为了减轻相关问题带来的影响,尽可能地将训练与执行两个部分解耦,本发明引入了一个新的网络,仍然命名为目标网络(Target Network),而将原本的目标网络称为执行网络(Behavior Network)。

在训练开始时,两个网络模型使用完全相同的参数。在执行过程中,BehaviorNetwork负责与环境交互,得到交互样本。在训练过程中,由Q-Learning得到的目标Q值由Target Network计算得到;然后用它和Behavior Network在与环境交互中获得的Q值进行比较,得出误差,通过减小误差,对Target Network进行训练,不断更新Target Network的模型,再将更新后的模型同步到Behavior Network,更新Behavior Network的模型。

每当训练完成一定轮数的迭代,Behavior Network模型的经验就会同步给TargetNetwork,这样就可以进行下一个阶段的训练了。通过使用Target Network,计算Q值的模型在一段时间内将被固定,这样模型可以减轻模型的波动性。

本发明的Target Network包括两个神经网络N

本发明的基于深度强化学习的网络编码方法包括两个部分:集中式训练过程和分布式执行过程。在集中式训练过程中,基于DQN的编码系数优化模型网络被预先设置的优化器集中式训练。在分布式执行过程,基于DQN的源节点和中间节点的编码系数优化模型分别在源节点和中间节点上分布式执行,并将执行产生的经验送回优化器进行训练,边执行,边训练,以加快DQN的训练的速度。

(1)在集中式训练过程中,源节点优化器O

同样的,中间节点优化器O

一旦DQN的参数被更新,集中优化器O

(2)在分布式执行过程中,对于源节点,根据其所观察到的当前环境状态ss

以下结合本发明的实施例介绍源节点和中间节点编码的具体方法及其对应的环境状态、行为和奖励。

图1示出了基于深度强化学习的源节点的编码过程:一个信息X(X=[x

具体地,基于深度强化学习的源节点编码系数优化模型中的深度强化学习智能体与网络环境两大模块设计如下:

(1)源节点视为深度强化学习智能体;

(2)抽象环境为由源节点和该源节点的所有下一跳中间节点形成的网络,包括源节点、该源节点的所有下一跳中间节点,以及该源节点与该源节点的所有下一跳中间节点所形成的链路。

(3)深度强化学习智能体观察当前决策步k的环境状态ss

根据本发明的一个实施例,在当前决策步k下,该源节点所观察到的环境状态ss

环境状态ss

具体地,在当前环境状态ss

在每个决策步k下,该源节点选择一个行为a

根据本发明的一个实施例,在当前环境状态ss

当该源节点发送的编码包能够使得由该源节点的下一跳中间节点缓冲区里的编码包所形成的线性系统的秩增加,r

经历K个决策步后,一个信息包的K个片的编码系数均被确定,那么源节点利用所确定的编码系数对K个片进行编码并发送编码后的包P

在一个实施例中,本节点保留发给下一跳节点的编码包以形成源节点上的下一跳中间节点缓冲区

在一个实施例中,在所有K个步骤都执行完,发送给下一跳节点,确定步骤1至K的K个步骤的奖励,这K个步骤的奖励相同。由于本节点在缓冲区

图2示出了基于深度强化学习的中间节点编码过程,当前中间节点i对所收到的来自该中间节点i的上一跳节点j的编码包P

根据本发明的一个实施例,基于深度强化学习的中间节点编码系数优化模型中的深度强化学习智能体与网络环境两大模块设计如下:

(1)中间节点视为深度强化学习智能体;

(2)抽象环境为由当前中间节点i和该中间节点i的下一跳节点形成的网络,包括该中间节点i、该中间节点i的下一跳节点,以及该中间节点i与该中间节点i的下一跳节点z所形成的链路;

(3)深度强化学习智能体观察当前决策步k的环境状态s

根据本发明的一个实施例,在当前决策步k下,该中间节点i所观察到的环境状态s

环境状态s

根据本发明的一个实施例,在当前环境状态s

在每个决策步k下,该中间节点i选择一个行为a

根据本发明的一个实施例,在当前环境状态s

当该中间节点i发送的编码包能够使得由该中间节点i的下一跳节点z缓冲区里的编码包所形成的线性系统的秩增加,r

第k个决策步后,当前编码包P

在一个实施例中,本节点保留发给下一跳节点的编码包以形成中间节点上的下一跳中间节点缓冲区

在一个实施例中,在所有M个步骤都执行完,发送给下一跳节点,确定步骤1至M的M个步骤的奖励,这M个步骤的奖励相同。由于本节点在缓冲区

图3示出了根据本发明实施例的用于深度强化学习的智能网络编码的设备功能配置框图。该设备包括:源节点编码系数优化单元,配置为通过源节点的深度强化学习编码系数优化模型来优化源节点上的数据包的编码系数;中间节点编码系数优化单元,配置为通过中间点的深度强化学习编码系数优化模型来优化中间节点上的数据包的编码系数;智能网络编码单元,配置为根据优化的编码系数对信息进行编码;数据包转发单元,配置为转发编码后的数据包。

下面对本发明的仿真和平台验证实验对于本发明的效果给予说明。

本实例使用基于Python3.5的框架TensorFlow 1.15来构建本发明所述的一种基于深度强化学习的智能网络编码方法及其深度神经网络的体系结构。在本实例中,考虑了一个具有单源,多中间节点和单目的地的多跳线性网络拓扑和多跳并行网络拓扑,图4示出了多跳线性网络拓扑图,图5示出了多跳并行网络拓扑图。

使用解码率和开销这2个性能指标对本发明所述的一种基于深度强化学习的智能网络编码方法进行评估。在分析实验结果之前,先对本实验所涉及的概念和术语进行简单的说明:

解码率:目的节点收到P个数据包后,可以成功解码(恢复原始信息)的概率;

开销:用于衡量不同编码算法的解码效率,我们可以定义开销

链路质量:本专利用包错误率(Packet error rate,PER)表示链路质量。对给定的信号与干扰加噪声比(Signal to Interference plus Noise Ratio,SINR)值γ,数据包错误传输的概率

图6显示了在多跳线性网络拓扑中,每条链路的包的错误率是0.1的情况下,本发明实例的解码率与源节点发送数据包的数量和中间节点数量的关系。可以看出,随着源节点发送数据包的数量的增加和中间节点数量的增加,目标节点成功解码的概率被改善。此外,在目标节点收到相同数据包的情况下,K越大,目标节点解码的概率越低。在K=5的情况下,中间节点的数量(N)等于2,4,6,8时的开销分别是12.2%、15.1%、19.2%和20.1%。在K=10的情况下,中间节点的数量(N)等于2,4,6,8时的开销分别是2.5%,4.2%,4.5%和5.2%。中间节点数越多,数据包经过更长的路径(更多的中间节点)才能传到目的节点,包的总丢失率较大,有些信息包无法传到目的节点,因此源节点需要发送很多冗余的信息,导致目的节点最终收到的数据包数Nr增加(开销公式中的分子),所以开销会增大。

图7显示了在多跳并行网络拓扑中,源节点与中间节点间的链路的包的错误率是0.1,中间节点与目标节点间的链路的包的错误率是0.3,源节点与目标节点间的链路的包的错误率是0.8情况下,本发明实例的解码率与源节点发送数据包的数量和中间节点的数量关系。可以看出,随着源节点发送数据包的数量的增加和中间节点数量的增加,目标节点成功解码的概率被改善。此外,在目标节点收到相同数据包的情况下,K越大,目标节点解码的概率越低。在K=5的情况下,中间节点的数量(N)等于2,6,10,14时的开销分别是12.2%、15.1%、19.2%和20.1%。在K=10的情况下,中间节点的数量(N)等于2,6,10,14时的开销分别是4.8%,4.1%,3.8%和3.1%。

图8显示了在线性拓扑下,每条链路的包的错误率是0.1的情况下,本发明在不同中间节点数量上的泛化能力。我们首先在中间节点数量N=1的情况下,为本发明实例训练一个DQN模型,定义为Train

图9显示了在线性拓扑下,中间节点数量N=1的情况下,本发明在不同链路质量上的泛化能力。在图4的源S和中间节点R1间的链路的包的错误率PER

最后,在真实的试验平台上评估本发明实例的性能,配置本发明的源节点编码系数优化单元、中间节点编码系数优化单元、智能网络编码单元和数据包转发单元,并使用Raspberry Pi 3B+型进行实验。Raspberry Pi 3B+具有1.4GHz ARM A53处理器,1GB RAM以及集成的无线和蓝牙功能。我们利用TensorFlow Lite将本发明实例已训练好的DQN模型部署到Raspberry Pi3B+。本实验中,将本发明实例与传统的基准编码算法和现有的基于强化学习编码算法(RL-aided SNC:Dynamic Sparse Coded Multi-Hop Transmissions usingReinforcement Learning)的编码算法进行比较。在基准编码算法中,源节点使用传统的喷泉码,同时中间节点使用随机网络编码算法。同时我们比较了在仿真环境下得到的解码结果和在真实的试验平台上的解码结果。

图10显示了在多跳线性拓扑下,每条链路的包的错误率等于0.1,K=5的情况下,本发明实例与传统的基准编码算法和现有的基于强化学习编码算法RL-aided SNC的解码率比较。可以看出,在相同的中间节点数量下,本发明的解码率效率高。此外,可以看到仿真结果与真实试验平台得到的结果较为一致。在仿真环境和真实试验平台下,三种编码算法的解码结果的均方根误差分别是0.0042、0.0153、0.0379。

本实例的实验结果说明了本发明所述的基于深度强化学习的智能网络编码方法较现有编码方法有更高的解码率和更低的开销。

需要说明的是,上述实施例中介绍的各个步骤并非都是必须的,本领域技术人员可以根据实际需要进行适当的取舍、替换、修改等。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管上文参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号