Training Overview

Training Overview - Supervised & Unsupervised (Deep-Learning)

In order to perform deep learning supervised training, firstly, end-users need to perform annotations on a set of images that is called Training Images, and the remaining will be called Test Images.

The algorithm (machine learning) learns from the annotated data, which was used from the Training set of images.

The set of Testing Images is then evaluated using the Prediction Model, which is finally used to provide a first set of statistics. The statistics can be used to verify if the Bad Parts from Test Images are indeed identified by the Prediction Model.

On the other hand, for the unsupervised model, unannotated (unlabeled) data is provided and the algorithm tries to make sense of by extracting features and patterns on its own.

PEKAT VISION software offers training of models using both Supervised and Unsupervised methods. Detailed modules information can be found within the article .

The Unsupervised module available is , where the only required end-user input is to assign at least 10 images to ‘OK’ class.

The remaining modules are supervised, where the end-user is required to perform detailed annotations, however, the results are extremely accurate.

In order to provide a better understanding, find below a top-level schematic on how supervised training works in machine learning:

 

Training Overview Fluxogram

The Training mode for PEKAT is available for the following Modules:

Anomaly of Surface

Classifier

Detector

Surface Detection

Below you can find a Training Overview Fluxogram, which demonstrates the overall training steps. However, for detailed training information about a specific module, please access the desired module’s page.

 

 

Training Graph - Loss Function Chart

The Training Model begins after clicking on ‘Start Training’ button, from that point a dialog window will display a training chart only for the following modules:

Classifier

Detector

Surface Detection (Chart not available for option Type 2 - Experimental - The number of training cycles is defined by end-user before starting the training)

Based on the chart displayed, its graph gives you indication for the ideal moment to stop the training model from running.

The graph should gradually decrease over the training duration, because as the graph decreases, training model results are improving.

Note that the Training Model can be finished at any time, however, the optimal moment is when the chart is not decreasing anymore (sideways graph).

As shown below, the graph decreased over time at first and then near the end it had not been decreasing for a while, therefore, the end-user should click on 'Finish Training' button in order to evaluate the results.

 

Please note the chart is not available for the Module Anomaly of Surface, since by default we have the following:

Fast Training - Minimum amount of training cycles pre-determined by the software

Deep Training - End-user defines the number of training cycles

As described above, for both functions, the number of epochs is determined before training starts, therefore loss function graph is not available.

Avoiding Overfitting

Overfitting is a situation when the model becomes so specific to the training set that it starts to lose the ability to generalize and has bad results on different (testing) images. While performing training, the Loss Function graph is displayed, showing the error in relation to the Training image set. In some cases, Validation image set can be used to evaluate how well the model performs on unseen images already during training. Overfitting zones are likely to happen in machine learning, when the loss function for the Validation set reaches its lowest peak as can be seen on this comparison between Training and Validation loss graphs.

There are several methods that help to prevent this situation from happening and we would like to highlight that our algorithm is designed to prevent overfitting.

If training is not interrupted when the graph is not decreasing anymore, the model will stop improving, meaning that you will not achieve better results. However, this will not cause weakness to the model, in other words, this will not increase the presence of false positives/negatives - it will just not provide better results. Therefore, if the graph is not decreasing anymore, it means the model stopped from improving.

Extend Model

Extend model function is only available for the modules Classifier, Detector and OCR.

This function allows you perform further training on an already trained model.

If you choose this option, the Network Type will be automatically set in compliance with the already trained model, as shown on pictures below:

 

Extend Model for Detector Module

 

Extend Model for Classifier Module

 


Augmentation - Training Parameters

For detailed explanation regarding augmentation (training parameters), visit the following article Augmentation Glossary.

Model Validation

By default, each training module is inactive and a model must be selected to activate (validate) it.

The model can be selected by using the radio button and then click the ‘Preview' button - Validation is designed to check the model’s results.

When a model is validated (selected), the statistics will then be based on the selected model, as shown on picture below:


Fast Training Mode & Deep Learning Mode

At first, we recommend to run different models in Fast Training mode, using different sizes of view-finder and training parameters (brightness resistance, resistance to deviation, etc.) to find out what combination works best in your case. When you find suitable settings, but you would like to achieve even more precise results, you may try Deep Training mode, with more training cycles, however, using the same training parameters (settings).

Information on training process and conditions used for a particular model are available by clicking on the info icon in the list of models, as shown on picture below.

Â