林子謙,安艾芝,樊重俊
(上海理工大學(xué) 管理學(xué)院,上海 200093)
隨著經(jīng)濟(jì)的快速發(fā)展,人民對(duì)生活質(zhì)量的要求越來越高,旅客對(duì)空中交通的需求也越來越大,這對(duì)機(jī)場(chǎng)造成了很大的影響。機(jī)場(chǎng)的客流量是民航機(jī)場(chǎng)的重要生產(chǎn)指標(biāo),這是實(shí)現(xiàn)機(jī)場(chǎng)資源有效分配的基礎(chǔ),也是進(jìn)行機(jī)場(chǎng)項(xiàng)目投資決策的重要依據(jù)。近年來,許多學(xué)者提出了基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的方法來進(jìn)行交通流預(yù)測(cè)。其中,高偉等學(xué)者基于熵值-BP 神經(jīng)網(wǎng)絡(luò)的機(jī)場(chǎng)旅客吞吐量預(yù)測(cè)。王超等學(xué)者為了提高精度使用了改進(jìn)的灰色模型并且仿真上海虹橋的吞吐量。李航等學(xué)者使用注意力機(jī)制加上EDM 的模型對(duì)旅客量進(jìn)行預(yù)測(cè),通過編碼器與解碼器的功能對(duì)數(shù)據(jù)做正反向的特征提取,提高預(yù)測(cè)的精度。但是由于機(jī)場(chǎng)的價(jià)格政策與軍機(jī)演練等問題,以單個(gè)機(jī)場(chǎng)的數(shù)據(jù)不能很好地進(jìn)行旅客吞吐量預(yù)測(cè)。由于民用機(jī)場(chǎng)相關(guān)數(shù)據(jù)涉及商業(yè)機(jī)密以及旅客隱私安全等問題,匯總難度大,數(shù)據(jù)孤島現(xiàn)象嚴(yán)重。
谷歌提出了一個(gè)新的框架,叫做聯(lián)邦學(xué)習(xí),就有效地解決了隱私安全的問題。在聯(lián)邦學(xué)習(xí)模式的訓(xùn)練中,每個(gè)客戶端參與了模型的訓(xùn)練,都可以將其數(shù)據(jù)存儲(chǔ)到當(dāng)?shù)兀恍枰蟼鳌R虼耍總€(gè)機(jī)場(chǎng)使用自己的數(shù)據(jù)從服務(wù)器下載模型進(jìn)行訓(xùn)練,并將訓(xùn)練好的模型上傳至網(wǎng)絡(luò),將訓(xùn)練的模型或梯度導(dǎo)入服務(wù)器以進(jìn)行匯總,匯總后的模型或梯度信息將由服務(wù)器發(fā)送到客戶端。
在聯(lián)邦學(xué)習(xí)過程中,最經(jīng)常使用的則是同態(tài)加密方案。同態(tài)加密是一種可以直接對(duì)自己的數(shù)據(jù)進(jìn)行加密專用算法,其結(jié)果與明文下的計(jì)算值是相當(dāng)吻合的,由于傳送能力的不同,通常情況下這些加密方案可以分為:部分同態(tài)加密方案、有限同態(tài)加密方案、全同態(tài)加密方案。其中,部分同態(tài)加密,也就是只支持相加或相乘,比如Paillier 方案,只支持密文之間的加法,而不支持密文間的相乘操作。有限同態(tài)加密,則是既支持同態(tài)相加、又支持同態(tài)相乘,但對(duì)計(jì)算的次數(shù)有一定的局限性,例如Bonh-Goh-Nissim 方案可以支持無限次的同態(tài)相加,但最多只能支持一次同態(tài)相乘;而全同態(tài)算法,在不需要自舉運(yùn)算的情況下,可以支持任何數(shù)量的同態(tài)相加和同態(tài)乘法。
本文中,設(shè)計(jì)了基于聯(lián)邦學(xué)習(xí)預(yù)測(cè)吞吐量的模型,首先各個(gè)機(jī)場(chǎng)對(duì)歷史數(shù)據(jù)進(jìn)行預(yù)測(cè)處理,在剔除異常值后對(duì)吞吐數(shù)據(jù)進(jìn)行歸一化,消除量綱的影響;其次,通過使用邏輯回歸算法與同態(tài)加密相結(jié)合,使其機(jī)場(chǎng)在不泄露相關(guān)數(shù)據(jù)的情況下,能夠共享訓(xùn)練一個(gè)預(yù)測(cè)模型。
聯(lián)邦學(xué)習(xí)是一種新的分布式機(jī)器學(xué)習(xí)技術(shù),技術(shù)目的在于確保信息安全與合法合規(guī)的前提下,通過對(duì)各參與節(jié)點(diǎn)進(jìn)行高效的機(jī)器學(xué)習(xí),使其能夠更好地進(jìn)行協(xié)同訓(xùn)練,從而獲得整體的模型。研究中的基本算法并不限于統(tǒng)計(jì)機(jī)器學(xué)習(xí)技術(shù),還包括目前快速發(fā)展的深層神經(jīng)網(wǎng)絡(luò)。具體的聯(lián)邦學(xué)習(xí)的目標(biāo)函數(shù)為:



其中,第個(gè)參與方的梯度為g=?F(w),學(xué)習(xí)率為,則第輪迭代得到的新參數(shù)為:

每個(gè)參與方的本地更新為:

Paillier 半同態(tài)加密算法是由Paillier在1999年提出的,是一種非對(duì)稱加密算法的實(shí)現(xiàn),可以處理加密后的數(shù)據(jù),計(jì)算的結(jié)果仍然是加密的,擁有密鑰的用戶對(duì)該加密的結(jié)果可以進(jìn)行解密。


假設(shè)參與訓(xùn)練的機(jī)場(chǎng)的參數(shù)分別為θ,θ,則二者聚合在一起的目標(biāo)函數(shù)為:

則機(jī)場(chǎng)的模型與機(jī)場(chǎng)的模型參數(shù)更新為:

由于Paillier 加密算法只支持加法同態(tài)和標(biāo)量乘法同態(tài),因此文獻(xiàn)[8]使用泰勒展開式的方法進(jìn)行近似原始對(duì)數(shù)損失的方法。本文首先將公式對(duì)數(shù)損失函數(shù)log (1+e) 在0 處的泰勒展開,表達(dá)式為:

其中的最后一項(xiàng)由于=1,因此直接去掉,得到:

因此,對(duì)應(yīng)加密后的梯度為:

本文的模型當(dāng)中,首先對(duì)2 個(gè)機(jī)場(chǎng)數(shù)據(jù)進(jìn)行異常值處理,同時(shí)進(jìn)行歸一化處理消除量綱的影響。通過邏輯回歸的方法進(jìn)行訓(xùn)練,并使用同態(tài)加密的方法進(jìn)行隱私保護(hù),聯(lián)邦服務(wù)器端通過聚合兩者本地模型,最終訓(xùn)練出適用于當(dāng)?shù)貦C(jī)場(chǎng)評(píng)估的模型。機(jī)場(chǎng)聯(lián)邦學(xué)習(xí)框架如圖1 所示。

圖1 機(jī)場(chǎng)聯(lián)邦學(xué)習(xí)框架Fig.1 Federated learning framework of the airport
由于機(jī)場(chǎng)會(huì)出現(xiàn)極端天氣、演練事件的影響,容易出現(xiàn)異常值。因此,當(dāng)旅客吞吐量數(shù)值未能分布在(-3,3)時(shí),將被判定為異常數(shù)據(jù)。根據(jù)式(11)剔除異常值:


假設(shè)X為某機(jī)場(chǎng)某一時(shí)段的機(jī)場(chǎng)旅客吞吐量,則研究推出的歸一化公式為:

其中,為數(shù)據(jù)中旅客量最小值,為數(shù)據(jù)中旅客量最大值。

近年來研究發(fā)現(xiàn)通過梯度的傳輸也會(huì)導(dǎo)致數(shù)據(jù)隱私泄露的風(fēng)險(xiǎn),因此在傳送梯度的過程中進(jìn)行同態(tài)加密是十分重要的。算法步驟具體如下:
機(jī)場(chǎng)的吞吐量和機(jī)場(chǎng)吞吐量分別產(chǎn)生一對(duì)公私鑰,并將公鑰發(fā)送到服務(wù)器。


服務(wù)器以同樣的過程進(jìn)行加密,傳送給機(jī)場(chǎng)與機(jī)場(chǎng)。
機(jī)場(chǎng)與機(jī)場(chǎng)通過解密得到L,并根據(jù)式(8)得到計(jì)算梯度,再使用梯度下降法進(jìn)行參數(shù)更新。此后再次同態(tài)加密傳送到服務(wù)器。
重復(fù)Step1~Step5,直到模型收斂。
當(dāng)服務(wù)器進(jìn)行詢問時(shí),模型部署在機(jī)場(chǎng)和機(jī)場(chǎng)中,預(yù)測(cè)過程和上述訓(xùn)練過程類似。對(duì)此擬做闡釋如下。

根據(jù)本文航空旅客吞吐量進(jìn)行預(yù)測(cè),由于選取的實(shí)驗(yàn)數(shù)據(jù)集完整不存在缺失值、但是存在異常值的問題,所以對(duì)數(shù)據(jù)集進(jìn)行歸一化與異常數(shù)據(jù)剔除的處理。本文所選數(shù)據(jù)集為某市2 個(gè)機(jī)場(chǎng)從2017年1 月1 日到2017 年12 月31 日的每天旅客吞吐量的數(shù)據(jù)集。
實(shí)驗(yàn)環(huán)境配置為Ubuntu21.0 操作系統(tǒng),Intel Core i5-8300H,8 GB 內(nèi)存,Python3.6 編程語言,Pytorch3.6 框架,顯卡型號(hào)RTX 3080。其中,模型的學(xué)習(xí)率為0.01,動(dòng)量為0.9,迭代次數(shù)都為50,且取80%為訓(xùn)練值,剩下的20%為預(yù)測(cè)值。
本文中,分析模型的實(shí)驗(yàn)結(jié)果,采用平均絕對(duì)百分比誤差()作為模型評(píng)價(jià)函數(shù),以此評(píng)價(jià)模型的預(yù)測(cè)效果,具體公式如下:

機(jī)場(chǎng)真實(shí)數(shù)據(jù)與邏輯回歸預(yù)測(cè)對(duì)比如圖2 所示,機(jī)場(chǎng)真實(shí)數(shù)據(jù)與聯(lián)邦學(xué)習(xí)預(yù)測(cè)對(duì)比如圖3 所示,機(jī)場(chǎng)真實(shí)數(shù)據(jù)與邏輯回歸預(yù)測(cè)對(duì)比如圖4 所示,機(jī)場(chǎng)真實(shí)數(shù)據(jù)與聯(lián)邦學(xué)習(xí)預(yù)測(cè)對(duì)比如圖5 所示。由圖2 可知,很明顯在單個(gè)機(jī)場(chǎng)進(jìn)行訓(xùn)練的過程中,由于存在一定的噪聲的原因,導(dǎo)致模型在擬合的過程中,出現(xiàn)預(yù)測(cè)過高、或者波動(dòng)大的問題,圖2與圖4 都出現(xiàn)了跳動(dòng)比較大或者預(yù)測(cè)值過高的情況。而聯(lián)邦學(xué)習(xí)后的訓(xùn)練值不論是機(jī)場(chǎng)、還是機(jī)場(chǎng)的擬合度都特別高,特別是機(jī)場(chǎng)的擬合不論是時(shí)間的波動(dòng)、還是預(yù)測(cè)的誤差值都十分接近真實(shí)。

圖2 機(jī)場(chǎng)A 真實(shí)數(shù)據(jù)與邏輯回歸預(yù)測(cè)對(duì)比圖Fig.2 Comparison between real data and predictions of logistic regression for airport A

圖3 機(jī)場(chǎng)A 真實(shí)數(shù)據(jù)與聯(lián)邦學(xué)習(xí)預(yù)測(cè)對(duì)比圖Fig.3 Comparison between real data and predictions of federated learning for airport A

圖4 機(jī)場(chǎng)B 真實(shí)數(shù)據(jù)與邏輯回歸預(yù)測(cè)對(duì)比圖Fig.4 Comparison between real data and predictions of logistic regression for airport B

圖5 機(jī)場(chǎng)B 真實(shí)數(shù)據(jù)與聯(lián)邦學(xué)習(xí)預(yù)測(cè)對(duì)比圖Fig.5 Comparison of real data and predictions of federated learning for airport B
邏輯回歸與聯(lián)邦學(xué)習(xí)回歸的對(duì)比結(jié)果見表1。由邏輯回歸與聯(lián)邦學(xué)習(xí)兩種方法值的對(duì)比顯示,若直接使用邏輯回歸進(jìn)行預(yù)測(cè),分別得到的準(zhǔn)確值為0.2204 與0.1914,而通過將二者聚合之后的模型有著明顯的提升的效果。由此也可以證明本方案的可行性與有效性。

表1 邏輯回歸與聯(lián)邦學(xué)習(xí)回歸MPAE 的對(duì)比表Tab.1 Comparison table of MAPE between logistic regression and federated learning regression
通過對(duì)旅客吞吐量進(jìn)行預(yù)測(cè),機(jī)場(chǎng)可選擇在客流量較少的時(shí)段內(nèi)進(jìn)行維修或其它建設(shè)活動(dòng),使得對(duì)機(jī)場(chǎng)運(yùn)行和管理造成的影響降到最低;同時(shí),在客流高峰期,適當(dāng)配置與之相適應(yīng)的內(nèi)外資源,例如:地面公共交通資源、地勤人員、安保人員等,以保證機(jī)場(chǎng)的暢通和生產(chǎn)的安全。本文中,應(yīng)用在聯(lián)邦學(xué)習(xí)的方法使得2 個(gè)機(jī)場(chǎng)在發(fā)生涉及隱私的情況時(shí)會(huì)訓(xùn)練一個(gè)共同的模型,并且在傳遞模型的過程中,用到了同態(tài)加密,由此保障了數(shù)據(jù)不會(huì)被泄露。本方案是首次將聯(lián)邦學(xué)習(xí)應(yīng)用在2 個(gè)不同的機(jī)場(chǎng)旅客量預(yù)測(cè)當(dāng)中,未來將會(huì)把機(jī)場(chǎng)圖像分割與其他傳感器的數(shù)據(jù)相結(jié)合并擴(kuò)展到深度學(xué)習(xí)模型當(dāng)中。