实践中的Tensor Networks
考虑一组黑白图像,每个图像可以被认为是N个像素值的列表。可以将单个图像的单个像素一次热编码为二维矢量,并且通过将这些像素编码组合在一起,我们可以对整个图像进行2N维一热编码。我们可以将这个高维向量重新整形为一个N阶张量,然后将我们的图像集合中的所有张量相加,得到一个总张量Ti1,i2,...,iN封装集合。
这听起来像是一件非常浪费的事情:以这种方式编码大约50个像素的图像已经占用了数PB的内存。这就是张量网络进入的地方。我们不是直接存储或操纵张量T,而是将T表示为张量网络形状的许多较小组成张量的收缩。结果证明效率更高。例如,流行的矩阵乘积状态(MPS)网络将根据N个小得多的张量来写入T,使得参数的总数仅在N中是线性的,而不是指数的。
高阶张量T用矩阵乘积状态张量网络中的许多低阶张量表示。
显而易见的是,可以有效地创建或操纵大张量网络,同时始终避免需要大量内存。但事实证明,在许多情况下这是可能的,这就是为什么张量网络已广泛用于量子物理学,现在,在机器学习中。Stoudenmire和Schwab使用刚刚描述的编码来制作图像分类模型,展示了张量网络的新用途。TensorNetwork库旨在促进这种工作,我们的第一篇论文描述了库如何用于一般张量网络操作。
物理用例中的表现
TensorNetwork是张量网络算法的通用库,因此它也应该对物理学家有用。近似量子态是物理学中张量网络的典型用例,非常适合说明TensorNetwork库的功能。在我们的第二篇论文中,我们描述了一种树张量网络(TTN)算法,用于近似周期性量子自旋链(1D)或薄环面(2D)上的晶格模型的基态,并使用TensorNetwork实现该算法。我们将CPU与GPU的使用进行比较,并在使用GPU和TensorNetwork库时观察到高达100倍的显着计算速度。
计算时间作为键维数的函数,χ。 键合维度决定了张量网络的组成张量的大小。 更大的键维度意味着张量网络更强大,但需要更多的计算资源来操纵。
结论和未来的工作
这是一系列计划论文中的第一篇,旨在说明TensorNetwork在实际应用中的强大功能。在下一篇论文中,我们将使用TensorNetwork对MNIST和Fashion-MNIST数据集中的图像进行分类。未来的计划包括ML侧的时间序列分析,以及物理方面的量子电路仿真。通过开源社区,我们也总是向TensorNetwork本身添加新功能。我们希望TensorNetwork成为物理学家和机器学习从业者的宝贵工具。
致谢
TensorNetwork库由Chase Roberts,Adam Zalcman和Google AI的Bruce Fontaine开发; 周界研究所的Ashley Milsted,Martin Ganahl和Guifre Vidal; X的Jack Hidary和Stefan Leichenauer。我们还要感谢X的Stavros Efthymiou作出了宝贵的贡献。
如果你是一个喜欢关注技术脉搏的人,请在我们的下面留言
微信公众号在我们消遣娱乐之余,它是一个非常好的学习手段与途径,利用好它,必将有所裨益,祝福每个小白都能在AI的这条光明大路上爱(AI)上Ta!