zoukankan      html  css  js  c++  java
  • ReLU

    预训练的用处:规则化,防止过拟合;压缩数据,去除冗余;强化特征,减小误差;加快收敛速度。


    标准的sigmoid输出不具备稀疏性,需要用一些惩罚因子来训练出一大堆接近0的冗余数据来,从而产生稀疏数据,例如L1、L1/L2或Student-t作惩罚因子。因此需要进行无监督的预训练。
    而ReLU是线性修正,公式为:g(x) = max(0, x),是purelin的折线版。它的作用是如果计算出的值小于0,就让它等于0,否则保持原来的值不变。这是一种简单粗暴地强制某些数据为0的方法,然而经实践证明,训练后的网络完全具备适度的稀疏性。而且训练后的可视化效果和传统方式预训练出的效果很相似,这也说明了ReLU具备引导适度稀疏的能力。


    从函数图形上看,ReLU比sigmoid更接近生物学的激活模型。
    实际测量数据:纵坐标轴是神经元的放电速率(Firing Rate);横轴是毫秒(ms)


    基于生物学的数学规则化激活模型(LIF)

    网上相关的测试数据很多,随便贴一个:


    (Softplus是ReLU的圆滑版,公式为:g(x)=log(1+e^x),从上面的结果看,效果比ReLU稍差)
    ReLU在经历预训练和不经历预训练时的效果差不多,而其它激活函数在不用预训练时效果就差多了。ReLU不预训练和sigmoid预训练的效果差不多,甚至还更好。
    相比之下,ReLU的速度非常快,而且精确度更高。
    因此ReLU在深度网络中已逐渐取代sigmoid而成为主流。


    ReLU导数(分段):
    x <= 0时,导数为0
    x > 0时,导数为1


    softplus的导数刚好是sigmoid:
    g'(x) = e^x/(e^x+1) = 1/(1+e^-x)
  • 相关阅读:
    NOIP2002字串变换[BFS]
    NOIP2000单词接龙[DFS]
    NOIP2003传染病控制[按层DFS]
    NOIP1999邮票面值设计[搜索|DP]
    USACO1.1Broken Necklace[环状DP作死]
    洛谷P1120小木棍[DFS]
    NOIP2000进制转换
    Miller-Rabin素数快速检测
    【数论算法理论与实现】
    洛谷P1141 01迷宫
  • 原文地址:https://www.cnblogs.com/suanec/p/4857457.html
Copyright © 2011-2022 走看看