什麼是神經網路?

人工神經網路 (ANN),通常稱為神經網路 (NN),是受到構成人類大腦的生物神經網路所啟發的運算系統。

神經網路圖

神經網路:簡史

神經網路似乎很新穎且令人振奮,但此領域本身並不新鮮。美國心理學家 Frank Rosenblatt 在 1958 年構思並試圖製造出一種能像人類思維一樣做出反應的機器,他將自己的機器命名為「感知器」(Perceptron)。

事實上,人工神經網路以類似於生物神經網路的方式,使用例子進行學習,以與人腦相同的方式接收、處理、執行外部輸入。

神經網路的分層結構

我們都知道,人類大腦的不同部分經由神經線路連結以處理各種資訊。大腦的這些部分按層級分層排列,當有資訊進入大腦時,每一層或每一層級的神經元就會完成其本身的特殊工作,即處理傳入的資訊、獲得洞察見解,並將洞見傳遞給下一個更高層級。例如,當你路過一家麵包店時,你的大腦會分階段對新鮮出爐的麵包香氣做出反應:

  • 資料輸入:新鮮出爐的麵包香味
  • 思想:這讓我想起了童年
  • 決策:我想買一些麵包
  • 記憶:但我已經吃過午飯了
  • 推理:也許我可以當成點心
  • 行動:請給我一條麵包好嗎?

這就是大腦分階段工作的方式,人工神經網路也以類似的方式工作。神經網路會試圖模擬這種多層方法來處理各種資訊輸入,然後根據它們做出決策。

在細胞或單個神經元的層級上,其執行的功能是經過微調的。神經元是大腦的神經細胞,神經細胞具有被稱為樹突的精細延伸組織,它們負責接收訊號並將訊號傳輸到細胞體。細胞體則處理這些刺激,並決定要向網路中的其他神經元觸發何種訊號。一旦細胞決定這樣做了,細胞體上稱為軸突的延伸部分就會傳輸化學物質將訊號傳導到其他細胞。神經網路的工作方式受到我們大腦神經元功能的啟發,儘管實際作用的技術機制與生物學機制不同。

超融合分析:沉浸體驗,聰明且即時
超融合分析:沉浸體驗,聰明且即時
透過超融合分析,加速產生見解並改善業務成果。

神經網路的功能與人腦有何相似之處

最基本形式的人工神經網路具有三層神經元,資訊會從一個流向另一個,就像在人腦中一樣:

  • 輸入層:資料進入系統的入口
  • 隱藏層:處理資訊的地方
  • 輸出層:系統根據資料決定如何處理的地方

較複雜的人工神經網路可以有很多層,其中有些是隱藏的。

神經網路透過一組節點或連接單元發揮作用,它們就像人工神經元一樣。這些節點鬆散地模擬動物大腦中的神經元網路,如同生物神經元,人工神經元會以刺激形式接收訊號,對其進行處理,然後向與其相連的其他神經元發出訊號。

但相似之處到此為止。

人工神經網路的神經元工作原理

在人工神經網路中,人工神經元接收的刺激為實數訊號形式,然後:

  • 每個神經元的輸出是由其輸入總和的非線性函數計算而得。
  • 神經元之間的連接處稱為邊緣。
  • 神經元和邊緣都設有權重,此參數會隨著學習過程而不斷調整和變化。
  • 權重用來增加或減少連接處的訊號強度。
  • 神經元可能有一個閾值,僅當彙總訊號超過此閾值時,才會繼續往外發送訊號。

如前所述,神經元聚集成層,不同的層可以對其輸入執行不同的修改。訊號以上述方式從第一層(輸入層)飛到最後一層(輸出層),有時則會多次遊歷中間層之後才進入最後一層。

神經網路天生內建某種學習規則,會根據所呈現的輸入模式來修改神經連接的權重,就像成長中的孩子學會從動物例子中識別動物一樣。

神經網路和深度學習

談到神經網路,就不得不談深度學習。術語「神經網路」和「深度學習」通常可以互換使用,儘管它們並不相同,但是兩者緊密相連,其中一個必須依賴另一個才能發揮作用。如果不存在神經網路,深度學習也就不存在了:

  • 深度學習是促使人工智慧 (AI) 進步的先決條件。
  • 深度學習不同於機器學習,機器學習旨在教電腦處理和學習資料。
  • 透過深度學習,電腦可不斷訓練自己處理資料、從中學習並構建更多功能。更複雜的多層人工神經網路使這點成為可能。
  • 複雜的神經網路像簡單神經網路一樣包含一個輸入層和一個輸出層,但它們有多個隱藏層,因此被稱為深度神經網路,有利於深度學習。
  • 深度學習系統懂得自我學習,並隨著本身發展而變得更加「知識淵博」。透過多個隱藏層過濾資訊的方式,相當類似於具備所有複雜功能的人腦。

為什麼深度學習對組織很重要

深度學習就像科技界的新淘金熱或最新石油發現,深度學習的潛力已經激起了所有人的興趣,無論是大型成熟公司、或是新生初創公司及介於兩者之間的一切組織。為什麼?

它是資料驅動大環境的一部分,特別是由於大數據變得越來越重要。如果您將網際網路衍生的資料視為儲存在資料庫、資料倉儲和資料湖中的原油,正等待著使用各種資料分析工具進行挖掘,那麼深度學習就是獲取原油資料、並將其轉換為您可以使用的最終產品的煉油廠。

市場上充斥著以資料為溫床的分析工具,深度學習則是此市場上的最後一局遊戲:如果沒有高效和最先進的處理單元,就不可能提取任何有價值的東西。

深度學習或許可以透過自動化執行重複性任務來取代人力,然而,深度學習不能取代人類科學家或工程師創造和維護深度學習應用程式的思維過程。

區分機器學習和其他類型的學習

機器學習

談到機器學習的方法時,它就是在訓練學習演算法,如線性迴歸、K 均值、決策樹、隨機森林、K-近鄰 (KNN) 等演算法,以及支援向量機(或 SVM 演算法)。

這些演算法會篩選資料集,在過程中進行學習以因應新情況,並尋找有趣且具洞察力的資料模式。資料是使這些演算法發揮最佳功能的關鍵基礎。

監督型學習

用於訓練機器學習的資料集可以加上標記,就像資料集附帶了一張答題紙,用於告知電腦正確答案。例如,掃描收件匣中垃圾郵件的電腦可以參考標記好的資料集,以瞭解哪些電子郵件是垃圾郵件、哪些是合法郵件。這種方式稱為監督型學習。監督型學習的迴歸或分類是透過線性迴歸和 K-近鄰演算法來完成。

非監管型學習

當資料集沒有標記,並使用像 K 均值這樣的演算法來導出彙總叢集模式,而不藉助任何對照表時,這種學習被稱為非監管型學習

神經網路和模糊邏輯

順帶一提,區分神經網路和模糊邏輯也很重要。模糊邏輯允許根據不精確或模棱兩可的資料做出具體決策,而另一方面,神經網路則是試圖在不先設計好數學模型的情況下,採用類人思維過程來解決問題。

神經網路與傳統運算有何不同?

為了更好地理解人工神經網路是如何進行運算的,必須先瞭解傳統的「序列」電腦及其軟體處理資訊。

序列電腦有一個中央處理器,可以尋址找到儲存資料和指令的記憶體位置陣列。處理器從記憶體位址中讀取指令和指令所需的任何資料,然後執行指令,並將結果儲存到指定的記憶體位置。

在序列系統或標準並行系統中,這些運算步驟都是確定的、依序執行的、有邏輯的。此外,從一個操作到另一個操作,既定變數的狀態是可以被追蹤的。

神經網路的工作原理

相反,人工神經網路既不是依序執行的,也不一定是確定的。它們不包含任何複雜的中央處理器,而是只由幾個簡單的處理器組成,然後從其他處理器獲取輸入的加權總和。

神經網路不執行編寫好的程式指令,而是對呈現給它們的輸入模式做出平行回應(以模擬方式或實際回應)。

神經網路不包含任何用於資料儲存的單獨記憶體位址。相反,資訊包含在網路的整體活躍狀態中,網路本身就代表知識,簡白而言,神經網路不僅是其各個組成部分的加總而已。

神經網路相對於傳統技術的優勢

如果問題具有動態或非線性的關係,就可以期待神經網路能夠非常有效地進行自我訓練。如果內部資料模式很強勢,這種能力會進一步增強。它也在一定程度上依賴應用程式本身的能力。

神經網路是一些標準技術的分析替代方案,這些標準技術在某種程度上受到線性、常態分佈、變數獨立性等嚴格假設的限制。

神經網路能夠檢驗各種關係,讓使用者更容易快速建模來詮釋可能很難甚至不可能理解的現象。

你是哪位數據科學超級英雄?
你是哪位數據科學超級英雄?
請下載這本電子書,了解成為數據科學家所需的六大技能。

神經網路的侷限性

潛在使用者應該注意一些具體問題,特別是與反向傳播神經網路和某些其他類型網路有關的問題。

過程不可解釋

反向傳播神經網路被稱為終極黑盒子,除了概述一般架構和可能使用一些隨機數做為種子之外,使用者需要做的全部工作就是提供輸入、持續訓練、然後接收輸出,一些軟體套件允許使用者隨時間對網路進度進行採樣。在這些情況下,網路本身會自主進行學習。

最終的輸出就是一個訓練完成的網路,它是自治的,不提供定義超出其自身內部數學關係的運算式或係數,網路本身就是關係的最終運算結果。

訓練較慢

此外,反向傳播網路的訓練速度往往比其他類型的網路更慢,有時需要經過數千代演變。這是因為機器的中央處理單元必須分別計算每個節點的功能和連線,這可能非常麻煩,並會在包含大量資料的超大型網路中引起問題。不過,當今機器運行速度已經足夠快了,可以迴避這個問題。

神經網路的應用

神經網路是通用近似工具,如果系統對錯誤有很高的容忍度,恰恰說明它們表現得最好。

神經網路很有用:

  • 用於理解關聯,或探索一組模式中的常規元素
  • 資料量巨大或參數極度多樣化的地方
  • 對變數之間的關係只有模糊理解時
  • 傳統方法在描述關係方面有所不足時

這種美麗的、受到生物學啟發的典範,是我們這個時代最優雅的技術發展之一。