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

使用量子玻尔兹曼机推进机器学习:新范式

一、说明

        量子玻尔兹曼机(QBM)是量子物理学和机器学习的前沿融合。通过利用叠加和纠缠等量子特性的力量,QBM 可以同时探索多个解决方案,使其异常擅长解决复杂问题。它使用量子位(量子计算的构建模块)以传统计算机无法做到的方式处理信息。尽管仍处于早期阶段,QBM 在模拟量子系统、优化复杂场景和破译复杂数据模式等应用方面展现出了前景。尽管面临挑战,QBM 有潜力彻底改变计算并重塑我们处理复杂任务的方式。

二、玻尔兹曼机

        玻尔兹曼机是用于基于能量的机器学习的模型。这里显示的网络本质上是一个玻尔兹曼机,由隐藏节点和可见节点组成。隐藏节点充当潜在变量,在后台编码信息,而可见节点则确定模型的输出。在经典玻尔兹曼机中,这些节点可以是二进制的,表示 +1 或 -1 状态,类似于自旋变量。网络可以用能量函数来表示,其中节点之间的连接性反映在能量函数的加权项中。这适用于节点之间的连接和单个节点本身。为了将其与热力学联系起来,我们采用玻尔兹曼分布的概念。这些分布使我们能够根据可见节点相应的能量来计算其某些配置的概率。该概率是使用配分函数确定的,配分函数是所有可能的能量配置的总和,并确保我们具有有效的概率。

        玻尔兹曼机设置的目标是训练能量函数中的参数,以便生成的概率代表概率分布。这种分布由训练数据和/或标签决定,具体取决于所使用的学习工具。所讨论的损失函数是交叉熵损失函数,它涉及从我们的模型中取概率的对数,将其与训练数据中的概率相乘,然后对所有可能的实例进行平均。

        文本解释说,节点现在由信号表示,特别是作用于可见量子位的泡利算子(I、X、Y、Z)。模型输出由可见量子位的配置决定,并受到隐藏保利斯的影响。哈密​​顿量不是能量函数,而是基于网络连接性定义的。测量构型的概率是通过对量子吉布斯态的投影测量来确定的,由哈密顿量和配分函数编码。对于经典计算机来说,评估归一化因子可能具有挑战性。吉布斯状态对概率分布进行编码,并使用参数化量子电路进行近似。

        文中解释说,为了训练哈密顿量的参数,采样概率需要准确地表示可能的权重分布。定义损失函数有两种选择:经典损失函数,其中测量量子态,采样概率确定损失;以及量子损失函数,其中经典概率映射到一级量子态,目标是将完整的吉布斯态与该量子态相匹配。后一个选项允许更自由地匹配概率分布,但这取决于具体目标。本研究的重点是第一个损失函数,它足以匹配经典分布并避免不必要的自由度训练。

        这篇文章讨论了 VarQITE,这是量子虚时间演化的概念。它解释了如何使用基于加权泡利算子的 n 量子位哈密顿量,并探索了 Wick 旋转薛定谔方程。它提到算子缺少“I”并且需要归一化因子来维持量子态的 L2 归一化。这篇文章还描述了如何使用输入状态和参数化模拟将其合并到参数化量子电路中。使用变分原理来近似参数的演化。

        为了执行参数演化,麦克拉克伦的变分原理用于最小化威克旋转薛定谔方程左侧和右侧之间的差异。这是在变分子空间内完成的,其中状态由 ansatz 表示。求解所得线性方程可提供 ansatz 参数的时间导数,该导数可以使用任意 ODE 求解器进行传播。麦克劳林的变分原理允许使用恒定架构量子电路来模拟状态演化。线性方程的右侧代表系统的能量梯度,而左侧代表 Fubini 研究度量,它描述了 ansatz 的信息几何。

        A 的评估在 ansatz 中的参数数量上是二次方昂贵的,并且在哈密顿量中的参数数量上是线性的。为了评估 A,使用了一种电路结构,其中涉及额外的量子位、受控操作和测量。A_ij 和 C_i 的项可以使用此电路结构以类似的形式重写,从而可以评估定义演化 ODE 的线性方程组所需的所有组件。

        为了生成吉布斯状态,文本建议通过在子系统 B 上添加一个普通哈密顿量来扩展目标哈密顿量。初始状态以 n 个贝尔对给出,其中一部分在子系统 A 中,一部分在子系统 B 中。 out 子系统 B 给出子系统 A 的初始状态作为最大状态。然后使用 VarQITE 和哈密顿量 H_AB 来传播状态。再次追踪子系统 B 给出吉布斯状态的近似值。使用具有一个和两个量子位的简单示例在实际的量子计算机上测试了该方法。

        文本讨论了哈密顿量和吉布斯状态,并解释了 ansatz 用于近似这些吉布斯状态。目标是确定每个时间步长的这些近似值与实际吉布斯态的接近程度,这是使用保真度作为量子态接近程度的度量来测量的。

        文本描述了两个哈密顿量 H1 和 H2 的训练,左侧使用较小的哈密顿量,右侧使用两个量子位门。显示了 IBMQ Johannesburg 20 量子位机器上精确模拟和测试的保真度演变。经过 10 个时间步长后,小量子位的保真度非常好,双量子位门的保真度约为 59%。对于这项小规模研究来说,这被认为是一个有趣且令人满意的结果。

        本文研究了吉布斯状态的准备过程,随后重点介绍了量子玻尔兹曼机的教育。它提到了经典损失函数的使用以及使用吉布斯状态的概率计算。然而,计算损失函数的梯度并不容易。公式本身并不那么重要,重要的是绿色的正确项可以轻松有效地计算。如果某些交换关系不充分,则左侧红色项可能难以计算。以前的工作通常使用上限(例如 Golden-Thompson),而不是损失函数的实际梯度进行训练。

        现在,将 VarQITE 用于我们的 QBM 的一个很酷的事情是,我们实际上可以利用我们的电路参数及其演化取决于我们的哈密顿参数这一事实。反过来,这使我们能够以最终的差异化来评估这些梯度。我们可以利用链式法则。

        这篇文章讨论了操纵量子态时梯度的计算。它指出,计算与哈密顿参数相关的电路参数的梯度很简单,但找到与吉布斯状态相关的梯度则更加困难,因为它需要求解线性方程组。此项的时间导数可以通过吉布斯状态的准备来帮助扩展电路参数的梯度。这篇文章简要提到了颜色的使用,但没有提供额外的信息。

        该算法首先初始化哈密顿量和初始参数。然后,它使用 VarQITE 准备吉布斯状态并获取自动微分项。插入项并计算相对于吉布斯状态的梯度。这允许评估损失函数梯度,用于更新哈密顿参数。重复这个过程直到满足终止标准以学习一个好的模型。

        这篇文章描述了一个旨在获取贝尔状态采样概率知识的训练实例。它强调使用具有对角哈密顿量和有效 SE2 ansatz 的基本模型,该模型能够表示复杂的相。

        我们来分析一下训练结果。我们将参数(alpha、beta、gamma)初始化在 -1 到 1 的范围内。使用 VarQITE,我们通过 10 个步骤准备吉布斯状态并计算损失函数的梯度。这通过优化例程指导我们的模型训练。右侧显示损失函数的级数以及训练分布和期望分布之间的 L1 距离。每个图都附有标准差条,由 10 次不同随机状态运行的平均结果生成。值得注意的是,随着标准偏差的减小,我们看到了持续的改进。左侧的条形图说明了一个实例:蓝色条形是目标(贝尔状态采样),紫色条形代表最不有效的训练,粉红色条形是最好的。值得注意的是,即使是经过最好训练的结果也已经非常准确。

        总之,变分量子玻尔兹曼机使我们能够有效地探索哈密顿量构造的数据结构,从而形成更加专注的状态学习器。利用自动微分,量子玻尔兹曼机训练变得容易进行,这得益于 VarQITE 用于吉布斯状态准备的固有用法。值得注意的是,由于其一致的电路深度和架构,该技术与近期的量子计算机非常吻合。

三、结论

        总之,量子玻尔兹曼机代表了量子物理和机器学习十字路口的一个令人着迷且有前途的前沿领域。它对量子特性的利用引入了计算范式的转变,提供了彻底改变问题解决和数据分析的潜力。通过利用叠加和纠缠,QBM 并行处理信息的能力可能会在优化、模式识别和量子系统模拟等领域带来突破。尽管面临着新兴技术的典型挑战,包括纠错和降噪,但 QBM 的发展有可能重新定义计算的边界,为科学、技术和人工智能的新可能性打开大门。随着研究人员和工程师不断提升其能力,量子玻尔兹曼机最终可能会重新定义我们对计算的理解,并推动我们进入量子增强智能的新时代。

相关文章:

使用量子玻尔兹曼机推进机器学习:新范式

一、说明 量子玻尔兹曼机(QBM)是量子物理学和机器学习的前沿融合。通过利用叠加和纠缠等量子特性的力量,QBM 可以同时探索多个解决方案,使其异常擅长解决复杂问题。它使用量子位(量子计算的构建模块)以传统…...

优化|优化求解器自动调参

原文信息:MindOpt Tuner: Boost the Performance of Numerical Software by Automatic Parameter Tuning 作者:王孟昌 (达摩院决策智能实验室MindOpt团队成员) 一个算法开发者,可能会幻想进入这样的境界:算…...

vite vue3配置eslint和prettier以及sass

准备 教程 安装eslint 官网 vue-eslint ts-eslint 安装eslint yarn add eslint -D生成配置文件 npx eslint --init安装其他插件 yarn add -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin…...

C语言第入门——第十六课

目录 一、分治策略与递归 二、递归 1.求解n的阶乘 2.输入整数、倒序输出 3.输入整数、正序输出 4.计算第n位Fibonacci数列 ​编辑5.无序整数数组打印 6.找到对应数组下标 一、分治策略与递归 在我们遇到大问题的时候,我们的正确做法是将它分解成小问题&a…...

IntelliJ IDEA 快捷键 Windows 版本

前言:常用快捷键 IntelliJ IDEA编辑器大受欢迎的原因之一是它的智能提示和丰富的快捷键,在日常开发中熟练的使用快捷键会大大提升开发的效率,本篇文章就笔者日常开发中的总结,把常用的、好用的快捷键做一个列表,方便…...

重生之我必去大厂java开发

JavaDreamer 重生之我必去大厂java开发。主线任务进入大厂java开发。 author :developer_zxh GitHub | Gitee 本项目记录了本人从中国科学院大学硕士研究生开始,如何进入大工 java 开发岗位的学习记录(目前在校未求职,加入后此状…...

2023年中职“网络安全“—Web 渗透测试②

2023年中职“网络安全“—Web 渗透测试② Web 渗透测试任务环境说明:1.访问http://靶机IP/web1/,获取flag值,Flag格式为flag{xxx};2.访问http://靶机IP/web2/,获取flag值,Flag格式为flag{xxx};3.访问http://靶机IP/web…...

【整顿C盘】pycharm、chrome等软件,缓存移动

C盘爆了,特来找一下巨大的软件缓存,特此记录,跟随的各大教程,和自己的体会 一、爆炸家族JetBrains 这个适用于pycharm、idea、webstorm等等,只要是JetBrains家的,2020版本以上,都是一样的方法 p…...

C# using语句使用介绍

在C#中,using语句有两种主要用途:一是引入命名空间,二是提供一种简便的方式来处理资源的清理(主要用于实现了 IDisposable 接口的对象)。 引入命名空间:using 语句用于引入命名空间,从而可以在代…...

leetcode (力扣) 201. 数字范围按位与 (位运算)

文章目录 题目描述思路分析完整代码 题目描述 给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。 示例 1: 输入:left 5, right 7 输出…...

Flutter笔记: 在Flutter应用中使用SQLite数据库

Flutter笔记 在Flutter应用中使用SQLite数据库(基于sqflite) 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/q…...

OpenAI GPT5计划泄露

OpenAI的首席执行官萨姆奥特曼在最近接受《金融时报》的专访时,分享了OpenAI未来发展的一些新动向。此外,他还透露了关于即将到来的GPT-5模型以及公司对AGI的长期目标的一些细节。 奥特曼指出: 1.OpenAI正在开发GPT-5,一种更先进的…...

【面试经典150 | 数学】Pow(x, n)

文章目录 写在前面Tag题目来源题目解读解题思路方法一:快速幂-递归方法二:快速幂-迭代 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主…...

封装比较好的登录页面

封装比较好的登录页面 只在setup()函数中写流程&#xff0c;将逻辑代码抽离出来 <template><div class"wrapper"><img class"wrapper__img" srchttp://www.dell-lee.com/imgs/vue3/user.png /><div class"wrapper__input"&…...

如何使用Flask request对象处理请求

在 Flask 中&#xff0c;request 对象是处理 HTTP 请求的重要工具之一。它提供了许多属性和方法&#xff0c;可以帮助我们获取请求的相关信息和数据。本文将向你介绍 request 对象的常用方法以及如何在 Flask 应用程序中使用它。 1. 获取请求方法 首先&#xff0c;让我们看一…...

快速搜索多个word、excel等文件中内容

如何快速搜索多个word、excel等文件中内容 操作方法 以win11系统为介绍对象。 首先我们打开“我的电脑”-->“文件夹选项”-->“搜索”标签页,在“搜索内容”下方选择&#xff1a;"始终搜索文件名和内容&#xff08;此过程可能需要几分钟&#xff09;"。然后…...

Minio安装

环境 centos8&#xff0c;关闭防火墙 minio-20231101183725版本 参考官网&#xff1a;部署 MinIO&#xff1a;单节点单硬盘 — 适用于 Linux 的 MinIO 对象存储 单例 下载rpm&#xff0c;用中国镜像 wget https://dl.minio.org.cn/server/minio/release/linux-amd64/arch…...

Spring初识

未来的几周时间&#xff0c;大概率我会更新一下Spring家族的一些简单知识。而什么是Spring家族&#xff0c;好多同学还不是很清楚&#xff0c;我先来简单介绍一下吧&#xff1a; 所谓Spring家族&#xff0c;它其实就是一个框架&#xff0c;是基于Servlet再次进行封装的内容。为…...

2023全新付费进群系统源码 带定位完整版 附教程

这源码是我付费花钱买的分享给大家&#xff0c;功能完整。 搭建教程 Nginx1.2 PHP5.6-7.2均可 最好是7.2 第一步上传文件程序到网站根目录解压 第二步导入数据库&#xff08;58soho.cn.sql&#xff09; 第三步修改/config/database.php里面的数据库地址 第四步修改/conf…...

C# LINQ使用介绍

LINQ&#xff08;Language-Integrated Query&#xff09;是C#语言的一个强大特性&#xff0c;它允许开发者用声明性的方式查询和操作数据。LINQ提供了一致的查询体验&#xff0c;无论是操作内存中的对象&#xff08;如数组或集合&#xff09;&#xff0c;还是操作外部数据源&am…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...