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/当前层输入特征个数)为标准差的正态分布
  • 相关阅读:
    悬浮按钮
    C语言学习笔记
    python3之环境搭建以及基础语法
    设计模式之单例模式
    浅谈vuex
    用位运算替代js中的常见操作
    浅析Symbol
    egg.js源码解析之render()
    js的事件循环机制和任务队列
    浅谈js异步
  • 原文地址:https://www.cnblogs.com/wigginess/p/13048854.html
Copyright © 2011-2022 走看看