本發(fā)明涉及聯(lián)邦學習技術,具體涉及一種邊緣設備視覺模塊的聯(lián)邦學習方法。
背景技術:
1、邊緣設備視覺模塊通過對圖像的抓取、處理和分析,實現(xiàn)對象的識別和捕獲,為后續(xù)的基于機器視覺的決策提供支撐。隨著物聯(lián)網技術的發(fā)展,邊緣設備視覺模塊的應用越發(fā)普及,如智能家居設備,其隱私泄露問題逐步凸顯,愈發(fā)重要。邊緣設備視覺模塊的隱私數(shù)據(jù)保護主要面臨兩方面的挑戰(zhàn):一方面,用戶不希望自己的隱私數(shù)據(jù)被泄露,要求對自己的數(shù)據(jù)使用有知情權與控制權;另一方面,設備廠商希望盡可能多地采集用戶數(shù)據(jù),以提供更好的智能服務。
2、因此,如何有效地保護邊緣設備視覺模塊中用戶的隱私數(shù)據(jù)已成為亟需解決的重要問題。而聯(lián)邦學習則可以較好地解決數(shù)據(jù)的隱私問題。聯(lián)邦學習是一種分布式學習的變種,旨在保護數(shù)據(jù)隱私的同時,允許多個邊緣設備協(xié)同訓練模型,從而讓模型有更好的適應能力。聯(lián)邦學習的主要流程為:服務器將全局模型初始化后發(fā)送給參與聯(lián)邦學習的邊緣設備,各邊緣設備在本地利用自身存儲的數(shù)據(jù)對模型進行訓練,并將訓練的參數(shù)傳輸至服務器中,服務器對各個邊緣設備上傳的參數(shù)進行聚合,更新全局模型的參數(shù),再次分發(fā)給各邊緣設備,各邊緣設備再對新的全局模型進行本地訓練,以此循環(huán),最后獲得訓練完成的全局模型并分發(fā)給參與聯(lián)邦學習的各邊緣設備。
3、邊緣設備,其種類眾多,且不同設備的通信能力、通信穩(wěn)定性和本地算力都存在差異,呈現(xiàn)復雜多樣的異構形式。在聯(lián)邦訓練過程中,邊緣設備會因為自身的局限性導致通信內容的丟失或者通信斷連,從而影響聯(lián)邦學習系統(tǒng)整體效果。因此,如何解決聯(lián)邦學習系統(tǒng)中的可變終端問題,對如智能家居物聯(lián)網系統(tǒng)等邊緣設備視覺模塊的應用與落地十分重要。
4、當前,針對終端設備可變的聯(lián)邦學習系統(tǒng)的相關研究,人工神經網絡(artificialneural?network,ann)和脈沖神經網絡(spiking?neural?network,snn)都有相關研究,具體如下:
5、(1)ann方面,通常采用異步聯(lián)邦學習和知識蒸餾等技術,來解決聯(lián)邦學習中的可變終端設備問題。異步聯(lián)邦學習方式通過允許終端設備在不同時間完成本地模型更新的方式,來適應可變終端設備的不確定性。蒸餾學習通過將全局模型的知識傳遞給局部模型,以促使局部模型更好地學習,以此來解決終端設備可變導致的終端設備接收有效信息過少的問題。
6、(2)snn方面,通過將更具計算稀疏性和簡單性的脈沖神經單元與聯(lián)邦學習相結合,實現(xiàn)了比ann模型方法更加低功耗和低算力要求的聯(lián)邦學習系統(tǒng),使其能夠適配更加多樣的終端設備。這些方法通過對聯(lián)邦學習系統(tǒng)中模型訓練和模型聚和的方式進行改進,使其適配脈沖神經網絡,同時也研究了snn網絡在聯(lián)邦學習系統(tǒng)中的準確性和魯棒性。
7、對于ann的異步聯(lián)邦學習方法,雖然可以一定程度上緩解終端可變帶來的影響,但是因為每個設備更新的模型參數(shù)可能對其他設備產生不穩(wěn)定的影響,導致聯(lián)邦學習系統(tǒng)的整體收斂速度可能相對較慢,且難以調優(yōu)和進行收斂性和模型性能的分析。對于ann的知識蒸餾方法,存在信息丟失的問題,因為全局模型的知識被壓縮和傳遞給局部模型,可能無法完整地表達全局模型的復雜性。同時如果知識蒸餾過程不當,可能導致局部模型過度依賴于全局模型的特定特征,從而導致嚴重的過擬合問題。
8、對于snn與聯(lián)邦學習的結合,目前相關研究雖然表明該方法可以取得比ann更好的功耗表現(xiàn),使得snn能夠應對更加復雜和資源約束更加苛刻的邊端設備,但是聯(lián)邦學習系統(tǒng)下的snn模型仍然存在通信成本高與模型準確率低、收斂速度慢等問題。
技術實現(xiàn)思路
1、本發(fā)明所要解決的技術問題是:提出一種邊緣設備視覺模塊的聯(lián)邦學習方法,解決如智能家居邊緣設備等邊緣設備視覺模塊,基于snn網絡的聯(lián)邦學習方案存在的通信成本高、模型準確率低、收斂速度慢的問題。
2、本發(fā)明解決上述技術問題采用的技術方案是:
3、一種邊緣設備視覺模塊的聯(lián)邦學習方法,所述邊緣設備視覺模塊包括卷積脈沖神經網絡,所述卷積脈沖神經網絡包括卷積網絡及其脈沖層和全連接層及其脈沖層;所述卷積脈沖神經網絡的訓練,包括以下步驟:
4、a1、參與本輪訓練的各邊緣設備,分別按如下步驟,進行本地計算:
5、a11、邊緣設備接收服務器下發(fā)的全局模型,更新其本地模型;
6、a12、從邊緣設備的本地樣本集中,提取一個本地樣本,輸入邊緣設備的本地模型;
7、a13、在邊緣設備本地模型完成t個時間步的計算后,基于其全連接層的脈沖層各脈沖神經元在各時間步t的脈沖發(fā)射情況,計算獲得其點火率;所述t為預設超參數(shù),表示卷積脈沖神經網絡的時間步;
8、a14、邊緣設備將其點火率,上傳至服務器;
9、a2、按如下步驟,篩選邊緣設備并進行本地訓練:
10、a21、從各邊緣設備中,篩選點火率最大的前k1個邊緣設備,構成本輪的訓練設備集,所述k1為≥2的整數(shù);
11、a22、針對訓練設備集的各邊緣設備,分別利用其本地數(shù)據(jù)集和本地模型,按預設的本地訓練輪數(shù),進行本地訓練,獲得其更新后的本地模型參數(shù);
12、a23、訓練設備集的各邊緣設備,將其更新后的本地模型參數(shù),分別上傳至服務器;
13、a3、服務器對接收到的訓練設備集各邊緣設備更新后的本地模型參數(shù),進行聚合,并基于聚合結果對全局模型進行更新;
14、a4、判定是否達到預設的完成條件,若是,則停止訓練,此時的全局模型即為完成訓練的卷積脈沖神經網絡;否則,返回步驟a1,進行下一輪的全局訓練。
15、進一步的,步驟a13中,還包括:在邊緣設備本地模型完成t個時間步的計算后,基于其全連接層的脈沖層各脈沖神經元的膜電位,計算邊緣設備的平均膜電位;
16、步驟a14中,邊緣設備將其點火率和平均膜電位,上傳至服務器;
17、步驟a2的步驟a21之前,還包括:基于各邊緣設備的平均膜電位,進行均值計算,獲得本輪訓練的全局平均膜電位;基于全局平均膜電位,篩選獲得與其差值最大的前k2個邊緣設備;針對篩選獲得的k2個邊緣設備,分別利用其平均膜電位與全局平均膜電位的差值,更新其復位電位和時間常數(shù);所述k2為≥2的整數(shù)。
18、進一步的,按如下公式,更新其復位電位和時間常數(shù):
19、
20、
21、其中,vk2為第k2個邊緣設備的平均膜電位,xk2為第k2個邊緣設備的平均膜電位與全局平均膜電位的差值,參數(shù)γ為比例參數(shù),ur和τm為該邊緣設備更新前的復位電位和時間常數(shù),和為該邊緣設備更新后的復位電位和時間常數(shù)。
22、進一步的,步驟a1中,首先,從n個邊緣設備中,隨機選擇d個邊緣設備,構成本輪的設備集,作為參與本輪訓練的邊緣設備;然后,將設備集中的d個邊緣設備,分別按步驟a11~a14,進行本地計算;所述n為邊緣設備的總數(shù)量,d為n的10%~30%且d大于k1和k2。
23、進一步的,所述k1和k2均為2。
24、進一步的,所述卷積脈沖神經網絡采用lif脈沖神經元。
25、進一步的,步驟a13中,所述點火率按如下公式計算:
26、
27、其中,在第i個脈沖神經元在第t個時間步時發(fā)出脈沖為1、未發(fā)出脈沖為0,i表示全連接層脈沖層的脈沖神經元的數(shù)量,t為卷積脈沖神經網絡的預設時間步超參數(shù)。
28、進一步的,步驟a22中,采用bptt算法,進行本地訓練。
29、進一步的,步驟a3中,服務器對接收到的訓練設備集各邊緣設備更新后的本地模型參數(shù),按如下公式進行聚合:
30、
31、其中,為全局模型的參數(shù),m為訓練設備集,m為訓練設備集中邊緣設備的序號,d表示當前全局訓練輪次中訓練設備集m中各邊緣設備本地數(shù)據(jù)集的樣本數(shù)量和,dm表示第m個邊緣設備的本地數(shù)據(jù)集的樣本數(shù)量,wm為經本輪全局訓練中的本地訓練后第m個邊緣設備的本地模型的參數(shù)。
32、本發(fā)明的有益效果是:
33、(1)在每一輪全局訓練過程中,參與本輪訓練的各個邊緣設備在利用自身樣本在本地模型進行t個時間步計算后,根據(jù)各個時間步的脈沖發(fā)射情況計算出點火率上傳服務器,而服務器根據(jù)參與本輪訓練的各個邊緣設備上傳的點火率來篩選出高點火率的客戶端參與本地訓練和參數(shù)聚合更新,由于點火率能夠反映出脈沖神經網絡的神經元活躍性,處理的樣本越熟悉則點火率越低,而處理的樣本越新則點火率越高,因此,服務器選擇高的點火率的邊緣設備參與本地訓練和參數(shù)更新,可以提高異構設備的樣本類間平衡效率,從而提高聯(lián)邦學習的收斂速度,同時也提高了模型的準確率。
34、(2)在每一輪全局訓練過程中,參與本輪訓練的各個邊緣設備在利用自身樣本在本地模型進行t個時間步計算后,根據(jù)各個時間步的脈沖發(fā)射情況計算出點火率的同時,還計算出平均膜電位上傳服務器,而平均膜電位能夠反映出神經元被激活的概率,神經元被激活的概率最終也會影響點火率,因此,服務器通過計算參與本輪訓練的各個邊緣設備的全局平均膜電位,選出平均膜電位與全局平均膜電位偏差較大的邊緣設備進行復位電位值和時間常數(shù)的調節(jié),從而提高其在下一輪全局訓練中的平均膜電位,以此提高其在下一輪點火率,這樣會使得這些設備的點火率與其它設備的點火率逐漸趨向平衡,以進一步加速異構設備的樣本類間平衡效率,進一步提高聯(lián)邦學習的收斂速度和模型的準確率。
35、(3)通過上述對點火率特性和膜電位特性的充分利用,在整體上提高了模型訓練的收斂速度,進而使用較少的訓練輪數(shù)就能夠達到要求的準確率,從而也節(jié)省了功耗和通信成本。
36、本發(fā)明適用于智能家居設備等異構的邊緣設備視覺模塊中圖像識別模型的訓練。