基于多头自注意力机制的CICY流形自由商检测模型设计与实现 1. 项目概述当Transformer遇见卡拉比-丘流形在理论物理特别是弦论紧化的研究中寻找光滑的卡拉比-丘流形是一个核心课题。完全交集卡拉比-丘流形因其明确的代数定义和相对可控的构造成为了一个重要的“实验室”。然而一个流形上可能存在多种离散对称性对这些对称性进行“模除”即取商空间是构造新流形、探索弦论真空景观的关键步骤。这里有一个核心的判别问题一个给定的对称性作用在流形上其作用是“自由”的吗换句话说这个对称性作用是否没有“固定点”如果答案是肯定的那么得到的商流形将是光滑的可以直接用于物理模型的构建反之商流形会存在奇点需要额外的处理如爆破才能使用这大大增加了物理分析的复杂性。传统上判断一个对称性作用是否自由依赖于计算所谓的“特征值指标”等代数拓扑工具。虽然精确但计算过程极其繁复尤其当面对成千上万个候选流形时计算量成为瓶颈。近年来机器学习特别是深度学习开始被引入这个领域用于从流形的代数表示如配置矩阵中直接学习并预测其对称性作用的性质。早期的尝试使用了全连接神经网络取得了不错的效果但在处理某些复杂对称性如Z2×Z2时准确率仍有提升空间。问题的关键在于数据本身的结构。一个CICY流形由其在乘积射影空间中的定义方程组配置矩阵描述。当我们考虑一个对称群作用时这个作用会同时体现在对射影空间坐标的线性变换γ和对定义多项式的变换ρ上并且常常伴随着矩阵行与列的置换πr, πc。因此一个CICY的对称性数据天然地包含了强烈的结构相关性矩阵元素的值、元素的位置行索引i、列索引j、以及行/列的置换模式之间存在着紧密的、非局域的关联。全连接神经网络虽然万能但在显式捕捉这种复杂的、长程的、结构化的关联方面存在先天不足。这正是多头自注意力机制大显身手的舞台。自注意力机制的核心思想是让序列中的每个元素在这里是展平后的矩阵元素及其位置信息都能“关注”到序列中的所有其他元素并通过计算“注意力权重”来动态地聚合全局信息。它不依赖于固定的卷积核或全连接的先验假设而是让模型自己学习数据内部哪些部分的相关性对最终任务判断自由商是重要的。多头机制则让模型可以并行地从多个不同的“视角”或“表示子空间”来学习这些相关性从而更全面地理解数据的复杂结构。基于此我们设计并实现了一个基于多头自注意力机制的CICY自由商检测模型。这个模型将CICY的对称性表示数据经过编码的配置矩阵及置换信息视为一个序列通过自注意力层来捕捉其内在的全局结构最终通过一个分类头判断该对称性作用是否为自由的。实验证明该模型不仅在Z3、Z4对称性上达到了100%的测试准确率在更具挑战性的Z2和Z2×Z2对称性上也显著超越了之前的全连接网络模型几乎完美地识别出了所有自由商为理论物理学家提供了一个高效、可靠的自动化筛选工具。2. 模型架构设计与核心思路拆解我们的目标是将一个复杂的几何判别问题转化为一个适合深度学习模型处理的序列分类问题。整个设计思路围绕着如何将CICY的对称性信息无损且高效地编码为一个序列并利用自注意力机制挖掘其中的关键模式。2.1 从几何对象到序列数据输入预处理的艺术CICY的对称性数据本质上是多模态的它包含一个数值矩阵可能经过归一化以及行和列的置换信息。直接拼接或简单处理会丢失重要的结构信息。我们的预处理策略旨在创建一个紧凑且信息丰富的表示。对于一个批次大小为B的数据样本每个样本D是一个H×W的矩阵在我们的案例中通常是15×15或18×15。这个矩阵的每个元素D_ij都承载着信息。我们为每个元素构造一个三元组(D_ij, i, j)。这里D_ij是矩阵的原始数值经过除以20的归一化将其范围大致控制在[0,1]区间有利于模型训练稳定性i和j分别是该元素的行索引和列索引同样进行归一化即i/H和j/W。为什么选择这种表示保留位置信息在自注意力模型中位置编码至关重要。传统的Transformer使用正弦/余弦函数或可学习的位置编码。在这里我们直接将行列索引作为特征输入是一种显式且直观的位置编码方式它明确告知模型每个数值在矩阵网格中的绝对和相对位置。融合结构与数值三元组将数值特征D_ij和结构特征i, j在最早的特征层面进行融合使得模型在后续的注意力计算中能够同时考虑“这个值是多少”和“这个值在哪里”这两个维度这对于理解置换作用的效果至关重要。维度统一无论原始矩阵的维度如何变化经过此预处理后每个样本都被表示为一个长度为L H × W、特征维度为3的序列。这解决了不同CICY配置矩阵维度不一致的问题为后续的批处理和模型处理提供了统一接口。经过预处理输入数据的形状从(B, H, W)变为(B, L, 3)其中L H × W。这个(B, L, 3)的张量就是送入模型嵌入层的原始序列。2.2 模型核心架构一个为几何定制的Transformer式分类器我们模型的整体架构借鉴了Transformer编码器和视觉Transformer中分类任务的思路但进行了针对性的简化与调整。以处理Z4对称性的模型为例其详细结构如下表所示组件层/操作输入形状输出形状设计意图与说明输入预处理数值归一化: D_ij/20坐标归一化: i/H, j/W拼接: [D_ij, i, j](B, H, W)(B, L, 3)生成包含数值与位置信息的紧凑序列表示。嵌入层Linear(3 → 64)GELU激活Linear(64 → 64)LayerNorm(B, L, 3)(B, L, 64)将低维特征映射到高维表示空间引入非线性并通过层归一化稳定训练。[CLS]令牌扩展并拼接(B, L, 64)(B, L1, 64)添加一个可学习的分类令牌用于聚合整个序列的全局信息。转置transpose(0, 1)(B, L1, 64)(L1, B, 64)适配PyTorch的nn.MultiheadAttention层对输入形状的要求序列长度在前。自注意力块Multi-Head Attention (4头, d_model64)残差连接 Dropout (0.6)LayerNorm(L1, B, 64)(L1, B, 64)核心模块。让序列所有元素包括CLS令牌进行全局交互捕捉长程依赖。高Dropout率防止小数据集过拟合。分类头取x[0] ([CLS]令牌)Linear(64 → 128)BatchNorm1d(128)GELUDropout(0.6)Linear(128 → 2)(B, 64)(B, 2)利用CLS令牌的最终状态作为序列的“摘要”通过全连接层映射到二分类自由商/非自由商结果。架构设计的关键点解析嵌入层的作用第一个线性层将3维特征提升到64维的模型隐藏维度d_model。使用GELU激活函数而非ReLU因其更平滑的梯度特性在Transformer中表现通常更好。第二个线性层和LayerNorm构成了一个微型的“前馈”子模块进一步提炼特征。[CLS]令牌的妙用这是从BERT等NLP模型借鉴的思想。我们添加一个额外的、可学习的向量到序列开头。这个令牌本身没有对应的输入数据它在自注意力层中与所有序列元素进行交互“收集”全局上下文信息。最终我们只用这个CLS令牌的状态来做分类它承载了整个输入序列的压缩表示。自注意力层配置我们使用了4个注意力头num_heads4每个头的维度d_k d_v d_model / num_heads 16。多头机制允许模型同时关注来自不同表示子空间的信息例如一个头可能专注于学习行置换的模式另一个头可能专注于列置换与数值的关联等。高Dropout率在自注意力层后和分类头中我们都设置了高达0.6的Dropout率。这是一个非常重要的正则化策略。因为我们的训练数据量相对有限尽管通过行列置换进行了增强模型极易过拟合。高Dropout率随机“关闭”大量神经元强迫模型学习更鲁棒、更泛化的特征而不是记住训练样本的噪声。针对不同对称性的微调对于更复杂的对称性如Z2和Z2×Z2我们在实践中发现增加一个额外的自注意力块即堆叠两层注意力能带来性能提升。这相当于增加了模型的深度和表达能力以捕捉更微妙、更复杂的关联模式。2.3 为什么自注意力比全连接网络更有效全连接神经网络在处理网格数据时通常需要先将数据展平成一维向量。这会彻底破坏数据的二维拓扑结构并且每个神经元只与上一层的所有神经元相连这种“稠密连接”虽然强大但缺乏对数据内部特定关联模式的归纳偏置。模型需要从海量参数中自行摸索出“行i和列j的置换与矩阵块的关系”这类规则学习效率较低且容易陷入局部最优。而自注意力机制提供了另一种归纳偏置全局的、动态的、内容感知的交互。全局性序列中任意两个元素都可以直接交互无论它们物理上在矩阵中相距多远。这对于捕捉行置换、列置换这种影响整个矩阵结构的操作至关重要。动态性注意力权重不是固定的而是根据当前的输入内容动态计算得出的。对于不同的CICY矩阵模型可以自适应地决定应该更关注哪些区域或哪些元素之间的关系。内容感知一个元素是否“关注”另一个元素取决于它们自身的特征Query和Key的相似度。这使得模型能够学会诸如“如果这两行被置换关系关联那么它们对应位置的数值特征应该满足某种约束”之类的复杂逻辑。简而言之自注意力机制为我们提供了一种直接对输入数据内部结构进行“推理”的工具这与我们人类在分析一个矩阵的对称性时会全局地审视行、列、数值之间关系的思维方式更为契合。因此它在捕捉决定“自由商”与否的深层几何约束时自然更具优势。3. 核心模块实现与训练细节剖析理解了设计思路我们深入到代码实现层面看看每个核心模块是如何构建的以及在训练中需要注意哪些关键细节。3.1 输入预处理与嵌入层的PyTorch实现首先我们定义预处理层和嵌入层。这里的关键是将前述的三元组构造过程向量化以高效处理批量数据。import torch import torch.nn as nn import torch.nn.functional as F class CICYInputProcessor(nn.Module): 输入预处理层将 (B, H, W) 的矩阵转换为 (B, L, 3) 的序列。 其中每个位置的特征为 [value, normalized_i, normalized_j]。 def __init__(self): super().__init__() def forward(self, x): # x shape: (batch_size, height, width) batch_size, height, width x.shape # 1. 数值归一化 (假设原始值范围大致在0-20) value_norm x / 20.0 # (B, H, W) # 2. 生成位置网格并归一化 # 创建 i 和 j 的坐标网格 i_grid torch.arange(height, devicex.device).float().view(1, height, 1).expand(batch_size, -1, width) j_grid torch.arange(width, devicex.device).float().view(1, 1, width).expand(batch_size, height, -1) # 归一化 i_norm i_grid / (height - 1) if height 1 else i_grid # 避免除零 j_norm j_grid / (width - 1) if width 1 else j_grid # 3. 拼接特征 # 重塑: (B, H, W) - (B, H*W, 1) 然后拼接 value_flat value_norm.view(batch_size, -1, 1) i_flat i_norm.view(batch_size, -1, 1) j_flat j_norm.view(batch_size, -1, 1) # 最终输出: (B, L, 3) sequence torch.cat([value_flat, i_flat, j_flat], dim-1) return sequence class EmbeddingLayer(nn.Module): 嵌入层将3维特征映射到d_model维并加入非线性与归一化。 def __init__(self, d_model64): super().__init__() self.linear1 nn.Linear(3, d_model) self.activation nn.GELU() # 使用GELU激活函数 self.linear2 nn.Linear(d_model, d_model) self.layer_norm nn.LayerNorm(d_model) def forward(self, x): # x shape: (B, L, 3) x self.linear1(x) # (B, L, d_model) x self.activation(x) x self.linear2(x) # (B, L, d_model) x self.layer_norm(x) return x实操心得位置归一化对i和j进行归一化时我最初使用了i/height和j/width。但在某些边界情况下当height或width为1时这会导致所有坐标都是0或1丢失信息。后来改为i/(height-1)当height1时这样能更好地保留相对位置信息即使对于单行或单列矩阵也更鲁棒。设备管理在创建坐标网格时务必使用devicex.device确保张量位于正确的设备CPU或GPU上否则会在混合设备计算时报错。3.2 自注意力分类器的完整模型构建接下来我们将预处理、嵌入、注意力机制和分类头组合成完整的模型。class MultiHeadAttentionCICYClassifier(nn.Module): 基于多头自注意力的CICY自由商分类器。 def __init__(self, input_height, input_width, d_model64, nhead4, num_classes2, dropout0.6): super().__init__() self.input_height input_height self.input_width input_width self.seq_length input_height * input_width self.d_model d_model # 模块定义 self.input_processor CICYInputProcessor() self.embedding EmbeddingLayer(d_model) # CLS令牌一个可学习的参数形状为 (1, 1, d_model) self.cls_token nn.Parameter(torch.randn(1, 1, d_model)) # 多头自注意力层 (PyTorch内置) self.self_attn nn.MultiheadAttention(embed_dimd_model, num_headsnhead, dropoutdropout, batch_firstFalse) # 注意batch_firstFalse self.attn_dropout nn.Dropout(dropout) self.attn_norm nn.LayerNorm(d_model) # 分类头 self.classifier nn.Sequential( nn.Linear(d_model, 128), nn.BatchNorm1d(128), nn.GELU(), nn.Dropout(dropout), nn.Linear(128, num_classes) ) def forward(self, x): # x shape: (B, H, W) batch_size x.size(0) # 1. 输入预处理 seq self.input_processor(x) # (B, L, 3) # 2. 嵌入 embedded self.embedding(seq) # (B, L, d_model) # 3. 添加CLS令牌 cls_tokens self.cls_token.expand(batch_size, -1, -1) # (B, 1, d_model) embedded_with_cls torch.cat([cls_tokens, embedded], dim1) # (B, L1, d_model) # 4. 转置以适应PyTorch MultiheadAttention (Seq_Len, Batch, Feature) embedded_transposed embedded_with_cls.transpose(0, 1) # (L1, B, d_model) # 5. 自注意力层 (残差连接) attn_output, _ self.self_attn(embedded_transposed, embedded_transposed, embedded_transposed) attn_output self.attn_dropout(attn_output) # 残差连接和层归一化 attn_output self.attn_norm(embedded_transposed attn_output) # (L1, B, d_model) # 6. 提取CLS令牌的状态 cls_output attn_output[0, :, :] # 取序列第一个位置即CLS令牌 - (B, d_model) # 7. 分类 logits self.classifier(cls_output) # (B, num_classes) return logits关键实现细节与避坑指南nn.MultiheadAttention的batch_first参数这是一个常见的坑点。PyTorch的nn.MultiheadAttention默认期望输入形状为(Seq_Len, Batch, Feature)即batch_firstFalse。这就是为什么我们在输入注意力层之前要进行转置(B, L1, d_model) - (L1, B, d_model)。如果你错误地设置了batch_firstTrue而没有调整输入形状或者忘记转置注意力计算会完全错误。CLS令牌的初始化self.cls_token是一个可学习的参数。使用torch.randn进行随机初始化是标准做法。在训练过程中它会逐渐学习到如何有效地聚合全局信息。残差连接在自注意力层后我们执行了attn_output self.attn_norm(embedded_transposed attn_output)。这是Transformer架构中的关键设计有助于缓解深层网络中的梯度消失问题使模型更容易训练。注意这里加的是embedded_transposed注意力层的输入而不是attn_output。分类头的设计在CLS令牌后接一个包含BatchNorm、GELU和Dropout的小型MLP作为分类头。BatchNorm有助于加速训练并提升稳定性高Dropout率0.6是防止过拟合的关键。对于二分类问题输出层通常不需要激活函数因为损失函数如CrossEntropyLoss内部会处理。3.3 训练策略与数据增强技巧由于CICY自由商的正负样本通常不平衡非自由商远多于自由商且总数据量有限训练策略至关重要。# 示例训练循环核心部分 def train_epoch(model, dataloader, criterion, optimizer, device): model.train() total_loss 0 for batch_data, batch_labels in dataloader: batch_data, batch_labels batch_data.to(device), batch_labels.to(device) optimizer.zero_grad() outputs model(batch_data) loss criterion(outputs, batch_labels) loss.backward() # 梯度裁剪防止梯度爆炸在Transformer模型中常用 torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm1.0) optimizer.step() total_loss loss.item() return total_loss / len(dataloader) # 数据增强行列置换 def augment_cicy_data(matrix, row_perm, col_perm): 通过对CICY配置矩阵应用随机行置换和列置换来生成新样本。 同时需要相应地调整表示行/列置换动作的标签数据。 这是一个简化的示意函数。 # matrix: 原始矩阵 # row_perm, col_perm: 表示对称群作用的行、列置换 # 1. 生成随机行置换和列置换 random_row_perm torch.randperm(matrix.size(0)) random_col_perm torch.randperm(matrix.size(1)) # 2. 应用置换到矩阵 augmented_matrix matrix[random_row_perm, :][:, random_col_perm] # 3. 根据随机置换更新 row_perm 和 col_perm 的表示此处逻辑需根据具体数据格式实现 # augmented_row_perm conjugate(original_row_perm, random_row_perm) # ... 具体更新逻辑 ... return augmented_matrix, updated_row_perm, updated_col_perm训练经验分享损失函数选择使用标准的nn.CrossEntropyLoss。如果正负样本自由商 vs 非自由商严重不平衡可以考虑使用weight参数给少数类赋予更高的权重或者使用Focal Loss。优化器与学习率AdamW优化器通常是Transformer类模型的首选因为它对权重衰减的处理更正确。初始学习率可以设置在1e-4到5e-4之间。使用学习率调度器如CosineAnnealingLR或带热重启的余弦退火有助于模型收敛到更好的局部最优。梯度裁剪自注意力机制尤其是深层网络有时会产生较大的梯度。使用梯度裁剪如clip_grad_norm_可以稳定训练过程防止梯度爆炸。数据增强是生命线原始的自由商样本数量很少。通过系统地应用随机行置换和列置换我们可以为每个原始样本生成大量理论上H! * W!个新样本同时保持其“自由商”属性的标签不变。这极大地扩充了训练集是模型能够成功泛化的基石。关键点数据增强必须与问题对称性一致。我们的置换操作正是对称群作用的一部分因此增强后的数据在物理/几何意义上是“等价”的。早停法监控验证集上的准确率或F1分数当性能在连续多个epoch不再提升时停止训练避免过拟合。4. 实验结果分析与模型评估我们分别在Z2、Z3、Z4和Z2×Z2四种对称性对应的数据集上训练了多头自注意力模型并与之前使用的全连接神经网络模型进行了对比。评估不仅看模型在独立测试集上的准确率更重要的是看其在“投票机制”下的表现。4.1 性能指标与混淆矩阵分析下表展示了多头自注意力模型在四种对称性数据集上的测试性能对称性测试准确率投票机制准确率Z20.98110.9967Z30.99161.0Z41.01.0Z2×Z20.96231.0结果解读高准确率所有模型在测试集上都达到了96%以上的准确率Z4模型甚至达到了完美的1.0。这初步证明了自注意力模型的有效性。投票机制的威力“投票机制”是我们为了应对数据稀缺和提升预测鲁棒性设计的策略。对于一个原始CICY样本我们生成其所有可能的行列置换变体在评估时使用让模型对每一个变体进行预测。如果超过50%的变体被预测为“自由商”则判定原始样本为自由商。如表所示投票机制显著提升了Z2和Z2×Z2模型的性能达到了近乎完美的水平。这说明模型可能在某些“视角”特定置换下会判断失误但通过集成多个视角的预测可以极大程度地纠正错误做出可靠判断。为了更细致地了解模型的错误类型我们查看混淆矩阵以Z2为例实际 \ 预测预测为 非自由商 (Class 0)预测为 自由商 (Class 1)实际为 非自由商 (Class 0)79,261 (真负例 TN)2,339 (假正例 FP)实际为 自由商 (Class 1)748 (假负例 FN)80,852 (真正例 TP)分析假负例 (FN748)这是最需要关注的错误类型即模型将实际上是自由商的样本误判为非自由商。在我们的物理问题中漏掉一个真正的自由商假负例比误将一个非自由商判为自由商假正例后果更严重因为这意味着我们可能错过了一个潜在的光滑紧化流形。自注意力模型将Z2的假负例控制在了748个在数万个样本中相比全连接网络有显著降低。假正例 (FP2339)虽然数量更多但影响相对较小。在后续的物理分析中这些被误判的候选者可以通过传统的特征值指标计算进行快速复核和排除。对比全连接网络在Z2×Z2案例中全连接网络在57个自由商中漏掉了3个而自注意力模型通过投票机制实现了100%的识别。这清晰地展示了自注意力模型在捕捉复杂对称性多生成元所对应的、更微妙的数据模式方面的优势。4.2 训练过程与收敛性以Z2模型的训练损失和准确率曲线为例参考原文图3我们可以观察到典型的、良好的深度学习训练动态训练损失随着epoch增加快速下降并逐渐趋于平稳没有出现剧烈的震荡说明优化过程稳定。验证准确率在训练初期迅速上升随后在某个高值附近小幅波动最终收敛。这表明模型没有出现严重的过拟合得益于高Dropout和数据增强学到了泛化能力强的特征。一个重要的实操观察对于Z2和Z2×Z2这种相对复杂的数据集我们尝试了堆叠两层自注意力块。发现这能带来约0.5%-1%的验证准确率提升。这暗示着对于更复杂的关联模式更深的注意力网络具有更强的建模能力。当然网络深度需要与数据量平衡避免过拟合。4.3 模型为何有效可解释性初探虽然深度学习模型常被视为“黑箱”但我们仍可以尝试理解自注意力模型成功的原因学习置换不变性/等变性模型的核心任务之一是判断一个对称性作用是否自由。这要求模型能够理解“置换”这一操作。自注意力机制通过计算所有元素对之间的关联可以隐式地学习到矩阵在行、列置换下的不变模式。CLS令牌在聚合了全局信息后其表示应当对保持几何属性的有效置换不敏感或具有某种规律性而对会导致固定点的无效置换敏感。捕捉长程约束判断固定点的存在性往往需要检查整个流形而不是局部区域。例如一个在局部看起来没有固定点的作用可能在流形的另一个遥远区域产生固定点。自注意力机制天然的全局感受野使其能够整合来自矩阵各个部分的信息从而做出全局一致的判断。对噪声和无关特征的鲁棒性CICY配置矩阵中的具体数值系数可能因多项式的具体形式而变化但决定自由商与否的是更底层的组合与线性代数约束。自注意力机制可能学会了关注行、列索引的结构性关系以及数值之间的相对模式而不是具体的绝对值从而对数据中的无关噪声如系数的微小变化更具鲁棒性。5. 项目总结、局限与未来展望本项目成功地将Transformer架构中的核心组件——多头自注意力机制应用于理论物理中的一个具体几何分类问题检测完全交集卡拉比-丘流形上的自由商。通过精心设计的数据表示融合数值与位置的三元组、借鉴NLP的CLS令牌分类范式、以及针对小数据场景的高强度正则化策略我们构建的模型在多个对称群上取得了超越传统全连接网络的性能特别是在最具挑战性的Z2×Z2案例中实现了完美识别。核心价值这项工作不仅为弦论几何学家提供了一个高效的自动化工具能够从海量候选对称性中快速筛选出极少数有价值的自由商极大提升了研究效率更重要的是它展示了几何深度学习的一个成功范例——如何针对特定几何问题的数据结构如全局对称性、置换群作用设计或选择合适的神经网络架构如自注意力来捕获其本质特征。当前局限与挑战数据依赖与泛化模型性能严重依赖于训练数据的质量和覆盖度。目前我们只针对已知的、有足够样本的对称群表示进行了训练。对于全新的、未见过的对称群表示或更高阶的群模型的泛化能力尚未可知。可解释性不足尽管模型效果出色但我们仍难以清晰阐述它究竟学到了哪些具体的几何规则。开发针对此类几何模型的解释工具如注意力权重可视化、概念激活向量等是未来的重要方向。扩展到更复杂的问题自由商检测只是第一步。后续还需要判断商流形是否光滑本工作中我们默认自由商导致光滑流形但理论上存在反例以及计算其拓扑不变量如霍奇数。这些是更复杂的回归或分类任务需要不同的模型架构和更大的数据集。未来可能的方向探索其他序列与图模型CICY的对称性数据本质上也可以看作一个图矩阵元素是节点行/列关系是边。图神经网络在处理这类结构化数据方面也很有潜力可以与自注意力模型进行对比研究。与特征值指标结合可以将机器学习作为粗筛工具快速排除大量非自由商然后对机器学习筛选出的少量“高概率”候选者再用精确但计算昂贵的特征值指标进行最终验证。这种“ML预筛选 精确计算验证”的混合范式可能是最高效的。应用于更广泛的流形方法论可以推广到其他类型的卡拉比-丘流形如环面卡拉比-丘流形其自由商分类同样是不完备的开放问题。探索物理启发的架构如工作中提到的二维张量网络如PEPS因其处理网格数据和非局域关联的能力也是未来值得探索的方向甚至可能建立起与量子计算和量子机器学习的联系。最后的个人体会从事交叉学科研究最大的乐趣在于将不同领域的工具进行创造性的结合。将最初为自然语言设计的Transformer用来解决高维几何的对称性问题这种“跨界”尝试本身就充满了挑战与惊喜。过程中最大的收获不是调出了一个高精度的模型而是深刻体会到一个好的机器学习应用始于对问题本身数据结构深刻的理解。当你真正理解了数据中“什么信息是重要的”以及“这些信息是如何关联的”选择甚至设计合适的模型架构就成了水到渠成的事情。这次经历也让我相信在理论物理和纯数学的更多“数据丰富但计算昂贵”的领域机器学习将扮演越来越重要的辅助探索角色。