论文阅读:(ICASSP 2022)SIGNAL COMPRESSION VIA NEURAL IMPLICIT REPRESENTATIONS

SIGNAL COMPRESSION VIA NEURAL IMPLICIT REPRESENTATIONS (ICASSP 2022)

Paper:https://ieeexplore.ieee.org/abstract/document/9747208/

Abstract

现有的使用神经网络的端到端信号压缩方案在很大程度上是基于一种类似自编码器的结构,其中一个通用编码函数创建了一个紧凑的潜在空间,并在该空间中的信号表示被量化和存储。最近,3D图形领域的进展显示了构建隐式表示网络的可能性,即神经网络返回给定查询坐标的信号值。在本文中,我们提出使用神经隐式表示作为神经网络信号压缩的新范式,其中信号的紧凑表示是由网络的权值定义的。我们讨论了这个压缩框架是如何工作的,如何在设计中包含先验,以及强调与转换编码的有趣联系。虽然该框架是通用的,仍然缺乏成熟度,但我们已经在压缩点云属性的任务上显示出了非常有竞争力的性能,这是众所周知的挑战性,由于域的不规则性,但在提出的框架中变得微不足道。

1. Introduction

虽然传统上压缩是使用基于模型的方法,但最近出现了几种基于神经网络的技术,人们对利用深度神经网络的表示能力越来越感兴趣。所谓的端到端压缩方案寻求使用神经网络实现整个压缩管道,而不需要手工制作先验,因此可以从数据中学习最佳表示。文献中主要的原型是使用自编码器结构[1,2,3,4,5,6],其中编码器网络在一个代表性数据集上训练,以提取一个表示输入信号的紧致向量,解码器从压缩信息中恢复对原始信号的估计。在这种范式中,编码器和解码器网络是通用的,量化和熵编码的压缩矢量表示压缩信息。一些作品利用生成模型的潜在空间[7,8]来获得紧凑的表示,但它们在概念上类似于自动编码器。卷积字典学习及其深度学习扩展[9]使用一个网络来学习离散的原子,这些原子可以组合起来重建信号,尽管它们还没有被广泛应用于压缩。然而,主要的想法仍然是使用通用的编码器和存储稀疏系数提供信号表示。

在本文中,我们研究了一种不同的神经网络信号压缩范式。我们使用神经网络从信号域(例如,像素的位置)获取单个坐标作为输入,并返回该坐标的信号值(例如,像素的RGB值),同时共享任何输入坐标的参数。在训练中,我们让网络过拟合我们想要表示的信号,这样网络本身,在内部的权重、偏差和结构,成为我们信号的紧凑表示。这项工作的动机是由于神经隐式表示在3D渲染问题中的最近的成功[10, 11, 12],研究表明,最近构建的这种基于坐标的多层感知器结构,具有周期激活函数[13]或特定嵌入层[14],可以成功地拟合信号的高频分量,这在以前被认为是具有挑战性的。我们提出了这种新的压缩范式的一般框架,我们称之为NIC(神经隐式压缩),形式化其与转换编码的联系,并强调有效编码神经网络的权值的重要性,因为我们的表示率完全取决于它。我们还展示了如何通过元学习引入先验,即为给定的信号类提供一个通用的网络预训练。然后,对感兴趣的信号进行微调,提供权重的最终值,可以对其通用初始化进行差分编码,与随机初始化相比节省了大量的费率。 (感觉跟Implicit Neural Representation for Image compression差不多啊)

这是对这种新的压缩范式的初步探索,我们强调了一些有趣的研究问题,如果得到回答,这些问题可以显著改善我们的基本设计。然而,我们在一个样本应用上展示了非常有前途的实验结果,即点云属性压缩。该应用程序充分利用了新范式的优势,因为域的不规则性使得传统的压缩方法难以设计,而我们的框架可以轻松处理它,达到接近最新MPEGG-PCC标准的性能(v12.0测试模型)。

2. Neural Implicit Compression

2.1 Neural Implicit Representation of signals

神经隐式表示寻求通过神经网络来表示任意连续函数,典型的是多层感知器(MLP),其中网络的输入是函数定域的坐标x,输出是函数f(x)的对应值(见图1)。信号是f(x)在规则或不规则域(如图像、点云等)上的采样版本。对于不同的输入坐标,网络的权重和偏差是共享的,是表示信号所需的所有信息。最近的进展表明,设计如何使用正弦激活函数(“SIRENs”[13])或使用傅里叶嵌入作为第一层[14],通过允许网络成功匹配信号的高频成分,显著提高性能。

虽然现有的工作主要集中在使用这种机制来解决3D渲染问题,但我们对研究这种神经内隐表示的效率很感兴趣。特别地,我们展示了它们如何作为压缩信号表示,其效率可以用率失真来衡量。

我们评价NIC是如何与基于自动编码器的现有作品不同的范例。在自动编码器中,编码器/解码器网络是通用的,压缩矢量是信号的表示,即需要保存的量。另一方面,神经隐式表示是一个网络,它被训练来表示一个特定的信号,网络本身需要保存,因为它是信号本身。这种范式在优化被压缩的特定实例的表示方面具有潜在的优势,而不是依赖于可能或可能不完全代表要压缩的信号的训练数据集。(训练数据不敏感)使用基于坐标的mlp还可以简化一些具有挑战性的压缩任务。例如,由于信号是在不规则域上支持的,因此点云属性的压缩具有挑战性(几何图形中分散的点),而训练一个基于坐标的MLP映射,从点坐标到相应的属性值是微不足道的。

在本文的其余部分,我们将专注于使用最近提出的SIREN隐式表示[13],这是一个具有正弦激活函数的MLP。

2.2 Connections with transform coding

通过识别具有足够容量的双层SIREN的全局最小值与众所周知的离散余弦变换(DCT)[15]之间的一一对应关系,下面的结果表明神经隐式表示和变换编码之间存在很强的联系。

Proposition 2.1. 一个具有N个隐藏特征的两层SIREN表示的逼近连续函数 f : R → R f:\R \to \R f:RR相当于一个N点的1D-DCT变换。

Proof. 给定一个输入标量坐标 x x x,我们可以定义一个两层SIREN的输出 y y y
在这里插入图片描述
其中 b ( i ) b^{(i)} b(i)表示第i层的偏差, w ( 1 ) ∈ R N w^{(1)} \in \R^N w(1)RN w ( 2 ) ∈ R N w^{(2)} \in \R^N w(2)RN是第一层和第二层网络的权重。如果我们假设SIREN的输入坐标是在一个常规网格中的样本(例如 x = n , 0 ≤ n ≤ N − 1 x = n, 0 ≤ n ≤ N − 1 x=n,0nN1),并且损失函数是网络y的输出与在该网格采样的连续函数f(x)的对应值之间的MSE,我们可以观察到,当SIREN收敛于n点1D-DCT的逆函数(反变换)时,损失函数达到全局最小值,定义如下
在这里插入图片描述
其中 y k ^ \hat{y_k} yk^为信号 y y y的第k个DCT系数。因此,双层SIREN达到全局最小值(0 MSE),即收敛于N点1D-DCT的逆函数,其中 w k ( 2 ) = y k ^ w_k^{(2)} = \hat{y_k} wk(2)=yk^, w k ( 1 ) = π N k w_k^{(1)}= \frac{\pi}{N}k wk(1)=Nπk, b k ( 1 ) = π 2 N k + π 2 b_k^{(1)} = \frac{\pi}{2N}k+\frac{\pi}{2} bk(1)=2Nπk+2π b k ( 2 ) = 0 b_k^{(2)}= 0 bk(2)=0

有趣的是,注意到这表明,第一层作为一个基函数生成器,而最后一层学习如何结合基函数与合适的权类似变换域系数。然而,请注意,这只是一个松散的解释,当使用更少的功能时,更深入的网络会发生什么。

2.3 Signal compression

使用神经隐式表示对信号进行压缩需要执行以下基本操作:

  1. 定义要使用的基于坐标的MLP的体系结构;这一步需要选择一个网络设计(例如:
    SIRENs),以及根据参数和层数对模型进行合适的尺寸调整。模型的大小直接影响信号拟合的准确性,但比例律仍不清楚(例如,深度或宽度是否更重要),因为这是第一次研究这种表示的效率。来自我们实验的初步经验证据似乎表明INR表示更偏好于宽度而不是深度。(COIN和一些其他方法也证明了宽度优先于深度)
  2. 通过最小化合适的回归损失来训练网络。例如,表示 x x x为采样输入坐标, y x y_x yx为该坐标上的信号值,可以通过最小化MSE来学习网络参数 θ \theta θ:
    在这里插入图片描述
  3. 简洁地表示网络的权值。由于压缩表示的速率完全依赖于权重和偏差的编码,它们必须以最有效的方式表示。像网络稀疏化[16]和量化[17]这样的技术可以用来减少参数的数量和/或它们的精度。例如,可以对每一层的参数应用均匀标量量化器。
  4. 在量化的权重和偏差上使用熵编码器,并保存任何所需的侧信息(例如,稀疏化模式,或量化步长)

解码压缩信号仅仅相当于对所有感兴趣的坐标(例如,任意分辨率网格中的所有像素)执行向前通过稀疏/量化网络。这种“随机访问”属性(任何坐标都可以查询相应的信号值)也意味着在不同分辨率或不规则网格上解码是不费吹灰之力的。

2.4 Priors via Meta Learning

隐式神经网络可以用来学习任何信号,但它们不能利用关于数据属性的任何先验知识。为了克服这个问题,我们建议利用元学习技术。元学习[18]是一个框架,通过利用以前获得的经验来提高未来的学习性能,解决小样本学习问题。特别地,在我们的例子中,网络的第一次训练是在一组数据上进行的,以便找到一个好的初始化点,从而提高在相同任务中以前未看到的数据的结果。我们的目标是了解感兴趣的数据的一些低级属性,比如域的平滑性,或者继承特定数据类的一些共同特征。在[19]中提出了使用著名的元学习算法来学习基于坐标的神经表示的初始权值参数的思想,以加快收敛速度。

我们的想法是利用元学习初始化来提高表示的率失真效率。例如,假设一个非常简单的信号类是来自公共数据集(如FFHQ[20])的人脸图像。理想情况下,这个数据集上的元学习预训练学习课堂中常见的重复模式,比如眼睛、鼻子或嘴巴,并提供一个已经包含这些元素的初始化。对新图像的后续微调将受益于深刻的初始化,网络权值的最终值不会偏离其初始值太多。为了利用这一点,我们提出了一种创新的压缩方法,将网络的最终权重与其元学习初始化之间的差异量化,并用于恢复信号,而不是直接量化最终值。这实现了显著的速度节省,因为元学习初始化是最终权重值的强预测器。还要注意,元学习的初始化是通用的,因为它可以从公共数据集重新创建或用标准编写,因此不需要编码。

文献中有几种元学习算法[18,21],我们采用了模型无关元学习(MAML)的简化变体[18]。在我们的算法中,每次一个信号(例如图像)被输入到基于坐标的网络中,并执行少量的内部优化步骤。内部训练结束后,更新外部优化器,并启动具有新输入信号的新的内部循环。

3. Experiments

在本节中,作为一个示例应用程序,我们在点云属性压缩的上下文中评估NIC范式的性能。我们考虑的隐式神经网络是一个SIREN,它以点云的三维坐标作为输入,并提供相应的RGB值作为输出。

3.1 Experimental setting\

在根据层数和参数选择合适的SIREN设计后,使用章节2.4中的元学习算法对网络进行预训练。随机梯度下降(SGD)学习率为0.01,Adam为10−5分别作为内优化器和外优化器。在1000次迭代中,用10个内部步骤训练网络。用于预训练的元学习数据集是来自Microsoft Voxelized Upper Bodies数据集[22]的点云集合。在得到元学习初始化后,对于从测试集中压缩的每个点云,都要执行专门的微调。Adam优化器的学习速率固定为10−5。通过最小化一个基于YUV空间中原始颜色和预测颜色之间的MSE的损失函数,每个网络训练20000次:
在这里插入图片描述
其中α、β和γ是调节亮度和色度相对重要性的系数。在我们的实验中我们使用 α = 0.6 , β = 0.2 , γ = 0.2 α = 0.6, β = 0.2, γ = 0.2 α=0.6β=0.2γ=0.2来略微提高亮度,这是传统编解码器的常见做法。经过微调后,网络参数相对于元学习初始化进行差分编码。采用均匀标量量化器对差异进行量化,其中量化步长根据各层参数的动态范围逐层调整,并采用算术编码器对差异进行熵编码。

3.2 Experimental results

被压缩的测试集由4个点云组成,这些点云来自8i Voxelized Full Bodies数据集[23]:Loot vox10_1200,长裙vox10_1300,红黑vox10_1550,士兵vox10_0690。 请注意,它们与元学习使用的数据是严格分离的。为了得到速率失真曲线,我们训练了几个网络,其中不同的层数、特征和量化步长允许到达不同的速率失真点。我们测试了60,80,130和每层170个特征,包含5、7或9个隐藏层,量化步长对应于从 2 2 2^2 22 2 12 2^{12} 212的层次数。
在这里插入图片描述

图2比较了所提出方法的结果与最新版本的MPEG G-PCC标准(v12.0测试模型),以及与区域自适应层次变换(RAHT)[24],这是一种利用基于Haar小波的层次变换的最新算法。图中灰色的线表示不同的网络在不同的训练迭代、不同的量化程度下所能得到的所有工作点。该方法的性能是由这些曲线的包络决定的,作为一个wold设计最适合的网络的目标率/质量。性能通过Y-PSNR来衡量。从图2可以看出,NIC比RAHT有了显著的提高,并且达到了接近G-PCC v12.0的性能,特别是在低速率下。这是特别重要的,因为所提出的方法是一个概念证明,没有被广泛优化,而且,确实,有几个发展可能进一步提高其性能(也见第4节)。

我们的训练直接促进亮度通道而不是色度通道,如Eq.(1)所示;为了完整性,我们还评估了总的PSNR(在Y, U和V上)。表1通过报告相对于RAHT的BD-Rate显示了这样的结果,证实了即使考虑到色度上的失真,我们的方法仍然比RAHT更好。
在这里插入图片描述

3.3 Effectiveness of differential meta-learning

我们研究元学习的有效性,通过评估率失真性能实现的各种权重编码选项。首先,在图3中,考虑在第一个隐藏层有80个特征和9个隐藏层的网络中训练了Redandblack vox10_1550点云。特别地,精细调整权重的分布与元学习初始化的差异分布进行了比较。差分权值压缩的优势是显而易见的,因为它导致的分布方差显著降低,从而提高了速率失真效率。
在这里插入图片描述
在图4中,通过率失真曲线对几种方法进行了比较:针对通用元学习初始化,提出了差分压缩方法;经典的网络压缩,即直接量化权值的最终值;并对网络的最终权值进行随机初始化和量化。(这里三个方法代表元学习差分压缩,元学习压缩和随机初始化压缩)很明显,差分编码策略提高了速率失真效率,显示了元学习如何有效地提供信号特征的先验信息。请注意,与随机初始化相比,仅使用元学习而不使用差分压缩并不能显著提高性能。这是因为尽管速度不同,但两种网络的质量都差不多。最后,请注意差分编码对质量也有有益的影响,而不仅仅是速率,因为权重上引入的失真与点云属性上的最终失真是非线性的。在这里插入图片描述

4. Discussion and future developments

在本文中,我们介绍了一种新的信号压缩范式,利用神经网络通过神经内隐表示的权重和偏差来表示信号。这种技术很有吸引力,因为它可以简化和优化针对最具挑战性的数据类型的压缩方案设计。有几个开放的问题,可以为这个主题打开多个研究线,并相比于本文的早期结果可能可以显著提高性能 。特别是,如果网络的早期部分学习信号的基函数,有没有可能预先训练它变得更通用,类似于字典学习,可能存储率?此外,如何在不大幅度降低质量的情况下优化和量化网络权值?先验是否可以以元学习以外的方式合并,例如,通过新的架构,但仍然保留使用单坐标输入的“随机访问”属性?

个人小结

  • 本文非常类似于论文阅读:(arXiv 2021)Implicit Neural Representations for Image Compression,只是将图像压缩任务用到点云上,ICASSP 2022的提交时间大概是在一月份?INRIC是去年12月8号提交的,时间上差了一个半月作用,其实INRIC复现起来并不是很困难。啧啧啧 停止我的恶意揣测!!
  • 在Method里面提到了量化但是实验部分缺少对量化的探索,Discussion给出了一些有意义的意见,类似的字典学习方法在上个月刚有一篇新的文章。最后一点也是个非常有意义的研究方向,对于点云的压缩也是值得跟进的。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值