Convolutional neural network model and software for classification of typical pests

A model of a convolutional neural network, a dataset for neural network training, and a software tool for the classification of typical insect pests have been developed, which allows recognizing the class of insect pests from an image. The structure of the neural network model was optimized to impro...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2022
Hauptverfasser: Bezliudnyi, Y.S., Shymkovysh, V.M., Doroshenko, A.Yu.
Format: Artikel
Sprache:English
Veröffentlicht: PROBLEMS IN PROGRAMMING 2022
Schlagworte:
Online Zugang:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/478
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Institution

Problems in programming
id pp_isofts_kiev_ua-article-478
record_format ojs
resource_txt_mv ppisoftskievua/dd/70ff762583bdc7dd778dd989551569dd.pdf
spelling pp_isofts_kiev_ua-article-4782022-06-22T17:46:48Z Convolutional neural network model and software for classification of typical pests Модель згорткової нейронної мережі та програмний засіб для класифікації типових комах-шкідників Bezliudnyi, Y.S. Shymkovysh, V.M. Doroshenko, A.Yu. image classification; convolutional neural networks; modular architecture; Python; Keras UDC 004.93’1 класифікація зображень; згорткові нейронні мережі; модульна архітектура; Python; keras УДК 004.93’1 A model of a convolutional neural network, a dataset for neural network training, and a software tool for the classification of typical insect pests have been developed, which allows recognizing the class of insect pests from an image. The structure of the neural network model was optimized to improve the classification results. In addition, the user interface, authentication, and authorization, data personalization, the presence of user roles and the appropriate distribution of functionality by role, the ability to view statistics on classified insects in a certain period of time were developed. Functional testing of the developed software application on a heterogeneous set of images of insects of 20 different classes was performed.Prombles in programming 2021; 4: 95-102 Розроблено модель загорткової нейронної мережі, базу даних для навчання нейронної мережі та програмний засіб для класифікації типових комах-шкідників, що дозволяє здійснювати розпізнавання класу комахи-фітофага за переданим зображенням. Виконано оптимізацію структури моделі нейронної мережі задля покращення результатів класифікації. Проаналізувавши типові архітектури згорткових нейронних мереж та наклавши на них часові та ресурсні обмеження, було обрано наступну послідовність шарів вихідної загорткової нейронної мережі: один вхідний шар; п’ять згорткових шарів, між якими знаходяться чотири пари шарів нормалізації та об’єднання; три повністю зв’язані шари з двома шарами розрідження між ними. Розроблено власну базу даних для навчання нейронної мережі. Сумарно створений набір даних містить 3000 зображень, які впорядковані ієрархічно по директоріям, відповідно до класу та призначення (для навчання чи тестування). Додатково здійснено розробку інтерфейсу користувача, передбачено автентифікацію та авторизацію, персоналізацію даних, наявність ролей користувачів та відповідний розподіл функціоналу за ролями, створено можливість перегляду статистики по класифікованим комахам, у певному проміжку часу. Проведено функціональне тестування розробленого застосунку на гетерогенному наборі зображень комах 20 різних класів. Результати тестування на CPU середнього часу обробки запитів до застосунку: класифікація зображення натренованою згортковою нейронною мережею – 115 мс; додавання нового зображення до тренувального набору (без урахування часу виконання асинхронних процесів) – 39 мс; завантаження зображення зі зовнішнього сервісу – 434 мс; отримання статистики з класифікації – 5 мс. Подальше покращення якості класифікації може бути виконане за допомогою: обчислень з використанням відеокарт; засобів паралельної обробки даних; побудови конструктивно складніших архітектур згорткових нейронних мереж тощо.Prombles in programming 2021; 4: 95-102 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2022-02-07 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/478 10.15407/pp2021.04.095 PROBLEMS IN PROGRAMMING; No 4 (2021); 95-102 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 4 (2021); 95-102 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 4 (2021); 95-102 1727-4907 10.15407/pp2021.04 en https://pp.isofts.kiev.ua/index.php/ojs1/article/view/478/482 Copyright (c) 2022 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2022-06-22T17:46:48Z
collection OJS
language English
topic image classification
convolutional neural networks
modular architecture
Python
Keras
UDC 004.93’1
spellingShingle image classification
convolutional neural networks
modular architecture
Python
Keras
UDC 004.93’1
Bezliudnyi, Y.S.
Shymkovysh, V.M.
Doroshenko, A.Yu.
Convolutional neural network model and software for classification of typical pests
topic_facet image classification
convolutional neural networks
modular architecture
Python
Keras
UDC 004.93’1
класифікація зображень
згорткові нейронні мережі
модульна архітектура
Python
keras
УДК 004.93’1
format Article
author Bezliudnyi, Y.S.
Shymkovysh, V.M.
Doroshenko, A.Yu.
author_facet Bezliudnyi, Y.S.
Shymkovysh, V.M.
Doroshenko, A.Yu.
author_sort Bezliudnyi, Y.S.
title Convolutional neural network model and software for classification of typical pests
title_short Convolutional neural network model and software for classification of typical pests
title_full Convolutional neural network model and software for classification of typical pests
title_fullStr Convolutional neural network model and software for classification of typical pests
title_full_unstemmed Convolutional neural network model and software for classification of typical pests
title_sort convolutional neural network model and software for classification of typical pests
title_alt Модель згорткової нейронної мережі та програмний засіб для класифікації типових комах-шкідників
description A model of a convolutional neural network, a dataset for neural network training, and a software tool for the classification of typical insect pests have been developed, which allows recognizing the class of insect pests from an image. The structure of the neural network model was optimized to improve the classification results. In addition, the user interface, authentication, and authorization, data personalization, the presence of user roles and the appropriate distribution of functionality by role, the ability to view statistics on classified insects in a certain period of time were developed. Functional testing of the developed software application on a heterogeneous set of images of insects of 20 different classes was performed.Prombles in programming 2021; 4: 95-102
publisher PROBLEMS IN PROGRAMMING
publishDate 2022
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/478
work_keys_str_mv AT bezliudnyiys convolutionalneuralnetworkmodelandsoftwareforclassificationoftypicalpests
AT shymkovyshvm convolutionalneuralnetworkmodelandsoftwareforclassificationoftypicalpests
AT doroshenkoayu convolutionalneuralnetworkmodelandsoftwareforclassificationoftypicalpests
AT bezliudnyiys modelʹzgortkovoínejronnoímerežítaprogramnijzasíbdlâklasifíkacíítipovihkomahškídnikív
AT shymkovyshvm modelʹzgortkovoínejronnoímerežítaprogramnijzasíbdlâklasifíkacíítipovihkomahškídnikív
AT doroshenkoayu modelʹzgortkovoínejronnoímerežítaprogramnijzasíbdlâklasifíkacíítipovihkomahškídnikív
first_indexed 2025-07-17T09:51:19Z
last_indexed 2025-07-17T09:51:19Z
_version_ 1850410037356265472
fulltext 95 Моделі та методи машинного навчання Introduction Applied entomology is a branch of bi- ology that studies insects that damage plants, forests, crop products, and studies methods of insect pests control. Applied entomology is given considerable attention in the con- text of agronomy, which is quite rational, because the wrong defi nition of the type of insect pests on the fi eld area, the choice of the wrong method of insect pests control or application of crop protection untimely cause a signifi cant decline in yields and therefore loss of farmers. Classifi cation of insects on plantations, in order to use appropriate meth- ods of protection, as well as the collection of statistical data on the quantitative character- istics of crop damage by insect pests, is quite a diffi cult task, especially in a situation when diff erent types of crops are grown on the single plantation. In addition, many species of insects migrate from one territory to an- other, some of the species are quite similar to each other, insects can damage plantations at several diff erent stages of development. All of the above complicates the task of correct classifi cation of insect pests by humans. Artifi cial neural networks are an at- tempt to transfer a set of biological mecha- nisms occurring in the brain of animals to the category of computer systems [1]. Artifi cial neural networks can be used in facilities such as robotics [2], vehicle and unmanned aerial vehicle control, pattern recognition, analysis and decision making in IoT systems, space- craft control, military equipment, and many other applications in modern technologies [3-5]. In these systems neural networks can be used for objects identifi cation, prediction of the state of objects, recognition, cluster- ing, classifi cation, analysis of large amounts of data coming at high speed from a large number of devices and sensors, etc. [6-14]. Tasks that involve image classifi cation are mostly based on the use of convolutional neural network technology. A convolutional neural network (CNN) is a type of multi- layer perceptrons designed to minimize the amount of pre-processing of input data [15]. This type of neural network architecture has become popular as a tool for solving image recognition problems, as it has several advan- tages over other architectures, such as fewer learnable parameters; absence of image pix- els memorization; the ability to perform part of the calculations in parallel; relative resis- tance to rotation and shift of images [16]. The purpose of this work is to auto- mate the process of recognizing insect pests through the development of a new model of CNN, as well as learning database creation and the development of software application based on this model. 1. CNN model development The CNN, in the general case, consists of 5 basic types of layers: input layers, con- volutional layers, pooling layers, fully-con- UDC 004.93’1 http://doi.org/10.15407/pp2021.04.95 Y. Bezliudnyi, V. Shymkovych, A. Doroshenko A MODEL OF CONVOLUTIONAL NEURAL NETWORK AND A SOFTWARE APPLICATION FOR TYPICAL INSECT PESTS RECOGNITION A model of a convolutional neural network, a dataset for neural network training, and a software tool for the classifi cation of typical insect pests have been developed, which allows recognizing the class of insect pests from an image. The structure of the neural network model was optimized to improve the classifi cation results. In addition, the user interface, authentication, and authorization, data personalization, the presence of user roles and the appropriate distribution of functionality by role, the ability to view statistics on classifi ed insects in a certain period of time were developed. Functional testing of the developed software application on a heterogeneous set of images of insects of 20 diff erent classes was performed. Keywords: image classifi cation, convolutional neural networks, modular architecture, Python, Keras © Y. Bezliudnyi, V. Shymkovych, A. Doroshenko, 2021 ISSN 1727-4907. Проблеми програмування. 2021. № 4 96 Моделі та методи машинного навчання nected layers and output layers. The general structure of the CNN is shown in Figure 1. The input data is an image of pixels and with channels of the color mod- el. The input layer of the CNN is a matrix of size , each element of which is a numerical representation of the pixel regard- ing a particular color channel. Convolutional layers consist of a set of feature maps, each of which has a scanning kernel (fi lter). The kernel is a system of scales (synapses). The kernel slides across the map of features and detects certain features of ob- jects. During sliding on the feature map, the kernel performs a convolution operation on the map elements, the result of which is en- tered into the corresponding cell of the origi- nal feature map of a particular convolution layer. The convolution formula is as follows: where – the matrix of elements of the input feature map; – the core of the convo- lution. In this case, depending on the method of processing the edges of the output matrix, the output map of features may be less than, equal to, or greater than the input. According to the above, the convolutional layer, in a simplifi ed form, is described by the following formula: where – the output of the -th con- volutional layer by the -th feature; – the bias of the -th convolutional layer by the -th feature; – the kernel of the -th convolu- tional layer by the -th feature; – activation function. Unlike a standard neural network, each synapse in the convolutional layer of the CNN is not associated with all the synapses of the previous layer but is simply connected to nodes in a special region known as the local receptive fi eld. The pooling layer is usually used af- ter the convolution layer. This type of layer was designed to simplify information and re- duce the scale of feature maps made by con- volutional layers. In other words, pooling layers create a compressed feature map from each feature map in the convolutional lay- ers. Pooling layers are needed to reduce the time of computations and resolve problems with overtraining of the CNN. The pooling Fig. 1. The general structure of the CNN 97 Моделі та методи машинного навчання operation can be performed in diff erent ways, such as a geometric mean, harmonic mean, or maximum of passed arguments. Maximum pooling and average pooling are the two most common pooling operations. Formally, the pooling layer can be de- scribed by the following formula: where – the output of the -th pool- ing layer; – the bias of the -th pooling layer; – pooling operation; – activa- tion function. Fully-connected layers are arranged after a sequence of convolutional layers and pooling layers. This part of the CNN contains a set of critical information obtained from all previous procedures performed inside of the CNN. The neurons of each map of the pooling layer (or convolutional layer, if it is the last be- fore the fully-connected layers) are connected to one neuron of the fully connected layer. The outputs of the last of the fully- connected layers form the output layer, which is known as the classifi er. It determines the probability distribution of each label over classes. The size of the last layer is equal to the number of classes that are classifi ed by the neural network. As part of this study, a number of deci- sions were made regarding the choice of CNN architecture, the algorithms used for input data processing as well as CNN training and interpretation of source data. The fi rst layer of the CNN is the input layer. Input data must be normalized before processing by the CNN. For each specifi c pix- el of the input image is its normalization in the range from 0 to 1 by the formula: where – value of pixel; – mini- mal value of pixel; – maximal value of pixel. Images are passing to CNN in JPEG format with a RGB color model, which con- tains 3 channels with pixel values for a specif- ic channel in the range from 0 to 255. Chosen image size is . This image size is suffi cient to classify insect pests. The input layer is followed by fi ve con- volutional layers, between which there are four pairs of normalization and pooling layers. The size of the kernel in the convolu- tional layers is usually taken in the range from to . If the size of the kernel is too small, CNN will not be able to distinguish any features; if it is too large then the number of connections between neurons increases. Also, the size of the kernel should be chosen in a way to make the size of the output maps even, which allows to not lose information when re- ducing the size of the data in the pooling layer described below. The maximum pooling was chosen as the pooling operation, as it allows to better highlight sharp areas of the image, which is necessary to solve the problem posed. In practice, the number of fully-con- nected layers is chosen not too big, usually no more than three. In this paper, it was chosen equal to three, which was determined by em- pirical method. Two dropout layers were also added between the fully-connected layers to avoid network overtraining. The Adam algorithm [2] was chosen as an algorithm for gradient descent optimi- zation, which was developed specifi cally for learning of deep neural networks. The Adam algorithm uses the power of adaptive learning methods that fi nd individual learning metrics for each neural network parameter. Formally, this algorithm is described as follows: 1. Calculate the fi rst and second-order moments of the gradient: where – the fi rst-order moment of the gradient with regard to model parameter ; – the second-order moment of the gra- dient with regard to model parameter ; – gradient value with regard to model param- eter . 2. Calculate bias-corrected moments of the gradient: 3. Update the values of model param- eters: 98 Моделі та методи машинного навчання where – learning rate; – small con- stant. The authors of the Adam algorithm suggest the use of the following coeffi cient values: . The sparse categorical cross-entropy was chosen as a function of learning losses [17]. Cross-entropy losses determine the effi ciency of the classifi cation model, the output of which is the probability value in the range from 0 to 1. These losses increase when the predicted prob- ability deviates from the actual label. The for- mula for cross-entropic losses is defi ned as: where M – number of classes; y – bi- nary indicator (0 or 1) that shows whether the label is the correct classifi cation for obser- vation ; po,c – the assumed probability that the observation belongs to the class . The only diff erence between sparse categorical cross-entropy and categorical cross-entropy is the label format. Each layer of the neural network has inputs with a corresponding probability dis- tribution, which in the learning process is in- fl uenced by the randomness of the initializa- tion of parameters and randomness in the input data. The infl uence of these sources of random- ness on the probabilistic distribution of the val- ues of the input data on the inner layers during training is described as the internal covariate shift. During the network learning phase, as the parameters of the previous levels change, the probability distribution of the input data to the current level changes accordingly, so that the current level requires constant readjustment to the new distributions. This problem is especial- ly serious for deep networks, as small changes in the hidden layers closer to the input layer will be amplifi ed when they propagate within the network, which will lead to a signifi cant shift in the more distant hidden layers. There- fore, a method of batch normalization [18] has been proposed to reduce these undesirable changes, speed up learning and make the CNN more reliable. Formally, the batch normaliza- tion algorithm is defi ned as follows: 1. The mean and the variance of a batch of elements are computed: 2. Normalization of layer inputs is per- formed: where – value of the i-th element of normalization input layer; – normalized value of the i-th element of normalization in- put layer; – small constant. To restore the representation power of the network transformation of normalized values performed: where – value of the i-th element of normalization layer output; – parameters that are subsequently learned in the optimiza- tion process. In addition to reducing the internal co- variate shift, group normalization provides many other benefi ts. With using batch nor- malization technique, the network can use a higher learning rate without problem of gradi- ents values vanishing or exploding. 2. Creating a learning dataset for CNN The fi rst step in creating a dataset for CNN learning was to determine the classes of insects that will be recognized and the minimum num- ber of image examples in each class. As result, 20 most typical classes of insect pests were selected. The requirement to have at least 40 diff erent im- ages of insects of each class was set. In order to reduce the possibility of the CNN overtraining on the spatial location of insects in the images, for each original image in the database was added 3 more copies with diff erent angles of rotation rela- tive to the original (90°, 180°, 270°). After that images of each class were divided into training and test samples, in a ratio of 2:1. Note that if the image size is too large, the computational complexity will increase, respectively, the restrictions on the speed of response will be violated. If too small images will be chosen, then the network will not be 99 Моделі та методи машинного навчання able to detect the key features of the objects depicted on them. In our case, the optimal im- age size was 100 × 100 pixels. The dataset was partially populated with images from the IP102 dataset, which contains images of 102 classes of insects, with a total size of 75,000 images. However, most of the in- sect classes in this set not belong to the catego- ry of pests, so the rest of the classes were fi lled with images obtained through the use of Flickr API. Since the developed CNN is designed to recognize insects in images, the background information is irrelevant. Therefore, in order to improve the accuracy of classifi cation, before scaling and expanding the number of images, an operation was performed to remove excess parts of the image using saliency maps [19]. The purpose of the saliency map is to display the degree of “informativeness” of each pixel, which is respectively greater for the pixels be- longing to the part of the image where the in- sect is located, and less for the background pix- els. An example of a saliency map is shown in Figure 2. During the learning dataset prepara- tion, based on the saliency map obtained from the image, the excess parts of the images were cropped. The cropping process started from the image edges until the total “informativeness” of the pixels at the edge of an image passes the specifi ed threshold. Testing on the selected set of images shows that the use of saliency maps allows to increase the insect to background ra- tio by an average of 30%. In total, the created dataset contains 3000 images, which are arranged hierarchi- cally by directories, according to their class and purpose (for training or testing). 3. Software application development The developed application for insect pests recognition consists of three modules: 1. The graphical user interface module; 2. The module of customer accounting and service; 3. The module of image classifi cation and processing. The purpose of the fi rst module is to provide a full graphical user interface con- sisting of a home page, pages for registration and login, a page for manual classifi cation, a page for downloading new images of insects (for system administrators), and a page for viewing personal statistics. This module was implemented on the basis of Angular frame- work, using TypeScript language. The module of customer accounting and service deals with such tasks as customer-relat- ed information processing and customer autho- rization and authentication. To implement this module, it was decided to choose Java program- ming language and frameworks such as Spring Security, Spring Boot, Spring Data. The module of image classifi cation and processing is the core of the developed applica- tion. This module consists of two main layers: the layer of classifi cation and the layer of image processing and loading. The classifi cation layer uses a trained CNN model to classify insects in the images that come with the request (im- ages are pre-processed using saliency maps and scaled). The layer of image processing provides functionality that allows making such image transformations as rotation, scaling, highlight- ing the main part (using saliency maps), and so on. This module was implemented in Python Fig. 2. Image of an insect (on the left) and its saliency map (on the right) 100 Моделі та методи машинного навчання programming language. Tensorfl ow and Keras libraries were used to work with neural net- works. OpenCV and Pillow libraries were cho- sen for imageprocessing. Numpy library was used to work with multidimensional arrays. CNN implementation code in Python: def get_model(image_size, classes_ num): model = keras.Sequential([ keras.Input(image_size), # Input layer keras.layers.experimental.preprocess- ing.Rescaling(scale=1/255.0), # Image scaling keras.layers.Conv2D(fi lters=16, kernel_size=(7, 7), activation=’relu’, padding=’same’), # Convolutional layer keras.layers.BatchNormalization(), # Normalization layer keras.layers.MaxPooling2D(pool_ size=(2, 2), strides=2), # Pooling layer keras.layers.Conv2D(fi lters=32, kernel_size=(5, 5), activation=’relu’, padding=’same’), keras.layers.BatchNormalization(), keras.layers.MaxPooling2D(pool_ size=(2, 2), strides=2), keras.layers.Conv2D(fi lters=32, kernel_size=(3, 3), activation=’relu’, padding=’same’), keras.layers.BatchNormalization(), keras.layers.MaxPooling2D(pool_ size=(2, 2), strides=2), keras.layers.Conv2D(fi lters=64, kernel_size=(3, 3), activation=’relu’, padding=’same’), keras.layers.Flatten(), # Layer dimen- sionality reduction keras.layers.Dense(units=2048, activation=’relu’), # Fully-connected layer keras.layers.Dropout(rate=0.5), # Dropout layer keras.layers.Dense(units=2048, activation=’relu’), keras.layers.Dropout(rate=0.5), keras.layers.Dense(classes_num, activation=’softmax’) # Output layer ]) return model CNN training code in Python: def train_model( dataset_path=CURR_DATASET_ PATH, # Path to the dataset root folder write_path=CURR_MODEL_PATH, # Path to the pretrained CNN model lr=0.0001, # Learning rate epochs_num=15, # Number of learning ep- ochs image_size=(100, 100, 3), # Image size classes_num=20 # Number of classifi ed classes ): training_data = keras.preprocessing. image_dataset_from_directory(dataset_ path + ‘/train’, batch_size=32, image_ size=image_size[:2]) test_data = keras.preprocessing.image_da- taset_from_directory(dataset_path + ‘/test’, batch_size=32, image_size=image_size[:2]) if (os.path.exists(write_path)): shutil. rmtree(write_path) model = get_model( image_ size=image_size, classes_num=classes_num) model.compile( optimizer=keras.opti- mizers.Adam(lr=lr), loss=keras.losses.SparseCategorical- Crossentropy(), metrics=[‘accuracy’]) model.fi t(training_data, epochs=epochs_ num, verbose=2) model.evaluate(test_data, verbose=2) model.save(write_path) Optimal values of parameters such as kernel size and number of fi lters for convo- lutional layers, number of neurons for fully- connected layers, dropout value and learning rate are based on general recommendations for CNN construction and training described in section 2, as well as on values got using the Keras Tuner library, which provides ready- made solutions for neural network parameter optimization problems. In addition to the modules described above, the structure of the software solution also includes the PostgreSQL database, which is accessed by the module of accounting and customer service. 4. Software application testing PC characteristics on which the appli- cation was tested: 1. Processor clock speed – 2.6 GHz; 2. 6 physical cores, 12 logical proces- sors; 3. 16 GB of RAM. 101 Моделі та методи машинного навчання 4. GPU integration absent. The following technical requirements were set for the development system: Accuracy of image classifi cation – not less than 95% on the training data- set, and not less than 60% on the test dataset; 2. The number of epochs of learning the neural network – 15; 3. The average image classifi cation time – less than 0.5 s; 4. The average download time of the im- age from an external service – less than 0.5 s. The learning results of the devel- oped CNN model are follows: 1. Accuracy of image classifi cation on the training set – 96.6%; 2. Accuracy of image classifi cation on the test set – 65.4%; 3. The average training time for the era – 24 seconds. The results of time testing for dif- ferent request: 1. Classifi cation of the image by the trained CNN – 115 ms; 2. Adding a new image to the train- ing set (excluding the execution time of asyn- chronous processes) – 39 ms; 3. Downloading an image from an external service – 434 ms; 4. Obtaining classifi cation statistics – 5 ms. Testing results of the application are satisfying the technical requirements. Conclusion The model of the CNN and the train- ing dataset have been developed to solve the problem of classifi cation of typical insect pests. A software application for solving the problem of typical insect pests recognition by the transmitted image has been implemented, which allows to automate preventive protec- tion against insect pests in case of integration with IoT-devices on fi elds. The implemented application satisfi es the technical require- ments for speed and quality of classifi cation. Further improvement of the quality of the CNN classifi cation can be done with the help of such methods: GPU calculation ac- celeration; parallelization of data processing; construction of structurally more complex ar- chitectures of the CNN, etc. References 1. Dreyfus, G. (2005) Neural networks: methodology and applications. Springer-Verlag, Berlin. 498 p. https://doi.org/10.1007/3-540-28847-3 2. Doan, Q. V., Le, T. D., Le, Q. D., & Kang, H.- J. (2018) A neural network–based synchronized computed torque controller for three degree-of- freedom planar parallel manipulators with un- certainties compensation. International Journal of Advanced Robotic Systems. 15(2). pp. 1-13. https://doi.org/10.1177/1729881418767307 3. Shymkovych, V., Telenyk, S., Kravets, P. (2021) Hardware implementation of radial- basis neural networks with Gaussian activa- tion functions on FPGA. Neural Comput- ing and Applications. 33. pp. 9467-9479. https://doi.org/10.1007/s00521-021-05706-3 4. Melchert, F., Bani, G., Seiff ert, U., Biehl, M. (2020) Adaptive basis functions for prototype-based classification of functional data. Neural Com- puting and Applications. 32. pp. 18213-18223. https://doi.org/10.1007/s00521-019-04299-2 5. Goncalves, S., Cortez, P., Moro, S. (2020) A deep learning classifier for sentence classification in bio- medical and computer science abstracts. Neural Computing and Applications. 32. pp. 6793-6807. https://doi.org/10.1007/s00521-019-04334-2 6. Kravets, P., Shymkovych, V. (2020) Hardware Implementation Neural Network Controller on FPGA for Stability Ball on the Platform. In: Hu Z., Petoukhov S., Dychka I., He M. (eds) Ad- vances in Computer Science for Engineering and Education II. ICCSEEA 2019. Advances in Intel- ligent Systems and Computing. 938. pp. 247-256. https://doi.org/10.1007/978-3-030-16621-2_23 7. P., Kravets, V., Nevolko, V., Shymkovych, L., Shy- mkovych (2020) Synthesis of High-Speed Neuro- Fuzzy-ControllersBased on FPGA. 2020 IEEE 2nd International Conference on Advanced Trends in Information Theory (ATIT). pp. 291-295. h t t p s : / / d o i . o r g / 1 0 . 1 1 0 9 / ATIT50783.2020.9349299. 8. Passalis, N., Tefas, A. (2020) Continuous drone control using deepreinforcement learning for frontal view person shooting. Neural Computing and Applications. 32. pp. 4227-4238. https://doi. org/10.1007/s00521-019-04330-6 9. Zhao, Z., Zheng, P., Xu, S., Wu, X. (2019) Object detection with deep learning: a re- view. IEEE Transactions on Neural Networks and Learning Systems. 30. pp. 3212–3232. https://doi.org/10.1109/TNNLS.2018.2876865 10. Kravets, P.I., Shimkovich, V.N., Ferens, D.A. (2015) Method and algorithms of implementa- 102 Моделі та методи машинного навчання tion on PLIS the activation function for artifi - cial neuron chains. Elektronnoe Modelirovanie. 37(4). pp. 63-74. (in Russian) 11. Hong, Q., Li, Y., Wang, X. (2020) Memris- tive continuous Hopfield neural network cir- cuit for image restoration. Neural Comput- ing and Applications. 32. pp. 8175-8185. https://doi.org/10.1007/s00521-019-04305-7 12. V., Shymkovych, V., Samotyy, S., Telenyk, P., Kravets, T., Posvistak (2018) A real time con- trol system for balancing a ball on a platform with FPGA parallel implementation. Tech- nical Transactions. Poland. 5. pp. 109-117. https://doi.org/10.4467/2353737XCT.18.077.8559 13. Shao, L., Zhu, F., Li, X. (2015) Transfer learning for visual categorization: a sur- vey. IEEE Transactions on Neural Networks and Learning Systems. 26. pp. 1019-1034. https://doi.org/10.1109/TNNLS.2014.2330900 14. P.I., Kravets, T.I., Lukina, V.M., Shymkovych, I.I., Tkach (2012) Development and research the technology of evaluation neural network models MIMO-objects of control. Visnyk NTUU “KPI” Informatics operation and computer systems. 57. pp. 144-149. (in Ukrainian) 15. Y., LeCun, B., Boser, J.S., Denker, D., Henderson, R.E., Howard, W., Hubbard, L.D., Jackel (1989) Backpropagation applied to handwritten zip code recognition. Neural computation. 1. pp. 541-551. 16. Asifullah Khan, Anabia Sohail, Umme Za- hoora, Aqsa Saeed Qureshi (2020) A sur- vey of the recent architectures of deep convolutional neural networks. Artifi cial Intelligence Review. 53. pp. 5455-5516. https://doi.org/10.1007/s10462-020-09825-6 17. Kingma, D.P., Ba, J. (2014) Adam: A method for stochastic optimization. arXiv preprint arX- iv:1412.6980. 18. H., Yessou, G., Sumbul, B., Demir (2020) A Com- parative Study of Deep Learning Loss Functions for Multi-Label Remote Sensing Image Classifi cation. IGARSS 2020 - 2020 IEEE International Geoscience and Remote Sensing Symposium. pp. 1349-1352. https://doi.org/10.1109/IGARSS39084. 2020.9323583 19. S., Ioff e, C., Szegedy (2015) Batch Normaliza- tion: Accelerating Deep Network Training by Reducing Internal Covariate Shift. Proceedings of the 32nd International Conference on Ma- chine Learning, PMLR. 37. pp. 448-456 20. T.N., Mundhenk, B.Y., Chen, G., Friedland (2020) Effi cient Saliency Maps for Explainable AI. Eu- ropean Conference on Computer Vision (ECCV). https://arxiv.org/abs/1911.11293 Received: 17.11.2021 About authors: Bezliudnyi Yurii Serhiyovych, 5th year student of the National Technical Uni- versity of Ukraine “Igor Sikorsky Kyiv Poly- technic Institute”. https://orcid.org/0000-0003-1950-9790 Shymkovych Volodymyr Mykolayovych, Candidate of Technical Sciences, Associate Professor of the Department of In- formation Systems and Technologies of the National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”. Number of scientifi c publications in Ukrainian publica- tions – more than 30. Number of scientifi c publications in foreign pub- lications – more than 10. Hirsch index – 3. https://orcid.org/0000-0003-4014-2786 Doroshenko Anatoliy Yukhymovych, Doctor of Physical and Mathematical Sciences, Professor. Head of the Department of Computation The- ory, Professor of the Department of Informa- tion Systems and Technologies of the National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”. Number of sci- entifi c publications in Ukrainian publications - more than 190. Number of scientifi c publications in foreign pub- lications - more than 80. Hirsch index - 6. http://orcid.org/0000-0002-8435-1451 Affi liations: National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”, 37 Peremohy Avenue Institute of Software Systems of the National Academy of Sciences of Ukraine, 03187, Kyiv-187, 40 Akademika Glushkova Avenue. Phone: (044) 526 3559 E-mail: uraura05052000@gmail.com, v.shymkovych@kpi.ua, doroshenkoanatoliy2@gmail.com