ReLU 激活函数

ReLU(Rectified Linear Unit,整流线性单元)是一种常用的激活函数,在深度学习中广泛应用于神经网络的隐藏层。ReLU 激活函数的定义非常简单:

ReLU(x)=max⁡(0,x)ReLU(x)=max(0,x)

这意味着对于输入 xx,如果 xx 大于 0,则输出 xx;如果 xx 小于或等于 0,则输出 0。

ReLU 的优点

  1. 计算简单

    • ReLU 函数在正区间是线性的,因此计算非常高效,只需要一个阈值操作。
  2. 缓解梯度消失问题

    • 与 Sigmoid 和 Tanh 等饱和激活函数相比,ReLU 在正区间内梯度为 1,不会出现梯度消失的问题,有助于加速训练过程。
  3. 稀疏性

    • ReLU 会使负值部分变为 0,从而引入稀疏性,这有助于简化模型并提高效率。
  4. 生物合理性

    • ReLU 的行为类似于神经元的"全或无"响应模式,更符合生物学上的神经元行为

ReLU 的缺点

  1. 死亡 ReLU 问题

    • 如果输入数据导致 ReLU 输出很多 0,这些神经元将不再对任何数据有响应,即它们的梯度永远为 0,无法进行更新。这种情况被称为"死亡 ReLU"。
  2. 非零中心

    • ReLU 输出的数据是非零中心的,可能会导致后续层的输入数据分布偏移,影响训练效果。

变种

为了克服 ReLU 的一些缺点,研究者提出了几种变种:

  1. Leaky ReLU

    • 定义为:Leaky ReLU(x)=max⁡(αx,x)Leaky ReLU(x)=max(αx,x)
    • 其中 αα 是一个小常数(例如 0.01),使得负区间也有一个较小的斜率,避免了死亡 ReLU 问题。
  2. Parametric ReLU (PReLU)

    • 定义为:PReLU(x)=max⁡(αx,x)PReLU(x)=max(αx,x)
    • 其中 αα 是一个可学习的参数,每个神经元可以有不同的 αα 值。
  3. Exponential Linear Units (ELU)

    • 定义为:ELU(x)={xif x>0α(exp⁡(x)−1)if x≤0ELU(x)={xα(exp(x)−1)if x>0if x≤0
    • ELU 在负区间有一个平滑的曲线,有助于使数据更加接近零中心,并且具有更好的梯度特性。
  4. Scaled Exponential Linear Units (SELU)

    • 定义为:SELU(x)=λ{xif x>0α(exp⁡(x)−1)if x≤0SELU(x)=λ{xα(exp(x)−1)if x>0if x≤0
    • SELU 通过特定的 λλ 和 αα 参数,使得网络能够自归一化(self-normalizing)。

    import torch

    创建一个张量

    x = torch.tensor([-1.0, 0.0, 1.0])

    应用 ReLU 激活函数

    relu_output = torch.relu(x)

    print(relu_output)

相关推荐
曲幽12 小时前
FastAPI + Ollama 实战:搭一个能查天气的AI助手
python·ai·lora·torch·fastapi·web·model·ollama·weatherapi
用户606487671889613 小时前
国内开发者如何接入 Claude API?中转站方案实战指南(Python/Node.js 完整示例)
人工智能·python·api
只与明月听14 小时前
RAG深入学习之Chunk
前端·人工智能·python
用户83562907805115 小时前
自动化文档处理:Python 批量提取 PDF 图片
后端·python
在人间耕耘1 天前
HarmonyOS Vision Kit 视觉AI实战:把官方 Demo 改造成一套能长期复用的组件库
人工智能·深度学习·harmonyos
homelook1 天前
Transformer与电池管理系统(BMS)的结合是当前 智能电池管理 的前沿研究方向
人工智能·深度学习·transformer
多恩Stone1 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054961 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
百锦再1 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
QQ5110082851 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php