Expand description
§concision-neural
This crate focuses on implementing various neural network components, including models, layers, and training mechanisms.
§Overview
§Features
Model: A trait for defining a neural network model.ModelParamsBase: A dedicated object capable of storing the parameters for both shallow and deep neural networks.StandardModelConfig: A standard configuration for the modelsPredict: A trait extending the basicForwardpassTrain: A trait for training a neural network model.
Modules§
- config
- error
- layers
- This module implments various layers for a neural network
- model
- This module provides the scaffolding for creating models and layers in a neural network.
- utils
- Utilities for neural networks.
Structs§
- Dropout
- The Dropout layer is randomly zeroizes inputs with a given probability (
p). This regularization technique is often used to prevent overfitting. - Hyperparameters
Iter - An iterator over the variants of Hyperparameters
- KeyValue
- The
KeyValuetype is used to generically represent a simple key-value pair within a store. - Layer
Base - Model
Features - The
ModelFeaturesprovides a common way of defining the layout of a model. This is used to define the number of input features, the number of hidden layers, the number of hidden features, and the number of output features. - Model
Params Base - The
ModelParamsBaseobject is a generic ocntainer for storing the parameters of a neural network, regardless of the layout (e.g. shallow or deep). This is made possible through the introduction of a generic hidden layer type,H, that allows us to define aliases and additional traits for contraining the hidden layer type. That being said, we don’t reccoment using this type directly, but rather use the provided type aliases such asDeepModelParamsorShallowModelParamsor their owned variants. These provide a much more straighforward interface for typing the parameters of a neural network. We aren’t too worried about the transumtation between the two since users desiring this ability should simply stick with a deep representation, initializing only a single layer within the respective container. - Standard
Model Config - Trainer
Enums§
- Hyper
Params - Hyperparameters
- Auto-generated discriminant enum variants
- Neural
Error - Training
Error
Traits§
- Deep
Neural Network - The
DeepNeuralNetworktrait is a specialization of theModeltrait that provides additional functionality for deep neural networks. This trait is - Deep
Neural Store - The
DeepNeuralStoretrait for deep neural networks - Layer
- A layer within a neural-network containing a set of parameters and an activation function. Here, this manifests as a wrapper around the parameters of the layer with a generic activation function and corresponding traits to denote desired behaviors.
- Model
- The base interface for all models; each model provides access to a configuration object
defined as the associated type
Config. The configuration object is used to provide hyperparameters and other control related parameters. In addition, the model’s layout is defined by thefeaturesmethod which aptly returns a copy of its [ModelFeatures] object. - Model
Ext - Model
Layout - Model
Trainer - Network
Config - Predict
- Predict isn’t designed to be implemented directly, rather, as a blanket impl for any
entity that implements the
Forwardtrait. This is primarily used to define the base functionality of theModeltrait. - Predict
With Confidence - This trait extends the
Predicttrait to include a confidence score for the prediction. The confidence score is calculated as the inverse of the variance of the output. - RawHidden
- The
RawHiddentrait for compatible representations of hidden layers - Shallow
Neural Store - The
ShallowNeuralStoretrait for shallow neural networks - Train
- This trait defines the training process for the network
- Training
Configuration
Type Aliases§
- Deep
Model Params - a type alias for an owned representation of the
DeepParamsBasegeneric of typeAand the dimensionD. - Deep
Params Base - a type alias for a deep representation of the
ModelParamsBaseusing a vector of parameters as the hidden layers. - Neural
Result - a type alias for a Result with a NeuralError
- Shallow
Model Params - a type alias for an owned representation of the
DeepParamsBasegeneric of typeAand the dimensionD. - Shallow
Params Base - a type alias for a shallow representation of the
ModelParamsBaseusing a singleParamsBaseinstance as the hidden layer.