|教你在经典计算机上搭建一个量子神经网络,已开源( 三 )


本文插图

网络的输出 , 我们称之为π(x , 0) , 是最后一个量子比特被测量为 |1?状态的概率(Z_n-1代表将Z门应用到最后的量子比特) , 加上一个经典的偏置项 。
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

最后 , 我们在输出的数据中取出和 x 有关联的标签 , 用来计算样本上的损失——我们将使用二次损失 , 如下:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

从输出的数据中可以得到网络 p 的预测:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

接下来要计算损失函数
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

的梯度 , 当然完全可以使用传统的方法 , 但我们需要的是一种在量子计算机上计算的方法 。
4 全新的计算梯度的方法
我们先求损失函数对θ_i的微分:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

【|教你在经典计算机上搭建一个量子神经网络,已开源】展开最后一项:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

通过求导 , 我们可以去掉常数项 。
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

现在 , 使用乘积法则 , 我们可以进一步展开:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

上面这个公式读起来有一点痛苦 , 但是通过 Hermitian 共轭 , 可以转化为下面这个简单的公式:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

U(θ) 由多个门组成 , 每一个门又由不同的参数控制 , 求U的偏导数只需要求门U_i(θ_i)对θ_i的偏导数:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

我们把U_i定义为相同的形式 , 称为G门 , 当然形式不是唯一的 。
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

定义了U_i的形式后 , 就能找到它的导数:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

幸运的是 , 我们可以用G门来表示导数:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

所以剩下的就是想办法构造出一个电路来得到所需的内积形式:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

Hadamard测试是最简单的方法——首先 , 我们准备好输入的量子态 , 并将辅助态制备为叠加态:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

现在对|ψ>应用Z_n-1B , 约束辅助态是|1>:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图

然后翻转辅助态 , 用A做同样的操作:
|教你在经典计算机上搭建一个量子神经网络,已开源
本文插图


推荐阅读