介绍TensorNetwork,一个用于高效张量计算的开源库(二)

2019 年 8 月 23 日 深度学习探索

实践中的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!

登录查看更多
0

相关内容

[ICML-Google]先宽后窄:对深度薄网络的有效训练
专知会员服务
36+阅读 · 2020年7月5日
最新《自动微分手册》77页pdf
专知会员服务
103+阅读 · 2020年6月6日
Python导论,476页pdf,现代Python计算
专知会员服务
263+阅读 · 2020年5月17日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
108+阅读 · 2020年5月3日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
30+阅读 · 2020年3月5日
【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
39+阅读 · 2020年2月21日
初学者的 Keras:实现卷积神经网络
Python程序员
24+阅读 · 2019年9月8日
基于TensorFlow和Keras的图像识别
Python程序员
16+阅读 · 2019年6月24日
通用矩阵乘(GEMM)优化与卷积计算
极市平台
50+阅读 · 2019年6月19日
40 行 Python 代码,实现卷积特征可视化
Python开发者
3+阅读 · 2019年2月13日
40行Python代码,实现卷积特征可视化
机器之心
5+阅读 · 2019年1月31日
从张量到自动微分:PyTorch入门教程
论智
9+阅读 · 2018年10月10日
TensorFlow实现神经网络入门篇
机器学习研究会
10+阅读 · 2017年11月19日
Tensorflow卷积神经网络
全球人工智能
13+阅读 · 2017年10月14日
Arxiv
6+阅读 · 2019年4月8日
Neural Speech Synthesis with Transformer Network
Arxiv
5+阅读 · 2019年1月30日
Adversarial Reprogramming of Neural Networks
Arxiv
3+阅读 · 2018年6月28日
Arxiv
4+阅读 · 2018年3月30日
VIP会员
相关资讯
初学者的 Keras:实现卷积神经网络
Python程序员
24+阅读 · 2019年9月8日
基于TensorFlow和Keras的图像识别
Python程序员
16+阅读 · 2019年6月24日
通用矩阵乘(GEMM)优化与卷积计算
极市平台
50+阅读 · 2019年6月19日
40 行 Python 代码,实现卷积特征可视化
Python开发者
3+阅读 · 2019年2月13日
40行Python代码,实现卷积特征可视化
机器之心
5+阅读 · 2019年1月31日
从张量到自动微分:PyTorch入门教程
论智
9+阅读 · 2018年10月10日
TensorFlow实现神经网络入门篇
机器学习研究会
10+阅读 · 2017年11月19日
Tensorflow卷积神经网络
全球人工智能
13+阅读 · 2017年10月14日
Top
微信扫码咨询专知VIP会员