Сжатие данных широко используется в самых разнообразных областях информационных технологий. Учитывая современные темпы роста объемов информации, хранящихся на жестких дисках, передаваемых по сети Интернет и локальным сетям предприятий, стоит задача сжатия, передачи и хранения данных. Большая часть видеоматериалов и других мультимедийных проектов размещается в Интернете, на различных видеосервисах, в социальных сетях, поэтому передаваемые по сети данные представлены в виде мультимедийного контента. В силу этого возникает задача по созданию более эффективных методов сжатия.
На сегодняшний день набирают популярность алгоритмы сжатия визуальной информации, основанные на нейросетевом аппарате. Данные алгоритмы базируются на искусственных нейронных сетях (ИНС, нейросети) в отличие от классических алгоритмов, основанных на устранении избыточности. Данное направление актуально в связи с развитием математических алгоритмов обучения сети, что в дальнейшем позволит улучшить существующие методы сжатия. Ускорить процесс сжатия и восстановления информации можно также за счет растущей с каждым годом производительности со- временной вычислительной техники.
Однако существует проблема подбора топологии сети, наиболее подходящей для задачи сжатия. На данный момент нет конкретной информации о влиянии архитектуры сети на процесс обучения и качество работы на реальном мультимедийном контенте. Цель научной работы состоит в анализе возможностей одного из типов ИНС – многослойного персептрона – в области сжатия и восстановления растровых изображений.
Во многих публикациях рассматривается аппарат ИНС. Так, в работах [1–3] описаны механизм функционирования нейросетей, взаимодействие искусственных нейронов, правила смены их состояний, расчет весовых коэффициентов.
В работе [4] рассматриваются методы сжатия геофизических данных с использованием многослойного персептрона в сети с архитектурой бутылочного горлышка. Предлагается комплексный алгоритм по сжатию геофизических данных при помощи ИНС.
В работах [5–8] приведены основные подходы к сжатию изображений на многослойном персеп- троне, показан один из методов квантования полученных данных, описаны алгоритмы обучения сетей, такие, как алгоритм градиентного спуска и алгоритм Rprop (Resilent Propogation – упругое распространение). Однако в рассмотренных выше публикациях не была найдена информация по воздействию топологии сети на эффективность их работы.
Основная топология сети приведена на рисунке 1. Архитектура бутылочного горлышка предполагает обязательное наличие входного и выходного слоев одинаковой размерности, а также как минимум одного скрытого слоя, размерность которого много меньше размерности входного и выходного слоев.
Изображение представлено в виде вектора пикселей. Каждый вектор состоит из n пикселей, где n – размерность входного слоя сети. Числовые значения каждого пикселя подаются на вход ИНС. Полученные данные на выходах скрытого слоя составляют вектор сжатых данных размерности m. Вектор содержит вещественные числа, которые подвергаются кодированию и передаче получателю [1, 7]. Пример одного из способов кодирования представлен на рисунке 2.
Сжатые данные на скрытом слое подаются на следующий слой, где происходит их декодирование. В результате приведенных выше действий должно получиться исходное изображение.
Особенности описанных нейронных сетей:
- постоянный коэффициент сжатия ;
- возможность разделения сети на две части: кодирующую и декодирующую.
На рисунке 1 представлена классическая архитектура сети ИНС, n = 64, m = 16. Такая сеть имеет обозначение 64-16-64, где 64 – размерность входного и выходного слоев, 16 – размерность скрытого слоя. Приведенная архитектура обеспечивает коэффициент сжатия Kc = 4. При рассмотрении задачи сжатия изображений данная топология использу- ется в качестве базовой.
В качестве функции активации используется сигмоидальная [9, 10], которая обеспечивает диапазон значений [–1; 1] и позволяет применить градиентные методы по причине непрерывной дифференцируемости функции.
Так как для изображений числовые значения пикселей могут находиться в широком диапазоне, необходимо выполнить нормализацию вектора входных значений перед подачей на вход нейронной сети.
В реализации используется генератор случайных чисел с диапазоном значений [–1; 1] для инициализации весов ИНС. Возможно применение других методов, способствующих уменьшению количества локальных минимумов функции ошибки обучения, что позволяет уменьшить количество циклов обучения.
Для обучения ИНС применяются алгоритм наискорейшего спуска и метод обратного распространения ошибки [9, 11, 12], имеющие большое количество недостатков, основной из которых – длительность поиска минимизации направления весов. Однако другие алгоритмы (алгоритм наискорейшего спуска с адаптируемым шагом, алгоритм сопряженных градиентов) либо потребляют большое количество памяти, либо требуют больших вычислительных ресурсов, что недопустимо при работе с изображениями.
Обучение ИНС проходило на пятидесяти растровых изображениях с разрешением 512´512 пик- селей в соответствии с моделью Train/Test/Validation в соотношении 75:15:10 %, где стадия Train от- вечала за обучение, Test – за проверку качества обучения, Validation – за оценку качества работы ИНС.
Результаты обучения сети с архитектурой 64-16-64 показали, что количество циклов для каждого изображения сильно зависит от характеристик изображения. Наибольшее количество циклов обучения было на растровых изображених с резкими перепадами интенсивности и большим диапазоном ее значений. Количество циклов на остальных изображениях распределилось в диапазоне примерно от 4 до 450 тыс., в среднем составив 100 тыс. циклов.
На реальных данных архитектура сети 64-16-64 показала себя не лучшим образом, восстановив изображение с достаточно низкой точностью. На рисунке 3 приведен пример исходного и восстановленного изображений.
Быстрее обучение проходило на сети с кон- фигурацией 64-4-64, коэффициент сжатия Kc = 16. Количество циклов – 84 тысячи. Однако стоит отметить, что при уменьшении числа нейронов скрытого слоя уменьшилось число связей, поэтому приведенная архитектура работает хуже, чем 64-16-64. Такая ИНС подвергается эффекту переобучения.
Для примера рассмотрим конфигурацию вида 64-64-64 с коэффициентом сжатия Kc = 16. Среднее количество циклов обучения увеличилось незначительно и составило 120 тысяч. По сравнению с базовой архитектурой данная сеть показала лучшие результаты, изображение стало более контрастным.
Результат работы сети 64-64-64 показан на рисунке 4.
Проведенные исследования позволяют сделать вывод о том, что ИНС с архитектурой бутылочного горлышка, имеющие вектор входных значений размерностью 64 и один скрытый слой, не позволяют восстановить изображение с высокой точностью. Это можно объяснить тем, что при таком размере входного вектора количество возможных значений велико, приблизительно 25664, и однослойный персептрон просто не в состоянии запомнить всю обу- чающую выборку. Происходит процесс переобучения, что ведет к ошибкам при восстановлении данных.
Для устранения выявленной проблемы было принято решение увеличить количество внутренних слоев и уменьшить количество нейронов на входе и выходе сети.
При выборе архитектуры были приняты во внимание скорость обучения и коэффициент ошибочных ответов.
В результате подобрана архитектура сети, представленная на рисунке 5.
Полученная архитектура ИНС имеет пять слоев, три из которых скрытые. Первый слой – вектор входных значений {X1, X2, …, Xn}, на который подается битовое представление сжимаемого изображения. Слой состоит из одного нейрона с сигмоидной функцией активации. Значение данного слоя Z подвергается квантованию, в результате чего получается битовая маска {1001}, которая является сжатым фрагментом изображения. Полученный фрагмент можно сохранить в файл или передать по сети. Для восстановления фрагмента необходимо выполнить обратное преобразование квантования, из битовой маски получить вещественное число, которое подается на третий скрытый слой. Так как пятый слой имеет линейную функцию активации, Y является целочисленным значением в диапазоне [0, 255], что соответствует восстановленному байту изображения. Благодаря такой внутренней архитектуре данная ИНС способна запомнить все возможные значения и достаточно точно транслировать входной вектор бит в соответствующее байт-значение. При таком подходе сеть обучается не на наборе изображений, а на векторе бит-значений.
Достаточно сгенерировать набор случайных значений, который охватывал бы весь рассматриваемый диапазон. Благодаря этому была изменена стандартная обучающая выборка, представляющая последовательность байтов изображения, на случайную последовательность значений. Используя данный подход, уменьшаются потери качества изображения на уровне нейронной сети и обеспечивается коэффициент сжатия Kc = 2. Результат работы сети 8-1-16-8-1 показан на рисунке 6.
Восстановленное изображение не имеет серьезных искажений по сравнению с полученными предыдущими способами. На изображении присутствует плавность цветовых градиентов, отсутствуют точки повышенной резкости.
Заключение
Таким образом, в работе были рассмотрены и проанализированы несколько базовых архитектур многослойного персептрона. Для оценки качества сжимаемых изображений использовалась метрика , где YГ – количество верно угаданных битовых векторов; Y – полное множество битовых векторов.
Для сети 64-16-64 Kk = 64 %, для 64-64-64 Kk = 70 % и для 8-1-16-8-1 Kk = 95 %. Получен- ные результаты свидетельствуют о том, что предложенная структура сети более подходит для решения задач сжатия и восстановления растровых изображений. Для данного класса изображений наиболее приемлемый результат показала ИНС вида 8-1-16-8-1.
Литература
1. Хайкин С. Нейронные сети: полный курс. М.: Вильямс, 2006. 1104 с.
2. Watta P., Desaie B., Dannug N., Hassoun M. Image compression using backprop. Detroit, Wayne State Univ. Publ., 1998, 3 p.
3. Круглов В.В. Нечеткая логика и искусственные нейронные сети. М.: Физматлит, 2001. 224 с.
4. Булаев В.И., Мунасыпов Р.А. Сжатие геофизических данных с применением вейвлет-преобразования и нейронных сетей // Вестн. УГАТУ. 2008. № 1. С. 200–207.
5. Masalmah Y.M. Image compression using neural networks. Puerto Rico, Univ. of Puerto Rico Publ., 2008. 4 с.
6. Осовский С. Нейронные сети для обработки информации; [пер. с польск. И.Д. Рудинского]. М.: Библио-Глобус, 2016. 448 с.
7. Куликов А.И., Михальченко Н.В. Сжатие растровых изображений нейронными сетями Цао Ена // GraphiCon. 2001. С. 231–236.
8. Брюхомицкий Ю.А. Нейросетевые модели для систем информационной безопасности. Таганрог: Изд-во ТРТУ, 2005. 160 с.
9. Воронцов К.В. Лекции по искусственным нейронным сетям. Т.: Изд-во ТРТУ, 2007. 29 с.
10. Севастьянов А.А. Нейросетевая регуляризация решения обратных некорректных задач прикладной спектроскопии. М.: Финансы и статистика, 2003. 195 с.
11. Вороновский Г.К. Генетические алгоритмы, нейронные сети и проблемы виртуальной реальности. Х.: Основа, 1997. 112 с.
12. Короткий С. Нейронные сети: алгоритм обратного распространения. Х.: Основа, 2011. 155 с.
References
- Haykin S. Neural Networks: Full Course. 2nd ed. Moscow, Vilyams Publ., 2006, 1104 p.
- Watta P., Desaie B., Dannug N., Hassoun M. Image Compression Using Backprop. Detroit, Wayne State Univ., 1998, 3 p.
- Kruglov V.V. Fuzzy Logic and Artificial Neural Networks. Moscow, Fizmatlit Publ., 2001, 224 p.
- Bulaev V.I., Munasypov R.A. Compression of geophysical data using wavelet transform and neural networks. Bulletin of USATU. 2008, no. 1, pp. 200–207 (in Russ.).
- Masalmah Y.M. Image Compression Using Neural Networks. Puerto Rico, Univ. of Puerto Rico, 2008, 4 p.
- Osovsky S. Neural Networks for Information Processing. Moscow, Biblio-Globus Publ., 2016.
- Kulikov A.I., Mikhalchenko N.V. Compression of Raster Images by Cao Yen Neural Networks. GraphiCon Publ., 2001, pp. 231–236 (in Russ.).
- Bryukhomitsky Yu.A. Neural Network Models for Information Security Systems. Taganrog, TRTU, 2005, 160 p.
- Vorontsov K.V. Lectures on Artificial Neural Networks. Taganrog, TRTU Publ., 2007, 29 p.
- Sevastyanov A.A. Neural Network Regularization of the Inverse Ill-Posed Problems of Applied Spectroscopy. Moscow, Finansy i statistika Publ., 2003, 195 p.
- Voronovsky G.K. Genetic Algorithms, Neural Networks and Virtual Reality Problems. Kharkiv, OSNOVA Publ., 1997, 112 p.
- Korotky S. Neural Networks: Back Propagation Algorithm. Kharkiv, OSNOVA Publ., 2011, 155 p.