Tensorflow常见激活函数 -- Tensorflow自学笔记10

激活函数 激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。引入非线性激活函数,可使深层神经网络的表达能力更加强大。

一. 什么是优秀的激活函数?

优秀的激活函数应满足:

1. 非线性:

    激活函数非线性时,多层神经网络可逼近所有函数


2. 可微性

优化器大多用梯度下降更新参数


3. 单调性

当激活函数是单调的,能保证单层网络的损失函数是凸函数 

4. 近似恒等性

 f(x)约等于x. 当参数初始化为随机小值时,神经网络更稳定

5. 激活函数输出值的范围:
    1) 激活函数输出为有限值时,基于梯度的优化方法更稳定

    2) 激活函数输出为无限值时,建议调小学习率

二. 常见的激活函数

常见的激活函数有

3.1 sigmoid

 

 

TensorFlow API: tf.math.sigmoid

优点:


1. 输出映射在(0,1)之间,单调连续,输出范围有限,优化稳定,可用作输出层;

2. 求导容易。 

缺点:

1. 易造成梯度消失;
2. 输出非0均值,收敛慢;
3. 幂运算复杂,训练时间长。

sigmoid函数可应用在训练过程中。然而,当处理分类问题作出输出时,sigmoid却无能为力。简 单地说,sigmoid函数只能处理两个类,不适用于多分类问题。而softmax可以有效解决这个问题,并 且softmax函数大都运用在神经网路中的最后一层网络中,使得值得区间在(0,1)之间,而不是二分类 的。

3.2 tanh

 

TensorFlow API: tf.math.tanh 

优点:

1. 比sigmoid函数收敛速度更快。
2. 相比sigmoid函数,其输出以0为中心。

缺点


1. 易造成梯度消失;

2. 幂运算复杂,训练时间长。 

3.3 ReLU

 

TensorFlow API: tf.nn.relu  

优点 

1. 解决了梯度消失问题(在正区间);
2. 只需判断输入是否大于0,计算速度快;
3. 收敛速度远快于sigmoid和tanh,因为sigmoid和tanh涉及很多expensive的操作; 

4. 提供了神经网络的稀疏表达能力。

缺点:


1. 输出非0均值,收敛慢;

2. Dead ReLU问题:某些神经元可能永远不会被激活,导致相应的参数永远不能被更新。 

3.4 Leaky ReLU

TensorFlow API: tf.nn.leaky_relu


理论上来讲,Leaky ReLU有ReLU的所有优点,外加不会有Dead ReLU问题,但是在实际操作当

中,并没有完全证明Leaky ReLU总是好于ReLU。

3.5 softmax

TensorFlow API: tf.nn.softmax 

对神经网络全连接层输出进行变换,使其服从概率分布,即每个值都位于[0,1]区间且和为1。

3.6 建议

对初学者的的建议:

1. 首选ReLU激活函数;

2. 学习率设置较小值;

3. 输入特征标准化,即让输入特征满足以0为均值,1为标准差的正态分布;

4. 初始化问题:初始参数中心化,即让随机生成的参数满足以0为均值, 为标准差的正态分布。

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

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

相关文章

第四届摩纳哥智能化可持续发展码头交流会

第四届摩纳哥智能化可持续发展码头交流会 摩纳哥游艇码头顾问公司(M3)认为游艇行业的绿色转型需要做到从游艇本身到游艇码头的360度全方位可持续化发展,因此,继今年3月的摩纳哥智能游艇交流会后,他们将于2024年9月22日…

<数据集>二维码识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:1601张 标注数量(xml文件个数):1601 标注数量(txt文件个数):1601 标注类别数:1 标注类别名称:[QR] 序号类别名称图片数框数1QR16016286 使用标注工具:l…

swagger简单使用学习

注意 一下基于spring-boot 3.0.2版本&#xff0c;该版本不支持springfox-swagger2 2.9.2会报错&#xff0c;无法访问swagger 安装 在pomx文件中添加对应的依赖 <!-- swagger --><dependency><groupId>org.springdoc</groupId><artifactId>spr…

C++_多态详解

多态的概念 概念&#xff1a;需要去完成某个行为时&#xff0c;当 不同的对象去完成 会产生出不同的状态。通俗点说就是 不同类型的对象去做同一个行为&#xff0c;产生的结果不同。 多态的定义及实现 虚函数 定义&#xff1a;即被virtual修饰的类成员函数称为虚函数 虚函…

【论文分享】sNPU: Trusted Execution Environments on Integrated NPUs 24‘ISCA

目录 AbstractINTRODUCTIONBACKGROUND AND RELATED WORKTrusted Execution Environment (TEE)Neural Processing Unit (NPU)Integrated NPU v.s. Discrete NPU Multi-tasking Requirements for NPUsLow NPU utilization for a single ML workloadSimultaneous execution of bot…

代码审计总结

代码审计总结 概述 一、代码审计 1.1什么是代码审计&#xff1f; 1.2为什么要执行代码审核&#xff1f; 1.3代码审计的好处 二、代码审计流程 2.1代码检查方法 2.2代码检查项目 2.3编码规范 2.4代码检查规范 2.5缺陷检查表 2.6代码审计复查 2.7代码审计结果总结 三…

Redis高级----五种数据结构及其底层实现

目前已更新系列&#xff1a; 当前&#xff1a;Redis高级---面试总结5种数据结构的底层实现 Redis高级----主从、哨兵、分片、脑裂原理-CSDN博客 Redis高级---面试总结内存过期策略及其淘汰策略 计算机网络--面试知识总结一 计算机网络-----面试知识总结二 计算机网络--面…

初始MYSQL数据库(2)——创建、查询、更新、删除数据表的相关操作

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a; MYSQL 前面我们学习了创建、删除数据库以及创建、查看、删除数据表的相关操作。 我们知道数据库中所存储的数据其实就是数据表中一条一条的记…

前端技术(六)—— AJAX详解

一、原生 AJAX 1. AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML&#xff0c;就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求&#xff0c;最大的优势&#xff1a;无刷新获取数据。 AJAX 不是新的编程语言&#xff0c;而是一种将现有的标准组…

大语言模型(LLM)如何更好地继续预训练(Continue PreTraining)

预训练&#xff08;Pretraining&#xff09;是一个非常消耗资源的工作&#xff0c;尤其在 LLM 时代。随着LLama2的开源&#xff0c;越来越多人都开始尝试在这个强大的英文基座模型上进行中文增强。但&#xff0c;我们如何才能保证模型在既学到「中文知识」的情况下&#xff0c;…

灰光模块,彩光模块-介绍

1. 引用 知识分享系列一&#xff1a;5G基础知识-CSDN博客 5G前传的最新进展-CSDN博客 灰光和彩光_通信行业5G招标系列点评之二&#xff1a;一文读懂5G前传-光纤、灰光、彩光、CWDM、LWDM、MWDM...-CSDN博客 ADOP带你了解&#xff1a;CWDM、DWDM、MWDM、LWDM&#xff1a;快速…

网络编程day03(网络体系结构、调试命令、TCP/IP对比)

目录 1》网络的体系结构 1> OSI模型 2> TCP/IP模型 3> 常见网络协议 4> DNS域名解析协议 2》 网络调试命令 1> ping&#xff1a;测试网络连通性&#xff08;ICMP&#xff09; 2> netstat 3》Dos &#xff08;拒绝式服务&#xff09;攻击&#xff1f;…

【大模型-RAG】RAG最佳实践论文及项目解读

文章目录 论文概述RAG工作流程核心代码解读软件架构查询引擎构建数据加载与索引创建微调嵌入模型 项目应用结论 在人工智能领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;因其强大的文本生成能力而备受关注。然而&#xff0c;这些模型在生成信息时可能会产生过时的…

代码随想录:96. 不同的二叉搜索树

96. 不同的二叉搜索树 class Solution { public:int numTrees(int n) {int dp[30]{0};//由i个结点组成的二叉搜索树有多少种dp[0]1; for(int i1;i<n;i)for(int j0;j<i;j)//j表示根节点左子树有j个结点dp[i]dp[j]*dp[i-j-1];//对根节点左右子树结点数量遍历//数量有左子树…

什么是数据结构三要素?

目录 1.逻辑结构 2.数据的存储结构 3.数据的运算 1.逻辑结构 逻辑结构是指数据元素之间的逻辑关系&#xff0c;即从逻辑关系上描述数据。 它与数据的存储无关&#xff0c;是独立于计算机的。数据的逻辑结构非为线性结构和非线性结构&#xff0c;线性表是典型的线性结构&am…

ELK学习笔记——如何给Kibana新增用户和角色

Kibana新增用户和角色 首先用超管账号登录上Kibana&#xff0c;按照下面步骤操作 1、创建角色 按图操作 2、创建用户 按图操作 3、给用户分配角色 至此&#xff0c;角色和用户绑定成功&#xff1b; 最后&#xff0c;可以退出管理员账号&#xff0c;登录这个新…

【MATLAB】FIR滤波器的MATLAB实现

FIR滤波器的MATLAB实现 FIR滤波器的设计fir1函数fir2函数 与IIR滤波器相比&#xff0c;FIR滤波器既有其优势也有其局限性。FIR滤波器的主要优点包括&#xff1a; 精确的线性相位响应&#xff1b;永远保持稳定性&#xff1b;设计方法通常是线性的&#xff1b;在硬件实现中具有更…

Django学习实战篇二(适合略有基础的新手小白学习)(从0开发项目)

前言&#xff1a; 从这一章开始&#xff0c;我们来创建项目typeidea&#xff0c;我把它放到了GitHub上。强烈建议你也到GitHub上注册一个账号&#xff08;如果没有的话&#xff09;&#xff0c;然后创建这样的项目。当然&#xff0c;你也可以起一个属于自己的名称。这个项目就是…

Live800:以客户为中心,重塑服务标准

在快速迭代的商业环境中&#xff0c;企业若想持续繁荣&#xff0c;就必须不断审视并优化自身的服务模式。传统上&#xff0c;服务往往被视为产品交易的附加品&#xff0c;但今日之市场&#xff0c;服务已悄然成为企业核心竞争力的关键要素。因此&#xff0c;“以客户为中心&…

5、Django Admin后台移除“删除所选”操作

默认情况下&#xff0c;Django Admin后台的listview模型列表页&#xff0c;会有一个Delete Selected删除所选操作。假设你需要再从Hero管理模型中移除该删除操作。 ModelAdmin.get_actions方法可以返回所有的操作方法。通过覆盖此方法&#xff0c;移除其中delete_selected方法…