0. 深度生成模型-基于得分的生成模型

news2024/11/24 19:56:10

深度生成模型-基于得分的生成模型

  • 1. 概述
    • 1.1. 深度生成模型
    • 1.2. 本文内容
  • 2. 基于得分的生成模型
    • 2.1. 分数匹配
      • 2.1.1. 去噪分数匹配
      • 2.1.2. 切片分数匹配
    • 2.2. 朗之万动力学采样
  • 3. 基于分数的生成式建模所面临的挑战
    • 3.1. 流形假说
    • 3.2. 低数据密度区域
      • 3.2.1 与分数匹配的分数估计不准确
      • 3.2.2. 朗之万动力学的缓慢混合
  • 4. 噪声条件评分网络:学习和推理
    • 4.1. 噪声条件评分网络
    • 4.2. 通过分数匹配来学习NCSNs
    • 4.3. 通过退火的朗之万动力学进行NCSN推断

1. 概述

1.1. 深度生成模型

生成模型是一种可以生成数据的概率模型,它可以从训练数据集中学习到数据的潜在分布,并通过该分布来生成新数据。

生成模型在机器学习中有许多应用。

  • 用于生成高保真图像
  • 合成真实的语音和音乐片段
  • 提高半监督学习[28,10]的性能
  • 检测敌对的例子和其他异常数据
  • 模仿学习
  • 并探索强化学习中有可能的状态

最近的进展主要由两种方法驱动:

  • 基于似然性的方法:对数似然(或合适的替代物)作为训练目标
  • 生成对抗网络(GAN):使用对抗性训练来最小化模型和数据分布之间的发散度或积分概率度量。

虽然基于似然性的模型和GANs已经取得了巨大的成功,但它们也有一些内在的局限性。

  • 基于似然性的模型要么必须使用专门的架构来构建一个归一化的概率模型(例如,自回归模型流模型),要么使用替代损失(例如,变分自动编码器中使用的证据下界,基于能量的模型中的对比发散)来进行训练。
  • GANs避免了基于似然的模型的一些局限性,但由于对抗性的训练程序,它们的训练可能是不稳定的。此外,GAN目标不适合用于评价和比较不同的GAN模型。
  • 虽然生成建模还存在其他目标,如噪声对比估计最小概率流,但这些方法通常只适用于低维数据。
    深度生成模型
    在这里插入图片描述

1.2. 本文内容

在本文中,我们探索了一种新的基于对数数据密度的(Stein)得分的估计和采样的生成建模原理,

  • 得分:对数密度函数在输入数据点的梯度。这是一个指向对数数据密度增长最大的方向的向量场。
  • 分数匹配:我们使用一个用分数匹配训练的神经网络来从数据中学习这个向量场。
  • 样本生成:使用朗之万动力学生成样本,近似地工作原理是沿着(估计的)分数向量场逐渐移动到高密度区域。

然而,这种方法有两个主要的挑战。

  • 首先,如果数据分布是在低维流形上支撑的——正如许多真实世界数据集通常假设的那样——分数将在环境空间中未定义,分数匹配将无法提供一致的分数估计器。
  • 其次,在低数据密度区域缺乏训练数据,例如,远离流形,阻碍了分数估计的准确性,并减缓了朗之万动态采样的混合。1. 低密度区域分数估计不准确,而由于朗之万动力学通常会在数据分布的低密度区域中进行初始化,因此在这些区域中进行不准确的分数估计会对采样过程产生负面影响。2. 混合(多个分布混合得到的分布)可能是困难的,因为需要跨越低密度区域进行两个分布模式的切换。

为了解决这两个挑战,我们提出用不同大小的随机高斯噪声来扰动数据。

  • 添加随机噪声可以确保所得到的分布不会崩溃到一个低维流形。
  • 较大的噪声水平将在原始(未受扰动)数据分布的低密度区域产生样本,从而提高分数估计。

至关重要的是,我们训练一个基于噪声水平的单一分数网络,并估计所有噪声大小的分数。然后,我们提出了一个退火的朗之万动力学版本,其中我们首先使用对应于最高噪声水平的分数,并逐步退火到噪声水平,直到它足够小,与原始数据分布难以区分。我们的采样策略受到模拟退火的启发,它启发式地改进了多模态尺度的优化。

我们的方法有几个理想的特性。

  • 首先,我们的目标是易于处理几乎所有分数网络的参数化,而不需要特殊的约束或架构,并且可以在训练期间没有对抗性训练、MCMC抽样或其他近似的情况下进行优化。
  • 该目标还可用于定量比较同一数据集上的不同模型。

通过实验证明了我们的方法对MNIST、CelebA 和CIFAR-10 的有效性。

我们表明,这些样本看起来可以与基于似然性的模型和GANs生成的样本相比较。

  • 在CIFAR-10上,我们的模型为无条件生成模型设置了新的初始分数8.87,并获得了25.32的具有竞争性FID分数。
  • 通过图像修复实验该模型学习有意义的数据表示。

2. 基于得分的生成模型

假设我们的数据集由来自一个未知的数据分布 p data  ( x ) p_{\text {data }}(\mathbf{x}) pdata (x)组成i.i.d.样本 { x i ∈ R D } i = 1 N \left\{\mathbf{x}_i \in \mathbb{R}^D\right\}_{i=1}^N {xiRD}i=1N

  • 我们将一个概率密度 p ( x ) p (x) p(x)分数定义为 ∇ x log ⁡ p ( x ) \nabla_{\mathbf{x}} \log p(\mathbf{x}) xlogp(x)
  • s θ : R D → R D \mathbf{s}_{\boldsymbol{\theta}}: \mathbb{R}^D \rightarrow \mathbb{R}^D sθ:RDRD是一个由 θ θ θ参数化的神经网络,它将被训练来近似 p d a t a ( x ) p_{data} (x) pdata(x)的分数。

生成建模的目标是使用数据集来学习模型,从 ∇ x log ⁡ p ( x ) \nabla_{\mathbf{x}} \log p(\mathbf{x}) xlogp(x)生成新的样本。

在这里插入图片描述

基于分数的生成建模框架有两个组成部分:分数匹配朗之万动力学

2.1. 分数匹配

分数匹配最初是为学习基于一个未知数据分布i.i.d.的样本而设计的非归一化统计模型。我们重新使用它来进行分数估计。使用分数匹配,我们可以直接训练一个分数网络 s θ ( x ) s_θ(x) sθ(x)来估计 ∇ x l o g p d a t a ( x ) ∇_xlogp_{data} (x) xlogpdata(x),而不需要首先训练一个模型来估计 p d a t a ( x ) p_{data} (x) pdata(x)

本文的分数匹配:与典型的分数匹配用法不同,我们选择不使用基于能量的模型的梯度作为分数网络,以避免由于高阶梯度而导致的额外计算。

目标是最小化 L = E p ( x ) [ ∥ ∇ x log ⁡ p ( x ) − s θ ( x ) ∥ 2 2 ] \mathcal{L}=\mathbb{E}_{p(\mathbf{x})}\left[\left\|\nabla_{\mathbf{x}} \log p(\mathbf{x})-\mathbf{s}_\theta(\mathbf{x})\right\|_2^2\right] L=Ep(x)[xlogp(x)sθ(x)22],它等价于以下式子乘上一个常数
L = E p ( x ) [ ∥ s θ ( x ) ∥ 2 + 2 tr ⁡ ( ∇ x s θ ( x ) ) ] \mathcal{L}=\mathbb{E}_{p(\mathbf{x})}\left[\left\|\mathbf{s}_\theta(\mathbf{x})\right\|^2+2 \operatorname{tr}\left(\nabla_{\mathbf{x}} \mathbf{s}_\theta(\mathbf{x})\right)\right] L=Ep(x)[sθ(x)2+2tr(xsθ(x))]
其中 ∇ x s θ ( x ) \nabla_{\mathbf{x}} \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}) xsθ(x)表示 s θ ( x ) \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}) sθ(x)的Jacobian矩阵.

证明如下:
J ( θ ) = 1 2 ∫ x ∈ R n p ( x ) ∥ s ( x ; θ ) − ∇ x log ⁡ p ( x ) ∥ 2 d x = ∫ x ∈ R n p ( x ) [ 1 2 ∥ ∇ x log ⁡ p ( x ) ∥ 2 + 1 2 ∥ s ( x ; θ ) ∥ 2 − ( ∇ x log ⁡ p ( x ) ) T s ( x ; θ ) ] d x \begin{aligned} J(\theta) & =\frac{1}{2} \int_{x \in \mathbb{R}^n} p(x)\left\|s(x ; \theta)-\nabla_x \log p(x)\right\|^2 d x \\ & =\int_{x \in \mathbb{R}^n} p(x)\left[\frac{1}{2}\left\|\nabla_x \log p(x)\right\|^2+\frac{1}{2}\|s(x ; \theta)\|^2-\left(\nabla_x \log p(x)\right)^T s(x ; \theta)\right] d x \end{aligned} J(θ)=21xRnp(x)s(x;θ)xlogp(x)2dx=xRnp(x)[21xlogp(x)2+21s(x;θ)2(xlogp(x))Ts(x;θ)]dx
其中第一项为常数(与参数 θ \theta θ 无关),第二项可以拆开,第三项通过部分积分技巧化解。

  • 第二项: 1 2 ∥ s ( x ; θ ) ∥ 2 = 1 2 ∑ i = 1 n ( s i ( x ; θ ) ) 2 \frac{1}{2}\|s(x ; \theta)\|^2=\frac{1}{2} \sum_{i=1}^n\left(s_i(x ; \theta)\right)^2 21s(x;θ)2=21i=1n(si(x;θ))2
  • 第三项:
    − ∫ x ∈ R n p ( x ) ( ∇ x log ⁡ p ( x ) ) T s ( x ; θ ) d x = − ∫ x ∈ R n p ( x ) ∑ i = 1 n ∂ log ⁡ p ( x ) ∂ x i s i ( x ; θ ) d x = − ∑ i = 1 n ∫ x ∈ R n p ( x ) ∂ log ⁡ p ( x ) ∂ x i s i ( x ; θ ) d x \begin{aligned} -\int_{x \in \mathbb{R}^n} p(x)\left(\nabla_x \log p(x)\right)^T s(x ; \theta) d x & =-\int_{x \in \mathbb{R}^n} p(x) \sum_{i=1}^n \frac{\partial \log p(x)}{\partial x_i} s_i(x ; \theta) d x \\ & =-\sum_{i=1}^n \int_{x \in \mathbb{R}^n} p(x) \frac{\partial \log p(x)}{\partial x_i} s_i(x ; \theta) d x \end{aligned} xRnp(x)(xlogp(x))Ts(x;θ)dx=xRnp(x)i=1nxilogp(x)si(x;θ)dx=i=1nxRnp(x)xilogp(x)si(x;θ)dx
    单独考虑第 i i i 项,
    − ∫ x ∈ R n p ( x ) ∂ log ⁡ p ( x ) ∂ x i s i ( x ; θ ) d x = − ∫ x ∈ R n p ( x ) p ( x ) ∂ p ( x ) ∂ x i s i ( x ; θ ) d x = − ∫ x ∈ R n ∂ p ( x ) ∂ x i s i ( x ; θ ) d x -\int_{x \in \mathbb{R}^n} p(x) \frac{\partial \log p(x)}{\partial x_i} s_i(x ; \theta) d x=-\int_{x \in \mathbb{R}^n} \frac{p(x)}{p(x)} \frac{\partial p(x)}{\partial x_i} s_i(x ; \theta) d x=- \int_{x \in \mathbb{R}^n} \frac{\partial p(x)}{\partial x_i} s_i(x ; \theta) d x xRnp(x)xilogp(x)si(x;θ)dx=xRnp(x)p(x)xip(x)si(x;θ)dx=xRnxip(x)si(x;θ)dx
    分部积分技巧 (一维,即只有 x 1 x_1 x1 是变量,其他值 x 2 , x 3 , … , x n x_2, x_3, \ldots, x_n x2,x3,,xn 为常量) :
    ∫ b a [ p ( x ) ] ′ s ( x ; θ ) d x 1 + ∫ b a p ( x ) [ s ( x ; θ ) ] ′ d x 1 = ∫ b a [ p ( x ) s ( x ; θ ) ] ′ d x 1 = lim ⁡ a → ∞ , b → − ∞ [ p ( a , x 2 , … , x n ) s ( a , x 2 , … , x n ; θ ) − p ( b , x 2 , … , x n ) s ( b , x 2 , … , x n ; θ ) ] \begin{aligned} & \int_b^a[p(x)]^{\prime} s(x ; \theta) d x_1+\int_b^a p(x)[s(x ; \theta)]^{\prime} d x_1=\int_b^a[p(x) s(x ; \theta)]^{\prime} d x_1 \\ & =\lim _{a \rightarrow \infty, b \rightarrow-\infty}\left[p\left(a, x_2, \ldots, x_n\right) s\left(a, x_2, \ldots, x_n ; \theta\right)-p\left(b, x_2, \ldots, x_n\right) s\left(b, x_2, \ldots, x_n\right.\right.;\theta)] \end{aligned} ba[p(x)]s(x;θ)dx1+bap(x)[s(x;θ)]dx1=ba[p(x)s(x;θ)]dx1=a,blim[p(a,x2,,xn)s(a,x2,,xn;θ)p(b,x2,,xn)s(b,x2,,xn;θ)]
    上式做了假设,当 x → ∞ x \rightarrow \infty x ,则 p ( x ) s ( x ; θ ) → 0 p(x) s(x ; \theta) \rightarrow 0 p(x)s(x;θ)0 。因此,第三项可以表示为
    − ∫ x ∈ R n p ( x ) ( ∇ x log ⁡ p ( x ) ) T s ( x ; θ ) d x = ∑ i = 1 n ∫ x ∈ R n p ( x ) ∂ s ( x ; θ ) ∂ x i d x -\int_{x \in \mathbb{R}^n} p(x)\left(\nabla_x \log p(x)\right)^T s(x ; \theta) d x=\sum_{i=1}^n \int_{x \in \mathbb{R}^n} p(x) \frac{\partial s(x ; \theta)}{\partial x_i} d x xRnp(x)(xlogp(x))Ts(x;θ)dx=i=1nxRnp(x)xis(x;θ)dx
    在这里插入图片描述

2.1.1. 去噪分数匹配

思路:它首先用预先指定的噪声分布 q σ ( x ~ ∣ x ) q_\sigma(\tilde{\mathbf{x}} \mid \mathbf{x}) qσ(x~x)扰动数据点 x x x,然后采用分数匹配来估计“扰动数据分布” q σ ( x ~ ) ≜ ∫ q σ ( x ~ ∣ x ) p data  ( x ) d x q_\sigma(\tilde{\mathbf{x}}) \triangleq \int q_\sigma(\tilde{\mathbf{x}} \mid \mathbf{x}) p_{\text {data }}(\mathbf{x}) \mathrm{d} \mathbf{x} qσ(x~)qσ(x~x)pdata (x)dx的分数。

等价的目标:其目标已被证明等价于:
1 2 E q σ ( x ~ ∣ x ) p data  ( x ) [ ∥ s θ ( x ~ ) − ∇ x ~ log ⁡ q σ ( x ~ ∣ x ) ∥ 2 2 ] \frac{1}{2} \mathbb{E}_{q_\sigma(\tilde{\mathbf{x}} \mid \mathbf{x}) p_{\text {data }}(\mathbf{x})}\left[\left\|\mathbf{s}_{\boldsymbol{\theta}}(\tilde{\mathbf{x}})-\nabla_{\tilde{\mathbf{x}}} \log q_\sigma(\tilde{\mathbf{x}} \mid \mathbf{x})\right\|_2^2\right] 21Eqσ(x~x)pdata (x)[sθ(x~)x~logqσ(x~x)22]
【61】证明了使上式最小化的最优评分网络(表示为 s θ ∗ ( x ) \mathbf{s}_{\boldsymbol{\theta}^*}(\mathbf{x}) sθ(x))满足 s θ ∗ ( x ) = ∇ x log ⁡ q σ ( x ) \mathbf{s}_{\boldsymbol{\theta}^*}(\mathbf{x})=\nabla_{\mathbf{x}} \log q_\sigma(\mathbf{x}) sθ(x)=xlogqσ(x)。只有当噪音足够小使得 q σ ( x ) ≈ p data  ( x ) q_\sigma(\mathbf{x}) \approx p_{\text {data }}(\mathbf{x}) qσ(x)pdata (x),才有 s θ ∗ ( x ) = ∇ x log ⁡ q σ ( x ) ≈ ∇ x log ⁡ p data  ( x ) \mathbf{s}_{\boldsymbol{\theta}^*}(\mathbf{x})=\nabla_{\mathbf{x}} \log q_\sigma(\mathbf{x}) \approx \nabla_{\mathbf{x}} \log p_{\text {data }}(\mathbf{x}) sθ(x)=xlogqσ(x)xlogpdata (x)

2.1.2. 切片分数匹配

思路:切片分数匹配【53】使用随机投影来近似分数匹配中的 t r ( ∇ x s θ ( x ) ) tr(∇_xs_θ(x)) tr(xsθ(x))

等价的目标:其目标已被证明等价于:
E p v E p data  [ v ⊤ ∇ x s θ ( x ) v + 1 2 ∥ s θ ( x ) ∥ 2 2 ] \mathbb{E}_{p_{\mathbf{v}}} \mathbb{E}_{p_{\text {data }}}\left[\mathbf{v}^{\top} \nabla_{\mathbf{x}} \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}) \mathbf{v}+\frac{1}{2}\left\|\mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x})\right\|_2^2\right] EpvEpdata [vxsθ(x)v+21sθ(x)22]
其中 p v p_v pv是随机向量的简单分布,例如,多元标准正态。

计算 v ⊤ ∇ x s θ ( x ) v \mathbf{v}^{\top} \nabla_{\mathbf{x}} \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}) \mathbf{v} vxsθ(x)v可以通过正向模式自微分有效地计算。与去噪分数匹配估计扰动数据的分数不同,切片分数匹配提供了原始未扰动数据分布的分数估计,但由于前向模式的自微分,需要大约4倍以上的计算。

在这里插入图片描述

2.2. 朗之万动力学采样

朗之万动力学可以仅使用分数函数 ∇ x l o g p ( x ) ∇_xlogp(x) xlogp(x)从概率密度 p ( x ) p (x) p(x)中产生样本。

给定一个固定的步长 ϵ > 0 \epsilon>0 ϵ>0,以及一个初始值 x ~ 0 ∼ π ( x ) \tilde x_0∼π(x) x~0π(x),其中 π π π是一个先验分布,朗之万方法递归地计算以下内容
x ~ t = x ~ t − 1 + ϵ 2 ∇ x log ⁡ p ( x ~ t − 1 ) + ϵ z t \tilde{\mathbf{x}}_t=\tilde{\mathbf{x}}_{t-1}+\frac{\epsilon}{2} \nabla_{\mathbf{x}} \log p\left(\tilde{\mathbf{x}}_{t-1}\right)+\sqrt{\epsilon} \mathbf{z}_t x~t=x~t1+2ϵxlogp(x~t1)+ϵ zt
其中 z t ∼ N ( 0 , I ) \mathbf{z}_t \sim \mathcal{N}(0, I) ztN(0,I). 当 ϵ → 0 \epsilon \rightarrow 0 ϵ0 T → ∞ T \rightarrow \infty T x ~ T \tilde{\mathbf{x}}_T x~T分布等于 p ( x ) p(\mathbf{x}) p(x) ,此时在特定条件下[62], x ~ T \tilde{\mathbf{x}}_T x~T 成为直接从 p ( x ) p(\mathbf{x}) p(x)采样。

  • ϵ > 0 \epsilon>0 ϵ>0 T < ∞ T<\infty T<, 需要Metropolis-Hastings 更新修正上式误差。实际中,误差可忽略[9, 12, 39].
  • 本文假设 ϵ \epsilon ϵ 足够小, T T T 足够大时误差可忽略.
    在这里插入图片描述
    请注意,从上式中进行的采样只需要分数函数 ∇ x l o g p ( x ) ∇_xlogp(x) xlogp(x)
  • 为了从 p d a t a ( x ) p_{data} (x) pdata(x)中获得样本,我们可以首先训练我们的评分网络,使 s θ ( x ) ≈ ∇ x l o g p d a t a ( x ) sθ(x)≈∇_xlogp_{data}(x) sθ(x)xlogpdata(x)
  • 然后使用 s θ ( x ) s_θ(x) sθ(x)近似获得朗之万动态样本。

这是我们的基于分数的生成建模框架的关键思想。

3. 基于分数的生成式建模所面临的挑战

在本节中,我们将更仔细地分析基于分数的生成建模的概念。我们认为,有两个主要的障碍阻止了这个想法的应用。

3.1. 流形假说

流形假设指出,现实世界中的数据倾向于集中于嵌入在高维空间(即环境空间)中的低维流形。

这一假设的经验适用于许多数据集,并已成为流形学习[3,47]的基础。在流形假设下,基于分数的生成模型将面临两个关键的困难

  • 首先,由于分数 ∇ x l o g p d a t a ( x ) ∇_xlogp_{data}(x) xlogpdata(x)是在环境空间(ambient space)中取的一个梯度,当 x x x被限制在一个低维流形时,它是未定义的。
  • 第二,得分匹配目标等式(1)只有当数据分布的支持集是整个空间时(参见[24]中的定理2),才能提供一致的分数估计器,当数据分布在低维流形上时,就会不一致。

在这里插入图片描述
图1,我们训练一个ResNet(详见附录B.1)来估计CIFAR-10上的数据得分,可以清楚地看到流形假设对得分估计的负面影响。

  • 为了快速训练和忠实地估计数据分数,我们使用切片分数匹配目标( E q . ( 3 ) Eq.(3) Eq.(3)). 如图1(左)所示,在原始CIFAR-10图像上进行训练时,切片分数匹配损失首先减小,然后不规则地波动。
  • 如果我们用一个小的高斯噪声扰动数据(这样扰动数据分布完全支持集 R D \mathbb R^D RD),损失曲线将收敛(右面板)。请注意,我们所施加的高斯噪声 N ( 0 , 0.0001 ) N(0,0.0001) N(0,0.0001)对于像素值在 [ 0 , 1 ] [0,1] [0,1]范围内的图像非常小,并且对人眼几乎无法区分。

3.2. 低数据密度区域

低密度区域数据的缺乏会导致分数匹配的分数估计朗之万动力学的MCMC抽样造成困难。

3.2.1 与分数匹配的分数估计不准确

在数据密度较低的地区,由于缺乏数据样本,评分匹配可能没有足够的证据来准确估计评分函数。

得分匹配可以使得分估计的预期平方误差最小化,即,
1 2 E p data  [ ∥ s θ ( x ) − ∇ x log ⁡ p data  ( x ) ∥ 2 2 ] \frac{1}{2} \mathbb{E}_{p_{\text {data }}}\left[\left\|\mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x})-\nabla_{\mathbf{x}} \log p_{\text {data }}(\mathbf{x})\right\|_2^2\right] 21Epdata [sθ(x)xlogpdata (x)22]
在实践中,关于数据分布的期望值总是使用i.i.d.样本进行估计
{ x i } i = 1 N ∼  i.i.d.  p data  ( x ) . \left\{\mathbf{x}_i\right\}_{i=1}^N \stackrel{\text { i.i.d. }}{\sim} p_{\text {data }}(\mathbf{x}) . {xi}i=1N i.i.d. pdata (x).
考虑任何区域 R ⊂ R D \mathcal{R} \subset \mathbb{R}^D RRD使得 p data  ( R ) ≈ 0 p_{\text {data }}(\mathcal{R}) \approx 0 pdata (R)0,在多数情况下 { x i } i = 1 N ∩ R = ∅ \left\{\mathbf{x}_i\right\}_{i=1}^N \cap \mathcal{R}=\varnothing {xi}i=1NR=,而对于 x ∈ R x\in R xR,分数匹配将没有足够的数据样本来准确估计的 ∇ x l o g p d a t a ( x ) ∇_xlogp_{data}(x) xlogpdata(x)

为了证明这一点的负面影响,我们在图2中提供了一个玩具实验的结果(详见附录B.1),其中我们使用切片分数匹配来估计混合高斯分布 p data  = 1 5 N ( ( − 5 , − 5 ) , I ) + 4 5 N ( ( 5 , 5 ) , I ) p_{\text {data }}=\frac{1}{5} \mathcal{N}((-5,-5), I)+\frac{4}{5} \mathcal{N}((5,5), I) pdata =51N((5,5),I)+54N((5,5),I)的分数

在这里插入图片描述
左图 ∇ x log ⁡ p data  ( x ) ; \nabla_{\mathbf{x}} \log p_{\text {data }}(\mathbf{x}) ; xlogpdata (x); 右图 s θ ( x ) \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}) sθ(x). 得分是对数密度函数在输入数据点的梯度,这是一个指向对数数据密度增长最大的方向的向量场。数据密度 p d a t a ( x ) p_{data} (x) pdata(x)使用橙色的颜色图进行编码:颜色越深意味着密度越高。红色矩形突出显示区域 ∇ x log ⁡ p d a t a ( x ) ≈ s θ ( x ) \nabla_{\mathbf{x}} \log p_{\mathrm{data}}(\mathbf{x}) \approx \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}) xlogpdata(x)sθ(x). 如图所示,得分估计仅在数据密度较高的 p d a t a p_{data} pdata模式附近才会可靠。

3.2.2. 朗之万动力学的缓慢混合

  1. 考虑混合分布 p data  ( x ) = π p 1 ( x ) + ( 1 − π ) p 2 ( x ) p_{\text {data }}(\mathbf{x})=\pi p_1(\mathbf{x})+(1-\pi) p_2(\mathbf{x}) pdata (x)=πp1(x)+(1π)p2(x), 其中 p 1 ( x ) p_1(\mathbf{x}) p1(x) p 2 ( x ) p_2(\mathbf{x}) p2(x) 是有互不相交支持集的正态分布, π ∈ ( 0 , 1 ) \pi \in(0,1) π(0,1).
  • p 1 ( x ) p_1(\mathbf{x}) p1(x)的支持集, ∇ x log ⁡ p data  ( x ) = \nabla_{\mathbf{x}} \log p_{\text {data }}(\mathbf{x})= xlogpdata (x)= ∇ x ( log ⁡ π + log ⁡ p 1 ( x ) ) = ∇ x log ⁡ p 1 ( x ) \nabla_{\mathbf{x}}\left(\log \pi+\log p_1(\mathbf{x})\right)=\nabla_{\mathbf{x}} \log p_1(\mathbf{x}) x(logπ+logp1(x))=xlogp1(x),
  • p 2 ( x ) p_2(\mathbf{x}) p2(x)的支持集, ∇ x log ⁡ p data  ( x ) = ∇ x ( log ⁡ ( 1 − \nabla_{\mathbf{x}} \log p_{\text {data }}(\mathbf{x})=\nabla_{\mathbf{x}}(\log (1- xlogpdata (x)=x(log(1 π ) + log ⁡ p 2 ( x ) ) = ∇ x log ⁡ p 2 ( x ) \left.\pi)+\log p_2(\mathbf{x})\right)=\nabla_{\mathbf{x}} \log p_2(\mathbf{x}) π)+logp2(x))=xlogp2(x).

在任意情形, ∇ x log ⁡ p data  ( x ) \nabla_{\mathbf{x}} \log p_{\text {data }}(\mathbf{x}) xlogpdata (x) 不依赖于 π \pi π. 因为Langevin动力学用 ∇ x log ⁡ p data  ( x ) \nabla_{\mathbf{x}} \log p_{\text {data }}(\mathbf{x}) xlogpdata (x) p data  ( x ) p_{\text {data }}(\mathbf{x}) pdata (x)采样, 样本的采取不依赖于 π \pi π

  1. 在实践中,当不同的模式具有近似不相交的支持时,这种分析也适用——它们可能共享相同的支持,但由小数据密度的区域连接。在这种情况下,朗之万动力学在理论上可以产生正确的样本,但可能需要一个非常小的步长和非常大量的步骤来混合。

为了验证这一分析结果,我们对第3.2.1节中使用的相同高斯分布混合物的朗之万动态采样进行了测试,并提供了图3中的结果。

  • 当使用朗之万动力学进行抽样时,我们使用地面真实分数。
  • 将图3(b)与(a)进行比较,可以明显看出,朗之万动力学样本在两种模式之间的相对密度不正确,正如我们分析预测的那样。

在这里插入图片描述
图3:来自不同方法的高斯分布的混合样本。(a)精确抽样。(b)抽样使用朗之万动力学与精确的分数。( c)采样使用退火朗之万动力学与精确的分数。显然,朗之万动力学错误地估计了两种模态之间的相对权重,而退火后的朗之万动力学则忠实地恢复了相对权重。

4. 噪声条件评分网络:学习和推理

我们观察到,使用随机高斯噪声扰动数据会使数据分布更适合于基于分数的生成建模。

  • 首先,由于我们的高斯噪声分布的支持是整个空间,扰动数据将不局限于一个低维流形,这消除了流形假设的困难,并使分数估计定义良好。
  • 其次,大高斯噪声在原始无扰动数据分布中有填充低密度区域的效果;因此,分数匹配可以得到更多的训练信号来提高分数估计。
  • 此外,通过使用多个噪声水平,我们可以得到一系列收敛于真实数据分布的噪声扰动分布。本着模拟退火[30]和退火重要性采样[37]的精神,我们可以通过利用这些中间分布来提高朗之万动力学在多模态分布上的混合速率

基于这种直觉,我们建议改进基于分数的生成建模,

  • 1)使用不同水平的噪声扰动数据;
  • 2)通过训练单个条件分数网络,同时估计所有噪声水平对应的分数。
  • 训练后,当使用朗之万动力学生成样本时,我们首先使用大噪声对应的分数,并逐渐降低噪声水平进行退火。这有助于平滑地将大噪声水平的好处转移到低噪声水平,其中扰动数据与原始数据几乎难以区分。

在这里插入图片描述

在接下来的内容中,我们将详细阐述我们的方法的细节,包括我们的分数网络的架构、训练目标和朗之万动力学的退火时间表。

4.1. 噪声条件评分网络

  • { σ i } i = 1 L \left\{\sigma_i\right\}_{i=1}^L {σi}i=1L 是正的几何序列满足 σ 1 σ 2 = ⋯ = σ L − 1 σ L > 1 \frac{\sigma_1}{\sigma_2}=\cdots=\frac{\sigma_{L-1}}{\sigma_L}>1 σ2σ1==σLσL1>1.
  • q σ ( x ) ≜ q_\sigma(\mathbf{x}) \triangleq qσ(x) ∫ p data  ( t ) N ( x ∣ t , σ 2 I ) d t \int p_{\text {data }}(\mathbf{t}) \mathcal{N}\left(\mathbf{x} \mid \mathbf{t}, \sigma^2 I\right) \mathrm{d} \mathbf{t} pdata (t)N(xt,σ2I)dt 表示扰动的数据分布.
  • 选择噪声水平 { σ i } i = 1 L \left\{\sigma_i\right\}_{i=1}^L {σi}i=1L使得 σ 1 \sigma_1 σ1足够大从而消除Section 3中的困难 , σ L \sigma_L σL足够小来最小化数据的影响.

我们的目标是训练一个条件分数网络来联合估计所有扰动数据分布的分数, i.e., ∀ σ ∈ { σ i } i = 1 L : s θ ( x , σ ) ≈ ∇ x log ⁡ q σ ( x ) \forall \sigma \in\left\{\sigma_i\right\}_{i=1}^L: \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}, \sigma) \approx \nabla_{\mathbf{x}} \log q_\sigma(\mathbf{x}) σ{σi}i=1L:sθ(x,σ)xlogqσ(x). 当 x ∈ R D \mathbf{x} \in \mathbb{R}^D xRD s θ ( x , σ ) ∈ R D \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}, \sigma) \in \mathbb{R}^D sθ(x,σ)RD . 称 s θ ( x , σ ) \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}, \sigma) sθ(x,σ) 噪声条件评分网络 ( NCSN).

与基于似然的生成模型和GANs类似,模型架构的设计在生成高质量的样本方面起着重要的作用。

在这项工作中,我们主要关注对图像生成有用的体系结构,并将体系结构设计留给其他领域作为未来的工作。由于我们的噪声条件评分网络 s θ ( x , σ ) s_θ(x,σ) sθ(x,σ)的输出与输入的图像 x x x具有相同的形状,我们从成功的图像密集预测模型架构(如语义分割)中获得灵感。

  • 在实验中,我们的模型 s θ ( x , σ ) s_θ(x,σ) sθ(x,σ)结合了U-Net [46]的架构设计与扩张/无张力卷积——这两种方法在语义分割中都被证明是非常成功的。
  • 此外,我们在分数网络中采用实例归一化,灵感来自于它在一些图像生成任务中的优越性能

4.2. 通过分数匹配来学习NCSNs

切片和去噪分数匹配都可以训练NCSNs。我们采用去噪分数匹配,因为它稍微快一点,并且自然地适合于估计噪声扰动数据分布的分数的任务。然而,我们强调,经验切片分数匹配可以和去噪分数匹配一样训练NCSNs。

选择噪声分布 q σ ( x ~ ∣ x ) = N ( x ~ ∣ x , σ 2 I ) q_\sigma(\tilde{\mathbf{x}} \mid \mathbf{x})=\mathcal{N}\left(\tilde{\mathbf{x}} \mid \mathbf{x}, \sigma^2 I\right) qσ(x~x)=N(x~x,σ2I),则 ∇ x ~ log ⁡ q σ ( x ~ ∣ x ) = − ( x ~ − x ) / σ 2 \nabla_{\tilde{\mathbf{x}}} \log q_\sigma(\tilde{\mathbf{x}} \mid \mathbf{x})=-(\tilde{\mathbf{x}}-\mathbf{x}) / \sigma^2 x~logqσ(x~x)=(x~x)/σ2。对于一个给定的 σ σ σ,去噪分数匹配目标(Eq(2))是
ℓ ( θ ; σ ) ≜ 1 2 E p data  ( x ) E x ~ ∼ N ( x , σ 2 I ) [ ∥ s θ ( x ~ , σ ) + x ~ − x σ 2 ∥ 2 2 ] \ell(\boldsymbol{\theta} ; \sigma) \triangleq \frac{1}{2} \mathbb{E}_{p_{\text {data }}(\mathbf{x})} \mathbb{E}_{\tilde{\mathbf{x}} \sim \mathcal{N}\left(\mathbf{x}, \sigma^2 I\right)}\left[\left\|\mathbf{s}_{\boldsymbol{\theta}}(\tilde{\mathbf{x}}, \sigma)+\frac{\tilde{\mathbf{x}}-\mathbf{x}}{\sigma^2}\right\|_2^2\right] (θ;σ)21Epdata (x)Ex~N(x,σ2I)[ sθ(x~,σ)+σ2x~x 22]
然后,我们结合上式为所有的 σ ∈ { σ i } i = 1 L \sigma \in\left\{\sigma_i\right\}_{i=1}^L σ{σi}i=1L得到一个统一的目标
L ( θ ; { σ i } i = 1 L ) ≜ 1 L ∑ i = 1 L λ ( σ i ) ℓ ( θ ; σ i ) , \mathcal{L}\left(\boldsymbol{\theta} ;\left\{\sigma_i\right\}_{i=1}^L\right) \triangleq \frac{1}{L} \sum_{i=1}^L \lambda\left(\sigma_i\right) \ell\left(\boldsymbol{\theta} ; \sigma_i\right), L(θ;{σi}i=1L)L1i=1Lλ(σi)(θ;σi),
其中 λ ( σ i ) > 0 \lambda\left(\sigma_i\right)>0 λ(σi)>0是取决于 σ i \sigma_i σi系数函数。

  • 假设 s θ ( x , σ ) \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}, \sigma) sθ(x,σ)有足够能力,因为“上式”是 L L L个去噪分数匹配目标的圆锥形组合,则对所有 i ∈ { 1 , 2 , ⋯   , L } i \in\{1,2, \cdots, L\} i{1,2,,L} s θ ∗ ( x , σ ) \mathbf{s}_{\boldsymbol{\theta}^*}(\mathbf{x}, \sigma) sθ(x,σ) 最小化 L ( θ ; { σ i } i = 1 L ) \mathcal{L}\left(\boldsymbol{\theta} ;\left\{\sigma_i\right\}_{i=1}^L\right) L(θ;{σi}i=1L)等价于 s θ ∗ ( x , σ i ) = ∇ x log ⁡ q σ i ( x ) \mathbf{s}_{\boldsymbol{\theta}^*}\left(\mathbf{x}, \sigma_i\right)=\nabla_{\mathbf{x}} \log q_{\sigma_i}(\mathbf{x}) sθ(x,σi)=xlogqσi(x) a.s.
  • λ ( ⋅ ) λ(·) λ()可能有很多可能的选择。理想情况下,我们希望所有 { σ i } i = 1 L \left\{\sigma_i\right\}_{i=1}^L {σi}i=1L λ ( σ i ) ℓ ( θ ; σ i ) \lambda\left(\sigma_i\right) \ell\left(\boldsymbol{\theta} ; \sigma_i\right) λ(σi)(θ;σi)的值是大致具有相同的数量级。根据经验,我们观察到,当分数网络被训练到最优性时,我们大约有 ∥ s θ ( x , σ ) ∥ 2 ∝ 1 / σ \left\|\mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}, \sigma)\right\|_2 \propto 1 / \sigma sθ(x,σ)21/σ,这激励着我们去选择 λ ( σ ) = σ 2 \lambda(\sigma)=\sigma^2 λ(σ)=σ2,因为
    λ ( σ ) ℓ ( θ ; σ ) = σ 2 ℓ ( θ ; σ ) = 1 2 E [ ∥ σ s θ ( x ~ , σ ) + x ~ − x σ ∥ 2 2 ] \lambda(\sigma) \ell(\boldsymbol{\theta} ; \sigma)=\sigma^2 \ell(\boldsymbol{\theta} ; \sigma)=\frac{1}{2} \mathbb{E}\left[\left\|\sigma \mathbf{s}_{\boldsymbol{\theta}}(\tilde{\mathbf{x}}, \sigma)+\frac{\tilde{\mathbf{x}}-\mathbf{x}}{\sigma}\right\|_2^2\right] λ(σ)(θ;σ)=σ2(θ;σ)=21E[ σsθ(x~,σ)+σx~x 22]
    因为 x ~ − x σ ∼ N ( 0 , I ) \frac{\tilde{\mathbf{x}}-\mathbf{x}}{\sigma} \sim \mathcal{N}(0, I) σx~xN(0,I) ∥ σ s θ ( x , σ ) ∥ 2 ∝ 1 \left\|\sigma \mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}, \sigma)\right\|_2 \propto 1 σsθ(x,σ)21,我们可以很容易地得出 λ ( σ ) ℓ ( θ ; σ ) \lambda(\sigma) \ell(\boldsymbol{\theta} ; \sigma) λ(σ)(θ;σ)的数量级并不取决于 σ \sigma σ

我们强调,我们的目标不需要对抗性训练,不需要替代损失,在训练期间不需要从分数网络中抽样(例如,不像对比差异)。此外,它也不需要 s θ ( x , σ ) s_θ(x,σ) sθ(x,σ)有特殊的架构才能易于处理。此外,当 λ ( ⋅ ) λ(·) λ() { σ i } i = 1 L \{σ_i\}^L_{i=1} {σi}i=1L固定时,它可以用于定量比较不同的NCSNs。
在这里插入图片描述

4.3. 通过退火的朗之万动力学进行NCSN推断

在训练了NCSN s θ ( x , σ ) s_θ(x,σ) sθ(x,σ)后,我们提出了一种采样方法-退火朗之万动力学(Alg.1)-产生样本,启发来自模拟退火和退火重要采样

  • 如Alg1中所示,我们通过从一些固定的先验分布中(例如,均匀噪声)初始化样本开始退火的朗之万动力学。
  • 然后,我们运行朗之万动力学,从步长为 α 1 α_1 α1 q σ 1 ( x ) q_{σ_1} (x) qσ1(x)中进行采样。
  • 接下来,我们运行朗之万动力学从 q σ 2 ( x ) q_{σ_2} (x) qσ2(x)中样本,从之前模拟的最终样本开始,并使用减少的步长 α 2 α_2 α2
  • 我们继续以这种方式,使用 q σ i − 1 ( x ) q_{σ_{i−1}}(x) qσi1(x)的朗之万动力学的动态样本作为 q σ i ( x ) q_{σ_i} (x) qσi(x)的朗之万动力学的初始样本,并逐步调整步长 α i α_i αi α i = ϵ ⋅ σ i 2 / σ L 2 \alpha_i=\epsilon \cdot \sigma_i^2 / \sigma_L^2 αi=ϵσi2/σL2
  • 最后,我们运行朗之万动力学从 q σ L ( x ) q_{σ_L} (x) qσL(x)中采样,当 σ L ≈ 0 σ_L≈0 σL0时,它接近于 p d a t a ( x ) p_{data} (x) pdata(x)

在这里插入图片描述

算法克服了以上挑战

  • 由于分布 { q σ i } i = 1 L \{q_{σ_i}\} ^L_{ i=1} {qσi}i=1L都受到高斯噪声的扰动,它们的支持集跨越了整个空间,它们的分数定义明确,避免了流形假设的困难。
  • σ 1 σ_1 σ1足够大时, q σ 1 ( x ) q_{σ_1} (x) qσ1(x)的低密度区域变得很小,模态变得不那么孤立。如前所述,这可以使分数估计更准确,并加快朗之万动力学的混合速度。分析:我们可以假设朗之万动力学为 q σ 1 ( x ) q_{σ_1} (x) qσ1(x)产生了良好的样本。这些样品很可能来自 q σ 1 ( x ) q_{σ_1} (x) qσ1(x)的高密度区域,这意味着它们也可能位于 q σ 2 ( x ) q_{σ_2} (x) qσ2(x)的高密度区域,因为 q σ 1 ( x ) q_{σ_1} (x) qσ1(x) q σ 2 ( x ) q_{σ_2} (x) qσ2(x)彼此之间仅略有不同。由于评分估计和朗之万动力学在高密度区域表现更好,来自 q σ 1 ( x ) q_{σ_1} (x) qσ1(x)的样本将作为 q σ 2 ( x ) q_{σ_2} (x) qσ2(x)朗之万动力学的良好初始样本。同样, q σ i − 1 ( x ) q_{σ_{i−1}}(x) qσi1(x) q σ i ( x ) q_{σ_{i}}(x) qσi(x)提供了良好的初始样本,最后我们从 q σ L ( x ) q_{σ_{L}}(x) qσL(x)中获得了高质量良好的样本。

根据 σ i \sigma_i σi α i \alpha_i αi有多个选择. 我们的选择是 α i ∝ σ i 2 \alpha_i \propto \sigma_i^2 αiσi2.

动机是固定朗之万动力学"signal-to-noise" 比例 α i s θ ( x , σ i ) 2 α i z \frac{\alpha_i \mathbf{s}_\theta\left(\mathbf{x}, \sigma_i\right)}{2 \sqrt{\alpha_i} \mathbf{z}} 2αi zαisθ(x,σi) 的量级.

  • E [ ∥ α i s θ ( x , σ i ) 2 α i z ∥ 2 2 ] ≈ E [ α i ∥ s θ ( x , σ i ) ∥ 2 2 4 ] ∝ 1 4 E [ ∥ σ i s θ ( x , σ i ) ∥ 2 2 ] \mathbb{E}\left[\left\|\frac{\alpha_i \mathbf{s}_\theta\left(\mathbf{x}, \sigma_i\right)}{2 \sqrt{\alpha_i} \mathbf{z}}\right\|_2^2\right] \approx \mathbb{E}\left[\frac{\alpha_i\left\|\mathbf{s}_{\boldsymbol{\theta}}\left(\mathbf{x}, \sigma_i\right)\right\|_2^2}{4}\right] \propto \frac{1}{4} \mathbb{E}\left[\left\|\sigma_i \mathbf{s}_{\boldsymbol{\theta}}\left(\mathbf{x}, \sigma_i\right)\right\|_2^2\right] E[ 2αi zαisθ(x,σi) 22]E[4αisθ(x,σi)22]41E[σisθ(x,σi)22].
  • 由于经验可得当分数网络的训练接近最优时, ∥ s θ ( x , σ ) ∥ 2 ∝ 1 / σ \left\|\mathbf{s}_{\boldsymbol{\theta}}(\mathbf{x}, \sigma)\right\|_2 \propto 1 / \sigma sθ(x,σ)21/σ,此时 E [ ∥ σ i s θ ( x ; σ i ) ∥ 2 2 ] ∝ 1 \mathbb{E}\left[\left\|\sigma_i \mathbf{s}_{\boldsymbol{\theta}}\left(\mathbf{x} ; \sigma_i\right)\right\|_2^2\right] \propto 1 E[σisθ(x;σi)22]1. 因此 ∥ α i s θ ( x , σ i ) 2 α i z ∥ 2 ∝ 1 4 E [ ∥ σ i s θ ( x , σ i ) ∥ 2 2 ] ∝ 1 4 \left\|\frac{\alpha_i \mathbf{s}_{\boldsymbol{\theta}}\left(\mathbf{x}, \sigma_i\right)}{2 \sqrt{\alpha_i} \mathbf{z}}\right\|_2 \propto \frac{1}{4} \mathbb{E}\left[\left\|\sigma_i \mathbf{s}_{\boldsymbol{\theta}}\left(\mathbf{x}, \sigma_i\right)\right\|_2^2\right] \propto \frac{1}{4} 2αi zαisθ(x,σi) 241E[σisθ(x,σi)22]41 不取决于 σ i \sigma_i σi.

为了证明我们退火朗之万动力学的有效性,我们提供了一个玩具例子,其中目标是仅使用分数从两种良好分离模式的高斯混合物中采样。

我们应用Alg1.以从第3.2节中使用的高斯分布的混合物中取样。在实验中,我们选择 { σ i } i = 1 L \{σ_i\}^L_{i=1} {σi}i=1L为几何级数,其中 L = 10 L = 10 L=10 σ 1 = 10 σ_1 = 10 σ1=10 σ 10 = 0.1 σ_{10} = 0.1 σ10=0.1。实验结果见图3。对比图3 (b)与(c ),退火后的朗之万动力学正确地恢复了两种模式之间的相对权重,而标准的朗之万动力学则失效。

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

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

相关文章

redis运维

redis运维 1.主从复制 互联网三高架构&#xff1a;高并发、高性能、高可用 单机redis的风险与问题&#xff1f; 问题1.机器故障 现象&#xff1a;硬盘故障、系统崩溃本质&#xff1a;数据丢失&#xff0c;很可能对业务造成灾难性打击结论&#xff1a;基本上会放弃使用redis.…

前端人必须掌握的抓包技能

1. 前言 时隔 3 年&#xff0c;重新接触了移动端 h5 页面开发&#xff0c;上一次还是大四实习。这一次是 hybrid 开发&#xff0c;涉及到 h5 页面与原生 app 的交互&#xff0c;h5 页面需要与原生打通登录态&#xff0c;以及调用原生app 的接口&#xff0c;比如调用原生相机进…

牙科口腔小程序开发 用科技呵护口腔健康

随着人们生活经济水平的提高&#xff0c;对于健康也更加重视&#xff0c;牙科口腔是重要的一个方面&#xff0c;尤其是青少年因为饮食习惯的问题尝尝需要看牙科&#xff0c;口腔科等&#xff0c;传统的牙科口腔医院服务流程繁琐&#xff0c;给用户造成了极大困扰。随着互联网技…

企业实施BI的时机和选择考虑

如果你的企业还只处在初创阶段&#xff0c;但又需要为日后的BI数据化做准备时。在数聚股份看来出于成本考虑&#xff0c;你可以先用Excel梳理好业务核心数据&#xff0c;聚焦核心指标&#xff0c;接着发展用户&#xff0c;积累业务数据。 当你的Excel报表已经无法承载你的业务量…

kafka3.x 入门 安装(一)

一、下载地址 http://kafka.apache.org/downloads.html 二、 zookeeper安装教程 https://blog.csdn.net/weixin_43205308/article/details/130426019 三、解压 这里使用的是kafka_2.12-3.0.0.tgz tar -zvxf kafka_2.12-3.0.0.tgz四、修改配置 进入到安装路径的config文件夹下…

青岛大学_王卓老师【数据结构与算法】Week03_05_线性表的链式表示和实现5_学习笔记

本文是个人笔记&#xff0c;仅用于学习分享&#xff0c;素材来自青岛大学王卓老师的教学视频&#xff0c;如有侵权&#xff0c;请留言作删文处理。 课程视频链接&#xff1a; 数据结构与算法基础–第3周05–2.5线性表的链式表示和实现5–单链表基本操作3–清空单链表 &#…

Linux基于thundersvm使用GPU对svm进行加速

Linux基于thundersvm使用GPU对svm进行加速 文章目录 Linux基于thundersvm使用GPU对svm进行加速下载方法pip快速下载命令 普通下载命令问题解决方法以下操作需要使用sudo权限 使用thundersvm调用方式 在代码中的使用训练代码更改更改内容 加载模型同样需要导入thundersvm更改内容…

GC日志中的信息怎么看-1

GC日志中的信息怎么看 GC日志中括号里面是GC信息&#xff0c;包括GC前、后堆内存使用量和堆内存总大小 以一份GC日志为例&#xff1a; [GC (Allocation Failure) PSYoungGen: 1362K->297K(2048K)]&#xff0c;表示在执行Young GC时&#xff0c;Young区占用了1362k的空间&a…

swagger3+nginx访问swagger-config报404问题解决

springboot2.7.11springdoc-openapi-ui1.6.14实现sagger3的接入&#xff0c;在使用nginx转发时遇到Failed to load remote configuration异常&#xff0c;查看请求发现在加载swagger-config时报404: 多番搜寻后找到这个地址&#xff1a;https://springdoc.org/faq.html#how-can…

希望脱颖而出的企业的23个社交媒体帖子创意

社交媒体已成为现代商业不可或缺的一部分。它为企业提供了前所未有的机会与客户建立联系并建立忠实的追随者。然而&#xff0c;由于社交媒体上有如此多的竞争声音&#xff0c;要脱颖而出比过去任何时候都更加困难。 在本文中&#xff0c;我们将分享23个社交媒体发帖创意&#…

使用ClimateLearn

来源 ClimateLearn官网使用介绍 ClimateLearn 是一个 Python 库&#xff0c;用于以标准化、直接的方式访问最先进的气候数据和机器学习模型。 背景 近年来&#xff0c;极端天气事件使气候变化的威胁更加明显。 袭击美国东部的大西洋飓风的强度和严重程度一直在增加。 倾盆大雨…

飞凌嵌入式荣获「ISO14001」和「ISO45001」双认证

近日&#xff0c;飞凌嵌入式荣获 ISO14001环境管理体系认证 和 ISO45001职业健康安全管理体系认证 两项证书&#xff0c;标志着飞凌嵌入式在规范化、标准化和科学化的现代企业管理轨道上更进一步。 荣获ISO14001环境管理体系认证证书无疑是对飞凌嵌入式现有管理体系、产品质量与…

kubernetes集群备份与恢复

目录 一、k8s集群备份与恢复 二、k8s备份-备份etcd 2.1 etcd v2版本数据备份与恢复 2.2 etcd v3版本数据备份与恢复 2.3 etcd数据备份脚本 1.1.4 k8s集群etcd备份恢复流程 三、k8s备份-velero 3.1 velero简介 3.2 velero部署 1.安装 2.准备镜像 3.准备对象存储 4.准…

JAVA-编程基础-01初始Java

Lison <dreamlison163.com>, v1.0.0, 2023.03.05 JAVA-编程基础-01-初始Java 文章目录 JAVA-编程基础-01-初始JavaJava语言概述Java是什么Java语言的特 初始Java的main方法Main 方法示例了解HelloWorld代码的编写 运行Java程序**JDK、JRE、JVM之间的关系&#xff1f;** …

人工成本上涨推动服务行业转向智能化

近年来&#xff0c;随着人工成本的不断上涨&#xff0c;越来越多的企业开始转向智能客服系统&#xff0c;以提供更高效、更经济的客户服务。智能客服的崛起成为了服务行业的新趋势&#xff0c;为企业节省成本、提升服务质量带来了巨大的机遇。 ** 智能接口测试地址&#xff1a;…

【CentOS】VirtualBox yum 无法使用

【CentOS】VirtualBox yum 无法使用 yum install net-tools -y出现如下错误&#xff1a; cannot find a valid baseurl for repo: base/7/x86_64或无法ping 解决如下&#xff1a; 进入系统&#xff0c;修改网卡信息。 执行修改命令&#xff0c;ifcfg-xxx 后面的xxx就是上面…

Linux系统下查看动态库依赖关系指令(ldd)

下面介绍一下在Linux系统下利用ldd指令查看动态库依赖关系&#xff1b; 文章目录 1、ldd命令全称2 ldd参数说明3 简单示例4 查看缺少的依赖库5、ldd指令详细介绍 LDD用来打印或者查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题。ldd不是一个可…

iPad平板用的触控笔什么牌子好?主动式电容笔推荐

现在&#xff0c;电容笔已经成为在线办公、在线教育等产业中的热门产品&#xff0c;那么&#xff0c;平替电容笔是否会代替苹果原有的电容笔呢&#xff1f;实际上&#xff0c;你根本不需要花那么多钱去买一个原装的苹果电容笔。一支普通的平替式电容笔只需要一两百元&#xff0…

在Uniapp中实现在线使用iconfont的图标

icanfont官网 iconfont官网&#xff1a;iconfont-阿里巴巴矢量图标库 在自己建的项目下&#xff1a;点击 Font Class 可以看到下面的在线 css文件 在 <style> 标签中&#xff0c;使用 import 指令来引入在线的 CSS 文件。例如&#xff1a; <style>import url…

西安石油大学期末考试C++真题解析

1、一、类型、返回值类型 二、参数表、函数重载 2、一、实例化 二、实例化的类型或类类是对象的蓝图&#xff0c;对象是类的实例化 3、const 4、一个 两个 5、一、公有继承 二、私有继承、保护继承 6、抽象类、实例化对象 7、函数模板、类模板 8、try、catch、throw 9、…