graphnet-team / graphnet

A Deep learning library for neutrino telescopes
https://graphnet-team.github.io/graphnet/
Apache License 2.0
85 stars 86 forks source link

Rnn attention #653

Closed Aske-Rosted closed 4 months ago

Aske-Rosted commented 5 months ago

This PR adds RNN_TITO model, and the necessary sub modules. This model has been developed specifically to tackle the issue of having large amounts of DOM activation's or pulses within the high energy domain. Many of the models suggested in the Kaggle competition simply limited the max amount of pulses so that the models could fit inside memory.

The RNN TITO model is based on applying a reccurent neural network per node treating the pulse data as time series data, effectively reducing the number of nodes from # pulses to # activated DOMs. The output of the RNN is joined with the DOM summary features x,y,z first-hit-time, total-energy. The output of this module is then used as input to a model based on the first place Kaggle competition winner TITO.

This PR also allows for the learnable fourier transform (or sinusodial positional embedding as the module is named inside the code) as it was implemented in the 2nd place Kaggle competition solution.

The PR also allows for more customization of the dynedge tito model.

A schematic of the model can be seen below.

DOM RNN model.pdf