Sdn網絡的連接優化方法及系統的制作方法
【專利摘要】本發明提供了SDN網絡的連接優化方法及系統,在每次網絡訓練完成之后計算當前傳輸誤差并判斷是否達到預設范圍;若未達到預設范圍,則根據以下公式計算相鄰兩個網絡層的各個網絡節點之間的網絡連接權值的修正量:<mrow><msub><mi>Δω</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>=</mo><mo>-</mo><mi>η</mi><mfrac><mrow><mo>∂</mo><mi>E</mi></mrow><mrow><mo>∂</mo><msub><mi>ω</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></mfrac></mrow>其中,Δωmn表示網絡節點m到網絡節點n之間的網絡連接權值的修正量,E表示為傳輸誤差函數,η為步長;本次網絡訓練的所述步長的取值按照如下方式設置:若本次網絡訓練和上一次網絡訓練的所述修正量的乘積為正,則增大本次網絡訓練的所述步長的取值;若當前網絡訓練和上一次網絡訓練的所述修正量的乘積為負,則減小本次網絡訓練所述步長的取值;基于所述修正量修正所述網絡連接權值;基于修正后的所述網絡連接權值進行下一次網絡訓練。
【專利說明】
SDN網絡的連接優化方法及系統
技術領域
[0001]本發明屬于互聯網技術領域,具體涉及一種SDN網絡的連接優化方法及系統。
【背景技術】
[0002] 軟件定義網絡(Software Defined Network,SDN)是由Emulex提出的一種新型網 絡創新架構,其核心技術OpenFlow通過將網絡設備控制面與數據面分離開來,從而實現了 網絡流量的靈活控制,為核心網絡及應用的創新提供了良好的平臺。
[0003]現有技術中,通常基于BP神經網絡(Back Propagation Feed-forward Neural Network)算法來修正軟件定義網絡的鏈接參數值,BP神經網絡一般是一個三層或者更多層 的網絡結構,包括輸入層、隱含層和輸出層,隱含層也叫中間層,前后相鄰兩層之間是完全 連接方式,每一層的內部節點之間沒有任何連接,信息只能在前后層之間傳輸而不能在同 一層的內部網絡節點之間進行傳輸。信息在網絡傳輸過程中,實際輸出結果和預期輸出結 果可能存在一定的偏差,通過自定義的誤差函數得到輸出誤差值,通過算法使誤差值減小 的過程中可以不斷修正網絡的鏈接參數值,從而使網絡的實際輸出結果能夠較好的擬合實 際輸入信息,直到第一層和第二層的網絡連接參數得到修正為止。
[0004] 然而,現有技術中采用的BP神經網絡算法存在收斂速度慢的問題。
【發明內容】
[0005] 本發明旨在至少解決現有技術中存在的技術問題之一,提出了一種SDN網絡的連 接優化方法及系統。
[0006] 為解決上述問題之一,本發明提供了一種SDN網絡的連接優化方法,包括:在每次 網絡訓練完成之后,計算當前傳輸誤差并判斷是否達到預設范圍;若判斷當前所述傳輸誤 差未達到預設范圍,則根據以下公式計算相鄰兩個網絡層的各個網絡節點之間的網絡連接 權值的修正量:
[0008] 其中,Δ comn表示網絡節點m到網絡節點n之間的網絡連接權值的修正量,E表示為 傳輸誤差函數,η為步長;
[0009] 本次網絡訓練的所述步長的取值按照如下方式設置:若本次網絡訓練和上一次網 絡訓練的所述修正量的乘積為正,則增大本次網絡訓練的所述步長的取值;若當前網絡訓 練和上一次網絡訓練的所述修正量的乘積為負,則減小本次網絡訓練所述步長的取值;
[0010] 基于所述修正量修正所述網絡連接權值;
[0011] 基于修正后的所述網絡連接權值進行下一次網絡訓練;
[0012] 重復上述步驟,直至所述傳輸誤差達到預設范圍。
[0013] 優選地,本次網絡訓練的所述步長按照如下公式進行計算獲得:
[0014] n(k)=Cnp,l〈C彡2;η=1,2, · · · ·;
[0015] p = sgn[ Δ ω (k_l) Δ ω (k)];
[0016] 其中,k表示為當前網絡訓練的次數;△ co(k-l)表示為上一次網絡訓練的所述修 正量;△ ω(1〇表示為本次網絡訓練的所述修正量。
[0017] 優選地,所述計算相鄰兩個網絡層的各個網絡節點之間的網絡連接權值的修正 量,包括:計算隱含層到輸出層的各個網絡節點之間的第一網絡連接權值的第一修正量; 和/或,計算輸入層到隱含層的各個網絡節點之間的第二網絡連接權值的第二修正量;所述 基于所述修正量修正所述網絡連接權值,包括:基于所述第一修正量修正所述第一網絡連 接權值,和/或,基于所述第二修正量修正所述第二網絡連接權值;所述基于修正后的所述 網絡連接權值進行下一次網絡訓練,包括:基于修正后的所述第一網絡連接權值和所述第 二網絡連接權值進行下一次網絡訓練。
[0018] 優選地,所述傳輸誤差函數為:
[0020] 其中,expt為輸出層的網絡節點t的理想期望輸出值;q為輸出層的網絡節點的總 數;out2t為輸出層的網絡節點t的實際計算輸出值。
[0021] 優選地,所述隱含層和所述輸出層的傳輸函數均為:
[0023]本發明還提供一種SDN網絡的連接優化系統,包括:計算判斷模塊,用于在每次網 絡訓練完成之后,計算當前傳輸誤差并判斷是否達到預設范圍;修正量計算模塊,用于在所 述計算判斷模塊判斷當前傳輸誤差未達到預設范圍時,則根據以下公式計算相鄰兩個網絡 層的各個網絡節點之間的網絡連接權值的修正量:
[0025] 其中,Δ ωΜη表示網絡節點m到網絡節點n之間的網絡連接權值的修正量,E表示為 傳輸誤差函數,η為步長;
[0026] 本次網絡訓練的所述步長的取值按照如下方式設置:若本次網絡訓練和上一次網 絡訓練的所述修正量的乘積為正,則增大本次網絡訓練的所述步長的取值;若當前網絡訓 練和上一次網絡訓練的所述修正量的乘積為負,則減小本次網絡訓練所述步長的取值;
[0027] 修正模塊,用于基于所述修正量計算模塊計算的修正量修正所述網絡連接權值; [0028]網絡訓練模塊,用于基于所述修正模塊修正后的所述網絡連接權值進行下一次網 絡訓練。
[0029] 優選地,所述修正量計算模塊被設置成:本次網絡訓練的所述步長按照如下公式 進行計算獲得:
[0030] n(k)=Cnp,l<C^2;n=l,2,....;
[0031] p = sgn[ Δ ω (k_l) Δ ω (k)];
[0032] 其中,k表示為當前網絡訓練的次數;△ co(k-l)表示為上一次網絡訓練的所述修 正量;△ ω(1〇表示為本次網絡訓練的所述修正量。
[0033]優選地,所述修正量計算模塊,用于在所述計算判斷模塊判斷當前傳輸誤差未達 到預設范圍時,計算隱含層到輸出層的各個網絡節點之間的第一網絡連接權值的第一修正 量;和/或,計算輸入層到隱含層的各個網絡節點之間的第二網絡連接權值的第二修正量; 所述修正模塊,用于基于所述修正量計算模塊計算的所述第一修正量修正所述第一網絡連 接權值,和/或,基于所述修正量計算模塊計算的所述第二修正量修正所述第二網絡連接權 值;所述網絡訓練模塊,用于基于所述修正模塊修正后的所述第一網絡連接權值和所述第 二網絡連接權值進行下一次網絡訓練。
[0034]優選地,所述修正量計算模塊被設置成:所述傳輸誤差函數為:
[0036]其中,expt為輸出層的網絡節點t的理想期望輸出值;q為輸出層的網絡節點的總 數;out2t為輸出層的網絡節點t的實際計算輸出值。
[0037]優選地,所述隱含層和所述輸出層的傳輸函數均為:
[0039]本發明具有以下有益效果:
[0040]本發明提供的SDN網絡的連接優化方法及系統,能夠在連續兩次網絡訓練的網絡 連接權值的修正量的乘積為正(即,梯度下降方向一致)時,代表誤差梯度下降較慢,可以增 加學習速率的步長;在連續兩次網絡訓練的網絡連接權值的修正量的乘積為負(g卩,梯度下 降方向不一致)時,代表誤差梯度降低太多,超出了保持網絡穩定的范圍,這時應該減小學 習速率的步長取值。因此,步長可在網絡訓練學習過程中能夠進行自適應調整,因而可以使 誤差函數在曲線函數的不同位置根據比較合適的步長值向誤差最小值靠近,從而收斂速度 較快。
【附圖說明】
[0041 ]圖1為本發明實施例提供的SDN網絡的連接優化方法的流程圖;
[0042]圖2為本發明實施例提供的SDN網絡的連接優化系統的原理框圖。
【具體實施方式】
[0043]為使本領域的技術人員更好地理解本發明的技術方案,下面結合附圖來對本發明 提供的SDN網絡的連接優化方法及系統進行詳細描述。
[0044] 實施例1
[0045] 圖1為本發明實施例提供的SDN網絡的連接優化方法的流程圖;請參閱圖1,本實施 例提供的SDN網絡的連接優化方法包括以下步驟:
[0046] S1,在每次網絡訓練完成之后,計算當前傳輸誤差并判斷是否達到預設范圍。
[0047] S2,若判斷當前所述傳輸誤差未達到預設范圍,則根據以下公式計算相鄰兩個網 絡層的各個網絡節點之間的網絡連接權值的修正量:
[0049] 其中,Δ ωΜη表示網絡節點m到網絡節點n之間的網絡連接權值的修正量,E表示為 傳輸誤差函數,η為步長;
[0050] 本次網絡訓練的所述步長的取值按照如下方式設置:若本次網絡訓練和上一次網 絡訓練的所述修正量的乘積為正,則增大本次網絡訓練的所述步長的取值;若當前網絡訓 練和上一次網絡訓練的所述修正量的乘積為負,則減小本次網絡訓練所述步長的取值; [0051 ] S3,基于所述修正量修正所述網絡連接權值。
[0052] S4,基于修正后的所述網絡連接權值進行下一次網絡訓練。
[0053] S5,重復上述步驟,直至所述傳輸誤差達到預設范圍。
[0054]可以理解,本實施例提供的SDN網絡的連接優化方法,能夠在連續兩次網絡訓練的 網絡連接權值的修正量的乘積為正(即,梯度下降方向一致)時,代表誤差梯度下降較慢,可 以增加學習速率的步長;在連續兩次網絡訓練的網絡連接權值的修正量的乘積為負(即,梯 度下降方向不一致)時,代表誤差梯度降低太多,超出了保持網絡穩定的范圍,這時應該減 小學習速率的步長取值。因此,步長可在網絡訓練學習過程中能夠進行自適應調整,因而可 以使誤差函數在曲線函數的不同位置根據比較合適的步長值向誤差最小值靠近,從而收斂 速度較快。
[0055] 在本實施例中,優選地,本次網絡訓練的所述步長按照如下公式進行計算獲得:
[0056] n(k)=Cnp,l<C^2;n=l,2,....;
[0057] p = sgn[ Δ ω (k_l) Δ ω (k)];
[0058] 其中,k表示為當前網絡訓練的次數;△ co(k-l)表示為上一次網絡訓練的所述修 正量;Α ω(1〇表示為本次網絡訓練的所述修正量,C的取值優選地取值為1.5。
[0059] p = sgn[ Δ ω (k-Ι) Δ ω (k)]的取值在Δ ω (k-Ι)和Δ ω (k)的乘積為正時取值為 1,在Δ co(k~l)和Δ co(k)的乘積為負時取值為-1,在Δ co(k~l)和Δ co(k)的乘積為0時取 值為〇。
[0060]另外,具體地,上述計算相鄰兩個網絡層的各個網絡節點之間的網絡連接權值ω 的修正量Δ ω,包括:
[0061] 計算隱含層到輸出層的各個網絡節點之間的第一網絡連接權值c^t的第一修正量 Α 和/或,計算輸入層到隱含層的各個網絡節點之間的第二網絡連接權值的第二 修正量Δ ω ij。
[0062] 上述步驟S3,包括:
[0063]基于所述第一修正量△ ω 修正所述第一網絡連接權值ω ,和/或,基于所述第 二修正量Δ ω ij修正所述第二網絡連接權值ω ij;
[0064] 上述步驟S4,包括:
[0065]基于修正后的第一網絡連接權值ω jt和所述第二網絡連接權值ω ij進行下一次網 絡訓練。
[0066] 假設輸入層的輸入=輸出,也即,信息通過輸入層各節點時沒有發生任何信息損 失:
[0067] 〇i = xi, i = 1,2, . . . . ,η
[0068] 其中,Xl(i = l,2,...,n)為輸入層的網絡節點i的輸入信息值;η為輸入層的網絡 節點(或者神經元)的總數;〇i(i = l,2,. . .,η)為輸入層的網絡節點i的輸出信息值。
[0069]隱含層的輸入和輸出:
[0071 ] hid2j = f (hidlj), j = 1,2, . . . ,ρ
[0072]其中,1^(^(」=1,2,...,?)為隱含層的網絡節點」的輸入信息值;《^表示輸入層 的第i個網絡節點到隱含層的第j個網絡節點之間的第二網絡連接權值;Θ」為隱含層的第j 個網絡節點的閾值;P為隱含層的網絡節點的總數;hid2j( j = l,2, . . .,p)為隱含層的網絡 節點j的輸出信息值。
[0073]輸出層的輸入和輸出:
[0075] out2t = f (outlt) ,t = l,2,...,q
[0076] 其中,〇此1心=1,2,...,(1)為輸出層的網絡節點_輸入信息值;〇^為隱含層的 第j個網絡節點到輸出層的第t個網絡節點的第一網絡連接權值;0 t為輸出層的第t個網絡 節點的閾值;q為輸出層的網絡節點的總數;out2t (t = 1,2,. . .,q)為輸出層的網絡節點t的 輸出值。
[0077] 上述隱含層和輸出層的傳輸函數均為:
[0079]并且,傳輸誤差函數為:
[0081]其中,expt為輸出層的網絡節點t的理想期望輸出值;q為輸出層的網絡節點的總 數;out2t為輸出層的網絡節點t的實際計算輸出值。
[0082] 在此基礎上,第一網絡權重值c〇jt的改變量Δ c〇jt為:
[0084] 5t = out2t( l~out2t) (expt~out2t) ,t = l,2,...,q
[0085] 第二網絡連接權值ω ij的改變量Δ ω ij為:
[0088]需要在此說明的是,在本實施例中,不僅可以在一次修正過程中同時修正第一網 絡連接權值ω jt和第二網絡連接權值ω ij,還可以在一次修正過程中僅修正第一網絡連接 權值ω jt和第二網絡連接權值ω ~中的一個,在下一次修正過程中修正第一網絡連接權值 ω jt和第二網絡連接權值ω ij中的另一個。
[0089] 實施例2
[0090]圖2為本發明實施例提供的SDN網絡的連接優化系統的原理框圖;請參閱圖2,本實 施例提供的SDN網絡的連接優化系統包括計算判斷模塊10、修正量計算模塊11、修正模塊12 和網絡訓練模塊13。
[0091]其中,計算判斷模塊10用于在每次網絡訓練完成之后計算當前傳輸誤差并判斷是 否達到預設范圍。
[0092]修正量計算模塊11,用于在所述計算判斷模塊10判斷當前傳輸誤差未達到預設范 圍時,則根據以下公式計算相鄰兩個網絡層的各個網絡節點之間的網絡連接權值的修正 量:
[0094]其中,Δ ωΜη表示網絡節點m到網絡節點n之間的網絡連接權值的修正量,E表示為 傳輸誤差函數,η為步長。
[0095] 本次網絡訓練的所述步長的取值按照如下方式設置:若本次網絡訓練和上一次網 絡訓練的所述修正量的乘積為正,則增大本次網絡訓練的所述步長的取值;若當前網絡訓 練和上一次網絡訓練的所述修正量的乘積為負,則減小本次網絡訓練所述步長的取值;
[0096] 修正模塊12用于基于所述修正量計算模塊11計算的修正量修正所述網絡連接權 值。
[0097]網絡訓練模塊13,用于基于述修正模塊12修正后的所述網絡連接權值進行下一次 網絡訓練。
[0098] 優選地,所述修正量計算模塊11被設置成:本次網絡訓練的所述步長按照如下公 式進行計算獲得:
[0099] n(k)=Cnp,l<C^2;n=l,2,....;
[0100] p = sgn[ Δ ω (k_l) Δ ω (k)];
[0101] 其中,k表示為當前網絡訓練的次數;△ co(k-l)表示為上一次網絡訓練的所述修 正量;△ ω(1〇表示為本次網絡訓練的所述修正量。
[0102] 具體地,所述修正量計算模塊11,用于在所述計算判斷模塊10判斷當前傳輸誤差 未達到預設范圍時,計算隱含層到輸出層的各個網絡節點之間的第一網絡連接權值的第一 修正量;和/或,計算輸入層到隱含層的各個網絡節點之間的第二網絡連接權值的第二修正 量。
[0103] 所述修正模塊12用于基于所述修正量計算模塊11計算的所述第一修正量修正所 述第一網絡連接權值,和/或,基于所述修正量計算模塊計算的所述第二修正量修正所述第 二網絡連接權值。
[0104] 所述網絡訓練模塊13用于基于所述修正模塊12修正后的所述第一網絡連接權值 和所述第二網絡連接權值進行下一次網絡訓練。
[0105] 優選地,所述修正量計算模塊被設置成:所述傳輸誤差函數為:
[0107] 其中,expt為輸出層的網絡節點t的理想期望輸出值;q為輸出層的網絡節點的總 數;out2t為輸出層的網絡節點t的實際計算輸出值。
[0108] 優選地,所述隱含層和所述輸出層的傳輸函數均為:
[0110] 需要在此說明的是,本實施例提供的SDN網絡的連接優化系統的工作過程與上述 實施例1提供SDN網絡的連接優化方法相類似,在此不再贅述。
[0111] 本實施例提供的SDN網絡的連接優化系統,能夠在連續兩次網絡訓練的網絡連接 權值的修正量的乘積為正(即,梯度下降方向一致)時,代表誤差梯度下降較慢,可以增加學 習速率的步長;在連續兩次網絡訓練的網絡連接權值的修正量的乘積為負(g卩,梯度下降方 向不一致)時,代表誤差梯度降低太多,超出了保持網絡穩定的范圍,這時應該減小學習速 率的步長取值。因此,步長可在網絡訓練學習過程中能夠進行自適應調整,因而可以使誤差 函數在曲線函數的不同位置根據比較合適的步長值向誤差最小值靠近,從而收斂速度較 快。
[0112]可以理解的是,以上實施方式僅僅是為了說明本發明的原理而采用的示例性實施 方式,然而本發明并不局限于此。對于本領域內的普通技術人員而言,在不脫離本發明的精 神和實質的情況下,可以做出各種變型和改進,這些變型和改進也視為本發明的保護范圍。
【主權項】
1. 一種SDN網絡的連接優化方法,其特征在于,包括: 在每次網絡訓練完成之后,計算當前傳輸誤差并判斷是否達到預設范圍; 若判斷當前所述傳輸誤差未達到預設范圍,則根據以下公式計算相鄰兩個網絡層的各 個網絡節點之間的網絡連梓權值的修正量:其中,△ comn表示網絡節點m到網絡節點n之間的網絡連接權值的修正量,E表示為傳輸 誤差函數,η為步長; 本次網絡訓練的所述步長的取值按照如下方式設置:若本次網絡訓練和上一次網絡訓 練的所述修正量的乘積為正,則增大本次網絡訓練的所述步長的取值;若當前網絡訓練和 上一次網絡訓練的所述修正量的乘積為負,則減小本次網絡訓練所述步長的取值; 基于所述修正量修正所述網絡連接權值; 基于修正后的所述網絡連接權值進行下一次網絡訓練; 重復上述步驟,直至所述傳輸誤差達到預設范圍。2. 根據權利要求1所述的SDN網絡的連接優化方法,其特征在于,本次網絡訓練的所述 步長按照如下公式進行計算獲得: q(k)=Cnp,l〈C彡2;η=1,2, · · · ·; P = sgn[ Δ co(k_l)A co(k)]; 其中,k表示為當前網絡訓練的次數;△ ω (k_l)表示為上一次網絡訓練的所述修正量; A ω(1〇表示為本次網絡訓練的所述修正量。3. 根據權利要求1所述的SDN網絡的連接優化方法,其特征在于,所述計算相鄰兩個網 絡層的各個網絡節點之間的網絡連接權值的修正量,包括: 計算隱含層到輸出層的各個網絡節點之間的第一網絡連接權值的第一修正量;和/或, 計算輸入層到隱含層的各個網絡節點之間的第二網絡連接權值的第二修正量; 所述基于所述修正量修正所述網絡連接權值,包括: 基于所述第一修正量修正所述第一網絡連接權值,和/或,基于所述第二修正量修正所 述第二網絡連接權值; 所述基于修正后的所述網絡連接權值進行下一次網絡訓練,包括: 基于修正后的所述第一網絡連接權值和所述第二網絡連接權值進行下一次網絡訓練。4. 根據權利要求1所述的SDN網絡的連接優化方法,其特征在于,所述傳輸誤差函數為:其中,expt為輸出層的網絡節點t的理想期望輸出值;q為輸出層的網絡節點的總數; out2t為輸出層的網絡節點t的實際計算輸出值。5. 根據權利要求3所述的SDN網絡的連接優化方法,其特征在于,所述隱含層和所述輸 出層的傳輸函數均為:6. -種SDN網絡的連接優化系統,其特征在于,包括: 計算判斷模塊,用于在每次網絡訓練完成之后,計算當前傳輸誤差并判斷是否達到預 設范圍; 修正量計算模塊,用于在所述計算判斷模塊判斷當前傳輸誤差未達到預設范圍時,根 據以下公式計算相鄰兩個網絡層的各個網絡節點之間的網絡連接權值的修正量:其中,△ comn表示網絡節點m到網絡節點n之間的網絡連接權值的修正量,E表示為傳輸 誤差函數,η為步長; 本次網絡訓練的所述步長的取值按照如下方式設置:若本次網絡訓練和上一次網絡訓 練的所述修正量的乘積為正,則增大本次網絡訓練的所述步長的取值;若當前網絡訓練和 上一次網絡訓練的所述修正量的乘積為負,則減小本次網絡訓練所述步長的取值; 修正模塊,用于基于所述修正量計算模塊計算的修正量修正所述網絡連接權值; 網絡訓練模塊,用于基于所述修正模塊修正后的所述網絡連接權值進行下一次網絡訓 練。7. 根據權利要求6所述的SDN網絡的連接優化系統,其特征在于,所述修正量計算模塊 被設置成:本次網絡訓練的所述步長按照如下公式進行計算獲得: q(k)=Cnp,l〈C彡2;η=1,2, · · · ·; P = sgn[ Δ co(k_l)A co(k)]; 其中,k表示為當前網絡訓練的次數;△ ω (k_l)表示為上一次網絡訓練的所述修正量; A ω(1〇表示為本次網絡訓練的所述修正量。8. 根據權利要求6所述的SDN網絡的連接優化系統,其特征在于, 所述修正量計算模塊,用于在所述計算判斷模塊判斷當前傳輸誤差未達到預設范圍 時,計算隱含層到輸出層的各個網絡節點之間的第一網絡連接權值的第一修正量;和/或, 計算輸入層到隱含層的各個網絡節點之間的第二網絡連接權值的第二修正量; 所述修正模塊,用于基于所述修正量計算模塊計算的所述第一修正量修正所述第一網 絡連接權值,和/或,基于所述修正量計算模塊計算的所述第二修正量修正所述第二網絡連 接權值; 所述網絡訓練模塊,用于基于所述修正模塊修正后的所述第一網絡連接權值和所述第 二網絡連接權值進行下一次網絡訓練。9. 根據權利要求6所述的SDN網絡的連接優化系統,其特征在于,所述修正量計算模塊 被設置成:所述傳輸誤差函數為:其中,expt為輸出層的網絡節點t的理想期望輸出值;q為輸出層的網絡節點的總數; out2t為輸出層的網絡節點t的實際計算輸出值。10. 根據權利要求8所述的SDN網絡的連接優化系統,其特征在于,所述隱含層和所述輸 出層的傳輸函數均為:
【文檔編號】H04L12/751GK106027398SQ201610491095
【公開日】2016年10月12日
【申請日】2016年6月28日
【發明人】殷波, 王志軍, 馮偉斌
【申請人】中國聯合網絡通信集團有限公司