激活函数相关思考

ReLU

公式:ReLU(x)= max(0, x)

含义概述:取x与0的最大值

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

def relu(x):
   return np.maximum(0, x)

GELU

公式:GELU(x)= x * cdf(x)

含义概述:x乘以x值在正态分布中的概率值,也就是y值

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

def gelu(x):
   return x * norm.cdf(x)

Swish

公式:Swish(x)=  x * sigmoid(x) 

含义:x乘以sigmoid结果,sigmoid类似门控概念,正数趋近于1,负数趋近于0,输入为正数时逐渐趋向于线性变换,而在输入为负数时则具有非线性的抑制效果

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

def swish(x, beta=1):
   return x * (1 / (1 + np.exp(-beta * x)))

GLU

公式:GLU(x)= x ⊗ sigmoid(xW + b)

最终公式:GLU(x)= sigmoid(x A+ b)⊗ (xC + d)

公司计算概述:GLU其实不算是一种激活函数,而是一种神经网络层。它是一个线性变换后面接门控机制的结构。其中门控机制是一个sigmoid函数用来控制信息能够通过多少。

在实际应用中,输入x,W和b会被分为两部分,然后一部分作为激活函数的输入,另一部分直接与激活函数的结果做逐元素乘法。

为了保证整体的参数量不变,会对W,b进行一次大小缩放。

含义概述:GLU的主要作用是引入门控机制,这允许网络选择性地控制信息流过每个神经元的程度。门控机制通过sigmoid函数生成一个介于0到1之间的门控信号,这个信号决定了多少信息应该通过。这种机制有助于缓解梯度消失和爆炸的问题,并且能够增强模型的表达能力,特别是在处理长序列数据时。

GLU通过门控机制实现了自适应的非线性转换,这使得模型能够在训练过程中自动调整每个特征的重要性,从而提高模型的性能。在语言建模和其他序列预测任务中,GLU已经证明了它能够带来显著的性能提升。

SwiGLU

公式:SwiGLU(x)= Swish(xW + b)⊗ (xV + c)

含义概述:更换门控函数为Swish函数,其余和GLU相同。

class FeedForward(nn.Module):
    def __init__(self, dim: int, hidden_dim: int, multiple_of: int, dropout: float):
        super().__init__()
        hidden_dim = multiple_of * ((2 * hidden_dim // 3 + multiple_of - 1) // multiple_of)
        self.w1 = nn.Linear(dim, hidden_dim)
        self.w2 = nn.Linear(hidden_dim, dim)
        self.w3 = nn.Linear(dim, hidden_dim)
        self.dropout = nn.Dropout(dropout)

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        return self.dropout(self.w2(F.silu(self.w1(x)) * self.w3(x)))

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值