PaLM中使用的激活函数:SwiGLU
relu激活函数:
\[ReLU(x)=max(0, x)
\]
GeLU激活函数:
\[GeLU=x\Phi(x)=x\int_{-\infty}^{x}\frac{1}{\sqrt{2\pi}}e^{-\frac{t^{2}}{2}}dt=x\cdot \frac{1}{2}[1+erf(\frac{x}{\sqrt{2}})]
\]
其中erf为误差函数。
Swish激活函数:
\[Swish=x\cdot sigmoid(\beta x)
\]
我们不难发现,激活函数就是对x乘以一些数,以对某些值进行约束。
GLU(Gated Linear Unit),其一般形式为:
\[GLU(x)=\sigma (Wx+b) \otimes (Vx+c)
\]
这里的\(\sigma\)可以是\(sigmoid\)函数,也可以是其它的一些激活函数,其相关变体如下:
在PaLM论文中使用了SwiGLU激活函数。
在FFN中,即FC-激活函数-FC中,一般定义如下:
在T5论文中没有使用偏置项,也就是:
同理可得:
结合激活函数+未使用偏置项+GLU就得到:
这就是PaLM中的激活函数了,效果也是不错的:
GLU Variants Improve Transformer
Pathways: Asynchronous Distributed Dataflow for ML