神经网络中的激活函数

2023-11-17

一、激活的概念:

将输入映射为特定分布的输出,完成非线性变换。

多细胞生物神经元的树突接收信息,触发区整合电位,产生神经冲动,末端的突触向下一个神经元传递刺激。以人脑为例,人脑的细胞受刺激产生活动,而刺激的强度需要达到一定的阈值,没有达到阈值的刺激是无法使人产生活动的,不同的刺激产生的输出不同,达到一定值后就会饱和。

二、激活函数

激活函数可以分为四类:S激活函数、ReLU激活函数(包括近ReLU激活函数)、Maxout激活函数和自动搜索的激活函数。

(一)、S激活函数

(1) Sigmoid激活函数,也叫Logistic函数,值域为[0,1],即对输入做0~1的平滑变化

Sigmoid(x)=\frac{1}{1+e^{-x}}=\frac{e^{x}}{1+e^{x}}

优点:输出0~1,映射平滑适合预测概率

缺点:不过零点,没有负值激活,影响梯度下降效率;由图可以看出,当输入的绝对值大于5以后,进入饱和区,梯度为零,即出现了梯度消失问题。

 (2) Tanh激活函数,对Sigmoid函数做一些变换,就得到Tanh函数,相比于Sigmoid函数,Tanh过零点,对负值也有激活,值域为-1~1,但是还是存在梯度消失问题。

Tanh(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}=\frac{e^{2x}-1}{e^{2x}+1}=2Sigmoid(2x)-1

(二)、ReLU(Rectified Linear Unit, 修正线性单元)激活函数

ReLU(x)=max\left \{ 0,x \right \}                     正区间恒等变换,负区间为0

Softplus(x)=log(1+e^{x})                ReLU的平滑版本

优点:计算简单,倒数恒定(阶跃函数),拥有稀疏性,符合人脑的神经元活跃特性;

缺点:非零中心化,没有负值激活,影响梯度下降效率;如果一次不恰当的参数更新后,所有数据都不能使某个神经元激活,则其对应的参数梯度为0,以后也无法激活,陷入“死亡”。

 为了解决ReLU函数负区间零激活问题,提出Leaky ReLU(LReLU)、Parametric ReLU(PReLU)和Random ReLU(RReLU),其统一表达式为:

max\left \{ \alpha x,x\right \}

如果\alpha取定值就是LReLU;若\alpha是可学习的参数就是PReLU;若\alpha为随机值就是RReLU.

 PReLU:网络的浅层尤其是第一层卷积层中,学习到的α比较大,而到了深层就比较小。可以理解为网络的浅层学习到了类似于Gabor的浅层特征,更大的α可以提取到更加稠密的特征,而随着网络深度的增加,特征变得更加稀疏。

PReLU:当作一个正则项,用于增强网络的泛化能力。

如果LReLU的负区间取非线性函数就是ELU函数,其有较高的噪声鲁棒性,能够使神经元的平均激活均值趋近为0,但需要指数运算,计算量大。

ELU(x)=\left\{\begin{matrix} \alpha (e^{x}-1), & x\leqslant 0 & \\ x& x>0& \end{matrix}\right.

(三)、Maxout激活函数——分段线性函数

从多个输入中取最大值,求导简单,只在最大值的一路有梯度,整体学习输入到输出的非线性映射关系,拟合能力很强,但是增加了k-1个神经单元,计算量大。

max \cdot a_{k}=max(w_{1}^{T}x+b_{1},w_{2}^{T}x+b_{2},\cdots ,w_{n}^{T}x+b_{n})

(四)、自动搜索激活函数——Swish函数

Swish(x)=x\cdot Sigmoid(\beta x)=\frac{x}{1+e^{-\beta x}}

Swish函数是线性函数和ReLU函数之间的非线性插值函数,无上界有下届、平滑非单调,从数据中学习参数β,可以获得任务相关的激活机制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

神经网络中的激活函数 的相关文章

  • 查询局域网电脑的IP,端口号,MAC地址

    网上看到很多都是使用nmap工具 这个工具我没有使用过 我自己实现nmap工具的功能 首先我们查询局域网内有哪些电脑是alive的 下面我写了一个脚本 ping sh 这样局域网内哪些电脑的ip是alive的就可以知道 下面来查看对于IP的
  • leetcode--55--跳跃游戏

    题目描述 给定一个非负整数数组 你最初位于数组的第一个位置 数组中的每个元素代表你在该位置可以跳跃的 最大长度 判断你是否能够到达最后一个位置 示例 1 输入 2 3 1 1 4 输出 true 解释 我们可以先跳 1 步 从位置 0 到达
  • 【ChatGPT】基于WSL+Docker的ChatGPT PLUS共享服务部署

    最近买了ChatGPT PLUS服务 想通过web服务将它共享给其他人使用 搜了一下目前GitHub上比较热门的服务有 ChatGPT Next Web chatgpt web share 其中chatgpt web share支持API和
  • 【uni-app】css 关于 calc()函数计算无效

    计算符 注 计算 符前后都需要空格 否则计算无效
  • 华为OD机试真题 Java 实现【最多提取子串数目】【2023Q1 100分】

    一 题目描述 给定由 a z 26 个英文小写字母组成的字符串 A和 B 其中A中可能存在重复字母 B 中不会存在重复字母 现从字符串 A 中按规则挑选一些字母 可以组成字符串 B 挑选规则如下 同一个位置的字母只能被挑选一次 被挑选字母的
  • ue4加载本地版本_【虚幻4】创建本地数据库

    简介 这里我们主要通过使用Data table实现本地数据库 Data table可以用来保存一些用户配置 或者常用变量 或者用来实时更新外部表格数据到虚幻4中 一 创建Data table 1 首先创建Structure结构 这里我已经创

随机推荐

  • 我用什么写Python?

    通常来说 每个程序员都有自己趁手的兵器 代码编辑器 你要是让他换个开发环境 恐怕开发效率至少下降三成 然而 每个人对编辑器的喜好各不相同 甚至引发出诸如 神的编辑器 与 编辑器之神 这种信仰之争 但也正由此可见 个性化的编辑器对于一个程序员
  • 【FICO系列】SAP FICO 凭证错误:BKPFF$PRDCLN800在FI中达到的项目最大编号

    公众号 SAP Technical 本文作者 matinal 原文出处 http www cnblogs com SAPmatinal 原文链接 FICO系列 SAP FICO 凭证错误 BKPFF PRDCLN800在FI中达到的项目最大
  • 无法访问目标主机的原因及其和请求超时的区别

    使用ping命令时经常会遇到这两种情况 就表示网络出了问题 无法访问目标主机的原因 可以看到 无法访问目标主机 是来自一个IP的回复 实际上那个IP是一个路由器 因此 无法访问目标主机 实际上数据是发出去并且收到回复的 只不过收到的回复是别
  • 数据结构和算法(递归概念、迷宫回溯问题和八皇后问题代码实现)

    递归的概念 递归能够做解决什么问题 使用递归时需要注意的问题 递归的第一个应用 迷宫回溯问题 迷宫模拟 定义一个8 7的数组模拟迷宫 1表示围墙 0表示可以走的路 图中左上红圈为起点 右下红圈为终点 利用代码找到从起点到终点的路径 使用递归
  • 【Python】代码实现LL(1),LR(1)上下文无关文法(Stack()类)

    任务要求 针对书上第三章中的表达式文法 采用LL 1 LR 1 进行分析 相关文法 需要进行消除左递归等操作 顺手分享一下课本资源好了 可能不是最新版 排版略有点别扭 后文的书上内容就是指这本书 编译原理 陈意云 文字版 提取码 e0ag
  • Android Studio如何添加工程(project)为library(针对非gradle)

    这篇文章还是针对非gradle build的工程 gradle build有一些差别 在Eclipse要引用别的工程为本工程的library很简单 但是在Android Studio还是稍稍有点小复杂的 那如何引用别的工程为本工程的libr
  • 网络编程——TCP并发服务器模型

    1 多线程中的newfd 能否修改成全局 不行 为什么 因为如果是全局变量 文件描述符就是唯一的 所有的客户端都会在同一个文件描述符通信 2 多线程中分支线程的newfd能否不另存 直接用指针间接访问主线程中的newfd 不行 为什么 如果
  • 微信小程序-仿智行火车票12306

    微信小程序 仿智行火车票12306 微信小程序 仿智行火车票12306 主页有轮播图 有导航栏 有个人中心 可以实现火车票 飞机票 汽车票的选择 适合初学者学习 下面是示例图片 下载链接 https download csdn net do
  • Linux系统图形界面和命令行界面之间的切换

    一 系统不在虚拟机中的情况 使用ctrl alt F1 6切换到命令行界面 ctrl alt F7切换到图形界面 二 系统在虚拟机中的情况 Ctrl Alt shift F1 6切换到命令行界面 使用Alt F7返回到图形界面 注 以上方法
  • hashmap中为什么使用红黑树?

    在回答这个问题之前 我们先了解一下有关二叉树的基本内容 二叉排序树 又称二叉查找树 1 若左子树不为空 则左子树上所有结点的值均小于根结点的值 2 若右子树不为空 则右子树上所有结点的值均大于根节点的值 3 左右子树也为二叉排序树 平衡二叉
  • 2017 ICCV之语义分割:Cascaded Feature Network for Semantic Segmentation of RGB-D Images

    Cascaded Feature Network for Semantic Segmentation of RGB D Images 目前的问题 1 为了计算对象 场景关系的表示 最近大量的分割网络使用一组感受野来丰富卷积特征的文本信息 这
  • book_read_link

    结构性改革 黄奇帆 微信读书 分析与思考 黄奇帆的复旦经济课 黄奇帆 微信读书
  • java通过web3j获取ETH交易明细

    我们在项目里面如果想要得到用户的ETH交易明细怎么做呢 有两种方式 1 直接获取ETH最新块的交易明细 2 通过块获取用户的交易明细 废话不多说 直接贴代码看了 package com example demo web3jLog impor
  • pdf.js引入方式及初始化配置

    官方下载地址 Getting StartedA general purpose web standards based platform for parsing and rendering PDFs http mozilla github
  • actuator--基础--04--Springboot集成

    actuator 基础 04 Springboot集成 代码位置 https gitee com DanShenGuiZu learnDemo tree master actuator learn actuator01 1 代码 1 1 依
  • MongoDB游标

    数据库会使用游标返回 find 的执行结果 游标的客户端实现通常能够在很大程度上对查询的最终输出进行控制 你可以限制结果的数量 跳过一些结果 按任意方向的任意键组合对结果进行排序 以及执行许多其他功能强大的操作 要使用 shell 创建游标
  • 爬虫实战之华为应用市场

    目录 一 需求说明 二 步骤 1 检查当前页面的URL所获得的响应的数据 笨办法 程序验证 不建议 简单办法 抓包 验证 抓包 推荐 动态加载验证 查找页面的信息 2 获取排行页面数据 操作 源码 信息解析 3 详情页面分析 寻找URL 验
  • leetcode 577

    给定一个字符串 s 你需要反转字符串中每个单词的字符顺序 同时仍保留空格和单词的初始顺序 示例 1 输入 s Let s take LeetCode contest 输出 s teL ekat edoCteeL tsetnoc 示例 2 输
  • C++中的强引用与弱引用

    https juejin cn post 7102838307062546445 1 weak ptr的原理 weak ptr 是为了配合 shared ptr 而引入的一种智能指针 它指向一个由 shared ptr 管理的对象而不影响所
  • 神经网络中的激活函数

    一 激活的概念 将输入映射为特定分布的输出 完成非线性变换 多细胞生物神经元的树突接收信息 触发区整合电位 产生神经冲动 末端的突触向下一个神经元传递刺激 以人脑为例 人脑的细胞受刺激产生活动 而刺激的强度需要达到一定的阈值 没有达到阈值的