当前位置: 首页 > 编程日记 > 正文

Google重磅发布开源库TFQ,快速建立量子机器学习模型

整理 | 弯月

编辑 | 郭芮

出品 | AI科技大本营(ID:rgznai100)

近日,Google 与滑铁卢大学、大众汽车等联合发布 TensorFlow Quantum(TFQ),一个可快速建立量子机器学习模型原型的开源库。TFQ提供了必要的工具,将量子计算和机器学习技术结合起来,以控制并建模自然或人工的量子计算系统。

虽然机器学习不能完全模拟自然界的系统,但是它能够学习这些系统的模型并预测系统的行为。

在过去的几年里,传统的机器学习模型已在处理具有挑战性的科学问题上初露锋芒,并促进了人类在癌症检测、图像处理、地震预测、极端天气预测和新系外行星探测方面的进步。近年来随着量子计算的发展,新量子机器学习模型的发展已开始对世界重大问题产生深远的影响,并有望让人类在医学、材料、传感和通信领域取得突破。然而,到目前为止,我们仍然缺乏相应的研究工具来发现有用的量子机器学习模型——这些模型可以处理基于量子的数据,并在量子计算机上执行任务。

而如今,TFQ 通过提供与现有 TensorFlow API 兼容的量子计算基本要素以及高性能量子电路模拟器,将量子计算开源框架 Cirq 与 TensorFlow 集成在一起,为传统的判别和生成量子模型的设计和实现提供了高层的抽象。

什么是量子机器学习模型?

量子模型具有以量子力学来表示和概括数据的能力。然而,为了理解量子模型,首先必须明确两个概念:量子数据和量子-经典混合模型(hybrid quantum-classical model)。

量子数据具有叠加和纠缠的特性,因此其联合概率分布需要大量传统的计算资源来表示或存储。量子数据可以在量子处理器、传感器、网络中产生和模拟,包括化学物质和量子物质的模拟、量子控制、量子通信网络、量子计量学等等。

从技术上来说,由 NISQ 处理器生成的量子数据具有关键的特性:嘈杂,且通常在测量之前就出现了纠缠。然而,将量子机器学习应用到嘈杂的纠缠量子数据可以最大程度地提取有用的经典信息。受这些技术的启发,TFQ 库提供了开发模型的原语,这些模型可用于解纠缠和泛化量子数据中的相关性,从而为改进现有量子算法或发现新的量子算法提供了机会。

第二个需要引入的概念是量子-经典混合模型。由于近来的量子处理器仍然相对较小,且很嘈杂,因此量子模型不能仅依赖量子处理器——NISQ 处理器需要和经典处理器配合,才能变得高效。由于TensorFlow支持跨CPU、GPU和TPU的异构计算,因此它是试验量子-经典混合算法的首选平台。

TFQ包含量子计算所需的基本结构,比如量子比特、门、电路以及测量运算符等。用户指定的量子计算可在模拟的环境以及真实的硬件上执行。Cirq 还包含大量的构件,用以帮助用户为 NISQ 处理器设计高效的算法,从而让量子-经典混合算法的实现能在量子电路模拟器上运行,最终在量子处理器上运行。

目前,Google 已将 TFQ 用于实现量子-经典卷积神经网络,以及用于量子控制的机器学习、用于量子神经网络的分层学习、量子动力学学习、混合量子态的生成建模以及经典的递归神经网络。Google 提供了这些量子应用的概览,每个示例都可以通过 Colab 在浏览器中运行。

TFQ如何工作?

研究人员可以利用TFQ 在单个计算图中构建量子数据集、量子模型以及作为张量的经典控制参数。引发经典概率事件的量子测量的结果可由TensorFlow Ops 获得。而 TFQ 训练可以使用标准的 Keras 函数进行。

为了方便大家理解量子数据的使用,Google 提供了使用量子神经网络对量子状态进行监督分类的说明。与经典机器学习一样,量子机器学习所面临的关键性挑战在于如何对 “噪声数据” 进行分类。如果想构建和训练这样的模型,研究人员可以执行以下操作:

1. 准备一个量子数据集

量子数据作为张量(多维数组)来加载。每个量子数据张量都指定为用Cirq编写的量子电路。这个电路可实时生成量子数据, 张量由TensorFlow在量子计算机上执行,用来生成量子数据集。

2. 评估一个量子神经网络模型

研究人员可以使用Cirq建立量子神经网络的原型,然后将其嵌入到TensorFlow计算图中。基于对量子数据结构的了解,可以从几个大类中选择参数化的量子模型。这个模型的目标是执行量子处理,用来提取隐藏在典型的纠缠态下的信息。换句话说,量子模型实质上是对输入的量子数据进行解纠缠,将隐藏的信息编码在经典的相关性中,从而使它们适用于本地测量和经典后处理。

3. 样本或平均值

量子态的测量需要以样本的形式,从经典随机变量中提取经典信息。来自该随机变量值的分布,通常取决于量子态本身以及所测得的可观测值。由于许多变分算法依赖于测量值的平均值(也称为期望值),因此TFQ提供了在涉及步骤(1)和(2)的多次运行中求平均值的方法。

4. 评估一个经典的神经网络模型

在经典信息被提取出来后,它的格式就适合进一步的经典后处理。由于提取的信息可能被编码为测量期望之间的经典关联,因此,研究人员可以使用经典深度神经网络来提取这种关联。

5. 评估成本函数

根据经典后处理的结果,评估成本函数。这可以基于模型执行分类任务的准确性(如果量子数据被标记),或者基于其他标准(如果任务是无监督的)。

6. 评估梯度和更新参数

在评估了成本函数之后,应按预期可降低成本的方向更新管道中的自由参数,这通常是通过梯度下降来执行的。

TFQ 的一个关键特性将是能够同时训练和执行多个量子电路。

TensorFlow 能够在计算机集群之间并行化计算,并能够在多核计算机上模拟相对较大的量子电路,因此能够实现TFQ的这一特性。此外,Goolge 团队还宣布开放 qsim ,  该模拟器能够在 Goolge 云节点上在 111 秒内模拟门深度为14的32量子位量子电路。该模拟器还特别针对多核 Intel 处理器进行了优化。Google 结合 TFQ,已在60分钟内在Google 云节点上以门深度 20 对 20 量子位的量子电路进行了 100 万次电路仿真。

展望未来

如今,TFQ 主要面向在经典量子电路模拟器上执行量子电路。未来,TFQ 有望在 Cirq 支持的真正量子处理器(包括 Google 自己的处理器 Sycamore)上执行量子电路。更多有关TFQ的信息,可阅读 Google 的白皮书并访问 TensorFlow Quantum 网站。

  • TFQ主页:

https://www.tensorflow.org/quantum/

  • TFQ GitHub地址:

https://github.com/tensorflow/quantum

  • TFQ白皮书:

https://arxiv.org/abs/2003.02989

参考链接:

https://ai.googleblog.com/2020/03/announcing-tensorflow-quantum-open.html

【end】

原力计划

《原力计划【第二季】- 学习力挑战》正式开始!即日起至 3月21日,千万流量支持原创作者!更有专属【勋章】等你来挑战

推荐阅读

  • 简单粗暴理解与实现机器学习之逻辑回归:逻辑回归介绍、应用场景、原理、损失以及优化

  • 用于小型图形挖掘研究的瑞士军刀:空手道俱乐部的图表学习Python库

  • 全方位解析阿里云核心技术竞争力,CSDN 独家在线峰会来了!

  • 留德武汉程序员在疫区:凌晨下载数据,网速影响工作

  • Libra新编程语言 :Move 的所有权模型灵感来源原来是它……

  • 云原生的漏洞与威胁有哪些?云原生安全性如何?这里有你想知道的一切!

  • 你点的每个“在看”,我都认真当成了AI

相关文章:

.net3.5的安装与修复

<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />.net3.5的安装与修复.net3.5正常安装的顺序是先安装windows IIS组件&#xff0c;然后再安装.net3.5安装包&#xff0c;而.net3.5安装包的下载地址可以去百度和google上搜一下&…

jquery easy ui 简单字段选择搜索实现

写的比较粗糙&#xff0c;望见谅。 要实现的效果&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>jQuery EasyUI Application Demo</title><link rel"stylesheet" t…

训练数据也外包?这家公司“承包”了不少注释训练数据,原来是这样做的……...

作者 | Lionbridge AI译者 | 天道酬勤 责编 | 徐威龙封图| CSDN│下载于视觉中国出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;在机器学习领域&#xff0c;训练数据准备是最重要且最耗时的任务之一。实际上&#xff0c;许多数据科学家声称数据科学的很…

JavaScript Switch 语句

avaScript Switch 语句如果希望选择执行若干代码块中的一个&#xff0c;你可以使用 switch 语句&#xff1a;语法&#xff1a;switch(n){case 1:执行代码块 1breakcase 2:执行代码块 2breakdefault:如果n即不是1也不是2&#xff0c;则执行此代码}工作原理&#xff1a;switch 后…

参观Speedy Cloud 有感

上周老男孩的所有学生参观了Speedy Cloud &#xff0c;在这里我首先感谢Speedy Cloud的邀请和服务&#xff0c;我们每一个同学的收获都很大&#xff0c;不管是在以后的发展&#xff0c;还是现在的学习&#xff0c;都给了我很大的推动作用&#xff0c;帮助我去了解计算机的发展的…

C语言文件操作函数大全

unix中一切皆文件&#xff0c;所以文件操作至关重要&#xff01; clearerr&#xff08;清除文件流的错误旗标&#xff09; 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * stream); 函数说明 clearerr&#xff08;&#xff09;清除参数stre…

Python进阶之递归函数的用法及其示例

作者 | 程序员adny责编 | 徐威龙封图| CSDN│下载于视觉中国出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;本篇文章主要介绍了Python进阶之递归函数的用法及其示例&#xff0c;现在分享给大家&#xff0c;也给大家做个参考。一起来看看吧。递归是指函数…

万科的千亿修炼

一位知名企业家说过&#xff0c;改革开放30年只是完成了市场经济的启蒙和启动&#xff0c;在未来的10至20年&#xff0c;中国将出现一批千亿级的企业。此次金融危机在为经济带来震荡的同时&#xff0c;也为我们提供了一个极佳的视角和机会&#xff0c;审视中国千亿企业的过去、…

nginx 开发一个简单的 HTTP 模块

2019独角兽企业重金招聘Python工程师标准>>> 1. 下载 Nginx http://nginx.org/ 2. 目录结构 $ tree -L 2 . ├── mytest_module │ ├── config │ └── ngx_http_mytest_module.c └── nginx ... 3. config # 在 configure 执行时使用 ngx_addon_nam…

Jquery 之Ajax方法$.get() 的运用,扩展链接模型的天地

如前文说道的那个表现层和业务层的链接模型&#xff0c;从上篇博文&#xff08;http://www.cnblogs.com/AflutterFeather/archive/2010/01/07/1641315.html&#xff09;中可以看到&#xff1a;我们通过WebService提供的方法来获取服务端的返回值。 如果不采用WebService&#…

B树建立与遍历

# include <stdio.h> # include <stdlib.h># include "btrees.h"/* 给一个结点分配空间 */ struct btnode * allocateNode(struct btnode *ptr){int i,max;ptr (struct btnode *)malloc(sizeof(struct btnode));if(!ptr){printf("allocated error!…

2.2版本发布!TensorFlow推出开发者技能证书

作者 | 弯月出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;受 COVID-19 的影响&#xff0c;今年的 TensorFlow 开发者大会于2020年3月12日&#xff08;北京时间&#xff09;凌晨以线上直播的方式与全球开发者见面。Google决定开源TensorFlow是为了让每个开发人员和研…

X3D中Profile如何翻译

问题在哪 在计算机术语中&#xff0c;Profile其实是很难用中文对应的词汇来翻译的一个单词。 在X3D国际标准中&#xff0c;就出现了Profile。它把软件产品对X3D的功能实现范围和相应支持程度做了预先的约定&#xff0c;分为Core Profile、Interchange Profile、Interactive Pro…

腾讯提结合ACNet进行细粒度分类,效果达到最新SOTA | CVPR 2020

作者 | VincentLee来源 | 晓飞的算法工程笔记细粒度分类(Fine-Grained Visual Categorization, FGVC)是图片分类的一个分支&#xff0c;由于类别间的相似性非常大&#xff0c;一般人比较难区分&#xff0c;所以是个很有研究意义的领域。受神经树研究的启发&#xff0c;论文设计…

asp.net mvc view中支持多个实体强类型小技巧

在MVC的开发过程中&#xff0c;在一个View里面可能需要调用多个对象&#xff0c;可是传统的方法是一次只能压入一个对象到View里面&#xff0c;这点并不像Castle框架的MVC好用&#xff0c;在Castle里面&#xff0c;可以很方便的把对象压入到前台Html里面&#xff0c;然后通过Ve…

使用指针做函数返回值

使用指针做函数返回值 1、当使用指针做为函数的返回值时&#xff0c;主函数处的char *p;将获得调用函数char *pf;的值&#xff0c;即一个地址值&#xff0c;如oxAE72。此时需要我们注意的是该地址值所指向的空间是否存在(即已向操作系统声明注册&#xff0c;不会被释放&#x…

Android Studio快捷键每日一练(2)

原文地址&#xff1a;http://www.developerphil.com/android-studio-tips-of-the-day-roundup-2/ 12、复制行 苹果&#xff1a;CmdD Windows&#xff1a;CtrlD 顾名思义&#xff0c;就是拷贝当前行并粘贴在下一行&#xff0c;整个过程无需和剪贴板交互。这个功能配合行移动快…

C语言字符char和整型int的关系

C语言并无char类型&#xff0c;就是用Int表示char的&#xff01;char占一个字节&#xff0c;在C语言所有类型中最小。 char *占4字节&#xff08;32位&#xff09;&#xff0c;8字节&#xff08;64位&#xff09; 在C语言中&#xff0c;实际上字符型数据在内存中是以二进制形式…

PyTorch关键算法疑似侵权,Facebook被起诉

作者 | 神经星星来源 | HyperAI超神经&#xff08;ID:HyperAI&#xff09;近期&#xff0c;一纸诉讼书引起社区的广泛讨论。该诉讼由创业公司 Neural Magic 发起&#xff0c;指控 Facebook 发布到 GitHub 的神经网络软件&#xff0c;使用了他们开发的核心算法。而泄露机密的人&…

大数据高效复制的处理案例分析总结

一个老客户提出这样的需求&#xff0c;希望将SQLServer中的某个表的数据快速复制到SQLite数据库里面以便进行定期的备份处理&#xff0c;数据表的记录大概有50多万条记录&#xff0c;表有100个字段左右&#xff0c;除了希望能够快速做好外&#xff0c;效率是第一位的&#xff0…

memset函数使用详解

1.void *memset(void *s,int c,size_t n) 总的作用&#xff1a;将已开辟内存空间 s 的首 n 个字节的值设为值 c。 2.例子 &#xff03;include void main(){ char *s"Golden Global View"; clrscr(); memset(s,G,6); printf("%s",s); getchar(); ret…

节后招人平均工资9000上热搜,为什么有些人去哪里都值钱?

我”荒“了。这是很多中国AI企业的现状。《人民日报》报道称&#xff0c;我国AI的人才缺口超过500万&#xff0c;供求比例仅为1&#xff1a;10&#xff01;很多企业已经开始面临“人才荒”的窘境&#xff0c;外媒爆料说&#xff0c;中国企业已经不断在硅谷挖人了&#xff01;目…

关于定于如何弄的漂亮点

</div></div><div class"panel"><h5 οnclickshowhidediv("sidebar_rss");>订阅博客</h5><div class"panel-content" id"sidebar_rss" style"display: block"><ul class"list&…

Happy New Year 2016

大学之前的时间都是按天来过的&#xff0c;期盼着一天一天地快快长大&#xff0c;期盼着过年穿新衣&#xff0c;阖家团聚&#xff0c;其乐融融&#xff1b; 大学的时间都是按周来过的&#xff0c;根据每周的课表周而复始&#xff0c;虽然单调但也是自由自在&#xff0c;简单充实…

HashTable原理与实现

memcached中hashtable部分的源码&#xff0c;hash部分的源码主要分布在assoc.h/c、hash.h/c中&#xff0c;总得来说代码比较简单&#xff0c;这里就稍微介绍一下。hashtable通常包括哈希函数和解决冲突的方法两个最主要的因素&#xff0c;memcached使用的哈希函数为Bob Jenkins…

as3自定义加载图片类

ImageLoader.as类&#xff1a; package{ import flash.display.Bitmap; import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.events.ProgressEvent; import flash.net.URLRequest; /** * 图片加载类…

想成为一个数据科学家却不知道从何下手?这份路线图带你打开数据科学大门!...

作者 | Jane译者 | 火火酱 责编 | 徐威龙出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;你想成为一名数据科学家吗&#xff1f;你对数据科学了解很多&#xff0c;想知道关于数据科学天花乱坠的宣传都在讲什么吗&#xff1f;那好&#xff0c;你算是来对了地方。在过去…

bzoj 1691: [Usaco2007 Dec]挑剔的美食家

Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 621 Solved: 280[Submit][Status][Discuss]Description 与很多奶牛一样&#xff0c;Farmer John那群养尊处优的奶牛们对食物越来越挑剔&#xff0c;随便拿堆草就能打发她们午饭的日子自然是一去不返了。现在&#xff0c;Farmer…

PHP内核中的哈希表结构

https://github.com/HonestQiao/tipi/commit/17ca680289e490763a6a402f79afa2a13802bb36 下载&#xff1a;https://github.com/HonestQiao/tipi/tree/master/book/sample/chapt03 原文地址&#xff1a;http://www.nowamagic.net/librarys/veda/detail/1344 PHP中使用最为频…

应聘苹果数据科学家,你需要知道些什么?

作者 | Jay Feng译者 | 孙薇&#xff0c;责编 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;以下为译文&#xff1a;苹果公司是全球最大的技术公司之一&#xff0c;从事电子消费产品、计算机软件以及在线服务的设计、开发并销售工…