zoukankan      html  css  js  c++  java
  • tensorflow2.0学习笔记第二章第三节

    2.3激活函数
    sigmoid函数

    f(x)= 1/(1 + e^-x)
    tf.nn.sigmoid(x)
    特点:(1)求导后的数值在0-0.25之间,链式相乘之后容易使得值趋近于0,形成梯度消失
    (2)输出非0均值。收敛慢
    (3)幂运算复杂,训练时间长

    tanh函数

    f(x)=(1-e^-2x)/(1+e^-2x)
    tf.math.tanh(x)
    特点:(1)输出是0均值
    (2)导数值在0-1之间,容易造成梯度消失
    (3)幂运算复杂,训练时间长

    relu函数

    f(x) = max(x,0) = {0,x<0
    {x,x>0
    tf.nn.relu(x)
    优点:
    (1)解决了梯度消失的问题(在正区间内)
    (2)只需判断是否大于0,计算速度快
    (3)收敛速度远远快于以上两个函数
    缺点:
    (1)输出非0均值。收敛慢
    (2)Dead Relu问题,某些神经元永远不会被激活,导致相应的参数不被更新

    建议:
    首选relu
    学习率设置较小值
    输入特征标准化,即输入特征满足以0为均值,1为标准差的正态分布
    初始参数中心化,即让随机生成的参数满足以0为均值,sqart(2/当前层输入特征个数)为标准差的正态分布
  • 相关阅读:
    洛谷 P1089.津津的储蓄计划
    AcWing 786.第k个数
    差分
    AcWing 798.差分矩阵
    AcWing 797.差分
    AcWing 796.子矩阵的和
    Python 初始—(项目 目录结构)
    Python 初始—(迭代器和生成器)
    Python 初始—(装饰器)
    Python 初始—(高阶函数)
  • 原文地址:https://www.cnblogs.com/wigginess/p/13048854.html
Copyright © 2011-2022 走看看