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=':')
相关推荐
VivienneLuo40 分钟前
1. 联邦大模型微调综述 -《Federated Large Language Models...》
人工智能·语言模型·微调·联邦学习
漂流瓶jz6 小时前
【AI】大模型本地部署与量化:Ollama、transformers、llama.cpp实践
人工智能·llm·ai编程
M78佐菲7 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
飞哥数智坊7 小时前
AI时代,我们到底该学什么、用什么,为什么还没提效?
人工智能
飞哥数智坊7 小时前
GPT 做架构,国内模型写代码:这条 AI 开发路线能跑通吗?
人工智能·ai编程
噜~噜~噜~8 小时前
操作系统笔记-2.3.5.1.1生产者-消费者问题
笔记·操作系统
AI_AGENT_DEV_AI8 小时前
AI 智能体的开发与上线
人工智能
VL——MOESR8 小时前
【具身智能】VLA论文阅读随笔
论文阅读·人工智能·机器学习·具身智能·vla
OCR_133716212758 小时前
从模板匹配到AI泛化识别:文本抽取如何重构护照阅读器落地生态
人工智能·重构
大唐荣华8 小时前
从OpenAI关停Sora看世界模型、AI视频与国内具身智能赛道路线分化
人工智能·openai·sora·内容生成