Hadamard Representation: Scaffolding Performance Across Model-free RL¶
论文链接: https://arxiv.org/abs/2406.09079
分类: 强化学习 / Reinforcement Learning (reinforcement_learning)
核心亮点¶
- 揭示平滑激活函数在强化学习中的静默破坏机制:论文深入分析了深度强化学习中神经元休眠(Dormant Neurons)的本质差异。不同于死亡的 ReLU 神经元输出为 0(等价于静态剪枝),饱和的 \(\tanh\) 神经元收敛到非零渐近常数 \(\pm 1\),进而将其出射权重转化为下游网络层的固定输入无关偏置(Hidden Bias),严重破坏 Q 值估计与策略表达。
- 提出即插即用的阿达马表征(Hadamard Representation, HR):将标准隐藏层替换为两个独立参数化非线性分支的逐元素乘积(Hadamard 积):\(\mathbf{z}(\mathbf{x}) = f(\mathbf{A}_1 \mathbf{x} + \mathbf{b}_1) \odot f(\mathbf{A}_2 \mathbf{x} + \mathbf{b}_2)\),结构对称且与原有层类型及超参数解耦。
- 双重互补作用机制:
- 抗饱和性(Saturation Resistance):对于 \(\tanh\),乘积神经元休眠需要两个独立分支同时饱和,单神经元坍缩概率从 \(p\) 降至 \(p^2\)(实验中休眠率下降 23%),且在单侧饱和时依然维持反向梯度流;
- 乘性表达能力(Multiplicative Expressiveness):即便在休眠神经元比例趋近于 0 的低休眠场景中,HR 的乘性结构也能捕捉二阶特征交互,无需扩大特征维度即可显著提升表征的有效秩(Effective Rank)。
- 跨 5 种主流算法与 3 大领域的稳健收益:在像素级离散动作控制(Atari 上的 DQN、PPO 以及 51 款游戏的 PQN)、状态级连续控制(HumanoidBench 14 任务上的 SimbaV2)和视觉连续控制(DMC-Visual 上的 MR.Q)中全面超越基线,且彻底击败了参数量对齐的单纯加宽网络(Widen)。
背景与动机¶
在深度强化学习(Deep RL)中,随着训练展开,智能体的网络表征容量往往呈现进行性衰减(Capacity Loss):大量神经元进入休眠状态,网络特征的有效秩(Effective Rank)剧烈坍缩,导致策略学习陷入停滞或可塑性丧失(Loss of Plasticity)。以往应对表征退化的方案多依赖特定算法设计,如周期性重置参数(ReDo)、可塑性注入、辅助损失或特定归一化层,这些机制往往具有较强的场景局限性。
本文从网络架构和激活函数行为的底层视角切入,揭示了一个长期被忽视的反直觉现象: 1. 休眠统计量并不能反映真实伤害:先前的实证研究表明,相比于 ReLU,平滑激活函数 \(\tanh\) 能够产生休眠神经元更少、有效秩更高的网络表征。然而在经验表现上,标准 \(\tanh\) 智能体的最终性能往往远落后于 ReLU。 2. 休眠 \(\tanh\) 神经元的隐式偏置干扰(Theorem 4.1): 对于 ReLU 激活,饱和状态为 \(\Omega = 0\),休眠神经元直接向后传递 0 信号,本质上等同于网络被局部稀疏剪枝; 但对于连续可微激活函数 \(\tanh\),饱和极限为 \(\Omega \in \{-1, +1\}\)。假设隐藏层 \(\mathbf{z}^j\) 中存在活跃神经元集合 \(\mathcal{C}\) 与休眠神经元集合 \(\mathcal{D}\),下一层的前激活值为: $\(\mathbf{h}^{j+1} = \sum_{i\in\mathcal{C}} z_i^j \mathbf{A}^{j+1}_{:,i} + \sum_{i\in\mathcal{D}} \Omega \mathbf{A}^{j+1}_{:,i} + \mathbf{b}^{j+1}\)$ 休眠神经元项并不归零,而是构成了固定的等效偏置向量 \(\mathbf{B}^{j+1}_* = \sum_{i\in\mathcal{D}} \Omega \mathbf{A}^{j+1}_{:,i}\)。在训练过程中,这些权重乘以饱和常数形成的偏置会持续膨胀,甚至达到与活跃神经元相当的量级,为下游价值网络注入巨大的状态无关偏差。
因此,平滑激活函数在 RL 中的核心病灶在于“非零饱和破坏性”,亟需一种能够在架构层面根除 \(\tanh\) 饱和坍缩概率的通用设计。
方法详解¶
整体框架¶
Hadamard Representation (HR) 是一种模块级通用架构改进。对于接收输入 \(\mathbf{x}\) 的隐藏层,传统前馈层为 \(\mathbf{z}(\mathbf{x}) = f(\mathbf{A}_1 \mathbf{x} + \mathbf{b}_1)\)。HR 将其替换为两条独立参数化、并行计算的非线性分支的逐元素乘积(Hadamard Product):
其中 \(\mathbf{A}_1, \mathbf{A}_2\) 为两组独立的投影权重矩阵,\(\mathbf{b}_1, \mathbf{b}_2\) 为独立偏置向量,\(\odot\) 表示逐元素乘法。不同于 GLU(门控线性单元)中一个分支作为标量门控衰减另一分支,HR 的两个分支结构完全对称,均输出全激活特征。
flowchart TD
In["输入特征 x"] --> B1["分支 1 线性变换: A1 x + b1"]
In --> B2["分支 2 线性变换: A2 x + b2"]
B1 --> Act1["非线性激活: f(·)"]
B2 --> Act2["非线性激活: f(·)"]
Act1 --> HadProd["Hadamard 积: Act1 ⊙ Act2"]
Act2 --> HadProd
HadProd --> Out["隐藏层输出表征 z(x)"]
Out --> Next["后继网络层 (Q 值头 / Policy 头)"]
关键设计¶
1. 独立双分支对称架构与逐元素乘积运算
HR 为目标隐藏层引入完全解耦的双分支投影。输入向量 \(\mathbf{x}\) 分别映射到维度相同的两个中间空间,并分别施加非线性激活函数 \(f\)。与门控线性单元(GLU)或 Highway Network 的非对称门控不同,HR 赋予两个分支相同的表达权重与地位,使得每一维特征都由两组独立学习的线性投影特征非线性乘性融合而成。
2. \(\tanh\) 神经元的抗饱和与梯度保护机制(Saturation Resistance)
考察两函数乘积 \(g(x) \cdot h(x)\) 的导数形式 \(g'(x)h(x) + g(x)h'(x)\)。对于双 \(\tanh\) 分支构成的 HR 隐藏层,其对输入的前向雅可比具有以下结构:
$\(\mathbf{z}'(\mathbf{x}) = \mathbf{A}_1 \text{sech}^2(\mathbf{A}_1 \mathbf{x} + \mathbf{b}_1) \odot \tanh(\mathbf{A}_2 \mathbf{x} + \mathbf{b}_2) + \mathbf{A}_2 \text{sech}^2(\mathbf{A}_2 \mathbf{x} + \mathbf{b}_2) \odot \tanh(\mathbf{A}_1 \mathbf{x} + \mathbf{b}_1)\)$
因为 \(\tanh\) 饱和至非零常数 \(\pm 1\),只要两个分支不同时饱和,未饱和分支的 \(\text{sech}^2\) 激活导数通过与另一分支的饱和项(\(\approx \pm 1\))相乘,依然可以保持畅通的非零梯度回传通道。从概率角度分析,若基线单神经元饱和概率为 \(p\),在两分支独立假设下:
- 对于 \(\tanh\):乘积坍缩要求两分支同时饱和,坍缩概率大幅降至 \(p^2\);
- 对于 ReLU:由于 \(\Omega = 0\),任一分支饱和归零即导致乘积归零,坍缩概率上升为 \(1 - (1-p)^2 = 2p - p^2\)。
这解释了为什么 HR 与 \(\tanh\) 强力协同,而若与 ReLU 结合则会反向加剧神经元休眠。
3. 二阶特征交互与乘性表达力增强(Multiplicative Expressiveness)
即使在神经元几乎不发生休眠的高鲁棒网络架构中(例如配备 LayerNorm 或 RSNorm 的连续控制算法),HR 依然具备独立的表征优势。每个输出神经元实质上计算了输入特征在两套正交基下的二阶非线性交互:
$\(z_i(\mathbf{x}) = f(\mathbf{a}_{1,i}^\top \mathbf{x} + b_{1,i}) \cdot f(\mathbf{a}_{2,i}^\top \mathbf{x} + b_{2,i})\)$
这种乘性结构在不增加隐层特征维度 \(d\) 的情况下,显著扩张了网络表示的函数类,激发了更高的有效秩(Effective Rank),使有限的隐层维度能够承载更多正交的有效信号基底。
4. 场景自适应的双机制主导原则
HR 的两个机制并非割裂,而是根据基线网络的退化程度动态互补:
- 在高休眠区间(如离散动作 Atari 的标准 DQN / PPO),抗饱和机制占主导,必须配合 \(\tanh\) 使用以彻底压制休眠偏置干扰;
- 在低休眠区间(如配备现代归一化的连续控制 SimbaV2 / MR.Q),休眠率本就趋近于零,此时乘性表达能力成为主要驱动力,可直接保留原架构的默认激活函数。
一个完整示例¶
在 PyTorch 中,HR 的实现极其简洁,以标准全连接层为例:
import torch
import torch.nn as nn
class HadamardLayer(nn.Module):
def __init__(self, input_dim: int, output_dim: int, activation=nn.Tanh):
super().__init__()
# 两个独立参数化的线性变换分支
self.branch1 = nn.Linear(input_dim, output_dim)
self.branch2 = nn.Linear(input_dim, output_dim)
self.act = activation()
def forward(self, x: torch.Tensor) -> torch.Tensor:
# 分别前向计算激活
out1 = self.act(self.branch1(x))
out2 = self.act(self.branch2(x))
# 逐元素阿达马乘积
return out1 * out2
当 out1 的某一神经元因权重过大进入饱和区(\(\approx +1.0\),其局部导数 \(\text{sech}^2 \approx 0\))时,若 out2 处于活跃区(例如输入在 0 附近,\(\text{sech}^2 \approx 1.0\)),则整个单元的梯度通过第二项 \(\mathbf{A}_2 \cdot 1.0 \odot 1.0\) 完整传递,网络参数得以迅速脱离局部死区,恢复可塑性。
损失函数 / 训练策略¶
HR 属于纯网络架构层面的无缝改进,不引入任何辅助损失项或超参数,亦无需修改 RL 算法的核心优化目标: - 损失定义:完全复用算法原生损失。例如在 DQN 中采用标准贝尔曼均方误差损失(MSE Loss);在 PPO 中采用带优势估计与价值函数剪切的 PPO 目标;在 SimbaV2 和 MR.Q 中保持其原生 Actor-Critic 优化目标。 - 集成位置: - DQN / PPO:置于 Nature CNN 最后的 512 维特征提取层; - PQN:全面应用于全部隐层; - SimbaV2:嵌入至 SimbaV2 Block 的首个隐藏层; - MR.Q:置于视觉编码器的特征输出层。 - 训练开销:全流程无需针对 HR 调整学习率等超参数,在 A100 GPU 上实测训练耗时仅比基线增加约 \(1.2\times\)。
实验结果与分析¶
论文在 3 个截然不同的领域、5 种主流 RL 算法上展开全面实证检验,并针对理论机制进行了深度消融分析。
1. 休眠神经元与理论概率测量(高休眠 Atari 区间)¶
在 8 款代表性 Atari 游戏(DQN,40M 帧)中,对比了无 HR 与配备 HR 条件下休眠神经元的理论预测与实际测量值:
| 激活函数类型 | 无 HR (Baseline) | 配备 HR (With HR) | \(\Delta\) (理论预测) | \(\Delta\) (实测变化) |
|---|---|---|---|---|
| \(\tanh\) | \(p = 0.39\) | \(p^2 = 0.30\) | \(-(p - p^2)\) | \(-23\%\) |
| ReLU | \(p = 0.62\) | \(2p - p^2 = 0.73\) | \(+(p - p^2)\) | \(+18\%\) |
数据完全印证了论文的理论假设:由于 \(\tanh\) 的双边非零饱和特性,HR 使休眠率由 39% 显著下降至 30%(降幅达 23%);反之,ReLU 在 HR 乘法下因单边零值截断导致休眠率反向激增 18%,实证解释了为什么 HR 不能与 ReLU 盲目混用。
2. HR 与参数对齐加宽网络(Widen)及深度堆叠(2HR)消融对比¶
为了排除“HR 的收益仅仅源于双分支增加了参数量”的质疑,实验构造了参数量严格对齐的加宽网络(Widen,将隐层特征宽度扩大 2 倍),在 3 种算法及领域上的归一化性能对比如下:
| 模型变体 (Variant) | DQN (Atari 8 游戏) | SimbaV2 (HumanoidBench 14 任务) | MR.Q (DMC-Visual-Hard 7 任务) |
|---|---|---|---|
| Baseline (基线) | 0.91 | 0.71 | 1.00 |
| + HR (本文方法) | 1.03 (+13%) | 0.84 (+18%) | 1.17 (+17%) |
| + Widen (加宽参数对齐) | 0.49 (-46%) | 0.76 (+7%) | 0.97 (-3%) |
| + 2HR (堆叠两层 HR) | 1.01 (+12%) | — | — |
实验表明: - 单纯加宽网络(Widen)在 DQN 上导致性能灾难性暴跌 46%,在 MR.Q 上性能轻微下滑(-3%),说明盲目扩大参数量在深度强化学习中极易诱发优化病态和泛化恶化; - HR 在三类算法中均取得了 13%~18% 的显著净收益,充分证实了增益源于乘性结构与抗饱和机制,而非单纯的参数膨胀; - 堆叠两个 HR 块(2HR)得分 1.01,与单层 HR(1.03)收益相当,表明单个 HR 隐藏层已足以提供充分的表征支撑。
3. 大规模基准与强化学习前沿对比¶
- 大规模 PQN 评估(51 款 Atari 游戏):在 5 种随机种子下,\(\tanh + \text{HR}\) 相比标准 \(\tanh\) 中位数人类归一化得分提升超过 100%,不仅缩小了连续可微激活函数与 ReLU 的历史差距,其表现还显著超越了针对可塑性退化专门设计的 CReLU 与 ReDo 算法。
- 高难度视觉连续控制(DMC-Visual-Humanoid):在扩展到 5M 步的长程训练中,MR.Q + HR 成功攻克难以收敛的人形机器人视觉控制任务,性能与前沿 SOTA 方法 XQC 相当,而经典基线 DrQ-v2 则完全未能学会有效策略。
思考与讨论¶
- 对深度强化学习激活函数设计的深刻启示:长期以来,RL 社区默认分段线性函数(如 ReLU)是事实上的标准,而将 \(\tanh\) 等平滑函数的低迷表现归咎于梯度消失。本文严谨证明了问题并不在平滑性本身,而在于“休眠神经元非零输出向偏置转化”的致命干扰。通过简单的阿达马乘积结构消除这一缺陷后,\(\tanh\) 天然的高有效秩优势得以彻底释放。
- 乘性结构在表示学习中的泛化潜力:HR 证明了在保持隐层维度不变的前提下,通过显式引入二阶特征交叉,能够有效抑制谱坍缩(Spectral Collapse)并提高有效表征维度,这为自监督学习及连续控制中的网络拓扑设计提供了优雅轻量的基元。
- 局限性与未来探索方向:
- 尽管计算开销增幅较小(约 \(1.2\times\)),但在资源极端敏感的超轻量嵌入式控制中仍需权衡;
- 本文全部实验严格保持原算法超参数不变,若针对 HR 分支的权重初始化分布与学习率调度进行专属微调,有望发掘更大的性能潜力;
- 将 HR 拓展至基于模型的强化学习(Model-based RL,如世界模型 World Models)以及深度持续学习场景,是值得进一步探索的重要方向。