KL散度 (Kullback-Leibler Divergence)
KL散度,也称为相对熵 (Relative Entropy),是信息论中一个核心概念,用于衡量两个概率分布之间的差异。给定两个概率分布 P ( x ) P(x) P(x) 和 Q ( x ) Q(x) Q(x)(对于离散随机变量)或 p ( x ) p(x) p(x) 和 q ( x ) q(x) q(x)(对于连续随机变量),从 Q Q Q 到 P P P 的KL散度定义如下:
1. 定义
-
对于离散概率分布 P ( x ) P(x) P(x) 和 Q ( x ) Q(x) Q(x):
D K L ( P ∥ Q ) = ∑ x ∈ X P ( x ) log ( P ( x ) Q ( x ) ) D_{KL}(P \parallel Q) = \sum_{x \in \mathcal{X}} P(x) \log \left( \frac{P(x)}{Q(x)} \right) DKL(P∥Q)=x∈X∑P(x)log(Q(x)P(x))
其中 X \mathcal{X} X 是随机变量 x x x 所有可能取值的集合。 -
对于连续概率分布 p ( x ) p(x) p(x) 和 q ( x ) q(x) q(x):
D K L ( p ∥ q ) = ∫ − ∞ ∞ p ( x ) log ( p ( x ) q ( x ) ) d x D_{KL}(p \parallel q) = \int_{-\infty}^{\infty} p(x) \log \left( \frac{p(x)}{q(x)} \right) dx DKL(p∥q)=∫−∞∞p(x)log(q(x)p(x))dx在这些定义中,通常使用自然对数 (ln),此时KL散度的单位是“奈特 (nats)”。如果使用以2为底的对数,单位则是“比特 (bits)”。约定 0 log ( 0 / q ) = 0 0 \log(0/q) = 0 0log(0/q)=0 和 p log ( p / 0 ) = ∞ p \log(p/0) = \infty plog(p/0)=∞ (如果 P ( x ) > 0 P(x) > 0 P(x)>0 且 Q ( x ) = 0 Q(x) = 0 Q(x)=0,则KL散度为无穷大,意味着如果 P P P 中有事件发生而 Q Q Q 认为其概率为0,则 Q Q Q 无法良好地逼近 P P P)。
2. 信息论视角
从信息论的角度来看,KL散度有多种解释:
- 期望的对数似然比: D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥Q) 是在真实分布为 P P P 的情况下,使用 P P P 相对于使用 Q Q Q 的对数似然比的期望值。
- 信息增益: 当我们从一个先验分布 Q Q Q 更新到一个后验分布 P P P 时, D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥Q) 量化了我们获得的平均信息量。
- 编码长度的额外代价: 假设数据真实服从分布 P P P。如果我们使用一个基于分布 Q Q Q 的最优编码方案来编码这些数据,而不是使用基于真实分布 P P P 的最优编码方案, D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥Q) 表示我们平均需要多少额外的比特数(或奈特数)来编码样本。也就是说,它衡量了由于使用了一个次优的分布 Q Q Q 来近似真实分布 P P P 所导致的信息损失。
- 相对熵: 它可以表示为交叉熵与熵的差:
D K L ( P ∥ Q ) = H ( P , Q ) − H ( P ) D_{KL}(P \parallel Q) = H(P, Q) - H(P) DKL(P∥Q)=H(P,Q)−H(P)
其中 H ( P , Q ) = − ∑ x P ( x ) log Q ( x ) H(P, Q) = - \sum_x P(x) \log Q(x) H(P,Q)=−∑xP(x)logQ(x) 是 P P P 和 Q Q Q 之间的交叉熵,而 H ( P ) = − ∑ x P ( x ) log P ( x ) H(P) = - \sum_x P(x) \log P(x) H(P)=−∑xP(x)logP(x) 是 P P P 的熵(信息熵)。由于 H ( P ) H(P) H(P) 是固定的(对于给定的 P P P),最小化KL散度等价于最小化交叉熵。
3. 重要性质
- 非负性 (Gibbs’ Inequality): D K L ( P ∥ Q ) ≥ 0 D_{KL}(P \parallel Q) \ge 0 DKL(P∥Q)≥0。
- 当且仅当 P = Q P=Q P=Q 时取零: D K L ( P ∥ Q ) = 0 D_{KL}(P \parallel Q) = 0 DKL(P∥Q)=0 当且仅当 P ( x ) = Q ( x ) P(x) = Q(x) P(x)=Q(x) 对于几乎所有 x x x 都成立。
- 不对称性: 通常情况下, D K L ( P ∥ Q ) ≠ D K L ( Q ∥ P ) D_{KL}(P \parallel Q) \neq D_{KL}(Q \parallel P) DKL(P∥Q)=DKL(Q∥P)。这意味着KL散度不是一个真正的度量 (metric),因为它不满足对称性和三角不等式。例如,如果 P P P 是一个多峰分布,而 Q Q Q 是一个单峰分布,那么 D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥Q) 和 D K L ( Q ∥ P ) D_{KL}(Q \parallel P) DKL(Q∥P) 会有不同的行为:
- 最小化 D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥Q) 会倾向于使 Q Q Q 覆盖 P P P 的所有模式 (mode-covering or zero-avoiding behavior),即如果 P ( x ) > 0 P(x)>0 P(x)>0,则 Q ( x ) Q(x) Q(x) 也必须大于0。
- 最小化 D K L ( Q ∥ P ) D_{KL}(Q \parallel P) DKL(Q∥P) 会倾向于使 Q Q Q 集中在 P P P 的某个模式上 (mode-seeking or zero-forcing behavior),即如果 P ( x ) P(x) P(x) 很小或为0, Q ( x ) Q(x) Q(x) 也会趋向于很小或为0。
4. 在机器学习中的应用
KL散度在机器学习中有广泛应用:
- 变分推断 (Variational Inference): 在贝叶斯统计中,当后验分布 P ( Z ∣ X ) P(Z|X) P(Z∣X) 难以计算时,我们常常寻找一个简单分布 Q ( Z ) Q(Z) Q(Z) 来近似它。这通过最小化 D K L ( Q ( Z ) ∥ P ( Z ∣ X ) ) D_{KL}(Q(Z) \parallel P(Z|X)) DKL(Q(Z)∥P(Z∣X)) (或者更常见的是最小化 D K L ( Q ( Z ) ∥ P ( Z , X ) ) D_{KL}(Q(Z) \parallel P(Z,X)) DKL(Q(Z)∥P(Z,X)),这等价于最大化证据下界 ELBO)来实现。由于前面提到的不对称性,通常选择最小化 D K L ( Q ∥ P ) D_{KL}(Q \parallel P) DKL(Q∥P) 的形式,这倾向于找到一个能够很好地拟合 P P P 主要模式的 Q Q Q。
- 损失函数与正则化:
- 作为两个概率分布之间差异的度量,它可以直接用作损失函数,例如在生成模型中,我们希望模型生成的分布 Q Q Q 尽可能接近真实数据分布 P P P。
- 作为正则化项,例如在强化学习中,约束策略网络的变化,使其不会与先前的策略或参考策略偏离太远。
5. 在RLHF (Reinforcement Learning from Human Feedback) for LLMs 中的应用
KL散度可用于约束语言模型的策略更新,具体体现在奖励函数中:
R ( x , y ) = r θ ( x , y ) − β log ( π ϕ R L ( y ∣ x ) π S F T ( y ∣ x ) ) R(x,y) = r_{\theta}(x,y) - \beta \log\left(\frac{\pi_{\phi}^{RL}(y|x)}{\pi^{SFT}(y|x)}\right) R(x,y)=rθ(x,y)−βlog(πSFT(y∣x)πϕRL(y∣x))
这里的 log ( π ϕ R L ( y ∣ x ) π S F T ( y ∣ x ) ) \log\left(\frac{\pi_{\phi}^{RL}(y|x)}{\pi^{SFT}(y|x)}\right) log(πSFT(y∣x)πϕRL(y∣x)) 项直接与KL散度相关。实际上,如果我们在 π S F T ( y ∣ x ) \pi^{SFT}(y|x) πSFT(y∣x) 的期望下看待这一项,它就是 D K L ( π S F T ∥ π ϕ R L ) D_{KL}(\pi^{SFT} \parallel \pi_{\phi}^{RL}) DKL(πSFT∥πϕRL) 的一部分(或者更准确地说,是 D K L ( π ϕ R L ∥ π S F T ) D_{KL}(\pi_{\phi}^{RL} \parallel \pi^{SFT}) DKL(πϕRL∥πSFT) 的负相关项,符号和期望对象需要注意)。
在这个公式中:
- π ϕ R L ( y ∣ x ) \pi_{\phi}^{RL}(y|x) πϕRL(y∣x) 是当前通过强化学习更新的策略(语言模型),给定上下文 x x x 生成 y y y 的概率。
- π S F T ( y ∣ x ) \pi^{SFT}(y|x) πSFT(y∣x) 是一个参考策略,通常是经过监督微调 (Supervised Fine-Tuning) 得到的模型,它代表了期望的、较为安全的行为。
- β \beta β 是一个超参数,控制KL惩罚项的强度。
该KL惩罚项(或其变体)的作用:
- 约束探索空间,防止策略漂移过大: 它限制了RL策略 π ϕ R L \pi_{\phi}^{RL} πϕRL 不要与初始的、表现良好的SFT策略 π S F T \pi^{SFT} πSFT 偏离太远。这有助于稳定训练,避免模型探索到非常差的、产生无意义或有害内容的策略空间。
- 缓解奖励模型被“Hacking”: 语言模型可能会找到一些方式来“欺骗”奖励模型 r θ ( x , y ) r_{\theta}(x,y) rθ(x,y) 给出高分,但实际上生成的文本质量不高或者不符合人类偏好。KL惩罚项使得模型在追求高奖励的同时,也必须考虑其行为与参考模型的相似性,从而间接约束了这种“Hacking”行为。
- 充当熵奖励/正则化,鼓励探索(特定形式下): “it acts as an entropy bonus, encouraging the policy to explore and deterring it from collapsing to a single mode.” 虽然上述公式中的形式是惩罚与SFT模型的差异,但在某些RL框架中,KL散度(或者其与熵的联系)可以被用来鼓励策略的随机性,从而促进探索。具体到这里的公式,主要是通过防止模型过于偏离SFT模型来避免模式崩溃到SFT模型未曾覆盖的奇怪区域,而不是直接最大化策略本身的熵。SFT模型本身具有一定的多样性,保持与它的接近间接维持了这种多样性。
KL散度为我们提供了一个量化两个概率分布之间差异的强大工具。在AI和机器学习中,它不仅是理论分析的基础,也是许多算法设计(如变分自编码器VAE、策略优化RL算法如TRPO、PPO等)中的关键组成部分,用于度量信息损失、约束模型行为或指导模型学习。在RLHF中,它扮演了稳定器和安全阀的角色,确保在通过强化学习优化模型以符合人类偏好时,模型不会偏离其已学到的有用知识太远。
相关文章:
KL散度 (Kullback-Leibler Divergence)
KL散度,也称为相对熵 (Relative Entropy),是信息论中一个核心概念,用于衡量两个概率分布之间的差异。给定两个概率分布 P ( x ) P(x) P(x) 和 Q ( x ) Q(x) Q(x)(对于离散随机变量)或 p ( x ) p(x) p(x) 和 q ( x …...
【Linux网络】NAT和代理服务
NAT 之前我们讨论了,IPv4协议中,IP地址数量不充足的问题。 原始报文途径路由器WAN口时,对报文中的源IP进行替换的过程,叫做NAT。 NAT技术当前解决IP地址不够用的主要手段,是路由器的一个重要功能: NAT能…...
DeepSeek赋能电商,智能客服机器人破解大型活动人力困境
1. DeepSeek 与电商客服结合的背景 1.1 电商行业客服需求特点 电商行业具有独特的客服需求特点,这些特点决定了智能客服机器人在该行业的必要性和重要性。 高并发性:电商平台的用户数量庞大,尤其是在促销活动期间,用户咨询量会…...
Unity序列化字段、单例模式(Singleton Pattern)
一、序列化字段 在Unity中,序列化字段是一个非常重要的概念,主要用于在Unity编辑器中显示和编辑类的成员变量,或者在运行时将对象的状态保存到文件或网络中。 1.Unity序列化字段的作用 在编辑器中显示和编辑字段:默认情况下&…...
一个可拖拉实现列表排序的WPF开源控件
从零学习构建一个完整的系统 推荐一个可通过拖拉,来实现列表元素的排序的WPF控件。 项目简介 gong-wpf-dragdrop是一个开源的.NET项目,用于在WPF应用程序中实现拖放功能,可以让开发人员快速、简单的实现拖放的操作功能。 可以在同一控件内…...
hadoop.proxyuser.代理用户.授信域 用来干什么的
在Hadoop的core-site.xml文件中存在三个可选配置,如下 <property><name>hadoop.proxyuser.root.hosts</name><value>*</value> </property> <property><name>hadoop.proxyuser.root.groups</name><value…...
python 自动化教程
文章目录 前言整数变量字符串变量列表变量算术操作比较操作逻辑操作if语句for循环遍历列表while循环定义函数调用函数导入模块使用模块中的函数启动Chrome浏览器打开网页定位元素并输入内容提交表单关闭浏览器发送GET请求获取网页内容使…...
C++学习:六个月从基础到就业——C++11/14:列表初始化
C学习:六个月从基础到就业——C11/14:列表初始化 本文是我C学习之旅系列的第四十三篇技术文章,也是第三阶段"现代C特性"的第五篇,主要介绍C11/14中的列表初始化特性。查看完整系列目录了解更多内容。 引言 在C11之前&a…...
城市静音革命:当垃圾桶遇上缓冲器
缓冲垃圾桶的核心原理是通过机械或液压装置实现垃圾桶盖的缓慢闭合,包含以下技术要点:能量吸收机制液压式:通过活塞挤压油液产生阻尼力,将动能转化为热能耗散弹簧式:利用弹性变形储存和释放能量,配合摩…...
数据库的规范化设计方法---3种范式
第一范式(1NF):确保表中的每个字段都是不可分割的基本数据项。 第二范式(2NF):在满足1NF的基础上,确保非主属性完全依赖于主键。 第三范式(3NF):在满足2NF的基…...
p024基于Django的网上购物系统的设计与实现
开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 商品类型管理 商品信息管理 系统管理 订单管理…...
C++跨平台开发:挑战与应对策略
C跨平台开发:挑战与应对策略 在如今设备多样、操作系统碎片化的开发环境中,跨平台能力已成为衡量软件生命力与团队工程效率的重要指标。C 作为高性能系统级语言,在游戏引擎、嵌入式系统、实时渲染等领域依旧坚挺。然而,实现“一次…...
Kotlin 作用域函数(let、run、with、apply、also)对比
Kotlin 的 作用域函数(Scope Functions) 是简化代码逻辑的重要工具,它们通过临时作用域为对象提供更简洁的操作方式。以下是 let、run、with、apply、also 的对比分析: 一、核心区别对比表 函数上下文对象引用返回值是否扩展函数…...
JavaScript性能优化实战(11):前沿技术在性能优化中的应用
引言 随着Web应用复杂度和性能需求不断提高,传统的JavaScript优化技术已经无法满足某些高性能计算场景的需求。本文将深入探讨前沿Web技术如何突破JavaScript的性能瓶颈,为Web应用提供接近原生应用的性能体验。从底层计算到图形渲染,从并发处理到动画优化,我们将通过实际案…...
数据结构【AVL树】
AVL树 1.AVL树1.AVL的概念2.平衡因子 2.AVl树的实现2.1AVL树的结构2.2AVL树的插入2.3 旋转2.3.1 旋转的原则 1.AVL树 1.AVL的概念 AVL树可以是一个空树。 它的左右子树都是AVL树,且左右子树的高度差的绝对值不超过1。AVL树是一颗高度平衡搜索二叉树,通…...
电动调节V型球阀:行业应用与材质选择全解析
电动调节V型球阀:行业应用与材质选择全解析 作为工业自动化控制中的关键设备,电动调节V型球阀凭借其独特的结构设计与高性能调节能力,在石油、化工、造纸等高要求领域广泛应用。本文将从核心功能、行业应用场景、材质选择要点等方面深入解析…...
页面上如何显示特殊字符、Unicode字符?
在前端开发中,显示特殊字符通常涉及到HTML实体(HTML Entities)或 Unicode 字符的使用。以下是一些常见的方法来处理特殊字符的显示: 1、HTML实体: HTML为一些常见的特殊字符提供了预定义的实体。例如,要显…...
桌面端进程通信
以下是关于 Electron 桌面端进程通信的基本知识点总结: 一、Electron 进程模型基础 1. 进程类型与职责 进程类型职责权限主进程(Main)创建窗口、系统级操作、IPC中枢完全Node.js访问权限渲染进程(Renderer)展示Web内容、UI交互默认受限(可配置开启Node.js)预加载脚本(Prelo…...
vue2 切换主题色以及单页面好使方法
今天要新增一个页面要根据不同公司切换不同页面主题色,一点一点来,怎么快速更改 el-pagination 分页组件主题色。 <el-pagination :page-size"pageSize" :pager-count"pageCount"layout"sizes, prev, pager, next, jumper,…...
三层固定实体架构:高效实现图上的检索增强生成(RAG)
知识图谱正在成为跨各个领域组织和检索信息的强大工具。它们越来越多地与机器学习和自然语言处理技术相结合,以增强信息检索和推理能力。在本文中,我介绍了一种用于构建知识图谱的三层架构,结合了固定本体实体、文档片段和提取的命名实体。通过利用嵌入和余弦相似度,这种方…...
pnpm 与 npm 的核心区别
以下是 pnpm 与 npm 的核心区别总结,涵盖依赖管理、性能、安全性等关键维度: 1. 依赖存储机制 • npm: 每个项目的依赖独立存储于 node_modules,即使多个项目使用相同版本的包,也会重复下载和存储。例如,1…...
NVMe简介6之PCIe事务层
PCIe的事务层连接了PCIe设备核心与PCIe链路,这里主要基于PCIe事务层进行分析。事务层采用TLP传输事务,完整的TLP由TLPPrefix、TLP头、Payload和TLP Digest组成。TLP头是TLP中最关键的部分,一般由三个或四个双字的长度,其格式定义如…...
【C++详解】string各种接口如何使用保姆级攻略
文章目录 一、string介绍二、string使用构造函数析构函数赋值运算符重载string的遍历修改方法1、下标[]2、迭代器3、范围for 迭代器使用详解const迭代器反向迭代器(reverse) Capacity(容量相关)size/lengthmax_sizecapacityclear/emptyshrink_to_fit(缩容)reserve(扩…...
深入理解 requestIdleCallback:浏览器空闲时段的性能优化利器
requestIdleCallback 核心作用 requestIdleCallback 是浏览器提供的 API,用于将非关键任务延迟到浏览器空闲时段执行,避免阻塞用户交互、动画等关键任务,从而提升页面性能体验。 基本语法 const handle window.requestIdleCallback(callb…...
QML鼠标事件和按键事件
1 鼠标事件 1.1 MouseArea组件 在QML中,鼠标事件主要通过MouseArea元素处理,它是用于检测和响应鼠标交互的核心组件。常用属性 cursorShape: 光标形状acceptedButtons: 设置响应鼠标的哪些按键事件,默认为鼠标左键 Qt.LeftButton࿱…...
Animaster:一次由 CodeBuddy 主导的 CSS 动画编辑器诞生记
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 起心动念:我想要一个动画编辑器 那天我突然想到,如果能有一个简单好用的 CSS 动画编辑…...
Git 版本控制系统入门指南
Git 版本控制系统入门指南 一、Git 基础概念 1. 什么是 Git? Git 是一个分布式版本控制系统,它可以: 跟踪文件变化协调多人协作管理代码版本支持离线工作保证数据完整性 2. Git 的特点 分布式架构快速分支操作完整历史记录数据完整性保…...
GitHub 趋势日报 (2025年05月16日)
本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1TapXWorld/ChinaTextbookPDF教材。⭐ 4792⭐ 19814Roff2xming521/WeClone&…...
C/C++之内存管理
1. 内存分布 我们定义的变量对于电脑来说也叫数据,同时电脑也会把这些数据分为不同的类型,分别是局部数据,静态数据,全局数据,常量数据和动态申请数据。 在 C 中,各类数据存储位置如下: • 局…...
GitHub文档加载器设计与实现
文章结构: 目录 GitHub文档加载器设计与实现 引言 架构设计 主要组件 核心功能 文档加载流程 加载单个文件 加载目录内容 错误处理与健壮性 分支回退策略 文件类型和大小限制 安全性考虑 SSL证书验证 使用示例 基本使用 测试环境配置 最佳实践 结…...
历史数据分析——中证白酒
简介 中证白酒指数选取涉及白酒生产业务相关上市公司证券作为指数样本,为投资者提供更多样化的投资标的。 估值 中证白酒总体的PB是5.26,在过去十年间位于23.76%,属于较低的水平。 中证白酒总体的PE是20.13,在过去十年间,位于14.24%,属于较低的水平。 从估值的角度似…...
PHP8.0版本导出excel失败
环境:fastadmin框架,不是原版接手的项目。PHP8.0,mysql5.7. code // 创建一个新的 Spreadsheet 对象 $spreadsheet new Spreadsheet(); $worksheet $spreadsheet->getActiveSheet();// 设置表头 $worksheet->setCellValue(A1, ID); $worksheet…...
Seata源码—5.全局事务的创建与返回处理二
大纲 1.Seata开启分布式事务的流程总结 2.Seata生成全局事务ID的雪花算法源码 3.生成xid以及对全局事务会话进行持久化的源码 4.全局事务会话数据持久化的实现源码 5.Seata Server创建全局事务与返回xid的源码 6.Client获取Server的响应与处理的源码 7.Seata与Dubbo整合…...
mac-M系列芯片安装软件报错:***已损坏,无法打开。推出磁盘问题
因为你安装的软件在Intel 或arm芯片的mac上没有签名导致。 首先打开任何来源操作 在系统设置中配置,如下图: 2. 然后打开终端,输入: sudo spctl --master-disable然后输入电脑锁屏密码 打开了任何来源,还遇到已损坏…...
端到端自动驾驶系统实战指南:从Comma.ai架构到PyTorch部署
引言:端到端自动驾驶的技术革命 在自动驾驶技术演进历程中,端到端(End-to-End)架构正引领新一轮技术革命。不同于传统分模块处理感知、规划、控制的方案,端到端系统通过深度神经网络直接建立传感器原始数据到车辆控制…...
MoveIt Setup Assistant 在导入urdf文件的时候报错
在使用MoveIt Setup Assistant导入urdf文件的时候(load a urdf or collada robot model),找到urdf文件后MoveIt Setup Assistant闪退并报错: Warning: Ignoring XDG_SESSION_TYPEwayland on Gnome. Use QT_QPA_PLATFORMwayland to run on Wayland anyway…...
uniapp +vue +springboot多商家订餐系统
uniapp vue springboot多商家订餐系统,这个系统我整理调试的多商家,多用户的,多端小程序订餐系统,主要包含了uniapp小程序端,管理后台页面vue端,后台功能接口Springboot端,源码齐全,…...
docker迅雷自定义端口号、登录用户名密码
在NAS上部署迅雷,确实会带来很大的方便。但是目前很多教程都是讲怎么部署docker迅雷,鲜有将自定义配置的方法。这里讲一下怎么部署,并重点讲一下支持的自定义参数。 一、部署docker 在其他教程中,都是介绍的如下命令,…...
联想笔记本黑屏了,排线出问题还是静电
以下引用 联想电脑屏幕不亮,电源键和键盘灯均正常的解决办法(超简单)_拯救者屏幕不亮,键盘有电-CSDN博客 昨天正常关机后,今天一早来工位打开电脑,美美开始玩手机。 一会之后抬头屏幕是黑的,还以为自动息…...
uniapp -- uCharts 仪表盘刻度显示 0.9999999 这样的值问题处理。
文章目录 🍉问题🍉解决方案🍉问题 在仪表盘上,23.8变成了 23.799999999999997 🍉解决方案 formatter格式化问题 1:在 config-ucharts.js 或 config-echarts.js 配置对应的 formatter 方法 formatter: {yAxisDemo1: function (...
为 Spring Boot 应用程序构建 CI/CD 流水线
为 Spring Boot 应用程序创建构建/部署流水线涉及多个步骤,而 Jenkins 可以作为强大的工具来自动化这些流程。在本教程中,我们将指导您为托管在 GitHub 上的 Spring Boot 应用程序设置流水线,使用 Jenkins 构建该应用程序,并将其部…...
数值分析填空题速通
填空题速通 文章目录 填空题速通误差与误差传播均差插值与误差范数、赋范线性空间与内积、内积空间范数代数精度数值微分积分误差迭代方程与收敛阶微分方程数值解法的迭代公式与阶 误差与误差传播 例 设 a 1.414 a 1.414 a1.414, b − 0.576 b -0.576 b−0.57…...
day016-系统负载压力测试-磁盘管理
文章目录 1. 系统负载2. 模拟系统高负载2.1 模拟cpu负载2.2 模拟IO负载 3. 磁盘接口分类4. 思维导图 1. 系统负载 系统负载是衡量系统繁忙程度的指标负载值接近或超过cpu核心总数表示系统负载高负载高常见原因:1.占用cpu过多导致2.占用磁盘IO过多导致(I…...
DeepSeek指令微调与强化学习对齐:从SFT到RLHF
后训练微调的重要性 预训练使大模型获得丰富的语言和知识表达能力,但其输出往往与用户意图和安全性需求不完全匹配。业内普遍采用三阶段训练流程:预训练 → 监督微调(SFT)→ 人类偏好对齐(RLHF)。预训练阶段模型在大规模语料上学习语言规律;监督微调利用人工标注的数据…...
安全性(一):加密算法总结
一、加密算法分类总览 加密类型关键特性代表算法主要用途对称加密加解密使用同一个密钥DES、3DES、AES、SM4数据加密传输、存储非对称加密公钥加密,私钥解密(或反向)RSA、DSA、ECC、SM2密钥交换、数字签名、身份认证哈希算法不可逆摘要MD5、…...
DeepSeek 赋能军事:重塑现代战争形态的科技密码
目录 一、引言:AI 浪潮下的军事变革与 DeepSeek 崛起二、DeepSeek 技术原理与特性剖析2.1 核心技术架构2.2 独特优势 三、DeepSeek 在军事侦察中的应用3.1 海量数据快速处理3.2 精准目标识别追踪3.3 预测潜在威胁 四、DeepSeek 在军事指挥决策中的应用4.1 战场态势实…...
我司助力高校打造「智慧创新AI学习中心」
为推动AI教育融合跨领域应用,东吴大学于2025年4月举行「智慧创新AI学习中心」揭牌仪式,并宣布正式启动AI特色课程与教学空间建置计画。此次建置由我司协助整体教室空间与设备规划,导入最新NVIDIA GeForce RTX 50系列桌上型电脑,并…...
AI赋能把“杂多集合”转化为“理想集合”的数学建模与认知升级
AI赋能把“杂多集合”转化为“理想集合”的数学建模与认知升级 一、核心概念定义 杂多集合(Chaotic Set) 定义:元素间关系模糊、结构无序的集合 数学表达:C{x∣x∈X,P(x)},其中 P(x) 是模糊隶属函数 实例…...
NVC++ 介绍与使用指南
文章目录 NVC 介绍与使用指南NVC 简介安装 NVC基本使用编译纯 C 程序编译 CUDA C 程序 关键编译选项示例代码使用标准并行算法 (STDPAR)混合 CUDA 和 C 优势与限制优势限制 调试与优化 NVC 介绍与使用指南 NVC 是 NVIDIA 提供的基于 LLVM 的 C 编译器,专为 GPU 加速…...
Redis 事务与管道:原理、区别与应用实践
在现代分布式系统开发中,Redis 作为高性能的内存数据库,其事务处理和管道技术是开发者必须掌握的核心知识点。本文将深入探讨 Redis 事务和管道的实现原理、使用场景、性能差异以及最佳实践,帮助开发者根据实际需求选择合适的技术方案。 一、…...