34
Using neural networks for gamma/neutron discrimination on NEDA data 5 juillet 2018 G. Baulieu , L. Ducroux, J. Dudouet, X. Fabian, O. Stezowski IPN Lyon 1. Context : NEutron Detector Array 2. Neural Networks 3. Results 3rd April 2019 GPU @CC-IN2P3

Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

Using neural networks for gamma/neutron discrimination on NEDA data

5 juillet 2018

G. Baulieu, L. Ducroux, J. Dudouet, X. Fabian, O. StezowskiIPN Lyon

1. Context : NEutron Detector Array2. Neural Networks

3. Results

3rd April 2019GPU @CC-IN2P3

Page 2: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

2

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ The NEutron Detector Array (NEDA)

Neural NetworksResults

• Neutron detector• First campaign in 2018 at GANIL :

• ancillary of AGATA along with DIAMANT (charged particles)→ selection of events according to neutrons, protons and alpha rays

• Made of liquid organic scintillators• Reacts to neutrons and gamma rays

neutron

gamma

Target : to be able to distinguish neutrons and gammas by Pulse Shape Analysis

Page 3: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

3

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ NEDA PSA

Neural NetworksResults

• Comparison of fast and slow components

Page 4: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

3

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ NEDA PSA

Neural NetworksResults

• Comparison of fast and slow components

Page 5: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

3

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ NEDA PSA

Neural NetworksResults

• Comparison of fast and slow components• Cuts for final selection

γ γn0

n0

Page 6: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

4

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Using neural networks for PSA

Neural NetworksResults

First studies by P-A Söderström et al using a Multi Layers Perceptron in Root

Page 7: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

4

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Using neural networks for PSA

Neural NetworksResults

First studies by P-A Söderström et al using a Multi Layers Perceptron in Root

Interesting results but too slow → Migration to

Page 8: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

4

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Using neural networks for PSA

Neural NetworksResults

First studies by P-A Söderström et al using a Multi Layers Perceptron in Root

Interesting results but too slow → Migration to

Training in Python → Freeze the model → Load the model for inference in C++ (Ganpro)

Page 9: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

5

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Creation of a training set

Neural NetworksResults

• No full simulation → need to use real data

Page 10: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

5

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Creation of a training set

Neural NetworksResults

• No full simulation → need to use real data

• Use very conservative cuts and let some areas as unknown

Page 11: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

5

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Creation of a training set

Neural NetworksResults

• No full simulation → need to use real data

• Use very conservative cuts and let some areas as unknown

→ Tests on 2 network architectures

• Multi-Layers perceptron : legacy, easy to setup and compute

Page 12: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

5

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Creation of a training set

Neural NetworksResults

• No full simulation → need to use real data

• Use very conservative cuts and let some areas as unknown

→ Tests on 2 network architectures

• Multi-Layers perceptron : legacy, easy to setup and compute

• Recursive Neural Network (Long Short-Term Memory) : interesting to analyze time-series...

Page 13: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

6

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Setup on GPU Farm

Neural NetworksResults

• Existing Docker image used in Gitlab-CI (Ubuntu 16.04)→ Conversion to Singularity

• Compilation of TensorFlow-GPU (v1.11) on the cluster with Cuda 9.2

• Each job starts a singularity container before launching the computing process

• NEDA data are naturally split in 6 (number of acquisition cards) : 6 analysis jobs per run

Page 14: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

7

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ GPU usage

Neural NetworksResults

• Not efficient to send a single signal to the GPU → buffering of the signals

Page 15: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

7

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ GPU usage

Neural NetworksResults

• Not efficient to send a single signal to the GPU → buffering of the signals

Bufferof

100 000signals

100 000 treatedsignals

GPU

Packetof

signals

100 000 answers

PacketsOf

compressedsignals

Parallelization (OpenMP)

Page 16: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

7

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ GPU usage

Neural NetworksResults

• Not efficient to send a single signal to the GPU → buffering of the signals

Bufferof

100 000signals

100 000 treatedsignals

GPU

Packetof

signals

100 000 answers

PacketsOf

compressedsignals

Parallelization (OpenMP) 35 %

averageusage

onTesla K80

for LSTM

Page 17: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

8

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Computing Time

Neural NetworksResults

Page 18: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

8

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Computing Time

Neural NetworksResults

Page 19: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

8

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Computing Time

Neural NetworksResults

Page 20: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

8

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Computing Time

Neural NetworksResults

Page 21: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

8

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Computing Time

Neural NetworksResults

Analysis time for a 1 To run (6x15h) on GPU Farm (Tesla K80) : ~ 5 hours

Page 22: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

9

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Results on discrimination

Neural NetworksResults

Page 23: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

9

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Results on discrimination

Neural NetworksResults

γ n0

Page 24: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

10

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Quantification of results using AGATA (1/2)

Neural NetworksResults

Page 25: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

11

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Quantification of results using AGATA (2/2)

Neural NetworksResults

Page 26: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

11

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Quantification of results using AGATA (2/2)

Neural NetworksResults

Results with cuts

Page 27: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

12

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Robustness to desynchronization

Neural NetworksResults

σ = 2

Simulation of signals with a gaussian T0 distribution

Page 28: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

12

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Robustness to desynchronization

Neural NetworksResults

σ = 2 σ = 40

Simulation of signals with a gaussian T0 distribution

Page 29: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

12

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Robustness to desynchronization

Neural NetworksResults

σ = 2 σ = 40

Simulation of signals with a gaussian T0 distribution

LSTM is very robust to T0

shifts!

Page 30: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

13

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Conclusion

Neural NetworksResults

• Functional neural networks for gamma/neutron discrimination on NEDA data

Page 31: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

13

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Conclusion

Neural NetworksResults

• Functional neural networks for gamma/neutron discrimination on NEDA data

• Computing time compatible with online acquisition (GPU required for LSTM)

Page 32: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

13

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Conclusion

Neural NetworksResults

• Functional neural networks for gamma/neutron discrimination on NEDA data

• Computing time compatible with online acquisition (GPU required for LSTM)

• Faster offline analysis on the CC-IN2P3 GPU Farm (~5H for a big run)

Page 33: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

13

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Conclusion

Neural NetworksResults

• Functional neural networks for gamma/neutron discrimination on NEDA data

• Computing time compatible with online acquisition (GPU required for LSTM)

• Faster offline analysis on the CC-IN2P3 GPU Farm (~5H for a big run)

• LSTM robust to T0 shifts

Page 34: Using neural networks for gamma/neutron discrimination on ... · Using neural networks for gamma/neutron discrimination on NEDA data Context : NEutron Detector Array → Setup on

13

Using neural networks for gamma/neutron discrimination on NEDA data

Context : NEutron Detector Array

→ Conclusion

Neural NetworksResults

• Functional neural networks for gamma/neutron discrimination on NEDA data

• Computing time compatible with online acquisition (GPU required for LSTM)

• Faster offline analysis on the CC-IN2P3 GPU Farm (~5H for a big run)

• LSTM robust to T0 shifts

• Network’s output values usable for fine tuning of neutrons selection (better quality or more statistic)