🔥2024欧洲杯官网- 欢迎您&采样动作也许会落在学习散播外围-🔥2024欧洲杯官网- 欢迎您&
1. 模子优化
赫兹量化来去软件转到径直优化咱们构建的模子之前,我要教唆您,软性上演者-挑剔者是一种在聚合动作空间中飞速模子的强化学习算法。这种措施的主要特质是在奖励函数中引入了熵重量。
使用飞速上演者策略可令模子愈加天真,况兼不祥惩处复杂环境中的问题,在这些环境中,某些操作可能不细目或无法界讲明确的礼貌。在处理包含多数噪声的数据时,该策略经常更健壮,因为它讨论到概率重量,况兼不受明确礼貌的管理。
添加熵重量不错饱读动对环境的探索,从而加多低概率动作的奖励。探索和建造之间的均衡由温度比率驾驭。
在数学相貌中,软性上演者-挑剔者措施可表述为以劣等式。
添加图片瞩目,不跳跃 140 字(可选)
1.1进取演者战略里增添飞速性
赫兹量化来去软件的完了中,由于诳骗 OpenCL 完了的复杂性,咱们废弃了使用飞速上演者战略。相同于 TD3,咱们将其替换为某些环境中所选动作的飞速偏移量。这种相貌更易于完了,并允许模子探索环境。但它也有其纰谬。
引起谨防的第一件事是采样动作与模子学习的散播之间勤苦联系。在某些情况下,当学习的散播比采样区域宽时,这会压缩连络区域。这意味着模子战略很可能不是最优的,而是取决于飞速采用的学习起先。毕竟,在启动化新模子时,咱们用飞速权重填充它。
在其它情况下,采样动作也许会落在学习散播外围。这扩大了连络界域,但与奖励函数的熵重量相突破。从模子的不雅点,学习散播除外的动作其概率为零。多亏熵重量,不管其价值何如,它齐会收到最大奖励。
在查验过程中,该模子勇猛寻找可盈利策略,并进步具有最大酬报的行为的可能性。同期,减少了利润较低和无利可图的行为的可能性。赫兹量化来去软件之前使用的浅易采样莫得讨论到这个成分。来自采样区域的任何动作,它齐为咱们提供杰出的概率。无利可图动作的低概率会产生高熵重量。这污蔑了动作的真的价值,对消了过去积贮的训戒,并导致构建出不正确的上演者战略。
此处仅有一个惩处决策 — 构建上演者的飞速模子,并从所学习散播中抽取动作。
咱们照旧接头过 OpenCL 关联环境端勤苦伪飞速数生成器,因此咱们将在主枢纽端使用生成器。
同期,赫兹量化来去软件牢记所学习散播仅在 OpenCL 端可用。它包含在咱们模子的里濒临象之中。因此,为了安排采样过程,咱们必须在主枢纽和 OpenCL 关联环境之间完了数据传输。这并不依赖于安排经由的场所。
在主枢纽端组织程度时,赫兹量化来去软件需要加载散播。这触及 2 个缓冲区:概率和相应的函数值。
在 OpenCL 关联环境端安排程度时,咱们必须传递飞速值的缓冲区。稍后将要用它来采用单独的动作。
于此还应该讨论少量 — 所获值的糟塌者。在操作技术,咱们将使用采样值来执行动作,即在主枢纽端。但在查验技术,咱们会将它们传输给 OpenCL 关联环境端的挑剔者。大众皆知,模子查验对减少执行操作的期间提议了最严格的条目。讨论到这少量,决定仅将一个飞速值缓冲区传输到 OpenCL 关联环境,并在哪里安排进一步的采样过程似乎相配妥当逻辑。
决策决然作念出,咱们脱手完了。领先,赫兹量化来去软件修改 OpenCL 枢纽的 SAC_AlphaLogProbs 内核。咱们的变嫌以致会在一定程度上简化特定内核的算法。
咱们在内核的外部参数中添加一个飞速值的缓冲区。咱们期许收到一组 [0,1] 限度内的飞速值,安排在该缓冲区中的采样过程。
__kernel void SAC_AlphaLogProbs(__global float *outputs, __global float *quantiles, __global float *probs, __global float *alphas, __global float *log_probs, __global float *random, const int count_quants, const int activation ) { const int i = get_global_id(0); int shift = i * count_quants; float prob = 0; float value = 0; float sum = 0; float rnd = random[i];
为了采用一个动作,咱们安排了一个轮回,胪列所分析动作的所有分位数的概率,并打算它们的累积总额。在轮回主体中,在打算累积总额的同期,咱们还用恶果飞速值稽察其现时值。跳跃该值的第一期间,咱们就会用现时分位数手脚接纳动作,并中断轮回迭代的执行。
for(int r = 0; r < count_quants; r++) { prob = probs[shift + r]; sum += prob; if(sum >= rnd