基于量桨搭建AI量子通信模拟平台,优化量子通信协议

点击左上方蓝字关注我们

项目背景

现阶段量子通讯协议的设计和优化依然停留在人工处理的阶段,距离迈向系统化工程处理依然有着不小的距离。导致目前量子通讯协议从研发到实验验证这一整套流程面临着周期长、成本高等问题。系统化的搭建模拟平台和引入先进的人工智能技术将会有效帮助缓解以上问题,同时提升量子通讯协议的开发效率。这也是当前量子信息处理的前沿研究领域之一。

本项目依托Paddle Quantum搭建人工智能量子通信模拟平台,优化量子通信协议。

量子隐形传态

1.基本任务

量子隐形传态(Quantum Teleportation)是可以通过本地操作和经典通信(LOCC)协议完成的量子通信协议模拟的一种方式。该协议借助提前制备好的量子纠缠资源,在两个空间上分离的通信节点(仅允许经典信道,例如互联网、手机短信、邮件等形式)之间传输量子信息。

量子隐形传态协议最初由 C. H. Bennett 等人在 1993 年提出 [1],并在 1997 年通过基于光子的实验平台进行了验证 [2-3]。其主要工作流程如图1所示。传输过程中需要 2 个通信节点或参与方,即 Alice 和 Bob。简单起见,我们仅考虑传输一个单量子比特的量子态 ,这样整个系统总共需要 3 个量子比特,包括提前共享给 Alice 和 Bob 的量子纠缠资源。Alice 持有量子比特 A 和 C, Bob 持有量子比特B。

图 1:量子隐形传态: 传输量子态从 Alice 到 Bob

注:量子隐形传态协议仅传输量子信息,而非在物理上直接传输量子比特。

步骤 I: 一开始,整个量子系统的状态可以描述为

其中 Alice 要传输的量子态是并且

步骤 II: Alice 在她持有的两个量子比特上作用 CNOT 门,得到作用后的量子态为

步骤 III: 接着 Alice 在她持有的量子比特  上作用 Hadamard 门,使得整个系统的状态变为

为了更好地观察后续的测量结果,不妨将上述态重新写为

步骤 IV: Alice 在计算基(computational basis)上测量她的两个量子比特并将结果通过经典信道发送给 Bob 。总共有 4 种不同的可能性:然后, Bob 根据收到的消息在其量子比特  上进行对应的操作。

  • 如果测量结果为,则 Bob 的态将为

    无需任何操作即可完成传输。

  • 如果测量结果为,则 Bob 的态将为

    Bob 需要在其量子比特上作用  门。

  • 如果测量结果为,则 Bob 的态将为

    Bob 需要在其量子比特上作用  门。

  • 如果测量结果为,则 Bob 的态将为

    Bob 需要在其量子比特上执行  门操作,然后执行  门操作。

2.通信协议模拟

通信协议模拟采用了量桨(Paddle Quantum),它是基于百度飞桨开发的量子机器学习工具集,支持量子神经网络的搭建与训练,提供易用的量子机器学习开发套件与组合优化、量子化学等前沿量子应用工具集。

2021年2月,百度量子登台量子信息处理顶会QIP2021。量桨重点新增分布式量子信息处理模组LOCCNet,支持量子纠缠蒸馏、量子态分辨、量子隐形传态等核心量子信息协议的便捷开发。借助深度学习对量子技术的赋能,量桨LOCCNet已经被用于发现新的纠缠提纯方案,相比业界现有方案取得了更高的提纯保真度。

量桨官网地址:

https://qml.baidu.com/

Paddle Quantum的GitHub地址:

https://github.com/PaddlePaddle/Quantum

(1)安装 Paddle Quantum

推荐通过 pip 完成安装:

pip install paddle-quantum

用户也可以选择下载全部文件后,进行本地安装:

git clone http://github.com/PaddlePaddle/quantum
cd quantum
pip install -e .

(2)Paddle Quantum 代码实现:

import numpy as np
from paddle_quantum.locc import LoccNet
from paddle import matmul, trace
import paddle
from paddle_quantum.utils import state_fidelity
from paddle_quantum.state import bell_state, isotropic_state, density_op_random
#初始化整个量子系统,然后定义量子电路和隐形传态协议。
class LOCC(LoccNet):def __init__(self):super(LOCC, self).__init__()# 添加第一个参与方 Alice# 第一个参数 2 代表着 Alice 手里有几个量子比特# 第二个参数代表着参与方的名字self.add_new_party(2, party_name="Alice")# 添加第二个参与方 Bob# 第一个参数 1 代表着 Bob 手里有几个量子比特# 第二个参数代表着参与方的名字self.add_new_party(1, party_name="Bob")# 准备一个贝尔态_state = paddle.to_tensor(bell_state(2))# _state = paddle.to_tensor(isotropic_state(2, 0.8))# 随机制备传输用的纯态 (rank =1)random_state = density_op_random(n=1, real_or_complex=2, rank=1)self.state_C = paddle.to_tensor(random_state)# 通过分配上述制备好的量子态初始化整个量子系统# 这里 ("Alice", 0) 即表示量子比特 C# 这里 ("Alice", 1) 即表示量子比特 A# 这里 ("Bob", 0) 即表示量子比特 B# print('提前分配好的纠缠态为:\n', _state.numpy())self.set_init_state(self.state_C, [("Alice", 0)])self.set_init_state(_state, [("Alice", 1), ("Bob", 0)])def teleportation(self):status = self.init_status# 设置 Alice 的本地操作cirA = self.create_ansatz("Alice")cirA.cnot([0, 1])cirA.h(0)# 运行上述电路status = cirA.run(status)# Alice 在计算基上测量她所持有的两个量子比特 C 还有 A# 得到并记录四种结果 00,01,10,11status_A = self.measure(status, [("Alice", 0), ("Alice", 1)], ["00", "01", "10", "11"])# 用于记录平均保真度fid_list = []# Bob 根据 Alice 的测量结果选择不同的门作用在自己的量子比特上for i, s in enumerate(status_A):# 判断语句根据 Alice 的测量结果,进行不同操作 if status_A[i].measured_result == '00':# 创建 Bob 的本地操作cirB = self.create_ansatz("Bob")# 执行电路status_B = cirB.run(s) # 仅保留 Bob 的量子比特 Bstatus_fin = self.partial_state(status_B, [("Bob", 0)])# 计算初始态和传输后态之间的保真度fid = state_fidelity(self.state_C.numpy(), status_fin.state.numpy())**2fid_list.append(fid * status_fin.prob.numpy()[0])# 以下操作类似elif status_A[i].measured_result == '01':cirB = self.create_ansatz("Bob")cirB.x(0)status_B = cirB.run(s)status_fin = self.partial_state(status_B, [("Bob", 0)])fid = state_fidelity(self.state_C.numpy(), status_fin.state.numpy())**2fid_list.append(fid * status_fin.prob.numpy()[0])elif status_A[i].measured_result == '10':cirB = self.create_ansatz("Bob")cirB.z(0)status_B = cirB.run(s)status_fin = self.partial_state(status_B, [("Bob", 0)])fid = state_fidelity(self.state_C.numpy(), status_fin.state.numpy())**2fid_list.append(fid * status_fin.prob.numpy()[0])elif status_A[i].measured_result == '11':cirB = self.create_ansatz("Bob")cirB.x(0)cirB.z(0)status_B = cirB.run(s)status_fin = self.partial_state(status_B, [("Bob", 0)])fid = state_fidelity(self.state_C.numpy(), status_fin.state.numpy())**2fid_list.append(fid * status_fin.prob.numpy()[0])fid_avg = sum(fid_list)return fid_avg
#然后,我们随机生成 200 个量子纯态,并使用态保真度来衡量传输协议好坏
SEED = 999              # 固定随机数
num_state = 200         # 设置随机态的生成数量
list_fid = []           # 用于记录保真度
np.random.seed(SEED)
# 开始采样 
for idx in range(num_state):list_fid.append(LOCC().teleportation())print('平均保真度 =', np.around(sum(list_fid)/len(list_fid), 4), ', 标准差 =', np.std(list_fid))

注:需要指出的是,该协议的有效性取决于提前分配好的贝尔态品质。感兴趣的读者可以将纠缠态从 bell_state(2) 更改为 isotropic_state(2, p),并测试观察在贝尔态中出现的量子噪声将如何影响该协议的性能。

(3)训练一个自定义的量子隐形传态协议的过程

  • Alice 对她所持有的两个量子比特作用两量子比特通用门。

  • 然后 Alice 在计算基上测量她的两个量子比特,并通过经典信道与 Bob 交流。

  • 共计有 4 种可能的测量结果:‍。Bob 需要根据这些测量结果采取不同的本地操作。在 Bob 进行操作后,记其量子态为

  • 计算(纯态)之间的量子态重叠(state overlap)并记为O 。

    由于 LOCCNet 框架目前仅支持密度矩阵形式,因此我们必须将它们重写为。然后可以得到。对于纯态,此距离度量就是保真度 (fidelity)。

  • 将损失函数设置为 4 种可能测量结果的累加,即,并使用基于梯度的优化方法更新 Alice 和 Bob 本地操作中的参数,从而使得损失函数最小化。

  • 重复步骤 1-5,直到损失函数收敛。

  • 生成一组随机的态 ,并以平均保真度对训练出的传输协议进行基准测试。

详细的代码可参考:量子隐形传态

https://aistudio.baidu.com/aistudio/projectdetail/1831786

结论

从以上实验的结果可以看出,我基于 LOCCNet 成功地学习出了量子隐形传态协议。最初的隐形传态协议旨在传输单量子比特量子态,无法直接推广到多量子比特的情形。相比之下,LOCCNet 为寻找多量子比特情形下的隐形传态协议提供了可能, 这种场景是很难人工去设计的。因为数学形式复杂,本地量子操作和通讯结果组合的可能性太多了,搜索空间很大。除了学习量子通讯协议之外,LOCCNet 还可以支持多种量子纠缠资源处理的应用场景。感兴趣的读者可以移步至:https://qml.baidu.com/tutorials/loccnet/loccnet-framework.html和论文[5]。

参考文献:

[1] Bennett, Charles H., et al. "Teleporting an unknown quantum state via dual classical and Einstein-Podolsky-Rosen channels." Physical Review Letters 70.13 (1993): 1895.

[2] Boschi, Danilo, et al. "Experimental realization of teleporting an unknown pure quantum state via dual classical and Einstein-Podolsky-Rosen channels." Physical Review Letters 80.6 (1998): 1121.

[3] Bouwmeester, Dik, et al. "Experimental quantum teleportation." Nature 390.6660 (1997): 575-579.

[4] Vidal, Guifre, and Christopher M. Dawson. "Universal quantum circuit for two-qubit transformations with three controlled-NOT gates." Physical Review A 69.1 (2004): 010301.

[5] Xuanqiang Zhao(Baidu, IQC, Beijing), Benchi Zhao(Baidu, IQC, Beijing), Zihe Wang(Baidu, IQC, Beijing), Zhixin Song(Baidu, IQC, Beijing), Xin Wang(Baidu, IQC, Beijing).  LOCCNet: a machine learning framework for distributed quantum information processing.  e-Print: 2101.12190 [quant-ph]

如在使用过程中有问题,可加入官方QQ群进行交流:793866180。

如果您想详细了解更多飞桨的相关内容,请参阅以下文档。

·飞桨官网地址·

https://www.paddlepaddle.org.cn/

·飞桨开源框架项目地址·

GitHub: https://github.com/PaddlePaddle/Paddle 

Gitee: https://gitee.com/paddlepaddle/Paddle

????长按上方二维码立即star!????

飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体,是中国首个自主研发、功能丰富、开源开放的产业级深度学习平台。飞桨企业版针对企业级需求增强了相应特性,包含零门槛AI开发平台EasyDL和全功能AI开发平台BML。EasyDL主要面向中小企业,提供零门槛、预置丰富网络和模型、便捷高效的开发平台;BML是为大型企业提供的功能全面、可灵活定制和被深度集成的开发平台。

END

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

量子模拟器中的“弯曲时空”

光子盒研究院出品 当你想解释宇宙尺度的现象时,相对论很有效:比如黑洞碰撞时产生的引力波;量子理论在描述粒子尺度的现象时效果很好(比如原子中单个电子的行为)。但是,将这两者以一种完全令人满意的方式结合…

量子保密通信应用与技术探讨

源自: 信息通信技术与政策 作者:程明 张成良 唐建军 量子密钥在线与离线结合分发模式的应用范围不再局限于QKD网络的覆盖和能力,使得量子保密通信的应用场景得到较大拓展。 摘要 近年来,基于量子密钥分发的量子保密通信在应用方面进行了…

Infleqtion与Morningstar合作探索量子计算的新途径

(图片来源:网络) 量子计算服务商Infleqtion宣布,将Infleqtion的旗舰量子软件SuperstaQ整合到Morningstar投资和投资组合分析平台Morningstar Direct中。借助SuperstaQ的整合,通过Morningstar的实验室分析模块&#xff…

量子通信是不是伪科学?潘建伟这样回应

来源:科技日报 “墨子号”发射快三年了,到底有什么新发现?量子通信和公众有什么关联,到底是不是伪科学?10日,在全国政协十三届二次会议举行的记者会上,全国政协委员、中国科学技术大学常务副校长…

“走近”量子模拟

来源:中国军网 作者:张媛、张远、达平 当下,量子计算在先进材料以及生物化学模拟方面正崭露头角。因为量子力学解释了这些材料的基本物理特性,量子计算非常适合进行模拟。那么,什么是量子模拟?量子模拟有什…

“量子计算+通信”!玻色量子与中国移动研究院强强联合

​2023年3月12日,北京玻色量子科技有限公司(后文简称“玻色量子”)与中国移动通信有限公司研究院(后文简称“中国移动研究院”)达成合作,中国移动研究院院长黄宇红与玻色量子创始人&CEO文凯博士在玻色量…

量子信息技术(QIT)

信息技术IT(Information Technology),比特(bit)——20世纪的技术革命量子信息技术QIT(Quantum Information Technology),量子比特(qbit)——21世纪的技术革命量子信息论在科学方面有着深远的影响,改造量子力学基础,加速变革时空观,加深对定域…

谷歌前量子部门“单飞”,正式成立量子软件公司Sandbox AQ

(图片来源:网络) 3月2日, 量子计算机与量子集成电路开发商Rigetti Computing宣布完成SPAC正式在纳斯达克挂牌上市。与此同时,另外两家量子计算领域的领导者IonQ、D-wave也在火速筹备上市前的准备工作。 现在&#xff0…

ChatGPT的发展,需要量子算力......

光子盒研究院出品 自去年 11 月上线以来,ChatGPT 已被无数人使用,人们一直要求以各种形式让这个大语言模型接入更多数据。3月23日,基于GPT-4的新一代代码生成工具Copilot X正式推出;3 月 24 日,OpenAI 终于宣布部分解除…

5 天内用户数破亿、增速碾压 ChatGPT

来源 | InfoQ,整理 | 凌敏、核子可乐 小扎和马斯克的“格斗”,从八角笼中来到了社交平台上。 当地时间 7 月 5 日,Meta 旗下的 Instagram 正式发布 Threads,与 Twitter 展开直接竞争。据介绍,Threads 的定位是“用文本…

chatgpt赋能python:如何使用Python编写移动应用——将Python编译成APK

如何使用Python编写移动应用——将Python编译成APK 移动应用开发一直是全球最热门的行业之一。对于开发者来说,如何快速有效地开发出高质量的移动应用是至关重要的。Python语言一直以来都是开发者们的最爱,因为具备易于学习、灵活性和可重用性等优点。但…

chatgpt赋能python:如何使用Python将应用程序打包成APK文件

如何使用Python将应用程序打包成APK文件 如果你是一名Python开发人员,并且想要将你的应用程序打包成APK文件以供Android平台使用,那么你来到了正确的地方。在本文中,我们将向你展示如何使用Kivy和Python-for-Android将Python应用程序转换为A…

chatgpt赋能python:Python如何打包APK文件

Python如何打包APK文件 随着移动应用程序市场的增长,许多开发者开始使用Python来创建功能强大且用户友好的应用程序。但是,Python虽然在Web和数据分析领域非常流行,但在移动应用程序开发中并不像Java和Kotlin那样得到广泛应用。不过&#xf…

chatGPT与逆向的相遇,快速解决sslpinning抓包问题

项目场景: 这是一款金融类型的安卓app,有着root检测,与sslpinning校验,并且带有壳。下载的unpinning脚本根本行不通,接下来咱们看看该怎么去分析。众所知周,要分析一款app抓包只是第一步。偏偏是第一步就难倒不少人,本文只做知识要点记录,均会脱敏处理。大佬们轻喷 问…

chatgpt赋能python:Python怎么打包成APK

Python怎么打包成APK 如果你是一位有10年Python编程经验的工程师,并且想要将自己的Python应用程序打包成APK,那么你来对地方了。本文将会介绍如何使用Python来打包成APK,以及在不同平台上的一些注意事项。在阅读本文之后,你应该可…

chatgpt赋能python:Python编译成APK:一种更简便的移动应用开发方式

Python编译成APK:一种更简便的移动应用开发方式 Python已经成为最受欢迎的编程语言之一,它的简洁性和可读性使它既适合初学者又适合经验丰富的开发人员。但是,Python编写的应用程序通常只能在计算机上运行,而不能直接在移动设备上…

chatgpt赋能python:Python如何打包APK

Python如何打包APK Python是现代编程语言中最流行的之一,它是一种易于学习和使用的语言,因为它拥有直观的语法并且具有许多强大的工具和库。其互动性和可移植性使得Python适合用于开发各种类型的应用程序,包括移动应用程序。 在本文中&…

基础入门-ChatGPT结合安全融入技术高效赋能拓展需求

文章目录 Chatgpt科普利用:安全开发逆向免杀代码审计蓝队应急APT社工学其他相关: Chatgpt科普 ChatGPT是什么? ChatGPT–可能很多人被这个缩写的名字搞糊涂了,第一眼无法看出到底什么意思,GPT 的英文原文是 Generative Pre-train…

ubuntu系统配置远程登陆、clash、图像化配置

0、IP地址查看 ubuntu查看本机IP地址,先安装net-tools。并且记录你的ip地址xxx.xxx.xxx.xxx sudo apt install net-tools ifconfig 在winr打开输入cmd,如果在同一个局域网应该是可以ping通的 ping xxx.xxx.xxx.xxx 1、ssh连接和sftp连接 ubuntu 安装ssh …

failed to clash core,logs are not available(clash 核心连接失败)

问题描述 之前手欠在联想电脑管家修复了host,导致出现核心连接失败 操作系统 Windows x64 系统版本 windows10 出现问题“Clash 校心连接失败,日志不可用,可能故障-1核心api 端口故障--2.127.0.0.1 不通 -3. 核心并未启动” 后弹出 Windows Termi…