当前位置: 首页 > news >正文

深度生成模型(二)——基本概念与数学建模

上一篇笔记中提到了端到端模型底层核心采用了深度生成模型,先简单梳理一下

生成式人工智能(Artificial Intelligence Generated Content,AIGC)经历了从早期基于概率模型和规则系统的方法到现代深度生成模型的跨越式发展

深度神经网络为 AIGC 带来了革命性的突破:

  1. 变分自编码器(Variational Autoencoder, VAE)等模型显著提升了生成模型的能力
  2. 生成对抗网络(Generative Adversarial Network, GAN)通过引入对抗训练机制,实现了更逼真生成样本的目标
  3. Transformer 模型的出现为序列数据的建模带来了新的思路,其核心是自注意力机制。该机制能够捕捉序列中任意两位置之间的依赖关系
  4. 在 Transformer 架构基础上,生成式预训练 Transformer(Generative Pre-trained Transformer, GPT)采用了预训练和微调的双阶段策略,极大提升了自然语言处理任务的效果。GPT 通过最大化语言模型的对数似然进行训练
  5. ChatGPT和稳定扩散(Stable Diffusion)等模型推动了AIGC进入一个全新阶段:ChatGPT 在 GPT 架构基础上,经过大量数据的预训练以及针对对话系统的微调,具备了高质量的交互生成能力,能够在对话中实现上下文理解和长文本生成;稳定扩散模型通过逆扩散过程将噪声逐步去除,实现高质量图像的生成。其生成过程可视为在一个马尔科夫链中从纯噪声逐步演化为清晰图像的逆过程

目录

1 基本概念

2 概率密度估计

2.1 基本概念

2.2 高维数据中的密度估计

2.3 含隐变量模型与 EM 算法

2.4 变分自编码器(VAE)思想

3 样本生成(采样)

4 生成模型在监督学习中的应用


1 基本概念

概率生成模型(Probabilistic Generative Model),简称生成模型,是概率统计和机器学习领域中一类用于随机生成可观测数据的重要模型

其基本思想是:在一个连续或离散的高维空间中,假设存在一个随机向量 X 服从一个未知的真实数据分布 pr​(x),生成模型通过学习一系列可观测样本 x^{(1)}, x^{(2)}, \dots, x^{(N)} 来构建一个参数化模型 p_{\theta}(x),使得生成的样本与真实样本尽可能相似

左图:真实分布 p_r(x) 以及从中采样的“真实”样本

右图:参数化分布 p_{\theta}(x) 以及从中采样的“生成”样本

生成模型通常包含两个基本功能:概率密度估计样本生成

1. 概率密度估计
给定一组样本数据,通过最大化似然函数来学习参数 θ,以便 p_{\theta}(x) 能够尽可能准确地近似 。常用的优化目标为最大化对数似然:

\theta^* = \arg\max_{\theta} \sum_{i=1}^{N} \log p_{\theta}(x^{(i)})

2. 样本生成(采样)
利用训练得到的模型 p_{\theta}(x) 生成新样本,使得生成样本的统计特性与真实数据相匹配。采样方法可能包括直接采样、马尔科夫链蒙特卡罗(MCMC)方法等。

对于图像、文本、声音等不同类型数据,生成模型均能发挥重要作用。然而,对于高维空间中的复杂分布,密度估计和生成样本通常面临两大挑战:

  • 高维建模难题:高维随机向量难以直接建模,通常需要借助条件独立性假设或降维方法来简化问题
  • 采样方法不足:即便建立了复杂的概率模型,从中高效采样也是一个非常难的问题,需要设计专门的采样算法或采用近似方法

为了解决上述问题,深度生成模型利用深度神经网络近似任意函数的能力,既可以直接建模复杂分布 p_r(x),也可以在隐空间中构造更容易采样的表示

概率密度估计

2.1 基本概念

概率密度估计(Density Estimation)是基于一些观测样本来估计一个随机变量的概率密度函数的方法。在机器学习中,这是一类典型的无监督学习问题。假设给定一组数据

\{x^{(1)}, x^{(2)}, \dots, x^{(N)}\}

这些数据都是从未知分布 p_r(x)  中独立采样得到的。密度估计的目标是根据这组样本,构建一个参数化模型 p_\theta(x) 来近似 p_r(x)

\theta^* = \arg\max_\theta \prod_{i=1}^{N} p_\theta(x^{(i)}) \quad     \Longleftrightarrow \quad \theta^* = \arg\max_\theta \sum_{i=1}^{N} \log p_\theta(x^{(i)})

密度估计方法主要分为两类:

  • 参数密度估计:假定数据分布属于某个已知的分布族,通过估计参数来确定分布,例如高斯分布的均值和协方差
  • 非参数密度估计:不做具体分布假设,直接利用数据自身来估计密度,例如核密度估计(Kernel Density Estimation, KDE)

2.2 高维数据中的密度估计

以手写体数字图像为例,每幅图像可以表示为一个随机向量 X,其中每一维代表一个像素值。我们假设所有手写体图像都服从一个未知的分布 p_r(x),并希望通过观测样本来估计该分布

然而,直接建模 p_r(x) 存在两大难题:

  1. 高维建模困难:图像中各像素间存在复杂依赖关系(例如相邻像素通常颜色相似),很难用简单的图模型来精确描述这种依赖关系
  2. 采样难度大:即使得到了复杂分布的近似模型,从中高效采样也往往不易实现

为了解决这两个问题,通常引入隐变量 z 来简化模型,将高维分布的建模任务分解为两个局部条件概率的估计问题:

  • 隐变量先验 p_\theta(z)
  • 条件分布 p_\theta(x \mid z)

一般我们会假设隐变量 z 的先验分布为标准高斯分布,即

p(z) = \mathcal{N}(z; 0, I)

其中各维度之间相互独立,因此先验分布中不含需要学习的参数。这样,密度估计的重点就转移为如何精确地估计条件分布 p_\theta(x \mid z)

2.3 含隐变量模型与 EM 算法

当需要建模含隐变量的联合分布 p_\theta(x, z) 时,由于隐变量 z 的不可观测性,我们通常使用 EM 算法(Expectation-Maximization Algorithm)来进行密度估计。EM 算法通过以下两个步骤交替进行迭代求解:

  1. E 步(Expectation Step):计算隐变量的后验分布 p(z \mid x; \theta) 或其近似

  2. M 步(Maximization Step):利用 E 步得到的后验分布,更新参数 θ,使得观测数据的对数似然最大化,即 \theta^* = \arg\max_\theta \sum_{i=1}^{N} \log p_\theta(x^{(i)})

在实际问题中,当条件分布 p_\theta(x \mid z) 与后验分布 p(z \mid x; \theta) 都较为复杂时,传统的 EM 算法难以直接求解。这时,可以利用神经网络来对这些分布进行建模,从而发展出基于变分推断的模型,即 变分自编码器(VAE)

2.4 变分自编码器(VAE)思想

变分自编码器的核心思想是利用神经网络对条件分布和后验分布进行近似建模。具体来说,VAE 包括两个模块:

  • 编码器 q_\phi(z \mid x):将观测数据 x 映射到隐变量 z 的分布
  • 解码器 p_\theta(x \mid z):根据隐变量 z 重构或生成数据 x

VAE 的目标是最大化变分下界(Evidence Lower Bound, ELBO),其目标函数为:

\mathcal{L}_{\text{VAE}} = \mathbb{E}_{q_\phi(z \mid x)}\left[\log p_\theta(x \mid z)\right] - \text{KL}\left(q_\phi(z \mid x) \parallel p(z)\right)

其中 \text{KL}(\cdot \parallel \cdot) 表示 Kullback-Leibler 散度,用以衡量编码器输出分布 q_\phi(z \mid x) 与先验分布 p(z) 之间的差异。最大化 ELBO 即相当于在保证模型重构能力的同时,使得隐变量的分布尽可能接近先验分布

样本生成(采样)

生成模型除了具备密度估计的功能外,还可以用于生成样本,即从一个给定的概率密度函数 p_\theta(x) 中生成服从该分布的新样本,这一过程也被称为采样。同时,生成模型在监督学习中也有广泛应用,通过对样本与标签联合分布 p(x, y) 的建模,可以间接求解条件概率分布 p(y|x)

在生成模型中,给定一个参数化的概率密度函数 p_\theta(x) 后,采样的目标是生成一组样本,使得这些样本服从 p_\theta(x)。如果已经得到了隐变量的局部条件概率 p_\theta(z) 以及条件概率 p_\theta(x|z),则生成数据 x 的过程可以分为两步进行:

  1. 隐变量采样:从隐变量的先验分布 p_\theta(z) 中采样,得到样本 z:z \sim p_\theta(z)

  2. 条件采样:根据采样得到的 z,从条件分布 p_\theta(x|z) 中采样,生成样本 x:x \sim p_\theta(x|z)

为了便于采样,通常要求 p_\theta(z) 不宜过于复杂。因此,另一种生成样本的思路是:从一个简单的分布(例如标准正态分布)中采样得到 z,然后利用一个深度神经网络 g(z)z 映射到数据空间,使得 g(z) 服从真实分布 p_r(x)

x = g(z), \quad z \sim \mathcal{N}(0, I)

这种方法能够避免直接对复杂高维分布 p_r(x) 进行密度估计,从而有效降低生成样本的难度。这正是生成对抗网络(GAN)的基本思想,即利用深度神经网络将简单分布映射为复杂数据分布的过程

4 生成模型在监督学习中的应用

除了用于生成样本之外,生成模型还可以应用于监督学习中。监督学习的目标是建模样本 x 与输出标签 y 之间的条件概率分布 p(y|x)。根据贝叶斯公式,

p(y|x) = \frac{p(x,y)}{p(x)}

可以将监督学习问题转换为对联合概率分布 p(x,y) 的密度估计问题

在这种框架下,生成模型不仅可以用于无监督数据的建模,还能用于构建带标签数据的生成模型。例如,在手写体数字图像的分类问题中,将图像表示为随机向量 X,标签 y 则表示对应的数字类别。生成模型通过对 p(x,y) 的建模,实现了对 p(y|x) 的间接推导。这种方法在某些情况下可以提高分类器的泛化能力

在监督学习中,比较典型的生成模型有:

  • 朴素贝叶斯分类器:假设各特征之间条件独立,直接基于 p(x,y) 进行建模
  • 隐马尔可夫模型(HMM):主要用于处理序列数据,通过建模隐状态与观测数据之间的关系来进行序列标注或分类

与生成模型对应的另一类监督学习方法是判别模型。判别模型直接对条件概率 p(y|x) 进行建模,而不需要构造完整的联合分布 p(x,y)。常见的判别模型包括 Logistic 回归、支持向量机(SVM)、神经网络等。需要注意的是,由生成模型可以推导出判别模型,但由判别模型却无法还原生成模型的信息

相关文章:

深度生成模型(二)——基本概念与数学建模

上一篇笔记中提到了端到端模型底层核心采用了深度生成模型,先简单梳理一下 生成式人工智能(Artificial Intelligence Generated Content,AIGC)经历了从早期基于概率模型和规则系统的方法到现代深度生成模型的跨越式发展 深度神经…...

4.WebSocket 配置与Nginx 的完美结合

序言 在现代 web 应用中,WebSocket 作为一种全双工通信协议,为实时数据传输提供了强大的支持。若要确保 WebSocket 在生产环境中的稳定性和性能,使用 Nginx 作为反向代理服务器是一个明智的选择。本篇文章将带你了解如何在 Nginx 中配置 Web…...

【R语言】dplyr包经典函数summarise函数

dplyr包经典函数summarise函数,后面改名乘reframe函数了,但是summarise仍然适用 这个函数的返回结果是一个新的数据框,下面讲一下几种常见用法 示例数据为R自带的数据集mtcars 1.不分组 mtcars %>%summarise(mean mean(disp), n n()…...

Cuppa CMS v1.0 任意文件读取(CVE-2022-25401)

漏洞简介: Cuppa CMS v1.0 administrator/templates/default/html/windows/right.php文件存在任意文件读取漏洞 漏洞环境: 春秋云镜中的漏洞靶标,CVE编号为CVE-2022-25401 漏洞复现 弱口令行不通 直接访问administrator/templates/defau…...

8.Dashboard的导入导出

分享自己的Dashboard 1. 在Dashboard settings中选择 JSON Model 2. 导入 后续请参考第三篇导入光放Dashboard,相近...

RabbitMQ 的介绍与使用

一. 简介 1> 什么是MQ 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。 其主要用途:不同进程Process/线程T…...

unity学习58:下拉列表框 dropdown的caption和options

目录 1 下拉列表框 dropdown 1.1 创建dropdown 1.2 dropdown的子物体构成 1.3 drop的子物体构成:默认灰色的模板 template 1.3.1 默认灰色的模板 template 实际是生效的,只是不直接显示 1.3.2 其中 item下面是下拉选项的格式 1.3.3 可以修改和新增 1.4 drop…...

STM32中使用PWM对舵机控制

目录 1、硬件JIE 2、PWM口配置 3、角度转换 4、main函数中应用 5、工程下载连接 1、硬件介绍 单片机:STM32F1 舵机:MG995 2、PWM口配置 20毫秒的PWM脉冲占空比,对舵机控制效果较好 计算的公式: PSC、ARR值的选取&#xf…...

如何免费使用稳定的deepseek

0、背景: 在AI辅助工作中,除了使用cursor做编程外,使用deepseek R1进行问题分析、数据分析、代码分析效果非常好。现在我经常会去拿行业信息、遇到的问题等去咨询R1,也给了自己不少启示。但是由于官网稳定性很差,很多…...

STM32内存五区及堆栈空间大小设置(启动文件浅析)

前言 嘿,朋友们!今天咱们来聊聊STM32的内存五区和堆栈空间大小设置。这可是嵌入式开发里的“必修课”,要是没整明白,程序说不定就“翻车”了。别担心,我这就带你一步步搞懂这事儿,让你轻松上手&#xff0c…...

LVS+Keepalived高可用群集配置案例

以下是一个 LVSKeepalived 高可用群集配置案例: 1、环境准备 LVS 主调度器(lvs1):IP 地址为 192.168.8.101,心跳 IP 为 192.168.4.101LVS 备调度器(lvs2):IP 地址为 192.168.8.102…...

MySQL 中如何解决深度分页的问题? MySQL中 join、inner join、left join、right join区别

MySQL 中如何解决深度分页的问题? 在 MySQL 中解决深度分页问题的核心思路是减少扫描的数据量,尤其是避免通过 LIMIT offset, size 导致的大范围数据扫描。以下是三种优化方法及其原理、适用场景和注意事项: 1. 子查询 覆盖索引&#xff08…...

本地部署DeepSeek-R1(Ollama+Docker+OpenWebUI知识库)

安装Ollama 打开 Ollama官网 https://ollama.com/下载安装 Ollama服务默认只允许本机访问,修改允许其它主机访问 OLLAMA_HOST0.0.0.0 ollama serve也可以添加系统环境变量 都知道模型体积很大,顺便也通过环境变量修改模型存放位置,我这…...

ubuntu22.04安装docker engine

在Ubuntu 22.04上安装Docker Engine可以通过以下步骤完成: 更新系统包索引: sudo apt update安装必要的依赖包: 这些包允许apt通过HTTPS使用仓库。 sudo apt install -y apt-transport-https ca-certificates curl software-properties-commo…...

Protobuf原理与序列化

本文目录 1. Protobuf介绍2. Protobuf的优势3. 编写Protobuf头部全局定义消息结构具体定义字段类型定义标签号Base128编码 4. TLVProtobuf的TLV编码如何通过Varint表示300? 5. 编译Protobuf6. 构造消息对象 前言:之前写项目的时候只是简单用了下Protobuf…...

Redis|事务

文章目录 是什么能干嘛Redis 事务 VS 数据库事务怎么玩小总结 是什么 首先回想一下什么是数据库的事务?数据库事务是指作为单个逻辑单元执行的一系列操作,具备以下四个关键特性(ACID): 原子性(Atomicity&am…...

树莓百度百科更新!宜宾园区业务再添新篇

树莓集团宜宾园区业务不断拓展,主要体现在以下几个方面: 产业布局 -聚焦数字经济核心领域:涵盖软件开发、人工智能、大数据等,吸引众多上下游企业入驻,形成从芯片研发、软件开发到系统集成的完整产业链条。 -推进“双…...

设计模式教程:模板方法模式(Template Method Pattern)

一、概述 模板方法模式(Template Method Pattern) 是一种行为型设计模式,旨在定义一个操作中的算法骨架,而将一些步骤的具体实现延迟到子类中。通过模板方法模式,父类可以不改变算法结构的情况下,让子类重…...

unity学习54:图片+精灵+遮罩mask,旧版文本 text 和新的TMP文本

目录 1 图片 image 1.1 如果直接导入image 1.2 图片 image 和精灵 sprite 1.2.1 继续修改上面的格式 texture type 是default 1.2.2 再次关联到UI的 image 物体上就可以了 1.3 图片和遮罩 mask 1.3.1 创建1个父物体和1个子物体,分别都是image 1.3.2 如果父…...

【Java项目】基于Spring Boot的校园闲置物品交易网站

【Java项目】基于Spring Boot的校园闲置物品交易网站 技术简介:采用Java技术、Spring Boot框架、MySQL数据库等实现。 系统简介:校园闲置物品交易网站是一个典型的管理系统,主要功能包括管理员:首页、个人中心、用户管理、商品类…...

网页制作08-html,css,javascript初认识のhtml使用框架结构,请先建立站点!

框架一般由框架集和框架组成。 框架集就像一个大的容器,包括所有的框架,是框架的集合。 框架是框架集中一个独立的区域用于显示一个独立的网页文档。 框架集是文件html,它定义一组框架的布局和属性,包括框架的数目,框架…...

DeepSeek-R1:通过强化学习激励大语言模型的推理能力

摘要 本文介绍了我们的第一代推理模型,DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是通过大规 模强化学习(RL)训练的模型,在没有使用监督微调(SFT)这个前置步骤的情况下,展示了卓越的推…...

hbase笔记总结1

hbase是nosql的一种,非关系型数据库,not only sql,可处理大规模、高并发的数据,是web2.0以后的产物hbase的扩展性和灵活性更好,而且筛选能力相较于MySQL更优nosql的四大特点: 灵活的数据模型 (1…...

关于C++中static_cast、const_cast、dynamic_cast的简单介绍

在C中,static_cast、const_cast 和 dynamic_cast 是用于类型转换的关键字,它们的行为和适用场景有显著区别。以下是它们的核心差异和用法总结: 1. static_cast 用途 用于明确且安全的类型转换,通常用于编译时已知类型关系的场景…...

计算机毕业设计 ——jspssm513Springboot 的小区物业管理系统

作者:程序媛9688 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等。 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题)&#xf…...

详解Tomcat下载安装以及IDEA配置Tomcat(2023最新)

目录 步骤一:首先确认自己是否已经安装JDK步骤二:下载安装Tomcat步骤三:Tomcat配置环境变量步骤四:验证Tomcat配置是否成功步骤五:为IDEA配置Tomcat 步骤一:首先确认自己是否已经安装JDK jdk各版本通用安…...

端口映射/内网穿透方式及问题解决:warning: remote port forwarding failed for listen port

文章目录 需求:A机器是内网机器,B机器是公网服务器,想要从公网,访问A机器的端口方式:端口映射,内网穿透,使用ssh打洞端口:遇到问题:命令执行成功,但是端口转发…...

2024年第十五届蓝桥杯大赛软件赛省赛Python大学A组真题解析

文章目录 试题A: 拼正方形(本题总分:5 分)解析答案试题B: 召唤数学精灵(本题总分:5 分)解析答案试题C: 数字诗意解析答案试题A: 拼正方形(本题总分:5 分) 【问题描述】 小蓝正在玩拼图游戏,他有7385137888721 个2 2 的方块和10470245 个1 1 的方块,他需要从中挑出一些…...

win11编译pytorch cuda128版本流程

Geforce 50xx系显卡最低支持cuda128,torch cu128 release版本目前还没有释放,所以自己基于2.6.0源码自己编译wheel包。 1. 前置条件 1. 使用visual studio installer 安装visual studio 2022,工作负荷选择【使用c的桌面开发】,安装完成后将…...

AI人工智能机器学习之降维和数据压缩

1、概要 本篇学习AI人工智能机器学习之降维和数据压缩,以主成分分析(PCA, Principal Component Analysis)为例,从代码层面讲述机器学习中的降维和数据压缩。 2、降维和数据压缩 - 简介 在机器学习和数据分析中,降维&…...

EasyExcel 使用指南:基础操作与常见问题

文章目录 1. EasyExcel 简介2. 基础操作2.1. 写入 Excel 🔥2.2. 读取 Excel ✅2.3. 使用模板 🎨 3. 常见问题与解决方案3.1. 处理日期格式 📅3.2. 数据写入失败:占位符无法匹配 ❌3.3. 内存溢出:大数据量处理 ⚡3.4. 空…...

本地搭建Koodo Reader书库结合内网穿透打造属于自己的移动图书馆

文章目录 前言1. Koodo Reader 功能特点1.1 开源免费1.2 支持众多格式1.3 多平台兼容1.4 多端数据备份同步1.5 多功能阅读体验1.6 界面简洁直观 2. Koodo Reader安装流程2.1 安装Git2.2 安装Node.js2.3 下载koodo reader 3. 安装Cpolar内网穿透3.1 配置公网地址3.2 配置固定公网…...

Mybatis是如何进行分页的?与Mybatis-plus的区别在哪里?

MyBatis 的分页方式及其与 MyBatis-Plus 的区别可以总结如下: MyBatis 的分页实现 逻辑分页(内存分页) 使用 RowBounds 对象,在查询时传入参数,MyBatis 会在结果集返回后,在内存中手动截取指定范围的数据。…...

MySQL 主从同步配置及操作步骤

主从同步是一种常见的数据复制技术,它通过将主库的数据同步到一个或多个从数据库中来保证数据的一致性。从库通过读取主库的 binlog 文件来获取更新并进行同步。 主从复制的方式有三种: 异步复制:不需要从库确认,主库提交数据后…...

【软考-架构】备战2025软考

新老教材对比 科目1(信息系统综合)考点详解 科目2(系统架构设计案例)考点详解 科目3(系统架构设计论文)考点详解 趋于越来越具体 学习方法推荐 第一阶段 – 基础知识阶段 建议一个半月; 先过…...

基于Spark的电商供应链系统的设计与实现

目录 1.研究背景与意义 2、国内外研究现状 3、相关理论与技术 (一)分布式计算系统Spark (二)数据仓库Hive (三)读取服务器本地磁盘的日志数据Flume (四)分布式消息队列Kafka …...

DaoCloud 亮相 2025 GDC丨开源赋能 AI 更多可能

2025 年 2 月 21 日至 23 日,上海徐汇西岸,2025 全球开发者先锋大会以 “模塑全球,无限可能” 的主题,围绕云计算、机器人、元宇宙等多元领域,探讨前沿技术创新、应用场景拓展和产业生态赋能,各类专业论坛、…...

基于coze+微信小程序实现图片上传并利用大模型解析

项目截图&#xff1a; 实现代码&#xff08;直接搬去可用&#xff09; 前提&#xff1a;需要填写你的oss配置coze的api授权配置&#xff01;&#xff01;&#xff01; <template><view class"container"><!-- 高斯模糊背景 --><view class&qu…...

CSS 对齐:深入理解与技巧实践

CSS 对齐:深入理解与技巧实践 引言 在网页设计中,元素的对齐是至关重要的。一个页面中元素的对齐方式直接影响到页面的美观度和用户体验。CSS 提供了丰富的对齐属性,使得开发者可以轻松实现各种对齐效果。本文将深入探讨 CSS 对齐的原理、方法和技巧,帮助开发者更好地掌握…...

Dify部署

Dify部署 安装docker 要在CentOS 7上部署Docker社区版&#xff0c;您可以按照以下步骤进行操作&#xff1a; 卸载旧版本的Docker&#xff08;如果有&#xff09;&#xff1a; yum remove docker docker-client docker-client-latest docker-common docker-latest docker-l…...

MyBatis-Plus 对比传统 MyBatis 的优势

在现代的 Java 开发中&#xff0c;MyBatis 和 MyBatis-Plus 都是流行的持久层框架。MyBatis 是一个轻量级的 ORM 框架&#xff0c;帮助开发者通过映射文件或注解方式来执行 SQL 操作。MyBatis-Plus 是在 MyBatis 基础上进行的增强&#xff0c;提供了许多简化和优化功能&#xf…...

被AWS反撸了,试一下能否申请退还

经过来回几轮沟通&#xff0c;已扣的42美金将退回31美金&#xff0c;未扣的16美金将免除扣款。 31美金的具体计算方法我不知道&#xff0c;对方的回复如下&#xff08;是了&#xff0c;AWS的客服是用中文回复的&#xff09;&#xff1a; 我理解此结果可能不完全符合您所期望的…...

基于Spring Boot的产业园区智慧公寓管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

MySQL 事务笔记

MySQL 事务笔记 目录 事务简介事务操作事务四大特性并发事务问题事务隔离级别总结 事务简介 事务&#xff08;Transaction&#xff09;是数据库操作的逻辑单元&#xff0c;由一组不可分割的SQL操作组成。主要用于保证&#xff1a; 多个操作的原子性&#xff08;要么全部成功…...

SpringBoot 使用 spring.profiles.active 来区分不同环境配置

很多时候&#xff0c;我们项目在开发环境和生产环境的配置是不一样的&#xff0c;例如&#xff0c;数据库配置&#xff0c;在开发的时候&#xff0c;我们一般用测试数据库&#xff0c;而在生产环境&#xff0c;我们要用生产数据库&#xff0c;这时候&#xff0c;我们可以利用 p…...

# C# 中堆(Heap)与栈(Stack)的区别

在 C# 中&#xff0c;堆和栈是两种不同的内存分配机制&#xff0c;它们在存储位置、生命周期、性能和用途上存在显著差异。理解堆和栈的区别对于优化代码性能和内存管理至关重要。 1. 栈&#xff08;Stack&#xff09; 1.1 定义 栈是一种后进先出&#xff08;LIFO&#xff0…...

IP---网络类型

这只是IP的其中一块内容-网络类型&#xff0c;IP还有更多内容可以查看IP专栏&#xff0c;前一章内容为访问服务器流程&#xff0c;可通过以下路径查看IP----访问服务器流程-CSDN博客&#xff0c;欢迎指正 2.网络类型 网络类型---根据二层&#xff08;数据链路层&#xff09;所…...

jQuery UI API 文档

jQuery UI API 文档 引言 jQuery UI 是一个基于 jQuery 的用户界面库,它提供了丰富的交互式组件和效果,使得网页开发变得更加简单和高效。本文档旨在为开发者提供全面的 jQuery UI API 信息,帮助您更好地理解和应用 jQuery UI。 jQuery UI 简介 什么是 jQuery UI? jQu…...

rust 前端npm依赖工具rsup升级日志

rsup是使用 rust 编写的一个前端 npm 依赖包管理工具&#xff0c;可以获取到项目中依赖包的最新版本信息&#xff0c;并通过 web 服务的形式提供查看、升级操作等一一系列操作。 在前一篇文章中&#xff0c;记录初始的功能设计&#xff0c;自己的想法实现过程。在自己的使用过…...

J-LangChain,用Java实现LangChain编排!轻松加载PDF、切分文档、向量化存储,再到智能问答

Java如何玩转大模型编排、RAG、Agent&#xff1f;&#xff1f;&#xff1f; 在自然语言处理&#xff08;NLP&#xff09;的浪潮中&#xff0c;LangChain作为一种强大的模型编排框架&#xff0c;已经在Python社区中广受欢迎。然而&#xff0c;对于Java开发者来说&#xff0c;能…...