量子变分算法---损失函数
引子
关于损失函数,我们知道在强化学习中,会有一个函数,用来表示模型每一次行为的分数,通过最大化得分,建立一个正反馈机制,若模型为最优则加分最多,若决策不佳则加很少分或者扣分。而在神经网络中,通过正向传播可以求得模型的权重和偏执,用于最后的预测或者分类,真实值和预测值之间的差值。而反向传播,通过求权重和偏置的梯度,来调整参数,使得梯度不断下降,让模型的性能更优。
所有物理系统,无论是经典系统还是量子系统,都可以存在于不同的状态中。例如,道路上的汽车可以具有表征其状态的特定质量、位置、速度或加速度。同样,量子系统也可以具有不同的配置或状态,但它们在处理测量和状态演变的方式上与经典系统不同。这导致了量子力学独有的叠加和纠缠等独特属性。就像我们可以用速度或加速度等物理属性来描述汽车的状态一样,我们也可以使用可观测量来描述量子系统的状态,可观测量是数学对象。
在量子力学中,状态由归一化复列向量或 kets∣ψ〉表示,可观测量是作用于 kets 的厄米线性算子 ()。可观测量的特征向量 |λ〉 称为特征态。测量可观测量的其中一个特征态 (λ〉
将为我们提供相应的特征值 λ作为读数。
在qiskit中提供了两种方法,来测量量子系统,一个是采样器(Sampler)和估计器(Estimator),采样器用于计算给定状态∣ψ〉下获取每一个基础状态的概率值,而估计器获取一个可以观测的和∣ψ〉
sampler原语,为什么它仅仅适合稀疏概率分布呢?
稀疏概率分布是指,量子态∣ψ〉仅涉及到少数几个计算基态|k>的概率,而大多数基态的状态为零或者非常小。例如
![]()
而下列是密集的

而如果概率是密集的,那么测量基态的数量为2的幂次,而稀疏分布的只需要少数几次测量。
Sampler在处理稀疏分布时更加高效,因此它只是需要少数几次测量来捕捉少数几个基态的概率。
Estimator通过计算可观测量对于一个量子态∣ψ〉,它的观测概率可以被表达为
而它对每个状态的概率和,可以表示为:
但是,计算可观测量的期望值并不总是可行的,因为我们通常不知道它的特征基。Qiskit Runtime 的 Estimator 使用复杂的代数过程来估计真实量子设备上的期望值,是将可观测量分解为我们知道其特征基的其他可观测量的组合。
简而言之,Estimator 将它不知道如何测量的任何可观测量分解为更简单、可测量的可观测量,称为 Pauli 算子。任何算子都可以表示为 个 Pauli 算子的组合。

其中
执行此分解后,估算器会为每个可观测量 Pk 即来自原始电路)导出一个新的电路 V k∣ψ〉,以有效地在计算基础中对泡利可观测量进行对角化并对其进行测量。我们可以轻松测量泡利可观测量,因为我们提前知道 Vk,而其他可观测量通常并非如此。
对于每个 Pk ,估算器会在量子设备上运行相应的电路多次,在计算基础中测量输出状态,并计算获得每个可能输出 j 的概率 Pkj 。然后,它寻找与每个输出 j 对应的 Pk 的特征值 λkj ,乘以 wk ,然后将所有结果相加在一起,以获得给定状态 ∣ψ 〉的可观测量的预期值。与sampler类似,估计器也仅仅作用于稀疏状态。所以可以表示如下:

如何计算期望值呢?
对于单量子比特状态

它的期望值
我们又知道,我们注意到
,
,由于X和Z不交换,所以我们需要辅助线路。
数学介绍

由于我们不知道目标可观测量H的特征值或特征态,所以我们需要考虑它的对角化(对角化话很重要,为什么?)假设H是厄密矩阵,存在一个幺正变换V使得,且
,V是一个酉变换。
这样期望值就可以被重写成

我们需要知道如何获得矩阵 V 和特征值 Λ。如果您已经有了特征值,那么就不需要使用量子计算机了,因为变分算法的目标是找到 H ^的这些特征值。
幸运的是,有一种方法可以解决这个问题:任何 矩阵都可以写成
个张量积的线性组合,这些张量积是n 个 Pauli 矩阵和恒等式的,它们都是厄米矩阵和幺正矩阵,并且已知 V 和 Λ 。这就是 Runtime 的 Estimator 在内部所做的,它将任何 Operator 对象分解为 SparsePauliOp 。
以下是可以使用的运算符:

损失函数
让我们考虑一个寻找系统基态的简单例子。我们的目标是最小化表示能量的可观测量的期望值(哈密顿量 H ^ )

我们使用估计器(estimator)来评估期望值,并将期望值传递给优化器使得它最小化,如果优化成功它将返回一组最佳参数,并且能得到解决,并计算观测期望
。
测量速度和测量正确的关系图

总之,通过用哈密顿量的概率分布来表征,基本态的概率,通过最小化能量,即哈密顿量来活得最好的结果。
错误缓解
错误缓解是指允许用户通过在执行时对设备噪声进行建模来减少电路错误的技术。通常,这会与模型训练相关的量子预处理开销和使用生成的模型缓解原始结果中错误的经典后处理开销相关。
Qiskit Runtime 原语的 resilience_level 选项指定针对错误构建的弹性量。更高的级别会产生更准确的结果,但由于量子采样开销,处理时间会更长。在将错误缓解应用于原始查询时,可以使用弹性级别来配置成本和准确性之间的权衡。
在实施任何错误缓解技术时,我们都希望结果中的偏差相对于之前未缓解的偏差有所减少。在某些情况下,偏差甚至可能会消失。然而,这是有代价的。随着我们减少估计量的偏差,统计变异性将增加(即方差),我们可以通过在采样过程中进一步增加每个电路的采样次数来解决这个问题。这将引入超出减少偏差所需的开销,因此默认情况下不执行此操作。我们可以通过在 options.executions.shots 中调整每个电路的镜头数量来轻松选择此行为,如下例所示。

零噪声外推
(ZNE) 的工作原理是
首先放大准备所需量子态的电路中的噪声,获得几个不同噪声水平的测量值,并使用这些测量值推断无噪声结果。
总体工作流程:
1.放大几个噪声因子的电路噪声
2.运行每个噪声放大电路
3.外推回零噪声极限

附录
1.零噪声外推(zne)的方法?
零噪声外推实验步骤:
-
放大噪声因子:
- 在量子电路中,引入额外的噪声。这通常通过修改量子电路的某些部分来实现,例如引入故意增加的量子门错误(例如 X、Y、Z 操作),或者使用额外的测量错误。
- 通过不同的放大因子,可以得到多个在不同噪声水平下的电路。
-
运行每个噪声放大电路:
- 在每个噪声级别下运行量子电路多次,通常会进行多次重复实验(shots)。每次运行的测量结果会受到噪声的影响,因此需要从多个实验中收集数据。
- 通常,噪声因子较大的电路结果会与真实的量子态有所偏差。
-
外推回零噪声极限:
- 对不同噪声水平下的测量结果进行分析。因为噪声与量子电路的行为有一定的关系(通常是线性或接近线性的关系),可以通过对不同噪声级别的结果进行拟合。
- 一般采用线性外推,即将噪声放大因子与测量结果之间的关系进行回归,推断出零噪声下的理论值。

相关文章:
量子变分算法---损失函数
引子 关于损失函数,我们知道在强化学习中,会有一个函数,用来表示模型每一次行为的分数,通过最大化得分,建立一个正反馈机制,若模型为最优则加分最多,若决策不佳则加很少分或者扣分。而在神经网络…...
计算机的性能评估
目录 计算机的性能评估 确定性能指标 考虑通讯因素 考虑机器过热因素 综合评估模型 动态评估与调整 计算机的性能评估 在分布式计算机系统中,综合考虑各种因素来评估性能是一个复杂但重要的问题。以下是一种可能的方法来综合考虑评估分布式计算机性能,动态地考虑实际情…...
大数据之国产数据库_OceanBase数据库002_在centos7.9上_安装部署OceanBase001_踩坑指南_亲测可用
部署前最好看一下,部署前的要求, 主要是系统 以及系统内核版本,还有比如清理一下缓存等,按照做一做. 这些都是前置条件. 清一下缓存. 也就是说官网给的前置的条件,都要根据说明去执行一遍,如果不执行可能后面安装会报错. 然后用户最好也去创建一个用户. 注意前置...
【ETCD】【源码阅读】深入解析 EtcdServer.run 函数
EtcdServer.run 是 etcd 的核心运行逻辑之一,负责管理 Raft 状态机的应用、事件调度以及集群的核心操作。本文将逐步从源码层面分析 run 函数的逻辑,帮助读者理解其内部机制和设计思想。 函数签名与关键职责 func (s *EtcdServer) run() {... }关键职责…...
springboot/ssm校内订餐系统Java代码web项目美食外卖点餐配送源码
springboot/ssm校内订餐系统Java代码web项目美食外卖点餐配送源码 基于springboot(可改ssm)vue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库ÿ…...
floodfill算法
目录 什么是floodfill算法 题目一——733. 图像渲染 - 力扣(LeetCode) 题目二——200. 岛屿数量 - 力扣(LeetCode) 题目三——695. 岛屿的最大面积 - 力扣(LeetCode) 题目四—— 130. 被围绕的区域 …...
【JAVA】六亮增加贴
James Gosling(詹姆斯.高斯林) Java 语言源于 1991 年 4 月,Sun 公司 James Gosling博士 领导的绿色计划(Green Project) 开始启动,此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序…...
git提交时出现merge branch main of xxx
git提交时出现merge branch main of xxx 原因: 1、同事commit了一个修改A,push到remote 2、我把这个修改直接pull了下来(pull是fetchmerge的操作,自动合并到本地workspace) 3、同事因为后续的commit有冲突,…...
lstm 输入数据的形状是怎么样的,他有两种输入方式,通过参数 batch_first来设置 默认是False
lstm 输入数据的形状是怎么样的,他有两种输入方式,通过参数 batch_first来设置 默认是False 当batch_firstFalse时,LSTM输入的数据形状通常是一个三维张量,其维度顺序为[sequence_length, batch_size, input_size]。下面是对这些维…...
Apache Doris 数据类型
Apache Doris 已支持的数据类型列表如下: 数值类型 类型名存储空间(字节)描述BOOLEAN1布尔值,0 代表 false,1 代表 true。TINYINT1有符号整数,范围 [-128, 127]。SMALLINT2有符号整数,范围 …...
编译问题 fatal error: rpc/rpc.h: No such file or directory
在编译一些第三方软件的时候,会经常遇到一些文件识别不到的问题,这里整理下做个归总。 目前可能的原因有(排序分先后): 文件不存在;文件存在但路径识别不了;…… 这次以常见的编译lmbench测试…...
linux 安装composer
下载composer curl -sS https://getcomposer.org/installer | php下载后设置环境变量,直接通过命令composer -v mv composer.phar /usr/local/bin/composer查看版本看是否安装成功 composer -v...
数据库公共字段自动填充的三种实现方案
背景介绍 在实际项目开发中,我们经常需要处理一些公共字段的自动填充,比如: createTime (创建时间)updateTime (更新时间)createUser (创建人)updateUser (更新人) 这些字段在每个表中都存在,如果每次都手动设置会很麻烦。下面介绍三种常用的解决方案。 方案一:M…...
《MySQL 入门:数据库世界的第一扇门》
一、MySQL 简介 MySQL 是一种开源的关系型数据库管理系统,在数据库领域占据着重要地位。它以其高效查询、高安全性、低成本和扩展性著称,广泛应用于网站、企业级应用、数据分析等领域。 MySQL 具有诸多优点。首先,它成本低,作为…...
Qt之第三方库QCustomPlot使用(二)
Qt开发 系列文章 - qcustomplot(二) 目录 前言 一、Qt开源库 二、QCustomPlot 1.qcustomplot介绍 2.qcustomplot下载 3.qcustomplot移植 4.修改项目文件.pro 5.提升QWidget类 三、技巧讲解 1.拖动缩放功能 2.等待更新 总结 前言 Qt第三方…...
JAVA-类与继承
啥是继承? 在JAVA中, 继承就是子类继承父类的特征和行为,使得子类拥有父类的特征和行为,同时还可以拥有父类所没有的特征和行为。 举个例子通俗来讲,兔子和羊是食草动物类,狮子和豹子是食肉动物类&#x…...
SSH连接报错,Corrupted MAC on input 解决方法
问题描述 客户在windows CMD中SSH连接失败,报错: Corrupted MAC on input ssh_dispatch_run_fatal: Connection to x.x.x.x port 22: message authentication code incorrect值得注意的是,客户通过别的机器做SSH连接可以成功,使用putty, mo…...
【C++】8___继承
目录 一、基本语法 二、继承方式 三、对象模型 四、继承中的构造与析构的顺序 五、继承中同名成员处理 六、多继承语法 七、菱形继承 一、基本语法 好处:减少重复的代码 语法: class 子类 : 继承方式 父类 子类 也称为 派生类 父类…...
C# 中的异常处理:构建健壮和可靠的程序
C#中的异常处理(Exception Handling)。异常处理是编程中非常重要的一部分,它允许开发者优雅地处理程序运行时可能出现的错误或意外情况。通过有效的异常处理,可以使应用程序更加健壮、可靠,并提供更好的用户体验。以下…...
基于智能合约的医院凭证共享中心路径探析
一、引言 随着医疗行业的不断发展和信息技术的进步,基于智能合约的医疗凭证共享中心解决方案成为了可能。在当今数字化时代,医疗领域面临着诸多挑战,如医疗数据的分散存储、信息共享的不便捷以及凭证管理的复杂性等问题。而智能合约的出现&am…...
手把手教你用4090D单卡24G显存本地跑DeepSeek-R1:KTransformers保姆级安装与避坑指南
手把手教你用4090D单卡24G显存本地跑DeepSeek-R1:KTransformers保姆级安装与避坑指南 最近在折腾大模型本地部署的朋友们,应该都听说过DeepSeek-R1这个671B参数的"巨无霸"。传统认知里,这种规模的模型至少需要专业级GPU集群才能跑起…...
3大核心功能让你轻松掌握League-Toolkit英雄联盟辅助工具
3大核心功能让你轻松掌握League-Toolkit英雄联盟辅助工具 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League-Toolkit是一款基…...
ESP32 IDF环境下DHT11温湿度读取避坑指南:从时序图到数据拼接的完整解析
ESP32 IDF环境下DHT11温湿度读取避坑指南:从时序图到数据拼接的完整解析 在物联网设备开发中,温湿度传感器是最基础也最常用的环境感知元件之一。DHT11作为一款低成本、单总线数字输出的温湿度传感器,被广泛应用于各类嵌入式项目中。然而&…...
OpenClaw安全指南:GLM-4.7-Flash本地化部署权限管理
OpenClaw安全指南:GLM-4.7-Flash本地化部署权限管理 1. 为什么需要关注OpenClaw的安全问题 去年我在尝试用OpenClaw自动整理电脑上的项目文档时,差点酿成一场小灾难。当时我让AI助手帮我"清理重复文件",结果它把我整个开发环境的…...
这份榜单够用!AI论文网站深度测评与推荐
2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…...
Qwen2.5-72B-GPTQ开源大模型:农业病虫害识别与防治方案生成
Qwen2.5-72B-GPTQ开源大模型:农业病虫害识别与防治方案生成 1. 模型介绍 Qwen2.5-72B-Instruct-GPTQ-Int4是通义千问大模型系列的最新版本,专为复杂任务优化设计。这个72亿参数的模型经过指令调优和4-bit量化处理,在保持高性能的同时大幅降…...
从零到一:构建你的第一个智能体应用实战指南
1. 为什么你需要一个智能体应用? 想象一下这样的场景:每天早上你的手机自动整理当天的重要会议和待办事项,根据你的日程推荐最佳出行路线;工作时自动汇总行业动态和关键邮件;晚上回家前提前打开空调并推荐符合你口味的…...
黑苹果终极配置指南:使用Hackintool轻松搞定显卡驱动、音频和USB问题
黑苹果终极配置指南:使用Hackintool轻松搞定显卡驱动、音频和USB问题 【免费下载链接】Hackintool The Swiss army knife of vanilla Hackintoshing 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintool 还在为黑苹果配置头疼吗?显卡驱动不工…...
终极免费逆向神器Ghidra:3分钟极速安装与新手入门指南
终极免费逆向神器Ghidra:3分钟极速安装与新手入门指南 【免费下载链接】ghidra_installer Helper scripts to set up OpenJDK 11 and scale Ghidra for 4K on Ubuntu 18.04 / 18.10 项目地址: https://gitcode.com/gh_mirrors/gh/ghidra_installer 还在为复杂…...
当服务器内存足够大时:为什么我建议你在CentOS 8上彻底禁用Swap?
大内存时代:CentOS 8禁用Swap的云原生性能优化实践 在云计算与容器化技术席卷全球的今天,服务器硬件配置正经历着革命性变化。128GB、256GB甚至TB级内存已成为现代服务器的标配,而传统Linux内存管理机制中的Swap分区在这种新硬件环境下是否还…...
