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=':')
相关推荐
nnsix11 分钟前
QFramework学习笔记
笔记·学习
XFF不秃头12 分钟前
力扣刷题笔记-全排列
c++·笔记·算法·leetcode
北邮刘老师14 分钟前
【智能体互联协议解析】需要“智能体名字系统”(ANS)吗?
网络·人工智能·大模型·智能体·智能体互联网
梁辰兴34 分钟前
AI解码千年甲骨文,指尖触碰的文明觉醒!
人工智能·ai·ai+·文明·甲骨文·ai赋能·梁辰兴
阿里云大数据AI技术37 分钟前
# Hologres Dynamic Table:高效增量刷新,构建实时统一数仓的核心利器
人工智能·数据分析
JxWang051 小时前
pandas计算某列每行带有分隔符的数据中包含特定值的次数
人工智能
能源系统预测和优化研究1 小时前
创新点解读:基于非线性二次分解的Ridge-RF-XGBoost时间序列预测(附代码实现)
人工智能·深度学习·算法
执笔论英雄1 小时前
【RL】ROLL下载模型流程
人工智能·算法·机器学习
لا معنى له1 小时前
目标分割介绍及最新模型----学习笔记
人工智能·笔记·深度学习·学习·机器学习·计算机视觉
carver w2 小时前
one-hot编码
人工智能