【激活函数--下】非线性函数与ReLU函数

news2024/11/19 5:44:57

文章目录

      • 一、非线性函数在神经网络中的重要性
      • 二、ReLU函数介绍及其实现
        • 2.1 ReLU函数概述
        • 2.2 ReLU函数的Python实现及可视化

一、非线性函数在神经网络中的重要性

在神经网络中,激活函数的选择对于网络的性能和能力至关重要。阶跃函数和Sigmoid函数除了是激活函数的具体实例外,它们还有一个共同的特性——非线性。这两种函数虽然在形式上有所不同,但都不是线性的,这使得它们在处理复杂问题时非常有用。

非线性与线性函数的区别

  • 线性函数:形式上可以表示为 h ( x ) = c x h(x) = cx h(x)=cx(其中 c c c 是常数),图形是一条直线。线性函数简单且易于计算,但它在功能上有限。
  • 非线性函数:不呈直线形态,可以是曲线或折线等。非线性函数能够处理更复杂的数据模式,是神经网络设计中不可或缺的。

神经网络为何需要非线性激活函数

在神经网络中使用非线性激活函数至关重要,原因包括:

  1. 层叠效应
    • 如果使用线性函数作为激活函数,无论网络有多少层,最终输出都是输入的线性组合。实际上,多层线性网络可以被等效为一个没有隐藏层的网络。
    • 例如,如果激活函数是线性的 h ( x ) = c x h(x) = cx h(x)=cx,那么三层网络中的操作 y ( x ) = h ( h ( h ( x ) ) ) y(x) = h(h(h(x))) y(x)=h(h(h(x))) 等同于 y ( x ) = c 3 x y(x) = c^3x y(x)=c3x。这意味着多层的效果可以被单一变换替代,从而无法利用多层结构的优势。
  2. 表达能力
    • 非线性函数使得神经网络可以学习和模拟任何形式的复杂函数,这是理解深层网络能成功解决各种难题的关键。
    • 线性函数由于其形式上的限制,不能模拟数据中的复杂模式和关系。

考虑一个使用线性激活函数的简单三层神经网络,其操作可以简化为一次线性变换。这表明,增加层数(即使是使用线性激活函数)并没有增加网络对数据的解释能力或学习能力。相反,非线性激活函数通过每一层的变换使得网络能逐层构建越来越复杂的数据表示和功能分解。

因此,在设计神经网络时,选择合适的非线性激活函数是至关重要的,它决定了网络能处理的复杂性和灵活性。常用的非线性激活函数包括Sigmoid、ReLU及其变种等,它们各有优势和应用场景,使得神经网络能在多种任务中表现出色。

二、ReLU函数介绍及其实现

2.1 ReLU函数概述

ReLU(修正线性单元)函数是神经网络中广泛使用的激活函数之一,尤其是在深度学习模型中。相较于早期常用的Sigmoid函数,ReLU因其简单性和在训练深层网络时表现出的效率而受到青睐。ReLU函数的定义如下:
h ( x ) = { x if  x > 0 0 if  x ≤ 0 h(x) = \begin{cases} x & \text{if } x > 0 \\ 0 & \text{if } x \leq 0 \end{cases} h(x)={x0if x>0if x0
ReLU函数的特点

  • 非线性:尽管ReLU在正数部分是线性的,但整体上它是一个非线性函数,因为它在零点处引入了一个非线性变化(从0变到正值)。
  • 计算简单:ReLU函数只需判断输入是否大于0,这使得它在计算上比Sigmoid或tanh等传统激活函数要简单得多。
  • 缓解梯度消失问题:在正数区间,ReLU的导数是常数(1),这有助于缓解深度网络中的梯度消失问题。
2.2 ReLU函数的Python实现及可视化

在Python中,使用NumPy库可以非常容易地实现ReLU函数。这里我们使用np.maximum函数来实现,np.maximum用于比较两个数组并返回各元素的最大值:

import numpy as np

def relu(x):
    return np.maximum(0, x)

这种实现方法允许输入是一个数字、一个列表或一个NumPy数组,输出将是相同形状的数组,其中每个元素都是应用了ReLU函数的结果。

使用Matplotlib库,我们可以绘制ReLU函数的图形,以更好地理解其行为:

import matplotlib.pyplot as plt
import numpy as np

# 定义ReLU函数
def relu(x):
    return np.maximum(0, x)

# 生成数据
x = np.arange(-6, 7, 0.1)
y = relu(x)

# 绘图
plt.plot(x, y)
plt.title("ReLU Function")
plt.xlabel("x")
plt.ylabel("h(x)")
plt.ylim(-1, 5)  # 设置y轴的范围
plt.show()

绘制出的图形清晰地展示了ReLU函数在 x = 0 x=0 x=0时的突变,这是由0转变到正值的关键特性。

在这里插入图片描述

ReLU由于其在正区间内保持恒定的梯度和在实际应用中的高效性,已成为许多深度学习模型的首选激活函数。然而,它也有缺点,例如在输入小于等于0时梯度为0,这可能导致某些神经元在训练过程中“死亡”,即不再对任何数据产生变化。尽管如此,ReLU仍是现代神经网络架构中不可或缺的组成部分。

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

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

相关文章

ssti学习(1)

一、成因: 渲染模板时,没有严格控制对用户的输入。(使用了危险的模板,导致用户可以和flask程序进行交互) flask是一种基于web开发的web服务器,如果用户可以和flask交互,则可以执行eval、syste…

智慧公厕:公共厕所信息化的创新之路

公共厕所是城市建设中不可或缺的一环,但长期以来,由于管理不善和设施落后,公厕成为城市环境中的一大难题。为了解决这个问题,变革式的智慧公厕应运而生。 智慧公厕是一种借助物联网、互联网、大数据、云计算、自动化控制等技术整…

umi项目配置之项目构建时配置umirc.ts

对于 umi 中能使用的自定义配置,你可以使用项目根目录的 .umirc.ts 文件或者 config/config.ts,值得注意的是这两个文件功能一致,仅仅是存在目录不同,2 选 1 ,.umirc.ts 文件优先级较高 umi 的配置文件是一个正常的 n…

PHP黑魔法之md5绕过

php本身是一种弱语言,这个特性决定了它的两个特点: 输入的参数都是当作字符串处理变量类型不需要声明,大部分时候都是通过函数进行类型转化php中的判断有两种: 松散比较:只需要值相同即可,类型不必相同,不通类型比较会先转化为同类型,比如全数字字符串和数字比较,会比…

Windows snmp++获取本地主机信息

编译snmp的包 调用snmp.lib实现信息获取_哔哩哔哩_bilibili 代码&#xff1a; #include <iostream> #include <libsnmp.h> #include <vector> #include <fstream> #include <string> #include "snmp_pp/snmp_pp.h" //#define _NO_L…

高清SDI串行数字接口采集卡与传输编码器

随着科技的快速发展&#xff0c;我们正处于一个数字化、信息化的时代&#xff0c;各式各样的设备正成为人们工作和生活中必不可少的伙伴。今天&#xff0c;我要向大家介绍的是一款具有革命性意义的视频采集卡——LCC262。这款由灵卡技术团队精心打造的产品&#xff0c;集合了多…

在阿里云服务器上安装MySQL

目录 一、先卸载不需要的环境 1.关闭MySQL服务 2.查看安装包以及卸载安装包 3.依次卸载所有包 4. 获取mysql官⽅yum源 二、安装&#xff08;密钥过期解决方法&#xff09; 三、启动并进入 关于MySQL MySQL是一个广泛使用的开源关系型数据库管理系统&#xff08;RDBMS&…

金三银四面试题(二十七):适配器模式知多少?

什么是适配器模式 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将一个类的接口转换为客户期望的另一个接口。通过适配器&#xff0c;原本不兼容的接口可以一起工作&#xff0c;从而提高系统的灵活性和可扩展性。 关键元素&…

开发测试必须知道的 10种 常见软件架构模式

你是否想知道企业大规模系统是如何设计的? 在软件开发开始之前&#xff0c;我们必须选择一个合适的架构&#xff0c;能提供所需的功能和质量特性。因此&#xff0c;在将架构应用到我们的设计之前&#xff0c;我们应该了解各种不同架构的特点。 01 什么是架构模式 根据维基百…

parallelsdesktop19密钥激活 PD19虚拟机完整图文安装教程

Parallels Desktop 19 &#xff08;简称 PD 19)是最新发布的 macOS 平台的 windows 虚拟机&#xff0c;本文是使用 Parallels Desktop 19 虚拟机安装 Windows 的详细图文破解安装教程。 一下载安装 Parallels Desktop 软件下载完成后打开&#xff0c;双击打开 安装.dmg Para…

【多模态】30、Monkey | 支持大尺寸图像输入的多任务多模态大模型

文章目录 一、背景二、方法2.1 Enhancing Input Resolution2.2 Multi-level Description Generation2.3 Multi-task Training 三、效果3.1 Image Caption3.2 General VQA3.3 Scene Text-centric VQA3.4 Document-oriented VQA3.5 消融实验3.6 可视化 论文&#xff1a;Monkey : …

【核弹】我的第一款IDEA插件

SuperHotSwap 插件名称叫做&#xff1a;SuperHotSwap&#xff08;超级热更新&#xff09; 开发初心&#xff1a;旨在做出一款最便捷的IDEA热更新插件&#xff0c;减少用户操作步骤&#xff0c;提供零配置的可视化操作更新。 为什么要写这个插件&#xff1a; 每次改一下Mappe…

android自定义view仿微信联系人列表

说明&#xff1a;最近碰到一个需求&#xff0c;弄一个类似国家或省份列表&#xff0c;样式参照微信联系人 文件列表&#xff1a; step1:主界面 加载列表数据~\app\src\main\java\com\example\iosdialogdemo\MainActivity.java step2:右侧列表数据排序~\app\src\com\example\io…

物联网应用开发--STM32与新大陆云平台通信(云平台控制开发板上蜂鸣器、LED)

实现目标 1、掌握云平台执行器的创建 2、熟悉STM32 与ESP8266模块之间的通信 3、具体实现目标&#xff1a;&#xff08;1&#xff09;创建5个执行器&#xff1a;蜂鸣器&#xff0c;LED1&#xff0c;LED2&#xff0c;ED3&#xff0c;LED4;&#xff08;2&#xff09;执行器能对…

VLAN 综合实验

一、实验拓扑 二、实验需求 1.PC1和PC3所在接口为access&#xff0c;属于vlan2&#xff1b; PC2/4/5/6处于同一网段&#xff0c;其中PC2可以访问PC4/5/6; 2.PC5不能访问PC6; 3.PC1/3与PC2/4/5/6不在同一网段&#xff1b; 4.所有PC通过DHCP获取IP地址&#xff0c;且PC1/3可以…

《Python编程从入门到实践》day28

# 昨日知识点回顾 安装Matplotlib 绘制简单的折线图 # 今日知识点学习 15.2.1 修改标签文字和线条粗细 # module backend_interagg has no attribute FigureCanvas. Did you mean: FigureCanvasAgg? # 解决办法&#xff1a;matplotlib切换图形界面显示终端TkAgg。 #…

SpringBoot自动装配(二)

近日&#xff0c;余溺于先贤古哲之文无法自拔。虽未明其中真意&#xff0c;但总觉有理。遂抄录一篇以供诸君品鉴——公孙鞅曰&#xff1a;“臣闻之&#xff1a;‘疑行无名&#xff0c;疑事无功。’君亟定变法之虑&#xff0c;殆无顾天下之议之也。且夫有高人之行者&#xff0c;…

游戏数值策划关卡策划文案策划系统策划及游戏运营干货

1.《游戏新手村》免费电子书 我2007年开始做网络游戏&#xff0c;后面又做过网页游戏和手机游戏。当时市面上关于游戏策划和运营的书籍屈指可数&#xff0c;于是我就想着要不我写一本吧&#xff0c;然后2014年10月开始撰写。关于本书的更多信息可查看这篇文章>> 游戏新手…

45.WEB渗透测试-信息收集-域名、指纹收集(7)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;计算机王-CSDN博客 WEB指纹&#xff1a;Web指纹也叫web应用指纹。由于所使用的工具、技术…

蓝鹏测控:扩大出口,勇拓海外市场

蓝鹏测控自2012年成立以来&#xff0c;始终专注于工业测量仪器的研发、生产与销售。公司坚持经验与创新并存&#xff0c;长期与华北电力大学、河北大学等多所知名院校深度合作&#xff0c;拥有一支技术力量雄厚的研发团队。经过多年的努力&#xff0c;蓝鹏测控已研发出多款具有…