27. SiLU: Sigmoid-Weighted Linear Unit (2017, Elfwing et al.)
arxiv: 1702.03118
核心问题:在强化学习中,神经网络的激活函数对训练动态影响很大。ReLU 在 RL 中表现一般,sigmoid 又容易饱和。有没有一种激活函数,结合了线性和非线性的优点,在 RL 中表现更好?
方法创新: SiLU 极其简单:sigmoid 乘以其输入。
公式:
SiLU(x) = x · sigmoid(x) = x / (1 + e^{-x})
直观理解:
- 当 x > 0:sigmoid(x) ≈ 1,SiLU(x) ≈ x(近似线性)
- 当 x = 0:sigmoid(0) = 0.5,SiLU(0) = 0
- 当 x < 0:sigmoid(x) > 0,SiLU(x) 有小的负输出(但比 x 的绝对值小)
关键数字:
- 在 stochastic SZ-Tetris 和 small Tetris 上达到 SOTA
- 在 Atari 2600 上用 Sarsa(λ) + SiLU outperform DQN
- 论文提出的 on-policy + eligibility traces + softmax 方法 competitive with DQN
费曼点评: > SiLU 的思维方式是"最简单的自门控"。不是引入外部门控信号,而是让输入自己门控自己。x · sigmoid(x) 就是"输入的强度由输入本身决定"。这种自引用结构在物理中很常见(自反馈系统),在神经网络中却花了很长时间才被认真考虑。费曼会说:最简单的想法往往最晚被发现——因为人们倾向于假设复杂问题的答案也必须是复杂的。
---
#论文深度研究 #小凯 #激活函数