Skip to main content
QUICK REVIEW

[论文解读] Use and implementation of autodifferentiation in tensor network methods with complex scalars

Claudius Hubig|arXiv (Cornell University)|Jul 31, 2019
Computational Physics and Python Applications参考文献 7被引用 5
一句话总结

本文提出了一种在张量网络工具包中使用复数标量实现反向模式自动微分(AD)的实用方法,证明了仅需不到1,000行代码即可将原生C++张量库扩展以支持AD。该工作建立了在复数标量下对关键张量运算(QR与SVD)进行微分的数学基础,其关键贡献在于推导出复数SVD的伴随(adjoint),从而实现了在量子多体模拟中端到端的反向传播。

ABSTRACT

Following the recent preprints arXiv:1903.09650 and arXiv:1906.04654 we comment on the feasibility of implementation of autodifferentiation in standard tensor network toolkits by briefly walking through the steps to do so. The total implementation effort comes down to fewer than 1000 lines of additional code. We furthermore summarise the current status when the method is applied to cases where the underlying scalars are complex, not real and the final result is a real-valued scalar. It is straightforward to generalise most operations (addition, tensor products and also the QR decomposition) to this case and after the initial submission of these notes, also the adjoint of the complex SVD has been found.

研究动机与目标

  • 在不依赖PyTorch或TensorFlow等外部框架的前提下,实现在原生张量网络工具包中的反向模式自动微分。
  • 将标准张量运算(加法、张量积、QR分解与SVD)扩展至复数标量算术,同时保持可微性。
  • 推导并验证复数奇异值分解(SVD)的伴随,这是在量子多体系统中基于梯度的优化所缺失的关键组件。
  • 在U与V矩阵的相位变换下,确保SVD伴随计算的规范不变性。
  • 提供一种可测试、高效且模块化的AD框架,兼容凝聚态模拟中的对称性与异步张量缓存机制。

提出的方法

  • 通过为STensor类添加自动微分ID和指向ComputeNode对象的共享指针,以追踪计算图。
  • 构建了一个计算节点的有向无环图(DAG),每个节点存储输入/输出依赖关系、伴随计算函数以及用于反向传播的缓存张量数据。
  • 通过反向遍历DAG实现反向模式AD,利用每种操作的预定义伴随求值函数计算伴随。
  • 通过将Q与R的微分表示为输出伴随与输入扰动的函数,推导出复数QR分解的伴随,同时正确处理复共轭与厄米结构。
  • 将实数SVD伴随推导扩展至复数情形,通过施加规范条件(如V矩阵的第一列为实数且为正)解决相位模糊性问题,并确保代价函数的规范不变性。
  • 通过扰动输入的有限差分比较验证实现,测试了由复数张量导出的实值代价函数(如范数、迹或选定元素)的梯度。

实验结果

研究问题

  • RQ1是否可以高效且原生地在C++张量网络工具包中实现反向模式自动微分,而无需依赖外部AD库?
  • RQ2复数QR分解的伴随应如何推导与实现,特别是如何处理复共轭与厄米结构?
  • RQ3在微分复数奇异值分解(SVD)时,存在哪些数学与计算挑战?如何利用规范自由度确保可微性?
  • RQ4当最终输出为实标量时,如何对由此产生的AD框架进行稳健测试,尽管中间标量为复数?
  • RQ5复数SVD的伴随是否可以以一种保持U与V相位变换下代价函数规范不变性的方式计算?

主要发现

  • 在原生张量网络工具包中实现反向模式AD仅需额外约1,000行C++代码,其中核心框架(计算节点图与伴随传播)约350行实现。
  • 成功推导出复数QR分解的伴随,其微分以输出伴随与输入扰动表示,正确处理了复共轭。
  • 由于相位模糊性,复数SVD的微分较为复杂,但通过施加规范条件(如V矩阵的第一列为实数且为正)获得了解决方案,使SVD在优化工作流中可微。
  • 所推导的复数SVD伴随确保了在U与V的酉变换下梯度保持不变,前提是代价函数具有规范不变性,这对物理一致性至关重要。
  • 该框架支持由复数张量导出的实值代价函数(如范数、迹或选定张量元素)的高效梯度计算,适用于能量最小化与变分算法。
  • 通过有限差分比较验证了AD实现的正确性,对复数张量输入的小扰动,结果与数值精度一致。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。