[Deep Learning] 神經網絡基礎

引言: 目前,深度學習(Deep Learning,簡稱DL)在算法領域可謂是大紅大紫,現在不只是互聯網、人工智能,生活中的各大領域都能反映出深度學習引領的巨大變革。要學習深度學習,那麼首先要熟悉神經網絡(Neural Networks,簡稱NN)的一些基本概念。當然,這裡所說的神經網絡不是生物學的神經網絡,我們將其稱之為人工神經網絡(Artificial Neural Networks,簡稱ANN)貌似更為合理。神經網絡最早是人工智能領域的一種算法或者說是模型,目前神經網絡已經發展成為一類多學科交叉的學科領域,它也隨著深度學習取得的進展重新受到重視和推崇。 1. 神经元模型 (關於把輸入特徵進行識別) 神經元是神經網絡中最基本的結構,也可以說是神經網絡的基本單元,它的設計靈感完全來源於生物學上神經元的信息傳播機制。我們學過生物的同學都知道,神經元有兩種狀態:興奮和抑制。一般情況下,大多數的神經元是處於抑制狀態,但是一旦某個神經元收到刺激,導致它的電位超過一個閾值,那麼這個神經元就會被激活,處於“興奮”狀態,進而向其他的神經元傳播化學物質(其實就是信息)。 1943年,McCulloch和Pitts將上圖的神經元結構用一種簡單的模型進行了表示,構成了一種人工神經元模型,也就是我們現在經常用到的“M-P神經元模型”,如下圖所示: 從上圖M-P神經元模型可以看出,神經元的輸出 𝑦 = 𝑓 ( ∑ 𝑛 𝑖 = 1 𝑤 𝑖 𝑥 𝑖 − 𝜃 ) 𝑦 = 𝑓 ( ∑ 𝑛 𝑖 = 1 𝑤 𝑖 𝑥 𝑖 − 𝜃 ) 其中 𝜃 θ 為我們之前提到的神經元的激活閾值,函數 f(.) 也被稱為是激活函數。如上圖所示,函數 𝑓 ( · ) f ( · ) 可以用一個階躍方程表示,大於閾值激活;否則則抑制。但是這樣有點太粗暴,因為階躍函數不光滑,不連續,不可導,因此我們更常用的方法是用sigmoid函數來表示函數函數f(.)。 sigmoid函数的表达式和分布图如下所示: 還不明白嗎?我來用一個簡單的例子來說明: 首先關於Machine learning的流程可以簡單分為以下: (1)輸入特徵 => (...