神经压缩是神经网络和其他机器学习方法在数据压缩方面的应用。虽然机器学习涉及许多与压缩密切相关的概念,但由于神经压缩依赖信息论、感知度量和该领域的其他特定知识,因此进入神经压缩领域可能很困难。本导论希望通过回顾熵编码和率失真理论等基本编码主题、位背编码和感知度量等相关机器学习思想,并通过目前文献中的代表性作品提供指导,填补必要的背景知识。
图1所示 压缩作为生成模型。
数据压缩的目标是减少表示有用信息所需的比特数。神经,或学习压缩,是应用神经网络和相关机器学习技术的任务。本文旨在通过回顾信息论背景以及神经压缩的代表性方法和技术,为机器学习研究者提供一个切入点。神经压缩借鉴了基于学习的图像处理方法的丰富历史。事实上,计算摄影中的许多问题可以被视为有损图像压缩;例如,图像超分辨率可以通过学习固定编码器的解码器(图像降采样过程)[1][2]来解决。事实上,神经网络在20世纪80年代末和90年代就已经被应用于图像压缩[3][4],甚至有一篇早期的综述文章[5]。与早期的工作相比,现代方法在规模、神经结构和编码方案上有显著的不同。
当前神经压缩的研究很大程度上受到了深度生成模型的启发,如GANs、VAE、标准化流和自回归模型[6]、[7]、[8]、[9]。虽然这些模型允许我们从样本中捕捉复杂的数据分布(这是神经压缩的关键),但研究倾向于生成真实的数据[10]或实现高数据日志密度[8],目标并不总是与数据压缩一致。可以说,第一个探索数据压缩的深度生成模型的工作出现在2016年[11],神经压缩的主题从那时起就有了相当大的发展。许多研究人员已经确定了变分推断与无损[12][67]以及有损[13][14][15][16]压缩之间的联系。本文希望进一步促进这些领域之间的交流,提高对压缩作为生成建模的一种富有成效的应用以及相关的有趣挑战的认识。
我们的目标不是调研大量的文献,而是涵盖神经压缩的基本概念和方法,并考虑到精通机器学习但不一定精通数据压缩的读者。我们希望通过强调生成建模和机器学习之间的联系来补充现有的综述,这些综述更注重数据压缩[17][18][19]。神经压缩提供了从原始数据自动构建压缩算法的潜力。这对于新的或领域特定的数据类型尤其有用,如VR内容或科学数据,否则开发自定义编解码器可能会很昂贵。然而,这种潜力的大部分仍未被探索,所以我们的讨论集中在图像压缩上,大多数学习到的压缩方法都是在图像压缩上首次开发的。尽管如此,这些方法更广泛地适用于其他类型的数据。我们将在第3.7节中讨论一个顺序数据的例子,视频压缩。有效地压缩这类数据需要更精细的模型,但调节学习表征的熵/比特率和相关技术的基本思想保持不变。
本介绍由两个主要部分组成,无损压缩(第2节)和有损压缩(第3节);后者依赖于前者来压缩数据的潜在表示(见图2)。我们从回顾基本编码理论(第2.1节)开始,它允许我们将无损压缩问题转化为学习离散数据分布。在实践中,我们需要使用生成式建模的工具来分解潜在的高维数据分布,包括自回归(第2.2节)、潜在变量(第2.3节),以及其他模型(第2.4节)。每种模型在其与不同熵码的兼容性上有所不同,并在压缩比特率和计算效率之间提供了不同的权衡。然后,有损压缩引入了额外的需要,最常见的是重构的失真,在此基础上,经典理论和算法,如VQ和变换编码进行了回顾(第3.1节)。然后,我们介绍神经方法作为转换编码的自然扩展(第3.2节),讨论量化表示的端到端学习所需的技术(第3.3节),以及试图绕过量化的有损压缩方案(第3.4节)。然后,在简要回顾视频压缩(第3.7节)之前,我们探讨了其他需要的数据,如重构的感知质量(第3.5节),以及学习到的下游任务表示的有用性(第3.6节)。最后,我们总结在第4节的挑战和开放的问题,神经压缩,可能会推动其未来的进展。
专知便捷查看
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
后台回复“NDC” 就可以获取《最新《神经数据压缩导论》综述》专知下载链接