为什么你应该开始学习量子机器学习

一、介绍

        你好!这里介绍全新知识--量子计算。在这里,我打算撰写和分享有关量子机器学习(QML)的文章。

        我第一次听说量子计算是在2015年,当时我正在分析我的博士论文的可能性,我的前老板和导师告诉我研究这个主题的可能性。当时,我想研究一些更应用的东西,而量子计算似乎太理论化了,离我的现实很远,所以我选择更多地研究油船动态定位系统建模的建模,这是一次有趣的旅程。但我现在的一部分在想:如果我选择量子计算会怎样?

        在过去的几个月里,我开始阅读量子计算,更具体地说是QML。从那以后,我对这个主题非常感兴趣,我有一个疯狂的猜测,数据科学的未来可能与量子计算有关。

三、为什么你应该开始学习QML

量子计算在最基本的概念上与经典计算有很大不同。后者基于数字比特,而前者基于量子比特(量子比特)。

在经典计算中,数字位基于两种状态 0 和 1 构建。一个数字位只能有0或1作为它的状态,众所周知,它是二进制的。从物理上讲,经典位可以在电路中使用电压计进行测量,当电压差为零时,位状态为0,当该差为5V(或3.3V,取决于电路)时,我们的状态为1。一位本身似乎不是一个强大的工具,但是当我们开始使用更多的比特时,情况会变得更好,因为这样我们就可以构建非常强大的设备,例如我们的计算机。

量子比特有一个更复杂的解释。在量子力学中,基本粒子有一些性质,其中之一就是自旋。例如,让我们专注于电子,但这个概念可以扩展到其他粒子。电子绕轴旋转,因此它可以上下两个不同的方向旋转。

图1 - 旋转的可能方向

        我们将这些方向命名为 0 和 1。这似乎是经典的,对吧?现在我们从差异开始:在经典计算中,我可以用一个伏特来测量比特的状态,而在量子力学中,情况完全不同,因为现在事件是概率性的。事实上,一个量子比特有一定的概率处于 0 或 1 的状态,这意味着我们并不总是确定我们的量子比特处于哪种状态(如果我们测量量子比特,有时它会是 1 或 0,具体取决于概率)!乍一看这很麻烦,但这是量子计算的魅力之一,量子比特更强大,因为它可以存储更多信息!如果我们在状态 100 或 0 中以 1% 的概率工作,它可以作为经典位工作,但真正的交易是使用叠加,这是一种混合状态,其中量子比特有一定的概率处于状态 0 或 1,并且这些概率的总和必须是 1 (100%)。使用一点数学,一个量子比特系统中的量子态可以表示为:

哪里:

        这些是什么 |>呢?这些是量子计算的基本符号,bra (<|) 和 ket (|>),其中量子态是 ket (nx1),bra (1xn) 是其转置共轭。bra-ket 是 bra 和 ket 之间的矩阵乘法,并得到一个标量(又名内积),而 ket-bra 是一个维度为 nxn 的矩阵,可能代表一个量子门,但这是以后的文章。

        在这里,我说量子态可以表示为状态 0 的 α 倍加上状态 1 的β倍,其中 α 和 β 是复数,上面的约束对概率进行了建模。

        因此,我认为QML将成为一件大事的第一个原因是:量子计算的核心是基于概率事件,这是ML模型的核心。

        此外,当我们使用多个量子比特时,事情变得更加有趣,因为我们可以纠缠量子比特!但这是什么?

        想象一下,我们现在有 2 个量子比特,那么我们有四种可能的状态:

        |00>、|01>、|10> 和 |11>

        现在我们可以通过以下方式编写一个通用量子态:

        这里:

        所以,现在我们的量子态是四个基本量子态的线性组合(还记得线性代数要求吗?)和每个状态的归属概率总和1。

        但是现在,有了 2 个量子比特,我们可以设计一个量子电路,我们可以在其中纠缠每个量子比特的状态。那是什么?我的第一个量子比特的自旋旋转将取决于我的第二个量子比特,反之亦然,也就是说,电子的自旋态不再是独立的状态!我现在不会谈论量子电路,因为它可能太多了。

        我所说的只是针对 1 和 2 量子比特系统,你有没有注意到我们可以用 2 量子比特系统做更多的事情,而不是用 2 个数字比特系统做更多的事情?

        现在我可以说第二点,为什么我认为QML将是巨大的:我们可以在小量子比特系统中处理更多信息(与经典比特相比)并构建有趣的模型。

        继续这个论点,一个 n 量子比特系统有 2^n 个可能的状态,这些状态可能处于叠加和/或纠缠状态,这已经导致了我的第三点,这是第二点的结果:在最好的情况下,量子计算算法可以提供指数级的加速与等效的经典计算算法相比。

        这是巨大的,对吧?但实际上事情很棘手,因为并非每种算法都会发生这种情况,在某些情况下,经典计算机仍然更快。此外,我们在量子硬件方面仍在进步,因此我们的量子计算机在量子比特数量上仍然受到限制(但发展很快),并且大多数计算机都有些嘈杂,这干扰了计算的质量。

        到目前为止,我只是谈到了量子计算,QML呢?好吧,量子计算似乎是使用机器学习的一个非常有前途的框架,但我们仍然不确定使用它的最佳方式是什么。首先是因为这是一个非常新的研究领域,其次是因为我们在使用量子计算方面仍然存在一些限制(我必须在 Python 上使用量子设备模拟器)。但是有很多研究正在进行中,我认为我们找到使用QML的最佳方式只是时间问题,当这种情况发生时,人工智能的新革命将开始。这是开始研究QML的最后一个也是最重要的原因。

        在我的下一篇文章中,我将讨论如何根据我的学习旅程开始学习QML。

一些阅读材料(不是很正式的):

量子态:https://en.wikipedia.org/wiki/Quantum_state

量子计算的挑战:The challenges of Quantum Computing - Universal Group Of Institutions

量子加速:Quantum speedups for unstructured problems: Solving two twenty-year-old problems - Microsoft Research

量子机器学习
数据科学
量子计算
机器学习
.AI

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

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

相关文章

Http常见问题

说说 HTTP 常用的状态码及其含义&#xff1f; HTTP 状态码首先应该知道个大概的分类&#xff1a; 1XX&#xff1a;信息性状态码2XX&#xff1a;成功状态码3XX&#xff1a;重定向状态码4XX&#xff1a;客户端错误状态码5XX&#xff1a;服务端错误状态码 301&#xff1a;永久性…

matplotlib制图进阶版

需求&#xff1a;两个产品销量的可视化折线图 1、使用pandas读取数据 2、生成销售数量的折线图

深入了解快速排序:原理、性能分析与 Java 实现

快速排序&#xff08;Quick Sort&#xff09;是一种经典的、高效的排序算法&#xff0c;被广泛应用于计算机科学和软件开发领域。本文将深入探讨快速排序的工作原理、步骤以及其在不同情况下的性能表现。 什么是快速排序&#xff1f; 快速排序是一种基于分治策略的排序算法&am…

vue2与vue3 v-model的区别

目录 Vue 2中的v-model 默认使用 自定义使用 修饰符.sync (Vue2) Vue3.x 使用 v-model vue 3 的v-model使用原理 多个 v-model 使用 总结 Vue 2中的v-model 在Vue 2中&#xff0c;v-model是一个用于在子组件和父组件之间双向绑定数据的指令。当在子组件中使用v-mode…

聊聊分布式架构04——RPC通信原理

目录 RPC通信的基本原理 RPC结构 手撸简陋版RPC 知识点梳理 1.Socket套接字通信机制 2.通信过程的序列化与反序列化 3.动态代理 4.反射 思维流程梳理 码起来 服务端时序图 服务端—Api与Provider模块 客户端时序图 RPC通信的基本原理 RPC&#xff08;Remote Proc…

2023-10-07 LeetCode每日一题(股票价格跨度)

2023-10-07每日一题 一、题目编号 901. 股票价格跨度二、题目链接 点击跳转到题目位置 三、题目描述 设计一个算法收集某些股票的每日报价&#xff0c;并返回该股票当日价格的 跨度 。 当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数&#xff08…

全栈开发笔记2:项目部署上线的三种方式

文章目录 最原始的方式宝塔Docker 部署其他 本文为编程导航实战项目学习笔记。 项目部署的三种方式&#xff1a; 最原始方式✅ yum 手动安装 jdk mysql tomcat nginx打包前端项目&#xff0c;放到某个目录&#xff0c;修改 nginx 配置修改线上的 mysql 配置&#xff0c;打包 j…

Mysql bin-log日志恢复数据与物理备份-xtrabackup

主打一个数据备份与恢复 binlog与xtarbackup bin-log日志恢复开启bin-log配置bin-log日志恢复 物理备份-xtrabackup三种备份方式安装xtrabackup备份全量备份增量备份差异备份 bin-log日志恢复 bin-log 日志&#xff0c;就记录对数据库进行的操作&#xff0c;什么增删改的操作全…

深度学习笔记之优化算法(三)动量法的简单认识

机器学习笔记之优化算法——动量法的简单认识 引言回顾&#xff1a;条件数与随机梯度下降的相应缺陷动量法简单认识动量法的算法过程描述附&#xff1a;动量法示例代码 引言 上一节介绍了随机梯度下降 ( Stochastic Gradient Descent,SGD ) (\text{Stochastic Gradient Descen…

基础算法之——【动态规划之路径问题】1

今天更新动态规划路径问题1&#xff0c;后续会继续更新其他有关动态规划的问题&#xff01;动态规划的路径问题&#xff0c;顾名思义&#xff0c;就是和路径相关的问题。当然&#xff0c;我们是从最简单的找路径开始&#xff01; 动态规划的使用方法&#xff1a; 1.确定状态并…

vue3+vite+uniapp 封装一个省市区组件

一、预览图 二、使用前的一些注意事项 只支持在 uniapp vue3 项目中使用支持微信小程序和h5 (app端没有测试过)ui库用的 uview-plus省市区数据用的是 vant-ui 提供的一个赖库 vant/area-data 三、组件代码 <template><u-popup :show"show" type"botto…

软件工程与计算总结(二)软件工程的发展

本章开始介绍第二节内容&#xff0c;主要是一些历史性的东西~ 一.软件工程的发展脉络 1.基础环境因素的变化及其对软件工程的推动 抽象软件实体和虚拟计算机都是软件工程的基础环境因素&#xff0c;它们能从根本上影响软件工程的生产能力&#xff0c;而且是软件工程无法反向…

Zabbix 监控系统安装和部署

Zabbix 监控系统安装和部署 一、zabbix 是什么&#xff1f;1.1、zabbix 监控原理&#xff08;重点&#xff09;1.2、Zabbix 6.0 新特性1.3、Zabbix 6.0 功能组件1.4、数据库1.5、Web 界面1.6、Zabbix Agent1.7、Zabbix Proxy1.8、Java Gateway 二、部署Zabbix 6.02.1、 解决 za…

Configuration of phpstudy and sqli-labs

Go download the app&#xff1a; 小皮面板(phpstudy) - 让天下没有难配的服务器环境&#xff01; (xp.cn) Have done. Then enter the program. Enable both functions&#xff1a; Apache and MySQL. Open the website&#xff1a; Next, Lets make the sqli-liab. GitHub…

基于MDK-Keil环境如何把STM32程序直接下载到SRAM运行

1. 前言 对于 Cortex-M 内核的微控制器&#xff0c;它们都可以支持在 RAM 中执行程序&#xff0c;有些非 ARM 的微控制器是不支持的。 在内部 SRAM 执行程序&#xff0c;有基于以下几方面的原因&#xff1a; 1、所使用的设备可能具有OTP&#xff08;One-time Programmable&a…

笔记一:odoo透视表和图表

透视表 1、首先在xml文件添加pivot 说明&#xff1a;&#xff08;1&#xff09;根元素pivot中属性&#xff1a; disable_linking&#xff1a;设置为True&#xff0c;删除表格单元格到列表视图的链接 display_quantity&#xff1a;设置为True&#xff0c;默认显示“数量”列 d…

关于IDEA中gradle项目bootrun无法进入断点以及gradle配置页面不全的解决方案

问题背景 在使用gradle编写的bootrun&#xff0c;采用debug方式启动项目时&#xff0c;无法进入断点&#xff0c;程序正常运行 并发现象1 此处无法识别为大象图标 点击右键后&#xff0c;没有圈中的这个选项 并发现象2 图片圈中的位置缺失 问题原因 正常的 run 命令是通过…

SoapUI实践:自动化测试、压力测试、持续集成

因为项目的原因&#xff0c;前段时间研究并使用了 SoapUI 测试工具进行自测开发的 api。下面将研究的成果展示给大家&#xff0c;希望对需要的人有所帮助。 SoapUI 是什么&#xff1f; SoapUI 是一个开源测试工具&#xff0c;通过 soap/http 来检查、调用、实现 Web Service …

springboot和vue:十、vue2和vue3的差异+组件间的传值

首先用vue-cli创建一个vue2的项目。 vue2和vue3的差异 main.js的语法有所差别。 vue2是 import Vue from vue import App from ./App.vuenew Vue({render: h > h(App), }).$mount(#app)vue3是 import { createApp } from vue import App from ./App.vuecreateApp(App).…

Java虚拟机内存模型

JVM虚拟机将内存数据分为&#xff1a; 程序计数器、虚拟机栈、本地方法栈、Java堆、方法区等部分。 程序计数器用于存放下一条运行的指令&#xff1b; 虚拟机栈和本地方法栈用于存放函数调用堆栈信息&#xff1b; Java堆用于存放Java程序运行时所需的对象等数据&#xff1b…