1: \begin{abstract}
2: We present the first public release of our generic neural network
3: training algorithm, called {\sc SkyNet}. This efficient and robust
4: machine learning tool is able to train large and deep feed-forward
5: neural networks, including autoencoders, for use in a wide range of
6: supervised and unsupervised learning applications, such as regression,
7: classification, density estimation, clustering and dimensionality
8: reduction. {\sc SkyNet} uses a `pre-training' method to
9: obtain a set of network parameters that has empirically been shown to be close to a good solution,
10: followed by further optimisation
11: using a regularised variant of Newton's method, where the level of regularisation is determined
12: and adjusted automatically; the
13: latter uses second-order derivative information to improve
14: convergence, but without the need to evaluate or store the full
15: Hessian matrix, by using a fast approximate method to calculate
16: Hessian-vector products. This combination of methods allows for the
17: training of complicated networks that are difficult to optimise using
18: standard backpropagation techniques. {\sc SkyNet} employs convergence
19: criteria that naturally prevent overfitting, and also includes a fast
20: algorithm for estimating the accuracy of network outputs. The utility
21: and flexibility of {\sc SkyNet} are demonstrated by application to a
22: number of toy problems, and to astronomical problems focusing on the
23: recovery of structure from blurred and noisy images, the
24: identification of gamma-ray bursters, and the compression and
25: denoising of galaxy images. The {\sc SkyNet} software, which is
26: implemented in standard ANSI C and fully parallelised using MPI, is
27: available at {\tt http://www.mrao.cam.ac.uk/software/skynet/}.
28: \end{abstract}
29: