Когда пучки частиц сталкиваются на высоких энергиях в Большом адронном коллайдере (LHC) в CERN, энергия столкновения рождает множество новых частиц — часто нестабильных и почти мгновенно распадающихся на более стабильные. Чтобы понять физику самого столкновения, учёным нужно точно восстановить свойства именно продуктов распада, а не только зафиксировать сам факт удара.
Как устроен детектор
Место столкновения окружают массивные детекторы, охватывающие все возможные направления и энергии разлетающихся частиц. Устройство состоит из нескольких вложенных слоёв-субдетекторов, каждый из которых собирает свою часть информации. Самый внутренний слой — трекер: он состоит из множества пластин и фиксирует, через какую точку в пространстве прошла заряженная частица, восстанавливая тем самым её траекторию. В сочетании с сильным магнитным полем эта траектория позволяет определить заряд и импульс частицы. Задача трекера — измерить путь частицы, минимально её при этом рассеивая; окончательно частицы останавливают уже более поздние слои детектора.
Свести данные со всех субдетекторов воедино и восстановить итоговые частицы — сложная вычислительная задача. А после модернизации LHC объём данных вырастет многократно: частота столкновений составит 40 МГц, при этом в каждом событии одновременно может происходить до 200 взаимодействий, что даёт около миллиона сигналов за раз.
Почему классические алгоритмы буксуют
Традиционные алгоритмы реконструкции в физике высоких энергий разбивают задачу на последовательные шаги — но упрощающие допущения, необходимые для такого подхода, ограничивают их точность. Методы машинного обучения давно применяются, чтобы «дошлифовывать» уже классически реконструированные частицы: точные симуляции детекторов и физических процессов быстро дают большие массивы размеченных данных для обучения нейросетевых алгоритмов идентификации и регрессии. TensorFlow, в частности, стал стандартным инференс-движком в программной платформе эксперимента CMS (Compact Muon Solenoid).
Проблема в том, что данные с детектора крайне нерегулярны: слои трекера не упакованы плотно, между ними значительные промежутки, а активной в каждом конкретном событии оказывается лишь малая доля сенсоров — число входных сигналов меняется от события к событию. Из-за этого даже свёрточные нейросети здесь неприменимы. Графовые нейросети частично решают проблему, абстрагируясь от геометрии детектора, но высокая размерность входных данных не позволяет напрямую реконструировать частицы из «сырых» срабатываний сенсоров.
Что даёт TensorFlow
TensorFlow позволяет реализовывать и загружать в вычислительный граф собственные кастомные ядра (custom kernels), а также встраивать собственные аналитические градиенты для объединённых операций. Комбинация таких кастомных ядер с архитектурой сети даёт возможность загрузить целиком одно физическое событие в память GPU, обучить на нём сеть и тут же выполнить инференс. Отдельно исследователи отмечают недавно добавленные в TensorFlow «рваные» (ragged) структуры данных — шаг к более глубокой интеграции фреймворка в алгоритмы реконструкции, который постепенно делает часть кастомных ядер ненужной.
Обучить сеть предсказывать заранее неизвестное число частиц по неизвестному числу входных сигналов — отдельный вызов. Алгоритмы для детектирования объектов на плотных данных, вроде изображений, обычно опираются на чёткие границы объектов, а частицы в детекторе часто сильно перекрываются и такой чёткой границы не имеют. Для этого применяется метод Object Condensation: свойства объекта «сжимаются» в одну или несколько представительных точек-конденсаторов, а сама нейросеть свободно выбирает объекты по уровню уверенности (confidence score). По данным авторов исследования, такой подход превосходит по точности классические алгоритмы реконструкции и предлагает полноценную альтернативу — напрямую из показаний сенсоров, минуя промежуточные этапы. Прототип метода опубликован в виде проекта HGCalML на GitHub.
Источник: MarkTechPost.