您现在的位置是:首页 > 技术教程 正文

PyTorch学习笔记:nn.LeakyReLU——LeakyReLU激活函数

admin 阅读: 2024-03-24
后台-插件-广告管理-内容页头部广告(手机)

PyTorch学习笔记:nn.LeakyReLU——LeakyReLU激活函数

功能:逐元素对数据应用如下函数公式进行激活
LeakyReLU ( x ) = max ⁡ ( 0 , x ) + α ∗ min ⁡ ( 0 , x ) \text{LeakyReLU}(x)=\max(0,x)+\alpha*\min(0,x) LeakyReLU(x)=max(0,x)+αmin(0,x)
或者
LeakyReLU ( x ) = { x , i f x ≥ 0 α × x , otherwise \begin{aligned} \text{LeakyReLU}(x)= \left\{ \begin{matrix} x,\quad &if\quad x≥0 \\ \alpha\times x,\quad &\text{otherwise} \end{matrix} \right. \end{aligned} LeakyReLU(x)={x,α×x,ifx0otherwise
该函数相比于ReLU,保留了一些负轴的值,缓解了激活值过小而导致神经元参数无法更新的问题,其中 α \alpha α默认0.01。

函数图像:

在这里插入图片描述

输入:

  • negative_slope:控制负激活值的斜率,默认1e-2
  • inplace:是否改变输入数据,如果设置为True,则会直接修改输入数据;如果设置为False,则不对输入数据做修改

注意:

  • 输出数据与输入数据尺寸相同

代码案例

与ReLU做比较

import torch.nn as nn import torch LeakyReLU = nn.LeakyReLU(negative_slope=5e-2) ReLU = nn.ReLU() x = torch.randn(10) value = ReLU(x) value_l = LeakyReLU(x) print(x) print(value) print(value_l)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

输出

# 输入 tensor([ 0.1820, -0.4248, -0.9135, 0.1136, -1.0147, -0.5044, 0.1361, 0.0744, 1.3379, -1.1290]) # ReLU tensor([0.1820, 0.0000, 0.0000, 0.1136, 0.0000, 0.0000, 0.1361, 0.0744, 1.3379, 0.0000]) # LeakyReLU tensor([ 0.1820, -0.0212, -0.0457, 0.1136, -0.0507, -0.0252, 0.1361, 0.0744, 1.3379, -0.0564])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

注:绘图程序

import torch.nn as nn import torch import numpy as np import matplotlib.pyplot as plt LeakyReLU = nn.LeakyReLU(negative_slope=5e-2) x = torch.from_numpy(np.linspace(-3,3,100)) value = LeakyReLU(x) plt.plot(x, value) plt.savefig('LeakyReLU.jpg')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

官方文档

nn.LeakyReLU:https://pytorch.org/docs/stable/generated/torch.nn.LeakyReLU.html#torch.nn.LeakyReLU

初步完稿于:2022年2月16日

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜