国外获奖flash网站,泉州网站制作专业,阿里云服务器做盗版视频网站,美术网站建设本文由「大千AI助手」原创发布#xff0c;专注用真话讲AI#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我#xff0c;一起撕掉过度包装#xff0c;学习真实的AI技术#xff01; 1 Swish激活函数概述
Swish是一种自适应激活函数#xff0c;由Googl… 本文由「大千AI助手」原创发布专注用真话讲AI回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我一起撕掉过度包装学习真实的AI技术 1 Swish激活函数概述
Swish是一种自适应激活函数由Google Research团队在2017年提出其基本形式定义为f(x) x · σ(x)其中σ表示sigmoid函数。Swish的设计受到了长短期记忆网络LSTM 和高速公路网络highway network 中使用sigmoid函数进行门控的启发。作为一种自门控激活函数Swish使用相同的标量输入进行门控计算简化了门控机制的同时保持了强大的表达能力。
Swish激活函数具有光滑性、非单调性和无上界有下界的特点。与传统的ReLU激活函数相比Swish在所有点都是平滑可导的这有助于优化过程的稳定性。当输入为负值时Swish会产生小幅负输出而不是像ReLU那样直接截断为零这种特性可能有助于保持信息的流动。
大量实验表明Swish在深度神经网络中表现出色在ImageNet数据集上Swish为Mobile NASNet-A带来了0.9% 的top-1准确率提升为Inception-ResNet-v2带来了0.6% 的提升。Swish的简单性和与ReLU的相似性使其能够轻松替换现有网络中的激活函数无需改变模型的隐藏容量或参数数量。 本文由「大千AI助手」原创发布专注用真话讲AI回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我一起撕掉过度包装学习真实的AI技术 往期文章推荐:
20.康威生命游戏零玩家游戏的元胞自动机奇迹19.梯度范数概念、性质、应用与算法实现18.LSTM长短期记忆网络的原理、演进与应用17.古德-杰弗里斯悖论贝叶斯统计中的先验选择难题16.BRLESC计算机美国弹道研究实验室的科学计算先驱15.磁带记录仪从磁带到数字的数据存储之旅14.振荡器从基础原理到大模型计算的时钟心脏13.SuperGLUE自然语言理解的挑战与进步12.奇异值数据科学的数学基石与应用核心11.GLUE自然语言理解评估的黄金基准10.MMLU衡量大语言模型多任务理解能力的黄金基准9.低秩矩阵揭示高维数据中的简约之美8.低秩分解技术从理论到应用的全方位解读7.DROP挑战机器离散推理能力的阅读 comprehension 基准6.Frank-Wolfe算法深入解析与前沿应用5.SQuAD机器阅读理解领域的里程碑数据集4.图灵完备性计算理论的基石与无限可能3.CrowS-Pairs衡量掩码语言模型中社会偏见的挑战数据集2.Pairwise排序损失让机器学会排序的艺术1.Winogender衡量NLP模型性别偏见的基准数据集
2 历史背景与发展历程
Swish激活函数的发展经历了几个重要阶段。它最初作为Sigmoid-weighted Linear Unit (SiLU) 在2016年的GELU论文中被提出。2017年该函数在强化学习领域被重新提出为Sigmoid-weighted Linear Unit (SiL)。2017年末Google Research团队的Prajit Ramachandran、Barret Zoph和Quoc V. Le通过自动搜索技术重新发现了这一激活函数并将其命名为Swish。
Google团队使用自动机器学习技术搜索最佳激活函数通过结合穷尽搜索和强化学习方法发现了多个表现优异的激活函数。研究结果表明复杂的激活函数性能通常不如简单的激活函数最佳激活函数可以用1或2个核心单元表示。优秀的激活函数通常具有共同结构使用原始预激活x作为最终二进制函数的输入即b(x, g(x))。
Swish与其他激活函数的关系十分有趣。当Swish中的参数β1时Swish等价于SiLU激活函数。当β0时Swish退化为线性函数f(x) x/2。当β→∞时Swish趋近于ReLU函数。这种灵活性使Swish能够平滑地在线性函数和ReLU函数之间进行插值。
表Swish发展历程主要事件
年份事件贡献者名称2016首次提出Hendrycks等SiLU2017强化学习应用Elfwing等SiL2017自动搜索发现Google ResearchSwish
3 Swish的核心概念
3.1 数学定义
Swish激活函数的数学定义为
f(x) x · σ(x)
其中σ(x)是sigmoid函数定义为
σ(x) 1 / (1 e⁻ˣ)
Swish也可以定义为参数化版本引入可调节的参数β
f(x) x · σ(βx)
参数β控制着函数的形状当β0时函数变为线性函数f(x) x/2当β1时函数变为标准Swish/SiLU当β→∞时函数趋近于ReLU。
3.2 导数计算
Swish的导数计算如下
f’(x) σ(βx) βx · σ(βx)(1 - σ(βx))
对于最常用的SiLUβ1的情况导数公式简化为
f’(x) σ(x)(1 x(1 - σ(x)))
Swish的导数具有几个重要特性在x0处的值为1/2在某些区域可以大于1这使得梯度在反向传播时可能被放大导数是平滑的有助于优化过程的稳定性。
3.3 门控机制解释
Swish的设计受到门控机制的启发。在LSTM和高速公路网络中sigmoid函数用于控制信息流动的量。Swish采用自门控机制使用相同的标量输入进行门控而不是像传统门控那样需要多个标量输入。这种自门控特性使Swish能够轻松替换以单个标量作为输入的激活函数如ReLU而无需改变隐藏容量或参数数量。
4 Swish的特性与优势分析
4.1 平滑性与非单调性
Swish是一个平滑函数在所有点都是连续可导的。这与ReLU不同ReLU在x0处不可导。平滑性有助于优化过程的稳定性使训练更加顺畅。
Swish还是一个非单调函数当x0时函数曲线先下降后上升这与大多数传统激活函数不同。非单调性可能是Swish表现优异的一个重要原因尽管这一特性的确切影响尚不完全清楚。
4.2 无界性与有界性
Swish无上界但有下界。当x→∞时Swish→∞当x→-∞时Swish→0。无界性有利于防止在训练缓慢时梯度逐渐趋于0造成饱和问题。同时有下界的特性提供了较强的正则化效果较大的负输入会被化解。
4.3 与ReLU的对比
与ReLU相比Swish有几个重要区别
平滑性Swish在所有点都是平滑的而ReLU在x0处不可导负值区域Swish允许少量负值通过这可能有助于信息流动有界性当x→-∞时Swish趋近于0而不是像ReLU那样直接截断
这些特性使Swish在多数情况下能够比ReLU取得更好的性能尤其是在深层网络中。
4.4 与GELU的对比
GELUGaussian Error Linear Units是另一种与Swish相似的激活函数定义为GELU(x) x · Φ(x)其中Φ(x)是标准正态分布的累积分布函数。
Swish和GELU有一些共同点
都是平滑函数都可以看作是输入值被某个概率函数加权的结果在实际应用中性能相近
主要区别包括
计算复杂度Swish的计算相对更简单概率解释GELU使用高斯分布而Swish使用Sigmoid函数参数化Swish引入了可学习参数β
表Swish与其他激活函数特性比较
特性SwishReLUGELUSigmoid平滑性是否是是单调性否是否是无上界是是是否有下界是否是否计算复杂度中等低高中等
5 Swish的应用实践
5.1 计算机视觉中的应用
Swish在计算机视觉任务中表现出色。在ImageNet数据集上Swish为Mobile NASNet-A带来了0.9% 的top-1准确率提升为Inception-ResNet-v2带来了0.6% 的提升。Swish特别适合与局部响应归一化结合使用并且在40层以上的全连接网络中Swish的效果远优于其他激活函数。
研究表明Swish在更深的神经网络中优势更加明显。在40层全连接网络之内Swish与其他激活函数的性能差距不明显但在更深层的网络中Swish表现出显著优势。
5.2 自然语言处理中的应用
在自然语言处理领域Swish也取得了成功应用。Swish的变体SwishGLU成为了LLaMA系列模型FFN层的首选激活函数。SwishGLU结合了Swish激活函数和门控线性单元GLU定义为
SwishGLU(x) Swish(xW b) ⊙ (xV c)
其中⊙表示元素级乘法W和V是权重矩阵。
5.3 实现方式
在大多数深度学习框架中Swish的实现非常简单。在TensorFlow中Swish可以通过一行代码实现
# TensorFlow 实现
import tensorflow as tf
def swish(x):return x * tf.sigmoid(x)或者直接使用内置函数
# 使用TensorFlow内置Swish
tf.nn.silu(features, beta1.0) # Silu是Swish的别名在PyTorch中Swish的实现也很简单
# PyTorch 实现
import torch
def swish(x):return x * torch.sigmoid(x)5.4 使用技巧
在使用Swish时有几个实用技巧值得注意
如果使用BatchNorm应设置缩放参数scale parameter。由于ReLU是分段线性函数一些高级库默认关闭缩放参数但这种设置不适用于Swish在训练Swish网络时稍微降低用于训练ReLU网络的学习率效果很好参数β可以作为可训练参数让网络自动学习最佳值 本文由「大千AI助手」原创发布专注用真话讲AI回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我一起撕掉过度包装学习真实的AI技术