神经网络已被证明是解决许多生活领域中复杂问题的一种高效工具。最近,随着深度学习的出现,它们的重要性和实用性得到了进一步的加强。神经网络成功的一个重要条件是选择合适的激活函数,为模型引入非线性。过去的文献中提出了许多类型的这些函数,但没有一个全面的来源包含了它们的详尽概述。即使根据我们的经验,这个概述的缺失导致了冗余和无意中重新发现已经存在的激活函数。为了弥补这一缺口,我们的论文提出了一个涉及400种激活函数的广泛综述,其规模是之前综述的几倍。我们的综合编纂还引用了这些综述;然而,其主要目标是提供最全面的激活函数已发表概述和系统化,并链接到它们的原始来源。次要目标是更新对这一函数家族的当前理解。
神经网络 — 尤其是深度学习 — 在解决各个领域中的多样化挑战上表现出了显著的成功。它们被视为最先进的方法,展示了它们解决复杂和错综复杂问题的能力。在这些网络的核心,激活函数(AFs)通过为神经网络层引入非线性而发挥着重要作用。在没有非线性AFs的情况下,典型的神经网络将只能模拟输入的加权和,限制了它们捕获数据内部复杂关系的能力。
激活函数的选择深刻影响网络的学习和泛化能力,直接影响其在一系列任务中的性能。有效的激活函数具有几个关键特性,如Dubey, Singh, 和 Chaudhuri在[1]中概述的:a) 引入非线性曲率以增强训练收敛性;b) 在训练期间保持无阻碍的梯度流;c) 确保对模型计算复杂性的最小增加;d) 保持数据分布以优化网络训练。
在过去三十年的文献中提出了许多激活函数 — 有些在计算复杂性或性能方面比其他函数更高。然而,激活函数的进一步研究受到了缺乏整合列表的阻碍。这一缺口导致了无意中重新发明现有激活函数和独立提出相同或非常相似的函数,从而导致研究资源的浪费。即使是像Dubey, Singh, 和 Chaudhuri [1] 和 Apicella等人[2]这样的综合性调查和回顾,经常遗漏文献中存在的许多激活函数;此外,这些回顾也有些过时,自那以后出现了许多新的激活函数。这种疏忽可能导致一个AF被冗余地提出为新颖,尽管它之前已经在文献中被介绍 — 例如,修正幂单元(RePU)(第3.6.39节),双参数ReLU(DPReLU)(第4.2.20节),截断修正线性单元(TRec)(第3.6.21节),ReLU-Swish(第3.6.46节)和有界ReLU(BReLU)(第3.6.16节)。通过提供更广泛的激活函数列表,我们旨在避免这种冗余,并促进神经网络中激活函数研究的更快进展。 为了解决这个问题,我们努力提供一个广泛且整合的AFs列表。这项调查旨在防止冗余,消除重新发明已建立AFs的现象,以促进创新,并加速神经网络领域研究的进步。通过提供一个综合资源,我们旨在促进该领域内探索AFs的效率和创新。
重要的是,我们的贡献主要集中在提供一个全面的AFs列表,而不是进行广泛的基准测试或深入分析。编译的广度包括了广泛的AFs,使得详细的基准测试或更深入的分析超出了本项工作的范围。我们的目标是为研究人员提供一个基础资源,以便在选择神经网络的AFs时做出明智的决策,认识到更彻底的探索或详细分析将需要超出这个全面列表范围的专门和集中的努力。所呈现的概述仅限于实值激活函数;复值神经网络(例如,[3–16],简要概述可见于[17, 18]),双复值神经网络(例如,[19]),四元数值神经网络(例如,[20–24]),光子神经网络(例如,[25]),模糊神经网络(例如,[26–31]),概率布尔逻辑的AFs(例如,[32]),量子AFs(例如,[33])等超出了本工作的范围。1 我们选择将AFs分为两大类:固定AFs(第3节)和自适应激活函数(AAFs)(第4节),后者具有一个在网络中与其他权重一起训练的参数。虽然存在AFs在实质上是相同的情况,只是在是否存在特定的自适应参数方面有所不同(例如,swish(见第4.4.1节)和SiLU(见第3.3节)),这种分类证明是有价值的。AAFs凭借其参数化,提供了在训练过程中捕获数据内复杂关系的额外灵活性层。