自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

終于把神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)搞懂了?。?!

人工智能
激活函數(shù)是神經(jīng)網(wǎng)絡(luò)中的核心組件之一,其主要作用是在每個神經(jīng)元中為輸入信號提供非線性變換。如果沒有激活函數(shù),神經(jīng)網(wǎng)絡(luò)將充當(dāng)簡單的線性模型。

今天給大家分享神經(jīng)網(wǎng)絡(luò)中的一個關(guān)鍵概念,激活函數(shù)

激活函數(shù)是神經(jīng)網(wǎng)絡(luò)中的核心組件之一,其主要作用是在每個神經(jīng)元中為輸入信號提供非線性變換。如果沒有激活函數(shù),神經(jīng)網(wǎng)絡(luò)將充當(dāng)簡單的線性模型。

激活函數(shù)的作用

激活函數(shù)的引入使得神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)和表示復(fù)雜的非線性關(guān)系,從而解決一些線性模型無法處理的問題。

圖片圖片

  1. 非線性化
    神經(jīng)網(wǎng)絡(luò)的每一層通常是線性運算(如線性變換),如果不加入激活函數(shù),整個網(wǎng)絡(luò)將只是線性模型的堆疊,無論多少層都仍是線性的。
    激活函數(shù)通過引入非線性因素,使網(wǎng)絡(luò)能夠逼近任意復(fù)雜的非線性函數(shù)。
  2. 控制神經(jīng)元的激活
    激活函數(shù)對輸入信號進行處理后輸出,控制著每個神經(jīng)元的激活程度。
    某些激活函數(shù)會將輸出壓縮到一定范圍內(nèi),從而使網(wǎng)絡(luò)的輸出更加穩(wěn)定。
  3. 梯度傳遞
    在反向傳播中,激活函數(shù)還會影響梯度的傳遞。
    合適的激活函數(shù)能夠使梯度在網(wǎng)絡(luò)中有效傳播,避免梯度消失或爆炸的問題(如 ReLU 激活函數(shù)在深度網(wǎng)絡(luò)中有顯著優(yōu)勢)。

常見的激活函數(shù)

下面,我們一起來看一下神經(jīng)網(wǎng)絡(luò)中常見的激活函數(shù)。

1.Sigmoid

Sigmoid 是一種 S 形曲線函數(shù),將輸入壓縮到 (0,1) 之間,通常用于二分類問題。

圖片圖片

優(yōu)點

  • 將輸入值映射到 (0, 1) 范圍內(nèi),非常適合二分類問題中的概率輸出。

缺點

  • 容易出現(xiàn)梯度消失問題,在反向傳播中,當(dāng)輸入較大或較小時,導(dǎo)數(shù)趨近于零,使得梯度傳遞較慢,導(dǎo)致深層網(wǎng)絡(luò)的訓(xùn)練效率降低。
  • 不以零為中心,導(dǎo)致梯度更新不平衡。
import numpy as np
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

2.Tanh

Tanh 是 Sigmoid 的改進版本,輸出范圍在 (-1, 1),對稱于零。

圖片圖片

優(yōu)點

  • 輸出范圍在 (-1, 1) 之間,使得正負值更加均衡,適合用作隱藏層的激活函數(shù)。
  • 零點對稱,可以更好地解決梯度消失問題,收斂速度比 Sigmoid 更快。

缺點

  • 在輸入值較大或較小時,依然存在梯度消失的問題,導(dǎo)致深層網(wǎng)絡(luò)的訓(xùn)練困難。
def tanh(x):
    return np.tanh(x)

3.ReLU

ReLU 是最常用的激活函數(shù)之一,對正數(shù)直接輸出,對負數(shù)輸出零。

圖片圖片

優(yōu)點

  • 簡單高效,且在正數(shù)區(qū)梯度始終為 1,能夠緩解梯度消失問題。
  • 計算速度快,常用于深層神經(jīng)網(wǎng)絡(luò)。

缺點

  • 存在“死亡神經(jīng)元”問題,輸入為負時輸出為零,可能導(dǎo)致某些神經(jīng)元永遠不被激活。
def relu(x):
    return np.maximum(0, x)

4.Leaky ReLU

Leaky ReLU 是 ReLU 的改進版,負數(shù)區(qū)域的輸出為輸入的一個小比例,以解決“死亡神經(jīng)元”問題。

圖片圖片

其中 是一個很小的正數(shù),通常取 0.01。

優(yōu)點

  • 保留負數(shù)區(qū)域的小梯度,減少神經(jīng)元死亡的風(fēng)險。
  • 保持 ReLU 的大部分優(yōu)勢。

缺點

  • 引入了一個額外的參數(shù) ,需要手動設(shè)置。
def leaky_relu(x, alpha=0.01):
    return np.where(x > 0, x, alpha * x)

5.PReLU

PReLU 是 Leaky ReLU 的變體,負區(qū)域的斜率參數(shù) 可以在訓(xùn)練中自動學(xué)習(xí)。

圖片圖片

優(yōu)點

  • 負區(qū)域的斜率參數(shù) 可學(xué)習(xí),模型能夠自動適應(yīng)數(shù)據(jù)特性。

缺點

  • 增加了模型復(fù)雜性和計算成本,因為需要學(xué)習(xí)額外的參數(shù)。
def prelu(x, alpha):
    return np.where(x > 0, x, alpha * x)

6.ELU

ELU 是 ReLU 的另一種改進版本,ELU 在正值區(qū)域與 ReLU 相同,但在負值區(qū)域應(yīng)用指數(shù)函數(shù)進行變換。

圖片圖片

優(yōu)點

  • 在負區(qū)域輸出接近零,有助于加快收斂。
  • 可以減少梯度消失的現(xiàn)象。

缺點

  • 計算開銷較高,不如 ReLU 高效。
def elu(x, alpha=1.0):
    return np.where(x > 0, x, alpha * (np.exp(x) - 1))

7.Swish

Swish 是一種平滑的激活函數(shù),常常在深層網(wǎng)絡(luò)中表現(xiàn)優(yōu)于 ReLU 和 Sigmoid。

圖片圖片

其中 是 Sigmoid 函數(shù)。

優(yōu)點

  • 平滑且輸出無界,有更好的梯度流動性質(zhì),性能上往往優(yōu)于 ReLU。
  • 在深層神經(jīng)網(wǎng)絡(luò)中表現(xiàn)良好,可以提高模型準(zhǔn)確性。

缺點

  • 計算量大于 ReLU,尤其在大規(guī)模神經(jīng)網(wǎng)絡(luò)中。
def swish(x):
    return x * sigmoid(x)

8.Softmax

Softmax 通常用于多分類任務(wù)的輸出層,將輸出值歸一化到 [0, 1] 范圍,總和為 1,可以理解為概率分布。

圖片圖片

優(yōu)點

  • 將輸出值轉(zhuǎn)換為概率,便于多分類任務(wù)。
  • 可以通過最大值索引確定類別。

缺點

  • 僅適合用于輸出層,而不適合隱藏層。
  • 對輸入值的極端變化敏感。
def softmax(x):
    exp_x = np.exp(x - np.max(x))  # 減去最大值避免指數(shù)爆炸
    return exp_x / np.sum(exp_x, axis=0)


責(zé)任編輯:武曉燕 來源: 程序員學(xué)長
相關(guān)推薦

2024-07-24 08:04:24

神經(jīng)網(wǎng)絡(luò)激活函數(shù)

2024-10-17 13:05:35

神經(jīng)網(wǎng)絡(luò)算法機器學(xué)習(xí)深度學(xué)習(xí)

2024-09-12 08:28:32

2024-12-02 01:10:04

神經(jīng)網(wǎng)絡(luò)自然語言DNN

2024-09-20 07:36:12

2024-10-28 00:38:10

2024-11-15 13:20:02

2025-02-21 08:29:07

2024-12-12 00:29:03

2024-10-05 23:00:35

2024-09-26 07:39:46

2024-11-05 12:56:06

機器學(xué)習(xí)函數(shù)MSE

2024-07-17 09:32:19

2024-09-23 09:12:20

2024-08-01 08:41:08

2024-10-16 07:58:48

2024-12-03 08:16:57

2024-10-08 15:09:17

2024-10-08 10:16:22

2024-10-30 08:23:07

點贊
收藏

51CTO技術(shù)棧公眾號