王前進 楊春雨 馬小平 張春富 彭思敏
主通風機切換過程(Main fan switchover process,MFSP)被廣泛用來保證礦井的持續安全生產[1].礦井必須配有成對的主通風機,采用輪流運行的工作模式.其中,運行的一臺叫工作主通風機,另一臺叫備用主通風機.井下供給風量作為主通風機切換過程的關鍵運行指標,對井下作業影響很大,因此有必要對其進行實時監測,保證主通風機切換過程的平穩運行以提供充足的井下供給風量.然而,由于惡劣的井下工作環境,取壓孔容易出現堵塞現象,導致無法實時準確地監測井下供給風量狀態.另外,堵塞的取壓孔必須等到大周期(一般半年或一年一次) 的主通風機檢修才能進行取壓孔的清理.因此有必要建立井下供給風量的準確可靠性模型,為礦井值守人員提供井下工作狀況和供給風量信息.
目前井下供給風量模型主要分為兩大類:機理模型和數據驅動模型.主通風機切換過程涉及到兩大動力源的過渡,涉及到 4 個風門的切換,涉及到井下供給風流的控制等.因此,井下供給風量機理模型包括:主通風機模型可用其特性曲線來表示[2];對于風門支路,首先通過數據擬合方法建立風門風阻與風門開度之間的非線性關系,再采用定常[3-4]或非定常[5-6]不可壓縮Navier-Stokes 方程來建模;對于地下礦井,由于復雜多變的井下工作環境和錯綜復雜的網絡布局以及頻繁變化的設備狀態,難以建立模型.通常首先將其近似為一個長度確定的風流支路,再采用類似于風門支路的建模方法來建模.井下供給風量模型是由上述主要結構的子模型組成,通過基爾霍夫風壓和風流定律來建立.然而,由于機理模型一般是基于一定的理論假設而建立的,如地下礦井的近似化處理,實際主通風機切換過程要遠遠復雜于機理模型,因此機理模型在實際主通風機切換過程中往往難以應用.數據驅動的井下供給風量建模方法,不需要掌握切換過程的復雜變化,僅利用數據就可以建立井下供給風量的估計模型,因此數據驅動井下供給風量建模是目前主通風機切換過程建模研究的熱點.如,文獻[7]利用靜態工況下的井下供給風量和風門分支風門風阻的數據,建立了基于RBF 神經網絡的井下供給風量模型.
近年,由于具有極快的學習速度,且能有效地解決傳統神經網絡收斂速度慢、易陷入局部極小的問題,增量式隨機權網絡(Incremental random weight network,IRWN)已被廣泛用于復雜工業過程的建模[8-10].IRWN 本質上是一種采用構造算法得到的單隱層前饋神經網絡(Single layer feedforward neural network,SLFNN),比傳統神經網絡具有更簡單的結構和更高的計算效率[11].針對IRWN 收斂性問題,文獻[12]通過對一類IRWN 進行理論分析和仿真研究,得出一個結論:IRWN 的萬能逼近能力只有在一定的約束條件下才能得到保證.因此,尋找保證IRWN 收斂性的約束條件是建立IRWN 的關鍵.如,文獻[13]提出了一種基于不等式約束條件的隨機配置網絡(Stochastic configuration network,SCN),其不僅具有萬能逼近能力,而且具有較快的學習速度.與標準IRWN 相比,SCN 算法具有較快的學習速度和較高的模型精度,但是SCN 算法依然存在如下的問題:
問題.隨著隱含層節點數目的增加,SCN 算法可能存在過擬合和泛化性能差的問題.由于隱含層節點的增加,使得模型學習時結構較復雜,致使模型對已知訓練數據表現較好,而對未知數據具有較差的測試效果,造成過擬合的問題.由于過擬合的存在,使得模型魯棒性不足、泛化能力差,難以實際應用.
另外,PLC 控制系統已廣泛應用于主通風機切換過程[14].由于受PLC 存儲空間、運行效率等的限制,需要建立一個先進的小尺寸網絡來減輕計算和存儲壓力.因此有必要建立高質量、小尺寸的井下供給風量估計模型.
針對上述問題,在SCN 算法的基礎上,結合正則化(Regularization,R)技術,本文提出一種新型的改進SCN 算法,即RSC 算法.該算法包含兩個版本:RSC-I 和RSC-II.兩個版本的算法在相同的不等式約束條件下隨機分配隱性參數,但采用不同的方式計算輸出權重.RSC-I 算法通過求解局部正則化最小二乘問題來確定輸出權重,而RSC-II 算法采用全局正則化最小二乘法計算輸出權重.基準回歸分析和工業實驗表明:相比SCN 算法,本文方法不僅具有較高的建模精度和較好的泛化能力,而且還減輕了PLC 存儲和計算的壓力.
主通風機切換過程如圖1 所示,由兩大動力源的過渡、4 個風門的切換2 部分組成.假設當前工作主通風機為一號主通風機,備用主通風機為二號主通風機,那么一號主通風機、完全關閉的一號水平風門與二號垂直風門、完全打開的一號垂直風門和地下礦井共同構成一個典型的礦井通風系統.主通風機切換過程就是切斷一號主通風機與地下礦井的連接,同時建立二號主通風機與地下礦井的連接.礦井通常采用的主通風機切換過程可描述如下:首先,啟動二號主通風機,再打開二號垂直風門和一號水平風門;同時,關閉二號水平風門和一號垂直風門;最后,直到4 個風門完全到位后,才關閉一號主通風機.
圖1 主通風機切換過程示意圖Fig.1 Diagram of a main fan switchover process
主通風機切換時,井下供給風量是由兩臺主通風機共同提供的,同時又受井下工作環境的影響,對實現主通風機切換過程閉環優化控制起著重要作用.井下供給風量不僅是表征能耗水平和運行狀況的重要指標,而且決定地下礦井工作環境質量、采煤效率和礦井安全生產.目前,國內外對主通風機切換過程閉環控制和運行優化的研究較少[15-17],并且這些研究成果嚴重依賴井下供給風量的實時測量.但是在實際應用中,由于井下供給風流含有成分復雜的氣、液、固三相混合雜質,致使取壓孔容易發生堵塞,造成風量測量裝置的測量效果不理想.因此,對井下供給風量進行有效估計,不僅能為礦井值守人員提供信息來判斷主通風機切換過程運行狀態和井下工作狀況,而且有益于實現井下供給風量的控制和運行優化.
主通風機切換過程是一個極其復雜的過程.其中,包含氣、液、固三相混合雜質的井下供給風流耦合交錯,同時井下工作環境極其惡劣;地下礦井局部通風機的啟停和井下控制氣流的風門狀態以及作業人員的變動,運行工況不穩定;各類采礦活動(回采工作面、電池和燃料充電站、礦石破碎站等)中,污染物產生的速度及其質量的變化,運行工況動態時變.這些導致了難以建立準確可靠的主通風機切換過程模型.
表1 列出了主通風機切換過程的相關變量.從圖1 可知,影響井下供給風量指標的關鍵過程變量為:H1d、H2d、R1c、R1s、R2c、R2s、R0.下面對上述7 個變量進行具體地分析.
表1 主通風機切換過程相關變量Table 1 Related variables in the MFSP
1)一號主通風機壓頭H1d和二號主通風機壓頭H2d對井下供給風量Q0的影響
對于主通風機,在額定轉速下,其風壓Hf可描述為主通風機風量Qf的函數.根據該主通風機特性曲線[18],一般將這個函數描述為如下二次多項式:
式中,a0,a1和a2為待定常數,根據風機特性曲線進行確定.
根據風機定律[19],轉速N所對應的主通風機風壓H可以寫成:
式中,Nf為額定轉速,Q為轉速N所對應的主通風機風量.
從式(2)可知,當轉速已知時,通過主通風機風壓可以得到對應的主通風機風量.因此,對于轉速可測的兩臺主通風機,可得:
式中,f1(·) 和f2(·) 為確定的非線性函數.
根據基爾霍夫風流定律[20],從圖1 可得:
由式(3),(4)和式(5)可知,H1d的變化會引起Q1c的變化;同時當H2d發生變化時,Q2c也將隨之發生改變.另外,由式(6)可知,Q0是由Q1c和Q2c共同決定的.因此,H1d和H2d對井下供給風量Q0產生重要影響.
2) 風門支路風門風阻R1c,R1s,R2c和R2s對井下供給風量Q0的影響
由Darcy-Weisbach 方程可知,風道壓降與通過風道的風量之間的函數關系是非線性的[2].根據文獻[21-22],可將這個函數關系寫成:
式中,Hic和His分別為主通風機垂直風門和水平風門壓降,i為主通風機.
由于Hic和His可看作i號主通風機的負載,因此它們是由Hid提供的.另外,由式(7)可知,風量和風阻之間呈現非線性關系.那么上式可寫成:
式中,η(·) 為非線性函數.
由式(4),(5)和式(8)可知,風門風阻R1s,R1c,R2c和R2s是影響風量Q1s,Q1c,Q2c和Q2s的重要因素.再結合式(6)可知,上述風阻是影響井下供給風量Q0的關鍵過程變量.
3)井下風阻R0對井下供給風量Q0的影響
對于地下礦井,壓降H0與風阻R0之間呈現出明顯的非線性特征.用公式描述為:
H0可視為兩臺主通風機的負載,其數值由H1d和H2d共同決定.主通風機切換過程中,R0是不需要進行調節的,但會受到一些因素的影響.例如,井下工作人員的變動,井下控制氣流的風門狀態,井下作業狀況等.上述這些因素都會引起R0的變化.根據式(9) 可知,R0的變化會引起井下供給風量Q0的改變.
綜上所述,將主通風機壓頭H1d和H2d、風門風阻R1s,R1c,R2c和R2s、井下風阻R0作為建模輸入變量,就可以實現井下供給風量Q0的估計.這個非線性映射可描述為:
式中,φ(·) 為未知的非線性函數.
SCN 開始于一個小尺寸的SLFNN,首先在一個不等式約束條件下,逐個選取隱含層節點,同時自適應地選擇隱性參數的范圍;然后,利用全局最小二乘法確定當前網絡的輸出權重;最后,直到達到設定的最大隱含層節點數目或期望的網絡精度時結束隱含層節點的增加.
令 Γ :={g1,g2,g3,···} 表示一組實值函數,span(Γ)表示 Γ 張成的函數空間;令L2(D) 表示定義在D?Rd上 的所有勒貝格可測函數f=[f1,f2,···,fm]:Rd→Rm的空間.
給定一個目標函數f:Rd→Rm,假設存在一個建立好的帶有L-1 個隱含層節點的SLFNN,那么SLFNN 的輸出可表示為:
式中,L=1,2,···,wj和bj分別為第j個隱含層節點的輸入權值和偏置,βj=[βj1,βj2,···,βjm]T為連接第j個隱含層節點與輸出層節點的輸出權值,gj為第j個隱含層節點的激活函數.
根據式(11),可以得到當前網絡殘差eL-1:
SCN 算法構造一個不等式約束條件來增加第L個隱含層節點,其不等式約束的形式如下:
式中,?g∈Γ,bg∈R+,使得0<||g||<bg成立,δL的形式為:
式中,0<r<1,uL滿足 l imL→+∞uL=0 和0<uL≤(1-r).
SCN 中表現最好的SCN-III 算法采用全局最小二乘法來計算輸出權重:
SCN 中表現最好的SCN-III 算法采用上述方式進行隱含層節點的逐個增加,直到滿足設定的條件.
與標準隨機權神經網絡(Random vector functional-link networks,RVFLNs) 相比,正則化RVFLNs 不僅能有效避免過擬合問題,而且能通過減小輸出權重來降低模型復雜性.
式中,?i為網絡殘差,C為正則化系數.通過正則化最小二乘法直接計算輸出權重β,具體結果如下:
式中,H=[g1,g2,···,gL],Y=[t1,t2,···,tN]T.
給定神經網絡訓練樣本 (x,t),其中,x={x1,x2,···,xN},xi=[xi,1,xi,2,···,xi,d]T∈Rd,t={t1,t2,···,tN},ti=[ti,1,ti,2,···,ti,m]T∈Rm,假設已經搭建一個帶有L-1 個隱含層節點的SLFNN,那么可以得到當前網絡的輸出權重:
接下來,需要構造一個方案來分配隱性參數,并計算輸出權重βL,使得建立的帶有L個隱含層節點的SLFNN 具有更高的模型精度.因此,引入如下目標代價函數:
將式(19) 兩邊同時對βL求導,再結合eL=eL-1-βLgL,可得:
注 1.從式(19)可知,正則化系數C起到平衡的作用,在保證模型精度的同時,降低了復雜度,因此需要對其進行適當選擇.本文通過簡單的一維搜索程序來確定合適的正則化系數C.從定理 1 可知,對于給定合適的C,RSC 算法不僅保留了SCN 算法收斂速度快的優點,而且能有效地克服過擬合問題.
注 2.從式(38)可知,正則化系數C控制和之間的平衡.另外,不等式約束(37)的作用是增大網絡殘差函數的下降量,從而加快算法的收斂速度.因此,定理2 所對應的RSC 算法不僅能有效抑制過擬合現象,而且具有較快的收斂速度.
定理 1 和定理2 分別對應本文提出的RSC 算法的兩個版本,即RSC-I 算法和RSC-II 算法.由于RSC-II 算法比RSC-I 算法具有更快的收斂速度,因此本文著重給出RSC-II 算法的實現步驟.
式中,hL(x) 為第L個隱含層節點輸出.那么當前網絡的隱含層輸出矩陣可寫為HL=[h1,h2,···,hL].
為簡單起見,引入一組變量ξL,q,q=1,2,···,m.其表達式如下:
RSC-II 算法流程:
給定神經網絡的訓練樣本 (x,t),其中,x={x1,x2,···,xN},xi∈Rd,t={t1,t2,···,tN},ti∈Rm;最大隱含層節點數為Lmax,期望精度為?,隨機配置的最大次數為Tmax; 選擇一組正的標量Υ={λmin:Δλ:λmax}.
步驟 1.神經網絡的初始化階段:令e0:=[t1,t2,···,tN]T,給定C>0,一個充分小的正實數ε給定 1-ε<r<1,兩個空集:Ω andW;
步驟 2.神經網絡的訓練階段:隨機參數配置和輸出權重計算.
當L≤Lmax和||e0||F >?時,
隨機參數配置:
為驗證所提RSC-II 算法的有效性,與SCNIII[13]算法進行比較分析.為保證實驗結果的可靠性,選擇一個函數近似、四個基準數據集和一組主通風機切換過程數據作為仿真對象.所有仿真實驗在MATLAB 2016a 中進行,使用CPU 為i5,3.4 GHz,內存為8 GB RAM 的PC 機.選擇Sigmoid 函數g(x)=1/(1+exp(-x))作為兩種算法隱含層節點的激活函數.將神經網絡的輸入輸出數據歸一化到區間[0,1].
在一定的噪聲水平下對兩種算法進行評價.選擇均方根誤差(Root mean square error,RMSE)作為評價算法泛化能力的指標.每組進行20 次試驗,選擇20 次試驗的平均值(Mean) 和標準差(Standard deviation,STD)作為最終結果.隨機參數的最大配置次數為Lmax=200,網絡精度取值為?=0.01.其他相關參數的設定將在具體的仿真實驗中給出.
考慮一個函數近似[23]問題:
式中,x∈[0,1].
由rand(0,1)隨機產生1 000 個數據作為訓練樣本,由linspace(0,1,300)等間隔生成300 個數據組成測試樣本.為驗證所提RSC-II 算法能有效克服過擬合問題,需要對訓練數據進行預處理,即在訓練樣本中添加一定比例的異常值.訓練樣本中異常值的比例為 5 %,其形式為:
式中,yi∈[0,1] 為歸一化訓練樣本的第i個輸出,i從 [1,2,···,N] 中隨機選取,r and(0,1) 為 (0,1) 之間的隨機數.
由式 (37) 和式(38)可知,正則化系數C嚴重影響算法的學習精度,C的選擇可以提高精度,也可以降低精度.為顯示C對網絡性能的影響,針對不同的C,對RSC-II 算法進行仿真.C在集合{2-20,2-19,···,20,···,219,220}中依次取值,一共有41個數值.同時設定λmin=100,Δλ=1,Lmax=50.從圖2 可以看出,C越小,RSC-II 算法的訓練能力越差,對測試能力亦是如此.當C大于20時,與SCN-III 算法相比,RSC-II 算法顯示出更好的測試性能.另外,對于一個合適的正則化系數C,在相同的訓練精度下,RSC-II 算法比SCN-III 算法具有更高的測試精度.因此,在建立網絡時,需要確定合適的系數C.那么在下面的仿真實驗中,RSC-II 算法使用合適的正則化系數C.
圖2 不同 C 下RSC-II 和SCN-III 算法對函數近似的訓練與測試精度結果對比Fig.2 The result comparison of training and testing accuracy of RSC-II and SCN-III on function approximation with varying C
圖3 (a)為包含 5 % 異常值的1 000 個訓練樣本,圖3 (b)為兩種算法對測試數據集的測試性能.可以看出,相比于SCN-III 算法,RSC-II 算法具有更好的擬合能力.從圖4 可知,RSC-II 算法總是獲得比SCN-III 算法更低的測試RMSE.隨著隱含層節點數目的增加,RSC-II 的泛化能力得到提高或者基本保持不變,而SCN-III 的性能變差.這是因為SCN-III 算法始終存在過擬合問題,并且隨著隱含層節點的增加,過擬合問題更加嚴重.RSC-II 算法通過引入正則化系數用于平衡近似精度和模型復雜度,可有效避免過擬合問題.表2 給出了兩種算法的具體實驗結果.
表2 函數近似的性能比較Table 2 Performance comparisons on the function approximation
圖3 (a)包含5 %異常值的1 000 個函數近似訓練樣本和目標函數;(b)兩種算法對測試數據的近似性能Fig.3 (a) 1 000 training samples containing 5 % outliers for function approximation and target function;(b) Approximation performance on the test dataset by two learning algorithms
圖4 平均兩種算法在測試數據集上的測試RMSEFig.4 Average testing RMSE of the two algorithms on the test dataset
為進一步驗證所提RSC-II 算法的有效性,選取UCI 數據庫[24]中的四個數據集進行實驗.相關數據集的信息和參數設置如表3 所示.采用類似于函數近似問題中的策略進行訓練數據預處理.首先,從歸一化訓練數據中隨機選取 5 % 的樣本;然后,通過式 (47) 對選中的數據進行預處理.
表3 回歸數據集與參數設置Table 3 Specifications of benchmark problems and some parameter settings
從圖5 可以看出,隨著隱含層節點數的增加,SCN-III 算法的測試集RMSE 呈現明顯上升趨勢,而RSC-II 算法的測試集RMSE 趨于平穩,因此SCN-III 算法出現過擬合現象,而RSC-II 算法未出現過擬合問題.這是因為隨著隱含層節點數的增加,神經網絡結構變得過于復雜,使得SCN-III 算法出現過擬合問題,對測試數據表現較差.由于RSCIII 算法引入的正則化系數C起到了平衡模型復雜度與擬合精度的作用,避免了過擬合問題,對測試數據具有較好的測試效果.兩種算法的具體實驗結果如表4 所示,其中,(a)、(b)、(c)、(d)分別為Wine Quality、Concrete、Yacht、Airfoil Self-noise 數據集.
表4 對基準數據集的性能對比Table 4 Performance comparisons on benchmark datasets
圖5 不同 Lmax 下RSC-II 和SCN-III 算法對基準數據集的測試RMSE 對比Fig.5 Test RMSE comparison of the RSC-II and SCN-III algorithms on four benchmark datasets with differentLmax
前面兩個小節的實驗仿真驗證了所提RSC-II算法的有效性,本小節將其在實際主通風機切換過程進行井下供給風量估計.在實際工業現場采集1 500 個樣本作為建模的輸入輸出數據,其中選擇1 400 個樣本作為訓練數據,其余100 個樣本作為測試數據.采用前面兩個小節中類似的方式對訓練數據進行預處理,λmin值設定為1,Δλ也取值為1.
從圖6 可以看出,RSC-II 算法的泛化能力始終優于SCN-III 算法的泛化能力.當隱含層節點數為50 時,兩種算法的性能比較相近.隨著隱含層節點數的增加,RSC-II 算法測試集的RMSE 始終保持在較低的水平,而SCN-III 算法測試集的RMSE 上升趨勢明顯.因此,相對于RSC-II 算法,SCN-III算法出現了較為明顯的過擬合現象.其原因在于當神經網絡結構變得尤為復雜時,SCN-III 缺乏應對的能力,從而導致泛化能力差、魯棒性不足的問題.引入了正則化系數C的RSC-II 算法對模型精度和復雜度進行折中,在保證精度的同時,降低了模型復雜度.表5 列出了兩種算法實現的具體實驗結果.
表5 在實際MFSP 數據集上的性能對比Table 5 Performance comparisons on the actual MFSP dataset
圖6 平均兩種算法在實際MFSP 數據集上的測試RMSEFig.6 Average testing RMSE of the two algorithms on the actual MFSP dataset
圖7 給出了在Lmax=50 時兩種算法的測試性能.可以看出,相比于SCN-III 算法,RSC-II 算法的估計值能很好地擬合實際值,模型精度較高.綜上,采用RSC-II 方法建立的井下供給風量估計模型可以以很高的精度對建模數據進行擬合,尤其是可以避免過擬合問題.另外,隨著主通風機切換過程樣本數據的增多,需要適當地增加隱含層節點數.結果表明,基于RSC-II 的建模算法在隱含層節點數為170 時仍表現出良好的泛化性能和預測精度.因此,本文所提方法能夠用于主通風機切換過程實現井下供給風量的建模.
圖7 Lmax=50 所對應的MFSP 數據集的測試性能:(a) SCN-III;(b) RSC-IIFig.7 Test performance at Lmax=50 on the actual MFSP dataset:(a) SCN-III;(b) RSC-II
針對SCN 算法建模時存在過擬合和泛化能力差的問題,本文結合正則化技術,提出一種新型的RSC 算法,用于建立主通風機切換過程井下供給風量的估計模型.與SCN 算法相比,建立的RSC-II模型不僅具有更高的模型精度,而且具有更好的泛化能力.尤為重要的是RSC-II 算法可以有效避免SCN 算法存在的過擬合問題.同時,RSC-II 算法具有與SCN 算法相同的小尺寸特性.因此,基于所提算法建立的模型具有尺寸小、魯棒性強、泛化性能好的優點,能夠應用到實際主通風機切換過程進行井下供給風量估計.