常用激活函数总结

1. 经典激活函数

Sigmoid

  • 公式σ(x)=11+e−x\sigma(x) = \frac{1}{1 + e^{-x}}σ(x)=1+ex1
  • 特点:输出范围(0,1),平滑可导,适合概率输出。
  • 缺点:梯度消失、计算复杂度高、输出非零中心。
  • 适用场景:二分类输出层(如逻辑回归)。

Tanh

  • 公式tanh⁡(x)=ex−e−xex+e−x\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}tanh(x)=ex+exexex
  • 特点:输出范围(-1,1),零中心化,梯度强于Sigmoid。
  • 缺点:梯度消失问题仍存在。
  • 适用场景:RNN隐藏层、需要对称输出的场景。

ReLU

  • 公式f(x)=max⁡(0,x)f(x) = \max(0, x)f(x)=max(0,x)
  • 特点:计算高效,缓解梯度消失,稀疏激活。
  • 缺点:神经元死亡(负输入梯度为0),输出非零中心。
  • 适用场景:CNN/MLP隐藏层(如ResNet、AlexNet)

LeakyReLU

  • 公式f(x)=max⁡(αx,x)f(x) = \max(\alpha x, x)f(x)=max(αx,x)α=0.01\alpha=0.01α=0.01
  • 特点:解决ReLU死亡问题,负区引入小斜率。
  • 适用场景:替代ReLU,尤其深层网络。

2. 现代激活函数

GeLU(高斯误差线性单元)

数学表达式

GeLU(x)=x⋅Φ(x)=x⋅12[1+erf(x2)] \text{GeLU}(x) = x \cdot \Phi(x) = x \cdot \frac{1}{2} \left[1 + \text{erf}\left(\frac{x}{\sqrt{2}}\right)\right] GeLU(x)=xΦ(x)=x21[1+erf(2x)]

其中:

  • Φ(x)\Phi(x)Φ(x):标准正态分布的累积分布函数
  • erf(x)\text{erf}(x)erf(x):误差函数,2π∫0xe−t2dt\frac{2}{\sqrt{\pi}} \int_0^x e^{-t^2} dtπ20xet2dt

Swish

  • 公式f(x)=x⋅σ(βx)f(x) = x \cdot \sigma(\beta x)f(x)=xσ(βx)β=1\beta=1β=1时为SiLU)
  • 特点:平滑、非单调,自适应梯度。
  • 适用场景:替代ReLU,轻量级模型。

Mish

  • 公式f(x)=x⋅tanh⁡(ln⁡(1+ex))f(x) = x \cdot \tanh(\ln(1 + e^x))f(x)=xtanh(ln(1+ex))
  • 特点:更平滑的Swish变体,避免梯度截断。
  • 适用场景:计算机视觉任务。

3. 门控机制激活函数

GLU(门控线性单元)

  • 公式GLU(x)=(W1x+b1)⊗σ(W2x+b2)\text{GLU}(x) = (W_1x + b_1) \otimes \sigma(W_2x + b_2)GLU(x)=(W1x+b1)σ(W2x+b2)
  • 特点:动态调节特征重要性,参数量翻倍。
  • 适用场景:NLP任务(如机器翻译)。

SwiGLU

  • 公式SwiGLU(x)=(W1x)⊗Swish(W2x)\text{SwiGLU}(x) = (W_1x) \otimes \text{Swish}(W_2x)SwiGLU(x)=(W1x)Swish(W2x)
  • 特点:结合Swish平滑性和门控机制,性能优于GLU。
  • 适用场景:大语言模型FFN层(如LLaMA、PaLM)。

4. 多分类专用

Softmax

  • 公式Softmax(xi)=exi∑jexj\text{Softmax}(x_i) = \frac{e^{x_i}}{\sum_j e^{x_j}}Softmax(xi)=jexjexi
  • 特点:输出概率分布,总和为1。
  • 适用场景:多分类输出层.

选择建议

需求推荐激活函数
计算效率ReLU/LeakyReLU
深层网络稳定性GeLU/Swish
动态特征选择GLU/SwiGLU
概率输出Sigmoid/Softmax
硬件优化ReLU(易于融合计算)

注:门控类激活函数(如SwiGLU)虽性能优,但计算量较大,需权衡效率与效果。

<think>嗯,用户想了解TCN中常用激活函数。我需要先回忆一下TCN的结构和相关论文中的内容。根据之前的引用,比如引用[2]提到了σ(·)和ReLU(),而引用[3]提到TCN块中使用ReLU激活函数。还有引用[4]中的MS-TCN可能也用了类似的激活函数。首先,TCN通常使用一维卷积,特别是因果卷积,保证时间上的因果关系。激活函数方面,ReLU应该是最常见的,因为它能缓解梯度消失问题,计算效率高。比如在TCN的每个卷积层后接ReLU,这在很多模型中都是标准做法。 然后,可能还有其他激活函数,比如Leaky ReLU,用来解决ReLU的神经元死亡问题。还有引用中提到FC层后有ReLU,比如在输入处理部分。另外,有些变体可能会用GELU,但不确定是否属于“常用”范畴。还需要考虑残差连接中的激活函数位置,通常是在卷积之后,归一化之前还是之后?比如先卷积,再激活,再归一化,或者相反。不过根据引用[3],FC层后是层归一化加ReLU,可能结构是FC→层归一化→ReLU。而TCN块中的结构可能类似,卷积后接激活函数。另外,是否在每一层都使用激活函数?比如每个膨胀卷积单元后都跟ReLU。论文中的描述可能需要确认,但用户问题比较宽泛,所以可以概括主要使用的类型,并举例说明。还要注意是否有论文中提到其他激活函数的应用,比如Sigmoid或Tanh,但这类可能在TCN中较少见,因为ReLU更适合深层网络。不过如果用户问的是“常用”,重点还是ReLU及其变体。 总结一下,TCN常用激活函数包括ReLU、LeakyReLU,可能还有GELU。需要引用相关文献支持,比如引用[2]和[3]中的内容。此外,可以提到激活函数的位置和应用场景,比如在卷积层后或全连接层后使用。</think>### TCN中常用激活函数 在时间卷积网络(Temporal Convolutional Network, TCN)中,激活函数的选择直接影响模型的非线性表达能力和训练效率。以下是TCN中常用激活函数及其应用场景: 1. **ReLU(Rectified Linear Unit)** - **公式**: $f(x) = \max(0, x)$ - **特点**: 计算高效,能缓解梯度消失问题,是TCN中最常见的激活函数。例如,TCN的卷积层后通常接ReLU以增强非线性[^2][^3]。 - **应用场景**: 用于卷积层、全连接层后,如TCN块中的一维因果卷积单元后[^3]。 2. **Leaky ReLU** - **公式**: $f(x) = \begin{cases} x & \text{if } x \geq 0 \\ \alpha x & \text{if } x < 0 \end{cases}$($\alpha$为小常数,如0.01) - **特点**: 解决ReLU的“神经元死亡”问题,适用于需要更稳定梯度的场景。 - **应用场景**: 部分TCN变体在深层网络中替换ReLU以提升鲁棒性。 3. **GELU(Gaussian Error Linear Unit)** - **公式**: $f(x) = x \cdot \Phi(x)$($\Phi(x)$为标准正态分布的累积分布函数) - **特点**: 通过概率建模引入非线性,适合复杂时序依赖建模。 - **应用场景**: 部分改进型TCN(如结合自适应注意力的模型)可能采用[^3]。 4. **Sigmoid/Tanh** - **特点**: 在TCN中使用较少,因饱和区梯度消失问题明显,但可能用于特定输出层(如二分类任务)。 --- ### 激活函数在TCN中的典型结构示例 以引用[3]中的TCN块为例,其结构如下: 1. 输入经过一维因果膨胀卷积。 2. 卷积输出通过**ReLU激活函数**。 3. 应用层归一化(LayerNorm)。 4. 重复堆叠N个此类块以构建深层网络。 --- ### 总结 - **最常用**: ReLU及其变体(如Leaky ReLU)是TCN的核心激活函数,因其平衡了效率和性能[^2][^3]。 - **扩展应用**: 改进模型中可能尝试GELU等新型函数,但需结合具体任务验证效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值