PreCap
一种用于深度神经网络的激活函数,旨在不依赖归一化层的情况下维持信号稳定传播。其核心构建块CapExp等价于平移缩放的ELU,PreCap在CapExp前加入软tanh裁剪使输出平滑、单调且双侧有界。
时间轴 (近 90 天)
PreCap是一种激活函数,其核心构建块CapExp是一个指数单元,当输入超过阈值后切换为线性延伸,等价于一个经过平移和缩放的ELU。
PreCap在CapExp之前加入软tanh裁剪,使整个函数输出平滑、单调且双侧有界。
早期回归实验中固定学习率下PreCap看起来远优于SiLU和GELU,但当每个激活函数获得各自调优的学习率后,这一优势完全消失。
PreCap并不比SELU对学习率更鲁棒。
作者提供了可通过pip安装的包,包含融合CUDA核(通过torch.cuda.jiterator实现,无需CUDA工具包)和Apple MLX核,并在fp32、fp64、fp16和bf16下进行了测试。
在fp32下,PreCap的CUDA核运行速度约为原生SELU的1.5倍以内。
实验仅在MLP上测试,仅使用MNIST和FashionMNIST数据集,训练时间短,只测试了一种宽度,尚未涉及CNN或Transformer架构。
全部知识事实 (7)
PreCap并不比SELU对学习率更鲁棒。
50%待验证PreCap在CapExp之前加入软tanh裁剪,使整个函数输出平滑、单调且双侧有界。
50%待验证早期回归实验中固定学习率下PreCap看起来远优于SiLU和GELU,但当每个激活函数获得各自调优的学习率后,这一优势完全消失。
50%待验证PreCap是一种激活函数,其核心构建块CapExp是一个指数单元,当输入超过阈值后切换为线性延伸,等价于一个经过平移和缩放的ELU。
50%待验证实验仅在MLP上测试,仅使用MNIST和FashionMNIST数据集,训练时间短,只测试了一种宽度,尚未涉及CNN或Transformer架构。
50%待验证在fp32下,PreCap的CUDA核运行速度约为原生SELU的1.5倍以内。
50%待验证作者提供了可通过pip安装的包,包含融合CUDA核(通过torch.cuda.jiterator实现,无需CUDA工具包)和Apple MLX核,并在fp32、fp64、fp16和bf16下进行了测试。
50%