A glossary has been created to make this documentation easier to use. Here you will find definitions of key terms you may encounter while using OneStepAI.
#Accuracy
A measure of the recognition performance of a neural network model. It usually represents the percentage of correct recognitions over all, calculated on a given set of data different from the training set.
#Adversarial learning
Changes all detected objects so that they look different from the neural network's point of view. Therefore, the neural network launches an adversarial attack on itself.
#AIDWS (Web App)
An application installed on an edge device to run a trained and properly optimized neural network model. The model can be used on an image from a camera connected to the device and streaming real-time video, or on a photo/video file.
#Angle
The rotation angle of the photo, set in the Rotation section of the Dataset Manipulator. The photo is rotated by consecutive multiples of the set angle, until it reaches 360 degrees, or until the limit of photos generated from one for the Rotation operation is reached.
See also: Rotation
#Annotation
The image annotation stores information about the labels describing the depicted objects and any additional information, depending on the selected standard.
#Batch/Batch size
The number of images that the CPU or GPU is processing simultaneously at a given point during the training process.
#Brightness
In the Dataset Manipulator:
Brightness parametrization for images freshly generated by the Brightness and Contrast operation.
See also: Manipulator
#Brightness var (Brightness variance)
The range of brightness changes for newly generated images, on a scale from 0 to 255.
See also: Brightness; Brightness and Contrast
#Brightness and Contrast
In the Dataset Manipulator:
An operation used to change the brightness and/or contrast of an image. Based on a set of input images (or, if this is not the first operation, already generated data), it produces the number of new images specified in the parameter. The formula used here is:
Where:
- the parameter responsible for the contrast change between [0.1-3.0]
.
- the value of the input pixel of the image with and coordinates
- the parameter responsible for brightness change in the range [0,255]
.
Each created image will have a brightness value that is the sum of the original value and a random value from the range. The parameter , responsible for the contrast, will also be generated randomly, taking into account the lower and upper values specified in the parameter (they cannot exceed the range specified above).
See also: Manipulator
#Bucket
Category container. All categories added to it will be merged into a single category matching the name of the bucket, but only in the context of a particular training. The originally defined categories will remain intact.
See also: Category
#Burn in
Initial iterations of training; a 'warm-up' during which the learning rate changes dynamically.
The first n batches (iterations) will increase the learning speed according to the formula: , where power = 4 by default. This parameter cannot be greater than the maximum batch value.
#Category
Used interchangeably with:
- classification category (i.e., a category for training a classification model in which each image belongs to only one category)
or
- detection label category (i.e., a category for training a detection model in which an image has 0 or more object categories assigned to it along with their position coordinates).
It is possible to combine categories. This results in the creation of a super-category that contains the parameters of the sub-categories selected by the user. A super-category in OSAI is called a bucket.
See also: Bucket
#Classification
By classification, we mean giving the entire image a single category or class that defines the object depicted in the image.
#Cloning
A process of creating exact copies of existing datasets.
See also: Dataset cloning
#Confusion matrix
A matrix representing the number of correct and incorrect model recognitions on a given test dataset. It compares the categories that should be recognized (rows) with the categories recognized by the model (cells). Correct recognitions populate cells on the diagonal of the matrix. The remaining cells contain incorrect recognitions.
#Contrast
Range of contrast change for newly generated images shown on a scale from 0.1 to 3.0.
#Conversion
The process of transforming a model from its initial format to the target format. Some information may be lost in the process, resulting in a slight loss of precision. However, conversion usually improves the overall model performance.
OSAI automatically selects the appropriate format, providing a solution optimized for the target hardware.
#Crop threshold
The percentage limit for clipping annotated objects (in images generated by a rotation operation).
A rotation operation may cause some part of an annotated object to be outside the image, i.e. to be clipped. The cropping threshold determines how much of the object must be visible in the resulting image for the annotation to make sense. Annotations of objects with less visibility than the indicated percentage will be removed.
See also: Rotation
#Dashboard
The main view of the user interface. Displays information about all recent actions in the application, such as recently used datasets, recently trained models or recently received notifications.
#Data augmentation
Operations used to increase the amount of data by adding slightly modified copies of already existing data or newly created synthetic data from existing data. It acts as a regularizer and helps reduce overfitting when training a machine learning model - Source.
#Dataset
A collection of data representing classes of objects to be recognized by a trained neural network model. It consists of images and (possibly) annotations added to them.
See also: Annotation
#Dataset manipulator
Go to: Manipulator
#Decay
Weaker update of weights for typical features. It eliminates imbalance in the dataset (optimizer) - Source.
#Detection
Recognition, i.e. the information returned by the neural network model that an object of a given category has been detected in a given area of the image.
See also: Category
#Device
Edge device; an endpoint device on which we can run trained and/or converted neural network models. Running the model on the device is called deployment.
#DNN (Deep Neural Network)
A Deep Neural Network (DNN) is an artificial neural network with multiple layers between the input and output layers. There are different types of neural networks, but they always consist of the same components: neurons, synapses, weights, biases and functions. These components function in a similar way to the human brain and can be trained like any other ML algorithm - Source.
#Early Stop
This means that the model can stop training early if the loss value does not decrease during the specified number of epochs.
#Edge device
Go to: Device
#Epoch
One iteration of learning a neural network model, performed on the entire dataset (i.e., going through all images once).
See also: Iteration
#Exposure
In the Data Augmentation process:
Random change of exposure (brightness) during training.
See also: Data Augmentation
#Flip
In the Data Augmentation process:
A vertical or horizontal image reflection.
See also: Data Augmentation
#Framework
A set of off-the-shelf tools with pre-built models and a development environment, available to developers to facilitate and standardize their work on artificial intelligence solutions.
#Gaussian noise
In the Data Augmentation process:
Random addition of Gaussian noise to processed images.
See also: Data Augmentation
#Hardware
Key components (e.g., GPU, CPU) of the devices on which neural network models run.
#Hue
In the Data Augmentation process:
A random change of hue (color) during training - Source.
See also: Data Augmentation
#IP address
A numeric identifier, assigned to: a network interface, a group of interfaces (broadcast, multicast), or an entire computer network in the IP protocol. It identifies network elements within and outside the local network (the so-called public address).
#Iteration
The act of repeating the same operation in a loop a predetermined number of times or until a specified condition is met.
In the context of neural networks, this refers to the repetitive activity of learning and then verifying the effects of that learning to progressively improve accuracy and reduce loss.
#Jitter
In the Data Augmentation process:
The operation of randomly cropping and resizing images, with a changing aspect ratio from (the data augmentation parameter is only used from the last layer) - Source.
#Label
A label that marks an object and contains information about its location and name (category/class).
#Learning rate
A hyperparameter that controls how much we adjust the weights of our network with respect to the loss gradient. The lower the value, the slower we move along the downward slope - Source.
#Loss
Go to: Loss Function
#Loss function
A loss function is a function that computes the distance between the current output of the algorithm and the expected output. It is a method of evaluating how your algorithm models the data. It can be divided into two groups. One for classification (discrete values, 0,1,2…) and the other for regression (continuous values) - Source.
#Manipulation
The process of generating new images from input images using user-selected operations (rotation, resizing, brightness, and contrast).
See also: Manipulator
#Manipulator
A service integrated with the OSAI portal. Manipulator generates new images from input images using parallelized operations on a high-performance GPU.
See also: Data Augmentation
#Marketplace
In a marketplace, users can sell their own datasets or purchase them from other users.
See also: Publication and Dataset publication
#Metric
A function used to evaluate the model performance. Metric functions are similar to loss functions, except that the results of the metric evaluation are not used when training the model - Source.
#Metric function
Go to: Metric
#Model
A file-based representation of a trained deep neural network, including information about its layers and weights.
#Model loss
Go to: Loss
#Model Template
A template (preset) that stores the values of the neural network's learning parameters. The user can use the template to configure the training.
#Momentum
Accumulation of movement; how much the history affects the further change of the weights (optimizer) - Source.
#Mosaic
Go to: Mosaic bound
#Mosaic bound
Limits the size of objects when mosaic is checked (does not allow bounding boxes to leave the borders of their images when Mosaic-data-augmentation is used) - Source.
#Output format
One of the Manipulator's settings is the output format of the photos - JPG or PNG. If you choose JPG, keep in mind that the newly generated photos will lose the alpha layer responsible for transparency.
See also: Manipulation
#Overfitting
Overfitting is a common issue in machine learning, in which a model becomes overly specialized in recognizing patterns from training data, to the point that it performs poorly on new, unseen data. This can occur when the model over-adjusts to specific instances in the training set, potentially causing reduced accuracy when encountering objects in real-world scenarios or positions not well-represented during training. Preventing overfitting is crucial for ensuring the model's robust performance in diverse and dynamic environments.
#Precision
Determines the accuracy of the model based on how well the detected object matches the category or position of the real object.
#Prediction
A single neural network result, that is, a single classification category for an entire image or a single detected object. One image can have one classification prediction and 0 or more detection predictions.
#Pretrained model
A neural network prepared within the framework, with a predefined layer-weight architecture. It can be customized by parameterizing, modifying layers, and then training on specified datasets.
#Publication
A process of making datasets available for purchase.
See also: Dataset publication
#Rotation
In the Dataset Manipulator:
An operation used to change the position angle of an image. Based on a set of input images (or, if not the first operation, already generated data), it iteratively creates a series of new images. In each iteration, the input image is rotated by a multiple of the angle specified in the parameter. The loop ends when the rotation reaches 360 degrees.
For example: for an angle of 30 degrees, 12 new images rotated by angles of 30°, 60°, 90°, 120°, 150°, 180°, 210°, 240°, 270°, 300°, 330° and 360° will be generated.
See also: Manipulator
#Resize
In the Dataset Manipulator:
An operation used to change the dimensions of an image. The modification is performed on all input images (or, if this is not the first operation, on all that have already been generated). The size of the output image can be generated in resolutions from 8x8 to 4096x3112 px. It is also possible to change the aspect ratio.
See also: Manipulator
#S3 storage
A server that can store large amounts of data and make it available to clients on demand.
#Saturation
In the Data Augmentation process:
An operation that randomly changes the saturation of images during training. Source
See also: Data augmentation; Darknet
A practice of making a collection of data available to others for access, analysis and/or use.
See also: Dataset sharing
#Subdivision
The process of dividing a set of images of the size specified by batch (64) into smaller subsets. This is done to optimize the use of system resources without affecting the results obtained during learning.
See also: Batch
#Template
Go to: Model template
#Training
The process of training a neural network that, in successive iterations/epochs and using specific parameters, aims to gradually improve the accuracy/precision of the network and reduce the value of the loss function (see Loss).
The trained model is then saved to S3 Storage.
See also: Model; S3 Storage; Accuracy
#Validation
A process embedded in model training that calculates the accuracy of a model on a validation subset.
#Validation accuracy
Accuracy calculated on a validation subset.
#Worker
A worker is a machine that performs tasks in the background while the application is running and processing other requests. It can perform a variety of tasks, such as:
- preparing and manipulating a dataset,
- creating, training and converting an AI model,
- renting and releasing devices,
- making predictions.
As tasks are added to the queue, the worker retrieves them from there and performs them in the background, allowing simultaneous processing of AI tasks without disrupting the user experience. For example, training models can be time-consuming, and using a worker allows you to perform other tasks while the model is being trained in the background.
There are several workers in our application. Their number in the system is scalable and can change over time.