Steve Brunton | Reinforcement Learning | 笔记 | Lecture 4 | 强化学习系列:方法概览
目录前言1. 引言2. 强化学习核心概念回顾3. 模型驱动强化学习4. 模型无关强化学习5. 深度强化学习方法6. 总结与展望结语参考前言学习 Steven Brunton 讲授的强化学习入门概述视频本篇文章记录第四讲强化学习系列方法概览记录下个人学习笔记和大家一起分享交流videohttps://www.youtube.com/playlist?listPLMrJAkhIeNNQe1JXNvaFvURxGY4gE9k741. 引言前三个讲座主要从宏观层面介绍了什么是强化学习以及它是如何工作的还有强化学习的应用领域有哪些。然而我们尚未深入探讨如何在实践中具体实现强化学习算法的细节这正是我们今天以及本系列后续部分将要重点讲解的内容。首先我将对强化学习的各种方法进行系统性的梳理和分类。这是一个庞大的研究领域其历史可追溯至约 100 年前这一领域融合了神经科学、行为科学如巴甫洛夫的狗实验、优化理论、最优控制如贝尔曼方程和哈密顿-雅可比-贝尔曼方程直至现代深度强化学习即如何运用强大的机器学习技术来解决这些优化问题。在我看来强化学习实际上是机器学习与控制理论的交叉领域因此我们本质上是在通过机器学习来获取与环境交互的良好且有效的控制策略。在本次第一讲中我将探讨这些不同决策的组织方式以及如何理解强化学习的整体格局。2. 强化学习核心概念回顾在进入那个关于如何理解所有这些不同类型强化学习的组织结构图之前我想先非常快速地回顾一下什么是强化学习问题。在强化学习中有一个智能体通过一系列动作与世界或环境进行交互这些动作有时是离散的有时是连续的。如果我有一个机器人我可能有一个连续的动作空间而如果我在玩游戏比如我是棋盘上的白方那么我有一组离散的动作尽管这些动作可能是高维的。在每个时间步我观察系统的状态并利用这些信息来调整我的动作以尝试最大化当前或未来的奖励。通过不断尝试我会提到在许多应用中比如奖励结构可能非常稀疏在游戏结束之前我可能不会得到任何关于我的走法是否正确的反馈直到最终我赢了或输了。井字棋、双陆棋、跳棋、围棋等游戏都是类似的情况这种延迟奖励结构正是使得强化学习问题极具挑战性的原因之一。这也使得你知道动物系统中的学习同样充满挑战如果你想教你的狗一个技巧你需要让它逐步明白你希望它做什么因此有时你必须在中间步骤给予奖励来训练它的行为。POLICY π ( s , a ) Pr ( a t a ∣ s t s ) \color{red} \text{POLICY} \quad \pi(s,a) \text{Pr}(a_ta \mid s_ts)POLICYπ(s,a)Pr(at​a∣st​s)因此智能体的控制策略或策略通常被称为π \piπ它基本上是在给定当前状态s ss的情况下采取动作a aa的概率。因此这可以是一个确定性策略也可以是一个概率性策略但本质上它是一组规则决定了作为智能体的我在感知到环境中的信息后采取哪些动作以最大化未来的奖励这就是策略。同样通常这会在概率框架中表示因为环境通常被建模为概率模型并且存在一个称为价值函数的概念。因此给定我采取的某个策略π \piπ我可以通过计算预期未来奖励来为系统的每个状态关联一个价值。VALUE V π ( s ) E ( ∑ t γ t r t ∣ s 0 s ) \color{blue} \text{VALUE} \quad V_{\pi}(s) \mathbb{E} \left( \sum_{t} \gamma^t r_t \mid s_0 s \right)VALUEVπ​(s)E(t∑​γtrt​∣s0​s)具体来说就是将所有未来奖励的总和的期望值作为价值并且我们会引入一个折扣因子因为未来的奖励可能不如当前的奖励对我有利这只是经济学理论中常用的一种做法。这有点类似于效用函数因此对于每个策略π \piπ都有一个与处于给定状态s ss相关联的价值。这里需要指出的是即使是相对复杂的问题你也可以做到这一点。例如在井字棋游戏中你可以枚举所有可能的状态和所有可能的动作并通过暴力计算的方式得出这个价值函数。然而即使是中等复杂的游戏比如跳棋更不用说国际象棋或围棋其状态空间— 即你可能观察到的系统所有可能状态的集合 — 已经庞大到天文数字级别。据估计其数量级可能达到10 80 10^{80}1080甚至更高这是一个极其庞大的数字表示可能的棋盘状态数量围棋的棋盘状态甚至更多。因此实际上我们无法真正枚举这个价值函数但它是一个很好的抽象概念我们可以基于此进行思考至少在简单的动态规划中我们通常假设已知环境模型稍后我会详细讨论这一点。因此强化学习的核心目标是通过试错和经验学习找到能够最大化未来奖励的最优策略。OK请注意这个价值函数是策略π \piπ的函数我希望学习到最优策略使其能够在每个棋盘位置、每个状态下都为我带来最大价值而这确实是一个非常复杂的问题目标很容易表述但要解决这个问题却极其困难。正因如此这一领域在过去的一百年里不断发展壮大这也是为什么它仍然是一个蓬勃发展的领域因为我们拥有了更强大的机器学习技术可以开始解决这一问题。以上就是整个框架的概述你需要理解什么是策略即作为智能体的我用来操控环境的一系列规则或控制器价值函数告诉我处于某个特定状态的价值因此我可能会希望将自己移动到那个状态因此我需要你熟悉这些术语。现在我可以向你展示这些技术是如何分类组织的这就是我接下来要做的在接下来的课程中我们将讨论各种主流强化学习方法的关键分类。3. 模型驱动强化学习首先最大的分类是模型驱动强化学习Model-based RL和模型无关强化学习Model-free RL。如果你有一个良好的环境模型比如马尔可夫决策过程或某些微分方程如果你一开始就有一个好的模型那么你可以在模型驱动强化学习的框架下工作。虽然有些人可能不认为接下来我要讨论的内容属于强化学习范畴但我认为它们是相关的。举个例子如果我的环境是一个马尔可夫决策过程这意味着在已知当前状态s ss和采取动作a aa的情况下转移到下一个状态s ′ ss′的概率是确定的即这个概率分布是存在的且已知的这个概率函数是P ( s ′ ∣ s , a ) P(s \mid s, a)P(s′∣s,a)它不依赖于你过去的状态和动作历史只取决于当前状态和当前动作并决定了转移到下一个状态s ′ ss′的概率。接下来我将介绍两种非常强大的技术用于优化策略函数一种是策略迭代而另一种是价值迭代。这些方法允许你通过迭代的方式遍历游戏或马尔可夫决策过程选择你认为最优的动作然后评估该动作和状态的实际价值接着逐步优化策略函数和价值函数。这是一种非常强大的方法如果你有一个系统模型你可以在计算机上运行这种方法从而确定并学习出最优的策略和价值。这是一种特殊的动态规划方法它依赖于价值函数的贝尔曼最优条件因此我将专门用一节课来讲解图中的蓝色部分内容我们将讨论策略迭代和价值迭代以及它们如何本质上利用动态规划方法作用于满足贝尔曼最优条件的价值函数。上述内容针对的是概率性过程比如像西洋双陆棋这样的游戏每轮都有掷骰子的环节。而对于确定性系统如机器人系统或自动驾驶汽车 — 如果以人类为例来思考我的强化学习问题这更像是一个连续控制问题在这种情况下我可能会遇到一些非线性微分方程d d t x f ( x ( t ) , u ( t ) , t ) \frac{d}{dt}\mathbf{x} \mathbf{f}(\mathbf{x}(t), \mathbf{u}(t), t)dtd​xf(x(t),u(t),t)因此我们在书 [book] 中第 8 章学习的线性最优控制理论在这里或许能派上用场比如线性二次调节器、卡尔曼滤波器等这类方法。最优线性控制问题是带有哈密顿-雅可比-贝尔曼方程的最优非线性控制问题的特例同样这依赖于贝尔曼最优性原理你可以运用动态规划的思想来解决这类最优非线性控制问题。从数学角度来看我要指出这是一套优美的理论它非常强大已经存在了几十年可以说是设计最优策略和最优控制器的教科书式方法适用于马尔可夫决策过程和非线性控制系统。实际上用动态规划来解决这些问题通常等同于进行暴力搜索而且这种方法通常无法扩展到高维系统因此即便是对于中等高维系统通常也很难实现这种基于哈密顿-雅可比-贝尔曼方程的最优非线性控制。你可以对三维系统进行这种计算有时甚至可以对五维系统进行我听说过一些案例借助机器学习或许能处理 10 维或 100 维的系统但是对于非线性流体流动方程当你将其写入计算机时可能会涉及十万甚至百万维的微分方程这种方法就无能为力了因此这里有一个重要的注意事项。这是基于模型的控制方法而我们在无模型控制中要做的许多工作实际上借鉴了基于模型控制中的思想。因此尽管我在日常的强化学习工作中并不经常使用这种方法但大多数情况下我们并没有一个良好的系统模型。例如在国际象棋中我并没有对手的模型或者说至少无法将其以马尔可夫决策过程的形式用数学表达出来因此我无法真正应用这些技术。4. 模型无关强化学习然而无模型控制中的强化学习在很大程度上类似于近似动态规划它通过试错的方式同时学习系统的动态特性或更新这些函数而无需实际拥有一个模型因此在模型无关强化学习中主要的分界在于无梯度Gradient free方法和基于梯度Gradient based的方法之间稍后我会详细解释这两者的含义。举例来说如果我能用一些变量θ \thetaθ来参数化我的策略π \piπ并且我知道这些变量θ \thetaθ的依赖关系那么我或许能够直接对奖励函数或价值函数关于这些参数的梯度进行计算从而加速优化过程。OK因此基于梯度的方法— 如果能够使用的话 — 通常是最快、最高效的解决方案。但很多时候我们并没有梯度信息我们只是在玩游戏比如下象棋或围棋我无法计算一个游戏相对于另一个游戏的导数至少对我来说这很难做到。因此在无梯度方法中存在许多不同的分类在无梯度控制中存在着层层嵌套的分类体系这里有一个重要的概率区分有时可以采用离策略off-policy或同策略on-policy方法这是一个非常关键的区别。同策略的含义是假设我正在玩多局象棋我试图通过下象棋来学习一个最优策略函数或最优价值函数或者两者兼得并在过程中不断迭代优化我对π \piπ或V VV的估计同策略意味着我总是尽我所能地发挥出最佳水平无论我认为价值函数是什么也无论我认为当前的最佳策略是什么我都会在游戏中始终使用这个最佳策略并努力在每一局游戏中从系统中获取最大的奖励这就是 “同策略” 的含义。而异策略则意味着我可能会尝试一些不同的做法也许我知道当前的策略并非最优因此我会随机采取一些动作这种做法有时被称为 “异策略”因为我认为这些动作可能并非最优但它们对于学习系统信息可能非常有价值。同策略方法包括SARSA状态-动作-奖励-状态-动作以及所有 SARSA 算法的变体这些都属于同策略强化学习这里的TD指的是时间差分MC则是蒙特卡洛因此这整个家族的方法都属于一种无梯度优化技术它们利用不同长度的历史信息来进行学习这将是另一堂完整的课程内容。这个红色框内的是无梯度模型无关强化学习而 SARSA 的异策略版本则属于同策略算法家族中的一种变体有一种异策略变体称为Q-Learning其中的Q QQ函数可以理解为在特定状态下采取特定动作的联合价值这个Q QQ函数包含了我的最优策略和价值函数的所有信息实际上这两者都可以从Q QQ函数中推导出来。但最关键的区别在于当我们基于Q QQ函数进行学习时我们并不需要一个模型来预测下一个状态会是什么这个Q QQ函数实际上隐含地定义了基于未来走向的价值因此Q-Learning是一种非常有效的方法尤其是在没有模型的情况下它能够利用异策略信息进行学习即使使用次优控制器来观察结果也能不断学习并逐步改进策略和价值函数。这一点在模仿学习中尤为重要例如如果我想通过观看他人下国际象棋来学习尽管我并不知道他们的价值函数或策略是什么利用这些异策略学习算法我可以将这些信息整合到对环境的估计中每获取一点信息都能提升我的Q QQ函数进而提高我下一局游戏的表现。确实非常强大可以说如果我们所做的大部分工作都处于Q-Learning的范畴内事实上机器学习的很大一部分都是基于Q-Learning的强化学习主要就是Q-Learning以及基于梯度的算法这里我不打算深入讨论但本质上它是通过某种梯度优化方法直接更新策略、价值函数和Q QQ函数的参数。因此如果我能将未来的所有奖励汇总起来 — 并且这些奖励是当前参数θ \thetaθ的函数这些参数决定了我的策略 — 那么我或许能够运用梯度优化方法诸如牛顿法和最速下降法等方法可以用来获得一个良好的估计。当我能够运用这些方法时其速度将远远超过任何无梯度方法甚至在某种程度上比动态规划还要快。5. 深度强化学习方法因此最后一点是在过去十年中深度强化学习领域出现了巨大的爆发式发展这一现象很大程度上归功于DeepMind和AlphaGo他们展示了机器和计算机能够玩转Atari 游戏的能力它们不仅达到了人类水平的性能甚至能够击败围棋大师这些成就令人难以置信地展示了强化学习的威力。如今我们利用深度神经网络既可以学习模型进而采用模型驱动的强化学习方法也可以表达这些模型无关的概念比如用深度神经网络来表示质量函数你可以使用深度神经网络来表示策略然后通过自动微分和反向传播对这些网络参数进行微分从而在策略网络上执行基于梯度的优化。我认为深度模型预测控制— 虽然它并不完全属于强化学习的范畴但可以说它在理念上与强化学习有着非常紧密的联系。深度模型预测控制能够解决这类复杂的非线性优化问题然后你可以根据模型预测控制器的实际行为来学习策略你可以将模型预测控制器的逻辑编码成一个控制策略。最后还有演员-评论家方法演员-评论家方法早在深度强化学习出现之前就已存在但如今它们重新引起了广泛关注因为你可以做到你可以用深度神经网络来训练这些方法。6. 总结与展望OK以上就是我对强化学习不同分类的概览。这只是一个粗略的概述主要展示了在选择强化学习算法时需要考虑的主要分类和关键点如果你拥有系统的模型就可以基于贝尔曼最优性原理使用动态规划方法如果缺乏系统模型你可以选择无梯度法或基于梯度的方法并根据具体需求进一步选择同策略或异策略的变体。事实证明SARSA方法更为保守而Q-Learning往往收敛得更快对于所有这些方法都有一些途径可以增强其能力并提高灵活性通过深度神经网络以不同的专注方式进行表征。OK那么在接下来的几个课程中我们将深入探讨马尔可夫决策过程这一部分讲解如何进行策略迭代和价值迭代我们将实际推导出价值函数在这里我们将讨论无模型控制包括基于同策略和异策略的梯度无关方法Q-Learning是最重要的方法之一而时序差分学习实际上与神经科学有很多相似之处因此人们认为我们动物大脑的学习方式与这些时序差分学习策略密切相关。我们将讨论如何利用哈密顿-雅可比-贝尔曼方程实现最优非线性控制我们将简要讨论策略梯度优化然后涵盖所有这些内容。这些都属于深度学习的范畴我们会在整个过程中穿插深度学习的相关内容或者可能会专门安排一节课来讲解这些深度学习方法以上就是即将展开的内容。结语本讲作为强化学习系列课程的 “方法总览”承担了一个承上启下的关键角色—它不再聚焦于某个具体的应用案例而是从方法论的高度对 RL 近百年的研究脉络进行了系统性的梳理与分类为后续深入各技术细节做好了 “地图式” 的铺垫。整讲的核心架构可以凝练为一张二分决策树第一层分叉模型驱动Model-Based vs. 模型无关Model-Free模型驱动 RL的前提是已知环境的转移概率P ( s ′ ∣ s , a ) P(s \mid s, a)P(s′∣s,a)或动力学方程d d t x f ( x , u , t ) \frac{d}{dt}\mathbf{x} \mathbf{f}(\mathbf{x}, \mathbf{u}, t)dtd​xf(x,u,t)。在此框架下动态规划Dynamic Programming是核心工具—策略迭代Policy Iteration和价值迭代Value Iteration基于贝尔曼最优性原理交替优化策略与价值函数对于连续控制系统哈密顿-雅可比-贝尔曼HJB方程则提供了最优非线性控制的理论基础线性二次调节器LQR和卡尔曼滤波器是其特例。然而Brunton 也坦诚指出这些方法的致命瓶颈在于维数灾难—对于百万维的流体力学系统HJB 方程的暴力求解完全不可行。模型无关 RL则放弃了精确模型的假设转而通过试错与经验直接学习。这正是现代 RL 最活跃的主战场。第二层分叉无梯度Gradient-Free vs. 基于梯度Gradient-Based无梯度方法内部又按同策略On-Policy与异策略Off-Policy划分—SARSA含 TD 和 MC 变体属于同策略家族策略较为保守Q-Learning则是异策略的旗舰算法Q ( s , a ) Q(s,a)Q(s,a)函数将策略与价值合二为一能利用次优控制器的观测数据持续学习改进在模仿学习等场景中尤为强大。Brunton 特别指出强化学习的大部分工作本质上都落在 Q-Learning 及其变体的范畴内。基于梯度的方法如策略梯度优化在梯度信息可用时通常是最快、最高效的—通过参数化策略π θ \pi_\thetaπθ​并对奖励函数求导可利用牛顿法、最速下降法等经典优化器大幅加速收敛。第三层融合深度强化学习Deep RL当深度神经网络介入后上述所有分支都获得了新的生命力可以用 NN 学习环境模型Model-Based DL、用 DQN 表示 Q 函数、用策略网络Policy Network表示π θ \pi_\thetaπθ​并通过自动微分和反向传播实现梯度优化、以及用深度 Actor-Critic 方法同时训练演员策略和评论家价值。此外深度模型预测控制Deep MPC虽然严格说不属于 RL但与 RL 的理念高度关联可将 MPC 的控制逻辑编码为策略网络。值得一提的是Brunton 在结尾处点出了一个颇具生物学意味的观察时序差分学习TD Learning与动物大脑的学习机制有着深刻的相似性—我们大脑中的多巴胺信号本质上就是一种时序差分误差。这再次印证了 RL 不仅是一个工程工具更是理解智能本身的窗口。如果说前三讲回答了 “RL 是什么” 和 “RL 能做什么”那么本讲回答的是 “RL 怎么做”—它为后续课程MDP 动态规划 → 无模型控制 → 策略梯度 → 深度方法绘制了一张清晰的地图。带着这张地图上路接下来的每一讲都将是一次深度的 “景点游览” 下一讲我们来学习基于模型的强化学习方法敬请期待参考https://www.youtube.com/playlist?listPLMrJAkhIeNNQe1JXNvaFvURxGY4gE9k74https://databookuw.com/https://databookuw.com/databook.pdf

相关新闻

Rocket.Chat 的 `@rocket.chat/peggy-loader`:在 Webpack 构建中把 Peggy 语法文件编译为 ES 模块解析器

Rocket.Chat 的 `@rocket.chat/peggy-loader`:在 Webpack 构建中把 Peggy 语法文件编译为 ES 模块解析器

即时通讯后端前端 【免费下载链接】Rocket.Chat The Secure CommsOS™ for mission-critical operations 项目地址: https://gitcode.com/GitHub_Trending/ro/Rocket.Chat 点击查看 免费下载 rocket.chat/peggy-loader 是 Rocket.Chat 官方维护的 Peggy&#xff08…

2026/10/10 8:54:30 阅读更多 →
ComfyUI本地部署与工作流搭建:从零跑通AI绘画环境

ComfyUI本地部署与工作流搭建:从零跑通AI绘画环境

1. 为什么本地跑图这件事值得认真对待如果你最近才开始接触AI绘画,大概率会经历这样一个过程:先用在线工具生成几张图,觉得挺新鲜,然后发现免费额度用完了,或者想调一个特定的姿势、换一个特定的画风,在线工…

2026/10/10 8:54:30 阅读更多 →
水流量示意图制作全指南:类型划分、工具选型与模板复用

水流量示意图制作全指南:类型划分、工具选型与模板复用

干过给排水、环保、水利项目的人都有体会:方案汇报时,一张干净的水流量示意图,比满屏数据表格更能说服人。无论是污水厂提标改造的工艺流程图,还是城市供水管网的水量分配图,甚至是科研论文里的测流时序曲线&#xff0…

2026/10/10 8:54:30 阅读更多 →

最新新闻

Java+Selenium驱动Chrome 118.0.5958.0实战指南

Java+Selenium驱动Chrome 118.0.5958.0实战指南

简介:本资源是一套面向Java开发者与自动化测试初学者的Selenium爬虫实战教学包,聚焦浏览器自动化采集场景,解决Chrome版本与驱动器严格匹配难、环境配置易出错、代码调试无参照等常见痛点。资源共56个文件,涵盖9个核心Java源码、9…

2026/10/10 10:20:06 阅读更多 →
边缘AI视频分析网关16路部署实战:从算力选型到场景落地全记录

边缘AI视频分析网关16路部署实战:从算力选型到场景落地全记录

做边缘AI视频分析这行有几年了,手头经手的盒子少说也有几百台。前两天刚给一个施工现场部署完一台领嵌的16路边缘AI云盒子,趁着热乎劲儿,把从选型到落地的完整过程梳理一遍。这玩意儿现在在工地、社区、校园、加油站这几个场景里用得越来越多…

2026/10/10 10:20:05 阅读更多 →
PLC能ping通却下载失败?MTU排查顺序与远程维护实战经验

PLC能ping通却下载失败?MTU排查顺序与远程维护实战经验

做PLC远程维护的人,几乎都遇到过这种“半通不通”的怪问题:设备在本地调试时一切正常,一旦放到远程链路里,PLC明明能ping通,组态软件却下载程序失败,要么提示“目标站无响应”,要么卡在进度条某…

2026/10/10 10:20:05 阅读更多 →
3亿token批量生成实战:大模型自动化管线与PV创意项目拆解

3亿token批量生成实战:大模型自动化管线与PV创意项目拆解

1. 从“3亿token”这个数字说起:它到底意味着什么第一次看到“花费3亿token”这个说法,我的反应和大多数人一样——这数字听着唬人,但到底是个什么量级?如果你平时只是拿大模型聊聊天、写写周报,可能对token没什么概念…

2026/10/10 10:20:05 阅读更多 →
跨平台存储适配实战:从设计到排查的完整指南

跨平台存储适配实战:从设计到排查的完整指南

1. 跨平台存储适配为什么总被低估1.1 一个真实到让人头疼的场景去年我帮一个朋友处理过一个项目,他们做了一款本地优先的笔记工具,在桌面端跑得挺稳,用户量也慢慢起来了。后来团队决定做移动端,想着“逻辑都是现成的,U…

2026/10/10 10:20:05 阅读更多 →
MySQL数值函数详解:ROUND、TRUNCATE、CEIL、FLOOR与精度避坑指南

MySQL数值函数详解:ROUND、TRUNCATE、CEIL、FLOOR与精度避坑指南

写SQL的人,没有一天能绕开数值处理。上一篇文章把字符串函数过了一遍,这篇轮到数值函数。你别觉得数值函数就是加减乘除加个四舍五入,真到用的时候,round、truncate、ceil、floor这几个函数到底谁是谁,金额对不上账、评…

2026/10/10 10:19:04 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →