Giter VIP home page Giter VIP logo

recnn's Introduction

QCD-Aware Recursive Neural Networks for Jet Physics

https://arxiv.org/abs/1702.00748

  • Gilles Louppe
  • Kyunghyun Cho
  • Cyril Becot
  • Kyle Cranmer

Recent progress in applying machine learning for jet physics has been built upon an analogy between calorimeters and images. In this work, we present a novel class of recursive neural networks built instead upon an analogy between QCD and natural languages. In the analogy, four-momenta are like words and the clustering history of sequential recombination jet algorithms is like the parsing of a sentence. Our approach works directly with the four-momenta of a variable-length set of particles, and the jet-based tree structure varies on an event-by-event basis. Our experiments highlight the flexibility of our method for building task-specific jet embeddings and show that recursive architectures are significantly more accurate and data efficient than previous image-based networks. We extend the analogy from individual jets (sentences) to full events (paragraphs), and show for the first time an event-level classifier operating on all the stable particles produced in an LHC event.


Please cite using the following BibTex entry:

@article{louppe2017qcdrecnn,
           author = {{Louppe}, G. and {Cho}, K. and {Becot}, C and {Cranmer}, K.},
            title = "{QCD-Aware Recursive Neural Networks for Jet Physics}",
          journal = {ArXiv e-prints},
    archivePrefix = "arXiv",
           eprint = {1702.00748},
     primaryClass = "hep-th",
             year = 2017,
            month = feb,
}

Instructions

Requirements

  • python 2.7
  • autograd
  • scikit-learn
  • click

Data

(mirror to be released)

Usage

Classification of W vs QCD jets:

# Training
python train.py data/w-vs-qcd/final/antikt-kt-train.pickle model.pickle

# Test
# see notebooks/04-jet-study.ipynb

Classification of full events:

# Training
python train_event.py data/events/antikt-kt-train.pickle model.pickle

# Test
python test_event.py data/events/antikt-kt-train.pickle data/events/antikt-kt-test.pickle model.pickle 100000 100000 predictions.pickle
# see also notebooks/04-event-study.ipynb

Rebuilding the data

Additional requirements:

Building W vs QCD jet data:

  1. Load data from h5 files. Execute cells 1-3 from notebooks/01-load-w-vs-qcd.ipynb. Adapt cell 3 as necessary.
  2. Split the data into train and test. Execute cells 1-3 from notebooks/02-split-train-test.ipynb. Adapt cell 3 as necessary.
  3. Preprocess the data. Execute cells 1-6 from notebooks/03-preprocessing.ipynb. Adapt cell 6 as necessary. Run one of the following cells depending on the desired topology.
  4. (Optional) Repack the train and test using the last cell of notebooks/03-preprocessing.ipynb. This is necessary for historical reasons to exactly reproduce the paper data.

Building full event data:

  1. Load data from pickle files. Execute cells 1-2, 4-7. Adapt cell 7 as necessary.
  2. Split the data into train and test. Execute cells 1-2 and the last of notebooks/02-split-train-test.ipynb.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.