TFQ量子计算体验

简介: 问题 一直很苦恼深度学习对GPU的依赖,也很羡慕那些土豪玩家动不动几十张N卡训练各种复杂网络模型 各种打比赛,各种刷论文 可是身为草根屌丝的我,积累了N年也只有一个capability为4的显卡,难道就没办法玩复杂模型了吗? 于是我便开始不断琢磨使用更少量的计算和结构而能达到深度学习同样效果...

问题

一直很苦恼深度学习对GPU的依赖,也很羡慕那些土豪玩家动不动几十张N卡训练各种复杂网络模型

各种打比赛,各种刷论文

可是身为草根屌丝的我,积累了N年也只有一个capability为4的显卡,难道就没办法玩复杂模型了吗?

于是我便开始不断琢磨使用更少量的计算和结构而能达到深度学习同样效果的方法

发现

近期看到TensorFlow峰会介绍TFQ中实现了量子神经网络
https://www.bilibili.com/video/BV1Q54y1R7aS?from=search&seid=1236825802957325049

其中benchmark的效果让我眼前一亮
image
如上图,其中黄色和蓝色的部分是QNN迭代的结果,绿色是传统神经网络迭代的结果

于是开始恶补量子计算,想验证下

该文中描述的量子计算大致原理,使用一堆量子比特来描述某个问题集合发生的概率

思想有点类似于贝叶斯网络,只不过这里网络的节点换成了量子比特

但文中有一些关键点没有交代清楚:

1.“量子操作”具体该怎么操作?预先就知道答案了,对其中的候选量子进行加权,岂不是多此一举?

2.重复次数是怎么得到的?
image

于是,在好奇心的驱使下,我下载了TFQ的源码看看它是如何实现的?

分析

这里找到了TFQ官方公布的源码:

https://github.com/tensorflow/quantum/blob/master/docs/tutorials/mnist.ipynb

前面数据准备部分就不看了,关键部分就是将图像数据编码成量子电路:

qubits = cirq.GridQubit.rect(4, 4)

这里,我理解就是用16个量子比特来表征4*4的图像数据

再看看QNN量子神经网络是怎么搭建的:

class CircuitLayerBuilder():
    def __init__(self, data_qubits, readout):
        self.data_qubits = data_qubits
        self.readout = readout
    
    def add_layer(self, circuit, gate, prefix):
        for i, qubit in enumerate(self.data_qubits):
            symbol = sympy.Symbol(prefix + '-' + str(i))
            circuit.append(gate(qubit, self.readout)**symbol)

从源码上看,这里其实和传统神经网络结构也没什么差异
也是构建了很多层,只是将网络节点替换成了量子比特

继续往下看,从模型选择的损失函数和优化器来看
说明QNN也并未抛弃传统神经网络BP的策略

model.compile(
    loss=tf.keras.losses.Hinge(),
    optimizer=tf.keras.optimizers.Adam(),
    metrics=[hinge_accuracy])

那么,它凭什么就比传统神经网络收敛的快呢?

从代码分析来看,我初步得到以下一些推断(以下观点仅代表个人理解):

1.量子比特的粒度比CNN的卷积更细,卷积和池化层为了减少运算降低了精度,而在QNN中一个量子比特就能对应一个图像像素点;

2.量子比特的概率不是随机产生,而是通过样本数据不断累加,累加值就是最优值,所以从逼近凸函数的角度来看,QNN是从平面不断接近,而CNN是从凹凸不平的随机面不断接近,从宏观上看,从平面出发就会快一些。

结论

细看了QNN的实现过程后,也揭开了最开始我的两点疑惑:
1.“量子操作”在QNN中,其实就是根据已知测量的结果,增加一个Q比特(量子比特)输出某一状态的概率

举个简单的例子:
图像中某个在人脸范围内的Q比特,它的颜色值取[黄色|非黄色]
那么随着训练(测量)次数不断叠加,它取黄色的概率就越来越大
换句话说,这里Q比特的概率其实就可以看做节点权重

2.重复次数,我并未找到QNN中体现量子搜索次数的代码,可能在量子框架cirq的更底层API中实现了,有兴趣的同学可以去研究下

在QNN中还是会根据传统神经网络的epoch来不断迭代

所以,由上分析可以发现,QNN可以看做CNN的一种简化版结构,只是受到了量子叠加态这个现象的启发而进行的改进

感受

雾里看花,刚看觉得高大上,细看过后自然又有一丝失望和惆怅

想想,测试集只是MNIST,还好数据量不大,如果换成更复杂的图像和视频,又会是怎样的体验?

当然,无论如何QNN量子叠加的思想还是值得鼓励和继续关注的

好了,看来QNN在目前还不是草根的菜,我还得继续寻觅,期待未来能真正出现革命性的进步!

相关文章
|
16天前
|
供应链 算法 量子技术
量子跃迁:量子计算在物流优化中的革命性应用
量子跃迁:量子计算在物流优化中的革命性应用
73 22
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
《AI重塑网络开发:用户界面设计的革新之路》
在数字化浪潮中,人工智能(AI)正深刻变革网络开发的用户界面(UI)设计。AI通过个性化定制、自然语言处理、自动化设计和智能布局等技术,为每位用户带来独特的体验。借助AI分析用户行为,实现精准推荐;语音交互让操作更便捷;自动化工具加快设计流程;自适应设计确保跨设备一致性。AI驱动的UI设计不仅提升了用户体验,还为开发者提供了更多创新可能。
85 12
|
5月前
|
编解码 边缘计算 vr&ar
未来已来:MaxFrame引领下的下一代沉浸式视觉体验探索
【10月更文挑战第12天】随着技术的不断进步,视频消费模式正在经历一场革命性的变革。从高清到超高清,再到如今的沉浸式体验,每一次技术革新都为用户带来了前所未有的视听享受。在这一进程中,MaxFrame技术以其独特的图像处理能力,成为了推动下一代沉浸式视觉体验的关键力量。本文将深入探讨MaxFrame技术的发展现状、未来趋势以及其在虚拟现实(VR)、增强现实(AR)等新兴领域的应用潜力,并分析行业面临的挑战及解决方案。
90 1
|
8月前
|
人工智能 搜索推荐 开发者
AI驱动的游戏设计:创造更智能、更沉浸的游戏体验
【7月更文第31天】人工智能(AI)技术正在深刻地改变游戏行业,不仅为游戏设计师提供了创造更丰富、更动态游戏世界的工具,也为玩家带来了更加个性化和沉浸式的体验。本文将探讨AI在游戏设计中的应用案例,并展示一些具体的实现方法。
1277 2
|
10月前
|
人工智能 安全 数据管理
当云计算遇上AI 智能、协同、数实融合,正在走入现实
文章指出,人工智能作为关键技术正在深刻改变生活和工作方式,并强调多云管理平台对AI算力的重要支持。阿里云提出打造AI时代最开放的云,强调AI将带来全行业深刻变革。同时,文章介绍了下一代云的发展趋势,强调PaaS层将成为下一代智能云的核心能力,以及企业对云的需求变化。此外,文章还讨论了云边协同和多云协同在不同行业的应用,以及云计算和AI结合对市场的影响。文章最后指出,随着AI、VR等技术加速发展,市场对云计算需求的增长是一个几何级数的增长,预示着巨大的发展空间。https://mp.weixin.qq.com/s/wMUjrVHVRGtF64-xqqCzIA
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT:向未来智能客服进化的必由之路
ChatGPT:向未来智能客服进化的必由之路
149 1
|
人工智能 弹性计算 运维
聚焦 AIGC,函数计算为 AI 应用插上腾飞翅膀
6月1日,2023 阿里云峰会·粤港澳大湾区在广州举办,Serverless 加速创新分论坛如约亮相,阿里云函数计算 FC 聚焦 AIGC 应用开发,GPU 性能体验再升级,让 AIGC 应用开发更简单。
|
机器学习/深度学习 人工智能 达摩院
ChatGPT爆火背后,AI算力成全新角逐风口
ChatGPT爆火背后,AI算力成全新角逐风口
281 0
|
机器学习/深度学习 存储 人工智能
科学家会梦见“贾维斯”吗?AI和科研如何在云端汇合
在《达摩院2022十大科技趋势》报告中,AI for Science被列为年度十大趋势之一,达摩院认为,“人工智能与科研深度结合,将成为科学家继计算机之后的新生产工具”。这意味着,如果科学家拥有超级智能助手“贾维斯”,人类的科学发展将进入新世代。日前闭幕的2022北京智源大会,阿里云基础设施大计算集群部总监曹政,从云端算力供给、科研开发平台入手,探讨云上的“AI for Science”。科学活动
科学家会梦见“贾维斯”吗?AI和科研如何在云端汇合
|
机器学习/深度学习 新零售 人工智能
AI创意赛火热,赛事能成BAT强化AI优势的新动能?
全球人工智能人才开始逐渐进入量产模式。
AI创意赛火热,赛事能成BAT强化AI优势的新动能?