馮國富 盧勝濤 陳明 王耀輝
摘要: ?為精確預(yù)測水產(chǎn)養(yǎng)殖水體溶解氧含量,本研究提出一種基于自注意力機(jī)制(ATTN)和改進(jìn)的K-means聚類-基于殘差和批標(biāo)準(zhǔn)化(BN)的雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)的水產(chǎn)養(yǎng)殖水體溶解氧含量預(yù)測模型。首先,根據(jù)環(huán)境數(shù)據(jù)的相似性,使用改進(jìn)的K-means算法將數(shù)據(jù)劃分成若干個(gè)類別;然后,在BiLSTM基礎(chǔ)上構(gòu)建殘差連接和加入BN完成高層次特征提取,利用BiLSTM的長期記憶能力保存特征信息;最后,引入自注意力機(jī)制突出不同時(shí)間節(jié)點(diǎn)數(shù)據(jù)特征的重要性,進(jìn)一步提升模型的性能。試驗(yàn)結(jié)果表明,本研究提出的基于自注意力機(jī)制和改進(jìn)的K-BiLSTM模型的平均絕對(duì)誤差為0.238、均方根誤差為0.322、平均絕對(duì)百分比誤差為0.035,與單一的BP模型、CNN-LSTM模型、傳統(tǒng)的K-means-基于殘差和BN的BiLSTM-ATTN等模型相比具有更優(yōu)的預(yù)測性能和泛化能力。
關(guān)鍵詞: ?水產(chǎn)養(yǎng)殖; 溶解氧預(yù)測; K-means聚類; 雙向長短期記憶網(wǎng)絡(luò)(BiLSTM); 自注意力機(jī)制
中圖分類號(hào): ?TP391 ???文獻(xiàn)標(biāo)識(shí)碼: A ???文章編號(hào): ?1000-4440(2024)03-0490-10
Prediction model of dissolved oxygen content in aquaculture water based on self-attention mechanism and improved K-BiLSTM
FENG Guo-fu1,2, LU Sheng-tao1,2, ?CHEN Ming1,2, WANG Yao-hui3
(1.College of Information Technology, Shanghai Ocean University, Shanghai 201306, China; 2.Key Laboratory of Fisheries Information, Ministry of Agriculture and Rural Affairs, Shanghai 201306, China; 3.Nantong Longyang Aquatic Products Co., Ltd., Nantong 226634, China)
Abstract: ??In order to accurately predict the content of dissolved oxygen (DO) in aquaculture water, a prediction model of dissolved oxygen content in aquaculture water based on self-attention mechanism (ATTN) and improved K-means clustering-bidirectional long-term and short-term memory network (BiLSTM) was proposed. Firstly, according to the similarity of environmental data, the improved K-means algorithm was used to divide environmental data into several categories. Then, based on BiLSTM, residual connection was constructed and batch normalization (BN) was added to complete high-level feature extraction, and the feature information was saved by the long-term memory ability of BiLSTM. Finally, the self-attention mechanism was introduced to highlight the importance of data characteristics at different time nodes, which further improved the performance of the model. The experimental results showed that the mean absolute error (MAE), root mean square error (RMSE) and average absolute percentage error (MAPE) of the hybrid model based on self-attention mechanism and improved K-BiLSTM were 0.238, 0.322 and 0.035, respectively. Compared with single BP model, CNN-LSTM model and traditional K-means-BiLSTM-ATTN model based on residual and BN, the model constructed in this study had better prediction performance and generalization ability.
Key words: ?aquaculture; dissolved oxygen prediction; K-means clustering; bidirectional long-term and short-term memory network (BiLSTM); self-attention mechanism
溶解氧含量是決定水產(chǎn)養(yǎng)殖質(zhì)量和產(chǎn)量的重要因素。漁業(yè)養(yǎng)殖中溶解氧含量過高或不足都會(huì)影響魚類的新陳代謝和繁殖,嚴(yán)重的情況下甚至?xí)绊戶~類的正常生長[1]。如何利用現(xiàn)有監(jiān)測數(shù)據(jù),準(zhǔn)確預(yù)測未來溶解氧含量的變化趨勢,為養(yǎng)殖人員提供決策參考,已成為近年來國內(nèi)外學(xué)者的研究熱點(diǎn)。
由于溶解氧具有時(shí)序性、不穩(wěn)定性和非線性等特點(diǎn),且受多種因素的影響,各因素之間存在復(fù)雜的耦合關(guān)系[2],難以用傳統(tǒng)方法[3-7]和機(jī)器學(xué)習(xí)方法[8-15]進(jìn)行建模。而反向傳播神經(jīng)網(wǎng)絡(luò)(BP)方法又無法有效提取水質(zhì)氣象數(shù)據(jù)時(shí)序維度上的關(guān)聯(lián),隱藏的時(shí)序信息無法被有效利用[16]。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)適合處理時(shí)間序列問題,可有效地關(guān)聯(lián)上下文信息,常用的循環(huán)神經(jīng)網(wǎng)絡(luò)是長短期記憶網(wǎng)絡(luò)(LSTM)和門控循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU),在此基礎(chǔ)上,陳英義等[17]建立了基于WT-CNN-LSTM的溶解氧含量預(yù)測模型,并取得了不錯(cuò)的效果;曹守啟等[18]提出了改進(jìn)LSTM的水產(chǎn)養(yǎng)殖水體溶解氧含量預(yù)測模型并在不同天氣條件下成功預(yù)測溶解氧含量變化趨勢;Wu等[19]采用混合XGBoost-ISSA-LSTM模型實(shí)現(xiàn)對(duì)池塘短期和長期溶解氧含量準(zhǔn)確預(yù)測;Yang等[20]構(gòu)建基于改進(jìn)鯨魚優(yōu)化算法的GRU神經(jīng)網(wǎng)絡(luò)預(yù)測海參養(yǎng)殖水質(zhì),提升了模型的精度和泛化能力。但上述模型并沒有考慮到相似環(huán)境因素下溶解氧含量的變化規(guī)律,對(duì)于非線性更突出的多參數(shù)輸入的預(yù)測效果并不理想,容易出現(xiàn)預(yù)測精度低和結(jié)果滯后的情況,因此本研究在基準(zhǔn)模型預(yù)測之前對(duì)輸入水質(zhì)和氣象數(shù)據(jù)進(jìn)行K-means聚類,以更好地反映溶解氧含量變化趨勢。
若輸入特征之間的關(guān)系復(fù)雜或者預(yù)測時(shí)長過長,會(huì)導(dǎo)致預(yù)測結(jié)果滯后和誤差增大的問題[21]。為了篩選與目標(biāo)關(guān)聯(lián)性更強(qiáng)的參數(shù)特征,Yang等[22]提出用CNN-BiLSTM-AM模型對(duì)水產(chǎn)養(yǎng)殖水體溶解氧含量分別進(jìn)行短期和長期預(yù)測;Zhang等[23]構(gòu)建注意力機(jī)制和BiLSTM模型進(jìn)行河流水質(zhì)預(yù)測;Li等[24]通過引入小波變換和注意力機(jī)制提出了一種新的混合模型BC-MODWT-DA-LSTM來預(yù)測水產(chǎn)養(yǎng)殖水體氨氮含量。上述多階段模型引入了注意力機(jī)制,但因其是通過簡單堆疊建立模型,注意力的權(quán)重容易出現(xiàn)偏差,為了防止偏差,本研究采用自注意力機(jī)制自適應(yīng)調(diào)整權(quán)重,并且在基準(zhǔn)模型中加入BN層和殘差連接防止過擬合。
本研究擬提出一種基于自注意力機(jī)制(ATTN)和改進(jìn)的K-BiLSTM的溶解氧含量預(yù)測模型,并以江蘇省南通市中洋河豚莊園養(yǎng)殖基地的養(yǎng)殖水質(zhì)和氣象數(shù)據(jù)為樣本進(jìn)行模型訓(xùn)練,提高預(yù)測精度。
1 數(shù)據(jù)獲取與預(yù)處理
1.1 數(shù)據(jù)獲取
本研究所采用的數(shù)據(jù)來自南通中洋河豚莊園養(yǎng)殖基地。試驗(yàn)池塘長15.0 m,寬15.0 m,水深約1.2 m。水質(zhì)數(shù)據(jù)來自于傳感器,空間分辨率為15.0 m,氣象數(shù)據(jù)來源于氣象站。試驗(yàn)采用的是從2021年2月到2021年7月傳感器記錄的水溫、pH、溶解氧含量、氨氮含量和鹽度(電導(dǎo)率法測定溶解鹽質(zhì)量濃度)等養(yǎng)殖環(huán)境數(shù)據(jù)以及氣象站記錄的大氣溫度、濕度、大氣壓、光照度、風(fēng)速5個(gè)氣象數(shù)據(jù),共6 940組數(shù)據(jù),采樣頻率均為30 min,數(shù)據(jù)缺失率為1.17%。短時(shí)間內(nèi)參數(shù)浮動(dòng)范圍較小,本研究以2 h為時(shí)間單位計(jì)算各項(xiàng)參數(shù)的平均值。
1.2 數(shù)據(jù)預(yù)處理
自動(dòng)數(shù)據(jù)采集難免會(huì)導(dǎo)致數(shù)據(jù)缺失,為了保證模型的最終預(yù)測效果,需預(yù)先對(duì)水質(zhì)數(shù)據(jù)進(jìn)行處理。本研究采用線性插值法解決數(shù)據(jù)缺失的問題。線性插值法的計(jì)算公式(1)為:
Xk=Xw+ (Xr-Xw)(k-w) (r-w) ?(1)
式中,Xk為要補(bǔ)齊的缺失值;Xw為Xk前面最近的已知數(shù)據(jù);Xr為Xk后面最近的已知數(shù)據(jù),w、r為已知數(shù)據(jù)時(shí)間點(diǎn),k為缺失值時(shí)間點(diǎn),位于w和r之間。
由于采集到的數(shù)據(jù)各個(gè)分量具有不同的維度和量綱,在對(duì)數(shù)據(jù)進(jìn)行劃分?jǐn)?shù)據(jù)集之前,首先采用公式(2)對(duì)數(shù)據(jù)進(jìn)行歸一化處理:
x=(x′-xmin)/(xmax-xmin) (2)
式中,x′和x分別為原始采樣數(shù)據(jù)和歸一化之后的數(shù)據(jù),xmin和xmax分別為原始數(shù)據(jù)的最小值和最大值。
2 模型的構(gòu)建
2.1 改進(jìn)的K-means算法
2.1.1 K-means算法 ?K-means算法是一種迭代聚類算法,它通過將大量樣本數(shù)據(jù)按照到預(yù)先選定的聚類中心之間的歐式距離進(jìn)行聚類,形成多個(gè)聚類簇。聚類簇重新選定聚類中心后再次迭代聚類,最終達(dá)到最優(yōu)聚類效果。假設(shè)樣本集X={x1,x2,x3,…,xn}中有n個(gè)樣本,每個(gè)樣本有p個(gè)特征參數(shù),xi={xi1,xi2,xi3,…,xip}。隨機(jī)選取k個(gè)樣本,V={v1,v2,v3,…,vk}作為初始聚類中心,則每個(gè)樣本xi與初始聚類中心vk的歐式距離為:
d(xi,Vk)= (xi1-vk1)2+…+(xip-vkp)2 ?(3)
K-means聚類的目標(biāo)是使得每個(gè)樣本到它所在聚類簇的聚類中心的距離盡可能小并且聚類簇間的距離盡可能大,直至達(dá)到指定的迭代次數(shù)或者聚類中心不再發(fā)生變化為止。優(yōu)化目標(biāo)為:
E=∑ k i=1 ?∑ zj∈ki (zj-vk)2 (4)
式中,ki為聚類簇樣本,zj為聚類簇ki中的樣本,vk為聚類簇ki的簇中心,E為簇內(nèi)平方和,其值越小越好。
2.1.2 改進(jìn)的K-means算法
2.1.2.1 輪廓系數(shù)的改進(jìn) 輪廓系數(shù)是用于評(píng)價(jià)聚類算法好壞的一種指標(biāo),常用于確定分類簇?cái)?shù)值(k)。輪廓系數(shù)包括內(nèi)聚度和分離度,內(nèi)聚度代表了類內(nèi)樣本之間的緊密程度,內(nèi)聚度越低代表聚類結(jié)果越緊湊,分離度代表了類間樣本的緊密程度,分離度越高代表類間分離程度越高。輪廓系數(shù)的計(jì)算公式如下:
S(i)= [b(i)-a(i)] [a(i),b(i)]max ?(5)
其中a(i)代表當(dāng)前樣本在同類樣本中的平均距離,b(i)代表當(dāng)前樣本在距離它最近的類別中的平均距離。輪廓系數(shù)S(i)值越大時(shí)k值選取得越好。
為了降低傳統(tǒng)輪廓系數(shù)沒有考慮類內(nèi)的最小距離和類間的平均距離帶來的潛在影響,引入了點(diǎn)i到它所屬類中其他點(diǎn)的最小距離s(i)以及點(diǎn)i到非所屬類中所有點(diǎn)的最大平均距離r(i),改進(jìn)后的輪廓系數(shù)公式如下:
S(i)= [r(i)-a(i),b(i)-s(i)]max [a(i),b(i)]max ?(6)
M個(gè)樣本點(diǎn)的平均改進(jìn)的輪廓系數(shù)S為:
S= 1 M ∑ M i=1 ?[r(i)-a(i),b(i)-s(i)]max [a(i),b(i)]max ?(7)
公式(7)反映出各個(gè)樣本之間更加全面的制約關(guān)系。
2.1.2.2 初始聚類中心選取方法的改進(jìn) 傳統(tǒng)聚類方法隨機(jī)選擇k個(gè)數(shù)據(jù)作為聚類中心,容易陷入局部最優(yōu)且無法獲得最佳聚類簇。本研究針對(duì)此方面進(jìn)行改進(jìn)。
數(shù)據(jù)集中每個(gè)樣本xi距離其他樣本的平均歐式距離是:
D(i)= ∑ N j=1 d(xi,xj) N ?(8)
其中xj為樣本集中的其他樣本;N為樣本總數(shù);xi為當(dāng)前樣本;d(xi,xj)為樣本距離。如果樣本xi的平均歐式距離內(nèi)的樣本數(shù)量越多,則說明xi是這個(gè)樣本集所包含的某一區(qū)域的中心。此時(shí)以xi作為聚類的初始中心更易收斂。計(jì)算公式如下:
Num[xi,D(i)]=∑ N j=1 u[d(xi,xj)-D(i)] (9)
式中,Num[xi,D(i)]為以xi為中心,以D(i)為半徑范圍內(nèi)樣本點(diǎn)的個(gè)數(shù);d(xi,xj)為當(dāng)前樣本距離聚類中心的距離;u[d(xi,xj)-D(i)]為階躍函數(shù),u(v)公式為:
u(v)= 1, v≥00, v<0 ?(10)
v為函數(shù)自變量。計(jì)算出所有樣本xi的Num[xi,D(i)]值之后,從大到小選取前k個(gè)作為初始聚類簇中心,可有效避免陷入局部最優(yōu)。
2.1.2.3 相似度度量方法改進(jìn) 在K-means聚類分析中,可以使用歐式距離和余弦距離來衡量水質(zhì)參數(shù)X和任意其他水質(zhì)數(shù)據(jù)Y之間的相似度,這兩者都包含m維特征,如水溫、氨氮含量。歐式距離用來衡量多維空間中點(diǎn)之間的實(shí)際絕對(duì)距離,反映樣本屬性之間的數(shù)值差異性。公式如下:
d(X,Y)= ??∑ m j=1 (xj-yj)2 ?(11)
式中xj和yj分別為X和Y的第j個(gè)分量。余弦距離指的是,計(jì)算2點(diǎn)與原點(diǎn)所成的直線夾角的余弦值,取值范圍是[-1,+1],越趨近于1代表越相似,越趨近于-1代表方向相反,0代表正交,簡單來說,夾角越大就說明兩點(diǎn)越不相似,夾角越小說明越相似。其公式如下:
cos(X,Y)= ∑ m j=1 xjyj ???∑ m j=1 x2j∑ m j=1 y2j ??(12)
鑒于2種度量方式優(yōu)勢互補(bǔ),提出改進(jìn)的相似度度量公式:
sim(X,Y)= 1 1+d(X,Y) ·cos(X,Y) (13)
改進(jìn)的相似度綜合考慮了歐式距離相似度和余弦相似度,且存在上限。sim(X,Y)值越大說明2點(diǎn)越相似,sim(X,Y)值越小說明越不相似。
2.1.2.4 改進(jìn)的K-means算法流程 為了避免不良樣本的引入導(dǎo)致模型的收斂速度慢、預(yù)測精度低等問題,本研究首先對(duì)歸一化之后的數(shù)據(jù)采用改進(jìn)后的K-means聚類[25]將相似的樣本劃分成一簇,然后在相同的簇中建立模型來進(jìn)行溶解氧含量的預(yù)測。對(duì)于給定的n個(gè)樣本所構(gòu)成的集合,選取改進(jìn)的輪廓系數(shù)最大值所對(duì)應(yīng)的k值作為樣本簇的個(gè)數(shù),按照改進(jìn)的初始聚類中心選取方法來選取初始聚類中心,根據(jù)當(dāng)前樣本距離簇中心的綜合相似度距離,將其劃分到最近的簇,然后一直迭代至簇內(nèi)的樣本距離簇中心的綜合距離盡可能小,相似度盡可能高,簇間的距離盡可能大,相似度盡可能低。算法流程如下:
1)為n個(gè)樣本計(jì)算Num[xi,D(i)]值并從大到小排序,選取前k個(gè)點(diǎn)作為初始聚類中心,即簇中心。
2)計(jì)算每個(gè)樣本到各個(gè)簇中心的綜合相似度距離,將其劃分至綜合距離最近的簇。
3)更新每個(gè)簇中心。
4)重復(fù)步驟2~步驟3直至每個(gè)簇中心不再發(fā)生變化。歸一化之后的樣本經(jīng)過改進(jìn)的K-means聚類之后得到k個(gè)簇,按照公式(14)計(jì)算出每個(gè)簇的中心。
x — i= 1 ni ∑ ni j=1 xij (14)
其中第i簇含ni個(gè)樣本,xij表示第i類的第j個(gè)樣本。模型測試過程中,計(jì)算當(dāng)前測試集中的樣本到各個(gè)簇中心的綜合相似度距離,將距離最近的簇作為當(dāng)前樣本的所屬簇,使用所屬簇的神經(jīng)網(wǎng)絡(luò)模型對(duì)當(dāng)前樣本進(jìn)行溶解氧含量預(yù)測。
2.2 改進(jìn)的雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)
2.2.1 長短期記憶網(wǎng)絡(luò)(LSTM) ?LSTM神經(jīng)網(wǎng)絡(luò)可以有效地捕捉到長期順序特征,而無需進(jìn)行特征工程,此外,它解決了RNN存在的梯度消失和短期記憶問題,使模型能夠正常收斂。因此,LSTM已經(jīng)成為時(shí)間序列建模的一種重要工具。LSTM的基本結(jié)構(gòu)如圖1所示。LSTM擁有3種類型的門結(jié)構(gòu)(遺忘門、輸入門和輸出門)來保護(hù)和控制細(xì)胞狀態(tài)。
xt表示當(dāng)前時(shí)刻的輸入;ht-1、Ct-1分別表示上一個(gè)時(shí)刻的輸出和細(xì)胞狀態(tài);ft、it、Ot分別為遺忘門、輸入門和輸出門的輸出;C ~ t為候選細(xì)胞狀態(tài);ht和Ct分別為當(dāng)前時(shí)刻的輸出和細(xì)胞狀態(tài);σ和tanh為激活函數(shù)。
2.2.1.1 遺忘門 在LSTM中,上一個(gè)輸出信號(hào)會(huì)通過遺忘門,該門決定會(huì)從細(xì)胞狀態(tài)中保留和舍棄什么信息。遺忘門根據(jù)上一個(gè)輸出ht-1和當(dāng)前輸入xt進(jìn)行Sigmoid非線性映射,并輸出一個(gè)各個(gè)分量都在0到1之間的向量ft,1表示完全保留,0表示完全舍棄,最后與細(xì)胞狀態(tài)Ct-1相乘。其公式如下所示:
ft=σ[Wf·(ht-1,xt)+bf] (15)
式中,xt為當(dāng)前時(shí)刻輸入;ht-1為上一時(shí)刻輸出;Wf和bf為權(quán)重和偏置;ft為遺忘門輸出;σ為激活函數(shù)。
2.2.1.2 輸入門 ?LSTM的輸入門是一種用于控制信息流的門,它由一個(gè)Sigmoid函數(shù)和一個(gè)乘法運(yùn)算組成,通過對(duì)當(dāng)前輸入和上一時(shí)刻狀態(tài)隱藏向量的組合來控制信息的流動(dòng)。輸入門控制哪些信息能夠進(jìn)入LSTM單元,而哪些信息不能進(jìn)入,從而控制LSTM單元的輸出,其公式如公式(16)和公式(17)所示:
it=σ[Wi·(ht-1,xt)+bi] (16)
C ~ t=tanh[WC·(ht-1,xt)+bC] (17)
式中,xt為當(dāng)前時(shí)刻輸入;ht-1為上一時(shí)刻輸出;Wi、WC為權(quán)重;bi和bC為偏置;it為輸入門的輸出;C ~ t為候選細(xì)胞狀態(tài)。
2.2.1.3 記憶單元更新 ?將舊細(xì)胞狀態(tài)Ct-1更新為Ct,其更新公式為:
Ct=Ct-1·ft+C ~ t·it (18)
式中,Ct為當(dāng)前時(shí)刻細(xì)胞狀態(tài);Ct-1為上一時(shí)刻細(xì)胞狀態(tài);ft為遺忘門輸出;C ~ t為候選細(xì)胞狀態(tài);it為輸入門的輸出。
2.2.1.4 輸出門 ?LSTM輸出門也是一種用于控制信息流的門,它也由一個(gè)Sigmoid函數(shù)和一個(gè)乘法運(yùn)算組成。它控制什么時(shí)候?qū)STM單元當(dāng)前的輸出信息發(fā)送出去,以及何時(shí)將該信息保留在單元內(nèi)部。輸出門也可以控制LSTM單元的輸出,使得輸出信息的流動(dòng)更加有序,從而達(dá)到更好的預(yù)測結(jié)果,其公式如公式(19)和 公式(20)所示:
ot=σ[Wo·(ht-1,xt)+bo] (19)
ht=ot·tanh(Ct) (20)
式中,xt為當(dāng)前時(shí)刻輸入;ht-1為上一時(shí)刻輸出;Wo、bo為權(quán)重和偏置;Ct當(dāng)前時(shí)刻細(xì)胞狀態(tài);ot為輸出門的輸出;ht為當(dāng)前時(shí)刻輸出。
輸出門將內(nèi)部狀態(tài)的信息傳遞給外部狀態(tài)ht,Sigmoid函數(shù)確定記憶單元的哪些信息傳遞出去,然后,細(xì)胞狀態(tài)通過tanh函數(shù)得到[-1,1]的值并將它和輸出門的輸出相乘,最終外部狀態(tài)僅僅會(huì)得到輸出門確定輸出的那部分。
2.2.2 雙向長短期記憶網(wǎng)絡(luò)(BiLSTM) ?雙向長短期記憶神經(jīng)網(wǎng)絡(luò)是一種用于處理和預(yù)測時(shí)間序列數(shù)據(jù)的深度學(xué)習(xí)架構(gòu),它開發(fā)自傳統(tǒng)的長短期記憶網(wǎng)絡(luò)(LSTM)。BiLSTM的基本思想是,它使用2個(gè)獨(dú)立的隱藏層,分別處理前向和后向數(shù)據(jù)流。這樣,BiLSTM可以更好地捕獲輸入數(shù)據(jù)中的歷史和未來信息,從而更好地處理時(shí)間序列數(shù)據(jù)。其基本流程如圖2所示。
2.2.3 BiLSTM的改進(jìn) ?殘差連接是一種對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行深度構(gòu)建的技術(shù),它可以將多個(gè)神經(jīng)網(wǎng)絡(luò)層連接起來,并通過跳過連接來減少模型的復(fù)雜性,從而改善網(wǎng)絡(luò)的性能。殘差連接的思想是:如果模型中的某些層不起作用,那么它們可以被簡單地“跳過”,從而幫助模型學(xué)習(xí)更深層次的特征,有效地減少訓(xùn)練時(shí)間和提高準(zhǔn)確率。本研究以構(gòu)建殘差塊(Residual block)的方式大大加深BiLSTM模型層次?;練埐罱Y(jié)構(gòu)如圖3所示。
隨著神經(jīng)網(wǎng)絡(luò)隱藏層的加深,容易產(chǎn)生梯度消失和梯度彌散的問題,而通過殘差連接可以有效避免這2種情況的出現(xiàn),并且能夠減少網(wǎng)絡(luò)模型的參數(shù)量,提高模型的訓(xùn)練效率,有助于高效提取更高層次的特征。BiLSTM能夠有效提取時(shí)序數(shù)據(jù)特征,本研究結(jié)合批標(biāo)準(zhǔn)化(BN)和BiLSTM構(gòu)建出基于殘差和引入BN層的BiLSTM網(wǎng)絡(luò),模型如圖4所示。模型包括BiLSTM層和多個(gè)殘差單元,其共同完成溶解氧含量相關(guān)環(huán)境數(shù)據(jù)特征提取,隨后將特征送入BN和隨機(jī)丟棄(Dropout),進(jìn)一步提高模型訓(xùn)練效率和增強(qiáng)泛化能力。
2.3 自注意力機(jī)制
注意力機(jī)制(Attention mechanisms)技術(shù)可以追溯到人類視覺系統(tǒng)。當(dāng)人們觀察時(shí),會(huì)有選擇性地捕獲重要的信息,而忽略不太重要的內(nèi)容[26]。注意力機(jī)制旨在通過將有限的資源集中在處理更重要的信息上,以提升神經(jīng)網(wǎng)絡(luò)在不同時(shí)間點(diǎn)上對(duì)重要信息的關(guān)注能力,進(jìn)而提高模型的性能。自注意力機(jī)制是一種利用數(shù)據(jù)特征內(nèi)在信息的注意力機(jī)制,以便在多個(gè)時(shí)間節(jié)點(diǎn)上發(fā)現(xiàn)輸入特征之間的相關(guān)性。其基本結(jié)構(gòu)如圖5所示。
首先,自注意力機(jī)制輸入矩陣 X 經(jīng)過線性變換得到矩陣 Q 、 K 、 V ,變換矩陣是通過學(xué)習(xí)得到的。其次,矩陣 Q 和矩陣 K 的轉(zhuǎn)置相乘,再除以1個(gè)尺度 ??dk 得到相關(guān)性矩陣 A ,其中,dk為查詢向量和鍵向量之間的維度,目的是為了防止方差過大,分布陡峭。然后使用Softmax函數(shù)將矩陣 A 歸一化為 A′ 。最后將 A′ 與矩陣 V 相乘得到注意力機(jī)制層的輸出特征。計(jì)算公式如下:
Attention( Q,K,V )=softmax( ?QK T ???dk ?) V ?(21)
式中, Q、K、V 分別是查詢矩陣、鍵矩陣和值矩陣;softmax為激活函數(shù); ??dk 為縮放因子,dk是 K 的維度;Attention( Q,K,V )為模型輸出。本研究使用自注意力機(jī)制的目的是為了獲得時(shí)間維度上水質(zhì)特征的重要程度,以提高模型的預(yù)測性能。
2.4 預(yù)測模型
養(yǎng)殖過程中水體溶解氧含量的變化受多個(gè)復(fù)雜因素影響,并且在時(shí)間維度上呈非線性變化趨勢,所以在溶解氧含量預(yù)測任務(wù)中,不僅要考慮如水溫、pH等參數(shù)之間的復(fù)雜關(guān)系,而且模型構(gòu)建還要考慮到時(shí)間維度上的變化。BiLSTM能夠有效地捕捉長序列之間的數(shù)據(jù)關(guān)聯(lián),緩解梯度消失現(xiàn)象,同時(shí)效果優(yōu)于傳統(tǒng)RNN,比LSTM能夠更有效提取時(shí)序數(shù)據(jù)特征,因此本研究使用BiLSTM作為基準(zhǔn)模型。為了有效避免梯度消失和提取高層次特征以及增強(qiáng)模型的泛化能力,本研究在BiLSTM的基礎(chǔ)上引入了殘差和BN層。由于溶解氧含量在時(shí)間維度上呈現(xiàn)差異性,在上述改進(jìn)的BiLSTM模型基礎(chǔ)之上加入自注意力機(jī)制ATTN,獲取不同時(shí)間節(jié)點(diǎn)上的特征重要程度,降低非重要特征的影響,提高預(yù)測精度。預(yù)測流程如圖6所示。
使用本研究模型對(duì)溶解氧含量預(yù)測的步驟如下:
1)將獲取的水質(zhì)數(shù)據(jù)進(jìn)行缺失值填充和歸一化處理,按照6∶2∶2的比例劃分成訓(xùn)練集、驗(yàn)證集和測試集。
2)對(duì)訓(xùn)練集和驗(yàn)證集使用改進(jìn)的K-means算法劃分類別,對(duì)不同類別的數(shù)據(jù)集分別進(jìn)行模型構(gòu)建和訓(xùn)練。
3)初始化基于殘差和BN層的BiLSTM-ATTN模型參數(shù),將訓(xùn)練集數(shù)據(jù)輸入模型不斷訓(xùn)練直至驗(yàn)證集表現(xiàn)良好或達(dá)到預(yù)定訓(xùn)練輪次。
4)將測試集中的數(shù)據(jù)輸入所屬類別模型中得到測試集的預(yù)測結(jié)果,將本研究模型與其他模型的預(yù)測結(jié)果進(jìn)行對(duì)比分析,得到溶解氧含量最優(yōu)預(yù)測模型。
2.5 模型評(píng)價(jià)指標(biāo)
本研究選取平均絕對(duì)誤差(MAE)、均方根誤差(RMSE)、平均絕對(duì)百分比誤差(MAPE)作為模型的性能評(píng)估指標(biāo),其計(jì)算公式為公式(22)~公式(24)。
MAE= 1 N ∑ N i=1 ?yi-y — i ?(22)
RMSE= ???1 N ∑ N i=1 (yi-y — i)2 ?(23)
MAPE= 1 N ∑ N i=1 ??yi-y — i ?yi ?(24)
式中,N表示樣本個(gè)數(shù),yi和y — i分別表示預(yù)測值和真實(shí)值。以上3個(gè)指標(biāo)的取值范圍是[0,∞),RMSE值越小表明模型的預(yù)測能力越好,MAE和MAPE值越小表明模型穩(wěn)定性越好。
3 結(jié)果與分析
3.1 改進(jìn)的K-means聚類算法評(píng)估
我們采用改進(jìn)的輪廓系數(shù)來選取聚類簇的個(gè)數(shù)(k),k取不同值時(shí)的輪廓系數(shù)值如表1所示。當(dāng)k取4時(shí)輪廓系數(shù)最大,因此本研究采用4作為聚類簇的個(gè)數(shù)。
3.2 模型參數(shù)
所有試驗(yàn)均在PC主機(jī)上運(yùn)行,主機(jī)性能:2.3 GHz Intel i7-11800H處理器、16 G內(nèi)存、NVIDA GeForce RTX3060顯卡、Microsoft Windows 10。選用Tensorflow作為深度學(xué)習(xí)平臺(tái)。本研究使用2.1節(jié)提出的改進(jìn)的K-means聚類算法將訓(xùn)練集和驗(yàn)證集數(shù)據(jù)劃分成4個(gè)簇,并分別在各個(gè)簇中訓(xùn)練基于殘差和BN的BiLSTM-ATTN模型。溶解氧含量預(yù)測模型主要由改進(jìn)的K-menas聚類、BiLSTM層、殘差、BN層、ATTN層、全連接層和輸出層構(gòu)成。模型結(jié)構(gòu)確定后,多次調(diào)整模型參數(shù)進(jìn)行試驗(yàn),得到最優(yōu)的基于自注意力機(jī)制和改進(jìn)的K-BiLSTM模型。表2是本研究模型的參數(shù)設(shè)置。
3.3 模型對(duì)比分析
為驗(yàn)證本研究模型的性能優(yōu)勢,將本研究模型與單一的BP模型、CNN-LSTM模型、傳統(tǒng)的K-means-基于殘差和BN的BiLSTM-ATTN模型、改進(jìn)的K-means-BiLSTM-ATTN模型和未引入自注意力機(jī)制的改進(jìn)的K-BiLSTM 5個(gè)模型進(jìn)行對(duì)比。使用MAE、RMSE和MAPE統(tǒng)計(jì)指標(biāo)對(duì)不同模型進(jìn)行評(píng)估和比較,結(jié)果如表3所示。
由表3中Model1和Model2與Model6的對(duì)比可以得出,預(yù)先對(duì)樣本進(jìn)行相似聚類可以有效剔除具有較大差異的樣本數(shù)據(jù)進(jìn)而提升模型的預(yù)測精度。其次,Model3和Model6相比可以得出,改進(jìn)的K-means聚類具有更好的聚類效果并且對(duì)各個(gè)類別的模型預(yù)測能力提升貢獻(xiàn)較大。由Model4和Model6相比的結(jié)果可以得出結(jié)論,殘差連接的構(gòu)建和BN層的加入使得本研究模型擁有更強(qiáng)的特征提取能力和泛化能力。比較Model5和Model6模型評(píng)價(jià)指標(biāo),表明自注意力機(jī)制的引入提升了模型的預(yù)測能力和穩(wěn)定性。本研究所提出的改進(jìn)的K-means-基于殘差和BN的溶解氧含量預(yù)測模型的MAE、RMSE、MAPE分別為0.238、0.322和0.035,表明,本研究提出的混合模型在溶解氧含量預(yù)測方面優(yōu)于單一的BP模型、CNN-LSTM模型、傳統(tǒng)的K-means-基于殘差和BN的BiLSTM-ATTN模型、改進(jìn)的K-means-BiLSTM-ATTN模型和未引入自注意力機(jī)制的改進(jìn)的K-BiLSTM模型。
圖7為各預(yù)測模型溶解氧含量的預(yù)測結(jié)果和實(shí)際溶解氧含量的比較,其中橫坐標(biāo)是樣本數(shù),共347組測試數(shù)據(jù),縱軸為溶解氧含量(mg/L)。從圖中可以看出,相比于其他模型,本研究提出的改進(jìn)的K-means-基于殘差和BN的BiLSTM-ATTN模型的預(yù)測結(jié)果波動(dòng)更小更貼近真實(shí)曲線。
4 結(jié) 論
為了提升水產(chǎn)養(yǎng)殖過程中水體溶解氧含量的預(yù)測精度,本研究提出了一種基于自注意力機(jī)制和改進(jìn)的K-BiLSTM的溶解氧含量預(yù)測的混合模型。采用改進(jìn)的 K-means 聚類對(duì)樣本數(shù)據(jù)進(jìn)行分類,防止不同類別樣本間的過度干擾,提高了預(yù)測數(shù)據(jù)源的準(zhǔn)確性。引入了殘差連接和BN層,不僅有效地減少訓(xùn)練時(shí)間和提高準(zhǔn)確率,還起到提取更高層次特征的作用。BiLSTM網(wǎng)絡(luò)和自注意力機(jī)制分別起到了在時(shí)間序列上進(jìn)行長期記憶保存與突出重要信息的作用。本研究提出的模型具有更高的精確度和較好的魯棒性,可用于實(shí)際漁業(yè)生產(chǎn)。
參考文獻(xiàn):
[1] ??LIPIZER M, PARTESCANO E, RABITTI A, et al. Qualified temperature, salinity and dissolved oxygen climatologies in a changing Adriatic Sea[J]. Ocean Science,2014,10(5):771-797.
[2] 陳英義,程倩倩,方曉敏,等. 主成分分析和長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)預(yù)測水產(chǎn)養(yǎng)殖水體溶解氧[J]. 農(nóng)業(yè)工程學(xué)報(bào),2018,34(17):183-191.
[3] 金光炎. 水文統(tǒng)計(jì)理論與實(shí)踐[M]. 南京:東南大學(xué)出版社,2012.
[4] 劉 明,李由明,王 平,等. 基于小波分解的凡納濱對(duì)蝦養(yǎng)殖水體水質(zhì)的仿真研究[J]. 廣東農(nóng)業(yè)科學(xué),2013,40(17):170-172.
[5] 徐 梅,晏 福,劉振忠,等. 灰色GM(1,1)-小波變換-GARCH組合模型預(yù)測松花江流域水質(zhì)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2016,32(10):137-142.
[6] 岳 遙,李天宏. 基于模糊集理論的馬爾可夫模型在水質(zhì)定量預(yù)測中的應(yīng)用[J]. 應(yīng)用基礎(chǔ)與工程科學(xué)學(xué)報(bào),2011,19(2):231-242.
[7] 黃廷林,韓曉剛,盧金鎖. 基于Lyapunov指數(shù)的混沌預(yù)測方法及在水質(zhì)預(yù)測中的應(yīng)用[J]. 西安建筑科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,40(6):846-851.
[8] ALVAREZ MEZA A M, DAZA SANTACOLOMA G. Parameter selection in least squares support vector machines regression oriented,using generalized cross-validation[J]. Dyna-Colombia,2012,79(171):23-30.
[9] 鄒志紅,王學(xué)良. BP模型在河流水質(zhì)預(yù)測中的誤差分析[J].環(huán)境科學(xué)學(xué)報(bào),2007,27(6):1038-1042.
[10] AMID S, GUNDOSHMIAN T M. Prediction of output energies for broiler production using linear regression, ANN (MLP, RBF), and ANFIS models[J]. Environmental Progress & Sustainable Energy,2017,36(2):577-585.
[11] 劉東君,鄒志紅. 最優(yōu)加權(quán)組合預(yù)測法在水質(zhì)預(yù)測中的應(yīng)用研究[J]. 環(huán)境科學(xué)學(xué)報(bào),2012,32(12):3128-3132.
[12] 劉雙印,徐龍琴,李振波,等. 基于PCA-MCAFA-LSSVM的養(yǎng)殖水質(zhì)pH值預(yù)測模型[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2014,45(5):239-246.
[13] 龔懷瑾,毛 力,楊 弘. 基于變尺度混沌QPSO-LSSVM的水質(zhì)溶氧預(yù)測建模[J]. 計(jì)算機(jī)與應(yīng)用化學(xué),2013,30(3):315-318.
[14] 孫伯寅,董國慶,張 榮. 支持向量機(jī)在水源水化學(xué)耗氧量預(yù)測中的應(yīng)用[J]. 環(huán)境與健康雜志,2016,33(6):544-547.
[15] 羅華軍,黃應(yīng)平,劉德富. 基于WA-SVM的水庫溶解氧預(yù)測[J]. 西北農(nóng)林科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,37(3):181-186.
[16] 宦 娟,劉星橋. 基于K-means聚類和ELM神經(jīng)網(wǎng)絡(luò)的養(yǎng)殖水質(zhì)溶解氧預(yù)測[J]. 農(nóng)業(yè)工程學(xué)報(bào),2016,32(17):174-181.
[17] 陳英義,方曉敏,梅思遠(yuǎn),等. 基于WT-CNN-LSTM的溶解氧含量預(yù)測模型[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2020,51(10):284-291.
[18] 曹守啟,周禮馨,張 錚. 采用改進(jìn)長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)的水產(chǎn)養(yǎng)殖溶解氧預(yù)測模型[J]. 農(nóng)業(yè)工程學(xué)報(bào),2021,37(14):235-242.
[19] WU Y H, SUN L Q, SUN X B, et al. A hybrid XGBoost-ISSA-LSTM model for accurate short-term and long-term dissolved oxygen prediction in ponds[J]. Environ Sci Pollut Res Int,2021,29(12):18142-18159.
[20] YANG H H, LIU S E. Water quality prediction in sea cucumber farming based on a GRU neural network optimized by an improved whale optimization algorithm[J]. PeerJ Comput Sci,2022,8:e1000.
[21] ZOU Q H, XIONG Q Y, LI Q D, et al. A water quality prediction method based on the multi-time scale bidirectional long short-term memory network[J]. Environmental Science and Pollution Research,2020,27(9):16853-16864.
[22] YANG W B, LIU W, GAO Q. Prediction of dissolved oxygen concentration in aquaculture based on attention mechanism and combined neural network[J]. Math Biosci Eng,2023,20(1):998-1017.
[23] ZHANG Q, WANG R Q, QI Y, et al. A watershed water quality prediction model based on attention mechanism and Bi-LSTM[J]. Environmental Science and Pollution Research,2022,29(50):75664-75680.
[24] LI Y T, LI R. Predicting ammonia nitrogen in surface water by a new attention-based deep learning hybrid model[J]. Environmental Research,2023,216:114723.
[25] CAO X K, LIU Y R, WANG J P, et al. Prediction of dissolved oxygen in pond culture water based on K-means clustering and gated recurrent unit neural network[J]. Aquacultural Engineering, 2020,91:102122.
[26] 何津民,張麗珍. 基于自注意力機(jī)制和CNN-LSTM深度學(xué)習(xí)的對(duì)蝦投餌量預(yù)測模型[J]. 大連海洋大學(xué)學(xué)報(bào),2022,37(2):304-311.
(責(zé)任編輯:陳海霞)