【机器学习合集】激活函数合集 ->(个人学习记录笔记)

文章目录

      • 综述
      • 1. S激活函数(sigmoid&Tanh)
      • 2. ReLU激活函数
      • 3. ReLU激活函数的改进
      • 4. 近似ReLU激活函数
      • 5. Maxout激活函数
      • 6. 自动搜索的激活函数Swish

综述

这些都是神经网络中常用的激活函数,它们在非线性变换方面有不同的特点。以下是这些激活函数的主要区别:

  1. Sigmoid和Tanh激活函数
    • Sigmoid函数和Tanh函数都是S型函数,将输入映射到(0,1)或(-1,1)范围内。它们在输入远离零时会饱和,导致梯度消失问题。
    • Sigmoid函数输出范围是(0,1),而Tanh函数输出范围是(-1,1)。
    • 在深度神经网络中,它们往往不如ReLU等其他激活函数表现出色。
  2. ReLU激活函数(Rectified Linear Unit)
    • ReLU是分段线性函数,当输入为正时输出等于输入,而当输入为负时输出为零。
    • ReLU激活函数在训练深度神经网络时通常表现良好,因为它不会导致梯度消失问题,并且计算速度快。
    • 然而,它也有一些问题,如死亡神经元问题,即某些神经元在训练中可能永远不会激活。
  3. ReLU激活函数的改进(Leaky ReLU、Parametric ReLU、Exponential Linear Unit等)
    • 这些是ReLU的改进版本,旨在解决死亡神经元问题。它们允许小的负输入值通过,从而改善了ReLU的性能。
  4. 近似ReLU激活函数(Swish、Mish等)
    • 近似ReLU函数试图在ReLu的非线性性和平滑性之间取得平衡。Swish和Mish是其中的两个例子,它们在输入大于零时光滑且非线性,但在输入小于零时也具有一定的非线性性。
    • Swish是x乘以S型函数,而Mish是x与双曲正切函数的乘积。这些函数在某些情况下可以表现出色,但并不总是适用于所有情况。
  5. Maxout激活函数
    • Maxout是一种非线性激活函数,它在每个神经元的输入中选择最大的那个。它的输出是线性的片段中的最大值。
    • Maxout激活函数允许网络自行学习不同的线性片段,从而提高网络的表达能力。
  6. 自动搜索的激活函数(Swish等)
    • Swish是通过自动搜索和优化得到的激活函数。它的设计基于一定的数学原理和实验结果,旨在提高神经网络的性能。
    • 这些自动搜索得到的激活函数通常经过大量实验验证,以确保它们在各种任务中表现良好。
  • 每种激活函数都有其适用的场景和优点,选择哪种激活函数通常取决于具体的任务和网络结构。在深度学习中,通常需要进行实验来确定哪种激活函数在特定情况下效果最好

1. S激活函数(sigmoid&Tanh)

  • Sigmoid函数在机器学习中经常用作激活函数,但它在某些情况下容易出现梯度消失问题,这是因为它的特性导致了梯度在饱和区域非常接近于零。

  • Sigmoid函数的数学表达式如下: S(x) = 1 / (1 + e^(-x))

  • 当输入x接近正无穷大(x → +∞)时,Sigmoid函数的输出趋近于1,而当输入x接近负无穷大(x → -∞)时,输出趋近于0。这意味着Sigmoid函数具有饱和性质,即在这些极端值附近,它的梯度接近于零。这就是梯度消失问题的根本原因。
  • 当你使用Sigmoid激活函数时,如果输入数据的绝对值非常大,梯度接近于零,这会导致反向传播算法中的梯度变得非常小,从而权重更新几乎不会发生,导致训练变得非常缓慢或根本无法进行有效的学习。这尤其在深度神经网络中更加明显,因为梯度会以指数方式递减,这就是为什么Sigmoid函数在深度神经网络中容易出现梯度消失问题。
  • 为了克服这个问题,人们开始使用其他激活函数,如ReLU(Rectified Linear Unit)和其变种,它们不具有Sigmoid函数的饱和性质,因此在训练深度神经网络时更加稳定。ReLU激活函数的导数在正区域始终为1,因此梯度不会在正区域消失。这有助于更有效地进行梯度传播和权重更新,减少了梯度消失问题。


在这里插入图片描述

在这里插入图片描述

  • Tanh(双曲正切)函数在某些情况下也可能出现梯度消失问题,尽管它相对于Sigmoid函数有一些改进,但仍然具有饱和性质,导致梯度在饱和区域接近于零。
  • Tanh函数的数学表达式如下: Tanh(x) = (e^x - e^(-x)) / (e^x + e^(-x))
  • Tanh函数的输出范围在-1到1之间,当输入x接近正无穷大时,它的输出趋近于1,当输入x接近负无穷大时,它的输出趋近于-1。这就意味着Tanh函数在极端值附近也具有饱和性质,梯度接近于零。
  • 梯度消失问题发生的原因在于反向传播算法中的链式法则,其中导数相乘。当使用Tanh函数时,如果在网络的前向传播过程中输出值位于饱和区域,梯度将变得非常小,反向传播中的梯度也会随之减小。这会导致权重更新非常缓慢,尤其是在深度神经网络中。
  • 虽然Tanh函数相对于Sigmoid函数在某些情况下更好,因为它的输出范围在-1到1之间,但在解决梯度消失问题方面,它仍然不如一些其他激活函数,如ReLU(Rectified Linear Unit)及其变种。ReLU在正区域具有恒定梯度,因此不容易出现梯度消失问题。为了克服梯度消失问题,深度神经网络中的一种常见做法是使用ReLU或其变种,同时采用一些正则化技术和初始化策略来稳定训练过程。

2. ReLU激活函数

  • ReLU(Rectified Linear Unit)是一种常用的激活函数,它在输入大于零时输出输入值,而在输入小于或等于零时输出零。这意味着ReLU是非零中心化的,因为它的输出的均值(平均值)不是零,而是正的。这与一些其他激活函数,如tanh和Sigmoid不同,它们的输出均值通常接近于零。
  • 为什么ReLU是非零中心化的并且没有负激活值,可以归结为其定义方式。ReLU函数的数学表达式如下: f(x) = max(0, x)
  • 在这个函数中,当输入x大于零时,它输出x,而当输入x小于等于零时,输出零。这意味着ReLU在正区域(x>0)内有激活值,但在负区域(x<=0)内没有激活值。因为ReLU截断了负值,所以其均值是正的。
  • 这种非零中心化的性质有一些影响:
    1. 梯度消失问题缓解:与tanh和Sigmoid等激活函数不同,ReLU在正区域的梯度始终为1,这有助于减轻梯度消失问题,因为梯度不会在正区域消失。
    2. 稀疏激活性:由于ReLU在负区域没有激活值,神经元可以学习选择性地激活,这有助于网络的稀疏表示,这意味着每个神经元仅在特定情况下激活,而其他时候保持静止,这对于特征选择和表示学习很有用。
  • 尽管ReLU有许多优点,但它也有一些问题,例如死亡神经元问题,其中某些神经元在训练中永远保持非活跃状态。为了克服这些问题,人们发展了一些ReLU的变种,如Leaky ReLU和Parametric ReLU(PReLU),它们允许小的负输入值通过,从而改善了ReLU的性能。这些变种可以使神经网络更容易训练。

在这里插入图片描述

3. ReLU激活函数的改进

在这里插入图片描述
在这里插入图片描述

4. 近似ReLU激活函数

在这里插入图片描述

5. Maxout激活函数

  • Maxout是一种激活函数,它在深度学习中用于神经网络的非线性变换。与传统的激活函数如ReLU、Sigmoid和tanh不同,Maxout具有独特的结构,它的主要特点是取输入的最大值,因此可以视为线性片段的极大化。以下是Maxout激活函数的定义:
  • 对于Maxout激活函数,给定多个线性组合的输入,它将这些线性组合中的最大值作为输出。具体来说,考虑两个线性组合:
    Z1 = w1x + b1
    Z2 = w2
    x + b2
  • Maxout激活函数输出的值为:Maxout(x) = max(Z1, Z2)
  • Maxout的主要特点和优点包括:
    1. 非线性性质:Maxout函数是一种非线性激活函数,因为它取输入中的最大值,从而引入了非线性性质,使神经网络能够学习更复杂的函数。
    2. 灵活性:Maxout允许神经网络学习不同的线性片段,而不受限于单一的线性关系。这可以增加模型的表达能力,有助于处理各种数据分布和特征。
    3. 抗噪声性:Maxout激活函数在一定程度上对噪声具有抗性,因为它取输入中的最大值,可以消除一些不必要的噪声信号。
    4. 降低过拟合风险:Maxout具有更多的参数,允许网络在训练中拟合更多的数据,从而降低了过拟合的风险。
  • 尽管Maxout在理论上具有一些优势,但在实际应用中,它并不像ReLU那样常见。这是因为Maxout的参数数量较多,可能需要更多的数据和计算资源来训练。此外,ReLU和其变种在实践中通常表现得非常出色,因此它们更常见。然而,Maxout仍然是一个有趣的激活函数,特别适用于特定的深度学习任务和研究领域。

在这里插入图片描述

6. 自动搜索的激活函数Swish

  • Swish是一种激活函数,最初由Google研究员在2017年提出。Swish函数的定义如下:Swish(x) = x * sigmoid(x)
  • 其中,x是输入,sigmoid(x)表示x经过S型函数(Sigmoid函数)的输出。Swish函数是一种非线性激活函数,它在一定程度上结合了线性和非线性的特性。
  • Swish函数的特点和优势包括:
    1. 平滑性:Swish函数是平滑的,与ReLU等分段线性函数相比,它在激活值的变化上更加平滑。这有助于梯度的更加连续传播,有助于训练深度神经网络。
    2. 非线性性质:Swish在Sigmoid函数的基础上引入了非线性,这使得它能够捕捉更复杂的数据模式,使神经网络更具表达能力。
    3. 渐进性:与ReLU不同,Swish函数在输入趋于正无穷大时不会饱和,而是渐进地接近于线性函数x。这意味着Swish函数在正值区域仍然具有一定的非线性性质,从而有助于避免一些梯度消失问题。
    4. 可学习性:Swish函数是可学习的,它的参数(例如,Sigmoid函数的斜率)可以通过反向传播算法进行调整,以适应特定任务和数据分布。
  • 尽管Swish在理论上有一些优势,但在实践中,它的性能通常介于ReLU和Sigmoid之间。因此,选择使用Swish还是其他激活函数取决于具体的任务和实验。有时,Swish可能对某些问题效果很好,但对于其他问题,标准的ReLU或其变种仍然是首选。在深度学习中,激活函数通常是可以调整的超参数,因此可以进行实验来选择最适合特定任务的激活函数。

在这里插入图片描述

注意:部分内容来自 阿里云天池

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

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

相关文章

学习笔记二十三:Deployment入门到企业实战应用

Deployment入门到企业实战应用 Deployment控制器&#xff1a;概念、原理解读Deployment概述Deployment工作原理&#xff1a;如何管理rs和Pod&#xff1f;什么叫做更新节奏和更新逻辑呢 Deployment使用案例&#xff1a;创建一个web站点,2个副本deploy-demo详细解读 通过k8s实现滚…

分布式:一文搞定Redis/Zookeeper/MySQL实现分布式锁

目录 一、项目准备spring项目数据库 二、传统锁演示超卖现象使用JVM锁解决超卖解决方案JVM失效场景 使用一个SQL解决超卖使用mysql悲观锁解决超卖使用mysql乐观锁解决超卖四种锁比较Redis乐观锁集成Redis超卖现象redis乐观锁解决超卖 三、分布式锁概述四、Redis分布式锁实现方案…

Ubuntu 命令行设置静态IP地址方法

一、先ifconfig查看电脑的网卡信息 找到有线网络或WiFi网络的网卡名称&#xff0c;我这里是eno1 二、输入route -n命令&#xff0c;打印路由表&#xff0c;这里主要是为了查看网关地址 我这里网关地址是192.168.10.1 三、更改配置文件 输入 vim /etc/network/interfaces&am…

禾匠旧版对接微信小程序发货系统(发货信息管理 接口)

最近小程序如果是商家交易需要再小程序后台点击一下发货&#xff0c;特别麻烦&#xff0c;但是旧版的禾匠又没有这个功能&#xff0c;所以只能手动增加这个功能&#xff0c;但是每一个版本发货逻辑都不一样&#xff0c;大家只能自己手动去兼容一下&#xff0c;下面只是写了一个…

uniapp 单选框以及多选框样式更改

radio以及checkbox默认样式不符合自身需求时&#xff0c;根据自身需求更改样式&#xff0c;以下是自身的示例&#xff1a; 单选&#xff1a; 多选&#xff1a; 由于uniapp自身包含了一套默认的样式&#xff0c;所以如果不想全局更改只想在某个单据页面使用的话&#xff0c;就…

Mysql,SqlServer,Oracle获取库名 表名 列名

先看下需求背景&#xff1a; 获取某个数据源连接下所有库名&#xff0c;库下所有表名&#xff0c;表中所有字段 1.MySql 先说MySql吧&#xff0c;最简单 1.1获得所有数据库库名 这是一个mysql和sqlserver公用的方法&#xff0c;这里url不用担心数据库问题&#xff0c;他其实…

程序的编译和链接

目录 翻译环境 linux下的测试 ​编辑 预定义符号 执行环境 #define定义宏 #和## # ## 宏参数的副作用 宏和函数对比 优点 缺点 #undef 条件编译 头文件包含 在标准c的任何实现中&#xff0c;存在两种环境——翻译环境和执行环境 翻译环境 翻译环境生成目标文件…

2023年中国磷酸一铵行业产能、产量及发展趋势分析:农业需求稳定增长[图]

磷酸一铵是一种重要的氮磷复合肥料&#xff0c;在农业生产中广泛应用。亚洲地区尤其是中国、印度等国家是磷酸一铵的主要消费市场。近年来&#xff0c;中国磷酸一铵产能呈现下降趋势&#xff0c;2022年开始恢复增长。2022年中国磷酸一铵产能达1945万吨&#xff0c;同比增长5.4%…

linux工具篇

文章目录 linux工具篇1. linux 软件包管理器-yum1.1 什么是软件包1.2 yum的使用1.3 yum源 2. linux编辑器-vim2.1 vim概念2.2 vim各个模式切换2.3 vim正常模式命令汇总2.4 vim底行模式各命令汇总2.5 vim的简单配置 3. Linux编译器-gcc/g使用3.1 复习程序编译过程(1) 预处理(2) …

二进制安装k8s

192.168.11.12 master01 192.168.11.12 y4 node01 192.168.11.14 y5 node02 192.168.11.15 对环境进行初始化&#xff0c;主机192.168.11.12、主机y4、主机y5&#xff0c;三台主机都要做以下操作&#xff0c;唯一不同的就是修改主…

04.Finetune vs. Prompt

目录 语言模型回顾大模型的两种路线专才通才二者的比较 专才养成记通才养成记Instruction LearningIn-context Learning 自动Prompt 部分截图来自原课程视频《2023李宏毅最新生成式AI教程》&#xff0c;B站自行搜索 语言模型回顾 GPT&#xff1a;文字接龙 How are __. Bert&a…

如何为3D模型设置自发光材质?

1、自发光贴图的原理 自发光贴图是一种纹理贴图&#xff0c;用于模拟物体自发光的效果。其原理基于光的发射和反射过程。 在真实世界中&#xff0c;物体自发光通常是由于其本身具有能够产生光的属性&#xff0c;如荧光物质、发光材料或光源本身。为了在计算机图形中模拟这种效…

应急响应-网站入侵篡改指南_Webshell内存马查杀_漏洞排查_时间分析

1. 前言 一般安服在做项目的时候&#xff0c;经常会遇到需要做应急响应的工作&#xff0c;所谓应急响应就是当网站出现异常的时候&#xff0c;根据相关的问题对其进行溯源分析&#xff0c;发现问题&#xff0c;解决问题。 2. 网络安全异常特征 这里大概汇总一下网络安全异常的…

RustDay06------Exercise[91-100]

91.将指针还原成指定类型 因为指针不知道里面具体有什么,所以一般约定打上unsafe 申明开发者自己对该部分可用性负责,且在调试的时候也能起强调作用 // tests6.rs // // In this example we take a shallow dive into the Rust standard librarys // unsafe functions. Fix …

c语言从入门到实战——分支和循环

分支和循环 前言1. if语句1.1 if1.2 else1.3 分支中包含多条语句1.4 嵌套if1.5 悬空else问题 2. 关系操作符3. 条件操作符4. 逻辑操作符&#xff1a;&& , || , &#xff01;4.1 逻辑取反运算符4.2 与运算符4.3 或运算符4.4 练习&#xff1a;闰年的判断4.5 短路 5. swit…

鸡尾酒学习——长岛冰茶

长岛冰茶 1、材料&#xff1a;冰块&#xff08;或者雪莲&#xff09;、白朗姆、伏特加、龙舌兰、金酒、柠檬、君度或者白兰地、可乐&#xff1b; 2、口感&#xff1a;酸甜苦口味&#xff0c;酒的苦涩较为明显&#xff08;怀疑是自己放了过多的柠檬汁导致苦涩感明显&#xff09…

Sui提供dApp Kit 助力快速构建React Apps和dApps

近日&#xff0c;Mysten Labs推出了dApp Kit&#xff0c;这是一个全新的解决方案&#xff0c;可用于在Sui上开发React应用程序和去中心化应用程序&#xff08;dApps&#xff09;。mysten/dapp-kit是专门为React定制的全新SDK&#xff0c;旨在简化诸如连接钱包、签署交易和从RPC…

若依微服务上传图片文件代理配置

在使用若依微服务文件上传时候,文件上传成功会上传到D:/ruoyi/uploadPath目录下。默认使用9300端口进行访问图片文件,现在我想把它代理到80端口应该怎么做呢? 配置前:http://localhost:9300/statics/2023/09/24/test.jpg 配置后:http://localhost/statics/2023/09/24/test…

JWT的登录认证与自校验原理分析

目录 一、JWT的概述 1.什么是JWT&#xff1f; 2.JWT的用户认证 3.JWT解决了什么问题&#xff1f; 4.关于JWT中的签名如何理解&#xff1f; 5.JWT的优势 二、JWT的结构 1.令牌的组成&#xff1a; 2.JWT的工具类 3.JWT所需的依赖 4.JWT登录生成Token的原理 三、JWT的自…

浅谈智能制造

智能制造 如今&#xff0c;同一版本同一型号的手机&#xff0c;几乎是一模一样的。当我们说去选购商品&#xff0c;其实是在有限的型号中选择我们需要的那一款。可是&#xff0c;人的需求千变万化&#xff0c;为什么偏偏要归结到几个固定的型号上去呢&#xff1f;每个人不应该…