内容简介:曾经的存在主义与结构主义的争论,在量子世界中似乎用概率和大量抽样完成了和解 — David 9上世纪60年代哲学界有一场关于究竟是什么塑造了一个人也许难以确定。而对于
曾经的存在主义与结构主义的争论,在量子世界中似乎用概率和大量抽样完成了和解 — David 9
上世纪60年代哲学界有一场关于 存在主义 与 结构主义 的争论: 存在主义 认为一个人的发展是由“ 自由意识 ”和欲望主导的; 结构主义 认为占主导的其实是社会中的经济、政治、伦理、宗教等 结构性因素 ,人只是巨大结构中的一部分。
究竟是什么塑造了一个人也许难以确定。而对于 量子世界 ,一个 qubit(量子比特)的状态 ,不仅受到量子系统的磁场影响,qubit本身也有自身状态的 变化概率和扰动 。我们一会儿可以看到,量子系统的输出,即那个qubit的 最终观测状态 ,是用概率和 大量抽样 判定的:
在细讲 QNN前(量子神经网络其实是一个量子系统) ,David 9 有必要介绍一下 量子计算 本身的一些基础知识 。
首先,量子计算与传统计算机的不同,可从 qubit (量子比特)说起,我们知道与电子计算机非 “0” 即 “1”相比 ,qubit的状态可能 同时介于“0”和“1”之间 :
即所谓的“ 薛定谔的猫 ”的 叠加态(superposition):
\(\frac{1} {\sqrt{2}}\)(|0>+|1>)(在量子物理中符号 |x> 表示状态x)
你们可能会问David,为什么状态系数是 1/\(\sqrt{2}\) ? 这是量子物理中的一个约定(规范化),即 平方和等于1 :
α^2+β^2=1
其中 α 和 β 就是状态的 系数 ,是不是让你联想到圆形几何 ?
是的,在量子物理中可以把qubit想象成粒子球体(叠加或非叠加态):
三维世界中qubit的自旋状态非常灵活,可以 上自旋(|0>) ,可以 下自旋(|1>) ,可以像地球一样 斜着自旋 :
当然也可以 叠加态自旋(\(\frac{1} {\sqrt{2}}\)(|0>+|1>) )
有了这么多种 qubit 状态,从根本上导致量子计算的信息量级比传统计算机大的多。
传统的 2个bit位 的计算机只能编码4种状态: 00 , 01 , 10 , 11 ,因为它只有2个位的自由度,所以 n个bit位能编码的信息只有2^n (即\(2^n\))
而如果一个量子计算机有 2个qubit ,传统计算机的 00, 01, 10, 11这些状态就可以同时出现 , 这4个状态本身变为4个自由度 :
这就 导致它能编码2^4=16种状态 ,即我们需要同时确定 00, 01, 10, 11 四个状态各自的出现概率,才能得到这个系统状态的联合概率。所以 n个qubit能编码的信息有2^(2^n) (即\(2^{2^n}\))
这样的计算量级,使得 2018年google的 72个 qubit量子计算机 就可以称霸业界。感兴趣可以计算一下2^(2^72) (即 \(2^{2^{72}}\) )是一个多么庞大的数字。但是要保持稳定的量子系统,需要苛刻环境和极低的温度(-273摄氏度非常接近绝对零度):
有了以上这些基本知识,跟着David 9再在来看 Google的这篇QNN设计的论文 ,就能更好理解量子计算是如何与 深度学习(神经网络 )结合的了。
首先看基本QNN架构:
输入输出和一般的神经网络(深度学习)相似。唯一区别是QNN的 输入|ψ, 1>是n+1位qubit的状态 (这个状态是 事先根据输入样本编码准备 的,其中n是样本,1是输出qubit的占位)。而输出是经过一系列 U(θ) 变换最终得到的一个qubit在三维中 Y轴 的观察 Yn+1 :
为了容错并得到可靠输出, Yn+1 需要经过 多次观测得到0或1的输出“label” (当然,一个qubit状态很少正好上自旋,而是一个求约的概率估计)
接下来看 U(θ) 和 U L (θ L ) 这些计算操作是什么?其中 θ 即传统神经网络中的待训练的参数(神经网络中的 权重 ) 。而对于 U (即上图中的一个个 小方块 ),和传统计算机的计算门( “与或” 门, “或” 门 “否” 门)类似,量子计算中,常用的是线性操作的 unitary归一门(unitary operations) 。可以把他想象成一个线性矩阵,它有一个很好的性质: 通过unitary转换之后,两组qubit状态的内积值不变 。
即如果两组状态的内积用 <Φ|Ψ> 表示,即:
那么:
即经过 U 转换后,内积值不变。(其中 U+ 号表示 U 矩阵的 共轭矩阵 )
内积值不变不仅可以帮助我们之前提到的归一化约定: α^2+β^2=1 。而且当我们在QNN中对于 θ 求梯度更新时,梯度不会太大, 天然地防止了传统神经网络中的“梯度爆炸” 问题。事实上,QNN的loss函数和一般的神经网络类似:
其中z是样本编码, l(z) 是真实样本的label,
是预测并观测的样本label。
这样, QNN通过不断对最后一个qubit的 Yn+1 的观测,与真实样本label比较,得到一个修正值,修正神经网络中的 θ 参数,并且根据 θ 参数调整每个unitary归一门操作 ,不断进行迭代并更新每个unitary归一门 ,直到QNN每次预测的 Yn+1 与真实样本的label一致。
另外,传统深度学习的成功更多地是 归功于引入非线性的激活函数(Tanh, ReLu, softmax) , 那么量子神经网络 QNN 如何引入 非线性 的呢 ?其实答案在架构图中就可以找到:
如上图,每一层 U 门(unitary变换)的输入,都是由上一层 U 门通过不同连接组合连接的,这里的不同组合就是 非线性 的(虽然 U 门本身是线性的)。
最后,值得注意的是,对于整个量子神经网络的容错文章也做了探讨和考虑,在U门操作中加入了奇偶校验和 reed-muller编码 (一种比海明码高效的校验避编码)。具体David就不展开了。
对于文章不合理以及解释不当的地方希望大家积极指出。愿在新的一年Dvaid可以和大家继续探索量子计算世界,特别是结合机器学习与深度学习的领域,以及一些实际的量子计算项目与代码。
新年快乐 !!!
参考文献:
- Classification with Quantum Neural Networks on Near Term Processors
- https://www.quantiki.org/wiki/basic-concepts-quantum-computation
- https://github.com/adamisntdead/QuSimPy
- https://ai.googleblog.com/search/label/Quantum%20AI
- https://github.com/quantumlib/Cirq
- intriganod的量子计算youtube教学视频
- How Does a Quantum Computer Work? youtube教学视频
- 量子的unitary变换讲解视频
- https://www.slideshare.net/ProjectStudent/error-checking-and-correction-parity-bit-majority-voting-check-digit
- https://baike.baidu.com/item/reed-muller/407684
- https://en.wikipedia.org/wiki/Pauli_matrices
本文采用 署名 – 非商业性使用 – 禁止演绎 3.0 中国大陆许可协议 进行许可。著作权属于“David 9的博客”原创,如需转载,请联系微信: david9ml,或邮箱:yanchao727@gmail.com
或直接扫二维码:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 十八岁华裔天才携手「量子计算先驱」再次颠覆量子计算
- 从基础量子位到当下火热的量子计算机,一文助你入门量子计算
- [量子计算]量子搜索Grover算法
- 为什么抵抗量子计算需要量子密钥分发
- 学术向丨量子计算与区块链抗量子算法
- Google “量子优越性” 论文正式发表,量子计算到底是什么?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。