激活函数(sigmoid、tanh、ReLu)

1️⃣ 激活函数的作用

激活函数为神经网络引入非线性,如果没有激活函数,即使网络层数再多,也只能处理线性可分问题。
在机器学习中,线性可分问题指的是可以通过一条直线(或高维空间的一个超平面)将数据完全分开的问题。现实世界的问题大多数是非线性的,例如自然语言处理中的词汇间的上下文关系,图像识别中复杂的边缘等


2️⃣ sigmoid函数

sigmoid函数将输入变换为(0,1)上的输出。它将范围(-inf,inf)中的任意输入压缩到区间(0,1)中,函数表示为:
s i g m o i d ( x ) = 1 1 + e − x sigmoid(x)=\frac1{1+e^{-x}} sigmoid(x)=1+ex1
在这里插入图片描述
其梯度可以表示为:
d d x s i g m o i d ( x ) = e − x ( 1 + e − x ) 2 = s i g m o i d ( x ) [ 1 − s i g m o i d ( x ) ] \frac d{dx}sigmoid(x)=\frac{e^{-x}}{(1+e^{-x})^2}=sigmoid(x)[1-sigmoid(x)] dxdsigmoid(x)=(1+ex)2ex=sigmoid(x)[1sigmoid(x)]
在这里插入图片描述
可以发现,sigmoid函数的梯度在输入很大或很小时会趋于0,当网络变得越来越深时,会出现梯度消失问题。


3️⃣ tanh函数

tanh函数将其输入压缩转换到区间(-1,1)上,公式如下:
t a n h ( x ) = 1 − e − 2 x 1 + e − 2 x tanh(x)=\frac{1-e^{-2x}}{1+e^{-2x}} tanh(x)=1+e2x1e2x
在这里插入图片描述
tanh函数的梯度是:
d d x t a n h ( x ) = 1 − t a n h 2 ( x ) \frac d{dx}tanh(x)=1-tanh^2(x) dxdtanh(x)=1tanh2(x)
在这里插入图片描述

可以发现当输入接近0时,tanh函数的梯度接近最大值1。与sigmoid函数的梯度类似,输入在任一方向上远离0点,梯度越接近0,因此也存在梯度消失问题。


4️⃣ ReLu

线性整流单元(ReLU)提供了一种非常简单的非线性变换,被定义为:
R e L u ( x ) = m a x ( x , 0 ) ReLu(x)=max(x,0) ReLu(x)=max(x,0)
在这里插入图片描述
其梯度可以表示为:
f ′ ( x ) = { 1 , x > 0 0 , x < 0 f^{^{\prime}}(x)=\begin{cases}1,\quad\text{x}>0\\0,\quad\text{x}<0&\end{cases} f(x)={1,x>00,x<0
在这里插入图片描述

当输入为正时,ReLU函数的梯度为1;当输入值等于0时,梯度可以当成1也可以当成0,实际应用中并不影响;输入小于0时,梯度直接为0,但在神经网络训练过程中,输入小于0的神经元占比很少。因此ReLu函数可以有效缓解梯度消失问题。


参考

激活函数(sigmoid、tanh、ReLU、softmax)


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

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

相关文章

GS-SLAM Dense Visual SLAM with 3D Gaussian Splatt 论文阅读

项目主页 2024 CVPR (highlight) https://gs-slam.github.io/ 摘要 本文提出了一种基于3D Gaussian Splatting方法的视觉同步定位与地图构建方法。 与最近采用神经隐式表达的SLAM方法相比&#xff0c;本文的方法利用实时可微分泼溅渲染管道&#xff0c;显著加速了地图优化和…

Django学习- ORM基础操作_创建数据

ORM操作&#xff1a; 管理器对象&#xff1a; 创建数据&#xff1a; Django shell 想要操作模型对象&#xff0c;首先我们需要把它引进Django shell中 >>> from bookstore.models import Book >>> b1 Book.objects.create(titleAI, pub清华大学出版社, pr…

开挖 Domain - 前奏

WPF App 主机配置 Microsot.Extension.Hosting 一键启动&#xff08;配置文件、依赖注入&#xff0c;日志&#xff09; // App.xaml.cs 中定义 IHost private readonly IHost _host Host.CreateDefaultBuilder().ConfigureAppConfiguration(c > {_ c.SetBasePath(Envi…

电脑必备快捷键大全

#1024程序员节|征文# 小伙伴们&#xff01;想要提高学习效率&#xff0c;成为电脑高手吗&#xff1f;今天&#xff0c;我为大家整理了一份超实用的电脑快捷键清单&#xff01;无论是写论文、做PPT还是数据录入&#xff0c;这些快捷键都能帮你事半功倍&#xff01;快收藏起来吧&…

PDF.js的使用及其跨域问题解决

目录 一、PDF.js 简介 二、使用配置和步骤 1.引入PDF.js 2.加载PDF文件 3.渲染PDF页面 三、在Vue中使用PDF.js示例 1.安装PDF.js 2.在Vue组件中使用 四、在原生js中使用PDF.js示例 1.加载PDF文件并渲染页面 五、解决跨域问题 1.服务器配置 2.使用代理服务器 下面介…

编辑器、节点树、基础设置

目录 节点 查看当前节点拥有的属性 Position&#xff08; 父节点&#xff09; 保存 主场景 运行 编辑器操作 添加子节点 收藏节点 Sprite2D节点 控制节点是否可见 当父节点不可见&#xff0c;它的子节点也会不可见 基础编辑工具&#xff08;场景浏览器左上角&#x…

052_python基于Python高校岗位招聘和分析平台

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

Lesson10---list

Lesson10—list 第10章 c的list的使用和实现 文章目录 Lesson10---list前言一、list的初始化二、list的遍历1.迭代器2.范围for 三、list常用的内置函数1.sort&#xff08;慎用&#xff09;2.unique3.reverse4.merge5.splice 四、模拟实现1.基本框架2.构造函数3.push_back4. 遍…

PON架构(全光网络)

目前组网架构 世界上有一种最快的速度又是光&#xff0c;以前传统以太网络规划满足不了现在的需求。 有线网 无线网 全光网络方案 场景 全光网络分类 以太全光网络 PON&#xff08;Pas-sive-Optical Network 无源光网络&#xff09; 再典型的中大型高校网络中 推荐万兆入…

Java项目-基于springboot框架的原创歌曲分享系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

【功能安全】系统架构设计

目录 01 系统架构介绍 02 投票逻辑架构介绍 03 SIS架构 04 ADS域控制器架构设计 01 系统架构介绍 法规GBT 34590 Part4 part10定义的软件要求、设计和测试子阶段之间的关系&#xff08;其中的3-7个人建议翻译为初始架构设计更合理 &#xff09; 系统架构的作用&#xf…

工具:Typora自定义高效率主题

1 分享主题 工欲善其事必先利其器。分享一个文档编辑器主题。 1.1 特点 &#xff08;1&#xff09;大纲放在右侧、目录放在左侧&#xff0c;互不干扰 &#xff08;2&#xff09;标题颜色特殊处理 1.2 使用方式 打开Typora --> 文件 --> 偏好设置 --> 外观 -->…

给已经写好的裸机程序移植freeRTOS操作系统

接了公司一个项目&#xff0c;这是一个采用Dante模块把I2S数据通过网络交换机转发的音频控制器。包含两个串口配置。一开始以为使用裸机即可满足项目要求&#xff0c;实际上如果只有一个串口确实能满足要求了&#xff0c;现在发现Dante模块也需要串口通讯&#xff0c;2个串口同…

《Windows PE》6.4.2 远程注入DLL

实验四十七&#xff1a;远程注入DLL 写一个窗口程序&#xff0c;将一个dll通过远程注入的方法&#xff0c;注入到第三章的示例程序PEHeader.exe中&#xff0c;支持32位和64位PE。 ●dll.c /*------------------------------------------------------------------------FileNam…

记一次js泄露pass获取核心业务

文章目录 一、漏洞原因二、漏洞成果三、漏洞利用过程1.js泄露口令信息2、进入系统后台,管理数据库权限(22个)3、执行命令获取服务器权限4、通过添加扫描脚本,获取存活的内网信息四、免责声明一、漏洞原因 系统存在js泄露口令信息,获取系统超级管理员权限。系统为核心数据研…

ZYNQ AXI_GPIO_INT

REVIEW 软核AXI_GPIO之前已经简单学习过&#xff1a; AXI_GPIO_axi-gpio-CSDN博客 PS侧中断也简单调试过&#xff1a; ZYNQ PS_GPIO中断-CSDN博客 1. 今日摸鱼任务 简单实现AXI_GPIO中断&#xff1a; ps_key控制pl_led闪烁(MIO中断) pl_key控制ps_led闪烁(AXI_GPIO中断) …

js(深浅拷贝,节流防抖,this指向,改变this指向的方法)

一、深浅拷贝 1.基本数据类型和引用数据类型的区别&#xff1a; 1. 基本数据类型的变量存储的是值 引用数据类型的变量存储的是地址值 2. 基本数据类型的变量存储的值在栈内存 引用数据类型的变量存储的值在堆内存 3. 基本数据类型的变量存储的是值和值之间相互不影响 引用数据…

矩阵基础知识

矩阵定义 矩阵的定义 1.矩阵是由一组数按照矩形排列而成的数表。矩阵通常用大写字母表示&#xff0c;例如 AA、BB 等。矩阵中的每个数称为矩阵的元素或元。 一个 mn的矩阵 AA 可以表示为&#xff1a; 其中 aij表示矩阵 A中第i行第j列的元素。 矩阵的维度 1.矩阵的维度由它…

【多线程和高并发】多线程和高并发提纲

文章目录 多线程(多线程问题的)三大源头两个主要问题两大解决方案 高并发问题解决方案 对多线程和高并发相关问题整理了一个简单的提纲。 通过这个提纲&#xff0c;足够引出对并发编程中大部分问题的讨论~ 多线程 (多线程问题的)三大源头 线程并发执行带来的原子性问题。这是…

去梯之言:招聘行业运作的秘密——之找到一份工作

一、前言 招聘行业是一个水很深的行当。不过&#xff0c;尽管它很复杂&#xff0c;了解该行业的工作方式还是很重要的&#xff0c;这样你就可以在这片波涛汹涌的水域中平安航行&#xff0c;获得自己心仪的软件开发职位。反过来&#xff0c;如果你对这个波谲云诡的行业一无所知&…