ToDo & Ideas - philippeller/freeDOM GitHub Wiki
Likelihood part
- Large scale training
- use
tf.data
API for efficient transfers (done) - current shuffling is extremely inefficient (done)
- use
- What MC to train on?
- L2, L7, …?
- Semi-supervised training on data?
- Try with Upgrade MC
- Determine valid parameter ranges
- Include info whether a pulse is HLC or SCL
Reco pulses contain a
flag
, that we could input to the NN. The value of the flag inI3RecoPulse
is the sum of:
We may want two flags (that are 0 or 1), LC or not and ATWD vs. FADC. Pulse width is highly correlated with flag, but not 100%.1: icecube.dataclasses.PulseFlags.LC 2: icecube.dataclasses.PulseFlags.ATWD 4: icecube.dataclasses.PulseFlags.FADC
- Include charge as training weights for pulses
- Check output node bias, has very wild behaviour. maybe fix to 0...or maybe this is just the case as it is a single number
- Should we add causality constraints? Or is it a bad idea given noise?
- Could also limit parameter ranges in transformation layer, and do sqrt(r) etc
Reco part
- Goal: being able to reco ~10k events in one go, rather than a single event very fast, this would allow to evaluate the reco quality based on distributions
- Minimizer strategy to allow for massive parallelization
- zmq client/server structure for likelihood computations?
- Use available gradients?
- for beginning, could use same minimizer as retro (spherical CRS), as it is a known part of the equation
- What about actually sampling the posterior, now that we'd have a fast enough likelihhod?
- Constraints from valid parameter ranges