激活函数

基本概念

        激活函数(Activation Function)运行时激活神经网络中某一部分神经元,将激活信息向后传入下一层的神经网络。神经网络之所以能够解决非线性问题(如语音、图像识别),本质上就是激活函数加入了非线性因素,弥补了线性模型的表达力,把"激活的神经元的特征"通过函数保留并映射到下一层。
        Tensorflow里包括平滑非线性的激活函数,如sigmoid、tanh、elu、softplus和softsign,也包括连续但不是出处可微的激活函数,如relu、relu6、crelu和relu_x,以及随机正则化函数dropout。

tf.nn.relu()
tf.nn.sigmoid()
tf.nn.tanh()
tf.nn.elu()
tf.nn.bias_add()
tf.nn.crelu()
tf.nn.relu6()
tf.nn.softplus()
tf.nn.softsign()
tf.nn.dropout() #防止过拟合,用来舍弃某些神经元

常见的激活函数

sigmoid函数

        这是传统神经网络中最常用的激活函数之一,如下图所示
在这里插入图片描述
该函数的导数:a’=a(1-a)。吴恩达老师建议,tanh函数效果几何总比sigmoid函数好,除了处理二元分类问题,一般不使用sigmoid函数。

tanh函数

在这里插入图片描述
        效果几乎总比 sigmoid 函数好(除开二元分类的输出层,因为我们希望输出的结果介于 0 到 1 之间),因为函数输出介于 -1 和 1 之间,激活函数的平均值就更接近 0,有类似数据中心化的效果。但是和sigmoid函数一样会产生梯度消失问题。

relu函数

        relu函数是目前最受欢迎的激活函数,
在这里插入图片描述
        当 z > 0 时,梯度始终为 1,从而提高神经网络基于梯度算法的运算速度,收敛速度远大于 sigmoid 和 tanh。然而当 z < 0 时,梯度一直为 0,但是实际的运用中,该缺陷的影响不是很大。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值