使用 TensorFlow 在 CERN LHC 上一次性重建数千个粒子
2021 年 4 月 22 日

来自 CERN, EP/CMG 的 Jan Kieseler 的客座文章

简介

在大型对撞机,如 CERN LHC (大型强子对撞机) 中,高能粒子束发生碰撞,并根据著名的方程 E=mc2,利用碰撞能量产生巨大的,可能是未知的粒子。这些新产生的粒子大多不稳定,几乎立即衰变成更稳定的粒子。检测这些衰变产物并精确测量它们的性质是了解高能碰撞过程的关键,并且可能会揭示暗物质起源等重大问题的线索。

检测和测量粒子

为此,碰撞相互作用点周围环绕着大型探测器,这些探测器尽可能覆盖衰变产物的所有可能方向和能量。这些探测器进一步细分为子探测器,每个子探测器收集互补的信息。最靠近相互作用点的最内层探测器是跟踪器,它由多层组成。与相机类似,每层都可以检测带电粒子穿过的空间位置,从而可以获得粒子的轨迹。结合强磁场,该轨迹可以获得粒子的电荷和动量。

虽然跟踪器旨在仅测量轨迹,同时最大限度地减少与粒子的任何进一步相互作用和散射,但下一个子探测器层旨在完全阻止它们。通过完全阻止粒子,这些量热计可以提取初始粒子能量,还可以检测中性粒子。唯一穿过这些量热计的粒子是μ子,它们由构成最外层探测器壳的额外μ子室识别,并使用与跟踪器相同的检测原理。

Layout of the CMS detector, showing different particle species interacting with the sub-detectors (Image credit: CERN).
CMS 探测器的布局,显示了不同粒子种类与子探测器的相互作用(图片版权:CERN)。

将来自所有这些子探测器的信息组合起来以重建最终粒子是一项具有挑战性的任务,不仅因为我们希望获得最佳物理性能,而且在可用于开发和调整重建算法的计算资源和人力方面也是如此。特别是对于 CERN LHC 的扩展,即高亮度 LHC,其目标是收集前所未有的数据量,这些算法需要在碰撞速率为 40MHz 且每次碰撞中最多有 200 次同时相互作用的情况下表现良好,这会导致来自所有子探测器的最多约一百万个信号。

即使使用触发器,一种对感兴趣事件进行快速、逐步过滤的方法,存储到磁盘的总数据量仍然包括几 PB,这使得在所有阶段都必须使用高效的算法。

高能物理中的经典重建算法严重依赖于各个步骤的分解以及大量的领域(物理)知识。虽然它们的表现相当不错,但开发这些算法所需的理想假设限制了性能,因此机器学习方法通常用于细化经典重建的粒子,并逐渐进入越来越多的重建链中。机器学习方法得益于所有探测器组件和物理过程的非常精确的模拟,该模拟在多个数量级上有效,因此可以在很短的时间内轻松地生成大量标记数据。这导致了基于神经网络的识别和回归算法的兴起,以及将 TensorFlow 作为标准推理引擎包含在紧凑型μ子螺线管(CMS)实验的软件框架中。

机器学习重建方法还具有以下优点:它们在构造上必须是自动可优化的,并且需要一个损失函数来训练,该损失函数量化了最终重建目标。相反,经典方法通常在无需定义如此全面的定量指标的情况下进行优化,并且参数是通过人工调整的,涉及许多专家,并需要大量的人力,而这些人力可以用来开发新的算法,而不是调整现有的算法。因此,总体而言,转向可微分的机器学习算法,如深度神经网络,也可以帮助更有效地利用人力资源。

但是,将基于机器学习的算法扩展到从命中重建粒子的第一步 - 而不是仅仅细化已经重建的粒子 - 面临着两个主要挑战:数据结构和将重建表述为最小化问题。

探测器数据高度不规则,因为包含了多个子探测器,每个子探测器都有其自己的几何形状。但即使在子探测器内,例如跟踪器,几何形状也是基于物理方面设计的,在相互作用点附近具有精细的分辨率,而在远离相互作用点的地方具有更粗的分辨率。此外,各个跟踪器层并非密集排列,而是在它们之间留有相当大的空间,并且在每个事件中,只有一小部分传感器实际上是活动的,这会改变每次事件的输入数量。因此,需要规则网格的神经网络,例如卷积神经网络架构 - 尽管它们的性能良好并且具有高度优化的实现 - 并不适用。

图神经网络可以弥合这一差距,并且原则上允许从探测器几何形状中抽象出来。最近,在高能物理中,已经研究了来自计算机科学的几种图神经网络方案,用于细化已经重建的粒子。但是,鉴于数据的输入维数很高,这些方案中的许多无法直接用于从命中重建粒子,因此需要定制解决方案。一个例子是GravNet,它通过构造显着降低了资源需求,同时通过使用稀疏动态邻接矩阵并在没有内存开销的情况下执行大多数操作来保持良好的物理性能

这尤其可以通过 TensorFlow 实现,它使将自定义内核轻松地实现和加载到图中以及集成用于融合操作的自定义分析梯度变得容易。只有这些自定义内核和网络结构的组合才能将完整的物理事件加载到 GPU 内存中,对其进行网络训练,并执行推理。

GravNet layer architecture
GravNet 层架构(从左到右):点特征被投影到特征空间 FLR 和低维坐标空间 S 中;在 S 中确定 k 个最近邻;累积距离加权邻域特征的均值和最大值;累积的特征与原始特征相结合。

由于许多重建任务,即使是已经重建粒子的细化,也依赖于未知数量的输入,因此 TensorFlow 中最近添加和支持的不规则数据结构原则上开辟了许多新的可能性。虽然集成还不足以构建完整的神经网络架构,但将来完全支持不规则数据结构将是将 TensorFlow 更深入地集成到重建算法中的重要一步,并将使某些自定义内核过时。

使用深度神经网络直接从命中重建粒子时的第二个挑战是训练网络以从未知数量的输入中预测未知数量的粒子。对于在密集数据(如图像)中检测密集对象的算法和训练方法有很多,但虽然在某些情况下可以放松密集数据的要求,但这些算法中的大多数仍然依赖于对象是密集的或具有清晰的边界,这使得可以使用锚框或对象的中心点。然而,探测器中的粒子通常在很大程度上重叠,它们的稀疏性不允许定义中心点或清晰的边界。解决这个问题的方案是对象浓缩,其中对象属性在每个对象的至少一个代表性浓缩点中进行浓缩,该浓缩点可以通过网络通过高置信度得分自由选择。

cluster points

为了解决歧义,其他点使用势函数(如上图所示)围绕它们所属的对象进行聚类。但是,这些势函数以可调的方式随置信度得分而变化,因此网络应执行的分割量可调整,直到所有点(除了浓缩点)都可以自由浮动,以防我们只对最终的对象属性感兴趣。

该算法的某些部分与先前论文中提出的方法非常相似,但目标完全不同。虽然以前的方法构成了一种非常强大的分割算法,将图像中的像素移动到围绕中心点聚类对象,但这里的浓缩点直接携带对象属性,并且通过势函数的选择,聚类空间可以完全脱离输入空间。后者对稀疏探测器数据(具有重叠的粒子)的适用性具有重大影响,但从概念上来说也不区分“东西”和“事物”,为单次全景分割提供了一种新的视角。

但回到粒子重建,如相应的论文所示,对象浓缩甚至在非常接近经典算法的理想假设的简化问题上也能胜过经典的粒子重建算法。因此,它提供了一种直接从命中进行经典重建方法的替代方案。

基于这项有前景的研究,正在进行的工作是将这种方法扩展到 CERN CMS 实验中计划中的新子探测器高粒度量热仪 (High Granularity Calorimeter) 的模拟事件。该探测器拥有大约 200 万个传感器,覆盖了靠近入射束的特别具有挑战性的“前向”区域,大多数粒子都在该区域产生。与已发布的概念验证相比,这个现实环境要具有挑战性得多,需要优化网络结构,甚至需要更多自定义 TensorFlow 操作,这些操作可以在 开发的 Github 仓库 中找到,该仓库使用 DeepJetCore 作为与高能物理学中常用的数据格式的接口。目前,特别关注的是实现快速 k-最近邻算法,这是 GravNet 的一个关键构建块,它可以处理大型输入维度,但也包括其他操作的零碎实现以及对象压缩损失的实现。

结论

总之,深度神经网络在重建任务中的应用正在发生转变,从优化经典重建粒子转变为直接重建粒子及其属性,以一种可优化且高度并行化的方式来应对未来的人力资源和计算挑战。这种发展将催生更多定制实现,并将使用 TensorFlow 和 tf.keras 中更多尖端的特性,如零碎数据结构,因此高能物理重建开发人员和 TensorFlow 开发人员之间更密切的联系是可预见的。

致谢

我要感谢 Google 的 Thiru Palanisamy 和 Josh Gordon 在博客文章合作以及提供积极反馈方面提供的支持。

下一篇文章
Reconstructing thousands of particles in one go at the CERN LHC with TensorFlow

来自 CERN EP/CMG 的 Jan Kieseler 撰写的一篇客座文章简介 在像 CERN LHC (大型强子对撞机) 这样的大型对撞机中,高能粒子束碰撞,从而根据著名的公式 E=mc2,从碰撞能量中产生大量的、可能尚未知的粒子。大多数这些新产生的粒子是不稳定的,几乎立即衰变成更稳定的粒子。…