The simple-neural-network Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The simple-neural-network Reference Manual

This is the simple-neural-network Reference Manual, version 3.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Apr 19 17:47:24 2021 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

#+TITLE: Simple Neural Network
#+AUTHOR: Guillaume Le Vaillant
#+DATE: 2020-12-03
#+EMAIL: glv@posteo.net
#+LANGUAGE: en
#+OPTIONS: num:nil toc:nil html-postamble:nil html-scripts:nil
#+HTML_DOCTYPE: html5


* Description

*simple-neural-network* is a Common Lisp library for creating, training and
using basic neural networks. The networks created by this library are
feedforward neural networks trained using backpropagation. The activation
function used by the neurons is ~A(x) = 1.7159 * tanh(0.66667 * x)~.

*simple-neural-network* depends on the *cl-store* and *lparallel* libraries.

* License

*simple-neural-network* is released under the GPL-3 license. See the [[file:LICENSE][LICENSE]]
file for details.

* API

The functions are in the /simple-neural-network/ package. You can use the
shorter /snn/ nickname if you prefer.

The library works with double floats. Your inputs and targets must therefore be
vectors of ~double-float~ numbers. For better results, they should also be
normalized to contain values between -1 and 1. The ~find-normalization~ helper
function can be used to generate normalization and denormalization functions
from sample inputs, but it might not be adapted to every use case.

If ~lparallel:*kernel*~ is set or bound, some computations will be done in
parallel. This is only useful if the network is big enough, because the
overhead of task management can instead slow things down for small networks.


#+BEGIN_SRC lisp
(create-neural-network input-size output-size &rest hidden-layers-sizes)
#+END_SRC

Create a neural network having /input-size/ inputs, /output-size/ outputs, and
optionally some intermediary layers whose sizes are specified by
/hidden-layers-sizes/. The neural network is initialized with random weights
and biases.


#+BEGIN_SRC lisp
(train neural-network inputs targets learning-rate
       &key batch-size momentum-coefficient)
#+END_SRC

Train the /neural-network/ with the given /learning-rate/ and
/momentum-coefficient/ using some /inputs/ and /targets/. The weights are
updated every /batch-size/ inputs.


#+BEGIN_SRC lisp
(predict neural-network input &optional output)
#+END_SRC

Return the output computed by the /neural-network/ for a given /input/. If
/output/ is not ~nil~, the output is written in it, otherwise a new vector is
allocated.


#+BEGIN_SRC lisp
(store neural-network place)
#+END_SRC

Store the /neural-network/ to /place/, which must be a stream or
a pathname-designator.


#+BEGIN_SRC lisp
(restore place)
#+END_SRC

Restore the neural network stored in /place/, which must be a stream or
a pathname-designator.


#+BEGIN_SRC lisp
(copy neural-network)
#+END_SRC

Return a copy of the /neural-network/.


#+BEGIN_SRC lisp
(index-of-max-value values)
#+END_SRC

Return the index of the greatest value in /values/.


#+BEGIN_SRC lisp
(same-category-p output target)
#+END_SRC

Return ~t~ if calls to ~index-of-max-value~ on /output/ and /target/ return the
same value, and ~nil~ otherwise. This function is only useful when the neural
network was trained to classify the inputs in several categories (when targets
contain a 1 for the correct category and and -1 for all the other categories).


#+BEGIN_SRC lisp
(accuracy neural-network inputs targets &key test)
#+END_SRC

Return the rate of good guesses computed by the /neural-network/ when testing
it with some /inputs/ and /targets/. /test/ must be a function taking an output
and a target returning ~t~ if the output is considered to be close enough to
the target, and ~nil~ otherwise. ~same-category-p~ is used by default.


#+BEGIN_SRC lisp
(mean-absolute-error neural-network inputs targets)
#+END_SRC

Return the mean absolute error on the outputs computed by the /neural-network/
when testing it with some /inputs/ and /targets/.


#+BEGIN_SRC lisp
(find-normalization inputs)
#+END_SRC

Return four values. The first is a normalization function taking an input and
returning a normalized input. Applying this normalization function to the
inputs gives a data set in which each variable has mean 0 and standard
deviation 1. The second is a denormalization function that can compute the
original input from the normalized one. The third is the code of the
normalization function. The fourth is the code of the denormalization function.


#+BEGIN_SRC lisp
(find-learning-rate neural-network inputs targets
                    &key batch-size momentum-coefficient epochs
                         iterations minimum maximum)
#+END_SRC

Return the best learing rate found in /iterations/ steps of dichotomic search
(between /minimum/ and /maximum/). In each step, the /neural-network/ is
trained /epochs/ times using some /inputs/, /targets/, /batch-size/ and
/momentum-coefficient/.

* Examples

Neural network for the XOR function:

#+BEGIN_SRC lisp
(asdf:load-system "simple-neural-network")

(defun normalize (input)
  (map 'vector (lambda (x) (if (= x 1) 1.0d0 -1.0d0)) input))

(defun denormalize (output)
  (if (plusp (aref output 0)) 1 0))

(defvar inputs (mapcar #'normalize '(#(0 0) #(0 1) #(1 0) #(1 1))))
(defvar targets (mapcar #'normalize '(#(0) #(1) #(1) #(0))))
(defvar nn (snn:create-neural-network 2 1 4))
(dotimes (i 1000)
  (snn:train nn inputs targets 0.1))

(denormalize (snn:predict nn (normalize #(0 0))))
-> 0

(denormalize (snn:predict nn (normalize #(1 0))))
-> 1

(denormalize (snn:predict nn (normalize #(0 1))))
-> 1

(denormalize (snn:predict nn (normalize #(1 1))))
-> 0
#+END_SRC


Neural network for the MNIST dataset, using parallelism (2 threads):

#+BEGIN_SRC lisp
;; Note: the mnist-load function used below is defined in "tests/tests.lisp".

(setf lparallel:*kernel* (lparallel:make-kernel 2))
(defvar nn (snn:create-neural-network 784 10 128))
(multiple-value-bind (inputs targets) (mnist-load :train)
  (dotimes (i 3)
    (snn:train nn inputs targets 0.003d0)))

(multiple-value-bind (inputs targets) (mnist-load :test)
  (snn:accuracy nn inputs targets))
-> 1911/2000
#+END_SRC

* Tests

The tests require the *fiveam* and *chipz* libraries. They can be run with:

#+BEGIN_SRC lisp
(asdf:test-system "simple-neural-network")
#+END_SRC


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 simple-neural-network

Author

Guillaume Le Vaillant

License

GPL-3

Description

Simple neural network

Version

3.1

Dependencies
Source

simple-neural-network.asd (file)

Component

simple-neural-network.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 simple-neural-network.asd

Location

simple-neural-network.asd

Systems

simple-neural-network (system)


Previous: , Up: Lisp files   [Contents][Index]

3.1.2 simple-neural-network/simple-neural-network.lisp

Parent

simple-neural-network (system)

Location

simple-neural-network.lisp

Packages

simple-neural-network

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 simple-neural-network

Source

simple-neural-network.lisp (file)

Nickname

snn

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Functions

Function: accuracy NEURAL-NETWORK INPUTS TARGETS &key TEST

Return the rate of good guesses computed by the NEURAL-NETWORK when testing it with some INPUTS and TARGETS. TEST must be a function taking an output and a target returning T if the output is considered to be close enough to the target, and NIL otherwise. SAME-CATEGORY-P is used by default.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: copy NEURAL-NETWORK

Return a copy of the NEURAL-NETWORK.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: create-neural-network INPUT-SIZE OUTPUT-SIZE &rest HIDDEN-LAYERS-SIZES

Create a neural network having INPUT-SIZE inputs, OUTPUT-SIZE outputs, and optionally some intermediary layers whose sizes are specified by HIDDEN-LAYERS-SIZES. The neural network is initialized with random weights and biases.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: find-learning-rate NEURAL-NETWORK INPUTS TARGETS &key BATCH-SIZE MOMENTUM-COEFFICIENT EPOCHS ITERATIONS MINIMUM MAXIMUM

Return the best learing rate found in ITERATIONS steps of dichotomic search (between MINIMUM and MAXIMUM). In each step, the NEURAL-NETWORK is trained EPOCHS times using some INPUTS, TARGETS, BATCH-SIZE and MOMENTUM-COEFFICIENT.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: find-normalization INPUTS

Return four values. The first is a normalization function taking an input and returning a normalized input. Applying this normalization function to the inputs gives a data set in which each variable has mean 0 and standard deviation 1. The second is a denormalization function that can compute the original input from the normalized one. The third is the code of the normalization function. The fourth is the code of the denormalization function.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: index-of-max-value VALUES

Return the index of the greatest value in VALUES.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: mean-absolute-error NEURAL-NETWORK INPUTS TARGETS

Return the mean absolute error on the outputs computed by the NEURAL-NETWORK when testing it with some INPUTS and TARGETS.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: predict NEURAL-NETWORK INPUT &optional OUTPUT

Return the output computed by the NEURAL-NETWORK for a given INPUT. If OUTPUT is not NIL, the output is written in it, otherwise a new vector is allocated.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: restore PLACE

Restore the neural network stored in PLACE, which must be a stream or a pathname-designator.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: same-category-p OUTPUT TARGET

Return T if calls to INDEX-OF-MAX-VALUE on OUTPUT and TARGET return the same value, and NIL otherwise.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: store NEURAL-NETWORK PLACE

Store the NEURAL-NETWORK to PLACE, which must be a stream or a pathname-designator.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: train NEURAL-NETWORK INPUTS TARGETS LEARNING-RATE &key BATCH-SIZE MOMENTUM-COEFFICIENT

Train the NEURAL-NETWORK with the given LEARNING-RATE and MOMENTUM-COEFFICIENT using some INPUTS and TARGETS. The weights are updated every BATCH-SIZE inputs.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Macros

Macro: %dotimes (VAR COUNT &optional RESULT) &body BODY
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Macro: %mapc FUNCTION LIST &rest MORE-LISTS
Package

simple-neural-network

Source

simple-neural-network.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: activation X

Activation function for the neurons.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: activation-prime Y

Derivative of the activation function.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: add-gradients INPUT WEIGHT-GRADIENTS BIAS-GRADIENTS DELTA

Add the gradients computed for an input to sum of the gradients for previous inputs.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: add-weight-gradient INPUT GRADIENTS DELTA INDEX

Add the gradients computed for an input for the weights of the neuron at INDEX in a layer to the sum of the gradients for previous inputs.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: average-gradient GRADIENT BATCH-SIZE

Compute the average gradients for a layer.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: average-gradients NEURAL-NETWORK BATCH-SIZE

Compute the average gradients for the whole NEURAL-NETWORK.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: backpropagate NEURAL-NETWORK

Propagate the error of the output layer of the NEURAL-NETWORK back to the first layer and compute the gradients.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: clear-momentum MOMENTUM

Reset momentum to 0.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: clear-momentums NEURAL-NETWORK

Reset all the momentums to 0.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: compute-delta PREVIOUS-DELTA OUTPUT WEIGHTS DELTA

Compute the error of the OUTPUT layer based on the error of the next layer.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: compute-output-delta NEURAL-NETWORK TARGET

Compute the error between the output layer of the NEURAL-NETWORK and the TARGET.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: compute-single-delta PREVIOUS-DELTA OUTPUT WEIGHTS DELTA INDEX

Compute the delta for the neuron at INDEX in the OUTPUT layer.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: compute-value INPUT OUTPUT WEIGHTS BIASES INDEX

Compute the values of the neuron at INDEX in the OUTPUT layer.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: compute-values INPUT OUTPUT WEIGHTS BIASES

Compute the values of the neurons in the OUTPUT layer.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: copy-neural-network INSTANCE
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: denormalize INPUT MEANS STANDARD-DEVIATIONS

Return the original input computed from its normalized variant.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: get-output NEURAL-NETWORK

Return the output layer of the NEURAL-NETWORK.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: make-double-float-array SIZE

Make a new array of SIZE double floats.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: make-neural-network &key (LAYERS LAYERS) (WEIGHTS WEIGHTS) (BIASES BIASES) (DELTAS DELTAS) (WEIGHT-GRADIENTS WEIGHT-GRADIENTS) (WEIGHT-MOMENTUMS WEIGHT-MOMENTUMS) (BIAS-GRADIENTS BIAS-GRADIENTS) (BIAS-MOMENTUMS BIAS-MOMENTUMS)
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: make-random-weights INPUT-SIZE OUTPUT-SIZE

Generate a matrix (OUTPUT-SIZE * INPUT-SIZE) of random weights.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: means INPUTS

Return the means of the variables of the INPUTS.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: neural-network-bias-gradients INSTANCE
Function: (setf neural-network-bias-gradients) VALUE INSTANCE
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: neural-network-bias-momentums INSTANCE
Function: (setf neural-network-bias-momentums) VALUE INSTANCE
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: neural-network-biases INSTANCE
Function: (setf neural-network-biases) VALUE INSTANCE
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: neural-network-deltas INSTANCE
Function: (setf neural-network-deltas) VALUE INSTANCE
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: neural-network-layers INSTANCE
Function: (setf neural-network-layers) VALUE INSTANCE
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: neural-network-p OBJECT
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: neural-network-weight-gradients INSTANCE
Function: (setf neural-network-weight-gradients) VALUE INSTANCE
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: neural-network-weight-momentums INSTANCE
Function: (setf neural-network-weight-momentums) VALUE INSTANCE
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: neural-network-weights INSTANCE
Function: (setf neural-network-weights) VALUE INSTANCE
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: normalize INPUT MEANS STANDARD-DEVIATIONS

Return a normalized variant of the INPUT.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: propagate NEURAL-NETWORK

Propagate the values of the input layer of the NEURAL-NETWORK to the output layer.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: set-input NEURAL-NETWORK INPUT

Set the input layer of the NEURAL-NETWORK to INPUT.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: standard-deviations INPUTS MEANS

Return the standard deviations of the variables of the INPUTS.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: update-weights WEIGHTS GRADIENTS MOMENTUMS GRADIENT-COEFFICIENT MOMENTUM-COEFFICIENT

Update the WEIGHTS and MOMENTUMS of a layer and clear the GRADIENTS.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Function: update-weights-and-biases NEURAL-NETWORK LEARNING-RATE MOMENTUM-COEFFICIENT

Update all the weights and biases of the NEURAL-NETWORK.

Package

simple-neural-network

Source

simple-neural-network.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Structures

Structure: neural-network ()
Package

simple-neural-network

Source

simple-neural-network.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: layers
Readers

neural-network-layers (function)

Writers

(setf neural-network-layers) (function)

Slot: weights
Readers

neural-network-weights (function)

Writers

(setf neural-network-weights) (function)

Slot: biases
Readers

neural-network-biases (function)

Writers

(setf neural-network-biases) (function)

Slot: deltas
Readers

neural-network-deltas (function)

Writers

(setf neural-network-deltas) (function)

Slot: weight-gradients
Readers

neural-network-weight-gradients (function)

Writers

(setf neural-network-weight-gradients) (function)

Slot: weight-momentums
Readers

neural-network-weight-momentums (function)

Writers

(setf neural-network-weight-momentums) (function)

Slot: bias-gradients
Readers

neural-network-bias-gradients (function)

Writers

(setf neural-network-bias-gradients) (function)

Slot: bias-momentums
Readers

neural-network-bias-momentums (function)

Writers

(setf neural-network-bias-momentums) (function)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Types

Type: double-float-array ()
Package

simple-neural-network

Source

simple-neural-network.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   S  
Index Entry  Section

F
File, Lisp, simple-neural-network.asd: The simple-neural-network․asd file
File, Lisp, simple-neural-network/simple-neural-network.lisp: The simple-neural-network/simple-neural-network․lisp file

L
Lisp File, simple-neural-network.asd: The simple-neural-network․asd file
Lisp File, simple-neural-network/simple-neural-network.lisp: The simple-neural-network/simple-neural-network․lisp file

S
simple-neural-network.asd: The simple-neural-network․asd file
simple-neural-network/simple-neural-network.lisp: The simple-neural-network/simple-neural-network․lisp file

Jump to:   F   L   S  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   B   C   D   F   G   I   M   N   P   R   S   T   U  
Index Entry  Section

%
%dotimes: Internal macros
%mapc: Internal macros

(
(setf neural-network-bias-gradients): Internal functions
(setf neural-network-bias-momentums): Internal functions
(setf neural-network-biases): Internal functions
(setf neural-network-deltas): Internal functions
(setf neural-network-layers): Internal functions
(setf neural-network-weight-gradients): Internal functions
(setf neural-network-weight-momentums): Internal functions
(setf neural-network-weights): Internal functions

A
accuracy: Exported functions
activation: Internal functions
activation-prime: Internal functions
add-gradients: Internal functions
add-weight-gradient: Internal functions
average-gradient: Internal functions
average-gradients: Internal functions

B
backpropagate: Internal functions

C
clear-momentum: Internal functions
clear-momentums: Internal functions
compute-delta: Internal functions
compute-output-delta: Internal functions
compute-single-delta: Internal functions
compute-value: Internal functions
compute-values: Internal functions
copy: Exported functions
copy-neural-network: Internal functions
create-neural-network: Exported functions

D
denormalize: Internal functions

F
find-learning-rate: Exported functions
find-normalization: Exported functions
Function, (setf neural-network-bias-gradients): Internal functions
Function, (setf neural-network-bias-momentums): Internal functions
Function, (setf neural-network-biases): Internal functions
Function, (setf neural-network-deltas): Internal functions
Function, (setf neural-network-layers): Internal functions
Function, (setf neural-network-weight-gradients): Internal functions
Function, (setf neural-network-weight-momentums): Internal functions
Function, (setf neural-network-weights): Internal functions
Function, accuracy: Exported functions
Function, activation: Internal functions
Function, activation-prime: Internal functions
Function, add-gradients: Internal functions
Function, add-weight-gradient: Internal functions
Function, average-gradient: Internal functions
Function, average-gradients: Internal functions
Function, backpropagate: Internal functions
Function, clear-momentum: Internal functions
Function, clear-momentums: Internal functions
Function, compute-delta: Internal functions
Function, compute-output-delta: Internal functions
Function, compute-single-delta: Internal functions
Function, compute-value: Internal functions
Function, compute-values: Internal functions
Function, copy: Exported functions
Function, copy-neural-network: Internal functions
Function, create-neural-network: Exported functions
Function, denormalize: Internal functions
Function, find-learning-rate: Exported functions
Function, find-normalization: Exported functions
Function, get-output: Internal functions
Function, index-of-max-value: Exported functions
Function, make-double-float-array: Internal functions
Function, make-neural-network: Internal functions
Function, make-random-weights: Internal functions
Function, mean-absolute-error: Exported functions
Function, means: Internal functions
Function, neural-network-bias-gradients: Internal functions
Function, neural-network-bias-momentums: Internal functions
Function, neural-network-biases: Internal functions
Function, neural-network-deltas: Internal functions
Function, neural-network-layers: Internal functions
Function, neural-network-p: Internal functions
Function, neural-network-weight-gradients: Internal functions
Function, neural-network-weight-momentums: Internal functions
Function, neural-network-weights: Internal functions
Function, normalize: Internal functions
Function, predict: Exported functions
Function, propagate: Internal functions
Function, restore: Exported functions
Function, same-category-p: Exported functions
Function, set-input: Internal functions
Function, standard-deviations: Internal functions
Function, store: Exported functions
Function, train: Exported functions
Function, update-weights: Internal functions
Function, update-weights-and-biases: Internal functions

G
get-output: Internal functions

I
index-of-max-value: Exported functions

M
Macro, %dotimes: Internal macros
Macro, %mapc: Internal macros
make-double-float-array: Internal functions
make-neural-network: Internal functions
make-random-weights: Internal functions
mean-absolute-error: Exported functions
means: Internal functions

N
neural-network-bias-gradients: Internal functions
neural-network-bias-momentums: Internal functions
neural-network-biases: Internal functions
neural-network-deltas: Internal functions
neural-network-layers: Internal functions
neural-network-p: Internal functions
neural-network-weight-gradients: Internal functions
neural-network-weight-momentums: Internal functions
neural-network-weights: Internal functions
normalize: Internal functions

P
predict: Exported functions
propagate: Internal functions

R
restore: Exported functions

S
same-category-p: Exported functions
set-input: Internal functions
standard-deviations: Internal functions
store: Exported functions

T
train: Exported functions

U
update-weights: Internal functions
update-weights-and-biases: Internal functions

Jump to:   %   (  
A   B   C   D   F   G   I   M   N   P   R   S   T   U  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   B   D   L   S   W  
Index Entry  Section

B
bias-gradients: Internal structures
bias-momentums: Internal structures
biases: Internal structures

D
deltas: Internal structures

L
layers: Internal structures

S
Slot, bias-gradients: Internal structures
Slot, bias-momentums: Internal structures
Slot, biases: Internal structures
Slot, deltas: Internal structures
Slot, layers: Internal structures
Slot, weight-gradients: Internal structures
Slot, weight-momentums: Internal structures
Slot, weights: Internal structures

W
weight-gradients: Internal structures
weight-momentums: Internal structures
weights: Internal structures

Jump to:   B   D   L   S   W  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   D   N   P   S   T  
Index Entry  Section

D
double-float-array: Internal types

N
neural-network: Internal structures

P
Package, simple-neural-network: The simple-neural-network package

S
simple-neural-network: The simple-neural-network system
simple-neural-network: The simple-neural-network package
Structure, neural-network: Internal structures
System, simple-neural-network: The simple-neural-network system

T
Type, double-float-array: Internal types

Jump to:   D   N   P   S   T