Image compression module based neural network autoencoders

A new approach is proposed to data compression in the form of a neural network module based on the structure of autoencoders, which has the most optimal learning time, compression level and obtains sufficiently clear image reconstruction. The main mechanisms for building the structure of encoder and...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2023
Автори: Lesyk, V.O., Doroshenko, А.Yu.
Формат: Стаття
Мова:Ukrainian
Опубліковано: Інститут програмних систем НАН України 2023
Теми:
Онлайн доступ:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/558
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Репозитарії

Problems in programming
id pp_isofts_kiev_ua-article-558
record_format ojs
resource_txt_mv ppisoftskievua/9a/bd5f80309dac5e66b5f2a6e89140cc9a.pdf
spelling pp_isofts_kiev_ua-article-5582023-10-23T11:40:58Z Image compression module based neural network autoencoders Модуль стиснення зображень на основі нейро-мережевих автокодувальників Lesyk, V.O. Doroshenko, А.Yu. autoencoder; data compression; image reconstruction; TensorFlow UDC 004.627 автокодувальник; стиснення даних; генеративні нейронні мережі; відновлення зображення; TensorFlow УДК 004.627 A new approach is proposed to data compression in the form of a neural network module based on the structure of autoencoders, which has the most optimal learning time, compression level and obtains sufficiently clear image reconstruction. The main mechanisms for building the structure of encoder and decoder neural networks, which are used as a module, have been developed. The main data for the reconstruction were selected from the open data set Fashion-MNIST, which allows simplified testing of neural network structures, the process of their training and obtaining results. Approaches to image reproduction using neural network layers of convolution and inverse convolution are analyzed. An analysis of the impact on the quality of the resulting image reconstruction of the structure of the output module, which is used to compress the input image, was carried out. Atypical behavior was found during the increase of layers in the structure of the autoencoder, which did not lead to an increase in the quality of image reproduction. The basic necessity of changing the structural parts of the autoencoder and its application in combination with other technologies to obtain a better reproduction result and the elimination of distortions is highlighted.Prombles in programming 2023; 1: 48-57 В роботі запропоновано новий підхід до стиснення даних у вигляді нейромережевого модуля на базі структури автокодувальників, що має найбільш оптимальний час навчання, рівень стиснення та отримує достатньо чітку реконструкцію зображення. Розроблено основні механізми для побудови структури нейромереж кодера та декодера, що застосовуються у якості модуля. Основні дані для реконструкції були обрані із відкритого набору даних Fashion-MNIST, що дозволяє спрощено тестувати нейромережеві структури, процес їх навчання та отримання результатів. Проаналізовано підходи до відтворення зображень за допомогою нейромережевих шарів згортки та оберненої згортки. Проведено аналіз впливу на якість результуючої реконструкції зображення структури вихідного модуля, що застосовується для стиснення вхідного зображення. Знайдено нетипову поведінку під час збільшення шарів у структурі автокодувальника, що не призводять до збільшення якості відтворення зображень. Виділено основну необхідність зміни структурних частин автокодувальника та його застосування у комбінації із іншими технологіями для отримання кращого результату відтворення та нівелювання спотворень.Prombles in programming 2023; 1: 48-57 Інститут програмних систем НАН України 2023-04-27 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/558 10.15407/pp2023.01.048 PROBLEMS IN PROGRAMMING; No 1 (2023); 48-57 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2023); 48-57 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2023); 48-57 1727-4907 10.15407/pp2023.01 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/558/612 Copyright (c) 2023 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2023-10-23T11:40:58Z
collection OJS
language Ukrainian
topic autoencoder
data compression
image reconstruction
TensorFlow
UDC 004.627
spellingShingle autoencoder
data compression
image reconstruction
TensorFlow
UDC 004.627
Lesyk, V.O.
Doroshenko, А.Yu.
Image compression module based neural network autoencoders
topic_facet autoencoder
data compression
image reconstruction
TensorFlow
UDC 004.627
автокодувальник
стиснення даних
генеративні нейронні мережі
відновлення зображення
TensorFlow
УДК 004.627
format Article
author Lesyk, V.O.
Doroshenko, А.Yu.
author_facet Lesyk, V.O.
Doroshenko, А.Yu.
author_sort Lesyk, V.O.
title Image compression module based neural network autoencoders
title_short Image compression module based neural network autoencoders
title_full Image compression module based neural network autoencoders
title_fullStr Image compression module based neural network autoencoders
title_full_unstemmed Image compression module based neural network autoencoders
title_sort image compression module based neural network autoencoders
title_alt Модуль стиснення зображень на основі нейро-мережевих автокодувальників
description A new approach is proposed to data compression in the form of a neural network module based on the structure of autoencoders, which has the most optimal learning time, compression level and obtains sufficiently clear image reconstruction. The main mechanisms for building the structure of encoder and decoder neural networks, which are used as a module, have been developed. The main data for the reconstruction were selected from the open data set Fashion-MNIST, which allows simplified testing of neural network structures, the process of their training and obtaining results. Approaches to image reproduction using neural network layers of convolution and inverse convolution are analyzed. An analysis of the impact on the quality of the resulting image reconstruction of the structure of the output module, which is used to compress the input image, was carried out. Atypical behavior was found during the increase of layers in the structure of the autoencoder, which did not lead to an increase in the quality of image reproduction. The basic necessity of changing the structural parts of the autoencoder and its application in combination with other technologies to obtain a better reproduction result and the elimination of distortions is highlighted.Prombles in programming 2023; 1: 48-57
publisher Інститут програмних систем НАН України
publishDate 2023
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/558
work_keys_str_mv AT lesykvo imagecompressionmodulebasedneuralnetworkautoencoders
AT doroshenkoayu imagecompressionmodulebasedneuralnetworkautoencoders
AT lesykvo modulʹstisnennâzobraženʹnaosnovínejromereževihavtokoduvalʹnikív
AT doroshenkoayu modulʹstisnennâzobraženʹnaosnovínejromereževihavtokoduvalʹnikív
first_indexed 2024-09-12T19:29:58Z
last_indexed 2024-09-12T19:29:58Z
_version_ 1815407619191341056
fulltext 48 Моделі та методи машинного навчання УДК 004.627 http://doi.org/10.15407/pp2023.01.048 В.О. Лесик, А.Ю. Дорошенко МОДУЛЬ СТИСНЕННЯ ЗОБРАЖЕНЬ НА ОСНОВІ НЕЙРОМЕРЕЖЕВИХ АВТОКОДУВАЛЬНИКІВ В роботі запропоновано новий підхід до стиснення даних у вигляді нейромережевого модуля на базі структури автокодувальників, що має найбільш оптимальний час навчання, рівень стиснення та отри- мує достатньо чітку реконструкцію зображення. Розроблено основні механізми для побудови струк- тури нейромереж кодера та декодера, що застосовуються у якості модуля. Основні дані для рекон- струкції були обрані із відкритого набору даних Fashion-MNIST, що дозволяє спрощено тестувати нейромережеві структури, процес їх навчання та отримання результатів. Проаналізовано підходи до відтворення зображень за допомогою нейромережевих шарів згортки та оберненої згортки. Проведено аналіз впливу на якість результуючої реконструкції зображення структури вихідного модуля, що за- стосовується для стиснення вхідного зображення. Знайдено нетипову поведінку під час збільшення шарів у структурі автокодувальника, що не призводять до збільшення якості відтворення зображень. Виділено основну необхідність зміни структурних частин автокодувальника та його застосування у комбінації із іншими технологіями для отримання кращого результату відтворення та нівелювання спотворень. Ключові слова: автокодувальник, стиснення даних, генеративні нейронні мережі, відновлення зобра- ження, TensorFlow. © В.О. Лесик, А.Ю. Дорошенко, 2023 ISSN 1727-4907. Проблеми програмування. 2023. №1 Вступ Цифрова інформація вкоренилася в усіх аспектах нашого життя та суспіль- ства, а зростання кількості створюваної інформації здається нестримним та про- гнозується експоненці́йне збільшення темпів створення та збереження даних у всіх інформаційних системах. Щодня на Землі ми створюємо 500 мільйонів тві- тів, 294 мільярди електронних листів, 4 мільйони гігабайт даних Facebook, 65 мі- льярдів повідомлень WhatsApp і 720 000 годин нового вмісту, що додається щодня на YouTube[1]. Стрімке розповсюдження даних потребує значних ресурсів як для збереження, так і для передачі, що потре- бує значних витрат заощаджень та ресур- сів. Основним способом спрощення да- ної проблеми є застосування алгоритмів стиснення даних. Основними перевагами стиснення є скорочення обладнання для зберігання, часу передачі даних і пропускної здатнос- ті зв’язку, що в свою чергу приводить до значної економії коштів. Стиснуті файли потребують значно меншої ємності, ніж файли без стиснення, що дозволяє значно знизити витрати на зберігання. Стисну- тий файл також потребує менше часу для передачі, споживаючи меншу пропускну здатність мережі. Це теж може зменшити витрати, а також збільшити продуктив- ність. Крім того, оскільки для передачі стиснених файлів через Інтернет потріб- но менше часу, такі організації менше ін- вестують у дороге оновлення пропускної здатності. У даній статті основна увага приді- ляється застосуванню нових підходів до стиснення даних для спрощення передачі медіа даних у соціальних мережах різного типу. Алгоритми стиснення потребують більших витрат часу та обчислювальних ресурсів, які власне компенсують виграш у розмірі. Але сучасні прогами доступу до соціальних мереж не потребують вели- ких обчислювальних витрат, тому вільні потужності можна застосувати для опти- мізації завантаження контенту для корис- тувача та забезпечення компенсації часу у випадку необхідності економії трафіку або зменшення часу очікування у разі ви- никнення збоїв передачі даних та інших 49 Моделі та методи машинного навчання непередбачуваних ситуацій. Основною метою даної роботи є розробка та аналіз нейромережевого мо- дуля стиснення даних та прогнозування можливих застосувань розроблених сис- тем. Нейронні мережі здатні знаходити приховані зв’язки у даних, а це ефектив- но використовується з метою стиснення. 1. Класичні методи стиснення даних Основним поняттям теорії інфор- мації є ентропія, яку можна неформально розглядати як міру кількості інформації в повідомленні. Під вартістю кодування ро- зуміється середня довжина кодового сло- ва (у бітах), що доводиться на один сим- вол початкового тексту. Тоді надлишок кодування складає різницю між вартістю кодування і ентропією початкового пові- домлення в перерахунку на один символ. Кодування має справу з потоком символів у певному алфавіті, причому частоти по- яви символів різні. Метою кодування є перетворення потоку символів у потік бі- тів мінімальної довжини. Це досягається за рахунок зменшення надлишку вихід- ного потоку шляхом обліку частоти появи символів на вході: довжина коду має бути пропорційна інформації, що міститься у вхідному потоці. Якщо розподіл частот символів ві- домий, то можна побудувати оптималь- не кодування. Завдання ускладнюється, якщо цей розподіл заздалегідь невідомий. Методи стиснення використовують зако- номірності у надлишкових даних, такі як: розподіл символів та знаків, повторення, наявність шаблонності у даних, позицій- на надмірність. Прикладом основних ме- тодів стиснення є кодування Хаффмана, кодування довжини серії, програмоване стиснення, [2]. Кодування Хаффмана. Найпопу- лярнішим методом стиснення є переклад фрагментів вхідних даних фіксовано- го розміру в символи змінної довжини. Стандартна процедура кодування Хафф- мана передбачає спосіб призначення кодів вхідним символам так аби кожна довжина коду в бітах приблизно дорівнювала ло- гарифму від імовірності появи символу в повідомленні. Кодування довжини серії. Послі- довність ідентичних символів може бути закодована як поле підрахунку плюс іден- тифікатор символу, що повторюється. Цей підхід ефективний для графічних зо- бражень, він практично не має значення в тексті та має помірну цінність у файлах. Проблема з кодуванням довжини серії для послідовностей символів, змі- шаних з іншими даними, полягає в роз- різненні полів підрахунку від звичайних символів, які можуть мати той самий ша- блон. Програмоване стиснення. Програ- мування, як правило, виконується програ- містом додатків або системою керування даними. У відформатованих файлах да- них використовуються кілька методів. Невикористані пробіли або нульові про- біли усуваються, зробивши зміну довжи- ною та використовуючи структуру індек- су з показниками на кожну позицію поля. Передбачувані значення полів компактно закодовані за допомогою кодової таблиці. Наприклад, коли вказуються назви скла- дів як цілі коди, а не як алфавітні англій- ські назви. Кожне поле має власну спеці- алізовану кодову таблицю, яка стосується позиційної надлишковості. За результатами застосування да- них підходів на різного роду типу даних отримується ступінь стиснення 1,8 для тексту, від 2 до 6 із файлами Cobol, 1 із даними у вигляді масиву із числами з плаваючою комою, 2,1 із форматованими науковими даними, 2,6 із даними систем- ного журналу, 2,3 із програмним кодом та 1,5 із кодом програмних об’єктів[2]. Розглянуті методи характеризу- ються як стиснення без втрат, за викорис- тання якого закодована інформація може бути повністю відновлена зі стиснутих даних. Стиснення без втрат використо- вується, коли важливо, щоб відновленні дані були ідентичні оригіналу, тобто у загальному випадку. Альтернативою кла- сичних методів стиснення є методи стис- нення із втратами, що використовуються тоді, коли втрати допускати доцільно та ефективно. Для людини надлишковість даних часто пов’язана з якістю інформа- ції, оскільки надлишковість, зазвичай, 50 Моделі та методи машинного навчання покращує сприйняття інформації, як-от чіткість та якість зображення. Однак, коли мова йде про зберігання та пере- дачу інформації засобами комп’ютерної техніки, то надлишковість відіграє нега- тивну роль, оскільки вона призводить до зростання вартості зберігання та переда- чі інформації. Особливо ефективне ви- користання стиснення даних із втратами у контексті передачі медіа файлів, адже людський зір може не сприймати досить малу втрату якості зображень. Деякі гра- фічні файлові формати, зокрема, PNG та GIF використовують тільки стиснення без втрат, тоді як формати TIFF та MNG можуть використовувати стиснення як із втратами, так і без них[3]. 2. Застосування нейромереж Альтернативою алгоритмам стис- нення може слугувати нейронна мере- жа, бо вона має досить схожі методи виконання: нейронна мережа знаходить необхідний нам розподіл шансів появи інформації за наданими їй даними. Тоб- то за допомогою нейронної мережі мож- на розробити модель, що буде знаходити зображення однорідних даних у компак- тнішому вигляді. Основна властивість не- йронних мереж – це здатність знаходити непередбачувані зв’язки між вхідними навчальними даними, що вкрай важли- во для побудови альтернативних методів стиснення даних[4]. Як правило, нейронні мережі в ролі алгоритму стиснення необхідно вважати як метод із втратами, бо такі мережі не можуть надавати чіткого представлення через ряд технічних обмежень. Резуль- туючі знайдені репрезентації даних зна- ходяться у результаті мінімізації похибки серед усіх наданих навчальних даних, тобто чітку репрезентацію для класичних структур знайти не можливо. Моделі нейронних мереж мають практично незліченну кількість виглядів та використань. Вихідні дані, їхня якість та виконання поставлених задач повніс- тю залежать від структури побудови не- йронних мереж та додаткових модулів і підсистем. Тому слід зауважити, що вже є приклади використання нейромереж, які дозволяють отримати чіткі дані без втрат[5]. Основне завдання при застосуван- ні нейронних мереж до стиснення даних є підбір необхідної структури, що може забезпечити нівелювання надлишкової чи недоречної інформації, яка не буде спо- творювати результуючі відтворені дані. Якщо рівень спотворення даних є занад- то великим після досягнення мінімальної похибки серед відновлень, то правильним рішенням є ускладнення моделі або по- вноцінна зміна підходу до побудови мо- делі. 3. Модель Автокодувальника Автокодувальник — це певний тип нейронних мереж прямого зв’язку, на- вчальні дані якого є як вхідними даними, так і цільовими. Вони стискають вхідні дані в код меншої розмірності, а потім реконструюють вихідні дані з цього пред- ставлення, проводячи порівняння із ори- гіналом. Код є компактним «підсумком» або «стисненням» вхідних даних, що та- кож називається представленням латент- ного простору[5]. Сучасні автокодувальники узагаль- нили ідею кодера та декодера за межі де- термінованих функцій до стохастичних відображень. Традиційно автокодуваль- ники використовувалися для зменшення розмірності або для виділення якісних зв’язків функцій у простішому представ- ленні. Нещодавно теоретичні зв’язки між автокодувальниками та моделями латент- них змінних автокодувальників вивели дані моделі на передній план генератив- ного моделювання. Загалом автокоду- вальники широко використовуються під час реконструкції, знаходження латентно- го відображення даних, зниження шуму, кластеризації, знаходження аномалій[6]. Автокодувальники можна розгля- дати як особливий випадок мереж прямо- го зв’язку, і їх можна навчити за допомо- гою всіх тих самих методів, як правило, міні-пакетного градієнтного спаду після градієнтів, обчислених за допомогою зво- ротного поширення. Застосування автокодувальників передбачає низку особливостей застосу- 51 Моделі та методи машинного навчання вання: специфічність даних, втрати, не- контрольоване навчання. Специфічність даних. Автокоду- вальники здатні стискати лише дані, схо- жі на ті, на яких їх навчали. Оскільки вони вивчають функції, специфічні для заданих навчальних даних, то відрізня- ються від стандартного алгоритму стис- нення даних, такого як gzip. Тому ми не можемо очікувати, що автокодувальник, навчений рукописним цифрам, стискати- ме пейзажні фотографії. Втрати. Вихід автокодувальни- ка не буде точно таким, як вхід, це буде близьке, але погіршене представлення. Якщо вам потрібне стиснення без втрат, це не той шлях. Неконтрольоване навчання. Щоб навчити автокодувальника, не треба ро- бити нічого надто складного, достатньо введення на вході необроблених даних. Автокодувальники вважаються технікою неконтрольованого навчання, оскільки їм не потрібні чіткі мітки для навчання. Але якщо бути точнішим, вони самоконтро- льовані, оскільки генерують власні мітки з даних навчання. Автокодувальники мають типову архітектуру: як кодер, так і декодер — це повністю зв’язані нейронні мережі пря- мого зв’язку, по суті штучні нейронні ме- режі,. Код (латентне представлення) — це один рівень нейронної мережі із розмір- ністю за вибором. Кількість вузлів у шарі коду (розмір коду) є гіперпараметром, який встановлюється перед навчанням автокодувальника[7]. Представлення мо- делі архітектури зображено на рис. 1. Рис. 1. Модель архітектури автокодувальника Спочатку вхідні дані проходять че- рез кодер, який є повністю підключеною мережею, для створення коду. Декодер, який має аналогічну структуру мережі та створює вихід лише за допомогою коду. Мета полягає в тому, щоб отримати вихід, ідентичний входу. Архітектура декодера є дзеркальним відображенням кодера. Це не обов’язкова вимога, але така модель є загальноприйнятою. Єдина вимога – роз- мірність входу та виходу має бути одна- ковою. Є три основні гіперпараметри, які можна змінювати для навчання автокоду- вальника: розмір коду, кількість вузлів на шар та функція втрат. Розмір коду. Кількість вузлів у се- редньому шарі, менший розмір приводить до більшого стиснення. Кількість вузлів на шар. Архітек- тура автокодувальника, над якою ми пра- цюємо, називається стекованим автокоду- вальником, оскільки шари складаються один за одним. Зазвичай стекові автоко- дери виглядають як «сендвіч». Кількість вузлів на шарі зменшується з кожним наступним шаром кодера і збільшується назад у декодері. Крім того, декодер є си- метричним до кодера з точки зору струк- тури шару. Як зазначалося вище, це не є необхідним, і ми повністю контролюємо ці параметри. Функція втрат. Використовуємо середню квадратичну помилку або двій- кову крос-ентропію. Якщо вхідні зна- чення знаходяться в діапазоні [0, 1], за- звичай використовується крос-ентропія, за інших умов використовується середня квадратична помилка. Для налаштування складніших структур автокодувальни- ків необхідно підбирати оптимізатор та функцію вибірково відповідно до обра- них даних та структури. 4. Масштабування Масштабування – один із перших основних підходів до вирішення пробле- ми надлишковості даних під час передачі зображень. Великі масиви зображень сумарно потребують значного простору на носіях даних та викликають ускладнення під час 52 Моделі та методи машинного навчання передачі. Для вирішення даної проблеми, як правило, застосовується метод масш- табування зображення, тобто відсіювання певної кількості пікселів для зменшен- ня розмірності, що, власне приводить до зменшення розміру файлу. Далі на точці прийому файл зображення повертають до його початкового стану за допомогою застосувань алгоритмів масштабування, що використовують корисні шаблони в окремих зонах отриманого зображення. Процес збільшення масштабу називають укрупненням масштабу (англ. Upscaling). Проблема масштабування залиша- ється актуальною і в сьогоденні. Масшта- бування можна використовувати також як метод підвищення якості розширеного зо- браження для покриття більших екранів та автоматичної генерації або покращен- ня зображень. Сучасні фреймворки розробки не- йронних мереж мають відповідні струк- турні компоненти, що відповідають ал- горитмам масштабування. Яскравим прикладом застосування масштабуван- ня є програмний інтерфейс фреймворку TensorFlow для створення програмовано- го шару нейронної мережі UpSample2D, який виконує основні функції укрупнен- ня масштабу. Базова структура даного ін- терфейсу виконує функцію дублювання пікселів відповідно до наведеної форми, що в результаті продукує масштабоване зображення. Даний інтерфейс включає застосування інтерполяції для точнішого та якісніше знаходження масштабованого зображення. У ролі інтерполяції можна використати інтерполяцію найближчо- го сусіда, в якій піксель із підвищеною дискретизацією є копією найближчого пікселя з пулу; білінійну інтерполяцію, де обчислюється зважена відстань між кожним найближчим пікселем за допомо- гою лінійної інтерполяції для обчислення нового пікселя. Можна використать біку- бічну інтерполяцію, де також обирається найближчий піксель, але замість лінійної інтерполяції для обчислення нового зна- чення пікселя отримується поліноміальна інтерполяція 3-го порядку, що потребує більше часу, але дає кращі результати. 5. Згортка, обернення згортки Альтернативним рішенням та ефективним доповненням до моделей із використанням масштабування є вико- ристання згорток – функцій перетворення тензорів у новий формат. Згортка — це проста математична операція, яка є фундаментальною для ба- гатьох поширених операторів обробки зо- бражень. Згортка забезпечує спосіб «пе- ремноження» двох масивів чисел, пере- важно, різного розміру, але однакової роз- мірності, для створення третього масиву чисел однакової розмірності. Це можна використовувати в обробці зображень для реалізації операторів, вихідні піксель- ні значення яких є простими лінійними комбінаціями певних вхідних піксельних значень. Застосування згортки дозволяє представити більший тензор за допо- могою меншого та зберегти усі якісні зв’язки та закономірності даних. У контексті обробки зображень один із вхідних масивів зазвичай є зобра- женням сірого рівня та для кольорових зображень – три масиви, що відповідають червоному, зеленому та синьому елемен- ту кольорів. Другий масив, як правило, набагато менший і також є двовимірним (хоча він може мати товщину лише один піксель) і відомий як ядро. Згортка вико- нується ковзанням ядра по зображенню, зазвичай починаючи з верхнього ліво- го кута, щоб перемістити ядро через усі позиції, де воно повністю вміщується в межах зображення. Кожна позиція ядра відповідає одному вихідному пікселю, значення якого обчислюється шляхом множення значення ядра та значення пік- селя основного зображення для кожного клітинок у ядрі, а потім додавання всіх цих чисел разом[8]. Типове покрокове ви- конання процесу згортки можна побачити на рис. 2. У контексті автокодувальників, згорткові мережі застосовуються для отри- мання кращої репрезентації даних зобра- ження та ефективнішої латентної репрезен- тації. Але для відновлення коду необхідно застосувати функцію, яка повертає вихідні дані зі згортки. Однак визначеної оберненої 53 Моделі та методи машинного навчання функції до функції згортки не існує та ана- літично її знайти неможливо. Кожне визна- чення комбінацій вихідного масиву та ядра, що було застосоване для його отримання, має безліч початкових масивів, що відпові- дають отриманню виходу. Альтернативою обчислення оберне- ної згортки є транспонована згортка (англ. Transposed Convolution). Їх ще називають дробовими згортками, що працюють за ме- тодом зміни місцями прямого і зворотного проходів згортки. Процес оберненої згортки можна описати наступним чином: обира- ється ядро та перемножуються його значен- ня із першим числом матриці. Далі знайдені числа записуються у лівий край вихідної матриці, що відновлюється. Процес відбу- вається для наступних чисел так само, але зі зміщенням праворуч відповідно до на- лаштувань ядра та кроку. Слід зауважити, що всі числа, які записуються одне на одне, будуть додаватися. Але в результаті така ре- презентація не буде дорівнювати початковій матриці перед згорткою. Фреймворк TensorFlow надає гнуч- кість рішенню даної проблеми. Програм- ний інтерфейс Convolution2DTranspose уможливлює розширення процесу обер- неної згортки за допомогою включення додаткової нейронної мережі, що навча- ється імітувати процес згортки, який при- вів до отримання вихідної матриці. Тож, із кожною епохою навчання рівень мережі Convolution2DTranspose буде все більше відповідати оберненій функції згортки. Застосування згортки та оберненої згортки у процесах відновлення та обробки приводять до значного зростання ефектив- ності рішення задачі масштабування. Засто- сування даних структур дозволяє з легкістю перевершити класичні підходи із викорис- танням інтерполяції[9] та мають широке за- стосування для обробки даних. 6. Розробка та аналіз базових моделей нейромереж Для розробки базових моделей не- йронних мереж на основі автокодувальни- ків використовується програмний пакет TensorFlow. За дані для навчання та по- дальшого очікуваного пересилання оби- рається набір даних Fashion_MNIST[10] – він містить 70000 фото розміром 28×28×1 десяти різних виробів одягу, які вже є класифікованими. Такий набір даних уже можна вважати наближено нормованим та однорідним, що дає досить вагому під- ставу для використання нейронних мереж у ролі медіа передачі даних. Початкова базова модель склада- ється із прихованих шарів різного розмі- ру. Модель декодера зазвичай повністю відповідає моделі декодера, тому реаліза- ція має дане впровадження побудови мо- делі. Як дослідження буде перевірятися розмір латентного представлення даних, тобто вихід із кінцевого шару кодера. Декодер в свою чергу отримує латентне представлення та відновлює його до ори- гінального розміру. Базова модель має структуру, що складається із моделі кодера та декодера. Спочатку на вхід кодера подається тензор розмірністю (n, 28, 28), де n – це розмір навчальної вибірки. Далі здійснюється вирівнювання тензору через спеціальний шар, отримується одновимірне представ- лення шару нейронів без функції актива- ції; Наступний крок: будується головна структура кодувальника – будується N по- слідовно з’єднаних шарів, де N – кількість структурних шарів кодера; останній шар Рис. 2. Проведення згортки із ядром 3 × 3 по масиву 4 × 4 та отримання результуючо- го масиву 2 × 2. 54 Моделі та методи машинного навчання є шаром латентного представлення, кіль- кість нейронів якого ініціалізується під час створення моделі; кожний шар, перед латентним має вдвічі більше нейронів, ще один перед ним в 4 рази, і так далі до шару, що має в 2N разів більше нейронів. Наступним етапом є побудова декодера: отримується тензор з латентного шару та пропускається через M шарів, останній з яких має розмірність 28×28, тобто очіку- ваного вихідного тензору; шар, що стоїть перед останнім, має вдвічі менше нейро- нів, той, що стоїть перед цим – в 4 рази, і так далі до того, що має в 2M разів менше нейронів, ніж останній шар. Вихід остан- нього шару подається на особливий шар зміни розмірності, що повертає необхідну розмірність файлу зображення у вигляді двовимірного масиву, який має тип даних «ndarray». Графічне представлення побу- дови кодера та декодера представлено на рисунку 3 (назви, зображені на рисунку, відповідають програмним назвам викли- ку конструкторів класів із програмного пакету «tf.keras.layers»). Слід зауважити, що кількість шарів декодеру дещо обмеж- ується розмірністю вихідних даних. Під час навчання моделі було ви- користано оптимізатор Adam[11] та се- редньоквадратична похибка. Кожен шар до кодувальника має функцію активації ReLU та кожен шар декодувальника має сигмоїдальну функцію активації. Наступний крок: здійснюється ана- ліз ряду моделей зі зміненими структурни- ми параметрами. Кожна модель отримує своє маркування, що має вигляд LD{K} E{N}D{M} , де K – кількість нейронів ла- тентного шару, N – кількість шарів кодера, M – кількість шарів декодера. Для кожної моделі здійснюється аналіз оптимальної кількості епох до досягнення найкращого результату. Оцінюється отримана помил- ка на тестових та навчальних даних. Ре- зультуюча модель використовується для отримання закодованого набору тестових даних, що далі аналізуються на фактор стиснення. Як порівняння здійснюється розрахунок відношення розміру збереже- них зображень у форматі PNG до розміру закодованого зображення за допомогою кодувальника. Дані кодувальника збері- гаються як серіалізований масив даних із розширенням “numpy”. Для збереження зображень використовується програмний пакет cv2. Результуючий коефіцієнт стис- нення є середнім значенням усіх відно- шень розміру PNG та numpy файлів. Дані, отримані в результаті аналізу, записані у таблиці 1. Найкращі результати виділено. За результатами досліджень варіа- цій базових структур автокодувальників було знайдено ряд переваг та недоліків моделей нейромереж. Із одного боку, мо- делі, що мали найменший шар латентного представлення даних, хоч і мають наймен- Таблиця 1 Результати навчання базових моделей із різною структурою Код моделей нейромереж Кількість епох Помилка навчання Помилка тесту Коеф. стиснення LD16E1D1 10 0.0172 0.0172 9.15 LD16E2D2 50 0.0106 0.0111 9.15 LD16E3D3 100 0.0100 0.0106 9.15 LD16E4D4 120 0.0112 0.0124 9.15 LD32E1D1 10 0.0124 0.126 4.57 LD32E2D2 55 0.0082 0.0086 4.57 LD32E3D3 70 0.0072 0.0077 4.57 LD32E4D4 95 0.0086 0.0093 4.57 LD64E1D1 15 0.0087 0.0088 2.28 LD64E2D2 60 0.0059 0.0063 2.28 LD64E3D3 100 0.0058 0.0064 2.28 LD64E4D4 210 0.0075 0.0084 2.28 55 Моделі та методи машинного навчання Рис. 3. Структура базової моделі автокодувальника. шу кількість епох, необхідних для досяг- нення максимальної можливої здатності до реконструкції зображень, однак мають найбільшу похибку. Найменшу похибку, як було очікувано, мають автокодуваль- ники із найбільшою кількість нейронів у латентному шарі. Але це компенсуєть- ся зменшенням коефіцієнту стиснення. Найкращою моделлю було обрано модель LD32E3D3. Із основних спостережень за на- вчанням моделей можна зробити висно- вки, що збільшення кількості нейронів та розширення структури не завжди приво- дить до збільшення точності відтворення інформації. Чим більше у базових моде- лей шарів, тим більше вони підпадають під вплив перенавчання. Також збільшен- ня кількості шарів на певному етапі не приводить до збільшення точності Загальну якість відтворення зобра- жень можна порівняти на рисунках 4-6. Загалом відтворення із точки зо- ру людського розпізнавання сприймаєть- Рис. 4. Оригінальне зображення Рис. 5. Найкраще відтворення від моделі LD32E3D3 Рис. 6. Найгірше відтворення від моделі LD16E1D1 56 Моделі та методи машинного навчання ся досить добре Але навіть у найкращій моделі помічаються розмитість та деякі спотворення. Навіть найкраща модель не може відтворити напис чи логотип, який є частиною зображення. У найгіршому ви- падку модель може навіть не впоратись із відтворенням єдиного елементу одягу, на- кладаючи на нього суміш інших. Моделі не можуть нескінченно по- ліпшувати якість реконструкцій, навіть якщо додати більшу кількість шарів чи нейронів. Основний елемент, що може впливати на якість навчання системи – це збільшення кількості нейронів латентно- го шару, що приводить до зменшення рів- ня компресії даних, тому необхідно шука- ти нову структуру автокодувальника. Висновки Використання структури нейрон- них мереж на основі автокодувальників дозволяє досить ефективно відновлювати стандартизовані дані та має значну пере- вагу над іншими способами збереження даних, як, наприклад, PNG. Через можливі нечіткості отримані реконструкції можна використовувати у контексті надання по- переднього вигляду зображення для озна- йомлення. Людський зір може толерувати дані спотворення, але результуюча рекон- струкція може втрачати елементи написів та деякі деталі, що в окремих випадках можуть бути вкрай вагомими елементами. Нейронна мережа має спотворен- ня через знаходження узагальненого ме- тоду реконструкції, тому для отримання відтворень зображень необхідно усклад- нювати структуру нейронних мереж та застосовувати комбіновані підходи до ви- рішення задачі стиснення. Постійне наро- щування структури та кількості нейронів не приводить до покращення результату, а лише наближає до оптимального методу створення репрезентацій. Як додаткові методи покращення якості відтворення зображень слід засто- совувати комбінації підходів отримання чітких логічних зв’язків, додаткових ме- тодів реконструкції, таких як обернена згортка. Загальна якість кінцевого від- творення може бути легко поліпшена, але тільки за рахунок зменшення коефіцієнту стиснення, що не завжди є оптимальним рішенням, бо отримана якість не є суттє- вою. Найбільш оптимальним вирішенням є розширення системи реконструкції зо- бражень за допомогою введення мета- даних, генералізацій, кластеризацій та застосування варіативності у структурі автокодувальників. References 1. VOPSON, Melvin M. The world’s data explained: How much we’re producing and where it’s all stored. In: World Economic Forum, May. 2021. 2. WELCH, Terry A. A technique for high- performance data compression. Computer, 1984, 17.06: 8-19. 3. WIGGINS, Richard H., et al. Image file formats: past, present, and future. Radiographics, 2001, 21.3: 789-798. 4. MAZIASHVILI, A. R. Feasibility of using neural networks for compression of video data. Information and control systems in railway transport,, 2016, 6: 30-35. 5. GOODFELLOW, Ian; BENGIO, Yoshua; COURVILLE, Aaron. Deep learning. MIT press, 2016. 6. BANK, Dor; KOENIGSTEIN, Noam; GIRYES, Raja. Autoencoders. arXiv preprint arXiv:2003.05991, 2020. 7. DERTAT, Arden. Applied deep learning - part 3: Autoencoders. Towards data science, 2017. 8. DUMOULIN, Vincent; VISIN, Francesco. A guide to convolution arithmetic for deep learning. arXiv preprint arXiv:1603.07285, 2016. 9. DONG, Chao, et al. Learning a deep convolutional network for image super- resolution. In: Computer Vision–ECCV 2014: 13th European Conference, Zurich, Switzerland, September 6-12, 2014, Proceedings, Part IV 13. Springer International Publishing, 2014. p. 184-199. 10. XIAO, Han; RASUL, Kashif; VOLLGRAF, Roland. Fashion-mnist: a novel image dataset for benchmarking machine learning algorithms. arXiv preprint arXiv:1708.07747, 2017. 11. KINGMA, Diederik P.; BA, Jimmy. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014. 57 Моделі та методи машинного навчання Одеоржано: 18.02.2023 Про авторів: Лесик Валентин Олександрович, магістрант Національного Технічного Уні- верситету України «КПІ імені Ігоря Сікор- ського». https://orcid.org/0000-0002-8307- 5707 Дорошенко Анатолій Юхимович, доктор фізико-математичних наук, професор, завідувач відділу теорії комп’ютерних обчислень, професор кафедри інформаційних систем та технологій Національного Технічного Університету України «КПІ імені Ігоря Сікорського». Кількість наукових публікацій в україн- ських виданнях – понад 200. Кількість наукових публікацій в зарубіжних виданнях – понад 80. Індекс Гірша – 6. http://orcid.org/0000-0002- 8435-1451 Місце роботи авторів: Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», проспект Перемоги 37 та Інститут програмних систем НАН України, 03187, м. Київ-187, проспект Ака- деміка Глушкова, 40. Тел.: (044) 526 3559 E-mail: artemissterio@gmail.com, doroshenkoanatoliy2@gmail.com