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 from the Training set of images, producing a Prediction Model.

The set of Testing Images is then evaluated using the Prediction Model, which can be used to provide a set of statistics. The statistics can help us 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 it 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 Modules.

The Unsupervised module available is Anomaly Detector, 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:

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

Anomaly Detector

Classifier

Detector

Surface Detection

OCR

Below you can find a Training Overview Flowchart, 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 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

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

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

Note that training 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 Detector, 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.

 

For OCR module the number of epochs is also set before starting the training.

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.

 

Extend Model for Detector Module

 

Extend Model for Classifier Module

 


Augmentation

For detailed explanation regarding augmentation, visit the 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 you can click the Preview button to check the model’s results, as shown in the picture below. When a model is selected, the statistics will then be based on the selected model.


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 in the picture below.