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=':')
相关推荐
MARS_AI_18 分钟前
云蝠智能 Voice Agent 落地展会邀约场景:重构会展行业的智能交互范式
人工智能·自然语言处理·重构·交互·语音识别·信息与通信
weixin_422456441 小时前
第N7周:调用Gensim库训练Word2Vec模型
人工智能·机器学习·word2vec
不太可爱的叶某人2 小时前
【学习笔记】MySQL技术内幕InnoDB存储引擎——第5章 索引与算法
笔记·学习·mysql
HuggingFace4 小时前
Hugging Face 开源机器人 Reachy Mini 开启预定
人工智能
企企通采购云平台5 小时前
「天元宠物」×企企通,加速数智化升级,“链”接萌宠消费新蓝海
大数据·人工智能·宠物
超级小忍5 小时前
Spring AI ETL Pipeline使用指南
人工智能·spring
张较瘦_5 小时前
[论文阅读] 人工智能 | 读懂Meta-Fair:让LLM摆脱偏见的自动化测试新方法
论文阅读·人工智能
巴伦是只猫6 小时前
【机器学习笔记 Ⅲ】4 特征选择
人工智能·笔记·机器学习
好心的小明6 小时前
【王树森推荐系统】召回11:地理位置召回、作者召回、缓存召回
人工智能·缓存·推荐系统·推荐算法
不爱说话的采儿6 小时前
UE5详细保姆教程(第四章)
笔记·ue5·游戏引擎·课程设计