Нейросетевое сжатие данных
Сжатие данных — одна из задач, решаемых нейронными сетями. Как и любое сжатие, решение данной задачи основано на устранении избыточности информации во входном сигнале (образе).
Способ решения
В отличие от традиционных методов сжатия — математического вычисления и удаления избыточности — нейронная сеть при решении задачи сжатия исходит из соображений нехватки ресурсов. Топология сети и её алгоритм обучения таковы, что данные большой размерности требуется передать со входа нейронной сети на её выходы через сравнительно небольших размеров канал. Для реализации сжатия такого рода может использоваться многослойный перцептрон следующей архитектуры: количество нейронов во входном и выходном слое одинаково и равно размерности сжимаемых данных; между этими слоями располагаются один или более промежуточных слоев меньшего размера. Число промежуточных слоев определяет степень сложности преобразования данных. Например сеть с тремя промежуточными слоями может выполнять лучшее сжатие на обучающих данных, но может дать худший результат в реальных ситуациях. Это связано с тем, что в исходных данных может случайно образоваться некая зависимость, которая не имеет никакого отношения к реальности.
Исходные данные для сети составляются таким образом, чтобы на выходах был всегда тот же набор сигналов, что и на входе. В процессе работы алгоритм обратного распространения ошибки минимизирует ошибку. Это означает, что веса связей от входного слоя нейронов и, примерно, до серединного слоя будут работать на компрессию сигнала, а остальные — на его декомпрессию. При практическом использовании полученную сеть разбивают на две. Вывод первой сети передают по каналу связи и подают на вход второй, которая осуществляет декомпрессию.
Другим способом решения задачи сжатия является применение автоассоциативной памяти, такой как сеть Хопфилда, так как она обладает способностью восстанавливать сигнал по его поврежденному образу.
Литература
- Уоссермен Ф. Нейрокомпьютерная техника. — М.: Мир, 1992.