AIGC - 生成模型及其应用

news2024/12/28 4:49:26

AIGC - 生成模型及其应用

    • 0. 前言
    • 1. 生成模型
    • 2. 生成模型与判别模型的区别
      • 2.1 模型对比
      • 2.2 条件生成模型
      • 2.3 生成模型的发展
      • 2.4 生成模型与人工智能
    • 3. 生成模型示例
      • 3.1 简单示例
      • 3.2 生成模型框架
    • 4. 表示学习
    • 5. 生成模型与概率论
    • 6. 生成模型分类
    • 小结

0. 前言

生成式人工智能 (Generative Artificial Intelligence, GAI) 是一种人工智能方法,旨在通过学习训练数据的分布模型来生成新的、原创的数据。人工智能生成内容 (Artificial Intelligence Generated Content, AIGC) 是生成式人工智能的一个具体应用和实现方式,是指利用人工智能技术生成各种形式的内容,如文字、图像、音频和视频等。本节将介绍生成模型基本概念,首先介绍生成模型的基本概念,然后,构建用于衡量生成模型性能的框架,并介绍一些重要的核心概念。然后,介绍当前主流的生成模型技术及其分类。

1. 生成模型

生成模型 (Generative Model) 是机器学习的一个分支,通过训练模型以生成与给定数据集类似的新数据,换句话说模型通过学习训练数据的分布特征,生成与之类似但又不完全相同的新数据。
假设有一个包含猫图片的数据集,如果在该数据集上训练一个生成模型,以捕捉图像中像素之间的复杂关系。然后,我们可以利用该模型进行采样,生成原始数据集中不存在的逼真(猫)图像,如下图所示。

生成模型训练流程

为了构建生成模型,我们需要一个包含许多我们要生成的实例的数据集,这被称为训练数据 (training data),其中每一个数据点称为一个观测值 (observation)。
每个观测值由许多特征 (features) 组成,对于图像生成问题,特征通常是各个像素的像素值;对于文本生成问题,特征通常是单词或字母组合。我们的目标是构建一个模型,可以生成看起来像是使用与原始数据相同规则创建的新特征集。对于图像生成来说,这是一个非常困难的任务,不仅由于生成的图像需要具有真实世界的特征和细节,包括纹理、颜色、形状等,同时图像生成模型通常需要大量的训练数据来学习图像的特征和分布。
生成模型还必须是概率性的 (probabilistic),而不是确定性的 (deterministic),因为我们希望能够采样出具有不同变化的输出,而不是每次得到相同的输出,对于图像数据而言,生成的图像应该具有不同的风格、角度和变化,而不是仅仅复制训练数据中的图像。如果我们的模型仅仅是一个固定的计算,例如在训练数据集中每个像素的平均值,那么它就不是生成模型,生成模型必须包含一个影响模型生成的随机因素。
换句话说,我们假设存在某种未知的概率分布,其可以解释图像在训练数据集中存在(或不存在)的合理性。生成模型的目标是构建一个尽可能精确地模仿这个分布的模型,然后从中进行采样,生成看起来像是原始训练集中可能包含的新的、独特的样本数据。

2. 生成模型与判别模型的区别

2.1 模型对比

为了了解生成模型及其重要性,首先需要介绍判别模型。假设我们有一个绘画的数据集,其中包含莫奈与一些其他艺术家的画作。通过使用足够的数据,可以训练一个判别模型,以预测给定的画作是否由莫奈绘制。判别模型能够学到画作中的颜色、形状和纹理特征,以便判断画作是否由莫奈所绘制,对于具有莫奈画作特征的绘画,模型会相应地增加其预测权重。下图展示了判别模型的构建过程:

判别

在构建判别模型时,训练数据中的每个观测值都有一个标签 (label)。对于二分类问题,比如上述画作鉴别器,将莫奈的画作标记为 1,非莫奈的画作标记为 0。然后,判别模型学习如何区分这两组画作,并预测新数据样本属于标签 1 的概率,即样本是由莫奈绘制的概率。
而生成模型不需要数据集带有标签,因为生成模型关注的是生成新图像,而非试图预测给定图像的标签。接下来,使用公式正式定义生成模型和判别模型。

  • 判别模型估计 p ( y ∣ x ) p(y|x) p(yx),即在给定输入 x x x 的情况下,输出 y y y 的概率。其中 y y y 是标签, x x x 是观测值
  • 生成模型估计 p ( x ) p(x) p(x),即生成给定输入 x x x 的观测值的概率,而不考虑标签
  • 判别模型关注如何根据观测值来预测标签,而生成模型关注如何根据概率分布来生成观测值
  • 在判别模型中,可以使用逻辑回归、支持向量机等算法来构建模型。而在生成模型中,常使用生成对抗网络 (Generative Adversarial Networks, GAN) 或扩散模型等算法来生成新的观测值

总结而言,判别模型和生成模型是两种不同的机器学习方法。判别模型通过观测值预测标签,而生成模型通过学习数据分布来生成新的观测值。
生成模型估计 p ( x ) p(x) p(x),即生成观测值 x x x 的概率。也就是说,生成模型旨在对观测值 x x x 进行建模,从所学分布中进行采样可以生成新的观测值。

2.2 条件生成模型

也可以构建生成模型来建模条件概率 p ( x ∣ y ) p(x|y) p(xy),即观察到具有特定标签 y y y 的观测值 x x x 的概率。例如,如果数据集包含不同类型的水果,可以训练生成模型仅仅生成苹果图像。
需要注意的,即使我们能够构建一个完美的判别模型识别莫奈的画作,但它仍然无法创作一幅具备莫奈风格的画作,它只是被训练用于输出关于现有图像的类别概率。相反,生成模型被训练用于从该模型中进行采样,以生成具有高概率属于原始训练数据集的图像。

2.3 生成模型的发展

数年来,判别模型一直是推动机器学习发展的主要动力。这是因为相对于判别问题,相应的生成问题通常更难解决。例如,训练一个模型预测一幅画是否是莫奈所作比起训练一个模型来生成莫奈风格的画作要容易得多;同样,训练一个模型来预测一篇小说是否是莎士比亚所写比起构建一个模型来生成一篇莎士比亚风格的小说要容易得多。
近来,随着机器学习技术的发展,解决生成问题变得不再遥不可及。通过将机器学习应用于构建生成模型的新颖应用得到了快速发展。下图展示了图像生成模型在面部图像生成方面的研究进展。

生成模型发展
除了更容易解决的优势之外,判别模型在实际问题中的应用也比生成模型更广泛。例如,能够预测给定视网膜图像是否隐含青光眼迹象的模型对医疗领域具有重要作用,但能够生成眼部图片的模型可能并无作用。
但随着越来越多的公司开始提供面向特定业务问题的生成服务,生成模型的应用范围正在快速扩展。例如,只需提供特定的主题材料,就可以通过 API 访问生成原创博客文章的服务,还可以生成在不同场景下的产品图像,或者编写与品牌和目标信息相匹配的社交媒体内容和广告文案。同时,生成式AI在游戏设计和电影制作等行业也逐渐得到应用。

2.4 生成模型与人工智能

除了生成模型的实际应用,生成模型的发展还有三个更深层次的原因,生成模型是实现更精细人工智能形式的关键,超越了仅靠判别模型所能实现的范围。
首先,从理论角度来看,不应该局限于对数据进行简单分类。为了完整性,还应该关注能够捕捉数据分布更完整(超越特定标签)理解的模型。由于输出空间的维度较高,生成模型的构建无疑是一个更难解决的问题。许多判别模型中的关键技术,如深度学习等,也可以被生成模型所利用。
其次,生成模型现在正被用于推动人工智能的其他领域取得进展,例如强化学习等。假设要训练一个机器人在给定的地形上移动,传统方法是在计算机中模拟运行许多实验,其中智能体尝试使用不同的策略。随着实验的进行,智能体将学会哪些策略更有效,从而逐渐改善性能。这种方法的一个缺点是它的可扩展性较差,因为它是为一个特定任务优化策略。最近流行起来的另一种方法是放弃训练智能体优化特定任务的策略,转而使用生成模型训练智能体学习环境的世界模型,其独立于特定任务。智能体可以通过在自己的世界模型中测试策略来快速适应新任务,而不是在真实环境中进行测试,这种方法通常更高效,并且不需要为每个新任务重新训练。
最后,如果我们真的已经构建了一台具有与人类相媲美智能形式的机器,那么生成模型将是其中必不可少的部分。自然界中最好的生成模型之一就是人类,我们能够想象以任何可能的角度看小猫的样子;可以想象出电视节目几种不同的合理结局。当前神经科学理论表明,我们对现实的感知并不是一个在感官输入上运算的高度复杂的判别模型,用于预测我们经历的事物,而是一个从出生开始便不断训练的生成模型,用于产生准确匹配未来的环境模拟。显然,如何构建具备这种能力的机器对于我们了解解大脑运作和人工智能至关重要。

3. 生成模型示例

3.1 简单示例

首先,我们将使用一个简单示例展示生成模型。在二维空间中,使用 P d a t a P_{data} Pdata 规则生成如下图所示点集,我们的目标是得到二维空间中新的点 x = ( x 1 , x 2 ) x=(x_1,x_2) x=(x1,x2),使其看起来像是由相同规则生成的。

训练数据集

我们可以根据已有数据点的知识选择一个位置,构建模型 p m o d e l p_{model} pmodel,用于估计该点可能出现的位置。此时, p m o d e l p_{model} pmodel p d a t a p_{data} pdata 的一个估计。 p m o d e l p_{model} pmodel 可能如下图中的矩形框所示,点只可能出现在框内,而框外的区域则可能没有任何点。

点生成模型

为了生成一个新的观测值,可以在框内随机选择一个点,或者说从分布 p m o d e l p_{model} pmodel 中进行采样。这就可以视为一个简单的生成模型,我们利用训练数据(黑色点)构建了一个模型(橙色区域),可以从中进行采样,生成看起来属于训练集的点。

3.2 生成模型框架

我们可以通过以下框架来表达我们构建生成模型的目标:

  • 准备一组观测数据 X X X
  • 假设这些观测数据是根据某一分布 p d a t a p_{data} pdata 生成的
  • 目标是构建生成模型 p m o d e l p_{model} pmodel,以近似 p d a t a p_{data} pdata,如果实现了此目标,就可以从 p m o d e l p_{model} pmodel 中进行采样,生成看起来像是从 p d a t a p_{data} pdata 中抽取的观测数据

因此, p m o d e l p_{model} pmodel 需要包含以下属性:

  • 准确性:如果 p m o d e l p_{model} pmodel 生成的观测样本准确性较高,则观测样本应该看起来像是从 p d a t a p_{data} pdata 中抽取的;如果 p m o d e l p_{model} pmodel 生成的观测样本准确性较低,则观测样本不应该看起来像是从 p d a t a p_{data} pdata 中抽取的
  • 生成性:能够简单地从 p m o d e l p_{model} pmodel 中进行采样生成新的观测样本
  • 表示性:能够理解 p m o d e l p_{model} pmodel 如何表示数据中不同的高级特征

接下来,我们使用简单数据生成分布 p d a t a p_{data} pdata,并利用上述框架进行处理,如下图所示,数据生成规则设定数据样本在蓝色区域均匀分布,且数据样本不能出现在黄色区域。

数据分布

我们使用的模型 p m o d e l p_{model} pmodel (灰色区域)是对真实数据生成分布 p d a t a p_{data} pdata 的简化模型。数据样本 ABC 是模型 p m o d e l p_{model} pmodel 模拟 p d a t a p_{data} pdata 生成的数据:

  • A 是由模型生成的观测样本,但看起来并不像是由 p d a t a p_{data} pdata 生成的,因为它位于黄色区域中
  • B 无法由模型生成,因为它位于灰色区域之外,因此,可以说 B 为模型无法在整个可能性范围内的生成观测样本
  • C 是一个合理的数据样本点,因为它既可以由模型 p m o d e l p_{model} pmodel 生成,也可以由真实分布 p d a t a p_{data} pdata 生成

尽管模型 p m o d e l p_{model} pmodel 存在缺陷,但该模型易于进行抽样,因为它是一个灰色框内的均匀分布,我们可以简单地从该框中随机选择一个点来进行抽样。
此外,生成模型 p m o d e l p_{model} pmodel 是对底层复杂分布的简单表示,但其也捕捉了一些底层高级特征。真实分布被划分为多个蓝色区域和黄色区域,这相当于本例的高级特征,虽然模型 p m o d e l p_{model} pmodel 也捕捉到这一高级特征,但其将其近似为单个蓝色区域。
上述示例演示了生成模型的基本概念,虽然生成模型是一个丰富多彩的领域,且问题的定义与处理也多种多样,但处理生成模型问题时基本遵循上述基本框架。

4. 表示学习

假设我们想向一个不认识的人描述自己的外貌,我们并不会逐个描述自己照片的每个像素。相反,我们会首先合理地假设对方对普通人的外貌有基本的了解,然后通过描述外貌特征,例如黑色的头发、褐色的眼睛等,对方就能够将这个描述映射回照片像素,从而在脑海中生成一个基本图像,虽然这个图像可能并不完美,但足够接近真实外貌,能够用于在数百个人中准确的识别。
据此,表示学习 (Representation Learning) 的核心思想可以描述如下:模型并不会尝试直接对高维样本空间建模,而是使用一些低维潜空间 (Latent Space) 描述训练集中的每个观测样本,然后学习一个映射函数,可以将潜空间中的点映射到原始领域中。换句话说,潜空间中的每个点都是某一高维观测样本的表示 (Representation)。
假设有如下训练集,其中包含了大量圆柱体的灰度图像。

数据集

对于人类而言,很明显可以使用圆柱体的高度和半径这两个特征唯一的表示这些圆柱体。也就是说,我们可以将每个圆柱体的图像转换为两维潜空间中的一个点,即使训练集中的图像是以高维像素空间表示的。这也意味着我们可以通过将适当的映射函数 f 应用于潜空间中的新点来生成不在训练集中的圆柱体图像。
对于机器而言,使用较简单的潜空间来描述原始数据集并非易事,机器首先需要确定高度和半径是最适合描述该数据集的两个潜空间维度,然后学习能够将该空间中的点映射到灰度圆柱体图像的映射函数 f f f。机器学习(尤其是深度学习)能够训练机器在没有人类指导的情况下学习这些高度复杂的映射函数。

生成模型

表示学习能够以更易管理、且能够影响图像高级属性的隐空间中进行操作。例如,通过调整每个像素来增加圆柱体图像的高度并非易事,但在潜空间中,只需要增加高度对应的潜维度,然后应用映射函数即可反映到图像域上。
表示学习能够学习用于描述给定观测样本最为重要的特征,以及如何根据原始数据生成这些特征。将训练数据集编码为潜空间,以便可以从中进行采样,并将采样点解码回原始域,是许多生成模型构建的基础。从数学角度来说,表示学习试图将数据所处的高度非线性流形 (nonlinear manifold) (例如,像素空间)转化为更简单的潜空间,以便可以从中进行采样,从概率上而言,潜空间中的任何一点都能作为一个图像的表示。通过调整隐空间中的特征值,就可以生成新的表示,然后将其映射回原始数据域(例如图像)时,就可以得到逼真数据样本(例如图像数据)。

表示学习

5. 生成模型与概率论

生成模型与概率分布的统计建模密切相关,因此,需要了解一些核心统计概念,用于解释每个生成模型的理论背景。为了充分理解要解决的任务,需要建立对基本概率理论的扎实理解,以理解不同类型的生成模型。

样本空间
样本空间 (sample space) 是观测样本 x \textbf x x 可以获取的所有值的完整集合。例如,在上述数据分布示例中,样本空间图像中的横纵坐标 ( x , y ) (x, y) (x,y) 组成。例如, x = ( 40 , 10 ) \textbf x=(40,10) x=(40,10) 是样本空间中属于真实数据生成分布的一个点。

概率密度函数
概率密度函数( probability density function,或简称密度函数)是一种将样本空间中的点 x \textbf x x 映射到 01 之间的数值的函数 p ( x ) p(\textbf x) p(x)。密度函数在样本空间中所有点上的积分必须等于 1,以确保其是一个明确定义的概率分布。
在上述数据分布示例中,生成模型的密度函数在灰色框之外为 0,在灰色框内为常数,因此密度函数在整个样本空间上的积分等于 1
虽然只有一个真实的密度函数 p d a t a ( x ) p_{data}(\textbf x) pdata(x) 能够真正生成可观测数据集,但有无限多个密度函数 p m o d e l ( x ) p_{model}(\textbf x) pmodel(x) 可以用来估计 p d a t a ( x ) p_{data}(\textbf x) pdata(x)。为了能够找出合适的 p m o d e l ( x ) p_{model}(\textbf x) pmodel(x),可以使用参数化建模 (parametric modeling) 技术。

参数化建模
参数化建模 (parametric modeling) 是一种用来寻找合适 p m o d e l ( x ) p_{model}(\textbf x) pmodel(x) 的方法。参数模型 p θ ( x ) p_θ(\textbf x) pθ(x) 是一系列密度函数,可以通过有限数量的参数 θ θ θ 来描述。
如果我们将均匀分布假设为模型簇,那么在上述数据分布示例中,我们可以绘制的所有可能框的集合就是参数化模型的一个例子。在这种情况下,我们需要四个参数:方框的左下角 ( θ 1 , θ 2 ) (θ_1, θ_2) (θ1,θ2) 和右上角 ( θ 3 , θ 4 ) (θ_3, θ_4) (θ3,θ4) 的坐标。
因此,该参数模型中的每个密度函数 p θ ( x ) p_θ(\textbf x) pθ(x) (即每个方框)可以由四个数字 θ = ( θ 1 , θ 2 , θ 3 , θ 4 ) θ=(θ_1, θ_2, θ_3, θ_4) θ=(θ1,θ2,θ3,θ4) 唯一的表示。

似然函数
给定某个观测样本 x \textbf x x,参数集 θ θ θ 的似然函数 L ( θ ∣ x ) L(θ|\textbf x) L(θx) 是一个量度 θ θ θ 在给定观测点 x \textbf x x 处的合理性的函数,其定义如下:

L ( θ ∣ x ) = p θ ( x ) \mathscr{L}(θ|\textbf x) = p_θ(\textbf x) L(θx)=pθ(x)

也就是说,给定某个观测样本 x \textbf x x θ θ θ 的似然性表示用参数 θ θ θ 表示点 x \textbf x x 上的密度函数值,如果我们有一个完整的独立观测数据集 X \textbf X X,则可以写成:

L ( θ ∣ X ) = Π x ∈ X p θ ( x ) \mathscr L(θ|\textbf X) = \underset {\textbf x \in \textbf X} {\Pi}p_θ(\textbf x) L(θX)=xXΠpθ(x)

由于计算 01 之间大量项的乘积可能非常困难,因此通常使用对数似然度ℓ代替:

ℓ ( θ ∣ x ) = ∑ x ∈ X l o g p θ ( x ) \ell (θ|\textbf x) = \sum_{\textbf x\in \textbf X} log p_θ(\textbf x) (θx)=xXlogpθ(x)

在上述数据分布示例中,只覆盖图像左半部分的灰色框的似然性为 0,因为我们观察到的数据点位于图像右半部分,因此该框不可能生成数据集。图像中的灰色框的似然性为正数,因为在该模型下所有数据点的密度函数都是正数。
似然函数的此种定义方式是具有统计意义的,但我们也可以直观地理解这个定义。我们可以简单的将参数集 θ θ θ 的似然函数定义为:在由参数集 θ θ θ 定义的模型中,观测到数据的概率。
需要注意的是,似然函数是参数的函数,而不是数据的函数。不应将其解释为给定参数集正确的概率,换句话说,它不是参数空间上的概率分布(即在参数方面不会求和/积分为1)。
直观而言,参数化建模应该专注于找到最优的参数 θ ^ \hat θ θ^,以最大化数据集 X \textbf X X 观测值的似然性。

最大似然估计
最大似然估计 (maximum likelihood estimation) 是一种估计密度函数 p θ ( x ) p_θ(\textbf x) pθ(x) 的参数集 θ ^ \hat θ θ^ 的方法,该参数集能够最合理的解释观测数据集 X \textbf X X,更正式的定义如下:

θ ^ = a r g m a x θ L ( θ ∣ X ) \hat θ = \underset {θ} {argmax}\mathscr L(θ|\textbf X) θ^=θargmaxL(θX)

θ ^ \hat θ θ^ 也被称为最大似然估计 (maximum likelihood estimate, MLE)。在上述数据分布示例中,MLE 是包含训练集中所有点的最小矩形。
神经网络通常需要最小化损失函数,等价的,我们可以找到使负对数似然最小化的参数集:

θ ^ = a r g m i n θ − L ( θ ∣ X ) = a r g m i n θ − l o g p θ ( x ) \hat θ = \underset {θ} {argmin} -\mathscr L(θ|\textbf X) = \underset {θ} {argmin} -log p_θ(\textbf x) θ^=θargminL(θX)=θargminlogpθ(x)

生成模型可以视为最大似然估计的一种形式,其中参数 θ θ θ 是模型中包含的神经网络的权重。我们试图找到这些参数的值,以最大化观察到的数据的似然性(或等价地,最小化负对数似然)。
然而,在高维问题中,直接计算 p θ ( x ) p_θ(\textbf x) pθ(x) 通常是不可能的,因为它过于复杂的,不同类型的生成模型采用不同的方法来解决这一问题。

6. 生成模型分类

尽管所有类型的生成模型最终都旨在解决同一任务,但它们在对密度函数 p θ ( x ) p_θ(\textbf x) pθ(x) 进行建模时采取了不同的方法。广义上说,有以下三种方法:

  • 显式地对密度函数进行建模,但通过一定方式对模型进行约束,使密度函数可计算
  • 显式地对密度函数的可计算近似进行建模
  • 通过直接生成数据的随机过程来隐式地对密度函数进行建模

生成模型分类方式如下所示,这些模型簇并不是互斥的,有很多模型混合使用了两种及以上的不同方法。

在这里插入图片描述

我们可以首先将模型分为显式建模概率密度函数 p ( x ) p(\textbf x) p(x) 的模型和隐式建模概率密度函数的模型。
隐式密度模型并不直接估计概率密度,而专注于直接生成数据的随机过程。生成对抗网络 (Generative Adversarial Networks, GAN) 是典型的隐式生成模型。显式密度模型可以进一步分为直接优化密度函数(可计算密度模型)和优化其近似值的模型。
可计算密度模型通过对模型架构进行约束,使得密度函数具有易于计算的形式。例如,自回归模型对输入特征进行排序,以便可以按序生成输出,比如逐字生成或逐像素生成。正则流模型将一系列可计算的可逆函数应用于简单分布,以生成更复杂的分布。
近似密度模型包括变分自编码器,引入潜变量并优化联合密度函数的近似值。能量模型也利用近似方法,但是其通过马尔可夫链采样而非变分方法。扩散模型通过训练模型逐渐去噪给定图像来近似密度函数。

小结

本节介绍了人工智能的一个重要分支——生成模型,介绍了生成模型理论和应用的最新进展。我们从一个简单的示例开始,了解了生成模型最终关注的是对数据的潜在分布进行建模。通过总结生成模型框架,以理解生成模型的重要属性。然后,介绍了有助于理解生成模型的理论基础和关键概率概念,并概述了生成模型的分类方法。

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

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

相关文章

知识大杂烩(uniapp)

首先声明:不敢保证都管用,这是我自己实践得来的。 box-shadow: 这段 CSS 样式代码用于创建一个阴影效果,它是通过 box-shadow 属性来实现的。让我解释一下这段代码的含义: - box-shadow: 这是 CSS 的属性,用于添加阴影…

vue.js+nodejs家庭个人理财收支管理系统5x6nf

本收支管理系统以vue.js作为框架,nodejs语言,B/S模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块:用户管理、收入分类、支出分类、每日收入、每日支出等模块。 本文的组织结构如下: 1、绪论。综述了本文的研究背景…

Python之线性数据结构

Python之线性数据结构 线性数据结构 线性表 线性表(简称表),是一种抽象的数学概念,是一组元素的序列的抽象,它由有穷个元素组成(0 个或任意个)顺序表:使用一大块连续的内存顺序存储表中的元素,这样实现的表称为顺序表&#xff…

优惠来袭,工业树莓派特惠季火爆进行中

为回馈各位新老用户一直以来的支持和信任,虹科工业树莓派特惠季强势来袭!9月1日至12月31日期间,订购虹科工业树莓派RevPi Core S或RevPi Connect S型号产品,满足活动条件即可享超值优惠折扣!详细活动可扫描海报下方二维…

CSS 的 Float

文档流 将窗体自上而下分成一行一行,并在每行中按从左至右的挨次排放元素,即为文档流。 文档流是 HTML 页面的底层结构,HTML 页面创建的元素默认都在文档流中。 块级元素 块级元素在文档流中自上向下排列(垂直方向排列&#xf…

2023年非证券类投资银行业发展报告

第一章 行业概况 非证券投资银行业是一个专门为公司、政府和高净值个人提供金融服务的行业,与传统的证券投资银行不同,其主要业务不涉及证券交易,而是注重为客户提供咨询服务、融资和投资管理等服务。 非证券投资银行通常涉及的业务领域包括…

电脑同时连接有线和无线网络怎么设置网络的优先级

电脑同时连接有线和无线网络怎么设置网络的优先级: 我们知道在 笔记本电脑系统 中,可以通过有线或无线网络进行联网。如果电脑在有线网络和无线网络同时存在的情况,应该怎么设置有线网络优先连接呢?对此我们提供下面的方法可以让电脑在有Wi…

【ES】笔记-Class类剖析

Class Class介绍与初体验ES5 通过构造函数实例化对象ES6 通过Class中的constructor实列化对象 Class 静态成员实例对象与函数对象的属性不相通实例对象与函数对象原型上的属性是相通的Class中对于static 标注的对象和方法不属于实列对象,属于类。 ES5构造函数继承Cl…

力扣373. 查找和最小的 K 对数字 优先队列法

题目 给定两个以 非递减顺序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2 。 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。 示例 1: 输入: nums1 [1,7,11], …

BFGS算法python实现

文章目录 Python代码当前参数下求解结果参数设置 Python代码 import scipy import numpy as np import matplotlib.pyplot as plt from scipy.optimize import minimize def func(x):return 7*np.sin(x) 11*np.cos(5*x) def cal_func():x np.linspace(-5,5,1000)y func(x)r…

【电压质量】提高隔离电源系统的电压质量(Simulink实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

嵌入式学习笔记(17)代码重定位实战 上篇

3.5.1任务:在iSRAM中将代码从0xd0020010重定位到0xd0024000 注解:本练习对代码本身运行无实际意义,我们做这个重定位纯粹是为了练习重定位技能。但是某些情况重定位就是必须的,譬如在uboot中。 3.5.2思路 (1&#xff…

2023新疆褐牛产业集群高质量发展论坛伊犁召开

8月31日,“2023新疆褐牛产业集群高质量发展论坛”在新疆巩留县召开,相关部委、权威专家和企业代表欢聚一堂,共商新疆褐牛科学化繁育和规模化养殖之路,共享新疆褐牛一二三产业融合发展创新模式,助力新疆褐牛产业集群发展…

知识库建设:从0到1搞定知识库建设的方法论分享

如果我们想要搭建一个知识库,前提是我们要明确知道这个知识库是干什么用的,只有了解知识库的应用场景才能知道如何去建设知识库。 知识库建设 以常见的电商客服为例,客户会经常咨询什么时候发货,怎么退货,怎么换货………

MySQL——数据库以及数据表的创建

创建数据库 回到刚才创建数据库的问题,我们在创建数据库的时候可以通过添加一个参数,这个参数的意义在于当我们创建的数据库已经存在的时候则不会创建,也不会报错,如果不使用这个参数,则我们在重复创建一个已经存在的…

遥感图像应用:在低分辨率图像上实现洪水损害检测(迁移学习)

本文是上一篇关于“在低分辨率图像上实现洪水损害检测”的博客的延申。 代码来源:https://github.com/weining20000/Flooding-Damage-Detection-from-Post-Hurricane-Satellite-Imagery-Based-on-CNN/tree/master 数据储存地址:https://github.com/Jef…

List常见面试问题

List的特点有哪些? Java中的List是一种存放有序的、可以重复的数据的集合,它允许重复元素的存在。List中的元素都有对应的一个序列号(索引)记录着元素的位置,因此可以通过这个序列号来访问元素。 ‍ Java中集合有哪些? Java中…

便民门诊“快车道”,5G商企专网来护航

时代进步,医疗服务再升级。在贵州铜仁地区,5G诊疗服务尽显温情,“健康守护”走进社区。更便捷高效的就医方式,让百姓尽享“健康红利”。 为搭建就医“快车道”,医院在多地新增设便民门诊,民众就医有了更多的…

misc corrupt

1.打开之后是01二进制 2.利用python二进制转hex或者16进制 print(hex(int(二进制01,2))) 3.利用winHex 4.解码base64

【Java】基础练习(十二)

1.Map基本操作 创建一个Map集合,完成以下操作: 将我国省份和其简称存到 Map 集合中;将省份名称中包含"江"的省份从集合中删除;遍历输出集合元素 (1)源码: package swp.kaifamiao.c…