Сердце машины Оригинал,Автор: У Цзиин, редактор: Хао Ван.
В эпоху ограниченной пропускной способности сети сжатие данных особенно ценно. Я до сих пор помню, что алгоритм сжатия данных, убивший «четверку» в первом сезоне американского сериала «Силиконовая долина», сделал компанию «Крысолов» очень популярной. Эффективное сжатие данных позволяет создавать крупномасштабные веб-приложения на мобильных устройствах, и эта перспектива очень привлекательна. С наступлением эры больших данных объем данных и скорость роста данных достигли беспрецедентной высоты. С быстрым развитием технологии 5G возникает все больше и больше требований к приложениям и сценариев приложений, таких как граничные вычисления, Интернет вещей и федеративное обучение. В случае ограниченной сети передачи и емкости хранения все более важную роль играет технология сжатия данных. В связи с непрерывным развитием традиционных алгоритмов сжатия данных в последние годы сети глубокого обучения также применялись для сжатия данных и достигли хороших результатов.
1. Базовые знания о сжатии данных
Инструменты сжатия данных, которые мы часто используем в нашей повседневной жизни, в основном представляют собой варианты, комбинации или оптимизации вышеупомянутых классических методов и редко используют определенную технологию отдельно. Например, принцип сжатия gzip: сначала используйте вариант алгоритма LZ77 для сжатия, а затем используйте статическое или динамическое кодирование Хаффмана для сжатия результата; принцип сжатия bzip2: используйте кодировщик длин серий для кодирования, с последующим сжатием блочного порядка и преобразованием Move-to-Front (MTF) для дальнейшего создания большого количества идентичных символов, которые далее кодируются с использованием другого кодировщика длин серий. Окончательный результат кодируется с помощью алгоритма Хаффмана, и вместе с ним упаковывается заголовок сообщения; LZMA — это улучшенный и оптимизированный алгоритм сжатия алгоритмов Deflate и LZ77, а Deflate — это алгоритм сжатия данных без потерь, который использует как алгоритм LZ77, так и кодирование Хаффмана. Однако перед лицом обработки данных в эпоху больших данных традиционные методы сжатия данных становятся все более и более бессильными, неспособными удовлетворить характеристики сжатия данных большого объема, быстрого роста и сложной структуры, особенно требования обработки реальных данных. сжатие данных времени.
В последние годы область машинного обучения пережила взрывное развитие, и некоторые исследователи добились хороших результатов в области сжатия данных, используя традиционные модели нейронных сетей. После того, как исходное изображение обработано нейронной сетью, необходимо сохранить только вес нейронной сети без сохранения информации о самом изображении, таким образом, получая более высокую степень сжатия без снижения качества изображения. На этой основе нейронная сеть комбинируется с другими методами сжатия, улучшается структура нейронной сети, улучшается алгоритм обучения нейронной сети и т. д., а также продвигается применение нейронной сети для сжатия данных. Однако нейронная сеть является мелкой сетью, а скорость сходимости, стабильность и эффективность обновления веса модели недостаточны.Кроме того, нейронная сеть опирается на размеченные предтренировочные данные, что трудно встретить на практике. сценарии применения.
2. Сжатие данных на основе глубокого обучения
Внедрение глубокого обучения эффективно решает проблемы, существующие в традиционных методах. По сравнению с традиционными методами сжатия методы, основанные на глубоком обучении, имеют следующие естественные преимущества:
Поскольку параметры глубокого обучения выводятся на основе большого количества фактических данных, а традиционные методы кодирования со сжатием данных в основном строятся вручную на основе предварительных знаний, превосходная адаптивность контента глубокого обучения превосходит модели, основанные на обработке сигналов.
Метод глубокого обучения эффективно использует большое рецептивное поле, поэтому он может не только использовать смежную информацию, но и использовать удаленные образцы для повышения эффективности кодирования, но традиционные инструменты кодирования используют только соседние образцы, которые трудно использовать.
Методы сжатия на основе глубокого обучения являются гибкими и могут дополнительно снижать скорость передачи в соответствии с конкретными характеристиками домена, обеспечивая при этом быструю обработку, а внутреннее представление глубокого обучения подходит для современной обработки данных.
По сравнению с традиционной технологией сжатия нейронной сети преимущества метода, основанного на глубоком обучении, заключаются в следующем: (1) модель глубокого обучения, основанная на многослойной сетевой структуре, имеет лучшую способность к нелинейному отображению, поэтому она может способствовать обучению данных. (особенно изображения) глубокие черты. (2) Модель глубокого обучения повышает скорость обучения за счет процесса многоуровневого обучения и точной настройки весов, чтобы соответствовать требованиям крупномасштабного сжатия данных. (3) Более глубокие уровни обучения могут более эффективно удалять избыточные функции данных, что приводит к более высоким коэффициентам сжатия.
До сих пор последовательно применялись случайная нейронная сеть (случайная нейронная сеть), сверточная нейронная сеть (CNN), рекуррентные нейронные сети (RNN), генеративно-состязательные сети (GAN), вариационные автоматические кодировщики ((вариационный) автокодировщик, VAE). к сжатию данных. В этой статье для анализа и обсуждения выбраны две технологии сжатия данных глубокого обучения, основанные на GAN и VAE, из результатов исследований важных научных конференций за последние два года.
1. Применение GAN при сжатии с потерями
В данной статье предлагается система сжатия с потерями, сохраняющая распределение (Distribution-Preserving Lossy Compression, DPLC). Система применяется к сценариям сжатия изображений: при разных коэффициентах сжатия кодер может генерировать коды, согласующиеся с исходным распределением данных, а декодер генерирует независимые и одинаково распределенные выборки с нулевой скоростью передачи данных, а затем постепенно генерирует выборки, содержащие реконструкцию больше исходного содержимого изображения, что приводит к идеальной реконструкции с достаточно высоким битрейтом.
Для случайной величины X пусть P_X обозначает распределение X, а E_X[X] обозначает ожидание. W~P_X означает, что W соответствует распределению P_X, а X~Y означает, что X и Y распределены одинаково. В стандартной системе сжатия с потерями задача кодера состоит в том, чтобы сгенерировать код E: X→W, тем самым кодируя исходный ввод в код из R бит, а задача декодера состоит в том, чтобы преобразовать код обратно в исходный код. пространство D: W→X. Минимизируя некоторую метрику искажения d:XxX, целевая функция задачи выражается как:
В традиционных методах сжатия E и D обычно детерминированы, поэтому количество различных восстановленных входных данных X^:=D(E(x)) ограничено 2^R, что приводит к ухудшению качества восстановленных X^ проблем, таких как размытие изображения, модульность и т. д. Чтобы решить эту проблему, необходимо добавить ограничение на целевую функцию, то есть «распределение реконструированных экземпляров следует за распределением обучающих данных»:
Добавление этого ограничения эквивалентно изучению точной генеративной модели общего неизвестного распределения P_X, когда R = 0. Учитывая генеративную модель, мы, естественно, подумали о внедрении GAN. Чтобы уменьшить смещение релаксации приведенного выше уравнения к средней проблеме, разложите D на D = G o B, где G — генеративная модель (выборки берутся из фиксированного априорного распределения P_Z в качестве входных данных, обученных минимизировать P_G (Z) и P_X), B — случайная функция (обученная исходной целевой функции E для минимизации искажения фиксированного значения G). Расстояние Вассерштейна можно определить как произвольную функцию стоимости транспортировки, поэтому оно подходит для метрики искажения D, используемой для количественной оценки качества реконструкции в этой статье. Для случайных величин X и Y расстояние Вассерштейна равно:
Процесс сжатия Чтобы узнать G, B и E из необработанных данных, каждый компонент параметризуется как глубокая нейронная сеть, и соответствующая задача оптимизации решается методом стохастического градиентного спуска (SGD). Как упоминалось ранее, G* можно узнать через WGAN или WAE. Поскольку фреймворк WAE естественным образом включает в себя кодировщик, гарантирующий легкость кодирования структуры скрытого пространства Z, использование WGAN не имеет такого свойства. В наших экспериментах мы наблюдаем более слабую резкость краев на изображениях с использованием WAE, чем с WGAN. С другой стороны, WAE менее подвержен потере режима, чем WGAN, поскольку цель WAE сильно наказывает потерю режима из-за члена ошибки реконструкции. Чтобы объединить преимущества этих двух методов, мы предлагаем новую оптимизированную комбинацию исходной и двойственной форм Wd через выпуклую комбинацию Wd:
Обучите f на псевдовыборках G(Z) или G(F(X), которые обычно не следуют одному и тому же распределению из-за несоответствия между F(X) и P_Z (более очевидное в начале процесса оптимизации). Поэтому необходимы следующие корректировки:
Тренируйте f на основе выборок G(Z.~), где Z.~=UZ+(1-U)F(X), U~Uniform(0,1).
Обучите G на основе выборок в F(X) и вычислите условия потерь для WGAN и WAE.
В этой статье завершаются эксперименты с двумя стандартными наборами данных эталонных изображений для генеративного моделирования, CelebA и LSUN Bedroom, где оба изображения уменьшены до разрешения 64x64. На рис. 2 представлены тестовая MSE (чем меньше, тем лучше), реконструированный FID (чем меньше, тем лучше) и условная дисперсия пикселей PV (чем больше, тем лучше) для разных методов. Результаты для CelebA показаны в верхней строке, а результаты для спальни LSUN показаны в нижней строке. PV моделей DPLC, предложенных в этой статье, неуклонно увеличивается с уменьшением скорости, то есть они генерируют все более эффективный контент изображения, чем GC.
2. Применение VAE при сжатии без потерь:
Название диссертации:Bit-Swap: Recursive Bits-Back Coding for Lossless Compression with Hierarchical Latent Variables, ICML2019
Адрес: https://arxiv.org/abs/1905.06845
При заданных дискретных исходных данных x = (x1,..., xD), их распределение выражается как p_data, механизм сжатия без потерь ANS, основанный на схеме вероятностного правдоподобия: использование вероятности p_θ(x), когда длина его кода удовлетворяет -log Когда p_θ(x)=-log p_data(x), полученная средняя длина кода E[-log p_θ(x)] близка к энтропии данных H(x), то есть средней длине кода оптимального сжатия схема получается. ANS кодирует исходный вектор символов x, используя одномерное или полностью факторизованное распределение вероятностей p(x), в результате чего получаются биты -log p(x). Состояние алгоритма ANS представляет собой битовый поток со стековой структурой: каждый раз, когда символ кодируется, его биты помещаются в правый край стека; каждый раз, когда символ декодируется, биты извлекаются из правого края стека. . На рис. 3 показан рабочий механизм ВНС.
В этой статье используется модель скрытых переменных для расчета приблизительного предельного распределения p_θ(x) исходных данных p_data(x):
где z — скрытая переменная. VAE вводит модель вывода q_θ(z|x) для аппроксимации апостериорной вероятности модели p_θ(z|x):
Поток обработки на стороне кодирования выглядит следующим образом:
Отправитель отправляет скрытый образец z~q_θ(z|x), закодированный с помощью предыдущего p(z), и x, закодированный с помощью p_θ(x|z);
Декодируйте z из потока битов, используя q_θ(z|x), затем вычтите биты длины -log q_θ(z|x) из потока битов;
кодировать x, используя p_θ(x|z), добавляя биты длины -log p_θ(x|z) к битовому потоку;
кодировать x с помощью p(z), добавляя биты длины -log p_(z) к битовому потоку;
Наконец, битовый поток длиной N_total:=N_init+log q_θ(z|x)-log p_θ(x|z)-log p_(z) битов получается и отправляется получателю.
Когда в модели много скрытых переменных, возникает проблема эффективности при передаче начального битового потока N_init (это также проблема, вызванная глубоким обучением с большим количеством параметров). Чтобы решить эту проблему, в этой статье используется иерархическая модель скрытых переменных, то есть VAE с несколькими скрытыми переменными, процесс выборки которых подчиняется цепи Маркова в форме, как показано на рисунке 4:
В настоящее время приблизительное предельное распределение p_θ(x):
Определите модель логического вывода q_θ(z_i|z_(i-1)) для каждого скрытого слоя z_i, чтобы предельную вероятность p_θ(x) можно было рассчитать на основе вариационной границы, а целевая функция ELBO:
В модели Bit-Swap, предложенной в этой статье, процесс выборки как генеративной модели, так и модели вывода подчиняется цепной зависимости Маркова между случайными величинами. Подобно обработке стандартных VAE, данные x генерируются из скрытой переменной z_1. Однако z_1 больше не является фиксированным априором, а генерируется второй скрытой переменной z_2. Точно так же z_2 не является фиксированным априором, а генерируется третьей скрытой переменной z_3 и так далее. Эти вложенные зависимости позволяют нам рекурсивно применять параметр битов назад. Мы можем применить первые два шага параметра bits back к первой скрытой переменной: сначала декодировать z_1, затем напрямую кодировать x, это добавит новые биты в битовый поток, дальнейшие операции декодирования z_2,L потребуют меньше начальных битов для Продолжать. Параметр битов назад второй скрытой переменной z_2 применяется рекурсивно аналогичным образом: сначала декодируется z_2, затем кодируется z_1. Максимальное количество начальных битов, необходимых для Bit-Swap:
Полный алгоритм алгоритма сжатия данных Bit-Swap, предложенный в этой статье, выглядит следующим образом:
Взяв в качестве примера три скрытых слоя, процесс Bit-Swap показан на рисунке 5.
В этой статье обучается иерархическая модель скрытой переменной на случайных блоках ImageNet размером 32×32 пикселя. Для тестирования было взято 100 изображений независимо от тестового набора. Степень сжатия 100 изображений показана в таблице 1. 100 изображений обрезаются кратно 32 пикселям с каждой стороны, так что сетка может быть заполнена блоками по 32 пикселя. Сетка рассматривается как набор данных и должна обрабатываться последовательно, чтобы быть сжатой. Вместо того, чтобы сначала разделить изображение на блоки размером 32 x 32 пикселя, авторы используют одно и то же обрезанное изображение в базовой схеме.
Что касается применения глубокого обучения в сжатии данных, автор создал отдельную домашнюю страницу исследования, обновил соответствующие результаты исследования и предоставил код, загрузку видео и т. д. Если вы заинтересованы, вы можете посетить https://bair.berkeley.edu/ блог/2019/09/19/бит-своп/.
3. Перспектива применения сжатия данных на основе глубокого обучения
Из приведенного выше анализа и результатов конкретных бумажных примеров видно, что при решении задач сжатия данных методы глубокого обучения больше не пытаются найти статистические характеристики и числовые характеристики самих данных, как традиционные методы, а автоматически извлекают сложные структуры. y внутренние характеристики данных. Возможности интеллектуального анализа данных и реконструкции глубокого обучения позволяют получить более высокую степень сжатия при сохранении характеристик данных и обеспечении эффектов кодирования.
Хотя приложение работает хорошо, методы глубокого обучения имеют свои ограничения:
Когда объем данных велик, а структура данных сложна, общая структура глубокого обучения также станет очень сложной.При выполнении более глубокого обучения время, необходимое для модели, будет быстро увеличиваться. Из двух примеров, выбранных в этой статье, видно, что автор уменьшил изображение в эксперименте, например, изображения размером 32×32, 64×64, и автор также упомянул в обсуждении, что если используется изображение исходного размера , время расчета и стоимость будут огромными;
В методе глубокого обучения по-прежнему отсутствует анализ внутреннего механизма, он по-прежнему используется по принципу «черного ящика» в различных приложениях для сжатия данных.Основной метод заключается в улучшении эффекта сжатия за счет настройки обучающего слоя и параметров.
Как и в случае с глубоким обучением в других сценариях машинного обучения, сжатие данных на основе глубокого обучения достигло удивительных результатов, но все же есть некоторые проблемы. На фоне постоянно растущего битрейта разрешения видео, приложений, которые чрезвычайно зависят от сетей с малой задержкой, и развертывания ряда устройств виртуальной и дополненной реальности, сжатие данных по-прежнему является областью, требующей долгосрочных исследований. Исследования и применение глубокого обучения в промышленных сценариях еще предстоит пройти долгий путь.
об авторе:Цзиинг Ву, доктор технических наук, окончила Пекинский университет Цзяотун, работала младшим научным сотрудником и научным сотрудником в Китайском университете Гонконга и Гонконгском университете науки и технологии соответственно, а в настоящее время занимается исследованиями новых технологий в области электронного правительства. Основное направление исследований — распознавание образов, компьютерное зрение, увлечение научными исследованиями, надежда на дальнейшее обучение и постоянный прогресс.