首页 >> 知识 >> 深度学习中的激活函数完全指南:在数据科学的诸多曲线上进行现代之旅

深度学习中的激活函数完全指南:在数据科学的诸多曲线上进行现代之旅

原文:Towards Data Sciencedeephub翻译组:zhangzc

自2012年以来,神经网络研逐渐成为了人工智能研究的主流,深度模型迅速取代了之前的各种benchmarks。在这些创新中,激活函数对神经网络的性能和稳定性起着至关重要的作用。这篇文章将尽可能简要地概述激活函数研究的最新进展,介绍它们的起源以及何时应该被使用。

内容提要激活函数有什么作用?增强函数的非线性能力增强函数特定的数值性质ReLU 类激活函数整流器:ReLU,LeakyReLU,和 PReLU指数类:ELU和SELU非单调类:Swish和SERLU特殊的激活函数线性函数:输出原始数据或进行融合操作Tanh:回归 +L1/L2正则项Sigmoid:二分类 + 二元交叉熵。Softmax:多分类+ 多元交叉熵结语为什么要使用激活函数?

简而言之,激活函数解决了神经网络中的两个关键问题:

确保函数是非线性映射确保某些输出具有蜜桃成人网站入口需要的数值性质,例如,输出值在 [-1, 1] 范围内,或保证输出服从某个概率分布。非线性

要了解为什么需要非线性激活函数,请考虑以下两个函数:f(x)=ax+b和g(x) = (c+d)x + (e + f)。前者只有两个参数a,b,而第二个函数有四个参数c,d,e,f。那么:它们是两个不同的函数吗?

答案是否定的,因为"(c +d)"和"a"实际上是一回事,它们的表达能力相同。例如,如果您选择c = 10和d = 2,我可以选择 a= 12,蜜桃成人网站入口得到相同的结果。"(e + f)"和"b"也是如此。为了使g(x)拥有更强的表示能力,它的四个参数不能那样组合在一起。在数学中,这意味着这些参数之间的关系必须是非线性的。例如,h(x) = sin(cx + d) + fx + e是具有四个参数的非线性模型。

在神经网络中,如果网络的每层都是线性映射,那么这些层组合起来依然是线性的。因此,多层的线性映射复合后实际上只是起到了一层的效果。为了使网络的映射不是线性的,所有层的输出都要传递到非线性函数中,如 ReLU 函数和 Tanh 函数,这样作用之后就成为了非线性函数。

数值性质

当回答"图像中是否有存在人脸"时,false 被建模为0,true被为1。给定一张图像,如果网络输出为 0.88,则表示网络回答为true,因为 0.88 更接近于 1 而不是0。但是,当网络的输出是 2 或 -7时。蜜桃成人网站入口如何保证其答案在 [0, 1] 范围内?

为此,蜜桃成人网站入口可以设计激活函数来保证输出满足这些数值性质。对于二分类,sigmoid函数σ(x)将[-∞,-∞]内的值映射到 [0, 1] 范围内。同样,双曲切线函数 (tanh(x))将[-∞,-∞]内的值映射到 [-1, 1]。对于使用独热编码的分类数据,softmax函数将所有值压缩到 [0, 1] 内,并确保它们都加起来为 1。

通常只有网络的最后一层(输出层)中需要用到这些数值性质,因为它是唯一需要特殊处理的图层。对于其他的网络层,可以使用更简单的非线性函数,例如 ReLU 。虽然在某些情况下,网络中间层需要特殊激活函数,例如目标检测模型和attention层,但这些并不常见,因此不在

网站地图