一种并行程序的集合通信函数建模方法与流程

文档序号:12470794阅读:来源:国知局

技术特征:

1.一种并行程序的集合通信函数建模方法,其特征在于:一种并行程序的集合通信函数建模方法具体过程为:

步骤一、在实验平台下测量集合通信函数N次,获得集合通信函数在不同的并行度和数据量下的通信时间数据;

所述N取值范围为1000-10000;

步骤二、用基于BP反向传播算法的人工神经网络对集合通讯函数在不同的并行度和数据量下的通信时间数据进行拟合,得到相应的通信函数的神经网络模型。

2.根据权利要求1所述一种并行程序的集合通信函数建模方法,其特征在于:所述步骤二中用基于BP反向传播算法的人工神经网络对集合通讯函数在不同的并行度和数据量下的通信时间数据进行拟合,得到相应的通信函数的神经网络模型;具体过程为:

步骤二一、数据预处理;

步骤二二、激活函数的选择;

步骤二三、根据步骤二一和步骤二二利用BP反向传播算法进行权重和阈值的更新。

3.根据权利要求2所述一种并行程序的集合通信函数建模方法,其特征在于:所述步骤二一中数据预处理;具体过程为:

集合通信函数在不同的并行度和数据量下的通信时间数据是在某一并行度下,变化数据量测量的通信时间或者是在某个数据量下,变化并行度测量的通信时间;

将集合通信函数在不同的并行度和数据量下的通信时间数据传到网络训练之前需要先打乱不同的并行度和数据量下的通信时间数据;

对不同的并行度和数据量下的通信时间数据进行归一化,归一化公式如下:

<mrow> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>=</mo> <mfrac> <mrow> <mi>x</mi> <mo>-</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mo>-</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </mfrac> </mrow>

max、min分别指某一维数据中的最大值、最小值,经过归一化,人工神经网络的输入特征的范围为(0,1);x′为归一化后的某一维数据,x为归一化前的某一维数据;

所述某一维为并行度、数据量或通信时间。

4.根据权利要求3所述一种并行程序的集合通信函数建模方法,其特征在于:所述步骤二二中激活函数的选择;具体过程为:

选择Relu激活函数,Relu激活函数形式为:

f(z)=max(0,z)

式中,z为Relu激活函数输入值,Relu激活函数梯度为1,并且只有一端饱和。

5.根据权利要求4所述一种并行程序的集合通信函数建模方法,其特征在于:所述步骤二三中根据步骤二一和步骤二二利用BP反向传播算法进行权重和阈值的更新;具体步骤如下:

(1)用l表示第几层,其范围为[1,2,3,…,nl],nl表示神经网络模型的最终输出层;逐层计算2,3,…nl的激活值,最终得到神经网络模型的输出结果,表示为hW,b(x),nl为正整数;

(2)当l为第nl层时,对nl层的所有神经元中的某一神经元i,首先根据误差公式获得误差;

利用误差对第nl层的第i个神经元的输入加权和求偏导:

式中,W为权向量,b为阈值,q是通信函数在不同的并行度和数据量下的通信时间数据中的样本数量,0为正整数;是第nl层的第i个神经元的输入加权和,其中表示第l-1层第j个神经元与第l层第i个神经元之间的权重值,为第l-1层的第j个神经元的前向输出值;表示第l层的第i个神经元的前向输出值;1≤i≤Sl;wij∈W;Sl为第l层的神经元个数,为正整数;l为正整数;Sl-1第l-1层的神经元个数,为正整数;ri为真实值;yi为神经网络模型的输出值;残差表示l层的神经元对最终输出值产生的影响;表示神经元的激活函数;

(3)当l=nl-1,nl-2,nl-3,…,2中任一层时,第l层的第i个节点的残差计算方法为

式中,Sl+1为第l+1层的神经元个数,为正整数;为第l层权向量;残差表示l+1层的该神经元对最终输出值产生的影响;1≤j≤Sl

(4)计算权值和阈值更新需要的偏导数,即

<mrow> <mfrac> <mo>&part;</mo> <mrow> <mo>&part;</mo> <msubsup> <mi>W</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mi>J</mi> <mrow> <mo>(</mo> <mi>W</mi> <mo>,</mo> <mi>b</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>a</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> <msubsup> <mi>&delta;</mi> <mi>i</mi> <mrow> <mo>(</mo> <mrow> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </msubsup> <mo>,</mo> <mfrac> <mo>&part;</mo> <mrow> <mo>&part;</mo> <msubsup> <mi>b</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mi>J</mi> <mrow> <mo>(</mo> <mi>W</mi> <mo>,</mo> <mi>b</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>&delta;</mi> <mi>i</mi> <mrow> <mo>(</mo> <mrow> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </msubsup> <mo>;</mo> </mrow>

式中,为第l层的第j个神经元的前向输出值;为神经网络模型第l层的第i个神经元阈值;

在误差公式后面加上L2正则项

其中,w表示正则项的参数λ是正则项系数,q是样本数量;L2为高斯先验;对J(W,b)求偏导后,将改为

引入动量因子ρ,更新权向量W和阈值b,具体公式表示为:

<mrow> <msubsup> <mi>W</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>&rho;W</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mi>&eta;</mi> <mfrac> <mo>&part;</mo> <mrow> <mo>&part;</mo> <msubsup> <mi>W</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mi>J</mi> <mrow> <mo>(</mo> <mi>W</mi> <mo>,</mo> <mi>b</mi> <mo>)</mo> </mrow> </mrow>

<mrow> <msubsup> <mi>b</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>&rho;b</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mi>&eta;</mi> <mfrac> <mo>&part;</mo> <mrow> <mo>&part;</mo> <msubsup> <mi>b</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mi>J</mi> <mrow> <mo>(</mo> <mi>W</mi> <mo>,</mo> <mi>b</mi> <mo>)</mo> </mrow> </mrow>

式中,η为学习速率;为更新后的第l层第j个神经元与第l+1层第i个神经元之间的权向量;为更新前第l层第j个神经元与第l+1层第i个神经元之间的权向量;为第l层第j个神经元与第l+1层第i个神经元之间的权向量。

6.根据权利要求5所述一种并行程序的集合通信函数建模方法,其特征在于:所述正则项系数λ=0.005。

7.根据权利要求6所述一种并行程序的集合通信函数建模方法,其特征在于:所述ρ设置为0.9。

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