吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

神經網絡復雜性的基本下界

人工智能與大數據技術 ? 來源:Datawhale ? 作者:劉洋 ? 2021-10-13 15:40 ? 次閱讀

最近,人們對深度神經網絡產生了極大的興趣,因為它們在計算機視覺等領域取得了突破性的成果。

盡管如此,仍有一些人對此表示關切。一是很難去理解神經網絡真正在做什么。如果一個人訓練得很好,就可以獲得高質量的結果,但是要理解它是如何做到的是很困難的。如果網絡出現故障,很難解釋出了什么問題。

雖然理解深層神經網絡的一般行為很有挑戰性,但事實證明,探索低維深層神經網絡要容易得多——每層只有幾個神經元的網絡。事實上,我們可以通過可視化來理解這種網絡的行為和訓練。這一觀點將使我們對神經網絡的行為有更深的直覺,并觀察到神經網絡與一個稱為拓撲學的數學領域之間的聯系。

接下來有許多有趣的事情,包括能夠對特定數據集進行分類的神經網絡復雜性的基本下界。

一個簡單的例子

讓我們從一個非常簡單的數據集開始,平面上的兩條曲線上的所有點。神經網絡將試著把點分為兩類。

一個最直觀的方式去觀察神經網絡的行為(或任何分類算法),就是看看它是如何對每個可能的數據點進行分類的。

我們將從最簡單的神經網絡開始,這個只有一個輸入層和一個輸出層。這樣的網絡只是試圖用一條線將這兩類數據分開。

這種網絡不夠有趣?,F代神經網絡通常在輸入和輸出之間有多層,稱為“隱藏”層。但這個網絡好歹有一層可研究。

類似地,我們可以通過查看神經網絡對其域中不同點所做的操作,來觀察該網絡的行為。下面這個圖用比直線更復雜的曲線來分離數據。

對于每一層,網絡都會轉換數據,創建一個新的表示形式。我們可以查看這些表示形式中的數據以及網絡如何對它們進行分類。當我們得到最終的表示時,網絡只會在數據中畫一條線(可能在更高的維度中,是一個超平面)。

在前面的可視化中,我們查看了數據的“原始”表示形式。你可以把它看作是我們在看「輸入層」?,F在我們將在它被第一層轉化之后再看一看。你可以認為這是我們在看「隱藏層」。

每一個維度都對應于該層神經元的激活。

隱藏層學習的一種表示,這樣使得數據可以線性分離

層的連續可視化

在上一節中概述的方法中,我們通過查看與每一層對應的表示來學習理解網絡。這給了我們一個離散的表示列表。

棘手的部分在于理解我們如何從一個到另一個。謝天謝地,神經網絡層有很好的特性,使這變得非常容易。

在神經網絡中有各種不同的層。我們將討論 tanh 層作為一個具體例子。一個tanh層,包括:

用“權”矩陣 W 作線性變換

用向量 b 作平移

用 tanh 逐點表示

我們可以將其視為一個連續的轉換

其他標準層的情況大致相同,由仿射變換和單調激活函數的逐點應用組成。

我們可以應用這種技術來理解更復雜的網絡。例如,下面的網絡使用四個隱藏層對兩個稍微糾纏的螺旋進行分類。隨著時間的推移,我們可以看到,為了對數據進行分類,它從“原始”的表示方式轉變為更高級別的表示方式。雖然螺旋最初是糾纏在一起的,但到最后它們是線性可分離的。

另一方面,下面的網絡,也使用多層,但無法分類兩個更糾纏的螺旋。

這里值得明確指出的是,這些任務只是有些挑戰性,因為我們使用的是低維神經網絡。如果我們使用更廣泛的網絡,這一切都會很容易。

(Andrej Karpathy基于ConvnetJS制作了一個很好的demo,讓您可以通過這種可視化的訓練交互式地探索網絡?。?/p>

tanh層的拓撲

每一層都會拉伸和擠壓空間,但它從不切割、斷裂或折疊空間。直觀上來看,它保持了拓撲性質。例如,如果一個集合在之前連續,那么它將在之后也如此(反之亦然)。

像這樣不影響拓撲的變換稱為同胚。形式上,它們是雙向連續函數的雙射。

定理:神經網絡的一層有N個輸入和N個輸出,這層的映射是同胚,如果權重矩陣 W 是非奇異的。

證明:讓我們一步一步地考慮這個問題

假設 W 存在非零行列式。那么它是一個具有線性逆的雙射線性函數。線性函數是連續的。那么乘以 W 是同胚

translations是同胚的

tanh(和sigmoid和softplus,但不是ReLU)是具有連續逆的連續函數。它們就是雙射,逐點的應用它們就是一個同胚

因此,如果 W 存在一個非零行列式,我們的層就是同胚。

如果我們任意地將這些層組合在一起,這個結果仍然成立。

拓撲與分類

我們考慮一個二維數據集,它包含兩類:

c5c50100-2308-11ec-82a8-dac502259ad0.png

c603e64a-2308-11ec-82a8-dac502259ad0.png

A是紅的,B是藍的

說明:如果一個神經網絡沒有一個包含3個或更多隱藏單元的層,不管深度如何,它都不可能對這個數據集進行分類。

如前所述,使用sigmoid單元或softmax層進行分類相當于試圖找到一個超平面(在本例中是一條線)來分隔 A 和 B。由于只有兩個隱藏單元,網絡在拓撲上無法以這種方式分離數據,并且在這個數據集上注定會失敗。

在下面的可視化中,當一個網絡沿著分類線訓練時,我們觀察到一個隱藏的表示。正如我們所看到的,它試圖學習一種方法來做到這一點。

最后它被拉進了一個相當不好的局部極小值。雖然它實際上能夠達到80%的分類精度。

這個例子只有一個隱藏層,但是無論如何它都會失敗。

證明:要么每層是同胚,要么層的權矩陣有行列式0。如果是同胚的話,A仍然被B包圍著,一條線不能把它們分開。但是假設它的行列式為0,那么數據集將在某個軸上折疊。因為我們處理的是與原始數據集同胚的東西,A 被 B 包圍,A 在任何軸上塌陷意味著我們將有一些A 和 B 混合的點,它們變得無法區分。

如果我們添加第三個隱藏單元,問題就變得不重要了。

通過這種表示,我們可以用一個超平面來分隔數據集。

為了更好地了解發生了什么,讓我們考慮一個更簡單的一維數據集:

c7fb1d38-2308-11ec-82a8-dac502259ad0.png

如果不使用由兩個或更多隱藏單元組成的層,我們就無法對該數據集進行分類。但是如果我們用一個單位和兩個單位,我們就學會了用一條漂亮的曲線來表示數據,這樣我們就可以用一條線來分隔類:

流形假說

這是否與真實世界的數據集相關,比如圖像數據?如果你真的認真對待流形假設,我認為這是值得考慮的。

流形假設是自然數據在其嵌入空間中形成低維流形。有理論和實驗作為理由相信這是真的。如果你相信這一點,那么分類算法的任務就是從根本上分離一組糾纏在一起的流形。

在前面的示例中,一個類完全包圍了另一個類。然而,狗的圖像流形似乎并不很可能被貓圖像流形完全包圍。但是還有其他更合理的拓撲情況,仍然可能會引發問題,我們將在下一節中看到。

連接和同倫

一個有趣的數據集是兩個鏈接的圓環面(tori),A 和 B。

這與我們之前考慮的數據集非常相似,如果不使用n+1維度,這個數據集就不能被分離,這里即為第4維度。

連接是在結理論中被研究的,這是拓撲學的一個領域。有時,當我們看到一個連接時,它是否是一個斷開的鏈接(一堆東西糾纏在一起,但可以通過連續變形來分開)并不是很明顯。

如果一個只有3個單位的層的神經網絡可以對它進行分類,那么它就是一個斷開的連接。(問題:從理論上講,一個只有3個單元的網絡是否可以對所有未鏈接進行分類?)

從結的角度來看,我們對神經網絡產生的表示的連續可視化不僅僅是一個很好的動畫,它是一個解開鏈接的過程。在拓撲學中,我們稱之為原始連接和分離之間的ambient isotopy。

一個簡單的方法

對于神經網絡來說,最簡單的方法就是嘗試將流形拉開,并盡可能地拉伸那些纏結在一起的部分。雖然這不會接近真正的解決方案,但它可以實現相對較高的分類精度,并且是一個較為誘人的局部最小值。

它會在它試圖拉伸的區域上呈現出非常高的導數,并且在不連續點附近較尖銳。我們知道這些事情發生了。收縮懲罰,懲罰數據點的層的導數,是應對這一點的自然方法。

由于這些局部極小值從解決拓撲問題的角度來說是完全無用的,拓撲問題可能為探索解決這些問題提供了一個很好的動力。

另一方面,如果我們只關心取得好的分類結果,我們似乎不在乎。如果一小部分數據流形被另一個流形所纏繞,那對我們來說是個問題嗎?盡管存在這個問題,我們似乎應該能夠得到任意好的分類結果。

(我的直覺是,像這樣試圖欺騙問題是個壞主意:很難想象這不會是一個死胡同。特別是,在局部極小值是一個大問題的優化問題中,選擇一個不能真正解決問題的體系結構似乎會導致糟糕的性能。)

操縱流形的更好層次?

我越是想到標準的神經網絡層——也就是說,用仿射變換和逐點激活函數——我就越感到不抱幻想。很難想象它們真的非常適合操縱流形。

也許有一種完全不同的層次,我們可以在構圖中使用更傳統的層次是有意義的?

我覺得很自然的一件事是學習一個向量場,它的方向是我們想要移動流形的方向:

然后在此基礎上變形空間:

我們可以在固定點學習向量場(只需從訓練集中選取一些固定點作為錨),并以某種方式進行插值。上面的向量場的形式如下:

cb607cc0-2308-11ec-82a8-dac502259ad0.png

其中和是向量和和是n維高斯函數。這是受到徑向基函數的啟發。

K-近鄰層

我也開始認為,線性可分性可能對神經網絡是一個巨大的,可能是很不合理的的要求。在某些方面,使用k近鄰(k-NN)是一件很自然的事情。然而,k-NN它的成功在很大程度上依賴于它對數據進行分類的表示,因此在k-NN能夠正常工作之前需要一個良好的表示。

作為第一個實驗,我訓練了一些MNIST網絡(兩層CNN,無dropout),達到~1%,測試錯誤。然后,我放棄了最后的softmax層,并使用了k-NN算法。我能夠實現測試誤差降低0.1-0.2%。

不過,這感覺不太合適。網絡仍然在嘗試進行線性分類,但是由于我們在測試時使用k-NN,它能夠從它犯的錯誤中恢復一點。

由于(1/distance)的加權,k-NN相對于它所作用的表示是可微的。因此,我們可以直接訓練網絡進行k-NN分類。這可以看作是一種“最近鄰”層,作為softmax的替代品。

我們不想為每個小批量反饋整個訓練集,因為這在計算上非常昂貴。我認為一個很好的方法是根據小批量中其他元素的類別對小批量中的每個元素進行分類,給每個元素賦予(1/(與分類目標的距離))的權重,遺憾的是,即使使用復雜的體系結構,使用k-NN也只能得到5-4%的測試錯誤,而使用更簡單的體系結構會得到更糟糕的結果。不過,我在使用超參數方面投入的精力很少。

不過,我還是很喜歡這種方法,因為我們“要求”網絡做的似乎更合理。我們希望同一流形的點比其他流形的點更接近,而不是流形被超平面分開。這應該對應于膨脹不同類別的流形之間的空間和收縮單個流形。這感覺很簡單。

總結

數據的拓撲特性可能使得使用低維網絡來線性劃分類是不可能的(在不考慮深度的前提下)。即使在技術上可行的情況下,例如螺旋,這樣做也是非常具有挑戰性的。

為了用神經網絡對數據進行精確分類,有時需要寬層。此外,傳統的神經網絡層似乎不太擅長表示流形的重要操作;即使我們用手巧妙地設置權重,也很難緊湊地表示我們想要的變換。新設計的層,特別是由機器學習的多方面觀點推動的,可能是有用的。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4781

    瀏覽量

    101178
  • 數據
    +關注

    關注

    8

    文章

    7145

    瀏覽量

    89590

原文標題:用可視化理解神經網絡!

文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    卷積神經網絡與傳統神經網絡的比較

    神經網絡,也稱為全連接神經網絡(Fully Connected Neural Networks,FCNs),其特點是每一層的每個神經元都與下一層的所有神經元相連。這種結構簡單直觀,但在
    的頭像 發表于 11-15 14:53 ?745次閱讀

    BP神經網絡最少要多少份樣本

    等。然而,BP神經網絡的訓練需要大量的樣本數據,需要根據問題的復雜性、數據的可用和計算資源等因素,綜合確定樣本數量以保證網絡的泛化能力。 BP神經
    的頭像 發表于 07-11 10:31 ?757次閱讀

    怎么對神經網絡重新訓練

    重新訓練神經網絡是一個復雜的過程,涉及到多個步驟和考慮因素。 引言 神經網絡是一種強大的機器學習模型,廣泛應用于圖像識別、自然語言處理、語音識別等領域。然而,隨著時間的推移,數據分布可能會
    的頭像 發表于 07-11 10:25 ?529次閱讀

    BP神經網絡和人工神經網絡的區別

    BP神經網絡和人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區別,是神經網絡領域中一個基礎且重要的話題。本文將從定義、結構、算法、應用及未來發展等多個方面,詳細闡述BP
    的頭像 發表于 07-10 15:20 ?1312次閱讀

    機器人神經網絡系統的特點包括

    機器人神經網絡系統是一種模擬人類大腦神經網絡的計算模型,具有高度的復雜性和靈活性。在本文中,我們將詳細介紹機器人神經網絡系統的特點,包括其結構、功能、優勢和應用等方面。 一、引言
    的頭像 發表于 07-09 09:45 ?549次閱讀

    rnn是遞歸神經網絡還是循環神經網絡

    RNN(Recurrent Neural Network)是循環神經網絡,而非遞歸神經網絡。循環神經網絡是一種具有時間序列特性的神經網絡,能夠處理序列數據,具有記憶功能。以下是關于循環
    的頭像 發表于 07-05 09:52 ?654次閱讀

    遞歸神經網絡與循環神經網絡一樣嗎

    神經網絡是一種基于樹結構的神經網絡模型,它通過遞歸地將輸入數據分解為更小的子問題來處理序列數據。RvNN的核心思想是將復雜的序列問題
    的頭像 發表于 07-05 09:28 ?996次閱讀

    遞歸神經網絡是循環神經網絡

    遞歸神經網絡(Recurrent Neural Network,簡稱RNN)和循環神經網絡(Recurrent Neural Network,簡稱RNN)實際上是同一個概念,只是不同的翻譯方式
    的頭像 發表于 07-04 14:54 ?873次閱讀

    反向傳播神經網絡和bp神經網絡的區別

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層前饋神經網絡,它通過反向傳播算法來調整網絡中的權重和偏置,以達到最小化誤差的
    的頭像 發表于 07-03 11:00 ?870次閱讀

    如何使用神經網絡進行建模和預測

    輸入信號,對其進行加權求和,然后通過激活函數進行非線性轉換,生成輸出信號。通過這種方式,神經網絡可以學習輸入數據的復雜模式和關系。 神經網絡的類型 神經網絡有多種類型,包括前饋
    的頭像 發表于 07-03 10:23 ?838次閱讀

    bp神經網絡是深度神經網絡

    Network)有相似之處,但它們之間還是存在一些關鍵的區別。 一、引言 神經網絡是一種模擬人腦神經元結構的計算模型,它由大量的神經元(或稱為節點)組成,這些神經元通過權重連接在一起
    的頭像 發表于 07-03 10:14 ?949次閱讀

    bp神經網絡和卷積神經網絡區別是什么

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種不同類型的人工神經網絡,它們在
    的頭像 發表于 07-03 10:12 ?1360次閱讀

    卷積神經網絡和bp神經網絡的區別

    卷積神經網絡(Convolutional Neural Networks,簡稱CNN)和BP神經網絡(Backpropagation Neural Networks,簡稱BPNN)是兩種
    的頭像 發表于 07-02 14:24 ?4721次閱讀

    神經網絡在數學建模中的應用

    數學建模是一種利用數學方法和工具來描述和分析現實世界問題的過程。神經網絡是一種模擬人腦神經元結構和功能的計算模型,可以用于解決各種復雜問題。在數學建模中,神經網絡可以作為一種有效的工具
    的頭像 發表于 07-02 11:29 ?1120次閱讀

    神經網絡架構有哪些

    神經網絡架構是機器學習領域中的核心組成部分,它們模仿了生物神經網絡的運作方式,通過復雜網絡結構實現信息的處理、存儲和傳遞。隨著深度學習技術的不斷發展,各種
    的頭像 發表于 07-01 14:16 ?869次閱讀
    百家乐官网下注法| 圣淘沙百家乐官网娱乐城| 盛世国际,| 娱乐城彩金| 联博娱乐| 双桥区| 国际百家乐官网规则| 百家乐官网千术道具| 百家乐官网是骗人的么| 百家乐官网视频游戏掉线| 任我赢百家乐官网软件中国有限公司| 百家乐官网赌场规则| 百家乐官网五湖四海娱乐场开户注册| V博百家乐官网的玩法技巧和规则| 百家乐网上投注网站| 百家乐是怎么赌法| 大发888平台下载| 最新博彩论坛| 百家乐官网如何看面| 带百家乐官网的时时彩平台| 网上的百家乐官网是假的吗| 百家乐官网红桌布| 壹贰博百家乐娱乐城| 威尼斯人娱乐网赌| 太阳城亚洲| 百家乐官网太阳城菲律宾| 免费百家乐官网倍投工具| 百家乐赌场公司| 大发888真钱娱乐游戏博彩| 大发888官网 平台| 肃北| 赌场百家乐官网是如何| 新浪棋牌竞技风暴| 真钱百家乐官网五湖四海全讯网| 皇马百家乐官网的玩法技巧和规则| 视频百家乐破解| 大发888在线扑| 百家乐娱乐网官网网| 百家乐导航| 诸子百家乐官网的玩法技巧和规则 | 现场百家乐官网能赢吗|