SAGRAD: A Program for Neural Network Training with Simulated Annealing and the Conjugate Gradient Method

Javier Bernal, Jose Torres-Jimenez
1/31/2025
cs.LGcs.NE

No confident code implementation found for this paper.

Abstract

SAGRAD (Simulated Annealing GRADient), a Fortran 77 program for computing neural networks for classification using batch learning, is discussed. Neural network training in SAGRAD is based on a combination of simulated annealing and Møller's scaled conjugate gradient algorithm, the latter a variation of the traditional conjugate gradient method, better suited for the nonquadratic nature of neural networks. Different aspects of the implementation of the training process in SAGRAD are discussed, such as the efficient computation of gradients and multiplication of vectors by Hessian matrices that are required by Møller's algorithm; the (re)initialization of weights with simulated annealing required to (re)start Møller's algorithm the first time and each time thereafter that it shows insufficient progress in reaching a possibly local minimum; and the use of simulated annealing when Møller's algorithm, after possibly making considerable progress, becomes stuck at a local minimum or flat area of weight space. Outlines of the scaled conjugate gradient algorithm, the simulated annealing procedure and the training process used in SAGRAD are presented together with results from running SAGRAD on two examples of training data.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{bernal2025sagrad,
  title  = {SAGRAD: A Program for Neural Network Training with Simulated Annealing and the Conjugate Gradient Method},
  author = {Javier Bernal and Jose Torres-Jimenez},
  year   = {2025},
  eprint = {2502.00112},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.00112v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2502.00112.svg)](https://codeofpaper.com/paper/2502.00112)

Discussion