感知機
輸入:來自其他 n 個神經元傳遞過來的輸入信號
處理:輸入信號通過帶權重的連接進行傳遞, 神經元接受到總輸入值將與神經元的閾值進行比較
輸出:通過激活函數的處理以得到輸出
感知機由兩層神經元組成, 輸入層接受外界輸入信號傳遞給輸出層, 輸出層是M-P神經元(閾值邏輯單元)?
?
若感知機對訓練樣例 (x,y) 預測正確,則感知機不發生變化;否則根據錯誤程度進行權重的調整。
若兩類模式線性可分, 則感知機的學習過程一定會收斂;否則感知機的學習過程將會發生震蕩,單層感知機的學習能力非常有限, 只能解決線性可分問題。?
?多層感知機
輸出層與輸入層之間的一層神經元, 被稱之為隱層或隱含層, 隱含層和輸出層神經元都是具有激活函數的功能神經元。
感知機-多層前饋神經網絡
誤差逆傳播算法(Error BackPropagation, 簡稱BP)
?
?
?參數個數:d個輸入神經元連接q個隱層神經元?d*q,q個隱層神經元連接l個輸出神經元 q*l,再加?q+ l個閾值,最終結果是(d+l+q)*q+l。
工作流程:
(1)將輸入示例提供給輸入層神經元,逐層將信號前傳,直到產生輸出結果
(2)計算輸出層與真實值的誤差,將誤差使用BP算法傳播到整個網絡,對連接權重及閾值進行調整。
(3) 該迭代過程循環進行,直到達到某些停止條件為止。(例如訓練誤差達到了很小的值,或者整個數據集運行了20輪)
多層前饋網絡表示能力 :只需要一個包含足夠多神經元的隱層, 多層前饋神經網絡就能以任意精度逼近任意復雜度的連續函數 。
多層前饋網絡局限 :神經網絡由于強大的表示能力, 經常遭遇過擬合。表現為:訓練誤差持續降低, 但測試誤差卻可能上升 。如何設置隱層神經元的個數仍然是個未決問題.。
實際應用中通常使用“試錯法”調整 緩解過擬合的策略 。
早停:在訓練過程中, 若訓練誤差降低, 但驗證誤差升高, 則停止訓練 。
正則化:在誤差目標函數中增加一項描述網絡復雜程度的部分, 例如連接權值與閾值的平方和。
卷積神經網絡
卷積:平移不變模式,提取局部特征。
池化:對圖像進行縮放。
卷積網絡一般框架:卷積層+激活函數+池化層+全連接層。
卷積+激活+池化:出現多次,用于提取特征。
全連接層:最后一次出現,用于分類。
?
輸入層?
輸入層:輸入層是對數據進行預處理的階段,將輸入的數據(圖像/文字)轉換成網絡能夠計算的數字。
?卷積層
卷積層(Convolutional layer),卷積神經網絡中每層卷積層由若干卷積單元(卷積核)組成,每個卷積單元的參數都是通過反向傳播算法優化得到的。
卷積運算的目的是提取輸入的不同特征,第一層卷積層可能只能提取一些低級的特征如邊緣、線條和角等層級,更多層的網絡能從低級特征中迭代提取更復雜的特征。
- 卷積核(filter/kernel):用于對輸入圖像進行共享權值的遍歷
- 步長(stride):卷積核在圖片上移動的大小
- 填充(padding):滿足輸出的圖像的維度要求
激活層
往模型中加入非線性元素,可以更好地解決復雜的問題。
池化層
?池化層的主要的作用是壓縮數據和參數的量(保持最顯著的特征),通過去掉上一層的輸出中不重要的信息,進一步減少參數數量。Pooling的方法很多,常用方法有最大池化與均值池化。
全連接層(Fully Connected Layer,簡稱FC層)
- 特征整合:全連接層將前一層的所有輸出與當前層的每個神經元連接,能夠整合前一層的局部或全局特征,生成新的特征表示。【將多層的特征映射成一個一維的向量】
- 非線性變換:通過激活函數(如ReLU、Sigmoid等),全連接層引入非線性,增強模型的表達能力,使其能夠擬合更復雜的函數。
- 輸出轉換:在分類任務中,全連接層通常作為最后的輸出層,將高維特征映射到類別空間。【對卷積層獲得的不同的特征進行加權,最終目的是得到一個可以對不同類別進行區分的得分】【輸出層就是獲得對應每個類別的得分】
- 參數學習:全連接層通過大量可訓練參數(權重和偏置)學習數據的內在規律,提升模型的性能。
輸入:前一層的所有輸出。
輸出:每個神經元的加權和經過激活函數后的結果。
參數:權重矩陣?WW和偏置向量?b,通過反向傳播優化。
?卷積網絡在本質上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出之間的映射關系,而不需要任何輸入和輸出之間的精確的數學表達式,只要用已知的模式對卷積網絡加以訓練,網絡就具有輸入輸出對之間的映射能力。卷積神經網絡的訓練過程與傳統神經網絡類似,也是參照了反向傳播算法。
循環神經網絡
循環神經網絡是一種對序列數據建模的神經網絡。
RNN不同于前向神經網絡,它的層內、層與層之間的信息可以雙向傳遞,更高效地存儲信息,通常用于處理信息序列的任務。
RNN主要用來處理序列數據,在傳統的神經網絡模型中,每層內的節點之間無連接,但是循環神經網絡中當前神經元的輸出與前面的輸出也有關,網絡會對前面的信息進行記憶并用于當前神經元的計算中。
...
LSTM
這里包含兩個部分。首先,sigmoid 層稱 “輸入門層” 決定將要存放在細胞狀態的信息量的大小。然后,一個 tanh 層創建一個新的候選值向量會被加入到狀態中。下一步,我們會將這兩個信息來產生對狀態的更新。
?激活函數
Softmax
Softmax 是一種常用的激活函數,主要用于多分類任務中,將神經網絡的輸出轉換為概率分布。
它的核心作用是將一組任意實數轉換為概率值,這些概率值的總和為 1,便于表示每個類別的預測概率。
Softmax 的特性:
-
輸出為概率分布:
-
Softmax 的輸出是一個概率分布,每個類別的概率值在?[0,1]?之間,且所有類別的概率之和為 1。
-
例如,對于 3 個類別,Softmax 的輸出可能是[0.2,0.7,0.1]。
-
-
放大差異:
-
Softmax 通過指數運算放大高分值的類別,抑制低分值的類別,使得高分值的類別概率更接近 1,低分值的類別概率更接近 0。
-
-
可導性:
-
Softmax 是連續可導的,便于通過梯度下降法優化模型。
-
Softmax 的應用場景
-
多分類任務:
-
在神經網絡的最后一層使用 Softmax,將輸出轉換為類別概率分布。
-
例如,圖像分類任務中,Softmax 可以將卷積神經網絡的特征映射為每個類別的概率。
-
-
損失函數結合:
-
Softmax 通常與交叉熵損失函數(Cross-Entropy Loss)結合使用,用于衡量預測概率分布與真實標簽之間的差異。
-
它通過指數運算和歸一化,將原始得分映射為概率值,便于模型訓練和預測。
我們希望模型輸出y(j)可以視為屬于類j的概率,然后選擇具有最大輸出值的類別argmaxy(j)作為我們的預測。softmax:最大概率的標簽,能夠將未規范化的預測變換為非負數,并且總和為1,同時能夠讓模型保持可導。