Методи та програмні засоби підвищення швидкодії моделей розпізнавання образів на основі машинного навчання
Вантажиться...
Дата
2024
Науковий керівник
Назва журналу
Номер ISSN
Назва тому
Видавець
КПІ ім. Ігоря Сікорського
Анотація
Мельниченко А.В. Методи та програмні засоби підвищення швидкодії моделей розпізнавання образів на основі машинного навчання. − Кваліфікаційна наукова праця на правах рукопису.
Дисертація на здобуття наукового ступеня доктора філософії з галузі знань 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 оптимізують обчислення, в яких беруть участь розріджені матриці. Методика дослідження та отриманні результати можуть також бути використані для створення та оцінки архітектур нейронних мереж для інших доменів, тим самим розширюючи сферу потенційних застосувань. Дослідження може стати основою для оцінки ефективності інших методів оптимізації для моделей комп’ютерного зору та внести вклад у зростаючий обсяг наукової літератури з оптимізації нейронних мереж. Наукові результати досліджень є внеском у розвиток теоретичних і прикладних основ розробки й дослідження науково-методичного і програмного апарату для оптимізації глибоких нейронних мереж з розпізнавання образів. Наступними перспективними дослідженнями можуть стати дослідження для вдосконалення критеріїв визначення важливості вагів, ітеративне додавання параметрів під час навчання, дослідження інших форматів стиснених матриць та розширення експериментів на інші задачі та архітектури нейронних мереж.
Опис
Ключові слова
інформаційні технології, швидкодія, оптимізація, нейронна мережа, машинне навчання, штучний інтелект, обробка зображень, аналіз даних, розпізнавання облич, хмарне середовище, комп’ютерна система, програмне забезпечення, архітектура програмної системи, мікросервісна архітектура, розріджені матриці, information technology, performance, optimization, neural network, machine learning, artificial intelligence, image processing, data analysis, face recognition, cloud environment, computer system, software, software system architecture, microservice architecture, sparse matrices
Бібліографічний опис
Мельниченко, А. В. Методи та програмні засоби підвищення швидкодії моделей розпізнавання образів на основі машинного навчання : дис. … д-ра філософії : 121 Інженерія програмного забезпечення / Мельниченко Артем Васильович. – Київ, 2024. – 179 с.