[0069] 下面进一步详细说明本发明的实施步骤。
[0070] 一种基于PPER‑DQN的双变跳频图案智能决策方法,具体包括如下步骤:
[0071] 步骤1、根据感知到的频谱状态,估计干扰的主要参数,预测未来短时间Δ内的频谱状态,具体如下:
[0072] 根据频谱感知的结果确定干扰的类型并估计其主要参数,假设未来Δ时间内干扰的状态参数不变,建立如图1所示例的干扰环境频谱瀑布图。
[0073] 步骤2、初始化估值Q网络、目标Q网络、经验池和Sumtree存储结构,设置网络的学习率lr、目标Q网络的更新周期Ttar、采样样本数量M、折扣因子γ、参数α、β、λ、η、ξ、z、G以及总训练回合数 随机初始化状态s0,具体如下:
[0074] DQN作为最常用的深度强化学习算法,对Q‑Learning进行的其中部分改进如下:
[0075] (1)使用深度神经网络模型代替Q表格拟合状态‑动作函数,避免维数爆炸导致的计算量过大和计算效率低下的问题。
[0076] (2)经验回放:建立经验池用于存放Agent产生的样本经验,并在每次迭代中从经验池均匀随机采样一部分经验用于训练网络,通过随机采样的方式保证样本之间的独立性,提高网络训练的效率。
[0077] 相应的,DQN的结构如图2所示:
[0078] Agent根据自身的状态st使用估值Q网络选择执行的动作at,从而从环境中获得立即奖赏rt并转移至下一状态st+1。Agent将每次和环境交互产生的样本存入经验池,在训练估值Q网络时从其中采样形成训练集。目标Q网络将帮助估值Q网络计算损失函数,用于更新估值Q网络的参数,而估值Q网络会定期将其参数赋值给前者,以实现目标Q网络的更新。
[0079] 由此,初始化估值Q网络,其权重为服从均值为0、方差为0.1的高斯分布的随机数,将估值Q网络的参数赋予目标Q网络,完成目标Q网络的初始化,初始化经验池和Sumtree存储结构,设置网络的学习率lr、目标Q网络的更新周期Ttar、单次采样样本数量M、折扣因子γ、其他参数α、β、λ、η、ξ、z、G以及总训练回合数 随机初始化状态s0。
[0080] 步骤3、对于当前状态st,根据动作选择策略及估值Q网络选择最佳动作at并执行,得到下一状态st+1,代入奖赏函数计算立即奖励rt,具体如下:
[0081] DQN中常用的动作选择策略是基于ε‑greedy机制的。选择动作时,先产生一个随机数,当该随机数小于ε时,Agent随机选择一个动作作为最佳动作并执行,否则,Agent将比较各个动作的Q值选择其中最大的作为最佳动作并执行。由于常规的基于ε‑greedy机制的动作选择策略的参数ε是固定的或随迭代次数线性下降的,在迭代中后期Agent仍有一定几率选择随机动作并执行,这增大了算法收敛的难度。
[0082] 对此,引入非线性因素,采用如式(1)和(2)所示的动作选择策略。
[0083]
[0084]
[0085] 其中,π(st)为在第t次迭代中Agent在状态st下选择的最佳动作,arandom为随机选择的动作,rand∈[0,1]为随机数,λ用于控制ε下降的速率,为网络当前训练的回合数,为网络总训练回合数。该策略能保证ε在训练初期保持较大值,使Agent积极进行探索,随后ε快速下降,使Agent更重视利用。
[0086] 定义Agent的状态st为频率集,动作at为跳速V和信道划分间隔D的联合分配。为实现最大化信干噪比的目标将奖励函数定义为该跳中Agent获得的信干噪比。
[0087]
[0088] 其中,rt为第t次迭代中获得的立即奖励, 为信号传输功率,Jt和n0为第t次迭代J中Agent受到的干扰功率和高斯白噪声,是由多种干扰的共同影响造成的,Ji(f)和fi为第i种干扰的功率谱密度函数和干扰中心频率,n0(f)高斯白噪声的功率密度函数。
[0089] 将当前状态st作为估值Q网络的输入,输出各动作的Q值,再根据式(1)和(2)选择动作并执行,获得下一状态st+1。根据当前状态、执行的动作和干扰环境,计算立即奖励rt。
[0090] 步骤4、判断st+1是否满足终止该训练回合的条件,将样本按当前状态st、动作at、下一状态st+1、立即奖励rt、是否满足结束条件的形式存入经验池,赋予当前经验池最大优先级并更新Sumtree。
[0091] 步骤5、当经验池未被填满时,跳转至步骤11,否则,继续执行,具体如下:
[0092] 若当前经验池尚未填满,则不满足网络学习条件,直接跳转至步骤11;否则,满足网络学习条件,进行下述的网络学习步骤。
[0093] 步骤6、若迭代次数t达到目标Q网络更新周期Ttar则更新估值Q网络,否则不更新,具体如下;
[0094] DQN作为最常用的深度强化学习算法,对Q‑Learning进行的其中一方面改进为采用双网络结构:
[0095] 分别建立估值Q网络和目标Q网络,用于动作选择和计算目标Q值。通过每更新数次估值Q网络,再将其参数赋值给目标Q网络的方式,使目标Q网络的更新滞后于估值Q网络,以此提高算法的稳定性。
[0096] 当迭代次数t达到目标Q网络更新周期Ttar时,将估值Q网络的参数赋值给目标Q网络,以实现目标Q网络的更新。
[0097] 步骤7、采用基于Pareto样本的优先经验回放方法,根据存储时长计算置信度并调整样本优先度,从经验池中筛选Pareto样本,利用Sumtree结构根据优先级pi分别从Pareto样本集和非Pareto样本集采集样本形成训练集,具体如下:
[0098] 优先经验回放技术能为样本赋予优先级并根据优先级确定该样本被采样的概率,较传统经验回放技术的均匀随机采样方式能提高训练集总体的优越性。该技术的关键是如何判断样本的重要性。通常使用TD‑error作为评判优先级的标准,其形式如式(4)所示。
[0099]
[0100] 其中, 为在第t次迭代中产生的第i样本的TD‑error;rt为在第t次迭代中Agent处于状态st并执行动作at得到的立即奖励;γ为折扣因子,代表对未来奖励的重视程度;Q(st,at;θval)和Q(st,at;θtar)分别为通过估值Q网络和目标Q网络得到的Q值,θval和θtar分别i为两个网络的参数。δt越接近0代表网络预测精度的上升空间越小,回放该样本对网络的提i
升越小;反之,回放该样本的收益越大,越值得被回放。更多地回放δt远离0的样本将能提高网络训练的效率,使算法更容易收敛。
[0101] 在式(4)基础上,优先级定义为基于TD‑error的优先级形式如式(5)所示,样本采样概率则如式(6)所示。
[0102]
[0103]
[0104] 其中,pi为第i个样本的优先度;σ为一个在设定阈值内的正数,用于保证 很小的样本也具有一定的优先度;α为用于控制优先度使用程度的系数,取值范围为[0,1],当α=1时表示采用均匀随机采样;Pi为根据优先级得到的第i个样本被采样的概率;N为经验池容量。
[0105] 样本的δti仅代表了估计的误差,而无法判断其动作是否为该状态下的最佳动作,这导致被回放的样本中动作的优越性无法保障,从而限制了学习效果。从累计奖励大的序列中能采样得到更多的有效动作,使DQN更快的达到最佳策略。因此,应在进行经验回放时同时考虑TD‑error和立即奖励,进一步提高训练集的优越性和学习价值,从而提高算法性能和收敛速度。
[0106] 为更高效地采样,引出如下定义:
[0107] 定义1 Pareto支配(Pareto Dominance):有样本e1及样本e2,当且仅当所有的fu(e1)都优于fu(e2),u=1,2,…,U时,称e2受e1的支配,否则e1和e2互不支配。其中fu(·)表示样本的第u个性能函数。
[0108] 根据上述定义提出基于Pareto样本的优先经验回放。该方法中根据Pareto支配的定义从立即奖励和TD‑error两个方面在经验池中筛选Pareto样本。考虑到不同频段受到的干扰功率不同,将处于各频段的样本一同比较对位于干扰较大频段处的样本不利,这会影响训练集的多样性和网络选择动作的优越性;所以,将频谱划分为G段,在处于同一分段内的样本中选择Pareto样本,从而保障Pareto样本集能包含各个频段的样本。
[0109] 针对在经验池中存储时间过长的样本可信度下降的问题,引入置信度参数衡量样本。判断支配关系时,对如式(7)所示的置信度参数归一化,用其调整样本的优先级。
[0110]
[0111] 其中,μ为置信度参数,tstore为样本在经验池中的存储时长,μ将随着tstore的增长先缓慢下降,再快速下降,最后趋于平稳,ξ用于控制μ随存储时长开始快速下降的转折点,z用于控制下降的速率。通过为存储时长较长的样本赋予较小的置信度参数,适当降低其优先度,从而进一步降低可信度低的样本被选中用于训练网络的概率,提高训练效率。
[0112] 由于按一定的概率从经验池采样将极大的消耗计算资源,影响算法整体效率,故采用如图3所示的Sumtree结构存储样本和完成采样。
[0113] 通过Sumtree的存储结构,具有较大优先级的样本将更容易被采样大,且采样过程的时间复杂度低。
[0114] 步骤8、根据估值Q网络、目标Q网络分别计算训练集样本的TD‑error、优先度pi和目标值yi。再进一步计算各个样本的采样概率Pi'、重要性采样权重wi和网络的损失函数L(θval)并通过神经网络的梯度反向传播更新估值Q网络的参数θval,具体如下:
[0115] 由于优先级高的样本容易被采样并频繁回放,从而导致训练样本多样性下降,网络容易过拟合,故通过重要性采样权重来纠正。式(8)为基于TD‑error的优先级对应的重要性采样权重,式(9)为用于网络参数训练的目标值,式(10)为经过纠正的网络损失函数。
[0116] wi=(NPi)‑β (8)
[0117]
[0118] L(θval)=∑iwi(yi‑Q(st,at;θval))2 (10)
[0119] 其中,wi为第i个样本对应的重要性采样权重,β为表示纠正程度的参数,yi为由第i个样本得到的网络目标值,ri为第i个样本的立即奖励,Q(st+1,at;θtar)和Q(st,at;θval)分别表示第i个样本的目标Q值和估计Q值。
[0120] 为保障训练集的多样性,避免网络过拟合,训练集中η%的样本来自Pareto样本集,其余样本来自非Pareto样本。由于Pareto样本被采样的概率远大于非Pareto样本,故对式(8)改进,当样本为Pareto样本时为其赋予当前经验池中最大的优先级,否则,使用原有的优先级。改进后的重要性采样权重如式(11)和(12)所示。
[0121] wi=(NPi')‑β (11)
[0122]
[0123] 步骤9、更新训练集样本的TD‑error、经验池样本的优先级和Sumtree,具体如下:
[0124] 根据步骤8中计算的训练集样本的TD‑error和优先度pi,更新训练集样本的TD‑error、经验池样本的优先级和Sumtree。
[0125] 步骤10、更新状态,st←st+1,具体如下:
[0126] 将下一状态st+1设置为当前状态st,并继续执行。
[0127] 步骤11、若网络训练回合数达到 则结束算法,否则,返回步骤3,具体如下:
[0128] 判断当前迭代次数t是否达到总迭代次数 若是,则结束学习过程结束,否则返回步骤3。