被錯誤理解的人工神經網路(二)!

2021-09-13 16:16:31 字數 4035 閱讀 8881

摘要: 那些年我們錯誤理解了人工神經網路,想知道錯在什麼地方嗎?快來學習一下吧。

讓我們繼續談談關於人工神經網路的誤解:神經網路體系結構很少,越大型的神經網路就越好?

被錯誤理解的人工神經網路(一)!

神經網路並非只有一種體系結構

在第1部分中,我們討論了最簡單的神經網路體系結構:多層感知器。在實際操作中,有許多不同的神經網路體系結構,任何神經網路的效能都是其體系結構和權重的函式。機器學習領域的許多現代進步並非來自於重新思考感知器和優化演算法的工作方式,而是來自創造性地關注這些元件如何組合在一起。下面,我將討論一些隨著時間推移而發展的非常有趣和創造性的神經網路架構。

該圖顯示了三種流行的遞迴神經網路架構——即elman神經網路,約旦神經網路和hopfield單層神經網路

neural turing machine是乙個近期有趣的遞迴神經網路體系結構,該網路將遞迴神經網路架構與儲存器結合在一起,它能夠學習排序演算法和其他計算任務。

第乙個完全連線的神經網路是boltzmann神經網路,aka是boltzmann機器,這些網路是第乙個能夠學習內部表示並解決非常困難的組合問題的網路。boltzmann機器的乙個解釋:它是hopfield遞迴神經網路的蒙特卡羅版本。儘管如此,神經網路依然很難訓練。但是,當受到限制時,它們可以證明比傳統的神經網路更有效,boltzmann機器上最受歡迎的約束是禁止隱藏的神經元之間的直接連線。這種特殊的體系結構被稱為限制玻爾茲曼機器,它被用於深博特爾曼機器中。

該圖顯示了不同波爾茲曼機器在不同節點之間的連線可以顯著影響神經網路的結果(網路右側的圖)

在深度神經網路中,存在多個隱藏層的神經網路。由於在影象識別和語音識別問題上取得了無與倫比的成功,深度神經網路在近年來變得非常流行。深層神經網路架構增長得很快,比如深信念網路,卷積神經網路,深受限玻爾茲曼機,堆放自動編碼器等等。深度神經網路的乙個最大問題就是在非平穩金融市場的情況下,就是過度擬合。

該圖顯示了由多個隱藏層組成的深層神經網路

自適應神經網路是可以在學習的同時調整和優化其架構的神經網路。這是通過增長架構(增加更多隱藏的神經元)或縮小它(修剪不必要的隱藏的神經元)來完成的。我相信自適應神經網路最適合金融市場,因為金融市場是非平穩的。我這樣說是因為神經網路提取的特徵可能會隨著時間的推移而增強或減弱,這取決於市場動態。這意味著任何在過去最佳工作的體系結構都需要進行修改,以適應今天的工作方式。

該圖顯示了兩種不同型別的自適應神經網路架構。左圖是級聯神經網路,右圖是自組織對映圖

儘管在感知和連線方面沒有不同型別的體系結構,但是徑向基(rbf)網路使用徑向基函式作為它們的啟用函式,它們是實值函式,其輸出取決於與特定點的距離,最常用的徑向基函式是高斯分布。由於徑向基函式可以採用更複雜的形式,它們最初是用於執行函式插值。因此,使用徑向基函式的神經網路可以具有更高的資訊容量,徑向基函式也是支援向量機的核心。

該圖顯示了如何使用徑向基函式完成曲線擬合。

總之,現實中存在數百種神經網路架構,並且乙個神經網路的效能可以明顯優於另乙個。因此,對神經網路感興趣的定量分析人員應該測試多個神經網路架構,並考慮將它們的輸出組合在一起以最大化他們的投資績效。

神經網路的尺寸問題,但更大並不總是更好

選擇了架構之後,必須決定神經網路的大小。需要多少輸入?使用多少個隱藏的神經元?使用多少隱藏層?需要多少輸出神經元?這些問題很重要的原因是因為如果神經網路太大(或太小),神經網路可能會過度擬合(或欠適合)資料,那麼這將意味著網路不能很好地從樣本中泛化。

那麼應該使用多少個和那些輸入呢?

投入的數量取決於正在解決的問題——可用資料的數量和質量,以及可能產生的一些創造性。投入是簡單的變數,我們認為這些變數對**的因變數具有一定的**能力。如果問題的輸入不明確,則可以通過檢視潛在的自變數與因變數之間的相關性來系統地確定應包含哪些變數。

使用相關性選擇輸入變數有兩個問題。首先,如果你使用的是線性相關性度量標準,則可能會無意中排除有用的變數。其次,兩個相對不相關的變數可能會結合起來產生強相關變數。如果你單獨看變數,你可能會錯過這些機會。為了克服第二個問題,你可以使用主成分分析來提取有用的特徵向量作為輸入。也就是說,乙個問題是特徵向量可能不能很好地推廣,並且他們也假設輸入模式的分布是平穩的。

選擇變數的另乙個問題是多重共線性。多重共線性是當兩個或多個自變數被輸入模型時高度相關。在回歸模型的背景下,這可能會導致回歸係數隨著模型或資料的微小變化而不規律地改變。鑑於神經網路和回歸模型是相似的,我懷疑這對神經網路也是乙個問題。

最後,但並非最不重要的是,當選擇變數時可能引入的統計偏差被省略了。當乙個模型被建立時遺漏了乙個或多個重要的因果變數,就會出現省略變數偏差。當模型通過超出或低估其他變數之一的影響來錯誤地補償缺失變數時,就會產生偏差,例如,這些變數的權重可能變得過大或者sse很大。

你應該使用多少隱藏的神經元?

隱藏單元的最佳數量是根據問題而定的。這就是說,根據一般的經驗法則,使用的隱藏單位越多,過度擬合的風險就越有可能發生。過度擬合是指神經網路不知道資料的基本統計屬性,而是通過「記憶」模式記住訓練集的資料。這導致神經網路在這個訓練集中表現良好,但在之外的資料庫中表現很差。那麼,我們如何避免過度擬合呢?在行業中有兩種流行的方法,即提前停止和正規化,然而我個人最喜歡的方法是全域性搜尋。

提前停止是將你的資料集分成訓練集和驗證集。然後,不是訓練神經網路進行固定次數的迭代,而是訓練到驗證集上神經網路的效能開始變差。實質上,這阻止了神經網路使用所有可用的引數,並限制了它簡單記住它所看到的每個模式的能力。右側的影象顯示了神經網路的兩個潛在停止點(a和b)。

下圖顯示了停止在a或b時的神經網路的效能和過度擬合。

正則化是使用複雜體系結構的神經網路。這種方法的複雜性是通過神經網路權重的大小來衡量的。正則化是通過向求和平方的誤差目標函式新增乙個項來完成的,該項取決於權重的大小。這相當於增加乙個先驗值,這實際上使得神經網路相信它近似的函式是平滑的。

其中n是神經網路中權重的數量,引數α和β控制神經網路過度擬合或不適合資料的程度。使用貝葉斯分析和優化可以匯出α和β的良好值。這個和上面的內容在這個精彩的文章中有更詳細的解釋。

我最喜歡的技術也是迄今為止計算量最大的技術,它是全球搜尋。在這種方法中,搜尋演算法用於嘗試不同的神經網路架構並達到近乎最佳的選擇。這通常是使用本文中進一步討論的遺傳演算法完成的。

什麼是輸出?

神經網路可以用於回歸或分類,在回歸模型下,輸出單個值可對映到一組實數,這意味著只需要乙個輸出神經元。在分類模型下,模式可能屬於的每個潛在類,所以每個類都需要乙個輸出神經元。如果這些類是未知的,則應該使用無監督的神經網路技術,例如自組織對映。

總之,最好的方法是參考奧卡姆的剃刀原理。奧卡姆的剃刀原理認為,對於兩個等效效能模型,具有較少自由引數的模型更容易推廣。另一方面,不應該以效能為代價來選擇過於簡單化的模型。同樣,不應該假定僅僅因為神經網路具有更多隱藏的神經元、具有更多的隱藏層,它就勝過更簡單的網路。相反,在我看來,太多的注意力放在大型網路上,而導致放在做出好的設計決策上太少。在神經網路的領域,更大並不總是更好。

本文由阿里云云棲社群組織翻譯。

被錯誤理解的人工神經網路(二)!

讓我們繼續談談關於人工神經網路的誤解 神經網路體系結構很少,越大型的神經網路就越好?在第1 部分中,我們討論了最簡單的神經網路體系結構 多層感知器。在實際操作中,有許多不同的神經網路體系結構,任何神經網路的效能都是其體系結構和權重的函式。機器學習領域的許多現代進步並非來自於重新思考感知器和優化演算法...

人工神經網路 理解人工神經元和神經網路

人工神經網路主要根據大腦神經元構建人工神經元,並且按照一定的拓撲結構建立神經元之間的連線,模擬生物神經網路。早期模型強調生物合理性,目前更加強調對認知能力的模擬,完成某種特定任務。人工神經網路系列部落格持續更新。由於本人更喜歡使用word和mathtype,所以較多截屏。如果我的理解有欠缺或者錯誤,...

人工神經網路本質理解

1 每一層的數學表達 y f w x b 其中x 是輸入向量,y 是輸出向量,b 是偏移向量,w 是權重矩陣,f 是啟用函式。每一層僅僅是把輸入x 經過如此簡單的操作得到y 2 數學理解一 用線性變換跟隨著非線性變化,將輸入空間投向另乙個空間。與支援向量機的原理相同。理解非線性轉化為線性 3 數學理...