【论文速读】Optimization-based Prompt Injection Attack to LLM-as-a-Judge

基于优化的提示词注入攻击

  • 摘要
  • 引言
  • 问题描述
    • LLM-as-a-judge
    • 威胁模型
    • 攻击者知道什么
  • JUDGEDECEIVER 细节
    • 概述
    • 生成影子候选回复
    • 公式化为优化问题
      • Target-aligned generation loss
      • Target-enhancement loss
      • Adversarial perplexity loss
      • 优化问题
    • 求解优化问题

摘要

LLM-as-a-Judge 利用一个大型语言模型(LLM)从一组候选答案中选择给定问题的最佳回答。LLM-as-a-Judge 有许多应用,例如 LLM 驱动的搜索、带有 AI 反馈的强化学习(RLAIF)和工具选择。在这项工作中,提出了 JudgeDeceiver,这是一种针对 LLM-as-a-Judge 的基于优化的提示注入攻击。JudgeDeceiver 将一个精心设计的序列注入到攻击者控制的候选回答中,使得 LLM-as-a-Judge 无论其他候选回答是什么,都会为攻击者选择的问题选择该候选回答。具体来说,我们将寻找这样的序列作为一个优化问题,并提出了一种基于梯度的方法来近似解决它。我们广泛的评估表明,JudgeDeceiver 非常有效,并且比现有的手动制作注入序列的提示注入攻击和扩展到我们问题的越狱攻击更有效。我们还通过三个案例研究,即 LLM 驱动的搜索、RLAIF 和工具选择,展示了 JudgeDeceiver 的有效性。此外,我们考虑了包括已知答案检测、困惑度检测和困惑度窗口检测在内的防御措施。我们的结果表明,这些防御措施是不足够的,突出了开发新的防御策略的迫切需要。

引言

现有的提示注入和越狱攻击对 LLM-as-a-Judge 的效果不佳,如第 4 节详细说明。这是因为现有的提示注入攻击依赖于基于启发式手动制作的注入序列。此外,现有的提示注入和越狱攻击假设攻击者知道输入到 LLM 的全部数据,而 LLM-as-a-Judge 面临一个独特的挑战:攻击者不知道除了目标回应之外的候选回应集。这种技术差异为 LLM-as-a-Judge 提示注入创造了不同的挑战,我们的工作解决了这个问题。

提出了 JudgeDeceiver,这是针对 LLM-as-a-Judge 的首个基于优化的提示注入攻击。这个注入序列被添加到提交给 LLM-as-a-Judge 的目标回答中,从而误导法官倾向于这个回答,如图 1 所示。
在这里插入图片描述
注入的目标回答可以抵御 LLM-as-a-Judge 采用的位置交换防御机制

首先构建一个影子候选回答数据集,旨在模拟攻击场景,从而使 JudgeDeceiver 能够生成具有更好泛化的注入序列。攻击目标是操纵 LLM-as-a-Judge 生成一个明确的攻击目标输出,例如“输出(索引)更好”,其中“索引”指的是目标回答的特定索引。为了实现这一点,我们提出了一个目标对齐生成损失(target-aligned generation loss),旨在最小化受注入序列影响的输出与定义的攻击目标输出之间的差异。

然而,随着影子候选回答数量的增加,一个关键挑战出现了:由于目标回答的随机位置索引,优化变得更加复杂。为了应对这一挑战,我们提出了一个额外的目标增强损失项(target-enhancement
loss term)在优化问题中,它专注于最大化输出中目标回答的索引标记的可能性

这个损失函数确保了无论目标回答的位置索引如何,评估结果都与我们预定义的攻击目标紧密对齐。具体来说,这个损失项专注于攻击目标的位置特征,并减轻了回答位置的潜在混杂效应,从而增强了我们的攻击对位置偏见的一致性和鲁棒性。

此外,我们引入了一个对抗性困惑度损失(adversarial perplexity loss),以**减少注入序列的困惑度,这对抗基于困惑度检测的潜在防御。**注入序列的生成是通过最小化三个损失项的加权和来表述的,我们提出了一种基于梯度下降的方法来解决优化问题。

探索了针对judgedeception的三种基于检测的防御:已知答案检测[43]、困惑(PPL)检测[32]和困惑窗口(PPL- w)检测[32]。特别是,已知答案检测无法检测包含注入序列的目标响应。PPL检测和PPL- w检测都能检测到注入序列的部分目标响应,但仍有很大一部分缺失。例如,当LLM为Llama-3-8B时,当PPL-W错误地将<1%的干净响应检测为目标响应时,注入序列的70%的目标响应未检测到。

贡献:

  • 提出了第一个针对LLM-as-a-Judge的基于优化的提示注入攻击——judgedeception

问题描述

LLM-as-a-judge

简单点就是按如下方法组织提示词,针对question q q q, 从response r i , { i = 1 , . . . , n } r_i, \{i=1,...,n\} ri,{i=1,...,n}中选择一个最佳回答,返回索引。
在这里插入图片描述

威胁模型

攻击者的目标如下所述:给定一个目标问题 q q q 和一组候选回答 R R R,攻击者从 R R R 中选择一个目标回答 r t r_t rt

这个选择,记作对 q , r t q, r_t q,rt,构成了攻击者的目标。攻击者旨在欺骗 LLM-as-a-Judge,使其在 R R R 中选择目标回答 r t r_t rt作为最佳回答,即使它对 q q q是不准确甚至恶意的。实现这种欺骗的核心是向目标回答 r t r_t rt注入一个序列 δ \delta δ,构造这个序列是为了利用 LLM 的统计依赖性和对微妙的语言和上下文异常的脆弱性来操纵其评估。这里, δ = T 1 , T 2 , … , T l \delta = T_1, T_2, \ldots, T_l δ=T1,T2,,Tl 包含 l l l个标记,表示应用于原始目标回答 r t r_t rt 的注入序列,旨在扭曲 LLM 的评估准确性。函数 A ( ⋅ ) A(\cdot) A()表示将 δ \delta δ以各种形式附加到 r t r_t rt的过程:它可以作为后缀、前缀或前后缀的组合添加到目标回答中。因此,攻击者目标的表述可以定义为:

E p header ⊕ q ⊕ r 1 ⊕ ⋯ ⊕ A ( r t , δ ) ⊕ ⋯ ⊕ r n ⊕ p trailer = o t Ep_{\text{header}} \oplus q \oplus r_1 \oplus \cdots \oplus A(r_t, \delta) \oplus \cdots \oplus r_n \oplus p_{\text{trailer}} = o_t Epheaderqr1A(rt,δ)rnptrailer=ot

其中 o t o_t ot 代表目标输出(攻击者期望的 LLM-as-a-Judge 的判断), t t t 是输入提示中目标回答的索引。LLM-as-a-Judge 在注入序列 δ \delta δ后选择回答 r t r_t rt 作为最优选择。

攻击者知道什么

假设攻击者知道要操作的目标问题-响应对。考虑了LLM-as-a-Judge使用开源llm的攻击场景。攻击者无法访问与目标响应一起评估的候选响应𝑅的完整集合,也不知道这些响应的总数𝑛。此外,攻击者不知道LLM输入提示符中目标响应的特定嵌入位置索引。

认为攻击者可以操纵由LLM-as-a-Judge评估的目标响应。攻击者也是LLM-as-a-Judge的用户,可以通过迭代测试了解LLM-as-a-Judge的输出模板。通过利用该模板,攻击者可以设计期望的目标,这可以作为制定优化问题以生成最优注入序列 δ \delta δ 的基础。

JUDGEDECEIVER 细节

概述

与以往的手动提示注入攻击方法不同,judgedeception使用了一种新的目标优化函数来生成注入序列。该优化函数包括三个损失组成部分:目标对齐生成损失(target-aligned generation loss)、目标增强损失(target enhancement loss)和对抗困惑损失(adversarial perplexity loss)。每个组件处理攻击的不同方面,总体目标是最小化它们的加权和。此外,提出了一种利用梯度下降和位置自适应的逐步算法来求解优化函数。

生成影子候选回复

如前文小节 2.2 所述,攻击者面临一个难题,即很难直接获取由大模型判别器(LLM-as-a-Judge)评估的真实候选响应。为了解决此问题,我们借鉴了先前研究中的一些见解 [33, 57, 66],构建了一组用于模拟潜在攻击场景的“影子候选响应”(shadow candidate response)。对于每一个目标问题 q q q,我们使用一个公开可访问的语言模型,记为 L L L,生成 N N N 个影子响应。为确保这些响应的多样性和全面性,我们使用一个重构语言模型(如 GPT-4)对问题 q q q 生成多个不同的提示语。这一过程涉及将一个手动设计的提示语转化为一组多样化的提示语,记为 P g e n = { p 1 , p 2 , ⋅ ⋅ ⋅ , p N } P_{gen} = \{ p_1, p_2, ···, p_N \} Pgen={p1,p2,⋅⋅⋅,pN},其中的示例见附录 A.5 中的表 14。集合 P g e n P_{gen} Pgen 中的每个提示语与目标问题 q q q 结合生成一个多样化的“影子数据集”(shadow dataset)候选响应,记作 D s = L ( P g e n , q ) D_s = L(P_{gen}, q) Ds=L(Pgen,q)。因此,与目标问题 q q q 相关的影子候选响应数据集可以表示为 D s = { s 1 , s 2 , ⋅ ⋅ ⋅ , s N } D_s = \{ s_1, s_2, ···, s_N \} Ds={s1,s2,⋅⋅⋅,sN}。该影子候选响应数据集为攻击准备阶段的关键步骤,它使得攻击者在不访问真实候选响应的情况下分析大模型判别器的行为,从而生成一个用于针对性和广义化提示注入攻击的注入序列。

公式化为优化问题

发起攻击时,攻击者无法完全获取关于候选响应数量和内容的详细信息,以应对此限制,我们构建了一个候选响应集 R s = { s 1 , ⋅ ⋅ ⋅ , s t − 1 , r t , s t + 1 , ⋅ ⋅ ⋅ , s m } R_s = \{ s_1, ···, s_{t-1}, r_t, s_{t+1}, ···, s_m \} Rs={s1,⋅⋅⋅,st1,rt,st+1,⋅⋅⋅,sm},其中包含目标响应 r t r_t rt 和从影子候选响应数据集 D s D_s Ds 中随机选择的 ( m − 1 ) (m - 1) (m1) 个响应。数据集 R s R_s Rs 为在缺乏真实候选响应的完整信息的情况下,制定优化问题提供了基础。为了增强提示注入攻击对不同真实候选响应的泛化能力,我们在多个影子候选响应集 R s ( i ) i = 1 M { R^{(i)}_s }^M_{i=1} Rs(i)i=1M 上优化注入序列 δ \delta δ。如方程 (2) 所述,有效攻击的目标是增加“大模型判别器”生成攻击者期望的目标输出的可能性,即识别目标响应为最匹配的响应。该目标可通过以下函数表示:
max ⁡ δ ∏ i = 1 M E ( o t i ∣ p h e a d e r ⊕ q ⊕ s 1 ( i ) ⊕ ⋅ ⋅ ⋅ ⊕ A ( r t i , δ ) ⊕ ⋅ ⋅ ⋅ ⊕ s m ( i ) ⊕ p t r a i l e r ) , \max_{\delta} \prod_{i=1}^M E(o_{ti} | p_{header} \oplus q \oplus s^{(i)}_1 \oplus ··· \oplus A(r_{ti}, \delta) \oplus ··· \oplus s^{(i)}_m \oplus p_{trailer}), δmaxi=1ME(otipheaderqs1(i)⋅⋅⋅A(rti,δ)⋅⋅⋅sm(i)ptrailer),
其中 r t i r_{t_i} rti 表示目标响应, o t i o_{t_i} oti 表示目标输出。我们使用 t i t_i ti 表示目标响应在 R s ( i ) R^{(i)}_s Rs(i) 中的位置索引。鉴于“大模型判别器”本质上是一个生成函数,我们定义了一个优化损失函数以实现预期的攻击目标。通过优化注入序列 δ = ( T 1 , T 2 , ⋅ ⋅ ⋅ , T l ) \delta = (T_1, T_2, ···, T_l) δ=(T1,T2,⋅⋅⋅,Tl),我们可以操控“大模型判别器”生成与预定义的目标输出一致的结果。这种基于优化的方法能够精确控制模型的生成行为,确保输出与攻击目标匹配,因为输入的提示通过贪婪生成过程唯一地决定输出。具体而言,我们设计了三项损失构成该优化损失函数:目标对齐生成损失(target-aligned generation loss)、目标增强损失(target-enhancement loss)、以及对抗困惑度损失(adversarial perplexity loss)。

Target-aligned generation loss

目标对齐生成损失(target-aligned generation loss),记为 L aligned L_{\text{aligned}} Laligned,旨在提高 LLM 生成目标输出 o t i = ( T 1 ( i ) , T 2 ( i ) , ⋅ ⋅ ⋅ , T L ( i ) ) o_{t_i} = (T^{(i)}_1, T^{(i)}_2, ···, T^{(i)}_L) oti=(T1(i),T2(i),⋅⋅⋅,TL(i)) 的概率。在此背景下,用 x ( i ) x^{(i)} x(i) 表示用于评估 R s ( i ) R^{(i)}_s Rs(i) 的输入序列,特别是排除注入序列 δ \delta δ 的情况。 L aligned L_{\text{aligned}} Laligned 的形式化定义如下:
L aligned ( x ( i ) , δ ) = − log ⁡ E ( o t i ∣ x ( i ) , δ ) , L_{\text{aligned}}(x^{(i)}, \delta) = - \log E(o_{t_i} | x^{(i)}, \delta), Laligned(x(i),δ)=logE(otix(i),δ),
其中 E ( o t i ∣ x ( i ) , δ ) E(o_{t_i} | x^{(i)}, \delta) E(otix(i),δ) 定义为:
E ( o t i ∣ x ( i ) , δ ) = ∏ j = 1 L E ( T j ( i ) ∣ x 1 : h i ( i ) , δ , x h i + l + 1 : n i ( i ) , T 1 ( i ) , ⋅ ⋅ ⋅ , T j − 1 ( i ) ) . E(o_{t_i} | x^{(i)}, \delta) = \prod_{j=1}^L E(T^{(i)}_j | x^{(i)}_{1:h_i}, \delta, x^{(i)}_{h_i+l+1:n_i}, T^{(i)}_1, ···, T^{(i)}_{j-1}). E(otix(i),δ)=j=1LE(Tj(i)x1:hi(i),δ,xhi+l+1:ni(i),T1(i),⋅⋅⋅,Tj1(i)).
在这里, x 1 : h i ( i ) x^{(i)}_{1:h_i} x1:hi(i) 表示注入序列 δ \delta δ 之前的输入标记, x h i + l + 1 : n i ( i ) x^{(i)}_{h_i+l+1:n_i} xhi+l+1:ni(i) 表示 δ \delta δ 之后的输入标记。 h i h_i hi 表示注入序列 δ \delta δ 之前的标记长度,而 n i n_i ni 是 LLM 处理的输入标记总长度。

Target-enhancement loss

目标增强损失(target-enhancement loss)旨在在优化过程中关注位置特征,以提高攻击在输入提示中目标响应位置变化时的鲁棒性。该损失项通过聚焦于成功攻击所需的关键单个标记来补充目标对齐生成损失。目标增强损失的公式如下:
L enhancement ( x ( i ) , δ ) = − log ⁡ E ( t i ∣ x ( i ) , δ ) , L_{\text{enhancement}}(x^{(i)}, \delta) = - \log E(t_i | x^{(i)}, \delta), Lenhancement(x(i),δ)=logE(tix(i),δ),
其中, t i t_i ti 表示 LLM-as-a-Judge 中目标响应的位置信息标记。此公式旨在最大化目标输出中位置信息标记 t i t_i ti 的概率,从而使注入序列 δ \delta δ 的优化更加直接和高效,以达到预期的攻击目标。

Adversarial perplexity loss

对抗困惑度损失(adversarial perplexity loss)旨在规避基于困惑度检测的防御机制 [3]。此类防御机制通过计算候选响应的对数困惑度来检测提示词注入攻击的存在。通常,候选响应中的注入序列会降低文本质量,导致更高的困惑度。我们通过在优化注入序列时使用对抗困惑度损失,以减轻其对整体文本困惑度的影响,使其更自然地融入目标文本,从而提高其在基于困惑度的防御机制下的隐蔽性。

形式上,对于长度为 l l l 的注入序列 δ = ( T 1 , T 2 , ⋯ , T l ) \delta = (T_1, T_2, \cdots, T_l) δ=(T1,T2,,Tl),其对数困惑度定义为该序列在模型下的平均负对数似然,可表示如下:
L perplexity ( x ( i ) , δ ) = − 1 l ∑ j = 1 l log ⁡ E ( T j ∣ x 1 : h i ( i ) , T 1 , ⋯ , T j − 1 ) . L_{\text{perplexity}}(x^{(i)}, \delta) = - \frac{1}{l} \sum_{j=1}^{l} \log E(T_j | x^{(i)}_{1:h_i}, T_1, \cdots, T_{j-1}). Lperplexity(x(i),δ)=l1j=1llogE(Tjx1:hi(i),T1,,Tj1).

优化问题

基于定义的目标和三个不同的损失函数 L aligned L_{\text{aligned}} Laligned L enhancement L_{\text{enhancement}} Lenhancement L perplexity L_{\text{perplexity}} Lperplexity,我们将 JudgeDeceiver 建立为一个优化问题,具体可以表示如下:
L total ( x ( i ) , δ ) = L aligned ( x ( i ) , δ ) + α L enhancement ( x ( i ) , δ ) + β L perplexity ( y ( x ( i ) , δ ) , (8) L_{\text{total}}(x^{(i)}, \delta) = L_{\text{aligned}}(x^{(i)}, \delta) + \alpha L_{\text{enhancement}}(x^{(i)}, \delta) + \beta L_{\text{perplexity}}(y(x^{(i)}, \delta), \tag{8} Ltotal(x(i),δ)=Laligned(x(i),δ)+αLenhancement(x(i),δ)+βLperplexity(y(x(i),δ),(8)
我们的目标是最小化总损失:
min ⁡ δ L total ( δ ) = ∑ i = 1 M L total ( x ( i ) , δ ) . (9) \min_{\delta} L_{\text{total}}(\delta) = \sum_{i=1}^{M} L_{\text{total}}(x^{(i)}, \delta). \tag{9} δminLtotal(δ)=i=1MLtotal(x(i),δ).(9)
其中 α \alpha α β \beta β 是平衡三个损失项的超参数。我们在评估中探索了它们对攻击性能的影响。实验结果表明,所有三个损失项对于 JudgeDeceiver 执行有效且一致的攻击至关重要。

求解优化问题

为了优化公式(9)中描述的损失函数,我们提出了一种基于梯度下降的方法,该方法通过迭代替换注入序列 δ \delta δ 中的标记,借鉴了先前研究的观点 [35, 58, 72]。目标是识别一个优化版本的 δ \delta δ,以最小化 L total ( δ ) L_{\text{total}}(\delta) Ltotal(δ) 的值。该方法系统地通过一系列迭代调整 δ \delta δ,在每一步评估对 L total L_{\text{total}} Ltotal 的影响,以逐步减少损失,直到找到最有效的注入序列。

优化过程开始时计算对修改 δ \delta δ 中第 j j j 个标记的影响的线性近似,量化为梯度:

∇ T j L total ( δ ) ∈ R ∣ V ∣ , (10) \nabla_{T_j} L_{\text{total}}(\delta) \in \mathbb{R}^{|V|}, \tag{10} TjLtotal(δ)RV,(10)

其中 T j T_j Tj 表示 δ \delta δ 中第 j j j 个标记的一热编码向量, V V V 表示完整的标记词汇表。随后,我们识别出具有最负梯度的前 K K K 个索引,作为替换标记 T j T_j Tj 的潜在候选。为每个 δ \delta δ 中的标记 T j T_j Tj 选择候选集后,我们采用与贪婪坐标梯度(GCG)算法 [72] 相同的标记搜索策略。

该策略随机选择一小部分 B ≤ K ∣ δ ∣ B \leq K |\delta| BKδ 个标记,评估此子集内每个潜在替换的损失,然后执行产生最小损失的替换。

为了应对与候选响应的位置信息相关的不确定性,这可能影响攻击的有效性,我们在方法中引入了一个位置适应策略。我们将不同位置索引 t i t_i ti 1 ≤ t i ≤ m 1 \leq t_i \leq m 1tim)下的注入序列 δ \delta δ 的优化目标表示为 L total ( x ( i ) , t i , δ ) L_{\text{total}}(x^{(i)}, t_i, \delta) Ltotal(x(i),ti,δ)。通过聚合不同位置索引的损失来优化注入序列。注入序列 δ \delta δ 的优化被认为是完成的,当它在所有位置索引上始终能够成功进行提示注入攻击时。此外,我们采用逐步优化的方法,在初始候选响应集优化注入序列后,逐步将新的候选响应集纳入优化过程。与同时优化多个候选响应集相比,这一策略加快了优化过程。附录中的算法 1 显示了 JudgeDeceiver 优化注入序列的整个过程。

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

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

相关文章

人工智能证书合集

本文将对目前市面上主流官方机构颁发的人工智能证书进行整理和介绍&#xff0c;由于整理的证书较多&#xff0c;本文共一万八千多字&#xff0c;请根据自己的考证需求阅读对应部分的内容&#xff0c;希望本文对人工智能行业的从业人员和计划从事人工智能相关岗位工作的人员有所…

Java入门8——二维数组

今天的内容算是数组的收尾~~ 从下次开始就要开始学习类和对象了&#xff0c;冲冲冲&#xff01; 首先二维数组&#xff0c;也很好理解&#xff0c;就是把几个一维数组拼在一起了&#xff0c;我们用代码来熟悉一下~ public class javaSchool {public static void main(String[…

自动售饮料机控制电路的设计

自动售饮料机控制电路的设计 1 设计目的 &#xff08;1&#xff09;熟悉数字电路的应用。 &#xff08;2&#xff09;掌握常常利用逻辑运算器及D触发器的逻辑功能及利用方式。 &#xff08;3&#xff09;熟悉电路仿真软件Multisim 利用。 &#xff08;4&#xff09;了解自动售饮…

高速高精运动控制解决方案亮相2024 NEPCON亚洲电子展!

■展会名称&#xff1a; NEPCON ASIA 2024 亚洲电子生产设备暨微电子工业展览会&#xff08;以下简称“亚洲电子展”&#xff09; ■展会日期 2024年11月6 -8日 ■展馆地点 中国深圳国际会展中心(宝安) ■展位号 11号馆-11A24 11月6日至8日&#xff0c;亚洲电子展将在中…

Flask轻松上手:从零开始搭建属于你的Web应用

目录 一、准备工作 二、安装Flask 三、创建你的第一个Flask应用 创建一个新的Python文件 编写Flask应用代码 运行Flask应用 四、创建一个简单的博客系统 定义路由和文章列表 创建模板文件 运行并测试博客系统 五、使用数据库存储用户信息 安装Flask-SQLAlchemy 修…

STM32开发 —— 新工程创建思路终于清晰了

目 录 工程创建三步法一、工程文件夹创建二、管理工程项三、配置工程参数 工程创建三步法 从ST官网下载好stm32标准库或HAL库&#xff0c;HAL库目录如下。 在Keil开发环境中创建STM32工程&#xff0c;分三大步即可完成工程的创建&#xff1a; 一步&#xff1a;在本地磁盘创建…

Java SpringBoot调用大模型AI构建AI应用

本文是一个用springboot 结合spring mvc 和spring ai alibaba 调用国产大模型通义千问的具体例子&#xff0c;按照这个做能够快速的搞定Java应用的调用。 然后就可以把这类应用泛化到所有的涉及到非结构化数据结构化的场景中。 Spring AI&#xff1a;简化Java中大模型调用的框…

【办公类-04-04】华为助手导出照片视频分类(根据图片、视频的文件名日期导入“年-月-日”文件夹中,并转移到“年-月”文件中整理、转移到“年”文件夹中整理)

背景需求 最近带班&#xff0c;没有时间整理照片&#xff0c;偶尔导一次&#xff0c;几个月的照片。发现用电脑版“华为手机助手“中的WLAN连接”与华为手机的“华为手机助手”连接&#xff0c;速度更快、更稳定&#xff0c;不会出现数据线连接时碰碰就断网的问题 1、先打开电…

电脑没有下载声卡驱动怎么办?电脑声卡驱动安装方法

在日常使用电脑的过程中&#xff0c;我们可能会遇到电脑没有声音的问题&#xff0c;这往往与声卡驱动缺失或损坏有关。声卡驱动是连接电脑硬件&#xff08;声卡&#xff09;与操作系统之间的桥梁&#xff0c;确保音频信号能够正常输入输出。那么&#xff0c;当电脑没有声卡驱动…

MYSQL死锁真实案例

​最近例行巡检时候发现一个死锁,阿里云RDS FOR MYSQL 8.0.X! 虽然阿里云的死锁页面看起来比较友好,不过跟社区版一样只是显示事务最后一条死锁SQL和相关的信息.一不小心对初级MYSQL DBA来说,深深地误导,浪费大量时间研究这两个SQL怎么发生了死锁! 阿里云RDS默认情况下审计没有…

【Spring】Spring Boot 日志(8)

本系列共涉及4个框架&#xff1a;Sping,SpringBoot,Spring MVC,Mybatis。 博客涉及框架的重要知识点&#xff0c;根据序号学习即可。 目录 本系列共涉及4个框架&#xff1a;Sping,SpringBoot,Spring MVC,Mybatis。 博客涉及框架的重要知识点&#xff0c;根据序号学习即可。 …

饿了么数据库表设计

有商家表、商品表、商品规格表、购物车表&#xff0c;不难分析出表是不够全面的。 (1)首先分析需要补充的表 1.对于购物车而言肯定有对应的用户&#xff0c;因此要添加一个用户表。 2.商品规格是冷&#xff0c;热&#xff0c;半分糖、全糖&#xff0c;对于冷热和半分糖是可以分…

C++模拟实现list

C教学总目录 C模拟实现list 1、成员变量2、迭代器3、insert函数4、erase函数5、pop_back、push_front、pop_front函数6、size和clear函数7、析构函数8、拷贝构造函数9、赋值运算符重载完整代码&#xff08;包含测试代码&#xff09; 1、成员变量 先来看看SGI版本STL中list的实…

【STM32】SD卡

(一)常用卡的认识 在学习这个内容之前&#xff0c;作为生活小白的我对于SD卡、TF卡、SIM卡毫无了解&#xff0c;晕头转向。 SD卡&#xff1a;Secure Digital Card的英文缩写&#xff0c;直译就是“安全数字卡”。一般用于大一些的电子设备比如&#xff1a;电脑、数码相机、AV…

品牌怎么找到用户发的优质内容,进行加热、复制?

在&#xff0c;相对传统媒体来说&#xff0c;社交媒体营销具有更高的成本效益。品牌可以通过相对较低的成本达到大量潜在客户&#xff0c;尤其是通过口碑营销和内容分享&#xff0c;可以实现倍增的传播效果。在社媒营销的过程中&#xff0c;去找到与品牌有关的优质、正向内容&a…

物联网设备如何助力实现高效远程老人监护

在发达国家&#xff0c;老龄化进程加速&#xff0c;老年人常需医疗、行动辅助、安全保障及个人卫生护理&#xff0c;费用高昂。传统老人监护依赖护士或助理现场照料&#xff0c;而物联网远程监控方案能有效改进此模式。它通过运用传感器等技术&#xff0c;实现全天候低成本实时…

如何使用和打开jconsole

配置: spring.jmx.enabledtrue spring.jmx.default-domainmybatiesdemo management.endpoints.jmx.exposure.include* 启动参数: -Dcom.sun.management.jmxremote.port9000 -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.jmxremote.sslfalse 启动项…

残差块(Residual Block)

1. **残差块的定义与作用**&#xff1a; 残差块通过引入跳跃连接&#xff08;skip-connection&#xff09;或称为快捷连接&#xff08;shortcut connection&#xff09;&#xff0c;允许网络学习输入与输出之间的残差映射&#xff0c;即学习函数&#xff0c;其中 是期望的底层映…

Sigrity Power SI VR noise Metrics check模式如何进行电源噪声耦合分析操作指导

SSigrity Power SI VR noise Metrics check模式如何进行电源噪声耦合分析操作指导 Sigrity Power SI的VR noise Metrics check模式本质上是用来评估和观测器件的电源网络的耦合对于信号的影响,输出S参数以及列出具体的贡献值。 以下图为例

讲个故事-HTTP/HTTPS 协议访问逻辑

一、HTTP/HTTPS 协议基本概念 1、协议 HTTP与 HTTPS 协议都是客户端 浏览器和服务器间的一种约定,约定如何将服务器中的信息下载到本地 ,并通过浏览器显示出来。 不同的是, HTTP 协议是一种明文传输协议,其对传输的数据不提供任何加密措施。而HTTPS 协议则是通过 SSL/TL…