深度學習論文分享:復值神經網絡在實值分類任務中的應用

文章摘要

復值神經網絡並不是一個新概念,然而,由於訓練和性能方面的困難,使用實值模型往往比復值模型更受青睞。當比較實值與復值神經網絡時,現有文獻通常忽略參數的數量,從而導致神經網絡與極大不同的比較。我們發現,當比較具有相似容量的真實和複雜神經網絡時,複雜模型對於一系列實值分類任務執行等於或稍差於實值模型。複數的使用允許神經網絡處理複雜平面上的噪聲。當使用復值神經網絡對實值數據進行分類時,權重的虛部遵循其實部。此行爲對於不需要復值模型的任務具有指示性。我們在綜合分類任務中進一步研究了這一點。我們可以使用不同的策略將許多激活函數從真實域轉移到複雜域。然而,複雜神經網絡的權重初始化仍然是一個重要問題。

文章引言

近年來,復值神經網絡已成功應用於各種任務,特別是在信號處理,其中輸入數據在複雜域中具有自然解釋。復值神經網絡通常與實值網絡進行比較。我們需要確保這些架構在他們的模型大小和容量。比較的這一方面很少被研究或僅僅從表面上處理。一種其容量的度量標準是實值參數的數量。將複數引入模型會增加計算複雜度和實值參數的數量,但會假設權重和數據輸入。本文探討了具有可變深度和寬度的復值多層感知器(MLP)的性能。我們考慮實值的基準分類任務中的參數數量和激活函數的選擇數據。我們提出了一個複雜值的多層感知器體系結構及其訓練過程。我們認爲各種激活函數以及複雜情況和實際情況下的實值參數數量。

我們建議構造可比網絡的兩種方法:

  1. 通過爲每層設置固定數量的實值神經元
  2. 通過設置固定預算的實值參數。作爲基準任務,我們選擇MNIST數字分類[18], CIFAR-10圖像分類[17],CIFAR-100圖像分類[17]

相關工作

克拉克首先正式描述了復值神經網絡[8]。此後有幾位作者提出梯度下降的反向傳播算法的複雜版本[6,10,19]。受多值工作啓發1970年代的閾值邏輯[1],由Aizenberg等人定義了多值神經元和神經網絡。[4,3]誰也將這個想法擴展到四元數。在2000年代,複雜的神經網絡成功應用於各種任務[22、12、21、25]。這些任務主要涉及複雜值數據的處理和分析。或具有直觀映射到複數的數據。特別是波形或傅立葉形式的圖像和信號變換被用作複數值神經網絡的輸入數據[15]。複數的另一自然應用是在圖像和信號處理中使用的卷積[7]。雖然真正的卷積在深度學習中廣泛用於圖像處理,但可以將其替換爲復卷積[26、13、23、14]。複數和矩陣的屬性可用於定義深度學習模型的約束。介紹了由Arjovsky等人撰寫。 [5],並由Wisdom等人進一步開發。 [29]約束的復值遞歸網絡它們的權重爲單一矩陣,減少了消失或爆炸梯度的影響。最近,復值神經網絡已被用來學習作爲圖像和音頻嵌入的過濾器信號[27、24、9]。此外,張量分解已應用於複雜的嵌入以預測邊緣知識庫實體之間的關係[28]。儘管取得了成功,但複雜的神經網絡沒有其實際值對應部分流行。潛在地,因爲培訓過程和體系結構設計的直觀性較差,這源於更嚴格的要求激活函數在複平面上的可分性[31,16,20]。在將復值神經網絡與實值神經網絡進行比較時,許多出版物都忽略了參數總數[3],僅比較整個模型的參數數目[26],否則不比較區分複數值或實數值參數和單位[30]。從本文的角度來看比較等效於比較不同大小的模型。我們系統地探討了考慮激活函數,寬度和深度的簡單分類任務中的多層感知器。

復值網絡

我們定義一個類似於其實際值對應部分的複雜值神經元,並考慮其結構和訓練上的差異。 複雜神經元可以定義爲:

[公式]

輸入x∈ƒñ,W∈ƒn×m,b∈ƒ米上述定義中的激活函數φ可以是φ:ƒ→’或φ:ƒ→ƒ。 我們將考慮更詳細地選擇非線性激活函數。在這項工作中,我們選擇一個簡單的實值損失函數,但是復值損失函數可能會在將來工作。 上沒有總訂購複數的領域,因爲i^2 = -1。 復值損失函數將要求定義一個偏序複數(類似於線性矩陣不等式)。

複數域中的訓練過程有所不同,因爲激活功能通常並非完全複雜。

復值網絡中的參數交互

任何複數z = x + iy = r ∗ e我ϕ可以用兩個實數表示:實部Re(z)= x和虛部Im(z)= y或等效於大小| z | =pX2 +年2 = r和相位(角度)ϕ = arctan(Xÿ)。因此,一個或多個復變量上的任何復值函數都可以表示爲兩個上的函數實變量f(z)= f(x,y)= f(r,ϕ)。儘管在神經網絡中直接使用和表示,但複數定義了這兩個部分。 考慮方程2概述的迴歸中必需的運算由實數和虛部(或等效地,幅值和相位)。 這種增強的表示形式有助於計算輸入x與複數值權重的乘法矩陣W爲:

網絡的容量

(實值)參數的數量是一種度量網絡的能力,可以量化網絡在逼近結構複雜功能方面的能力。 參數過多時,模型傾向於填充數據,而參數過多時,則傾向於填充數據。 表示複數a +使用實數(a,b)的結果是,每一層的實數參數的數量加倍:pƒ= 2p'。 每層的實值參數的數量應在實值與其複雜值的體系結構之間相等(或至少儘可能接近)。 這樣可以確保模型具有相同的容量。 性能差異是由引入複數作爲參數而不是容量差異引起的。 在實際情況和複雜情況下,請考慮全連接層中的參數數量。 設n爲輸入維數,m爲神經元數,則實值層p’和複數層pƒ的參數數由下式給出:

對於具有k個隱藏層且輸出尺寸爲c的多層感知器,無偏差的實數值參數的數量由下式給出:

乍一看,設計可比的多層神經網絡架構是很簡單的,即在每一層中具有相同數量的實值參數。 但是,將每層神經元的數量減半將無法實現參數可比性。 神經元的數量定義了一層的輸出尺寸和下一層的輸入尺寸。 我們通過選擇具有偶數個隱藏層k和每個層之間的中子層數爲m 2的MLP體系結構來解決此問題。我們在複雜值MLP的每個層中都將相同數量的實際參數與面積值網絡相比較。 讓我們考慮k = 4個隱藏層的輸出和權重的維數。 對於實值情況:

其中mi是第i層的(複雜實數)神經元的數量。 複數神經元的等價使用爲:

復值神經網絡的激活函數

在任何神經網絡中,一個重要的決定是非線性的選擇。 在每一層中使用相同數量的參數,我們能夠研究激活函數對整體性能的影響。 選擇激活函數時要考慮的一個重要定理是Liouville定理。 定理指出,任何有界的全純函數f:ƒ→ƒ(在整個複平面上都是可微的)必須是常數。 因此,我們需要選擇無界和/或非全態激活函數。

爲了研究假設函數在複雜參數中線性可分離的複雜模型的性能,我們選擇了恆等函數。 這使我們能夠識別在使用m個神經元時可能不是線性可分離的任務,而在使用mf個神經元時可能是線性可分離的任務。 一個例子是XOR函數[2]的近似值。 雙曲正切是一個經過充分研究的函數,並且定義了複數和實數。 線性校正也很容易理解,並經常在實值設置中使用,但在複雜值設置中並未考慮。 它說明了在複數的兩個部分上的單獨應用。 選擇幅度和平方函數可以將複數映射爲實數。

復值網絡用的激活函數有:

實驗

爲了比較實值和復值多層感知器(圖1),我們在各種分類任務中對其進行了研究。 在下面的所有實驗中,任務是使用複數值多層感知器爲每個實數值數據點分配一個單一的類:

我們測試了具有k = 0、2、4、8個隱藏層的MLP,在實值架構中固定了每一層的單元寬度,在複數值架構中交替了64和32個單元(請參閱第5節)。 我們沒有應用固定參數預算。 我們測試了MNIST數字分類,CIFAR-10圖像分類,CIFAR-100圖像分類和Reuters主題分類的模型。 路透社主題分類和MNIST數字分類每層使用64個單位,CIFAR-10和CIFAR-100每層使用128個單位。

得到以下的結果:

複數值MLP可用於將短依賴項(例如MNIST數字分類)或短文本分類爲單詞袋(例如路透社主題分類)。對於兩個圖像分類任務CIFAR-10和CIFAR-100,結果表明複合值MLP不會在數據中學習任何結構。這兩個任務在第一層需要更大的權重矩陣,權重初始化仍然是一個重要的問題。複雜神經網絡中最好的非線性是應用於虛部和實部的整流器線性單位relu,類似於實值模型。身份和雙曲線正切值優於relu-特別是在實值情況下。但是,使用整流器線性單元relu的結果要穩定得多。儘管激活函數| z | 2和|| z |相似,但是它們在所有任務中的性能都顯着不同。大小| z |始終勝過平方大小| z | 2。在這些分類基準中,激活函數是給定模型整體性能的決定因素。激活可以允許網絡從錯誤的初始化中恢復並適當使用可用參數。

如預期的那樣,我們觀察到每層神經元的固定數量和深度的增加,複雜和實數值的準確性增加。隨着參數總數的增加,模型的容量也會增加。這裏是路透社主題分類的一個例外,即隨着深度的增加,性能會下降。當根據給定的參數預算選擇每層的神經元數量(使用公式17、18進行實驗2)時,性能會隨着模型深度的增加而顯着降低。考慮到實驗1的結果,每層的寬度比整個網絡的總深度更重要。我們觀察到10個初始化之間的性能差異非常大。我們假設,隨着深度的增加,複雜MLP中的權重初始化變得困難得多。因此,它們的性能非常不穩定。我們通過對路透分類任務進行100次運行(而不是10次運行)訓練一個複雜的MLP(k = 2,tanh)來確定這一點。結果顯示出與其他結果相似的行爲:性能差距減小

 

表1:在MNIST數字分類任務中,由k + 2層組成的多層感知器的測試準確性,每層具有64個神經元(在複雜的MLP中交替排列64和32個神經元),輸出層具有c = 10個神經元(實驗1) 。 十次最佳選擇。 每次跑步訓練100個回合。

表2:在路透社主題分類中,由k + 2層組成的多層感知器的測試準確性,每個層具有64個神經元(在複雜的MLP中交替排列64和32個神經元),輸出層具有c = 46個神經元(實驗1)。 十次最佳選擇。 每次跑步訓練100個回合。

表3:在CIFAR-10圖像分類任務中,由k + 2層組成的多層感知器的測試精度,每層包含128個神經元(在複雜MLP中交替使用128和64個神經元),輸出層具有c = 10個神經元(實驗) 1)。 十次最佳選擇。 每次跑步訓練100個回合。

表4:由k + 2層組成的多層感知器的測試準確性,每層包含128個神經元(交替128個神經元)CIFAR-100圖像分類中,複雜MLP中有64個神經元)和c = 100個神經元的輸出層任務(實驗1)。 十次最佳選擇。 每次跑步訓練100個回合。

對於涉及數據在複平面上有解釋的許多應用(例如信號),復值神經網絡已經顯示出它們是優越的[15]。 我們工作中所有選定的任務都使用實值輸入數據。 我們觀察到,對於選定的任務,復值神經網絡的性能不及預期,並且實值架構優於其複雜版本。 首先,這種發現似乎是違反直覺的,因爲每個實數值只是虛數爲零的複數的特例。 用複數值模型解決實數值問題可使模型有更大的自由度來近似函數。 爲什麼對複雜值模型進行分類時,爲什麼複雜值模型不如真實模型。 在進一步檢查訓練過程中,我們發現複數權重的虛部始終遵循權重的實部。

在達到分類的輸入上,平面上虛部和實部作用相同。因此,分類是兩個相同分類的平均值。如果在訓練階段,重量的虛部的平均絕對值遵循實部的絕對值,則輸入的虛部與實部的分配方式完全相同,或者所考慮的任務根本不會受益於使用複雜的-有價值的假設。此外,我們觀察到,與真實值神經網絡相比,複雜值神經網絡對其初始化更爲敏感。靈敏度隨着網絡的大小而增加。權重初始化由Trabelsietal建議。[26]可以減少此問題,但不能解決。 Glorot等人的方差規模化初始化的這種初始化方法複雜。等[11]。其他可能的初始化方法包括使用隨機搜索算法(RSA)[31]。這需要大量的計算。我們最終嘗試通過不同的最小化來多次緩解每次實驗的問題。但是,複數權重的初始化仍然是一個重要且尚未解決的問題,需要進一步研究。激活函數的無窮大會導致學習過程的數值不穩定。這可能會導致學習過程失敗(例如,梯度實際上是無限的)。如果學習過程在功能上達到這一點(例如奇異性),則難以恢復訓練。通過約束功能,標準化權重或漸變不可避免。隨着深度和結構複雜性的增加,這些選擇由於其計算成本而可能不切實際。或者,也可以在設計階段通過選擇有界且完全複雜的微分激活函數來避免這種情況。找到這樣的功能是困難的。另一種可能性是通過應用單獨的有界激活函數(相同或不同的實函數)來幫助解決該問題,從而在實踐中避免該問題。整流器線性單元是這些功能之一。雖然不是完全可以區分的,但我們發現培訓過程更加穩定並且性能得到了改善。儘管由於數學上的困難而存在差異,但實際上我們可以將許多見解從真實域轉移到複雜域。總之,與具有相似能力的復值模型相比,實值模型對實值任務構成了較高的性能極限,因爲實部和虛部對輸入的作用相同。對信息和梯度流的研究可以幫助識別從複雜值神經網絡中受益的任務。考慮到現有文獻和我們的發現,我們建議,如果數據在複雜域中自然存在,或者可以有意義地移到複雜平面上,則應使用複雜的神經網絡進行分類任務。網絡應反映權重的實部和虛部與輸入數據的相互作用。如果忽略該結構,則該模型可能無法利用更大的自由度。由於更復雜的訓練過程,很可能還需要更多的初始化和計算時間。

結論

這項工作考慮了基準分類任務中複雜值和實值多層感知器之間的比較。我們發現,即使複雜值模型允許更大的自由度,複雜值MLP在對實際值數據進行分類時的表現也相似或更差。我們建議在神經網絡中使用複數,如果a)輸入數據具有自然映射到複數的功能,b)輸入數據中的噪聲分佈在複平面上,或者c)可以從實值數據中學習復值嵌入。我們可以通過比較實際和虛構權重的訓練行爲(例如,通過平均絕對值)來確定從中受益的任務。如果假想部分在整個時期內都不遵循真實部分的一般行爲,則該任務將從假設複雜的假設中受益。模型設計要考慮的其他方面是激活函數,權重初始化策略以及性能,模型大小和計算成本之間的折衷。在我們的工作中,性能最佳的激活功能是整流器線性單元在組件方面的應用。我們通過使用Wirtinger微積分或基於梯度的方法結合避免特定點的策略,將它們分別應用於兩個真實部分,從而轉移了許多真實和複雜的激活函數。 Trabelsi等人描述的初始化。 [26]可以幫助減少初始化問題,但是需要進一步的研究。與許多其他體系結構相似,引入複數作爲參數也是決定在任務特定的性能,模型的大小(即實值參數的數量)和計算成本之間進行權衡的決定。

參考文獻

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章