用于量子神经网络监督学习的python工具。

quantum-edward的Python项目详细描述


量子爱德华

安装

您可以使用以下命令从python包管理器安装quantum edward pip

pip install qedward --user

Quantum Edward现在只是一个小的Python工具库 在量子神经网络(qnns)上进行经典监督学习。

将qnn的分析模型作为qedward和训练的输入。 是在一台经典的计算机上完成的,使用已经可用的训练数据(例如, mnist),并使用著名的bbvi(黑箱变分推理)方法 在下面的参考文献1中描述。

将qnn的输入解析模型作为门序列给出 门模型量子计算机的操作。隐藏的变量是 量子位旋转的角度。观察到的变量是输入 以及量子电路的输出。因为它已经在质量控制中表达出来了 母语,一旦qnn使用qedward进行了训练,它就可以 立即在物理门模型qc上运行,例如ibm和 谷歌已经建立了。通过在质量控制上运行qnn并 分类和它,我们可以比较分类的性能 qnns和经典人工神经网络(anns)的任务。

其他工人建议对qnn进行实际的物理qc培训。但是 目前的质量控制仍然是相当量子噪声。训练分析qnn 传统的计算机可能比在质量控制上训练它产生更好的结果 因为在第一种策略中,质量控制的量子噪声不会降低 训练。

bbvi方法是“edward”软件库的主体。爱德华使用 google的tensorflow库实现各种推理方法(monte carlo 对于经典贝叶斯网络和层次结构 模型。h.m.s(由andrew gelman开创)是c.b.网的一个子集。 (朱迪亚·珀尔首创)。爱德华现在正式成为TensorFlow的一员, 爱德华的原著作者DustinTran现在为谷歌工作。以前 爱德华来了,TensorFlow只能做确定性的网络 节点。随着爱德华的加入,Tensorflow现在可以同时使用这两个 确定性和非确定性(概率)节点。

这个第一步库不做分布式计算。希望是 它可以作为一个幼儿园来学习这些技术 然后,所学到的经验可以用来编写一个同样的库 关于qnns的经典监督学习 在云端使用Edward/TensorFlow。

量子爱德华的第一个版本分析了两个称为nbtrols的qnn模型。 和非btrols。选择这两个模型是因为它们对 作者,但作者试图使图书馆足够普遍 它可以适应未来的其他同类机型。允许的 模型被称为qnns,因为它们由“层”组成, 就像经典的人工神经网络一样。Tensorflow可以分析 分层模型(如ann)或更一般的dag(有向无环图) 模型(如贝叶斯网络)。

这个软件是在麻省理工学院的许可下发布的。

参考文献

  1. R.Ranganath,S.Gerrish,D.M.Blei,“黑箱变分 推断“,https://arxiv.org/abs/1401.0118

  2. https://en.wikipedia.org/wiki/Stochastic_approximation 讨论Robbins Monro条件

  3. https://github.com/keyonvafa/logistic-reg-bbvi-blog/blob/master/log_reg_bbvi.py

  4. http://edwardlib.org/

  5. https://discourse.edwardlib.org/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java开关大小写不返回字符串   java消除Pascals三角形上的前导空格   当用户更改单元格时,仅当用户   调试时,java“this”在片段中不可用   JavaJSFDataTable“优雅”地编辑行内容   java Javafx组合框自动完成返回错误   数组如何在java中将数据从firebase加载到arraylist   java的html问题。木卫一。在浏览器上打印多个空格时使用PrintWriter   java如何在后台下载文件,而不考虑应用程序的状态?   java如何在Eclipse中设置实例断点?   java N1QL二级索引不使用参数化IN子句   多线程在Java中干净地停止线程侦听serversocket   java如何在selenium服务器上检查测试问题   java Hibernate查询。executeUpdate()执行许多查询   java如何从Jenkins文件传递多个参数,如env、凭证、cucumber标记   java保护从子类的子类访问成员