专栏首页机器学习算法工程师趣谈深度学习核心----激活函数

趣谈深度学习核心----激活函数

作者:詹晓辉

编辑:王抒伟

当你在苦扒图像处理方法得时候

他在用深度学习

当你在干瞪切片像素得时候

他在用深度学习

当你在愁思小偷是谁得时候

他在用深度学习

当你拥堵在北二环得时候

。。。

现在来扒扒深度学习网络心脏

激活函数

全篇概述:

深度学习在训练的过程中常常要用到激活函数

“说,目的是啥?”

“目的是为了让多层网络之间进行非线性变换”

“如果不用呢?”

“不用的话,多层的线性网络的表达能力与单层网络的表达能力是一样的,要不就没意思了”

TA 说:

在使用tensorflow的过程中我发现它提供了以下几个函数: sigmoid、tanh、elu、relu等。

“还等啥啊,赶紧给我讲”

听老衲给施主絮絮叨叨、

咱竹板这么一打啊,别的咱不夸,夸一夸激活函数呐!

函数一: sigmoid

分析:

从图像中我们可以看出当我们输入的数据非常小或非常大时它的值是0或者1那么它的梯度很小趋近于0。

在反向传播中,这个局部梯度会与整个代价函数关于该单元输出的梯度相乘,结果会接近为 0。此时相当于没有信号传到神经元,权重不会更新。

还有一个问题是:sigmoid的值总是为正值。

如果输入都是正值那么梯度总为正或负这会导致训练的时候呈现Z字形梯度下降。

函数二:Tanh

双曲正切tanh读作/tæntʃ/

有着对比精神,可以看到tanh函数其实是sigmoid函数的变形

同样的tanh函数也存在饱和的问题,不过tanh函数的值经过原点

并且函数值在(-1,1)之间的不同于sigmoid值总是为正值或负值

函数三:Relu

Relu(Rectified Linear Units)读 /'relju/

f(u) = max ( 0, u )

可以看到反向传播的时候梯度要么是0要么不变,所以梯度衰减很小,经过很多层也不会减弱.收敛的速度会比tanh和sigmoid快。

不过有个缺点是当x<0时 f '(x)=0 (z) (这里是导函数为零)所有负梯度到这都变成0,且这个神经元有可能再也不被激活,神经元的梯度永远都是0.

函数四:Elu

Elu函数是sigmoid和relu的结合体。

当x<0时,跟relu不一样的函数值趋近于-1,使elu能够对输入具有更强的鲁棒性

当下x>0时线性部分能够缓解梯度消失,Elu的输出均值是接近于0的,因此它的收敛会更快。

本文函数都是深度学习常用的激活函数当然还有其它的,大家可以维基百科!

本文分享自微信公众号 - 机器学习算法全栈工程师(Jeemy110),作者:詹晓辉

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一文看懂常用的梯度下降算法

    作者:叶 虎 编辑:祝鑫泉 一 概述 梯度下降算法(Gradient Descent Optimization)是神经网络模型训练最常用的优化算法。对于深...

    机器学习算法工程师
  • 入门|详解机器学习中的梯度消失、爆炸原因及其解决方法

    前言:   本文主要深入介绍深度学习中的梯度消失和梯度爆炸的问题以及解决方案。本文分为三部分,第一部分主要直观的介绍深度学习中为什么使用梯度更新,第二部分主...

    机器学习算法工程师
  • GAN的入门与实践

    作者:Double_V 编辑:龚 赛 PART 01 GAN 简介 引言 生成对抗网络(Generative Adversarial Nets,GAN)是...

    机器学习算法工程师
  • 深度学习中常见的损失函数(摘自我的书)

    在深度学习分类任务中,我们经常会使用到损失函数,今天我们就来总结一下深度学习中常见的损失函数。

    黄鸿波
  • 8个超好用的Python内置函数,提升效率必备!

    python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率。

    bugsuse
  • 关于函数式编程

    函数是Python内建支持的一种封装,通过把大段代码拆成函数,再一层一层的调用函数,就可把复杂任务分解成简单的任务 这种分解可以称之为面向过程的程序设计 函数就...

    py3study
  • JavaScript 匿名函数

    在上一篇写了行间事件提取之后,可以发现其实此时函数的名称并不重要,应该可以不写函数名称就不写。

    Devops海洋的渔夫
  • 机器学习算法之逻辑回归(一)

    标题: 分类问题 二元分类 Sigmoid函数 算法导出 梯度上升 我们曾经介绍过,机器学习中最常见的问题有两大类,一类是回归问题,一类是分类问题。回归问题我们...

    企鹅号小编
  • 单片机零基础学习之从“点灯”入门STM32

      本篇文章通过一个简单的例子来熟悉模块化编程以及利用库函数的方法进行开发使用STM32外设的基本流程。

    用户6754675
  • JS函数

    形式参数 : 在函数声明时, 设置的参数。作用:占位置 ,只能在函数内部使用. 实际参数 : 在函数调用时,传入的参数。 作用 : 函数调用时,会把实参的值赋...

    羊羽shine

扫码关注云+社区

领取腾讯云代金券