神经网络量子态笔记¶
这组笔记围绕教学版 NNQS 程序展开,目标是把物理问题、神经网络表示、VMC 训练和工程验证放在同一条线上理解。
阅读路线¶
建议按下面的顺序读:
- 从薛定谔方程到 NNQS:先建立物理图像,理解为什么要用神经网络表示波函数。
- 模型结构:看清 \( \log |\psi_\theta(x)| \)、相位和复波函数输出的关系。
- VMC 训练:理解 local energy、能量估计和梯度代理。
- Transformer 笔记总览:补足 decoder-only Transformer、自注意力和 mask 的基础。
- 代码导读:沿一次训练调用顺序,把公式落回代码模块。
- 公式速查:调试时快速查变量、shape 和公式。
- 正确性验证:改动代码后按清单做 smoke test。
主线图¶
薛定谔方程
-> Hamiltonian 本征值问题
-> occupation bitstring basis
-> 神经网络波函数 psi_theta(x)
-> 按 |psi_theta|^2 采样
-> local energy 估计能量
-> VMC 梯度更新参数
代码地图¶
config.py
YAML -> TutorialConfig
state.py
bitstring <-> pair token
electron conservation mask
models.py
AmplitudeTransformer -> log_amp
PhaseMLP -> phase
NeuralQuantumState -> psi
sampling.py
autoregressive sample -> unique_states/counts/psi_values
hamiltonian.py
ExactHamiltonian / CppHamiltonian -> local_energy
trainer.py
sample -> local_energy -> loss_proxy -> optimizer.step
checkpoint.py
save/load training state
cli/train.py
command line entry
最短心智模型¶
NNQS 做的事情可以压缩成一句话:
\[
x \xrightarrow{\text{model}} \psi_\theta(x),
\qquad
p_\theta(x) \propto |\psi_\theta(x)|^2,
\qquad
E_\theta = \mathbb{E}_{x \sim p_\theta} [E_{\rm loc}(x)] .
\]
训练循环就是: