SwiGLU激活函数的原理
SwiGLU(Swish Gated Linear Units,Swish⻔控线性单元)是GLU(Gated Linear Units,⻔控线性单元)激活函数的⼀种变体,它将Swish激活函数和GLU结构结合起来,⽤于提升深度学习模型的性能,尤其是在像LLaMA这样的语⾔模型中得到⼴泛应⽤。
1、GLU
GLU激活函数公式
2、Swish
Swish是⼀种近年来提出的、性能优异的激活函数,它的表达式为:

3、SwisGLU
SwiGLU是通过将GLU中的Sigmoid函数替换为Swish函数得到的,其表达式如下:

在这⾥,Swish取代了原有的Sigmoid作为⻔控激活函数,这样就能在更平滑的激活函数下实现类似的⻔控机制。与GLU相⽐,SwiGLU引⼊了更复杂的⾮线性变化,使得⽹络对不同输⼊的响应更加灵活。通过这种⽅式,SwiGLU能够在保持计算效率的同时提升模型的表现。
4 、SwiGLU的优势
ReLU死区指的是ReLU激活函数在输入为负数时,其输出恒为0,且梯度(导数)也为0的区域。处于这个区域的神经元无法被激活,也无法通过梯度下降算法进行更新,就像“死掉”了一样。
5、总结
SwiGLU激活函数作为LLaMA模型的改进之⼀,通过将GLU中的Sigmoid替换为Swish,使得模型在复杂任务中的表现得到了显著提升。其平滑的激活特性、灵活的⾮线性响应以及⻔控机制共同作⽤,提升了模型的表达能⼒和计算效率。