ReLU函数及它的导数

news/2025/9/23 21:38:22/文章来源:https://www.cnblogs.com/lidadudu/p/19108148

ReLU 函数

ReLU(Rectified Linear Unit,修正线性单元)是目前在深度学习中最常用的激活函数。它的数学表达式非常简单:

$$f(x) = \max(0, x)$$

这意味着当输入 $x$ 大于 0 时,输出就是 $x$ 本身;当输入 $x$ 小于或等于 0 时,输出就是 0。

ReLU 的特点


  • 计算高效:相比于 sigmoid 和 tanh,ReLU 只需要一个简单的阈值判断,不需要复杂的指数运算,这使得计算速度非常快。
  • 解决了梯度消失问题:当输入 $x > 0$ 时,ReLU 的导数恒为 1。这保证了在正向传播过程中,梯度不会像 sigmoid 或 tanh 那样随着层数增加而变得越来越小,从而有效缓解了梯度消失问题,加快了模型的收敛速度。
  • 稀疏性:当输入 $x \le 0$ 时,ReLU 的输出为 0。这使得一部分神经元输出为 0,从而形成了网络的稀疏表示。这种稀疏性有助于提高模型的泛化能力。

缺点


  • 死亡 ReLU 问题(Dying ReLU):当一个神经元的输入始终为负时,它的输出将永远是 0。在这种情况下,这个神经元的梯度也永远是 0,导致它在反向传播过程中无法更新权重,就像“死亡”了一样。

ReLU 函数的导数

ReLU 的导数也同样简单:

$$f'(x) = \begin{cases} 1 & \text{if } x > 0 \ 0 & \text{if } x \le 0 \end{cases}$$

这里需要注意,当 $x = 0$ 时,ReLU 函数是不可导的。但在实际应用中,我们通常将 $x=0$ 处的导数视为 0 或 1。通常的做法是将其设置为 0,因为在反向传播中,当 $x \le 0$ 时,梯度为 0,不会更新权重,这与“死亡 ReLU”的特性相符。

在代码中如何实现


在 NumPy 中,你可以这样实现 ReLU 及其导数:

import numpy as npclass ReLU:def forward(self, x):self.x = xreturn np.maximum(0, x)def backward(self, G):grad = G.copy()grad[self.x <= 0] = 0return grad

在这个实现中,forward 方法保存了输入 self.xbackward 方法则利用这个输入来判断哪些位置的梯度应该为 0,从而实现 ReLU 的反向传播。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公司网站运营方案策划做 网络网站

0 前言 循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;是一种用于处理序列数据的神经网络。相比一般的神经网络来说&#xff0c;他能够处理序列变化的数据。比如某个单词的意思会因为上文提到的内容不同而有不同的含义&#xff0c;RNN就能够很好…

网站建议公司新邵县住房和城乡建设局网站

TCP协议的报文格式 TCP协议有连接&#xff0c;可靠性传输&#xff0c;面向字节流&#xff0c;全双工。 他的数据格式如图&#xff1a; 根据他的数据格式&#xff0c;在这里我们只知道 16位源端口号&#xff08;表示客户端这里的端口号&#xff09;&#xff0c;16位目的端口号&…

企业网站规划书实业公司网站建设

一、Znode分类 1、persistent_node 持久化节点 是默认类型&#xff0c;该类型节点&#xff0c;并不会随着客户端断开就会自动删除&#xff1b;zookeeper服务重启该节点也不会被删除&#xff0c;只有手动删除的时候才会删除&#xff1b;可以创建子节点&#xff1b; # create …

手机建站平台郴州网红景点

1、问题背景&#xff1a;maven使用默认settings.xml配置时&#xff0c;Idea基于pom.xml更新依赖时报错&#xff0c;有些组件下载时连接超时&#xff0c; 通过日志发下&#xff0c;去连接maven.org网站下载依赖&#xff0c;有时候肯定会超时。 2、解决办法&#xff1a;使用国外…

新开的网站建设公司如何推广专业的seo外包公司

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的字符串 s &#xff0c;它的 偶数 下标处为小写英文字母&#xff0c;奇数 下标处为数字。 定义一个函数 shift(c, x) &#xff0c;其中 c 是一个字符且 x 是一个数字&#xff0c;函数返回字母表中 c 后面第 x 个字符。 …

北京优质网站制作南通市建设局网站6

怎么通过手机照片制作视频&#xff1f;将照片做成视频并不是很难&#xff0c;可以直接在手机上进行操作&#xff0c;下面来看看是怎么操作的。方法/步骤在手机上打开清爽视频编辑器&#xff0c;有视频编辑、美拍美摄、电子相册、特效模板、动感视频、创意视频、动态字幕、视频变…

龙岩市官方网站网站风格类型是

python遍历实例总结python同时遍历数组的索引和值的实例你想在迭代一个序列的同时跟踪正在被处理的元素索引。获取索引内置的 enumerate() 函数可以很好的解决这个问题&#xff1a;>>> my_list [a, b, c]>>> for idx, val in enumerate(my_list):... print(…

手机网站特效郑州企业网站seo

原标题&#xff1a;刘总出席成都糖酒会&#xff1a;信任铸就云仓酒庄新篇章&#xff0c;共襄盛举展未来近日&#xff0c;备受瞩目的成都糖酒会盛大开幕&#xff0c;吸引了来自全国各地的业界精英和代表。在这场盛大的行业盛会上&#xff0c;云仓酒庄的刘总亲临现场。 现场&…

第一次个人编程作业-论文查重

| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience | | 这个作业要求在哪里| https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13477 | | 这…

使用Claude代码子代理生成项目特定提交消息的技术实践

本文详细介绍了如何利用Claude Code的子代理功能解决自动生成提交消息过于冗长的问题。通过创建专门的git提交消息生成代理,分析项目规范和变更内容,生成符合项目约定的简洁提交消息,提升开发效率。使用Claude代码子…

上海网站建设公司推荐合肥市住房建设局网站

全世界只有3.14 % 的人关注了爆炸吧知识今天&#xff0c;8岁表妹的老师给她奖励了一块大巧克力&#xff0c;超模君打趣她能不能分给我点&#xff0c;遭到残忍拒绝&#xff0c;超模君很愤怒&#xff0c;暗下决心要神不知鬼不觉地吃上表妹的巧克力。超模君趁表妹在认真做作业的时…

网站建设 前期资料dede门户网站模版

文章目录 1. 如何计算DDR带宽2. DDR data rate和DDR主频3. Mbps和Mhz4. 出题 1. 如何计算DDR带宽 计算DDR理论带宽的公式为&#xff1a; DDR主频 * 位宽 理论带宽其中&#xff0c;位宽(bit width)指的是内存总线的位宽&#xff0c;例如64位、128位、16bit、32bit等&#xff…

新手可以自己学做网站设计吗wordpress怎么设置静态主页

jquery 通过submit()方法 提交表单示例&#xff1a; 本示例&#xff1a;以用户注册作为例子。使用jquery中的submit()方法实现表单提交。 注&#xff1a;本示例仅提供了对表单的验证&#xff0c;本例只用选用了三个字段作为测试。 用户点击提交按钮时&#xff0c;触发点击事件&…

做网站先做ue网页版代码编辑器

先创建自定义控件类painter_label 1.自定义类必须给基类传入父窗口指针 2.重写控件中的方法 3.在UI中创建一个QLabel,右键“提升为”&#xff0c;输入类名

宜昌市水利建设工程协会网站湖南长沙房价2023年最新房价

【问题描述】[中等] 给定一个由表示变量之间关系的字符串方程组成的数组&#xff0c;每个字符串方程 equations[i] 的长度为 4&#xff0c;并采用两种不同的形式之一&#xff1a;"ab" 或 "a!b"。在这里&#xff0c;a 和 b 是小写字母&#xff08;不一定不…

网站建设完成阶段性总结报告厚街镇网站仿做

一、MySQL数据库管理系统安装部署【简单】 简介 MySQL数据库管理系统&#xff08;后续简称MySQL&#xff09;&#xff0c;是一款知名的数据库系统&#xff0c;其特点是&#xff1a;轻量、简单、功能丰富。 MySQL数据库可谓是软件行业的明星产品&#xff0c;无论是后端开发、…

长春网站制作长春万网企业内部网站开发

本章节将示范三台 zookeeper 服务端集群搭建步骤。 所需准备工作&#xff0c;创建三台虚拟机环境并安装好 java 开发工具包 JDK&#xff0c;可以使用 VM 或者 vagrantvirtualbox 搭建 centos/ubuntu 环境&#xff0c;本案例基于宿主机 windows10 系统同时使用 vagrantvirtualb…

差分电压

差分电压1) T_02_V+ / T_02_V- —— 差分电压输入(Voltage differential)含义(常见):V+ 与 V- 通常是一对 差分电压输入(或者单端的正、负端)。用于测量传感器或变送器给出的电压信号(例如 0–10 V、10 V、5 V…

走迷宫(BFS)

输入样例:5 5 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 期望输出:8代码实现:#include<bits/stdc++.h> using namespace std;typedef pair<int,int> pii; const int N = 110;int n ,m; int s…