肥宅钓鱼网
当前位置: 首页 钓鱼百科

神经网络预测数据库(26种神经网络激活函数可视化)

时间:2023-08-22 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

它是完全可微分的,反对称,对称中心在原点。和LeakyReLU以及PReLU很相似,为负值输入添加了一个线性项。但这也意味着,导数的计算比Tanh更加昂贵。与ReLU不同,SoftPlus的导数是连续的、非零的,无处不在,从而防止出现静默神经元。然而,SoftPlus另一个不同于ReLU的地方在于其不对称性,不以零为中心,这兴许会妨碍学习。它允许非线性行为,尽管其非零导数有效提升了学习并克服了与ReLU相关的静默神经元的问题。

选自GitHub

作者:David Sheehan

机器之心编译

在本文中,作者对包括 Relu、Sigmoid 在内的 26 种激活函数做了可视化,并附上了神经网络的相关属性,为大家了解激活函数提供了很好的资源。

在神经网络中,激活函数决定来自给定输入集的节点的输出,其中非线性激活函数允许网络复制复杂的非线性行为。正如绝大多数神经网络借助某种形式的梯度下降进行优化,激活函数需要是可微分(或者至少是几乎完全可微分的)。此外,复杂的激活函数也许产生一些梯度消失或爆炸的问题。因此,神经网络倾向于部署若干个特定的激活函数(identity、sigmoid、ReLU 及其变体)。

下面是 26 个激活函数的图示及其一阶导数,图的右侧是一些与神经网络相关的属性。

1. Step

激活函数 Step 更倾向于理论而不是实际,它模仿了生物神经元要么全有要么全无的属性。它无法应用于神经网络,因为其导数是 0(除了零点导数无定义以外),这意味着基于梯度的优化方法并不可行。

2. Identity

通过激活函数 Identity,节点的输入等于输出。它完美适合于潜在行为是线性(与线性回归相似)的任务。当存在非线性,单独使用该激活函数是不够的,但它依然可以在最终输出节点上作为激活函数用于回归任务。

3. ReLU

修正线性单元(Rectified linear unit,ReLU)是神经网络中最常用的激活函数。它保留了 step 函数的生物学启发(只有输入超出阈值时神经元才激活),不过当输入为正的时候,导数不为零,从而允许基于梯度的学习(尽管在 x=0 的时候,导数是未定义的)。使用这个函数能使计算变得很快,因为无论是函数还是其导数都不包含复杂的数学运算。然而,当输入为负值的时候,ReLU 的学习速度可能会变得很慢,甚至使神经元直接无效,因为此时输入小于零而梯度为零,从而其权重无法得到更新,在剩下的训练过程中会一直保持静默。

4. Sigmoid

Sigmoid 因其在 logistic 回归中的重要地位而被人熟知,值域在 0 到 1 之间。Logistic Sigmoid(或者按通常的叫法,Sigmoid)激活函数给神经网络引进了概率的概念。它的导数是非零的,并且很容易计算(是其初始输出的函数)。然而,在分类任务中,sigmoid 正逐渐被 Tanh 函数取代作为标准的激活函数,因为后者为奇函数(关于原点对称)。

5. Tanh

在分类任务中,双曲正切函数(Tanh)逐渐取代 Sigmoid 函数作为标准的激活函数,其具有很多神经网络所钟爱的特征。它是完全可微分的,反对称,对称中心在原点。为了解决学习缓慢和/或梯度消失问题,可以使用这个函数的更加平缓的变体(log-log、softsign、symmetrical sigmoid 等等)

6. Leaky ReLU

经典(以及广泛使用的)ReLU 激活函数的变体,带泄露修正线性单元(Leaky ReLU)的输出对负值输入有很小的坡度。由于导数总是不为零,这能减少静默神经元的出现,允许基于梯度的学习(虽然会很慢)。

7. PReLU

参数化修正线性单元(Parameteric Rectified Linear Unit,PReLU)属于 ReLU 修正类激活函数的一员。它和 RReLU 以及 Leaky ReLU 有一些共同点,即为负值输入添加了一个线性项。而最关键的区别是,这个线性项的斜率实际上是在模型训练中学习到的。

8. RReLU

随机带泄露的修正线性单元(Randomized Leaky Rectified Linear Unit,RReLU)也属于 ReLU 修正类激活函数的一员。和 Leaky ReLU 以及 PReLU 很相似,为负值输入添加了一个线性项。而最关键的区别是,这个线性项的斜率在每一个节点上都是随机分配的(通常服从均匀分布)。

9. ELU

指数线性单元(Exponential Linear Unit,ELU)也属于 ReLU 修正类激活函数的一员。和 PReLU 以及 RReLU 类似,为负值输入添加了一个非零输出。和其它修正类激活函数不同的是,它包括一个负指数项,从而防止静默神经元出现,导数收敛为零,从而提高学习效率。

10. SELU

扩展指数线性单元(Scaled Exponential Linear Unit,SELU)是激活函数指数线性单元(ELU)的一个变种。其中λ和α是固定数值(分别为 1.0507 和 1.6726)。这些值背后的推论(零均值/单位方差)构成了自归一化神经网络的基础(SNN)。

11. SReLU

S 型整流线性激活单元(S-shaped Rectified Linear Activation Unit,SReLU)属于以 ReLU 为代表的整流激活函数族。它由三个分段线性函数组成。其中两种函数的斜度,以及函数相交的位置会在模型训练中被学习。

12. Hard Sigmoid

Hard Sigmoid 是 Logistic Sigmoid 激活函数的分段线性近似。它更易计算,这使得学习计算的速度更快,尽管首次派生值为零可能导致静默神经元/过慢的学习速率(详见 ReLU)。

13. Hard Tanh

Hard Tanh 是 Tanh 激活函数的线性分段近似。相较而言,它更易计算,这使得学习计算的速度更快,尽管首次派生值为零可能导致静默神经元/过慢的学习速率(详见 ReLU)。

14. LeCun Tanh

LeCun Tanh(也被称作 Scaled Tanh)是 Tanh 激活函数的扩展版本。它具有以下几个可以改善学习的属性:f(± 1) = ±1;二阶导数在 x=1 最大化;且有效增益接近 1。

15. ArcTan

视觉上类似于双曲正切(Tanh)函数,ArcTan 激活函数更加平坦,这让它比其他双曲线更加清晰。在默认情况下,其输出范围在-π/2 和π/2 之间。其导数趋向于零的速度也更慢,这意味着学习的效率更高。但这也意味着,导数的计算比 Tanh 更加昂贵。

16. Softsign

Softsign 是 Tanh 激活函数的另一个替代选择。就像 Tanh 一样,Softsign 是反对称、去中心、可微分,并返回-1 和 1 之间的值。其更平坦的曲线与更慢的下降导数表明它可以更高效地学习。另一方面,导数的计算比 Tanh 更麻烦。

17. SoftPlus

作为 ReLU 的一个不错的替代选择,SoftPlus 能够返回任何大于 0 的值。与 ReLU 不同,SoftPlus 的导数是连续的、非零的,无处不在,从而防止出现静默神经元。然而,SoftPlus 另一个不同于 ReLU 的地方在于其不对称性,不以零为中心,这兴许会妨碍学习。此外,由于导数常常小于 1,也可能出现梯度消失的问题。

18. Signum

激活函数 Signum(或者简写为 Sign)是二值阶跃激活函数的扩展版本。它的值域为 [-1,1],原点值是 0。尽管缺少阶跃函数的生物动机,Signum 依然是反对称的,这对激活函数来说是一个有利的特征。

19. Bent Identity

激活函数 Bent Identity 是介于 Identity 与 ReLU 之间的一种折衷选择。它允许非线性行为,尽管其非零导数有效提升了学习并克服了与 ReLU 相关的静默神经元的问题。由于其导数可在 1 的任意一侧返回值,因此它可能容易受到梯度爆炸和消失的影响。

20. Symmetrical Sigmoid

Symmetrical Sigmoid 是另一个 Tanh 激活函数的变种(实际上,它相当于输入减半的 Tanh)。和 Tanh 一样,它是反对称的、零中心、可微分的,值域在 -1 到 1 之间。它更平坦的形状和更慢的下降派生表明它可以更有效地进行学习。

21. Log Log

Log Log 激活函数(由上图 f(x) 可知该函数为以 e 为底的嵌套指数函数)的值域为 [0,1],Complementary Log Log 激活函数有潜力替代经典的 Sigmoid 激活函数。该函数饱和地更快,且零点值要高于 0.5。

22. Gaussian

高斯激活函数(Gaussian)并不是径向基函数网络(RBFN)中常用的高斯核函数,高斯激活函数在多层感知机类的模型中并不是很流行。该函数处处可微且为偶函数,但一阶导会很快收敛到零。

23. Absolute

顾名思义,绝对值(Absolute)激活函数返回输入的绝对值。该函数的导数除了零点外处处有定义,且导数的量值处处为 1。这种激活函数一定不会出现梯度爆炸或消失的情况。

24. Sinusoid

如同余弦函数,Sinusoid(或简单正弦函数)激活函数为神经网络引入了周期性。该函数的值域为 [-1,1],且导数处处连续。此外,Sinusoid 激活函数为零点对称的奇函数。

25. Cos

如同正弦函数,余弦激活函数(Cos/Cosine)为神经网络引入了周期性。它的值域为 [-1,1],且导数处处连续。和 Sinusoid 函数不同,余弦函数为不以零点对称的偶函数。

26. Sinc

Sinc 函数(全称是 Cardinal Sine)在信号处理中尤为重要,因为它表征了矩形函数的傅立叶变换(Fourier transform)。作为一种激活函数,它的优势在于处处可微和对称的特性,不过它比较容易产生梯度消失的问题。

,
    推荐阅读
  • 完美世界精灵内丹怎么使用(怎么升级)

    以下内容希望对你有帮助!完美世界精灵内丹怎么使用首先,A级和S级精灵需要达到90级并且成长率和资质达到指定要求后,才可进行突破,每次突破后精灵都将获得全新外观。接着,精灵突破后即可开启内丹功能,并解锁相应的内丹槽位,每个精灵最多解锁5个槽位。每个精灵内丹都可以通过吞噬对应材料来提高内丹经验,内丹经验吞噬满以后,再消耗对应数量的同种精灵内丹就可成功升级,内丹最高可升至5级。

  • 如何培养幼儿的行为习惯详细方案(培养幼儿良好的行为习惯)

    而幼儿良好行为习惯的形成需要来自家庭、幼儿园、社会等多方面的共同努力。满以为这是对孩子爱的表现,殊不知这种“爱”泯灭了孩子的主动性和创造性,剥夺了孩子实现自我价值的机会,成为一个缺乏进取的人。如,家人吃水果时,孩子主动将大苹果让给长辈吃,家长要予以肯定,表扬鼓励,久而久之,孩子尊老爱幼的美德敬爱得到形成与巩固。

  • 黑松露解冻方法(黑松露介绍)

    黑松露解冻方法黑松露一般分为两种解冻方法。一种是自然解冻,一个是快速解冻。黑松露,也称块菌,是一种生长于地下的野生食用真菌,外表崎岖不平。生长环境松露对生长环境非常挑剔,只要阳光、水分或者土壤的酸碱值稍有变化就无法生长,是世界上唯一不能进行整齐有序种植的美味佳肴。松露主要生长在松树、橡树、榛树、山毛榉和橙树下,这是因为松露不能进行光合作用,无法独立存活,必须借助与某些树根之间的共生关系获取养分。

  • 宜怎么组词(宜的词语)

    下面内容希望能帮助到你,我们来一起看看吧!宜的古字形一般认为像砧板上放着两块肉的样子,本义是菜肴,一说本义为祭名。有饱饭吃,而且有肉吃,生活自然是惬意的。故宜引申为相宜、适宜,又引申为适合、适当、应当、应该的意思。“宜”还由适宜、适合引申有美善义。

  • 怎么做牛奶布丁(牛奶布丁的做法)

    接下来我们就一起去了解一下吧!怎么做牛奶布丁牛奶布丁粉1盒、鲜牛奶2盒、鸡蛋1只。布丁料里有配好的糖浆,先倒在成型的容器里垫底。将牛奶,蛋黄,和布丁粉在小锅里混合,用搅拌器搅均匀。加热混合的材料,沸腾后用小火再煮1分钟,煮的时候要不断地搅拌。煮好后倒入放好糖浆的容器,稍凉。放入冰箱,冷藏1个小时以上就大功告成啦。

  • 练马甲线要吃什么水果(练马甲线吃什么水果好)

    在训练结束后吃上一根香蕉,能够及时补充人体急需的钾。而橙子中是富含维生素C的,能帮助增加抵抗力,同时可以将脂溶性有害物质排出体外。牛油果,马甲线是需要体脂降到20%才会显现出来的,而牛油果提供健康的脂肪、纤维和叶酸,这些都可以维持长时间的饱腹感,也有助于防止人们暴饮暴食。每天适量的食用牛油果,摄入健康的脂肪,这对健康、均衡的饮食是至关重要的,不仅不会导致肥胖,还可以起到一定的减脂效果。

  • 沙特建造121公里建筑(沙特阿拉伯想建一座长近120公里的大楼)

    当地时间7月25日,新未来城官网上揭晓一个名为“线”的城中城计划细节。“镜线”预计长近120公里,可容纳500万人。据其消息,“镜线”将由两座高约490米、互相平行的镜面建筑物组成,延伸近120公里,横跨海岸、沙漠和山,“镜线”下方将会有高速列车运行其间。外媒评价称,高油价带来的意外收入,使沙特阿拉伯王室得以投资“镜线”这类雄心勃勃的项目。去年4月,还有一名居民因拒绝搬离遭沙特安全部队枪击而亡。

  • 罗氏虾的功效与作用及禁忌(罗氏虾的功效作用以及注意事项)

    罗氏虾的功效与作用及禁忌罗氏虾有如下功效作用。食用罗氏虾不能与如下食物一起吃。

  • 为什么蟑螂不能直接打死 蟑螂可以直接打死么

    蟑螂是携带病菌最多的害虫之一,打蟑螂时避免用手,可选择苍蝇拍、鞋子、或其它物品。打死后应及时清理蟑螂的尸体和拍打蟑螂的物品。蟑螂喜欢选择温暖、潮湿、食物丰富和多缝隙的场所栖居,这就是它们孳生所需要的4个基本条件。凡是有人生活和居住的建筑物内,一般都具有这些条件,所以蟑螂就成了侵害千家万户的卫生害虫。不难发现,不管在饭店、家庭,还是在火车、轮船上,厨房总是侵害最严重的场所。

  • 曲麻菜的种植技术要注意什么,曲麻菜好养吗,怎么养殖比较好

    曲麻菜,是一种多年生药用植物。种子应保存在密封干燥的环境中,以减少呼吸,避免因失水而过度干燥。然而,栽培追求品质,自然提供最好的生长环境。但在播种前,需要对土壤进行充分耕作,防止大块泥块影响种子发芽,土壤需要干燥,防止地下害虫。开挖后,温度可适当提高到30℃。羽化后不能接受强光,一般在弱光下生长较好。通过上面的介绍,大家应该大概应该知道怎么种曲麻菜了。