A Differentiable Point Process with Its Application to Spiking Neural Networks