ANNHUB model training process is based on this workflow
The Neural Network design flow typically contains five major steps, as shown above.
Step 1: Prepare dataset
The first step involves data-set preparation. In this step, based on the requirements of an application, raw data is collected, processed and transformed to form a dataset that contains a collection of input-target pairs.
The data set is then divided into three small sets, including training set, validation set, and test set.
- The training set is used to train a Neural Network.
- The validation set is used to prevent over-fitting issues during the training process
- The test set is used to evaluate the Neural Network stability and test if it could cope with a completely new dataset.
Step 2: Configure neural network
Once the dataset is available, the Neural Network structure will be configured accordingly. This step involves defining how many input nodes, hidden nodes, and output nodes of the Neural Network.
The activation functions for hidden layers and output layers are also being described in this step.
Both pre-processing and post-processing methods are configured to transform data-set inputs into the correct range that the Neural Network can use and reverse its outputs to the range that match data-set targets.
This step also allows users to choose the correct training algorithm and the cost function to be used in a training procedure.
Step 3: Train neural network
After the Neural Network is configured, a selected training algorithm that uses the training set will teach Neural Network to learn dataset input-target mapping. This training algorithm is based on the optimization process that minimizes the errors by adjusting the Neural Network weights.
During that training process, the validation set is used to prevent the over-fitting issue.
Step 4: Evaluate neural network
The trained Neural Network is then evaluated in step 4 to test how it responds to an entirely new dataset.
Evaluation techniques such as confusion matrix, ROC curves, regression curves will be used to decide if the Neural Network must be retrained due to poor generalization.
Step 5: Deploy neural network
If the trained Neural Network copes well with a new dataset and its performance meets desired criteria in terms of robustness and accuracy, it will be deployed to a given application in step 5.