自動駕駛背后的數學:ReLU,Sigmoid, Leaky ReLU, PReLU,Swish等激活函數解析

隨著自動駕駛技術的飛速發展,深度學習在其中扮演著至關重要的角色。而激活函數作為神經網絡中的關鍵組件,直接影響著模型的性能和效果。前面幾篇博客 自動駕駛背后的數學:特征提取中的線性變換與非線性激活 , 「自動駕駛背后的數學:從傳感器數據到控制指令的函數嵌套」—— 揭秘人工智能中的線性函數、ReLU 與復合函數中, 非線性激活函數舉例只講到了ReLU 函數。本文將深入探討自動駕駛中常見的激活函數,包括 ReLU、Sigmoid、Leaky ReLU、PReLU 和 Swish,解析它們的數學原理、應用場景及 PyTorch 實現代碼。

一、基礎激活函數解析

1. ReLU (Rectified Linear Unit)

數學表達式
f ( x ) = max ? ( 0 , x ) f(x) = \max(0, x) f(x)=max(0,x)
導數
f ′ ( x ) = { 1 x > 0 0 x ≤ 0 f'(x) = \begin{cases} 1 & x>0 \\ 0 & x\leq0 \end{cases} f(x)={10?x>0x0?

特點

  • 優點:計算高效,緩解梯度消失
  • 缺點:存在"神經元死亡"問題
  • 自動駕駛應用
    • YOLOv5的目標檢測特征提取
    • 激光雷達點云處理
# PyTorch實現
import torch.nn as nn
relu = nn.ReLU(inplace=True)

2. Sigmoid

數學表達式
f ( x ) = 1 1 + e ? x f(x) = \frac{1}{1 + e^{-x}} f(x)=1+e?x1?
導數
f ′ ( x ) = f ( x ) ( 1 ? f ( x ) ) f'(x) = f(x)(1 - f(x)) f(x)=f(x)(1?f(x))

特點

  • 優點:輸出平滑(0,1)
  • 缺點:梯度消失嚴重
  • 應用場景
    • 車道線存在概率預測
    • 剎車概率估計
# 二分類輸出層
sigmoid = nn.Sigmoid()

3. Leaky ReLU

數學表達式
f ( x ) = { x x > 0 α x x ≤ 0 ( α = 0.01 ) f(x) = \begin{cases} x & x>0 \\ \alpha x & x\leq0 \end{cases} \quad (\alpha=0.01) f(x)={xαx?x>0x0?(α=0.01)

特點

  • 改進:解決神經元死亡問題
  • 應用場景
    • 毫米波雷達噪聲數據處理;長距離毫米波雷達數據處理
    • 夜間低光照圖像處理
# 帶參數初始化
leaky_relu = nn.LeakyReLU(negative_slope=0.01)

二、進階激活函數

4. PReLU (Parametric ReLU)

數學表達式
f ( x ) = { x x > 0 α x x ≤ 0 ( α 可學習 ) f(x) = \begin{cases} x & x>0 \\ \alpha x & x\leq0 \end{cases} \quad (\alpha\text{可學習}) f(x)={xαx?x>0x0?(α可學習)

特點

  • 優勢:自適應調整負區間斜率
  • 應用案例
    • 多傳感器融合網絡
    • 雨霧天氣特征補償
# 可學習參數初始化
prelu = nn.PReLU(num_parameters=1, init=0.25)

5. Swish

數學表達式
f ( x ) = x ? σ ( β x ) ( β 可調節 ) f(x) = x \cdot \sigma(\beta x) \quad (\beta\text{可調節}) f(x)=x?σ(βx)(β可調節)

特點

  • 優勢:平滑過渡,自門控機制;平衡線性與非線性特征
  • 實測數據(Tesla BEV網絡):
    • 比ReLU提升1.2% mAP
    • 推理時間增加15%
# 自定義實現
class Swish(nn.Module):def __init__(self, beta=1.0):super().__init__()self.beta = nn.Parameter(torch.tensor(beta))def forward(self, x):return x * torch.sigmoid(self.beta * x)

三、函數對比分析

特性ReLULeaky ReLUPReLUSigmoidSwish
計算復雜度O(n)O(n)O(n)O(n)O(2n)
梯度消失緩解緩解緩解嚴重緩解
輸出范圍[0, ∞)(-∞, ∞)(-∞, ∞)(0,1)(-∞, ∞)
可學習參數可選
典型延遲(RTX 3090)1.2ms1.3ms1.5ms1.8ms2.1ms

四、應用場景決策樹

需要
不需要
需要概率輸出?
Sigmoid/Tanh
實時性要求?
ReLU/Leaky ReLU
Swish
GELU/Mish
處理負值?
Leaky ReLU
ReLU
需要自適應性?
參數化Swish
固定β=1.0

五、多函數性能測試代碼

import torch
from torch import nn
import time# 測試配置
input_size = 1000000
x = torch.randn(input_size).cuda()# 函數集合
activations = {"ReLU": nn.ReLU(),"LeakyReLU": nn.LeakyReLU(0.01),"Swish": Swish(),"GELU": nn.GELU()
}# 基準測試
for name, func in activations.items():torch.cuda.synchronize()start = time.time()_ = func(x)torch.cuda.synchronize()print(f"{name}: {1000*(time.time()-start):.2f} ms")

典型輸出(RTX 3090):

ReLU: 1.23 ms
LeakyReLU: 1.31 ms
Swish: 2.15 ms
GELU: 3.02 ms

六、工程選型建議

  1. 實時感知層(>30FPS):

    # 激光雷達特征提取
    self.act = nn.LeakyReLU(0.1)  # 兼顧效率與負值保留
    
  2. 決策規劃層

    # 路徑概率預測
    self.act = nn.Sequential(nn.Linear(256, 128),nn.SiLU(),  # Swish-1.0的官方實現nn.Dropout(0.3)
    )
    
  3. 極端環境處理

    # 雨霧天氣補償網絡
    self.act = nn.PReLU(num_parameters=64)  # 每通道獨立學習
    
  4. 邊緣設備部署

    # 車載ECU部署
    self.act = nn.ReLU6()  # 限制最大輸出值6.0
    

通過深入理解激活函數的數學特性和工程實踐中的表現差異,開發者可以針對自動駕駛的不同子系統(感知、預測、規劃)選擇最優激活策略,在計算效率和模型性能之間取得最佳平衡。


七、補充信息

其它激活函數

在nuScenes數據集上的實驗結果:

激活函數mAP(%)推理時間(ms)功耗(W)
ReLU72.315.223.1
GELU74.117.825.3
Mish75.618.526.7

未來發展與挑戰

  1. 動態權重優化:結合元學習實現場景自適應矩陣更新
  2. 神經形態計算:采用Spiking ReLU降低功耗90%+
  3. 量子矩陣運算:探索量子比特加速特征變換的可能性
  4. 可解釋性研究:通過矩陣分解可視化特征決策路徑

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/73498.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73498.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73498.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

性能測試、負載測試、壓力測試的全面解析

在軟件測試領域,性能測試、負載測試和壓力測試是評估系統穩定性和可靠性的關鍵手段。?它們各自關注不同的測試目標和應用場景,理解這些差異對于制定有效的測試策略至關重要。 本文對性能測試、負載測試和壓力測試進行深入分析,探討其定義、…

責任鏈模式-java

1、spring依賴注入模式 @Configuration public class ChainConfig {@Beanpublic ChainSpringFactory chainSpringFactory(List<IHandler<DemoOne,Boolean>> handlerList){return new ChainSpringFactory(handlerList);}} public class DemoOne { }public abstract…

學習本地部署DeepSeek的過程(基于LM Studio)

除了使用Ollama部署DeepSeek&#xff0c;還可以使用LM Studio部署DeepSeek&#xff0c;后者是一款允許用戶在本地計算機上運行大型語言模型&#xff08;LLMs&#xff09;的桌面應用程序&#xff0c;旨在簡化本地模型的使用&#xff0c;無需云端連接或復雜配置即可體驗 AI 功能。…

CSS 尺寸 (Dimension)

CSS 尺寸 (Dimension) 在網頁設計中&#xff0c;CSS&#xff08;層疊樣式表&#xff09;的尺寸屬性是控制元素大小和位置的關鍵。本文將詳細介紹CSS尺寸相關的概念、屬性及其應用。 1. CSS 尺寸概述 CSS尺寸主要包括寬度和高度&#xff0c;這些屬性可以應用于各種HTML元素&a…

【自學筆記】ELK基礎知識點總覽-持續更新

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 ELK基礎知識點總覽1. ELK簡介2. Elasticsearch基礎Elasticsearch配置示例&#xff08;elasticsearch.yml&#xff09; 3. Logstash基礎Logstash配置示例&#xff08…

等差數列公式推導

前言&#xff1a; 通過實踐而發現真理&#xff0c;又通過實踐而證實真理和發展真理。從感性認識而能動地發展到理性認識&#xff0c;又從理性認識而能動地指導革命實踐&#xff0c;改造主觀世界和客觀世界。實踐、認識、再實踐、再認識&#xff0c;這種形式&#xff0c;循環往…

【MySQL】用戶賬戶、角色、口令、PAM

目錄 查看用戶賬戶設置 連接 1.本地連接 2.遠程連接 賬戶 角色 操作用戶賬戶和角色 配置口令和賬戶有效期限 手工使口令過期 配置口令有效期限 PAM身份驗證插件 客戶端連接&#xff1a;使用 PAM 賬戶登錄 在連接到MySQL服務器并執行查詢時&#xff0c;會驗證你的身…

5種生成模型(VAE、GAN、AR、Flow 和 Diffusion)的對比梳理 + 易懂講解 + 代碼實現

目錄 1 變分自編碼器&#xff08;VAE&#xff09;? 1.1 概念 1.2 訓練損失 1.3 VAE 的實現 2 生成對抗網絡&#xff08;GAN&#xff09;? 2.1 概念 2.2 訓練損失 a. 判別器的損失函數 b. 生成器的損失函數 c. 對抗訓練的動態過程 2.3 GAN 的實現 3 自回歸模型&am…

印刷電路板 (PCB) 的影響何時重要?在模擬環境中導航

我和我的同事們經常被問到關于 PCB 效應的相同問題&#xff0c;例如&#xff1a; 仿真何時需要 PCB 效果&#xff1f; 為什么時域仿真需要 PCB 效應&#xff1f; 當 PCB 效應必須包含在仿真中時&#xff0c;頻率是否重要&#xff1f; 設計人員應該在多大程度上關注 VRM 模型中包…

2024跨境電商挑戰:AI反檢測技術在避免封號中的作用

2024跨境電商挑戰&#xff1a;AI反檢測技術在避免封號中的作用 跨境電商的浪潮席卷全球&#xff0c;為商家打開了通往世界各地的大門。然而&#xff0c;隨著平臺監管的加強&#xff0c;合規性問題成為商家不得不面對的挑戰。在電商平臺的嚴格監控下&#xff0c;任何違規行為都…

QML控件 - Text

在 QML 中&#xff0c;Text 組件是用于顯示文本的核心元素&#xff0c;支持豐富的文本樣式、布局和交互功能。以下是 完整指南 和常見用法示例&#xff1a; 1. 基礎用法 import QtQuick 2.15Text {text: "Hello, QML!" // 顯示文本內容font.pixelSize: 20 // 字體…

網絡運維學習筆記(DeepSeek優化版) 024 HCIP-Datacom OSPF域內路由計算

文章目錄 OSPF域內路由計算&#xff1a;單區域的路由計算一、OSPF單區域路由計算原理二、1類LSA詳解2.1 1類LSA的作用與結構2.2 1類LSA的四種鏈路類型 三、OSPF路由表生成驗證3.1 查看LSDB3.2 查看OSPF路由表3.3 查看全局路由表 四、2類LSA詳解4.1 2類LSA的作用與生成條件4.2 2…

HTML5 SVG:圖形繪制的現代標準

HTML5 SVG:圖形繪制的現代標準 引言 隨著互聯網技術的發展,網頁的交互性和美觀性日益受到重視。HTML5 SVG作為一種強大的圖形繪制技術,在網頁設計中發揮著重要作用。本文將深入探討HTML5 SVG的原理、應用場景以及如何在實際項目中運用。 一、HTML5 SVG簡介 1.1 什么是SV…

多智能體融合(Multi-Agent Fusion)

多智能體融合&#xff08;Multi-Agent Fusion&#xff09;是指在多智能體系統&#xff08;MAS, Multi-Agent System&#xff09;中&#xff0c;多個智能體&#xff08;Agent&#xff09;通過協作、競爭或共享信息&#xff0c;實現全局最優的智能決策和任務執行。該方法廣泛應用…

[學習筆記]NC工具安裝及使用

工具簡介 Netcat&#xff08;簡稱 nc&#xff09;是一款強大的命令行網絡工具&#xff0c;被稱作瑞士軍刀&#xff0c;用來在兩臺機器之間建立 TCP/UDP 連接&#xff0c;并通過標準的輸入輸出進行數據的讀寫&#xff0c;大家也可以使用Nmap&#xff08;增強版nc工具&#xff0…

SvelteKit 最新中文文檔教程(11)—— 部署 Netlify 和 Vercel

前言 Svelte&#xff0c;一個語法簡潔、入門容易&#xff0c;面向未來的前端框架。 從 Svelte 誕生之初&#xff0c;就備受開發者的喜愛&#xff0c;根據統計&#xff0c;從 2019 年到 2024 年&#xff0c;連續 6 年一直是開發者最感興趣的前端框架 No.1&#xff1a; Svelte …

計算機等級4級數據庫工程師(筆記1)

數據依賴&#xff08;2&#xff09;&#xff1a;多值依賴 進程&#xff08;4&#xff09;&#xff1a;PCB 內存管理&#xff08;3&#xff09; 文件管理&#xff08;3&#xff09; 關系模型中數據的物理結構是一張二維表&#xff08;錯&#xff09; 在用戶看來&#xff0c;…

pod 不允許改哪些字段?

在 Kubernetes 中&#xff0c;Pod 是一種不可變的資源對象。這意味著一旦 Pod 被創建&#xff0c;其中的一些字段是無法修改的。如果你需要對這些不可變字段進行更改&#xff0c;通常的做法是刪除舊的 Pod 并創建一個新的 Pod。 以下是一些在 Pod 中不可修改的關鍵字段&#x…

量子計算的黎明:從理論到現實的突破之旅

在科技發展的浩瀚星空中&#xff0c;量子計算如同一顆璀璨的新星&#xff0c;正逐漸照亮人類探索未知領域的道路。從最初的理論構想&#xff0c;到如今實驗室中的初步實現&#xff0c;量子計算正經歷著一場從夢想到現實的華麗蛻變。這場變革不僅挑戰了我們對計算本質的理解&…

【Unity】 HTFramework框架(六十三)SerializableDictionary可序列化字典

更新日期&#xff1a;2025年3月26日。 Github 倉庫&#xff1a;https://github.com/SaiTingHu/HTFramework Gitee 倉庫&#xff1a;https://gitee.com/SaiTingHu/HTFramework 索引 一、SerializableDictionary可序列化字典1.使用SerializableDictionary2.實現思路 二、Serializ…