pytorch常用激活函数笔记

  1. relu函数:

公式: 深层网络内部激活函数常用这个

python 复制代码
import matplotlib.pyplot as plt

def relu_fun(x):
    if x>=0:
        return x
    else:
        return 0

x = np.random.randn(10)
y = np.arange(10)

plt.plot(y,x)

for i ,t in enumerate(x):
    x[i] = relu_fun(t)
plt.plot(y,x)

2.sigmod函数,深层网络不咋用这个激活函数,因为容易梯度消失,把输入变为范围 0,1之间和tanh曲线挺像,但是tanh函数范围为-1,1之间。

python 复制代码
import numpy as np

def sigmoid(x):
    s = 1 / (1 + np.exp(-x))
    return s
x = np.arange(-100,100).astype(np.float32)/10.0
y = np.arange(-100,100).astype(np.float32)/10.0
plt.plot(y,x)
for i ,t in enumerate(x):
    x[i] = sigmoid(t)
plt.plot(y,x)

3.tanh函数,把输入变为范围 -1,1之间。

python 复制代码
x = np.arange(-100,100).astype(np.float32)/10.0
y = np.tanh(x)
plt.plot(x,y)

4.leak relu函数,leakrelu函数和relu函数的主要区别是,leakrelu 函数保留了小于0的部分的一些影响,只是把这部分性影响减少了。

python 复制代码
fun = nn.LeakyReLU()
x = np.arange(-10000,1000)/100.0
x = torch.from_numpy(x)
x = x.view(-1,1)
t=fun(x)
t=t.numpy()
x= x.numpy()
plt.plot(x,t)
plt.grid(alpha=0.4,linestyle=':')

5.elu函数,α超参数一般取1

python 复制代码
fun = nn.ELU()
x = np.arange(-500,200)/100.0
x = torch.from_numpy(x)
x = x.view(-1,1)
t = fun(x)
x = x.numpy()
t = t.numpy()
plt.plot(x,t)
plt.grid(alpha=0.4,linestyle=':')
相关推荐
neocheng_5226 小时前
校招时间有限,先补英语、计算机还是AI应用能力?从目标岗位判断优先级
人工智能
布吉岛的石头7 小时前
Java 程序员第 50 阶段13:对齐税 alignment tax 是什么
人工智能·深度学习·transformer
fpcc7 小时前
AI和大模型—神经网络的学习
人工智能·神经网络
乌恩大侠7 小时前
「AI-RAN」Aerial,使用ORAN C1模式
人工智能·5g·spark·o-ru·ai-ran
Zhao-Jichao7 小时前
AI Prompting for Everyone 课程笔记 - 05 使用深度搜索 Using Deep Research
人工智能·笔记
feasibility.8 小时前
世界模型WSM技术解读:SLAM内化为具身智能的状态记忆,纯RGB机器人导航反超RGB-D
人工智能·机器人·aigc·slam·导航·具身智能·世界模型
alonglong8 小时前
本地模型部署避坑:HF_HOME 缓存指向 + macOS fd 上限 256
人工智能
注塑机数据采集联网8 小时前
数据采集网关入门:ZK-D1/D3从零开始构建你的数据运用
大数据·数据仓库·人工智能·物联网·数据库架构·注塑机网关
hantmac8 小时前
不记得文件名时,Mac 上的搜索还能怎么做?
人工智能·macos