涂勇峰 陳 文
(上海交通大學(xué)電子信息與電氣工程學(xué)院,上海 200240)
語義通信是一種有發(fā)展?jié)摿Φ男滦屯ㄐ偶夹g(shù),迎合了新一代智能通信的需求。語義通信為6G 移動通信的高頻譜效率與高可靠傳輸提供了新型解決思路[1]。傳統(tǒng)通信將信源編碼成一系列無意義的比特符號進(jìn)行傳輸,而忽略了信源中包含的豐富語義信息。語義通信的核心思想是利用信源中所蘊(yùn)含的語義信息進(jìn)行編碼,從而減少傳輸所需的數(shù)據(jù)[2]。在語義通信的研究中,語義特征的表示與提取是語義通信的關(guān)鍵,也是語義通信系統(tǒng)實現(xiàn)的難點(diǎn),尋求可用的特征提取方式成為語義通信發(fā)展中亟待解決的問題。近年來,深度學(xué)習(xí)技術(shù)取得了較大的進(jìn)步,新興的深度學(xué)習(xí)算法使語義的表示成為可能,同時為語義信息提取提供了新的思路。特別是多種有效的深度學(xué)習(xí)模型[3-5]的提出,為解決特征提取問題提供了有效方法。
目前,語義通信系統(tǒng)的實現(xiàn)主要依賴于深度學(xué)習(xí)技術(shù),通過訓(xùn)練深度學(xué)習(xí)網(wǎng)絡(luò)模型的方式得到恰當(dāng)?shù)木幗獯a方案。在語義通信系統(tǒng)的傳輸過程中,原始數(shù)據(jù)在發(fā)送端進(jìn)行編碼,經(jīng)過信道傳輸后由接收端進(jìn)行解碼恢復(fù)。將以上過程以神經(jīng)網(wǎng)絡(luò)的形式進(jìn)行建模,從而構(gòu)建從發(fā)送端到接收端的通信系統(tǒng)結(jié)構(gòu),即端到端的通信系統(tǒng)。在這樣的系統(tǒng)結(jié)構(gòu)中,能夠以數(shù)據(jù)傳輸前后的誤差為基準(zhǔn)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,從而得到語義編解碼的具體參數(shù)。目前,已有部分工作將基于深度學(xué)習(xí)的語義信息提取方式與通信場景相結(jié)合,實現(xiàn)了語義通信的端到端神經(jīng)網(wǎng)絡(luò)模型。Farsad 等[6]將神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)引入通信模型的構(gòu)建,設(shè)計聯(lián)合信源信道編碼的方式,實現(xiàn)了文本信息的語義重建。Bourtsoulatze 等[7]研究了深度圖像的語義傳輸,基于語義提取恢復(fù)了圖像類型的信源。Kurka 等[8-9]在此基礎(chǔ)上進(jìn)行了擴(kuò)充,利用信道的反饋提升圖像重建的質(zhì)量。Shi 等[10]將語音作為信源,實現(xiàn)了一種語義通信方式,提升了語音傳輸?shù)馁|(zhì)量。Xie等[11]考慮一個語義通信的物聯(lián)網(wǎng)網(wǎng)絡(luò),基于訓(xùn)練好的模型進(jìn)行數(shù)據(jù)采集和傳輸。Zhang等[12]提出的語義通信架構(gòu)融合了人工智能和網(wǎng)絡(luò)技術(shù),能夠在6G 中實現(xiàn)各種通信對象之間的智能交互。
但是,這種方式只考慮了從特定發(fā)送端到特定接收端的通信過程,在實際應(yīng)用方面不夠完善。在實際應(yīng)用場景中,存在多用戶之間進(jìn)行通信的需求,由此會引發(fā)端到端模型無法解決的問題。一方面,對于收發(fā)端來說,編解碼方案需要通過預(yù)先訓(xùn)練好的模型確定,并在正式傳輸前部署于收發(fā)端。另一方面,通信的效果取決于模型的質(zhì)量,而模型的質(zhì)量與其訓(xùn)練數(shù)據(jù)相關(guān),訓(xùn)練出能夠處理多用戶特性的語義通信系統(tǒng)模型才能滿足多用戶場景下的應(yīng)用要求。由此可見,在將語義通信系統(tǒng)模型應(yīng)用于多用戶場景之前,還有一系列網(wǎng)絡(luò)訓(xùn)練與模型部署的問題有待解決。
在人工智能領(lǐng)域,數(shù)據(jù)起到了絕對關(guān)鍵的作用。對于一個深度學(xué)習(xí)模型,如果缺乏足夠數(shù)據(jù)來進(jìn)行訓(xùn)練,那么模型將無法進(jìn)行充分的學(xué)習(xí),可能無法在其他數(shù)據(jù)上起到良好的性能。在實際情況中,絕大多數(shù)的模型都是服務(wù)于用戶的,使用用戶的數(shù)據(jù)進(jìn)行模型訓(xùn)練能保證生成的模型盡可能貼合用戶的特征,在最大程度上提升模型的效果。然而,國內(nèi)外環(huán)境正在不斷增強(qiáng)對數(shù)據(jù)的保護(hù),數(shù)據(jù)需要在合法合規(guī)的情況下流動。這就導(dǎo)致了大量的數(shù)據(jù)由用戶私有,形成了數(shù)據(jù)孤島[13]。為了能夠在保證數(shù)據(jù)隱私安全的基礎(chǔ)上實現(xiàn)共同建模,提升深度學(xué)習(xí)模型的效果,2016 年谷歌提出了聯(lián)邦學(xué)習(xí)算法[14],為深度學(xué)習(xí)模型的訓(xùn)練提供了新的思路。在解決通信問題方面,聯(lián)邦學(xué)習(xí)同樣展現(xiàn)出了潛力[15]。
本文研究多用戶場景下的語義通信系統(tǒng)。關(guān)注語義通信系統(tǒng)模型在多用戶場景下可能發(fā)生的問題,根據(jù)語義通信的特點(diǎn),尋求解決方案。設(shè)計多用戶參與的語義通信系統(tǒng)模型,采用聯(lián)邦學(xué)習(xí)的結(jié)構(gòu),在保護(hù)用戶隱私的前提下,利用用戶的本地數(shù)據(jù)進(jìn)行模型訓(xùn)練,再由中央服務(wù)器執(zhí)行模型聚合,從而提升了模型效果。最后通過仿真實驗驗證了多用戶參與的語義通信系統(tǒng)模型的有效性。
圖1 展示了語義通信模型的一般框架[16],發(fā)送端與接收端通過信道相連,構(gòu)成端到端的語義通信系統(tǒng)。在發(fā)送端,信源信息首先進(jìn)入語義編碼器,語義編碼器可以視為信源編碼的一種方式,依據(jù)信源中的語義信息進(jìn)行編碼,然后把結(jié)果送入信道編碼器,將得到的序列作為傳輸序列,進(jìn)入信道進(jìn)行傳輸。在接收端,信道輸出首先進(jìn)入信道解碼器,輸出的解碼序列再通過語義解碼器,獲得恢復(fù)后的信源信息。
圖1 語義通信模型的一般框架Fig.1 A General framework of semantic communication model
傳統(tǒng)的信源編碼方式基于符號的統(tǒng)計概率進(jìn)行編碼,實質(zhì)上是對于符號的壓縮變換,對符號的含義信息并不關(guān)注。語義編碼是對原始數(shù)據(jù)中承載的語義特征進(jìn)行提取并加以利用,以此作為原始數(shù)據(jù)的編碼表達(dá),把冗余的原始信息抽象化、精簡化,從而減少傳輸?shù)膬?nèi)容。與傳統(tǒng)通信方式相比,語義編碼取代了信源編碼的過程,不再把信源信息轉(zhuǎn)化為無意義的符號,而是直接利用信源信息中包含的語義信息對信源進(jìn)行重新表達(dá)。語義解碼需要根據(jù)接收到的語義信號恢復(fù)信源信息,保證恢復(fù)的信息與信源信息具有相同的語義。語義編解碼器之間需要配合使用,構(gòu)成一個語義提取與恢復(fù)的完整流程。
語義編解碼器的作用是對語義的挖掘與重建,深度學(xué)習(xí)是實現(xiàn)該目標(biāo)的有效途徑。將深度學(xué)習(xí)應(yīng)用于語義編解碼器中,通過深度學(xué)習(xí)模型結(jié)構(gòu)的設(shè)計可以決定語義挖掘與重建的方式。設(shè)計適當(dāng)?shù)纳疃葘W(xué)習(xí)模型并將其應(yīng)用于語義通信系統(tǒng)中,可以從信源中提取更大范圍、更深層次的特征,從而有效提升語義通信模型的效果。
語義通信與傳統(tǒng)通信的最大區(qū)別在于共享知識庫,共享知識庫是存在于發(fā)送端與接收端的共享知識,它是語義通信壓縮數(shù)據(jù)的依據(jù)。對發(fā)送端與接收端而言,共享知識庫可以理解為某種既定的背景。在收發(fā)端共有這些先驗知識的前提下,待傳輸?shù)男畔⒖梢耘懦恍┦瞻l(fā)端共有的部分,從而減少需要傳輸?shù)臄?shù)據(jù)量。在發(fā)送端,語義編碼器基于共享知識庫對信源信息提取語義特征,在接收端,語義解碼器基于共享知識庫對語義信息進(jìn)行重建。
共享知識庫可以由深度學(xué)習(xí)訓(xùn)練建立。對于一個基于大量數(shù)據(jù)訓(xùn)練得到的深度學(xué)習(xí)模型,其模型參數(shù)相當(dāng)于共享知識庫,由收發(fā)端共享,用于確定編解碼器中的具體參數(shù)數(shù)值。共享知識庫需要預(yù)先布置于發(fā)送端與接收端,相當(dāng)于訓(xùn)練好的深度學(xué)習(xí)模型已經(jīng)在收發(fā)端進(jìn)行了共享。
語義通信系統(tǒng)在進(jìn)行數(shù)據(jù)傳輸時所需的數(shù)據(jù)量更少,準(zhǔn)確率更高,具有較強(qiáng)的研究價值。但目前研究大多集中于端到端的場景下,在實際的多用戶場景中,端到端的通信系統(tǒng)結(jié)構(gòu)存在其局限性??紤]多用戶場景下語義通信系統(tǒng)的實現(xiàn)情況,會出現(xiàn)以下問題。
(1)模型共享問題
語義通信實現(xiàn)的前提是通信的參與方共同擁有共享知識庫,共享知識庫在語義提取與語義恢復(fù)方面都發(fā)揮了重要作用。如果發(fā)送端缺失了共享知識庫,那么將無法對信源中的語義信息進(jìn)行提取,如果接收端缺失了共享知識庫,那么將無法對接收到的語義信息進(jìn)行理解。
對于基于深度學(xué)習(xí)建立的語義通信系統(tǒng)而言,深度學(xué)習(xí)模型中的參數(shù)相當(dāng)于共享知識庫,提前由收發(fā)端共享,用于確定編解碼器中的具體參數(shù)數(shù)值。為了能實現(xiàn)信息的發(fā)送與接收,信息的發(fā)送方需要擁有編碼器部分的模型參數(shù),信息的接收方需要擁有解碼器部分的模型參數(shù)。在多用戶的場景下,每個用戶均可能成為信息的發(fā)送方或接收方,因此,每個用戶都需要擁有完整的模型參數(shù)用于編解碼。
模型參數(shù)需要提前分享給參與語義通信的用戶,對所有參與語義通信的用戶而言所擁有的模型參數(shù)應(yīng)當(dāng)是一致的。在任意一個訓(xùn)練好的模型中,其編碼器部分的參數(shù)與解碼器部分的參數(shù)對應(yīng),由某個模型的參數(shù)確定的編碼器只能與該模型的參數(shù)確定的解碼器配合使用。這些限制要求參與語義通信的用戶預(yù)先共享一套模型,這就是模型共享問題。
為了解決模型共享問題,一般思路是使用集中式網(wǎng)絡(luò)的結(jié)構(gòu)。集中式網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示,網(wǎng)絡(luò)有中央服務(wù)器,以中央服務(wù)器為中心,所有用戶都與其相連。
圖2 集中式網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The centralized network architecture
在集中式網(wǎng)絡(luò)的場景下,模型參數(shù)的確定與下發(fā)由中央服務(wù)器負(fù)責(zé)。模型訓(xùn)練在中央服務(wù)器處進(jìn)行,確定一套有效的模型參數(shù)。然后中央服務(wù)器將模型參數(shù)統(tǒng)一下發(fā)給與其相連的各個用戶,確保所有用戶所擁有的模型參數(shù)一致。最后,用戶之間通過這套模型參數(shù)進(jìn)行編解碼處理,實現(xiàn)語義通信系統(tǒng)。集中式的網(wǎng)絡(luò)結(jié)構(gòu)保證了所有用戶共享一套模型參數(shù),但是在模型訓(xùn)練的效果方面難以保證,會帶來模型訓(xùn)練問題。
(2)模型訓(xùn)練問題
語義通信系統(tǒng)模型的效果很大程度上取決于訓(xùn)練數(shù)據(jù)。模型通過訓(xùn)練,能夠?qū)τ?xùn)練數(shù)據(jù)中的語義信息進(jìn)行學(xué)習(xí),從而實現(xiàn)語義的提取與恢復(fù)。但是,當(dāng)待傳輸數(shù)據(jù)與訓(xùn)練數(shù)據(jù)所包含的語義信息區(qū)分度過大時,那么模型從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到的語義信息可能無法適用于當(dāng)前輸入,從而影響語義的提取與恢復(fù)效果,導(dǎo)致待傳輸數(shù)據(jù)無法實現(xiàn)正常傳輸。在本文考慮的文本類型信源中,語義信息區(qū)分度指的是不同文本之間所蘊(yùn)含語義信息的差別。當(dāng)A、B 兩個文本數(shù)據(jù)的語義信息區(qū)分度過大時,學(xué)習(xí)A文本數(shù)據(jù)中的語義信息將無法完全滿足B文本數(shù)據(jù)的理解需求。實際場景中,文本的內(nèi)容、結(jié)構(gòu)等方面均會對其蘊(yùn)含的語義信息產(chǎn)生影響,使用某種類型的數(shù)據(jù)集訓(xùn)練得到的模型可能無法在其他區(qū)分度較大的數(shù)據(jù)集上取得良好效果。
在集中式網(wǎng)絡(luò)中,中央服務(wù)器負(fù)責(zé)模型訓(xùn)練,它所使用的訓(xùn)練數(shù)據(jù)決定了模型的效果。在多用戶的場景下,不同用戶需要傳輸?shù)臄?shù)據(jù)可能會有較大的差異。如果在訓(xùn)練模型時沒有對用戶傳輸數(shù)據(jù)中蘊(yùn)含的語義信息進(jìn)行學(xué)習(xí),那么使用這樣的模型可能無法恰當(dāng)?shù)靥崛∨c復(fù)原待傳輸數(shù)據(jù)中的語義信息,影響語義通信的效果。通過恰當(dāng)?shù)哪P陀?xùn)練方式,使所有用戶傳輸數(shù)據(jù)中的語義信息盡可能地被共享模型理解,才能保證用戶間數(shù)據(jù)傳輸?shù)男Ч?/p>
不同用戶之間的數(shù)據(jù)存在差異,為了保證模型訓(xùn)練的效果,最好的方式是采用盡量多的用戶數(shù)據(jù)進(jìn)行訓(xùn)練,使模型能夠更好地學(xué)習(xí)用戶數(shù)據(jù)的特征,從而保證訓(xùn)練所得模型的效果。為了實現(xiàn)這種目標(biāo),在用戶進(jìn)行數(shù)據(jù)傳輸時,對這些包含了對應(yīng)用戶數(shù)據(jù)特征的數(shù)據(jù)進(jìn)行保存,作為用戶的本地數(shù)據(jù),并在模型更新時將本地數(shù)據(jù)用于模型訓(xùn)練。將這些用戶傳輸?shù)臄?shù)據(jù)作為模型的訓(xùn)練數(shù)據(jù),能夠使模型理解不同用戶數(shù)據(jù)中蘊(yùn)含的語義信息,能夠不斷優(yōu)化模型性能,動態(tài)調(diào)整模型學(xué)習(xí)到的語義信息。采用這種方式訓(xùn)練得到的模型更契合用戶的特征,能在語義編解碼方面取得更好的效果。在集中式網(wǎng)絡(luò)的結(jié)構(gòu)下,采用用戶數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)的訓(xùn)練方法流程由圖3表示。
圖3 集中式訓(xùn)練方法Fig.3 Centralized training
通過集中訓(xùn)練[17]的方式,各個用戶端服務(wù)器將本地數(shù)據(jù)上傳到中央服務(wù)器,中央服務(wù)器接收所有用戶上傳的數(shù)據(jù),并使用所有收到的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)對模型進(jìn)行訓(xùn)練,生成共享模型,然后下發(fā)到各個用戶端服務(wù)器以供使用。通過集中訓(xùn)練的方式,能夠保證生成的模型盡可能貼合用戶的特征,從而在很大程度上提升模型效果。但是,采用這種方式存在安全隱患,因為在用戶數(shù)據(jù)上傳的階段會涉及用戶隱私泄露的問題,具有很大的風(fēng)險,會帶來用戶隱私問題。
(3)用戶隱私問題
集中式訓(xùn)練的前提是獲取用戶的本地數(shù)據(jù),在實際情況中,用戶的本地數(shù)據(jù)是高度私密的,直接將本地數(shù)據(jù)交由中央服務(wù)端進(jìn)行集中訓(xùn)練無法確保用戶數(shù)據(jù)的安全,可能會造成用戶的隱私泄露。如今,國內(nèi)外對隱私保護(hù)的意識日益增強(qiáng),限制了在未經(jīng)允許的情況下獲取用戶數(shù)據(jù)的行為。如何在保護(hù)用戶隱私的情況下,使用用戶數(shù)據(jù)優(yōu)化模型效果成為值得探討的問題。
聯(lián)邦學(xué)習(xí)算法可以在不采用集中訓(xùn)練的情況下實現(xiàn)模型的聯(lián)合訓(xùn)練。聯(lián)邦學(xué)習(xí)的主要思想是數(shù)據(jù)不共享,模型共享,從而最大程度上避免數(shù)據(jù)泄露。隱私保護(hù)是聯(lián)邦學(xué)習(xí)關(guān)注的重點(diǎn)。傳統(tǒng)的隱私保護(hù)方法通常使用加入噪聲的方式使第三方無法區(qū)分原始數(shù)據(jù),能在一定程度上起到隱私保護(hù)的作用,但是其實質(zhì)上仍然是對原始數(shù)據(jù)的傳輸。聯(lián)邦學(xué)習(xí)回避了用戶數(shù)據(jù)傳輸這一敏感過程,可以在保護(hù)數(shù)據(jù)隱私的前提下實現(xiàn)多個用戶的共同訓(xùn)練,只需要用戶提供模型參數(shù)信息,不需要用戶提供數(shù)據(jù)信息。這使第三方的數(shù)據(jù)竊取更為困難,避免了原始數(shù)據(jù)的泄露,符合隱私保護(hù)的要求[18]。
在模型訓(xùn)練階段,用戶端服務(wù)器在本地使用數(shù)據(jù)進(jìn)行模型訓(xùn)練,之后將訓(xùn)練好的本地模型更新上傳給中央服務(wù)器。在模型聚合階段,中央服務(wù)器對每個用戶提交的更新進(jìn)行處理,通過模型參數(shù)聚合得到一個新的全局模型再次下發(fā)給用戶端服務(wù)器。在這個過程中,用戶上傳的是模型的更新參數(shù)而不是本地的數(shù)據(jù),從而有效保護(hù)了用戶隱私。本文采用聯(lián)邦學(xué)習(xí)的思想,對語義通信系統(tǒng)的部署進(jìn)行了設(shè)計。
根據(jù)多用戶場景下語義通信系統(tǒng)存在的問題,本文將考慮采用聯(lián)邦學(xué)習(xí)的方式對語義通信系統(tǒng)進(jìn)行部署,提出多用戶場景下語義通信系統(tǒng)的實現(xiàn)方案。在本文中,傳輸?shù)臄?shù)據(jù)類型為文本數(shù)據(jù),待訓(xùn)練的語義通信系統(tǒng)模型采用Transformer 模型作為語義編解碼器,并引入信道編解碼層與量化層實現(xiàn)傳輸[19]。
為了實現(xiàn)基于聯(lián)邦學(xué)習(xí)的語義通信系統(tǒng),采用橫向聯(lián)邦學(xué)習(xí)[20]的方式。橫向聯(lián)邦學(xué)習(xí)的本質(zhì)是樣本的聯(lián)合,適用于各用戶本地數(shù)據(jù)之間特征重合多,但樣本重合少的情況。在這種情況下,用戶數(shù)據(jù)的特征類似,將多個用戶的數(shù)據(jù)聯(lián)合起來能夠解決單用戶數(shù)據(jù)不足的問題,有效提升模型的效果。在傳輸數(shù)據(jù)類型為文本時,用戶本地的數(shù)據(jù)為待傳輸?shù)奈谋緮?shù)據(jù),具有相似的語法結(jié)構(gòu)等文本特征,但在特征相似的情況下,根據(jù)每個用戶的不同需求,所需要傳輸?shù)恼Z句又有所不同。因此,采用橫向聯(lián)邦學(xué)習(xí)能夠擴(kuò)大訓(xùn)練的樣本量,從而提升模型性能。本文設(shè)計了如圖4所示的聯(lián)邦學(xué)習(xí)語義通信系統(tǒng)部署架構(gòu)。
圖4 聯(lián)邦學(xué)習(xí)語義通信系統(tǒng)模型部署架構(gòu)Fig.4 The deployment of a semantic communication system model based on federated learning
在該架構(gòu)中,共有N個用戶參與聯(lián)邦學(xué)習(xí)的訓(xùn)練,整個系統(tǒng)中包含一個中央服務(wù)器以及N個用戶端服務(wù)器。每個用戶端服務(wù)器上都有自己的用戶數(shù)據(jù)集Datai,用戶數(shù)據(jù)包括用戶在語義通信系統(tǒng)中可能傳輸?shù)臄?shù)據(jù)以及歷史傳輸?shù)臄?shù)據(jù)。在每個通信輪次t開始時,中央服務(wù)器先將本輪次的全局模型Mt-1下發(fā)給用戶端服務(wù)器,各個用戶端服務(wù)器在收到服務(wù)器下發(fā)的模型后,將該模型作為初始模型,然后使用自己的本地數(shù)據(jù)對模型進(jìn)一步訓(xùn)練,完成一定步數(shù)的訓(xùn)練后,用戶端服務(wù)器將模型參數(shù)上傳到中央服務(wù)器。中央服務(wù)器在接收到所有用戶端服務(wù)器的模型參數(shù)后開啟模型聚合階段,對在t輪次接收到的所有模型參數(shù)進(jìn)行模型聚合,得到新的全局模型Mt。在新的通信輪次t+1開始時,將新的全局模型Mt下發(fā)給各個用戶端服務(wù)器,開始新一輪的訓(xùn)練。在一定輪次的訓(xùn)練之后,將最新的全局模型作為所有用戶端使用的語義通信系統(tǒng)模型。
對于每個用戶端服務(wù)器來說,模型訓(xùn)練的流程可以由圖5 表示。在每一輪訓(xùn)練開始時,都要經(jīng)歷全局模型下發(fā)、本地模型訓(xùn)練、本地模型上傳、全局模型聚合的過程。在整個過程中,用戶的數(shù)據(jù)只存在于用戶端服務(wù)器上,不直接與中央服務(wù)器通信,保護(hù)了用戶數(shù)據(jù)的隱私。
圖5 聯(lián)邦學(xué)習(xí)用戶訓(xùn)練流程Fig.5 Federated learning user training process
聯(lián)邦學(xué)習(xí)框架中的訓(xùn)練模塊執(zhí)行在用戶端服務(wù)器上,實現(xiàn)的功能是使用用戶端本地的數(shù)據(jù)集進(jìn)行模型訓(xùn)練,再把用戶端本地訓(xùn)練好的模型上傳給中央服務(wù)器。訓(xùn)練模塊包含模型加載、模型訓(xùn)練、模型上傳三個階段。所采用的模型為第三章介紹的語義通信系統(tǒng)模型。
在模型加載階段中,用戶端首先檢查本地是否有中央服務(wù)器下發(fā)的模型,如果發(fā)現(xiàn)模型不存在,那么代表此輪為聯(lián)邦學(xué)習(xí)的首輪訓(xùn)練,用戶端服務(wù)器將加載模型的結(jié)構(gòu)信息,通過本地初始化得到初始模型,然后使用本地的數(shù)據(jù)進(jìn)行模型訓(xùn)練。如果發(fā)現(xiàn)本地已經(jīng)存在模型,那么代表已經(jīng)經(jīng)過了至少一輪的聯(lián)邦學(xué)習(xí)訓(xùn)練,并且中央服務(wù)器已經(jīng)將聚合后的全局模型下發(fā)給了用戶端服務(wù)器,此時直接加載該全局模型,然后使用本地的數(shù)據(jù)進(jìn)行訓(xùn)練。
在模型訓(xùn)練階段,把用戶的本地數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),對加載的模型進(jìn)行訓(xùn)練。訓(xùn)練時的訓(xùn)練輪數(shù)與學(xué)習(xí)率由用戶端指定,需要根據(jù)具體的任務(wù)與數(shù)據(jù)進(jìn)行確定。通常采用SGD(隨機(jī)梯度下降)的方式進(jìn)行本地訓(xùn)練,將數(shù)據(jù)分批,每一批的數(shù)據(jù)大小為B。一次模型參數(shù)的更新過程可表示為
其中w為模型的參數(shù),α為學(xué)習(xí)率,B為每批數(shù)據(jù)的大小,f(?)為損失函數(shù),x為輸入數(shù)據(jù)??梢钥闯?,在一批數(shù)據(jù)訓(xùn)練完成后,根據(jù)損失函數(shù)與學(xué)習(xí)率對模型參數(shù)進(jìn)行一次更新。
在模型上傳階段,用戶端服務(wù)器把經(jīng)過本地數(shù)據(jù)訓(xùn)練后的模型上傳給中央服務(wù)器。由于中央服務(wù)器與用戶服務(wù)器使用的模型結(jié)構(gòu)相同,均為語義通信系統(tǒng)模型,為了減少通信損耗,在用戶端接收到中央服務(wù)器下發(fā)的模型之后,每個用戶端服務(wù)器把該模型的結(jié)構(gòu)進(jìn)行保存,在模型上傳時,只需將模型中的參數(shù)上傳,而不需要把模型的結(jié)構(gòu)上傳。
聯(lián)邦學(xué)習(xí)框架中的聚合模塊在中央服務(wù)器上執(zhí)行,實現(xiàn)的功能是接收用戶端服務(wù)器上傳的模型參數(shù),然后將這些參數(shù)模型聚合為一個全局模型。在聯(lián)邦學(xué)習(xí)的每個通信輪次中,中央服務(wù)器都會對接收到的模型參數(shù)進(jìn)行一次聚合,然后把聚合后的全局模型下發(fā)給各個用戶端服務(wù)器。
對于N個參與聯(lián)邦學(xué)習(xí)訓(xùn)練的用戶,每個用戶端服務(wù)器在輪次t得到的模型參數(shù)為。中央服務(wù)器在接收到所有用戶端上傳的模型參數(shù)后,通過FedAvg[21]的方式對這些參數(shù)進(jìn)行模型聚合,模型聚合使用的公式為:
其中wt+1為本輪次的聚合后的全局模型參數(shù),wt為上一輪次的全局模型參數(shù)為每個用戶上傳的子模型,pi為每個用戶的加權(quán)系數(shù),η為模型聚合的全局學(xué)習(xí)率。當(dāng)模型的全局學(xué)習(xí)率η=1 時,模型聚合公式可以簡化為加權(quán)平均的形式:
此時,對每個用戶上傳的子模型參數(shù)進(jìn)行加權(quán)平均,其中每個用戶的加權(quán)系數(shù)為pi。通過調(diào)整加權(quán)系數(shù)可以改變相應(yīng)用戶的上傳模型在全局模型中的占比,從而使全局模型更側(cè)重于相應(yīng)用戶的數(shù)據(jù)特性。當(dāng)pi=1/N時,代表使用子模型平均的方式進(jìn)行模型聚合,將各個用戶上傳模型參數(shù)的平均值作為全局模型參數(shù)。
經(jīng)過模型聚合后,中央服務(wù)器把全局模型下發(fā)給用戶端服務(wù)器,開始下一輪次的聯(lián)邦學(xué)習(xí)訓(xùn)練。如果本輪次為最后一輪訓(xùn)練,將最新的全局模型下發(fā)給用戶,作為所有用戶端使用的語義通信系統(tǒng)模型。在所有用戶共享該模型后,每個用戶端在發(fā)送數(shù)據(jù)時采用該模型中的編碼器進(jìn)行文本編碼,在接收數(shù)據(jù)時采用該模型中的解碼器進(jìn)行解碼恢復(fù),實現(xiàn)多用戶場景下的語義通信文本傳輸系統(tǒng)。
在多用戶參與的場景下,用戶端服務(wù)器進(jìn)行模型訓(xùn)練,中央服務(wù)器端進(jìn)行模型聚合。為了模擬多用戶參與場景下語義通信系統(tǒng)模型的訓(xùn)練過程,需要給每個參與訓(xùn)練的用戶分配本地數(shù)據(jù)。在實際情況中,不同用戶之間數(shù)據(jù)類型不同,為了模擬這種情況,在實驗時需要進(jìn)行一定的設(shè)置,使每個用戶的本地數(shù)據(jù)與其他用戶的本地數(shù)據(jù)有一定的區(qū)分度,同時每個用戶的本地數(shù)據(jù)有一定的偏向性。
選用AGNews 文本數(shù)據(jù)集進(jìn)行實驗,它是一個新聞文本數(shù)據(jù)集,包含世界新聞、體育新聞、經(jīng)濟(jì)新聞以及科技新聞四個類型。首先將該文本數(shù)據(jù)集按照類型劃分為四個子數(shù)據(jù)集,然后對于每個類別的子數(shù)據(jù)集,將其劃分為訓(xùn)練集與測試集。最后把每個類別的訓(xùn)練集分配給一個用戶作為用戶端的本地數(shù)據(jù)。在實驗中,考慮4 個用戶參與聯(lián)邦學(xué)習(xí)訓(xùn)練的情況,每個用戶的文本數(shù)據(jù)集擁有不同的類別。在這種情況下,每個用戶的本地數(shù)據(jù)只包含特定類別的文本數(shù)據(jù),用戶1 的本地數(shù)據(jù)類別為世界新聞,用戶2 的本地數(shù)據(jù)類別為體育新聞,用戶3 的本地數(shù)據(jù)類別為經(jīng)濟(jì)新聞,用戶4 的本地數(shù)據(jù)類別為科技新聞。
在語義通信系統(tǒng)模型的設(shè)置方面,采用平均每單詞比特數(shù)為16、SNR=15 dB 的語義通信系統(tǒng)模型作為聯(lián)邦學(xué)習(xí)系統(tǒng)的共享模型。其中,編碼器由兩個8 頭Transformer 編碼塊構(gòu)成,隱藏單元數(shù)為64,再經(jīng)由兩個隱藏單元數(shù)分別為256 與16 的全連接層進(jìn)行編碼。解碼器通過兩個隱藏單元數(shù)為128與256 的全連接層進(jìn)行解碼,再通過兩個8 頭、隱藏單元數(shù)為64的Transformer解碼塊進(jìn)行預(yù)測,預(yù)測層的維度為40000。進(jìn)行用戶本地訓(xùn)練時,采用端到端的形式,本地訓(xùn)練數(shù)據(jù)通過編碼器進(jìn)行編碼后,經(jīng)過AWGN 信道引入噪聲,再通過解碼器進(jìn)行解碼,根據(jù)解碼輸出結(jié)果調(diào)整模型參數(shù),從而進(jìn)行訓(xùn)練。
在實驗中,把用戶與中央服務(wù)器之間的模型下發(fā)與上傳過程視為理想情況,重點(diǎn)關(guān)注通過本地訓(xùn)練與模型聚合得到的全局模型的效果。在訓(xùn)練時,每個用戶的本地訓(xùn)練數(shù)據(jù)不互通,只能用于用戶本地的模型訓(xùn)練,只有模型參數(shù)對外可見。每一輪次所有用戶訓(xùn)練完成后,通過FedAvg的方式對模型參數(shù)進(jìn)行聚合,得到本輪次的全局模型,之后各用戶以該全局模型為基礎(chǔ)進(jìn)行下一輪次的訓(xùn)練。
為了提升模型的訓(xùn)練效果,需要對用戶的本地數(shù)據(jù)進(jìn)行多次利用。對于用戶的本地數(shù)據(jù)Si,在每個通信輪次中使用|Si|/T的數(shù)據(jù)進(jìn)行本地訓(xùn)練,經(jīng)過T個通信輪次后所有的本地數(shù)據(jù)都經(jīng)過了一次訓(xùn)練,將這個過程視為一次訓(xùn)練回合。每個訓(xùn)練回合中都包含T個通信輪次,完成一個訓(xùn)練回合相當(dāng)于所有本地數(shù)據(jù)的都進(jìn)行了一次訓(xùn)練。在實驗中,根據(jù)模型的訓(xùn)練情況調(diào)整訓(xùn)練回合數(shù),從而多次利用用戶的本地數(shù)據(jù)進(jìn)行訓(xùn)練,直至得到效果最好的全局模型。
模型的評價指標(biāo)采用詞準(zhǔn)確率進(jìn)行衡量。對經(jīng)過聯(lián)邦學(xué)習(xí)訓(xùn)練得到的全局語義通信系統(tǒng)模型,將測試集中的語句作為輸入語句,即待傳輸?shù)臄?shù)據(jù),計算它經(jīng)過模型后得到的輸出語句,即傳輸后的數(shù)據(jù)。結(jié)合輸入語句與輸出語句計算詞準(zhǔn)確率,作為衡量全局模型效果的指標(biāo)。對于每個全局模型,分別計算它在四種不同類別的文本測試集下的詞準(zhǔn)確率,對在不同類別的測試集下得到的詞準(zhǔn)確率計算平均值,將平均詞準(zhǔn)確率作為評價全局模型性能的指標(biāo)。
為了驗證基于聯(lián)邦學(xué)習(xí)的語義通信系統(tǒng)模型的有效性,將基于聯(lián)邦學(xué)習(xí)訓(xùn)練得到的系統(tǒng)模型與采用集中訓(xùn)練的方式得到的系統(tǒng)模型進(jìn)行了對比,以詞準(zhǔn)確率為標(biāo)準(zhǔn),比較了采用不同方式進(jìn)行訓(xùn)練所得模型的性能。將輸入語句與輸出語句進(jìn)行逐詞比較,對應(yīng)正確的單詞數(shù)目在輸入語句的單詞數(shù)目中所占的比例即為詞準(zhǔn)確率。詞準(zhǔn)確率越高,代表輸入語句與輸出語句的相似度越高,模型的性能越好。
先采用集中訓(xùn)練的方式,把所有用戶的本地訓(xùn)練數(shù)據(jù)進(jìn)行混合,組成一個總訓(xùn)練集。使用總訓(xùn)練集對模型進(jìn)行訓(xùn)練,把在這種條件下得到的模型作為基準(zhǔn)模型,在四種測試集下分別進(jìn)行測試,作為比較模型性能的基準(zhǔn)。
表1 顯示了在全局學(xué)習(xí)率為η=1.0 時,采用不同的每回合通信輪數(shù)得到的模型效果。S1、S2、S3、S4為通過聯(lián)邦學(xué)習(xí)訓(xùn)練所得模型在四種測試集中的詞準(zhǔn)確率,表中最后一行為基準(zhǔn)模型在四種測試集中的詞準(zhǔn)確率。當(dāng)η=1.0 時,模型聚合相當(dāng)于一個模型平均的過程。聚合模型時四個用戶的加權(quán)系數(shù)均為0.25,即各個用戶模型的權(quán)重相等。
表1 不同每回合通信輪數(shù)下的模型性能Tab.1 Model performance under different communication rounds per epoch
從表中可以看出,聯(lián)邦學(xué)習(xí)的每回合通信輪數(shù)會影響模型的效果,更多的通信輪數(shù)意味著一個訓(xùn)練回合中包含更多次的模型下發(fā)與上傳過程。為了減少聯(lián)邦學(xué)習(xí)訓(xùn)練的消耗,需要采用盡可能少的通信輪次,但在通信輪次減少的同時可能會影響模型的最終性能。在當(dāng)前實驗環(huán)境下,每回合通信輪數(shù)為10時得到的模型效果最好,再增加通信輪數(shù)并不能繼續(xù)提升模型性能。其原因是更多的通信輪數(shù)可能導(dǎo)致每個通信輪次中用于本地訓(xùn)練的數(shù)據(jù)量過少,影響模型訓(xùn)練的效果。將該模型與基準(zhǔn)模型比較,可以發(fā)現(xiàn)基準(zhǔn)模型的性能比通過聯(lián)邦學(xué)習(xí)訓(xùn)練得到的模型性能更好,其原因是集中訓(xùn)練能夠更直接地利用到全部用戶的訓(xùn)練數(shù)據(jù)。但是,通過聯(lián)邦學(xué)習(xí)的訓(xùn)練方式能夠避免用戶數(shù)據(jù)的直接上傳,并且訓(xùn)練得到的模型性能與基準(zhǔn)模型較為接近。
表2 顯示了在每回合通信輪數(shù)為10 時,采用不同的全局學(xué)習(xí)率η進(jìn)行模型聚合得到的模型效果。S1、S2、S3、S4為所得模型在四種測試集中的詞準(zhǔn)確率。聚合模型時四個用戶的加權(quán)系數(shù)均為0.25,即各個用戶模型的權(quán)重相等。全局學(xué)習(xí)率η控制每個通信輪次更新全局模型的比例,全局學(xué)習(xí)率越高代表本地模型的每輪訓(xùn)練對全局模型的影響程度越高。從表中可以看出,在當(dāng)前實驗環(huán)境下,在全局學(xué)習(xí)率為0.95時,能夠得到最佳的模型性能。與基準(zhǔn)模型相比,該模型能夠達(dá)到接近基準(zhǔn)模型的平均詞準(zhǔn)確率。
表2 不同全局學(xué)習(xí)率下的模型性能Tab.2 Model performance under different global learning rates
表3 顯示了在η=0.95,每回合通信輪數(shù)為10 時,采用不同的聚合加權(quán)策略得到模型的性能。S1、S2、S3、S4為所得模型在四種測試集中的詞準(zhǔn)確率。第一行采用平均加權(quán)的方式,各個用戶模型的權(quán)重相等,使用的加權(quán)系數(shù)為均0.25。第二到五行分別把對應(yīng)用戶的權(quán)重提高為其他用戶權(quán)重的兩倍,提高權(quán)重后用戶上傳模型的加權(quán)系數(shù)為0.4,其他一般用戶的加權(quán)系數(shù)為0.2??梢杂^察到,用戶的權(quán)重提高會使全局模型在對應(yīng)用戶的測試集上取得更好的表現(xiàn),可以通過改變用戶上傳的模型在聚合模型中權(quán)重的方式,影響全局模型對特定用戶的性能。
表3 不同加權(quán)系數(shù)下的模型性能Tab.3 Model performance under different weighting coefficients
本文研究了多用戶場景下的語義通信系統(tǒng)實現(xiàn)問題,并提出了基于聯(lián)邦學(xué)習(xí)的語義通信系統(tǒng)模型部署架構(gòu)。首先分析了語義通信系統(tǒng)模型在多用戶場景下存在問題,包括模型共享問題、模型訓(xùn)練問題與隱私保護(hù)問題,并根據(jù)語義通信的特點(diǎn),尋求解決方案。然后設(shè)計了多用戶參與的語義通信系統(tǒng)模型,采用聯(lián)邦學(xué)習(xí)的結(jié)構(gòu),在保護(hù)用戶隱私的前提下,利用用戶的本地數(shù)據(jù)進(jìn)行模型訓(xùn)練,再由中央服務(wù)器執(zhí)行模型聚合,從而提升了模型效果。最后通過仿真實驗得到了在不同參數(shù)選擇情況下的模型效果,并與集中訓(xùn)練的方式進(jìn)行了對比,驗證了基于聯(lián)邦學(xué)習(xí)的語義通信系統(tǒng)模型的有效性。