torch.nn中的非線性激活介紹合集——Pytorch中的非線性激活

1、nn.ELU

基本語法:

class torch.nn.ELU(alpha=1.0, inplace=False)

按元素應用 Exponential Linear Unit (ELU) 函數。
論文中描述的方法:通過指數線性單元 (ELU) 進行快速準確的深度網絡學習。
ELU 定義為:
E L U ( x ) = { x , i f x > 0 α ? ( e x p ( x ) ? 1 ) , i f x ≤ 0 ELU(x)=\{\begin{array}{c} x, & \mathrm{if~x > 0}\\ \alpha * (exp(x)-1), & \mathrm{if x \le 0} \end{array} ELU(x)={x,α?(exp(x)?1),?if?x>0ifx0?

Parameters 參數:

  • alpha (float) – ELU 公式的 α α α值。默認值:1.0
  • Inplace(bool) – 可以選擇就地執行作。默認值: False

Shape: 形狀:

  • Input::(?),其中 ?表示任意數量的維度。
  • Output:(?),與輸入的形狀相同。

在這里插入圖片描述
Examples: 例子:

>>> m = nn.ELU()
>>> input = torch.randn(2)
>>> output = m(input)

2、ReLU

基本語法:

class torch.nn.ReLU(inplace=False)

按元素應用修正的線性單元函數。
R e L U ( x ) = ( x ) + = m a x ( 0 , x ) ReLU(x)=(x)^+=max(0,x) ReLU(x)=(x)+=max(0,x)

Parameters 參數:

  • Inplace (bool) – 可以選擇就地執行作。默認值: False

參數說明:

  • inplace=False
import torch
from torch import nnm = nn.ReLU(inplace=False)
input = torch.randn(2)
print(input)
output = m(input)
print(input)
print(output)

此時,輸入Input并未改變,而是復制了一份原始輸入并在該復制上進行非線性激活:

tensor([ 1.6213, -0.0794])
tensor([ 1.6213, -0.0794])
tensor([1.6213, 0.0000])
  • inplace=True
import torch
from torch import nnm = nn.ReLU(inplace=True)
input = torch.randn(2)
print(input)
output = m(input)
print(input)
print(output)

此時,直接對原始輸入數據進行非線性激活:

tensor([-0.3541, -0.6384])
tensor([0., 0.])
tensor([0., 0.])

Shape: 形狀:

  • Input: (?) ,其中 ? 表示任意數量的維度。
  • Output: (?),與輸入的形狀相同。

在這里插入圖片描述
Examples: 例子:

  >>> m = nn.ReLU()>>> input = torch.randn(2)>>> output = m(input)An implementation of CReLU - https://arxiv.org/abs/1603.05201>>> m = nn.ReLU()>>> input = torch.randn(2).unsqueeze(0)>>> output = torch.cat((m(input), m(-input)))

3、Sigmoid

基本語法:

class torch.nn.Sigmoid(*args, **kwargs)

按元素應用 Sigmoid 函數。

S i g m o i d ( x ) = σ ( x ) = 1 1 + e x p ( ? x ) Sigmoid(x)=\sigma(x)=\frac{1}{1+exp(-x)} Sigmoid(x)=σ(x)=1+exp(?x)1?

Shape: 形狀:

  • Input: (?),其中 ? 表示任意數量的維度。
  • Output: (?),與輸入的形狀相同。

在這里插入圖片描述
Examples: 例子:

>>> m = nn.Sigmoid()
>>> input = torch.randn(2)
>>> output = m(input)

4、Tanh

基本語法:

class torch.nn.Tanh(*args, **kwargs)

按元素應用 Hyperbolic Tangent (Tanh) 函數。
T a n h ( x ) = t a n h ( x ) = e x p ( x ) ? e x p ( ? x ) e x p ( x ) + e x p ( ? x ) Tanh(x)=tanh(x)=\frac{exp(x)-exp(-x)}{exp(x)+exp(-x)} Tanh(x)=tanh(x)=exp(x)+exp(?x)exp(x)?exp(?x)?

Shape: 形狀:

  • Input: (?),其中 ? 表示任意數量的維度。
  • Output: (?),與輸入的形狀相同。

在這里插入圖片描述
Examples: 例子:

>>> m = nn.Tanh()
>>> input = torch.randn(2)
>>> output = m(input)

5、LeakyReLU

基本語法:

class torch.nn.LeakyReLU(negative_slope=0.01, inplace=False)

按元素應用 LeakyReLU 函數。
L e a k y R e L U ( x ) = m a x ( 0 , x ) + n e g a t i v e s l o p e ? m i n ( 0 , x ) LeakyReLU(x)=max(0,x)+negative_slope*min(0,x) LeakyReLU(x)=max(0,x)+negatives?lope?min(0,x)
or
L e a k y R e L U ( x ) = { x , i f x ≥ 0 n e g a t i v e s l o p e × x , o t h e r w i s e LeakyReLU(x)=\{\begin{array}{c}x, & \mathrm{if~x\ge0}\\ negative_slope \times x, & \mathrm{otherwise}\end{array} LeakyReLU(x)={x,negatives?lope×x,?if?x0otherwise?

Parameters 參數

  • negative_slope(float)– 控制負斜率的角度 (用于負輸入值)。默認值:1e-2
  • Inplace (bool)– 可以選擇就地執行作。默認值: False

Shape: 形狀:

  • 輸入: (?) 其中 * 表示任意數量的附加維度
  • 輸出: (?),與輸入形狀相同

在這里插入圖片描述
Examples: 例子:

>>> m = nn.LeakyReLU(0.1)
>>> input = torch.randn(2)
>>> output = m(input)

5、Softplus

基本語法:

class torch.nn.Softplus(beta=1.0, threshold=20.0)

按元素應用 Softplus 函數。
S o f t p l u s ( x ) = 1 β ? log ? ( 1 + e x p ( β ? x ) ) Softplus(x)=\frac{1}{\beta}*\log(1+exp(\beta*x)) Softplus(x)=β1??log(1+exp(β?x))

SoftPlus 是 ReLU 函數的平滑近似值,可用于將機器的輸出限制為始終為正。
為了數值穩定性,當 時 i n p u t × β > t h r e s h o l d input×β>threshold input×β>threshold,實現恢復為線性函數。

Parameters 參數

  • beta(float) – Softplus 公式的值 β \beta β。默認值:1
  • threshold(float)– 高于此值的值將恢復為線性函數。默認值:20

參數說明:

  • threshold( β \beta β=1)
    i n p u t × β ≤ t h r e s h o l d input×β \le threshold input×βthreshold時:
import torch
from torch import nnm = nn.Softplus()
input = torch.randn(2)
print(input)output = m(input)
print(output)
tensor([-0.2053,  0.3776])
tensor([0.5958, 0.8997])

可以驗證: S o f t p l u s ( ? 0.2053 ) = 1 1 ? log ? ( 1 + e x p ( 1 ? ( ? 0.2053 ) ) ) = 0.595756... Softplus(-0.2053)=\frac{1}{1}*\log(1+exp(1*(-0.2053)))=0.595756... Softplus(?0.2053)=11??log(1+exp(1??0.2053)))=0.595756...
S o f t p l u s ( 0.3776 ) = 1 1 ? log ? ( 1 + e x p ( 1 ? ( 0.3776 ) ) ) = 0.899665... Softplus(0.3776)=\frac{1}{1}*\log(1+exp(1*(0.3776)))=0.899665... Softplus(0.3776)=11??log(1+exp(1?0.3776)))=0.899665...

i n p u t × β > t h r e s h o l d input×β > threshold input×β>threshold時:

import torch
from torch import nnm = nn.Softplus()
input = torch.tensor([30.])
print(input)output = m(input)
print(output)
tensor([30.])
tensor([30.])

此時恢復為線性函數

Shape: 形狀:

  • Input: (?) ,其中 ? 表示任意數量的維度。
  • Output: (?) ,與輸入的形狀相同。

在這里插入圖片描述

Examples: 例子:

>>> m = nn.Softplus()
>>> input = torch.randn(2)
>>> output = m(input)

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

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

相關文章

Databend Cloud Dashboard 全新升級:直擊痛點,釋放數據價值

自 Databend Cloud 上線以來,我們一直致力于為用戶提供高效的數據處理與可視化體驗。早期,我們在工作區的“圖表”區域推出了輕量級可視化功能,支持積分卡、餅圖、柱狀圖和折線圖四種展示方式。這些功能簡單易用,基本滿足了用戶對…

Android Fresco 框架擴展模塊源碼深度剖析(四)

Android Fresco 框架擴展模塊源碼深度剖析 一、引言 在 Android 開發領域,圖片處理一直是一個重要且具有挑戰性的任務。Fresco 作為 Facebook 開源的強大圖片加載框架,在圖片的加載、緩存和顯示等方面已經提供了非常完善的功能。然而,為了滿…

藍橋杯最后十天沖刺 day 2 雙指針的思想

雙指針思想介紹 雙指針(Two Pointers)是一種在數組或鏈表等線性結構中常用的算法技巧,通過使用兩個指針(索引或引用)以不同的速度或方向遍歷數據結構,從而高效解決問題。雙指針通常用于優化暴力解法&#…

Axure 使用筆記

1.Axure如何制作頁面彈窗 https://blog.csdn.net/SDTechnology/article/details/143948691 2.axure 怎么點擊按鈕打開新頁面 (1)新建交互 (2)單擊是觸發 (3)選擇打開鏈接 (4)選擇…

STM32實現一個簡單電燈

新建工程的步驟 建立工程文件夾,Keil中新建工程,選擇型號工程文件夾里建立Start、Library、User等文件夾,復制固件庫里面的文件到工程文件夾工程里對應建立Start、Library、User等同名稱的分組,然后將文件夾內的文件添加到工程分組…

html5炫酷圖片懸停效果實現詳解

html5炫酷圖片懸停效果實現詳解 這里寫目錄標題 html5炫酷圖片懸停效果實現詳解項目介紹技術棧核心功能實現1. 頁面布局2. 圖片容器樣式3. 炫酷懸停效果縮放效果傾斜效果模糊效果旋轉效果 4. 懸停文字效果5. 性能優化6. 響應式設計 項目亮點總結 項目介紹 本文將詳細介紹如何使…

Playwright與Browser Use:領略AI賦能UI自動化測試的魔法魅力

目錄 Browser Use是什么? Playwright簡介 框架設計的核心目標與原則 Playwright 在 UI 自動化測試中的優勢 如何高效攔截錯誤 實現視頻錄制 UI自動化框架設計的挑戰 測試框架的結構與模塊化設計 自動化測試不是銀彈 走進Browser Use 橫空出世的背景與意義…

Uniapp 實現微信小程序滑動面板功能詳解

文章目錄 前言一、功能概述二、實現思路三、代碼實現總結 前言 Uniapp 實現微信小程序滑動面板功能詳解 一、功能概述 滑動面板是移動端常見的交互組件,通常用于在頁面底部展開內容面板。本文將介紹如何使用 Uniapp 開發一個支持手勢滑動的底部面板組件&#xff0…

【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit(12)

1.問題描述: pushdeviceid的長度是固定的嗎? 解決方案: 在鴻蒙系統中,設備ID的長度是固定的。 2.問題描述: 通過REST API三方推送IM類消息,如何實現應用處于前臺時不展示三方推送通知。 解決方案&…

【小兔鮮】day02 Pinia、項目起步、Layout

【小兔鮮】day02 Pinia、項目起步、Layout 1. Pinia2. 添加Pinia到Vue項目3. 案例:Pinia-counter基礎使用3.1 Store 是什么?3.2 應該在什么時候使用 Store? 4. Pinia-getters和異步action4.1 getters4.2 action如何實現異步 1. Pinia Pinia 是 Vue 的專…

Android學習之計算器app(java + 詳細注釋 + 源碼)

運行結果: 基礎的四則運算: 可能會出現的問題以及解決方法: 問題1:出現多個操作符。 例子:12 解決方法: 在用戶點擊操作符之后,去檢查之前的最后一位,如果最后一位也是操作符的話…

GMap.NET + WPF:構建高性能 ADS-B 航空器追蹤平臺

ADS-B 簡介 ADS - B(Automatic Dependent Surveillance - Broadcast,廣播式自動相關監視)是一種先進的航空監視技術。它依靠飛機上的機載設備,自動收集諸如飛機的位置、高度、速度、航向等關鍵數據,并周期性地以廣播的…

關于testng.xml無法找到類的問題

問題:testng.xml添加測試類的時候飄紅 解決辦法: 1.試圖通過自動生成testng.xml插件去解決,感覺也不是這個問題,沒有嘗試; 2.以為是創建包的方式不對,重新刪除后新建--還是找不到 想新建類的時候發現從m…

數據在內存中存儲(C語言)

文章目錄 前言一、整數在內存中的存儲1.1 計算機存儲數據的基本單位示例代碼 1.2 無符號整數的存儲1.3 有符號整數的存儲(補碼)示例代碼 二、大小端字節序和字節序判斷2.1 什么是大小端?示例代碼 2.2 為什么會有大小端?2.3 字節序…

Python爬蟲第2節-網頁基礎和爬蟲基本原理

目錄 一、網頁基礎 1.1 網頁的組成 1.2 網頁的結構 1.3 節點樹及節點間的關系 1.4 選擇器 二、爬蟲的基本原理 2.1 爬蟲概述 2.2 能抓怎樣的數據 2.3 JavaScript 渲染頁面 一、網頁基礎 使用瀏覽器訪問網站時,我們會看到各式各樣的頁面。你是否思考過&…

python-leetcode 64.在排序數組中查找元素的第一個和最后一個位置

題目: 給一個按照非遞減順序排列的整數數組nums,和一個目標值target,請找出給定目標值在數組中的開始位置和結束位置。 如果數組中不存在目標值target,返回[-1,-1] 方法一:二分查找 直觀的思路肯定是從前往后遍歷一遍。用兩個變量記錄第一次和最后一次…

分享一些新版GPT-4o使用方式!能多模態生圖!

目前GPT-4o的整體測評,真的很驚艷。 不知道又有多少人因為OpenAI的這次更新而失業,當然只要AI用得好,會有更多人因之而受益!很多人表示不知道怎么用,對于門外漢來說,4o似乎有點高端。 今天就給大家介紹幾…

軟件工程面試題(二十四)

1、連接池的原理 j2ee 服務器啟動時會建立一定數量的池連接,并一直維持不少于此數量的池連接。當客戶端程序需要連接時,吃驅動程序會返回一個未使用的池連接并將其標記為忙。如果當前 沒有空閑連接,池驅動就建立一定新的 連接 2、用javascript編寫腳本小程序,實現點擊全選…

Android:Dialog的使用詳解

Android中Dialog的使用詳解 Dialog(對話框)是Android中常用的UI組件,用于臨時顯示重要信息或獲取用戶輸入。 1. 基本Dialog類型 1.1 AlertDialog(警告對話框) 最常用的對話框類型,可以設置標題、消息、…

arinc818 fpga單色圖像傳輸ip

arinc818協議支持的常用線速率如下圖 隨著圖像分辨率的提高,單lane的速率無法滿足特定需求,一種方式是通過多個LANE交叉的去傳輸圖像,另外一種是通過降低圖像的帶寬,即通過只傳單色圖像達到對應的效果 程序架構如下圖所示&#x…