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


3 量子神经网络工作原理
首先 , 我们向网络提供一些数据x , 这些数据x通过特征图传递——通过特征图 , 我们可以将输入的数据转换成某种形式 , 从而构建输入量子态:
空枝|教你在经典计算机上搭建一个量子神经网络,已开源我们使用的特征图可能是任何形式 , 比如将一个二维向量x变换成一个角 。
空枝|教你在经典计算机上搭建一个量子神经网络,已开源一旦x被编码为量子态 , 我们应用一系列量子门:
空枝|教你在经典计算机上搭建一个量子神经网络,已开源网络的输出 , 我们称之为π(x , 0) , 是最后一个量子比特被测量为 |1?状态的概率(Z_n-1代表将Z门应用到最后的量子比特) , 加上一个经典的偏置项 。
空枝|教你在经典计算机上搭建一个量子神经网络,已开源最后 , 我们在输出的数据中取出和 x 有关联的标签 , 用来计算样本上的损失——我们将使用二次损失 , 如下:
空枝|教你在经典计算机上搭建一个量子神经网络,已开源从输出的数据中可以得到网络 p 的预测:
空枝|教你在经典计算机上搭建一个量子神经网络,已开源接下来要计算损失函数
空枝|教你在经典计算机上搭建一个量子神经网络,已开源的梯度 , 当然完全可以使用传统的方法 , 但我们需要的是一种在量子计算机上计算的方法 。
4 全新的计算梯度的方法
我们先求损失函数对θ_i的微分:
空枝|教你在经典计算机上搭建一个量子神经网络,已开源展开最后一项:
空枝|教你在经典计算机上搭建一个量子神经网络,已开源通过求导 , 我们可以去掉常数项 。
空枝|教你在经典计算机上搭建一个量子神经网络,已开源现在 , 使用乘积法则 , 我们可以进一步展开:
空枝|教你在经典计算机上搭建一个量子神经网络,已开源上面这个公式读起来有一点痛苦 , 但是通过 Hermitian 共轭 , 可以转化为下面这个简单的公式:
空枝|教你在经典计算机上搭建一个量子神经网络,已开源U(θ) 由多个门组成 , 每一个门又由不同的参数控制 , 求U的偏导数只需要求门U_i(θ_i)对θ_i的偏导数:
空枝|教你在经典计算机上搭建一个量子神经网络,已开源我们把U_i定义为相同的形式 , 称为G门 , 当然形式不是唯一的 。


推荐阅读