激活函数(也被称为激励函数)的意义就是加入非线性因素,使得神经网络具有非线性表达的能力。其必要条件是激活函数的输入和输出都是可微的,因为神经网络要求处处可微。(可微是指函数的各个方向可导,可微大于等于可导)

一、激活函数的定义与作用

1.定义。如下图所示,激活函数一般是在神经元的输入(inputs)经过加权求和之后,还继续被一个函数作用。该函数就是激活函数。

2.作用。激活函数的意义也就是加入非线性因素,让神经网络具备非线性的表达能力(当然不是真正意义上的非线性,不过可以逼近任意的非线性函数罢了)。这也是个很了不得的进步了。

二、激活函数的类型

函数类型主要有Sigmoid、Tanh、Relu及其变种等函数。

1.Sigmoid

公式:                                                                   

函数曲线:

将输入x映射到(0,1)之间,对二分类比较有效。其缺点比较明显,

1)激活函数计算量大,收敛缓慢

2)反向传播时,容易出现梯度消失

2.Tanh

Tanh可以说是Sigmoid函数的升级版(但是并不能完全代替Sigmoid,因为有时要求输出大于等于0时,Sigmoid还是具有不可替代性),Tanh的值域为(-1,1)。

公式:                                           

函数曲线:

与Sigmoid相比,Tanh具有zero-centered的特性,并且具有放大特征的能力,但依然具有梯度消失和幂运算的计算复杂等问题。

3.Relu

Relu函数更为常用,因为其重视正向信号忽视负向信号和人类神经元细胞的特性特别相似,所以具有非常好的拟合效果。

公式:                                                                 

曲线:

虽然Relu是一个取最大值函数,并且局部可导,但是它是近几年来激活函数比较突出的进展,主要表现以下几点:

1)解决了梯度消失的问题(仅仅是在正区间);

2)计算速度和收敛速度快;

缺点也比较明显:

1)不具备zero-centered的特性;

2)Dead ReLU Problem。由于参数初始化的不幸或者learning rate的设置不正确(设置过大)导致的神经元可能永远不会被激活,即相应的参数永远不能被更新问题。其解决办法是采用Xavier初始化方法,以及避免将learning rate设置太大或使用adagrad等自动调节learning rate的算法。

Relu和后面优化函数中的Adam算法一样,请优先使用(特别是对我这样的新手而言)。

4.Relu的变种PReLU

PReLU

公式:                                                                          

曲线:

主要是为了避免Relu的Dead ReLU Problem问题,令Relu的负半段为设为αx 而非0。
但是无法通过测试说明PReLU完全比Relu具有更好的表达性。

Relu6(tensorflow的函数)

公式:                                                                           

Relu6可有效防止梯度爆炸,由于节点和层数过多且输出为正时,经加权计算时输出与目标相差过大导致参数调整修正值过大引发的网络抖动,无法收敛的情况。

5.softmax

softmax函数是一个多分类函数,主要用于多分类任务。

公式:                                                           

其输出是分类的n个标签,每个标签的概率,其概率的和为1,其中选取概率最大的分类作为预测的目标。

总结:

1.深度学习必要的条件是大量的数据,针对数据最好采用zero-centered数据 和zero-centered输出,所以尽量选择具有zero-centered特点的激活函数以加快模型的收敛速度;

2.使用Relu时,要对learning rate比较熟悉,避免出现大量的“dead”神经元;

3.激活函数的使用,一般来说多分类的最后一层使用Softmax函数。而其余函数的使用优先顺序分别是Relu > Tanh >Sigmoid,一般来说Sigmoid最好不要使用,当然具体情况还是需要具体分析的。

参考文献:

1.《深度学习之tensorflow》;

2.https://blog.csdn.net/sinat_29957455/article/details/81841278

如有错误,请联系博主改正,谢谢指正!

深度学习基础(二)激活函数相关推荐

  1. 深度学习基础笔记——激活函数

    相关申明及相关参考: 体系学习地址 主要学习笔记地址 激活函数,你真的懂了吗? - 知乎 (zhihu.com) 聊一聊深度学习的activation function - 知乎 (zhihu.com ...

  2. 深度学习基础-----ReLu激活函数的反向传递过程

    ReLU函数详解及反向传播中的梯度求导_BrightLamp的博客-CSDN博客_relu求导

  3. 花书+吴恩达深度学习(二)非线性激活函数(ReLU, maxout, sigmoid, tanh)

    目录 0. 前言 1. ReLU 整流线性单元 2. 绝对值整流线性单元 3. 渗漏整流线性单元 4. 参数化整流线性单元 5. maxout 单元 6. logistic sigmoid 单元 7. ...

  4. 2021-07-14 深度学习基础与实践(二)

    深度学习基础与实践(二) 一.分类及其性能度量 1.分类问题 2.分类性能度量 (1)准确率 (2)精确率和召回率 (3)P-R曲线 (4)F值 (5)ROC曲线 3.分类性能可视化 (1)混淆矩阵的 ...

  5. 日月光华深度学习(一、二)深度学习基础和tf.keras

    日月光华深度学习(一.二)深度学习基础和tf.keras [2.2]--tf.keras实现线性回归 [2.5]--多层感知器(神经网络)的代码实现 [2.6]--逻辑回归与交叉熵 [2.7]--逻辑 ...

  6. 二分类交叉熵损失函数python_【深度学习基础】第二课:softmax分类器和交叉熵损失函数...

    [深度学习基础]系列博客为学习Coursera上吴恩达深度学习课程所做的课程笔记. 本文为原创文章,未经本人允许,禁止转载.转载请注明出处. 1.线性分类 如果我们使用一个线性分类器去进行图像分类该怎 ...

  7. 人工智能之深度学习连载二,模型基础与实现框架

    **摘要:**深度学习还没学完,怎么图深度学习又来了?别怕,这里有份系统教程,可以将0基础的你直接送到图深度学习.还会定期更新哦. 本系列内容争取每月更新2到4篇. 主要是基于图深度学习的入门内容.讲 ...

  8. 零基础入门深度学习(二):用一个案例掌握深度学习方法

    导读 本课程是百度官方开设的零基础入门深度学习课程,主要面向没有深度学习技术基础或者基础薄弱的同学,帮助大家在深度学习领域实现从0到1+的跨越.从本课程中,你将学习到: 深度学习基础知识 numpy实 ...

  9. 人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 个性化推荐

    人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 个性化推荐 本教程源代码目录在book/recommender_system,初次使用请您参考Book文档使用说明. 说明: 硬件 ...

  10. Keras深度学习实战(4)——深度学习中常用激活函数和损失函数详解

    Keras深度学习实战(4)--深度学习中常用激活函数和损失函数详解 常用激活函数 Sigmoid 激活函数 Tanh 激活函数 ReLU 激活函数 线性激活函数 Softmax 激活函数 损失函数 ...

最新文章

  1. request中的内容存储_宜信开源|调用链系列(3):解读UAVStack中的调用链技术...
  2. Google Earth Pro 模拟飞行 分享
  3. 从并发视角来看智能合约(下)【渡鸦论文系列】
  4. android开发日历库,Android SDK开发范例大全--5.5自制日历手机数据库笔记
  5. 构建eureka高可用服务
  6. php修改linux文件权限设置,linux怎么给文件设置权限
  7. JavaScript闭包简单应用
  8. 2021:测试人员面试时都中过哪些套路?
  9. 【Java】JFileChooser的用法及借助JFileChooser选择文件并操纵打印机打印出来
  10. 《Maven_孔浩》Maven依赖
  11. 程序员面试中最常见的27个问题,拿走不谢
  12. 《C++ 沉思录》阅读笔记——句柄类
  13. 一百块组装可玩LOL的电脑
  14. connection reset by beer问题排查
  15. PDE——delta函数
  16. ping无盘服务器值高,服务器PING值过高的原因
  17. M40Z-025003TB0西克光电开关 订货号: 1200128
  18. 巧用模板和友联类型为vc++单元测试加一利器
  19. 苹果 开发者账号如下
  20. 普通本科,开发一周年纪念日—-赠给自己的礼物

热门文章

  1. .NET垃圾回收笔记
  2. 邮件群发工具的编写(二)数据的保存
  3. scrapy爬虫系列之三--爬取图片保存到本地
  4. 机器学习:利用卷积神经网络实现图像风格迁移 (一)
  5. 解题报告 Diamonds
  6. Mac OS X终端的常用操作命令(UNIX指令)
  7. node --- http数据上传
  8. Babel 7 基础入门学习(详细版)
  9. 【跃迁之路】【428天】程序员高效学习方法论探索系列(实验阶段185-2018.04.09)...
  10. Max Sum 杭电 1003