[AI小學堂(四)]神經網路是什麼? 神經網路怎麼學習? 超簡化講解反向傳播演算法Back Propagation

閱讀時間約 4 分鐘
Signal passing through neurons
在我們的上一篇文章,我們把神經網路的架構用簡化再簡化的方式來說明(其實聽不懂得觀眾也不用洩氣,我認為神經網路確實是沒有辦法很直觀的理解,至少對理科以外的人來說....),我們至少知道了,以我們每次都拿來舉例的把圖片辨識成數字0~9的這個簡單神經網路來說,他的架構大概是長這樣有輸入層/輸出層/隱藏層,每一層都有很多的神經元,而相鄰的兩個層的神經元是fully-connected,也就是說每個神經元都有跟另外一層的每個神經元都有連接。我們舉第二層的某一個特定的神經元來說,他的數值是怎麼來的呢?就是由第一層每個神經元的數值乘上了權重(Weight),全部第一層神經元的數值x權重加起來以後呢,在加上誤差(Bias),在放入一個用來normalize的sigmoid function或Relu function之後了,就得到了這個第二層神經元的數值。
都看不懂沒關係,重點就是,這個神經網路中,我們的目的是要得到一個最接近完美的權重(Weight)跟誤差值(Bias)讓這個神經網路輸入的圖片可以得到正確的輸出,也就是完美的判斷到底是哪一個數字。
Neural network for numbers
可是到底要怎麼得到這樣完美的權重跟偏差值呢? 這就要提到神經網路中利用Back Propagation來學習了。我們會設法用最簡單忽略大部分計算細節的方式來說明。以下圖來說,我們的輸入是這個手寫的3,那麼我們最希望的輸出應該就是如圖最右邊的,在代表3的這個神經元數值是1,其他的神經元數字是0,但是事實上沒有受過訓練的神經網路出來的結果是這樣呢? 可能就是如圖上所看到的一團糟,除了代表3的神經元以外,其他神經元也有非常多的數值。
Training for number 3
在仔細看一另一個訓練輸入手寫數字2的例子,一樣是沒有受過訓練的網路,我們假設輸出層的結果是這樣,那麼你應該會希望代表2的神經元的數值要上升,然後代表其他數字的神經元的數值要下降,如下圖。
Training for number 2
但是這個神經元的數值是怎麼來的呢? 如我們開頭所說的,當然就是從上一層的神經元經過權重跟偏差值的計算得來的,如下圖。舉例來說我們希望代表2的這個神經元(我們叫他A2好了)數值越高越好,那麼在前一層的神經元裡面,數值是正的神經元,你會希望它連結到A2這個神經元的權重越高越好,或者是你也會希望這個誤差值能夠越高越好,這樣得到的A2的數值當然就會比較高囉。最後一點就是你會希望權重高的神經元數值越高越好,等等但是要怎麼影響神經元的數值呢? 我們不是只能調整權重跟誤差值嗎? 所以要影響神經元的數值,就要再回到上一層。
Weight and Bias for Neuron representing 2
要影響倒數第一層的數值,我們就得回到倒數第二層,繼續類推,要影響倒數第二層的數值,我們就必須再回到倒數第三層。這也就是為什麼這個方法叫做反向傳播演算法Back Propagation
反向傳播演算法 Back Propagation for value
經過這樣一層又一層的推回去,我們就知道了,該針對每一層的權重(Weight)跟誤差值(Bias)該做怎樣調整(是要調低還是調高呢?該調整多少?)。但是別忘了這樣只是針對一個手寫的"2"做調整而已,我們還有千千萬萬個訓練數字跟其他的手寫數字要做訓練,所以我們應該把這些都列出來如下圖,就會發現針對每個手寫數字,每一層的權重跟每一層的誤差值我們都有希望他調整的方向,光以這個簡單的網路來看,就有13002個權重跟誤差值是我們需要去調整的。
Weight & Bias for all trainings
最後我們把這些所有訓練的結果加總起來,我們就得到了針對每個權重還有偏差值,我們希望調整的方向。
Weight & Bias for all trainings summed together
針對我們得到的結果,去調整這個神經網路裡面的權重跟還誤差值,我們就完成了....一次的訓練! 是的,因為這是一個平均值,所以對每一個數值來說都不夠完美,實際上為了讓權重還有誤差值能夠趨近完美,還需要經過非常多次的iteration (反覆訓練) 才能讓整個網路更正確的判斷數字。 我們今天舉的例子是簡化又簡化過,想要讓大家稍微理解一下到底神經網路的訓練是怎麼做的。實際上為了能夠讓神經網路的訓練更加地有效率,有非常多神經網路訓練的優化方法,這些當然就留給對深度學習有興趣的人可以去看原本的影片囉。
今天我們這篇就介紹到這篇,如果有說錯的或是者是希望替我補充的,都歡迎留言給我,我們下次見囉。
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
技術PM的AI實驗室,是以輕鬆的角度深入簡出的探討各種生成式AI工具的使用。無論你是想理解AI到底是怎麼運作的? 想知道有那些好用的生成式AI工具? 或者是對AI繪圖有興趣的,都歡迎加入我們的AI實驗室一起輕鬆地玩耍,我們邊玩邊學,學習跟AI一起共創新的可能。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
上篇文章我們解說到了神經網路的基本架構包含了輸入層,輸出層,還有中間的隱藏層,也說明了這是一個把輸入資料拆解出特徵然後依照特徵做判斷的過程。究竟每一層的神經網路,如何影響下一層的神經網路可以辨識出特徵呢? 這些中間的線條(連結)到底是什麼意義呢? 這就是這一篇要告訴你的。
在我的上一篇文章中,我們提到了人工智慧 & 機器學習 & 深度學習跟神經網路的關係,我們也了解到了所謂的深度學習是一種基於神經網路上的機器學習方法。那麼神經網路到底是什麼呢? 我們上一篇文章裡面提到的神經網路的層Layer究竟是什麼呢? 到底為什麼神經網路需要這麼多的神經元(Neurons)跟層數呢
我們這個系列就是希望以非常科普的角度來解釋人工智慧。本篇要釐清人工智慧(AI: Artificial Intelligence),機器學習 Machine Learning, 深度學習Deep Learning,另外還有類神經網路,到底互相是什麼關係呢?
在這篇示範裡面,我將教你如何利用AI繪圖工具Stable Diffusion產生出自己的一整套塔羅牌排組,而且這整套牌組還是套用上自己Training的LORA的,也就是塔羅牌的主角都可以是你或是你身邊的人(或是你的偶像明星),一旦掌握訣竅,用這篇的方法一天以內就可以完成這個工作。
我們要來實測的就是Microsoft Designer 這套工具,利用生成式AI來協助你產生各種設計類作品,是針對著Canva 這類現有設計類網站而來的,到底Microsoft Designer 好用嗎? 是否可以幫上你的忙呢? 我們今天就用辦公室應用的場景來發想,實際上操作看看,看MS Desig
今天我這邊提供大家一個方法,讓大家可以自己成為這些AI繪圖的主角,也就是在AI裡面建立屬於你自己個人的模型。Stable Diffusion比較少這部分的教學,是因為這部分的訓練的確比較有一些技術的門檻,我這邊會嘗試用比較簡單的方式讓大家可以一個步驟一個步驟照著做,就能夠達到我們想要達到的結果。
上篇文章我們解說到了神經網路的基本架構包含了輸入層,輸出層,還有中間的隱藏層,也說明了這是一個把輸入資料拆解出特徵然後依照特徵做判斷的過程。究竟每一層的神經網路,如何影響下一層的神經網路可以辨識出特徵呢? 這些中間的線條(連結)到底是什麼意義呢? 這就是這一篇要告訴你的。
在我的上一篇文章中,我們提到了人工智慧 & 機器學習 & 深度學習跟神經網路的關係,我們也了解到了所謂的深度學習是一種基於神經網路上的機器學習方法。那麼神經網路到底是什麼呢? 我們上一篇文章裡面提到的神經網路的層Layer究竟是什麼呢? 到底為什麼神經網路需要這麼多的神經元(Neurons)跟層數呢
我們這個系列就是希望以非常科普的角度來解釋人工智慧。本篇要釐清人工智慧(AI: Artificial Intelligence),機器學習 Machine Learning, 深度學習Deep Learning,另外還有類神經網路,到底互相是什麼關係呢?
在這篇示範裡面,我將教你如何利用AI繪圖工具Stable Diffusion產生出自己的一整套塔羅牌排組,而且這整套牌組還是套用上自己Training的LORA的,也就是塔羅牌的主角都可以是你或是你身邊的人(或是你的偶像明星),一旦掌握訣竅,用這篇的方法一天以內就可以完成這個工作。
我們要來實測的就是Microsoft Designer 這套工具,利用生成式AI來協助你產生各種設計類作品,是針對著Canva 這類現有設計類網站而來的,到底Microsoft Designer 好用嗎? 是否可以幫上你的忙呢? 我們今天就用辦公室應用的場景來發想,實際上操作看看,看MS Desig
今天我這邊提供大家一個方法,讓大家可以自己成為這些AI繪圖的主角,也就是在AI裡面建立屬於你自己個人的模型。Stable Diffusion比較少這部分的教學,是因為這部分的訓練的確比較有一些技術的門檻,我這邊會嘗試用比較簡單的方式讓大家可以一個步驟一個步驟照著做,就能夠達到我們想要達到的結果。
你可能也想看
Google News 追蹤
Thumbnail
輸入層:接收數據,對應特徵值,是網絡的入口。 隱藏層:學習數據的抽象特徵,引入非線性,處理複雜模式。 輸出層:產生結果,將特徵轉換為預測值(regression)或分類(classification)結果。 陳縕儂老師說過 中間的隱藏層通常不會是線性的 如果全部都是線性 那任意交換隱藏層
Thumbnail
透過這篇文章,我們將瞭解如何使用PyTorch實作圖神經網絡中的訊息傳遞機制,從定義消息傳遞的類別到實作消息傳遞過程。我們也探討了各種不同的消息傳遞機制,並通過對單次和多次傳遞過程的結果,可以看到節點特徵如何逐步傳遞與更新。
Thumbnail
本篇文章專注於消息傳遞(message passing)在圖神經網絡(GNN)中的應用,並以簡單的例子解釋了消息傳遞的過程和機制。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
Thumbnail
感知器是一種基本的神經網路模型,用於二分類問題。它模擬了人腦神經元的工作原理,通過調整權重和偏差值來達到預測和分類的目的。 感知器流程 輸入 資料的輸入: 輸入層接受資料的輸入,每個輸入對應一個特徵,還有一個固定的偏差神經元。 資料經過每個神經元時,會乘上相應的
瞭解如何透過Regression實作Classification,使用one-hot vector表示不同的類別,並透過乘上不同的Weight和加上不同的bias來得到三個數值形成向量。同時通過softmax的方式得到最終的y'值,並探討使用Cross-entropy來計算類別的loss。
大語言模型是一種特殊的神經網路,設計來理解,生成與回應人類的文本。 大語言模型是使用大量文本數據訓練的深度神經網路,其訓練使用的文本數據甚至包括了整個網路公開的文本。 大語言模型的「大」,體現於模型的參數個數以及其使用的訓練數據集。如此大的模型可以有百億甚至千億的參數。這些參數都是神經網
Thumbnail
這篇文章討論了神經覺對人類生理、心理和行為的影響。它介紹了神經覺在生理和心理層面的運作,以及過去經驗如何形塑了我們的神經覺。透過練習和觀察來探究個人神經覺的特點,並提出了回想過往並重新審視自己的生活故事的練習。
Thumbnail
探討《學矽谷人做身體駭客》一書,強調神經語言程式學在改善行為表現上的應用,特別是透過次感元進行心理排練。作者反思了對次感元概念的理解,並以民事訴訟中規則的重要性為例,說明系統性建構的價值。文章最後強調理論與實踐相結合的重要性。
Thumbnail
輸入層:接收數據,對應特徵值,是網絡的入口。 隱藏層:學習數據的抽象特徵,引入非線性,處理複雜模式。 輸出層:產生結果,將特徵轉換為預測值(regression)或分類(classification)結果。 陳縕儂老師說過 中間的隱藏層通常不會是線性的 如果全部都是線性 那任意交換隱藏層
Thumbnail
透過這篇文章,我們將瞭解如何使用PyTorch實作圖神經網絡中的訊息傳遞機制,從定義消息傳遞的類別到實作消息傳遞過程。我們也探討了各種不同的消息傳遞機制,並通過對單次和多次傳遞過程的結果,可以看到節點特徵如何逐步傳遞與更新。
Thumbnail
本篇文章專注於消息傳遞(message passing)在圖神經網絡(GNN)中的應用,並以簡單的例子解釋了消息傳遞的過程和機制。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
Thumbnail
感知器是一種基本的神經網路模型,用於二分類問題。它模擬了人腦神經元的工作原理,通過調整權重和偏差值來達到預測和分類的目的。 感知器流程 輸入 資料的輸入: 輸入層接受資料的輸入,每個輸入對應一個特徵,還有一個固定的偏差神經元。 資料經過每個神經元時,會乘上相應的
瞭解如何透過Regression實作Classification,使用one-hot vector表示不同的類別,並透過乘上不同的Weight和加上不同的bias來得到三個數值形成向量。同時通過softmax的方式得到最終的y'值,並探討使用Cross-entropy來計算類別的loss。
大語言模型是一種特殊的神經網路,設計來理解,生成與回應人類的文本。 大語言模型是使用大量文本數據訓練的深度神經網路,其訓練使用的文本數據甚至包括了整個網路公開的文本。 大語言模型的「大」,體現於模型的參數個數以及其使用的訓練數據集。如此大的模型可以有百億甚至千億的參數。這些參數都是神經網
Thumbnail
這篇文章討論了神經覺對人類生理、心理和行為的影響。它介紹了神經覺在生理和心理層面的運作,以及過去經驗如何形塑了我們的神經覺。透過練習和觀察來探究個人神經覺的特點,並提出了回想過往並重新審視自己的生活故事的練習。
Thumbnail
探討《學矽谷人做身體駭客》一書,強調神經語言程式學在改善行為表現上的應用,特別是透過次感元進行心理排練。作者反思了對次感元概念的理解,並以民事訴訟中規則的重要性為例,說明系統性建構的價值。文章最後強調理論與實踐相結合的重要性。