实现100倍加速!谷歌开源超强张量计算库TensorNetwork

希望TensorNetwork成为科学家们和机器学习从业者的宝贵工具。

乾明 发自 凹非寺

量子位 报道 | 公众号 QbitAI

量子系统复杂,暴力计算无效,原有张量网络(Tensor Network)难以广泛规模使用,让开发高温超导体等复杂问题受限于此。

现在,谷歌出手了。

联合Perimeter理论物理研究所和谷歌 X,开发全新物理和机器学习库TensorNetwork,用于提高张量计算的效率,现在已经开源

实现100倍加速!谷歌开源超强张量计算库TensorNetwork

这一计算库使用TensorFlow作为后端,并针对GPU处理进行了优化,与CPU上相比,可以实现高达100倍的加速。

谷歌AI的研究工程师Chase Roberts和X的研究科学家Stefan Leichenauer表示,通过开源社区,他们会持续向TensorNetwork添加新功能。希望TensorNetwork成为科学家们和机器学习从业者的宝贵工具。

TensorNetwork的有效性

张量,是按照顺序在层次结构中分类的多维数组,普通的数或者标量,是零阶张量,向量是一阶张量,矩阵是二阶张量。

实现100倍加速!谷歌开源超强张量计算库TensorNetwork

张量网络,是图形编码的张量收缩模式(张量上的数学运算类型),由几个张量组成,并共同构成一个新的张量。

张量网络并不直接存储或者操纵张量,而是将张量表示为较小张量在较大张量网络形状中的收缩。

实现100倍加速!谷歌开源超强张量计算库TensorNetwork

因此,张量网络可以非常有效地表示几个、几十个、甚至几百个张量,而且还不需要占用大量内存。

现在,张量网络已经广泛应用于量子物理学等领域之中。这些优势,也使得其在图像分类、物体识别和其他人工智能任务中更加实用。

TensorNetwork,就是谷歌在这个方向上努力的成果。

作为一个通用的张量网络算法库,效果如何?谷歌进行了测试。

近似量子态,是张量网络在物理学中的一个典型用例,能够直观地说明张量网络库的能力。

谷歌的研究人员用TensorNetwork实现了一个树状张量网络(TTN)算法,用来逼近周期量子自旋链(1D)或薄环面(2D)上的点阵模型的基态。

在这个任务中,使用了TensorNetwork库的GPU,与没有使用TensorNetwork库的CPU相比,计算速度显著提高了100倍。

实现100倍加速!谷歌开源超强张量计算库TensorNetwork

继续扩大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

版权所有,未经授权不得以任何形式转载及使用,违者必究。