[深度学习] Relu层作用

2023-11-02

为什么引入非线性激励函数

如果不用激励函数,在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你有多少层神经网络,输出的都是输入的线性组合。

激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。
以下,同种颜色为同类数据。某些数据是线性可分的,意思是,可以用一条直线将数据分开。比如下图:
这里写图片描述

这时候你需要通过一定的机器学习的方法,比如感知机算法(perceptron learning algorithm) 找到一个合适的线性方程。

但是有些数据不是线性可分的。比如如下数据:
这里写图片描述
第二组数据你就没有办法画出一条直线来将数据区分开。

这时候有两个办法,第一个办法,是做线性变换(linear transformation),比如讲x,y变成 x2,y2 x 2 , y 2 ,这样可以画出圆形。如图所示:
这里写图片描述

如果将坐标轴从x,y变为以 x2,y2 x 2 , y 2 为标准,你会发现数据经过变换后是线性可分的了。大致示意图如下:
这里写图片描述

另外一种方法是引入非线性函数。我们来看异或问题(xor problem)。以下是xor真值表
这里写图片描述
这个真值表不是线性可分的,所以不能使用线性模型,如图所示
这里写图片描述

我们可以设计一种神经网络,通过激活函数来使得这组数据线性可分。
激活函数我们选择阀值函数(threshold function),也就是大于某个值输出1(被激活了),小于等于则输出0(没有激活)。这个函数是非线性函数。

神经网络示意图如下:
这里写图片描述

其中直线上的数字为权重。圆圈中的数字为阀值。第二层,如果输入大于1.5则输出1,否则0;第三层,如果输入大于0.5,则输出1,否则0.
我们来一步步算。

第一层到第二层(阀值1.5)
这里写图片描述
第二层到第三层(阀值0.5)
这里写图片描述
可以看到第三层输出就是我们所要的xor的答案。
经过变换后的数据是线性可分的(n维,比如本例中可以用平面),如图所示:
这里写图片描述
总而言之,激活函数可以引入非线性因素,解决线性模型所不能解决的问题。

  1. 为什么引入Relu呢
    第一,采用sigmoid函数,算激活函数时(指数运算),计算量大。而使用Relu,整个计算节省了很多。
    第二,对于深层网络,sigmoid函数反向传播时,很容易出现梯度消失的情况,(sigmoid接近饱和区的时候,变化太缓慢,导数趋于0)从而无法完成深层网络的训练。
    第三,Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数之间互相依存的关系,缓解了过拟合的发生。

参考

https://www.zhihu.com/question/22334626

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

[深度学习] Relu层作用 的相关文章

  • C语言_带参宏和函数的区别及各自优缺点

    前言 C语言中 要想解决某子问题 可以自定义一个函数来专门处理该问题 比如 我想比较两个数的大小 那么我可以地定义一个函数max来完成两个数求最大值功能 但是 C语言中我们也可以通过宏定义来定义一个求最值的函数MAX 然后通过使用带参宏来完
  • 善待自己:改变命运的N个人生哲理

    心灵的栅栏 人与月亮的距离并不遥远 因为人与人心灵间的距离更为遥远 王尔德 当玛格丽特的丈夫杰瑞因脑瘤去世后 她变得异常愤怒 生活太不公平 她憎恨孤独 孀居 年 她的脸变得紧绷绷的 一天 玛格丽特在小镇拥挤的路上开车 忽然发现一幢她喜欢的房
  • 《软件测试的艺术》读后感 Or 读书笔记

    软件测试的艺术 读后感 Or 读书笔记 第一章 一次自评价测试 第二章 软件测试的心理学和经济学 第三章 代码检查 走查与评审 第四章 测试用例的设计 第五章 模块 单元 测试 第六章 更高级别的测试 第七章 可用性 或用户体验 测试 第八

随机推荐

  • Java—类的加载概述

    1 1 类的加载概述 当程序要使用某个类时 如果该类还未被加载到内存中 则系统会通过加载 连接 初始化三步来实现对这个类进行初始化 1 加载 是将class文件读入内存 并为之创建一个Class对象 任何类被使用时系统都会建立一个Class
  • Docker中安装Gitlab详细全教程

    前言 一 安装Gitlab 1 搜索影像 2 下载影像 3 启动Git服务 4 查看Gitlab是否已经启动 二 配置Gitlab 1 首先 先进入容器 2 修改gitlab rb文件 3 修改gitlab rb文件中的IP与端口号 3 配
  • OpenCV——求直线交点

    您可以使用OpenCV中的cv Point和cv Vec4i数据类型来表示点和直线 然后使用cv intersect函数来计算两条直线的交点 下面是一个示例代码 其中line1和line2分别表示两条直线的起点和终点 cv Point li
  • 机器学习(11)——时间序列分析

    目录 1 时间序列数据的相关检验 1 1 白噪声检验 1 2 平稳性检验 1 3 自相关分析和偏自相关分析 2 移动平均算法 2 1 简单移动平均法 2 2 简单指数平滑法 2 3 霍尔特线性趋势法 2 4 Holt Winters 季节性
  • Centos7安装dig命令

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Centos7安装dig命令 作者 jwj 时间 2018 10 17 分类 服务器 最近做一个项目 需要用到Gmail邮箱发送邮件 但发现发送不出去 排查问题时 需要用到
  • 最新SecureCRT 中文注册版

    SecureCRT是一款由VanDyke Software公司开发的终端仿真软件 它提供了类似于Telnet和SSH等协议的远程访问功能 SecureCRT专门为网络管理员 系统管理员和其他需要保密访问网络设备的用户设计 软件下载 Secu
  • filter IE滤镜(Internet Explorer)CSS

    http justcoding iteye com blog 940184 概述 CSS滤镜虽然只能在IE浏览器中表现出效果 但是仍不失为网页增加特效的好办法 1 CSS静态滤镜样式 filter CSS静态滤镜样式的使用方法 filter
  • PlatformIO基于ESP32S2的SPI软串口LCD屏调试

    文章目录 VSCode PlatformIO Arduino ESP32S2 SPI LCD 320 240 一 准备工作 二 测试 1 全屏检测 2 图形测试 参考资料 VSCode PlatformIO Arduino ESP32S2
  • 基于SSM+Vue的网上拍卖系统

    末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用Vue技术开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Mave
  • Halcon: (示例 1)OCR 字符识别

    目录 示例 涉及算子描述 text line orientation hom mat2d identity hom mat2d rotate affine trans image dots image reduce domain vecto
  • Flutter 混合架构方案探索

    得益于 Flutter 优秀的跨平台表现 混合开发在如今的 App 中随处可见 如最近微信公布的小程序新渲染引擎 Skyline 发布正式版也在底层渲染上使用了 Flutter 号称渲染速度提升50 在现有的原生 App 中引入 Flutt
  • pnpm的原理和优势(monorepo)

    硬连接和软连接 硬连接 存储的物理磁盘上该文件的地址 比如 F 恭喜发财 mp4这个文件是一个硬连接 通过它可以找到物理磁盘上该 mp4 数据的地址 软件连 是一个引用 它存储的是硬连接的地址 简而言之 它保存的是文件路径F 恭喜发财 mp
  • 软件设计师学习笔记9-进程调度

    目录 1 PV操作 1 1进程的同步与互斥 1 1 1互斥 1 1 2同步 1 2 PV操作 1 2 1信号量 1 2 2 PV操作的概念 2 信号量与PV操作 2 1 PV操作与互斥模型 2 2 PV操作与同步模型 2 3 互斥与同步模型
  • 基于蒙特卡洛的强化学习方法【附带代码实现】

    基于蒙特卡洛的强化学习方法 蒙特卡洛方法 Monte Carlo methods 也被称为统计模拟方法 是一种基于概率统计的数值计算方法 运用蒙特卡洛方法时 我们通常使用重复随机抽样 然后运用概率统计方法来从抽样结果中归纳出我们想求的目标的
  • Powerdesigner16.5连接DB2 反向工程

    需要jDBC接口 DB2数据库 jDBC需要jdk支持
  • u-boot编译错误:error: bad value (armv5) for -march= switch

    在makefile文件最上方加上 ARCH arm CROSS COMPILE arm none linux gnueabi
  • Nginx访问二级目录后/(反斜杠)无法访问问题的解决办法

    Nginx访问二级目录的时候不加 反斜杠 无法访问 现在给出解决办法 我用的是正则表达式自动加 反斜杠 if d request filename rewrite http host 1 2 permanent
  • PCB设计_Via过孔和PAD焊盘

    PCB的四周一般会设计增加机械孔用于固定PCB板 增加整体结构的稳定 但是机械孔的设计往往在新手的设计中会出现许多问题 而且DFM检查还不一定可以检查出来 那么针对机械孔 金属化和非金属化 两种的设计 下面将会讨论 1 金属化机械孔 这里不
  • Vue刷新浏览器后重定向到首页或者某一个页面

    记录一下项目需要的一些小优化 刷新浏览器时回到首页 一般来说vue项目刷新浏览器之后还会继续跳动刷新之前的页面 我们只需要要App vue中的created方法中添加相关判断即可 这里的 index可以换成具体需要跳转的页面 具体代码如下
  • [深度学习] Relu层作用

    为什么引入非线性激励函数 如果不用激励函数 在这种情况下你每一层输出都是上层输入的线性函数 很容易验证 无论你有多少层神经网络 输出的都是输入的线性组合 激活函数是用来加入非线性因素的 因为线性模型的表达能力不够 以下 同种颜色为同类数据