神經網絡及其背後的數學——簡化概念,人人都可以理解

2020-12-05 老胡說科學

神經元的概念

1.感知器:神經網絡的基本構件

感知器可以被理解為一個二進位模型,它基本上模仿了一個生物神經元。1905年,科學家弗蘭克·羅森布拉特受到沃倫·麥卡洛克和沃爾特·皮茨早期研究的啟發,首次提出了這個概念,並於1960年提出。感知器模式化一個決策模型,該模型可以根據給定的一組二進位輸入輸出不同的結果。這些輸入可以有不同的權重來說明它們的重要性,因此我們的想法是計算一個二進位輸入的加權和,它恰好大於或小於一個特定的閾值,這個閾值與實際的感知器本身密切相關。

感知器模式

感知器也可以用一個簡單的代數公式表

定義感知器的代數表達式2.S形神經元

S形神經元是一個比感知器稍微複雜一點的模型。與只能保存0或1值的感知不同,乙狀結腸神經元可以保存0到1之間的範圍,所以它可以保存無限的數字。它的優點是我們極大地增加了輸出規模,因此模型在數值上變得更加穩定,因為輸入權重的微小變化會導致輸出的微小變化。在之前的模型中,無論我們如何微小地調整輸入的權重,輸出都會突然在0和1之間切換,而對於S形神經元,我們在輸出變化中達到了一定程度的平滑。

為了更清楚地說明,這裡的神經元扮演的是一個函數的角色,它接受所有輸入的加權和,並輸出0到1之間的一個數字。一旦加權和大於閾值,神經元就會被激活。內部閾值通常被認為是一個特定於每個神經元的偏差。

總而言之,一個S形神經元計算器輸入的加權和,應用一個函數,將結果壓扁在0到1之間的數字範圍內,最後將得到的結果與其閾值進行比較,以便「點亮」或「熄滅」。

網絡層

1.什麼是圖層

基本上,將多個神經元平行或串聯地堆疊在一起就構成了一個層。但正如你可能明顯預期的那樣,這其中的意義遠不止是隨意堆積神經元。每個網絡都是為特定的任務而構建的,因此它有不同的層,以不同的方式組裝。但是,通常有三種類型的層通常用於多種體系結構模式:輸入層、隱藏層和輸出層。

輸入層:輸入層是直接與網絡外部原始數據交互的第一層。這樣一個層的主要興趣是規範化外部數據格式,以便它可以被安裝到下一層和整個網絡。不管給定給網絡的數據的性質如何,輸入層都會對該數據進行轉換,以生成一組特定的數字,即張量,它表示每個特定的輸入。網絡只處理數字。

輸入層結構隱藏層:隱藏的層沒有什麼神秘的。既不是輸入層也不是輸出層的層稱為隱藏層。這些層在網絡架構中非常重要。他們負責檢測與數據相關的特定模式,這將幫助網絡學習如何識別或將輸入數據分類到特定類別。

以一種更科學的方式,這些層涉及到生成抽象級別的過程。這意味著,網絡能夠檢測和學習的邏輯模式越多,它的「抽象能力」就越強,從而導致系統從簡單的原始數據泛化為高級概念。

同樣的泛化過程在我們的大腦中本能地發生,甚至沒有注意到。從狗的圖片中,我們立刻想到了動物,因為對於狗的形象,我們已經學習了與生理特徵相關的特定模式,這有助於區分狗和貓。從某種意義上說,從狗的形象到對狗所代表的概念的高層次理解的整個過程是通過多層抽象的組合而建立起來的。

每個網絡根據它要解決的問題的性質來定義它的隱藏層,因此可以使用多種設計。一個體系結構可以很好地適應特定的問題,但在另一個體系結構上不能很好地執行。

這些層的有趣之處在於,一層的激活模式會導致下一層的特定模式等等。這意味著每一層都負責檢測數據中的奇異模式。在卷積神經網絡將圖像分類為目標標籤的情況下,它們在其隱藏層中實現了一種機制,可以令人信服地將像素合併為邊緣,將邊緣合併為模式,最後將模式合併為數字。

輸出層:在對前一層進行連接以處理模式檢測的複雜任務之後,輸出層的激活意味著將輸入數據標記到目標類別中。因為神經網絡在完成所有中間工作之後的主要作用是正確地將給定的內容與預期的內容匹配,因此,就神經元而言,輸出層的大小與數據中不同的標籤或類的數量相同。例如,一個用於對狗和貓進行分類的網絡在輸出層必然有兩個神經元,分別給出兩種可能性的正確性概率。

輸出層中最常用的激活函數是Softmax,它計算每個目標類在所有可能的目標類上的概率分布。

神經網絡結構

阿茲莫夫研究所的神經網絡園可以使用的網絡架構種類繁多。但是請始終記住,體系結構取決於問題的類型和目的。實際上有很多設計模式或架構已經被證明更適合特定的問題集。網絡架構是一個活躍的研究領域,每年都有許多這樣的論文發表。

一般來說,神經網絡有5大類:

1、前饋神經網絡:這些神經網絡是最簡單人工神經網絡形式之一,其中的數據被饋送到網絡,並只在一個方向移動。數據通過輸入節點並在輸出節點上退出。這個神經網絡可以有,也可以沒有隱含層,這就是為什麼我們叫它前饋網絡。

2、徑向基函數神經網絡:徑向基函數是一組常用的用於距離計算的函數,它們考慮點相對於中心的距離。RBF神經網絡採用徑向基函數作為激活。網絡的輸出是輸入的徑向基函數和神經元參數的線性組合。

3、遞歸神經網絡:遞歸神經網絡(RNN)是一種廣泛應用於語音識別和自然語言處理(NLP)的人工神經網絡。RNNs的設計目的是識別數據的順序特徵並使用模式來預測下一個可能的場景。

4、卷積神經網絡:卷積神經網絡類似於前饋神經網絡,其中神經元具有可學習的權值和偏差。卷積神經網絡在圖像識別、目標檢測、人臉識別、圖像分析等領域有著廣泛的應用。

手寫體數字的卷積神經網絡示例5、模塊神經網絡:模塊神經網絡有一組不同的獨立工作的網絡,它們對輸出有貢獻。每個神經網絡都有一組輸入,與其他構建和執行子任務的網絡相比,這些輸入是唯一的。

我希望這篇文章有助於使理解神經網絡背後的數學概念變得不那麼神秘,並且我敢肯定,通過一些實踐,您可以輕鬆地熟悉這些概念。

相關焦點

  • 深度網絡揭秘之深度網絡背後的數學
    通常我們只需要盡力一個神經網絡,即使是一個結構非常複雜的神經網絡,也只需要導入和幾行代碼就可以完成了。這節省了我們搜索漏洞的時間並簡化了我們的工作。但是,對於神經網絡的深入了解對我們完成在構架選擇,或者超參數的調整或優化的任務上有著很大的幫助。
  • 深度學習背後的基礎-神經網絡揭秘
    最近, 深度學習三傑獲得了計算機界最重要的圖靈獎, 它們的貢獻都集中在對深度學習的根據神經網絡的理論突破。 今天我們看到的所有和人工智慧有關的偉大成就, 從阿法狗到自動駕駛, 從海量人臉識別到對話機器人, 都可以歸功於人工神經網絡的迅速崛起。那麼對於不了解神經網絡的同學如何入門? 神經網絡的技術為什麼偉大, 又是什麼讓它們這麼多年才姍姍走來?
  • 刷臉背後:卷積神經網絡的數學原理
    計算機視覺技術在日常生活中有著非常普遍的應用:發朋友圈之前自動修圖、網上購物時刷臉支付……在這一系列成功的應用背後,卷積神經網絡功不可沒。本文將介紹卷積神經網絡背後的數學原理。
  • 人工神經網絡及其應用
    1 人工神經網絡的發展歷史及其意義1.1 人工神經網絡的發展歷史神經網絡的發展可以追溯到19世紀末,其發展可以分為四個階段。神經網絡既是高度非線性動力學系統,又是白適應組織系統,可用來描述認知、決策及控制的智能行為,它的中心問題是智能的認知和模擬。以神經網絡研究為開端,整個學術界對計算的概念和作用有了新的認識和提高。計算不僅僅局限於數學中,更不僅採取邏輯的、離散的形式,在人量的物理現象以至生物學對象中,進行各種各樣的計算,而且人量的運算表現在對模糊低精度模擬量的並行計算,對於這一類計算,傳統的計算機是無能為力的。
  • 理清神經網絡中的數學知識
    導讀:首先我想在這裡聲明的是,本篇文章針對的是一些已經具備一定神經網絡知識的人。意在幫助大家梳理神經網絡中涉及的數學知識,以及理解其物理含義。希望大家讀過之後,可以使大家對於神經網絡有更多角度的理解,幫助大家推導以及理解其中的數學公式。
  • 算法之「算法」:所有機器學習算法都可以表示為神經網絡
    我們可以說,神經網絡是對機器學習的普遍概括,而不是僅僅一次嘗試。與其說神經網絡是簡單的算法,不如說是框架和概念,這是顯而易見的,因為在構建神經網絡時有很大的自由度——比如對於隱藏層&節點個數、激活函數、優化器、損失函數、網絡類型(卷積神經網絡、循環神經網絡等)以及特殊層(批歸一化、隨機失活等)。
  • 「符號數學」終於向「神經網絡」屈服:AI 學會數學證明了?
    研究AI在數學當中的應用的Charton 說:「我們兩個的專業都是數學和統計學。數學是我們的母語。」 因此,Lample 和Charton的程序可以為複雜的積分和微分方程提供精確的解決方案,裡面包括內置了一些顯式的解決問題規則的流行數學軟體包。
  • 神經網絡如何完成表徵?
    從數學上講,他們非常擅長近似任何的複雜函數。讓我們形象化地理解這種近似概念,而不是前向和後向傳播方法中的最小化預測誤差。假設你了解前向和後向傳播的一點基礎,其旨在藉助梯度和網絡中的錯誤傳播來近似函數。讓我們通過另一種視覺解釋來理解神經網絡的近似能力。其中涉及基礎數學和圖形分析。 在數學上,我們將研究給定神經網絡的表徵能力,以便提供近似的函數。
  • 神經網絡原來是這樣和數學掛鈎的
    將神經元的工作在數學上抽象化,並以其為單位人工地形成網絡,這樣的人工網絡就是神經網絡。將構成大腦的神經元的集合體抽象為數學模型,這就是神經網絡的出發點。對於用神經網絡實現的人工智慧,人們只需要簡單地提供數據即可。神經網絡接收數據後,就會從網絡的關係中自己學習並理解。如此看來,神經網絡似乎有一些不可思議的邏輯。
  • 理解神經網絡:從神經元到RNN、CNN、深度學習
    隨著時間的推移,證明了神經網絡在精度和速度方面,比其他的算法性能更好。並且形成了很多種類,像CNN(卷積神經網絡),RNN,自編碼,深度學習等等。神經網絡對於數據科學和或者機器學習從業者,就像線性回歸對於統計學家一樣。因此,對神經網絡是什麼有一個基本的理解是有必要的,比如,它是怎麼構成的,它能處理問題的範圍以及它的局限性是什麼。
  • 用概念激活向量 (CAVs) 理解深度網絡
    最近在計算模型和深度學習研究方面的進展,使創建高度複雜的模型成為可能,這些模型可以包括數千個隱藏層和數千萬個神經元。雖然創建令人驚訝的高級的深度神經網絡模型相對簡單,但理解這些模型如何創建和使用知識仍然是一個挑戰。最近,來自谷歌大腦研究小組的研究人員發表了一篇論文,提出了一種新的方法,稱為概念激活載體(CAVs),這為深度學習模型的可解釋性提供了一個新的視角。
  • ICML 2019 | 神經網絡的可解釋性,從經驗主義到數學建模
    大家說神經網絡是「黑箱」,其含義至少有以下兩個方面:一、神經網絡特徵或決策邏輯在語義層面難以理解;二、缺少數學工具去診斷與評測網絡的特徵表達能力(比如,去解釋深度模型所建模的知識量、其泛化能力和收斂速度),進而解釋目前不同神經網絡模型的信息處理特點。
  • 三次簡化一張圖:一招理解LSTM/GRU門控機制
    但是,對 RNN 及其變種 LSTM 和 GRU 結構的理解仍然是一個困難的任務。本文介紹一種理解 LSTM 和 GRU 的簡單通用的方法。通過對 LSTM 和 GRU 數學形式化的三次簡化,最後將數據流形式畫成一張圖,可以簡潔直觀地對其中的原理進行理解與分析。此外,本文介紹的三次簡化一張圖的分析方法具有普適性,可廣泛用於其他門控網絡的分析。1.
  • 人工智慧瓶頸之神經網絡的可解釋探討
    人工神經網絡(Artificial Neural Network,ANN)是一種模仿生物神經網絡結構和功能的數學模型或計算模型,在給定條件下能近似地逼近任意複雜的函數或分布。基於深度神經網絡的人工智慧系統主要面臨結果不可驗證和過程不可審查兩大安全問題。結果不可驗證指的是基於深度神經網絡的人工智慧系統輸出結果無法被判斷、預測,智能系統行為邊界難以掌握,導致系統不可控,本質上是深度神經網絡結果不可判讀。過程不可審查指的是系統決策背後的邏輯不明,代碼實現缺乏可信度,本質上是深度神經網絡的實現機理與決策邏輯難以理解。
  • 你試過建立一個神經網絡模型來解決簡單的數學問題嗎
    字,預計學習時長4分鐘圖源:unsplash你試過建立一個神經網絡模型來解決簡單的數學問題嗎並不是說不能通過建立一個近乎完美的端到端神經網絡模型來直接回答數學問題,而是說,這樣完全沒有必要。相反,我們可以使用人工智慧來理解數學問題或給定問題的數學部分,然後通過機器的運算單元來解決它。這將是解決數學問題最簡單、最可靠的方法,甚至在神經網絡模型中嵌入一個運算單元也可能有效。
  • 進展|神經網絡正則變換
    通過找到合適的變量替換,正則變換可以簡化、甚至是徹底求解哈密頓體系的動力學。例如,19世紀法國科學家夏爾·德勞奈發表了約1800頁的解析推導,試圖使用正則變換化簡「日-地-月」的三體問題。雖然正則變換方法是哈密頓力學中的基本工具,但是它在更複雜的多體問題中的廣泛應用受限於繁複的人工操作和解析計算。
  • 從零開始:教你如何訓練神經網絡
    簡介 本文是作者關於如何「訓練」神經網絡的一部分經驗與見解,處理神經網絡的基礎概念外,這篇文章還描述了梯度下降(GD)及其部分變體。,簡單到僅僅足夠讓人理解我們所談論的概念。作者會解釋什麼是損失函數,以及「訓練」神經網絡或者任何其他的機器學習模型到底意味著什麼。作者的解釋並不是一個關於神經網絡全面而深度的介紹,事實上,作者希望我們讀者已經對這些相關的概念早已瞭然於心。如果讀者想更好地理解神經網絡具體是如何運行的,讀者可以閱讀《深度學習》等相關書籍,或參閱文末提供的相關學習資源列表。
  • PyTorch可視化理解卷積神經網絡
    如果你是一個深度學習愛好者,你可能早已聽說過這種神經網絡,並且可能已經使用一些深度學習框架比如caffe、TensorFlow、pytorch實現了一些圖像分類器。然而,這仍然存在一個問題:數據是如何在人工神經網絡傳送以及計算機是如何從中學習的。為了從頭開始獲得清晰的視角,本文將通過對每一層進行可視化以深入理解卷積神經網絡。
  • 深度|人工神經網絡深入分析
    文章從神經網絡談到了人工神經網絡,並對此進行詳細的介紹。最近「神經網絡」非常火,特別是AlphaGo與韓國選手李世石的比賽落幕後,各種關於神經網絡的文章滿天飛,但可能對於非專業領域出身的人來說接觸這些文章就會雲裡霧裡了。究其原因主要是缺少適合大部分人理解的神經網絡的科普文章,其實吳軍老師的《數學之美》在科普神經網絡這方面做的就比較通俗易懂,感興趣的朋友可以去讀一下吳老師的書。
  • 谷歌大腦提出概念激活向量,助力神經網絡可解釋性研究
    計算模型和深度學習研究領域近期取得了很大進展,創建了非常複雜的模型,這些模型可以包括數千個隱藏層、數千萬神經元。雖然創建高級深度神經網絡相對簡單,但理解如何創建這些模型以及它們如何使用知識仍然是一個挑戰。