人工神經網絡 (ANN) 的完整概述
已發表: 2020-07-17即使你不在數據科學或軟件工程領域工作,也很難避免接觸到人工神經網絡這個術語。
人工神經網絡 (ANN) 無處不在。 它們用於聊天機器人、醫學成像、媒體規劃和大量其他領域。 但我們是否懷著深深的好奇心問:什麼是人工神經網絡,它真正能實現什麼?
我們都遇到過人工神經網絡複製人類神經系統功能的共同定義。 這解釋了工作原理,但我們大多數人仍然不知道是什麼讓 ANN 如此特別,或者它最適合解決什麼問題。 為了澄清空氣,這裡是您可以找到的關於人工神經網絡的最全面且易於理解的指南。
什麼是人工神經網絡?
當人工智能、機器學習、深度學習和神經網絡等十幾個術語時,很容易混淆。 這些垂直領域之間的實際分歧並不復雜。
人工智能是通用的集合,它是手頭的主題。 它是對智能程序如何運行和製作的系統研究。 機器學習是人工智能的一個子集,專注於機器如何自我學習。 深度學習是 ML 的另一個子集,專注於如何使用神經網絡層來生成輸出。 您可以使用此可視化來導航層次結構:

那麼什麼是人工神經網絡呢? 答案正是大眾媒體吹捧它的方式。 它是一個數據處理和輸出生成系統,可複制神經系統以解開大型數據集中的非線性關係。 數據可能來自感官路徑,可能是文本、圖片或音頻的形式。
了解人工神經網絡如何工作的最佳方法是了解大腦內的自然神經網絡如何工作,並在它們之間畫一個平行線。 神經元是人類大腦的基本組成部分,負責學習和保留我們所知道的知識和信息。 您可以將它們視為大腦中的處理單元。 他們將感覺數據作為輸入,對其進行處理,並給出其他神經元使用的輸出數據。 信息被處理和傳遞,直到獲得決定性的結果。
大腦中的基本神經網絡由突觸連接。 您可以將它們可視化為連接兩個神經元的橋的末端節點。 因此,突觸是兩個神經元的交匯點。 突觸是該系統的重要組成部分,因為突觸的強度將決定理解的深度和信息的保留。
當你在練習一項活動時,你正在加強這些突觸關係。 這就是你如何可視化大腦中的神經網絡:
您的大腦實時收集的所有感官數據都是通過這些神經網絡處理的。 它們在系統中有一個起點。 當它們被初始神經元處理時,從一個神經元出來的電信號的處理形式成為另一個神經元的輸入。 每一層神經元的這種微信息處理使這個網絡變得高效高效。 通過在整個神經網絡中復制處理數據這一反復出現的主題,人工神經網絡能夠產生出色的輸出。
在 ANN 中,一切都旨在復制這個過程。 不要擔心數學方程式。 這不是現在要理解的關鍵思想。 在系統中輸入帶有標籤“X”的所有數據的權重為“W”以生成加權信號。 這複製了突觸信號強度在大腦中的作用。 附加偏差變量以控制函數輸出的結果。
因此,所有這些數據都在函數中處理,最終得到輸出。 這就是單層神經網絡或感知器的樣子。 人工神經網絡的想法圍繞著連接這些人工神經元的幾種組合以獲得更有效的輸出。 這就是為什麼典型的人工神經網絡的概念框架看起來很像這樣的原因:
隨著我們深入研究人工神經網絡的功能,我們很快就會定義隱藏層。 但就對人工神經網絡的基本理解而言,您現在已經了解了首要原理。
該機制用於破譯大型數據集。 輸出通常傾向於建立作為可用於預測的輸入的變量之間的因果關係。 現在您已經了解了流程,您可以充分理解這裡的技術定義:
“一個仿照人腦的網絡,通過模式識別計算機算法創建人工神經系統,從感覺數據中學習、解釋和分類。”
人工神經網絡如何工作和學習?
振作起來,這裡的事情即將變得有趣。 別擔心——你現在不需要做大量的數學運算。
魔法首先發生在激活函數上。 激活函數進行初始處理以確定神經元是否將被激活。 如果神經元沒有被激活,它的輸出將和它的輸入一樣。 然後什麼也沒有發生。 這在神經網絡中至關重要,否則,系統將被迫處理大量對輸出沒有影響的信息。 你看,大腦的容量有限,但它已經過優化以充分利用它。
所有人工神經網絡共有的一個核心屬性是非線性的概念。 所研究的大多數變量在現實生活中都具有非線性關係。
以巧克力的價格和巧克力的數量為例。 假設一塊巧克力的價格為 1 美元。 100塊巧克力要多少錢? 大概100美元吧。 10,000 塊巧克力要多少錢? 不是 10,000 美元; 因為要么賣家會增加使用額外包裝將所有巧克力放在一起的成本,要么她會降低成本,因為你一次性將她的大量庫存從她手中轉移出去。 這就是非線性的概念。
激活函數將使用基本的數學原理來確定是否要處理信息。 最常見的激活函數形式是二元階躍函數、邏輯函數、雙曲正切函數和整流線性單元。 以下是每一項的基本定義:
- 二元階躍函數:此函數基於閾值激活神經元。 如果函數的最終結果高於或低於基準值,則激活神經元。
- 邏輯函數:此函數具有“S”曲線形狀的數學最終結果,當概率是確定神經元是否應該被激活的關鍵標準時使用。 所以,在任何時候,你都可以計算出這條曲線的斜率。 此函數的值介於 0 和 1 之間。
使用微分函數計算斜率。 當兩個變量沒有線性關係時使用該概念。 斜率是在非線性開始的確切點接觸曲線的切線值。邏輯函數的問題在於它不適合處理具有負值的信息。 - 雙曲正切函數:它與邏輯函數非常相似,只是它的值介於 -1 和 +1 之間。 因此,網絡中未處理負值的問題就消失了。
- 整流線性單位 (ReLu):此函數的值介於 0 和正無窮大之間。 ReLu 簡化了一些事情——如果輸入是正數,它將給出“x”的值。 對於所有其他輸入,該值將為“0”。 您可以使用具有負無窮和正無窮之間的值的 Leaky ReLu。 當正在處理的變量之間的關係非常弱並且可能被激活函數完全忽略時,使用它。
現在您可以參考感知器和神經網絡的相同兩張圖。 除了神經元的數量之外,還有什麼區別? 關鍵區別在於隱藏層。 隱藏層位於神經網絡中的輸入層和輸出層之間。 隱藏層的工作是細化處理並消除不會對輸出產生強烈影響的變量。
如果數據集中的實例數量,其中輸入變量的值變化對輸出變量的影響是顯著的,則隱藏層將顯示這種關係。 隱藏層使 ANN 可以輕鬆地向下一層處理髮出更強的信號。
即使在完成了所有這些數學運算並了解了隱藏層的運作方式之後,您可能想知道人工神經網絡實際上是如何學習的? 讓我們從什麼是學習的基本問題開始。 用最簡單的術語來說,學習就是在兩件事(活動、過程、變量等)之間建立因果關係。 當您“學習”如何投擲曲線球時,您就是在以某種方式投球的物理動作和讓球的軌跡以某種方式彎曲之間建立因果關係。

現在,這種因果關係很難建立。 還記得相關不等於因果的說法嗎? 確定兩個變量何時向同一方向移動相當容易。 很難絕對肯定地說哪個變量導致了哪個變量的運動。 顯然,我們通常能夠直觀地建立這一點; 但是你如何讓算法理解直覺呢?
您使用成本函數。 在數學上,它是數據集的實際值與數據集的輸出值之間的平方差。 您還可以考慮錯誤的程度。 我們將其平方是因為有時差異可能是負數。
您可以使用成本函數標記輸入到輸出處理的每個週期。 您和人工神經網絡的工作是將成本函數最小化到可能的最低值。 您可以通過調整 ANN 中的權重來實現。 (還記得突觸關係,也就是權重嗎?這就是我們所說的)。 有幾種方法可以做到這一點,但就你理解的原理而言,你只是使用不同的工具來執行它。
對於每個週期,我們的目標是最小化成本函數。 從輸入到輸出的過程稱為前向傳播。 而利用輸出數據通過從最後一個隱藏層到輸入層逆序調整權重來最小化代價函數的過程稱為反向傳播。
您可以使用蠻力方法(當數據集太大時會導致效率低下)或批量梯度下降法(一種優化算法)繼續調整這些權重。 現在您對人工神經網絡的學習方式有了直觀的了解。
循環神經網絡 (RNN) 與卷積神經網絡 (CNN)
了解這兩種形式的神經網絡也可以讓您了解人工智能應用的兩個不同方面——計算機視覺和自然語言處理。 以最簡單的形式,這兩個 AI 分支幫助機器直觀地識別對象並理解語言數據的上下文。 可以想像,這些分支已經在自動駕駛汽車和 Siri 等虛擬助手中使用過。
現在,這些分支中的每一個都有自己建立的神經網絡。 NLP 高度依賴循環神經網絡。 RNN 和 ANN 的區別在於,在 ANN 中,每個輸入信號都被認為與下一個輸入信號無關。 因此,存在於兩個節點之間的輸入數據本身沒有任何關係。
實際上,情況並非如此。 當我們進行交流時,每個單詞都會為下一個單詞清除上下文方式。 因此,語言的基本性質是它在較早輸入的信息和較晚輸入的信息之間建立了相互依賴關係。 RNN 對此很敏感,通過運行一個並行內存來建立這些輸入之間的關係以清除上下文。
卷積神經網絡非常適合用於計算機視覺。 除了常用的激活函數外,它們還添加了池化函數和卷積函數。 用更簡單的術語來說,卷積函數將顯示一個圖像的輸入和第二個圖像的輸入(過濾器)將如何產生第三個圖像(結果)。 您可以通過將其可視化為位於輸入圖像(原始像素值集)之上的過濾圖像(一組新的像素值)來獲得結果圖像(更改的像素值)來想像這一點。
池化函數將取最大值或最小值,具體取決於添加的函數,以簡化對這組信息的處理。 以下是可視化它們的方法:


池化函數
5 人工神經網絡的應用
到目前為止,我們所談論的一切都在幕後進行。 現在我們可以放大並查看這些 ANN 的運行情況,以充分了解它們與我們不斷發展的世界的聯繫:
1. 電商平台個性化推薦
ANN 最早的應用之一是為每個用戶提供個性化的電子商務平台體驗。 你還記得 Netflix 上真正有效的推薦嗎? 還是恰到好處的產品推薦亞馬遜? 它們是人工神經網絡的結果。
這裡使用了大量數據:您過去的購買、人口統計數據、地理數據,以及顯示購買相同產品的人接下來會購買什麼的數據。 所有這些都作為輸入來確定什麼可能對您有用。 同時,你真正購買的東西有助於算法得到優化。 每次購買,您都在豐富公司和授權 ANN 的算法。 同時,平台上的每一次新購買也將提高算法向您推薦合適產品的能力。
2.利用自然語言處理會話聊天機器人
不久前,聊天框開始在網站上流行起來。 代理會坐在一邊,幫助您解決在框中輸入的查詢。 然後,一種稱為自然語言處理 (NLP) 的現像被引入聊天機器人,一切都發生了變化。
NLP 通常使用統計規則來複製人類語言能力,並且與其他 ANN 應用程序一樣,隨著時間的推移會變得更好。 你的標點、語調和發音、語法選擇、句法選擇、單詞和句子順序,甚至選擇的語言都可以作為訓練 NLP 算法的輸入。
聊天機器人通過使用這些輸入來理解您的查詢上下文並以最適合您的風格的方式製定答案,從而變得對話。 同樣的 NLP 也被用於音樂和安全驗證目的的音頻編輯。
3. 預測高調事件的結果
我們中的大多數人都遵循人工智能算法在總統選舉和國際足聯世界杯期間做出的結果預測。 由於這兩個事件都是分階段進行的,因此它可以幫助算法快速了解其功效,並在團隊和候選人被淘汰時最小化成本函數。 在這種情況下,真正的挑戰是輸入變量的程度。 從候選人到球員統計數據到人口統計數據再到解剖能力——一切都必須結合起來。
在股票市場中,使用人工神經網絡的預測算法已經存在了一段時間。 新聞更新和財務指標是使用的關鍵輸入變量。 正因為如此,大多數交易所和銀行都能夠輕鬆地以遠遠超過人類能力的速度在高頻交易計劃下交易資產。
股市的問題在於數據總是嘈雜的。 隨機性非常高,因為可以影響證券價格的主觀判斷程度非常高。 然而,如今,每一家領先的銀行都在使用人工神經網絡進行做市活動。
4. 信用制裁
精算表已被用於確定與每位投保人相關的風險因素。 ANN 將所有這些數據都提高了一個檔次。
所有貸方都可以使用系統中強大的權重來處理他們擁有的數十年數據,並使用您的信息作為輸入來確定與您的貸款申請相關的適當風險狀況。 您的年齡、性別、居住城市、畢業學校、從事的行業、工資和儲蓄率,都被用作確定您的信用風險評分的輸入。
以前嚴重依賴個人信用評分的東西現在已成為一個更全面的機制。 這就是為什麼一些私人金融科技公司已經跳入個人貸款領域,運行相同的人工神經網絡,並藉給銀行認為風險太大的人。
5.自動駕駛汽車
Tesla、Waymo 和 Uber 一直在使用類似的 ANN。 投入和產品工程可能有所不同,但他們正在部署複雜的視覺計算來使自動駕駛汽車成為現實。
大部分自動駕駛都與處理來自現實世界的信息有關,這些信息以附近車輛、路標、自然和人造光、行人、建築物等的形式出現。 顯然,為這些自動駕駛汽車提供動力的神經網絡比我們在這裡討論的更複雜,但它們的運行原理與我們闡述的相同。
結論
人工神經網絡日益複雜。 NLP 現在正在幫助早期的心理健康問題診斷,計算機視覺被用於醫學成像,而人工神經網絡正在為無人機交付提供動力。 隨著人工神經網絡變得更加複雜和分層,該系統對人類智能的需求將會減少。 甚至像設計這樣的領域也開始使用衍生式設計部署人工智能解決方案。
所有人工神經網絡的最終演變將是通用智能——一種如此復雜的智能形式,它可以學習和感知人類已知和未知的所有信息。 雖然這是一個非常遙遠的現實,但如果可能的話,由於人工神經網絡的廣泛採用,它已成為一個可以想像的概念。