2023年5月18日 星期四

AI 入門:21.深度學習的主力 – 神經網路(人工智慧 28 堂基礎課程)

神經網路 (Neural Networks) 是深度學習 (Deep Learning) 的核心技術。神經網路的設計基礎參考了人類大腦皮質 (Cerebral Cortex) 中的神經元結構,透過案例分析的方式來學習如何執行預期的工作。例如,在圖像識別應用中,神經網路透過分析人工標記為“貓”或“不是貓”的圖像,自動產生識別特徵,例如毛髮、尾巴、鬍鬚和尖耳朵等,然後將這些特徵用於識別其他圖像中的貓,從而學會識別含有貓的圖像。神經網路的概念是受到人類大腦中的神經元共同運作以理解來自五種感官(觸覺、視覺、聽覺、嗅覺和味覺)的輸入方式作為啟發。儘管許多人認為神經網路是個“黑盒子”,但它們實際上也是試圖完成與任何其他機器學習(ML)模型所要做的相同事情:做出準確的預測。

.
就本質上而言,神經網路鬆散地模擬大腦中的神經元,並以一系列相互連接的“前饋 (Feed-forward)”節點作為設計基礎(意味著資料只在一個方向上移動)。這些節點 (Nodes) 被組織成層 (Layers),每一層包含多個節點,一個單獨的節點可能與它下一層的幾個節點相連,也可能與它上一層的多個節點相連。神經網路透過從上一層的節點接收資料並向下一層的節點發送資料,就像大腦中的突觸 (Synapses) 一樣。每個連接 (Connection) 可以傳輸神經信號到其他節點,從而形成一個強大的模型。

每個節點會為每個傳入的連接 (Connection) 指派一個被稱為“權重 (Weight)”的數字,當節點透過連接收到一個不同的資料時,它會把收到的資料乘上相關的權重,然後將所得的乘積相加(一個節點可以接收來自多個前饋節點傳送的資料),最後產生一個單一的結果。如果最終結果超過一個臨界值 (Threshold value),該節點會進行“點火 (Fire)”的動作,這意味著它將會對下一層連接的所有節點發送這個加權後的加總數字;如果最終結果低於臨界值,則該節點不會執行“點火 (Fire)”動作。

整個神經網路的簡單架構如同上圖所示,資料透過“輸入層 (Input Layer)”提交給網路,接著被傳遞到一個或多個“隱藏層 (Hidden Layers)”,這也是大部分節點所在的地方,也是實際處理資料的地方。最後一個隱藏層會連接到“輸出層 (Output Layer)”也就是產生答案的地方。

大多數的神經網路都採用某種形式的“學習規則 (Learning Rule)”,也就是依據輸入模式所呈現的資訊,修正神經元之間的連接權重。從某種意義上來說,神經網路就像是個不斷從經驗中學習的小孩,透過與各式各樣的小狗互動過程中,學習如何識別狗。最常使用的學習規則是 Delta Rule,它透過比較目標輸出值與獲得的值(輸入值)的差異來驅動學習。因此,當神經網路遇到新的輸入模式時,它會先隨機猜測可能的結果,然後透過反向傳播 (Backwards Propagation of Error) 的方式,調整所有的連接權重,直到神經網路能夠準確地預測輸出結果。最初,所有節點的權重和臨界值都被設定為隨機值,但透過不斷地訓練,資料會被送進輸入層,經過後續的隱藏層,以複雜的方式被相乘和相加,直到最後抵達輸出層,並且被調整。在訓練過程中,權重和臨界值會不斷被調整,直到預期產出的結果與標記的訓練資料相同(監督式學習)。

舉例來說,假設有一個神經網路被設計來辨識貓的圖像。當輸入的圖像被提交給神經網路的輸入層時,第一個隱藏層可能會偵測到線條、曲線、圓形等形狀,這些資訊會被傳遞到下一層,並且透過這些形狀的組合,進一步識別出貓的特徵,例如鼻子、尾巴、鬍鬚等等。這個過程會一直持續到最終的輸出層,提供神經網路對輸入圖像是否為貓的判斷。如果在訓練過程中,神經網路未能正確識別貓的圖像,那麼相關的分支連接和節點將被調整權重,以便於讓下一次的辨識更準確。例如,那些較偏向輸出“不是貓”的分支節點將會被降低權重(削減其重要性),而偏向輸出“貓”的連接和節點則會被提高權重(提升其重要性)。

神經網路是一種通用型的近似演算法 (Approximation Algorithm),因此在建立對錯誤有較高容忍度的模型系統時,其效果最佳。特別是對於具有較多變數或變數多樣性、變數間關聯不清晰或難以使用傳統方法進行規格化解釋的資料,神經網路能夠有效地捕捉關聯性 (Associations) 或找出具有規律性的樣式。然而,使用神經網路仍然存在一些具體問題需要注意:
  • 除了定義神經網路的一般結構以及指定一個亂數作為初始化種子,使用者往往只需提供輸入值並等待輸出結果,除此之外幾乎沒有其他的事情可以做。事實上,有人說在反向傳播 (Backpropagation) 的過程中,“您幾乎無法清楚地知道自己正在進行什麼操作”。雖然模型訓練的最終結果是一個訓練有素的神經網路,但它無法提供任何數學方程式或係數來解釋內部的運算關係,因此這個網路本身就是最終的方程式,從某種意義上來說,神經網路最終是一個“黑盒子”。

  • 倒傳遞式神經網路 (Back-Propagation Neural Network) 的訓練速度往往較其他類型的神經網路慢,有時還需要使用新的輸入模式進行成千上萬次的訓練。在支援平行運算的電腦系統上執行此操作通常不是問題,但在標準序列化電腦設備(例如 Mac 或 PC)上執行就可能需要更長的時間。原因是序列化電腦設備的 CPU 必須逐項計算每個節點和連接,對於處理大量資料的大型神經網路來說,這可能會成為一個問題。

在機器學習理論中,存在多種不同類型的神經網路。然而,實務上卷積神經網路 (Convolutional Neural Network, CNN) 和循環神經網路 (Recurrent Neural Network, RNN) 是最常用的兩種模型。CNN 通常用於影像處理,而 RNN 則較常用於文本和語音辨識。如果您想深入瞭解神經網路相關的資訊,可以透過以下連結了解各種不同類型的神經網路以及它們的用途:


20.深度學習框架 《 上一堂課    下一堂課 》 22.影像辨識 - 卷積神經網路(CNN)



人工智慧 28 堂基礎入門課程,完整目錄連結:
1.課程目的 15.分類(Classification)
2.資料就是新一代的能源 16.低度擬合與過度擬合
3.結構化資料 17.分群(Clustering)
4.非結構化資料 18.整合學習方法
5.半結構化資料 19.模型參數與超參數
6.為資料加上維度的概念 20.深度學習框架
7.人工智慧、機器學習、深度學習的定義 21.深度學習的主力 – 神經網路
8.構成 AI, ML 與 DL 的基本元素 22.影像辨識 - 卷積神經網路(CNN)
9.機器(深度)學習工作流程 23.自然語言處理 - 循環神經網路(RNN)
10.模型具體是什麼? 24.生成式對抗網路(GAN)
11.資料準備-維度縮減 25.移轉學習
12.資料準備-資料分割 26.衡量預測結果的品質
13.機器學習方法概述 27.實作 ML 與 DL 的挑戰
14.迴歸(Regression) 28.IBM AI 階梯方法論







版權聲明
人工智慧 28 堂基礎入門課程系列文章係依據 IBM 原廠英文教材進行適度翻譯與內容調整而成,每一門課程使用的主圖片其版權歸屬於 IBM 公司。文章內容未經授權,請勿進行任何形式的複製、修改或發佈本文內容,如需轉載或引用,請在使用時注明出處並取得授權。本文中提及的特定公司、產品、品牌名稱等僅為描述目的,其版權歸屬於相應的公司或擁有者。

沒有留言:

張貼留言