基於深度神經網絡構建風電機組性能模型的超參數選擇

2021-01-08 太陽能雜誌社

隨著計算機計算能力的不斷提高,機器學習這一技術在各個工業領域中逐漸得到應用。與此同時,隨著國內風電平價上網進程的推進,風電場後評估工作在風電行業內不斷受到關注;而風電機組性能評估作為風電場後評估工作中最重要的內容之一,其與機器學習技術的結合自然受到了行業內的廣泛關注[1-2]。

風電機組性能評估依賴於建立風電機組性能模型,即建立風電機組輸出功率與風電機組各關鍵參數( 如風速、槳距角、偏航角等) 之間的函數關係,這屬於典型的非線性回歸問題;在機器學習領域,深度神經網絡是解決該問題的經典手段,因此,利用其構建風電機組性能模型自然得到了行業內研究者的廣泛嘗試。比如,文獻[3]嘗試將神經網絡擬合的風電機組功率曲線與測量的風電機組功率曲線進行對比分析;文獻[4] 驗證了採用卷積神經網絡構建的風電機組齒輪箱故障識別分類器比一般的支持向量機(SVM) 分類器具備更好的性能表現;文獻[5] 提出了基於引力搜索算法優化人工神經網絡的風電機組傳動鏈故障診斷方法;文獻[6] 採用深度神經網絡構建了風電機組齒輪箱狀況檢測框架,以用於故障預警;文獻[7] 利用線性混合自組織映射神經網絡對風力機狀態特徵進行分類,提出了一種特徵變化累積趨勢差分法,用於預測風力機的異常和故障。上述研究的關注點主要在於深度神經網絡在具體場景中的實際應用,所構建的模型大多僅針對研究中所使用的特定風電機組。

綜上,本文嘗試從深度神經網絡本身出發,探討其自身超參數的取值對最終風電機組性能模型的準確度的影響,同時將驗證以上超參數在參考風電機組訓練中得到的最優配置是否可以直接推廣應用於同一風電場同一型號的其他風電機組上。針對以上研究內容,本文首先介紹了深度神經網絡的基本概念及所選取的超參數,並從某實際運行的風電場50 臺2000 kW 風電機組中選取1 臺作為參考風電機組,基於該機組的SCADA數據採用深度神經網絡進行訓練,通過網格搜索(Grid Search) 法得到最優的超參數配置方案,並驗證該配置方案是否為整個風電場的全局最優配置。

1 深度神經網絡的概念及超參數的選取

1.1 深度神經網絡的概念

深度神經網絡(Deep Neural Network,DNN)是具有多個隱含層的人工神經網絡[8],其由3 部分構成,分別為輸入層、隱含層及輸出層。每一層都由一定數量的神經元構成,同時每個神經元都具有1 個自己的激活函數,當其接收到的信號達到激活函數的閾值時,其將被激活,並向下層連接的神經元輸出信號,最終各層的神經元逐一連接在一起構成一個類似生物神經的網狀結構。具有3 個隱含層的深度神經網絡結構示意圖如圖1 所示。其中,Xi 為選定的進入深度神經網絡輸入層參與風電機組性能模型構建的、與風電機組輸出功率相關性較高的SCADA 數據類型,如風速等;Y 為風電機組實際輸出功率。

1.2 超參數的選取

深度神經網絡的結構和特性是通過超參數來決定的,超參數是在深度神經網絡訓練過程開始之前需要設置數值的參數,而不是通過訓練得到的參數數值。通常情況下,需要對超參數進行優化,以尋找到一組最優的超參數,提高訓練效果。深度神經網絡的超參數很多,包括但不局限於:

1) 隱含層的層數;

2) 深度神經網絡的形狀;

3) 每層隱含層神經元的數量;

4) 神經元的激活函數;

5) 損失函數;

6) 優化器的選擇;

7) 隱含層傳遞權重初始化方法。

這些超參數對於深度神經網絡的影響不盡相同,其中有些會影響最終的訓練效果,有些會影響訓練過程的速度和收斂。由於本研究僅針對風電機組性能模型構建中影響深度神經網絡最終訓練效果的超參數,因此基於參考風電機組的訓練過程,選取深度神經網絡隱含層層數、深度神經網絡形狀及隱含層神經元數量這3 個超參數作為主要研究對象,並尋找其最優配置方案[9]。

1.2.1 深度神經網絡隱含層層數

深度神經網絡模型中,輸入層與輸出層之間隱含層的層數決定了模型的複雜程度。一般情況下,隱含層的層數越多,模型的複雜程度就越高,也就越能更好地模擬複雜問題;但相應地,模型訓練所需要的時間也會相應增大,並且可能會伴隨出現「過擬合」的問題。針對本研究中風電機組發電性能的問題,輸入層的神經元數量為7,輸出層的神經元數量為1,屬於機器學習中相對簡單的案例,因此,所採用的隱含層層數不需要過多。

1.2.2 深度神經網絡形狀

當深度神經網絡的隱含層層數確定後,每一層隱含層的神經元數量決定了深度神經網絡的形狀,實際應用中較為常見的形狀為漏鬥型和均衡型。

1.2.3 隱含層神經元數量

本研究中的隱含層神經元數量是指輸入層之後的第一層隱含層的神經元數量。對於漏鬥型深度神經網絡形狀來說,輸入層之後的每一層隱含層的神經元數量與前一層相比,均按一定比例遞減( 本研究中採用0.5 倍遞減);對於均衡型深度神經網絡形狀而言,輸入層之後的每一層隱含層神經元數量均與第一層相同。圖1 所示的即為1個典型的均衡型3 層隱含層深度神經網絡形狀。與深度神經網絡的層數類似,每一層隱含層的神經元數量越多,表明該模型越複雜,增加隱含層神經元數量可以更好地模擬複雜問題,但機器學習的時間成本也相應更高,並且隨著神經元數量的增長,也會出現「過擬合」問題。

2 超參數尋優

本研究選取了某個實際運行的風電場進行方案驗證。該風電場的裝機容量為100 MW,由50 臺2000 kW 風電機組構成,風電機組採用SCADA 系統,共可採集90 種數據類型,採用10 min 時間步長,共記錄了9 個月的數據。

本研究採用基於互信息的關鍵數據提取方法[10],從中選取了7 個與風電機組輸出功率「相關性」較高的數據類型作為深度神經網絡訓練輸入層的入口數據。這7 個數據類型的名稱及對應單位如表1 所示。

首先選取了編號為T1 的風電機組作為參考風電機組進行訓練,然後以訓練後模型預測的風電機組輸出功率PDNN 與SCADA 數據中實際記錄的風電機組輸出功率PSCADA 間的均方誤差MSE 作為損失函數來進行深度神經網絡3 個超參數的尋優。均方誤差MSE 的計算公式為:

針對深度神經網絡隱含層層數、深度神經網絡形狀及隱含層神經元數量這3 個超參數,本研究設置的可選配置如表2 所示。

對於前文提到的其他超參數,本研究中則採用了機器學習領域中的經典配置,具體的配置方案如表3 所示。

本研究通過Grid Search 的方法對超參數進行尋優,即將3 個超參數所有配置排列組合後的全部方案均進行模型訓練,最終選取結果最優的方案。每個不同超參數組合配置的訓練採用2000 批次(epoch),每批次300 批大小(batchsize),最終參考風電機組T1 在不同超參數配置下的風電機組性能模型訓練效果如表4 所示。

從表4 的訓練結果可以看出,在參考風電機組T1 上,最優的超參數配置為:隱含層層數取5、深度神經網絡形狀為漏鬥型、隱含層神經元數量為64;該配置下達到的測試數據集誤差為6.95kW,相對於風電機組的額定功率2000 kW 而言,該值所佔比例僅為0.35%。而表現最差的配置方案為:隱含層層數取4、深度神經網絡形狀為均衡型、隱含層神經元數量為256;該配置下達到的測試數據集誤差為16.77 kW,相對於風電機組的額定功率2000 kW 而言,該值所佔比例為0.84%。由此可以得到以下結論:

1) 在不同的超參數配置方案下,通過深度神經網絡訓練得到的各個風電機組性能模型應用於參考風電機組後的預測準確度之間存在一定差異。

2) 從工業角度來看,在不同的超參數配置方案下,深度神經網絡訓練得到的風電機組性能模型應用於參考風電機組後的準確度誤差基本可以忽略不計。因此,若只是針對參考風電機組進行模型構建,可以直接將超參數選擇為訓練速度最快的配置方案,即隱含層層數最少、神經元數量最小。

下文對表2、表3 中的超參數設置在參考風電機組上的最優配置與同一風電場中同一型號其他所有風電機組上的最優配置間的相對關係進行探討。理想情況下希望實現以下2點假設:

1) 參考風電機組的最優配置同時也是同一風電場中同一型號其他風電機組的最優配置;

2) 基於參考風電機組得到的性能模型,應用於同一風電場同一型號其他所有風電機組上時準確度也能滿足需求。假設1) 和假設2) 若能同時被驗證成功,則說明同一個風電場中同一型號風電機組的最優超參數的配置及基於參考風電機組得到的性能模型具有推廣性。這也意味著在實際應用中,不需要針對每颱風電機組單獨進行訓練,只需要選擇1臺參考風電機組進行訓練,再推廣到整個風電場即可,從而可大幅節省時間,更能滿足工業領域的需求。

為了進行以上2 個假設的驗證,本研究將參考風電機組T1 訓練得到的不同超參數配置下的深度神經網絡模型分別在風電機組T2~T50 上進行復用,以在風電機組T2~T50 上模型的預測輸出功率與實際輸出功率的均方誤差的平均值作為評價標準,結果如表5 所示。

通過分析T2~T50 這49 颱風電機組應用參考風電機組T1 經深度神經網絡訓練得到的模型後的最終結果可以發現:

1) 在參考風電機組T1 上驗證的最優超參數配置方案,在T2~T50 風電機組上的表現並非最優。

2) 在T2~T50 風電機組上表現最優的超參數配置方案( 隱含層層數為4、深度神經網絡形狀為均衡型、隱含層神經元數量為64),在參考風電機組T1 上的表現也較好。

3) 基於不同超參數配置的深度神經網絡訓練得到的模型,訓練結果在風電機組T2~T50 上的表現總體較好,各模型的平均的均方誤差平均值為27.32 kW,最優的均方誤差平均值為12.59kW,最不理想的均方誤差平均值為115.21 kW,相對於風電機組的額定功率2000 kW 而言,均方誤差平均值佔比分別為1.37%、0.63% 和5.76%。綜上所述,雖然前文中的假設並未完全得到驗證,但由於基於參考風電機組得到的性能排名靠前的超參數配置方案應用於本風電場中同一型號其他風電機組時,雖然性能不是最優但基本也較為靠前,同時準確度也在可接受範圍內,因此,在工業應用中基本可以認為該方式具備推廣性。即實際應用中,出於時間成本考慮,可以將基於參考風電機組得到的超參數配置方案及模型直接應用於本風電場中同型號的其他風電機組。

3 結論與建議

本文以某實際運行風電場的50 臺2000 kW風電機組的SCADA 數據為基礎,對採用深度神經網絡技術建立風電機組性能模型時的隱含層層數、深度神經網絡形狀及隱含層神經元數量這3個超參數的取值對於該模型構建效果的影響進行了分析。通過Grid Search 方法在參考風電機組上發現這3 個超參數配置不同時建立的模型的最終性能存在一定差異,但從工業應用角度考慮,差異基本可以忽略不計。同時分析還發現,參考風電機組採用最優超參數配置方案時訓練得到的模型應用於同一風電場中同一型號的其他風電機組時得到的並非最佳方案,但由於其在同一風電場中同一型號的其他風電機組上的預測準確度在所有配置方案中仍然較優,因此出於時間成本考慮,在工業應用中可以認為同一風電場中同型號的風電機組間可以應用此方案,採用深度神經網絡在參考風電機組上得到的最優模型具備推廣性。

基於本研究的方法與結論,在未來工作中可以進一步針對不同型號的風電機組或不同風電場的風電機組進行超參數配置方案的尋優及推廣性驗證。若基於參考風電機組訓練得到的風電機組性能模型在不同機型乃至不同風電場間可以直接推廣復用,則可進一步為機器學習技術在風電行業後評估工作中的應用確立更為普遍的事實依據。

相關焦點

  • 基於深度神經網絡的脫硫系統預測模型及應用
    本文還結合某 2×350MW 燃煤電廠提供的實際工數據,以石灰石供漿密度對系統脫硫性能的影響為例,詳細介紹了利用所建立的深度神經網絡模型測試溼法脫硫系統各參數指標對脫硫效果的影響,並結合化學機理和工業實際進行的診斷過程。
  • 什麼時候以及為什麼基於樹的模型可以超過神經網絡模型?
    另一方面,基於樹的方法並沒有被同樣的敬畏和炒作,主要是因為它們看起來很簡單。雖然它們看起來如此不同,但它們只是一枚硬幣的兩面。基於樹的方法通常比神經網絡更好。任何Kaggler都知道XGBoost是到目前為止最受歡迎的最佳競賽提交選擇。
  • 基於ARIMA與Elman神經網絡的風速組合預測模型
    為提高風速數據中非線性部分的預測精度,本文提出了一種基於ARIMA和改進Elman神經網絡組合模型對某地區風速進行預測的新方法。ARIMA模型用於描述歷史數據的線性關係,改進的神經網絡模擬數據的非線性規律。本文採用2009年9月的720個風速數據建立組合預測模型,並利用該模型預測10月1日到6日內144個風速,取得了比較滿意的預測效果。
  • 機器學習模型的超參數優化
    引言模型優化是機器學習算法實現中最困難的挑戰之一。機器學習和深度學習理論的所有分支都致力於模型的優化。機器學習中的超參數優化旨在尋找使得機器學習算法在驗證數據集上表現性能最佳的超參數。超參數與一般模型參數不同,超參數是在訓練前提前設置的。
  • Keras入門系列教程:兩分鐘構建你的第一個神經網絡模型
    引言Keras是一個用於構建和訓練深度學習模型的高級API, 後端計算主要使用TensorFlow或者Theano, 由於Theano已停止開發新功能轉入維護階段, 而且目前最新版的TensorFlow已經包含了Keras模塊, 所以本教程採用基於TensorFlow的Keras進行講解, TensorFlow版本1.4.1。
  • 面向深度學習的五大神經網絡模型及其應用
    神經網絡可以適應不斷變化的輸入,生成最佳結果,無需重新設計輸出標準。在某種程度上,這些神經網絡類似生物神經元的系統。深度學習是機器學習的重要組成部分,深度學習算法基於神經網絡。有幾種功能不同的神經網絡架構,最適合特定的應用場景。本文介紹一些最知名的架構,尤其是深度學習方面的架構。多層感知器多層感知器(MLP)是一類前饋人工神經網絡。感知器這個術語具體是指單個神經元模型,它是大型神經網絡的前體。
  • 代碼詳解:一文掌握神經網絡超參數調優
    Beale功能Beale功能如下圖所示:Beale功能是測試功能的原因在於,它能在坡度極小的平坦區域內評估調優算法的性能。在這種情況下,基於坡度的優化算法程序難以有效地學習,因此很難達到最小值。本文接下來將按照GitHub庫裡的Jupyter筆記本教程開展討論,以得出解決人造景觀的可行方式。該景觀類似於神經網絡的損失平面。
  • 如何構建深度學習模型?
    ,它是機器學習的一個子領域,基於人工神經網絡的概念來執行特定任務。然而在理論上,人工神經網絡與人類大腦的運作方式並不相同,甚至都不相似!它們之所以被命名為人工神經網絡,是因為它們可以完成確切的任務,同時達到理想的精確度,而無需使用任何特定規則進行明確編程。幾十年前AI失敗的主要原因是缺乏數據和計算能力。經過數年時間,這一情況已顯著改善。
  • 使用KerasTuner和Hiplot進行神經網絡超參數調整
    本文不僅向您展示如何調整神經網絡的超參數,還將通過FAIR的Hiplot直觀地查看調整過程/訓練過程。神經網絡訓練歷史可視化導入Python依賴準備數據我們將使用Fashion MNIST機器學習數據集定義我們的神經網絡模型我們將構建一個簡單的模型,其中包含幾個卷積層,最大池化層,dropout和dropout層我們可以編譯我們的模型並列印它的摘要model.compile(optimizer
  • 自動化構建移動端神經網絡的技術研究
    自AlexNet以巨大的優勢在ImageNet圖像識別比賽中奪冠後,深度學習在視覺、語音、自然語言處理等方面取得了飛速的進展和巨大的成功。深度學習發展主要依賴於算力的提升和算法的進步。算力的提升主要在於GPU、TPU等硬體的應用與發展;而算法的進步多種多樣,例如優化方法的改進、激活函數的選擇等。
  • 人工智慧模型是這樣構建的!探秘DL4J分布式訓練法!
    近年來深度學習在AI領域表現尤為突出,在這裡我們可以簡單的把AI理解為深度學習。深度學習由深層神經網絡算法構成,大量的神經元輸入通過不斷的迭代更新參數完成模型定型。深度學習的計算強度較高,對於規模非常大的數據集而言,速度很重要。主流的深度學習框架有TensorFlow、Caffe、Keras、Theano等,它們大多在單節點伺服器通過GPU加速完成模型訓練。
  • 深度學習之卷積神經網絡經典模型
    如今在計算機視覺領域,卷積神經網絡的良好效果深得廣大開發者的喜歡,並且上文提到的AlexNet模型擁有更好的效果,所以廣大從業者學習者試圖將其改進以獲得更好地效果。而後來很多人經過驗證認為,AlexNet模型中所謂的局部歸一化響應浪費了計算資源,但是對性能卻沒有很大的提升。VGG的實質是AlexNet結構的增強版,它側重強調卷積神經網絡設計中的深度。
  • 深度學習入門指南!六步構建深度神經網絡
    對於各種行業的應用,NVIDIA都基於GPU提供了非常多的工具,比如對於深度神經網絡,我們提供了專門的cuDNN加速函數庫,大家可以用它實現更高效的Caffe或者是其他Framework。跟cuDNN深度神經網絡對應的,有TensorRT,在上圖的右下角,TensorRT是NVIDIA實現推斷用的小工具。
  • 還為構建神經網絡發愁?谷歌大腦的自動架構搜索簡直如虎添翼 |...
    在Penn Treebank數據集的語言模型中,神經架構搜索設計出的模型比先前RNN和LSTM架構更好,困惑度(perplexity)為62.4,比目前最好的人工方法提高了3.6.使用循環神經網絡生成模型描述使用控制器生成神經網絡架構的超參數,為了靈活性,控制器選擇為循環神經網絡。
  • 深度學習乾貨|基於Tensorflow深度神經網絡(DNN)詳解
    如果文章感興趣,歡迎點擊上方「關注」深度神經網絡(Deep Neural Networks,簡稱DNN)是深度學習的基礎,想要學好深度學習,首先我們要理解DNN模型。DNN的基本結構神經網絡是基於感知機的擴展,而DNN可以理解為有很多隱藏層的神經網絡。多層神經網絡和深度神經網絡DNN其實也基本一樣,DNN也叫做多層感知機(MLP)。DNN按不同層的位置劃分,神經網絡層可以分為三類,輸入層,隱藏層和輸出層,如下圖示例,一般來說第一層是輸入層,最後一層是輸出層,而中間的層數都是隱藏層。
  • 深度| 清華大學自動化系張長水教授:神經網絡模型的結構優化
    今天我和大家分享的主題是「神經網絡模型的結構優化」。我大概會講這麼幾點:研究背景子模函數和超模函數神經網絡結構的優化實驗部分Part 1: 研究背景當前,深度神經網絡模型的出現給我們帶成了很大的影響,這個影響大部分都是積極正面的,但是同時也存在一些不同看法。
  • 從經典結構到改進方法,神經網絡語言模型綜述
    經典的神經網絡語言模型FFNN 語言模型Xu 和 Rudnicky 等人於 2000 年試圖將神經網絡(NN)引入到語言模型(LM)中。儘管他們的模型性能比基線 N 元模型語言模型要好,但是由於沒有隱藏層,他們模型的泛化能力較差,無法捕獲上下文相關特徵。
  • 多倫多大學在讀博士朱子寧:如何利用語言探針檢測深度神經模型性能...
    語言模型編碼在神經模型中的評估越來越受到科研人員的關注。語言探針(linguistic probe)是最近比較流行的一種可以探測深度神經模型裡面編碼了哪些特徵的「診斷性分類器」算法,分類器效果的好壞直接體現深度模型包含信息的好壞,也就是模型性能的好壞。「探針」的選擇是對模型性能的解釋,因此如何選擇「探針」成為了一個難點。
  • 擴展圖神經網絡:暴力堆疊模型深度並不可取
    :圖神經網絡很難被擴展到 Twitter 的用戶關注關係圖這類大型圖上。1圖神經網絡介紹圖神經網絡(GNN)是一類近年來逐漸興起的機器學習模型,它被用於學習圖結構的數據。首先,在很多情況下,簡單的固定的信息聚合器(例如 GCN)比一些更加複雜的信息聚合器(例如,GAT 和 MPNN)性能更好。此外,儘管深度學習的成功是建立在擁有多層的模型之上的,但是在圖深度學習領域中,「模型是否需要很深」仍然是一個有待解決的開放性問題。
  • 谷歌開源大規模神經網絡模型高效訓練庫 GPipe
    GPipe,這是一款分布式機器學習庫,可以讓研究員在不調整超參數的情況下,部署更多的加速器以對大規模模型進行訓練,有效擴展了模型性能。雷鋒網 AI 科技評論對此進行編譯如下。深度神經網絡(DNNs)推進諸多機器學習任務的進步,其中包括語音識別、視覺識別和語言處理等。BigGan、Bert 、GPT2.0 等最新成果表明,DNN 的模型越大,任務處理的表現就越好,而該結論也在過去的視覺識別任務中得到了驗證,表明模型大小與分類準確性之間存在很強的關聯性。