【3.3 激活函数(下)】

news2024/11/26 4:24:37

3.3 激活函数(下)


深度学习中的激活函数

在深度学习中,激活函数扮演着至关重要的角色,它们为神经网络引入了非线性特性,从而增强了模型的表达能力。以下是几种常见的激活函数及其简介、代码实现、优缺点等详细介绍。

1. Sigmoid激活函数

简介
Sigmoid函数是一个经典的激活函数,其输出范围在(0, 1)之间,常用于二分类任务中作为输出层的激活函数,表示概率。Sigmoid函数的数学表达式为:

在这里插入图片描述

代码实现(Python,使用NumPy库):

import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

# 示例
x = np.array([-1.0, 0.0, 1.0, 2.0])
y = sigmoid(x)
print(y)  # 输出Sigmoid函数值

优缺点

  • 优点:输出值在(0, 1)之间,适合二分类问题的概率输出;平滑且易于求导,适合梯度下降算法。
  • 缺点:容易出现梯度消失问题,当输入值非常大或非常小时,梯度接近于0,导致训练困难;输出不是以0为中心,可能影响模型收敛速度;计算复杂度高,涉及指数运算。
2. Tanh激活函数

简介
Tanh函数与Sigmoid函数类似,但其输出范围在(-1, 1)之间,且以0为中心。Tanh函数的数学表达式为:

在这里插入图片描述

代码实现(Python,使用NumPy库):

def tanh(x):
    return np.tanh(x)  # NumPy库已提供tanh函数

# 示例
x = np.array([-1.0, 0.0, 1.0, 2.0])
y = tanh(x)
print(y)  # 输出Tanh函数值

优缺点

  • 优点:输出以0为中心,有助于加快收敛速度;比Sigmoid函数具有更强的非线性表达能力。
  • 缺点:仍然存在梯度消失问题;计算复杂度高,涉及指数运算。
3. ReLU激活函数

简介
ReLU(Rectified Linear Unit)函数是目前深度学习中最常用的激活函数之一,其数学表达式为:

在这里插入图片描述

代码实现(Python,使用NumPy库):

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

# 示例
x = np.array([-1.0, 0.0, 1.0, 2.0])
y = relu(x)
print(y)  # 输出ReLU函数值

优缺点

  • 优点:计算速度快,不涉及指数运算;能够缓解梯度消失问题;在输入为正时,梯度恒为1,有助于加速收敛。
  • 缺点:当输入为负时,神经元会“死亡”,即梯度为0,不再参与训练;输出不是以0为中心。
4. LeakyReLU激活函数

简介
LeakyReLU是对ReLU的改进,它在输入为负时引入了一个小的正斜率,以避免神经元“死亡”问题。其数学表达式为:

[
LeakyReLU(x) = \begin{cases}
x & \text{if } x > 0 \
\alpha x & \text{if } x \leq 0
\end{cases}
]
其中, α \alpha α是一个小的正数,通常取0.01。

代码实现(Python,使用NumPy库):

def leaky_relu(x, alpha=0.01):
    return np.where(x > 0, x, alpha * x)

# 示例
x = np.array([-1.0, 0.0, 1.0, 2.0])
y = leaky_relu(x)
print(y)  # 输出LeakyReLU函数值

优缺点

  • 优点:解决了ReLU的“死亡”神经元问题;增加了模型的非线性表达能力。
  • 缺点:超参数 α \alpha α需要手动调整;在某些情况下,可能不如ReLU效果好。

以上是深度学习中几种常见的激活函数的介绍、代码实现及优缺点分析。在实际应用中,应根据具体任务和数据集的特点选择合适的激活函数。

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

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

相关文章

深入理解AI Agent架构,史上最全解析!赶紧码住!

AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望 1. AI Agent(LLM Agent)介绍 1.1. 术语 Agent:“代理” 通常是指有意行动的表现。在哲学领域,Agen…

计算机网络 ---- 电路交换、报文交换、分组交换

目录 零、前言 一、计算机网络发展初期面临的问题 1.1 电路交换的主要特点【电话网络采用电路交换技术】 1.1.1 电路交换的基本知识介绍 1.1.2 电路交换的优缺点 1.3 报文交换技术的特点【电报网络采用报文交换技术】 1.3.1 报文交换的基本知识介绍 1.3.2 报文交换技术…

中国企业500强!最新名单揭晓→

9月11日,在2024中国500强企业高峰论坛上,中国企业联合会、中国企业家协会连续第23次向社会发布了“中国企业500强”榜单。 01 营收规模迈上新台阶 2024中国企业500强营业收入迈上新台阶,突破了110万亿元大关,达110.07万亿元&…

【算法】哈希表相关

【ps】本篇有 5 道 leetcode OJ。 一、算法简介 哈希表是一种存储数据的容器,可以快速查找某个元素,其查找的时间复杂度为 O(1),非常合适需要频繁查找某一个元素的场景。其具体用法为: 直接使用底层为哈希表的 STL 容器。用数组…

【一起学Rust | 进阶篇】使用Bon快速生成builder,提高代码质量

文章目录 前言一、安装Bon二、使用步骤1.为方法实现builder2.实现关联方法的builder3. 为结构体实现builder4. Option<T>字段成为可选项5. 实现Into转化 参考文档 前言 在 Rust 编程语言中&#xff0c;除了广为人知的单例模式之外&#xff0c;工厂模式也是极为容易见到的…

智能制造云平台---附源码79117

目 录 摘要 1 绪论 1.1 研究背景和意义 1.2开发技术 1.2.1 Flask框架 1.2.2 Python简介 1.2.3 MySQL数据库 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2总体设计原则 2.3 系统流程分析 2.3.1 用户登录流程 2.3.2 删除信息流程 2.4 系统角色分析 2.5 系…

微信小程序 - 最新将页面可分享到朋友圈功能,小程序实现分享到朋友圈功能,开启分享给好友及分享朋友圈功能(微信小程序怎么分享到朋友圈?详细流程及示例代码教程)

前言 没有设置过分享朋友圈功能的小程序,分享朋友圈按钮是灰色且无法点击。 在微信小程序开发中,详解实现把页面开启朋友圈分享功能,解决 “当前页面未设置分享” 且灰色无法点击问题,微信小程序开发中的微信分享和朋友圈分享设置,提供详细代码。 小程序 vue2 | vue3 版本…

yum下载软件失败:‘Could not resolve host: mirrorlist .centos .org; Unknowm error

Loaded plugins: fastestmirror, ovl Determining fastest mirrors Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7&archx86_64&repoos&infracontainer error was 14: curl#6 - “Could not resolve host: mirrorlist.centos.org; Unknow…

Games101图形学学习笔记——图形学基础

这里写目录标题 图形学基础线性代数Vector向量向量的点乘向量的叉乘 矩阵 Transform3D变换视图/相机变换 正交投影和透视投影正交投影透视投影 图形学基础 基础数学&#xff1a;线性代数&#xff0c;几何 基础物理&#xff1a;力学&#xff0c;光学 其他&#xff1a;信号处理&…

代码随想录训练营 Day56打卡 图论part06 108. 冗余连接 109. 冗余连接II

代码随想录训练营 Day56打卡 图论part06 一、卡码108. 冗余连接 题目描述 有一个图&#xff0c;它是一棵树&#xff0c;他是拥有 n 个节点&#xff08;节点编号1到n&#xff09;和 n - 1 条边的连通无环无向图&#xff08;其实就是一个线形图&#xff09;&#xff0c;如图&…

Java面试篇基础部分-Java的类加载机制

JVM的类加载 JVM在运行Java文件的时候,类加载分为5个阶段:加载、验证、准备、解析、初始化。在类初始化加载完成之后,就可以使用这个类的信息了。当这个类不需要使用的时候,就可以从JVM进行卸载。 加载 加载是指JVM读取Class文件的操作,并且根据Class的文件描述创建对应的…

工厂安灯系统在优化生产流程上的优势丨深圳讯鹏科技

工厂安灯系统通过可视化的方式&#xff0c;帮助工厂管理者和操作工人及时了解生产状态&#xff0c;快速响应问题&#xff0c;从而优化生产流程。 一、安灯系统实时监控与反馈 安灯系统的核心功能是实时监控生产线的状态。通过在生产现场设置灯光、显示屏等设备&#xff0c;工人…

单片机拍照_将采集的RGB图像封装为BMP格式保存到SD卡

文章目录 一、前言二、BMP文件结构2.1 BMP图片的格式说明 2.2 RGB888与RGB565格式是什么&#xff1f;&#xff08;1&#xff09;RGB565&#xff08;2&#xff09;RGB888&#xff08;3&#xff09;区别&#xff08;4&#xff09;如何构成&#xff08;5&#xff09;示例 三、实现…

yolo训练出现Could not load library libcudnn_cnn_train.so.8问题及解决方法

问题场景&#xff1a; 训练yolov5或者yolov8时候会报错&#xff1a; Could not load library libcudnn_cnn_train.so.8. Error: /usr/local/cuda-12.1/lib64/libcudnn_cnn_train.so.8: uined symbol: _ZN5cudnn3cnn34layerNormFwd_execute_internal_implERKNS_7backend11Vari…

【EasyExcel】@ColumnWidth(value = 20) EasyExcel设置列宽不生效

经过测试发现&#xff0c;只有XLS&#xff0c;ColumnWidth注解才会生效&#xff0c;选择CSV和XLSX都不会生效 //对应的导出实体类 EasyExcel.write(outputStream, Result.class)//excel文件类型&#xff0c;包括CSV、XLS、XLSX.excelType(ExcelTypeEnum.XLS)

当你学会了Python,随手爬取电影榜单!

一、爬电影TOP250 python爬取电影TOP250数据&#xff01; 首先&#xff0c;打开电影TOP250的页面&#xff1a; https://movie.douban.com/top250 开发好python代码后&#xff0c;成功后的csv数据&#xff0c;如下&#xff1a; 代码是怎样实现的爬取呢&#xff1f;下面逐一讲…

计算机网络相关概念

名词解释&#xff1a; 1.ARPANET ARPANET&#xff08;Advanced Research Projects Agency Network&#xff09;是由美国国防部高级研究计划局&#xff08;ARPA&#xff09;在1969年启动的一个实验性计算机网络项目。它是世界上第一个分组交换网络&#xff0c;也是互联网的前身…

springboot《计算机网络》在线考试系统-计算机毕业设计源码22248

摘要 计算机网络课程是计算机科学与技术、信息技术及相关专业的一门重要课程。然而&#xff0c;在传统的教育模式下&#xff0c;计算机网络课程的考核方式多以纸质试卷为主&#xff0c;这种方式存在诸多弊端。一方面&#xff0c;试卷的编制、印刷、分发、收缴等环节耗时耗力&am…

遗传算法求解VRP路径规划问题

文章目录 题目&#xff1a;快递公司送货策略VRP问题简介遗传算法项目地址代码说明代码结构求解流程举例求解目标求解步骤 总结 打数模国赛前拿来练手的题&#xff0c;现在题目求解思路分享给大家&#xff0c;包括 所有源代码 和 高清pdf论文&#xff0c;希望能对大家有所帮助…