Neural network library written entirely in Ada.
Neural_Kit is an experimental, CPU-based neural network library designed to explore and implement neural networks from first principles using Ada.
The project focuses on building the fundamental components of neural networks incrementally, with a simple and strongly typed API.
Version: 0.1.0
The first release implements a trainable single neuron for binary classification.
The neuron uses:
- Weighted inputs and bias
- Sigmoid activation
- Binary cross-entropy loss
- Gradient descent
- Binary classification
The current implementation is CPU-only and does not depend on external machine-learning frameworks.
The library is organized into small components that will grow as the project develops.
Neural_Kit.Types— Common neural-network data types.Neural_Kit.Neuron— Single-neuron implementation.example/— Separate example project demonstrating how Neural_Kit can be used.
The included example trains a single neuron to learn the AND logical operation.
The training process demonstrates the complete basic machine-learning workflow:
- Feed inputs into the neuron.
- Calculate the prediction.
- Calculate the loss.
- Update the weights and bias.
- Repeat the process over multiple epochs.
- Test the trained neuron.
The example shows that a single neuron can learn a linearly separable binary classification problem such as AND.
Neural_Kit will be developed progressively from individual neurons toward larger neural-network architectures.
- Single neuron
- Binary classification
- Sigmoid activation
- Binary cross-entropy
- Gradient descent
- Multiple neurons
- Layers
- Neural networks
- Backpropagation
- Optimizers
- Tensors
- Advanced neural-network architectures
The long-term goal of Neural_Kit is to provide a native Ada foundation for building and experimenting with neural networks, while keeping the implementation understandable, strongly typed, and suitable for high-performance CPU computation.
MIT OR Apache-2.0 WITH LLVM-exception