袁治中,王旭東,吳 楠
(大連海事大學 信息科學技術學院,遼寧 大連 116026)
在過去的十幾年里,深度學習在計算機視覺和語音處理領域取得了巨大的成功。近年來,越來越多的學者開始在無線通信領域中應用深度學習技術,其應用方式主要分為兩種:一種是將通信系統的某個獨立的模塊用深度學習的方法代替,如信道解碼[1,2]、信道估計[3]、信道檢測[4]、調制分類[5]等;另一種是將多個獨立的模塊聯合進行訓練,尋求整體上的最優(yōu)方案,以提升系統的性能,例如可以利用自編碼器(Autoencoder,AE)學習框架,構建一個端到端的通信系統,在信道編碼[6-9]、正交頻分復用(Orthogonal Frequency Division Multiplexing,OFDM)及多輸入多輸出(Multiple-Input Multiple-Output,MIMO)系統設計[10-11]中均有其典型應用方案。
糾錯編碼引入信息比特的冗余來消除信道噪聲和其他信道失真的影響,是實現可靠通信的關鍵技術之一。盡管各種編碼方案已經被各種通信系統所采用,但是針對許多具有實際意義的系統結構仍然缺乏有效可靠的編碼方案,其中帶有輸出反饋的信道編碼就是一個長期存在的問題。香農曾指出,信道反饋不會增加無記憶離散信道的信道容量,但可以提高信道編碼的可靠性[12]。由于傳統的編碼方案并不適用于信道反饋編碼,一些學者提出了相應的解決方案,驗證了信道反饋可以提高系統的可靠性,但是在反饋信道有噪聲時編碼方案無法充分利用反饋信息[13-15]。針對這一問題,文獻[16]提出了基于深度學習技術,通過神經網絡來利用反饋信息學習信道反饋編碼的思想。
根據反饋信息的不同可以分為主動反饋和被動反饋,直接將接收端接收到的信息反饋到發(fā)送端稱為被動反饋,將接收到的信息進行編碼再反饋給發(fā)送端稱為主動反饋。文獻[16]主要討論的是單位延遲反饋,實際的反饋通常被延遲一段隨機的時間,因此文中還提出了一種多位延遲反饋。在文獻[16]的基礎上,本文提出了一種針對帶有反饋信道的高可靠性自編碼器系統設計方案(Feedback Channel Autoencoder,FBC-AE),它是基于塊延遲的被動反饋模型。與文獻[16]不同,FBC-AE系統在發(fā)送端引入反饋解碼器模塊,發(fā)送端接收到反饋信息之后,先經過反饋解碼器模塊對反饋信息進行提取處理,再傳入編碼器模塊進行編碼。本方案把對反饋信息的提取以及編碼分成了兩部分,由兩個模塊分別進行處理,從而降低了編碼器訓練難度,同時提高了反饋信息的利用率。
本文的主要貢獻如下:
(1)FBC-AE系統引入反饋解碼器模塊,適用于不同碼速和不同反饋信道信噪比,系統誤碼性能優(yōu)于目前文獻[16]給出的方案。
(2)基于FBC-AE系統,提出的部分反饋方案可以在反饋信道環(huán)境較差時節(jié)省反饋發(fā)送功率和提升系統的誤碼性能,通過控制抽樣間隔可以靈活控制反饋發(fā)送功率。
FBC-AE系統框圖如圖1所示,整個通信系統模型包括發(fā)送端、信道和接收端三部分。其中發(fā)送端包括編碼器和反饋解碼器,信道包括正向信道和反饋信道,接收端包括解碼器。
圖1 FBC-AE系統框圖
在全連接神經網絡或卷積神經網絡(Convolutional Neural Network,CNN)中,每層神經元的信號只能向下一層傳播,樣本的處理在各個時刻獨立,而循環(huán)神經網絡(Recurrent Neural Network,RNN)中,神經元的輸出可以在下一個時間段直接作用到自身。門控循環(huán)單元(Gated Recurrent Unit,GRU)在RNN的基礎上增加了更新門和重置門,實現了長期記憶的功能。
FBC-AE系統一共有3個編碼器,均由兩層GRU和一層全連接層組成,它們分別工作在第1、3、5三個時間片內。編碼器的主要作用是在發(fā)送端完成編碼任務,在第1個時間片內,沒有反饋信息存在,編碼器的輸入信息是未編碼的二進制消息序列x,它的維度為(B,K,1),其中B為最小批處理量(Mini-Batch)的大小,K和1表示塊長度為K的二進制消息序列x=(x1,x2,…,xK)。在第3、5時間片內,存在反饋信息,未編碼的二進制消息序列x和經過反饋解碼器處理過的反饋信息u在最后一個維度上連接一起,得到編碼器的輸入信息[x,u],其維度為(B,K,2)。編碼器的輸入信息先經過兩層的GRU,利用反饋信息將輸入映射到高維空間。本文所討論的編碼塊長度為50,考慮復雜度以及訓練難度對系統的影響,選擇將編碼輸入映射到100維空間,通過一個全連接層完成特征空間維度的轉換,得到所需的維度大小。表1列出了編碼器的網絡參數。
表1 編碼器網絡參數
解碼器需要在接收端恢復被噪聲破壞的編碼信息,處理的任務相對復雜,因此采用雙向門控循環(huán)單元(Bi-directional Gated Recurrent Unit,Bi-GRU)。Bi-GRU由兩個單向GRU折疊在一起,兩個單向GRU神經元之間的傳遞方向相反,因此每個時刻的輸出不僅與之前的信息有關,還與之后的信息有關,在進行解碼時,每個比特位的解碼都跟前后比特位相關,提高解碼的準確性。
如圖1所示,在第1、2時間片內,編碼信息y1經過正向信道和反向信道后,發(fā)送端接收到反饋信息w2,其表達式為
w2=P(P(y1)+n)+nf。
(1)
式中:n和nf分別表示正向信道噪聲和反向信道噪聲;P表示功率歸一化,
(2)
式中:xmean表示x的均值,xstd表示x的標準差。文獻[16]在發(fā)送端將接收到的反饋信息傳入編碼器進行編碼,編碼器利用反饋信息中攜帶的信道信息提高編碼的可靠性。在此基礎上,本文將反饋信息提取和編碼兩部分工作進行細化,提出了反饋解碼器模塊,發(fā)送端接收到的反饋信息w和上一個階段的編碼序列y同時進入到反饋解碼器模塊,得到輸入信息[y,w]的維度為(B,K,2),反饋解碼器把提取出來的信道信息u傳入到編碼器參與編碼。
之所以說是“菜市場”,是因為老師發(fā)布一個通知或者信息,群里的家長就會七嘴八舌一通刷屏。再或者,有的家長轉條廣告鏈接,班級群成了大賣場。更有甚者,還將自己孩子在學校的學習情況、生活情況、個人問題發(fā)到群里,在群里吵翻天,最后不歡而散。
本文提出了兩種反饋解碼器模型:第一種反饋解碼器模型基于CNN,詳細參數如表3所示,其中CNN的卷積核大小設置為3,步長設置為1;第二種反饋解碼器模型基于Bi-GRU,詳細參數如表4所示。兩種解碼器在不同碼速和不同反饋信道信噪比下的性能有所不同,基于CNN反饋解碼器的網絡參數要少于基于Bi-GRU反饋解碼器的網絡參數。
表3 第一種反饋解碼器網絡參數
表4 第二種反饋解碼器網絡參數
實驗表明反饋信道傳輸特性較差時,反饋信息會受到反饋信道的嚴重破壞,因此反饋信息帶來的收益較小[15],同時考慮到節(jié)省反饋發(fā)送功率,本文提出了一種部分反饋方案,該方案將反饋的K比特信息序列z=(z1,z2,…,zK)等間隔抽樣,再在發(fā)送端對反饋信息進行補零操作,便于進入到反饋解碼器中。由于并沒有對反饋信息進行編碼操作,因此該方案屬于被動反饋模型。
以反饋一半信息為例,經過等間隔抽樣得到K/2比特信息序列z=(z1,z3,…,zK-1),通過功率歸一化反饋到發(fā)送端,發(fā)送端將接收到的反饋信息進行補零操作,得到反饋信息序列w=(w1,0,w3,…,wK-1,0),經過反饋解碼器對反饋信息進行恢復和提取。在接收端,反饋信息減少一半,經過功率歸一化后的反饋發(fā)送功率也節(jié)省了一半,因此該方案可以節(jié)省反饋發(fā)送功率。該方案可以根據抽樣間隔大小靈活控制反饋發(fā)送功率,從而達到靈活節(jié)省功率的目的。
FBC-AE系統的訓練數據由randint函數和reshape函數產生和處理。首先通過randint函數產生維度大小為(M×K,1)的0、1序列,然后使用reshape函數使序列維度變換為(M,K,1),其維度含義表示為M個二進制消息序列x,每個x的塊長度大小為K。本文使用均方誤差(Mean Square Error,MSE)作為訓練損失函數,其表達式為
(3)
(4)
(5)
式(4)中:U為進入神經網絡的總比特數,round表示硬判決。優(yōu)化器采用Adam,它為不同的參數計算不同的自適應學習率,提高系統的收斂能力。將發(fā)送端和接收端分成兩部分進行訓練,即編碼器和反饋解碼器同時訓練,接收端的解碼器權重不更新,當接收端的解碼器開始訓練時,發(fā)送端的編碼器和反饋解碼器權重不更新。在進行端到端訓練時,由于本文系統分為多個模塊,尋求全局最優(yōu)解十分困難。當固定一部分模塊的權重,尋找未固定權重模塊的最優(yōu)解,可以降低學習難度,提升系統的收斂速度。故在每一次迭代訓練中,發(fā)送端部分先訓練三次,接收端部分再訓練三次。
表5 系統仿真參數
如圖2所示,AE without Feedback表示該系統按照圖1系統框圖構建,刪除第2時間片與第4時間片,將編碼分為三個階段,同時刪除反饋信道。該條曲線與另外三條曲線對比說明增加信道反饋提高了系統的BER性能。本文所提出的兩種不同的反饋解碼器在反饋信道無噪聲時所表現的性能基本一致,使用CNN反饋解碼器的FBC-AE系統在0 dB之后性能優(yōu)于文獻[16]中的結果,在10-7量級,誤碼性能提升了0.5 dB。
圖2 碼速1/3時反饋信道無噪聲誤碼性能比較
圖3給出了反饋信道信噪比為10 dB和0 dB時的BER曲線??梢钥闯觯敺答佇诺佬旁氡葹?0 dB時,隨著正向信道信噪比的增加,反饋解碼器對系統性能的提升越大,在10-3量級,基于CNN反饋解碼器的FBC-AE系統誤碼性能提升了0.65 dB,基于Bi-GRU反饋解碼器的FBC-AE系統誤碼性能提升了1 dB,兩種反饋解碼器系統誤碼性能差了0.35 dB。當反饋信道信噪比為0 dB時,在10-3量級,基于CNN反饋解碼器的FBC-AE系統誤碼性能提升了0.3 dB,基于Bi-GRU反饋解碼器的FBC-AE系統誤碼性能提升了0.5 dB。由于反饋信道環(huán)境變差,相比于反饋信道信噪比為10 dB時,兩種反饋解碼器之間的性能差距減少到0.2 dB。
(a)SNR=10 dB
通過修改圖1的系統結構,只保留前三個時間片,此時碼速修改為1/2,同時修改文獻[16]中結構并與之對比,圖4為不同反饋信道環(huán)境下的BER曲線。在反饋信道無噪聲時,FBC-AE系統性能提升不明顯,基于CNN反饋解碼器的FBC-AE性能反而沒有提升。這是由于改變碼速之后減少了反饋的次數,也減少了反饋解碼器的個數,同時反饋信道無噪聲,相較于1/3碼速時解碼器的作用減少。在反饋信噪比為10 dB時,FBC-AE系統性能提升較大,在10-4量級,基于CNN反饋解碼器的FBC-AE系統誤碼性能提升了1.48 dB,基于GRU反饋解碼器的FBC-AE系統誤碼性能提升了1.8 dB。在反饋信噪比為0 dB時,兩種反饋解碼器系統在10-4量級時的誤碼性能均提升了1.36 dB,這仍是由于反饋解碼器個數的減少所導致的。
(a)無噪聲
本實驗對部分反饋方案性能進行分析,以反饋一半信息為例,從圖5中可以看出,在反饋信道信噪比為0 dB時,反饋信息減少,系統性能不如全反饋時的BER曲線(圖3(b)),但是由于反饋解碼器的存在,在接收到不完整的反饋信息時,反饋解碼器對反饋信息有一定的恢復和提取作用,在10-3量級時的誤碼性能仍提升了0.1 dB。
圖5 部分反饋誤碼性能
為了進一步驗證反饋解碼器對FBC-AE系統性能的提升,考慮系統參數對結果的影響,將基于CNN反饋解碼器的FBC-AE系統的編碼器和解碼器進行簡化,具體簡化后的參數如表6和表7所示,不同系統的網絡訓練參數如表8所示。從圖6中可以看出,經過簡化后的FBC-AE模型誤碼性能提升了0.2 dB,說明反饋解碼器模塊對信道反饋編碼系統的誤碼性能有一定的提升作用。簡化后的FBC-AE系統在確保誤碼性能不損失的基礎上,其訓練運算復雜度明顯降低。
表6 簡化后編碼器網絡參數
表7 簡化后解碼器網絡參數
表8 網絡訓練參數
圖6 碼速1/3時FBC-AE簡化模型誤碼性能
本文提出了一種針對帶有反饋信道的高可靠性自編碼器系統設計方案,在方案中增加了反饋解碼器模塊,把對反饋信息的利用以及編碼分成了兩部分,由兩個模塊分別進行處理,反饋解碼器的主要作用是對反饋信息的提取,然后再把提取后的反饋信息傳入編碼器,提高了反饋信息的利用,有效提高信道反饋編碼系統的可靠性。在不同反饋信道環(huán)境、不同碼速時,反饋解碼器均對系統的誤碼性能有一定的提升。同時,提出了一種部分反饋方案,通過控制抽樣間隔大小可以靈活調整反饋發(fā)送功率,從而達到節(jié)省反饋發(fā)送功率的目的。在反饋信道環(huán)境較差時,反饋解碼器對部分反饋信息有一定的恢復作用,以反饋一半信息為例,該方案在節(jié)省一半反饋發(fā)送功率的同時對系統誤碼性能提升了0.1 dB。此外,本文考慮復雜度對系統的影響,經過簡化后的系統模型誤碼性能提升了0.2 dB,說明FBC-AE系統能有效利用反饋信息,提高系統的誤碼性能。