本發(fā)明涉及機(jī)器學(xué)習(xí)領(lǐng)域,具體為一種基于模型拆分的分布式聯(lián)邦學(xué)習(xí)通信壓縮方案。
背景技術(shù):
1、近年來,深度學(xué)習(xí)已經(jīng)成為解決許多機(jī)器學(xué)習(xí)問題的重要方法,特別是在深度神經(jīng)網(wǎng)絡(luò)的快速發(fā)展下,神經(jīng)網(wǎng)絡(luò)被應(yīng)用于計(jì)算機(jī)視覺、自然語言處理等領(lǐng)域。隨著訓(xùn)練數(shù)據(jù)量的增加以及單個(gè)設(shè)備計(jì)算能力的限制,分布式機(jī)器學(xué)習(xí)被廣泛用于訓(xùn)練這些大規(guī)模的深度神經(jīng)網(wǎng)絡(luò),使訓(xùn)練時(shí)間大大縮短。
2、而聯(lián)邦學(xué)習(xí)是一種流行高效的分布式機(jī)器學(xué)習(xí)范式和框架,聯(lián)邦學(xué)習(xí)沿用傳統(tǒng)分布式機(jī)器學(xué)習(xí)的參數(shù)服務(wù)器-工作服務(wù)器架構(gòu),聯(lián)邦學(xué)習(xí)可以將模型訓(xùn)練計(jì)算過程分配給各個(gè)數(shù)據(jù)所有者,使其在本地安全環(huán)境執(zhí)行訓(xùn)練,再將訓(xùn)練模型參數(shù)提交給中央服務(wù)器進(jìn)行聚集以獲取高質(zhì)量的全局模型。如此循環(huán)往復(fù),直到模型收斂。
3、在某一些情況下,參與聯(lián)邦學(xué)習(xí)的設(shè)備的通信能力差別巨大,這導(dǎo)致通信開銷成為訓(xùn)練過程中的主要瓶頸,其中參數(shù)的通信時(shí)間遠(yuǎn)超過計(jì)算時(shí)間。因此,通信壓縮在聯(lián)邦學(xué)習(xí)中是一個(gè)至關(guān)重要的必要條件。目前在分布式聯(lián)邦學(xué)習(xí)場景下存在著很多通信壓縮方案,其中最常用的是對(duì)于模型的參數(shù)矩陣進(jìn)行壓縮的方案和對(duì)于模型的梯度矩陣進(jìn)行通信壓縮的方案,但是由于以上各種方案需要繁雜的計(jì)算,導(dǎo)致最終的實(shí)際效果一般,造成精度損失和收斂率降低的問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的發(fā)明目的在于:針對(duì)上述現(xiàn)有的技術(shù)存在的技術(shù)缺陷和問題,我們提供一種基于模型拆分的通信壓縮方案。其旨在解決現(xiàn)有的針對(duì)大型神經(jīng)網(wǎng)絡(luò)傳統(tǒng)通信壓縮算法所造成的精度損失和收斂率降低的問題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種基于模型拆分的分布式聯(lián)邦學(xué)習(xí)通信壓縮方案,包括以下步驟:
3、步驟1、針對(duì)所預(yù)設(shè)的模型參數(shù)x,選擇指定的邊緣設(shè)備參與訓(xùn)練,并初始化數(shù)據(jù)和損失函數(shù):
4、其中由一個(gè)全局服務(wù)器指定多個(gè)邊緣設(shè)備參與模型訓(xùn)練任務(wù),每個(gè)邊緣設(shè)備i的本地存儲(chǔ)著將被用來訓(xùn)練模型參數(shù)的數(shù)據(jù),這些數(shù)據(jù)的分布情況由最初全局服務(wù)器指定,本方案僅考慮所有邊緣設(shè)備的數(shù)據(jù)均為獨(dú)立同分布的情況;
5、其中由全局服務(wù)器初始化模型參數(shù)、訓(xùn)練損失函數(shù)以及訓(xùn)練超參數(shù),并將初始化模型參數(shù)分發(fā)到各個(gè)邊緣設(shè)備,同時(shí)給每個(gè)邊緣設(shè)備指定損失函數(shù)。
6、步驟2、邊緣設(shè)備計(jì)算更新的梯度值矩陣:
7、基于分布式梯度下降算法,每個(gè)邊緣設(shè)備通過其本地?cái)?shù)據(jù)和接收到的模型參數(shù)準(zhǔn)備計(jì)算當(dāng)前回合的參數(shù)矩陣;
8、基于接收到的損失函數(shù)和模型參數(shù),每個(gè)邊緣設(shè)備隨機(jī)選擇其本地的一定量的數(shù)據(jù),通過反向傳播算法,使用選擇到的本地?cái)?shù)據(jù)計(jì)算它當(dāng)前回合接收到的模型參數(shù)的最新梯度值其中i表示邊緣設(shè)備的編號(hào),表示當(dāng)前回合k接收到的模型參數(shù)值,fi表示接收到的模型損失函數(shù),表示反向傳播算法,它會(huì)通過其本地?cái)?shù)據(jù)計(jì)算基于模型參數(shù)和損失函數(shù)fi的當(dāng)前回合梯度值,最后通過來計(jì)算參數(shù)矩陣,其中α表示學(xué)習(xí)率;
9、步驟3,邊緣設(shè)備使用模型拆分方法來壓縮計(jì)算出來的參數(shù)矩陣:
10、基于步驟2計(jì)算出來的參數(shù)矩陣,本步驟將會(huì)使用模型拆分將其進(jìn)行壓縮。
11、每個(gè)邊緣設(shè)備根據(jù)步驟2中的參數(shù)矩陣計(jì)算拆分矩陣,該拆分方案會(huì)隨機(jī)將整個(gè)參數(shù)矩陣的拆分為兩部分,其中一部分的矩陣的大部分位置的值為0,而另一部分矩陣的極少部分位置的值為0,最后矩陣的極少部分位置的值為0的稀疏化矩陣保留,另一部分矩陣丟棄,此時(shí)模型參數(shù)就能以稀疏化矩陣的傳輸方案在網(wǎng)絡(luò)中傳輸,這會(huì)降低整個(gè)聯(lián)邦學(xué)習(xí)過程中的通信量。
12、步驟4、邊緣設(shè)備與全局服務(wù)器進(jìn)行通信與參數(shù)的更新:
13、基于步驟3中每個(gè)邊緣設(shè)備計(jì)算并經(jīng)過模型拆分后得到的稀疏化參數(shù)矩陣將會(huì)通過網(wǎng)絡(luò)傳輸?shù)饺址?wù)器中;一旦全局服務(wù)器接收到當(dāng)前回合所有邊緣設(shè)備的稀疏模型參數(shù)矩陣,全局服務(wù)器將會(huì)這些參數(shù)矩陣相加起來作為進(jìn)行新一輪的更新。
14、當(dāng)全局服務(wù)器執(zhí)行完更新操作后會(huì)針對(duì)最新的模型參數(shù)進(jìn)行選擇:
15、選擇方案(1):如果當(dāng)前模型參數(shù)達(dá)到了步驟1中預(yù)設(shè)的模型參數(shù)的精度,則算法由此終止,輸出當(dāng)前最新的模型參數(shù)。
16、選擇方案(2):如果當(dāng)前模型參數(shù)未能達(dá)到了步驟1中預(yù)設(shè)的模型參數(shù)的精度,則全局服務(wù)器會(huì)將最新的模型參數(shù)再次分發(fā)給所有邊緣設(shè)備,然后邊緣設(shè)備會(huì)再次執(zhí)行步驟2,如此循環(huán),直到某一回合步驟4中全局服務(wù)器執(zhí)行完更新操作后選擇了方案(1)。
17、優(yōu)選的,所述步驟3中選擇的模型拆分的壓縮率超參數(shù)設(shè)置的越高,所能達(dá)到的網(wǎng)絡(luò)通信流量將會(huì)越低,但是隨之也會(huì)導(dǎo)致最終步驟4中方案(1)的確定越晚,但是本方案在相同的通信壓縮率的情況下比已有的基于稀疏化矩陣的通信壓縮方法所能達(dá)到的模型最終精度都高,且達(dá)到目標(biāo)精度所花費(fèi)的通信輪次都低。
18、優(yōu)選的,所述本方案步驟2中選擇的本地?cái)?shù)據(jù)量也會(huì)影響本算法的效率,所選擇的本地?cái)?shù)據(jù)量越多,本算法最終能達(dá)到的模型精度越高,且達(dá)到目標(biāo)精度所花費(fèi)的通信輪次越低,但所導(dǎo)致的步驟2中反向傳播算法計(jì)算出結(jié)果的花費(fèi)時(shí)間也越低。
19、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
20、本發(fā)明方案基于模型拆分對(duì)于聯(lián)邦學(xué)習(xí)中分布式梯度下降算法進(jìn)行優(yōu)化,在壓縮了通信帶寬的情況下能夠保證模型能達(dá)到最終精度和較短的通信輪次。由于每個(gè)設(shè)備只處理一部分參數(shù),因此在設(shè)備上進(jìn)行的優(yōu)化計(jì)算也會(huì)更少,從而降低了設(shè)備的計(jì)算負(fù)載。在聯(lián)邦學(xué)習(xí)過程中不上傳所有模型參數(shù)的另一個(gè)優(yōu)勢就是增強(qiáng)了邊緣設(shè)備的數(shù)據(jù)隱私性能,基于模型拆分的聯(lián)邦學(xué)習(xí)通信壓縮算法它不引入其他隱私計(jì)算的手段,僅靠著上傳殘缺的模型參數(shù)就能夠增加攻擊者嘗試通過梯度或者模型參數(shù)復(fù)原受攻擊者的訓(xùn)練集與模型的難度。
1.一種基于模型拆分的分布式聯(lián)邦學(xué)習(xí)通信壓縮方案,其特征在于:包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于模型拆分的分布式聯(lián)邦學(xué)習(xí)通信壓縮方案,其特征在于:所述步驟3中選擇的模型拆分的壓縮率超參數(shù)設(shè)置的越高,所能達(dá)到的網(wǎng)絡(luò)通信流量將會(huì)越低,但是隨之也會(huì)導(dǎo)致最終步驟4中方案(1)的確定越晚,但是本方案在相同的通信壓縮率的情況下比已有的基于稀疏化矩陣的通信壓縮方法所能達(dá)到的模型最終精度都高,且達(dá)到目標(biāo)精度所花費(fèi)的通信輪次都低。
3.根據(jù)權(quán)利要求1所述的一種基于模型拆分的分布式聯(lián)邦學(xué)習(xí)通信壓縮方案,其特征在于:所述本方案步驟2中選擇的本地?cái)?shù)據(jù)量也會(huì)影響本算法的效率,所選擇的本地?cái)?shù)據(jù)量越多,本算法最終能達(dá)到的模型精度越高,且達(dá)到目標(biāo)精度所花費(fèi)的通信輪次越低,但所導(dǎo)致的步驟2中反向傳播算法計(jì)算出結(jié)果的花費(fèi)時(shí)間也越低。