SiLU激活函数讲解

您所在的位置:网站首页 函数模型的应用视频 SiLU激活函数讲解

SiLU激活函数讲解

2024-07-13 17:14| 来源: 网络整理| 查看: 265

介绍

SiLU(sigmoid Linear Unit)激活函数,又称Swish激活函数,是近年来提出的一种新型激活函数。它的定义是输入乘以其sigmoid函数值:

SiLU(x) = x\cdot \sigma (x)

其中\sigma (x)是sigmoid函数:\sigma (x) =\frac{1}{1+{e}-x}

SiLU 的性质和优点

平滑性:SiLU 是一个平滑的函数,其输出值是连续且可导的,这有助于梯度下降算法在优化过程中稳定更新参数。

非线性:SiLU 引入了非线性变换,使其能够捕捉复杂的数据模式。相比 ReLU 等传统激活函数,SiLU 在某些任务上表现出色。

自正则化:SiLU 的输出值可以自适应地缩放输入值,类似于自正则化的效果。这可能有助于减少过拟合。

无零输出区域:与 ReLU 不同,SiLU 不存在零输出区域。这意味着它不会像 ReLU 那样在负值区间输出恒为零,从而避免了“神经元死亡”问题。

PyTorch 中的 SiLU

在 PyTorch 中,SiLU 激活函数可以通过 torch.nn.SiLU 或 torch.nn.functional.silu 实现

示例

使用 torch.nn.SiLU 类

import torch import torch.nn as nn # 创建 SiLU 激活函数 silu = nn.SiLU() # 创建一个示例输入张量 input_tensor = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0]) # 应用 SiLU 激活函数 output_tensor = silu(input_tensor) print("输入张量:", input_tensor) print("输出张量:", output_tensor)

使用 torch.nn.functional.silu 函数

import torch import torch.nn.functional as F # 创建一个示例输入张量 input_tensor = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0]) # 应用 SiLU 激活函数 output_tensor = F.silu(input_tensor) print("输入张量:", input_tensor) print("输出张量:", output_tensor) SiLU 激活函数的示例应用

以下是一个使用 SiLU 激活函数的神经网络示例:

import torch import torch.nn as nn import torch.nn.functional as F class SimpleNN(nn.Module): def __init__(self, input_dim, hidden_dim, output_dim): super(SimpleNN, self).__init__() self.fc1 = nn.Linear(input_dim, hidden_dim) self.silu = nn.SiLU() self.fc2 = nn.Linear(hidden_dim, output_dim) def forward(self, x): x = self.fc1(x) x = self.silu(x) x = self.fc2(x) return x # 创建一个简单的神经网络实例 input_dim = 10 hidden_dim = 5 output_dim = 1 model = SimpleNN(input_dim, hidden_dim, output_dim) # 创建一个示例输入张量 input_tensor = torch.randn(1, input_dim) # 前向传播 output_tensor = model(input_tensor) print("输入张量:", input_tensor) print("输出张量:", output_tensor)

在这个示例中,神经网络包含一个隐藏层和一个输出层,并使用 SiLU 作为隐藏层的激活函数。

总结

SiLU(Swish)激活函数是一种平滑且具有非线性的激活函数,它可以自适应地缩放输入值,从而在某些任务上表现优越。通过 PyTorch 中的 nn.SiLU 或 torch.nn.functional.silu,我们可以轻松地在神经网络中应用 SiLU 激活函数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3