Non-stationary Diffusion For Probabilistic Time Series Forecasting

摘要

时间序列数据受到潜在的物理动力学和外部影响,其不确定性通常随时间而变化。现有的去噪扩散概率模型(DDPMs)受到加性噪声模型(ANM)的恒定方差假设的限制,往往不能捕捉到这种非平稳性质。本文作者利用位置尺度噪声模型(LSNM)来放宽人工神经网络的固定不确定性假设,设计了一个基于扩散的概率预测框架,称为非平稳扩散(NsDiff),实现对不确定性的变化模式进行建模。具体来说,NsDiff将基于扩散的去噪条件生成模型与预训练的条件均值和方差估计器相结合,实现自适应端点分布建模。此外,还提出了一种不确定性感知噪声调度,该调度动态调整噪声水平以准确反映每一步数据的不确定性,并将时变方差集成到扩散过程中。

引言

时序数据预测工作一般是通过历史时序数据X\pmb{X}X来训练模型,然后预测未来的时序片段Y\pmb{Y}Y。因此可以看作在拟合分布E[Y∣X]\mathbb{E}[\pmb{Y}|\pmb{X}]E[YX]。这样的方法忽略了在预测过程中的时序不确定性。

去噪扩散概率模型(Denoising Diffusion Probabilistic Models ,DDPMs)基于加性噪声模型(Additive Noise Model,ANM)在概率时序预测工作中提供了不确定性。其加性噪声为固定的高斯噪声,拟合过程表示为:Y=f(X)+ϵ,  ϵ∼N(0,σ)\pmb{Y}=f(\pmb{X})+\pmb{\epsilon}, \; \pmb{\epsilon}\sim\mathcal{N}(\pmb{0},\pmb{\sigma})Y=f(X)+ϵ,ϵN(0,σ)。该方法在计算机视觉和自然语言生成工作中都有较大的贡献,但是对于非平稳时间序列数据的预测还需要进一步研究。

在这里插入图片描述

上图利用ILI(流感样疾病)数据集,分别对三种方法的效果进行展示(具有不同的端点分布(左)和估计不确定性(右)):TimeGrad 、TMDM 和NsDiff(本文所提方法)。其中,TimeGrad的端点分布服从标准正态分布N(0,I)\mathcal{N}(\pmb{0},\pmb{I})N(0,I),TMDM则使用N(f(X),I)\mathcal{N}(f(\pmb{X}),\pmb{I})N(f(X),I)。前者无法获取非稳定特征,后者则可以通过f(X)f(\pmb{X})f(X)获取时序数据的变化趋势,但是他的协方差限制了其准确预测不确定性的能力。

本文为了更好地处理随不确定性变化的非平稳性,我们在DDPMs中引入了位置尺度噪声模型(Local-Scale Noise Model,LSNM),它通过纳入上下文变化的方差放宽了传统的加性噪声模型(ANM)的限制:Y=f(X)+g(X)ϵ\pmb{Y}=f(\pmb{X})+\sqrt{g(\pmb{X})}\pmb{\epsilon}Y=f(X)+g(X)ϵ,其中g(X)g(\pmb{X})g(X)是基于X\pmb{X}X变化的参数。

主要贡献如下:

  • 作者观察到ANM不足以捕获变化的不确定性,并提出了一个集成LSNM的新框架,以允许显式不确定性建模。本作品是首次尝试介绍LSNM转化为概率时间序列预测
  • 为了从根本上提升DDPM的噪声建模能力,我们通过动态适应每一步噪声方差的不确定性噪声调度,将时变方差无缝地集成到核心扩散过程中
  • 实验结果表明,NsDiff在捕获不确定性方面具有较好的性能。具体来说,与最近第二好的基线相比在TMDM中,NsDiff在真实数据集上的改进可达66.3%,在合成数据集上的改进可达88.3%

相关工作

  • DDPM:这些方法通常假设固定端点方差,这使得非平稳时间序列难以建模
  • 非平稳时间序列预测:概率预测中的非平稳不确定性在很大程度上仍未得到探索

预备工作

问题描述:

  • 多元时间序列:X∈RN×D\pmb{X}\in\mathbb{R}^{N\times D}XRN×D,其中NNN是历史窗口尺寸,DDD是特征维度数量

  • 未来的多元时间序列:Y={p(y1),p(y2),...,p(yM)∣y∈RD}\pmb{Y}=\{p(y_1), p(y_2), ..., p(y_M)|y\in\mathbb{R}^D\}Y={p(y1),p(y2),...,p(yM)yRD},其中MMM是为未来窗口尺寸

  • 以前的工作拟合该过程为:Y=fϕ(X)+ϵ,  ϵ∼N(0,σ)\pmb{Y}=f_{\phi}(\pmb{X})+\pmb{\epsilon},\;\pmb{\epsilon}\sim\mathcal{N}(\pmb{0},\pmb{\sigma})Y=fϕ(X)+ϵ,ϵN(0,σ)

  • 本文的工作:
    Y=fϕ(X)+gψ(X)ϵ,  ϵ∼N(0,σ) \pmb{Y}=f_{\phi}(\pmb{X})+\sqrt{g_{\psi}(\pmb{X})}\pmb{\epsilon},\;\pmb{\epsilon}\sim\mathcal{N}(\pmb{0},\pmb{\sigma}) Y=fϕ(X)+gψ(X)ϵ,ϵN(0,σ)

fϕ(X)f_{\phi}(\pmb{X})fϕ(X)gψ(X)g_{\psi}(\pmb{X})gψ(X)可以被视为具有预训练参数ϕ\phiϕψ\psiψ的先验知识,其中fϕ(X)f_{\phi}(\pmb{X})fϕ(X)建模条件期望E[Y∣X]\mathbb{E}[\pmb{Y}|\pmb{X}]E[YX]gψ(X)g_{\psi}(\pmb{X})gψ(X)建模变化的不确定性。

DDPMs

  • 未来序列分布:pθ(Y0):=∫pθ(Y0:T)dY1:Tp_\theta(\pmb{Y}_0):=\int p_\theta(\pmb{Y}_{0:T})d\pmb{Y}_{1:T}pθ(Y0):=pθ(Y0:T)dY1:T,其中Y1,...,YT\pmb{Y}_1,...,\pmb{Y}_TY1,...,YT是潜变量

  • 联合分布被描述为马尔可夫链:pθ(Y0:T):=p(YT)∏t=1Tpθ(Yt−1∣Yt)p_\theta(\pmb{Y}_{0:T}):=p(\pmb{Y}_T)\prod_{t=1}^{T}p_\theta(\pmb{Y}_{t-1}|\pmb{Y}_t)pθ(Y0:T):=p(YT)t=1Tpθ(Yt1Yt),其中端点分布为p(YT):=N(0,I)p(\pmb{Y}_T):=\mathcal{N}(0, \pmb{I})p(YT):=N(0,I)

  • 前向过程Y0→YT\pmb{Y}_0\rightarrow\pmb{Y}_TY0YT
    q(Y1:T∣Y0):=∏t=1Tq(Yt∣Yt−1)q(Yt∣Yt−1):=N(Yt;1−βtYt−1,βtI) q(\pmb{Y}_{1:T}|\pmb{Y}_0):=\prod_{t=1}^{T}q(\pmb{Y}_t|\pmb{Y}_{t-1})\\ q(\pmb{Y}_t|\pmb{Y}_{t-1}):=\mathcal{N}(\pmb{Y}_t;\sqrt{1-\beta_t}\pmb{Y}_{t-1},\beta_t\pmb{I}) q(Y1:TY0):=t=1Tq(YtYt1)q(YtYt1):=N(Yt;1βtYt1,βtI)
    其中,βt∈(0,1)\beta_t\in(0, 1)βt(0,1)是一个扩散技巧参数,用于控制端点分布YT∼N(0,I)\pmb{Y}_T\sim\mathcal{N}(0,\pmb{I})YTN(0,I)

  • 前向过程可以简化为:q(Yt∣Y0)=N(Yt;αˉtYt−1,(1−αˉt)I)q(\pmb{Y}_t|\pmb{Y}_0)=\mathcal{N}(\pmb{Y}_t;\sqrt{\bar{\alpha}_t}\pmb{Y}_{t-1},(1-\bar{\alpha}_t)\pmb{I})q(YtY0)=N(Yt;αˉtYt1,(1αˉt)I),其中αt:=1−βt\alpha_t:=1-\beta_tαt:=1βt,且αˉ:=∏i=1tαt\bar{\alpha}:=\prod_{i=1}^{t}\alpha_tαˉ:=i=1tαt

  • 后向过程:
    KaTeX parse error: Can't use function '$' in math mode at position 2: $̲p_\theta(\pmb{Y…

  • 优化目标为:
    EY0∼q(Y0),η∼N(0,I),t∣∣η−ηθ∣2 \mathbb{E}_{\pmb{Y}_0\sim q(\pmb{Y}_0),\eta\sim\mathcal{N}(0,\pmb{I}),t}||\eta-\eta_\theta|^2 EY0q(Y0),ηN(0,I),t∣∣ηηθ2

在这个基本的正向和反向过程之后,许多基于扩散的方法改进了反向过程或先验分布与历史时间序列信息。然而,它们固定了先验分布的方差,关注的是期望匹配。不确定性的先验设置和训练在很大程度上被忽略了。

方法

在这里插入图片描述

前向和反向过程

使用不同的噪声模型LSNM形成端点分布
p(YT∣fϕ(x),gψ(x)):=N(fϕ(X,gψ(X))) p(\pmb{Y}_T|f_\phi(x),g_\psi(x)):=\mathcal{N}(f_\phi(\pmb{X},g_\psi(\pmb{X}))) p(YTfϕ(x),gψ(x)):=N(fϕ(X,gψ(X)))
其中,fϕ(x)f_\phi(x)fϕ(x)为条件期望E[Y∣X]\mathbb{E}[\pmb{Y}|\pmb{X}]E[YX]建模,该条件期望E[Y∣X]\mathbb{E}[\pmb{Y}|\pmb{X}]E[YX]可以通过任何预测模型参数化,遵循已有的工作(Reversible instance normalization for accurate time-series
forecasting against distribution shift;Adaptive normalization for non-stationary
time series forecasting: A temporal slice perspective)来训练不确定度gψ(x)g_\psi(x)gψ(x)的先验尺度,用输入方差来预测输出方差。

前向过程逐步修改每一步的噪声以接近端点分布。为了将时变方差无缝地整合到扩散过程中,我们提出了一个不确定性感知的噪声调度,并将数据方差纳入前向过程分布中:q(Yt∣Yt−1,fϕ(X),gψ(X),σY0)q(\pmb{Y}_t|\pmb{Y}_{t-1},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0})q(YtYt1,fϕ(X),gψ(X),σY0)。具体来说,给定预训练良好的模型fϕf_\phifϕgψg_\psigψ和先验状态Yt−1\pmb{Y}_{t-1}Yt1,我们控制缩放方差从起点的实际方差σY0\pmb{\sigma}_{\pmb{Y}_0}σY0过渡到端点gψXg_\psi{\pmb{X}}gψX。得到的分布为正态分布:
N(Yt;αtYt−1+(1−αt)fϕ(X),(βt2gψ(X)+αtβtσY0)βt2gψ(X)+αtβtσY0):=σt \mathcal{N}(\pmb{Y}_t;\sqrt{\alpha_t}\pmb{Y}_{t-1}+(1-\sqrt{\alpha_t})f_\phi(\pmb{X}),(\beta_t^2g_\psi(\pmb{X})+\alpha_t\beta_t\pmb{\sigma}_{\pmb{Y}_0})\\ \beta_t^2g_\psi(\pmb{X})+\alpha_t\beta_t\pmb{\sigma}_{\pmb{Y}_0}) := \pmb{\sigma}_t N(Yt;αtYt1+(1αt)fϕ(X),(βt2gψ(X)+αtβtσY0)βt2gψ(X)+αtβtσY0):=σt
其中共享系数βt\beta_tβt是噪声标度常数。随着噪声步骤ttt的增大,βtgψ(X)\beta_tg_\psi(\pmb{X})βtgψ(X)项增大,αtσY0\alpha_t\pmb{\sigma}_{\pmb{Y}_0}αtσY0项减小。当t=Tt=Tt=T时,αt=0\alpha_t=0αt=0,变量收敛到假设的端点分布gϕ(X)g_\phi(\pmb{X})gϕ(X)。这使得DDPM能够自适应地调整每一步的噪声水平,以捕获数据的不确定性。正向分布允许一个封闭形式的采样分布q(Yt∣Y0,fϕ(X),gψ(X),σY0)q(\pmb{Y}_t|\pmb{Y}_{0},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0})q(YtY0,fϕ(X),gψ(X),σY0)具有任意时间步长ttt
N(Yt;αˉtY0+(1−αˉt)fϕ(X),(βˉt−β~t)gψ(X)+β~tσY0)(βˉt−β~t)gψ(X)+β~tσY0):=σˉt \mathcal{N}(\pmb{Y}_t;\sqrt{\bar{\alpha}_t}\pmb{Y}_{0}+(1-\sqrt{\bar\alpha_t})f_\phi(\pmb{X}),(\bar\beta_t-\tilde\beta_t)g_\psi(\pmb{X})+\tilde\beta_t\pmb{\sigma}_{\pmb{Y}_0})\\ (\bar\beta_t-\tilde\beta_t)g_\psi(\pmb{X})+\tilde\beta_t\pmb{\sigma}_{\pmb{Y}_0}) := \bar{\pmb{\sigma}}_t N(Yt;αˉtY0+(1αˉt)fϕ(X),(βˉtβ~t)gψ(X)+β~tσY0)(βˉtβ~t)gψ(X)+β~tσY0):=σˉt
其中:
α~t=∑k=0t−1∏i=t−ktαi,  βˉt:=1−αˉtα^t:=∑k=0t−1(∏i=t−ktαi)αt−k,  β~t:=α~t−α^t \tilde\alpha_t = \sum_{k=0}^{t-1}\prod_{i=t-k}^{t}\alpha_i,\;\bar\beta_t:=1-\bar\alpha_t\\ \hat\alpha_t:=\sum_{k=0}^{t-1}(\prod_{i=t-k}^{t}\alpha_i)\alpha_{t-k},\;\tilde\beta_t:=\tilde\alpha_t-\hat\alpha_t α~t=k=0t1i=tktαi,βˉt:=1αˉtα^t:=k=0t1(i=tktαi)αtk,β~t:=α~tα^t
在反向过程中,当以Y0\pmb{Y}_0Y0为条件时,Yt−1\pmb{Y}_{t-1}Yt1的后验是可处理的,可重述为:
q(Yt−1∣Yt,Y0,fϕ(X),gψ(X),σY0):=N(Yt−1;μ~,σ~) q(\pmb{Y}_{t-1}|\pmb{Y}_{t},\pmb{Y}_0,f_{\phi(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0}}) := \mathcal{N}(\pmb{Y}_{t-1};\tilde\mu,\tilde\sigma) q(Yt1Yt,Y0,fϕ(X),gψ(X),σY0):=N(Yt1;μ~,σ~)
这里:
μ~:=γY0+γ1Yt+γ2fϕ(X)σ~:=σtσˉt−1αtσˉt−1+σt \tilde\mu:=\gamma\pmb{Y}_0+\gamma_1\pmb{Y}_t+\gamma_2f_\phi(\pmb{X})\\ \tilde\sigma:=\frac{\sigma_t\bar\sigma_{t-1}}{\alpha_t\bar\sigma_{t-1}+\sigma_t} μ~:=γY0+γ1Yt+γ2fϕ(X)σ~:=αtσˉt1+σtσtσˉt1
其中:
γ0:=αˉt−1σtαtσˉt−1+σt, γ1:=αˉtσt−1αtσˉt−1+σt,γ2:=αt(αt−1)σt−1+(1−αˉt−1)σtαtσˉt−1+σt \gamma_0 := \frac{\sqrt{\bar\alpha_{t-1}}\sigma_t}{\alpha_t\bar\sigma_{t-1}+\sigma_t},\\\ \gamma_1 := \frac{\sqrt{\bar\alpha_{t}}\sigma_t-1}{\alpha_t\bar\sigma_{t-1}+\sigma_t},\\ \gamma_2 := \frac{\sqrt{\alpha_{t}}(\alpha_{t}-1)\sigma_{t-1}+(1-\sqrt{\bar\alpha_{t-1}})\sigma_t}{\alpha_t\bar\sigma_{t-1}+\sigma_t} γ0:=αtσˉt1+σtαˉt1σt, γ1:=αtσˉt1+σtαˉtσt1,γ2:=αtσˉt1+σtαt(αt1)σt1+(1αˉt1)σt
按照DDPM的基本步骤参数化降噪模型pθ(Yt−1∣Yt,fϕ(X),gψ(X))p_\theta(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}))pθ(Yt1Yt,fϕ(X),gψ(X)),以匹配前向过程后验q(Yt−1∣Yt,fϕ(X),gψ(X),σY0)q(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0})q(Yt1Yt,fϕ(X),gψ(X),σY0)

损失函数

通过优化两个分布的KL散度,将去噪过渡步骤pθ(Yt−1∣Yt,fϕ(X),gψ(X))p_\theta(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}))pθ(Yt1Yt,fϕ(X),gψ(X))近似为标签去噪过度步骤q(Yt−1∣Yt,fϕ(X),gψ(X),σY0)q(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0})q(Yt1Yt,fϕ(X),gψ(X),σY0)​。与经典DDPM一样,只优化对角方差项,分别表示为σ~\tilde\sigmaσ~σθ\sigma_\thetaσθ。损失定义为噪声匹配项的KL散度:

L=E[DKL(Nx;μ~,σ~∣∣N(y;μθ,σθ))]∝E[∣∣η−ηθ∣∣22+∑iσ~iσθ,i−∑ilog⁡(σ~iσθ,i)] \mathcal{L} = \mathbb{E}[D_{KL}(\mathcal{N}_x;\tilde\mu,\tilde\sigma||\mathcal{N}(y;\mu_\theta,\sigma_\theta))]\propto\mathbb{E}[||\eta-\eta_\theta||_2^2+\sum_i\frac{\tilde\sigma_i}{\sigma_{\theta,i}}-\sum_i\log(\frac{\tilde\sigma_i}{\sigma_{\theta,i}})] L=E[DKL(Nx;μ~,σ~∣∣N(y;μθ,σθ))]E[∣∣ηηθ22+iσθ,iσ~iilog(σθ,iσ~i)]
其中ηθ\eta_\thetaηθ为估计噪声,η\etaη为真噪声。第一项保证了后验均值的估计,其余项保证了方差的估计。

预训练fϕf_\phifϕgψg_\psigψ

为了训练fϕf\phifϕ,我们遵循先前的工作(Transformer-modulated diffusion models for probabilistic multivariate time series forecasting),并利用非平稳Transformer(Non-stationary
transformers: Exploring the stationarity in time series forecasting)作为主干模型。训练过程与标准监督时间序列模型的训练过程相同(Informer: Beyond efficient transformer
for long sequence time-series forecasting)。对于gψg_\psigψ的训练,我们使用滑动窗口方法提取估计值的方差,参考(Reversible instance normalization for accurate time-series
forecasting against distribution shift;Adaptive normalization for non-stationary time series forecasting: A temporal slice perspective;Frequency adaptive normalization for non-stationary time series forecasting)。具体来说,给定时间序列标签Y0\pmb{Y}_0Y0,估计值的方差定义为:
σY0=Var(SlidingWindow(Y0)) \sigma_{\pmb{Y}_0}=Var(SlidingWindow(\pmb{Y}_0)) σY0=Var(SlidingWindow(Y0))
该过程为有监督训练过程。

训练NsDiff

NsDiff训练的目标是通过参数化pθp_\thetapθ来匹配后验分布qqq​。和传统的DDPM一样,NsDiff可以通过分别从均匀分布和高斯分布中采样随机ttt和噪声η\etaη来端到端训练。

在这里插入图片描述

推理

推理阶段的目标是从参数化分布pθ(Yt−1∣Yt,fϕ(X),gψ(X))p_\theta(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}))pθ(Yt1Yt,fϕ(X),gψ(X))中递归采样:

在这里插入图片描述

简化NsDiff

在这里插入图片描述

个人总结

本文通过在噪声项中添加gψ(X)g_\psi(\pmb{X})gψ(X)实现了对预测不确定性的建模:
Y=fϕ(X)+gψ(X)ϵ \pmb{Y} = f_\phi(\pmb{X})+\sqrt{g_\psi(\pmb{X})}\epsilon Y=fϕ(X)+gψ(X)ϵ

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

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

相关文章

解决Docker 无法连接到官方镜像仓库

这个错误: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)表示 Docker 无法连接到官方镜像仓库 registry-1.docker…

解决RAGFlow启动时Elasticsearch容器权限错误的技术指南

文章目录 问题现象 根本原因分析 解决方案步骤 1. 定位宿主机数据目录 2. 修复目录权限 3. 验证权限状态 4. 重启服务 5. 检查启动状态 永久解决方案:优化Docker Compose配置 高级故障排除 技术原理 问题现象 在启动RAGFlow项目时,执行 docker logs ragflow-es-01 发现Elast…

【C++高阶六】哈希与哈希表

【C高阶六】哈希与哈希表1.什么是哈希?2.unordered系列容器3.哈希表3.1将key与存储位置建立映射关系3.1.1直接定址法3.1.2除留余数法(产生哈希冲突)3.2解决哈希冲突的方法3.2.1闭散列(开放定址法)3.3.2开散列&#xff…

Vue 3 +Ant Design Vue 父容器样式不影响子级,隔离

公共样式文件 common.scss.zz-ant-status-bar {div {font-size: 12px;padding: 0 8px;} }页面代码<div class"zz-ant-status-bar"><a-row><a-col :span"6" ><a-progress :percent"progress.percent" size"small"…

k8s 简介及部署方法以及各方面应用

Kubernetes 简介及部署方法Kubernetes&#xff08;简称 K8s&#xff09;是一个开源的容器编排平台&#xff0c;用于自动化容器化应用的部署、扩展、管理和运维。它由 Google 基于内部的 Borg 系统经验开发&#xff0c;2014 年开源后由云原生计算基金会&#xff08;CNCF&#xf…

Class A 包含字段 x Class B 也包含字段 x,如果判断List<A> lista 和 List<B> listb 有相同的 x?

要判断两个不同类型的对象列表 List<A> 和 List<B> 是否包含相同的 x字段值&#xff08;即两个列表中至少有一个 x是相同的&#xff09;&#xff0c;你可以使用 Java 8 的 Stream API 来实现。import java.util.List; import java.util.Set; import java.util.stre…

SpringBoot整合Camunda工作流

什么是工作流&#xff1f;概述 工作流是将一组任务组织起来以完成某个经营过程&#xff1a;定义了任务的触发顺序和触发条件&#xff0c;每个任务可以由一个或多个软件系统完成&#xff0c;也可以由一个或一组人完成&#xff0c;还可以由一个或多个人与软件系统协作完成&#x…

2025年09月计算机二级Java选择题每日一练——第四期

计算机二级中选择题是非常重要的&#xff0c;所以开始写一个每日一题的专栏。 答案及解析将在末尾公布&#xff01; 今日主题&#xff1a;面向对象特性 1、有两个类 A 和 B 的定义如下&#xff1a; class A{final int x10;public void show(){System.out.print(x " &quo…

《Nature》新文解读:电化学辅助核聚变的实验验证与机制分析

前言一篇于2025年8月发表在《Nature》期刊上的重磅研究&#xff0c;由加拿大不列颠哥伦比亚大学&#xff08;UBC&#xff09;Curtis P. Berlinguette教授领导的跨学科团队完成&#xff0c;首次在实验上证实&#xff1a;通过电化学方法向钯金属靶中加载氘&#xff0c;可显著提升…

【基础-判断】用户在长视频、短视频、直播、通话、会议、拍摄类应用等场景下,可以采用悬停适配在折叠屏半折态时,上屏进行浏览下屏进行交互操作

用户在长视频、短视频、直播、通话、会议、拍摄类应用等场景下,可以采用悬停适配在折叠屏半折态时,上屏进行浏览下屏进行交互操作。 解释如下: ✅ 1. 悬停态适配机制的核心设计 HarmonyOS 针对折叠屏半折态(悬停态)提供了分屏交互框架,其核心逻辑是: 上屏(Upper Scre…

nodejs安装后 使用npm 只能在cmd 里使用 ,但是不能在poowershell使用,只能用npm.cmd

nodejs安装后 使用npm 只能在cmd 里使用 &#xff0c;但是不能在poowershell使用&#xff0c;只能用npm.cmdnodejs版本&#xff1a;22.18.0 刚安装好nodejs&#xff0c;在 PowerShell 中无法执行 npm&#xff0c;但能执行npm.cmd&#xff0c;这通常是因为 PowerShell 的执行策略…

【链表 - LeetCode】2. 两数相加

谁都逃不掉 LeetCode &#xff01;&#xff01;哈哈哈~~~ 开刷&#xff1a;&#xff09; 2025年08月22日 题目&#xff1a;2. 两数相加 - 力扣&#xff08;LeetCode&#xff09; 知识点&#xff1a;链表 /*** Definition for singly-linked list.* struct ListNode {* in…

WG-Tools 在线开发者工具推荐:完全免费、无广告干扰、无需安装、即开即用

WG-Tools 在线开发者工具箱全面探秘: 一站式效率提升平台前言一. WG-Tools 平台介绍 &#x1f6e0;️平台概览技术架构亮点二. 功能模块详细介绍 &#x1f3af;&#x1f4dd; 文本处理工具 (Text Tools)1. JSON工具2. XML工具3. 文本对比4. 正则表达式工具5. Markdown编辑器6. …

四十二、【核心功能强化】用例管理与调试:批量删除与在线请求测试

四十二、【核心功能强化】用例管理与调试:批量删除与在线请求测试 前言 准备工作 第一部分:后端实现 1. 修改 `TestCaseViewSet` (`api/views.py`) 2. 后端 API 权限: 第二部分:前端实现 1. 更新 `api/testcase.ts` API 服务 2. 改造 `TestCaseListView.vue` (用例列表页面…

从H.264到AV1:音视频技术演进与模块化SDK架构全解析

引言 过去二十年&#xff0c;音视频技术经历了从 文件点播 → 流媒体 → 实时直播 → 互动协作 的深刻演变。早期的视频更多停留在娱乐与媒体分发层面&#xff0c;而如今&#xff0c;它已经成为数字化社会的“实时交互基座”。从 安防监控的秒级告警、工业巡检的远程操作&…

Kubernetes 调度器 详解

1. 调度器在 K8s 中的位置与核心流程API Server ←→ etcd ←→ kube-scheduler ←→ kubelet创建&#xff1a;用户提交 Pod 描述&#xff08;YAML/Helm/Operator&#xff09;。监听&#xff1a;调度器通过 Watch 机制捕获到 spec.nodeName"" 的 Pod。过滤&#xff1…

51.Seata-TCC模式

前面两种XA模式和TA模式,都是用了加锁。 TCC模式则不会加锁,性能更好。 TCC模式跟AT模式非常相似, 1.AT模式下,第一阶段直接提交事务。 2.TCC模式下,第一阶段不是提交事务,而是资源的预留冻结。 不同的是二阶段TCC通过人工编码来实现数据恢复。 需要实现三个方法 …

什么是数据分类分级?数据分类分级技术实现路径及产品推荐

什么是数据分类分级&#xff1f; 数据分类分级是指按照一定的原则、方法和标准&#xff0c;对数据进行系统化的类别划分和级别确定。具体而言&#xff0c;数据分类是依据数据的属性、特征、来源、用途等维度&#xff0c;将数据划分为不同的类别&#xff0c;如按照业务领域可分为…

深度学习——神经网络

在当今人工智能蓬勃发展的时代&#xff0c;深度学习和神经网络已经成为最受关注的技术领域之一。从智能手机的人脸识别到自动驾驶汽车的环境感知&#xff0c;从医疗影像分析到金融风险预测&#xff0c;这些技术正在深刻改变我们的生活和工作方式。本文将带您了解深度学习和神经…

uniapp image标签展示视频第一帧

?vframe/jpg/offset/1/ 加到视频后面获取第一帧图片 ?vframe/jpg/offset/1/w/400/h/300 设置宽高 ?imageView2/0/w/2000/interlace/1 设置图片分辨率 2000 // 后面的 /1/ 是第几帧 <image class"thumb" :src"videoUrl?vframe/jpg/offset/1/" mode…