系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • Definition of optimal policy
  • Bellman optimality equation
    • Introduction
    • Maximization on the right-hand side
    • Contraction mapping theorem
    • Solution
    • Optimality
  • Analyzing optimal policies
  • 总结


前言

本系列文章主要用于记录 B站 赵世钰老师的【强化学习的数学原理】的学习笔记,关于赵老师课程的具体内容,可以移步:
B站视频:【【强化学习的数学原理】课程:从零开始到透彻理解(完结)】
GitHub 课程资料:Book-Mathematical-Foundation-of-Reinforcement-Learning


Definition of optimal policy

The state value could be used to evaluate if a policy is good or not: if

vπ1(s)≥vπ2(s),∀s∈Sv_{\pi_1}(s) \geq v_{\pi_2}(s), \quad \forall s \in \mathcal{S}vπ1(s)vπ2(s),sS

then π1\pi_1π1 is “better” than π2\pi_2π2.

A policy π∗\pi^*π is optimal if

vπ∗(s)≥vπ(s),∀s∈S,∀π.v_{\pi^*}(s) \geq v_\pi(s), \quad \forall s \in \mathcal{S}, \; \forall \pi.vπ(s)vπ(s),sS,π.


Bellman optimality equation

Introduction

Bellman optimality equation (elementwise form):

v(s)=max⁡π∑aπ(a∣s)(∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)v(s′)),∀s∈Sv(s) = \max_{\pi} \sum_a \pi(a \mid s) \left( \sum_r p(r \mid s,a) r + \gamma \sum_{s'} p(s' \mid s,a) v(s') \right), \quad \forall s \in \mathcal{S}v(s)=maxπaπ(as)(rp(rs,a)r+γsp(ss,a)v(s)),sS

=max⁡π∑aπ(a∣s)q(s,a),s∈S= \max_{\pi} \sum_a \pi(a \mid s) q(s,a), \quad s \in \mathcal{S}=maxπaπ(as)q(s,a),sS

Remarks:

  • p(r∣s,a),p(s′∣s,a)p(r \mid s,a), p(s' \mid s,a)p(rs,a),p(ss,a) are known.
  • v(s),v(s′)v(s), v(s')v(s),v(s) are unknown and to be calculated.
  • π(s)\pi(s)π(s) is known!

结合 Bellman 方程依赖于已知策略,解释为什么在 Bellman 最优性方程 里要取 max⁡π\max_\pimaxπ,以及它和最优策略 π∗\pi^*π 的关系

  1. 回顾:Bellman 方程(依赖已知策略)

    对于一个固定的策略 π\piπ,状态价值函数定义为:

    vπ(s)=∑aπ(a∣s)[∑rp(r∣s,a)r+γ∑s’p(s’∣s,a)vπ(s’)]v_\pi(s) = \sum_a \pi(a \mid s) \Bigg[ \sum_r p(r \mid s,a) r + \gamma \sum_{s’} p(s’ \mid s,a) v_\pi(s’) \Bigg]vπ(s)=aπ(as)[rp(rs,a)r+γsp(ss,a)vπ(s)]

    • 这里 π(a∣s)\pi(a|s)π(as)已知的动作分布,所以 Bellman 方程在这种情况下是 策略评估 (policy evaluation) 工具。
      • 策略 = 对每个状态 sss,给所有可能动作 aaa 分配概率,即一个策略对应了一组“所有状态的动作概率分布”
      • 不同策略对应的就是 不同的动作概率分布集合
        • 策略 π1\pi_1π1

          在状态 sss,可能给动作 a1a_1a1 的概率高一些,给动作 a2a_2a2 的概率低一些。

        • 策略 π2\pi_2π2

          在相同状态 sss,可能恰好相反,给 a1a_1a1 的概率低,给 a2a_2a2 的概率高。

  2. 从策略依赖到最优性

    • 如果我们不想只评估一个具体策略,而是想找到 最优策略,那就需要考虑:对于每个状态 sss,什么样的动作选择(或策略)能最大化长期回报?

    • 于是,状态价值的定义变成:

      v∗(s)=max⁡πvπ(s),∀s∈Sv^*(s) = \max_\pi v_\pi(s), \quad \forall s \in \mathcal{S}v(s)=maxπvπ(s),sS

    • 这里的 max⁡π\max_\pimaxπ 表示:在所有可能的策略中,找到一个能使价值函数最大的策略。

  3. Bellman 最优性方程

    • max⁡π\max_\pimaxπ 引入 Bellman 方程,得到:

      v(s)=max⁡a[∑rp(r∣s,a)r+γ∑s’p(s’∣s,a)v(s’)]v^(s) = \max_a \Bigg[ \sum_r p(r \mid s,a) r + \gamma \sum_{s’} p(s’ \mid s,a) v^(s’) \Bigg]v(s)=maxa[rp(rs,a)r+γsp(ss,a)v(s)]

    • 关键点:

      • 在普通 Bellman 方程里:π(a∣s)\pi(a|s)π(as) 是已知的分布。
      • 在 Bellman 最优性方程里:我们不固定策略,而是 直接在动作层面取最大化,等价于“选择最优动作”。
      • 因此,最优价值函数 v∗(s)v^*(s)v(s) 不再依赖于某个具体的 π\piπ,而是内含了 策略优化的过程
  4. 和最优策略 π∗\pi^*π 的关系

    • 定义:

      π(s)=arg⁡max⁡a[∑rp(r∣s,a)r+γ∑s’p(s’∣s,a)v(s’)]\pi^(s) = \arg\max_a \Bigg[ \sum_r p(r \mid s,a) r + \gamma \sum_{s’} p(s’ \mid s,a) v^(s’) \Bigg]π(s)=argmaxa[rp(rs,a)r+γsp(ss,a)v(s)]

      即最优策略就是在每个状态下选择能使未来回报最大的动作。

    • 换句话说:

      • 普通 Bellman 方程 = 已知策略的价值评估
      • Bellman 最优性方程 = 在所有策略中选择最优的价值函数,从而定义了最优策略。

Bellman optimality equation (matrix-vector form):

v=max⁡π(rπ+γPπv)v = \max_\pi (r_\pi + \gamma P_\pi v)v=maxπ(rπ+γPπv)

where the elements corresponding to sss or s′s's are

[rπ]s≜∑aπ(a∣s)∑rp(r∣s,a)r,[r_\pi]_s \triangleq \sum_a \pi(a \mid s) \sum_r p(r \mid s,a) r,[rπ]saπ(as)rp(rs,a)r,

[Pπ]s,s′=p(s′∣s)≜∑aπ(a∣s)∑s′p(s′∣s,a)[P_\pi]{s,s'} = p(s' \mid s) \triangleq \sum_a \pi(a \mid s) \sum{s'} p(s' \mid s,a)[Pπ]s,s=p(ss)aπ(as)sp(ss,a)

Here max⁡π\max_\pimaxπ is performed elementwise.

Maximization on the right-hand side

Solve the Bellman optimality equation

必须先考虑右边的式子,即先有某个最优策略 π\piπ,然后才有最优的状态价值 v(s)v(s)v(s)

  • elementwise form

    v(s)=max⁡π∑aπ(a∣s)(∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)v(s′)),∀s∈Sv(s) = \max_{\pi} \sum_a \pi(a \mid s) \left( \sum_r p(r \mid s,a) r + \gamma \sum_{s'} p(s' \mid s,a) v(s') \right), \quad \forall s \in \mathcal{S}v(s)=maxπaπ(as)(rp(rs,a)r+γsp(ss,a)v(s)),sS

    • Fix v′(s)v'(s)v(s) first and solve π\piπ:

      v(s)=max⁡π∑aπ(a∣s)q(s,a)v(s) = \max_\pi \sum_a \pi(a \mid s) q(s,a)v(s)=maxπaπ(as)q(s,a)

    • Inspired by the above example, considering that ∑aπ(a∣s)=1\sum_a \pi(a \mid s) = 1aπ(as)=1, we have

      max⁡π∑aπ(a∣s)q(s,a)=max⁡a∈A(s)q(s,a),\max_\pi \sum_a \pi(a \mid s) q(s,a) = \max_{a \in \mathcal{A}(s)} q(s,a),maxπaπ(as)q(s,a)=maxaA(s)q(s,a),

    • where the optimality is achieved when

      π(a∣s)={1,a=a∗0,a≠a∗\pi(a \mid s) = \begin{cases} 1, & a = a^* \\ 0, & a \neq a^* \end{cases}π(as)={1,0,a=aa=a

    • where a∗=arg⁡max⁡aq(s,a)a^* = \arg\max_a q(s,a)a=argmaxaq(s,a).

  • matrix-vector form

    v=max⁡π(rπ+γPπv)v = \max_\pi (r_\pi + \gamma P_\pi v)v=maxπ(rπ+γPπv)

    • Let

      f(v):=max⁡π(rπ+γPπv).f(v) := \max_\pi (r_\pi + \gamma P_\pi v).f(v):=maxπ(rπ+γPπv).

    • Then, the Bellman optimality equation becomes

      v=f(v)v = f(v)v=f(v)

    • where

      [f(v)]s=max⁡π∑aπ(a∣s)q(s,a),s∈S.[f(v)]s = \max\pi \sum_a \pi(a \mid s) q(s,a), \quad s \in \mathcal{S}.[f(v)]s=maxπaπ(as)q(s,a),sS.

Contraction mapping theorem

Fixed point:

x∈Xx \in XxX is a fixed point of f:X→Xf : X \to Xf:XX if f(x)=xf(x) = xf(x)=x

Contraction mapping (or contractive function):

fff is a contraction mapping if ∥f(x1)−f(x2)∥≤γ∥x1−x2∥\| f(x_1) - f(x_2) \| \leq \gamma \| x_1 - x_2 \|f(x1)f(x2)γx1x2, where γ∈(0,1)\gamma \in (0,1)γ(0,1).

  • γ\gammaγ must be strictly less than 111 so that many limits such as γk→0\gamma^k \to 0γk0 as k→∞k \to \inftyk hold.
  • Here ∥⋅∥\| \cdot \| can be any vector norm.

Contraction mapping theorem

For any equation that has the form of x=f(x)x = f(x)x=f(x), if fff is a contraction mapping, then

  • Existence: There exists a fixed point x∗x^*x satisfying f(x∗)=x∗f(x^*) = x^*f(x)=x.
  • Uniqueness: The fixed point x∗x^*x is unique.
  • Algorithm: Consider a sequence {xk}\{x_k\}{xk} where xk+1=f(xk)x_{k+1} = f(x_k)xk+1=f(xk), then xk→x∗x_k \to x^*xkx as k→∞k \to \inftyk. Moreover, the convergence rate is exponentially fast.

Solution

Let’s come back to the Bellman optimality equation:

v=f(v)=max⁡π(rπ+γPπv)v = f(v) = \max_\pi (r_\pi + \gamma P_\pi v)v=f(v)=maxπ(rπ+γPπv)

Contraction Property:

  • f(v)f(v)f(v) is a contraction mapping satisfying

    ∥f(v1)−f(v2)∥≤γ∥v1−v2∥\| f(v_1) - f(v_2) \| \leq \gamma \| v_1 - v_2 \|f(v1)f(v2)γv1v2

  • where γ\gammaγ is the discount rate!

Existence, Uniqueness, and Algorithm:

  • For the BOE v=f(v)=max⁡π(rπ+γPπv)v = f(v) = \max_\pi (r_\pi + \gamma P_\pi v)v=f(v)=maxπ(rπ+γPπv), there always exists a solution v∗v^*v and the solution is unique. The solution could be solved iteratively by

    vk+1=f(vk)=max⁡π(rπ+γPπvk)v_{k+1} = f(v_k) = \max_\pi (r_\pi + \gamma P_\pi v_k)vk+1=f(vk)=maxπ(rπ+γPπvk)

  • This sequence {vk}\{v_k\}{vk} converges to v∗v^*v exponentially fast given any initial guess v0v_0v0. The convergence rate is determined by γ\gammaγ.

Optimality

Suppose v∗v^*v is the solution to the Bellman optimality equation. It satisfies

v∗=max⁡π(rπ+γPπv∗)v^* = \max_\pi (r_\pi + \gamma P_\pi v^*)v=maxπ(rπ+γPπv)

Suppose

π∗=arg⁡max⁡π(rπ+γPπv∗)\pi^* = \arg\max_\pi (r_\pi + \gamma P_\pi v^*)π=argmaxπ(rπ+γPπv)

Then

v∗=rπ∗+γPπ∗v∗v^* = r_{\pi^*} + \gamma P_{\pi^*} v^*v=rπ+γPπv

Therefore, π∗\pi^*π is a policy and v∗=vπ∗v^* = v_{\pi^*}v=vπ is the corresponding state value.

Policy Optimality

  • Suppose that v∗v^*v is the unique solution to v=max⁡π(rπ+γPπv),v = \max_\pi (r_\pi + \gamma P_\pi v),v=maxπ(rπ+γPπv),
    and vπv_\pivπ is the state value function satisfying vπ=rπ+γPπvπv_\pi = r_\pi + \gamma P_\pi v_\pivπ=rπ+γPπvπ for any given policy π\piπ, then

    v≥vπ,∀πv^ \geq v_\pi, \quad \forall \pivvπ,π

Greedy Optimal Policy

  • For any s∈Ss \in \mathcal{S}sS, the deterministic greedy policy

    π(a∣s)={1,a=a(s)0,a≠a(s)\pi^(a \mid s) = \begin{cases} 1, & a = a^(s) \\ 0, & a \neq a^(s) \end{cases}π(as)={1,0,a=a(s)a=a(s)

  • is an optimal policy solving the BOE. Here,

    ∗a(s)=arg⁡max⁡aq(s,a),∗*a^(s) = \arg\max_a q^(s,a),*a(s)=argmaxaq(s,a),

  • where q(s,a):=∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)v∗(s′)q^(s,a) := \sum_r p(r \mid s,a) r + \gamma \sum_{s'} p(s' \mid s,a) v^*(s')q(s,a):=rp(rs,a)r+γsp(ss,a)v(s)

  • Proof

    π(s)=arg⁡max⁡π∑aπ(a∣s)(∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)v(s′))\pi^(s) = \arg\max_\pi \sum_a \pi(a \mid s) \left( \sum_r p(r \mid s,a) r + \gamma \sum_{s'} p(s' \mid s,a) v^(s') \right)π(s)=argmaxπaπ(as)(rp(rs,a)r+γsp(ss,a)v(s))

对公式的概括

  1. v∗v^*v 的意义

    • v∗v^*v 是一个“理想值表”,它告诉你:从每个状态出发,如果以后一直做出最优选择,能拿到的总回报是多少

    • 它满足一个自洽的关系式(Bellman 最优性方程):

      v∗(s)=max⁡a[即时奖励+γ×未来价值]v^*(s) = \max_a \Big[\text{即时奖励} + \gamma \times \text{未来价值}\Big]v(s)=maxa[即时奖励+γ×未来价值]

  2. π∗\pi^*π 的意义

    • π∗\pi^*π 是“最优策略”,它规定了:在每个状态下应该采取哪个动作,才能保证总回报不比任何其他策略差
    • 从公式上看,π∗\pi^*π 就是选择能让 v∗v^*v 达到最大的那个动作(也就是“贪心选择”)。
  3. Policy Optimality 定理

    • 对于任意其他策略 π\piπ,它的价值函数 vπv_\pivπ 都不会超过 v∗v^*v
    • v∗v^*v 是所有策略里能实现的最高水平,它一定支配所有其他策略的价值表。
  4. Greedy Optimal Policy 定理

    • 只要你已经有了 v∗v^*v,那么直接在每个状态里“选那个让回报最大化的动作”就能得到 π∗\pi^*π
    • 最优策略其实就是“贪心地”选动作,但前提是这个贪心是基于正确的 v∗v^*v

更进一步的解释

  1. 为什么要先有 v∗v^*v 才能得到 π∗\pi^*π
    • 因为 π∗\pi^*π 的定义依赖于“未来回报”,而未来回报就是由 v∗v^*v 描述的。
    • 一旦知道了 v∗v^*v,最优策略就能“顺理成章”地通过贪心法则推出来。
  2. 为什么 v∗v^*v 比任何 vπv_\pivπ 都大?
    • vπv_\pivπ 是“固定策略下”的表现。
    • v∗v^*v 是在每一步都挑选最优动作的表现。
    • 显然,如果你随时都能选最好的动作,你的表现不可能比其他任何固定策略差
  3. 为什么贪心策略一定最优?
    • 因为 Bellman 方程已经保证了:在 v∗v^*v 下,每个状态的最优价值都等于“选择最优动作”得到的回报。
    • 所以只要你在每个状态都执行这个“最优动作”,整个过程的价值函数自然等于 v∗v^*v
    • 也就是说:贪心 + 正确的价值表 = 全局最优策略

Analyzing optimal policies

What factors determine the optimal policy?

  • It can be clearly seen from the BOE

    v(s)=max⁡π∑aπ(a∣s)(∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)v(s′))v(s) = \max_\pi \sum_a \pi(a \mid s) \left( \sum_r p(r \mid s,a) r \;+\; \gamma \sum_{s'} p(s' \mid s,a) v(s') \right)v(s)=maxπaπ(as)(rp(rs,a)r+γsp(ss,a)v(s))

  • that there are three factors:

    • Reward design: rrr
    • System model: p(s′∣s,a),p(r∣s,a)p(s' \mid s,a), \; p(r \mid s,a)p(ss,a),p(rs,a)
    • Discount rate: γ\gammaγ
  • In this equation, v(s),v(s′),π(a∣s)v(s), v(s'), \pi(a \mid s)v(s),v(s),π(as) are unknowns to be calculated.

Optimal Policy Invariance

  • Consider a Markov decision process with v∗∈R∣S∣v^* \in \mathbb{R}^{|\mathcal{S}|}vRS as the optimal state value satisfying

    v∗=max⁡π(rπ+γPπv∗).v^* = \max_\pi (r_\pi + \gamma P_\pi v^*).v=maxπ(rπ+γPπv).

  • If every reward rrr is changed by an affine transformation to ar+bar + bar+b, where a,b∈Ra, b \in \mathbb{R}a,bR and a≠0a \neq 0a=0, then the corresponding optimal state value v′v'v is also an affine transformation of v∗v^*v:

    v′=av∗+b1−γ1,v' = a v^* + \frac{b}{1-\gamma} \mathbf{1},v=av+1γb1,

    • where γ∈(0,1)\gamma \in (0,1)γ(0,1) is the discount rate and 1=[1,…,1]T\mathbf{1} = [1, \ldots, 1]^T1=[1,,1]T.
  • Consequently, the optimal policies are invariant to the affine transformation of the reward signals.


总结

Bellman 最优性方程刻画了在所有策略中选择最优策略的价值函数,它保证存在唯一的最优状态价值 v∗v^*v,并且通过对每个状态下的动作取最大化(贪心原则)即可导出最优策略 π∗\pi^*π,同时最优策略的性质只依赖于奖励设计、环境转移模型和折扣因子,而对奖励的仿射变换保持不变。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/95767.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/95767.shtml
英文地址,请注明出处:http://en.pswp.cn/web/95767.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有序数组,距离目标最近的k个数 二分查找

🤔 新手做题思路:第1步:理解题目- 找距离x最近的k个数- 数组已排序- 返回结果也要排序(升序)- 距离相同时,选择较小的数第2步:关键insight- 数组已排序 → 考虑二分查找- 最近的k个数一定是连续…

学习心得分享

我认为知识是一定要系统化的学习,结构化梳理,这样在运用或思考的时候,能够回忆起自己在这一块梳理的知识结构,如果有记录那么能快速回忆并理解,如果没有记录,那么说明对自己来说超纲了,把知识进…

为什么说 Linode 和 DigitalOcean 的差距,不止于 VPS?

在今天这个全球化的商业战场上,中国企业的出海已从“选择题”变为“必答题”。当我们满怀雄心,将产品和业务推向海外市场时,基础设施的选择,往往是决定成败的第一步。它不仅关乎成本与性能,更直接影响着团队的开发效率…

NSSCTF每日一题_Web_[SWPUCTF 2022 新生赛]奇妙的MD5

为了保持做题的感觉和持续学习,也就有了每日一题系列,选一些有意义的题目或者一些CTF新颖题目作为参考学习。[SWPUCTF 2022 新生赛]奇妙的MD51. 访问首页界面并进行分析估计题目MD5提示,查询得知ffifdyop 这个字符串是一个奇妙的MD5字符串因为将“ffifdy…

服务器IP暴露被攻击了怎么办?

当服务器IP暴露后,可能会面临各种网络攻击,如DDoS攻击、端口扫描、恶意入侵等,这将严重影响服务器的正常运行和数据安全。本文将从检测攻击类型、采取紧急防护措施、优化服务器配置、寻求专业支持以及预防未来攻击五个方面,详细探…

TDengine 时间函数 TIMETRUNCATE 用户手册

TDengine TIMETRUNCATE 函数用户使用手册 函数概述 TIMETRUNCATE 是 TDengine 中的一个时间处理标量函数,用于将时间戳按照指定的时间单位进行截断操作。该函数在时间数据聚合、分组和统计分析中非常有用,特别适用于智能电表等时序数据的分析场景。 语…

Linux电脑怎样投屏到客厅的大电视?支持远程投屏吗?

一般的电脑投屏软件都会推出Windows版本和macOS版本,虽然这两个版本已经覆盖大部分消费者的常用电脑,但是依然有一部分群体因为电脑系统版本问题不能使用投屏软件。 如果你当前使用的是Linux系统的电脑,而且又要将电脑投屏投屏到客厅的大电视…

MP4视频太大如何压缩?分享6种简单便捷的压缩小技巧

随着拍摄高清视频的设备越来越多,我们经常会遇到MP4视频文件体积过大的问题,无论是上传到社交平台、发送给朋友,还是存储在设备中,过大的视频文件都会带来诸多不便。那么,MP4视频太大怎么压缩呢?本文将介绍…

k8s 部署 redis

创建部署文件 vim redis.yaml添加如下内容: apiVersion: v1 kind: Namespace metadata:name: redis --- apiVersion: v1 kind: Secret metadata:name: redis-passwordnamespace: redis type: Opaque data:password: d2d3cmhnZWE # 建议生产环境使用更复杂的密码 ---…

FFMPEG H264

一、H264压缩编码1.1 H264 中的 I 帧、P帧和 B帧H264 使用帧内压缩和帧间压缩的方式提高编码压缩率;H264 采用了独特的 I 帧、P 帧和 B 帧策略来实现,连续帧之间的压缩;1.2 其他概念GOP(图像组):一个IDR帧到…

Unity 解决天空盒中间出现一条线

问题解决找到天空盒对应贴图,在Inspector 面板中找到Advanced →Generate Mip Maps 并取消勾选即可。效果动态修改天空盒RenderSettings.skybox targetSkyboxMaterial; DynamicGI.UpdateEnvironment();

Python爬虫实战:研究Showcase模块,构建电商平台销售数据采集和分析系统

1. 引言 1.1 研究背景 在数字经济快速发展的今天,电商平台积累了海量的商品信息、交易数据和用户反馈,这些数据蕴含着丰富的市场洞察。根据中国电子商务研究中心数据,2024 年我国网络零售市场规模突破 15 万亿元,平台商品数据呈现指数级增长。如何高效提取这些数据并转化…

C++中的Reactor和Proactor模型进行系统性解析

<摘要> 本解析系统阐述了网络编程中Reactor与Proactor两种高性能I/O模型的核心概念。Reactor基于同步I/O多路复用&#xff0c;通过事件循环分发通知&#xff0c;由应用层自行完成I/O操作&#xff1b;而Proactor则基于异步I/O&#xff0c;由操作系统完成I/O操作后主动回调…

【技术教程】如何将文档编辑器集成至基于Node.js的网页应用程序中

当今数字化时代&#xff0c;Web应用对在线文档编辑的需求日益增长。无论是构建在线办公系统、内容管理平台还是协作工具&#xff0c;让用户能够直接在浏览器中编辑和处理文档已成为基本需求。 想知道如何为你的 Node.js 应用添加强大的在线文档编辑功能吗&#xff1f;本文手把…

[论文阅读] 人工智能 + 软件工程 | 别让AI写的代码带“漏洞”!无触发投毒攻击的防御困境与启示

别让AI写的代码带“漏洞”&#xff01;无触发投毒攻击的防御困境与启示 论文信息 原标题&#xff1a;Evaluating Defenses Against Trigger-Free Data Poisoning Attacks on NL-to-Code Models&#xff08;评估NL-to-Code模型应对无触发数据投毒攻击的防御方法&#xff09;主要…

【Windows】通过 runas 命令实现多用户权限测试的完整流程

▒ 目录 ▒&#x1f6eb; 导读需求1️⃣ 前期准备&#xff1a;创建管理员/普通测试用户1.1 创建普通用户Test&#xff08;无管理员权限&#xff09;1.2 创建管理员用户Admin&#xff08;含管理员权限&#xff09;2️⃣ 核心操作&#xff1a;通过runas命令切换用户命令行环境2.1…

新后端漏洞(上)- H2 Database Console 未授权访问

漏洞介绍&#xff1a; H2 database是一款Java内存数据库&#xff0c;多用于单元测试。 H2 database自带一个Web管理页面&#xff0c;在Spirng开发中&#xff0c;如果我们设置如下选项&#xff0c;即可允许外部用户访问Web管理页面&#xff0c;且没有鉴权&#xff1a; spring.h2…

2025-09-04 HTML3——区块布局与表单

文章目录1 块元素与行内元素1.1 块元素 (Block-level Element)1.2 行内元素 (Inline Element)2 HTML 布局2.1 使用 <div> 元素2.2 使用 <table> 元素3 表单 (<form>)3.1 输入域&#xff08;<input>&#xff09;3.1.1 文本域&#xff08;Text Fields&am…

云数据库服务(参考自腾讯云计算工程师认证课程)更新中......

数据库基础介绍面临的挑战&#xff1a;数据库系统架构&#xff1a; 数据库DB、数据库管理系统DBMS&#xff08;负责数据库的搭建、使用和维护的系统软件&#xff0c;通过组织、索引、查询、修改数据库文件、实现数据定义、组织、存储、管理以及数据库操作、运行和维护等主要功能…

源滚滚AI编程SillyTavern酒馆配置Claude Code API教程

什么是酒馆 SillyTavern&#xff08;简称 ST&#xff09;是一款本地安装的用户界面&#xff0c;让你能够与文本生成大模型&#xff08;LLM&#xff09;、图像生成引擎以及语音合成&#xff08;TTS&#xff09;模型进行交互。我们的目标是尽可能赋予用户对 LLM 提示词的最大掌控…