董耀眾,褚晨曦,劉文婷,李濟(jì)偉,李偉良
(國(guó)家電網(wǎng)有限公司信息通信分公司,北京,100761)
聯(lián)邦學(xué)習(xí)是一種快速發(fā)展的機(jī)器學(xué)習(xí)技術(shù),特點(diǎn)是分布式和隱私保護(hù)。外圍設(shè)備在不加載本地?cái)?shù)據(jù)聯(lián)合訓(xùn)練,由任務(wù)發(fā)布者的共享全局模型。每個(gè)終端設(shè)備接收到全局模型后,會(huì)使用私有數(shù)據(jù)在訓(xùn)練模型。終端設(shè)備加載新參數(shù)。每個(gè)移動(dòng)設(shè)備都有本地訓(xùn)練數(shù)據(jù),用作訓(xùn)練數(shù)據(jù)的樣本。聯(lián)邦學(xué)習(xí)的目標(biāo)是通過(guò)最小化端節(jié)點(diǎn)使用本地?cái)?shù)據(jù)集,學(xué)習(xí)到的局部函數(shù)的加權(quán)平均值,減少總損失并最小化總損失。一般聯(lián)邦學(xué)習(xí)框架使用隨機(jī)梯度下降法迭代,迭代地選擇訓(xùn)練樣例,計(jì)算相對(duì)于梯度值,并使用適當(dāng)方向的梯度來(lái)最小化。在聯(lián)邦學(xué)習(xí)中,看到具有更好質(zhì)量和本地?cái)?shù)據(jù)采樣的端點(diǎn),使本地?fù)p失和全局損失函數(shù)更接近。因此,高質(zhì)量的邊界節(jié)點(diǎn)可以提高聯(lián)邦學(xué)習(xí)整個(gè)任務(wù)的精度和效率,降低聯(lián)邦學(xué)習(xí)的時(shí)間和成本。由于聯(lián)邦學(xué)習(xí)的保密性,在物聯(lián)網(wǎng)上的也是無(wú)窮無(wú)盡的。應(yīng)用包括智慧交通和5G網(wǎng)絡(luò)。在智能交通方面,聯(lián)邦學(xué)習(xí)用作工人,單位用作任務(wù)發(fā)布。車輛充當(dāng)更新數(shù)據(jù)的工作者,路邊單位充當(dāng)收集更新的發(fā)布??捎糜谥悄芙煌ㄖ械能囕v預(yù)測(cè)和路線規(guī)劃。數(shù)據(jù)分析是5G中的一個(gè)重要問(wèn)題,數(shù)據(jù)分析是關(guān)鍵問(wèn)題。直接獲取信息進(jìn)行分析會(huì)導(dǎo)致機(jī)密性泄漏,在線數(shù)據(jù)可能包含機(jī)密內(nèi)容。因此,在區(qū)域網(wǎng)絡(luò)中使用聯(lián)邦技術(shù)進(jìn)行學(xué)習(xí),只將模型上傳到中心,保護(hù)了數(shù)據(jù)的機(jī)密性,提高了運(yùn)行的使用安全性。
為基于聯(lián)邦區(qū)塊鏈的物聯(lián)網(wǎng)系統(tǒng)制定功能需求和非功能需求。功能需求包括:本地服務(wù)器模型學(xué)習(xí),基于局部模型創(chuàng)建全局模型,并且無(wú)需加載局部數(shù)據(jù)。采用全局合并模型分類,基于客戶對(duì)模型學(xué)習(xí)的貢獻(xiàn)報(bào)酬。維護(hù)邊界數(shù)據(jù)的機(jī)密性,有良好的模型精度。保證資料的完整性,維護(hù)區(qū)塊鏈設(shè)施的可用性。提供基本的系統(tǒng)架構(gòu),滿足聯(lián)邦學(xué)習(xí)框架和區(qū)塊鏈的功能性要求。客戶端數(shù)據(jù)穩(wěn)定協(xié)議,以確保使用數(shù)據(jù)的完整性,并鼓勵(lì)積極參與模型學(xué)習(xí)。各個(gè)聯(lián)邦培訓(xùn)系統(tǒng)的所有者作為組織,負(fù)責(zé)根據(jù)系統(tǒng)測(cè)試支持所有行業(yè)服務(wù),組織負(fù)責(zé)提供數(shù)據(jù)和本地訓(xùn)練的計(jì)算資源模型,客戶端組織有傳感器、客戶端設(shè)備、服務(wù)器和完整的區(qū)塊鏈節(jié)點(diǎn)。中心組織包含中心服務(wù)器和區(qū)塊完整的區(qū)塊節(jié)點(diǎn)。設(shè)備通過(guò)數(shù)據(jù)采集器采集傳感器接收到的數(shù)據(jù),通過(guò)客戶端數(shù)據(jù)預(yù)處理器對(duì)數(shù)據(jù)處理。所有收集的環(huán)境數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)庫(kù)中。選擇客戶端組時(shí),服務(wù)器從中央服務(wù)器下載模型最新版本并傳輸模型。更新數(shù)據(jù)集和模型參數(shù),將更新后的參數(shù)傳遞給服務(wù)器上,結(jié)合從客戶端接收的參數(shù),最終返回新的全局模型。當(dāng)檢測(cè)到設(shè)備缺陷時(shí),將結(jié)果加密并發(fā)送到機(jī)構(gòu),操作員將通過(guò)解碼器獲得的結(jié)果解密,并做出處理決策。每個(gè)服務(wù)器定期創(chuàng)建節(jié)點(diǎn)數(shù)據(jù)記錄,在聯(lián)邦訓(xùn)練中,參與訓(xùn)練的客戶端的信息使用的數(shù)據(jù)量,因?yàn)橛?xùn)練模型存儲(chǔ)在合約中,由于數(shù)據(jù)的綁定,智能合約部署在區(qū)塊鏈中,存儲(chǔ)在各種組織。
保護(hù)客戶端組織的機(jī)密業(yè)務(wù)數(shù)據(jù),在本地進(jìn)行訓(xùn)練,服務(wù)器負(fù)責(zé)遷移合并設(shè)備。區(qū)塊鏈存儲(chǔ)容量有限,服務(wù)器定期創(chuàng)建記錄,并通過(guò)數(shù)據(jù)鏈接將節(jié)點(diǎn)存儲(chǔ)在智能合同。為了鼓勵(lì)積極參與模型學(xué)習(xí),架構(gòu)開(kāi)發(fā)基于智能激勵(lì)機(jī)制。根據(jù)使用的數(shù)據(jù)大小,客戶組織獎(jiǎng)勵(lì)客戶組織本地培訓(xùn)。獎(jiǎng)勵(lì)記錄在智能合約中。在這種情況下,每個(gè)參與組織都擁有完整的區(qū)塊鏈節(jié)點(diǎn),每個(gè)組織都擁有用于審計(jì)的數(shù)據(jù)的精確副本,確保整個(gè)系統(tǒng)的可用性。
大多數(shù)研究都是基于橫向聯(lián)邦學(xué)習(xí),但橫向聯(lián)邦只能解決機(jī)器學(xué)習(xí)實(shí)例數(shù)量不足的問(wèn)題,對(duì)于實(shí)際應(yīng)用很少。大多數(shù)實(shí)際場(chǎng)景是學(xué)習(xí)的縱向問(wèn)題,意味著聯(lián)邦學(xué)習(xí)參與者都有足夠的例子來(lái)聯(lián)合建模大小。在聯(lián)邦學(xué)習(xí)框架的橫向問(wèn)題中,參與者都擁有功能。訓(xùn)練所需的數(shù)據(jù)標(biāo)簽數(shù)據(jù),以便參與者可以在迭代模型將迭代結(jié)果上傳到服務(wù)器更新,這相對(duì)容易實(shí)現(xiàn)。在縱向聯(lián)邦訓(xùn)練中,每個(gè)參與者的特征不同,多數(shù)參與者沒(méi)有標(biāo)記數(shù)據(jù)。由于學(xué)習(xí)要求并非所有參與者都能共享數(shù)據(jù),導(dǎo)致了垂直聯(lián)合。在訓(xùn)練過(guò)程中,并不是每個(gè)參與者能在完成模型的迭代學(xué)習(xí)。為了實(shí)現(xiàn)垂直學(xué)習(xí)系統(tǒng),需要針對(duì)機(jī)器學(xué)習(xí)模型在算法層面對(duì)模型進(jìn)行細(xì)化,以確保機(jī)器學(xué)習(xí)都基于參與者下載的數(shù)據(jù)。目前,縱向聯(lián)邦訓(xùn)練所有研究都是針對(duì)機(jī)器學(xué)習(xí)算法的,很難建立通用的系統(tǒng)結(jié)構(gòu)。
聯(lián)邦學(xué)習(xí)在解決機(jī)器學(xué)習(xí)程中的安全問(wèn)題,即學(xué)習(xí)是否安全。除了源模型的參數(shù)外,任何數(shù)據(jù)信息都不應(yīng)在流動(dòng),數(shù)據(jù)信息的結(jié)果不應(yīng)發(fā)生變化。在聯(lián)邦學(xué)習(xí)框架學(xué)習(xí)中,模型的迭代都需要經(jīng)過(guò)訓(xùn)練來(lái)解密和加密。每次迭代都必須與服務(wù)器交互,數(shù)據(jù)無(wú)法聚合,經(jīng)常出現(xiàn)溝通問(wèn)題。為減少涉及的系統(tǒng)中加解密的壓力,加密算法是目前聯(lián)邦學(xué)習(xí)框架中使用廣泛的算法,但會(huì)增加數(shù)量。需要傳輸字節(jié)的數(shù)據(jù),但需要傳輸千字節(jié),導(dǎo)致聯(lián)邦學(xué)習(xí)學(xué)習(xí)速度比傳統(tǒng)的機(jī)器學(xué)習(xí)降低。由于算法在學(xué)習(xí)中通常有大量的數(shù)據(jù)進(jìn)行交互,需要考慮真實(shí)情況下的穩(wěn)定性,從而提高聯(lián)邦學(xué)習(xí)框架速度[1]。
加密學(xué)習(xí)規(guī)劃是確保分布式協(xié)作機(jī)制學(xué)習(xí)影響和計(jì)算效率的重要部分。在此背景下研究規(guī)劃方法,從時(shí)間組件到每個(gè)模型,在時(shí)間分量中加載加密損失函數(shù)的加密估計(jì)值,其他模型的處理相同。將網(wǎng)絡(luò)層數(shù)據(jù)中心加載到規(guī)劃組件中,局部模型得到總損失函數(shù)后才能更新,規(guī)劃組件必須取局部模型加載的參數(shù),用同態(tài)加密計(jì)算和規(guī)劃總函數(shù)。根據(jù)損失函數(shù),每個(gè)局部模型更新組件傳遞。網(wǎng)絡(luò)層數(shù)據(jù)中心業(yè)務(wù)必須更新各個(gè)子模型,而本地模型根據(jù)等式需要網(wǎng)絡(luò)層數(shù)據(jù)加密參數(shù),重現(xiàn)聯(lián)邦培訓(xùn)的機(jī)制。通過(guò)使用協(xié)作機(jī)制獲取和總結(jié)參與者的計(jì)算結(jié)果,完成局部模型的更新。由于網(wǎng)絡(luò)級(jí)數(shù)據(jù)中心在樣本量接受二次統(tǒng)計(jì),網(wǎng)絡(luò)級(jí)數(shù)據(jù)中心覆蓋了各用戶群體。根據(jù)聯(lián)邦機(jī)制,各數(shù)據(jù)就職能規(guī)模達(dá)成一致,但樣本組不同。網(wǎng)絡(luò)層面的數(shù)據(jù)提供了滿足業(yè)務(wù)的標(biāo)簽,作為參與者在聯(lián)合演習(xí)中的相同,與附屬不匹配的唯一數(shù)據(jù)。通過(guò)合作機(jī)制,分析整個(gè)聯(lián)邦學(xué)習(xí)過(guò)程的信息安全問(wèn)題。每個(gè)本地模型的學(xué)習(xí)不會(huì)將自己的模型和訓(xùn)練數(shù)據(jù)發(fā)送到組件,因此其他參與者無(wú)法獲得。由于同態(tài)加密計(jì)算的不變性,損失函數(shù)的初值和加密后可以給出相同的計(jì)算結(jié)果。參與者下載的都是同態(tài)加密的,不能了解參與者內(nèi)容。合作組件將整體損失傳遞給每個(gè)參與者,訪問(wèn)協(xié)作組中的設(shè)置,內(nèi)容本身不會(huì)透露本地?cái)?shù)據(jù)的模型[2]。
聯(lián)邦學(xué)習(xí)的重要特征是不同的機(jī)構(gòu)參與聯(lián)合學(xué)習(xí)。這種機(jī)制與獎(jiǎng)勵(lì)機(jī)制進(jìn)行比較。聯(lián)邦學(xué)習(xí)框架中涉及的數(shù)據(jù)主體越多,模型就越好。對(duì)于網(wǎng)格系統(tǒng),傳統(tǒng)的運(yùn)行是數(shù)據(jù)中心在網(wǎng)絡(luò)層保持?jǐn)?shù)據(jù)層的通信,將最終信息傳輸?shù)骄W(wǎng)絡(luò)層。數(shù)據(jù)中心和網(wǎng)絡(luò)層中心使用數(shù)據(jù)。執(zhí)行整個(gè)系統(tǒng)中的數(shù)據(jù)任務(wù),網(wǎng)絡(luò)級(jí)數(shù)據(jù)中心承擔(dān)了大部分的工作。隨著數(shù)據(jù)的增長(zhǎng),中心大數(shù)據(jù)模型對(duì)應(yīng)用并不大。去中心化學(xué)習(xí)的思想,將計(jì)算負(fù)載轉(zhuǎn)化為分布式,供多個(gè)參與者完成給定任務(wù)。多個(gè)所有者提供自己的本地?cái)?shù)據(jù),每個(gè)數(shù)據(jù)所有者提供計(jì)算能力,而不是數(shù)據(jù)本身。保護(hù)了各信息安全,還提高了業(yè)務(wù)處理能力。由于模型是通用的,結(jié)構(gòu)與所有其他模型相似,實(shí)際測(cè)量可以在網(wǎng)絡(luò)數(shù)據(jù)中心中進(jìn)行,意味著其他員工可以通過(guò)聯(lián)邦從提高處理效率中受益。多個(gè)參與者共享總計(jì)算負(fù)載,根據(jù)運(yùn)營(yíng)模式,網(wǎng)絡(luò)層的數(shù)據(jù)中心必須合作,會(huì)產(chǎn)生不必要的資源。大部分計(jì)算負(fù)載集中在網(wǎng)絡(luò)層中心。使用聯(lián)邦學(xué)習(xí)框架機(jī)制,可以將計(jì)算負(fù)載配給每個(gè)參與者,提高了模型的計(jì)算能力[3]。
通過(guò)模擬訓(xùn)練,模仿學(xué)習(xí)通常被稱為克隆或回溯學(xué)習(xí)。模擬訓(xùn)練通過(guò)消除訓(xùn)練缺點(diǎn),如研究和獎(jiǎng)勵(lì)率,提高了機(jī)器訓(xùn)練的有效性。使用獲取本地機(jī)器人知識(shí)是行為克隆,使用受控學(xué)習(xí)來(lái)訓(xùn)練專家的策略。行為克隆為了演示這項(xiàng)工作,這些對(duì)作為學(xué)習(xí)示例,應(yīng)用監(jiān)督學(xué)習(xí)獲取知識(shí)。在云機(jī)器人系統(tǒng)中實(shí)現(xiàn),由本地機(jī)器人、云服務(wù)器和計(jì)算機(jī)組成。通過(guò)模擬學(xué)習(xí)技能,服務(wù)器整合知識(shí)。基于聯(lián)邦學(xué)習(xí)框架的方法,將私有模型集成到云中的共享模型。通過(guò)共享模型,可以根據(jù)本地機(jī)器人生成合適的引導(dǎo)模型。本地機(jī)器人根據(jù)模型執(zhí)行瞬態(tài)學(xué)習(xí),達(dá)成最終的策略。使用模擬訓(xùn)練獲得異構(gòu)數(shù)據(jù)的策略模型,包含了RGB圖像和語(yǔ)義分割圖像。輸出數(shù)據(jù)不能在本地機(jī)器人傳輸,也不能在機(jī)器人和云之間傳輸。只有策略參數(shù)會(huì)被加載和集成,云端會(huì)根據(jù)機(jī)器人的要求提供引導(dǎo)模型?;谧詣?dòng)任務(wù),通常會(huì)收集類型數(shù)據(jù)。本地作業(yè)使用不同類型的數(shù)據(jù)集,機(jī)器人數(shù)據(jù)集標(biāo)記但未發(fā)送到云端。機(jī)器人的動(dòng)作由輸出決定,輸出是一些動(dòng)作或參數(shù)。每個(gè)模型都有不同的輸入,將模型的設(shè)置上傳到合并云。云將能夠?yàn)椴煌妮斎雱?chuàng)建指南模型。當(dāng)機(jī)器人請(qǐng)求服務(wù)時(shí),云端會(huì)提供與傳感器數(shù)型匹配的引導(dǎo)模型[4]。
信息融合算法部署在云端,本地機(jī)器人通過(guò)模擬訓(xùn)練獲得模型。云為場(chǎng)景存儲(chǔ)不同類型的傳感器數(shù)據(jù)。從云數(shù)據(jù)中收集的適當(dāng)傳感器數(shù)據(jù)輸入到模型中。計(jì)算自定義模型的輸出,是場(chǎng)景的數(shù)字屬性。這個(gè)數(shù)據(jù)不是本地下載,而是云端收集的,數(shù)據(jù)集比本地?cái)?shù)據(jù)集都要大很多。使用多種傳感器數(shù)據(jù),可以創(chuàng)建與本地機(jī)器人類型匹配的模型。通過(guò)集中存儲(chǔ)數(shù)據(jù)來(lái)整合知識(shí),由于通信有限,不能用于具有大規(guī)模數(shù)據(jù)集的云機(jī)器人系統(tǒng)。引入聯(lián)邦學(xué)習(xí)框架體系,移動(dòng)設(shè)備根據(jù)模型發(fā)布的模型對(duì)學(xué)習(xí)數(shù)據(jù)進(jìn)行學(xué)習(xí)的本地計(jì)算。這種設(shè)計(jì)允許設(shè)備通過(guò)研究模型和共享模型協(xié)作,將所有數(shù)據(jù)存儲(chǔ)在設(shè)備上。許多機(jī)器人任務(wù)也需要將數(shù)據(jù)與多個(gè)傳感器合并。無(wú)法將傳感器數(shù)據(jù)上傳到云端,在云機(jī)器人系統(tǒng)中提供了通用的模擬系統(tǒng),以提高機(jī)器人能力。在框架和算法中,不需要將傳感器加載到云端,只需在云端使用模型參數(shù)。云的職責(zé)是標(biāo)記場(chǎng)景,先收集一些數(shù)據(jù)用于云訓(xùn)練,數(shù)據(jù)類型必須覆蓋本地?cái)?shù)據(jù)集。必須為云端收集RGB圖像和語(yǔ)義分割圖像。因此,場(chǎng)景具有傳感器。每個(gè)模型都有對(duì)應(yīng)的特殊下載模型,提供了標(biāo)記云的建議。結(jié)合這些以獲得場(chǎng)景的最終標(biāo)簽。標(biāo)記的計(jì)算可以從根據(jù)應(yīng)用場(chǎng)景定義的集群訓(xùn)練中學(xué)習(xí),在這種情況下選擇初始決策作為標(biāo)簽。根據(jù)模型給出一個(gè)預(yù)測(cè),使用云中的共享作為本地機(jī)器人引導(dǎo)模型。共享模型是智能策略模型,意味著在特殊的非結(jié)構(gòu)化環(huán)境中不會(huì)產(chǎn)生嚴(yán)重的錯(cuò)誤,但所采取的行動(dòng)不是最好的。因此,本地機(jī)器人必須基于云端的通用模型訓(xùn)練模型。通過(guò)源區(qū)分布與目標(biāo)區(qū)分布關(guān)系,需要來(lái)自本地機(jī)器人數(shù)據(jù),是一種遷移學(xué)習(xí),可以在限制下執(zhí)行層遷移。層遷移是模型中由源數(shù)據(jù)的某些層直接復(fù)制,其他層由目標(biāo)數(shù)據(jù)。目標(biāo)數(shù)據(jù)只需要用較少的參數(shù)訓(xùn)練,避免了重新裝備。具有更高的學(xué)習(xí)速度和準(zhǔn)確率。在不同的任務(wù)中,傳輸層通常不同。在語(yǔ)音識(shí)別中,通常會(huì)復(fù)制最后一層并訓(xùn)練第一層。因?yàn)檎Z(yǔ)音識(shí)別神經(jīng)網(wǎng)絡(luò)是識(shí)別說(shuō)話人發(fā)音,最后一層是識(shí)別。在識(shí)別圖像時(shí),通常復(fù)制前層并訓(xùn)練后層[5]。