建设网站前的市场分析怎么写wordpress主题页脚如何修改
建设网站前的市场分析怎么写,wordpress主题页脚如何修改,vi设计用什么软件,做模版网站需要租服务器吗在强化学习#xff08;RL#xff09;中#xff0c;我们总是把策略函数写成 πθ(a∣s)\pi_\theta(a|s)πθ(a∣s)。
这短短的一个 θ\thetaθ#xff0c;掩盖了无数的工程细节。
策略网络#xff08;Policy Network#xff09;的本质#xff0c;是一个特征提取器…在强化学习RL中我们总是把策略函数写成πθ(a∣s)\pi_\theta(a|s)πθ(a∣s)。这短短的一个θ\thetaθ掩盖了无数的工程细节。策略网络Policy Network的本质是一个特征提取器Feature Extractor加上一个决策头Decision Head。它的核心任务非常明确读懂环境从原始的状态sss中提取有用的信息。做出决策将这些信息映射为动作aaa的概率分布。你的 Agent 是天才还是弱智很大程度上取决于你给它装了一个什么样的“大脑”。是简单的线性感知机还是复杂的视觉皮层亦或是拥有长短期记忆的海马体今天我们来聊聊卷积CNN、全连接MLP和循环RNN在 RL 中的生存法则。一、MLP多层感知机简单粗暴的“直觉反射”1. 适用场景状态State低维向量。例如机器人的关节角度、速度、位置坐标、股票因子的数值。特点状态特征之间没有明显的空间结构或时间依赖。2. 设计哲学当你的输入已经是由物理引擎计算好的特征向量Feature Vector时你不需要花哨的结构。MLP 是最稳健的选择。设计要点不要太深不同于计算机视觉CV动辄上百层的 ResNetRL 中的 MLP 通常很浅。2 到 3 层隐藏层每层 64 到 256 个神经元通常就足够解决 MuJoCo 或简单的控制任务。激活函数ReLU标准选择但在 RL 中有时会导致“死神经元”问题。Tanh在 PPO/TRPO 等连续控制策略中Tanh 往往比 ReLU 表现更好。因为它是有界的-1 到 1且梯度更平滑。Layer Normalization强烈建议加上。RL 的数据分布是非平稳的Non-stationaryLayerNorm 能极大地稳定训练。3. 代码直觉# 一个标准的 MLP 策略网络骨架classMLPPolicy(nn.Module):def__init__(self,state_dim,action_dim):super().__init__()self.netnn.Sequential(nn.Linear(state_dim,64),nn.Tanh(),# RL中 Tanh 常常优于 ReLUnn.Linear(64,64),nn.Tanh(),nn.Linear(64,action_dim))二、CNN卷积神经网络Agent 的“视觉皮层”1. 适用场景状态State高维图像、网格地图。例如Atari 游戏画面、星际争霸的小地图、自动驾驶的摄像头输入。特点输入具有空间局部相关性Spatial Locality。像素点 (0,0) 和 (0,1) 的关系比 (0,0) 和 (100,100) 的关系更紧密。2. 设计哲学如果把图像展平直接喂给 MLP参数量会爆炸且丢掉了空间信息。你需要 CNN 来提取特征。RL 中的 CNN 与 CV 中的 CNN 有何不同慎用 Max Pooling池化层在图像分类如猫狗识别中不管是左上角的猫还是右下角的猫都是猫。这就是平移不变性Pooling 对此很有帮助。但在 RL 中位置至关重要Pong 游戏中球在左边你要往左跑球在右边你要往右跑。Pooling 会丢失精确的位置信息。替代方案使用Strided Convolution步长卷积来降维而不是 Pooling。Nature CNN 架构DQN 论文中提出的经典架构至今仍是标杆Conv1: 32 filters, size 8x8, stride 4Conv2: 64 filters, size 4x4, stride 2Conv3: 64 filters, size 3x3, stride 1Flatten - MLP Head3. 帧堆叠Frame Stacking一张静态图片无法告诉 Agent速度和加速度。如果只给一张 Pong 的截图你不知道球是往左飞还是往右飞。解决方案将最近的 4 帧图像叠加在一起作为一个通道数为 4 的输入(4,84,84)(4, 84, 84)(4,84,84)。这样 CNN 就能在通道维度上“看见”运动。三、RNN/LSTM/GRU解决“失忆症”1. 适用场景状态State部分可观测POMDP。例如第一人称射击游戏你看不到背后的敌人、扑克牌你需要记住对手之前的下注习惯、即时战略游戏的迷雾。特点当前的观测oto_tot不足以包含决策所需的所有信息决策依赖于历史轨迹。2. 设计哲学当环境不仅是关于“现在”而是关于“过去”时MLP 和 CNN 就失效了。你需要记忆。GRU vs LSTM在 RL 中GRU (Gated Recurrent Unit)通常比 LSTM 更受欢迎。参数更少训练更快。收敛更好RL 的样本本来就噪声大复杂的 LSTM 容易过拟合或难以训练。训练难点RNN 在 RL 中的训练极其痛苦。序列长度你需要把一整段 Episode或截断的一段喂进去。隐藏状态管理在采样时你需要维护每个 Environment 的 hidden state并在 Episode 结束时重置它。R2D2 / DRQN这些算法专门优化了带 RNN 的训练过程。四、网络输出头The Head决策的出口无论前面的骨干网络Backbone是 MLP、CNN 还是 RNN最后都需要一个“头”来输出动作。1. 离散动作空间 (Discrete)比如上、下、左、右。输出Linear 层输出维度 动作数量。激活Softmax输出概率分布。采样根据 Categorical 分布采样。2. 连续动作空间 (Continuous)比如方向盘转动角度 (-1.0 到 1.0)。输出通常输出两个向量均值 (Mu)经过 Tanh 激活映射到动作范围。标准差 (Log_Std)通常是独立的可学习参数或者由网络输出经过 Softplus 保证为正。采样构建高斯分布Gaussian Distribution从中采样然后用tanh压缩。五、终极缝合怪多模态架构现代复杂的 RL 任务如机器人管家往往是多模态的。眼睛RGB 摄像头 (CNN)身体关节传感器 (MLP)任务自然语言指令 “去把蓝色的杯子拿来” (Transformer/Embedding)设计思路分治Divide用 CNN 处理图像用 MLP 处理传感器数据用 Embedding 处理文本。融合Conquer将它们提取出的特征向量Embedding拼接Concatenate在一起。决策将拼接后的向量喂给一个最终的 MLP 决策头。FeaturesConcat[CNN(Image),MLP(Sensor)] \text{Features} \text{Concat}[ \text{CNN}(\text{Image}), \text{MLP}(\text{Sensor}) ]FeaturesConcat[CNN(Image),MLP(Sensor)]π(a∣s)MLPHead(Features) \pi(a|s) \text{MLP}_{\text{Head}}(\text{Features})π(a∣s)MLPHead(Features)结语没有最好的架构只有最适合的设计策略网络时请遵循奥卡姆剃刀原则如无必要勿增实体。能用MLP解决的绝不上 CNN。能用Frame Stacking解决的通过堆叠几帧感知速度绝不上RNN。只有当环境完全无法通过单帧信息判断状态时严重的 POMDP才考虑 LSTM/GRU 或 Transformer。RL 的训练本身已经极其不稳定了不要让复杂的网络架构成为压死骆驼的最后一根稻草。简单往往就是最强。给读者的总结表场景推荐架构关键技巧MuJoCo / 机器人关节控制MLP2-3层Tanh 激活LayerNormAtari / 像素游戏CNN慎用 Pooling使用 stride 卷积Frame StackingFPS / 迷雾环境 / 扑克CNN GRU维护 Hidden State处理变长序列多模态输入Hybrid各自提取特征后 Concat再过 MLP星际争霸 / Dota 2TransformerAttention 机制处理海量单位实体