空枝|教你在经典计算机上搭建一个量子神经网络,已开源( 五 )
代码地址:
现在可以编写实现U(θ)所需的函数了 , 我们将采取RY门和CX门交替层的形式来实现函数 。
为什么需要CX层?如果不把它们包括进来 , 就没办法执行纠缠操作 , 这将限制网络能够涉及的希尔伯特空间的范 。 使用CX门 , 网络可以捕捉量子比特之间的交互 。
我们从G 门开始:
接下来 , 操作CX门:
现在把这些结合在一起得到U(θ):
接下来 , 我们创建一个函数来获取网络的输出 , 另一个函数将这些输出转换为类别预测:
现在我们可以构建一个函数 , 在网络执行上前向传递 。
紧接着 , 需要写出所有关于测量梯度的函数 。 首先 , 我们必须能够应用控制版本的U(θ):
使用这个 , 我们可以创建一个函数并得出期望值:
现在我们可以算出损失函数的梯度 , 最后做的乘法是为了得到π(x, θ) - y(x) 梯度项:
一旦我们有了梯度 , 就可以使用梯度下降来更新网络参数 , “动量”技巧可以帮助加快训练时间:
现在我们可以建立自己的损失函数和准确率函数 , 然后就可以观察网络训练的情况:
最后 , 我们创建训练网络的函数 , 并调用它:
我们传递给np.random.sample方法的数字决定了参数集的大小——第一个数字(5)是G层的数量 。
这是我在测试5层网络、15次迭代后得到的数据输出:
这些数据看起来是相当不错——我们在验证集上达到了100%的准确率 , 这意味着网络成功地覆盖了边缘测试示例!
推荐阅读
- 北斗星|经典铃木北斗星“复活”,预售4.3万,1.4国六动力,比飞度还宽裕
- 羽墨说游戏|开创了一代经典玩法,却因BUG走向没落,曾火遍网吧的射击网游
- 琉璃娃娃的梦|最经典的“许仙”反串女演员叶童结婚多年无子,近照流出老态尽显
- 东方网|当夜跑遇上经典游戏Icon 全球首个吃豆人主题跑诞生
- 百搭■鞋子要精不要多,初秋常备5个经典款,时髦百搭不出错
- 钱江晚报|小学生给天上的爸爸写信:我为有这样的爸爸感到自豪,如果你在该有多好啊
- 经典|四款满含童年记忆的老游戏,你玩过几款?
- 英雄联盟|Uzi操作失误引争议,澡子哥强行解释,直言:你在黄金是有原因的
- 时尚|鞋子要精不要多,初秋常备5个经典款,时髦百搭不出错
- 跳空缺口|干货:A股经典缺口理论,看懂炒股事半功倍!