王 銳,弓劍軍,杜洪強,武文俊,3
(1.中國科學院國家授時中心,西安 710600;2.中國科學院大學,北京 100049;3.中國科學院大學天文與空間科學學院,北京 100049)
當前,國際標準時間是原子時和世界時以閏秒方式形成的協(xié)調(diào)世界時。 原子時由一組原子鐘利用原子時算法計算得到,并產(chǎn)生連續(xù)穩(wěn)定的時間信號。 原子鐘鐘差預報在原子時算法中是必不可少的環(huán)節(jié),主要表現(xiàn)在兩個方面:1)在對原子時進行計算時,若原子鐘組的數(shù)量以及原子鐘的權重改變時,則會引起頻率和相位的跳變,為了保證時間尺度頻率和相位的連續(xù)性,必須通過原子鐘預報進行修正;2)對主鐘系統(tǒng)的相位微調(diào)儀進行頻率駕馭時,需要通過鐘差預報算法基于原子鐘過去的頻率偏移量來預報當前的頻偏量,由此計算駕馭量[1,2]。 因此,原子鐘鐘差預報對于原子鐘守時應用至關重要[3]。
目前,用于鐘差預報的常用算法主要包括線性多項式模型、灰色模型和Kalman 濾波模型等。 線性多項式模型對異常值較為敏感,會因某些異常值而影響預報結果[4];灰色模型只適用于中短期的預測和指數(shù)增長的預測[5];Kalman 濾波模型在非線性的過程中達不到最優(yōu)的估計效果[6,7]。 通常根據(jù)原子鐘鐘差數(shù)據(jù)特性來選擇預報模型,但隨著原子鐘長期噪聲造成的內(nèi)部不穩(wěn)定性,多數(shù)預報算法的預報精度隨著預報時間的增加而下降。
近年來,在衛(wèi)星導航領域中利用長短時記憶神經(jīng)網(wǎng)絡(long short?Term Memory,LSTM)算法進行衛(wèi)星鐘鐘差預報,并優(yōu)化了衛(wèi)星導航精度[8,9]。LSTM 可以有效地在長時間序列中傳遞和表達信息,并且選擇記憶長時間前有用的信息和忽略無用的信息,因此能夠改善原子鐘長期內(nèi)部噪聲以及原子鐘的長期漂移造成的影響[10,11]。 原子鐘長期預報水平的改善有助于提升以月為計算間隔的獨立原子時的性能。 基于LSTM 預報模型對守時型原子鐘進行原子鐘鐘差預報,并與常用預報模型進行對比驗證。
LSTM 是一種循環(huán)神經(jīng)網(wǎng)絡(RNN),用于建模長序列數(shù)據(jù)之間的上下文依賴關系,LSTM 還可以記住預測之間的網(wǎng)絡狀態(tài),因此適用于解決長期噪聲的鐘差數(shù)據(jù)[12]。 LSTM 是一種遞歸神經(jīng)網(wǎng)絡,在當前t時刻會將t-1 時刻的數(shù)據(jù)信息作為輸入,因此在計算當前時間的內(nèi)容時包含了之前所有時間段累積的數(shù)據(jù)信息。 LSTM 遞歸神經(jīng)網(wǎng)絡結構如圖1 所示。
圖1 LSTM 遞歸神經(jīng)網(wǎng)絡結構圖Fig.1 Structure diagram of LSTM recurrent neural network
由圖1 可知,LSTM 網(wǎng)絡結構由序列輸入層和LSTM 層構成。 序列輸入層負責將時間序列數(shù)據(jù)分割并輸入神經(jīng)網(wǎng)絡單元,包括當前t時刻的時間序列數(shù)據(jù)信息Xt和前t-1 時刻預測當前t時刻的數(shù)據(jù)狀態(tài)ht-1;LSTM 層負責學習時間序列數(shù)據(jù)段之間的長期依賴關系,計算下一時刻t+1 的預測值和數(shù)據(jù)狀態(tài)ht。 LSTM 層利用門機制控制數(shù)據(jù)信息傳遞的路徑,判斷數(shù)據(jù)信息的流通和損失,LSTM 層單元結構圖如圖2 所示。
圖2 LSTM 層單元結構圖Fig.2 Structure diagram of LSTM layer cell
由圖2 可知,LSTM 層設計了一個神經(jīng)網(wǎng)絡記憶細胞,具備選擇性記憶的功能,可以自由選擇記憶每個時間段里面的重要信息,過濾掉噪聲信息,減輕記憶負擔,由權值、偏置以及激活函數(shù)組成。其中C是控制參數(shù),決定保留和遺忘的信息。σ函數(shù)是LSTM 最常用的激活函數(shù),輸出0 到1 之間的數(shù)值,描述每個部分有多少量可以通過,0 代表不需任何量通過,1 代表允許全部量通過。 各個函數(shù)層之間采用“門”機制的方式控制數(shù)據(jù)流通,每個神經(jīng)網(wǎng)絡記憶細胞包含3 個“門”,分別如下:
1)遺忘門(forget gate)ft:負責遺忘前面時間的狀態(tài)信息,即Ct-1的哪些特征被用于計算Ct。 決定了上一步的記憶在這一步保留的比例。 數(shù)據(jù)元素取值范圍為[0,1],1 代表我們保留之前記住的信息,0 代表我們不用記住前面的信息。ft的計算公式如下:
式中:σ——遺忘門的激活函數(shù);Xt——時間序列數(shù)據(jù)信息;ht-1——前t-1 時刻預測當前t時刻的數(shù)據(jù)狀態(tài)信息;wxf——Xt的權值;whf——ht-1的權值;bf——遺忘門的偏置項。
2)輸入門(input gate)it:負責篩選新的記憶,去掉無用的新的記憶(輸入)信息,產(chǎn)生控制信息。it的計算公式如下:
式中:wxi——Xt的權值;whi——ht-1的權值;bi——輸入門的偏置項。
此外,gt的計算公式如下:
式中:gt——單元狀態(tài)更新值,產(chǎn)生候選數(shù)據(jù)信息;tanh——單元狀態(tài)激活函數(shù);wxg——Xt的權值;whg——ht-1的權值;bg——單元狀態(tài)偏置項。
因此,gt和it結合可得到候選數(shù)據(jù)所需要保留的數(shù)據(jù)信息,結合上一個時間段所保留的數(shù)據(jù)信息,兩部分相加得到最終的當前時刻的數(shù)據(jù)控制信息為:
式中:Ct——當前t時刻的控制參數(shù);Ct-1——前t-1時刻的控制參數(shù)。
3)輸出門(output gate)ot:根據(jù)新舊記憶結合的全部記憶進行轉(zhuǎn)化成為實際所需要的信息,由輸入數(shù)據(jù)Xt和隱藏節(jié)點ht-1與其對應權值wxo和who經(jīng)過σ函數(shù)激活計算為:
式中:wxo——Xt的權值;who——ht-1的權值;bo——輸出門的偏置項。
最后,為了計算預測值y^t并生成下個時間段完整的輸入,需要計算隱藏節(jié)點的輸出ht,隱藏節(jié)點由輸出門的控制記憶信息與當前時刻全部數(shù)據(jù)信息相結合計算得到:
當傳遞信息到下一時刻,除了將長期信息的狀態(tài)傳遞到下一時刻,也會將當前時刻的輸出作為近期信息傳遞到下一時刻。 所以預測值y^t由輸出的隱藏節(jié)點與其對應權值wyh相乘得到:
建立LSTM 原子鐘鐘差預報模型共分為以下五步:第一步進行原子鐘鐘差數(shù)據(jù)預處理,將鐘差數(shù)據(jù)的異常值剔除并進行二次差分處理,可使得數(shù)據(jù)平穩(wěn)并降低LSTM 網(wǎng)絡的復雜程度;第二步將數(shù)據(jù)進行分割,確定時間步長和數(shù)據(jù)輸入特征并定義LSTM 網(wǎng)絡結構;第三步將數(shù)據(jù)歸一化并編譯LSTM網(wǎng)絡,確定激活函數(shù);第四步優(yōu)化并確定訓練模型參數(shù);第五步設置目標函數(shù)評估預報模型并輸出預報結果[9,12]。 LSTM 原子鐘模型構建流程圖如圖3所示。
圖3 LSTM 原子鐘模型構建流程圖Fig.3 Flow chart of building the atomic clock model of LSTM
1)數(shù)據(jù)預處理:除常規(guī)異常值剔除及相跳、頻跳的插值數(shù)據(jù)處理外,還需將鐘差數(shù)據(jù)進行二次差分處理,可以保證數(shù)據(jù)的平穩(wěn)性,并且能夠提高預報精度;
2)數(shù)據(jù)分割:按照交叉驗證法將數(shù)據(jù)劃分為訓練樣本集和驗證集,將數(shù)據(jù)集D按照時間分割成k個大小相同的數(shù)據(jù)子集,每個子集Di都盡可能保持數(shù)據(jù)分布的一致性。 根據(jù)前一時間段作為輸入變量,下一時間段作為輸出變量,將這個時間序列數(shù)據(jù)集重構為一個監(jiān)督學習問題;
3)數(shù)據(jù)歸一化:將分割后的訓練集合驗證集均進行歸一化,可以幫助網(wǎng)絡模型更快的擬合。 設置LSTM 訓練學習損失率、隱藏層神經(jīng)元數(shù)、批次大小以及迭代次數(shù),并設置防止過擬合或欠擬合的監(jiān)視變量;
4)模型訓練:為了快速找到最優(yōu)參數(shù),選用小批量隨機梯度下降算法進行模型的參數(shù)優(yōu)化,將分割后的訓練樣本集按照設置的參數(shù)(訓練學習損失率為10-6、隱藏層神經(jīng)元數(shù)為200、批次大小為30×15、迭代次數(shù)為128)進行LSTM 訓練,訓練優(yōu)化器采用自適應優(yōu)化算法中的Adam 算法,并將模型訓練結果作為預報值輸出;
5)預報評估:對模型訓練結果進行反歸一化和反二次差分處理,得到原始的鐘差數(shù)據(jù),并與驗證集進行對比評估。
實驗以國家授時中心型號為VH085、VH340氫鐘數(shù)據(jù)和型號為Cs3436、TA3050 銫鐘數(shù)據(jù)為參考,選用日期分別為2020 年10 月1 日至2021 年6月30 日,以及2021 年4 月1 日至2021 年9 月10日的鐘差數(shù)據(jù),實驗數(shù)據(jù)采樣間隔均為1 h,預報時間長度分別為72 h,240 h 和720 h,分別采用線性多項式模型、灰色模型、kalman 模型和LSTM 模型進行預報,并將預測差值進行比較,如圖4 至圖7所示。
由圖4 可知,VH340 在72 h 預報時長,線性多項式模型的預報精度優(yōu)于其他模型,在240 h 和720 h預報時長,LSTM 預報模型的預報誤差均小于其他模型。
圖4 VH340 預報誤差圖Fig.4 Forecast error graph of VH340
由圖5 可知,VH085 在72 h 預報時長,灰色模型的預報精度優(yōu)于其他模型,在240 h 和720 h 預報時長,LSTM 預報模型的預報準確度相對于其他模型更高。
圖5 VH085 預報誤差圖Fig.5 Forecast error graph of VH085
由圖6 可知,Cs3436 在72 h 和240 h 預報時長,kalman 模型的預報精度優(yōu)于其他模型,在720 h預報時長,LSTM 預報模型的預報誤差相對于其他模型都小。
圖6 Cs3436 預報誤差圖Fig.6 Forecast error graph of Cs3436
由圖7 可知,TA3050 在72 h 預報時長,灰色模型的預報精度優(yōu)于其他模型,在240 h 和720 h 預報時長,LSTM 預報模型的預報準確度相較于其他模型更高。
圖7 TA3050 預報誤差圖Fig.7 Forecast error graph of TA3050
最后,采用均方根誤差(root mean squared error,RMSE)來評估預報算法的性能[13]。 RMSE 的具體定義為:
由表1 可知,線性多項式模型、灰色模型和Kalman 模型隨著預報時長的增加,預報誤差明顯增加,在短期預報時長中,線性多項式模型和kalman模型預報精確度比較穩(wěn)定且可靠;在中長期預報時長中,LSTM 相較其余預報模型的預報精度有顯著的提升。
表1 預報模型RMSE 對比表Tab.1 Comparison table of the prognostic model RMSE
通過以上對比可看出,線性多項式模型具有誤差的累積效應,在240 h 預報時長,四臺原子鐘鐘平均累積誤差增大25.8 %,在720 h 預報時長,平均累積誤差增大68.2 %。 灰色模型利用灰色數(shù)學處理不確定量,使之量化尋找數(shù)據(jù)運行規(guī)律,沒有考慮原子鐘內(nèi)部噪聲影響,在240 h 預報時長,四臺原子鐘鐘平均累積誤差增大17.9 %,在720 h 預報時長,平均累積誤差增大74.5 %。 Kalman 模型經(jīng)過多次狀態(tài)估計迭代去除原子鐘內(nèi)部大部分噪聲影響,預報精度更加可靠,在240 h 預報時長,四臺原子鐘鐘平均累積誤差增大22.3 %,在720 h 預報時長,平均累積誤差增大37.8 %。 而LSTM 具有較高的模型復雜度以及高度的非線性關系處理,擬合效果更優(yōu),根據(jù)長序列數(shù)據(jù)之間的上下文依賴關系,可以降低原子鐘內(nèi)部噪聲造成的誤差影響,利用預測之間的網(wǎng)絡狀態(tài),使得LSTM 對鐘差異常值數(shù)據(jù)不敏感。 在240 h 預報時長,四原子鐘鐘平均累積誤差增大28.9 %,在720 h 預報時長,平均累積誤差增大32.7 %。因此,LSTM 模型在240 h 以上的原子鐘鐘差預報可以實現(xiàn)更高的預報精度。
LSTM 對數(shù)據(jù)量依賴較大,而短期的原子鐘鐘差數(shù)據(jù)的依賴關系較弱,因此LSTM 模型不適用于短期鐘差數(shù)據(jù)的預報。 LSTM 在訓練過程中采用串行數(shù)據(jù)運算,對處理器等硬件的性能要求較高。 因此,在利用LSTM 模型訓練數(shù)據(jù)時,要使用GPU 并加大計算機的硬件存儲帶寬,可以使用更多的計算單元加快訓練速度。 此外,在數(shù)據(jù)預處理階段要循環(huán)多次剔除異常值等臟數(shù)據(jù),避免LSTM 模型訓練數(shù)據(jù)過程中過度的擬合訓練集中的特有特征,導致預報準確度降低。
針對傳統(tǒng)鐘差預報模型長期預報精度快速下降的問題,提出了一種采用小批量梯度下降法構建LSTM 鐘 差 預 報 的 模 型, 并 以VH085, VH340,Cs3436 和TA3050 鐘差數(shù)據(jù)為樣本,實現(xiàn)了原子鐘LSTM 鐘差實際預報,最后將LSTM 鐘差預報結果分別與其他三類原子鐘鐘差預報模型進行預報誤差對比。 預報結果表明:LSTM 神經(jīng)網(wǎng)絡模型參數(shù)選擇小批量隨機梯度下降算法進行優(yōu)化,可以在參數(shù)空間快速找到最優(yōu)組合,并使得LSTM 網(wǎng)絡模型實現(xiàn)更好的擬合。 在72 h 的預報時長,LSTM 預報精度比其他三類模型較低;在240 h 的預報時長,LSTM 與其他三類模型預報效果各有優(yōu)劣;在720 h 的預報時長,LSTM 預報性能明顯優(yōu)于其他3 類模型。