搜尋
首頁科技週邊人工智慧18張圖直觀理解神經網路、流形和拓樸

18張圖直觀理解神經網路、流形和拓樸

Apr 12, 2023 pm 07:58 PM
結構神經網路

迄今,人們對神經網路的一大疑慮是,它是個難以解釋的黑盒子。本文則主要從理論上理解為什麼神經網路對模式辨識、分類效果這麼好,其本質是透過一層層仿射變換和非線性變換把原始輸入做扭曲和變形,直到可以非常容易被區分出不同的類別。實際上,反向傳播演算法(BP) 其實就是根據訓練資料不斷微調這個扭曲的效果。

大約十年前開 始, 深 度 神經 網路 在計算 機視覺等領域取得了突破性成果,引起了極大的興趣與關注。

然而,仍有一些人對此表示憂慮。原因之一是,神經網路是一個黑盒子:如果神經網路訓練得很好,可以獲得高品質的結果,但很難理解它的工作原理。如果神經網路故障,也很難找出問題所在。

雖然要整體理解深層神經網絡很難,但可以從低維深層神經網絡入手,也就是每層只有幾個神經元的網絡,它們理解起來要容易得多。我們可以透過視覺化方法來理解低維度深層神經網路的行為和訓練。視覺化方法能讓我們更直觀地了解神經網路的行為,並觀察到神經網路和 拓樸 學之間的連結。

接下來我會談及許多有趣的事情,包括能夠對特定資料集進行分類的神經網路的複雜性下限。

1、一個簡單的例子

讓我們從一個非常簡單的資料集開始。下圖中,平面上的兩條曲線由無數的點組成。神經網路將試著區分這些點分別屬於哪一條線。

18張圖直觀理解神經網路、流形和拓樸

要觀察神經網路(或任何分類演算法)的行為,最直接的方法就是看看它是如何對每個資料點進行分類的。

我們從最簡單的神經網路開始觀察,它只有一個輸入層和一個輸出層。這樣的神經網路只是用一條直線將兩類數據點分開。

18張圖直觀理解神經網路、流形和拓樸

這樣的神經網路太簡單粗暴了。現代神經網路通常在輸入層和輸出層之間有多個層,稱為隱藏層。再簡單的現代神經網路起碼有一個隱藏層。

18張圖直觀理解神經網路、流形和拓樸

一個簡單的神經網絡,圖源維基百科

#同樣地,我們觀察神經網路對每個資料點所做的操作。可見,這個神經網路用一條曲線而不是直線來分離資料點。顯然,曲線比直線更複雜。

18張圖直觀理解神經網路、流形和拓樸

神經網路的每一層都會用一個新的表示形式來表示資料。我們可以觀察資料如何轉化成新的表示形式以及神經網路如何對它們進行分類。在最後一層的表示形式中,神經網路會在兩類資料之間畫一條線來區分(如果在更高的維度中,就會畫一個超平面)。

在前面的視覺化圖形中,我們看到了資料的原始表示形式。你可以把它視為資料在「輸入層」的樣子。現在我們來看看資料被轉換之後的樣子,你可以把它視為資料在「隱藏層」中的樣子。

資料的每一個維度都對應神經網路層中一個神經元的活化。

18張圖直觀理解神經網路、流形和拓樸

隱藏層用如上方法表示數據,使數據可以被一條直線分離 (即線性可分)

2、層的連續視覺化

在上一節的方法中,神經網路的每一層都以不同表示形式來表示資料。這樣一來,每層的表示形式之間是離散的,並不連續。

這就對我們的理解造成困難,從一種表示形式到另一種表示形式,中間是如何轉換的呢?好在,神經網路層的特性讓這方面的理解變得非常容易。

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

  • 用「權重」矩陣W 作線性變換
  • 用向量b 作平移
  • 用tanh 逐點表示

我們可以將其視為一個連續的轉換,如下所示:

18張圖直觀理解神經網路、流形和拓樸

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

我們可以用這個方法來理解更複雜的神經網路。例如,下面的神經網路使用四個隱藏層對兩條略有互纏的螺旋線進行分類。可以看到,為了將資料分類,資料的表示方式被不斷轉換。兩條螺旋線最初是糾纏在一起的,但到最後它們可以被一條直線分離(線性可分)。

18張圖直觀理解神經網路、流形和拓樸

另一方面,下面的神經網絡,雖然也使用多個隱藏層,卻無法劃分兩條互纏程度更深的螺旋線。

18張圖直觀理解神經網路、流形和拓樸

要明確指出的是,以上兩個螺旋線分類任務有一些挑戰,因為我們現在使用的只是低維度神經網路。如果我們使用寬度更大的神經網絡,一切都會很容易很多。

(Andrej Karpathy基於ConvnetJS製作了一個很好的demo,讓人們可以透過這種可視化的訓練互動式地探索神經網路。)

3、tanh層的拓撲

神經網路的每一層都會拉伸和擠壓空間,但它不會剪切、割裂或折疊空間。直觀上看,神經網路不會破壞資料的拓撲性質。例如,如果一組資料是連續的,那麼它被轉換表示形式之後也是連續的(反之亦然)。

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

定理 :如果權重矩陣W 是非奇異的(non-singular),而神經網路的一層有N個輸入和N個輸出,那麼這層的映射是同胚(對於特定的定義域和值域而言)。

證明 :讓我們一步一步來:

1. 假設 W 存在非零行列式。那麼它就是一個具有線性逆的雙射線性函數。線性函數是連續的。那麼「乘以W 」這樣的變換就是同胚;

2. 「平移」變換是同胚;

3. tanh(還有s igmoid和softplus,但不包括ReLU )是具有連續逆(continuous inverses)的 連續函數。 (對於特定的定義域和值域而言),它們就是雙射,對它們的逐點應用就是同胚。

因此,如果 W 存在一個非零行列式,這一個神經網路層就是同胚。

如果我們將這樣的層隨意組合在一起,這個結果仍然成立。

4、拓樸與分類

我們來看一個二維資料集,它包含兩類資料A和B:

18張圖直觀理解神經網路、流形和拓樸

18張圖直觀理解神經網路、流形和拓樸

#A是紅色,B是藍色

說明 :要將這個資料集分類,神經網路(不管深度如何)必須有一個包含3個或更多隱藏單元的層。

如前所述,使用sigmoid單元或softmax層進行分類,相當於在最後一層的表示形式中找到一個超平面(在本例中則是直線)來分隔 A 和 B。如果只有兩個隱藏單元,神經網路在拓撲上就無法以這種方式分離數據,也就無法對上述數據集進行分類。

在下面的視覺化中,隱藏層轉換對資料的表示形式,直線為分割線。可見,分割線不斷旋轉、移動,卻始終無法很好地分隔A和B兩類資料。

18張圖直觀理解神經網路、流形和拓樸

這樣的神經網路再怎麼訓練也無法很好地完成分類任務

最後它只能勉強實現一個局部最小值,達到80%的分類精度。

上述範例只有一個隱藏層,由於只有兩個隱藏單元,所以無論如何它都會分類失敗。

證明 :如果只有兩個隱藏單元,要嘛這層的轉換是同胚,要嘛層的權重矩陣有行列式0。如果是同胚的話,A還是被B包圍,不能用一條直線把A和B分開。如果有行列式0,那麼資料集將在某個軸上發生折疊。因為A被B包圍,所以A在任何軸上折疊都會導致部分A數據點與B混合,致使無法區分A和B。

但如果我們加入第三個隱藏單元,問題就迎刃而解了。此時,神經網路可以將資料轉換成如下表示形式:

18張圖直觀理解神經網路、流形和拓樸

這時就可以用一個超平面來分隔A和B了。

為了更好地解釋其原理,這裡用一個更簡單的一維資料集舉例:

18張圖直觀理解神經網路、流形和拓樸

18張圖直觀理解神經網路、流形和拓樸

要對這個資料集進行分類,必須使用由兩個或更多隱藏單元組成的層。如果使用兩個隱藏單元,就可以用一條漂亮的曲線來表示數據,這樣就可以用一條直線來分隔A和B:

18張圖直觀理解神經網路、流形和拓樸

這是怎麼做的呢?當 18張圖直觀理解神經網路、流形和拓樸時,其中一個隱藏單元被啟動;當 18張圖直觀理解神經網路、流形和拓樸 時,另一個隱藏單元被啟動。當前一個隱藏單元被啟動而後一個隱藏單元未被啟動時,就可以判斷出這是屬於A的資料點。

5、流形假說

流形假說對處理真實世界的資料集(如影像資料)有意義嗎?我認為有意義。

流形假設是指自然資料在其嵌入空間中形成低維流形。這假設具備理論和實驗支撐。如果你相信流形假設,那麼分類演算法的任務就可以歸結為分離一組互相糾纏的流形。

在前面的範例中,一個類別完全包圍了另一個類別。然而,在真實世界的數據中,狗的圖像流形不太可能被貓的圖像流形完全包圍。但是,其他更合理的拓樸情況仍可能引發問題,下一節將會詳談。

6、連結與同倫

下面我將談談另一個有趣的資料集:兩個互相連結的圓環面(tori),A 和 B。

18張圖直觀理解神經網路、流形和拓樸

與我們之前談到的資料集情況類似,如果不使用n 1維度,就無法分離一個n維的資料集(n 1維度在本例中即為第4維度)。

連結問題屬於拓樸學中的紐結理論。有時候,我們看到一個鏈接,並不能立刻判斷它是否是一個斷鍊(unlink斷鍊的意思是,雖然它們互相糾纏,但可以通過連續變形將其分離)。

18張圖直觀理解神經網路、流形和拓樸

一個較簡單的斷鍊

如果隱藏層只有3個隱藏單元的神經網路可以對一個資料集進行分類,那麼這個資料集就是一個斷鍊(問題來了:從理論上講,所有斷鍊都可以被只有3個隱藏單元的神經網路分類嗎?)。

從紐結理論的角度來看,神經網路產生的資料表示形式的連續視覺化不僅僅是一個很好的動畫,也是一個解開連結的過程。在拓樸學中,我們稱之為原始連結和分離後的連結之間的環繞同痕(ambient isotopy)。

流形A和流形B之間的環繞同痕是一個連續函數:

18張圖直觀理解神經網路、流形和拓樸

#每個 是X的同胚。 是特徵函數, 將A映射到B。也就是說, 不斷從將A映射到自身過渡到將A映射到B。

定理 :如果同時滿足以下三個條件:(1)W為非奇異;(2)可以手動排列隱藏層中神經元的順序;(3)隱藏單元的數量大於1,那麼神經網路的輸入和神經網路層產生的表示形式之間有一個環繞同痕。

證明 :我們同樣一步一步來:

1. 最困難的部分是線性轉換。為了實現線性轉換,我們需要W有一個正行列式。我們的前提是行列式為非零,如果行列式為負,我們可以透過調換兩個隱藏神經元將其轉換為正。正行列式矩陣的空間是路徑連結的(path-connected),這就有18張圖直觀理解神經網路、流形和拓樸, 因此,18張圖直觀理解神經網路、流形和拓樸18張圖直觀理解神經網路、流形和拓樸。透過函數18張圖直觀理解神經網路、流形和拓樸,我們可以連續地將特徵函數過渡到W轉換,在時間t在每個點將x與連續過渡的矩陣 相乘。

2. 可以透過函數18張圖直觀理解神經網路、流形和拓樸從特徵函數過渡到b平移。

3. 可以透過函數18張圖直觀理解神經網路、流形和拓樸從特徵函數過渡到 的逐點應用。

我猜可能有人會對下面這個問題感興趣:能不能研發出可自動發現這種環繞同痕 (ambient isotopy)的 程序,還能自動證明某些不同連結的等效性或某些連結的可分離性。我也想知道神經網路在這方面能不能打敗目前的SOTA技術。

雖然我們現在所談的連結形式很可能不會在現實世界的資料中出現,但現實的資料可能存在更高維度的泛化。

連結和紐結都是1維的流形,但需要4個維度才能將它們分開。同樣,要分離n維的流形,就需要更高維度的空間。所有的n維流形都可以用2n 2個維度分離。

7、一個簡單的方法

對於神經網路來說,最簡單的方法就是將互纏的流形直接拉開,而且將那些纏結在一起的部分拉得越細越好。雖然這不是我們追求的根本解決方案,但它可以實現相對較高的分類精度,達到相對理想的局部最小值。

18張圖直觀理解神經網路、流形和拓樸

這種方法會導致試圖拉伸的區域出現非常高的導數。應對這一點需要採用收縮懲罰,也就是懲罰資料點的層的導數。

局部極小值對解決拓樸問題並無用處,不過拓樸問題或許可以為探索解決上述問題提供好的思路。

另一方面,如果我們只關心取得好的分類結果,那麼假如流形有一小部分與另一個流形互相纏繞,這對我們來說是個問題嗎?如果我們只在乎分類結果,那麼這似乎不成問題。

(我的直覺認為,像這樣走捷徑的方法並不好,容易走進死胡同。特別是,在最佳化問題中,尋求局部極小值並不能真正解決問題,而如果選擇一個無法真正解決問題的方案,就終將無法取得良好的效能。)

8、選取更適合操縱流形的神經網路層?

我認為標準的神經網路層不適合操縱流形,因為它們使用的是仿射變換和逐點激活函數。

或許我們可以使用一種完全不同的神經網路層?

我腦中浮現的一個想法是,首先,讓神經網路學習一個向量場,向量場的方向是我們想要移動流形的方向:

18張圖直觀理解神經網路、流形和拓樸

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

18張圖直觀理解神經網路、流形和拓樸

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

18張圖直觀理解神經網路、流形和拓樸

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

9、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演算法也只能把錯誤率降低到4-5%,而使用簡單的架構錯誤率則更高。不過,我並未在超參數方面下太多工夫。

但我還是很喜歡k-NN演算法,因為它比較適合神經網路。我們希望同一流形的點彼此更靠近,而不是執著於用超平面把流形分開。這相當於使單一流形收縮,同時使不同類別的流形之間的空間變大。這樣就把問題簡化了。

10、總結

資料的某些拓樸特性可能導致這些資料無法使用低維神經網路來進行線性分離(無論神經網路深度為何)。即使在技術可行的情況下,例如螺旋,使用低維神經網路也非常難以實現分離。

為了對資料進行精確分類,神經網路有時需要更寬的層。此外,傳統的神經網路層不適合操縱流形;即使人工設定權重,也很難得到理想的資料轉換表示形式。新的神經網路層或許能起到很好的輔助作用,特別是從流形角度理解機器學習啟發得出的新神經網路層。

以上是18張圖直觀理解神經網路、流形和拓樸的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
META的新AI助手:生產力助推器還是時間下沉?META的新AI助手:生產力助推器還是時間下沉?May 01, 2025 am 11:18 AM

Meta攜手Nvidia、IBM和Dell等合作夥伴,拓展了Llama Stack的企業級部署整合。在安全方面,Meta推出了Llama Guard 4、LlamaFirewall和CyberSecEval 4等新工具,並啟動了Llama Defenders計劃,以增強AI安全性。此外,Meta還向10個全球機構(包括致力於改善公共服務、醫療保健和教育的初創企業)發放了總額150萬美元的Llama Impact Grants。 由Llama 4驅動的全新Meta AI應用,被設想為Meta AI

80%的Zers將嫁給AI:研究80%的Zers將嫁給AI:研究May 01, 2025 am 11:17 AM

公司開創性的人類互動公司Joi AI介紹了“ AI-Iatsionship”一詞來描述這些不斷發展的關係。 Joi AI的關係治療師Jaime Bronstein澄清說,這並不是要取代人類C

AI使互聯網的機器人問題變得更糟。這家耗資20億美元的創業公司在前線AI使互聯網的機器人問題變得更糟。這家耗資20億美元的創業公司在前線May 01, 2025 am 11:16 AM

在線欺詐和機器人攻擊對企業構成了重大挑戰。 零售商與機器人ho積產品,銀行戰斗帳戶接管以及社交媒體平台與模仿者鬥爭。 AI的興起加劇了這個問題,Rende

賣給機器人:將創造或破壞業務的營銷革命賣給機器人:將創造或破壞業務的營銷革命May 01, 2025 am 11:15 AM

AI代理人有望徹底改變營銷,並可能超過以前技術轉變的影響。 這些代理代表了生成AI的重大進步,不僅是處理諸如chatgpt之類的處理信息,而且還採取了Actio

計算機視覺技術如何改變NBA季后賽主持人計算機視覺技術如何改變NBA季后賽主持人May 01, 2025 am 11:14 AM

人工智能對關鍵NBA遊戲4決策的影響 兩場關鍵遊戲4 NBA對決展示了AI在主持儀式中改變遊戲規則的角色。 首先,丹佛的尼古拉·喬基奇(Nikola Jokic)錯過了三分球,導致亞倫·戈登(Aaron Gordon)的最後一秒鐘。 索尼的鷹

AI如何加速再生醫學的未來AI如何加速再生醫學的未來May 01, 2025 am 11:13 AM

傳統上,擴大重生醫學專業知識在全球範圍內要求廣泛的旅行,動手培訓和多年指導。 現在,AI正在改變這一景觀,克服地理局限性並通過EN加速進步

Intel Foundry Direct Connect 2025的關鍵要點Intel Foundry Direct Connect 2025的關鍵要點May 01, 2025 am 11:12 AM

英特爾正努力使其製造工藝重回領先地位,同時努力吸引無晶圓廠半導體客戶在其晶圓廠製造芯片。為此,英特爾必須在業界建立更多信任,不僅要證明其工藝的競爭力,還要證明合作夥伴能夠以熟悉且成熟的工作流程、一致且高可靠性地製造芯片。今天我聽到的一切都讓我相信英特爾正在朝著這個目標前進。 新任首席執行官譚立柏的主題演講拉開了當天的序幕。譚立柏直率而簡潔。他概述了英特爾代工服務的若干挑戰,以及公司為應對這些挑戰、為英特爾代工服務的未來規劃成功路線而採取的措施。譚立柏談到了英特爾代工服務正在實施的流程,以更以客

AI出了問題嗎?現在在那里為此保險AI出了問題嗎?現在在那里為此保險May 01, 2025 am 11:11 AM

全球專業再保險公司Chaucer Group和Armilla AI解決了圍繞AI風險的日益嚴重的問題,已聯手引入了新型的第三方責任(TPL)保險產品。 該政策保護業務不利

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。