  We introduce SuperNNova, an open source supernova photometric classification
framework which leverages recent advances in deep neural networks. Our core
algorithm is a recurrent neural network (RNN) that is trained to classify
light-curves using photometric information only. Additional information such as
host-galaxy redshift can be incorporated to improve performance. We evaluate
our framework using realistic supernovae simulations that include survey
detection. We show that our method, for the type Ia vs. non Ia supernovae
classification problem, reaches accuracies greater than 96.92 +- 0.09 without
any redshift information and up to 99.55 +- 0.06 when redshift, either
photometric or spectroscopic, is available. Further, we show that our method
attains unprecedented performance for classification of incomplete
light-curves, reaching accuracies >86.4 +- 0.1 (>93.5 +- 0.8) without
host-galaxy redshift (with redshift information) two days before maximum light.
In contrast with previous methods, there is no need for time-consuming feature
engineering and we show that our method scales to very large datasets with a
modest computing budget. In addition, we investigate often neglected pitfalls
of machine learning algorithms. We show that commonly used algorithms suffer
from poor calibration and overconfidence on out-of-distribution samples when
applied to supernovae data. We devise extensive tests to estimate the
robustness of classifiers and cast the learning procedure under a Bayesian
light, demonstrating a much better handling of uncertainties. We study the
benefits of Bayesian RNNs for SN Ia cosmology. Our code is open-sourced and
available on https://github.com/supernnova/SuperNNova.
