实现100倍加速!谷歌开源超强张量计算库TensorNetwork
乾明 发自 凹非寺
量子位 报道 | 公众号 QbitAI 量子系统复杂,暴力计算无效,原有张量网络(Tensor Network)难以广泛规模使用,让开发高温超导体等复杂问题受限于此。
现在,谷歌出手了。
联合Perimeter理论物理研究所和谷歌 X,开发全新物理和机器学习库TensorNetwork,用于提高张量计算的效率,现在已经开源。
【实现100倍加速!谷歌开源超强张量计算库TensorNetwork】
文章图片
这一计算库使用TensorFlow作为后端,并针对GPU处理进行了优化,与CPU上相比,可以实现高达100倍的加速。
谷歌AI的研究工程师Chase Roberts和X的研究科学家Stefan Leichenauer表示,通过开源社区,他们会持续向TensorNetwork添加新功能。希望TensorNetwork成为科学家们和机器学习从业者的宝贵工具。
TensorNetwork的有效性 张量,是按照顺序在层次结构中分类的多维数组,普通的数或者标量,是零阶张量,向量是一阶张量,矩阵是二阶张量。
文章图片
张量网络,是图形编码的张量收缩模式(张量上的数学运算类型),由几个张量组成,并共同构成一个新的张量。
张量网络并不直接存储或者操纵张量,而是将张量表示为较小张量在较大张量网络形状中的收缩。
文章图片
因此,张量网络可以非常有效地表示几个、几十个、甚至几百个张量,而且还不需要占用大量内存。
现在,张量网络已经广泛应用于量子物理学等领域之中。这些优势,也使得其在图像分类、物体识别和其他人工智能任务中更加实用。
TensorNetwork,就是谷歌在这个方向上努力的成果。
作为一个通用的张量网络算法库,效果如何?谷歌进行了测试。
近似量子态,是张量网络在物理学中的一个典型用例,能够直观地说明张量网络库的能力。
谷歌的研究人员用TensorNetwork实现了一个树状张量网络(TTN)算法,用来逼近周期量子自旋链(1D)或薄环面(2D)上的点阵模型的基态。
在这个任务中,使用了TensorNetwork库的GPU,与没有使用TensorNetwork库的CPU相比,计算速度显著提高了100倍。
文章图片
继续扩大TensorNetwork使用场景
现在, 谷歌已经将TensorNetwork开源,地址为:
https://github.com/google/tensornetwork
也放出了与TensorNetwork相关的两篇论文。
第一篇论文,对TensorNetwork进行了概述,并介绍了这一开源库和API:
TensorNetwork: A Library for Physics and Machine Learning
https://arxiv.org/abs/1905.01330
第二篇论文,展示了TensorNetwork在物理学领域中的用例,以及计算性能上的表现。
TensorNetwork on TensorFlow: A Spin Chain Application Using Tree Tensor Networks
https://arxiv.org/abs/1905.01331
谷歌表示,接下来将使用TensorNetwork对MNIST和Fashion-MNIST数据集中的图像进行分类。
此外,也将在探索其在时间序列分析上的应用,以及量子电路仿真等用例。
谷歌AI博文地址:
https://ai.googleblog.com/2019/06/introducing-tensornetwork-open-source.html
— 完 —
小程序|全类别AI学习教程
文章图片
AI社群|与优秀的人交流
文章图片
文章图片
量子位 QbitAI · 头条号签约作者
?'?' ? 追踪AI技术和产品新动态
喜欢就点「在看」吧 !
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- 人脸识别|【人脸识别系列】| 实现自动化妆
- paddle|动手从头实现LSTM
- pytorch|使用pytorch从头实现多层LSTM