官术网_书友最值得收藏!

2.2 基于深度學習的MIMO信號檢測網絡 DetNet

2.1節介紹了傳統的MIMO信號檢測算法,包括基于搜索的ML和SD算法,以及線性的MF、ZF、MMSE等算法。其中基于搜索的檢測算法誤符號率性能優異但復雜度偏高,在實際中無法應用;而傳統的線性檢測算法通過線性變換的方式進行檢測,它們的復雜度很低,但是SER性能較差。雖然在滿足信道硬化條件的系統中,線性檢測算法的SER性能也可以接近最優,但是在滿足信道硬化條件的系統中發送端的容量也受到了限制。

目前,深度學習技術在多個領域取得了成功,其已經被廣泛應用到無線通信領域,針對MIMO信號檢測問題,已有學者將深度學習技術引入進行嘗試,并取得了不錯的成果。從仿真結果來看,基于深度學習技術的信號檢測算法可以在計算復雜度和SER性能上做出很好的權衡,并且其靈活的結構特性使其具備巨大的應用潛力與廣闊的發展前景。本節將介紹一個已有的基于深度學習的MIMO信號檢測算法——DetNet算法(參考文獻[9]),包括其檢測網絡的思路、結構及原理。

2.2.1 投影梯度下降算法

在介紹DetNet算法之前,首先介紹投影梯度下降算法。2.1節提到,ML算法致力于尋找使得似然函數[式(2.5)]值最小的候選,由此獲得了它的目標函數。為了方便敘述,這里再次給出ML算法的目標函數,如式(2.19)所示。

(2.19)

ML算法通過在一個包含所有可能的發送符號向量的集合中進行窮舉,計算每一個候選向量的目標函數值,再選出目標函數值最小的候選向量作為發送符號估計向量。這樣遍歷搜索的操作確實能夠找到使得似然函數最大的候選向量,但其代價是復雜度極高。

ML算法中窮舉的方法因復雜度極高而無法實際應用,但其尋找使似然函數值最大的候選向量作為發送符號估計向量的出發點是有價值的。也就是說,可以利用目標函數,通過其他低復雜度的算法來尋找使似然函數值最大的估計向量。投影梯度下降算法便是這樣一種算法。

投影梯度下降算法是一種迭代算法,它以式(2.19)作為目標函數,通過計算目標函數關于發送符號向量x的導數來完成對發送符號的迭代更新。具體來說,首先求得目標函數關于發送符號向量的導數,如式(2.20)所示。

(2.20)

對于第k+1次迭代來說,可以通過第k次迭代獲得的發送符號估計向量xk來估計發送符號的第k+1次估計,具體如式(2.21)所示。

(2.21)

其中,表示學習率,表示梯度,且式(2.20)中梯度的系數2融合到了學習率中。通常初值x0設為零向量0。表示投影算子。因為梯度更新后的估計向量是軟值符號向量,但是正確的發送符號是離散的硬值符號向量,所以需要投影算子將軟值符號向量映射為硬值符號向量。通常投影算子是以距離為導向的,將軟值符號向量的每一個元素映射為與之距離最近的硬值符號向量。對于采用實數字母表的實數等效系統來說,投影算子實際上就是階躍函數的錯位疊加,例如,在采用4PAM字母表的實數等效系統中,投影算子的函數式如式(2.22)所示。

(2.22)

其中:表示字母表中元素的數目,例如,若,則表示階躍函數,決定階躍函數疊加時錯位的步長和放大因子,均與字母表元素相關。在以4PAM為字母表的實數等效系統中,非線性投影算子(Non differentiable projection operator)的圖像如圖2.3所示。由圖2.3可知,當軟值符號向量落在區間[-2,0]時,投影算子會將其映射為-1,因為此時距離-1最近,其他區間情況以此類推。

圖2.3 非線性投影算子圖像

2.2.2 DetNet

深度展開是深度學習技術應用的一個分支,與常見的卷積神經網絡、循環神經網絡或者全連接神經網絡抑或是它們的組合網絡不同,深度展開是以已有迭代算法為基礎的,它利用已有的迭代算法來構造深度神經網絡。不同的迭代算法,通過深度展開可以獲得不同的結構。具體來說,深度展開將已有迭代算法的每一次迭代展開成神經網絡的一層,在展開時,可以將迭代算法的一些超參數設為網絡的可訓練參數,也可以添加一些特殊的結構,這樣就可以利用神經網絡可訓練的特點對這些原本的迭代算法的超參數進行自適應的優化,算法性能就會獲得提升。

考慮式(2.1)中的MIMO模型,DetNet模型不直接對接收符號y進行處理,這樣做主要是考慮:在接收符號y中的每一路信號都包含所有天線的發送信息。因此DetNet對式(2.1)進行了簡單的變換,在等式兩邊同時乘H T,得到

(2.23)

DetNet是最小化噪聲的網絡,因此從式(2.23)中可以看出,DetNet的輸入應包含這兩個向量。關于輸入向量的推導還可以從梯度下降的角度進行考慮。下面給出迭代模型的推導過程。

(2.24)

其中,是第k次迭代的檢測結果,表示非線性操作,表示每次迭代的調整步長。每次迭代的輸入應為,同時因為一些階模型存在非線性因素,在DetNet的設計中加入了另一個輸入向量,用于表示未被考慮到的模型中的非線性因素。

DetNet的核心思想是對投影梯度下降算法進行深度展開。但是在進行具體展開操作時會遇到一些問題。首先,1.1.1小節提到,神經網絡的訓練是通過反向傳播算法來進行的,這要求網絡結構是可以求導的。由圖2.3和式(2.22)可知,投影梯度下降算法中的投影算子是不可導的,所以并不能直接展開成神經網絡。這是將投影梯度下降算法進行深度展開時面臨的第一個問題。

針對第一個問題,雖然原始的投影算子不可導,但是可以選擇用其他可以求導的結構來代替原始的投影算子。DetNet正是這樣解決第一個問題的,它采用一個3層的全連接神經網絡來替代投影算子。因為原始投影算子本身是一個非線性的函數,所以DetNet采用非線性的全連接神經網絡去擬合投影算子。

DetNet遇到的第二個問題是全連接神經網絡的輸出仍然是連續的軟值,不能直接輸出離散的硬值。也就是說,經過全連接神經網絡輸出的向量仍然是軟值符號向量,需要進一步處理將其映射到硬值符號向量。針對這個問題,DetNet是這樣解決的:它將全連接神經網絡的輸出設定為發送符號估計值為字母表中真實值的概率。舉例來說,對于采用4PAM字母表的、配備15根發送天線的系統,DetNet全連接神經網絡的輸出的維度將會是15×4,其中15對應著每一個發送符號,4對應著發送符號分別為-3,-1,1,3的概率,這種長度為4的向量被稱為獨熱編碼(One-Hot Encoding)。顧名思義,如果網絡預測完全正確,那么輸出的概率中應該只有一位是1,其余位均是0。獲得獨熱編碼估計值以后,通過加權求和的方式(即概率與對應的字母表中的候選值相乘再疊加)就可以將獨熱編碼變換為硬值符號了,這里將其稱為獨熱映射函數,具體映射方式如式(2.25)所示。

(2.25)

其中,表示全連接神經網絡輸出的某一發送符號對應的獨熱向量,表示獨熱向量的第i個元素,si表示字母表中的第i個符號。綜上,通過獨熱映射函數可以將輸出獨熱向量映射為發送符號

通過上述方法的構造,DetNet的結構如圖2.4所示,相應的算法流程如式(2.26)所示。圖2.4中為DetNet單層網絡的結構,整個網絡通常需要30層這樣的結構進行級聯;根據系統的復雜程度,也可相應地增加或減少網絡的層數。

(2.26)

圖2.4 DetNet的結構

DetNet的可訓練參數包括L代表網絡的層數,其中所有Wkbk的維度都與發送天線的規模和調制階數正相關。也就是說,天線規模越大,調制階數越高,DetNet的可訓練參數就會越多,模型所需的存儲空間就越大,訓練也越慢。每一對Wkbk代表了一個全連接層,DetNet在每一層網絡中都包含3個全連接層,同時DetNet采用了ReLU作為激活函數以引入非線性。

DetNet采用式(2.27)作為損失函數,通過訓練,不斷縮小每一層網絡輸出的獨熱編碼向量與正確的獨熱編碼向量之間的均方誤差。因為層數越深的層輸出的結果越重要,所以在計算整個損失函數時,深層結果的均方誤差占有更大的比重。

(2.27)

其中,

DetNet在深度學習的應用方面無疑取得了巨大的成功,仿真結果(參考文獻[9])表明,在20根發送天線、30根接收天線的QPSK調制場景下,它的SER性能可以逼近SD算法的SER性能。但是DetNet的缺陷也非常明顯,首先因為采用了全連接神經網絡,它的參數數量非常多,并且隨著天線規模和調制階數的增加還會進一步增加,這導致了它的計算復雜度會比較高,且訓練速度很慢。更重要的是,在高階調制的場景下,其SER性能增益會明顯下降,具體SER性能比較圖像將在2.3.5小節給出。

主站蜘蛛池模板: 巫溪县| 乌鲁木齐市| 包头市| 萝北县| 赣州市| 冕宁县| 长宁县| 齐河县| 阿巴嘎旗| 聂拉木县| 乐清市| 东乌珠穆沁旗| 怀远县| 九台市| 海口市| 万全县| 灵璧县| 冷水江市| 东乌珠穆沁旗| 丰宁| 霞浦县| 太白县| 新晃| 广饶县| 高州市| 汝州市| 宁明县| 嘉义县| 固安县| 平湖市| 巴彦淖尔市| 安乡县| 安仁县| 文登市| 祁阳县| 洞头县| 综艺| 江源县| 云林县| 淳化县| 东城区|