Методи та програмні засоби підвищення швидкодії моделей розпізнавання образів на основі машинного навчання
dc.contributor.advisor | Шалденко, Олексій Вікторович | |
dc.contributor.advisor | Недашківський, Олексій Леонідович | |
dc.contributor.author | Мельниченко, Артем Васильович | |
dc.date.accessioned | 2024-06-21T13:47:42Z | |
dc.date.available | 2024-06-21T13:47:42Z | |
dc.date.issued | 2024 | |
dc.description.abstract | Мельниченко А.В. Методи та програмні засоби підвищення швидкодії моделей розпізнавання образів на основі машинного навчання. − Кваліфікаційна наукова праця на правах рукопису. Дисертація на здобуття наукового ступеня доктора філософії з галузі знань 12 Інформаційні технології за спеціальністю 121 Інженерія програмного забезпечення. – Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», Київ, 2024. Дисертаційна робота присвячена аналізу методів оптимізації нейронних мереж і розробці програмних засобів для збільшення швидкодії нейронних мереж під час навчання і виконання. У сучасному високотехнологічному світі, нейронні мережі вийшли на передній план як ключова технологія. Ця варіація математичних моделей продемонструвала високу ефективність у багатьох задачах, що варіюються від комп'ютерного зору до розуміння природніх мов, тим самим ставши невід'ємною частиною щоденного життя. Втім, розгортання нейронних мереж у реальних сценаріях часто ускладняється їхньою обчислювальною складністю та ресурсоємністю. Великий об’єм енергоспоживання, що потребується для навчання і використання великих моделей нейронних також має негативний вплив на навколишнє середовище. Обчислювальна складність часто проявляється у вигляді великої кількості параметрів та глибоких архітектур, які вимагають значного об’єму обчислювальної потужності як для навчання, так і для подальшого використання на кінцевих пристроях. Ця складність є особливо проблематичною в застосуваннях нейронних мереж на пристроях Інтернету речей (IoT), де обчислювальні ресурси часто обмежені. Ресурсоємні характеристики включають в себе обчислювальну потужність і використання пам'яті. Це питання є особливо актуальним у мобільних та вбудованих пристроях, де пам'ять є обмеженим ресурсом. Більше того, затримка, спричинена нестачею ресурсів, часто є неприйнятною в ряді задач, що включає в себе системи автономного керування, де навіть невелика затримка в прийнятті рішень може мати серйозні наслідки. Оптимізація нейронних мереж є актуальною задачею в технологічній галузі, що підкреслюється емпіричними даними. Об’єм обчислювальних ресурсів, необхідний для навчання найсучасніших нейронних мереж, подвоювався приблизно кожні 3 місяці з 2012 року. Це експоненційне зростання обчислювальних вимог не є сталим на довгострокову перспективу, особливо з урахуванням енергоспоживання та екологічного впливу, пов'язаного з датацентрами. Метою дисертації є збільшення ефективності моделeй нейронних мереж, а саме зменшення втрати точності при збільшенні швидкодії, після застосування методів оптимізації моделей глибинного навчання, створених для вирішення задач комп’ютерного зору. В області оптимізації нейронних мереж існуючі дослідження виділяють декілька найбільш поширених методів серед яких методи низькорангової факторизації вагів, квантування і прунінг. Методи низькорангової факторизації використовують концепцію того, що вагові матриці в нейронних мережах часто містять значну кількість надмірності. Апроксимуючи ці вагові матриці факторизаціями нижчого рангу можна досягти зменшення кількості параметрів мережі. Квантування дозволяє зменшити обчислювальну складність нейромереж шляхом представлення числових значень із типами даних нижчої точності, такими як цілі числа, замість традиційних 32-розрядних чисел з плаваючою комою. Попри ти що квантування і низькорангова факторизація є досить ефективними методами, квантування потребує вже натренованої мережі, а низькорангова факторизація вагових матриць часто призводить до вагомих втрат точності мережі. Прунінг нейронних мереж, ключовий метод оптимізації нейронних мереж, ґрунтується на концепції спрощення складних математичних моделей зі збереженням або покращенням їхньої продуктивності. Цей підхід стає все більш актуальним, оскільки нейронні мережі дедалі частіше стають частиною додатків, що вимагає ефективного використання обчислювальних ресурсів. Галузь методів прунінгу перед навчанням дозволяє оптимізувати мережу перед стадією навчання, тим самим потенційно скорочуючи витрати на навчання. Прунінг передбачає систематичне видалення менш значущих параметрів нейронної мережі, таких як ваги або зв'язки, таким чином зменшуючи розмір моделі та обчислювальну складність. Цей процес має вирішальне значення для розгортання нейронних мереж в середовищах з обмеженими обчислювальними ресурсами або там, де важлива швидка обробка даних. Розробка та вдосконалення методів прунінгу є основним напрямком досліджень в галузі оптимізації нейронних мереж. Прунінгу присвячені роботи зарубіжних вчених: Molchanov P., Tyree S., Hu H., Peng R., Li H., Kadav A., He Y., Zhang X., Narang S., Elsen E. Прунінгу і оптимізації перед навчанням присвячені роботи Lee N., Ajanthan T., Frankle J., Carbin M. Розробці методів архітектурної оптимізації присвячені роботи Сінькевич O.O., Терейковський І.А., Кудін О.В., Кривохата А.Г., Howard A. G., Zhu M., Hinton G., Dean J. та інші. Дослідженням методів зниження витрат обчислювальних ресурсів займались Рувінська В.М., Тімков Ю.Ю., Струнін І.В., Прогонов Д.О. Liang T., Li B., Kong Z. Tan M., Wang Z., Frankle J., Carbin M. Han S., Pool J., Li H. та інші. Методи прунінгу перед навчанням, такі як SNIP (Single-Shot Network Pruning), надають можливість оптимізації нейронних мереж на ранніх етапах розробки. SNIP обчислює оцінку значущості для кожної ваги на основі її внеску у функцію втрат і відсікає найменш значущі ваги перед початком навчання. Однак цей метод може потребувати коригувань для конкретного набору даних. Незважаючи на високі показники ефективності методів прунінгу, значна кількість досліджень була проведена на типових моделях, тому існує потреба в дослідженнях методів і їх ефективності для нових моделей в області комп`ютерного зору. Дисертаційна робота виконана відповідно з поточними та перспективними планами наукової та науково-технічної діяльності Національного технічного університету України «Київський політехнічний інститут імені Ігоря Сікорського» і є частиною досліджень в рамках науково-дослідницької роботи «Методи і алгоритми оптимізації розпізнавання образів на основі методів машинного навчання» (Державний реєстраційний номер №0121U109207, м. Київ). Особисто автором в НДР №0121U109207 запропоновано вдосконалений метод розрахунку критерію важливості ваг нейронної мережі при видаленні вагів перед навчанням для моделі розпізнавання обличчя, та моделі архітектури трансформер. Проведено експерименти для оцінки ефективності розробленого методу. Наукова новизна одержаних результатів полягає в наступному. Удосконалено модель нейронної мережі для виявлення облич RetinaFace, яка на відміну від існуючих використовує метод прунінгу SNIP для оптимізації, що дозволяє використовувати розріджені матриці для зберігання і виконання мережі з метою подальшого удосконалення та збільшення швидкодії. Удосконалено метод прунінгу SNIP для моделі виявлення облич RetinaFace, який на відміну від існуючих передбачає можливість виключення контекстних модулів з процесу прунінгу. Вдосконалений метод дозволяє досягти більшої точності при незмінній кількості виключених параметрів. Вперше розроблено метод прунінгу перед навчанням для моделей архітектури трансформер, який на відміну від існуючих враховує важливість механізму «уваги». Використання розробленого методу дозволяє значно збільшити точність класифікації кінцевої моделі в порівнянні з методом SNIP. Вперше розроблено архітектуру програмного забезпечення для моделювання та дослідження методів прунінгу перед навчанням нейронних мереж, яка на відміну від існуючих дозволяє приводити матриці вагових коефіцієнтів мережі до розрідженого формату, використовуючи запропонований механізм оцінки важливості вагів. Оптимізована мережа RetinaFace містить на 68% параметрів менше ніж початкова мережа при втраті точності на лише 1.4%. Вдосконалений метод дозволив зменшити втрати точності з 1.4% до 0.7% порівняно з методом SNIP при порівнянні з необрізаною моделлю, при скороченні параметрів на 68%. Реалізація методу прунінгу для архітектури трансформер дозволила натренувати мережу з покращенням точності до 37% порівняно з методом SNIP при порівнянні з необрізаною моделлю, при скороченні кількості параметрів на 90%. Встановлено, що результати визначення критеріїв важливості вагів, отриманих розробленим алгоритмом, можуть бути використані для підвищення швидкодії нейронних мереж від 20% до 65% шляхом використання розріджених матриць формату 2:4, в залежності від графічного процесора. Встановлено, що додаткові виходи для сіамських нейронних мереж, призначених для встановлення схожості двох зображень, не дають приросту в швидкості сходження і точності моделі. Дослідження показало, що наразі оцінка методів прунінгу проводилась на типових архітектурах моделей нейронних мереж. При дослідженні мережі для виявлення облич і застосуванні методу прунінгу перед навчанням, було виявлено що мережа може зберігати високий рівень точності, при цьому значно знижуючи кількість параметрів що беруть участь у навчанні. Це пришвидшує навчання і полегшує подальше використання моделей, оскільки сучасні CPU і GPU оптимізують обчислення, в яких беруть участь розріджені матриці. Методика дослідження та отриманні результати можуть також бути використані для створення та оцінки архітектур нейронних мереж для інших доменів, тим самим розширюючи сферу потенційних застосувань. Дослідження може стати основою для оцінки ефективності інших методів оптимізації для моделей комп’ютерного зору та внести вклад у зростаючий обсяг наукової літератури з оптимізації нейронних мереж. Наукові результати досліджень є внеском у розвиток теоретичних і прикладних основ розробки й дослідження науково-методичного і програмного апарату для оптимізації глибоких нейронних мереж з розпізнавання образів. Наступними перспективними дослідженнями можуть стати дослідження для вдосконалення критеріїв визначення важливості вагів, ітеративне додавання параметрів під час навчання, дослідження інших форматів стиснених матриць та розширення експериментів на інші задачі та архітектури нейронних мереж. | |
dc.description.abstractother | Melnychenko A.V. Methods and software tools for improving the performance of pattern recognition models based on machine learning - Qualifying scientific work on the rights of the manuscript. Thesis for the degree of Doctor of Philosophy in the field of knowledge 12 Information Technologies, specialty 121 Software Engineering. - National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute", Kyiv, 2024. The dissertation is devoted to the analysis of neural network parameter reduction methods and the development of software tools to increase the performance of neural networks during training and execution. In today's high-tech world, neural networks have become a crucial technology. This variation of mathematical models has demonstrated high performance in many tasks ranging from computer vision to natural language understanding, thereby becoming an integral part of everyday life. However, the deployment of neural networks in real-world scenarios is often hampered by their computational complexity and resource intensity. The large amount of power consumption required to train and use of large neural models also has a negative impact on the environment. Computational complexity often manifests itself in the form of a large number of parameters and deep architectures that require a significant amount of computing power both for training and for further use on end devices. This complexity is particularly problematic in applications of neural networks on Internet of Things (IoT) devices, where computing resources are often limited. Resource-intensive characteristics include computing power and memory usage. This issue is particularly relevant in mobile and embedded devices where memory is a limited resource. Moreover, the latency caused by a lack of resources is often unacceptable in a number of tasks, including autonomous control systems, where even a small delay in decision-making can have serious consequences. Optimization of neural networks is an urgent task in the technology industry, which is emphasized by empirical data. The amount of computing resources required to train state-of-the-art neural networks has doubled approximately every 3 months since 2012. This exponential growth in computational requirements is not sustainable in the long term, especially considering the energy consumption and environmental impact associated with data centers. The purpose of this thesis is to increase the efficiency of neural network models, namely, to reduce the loss of accuracy while increasing performance, after applying methods for optimizing deep learning models created to solve computer vision problems. In the field of neural network optimization, existing research identifies several of the most common methods, including low-rank weight factorization, quantization, and pruning. Low-rank factorization methods use the concept that weight matrices in neural networks often contain a significant amount of redundancy. By approximating these weight matrices with lower-rank factorizations, the number of network parameters can be reduced. Quantization reduces the computational complexity of neural networks by representing numerical values with lower precision data types, such as integers, instead of the traditional 32-bit floating point numbers. Although quantization and low-rank factorization are quite effective methods, quantization requires an already trained network, and low-rank factorization of weight matrices often leads to significant losses in network accuracy. Neural network pruning, a key method of neural network optimization, is based on the concept of simplifying complex mathematical models while maintaining or improving their performance. This approach is becoming increasingly relevant as neural networks are increasingly becoming part of applications that require efficient use of computing resources. The field of pre-training pruning methods allow to optimize the network before the training stage, thereby potentially reducing training costs. Pruning involves the systematic removal of less significant neural network parameters, such as weights or connections, thus reducing model size and computational complexity. This process is crucial for deploying neural networks in environments with limited computing resources or where fast data processing is important. The development and improvement of pruning methods is a major area of research in the field of neural network optimization. The works of foreign scientists are devoted to the pruning: Molchanov P., Tyree S., Hu H., Peng R., Li H., Kadav A., He Y., Zhang X., Narang S., Elsen E. Pruning and pre-training optimization are studied by Lee N., Ajanthan T., Frankle J., Carbin M. Development of architectural optimization methods is studied by Sinkevych O., Tereykovsky A., Kudin O., Krivokhata A., Howard A. G., Zhu M., Hinton G., Dean J. and others. Methods for reducing the cost of computing resources were studied by Ruvinska V. M., Timkov Y. Y., Strunin I. V., Progonov D. O. Liang T., Li B., Kong Z. Tan M., Wang Z., Frankle J., Carbin M. Han S., Pool J., Li H. and others. Pre-training pruning methods, such as SNIP (Single-Shot Network Pruning), provide an opportunity to optimize neural networks in the early stages of development. SNIP calculates a salience score for each weight based on its contribution to the loss function and prunes the least significant weights before training. However, this method may require adjustments for a particular data set. Despite the high performance of the pruning methods, a significant number of studies have been conducted on typical models, so there is a need to investigate the methods and their effectiveness for new models in the field of computer vision. The dissertation was performed in accordance with the current and future plans of scientific and scientific and technical activities of the National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" and is part of the research within the research work "Methods and algorithms for optimizing pattern recognition based on machine learning methods" (State registration number 0121U109207, Kyiv).The author personally proposed an improved method for calculating the criterion of importance of neural network weights when removing weights before training for the face recognition model and the transformer architecture model in the research work No. 0121U109207. Experiments were conducted to evaluate the effectiveness of the developed method. The scientific novelty of the results is as follows. An improved model of the RetinaFace neural network for face detection is proposed, which, unlike the existing ones, uses the SNIP pruning method for optimization, which allows the use of sparse matrices for storing and executing the network for further improvement and performance. An improved SNIP pinning method for the RetinaFace face detection model is proposed, which, unlike the existing ones, provides for the possibility of excluding contextual modules from the pinning process. The improved method allows achieving higher accuracy with the same number of excluded parameters. For the first time, a pre-training tuning method for transformer architecture models has been developed, which, unlike the existing ones, takes into account the importance of the "attention" mechanism. The use of the developed method allows to significantly increase the accuracy of classification of the final model compared to the SNIP method. For the first time, a software architecture for modelling and studying pre-training methods for neural networks has been developed, which, unlike existing ones, allows to reduce the matrix of network weights to a sparse format using the proposed mechanism for assessing the importance of weights. The optimized RetinaFace network contains 68% fewer parameters than the original network, with a loss of accuracy of only 1.4%. The improved method reduced the accuracy loss from 1.4% to 0.7% compared to the SNIP method when compared to the uncropped model, with a 68% reduction in parameters. Implementation of the pruning method for the transformer architecture allowed to train the network with an accuracy improvement of up to 37% compared to the SNIP method when compared to the uncut model, while reducing the number of parameters by 90%. The results of determining the criteria for the importance of weights obtained by the developed algorithm can be used to increase the performance of neural networks from 20% to 65% by using sparse matrices of 2:4 format, depending on the GPU. The study established that additional outputs for Siamese neural networks designed to establish the similarity of two images do not increase the speed of convergence and model accuracy. The study has shown that so far, the evaluation of the pruning methods has been carried out on typical neural network model architectures. When studying a network for face detection and applying the pre-training method, it was found that the network can maintain a high level of accuracy while significantly reducing the number of parameters involved in training. This speeds-up training and facilitates further use of the models, as modern CPUs and GPUs optimize computations involving sparse matrices. The research methodology and results can also be used to create and evaluate neural network architectures for other domains, thereby expanding the scope of potential applications. The research can serve as a basis for evaluating the effectiveness of other optimization methods for computer vision models and contribute to the growing body of scientific literature on neural network optimization. The scientific results of the research are a contribution to the development of theoretical and applied foundations for the development and research of scientific, methodological and software tools for optimizing deep neural networks for pattern recognition. Future research may include studies to improve the criteria for determining the importance of weights, iteratively adding parameters during training, exploring other formats of compressed matrices, and extending experiments to other tasks and neural network architectures. | |
dc.format.extent | 179 с. | |
dc.identifier.citation | Мельниченко, А. В. Методи та програмні засоби підвищення швидкодії моделей розпізнавання образів на основі машинного навчання : дис. … д-ра філософії : 121 Інженерія програмного забезпечення / Мельниченко Артем Васильович. – Київ, 2024. – 179 с. | |
dc.identifier.uri | https://ela.kpi.ua/handle/123456789/67344 | |
dc.language.iso | uk | |
dc.publisher | КПІ ім. Ігоря Сікорського | |
dc.publisher.place | Київ | |
dc.subject | інформаційні технології | |
dc.subject | швидкодія | |
dc.subject | оптимізація | |
dc.subject | нейронна мережа | |
dc.subject | машинне навчання | |
dc.subject | штучний інтелект | |
dc.subject | обробка зображень | |
dc.subject | аналіз даних | |
dc.subject | розпізнавання облич | |
dc.subject | хмарне середовище | |
dc.subject | комп’ютерна система | |
dc.subject | програмне забезпечення | |
dc.subject | архітектура програмної системи | |
dc.subject | мікросервісна архітектура | |
dc.subject | розріджені матриці | |
dc.subject | information technology | |
dc.subject | performance | |
dc.subject | optimization | |
dc.subject | neural network | |
dc.subject | machine learning | |
dc.subject | artificial intelligence | |
dc.subject | image processing | |
dc.subject | data analysis | |
dc.subject | face recognition | |
dc.subject | cloud environment | |
dc.subject | computer system | |
dc.subject | software | |
dc.subject | software system architecture | |
dc.subject | microservice architecture | |
dc.subject | sparse matrices | |
dc.subject.udc | 004.94 | |
dc.title | Методи та програмні засоби підвищення швидкодії моделей розпізнавання образів на основі машинного навчання | |
dc.type | Thesis Doctoral |
Файли
Контейнер файлів
1 - 1 з 1
Вантажиться...
- Назва:
- Melnychenko_dys.pdf
- Розмір:
- 7.47 MB
- Формат:
- Adobe Portable Document Format
Ліцензійна угода
1 - 1 з 1
Ескіз недоступний
- Назва:
- license.txt
- Розмір:
- 8.98 KB
- Формат:
- Item-specific license agreed upon to submission
- Опис: