Способи автоматизованого тестування програм з використанням глибоких нейронних мереж

dc.contributor.advisorТерейковський, Ігор Анатолійович
dc.contributor.authorЮрченко, Валентин Володимирович
dc.date.accessioned2023-06-07T11:06:46Z
dc.date.available2023-06-07T11:06:46Z
dc.date.issued2023
dc.description.abstractАктуальність теми. Моделі машинного навчання (Machine Learning, ML) відіграють важливу роль в різних застосуваннях. Зокрема, в останні роки глибокі нейронні мережі (Deep neural networks, DNN) використовуються в різних галузях науки та техніки. З огляду на таке зростання використання, можливі помилки у моделях DNN можуть викликати серйозні стурбовання з приводу їхньої надійності та спричинити значні втрати. Тому виявлення помилкової поведінки в будь-якій системі машинного навчання, особливо в DNN, є критичним. Тестування програмного забезпечення - широко використовуваний механізм для виявлення помилок. Однак, оскільки точний вихід більшості моделей DNN не відомий для заданих вхідних даних, традиційні техніки тестування програмного забезпечення не можуть бути безпосередньо застосовані. Останніми роками було запропоновано кілька методів тестування та критеріїв адекватності для тестування DNN. У даній дисертації досліджується три типи методів тестування DNN з використанням текстових та зображень вхідних даних. Об’єктом дослідження є автоматизація тестування програм з використанням глибоких нейронних мереж.. Предметом дослідження є способи автоматизованого тестування програм з використанням глибоких нейронних мереж. Мета роботи: розробка ефективних методів тестування програм з використанням глибоких нейронних мереж Наукова новизна: Запропоновано методи тестування та критерії оцінювання їх ефективності для програм з використанням глибоких нейронних мереж, що за рахунок часткового об’єднання різних методологій в запропоновану одну, дозволяє підвищити точність тестування та оптимізувати сам процес тестування. Практична цінність: Автоматизоване тестування програм з використанням глибоких нейронних- мереж значно полегшує тестування таких складних програм та значно покращує якість тестування, оскільки при такому підході виключається людський фактор і можливість попадання будь-яких вразливостей системи до кінцевого користувача. Апробація роботи. Основні положення і результати роботи були представлені та обговорювались на XV науковій конференції магістрантів та аспірантів «Прикладна математика та комп’ютинг» ПМК-2022 та на міжнародній науково-практичній конференції «Наука, освіта, технології і суспільство в XXI столітті: наукові ідеї та механіхми реалізації». Структура та обсяг роботи. Магістерська дисертація складається з вступу, чотирьох розділів та висновків. У вступі подано загальну характеристику роботи, зроблено оцінку сучасного стану проблеми, обґрунтовано актуальність напрямку досліджень, сформульовано мету і задачі досліджень, показано наукову новизну отриманих результатів і практичну цінність роботи, наведено відомості результатів і їхнє впровадження. У першому розділі було викладено загальну теорію по глибоким нейронним мережам. Детально розглянуто архітектуру нейронних мереж та їхні ключові складові. Розглянуто способи тестування таких нейронних мереж. У другому розділі було розглянуто декілька методів тестування глибоких нейронних мереж, визначено їхні переваги та недоліки. У третьому розділі було проведено три експерименти з різними методами тестування глибоких нейронних мереж. У четвертому розділі наведено інформацію про нову запропоновану методологію, яка в собі поєднує кращі якості з попередньо розглянутих інсуючих методологій. У висновках представлені результати проведеної роботи. Робота представлена на 90 аркушах, містить посилання на список використаних літературних джерел.uk
dc.description.abstractotherMachine Learning (ML) models play an important role in various applications. In particular, in recent years, Deep Neural Networks (DNNs) have been used in a variety of applications. Given this increase in use, possible errors in DNN models can raise serious concerns about their reliability and cause significant losses. Therefore, detecting erroneous behavior in any machine learning system, especially in DNNs, is critical. Software testing is a widely used mechanism for detecting errors. However, since the exact output of most DNN models is not known for a given input, traditional software testing techniques cannot be directly applied. In recent years, several testing methods and adequacy criteria have been proposed for testing DNNs. In this thesis, we investigate three types of testing methods for DNNs using text and image inputs. The object of research is automation of program testing using deep neural networks.. The subject of research is methods for creating automated testing of programs using neural networks. Purpose: development of effective methods for testing programs using deep neural networks. Scientific novelty: Testing methods and criteria for evaluating their effectiveness for programs using deep neural networks are proposed. Practical value: Automated testing of programs using deep neural networks greatly facilitates the testing of such complex programs and significantly improves the quality of testing, since this approach eliminates the human factor and the possibility of any system vulnerabilities reaching the end user. Testing of the work. The main provisions and results of the work were presented and discussed at the XIV Scientific Conference of Undergraduate and Postgraduate Students "Applied Mathematics and Computer Science" PMK-2022. Structure and scope of the work. The master's thesis consists of an introduction, four chapters and conclusions. The introduction gives a general description of the work, assesses the current state of the problem, substantiates the relevance of the research area, formulates the purpose and objectives of the research, shows the scientific novelty of the results and the practical value of the work, and provides information on the results and their implementation. In the first chapter, the general theory of deep neural networks is presented. The architecture of neural networks and their key components are discussed in detail. The ways of testing such neural networks are considered. Several types of deep neural network testing are discussed in detail, and their advantages and disadvantages are identified. In the second section, several methods of testing deep neural networks were reviewed, their advantages and disadvantages were identified. In the third section, three experiments with different methods of testing deep neural networks were conducted. The fourth section analyzes the results of the experiments on the use of different methodologies for testing deep neural networks. The conclusion presents the results of the work. The work is presented on 90 pages and contains references to the list of used literature sources.uk
dc.format.extent99 с.uk
dc.identifier.citationЮрченко, В. В. Способи автоматизованого тестування програм з використанням глибоких нейронних мереж : магістерська дис. : 123 Комп’ютерна інженерія / Юрченко Валентин Володимирович. – Київ, 2023. – 99 с.uk
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/56763
dc.language.isoukuk
dc.publisherКПІ ім. Ігоря Сікорськогоuk
dc.publisher.placeКиївuk
dc.subjectнейронні мережіuk
dc.subjectтестуванняuk
dc.subjectNeural networksuk
dc.subjecttestinguk
dc.subject.udc004.04uk
dc.titleСпособи автоматизованого тестування програм з використанням глибоких нейронних мережuk
dc.typeMaster Thesisuk

Файли