CN115668777A - 用于改进的机器学习压缩的系统和方法 - Google Patents

用于改进的机器学习压缩的系统和方法 Download PDF

Info

Publication number
CN115668777A
CN115668777A CN202180040637.1A CN202180040637A CN115668777A CN 115668777 A CN115668777 A CN 115668777A CN 202180040637 A CN202180040637 A CN 202180040637A CN 115668777 A CN115668777 A CN 115668777A
Authority
CN
China
Prior art keywords
data
input data
computer
computing system
implemented method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180040637.1A
Other languages
English (en)
Inventor
E.T.奥古斯特森
L.M.泰斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN115668777A publication Critical patent/CN115668777A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

一种具有改进效率的用于压缩计算机可读数据的计算机实现的方法可以包括:由包括一个或多个计算设备的计算系统获得与计算系统相关联的输入数据;以及由计算系统至少部分基于编码器模型对输入数据和来自有噪信道的加性噪声进行编码以产生编码数据,其中,对输入数据和加性噪声进行编码包括将加性噪声和输入数据相加组合以获得有噪输入数据并且通过软舍入函数对有噪输入数据进行舍入,该软舍入函数具有锐度,以产生编码数据,其中,机器学习编码器模型在训练数据上进行训练,其中,训练数据用来自有噪信道的加性噪声进行编码。

Description

用于改进的机器学习压缩的系统和方法
相关申请的交叉引用
本申请要求于2020年6月3日提交的美国临时专利申请第63/034,172号的优先权和权益,其全部内容通过引用结合于此。
技术领域
本公开一般涉及数据压缩,诸如端到端机器学习数据压缩。
背景技术
反向信道编码是指通过数字信道传送样本(例如,连续样本)的方法。一类通用反向信道编码算法从分布中生成大量样本。然后传送对应于具有基于输入的条件分布的样本的索引。
反向信道编码对于数据压缩可以是有用的。例如,计算机可读数据可以被压缩以用于存储和/或传输。相对于原始数据,压缩数据可以具有减少的用于存储和/或传输的计算资源需求。压缩数据可以被解压缩以重建或近似原始数据。
发明内容
本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中获知,或者可以通过实施例的实践获知。
本公开的一个示例方面针对一种具有改进效率的用于压缩计算机可读数据的计算机实现的方法。该计算机实现的方法可以包括:由包括一个或多个计算设备的计算系统获得与计算系统相关联的输入数据;以及由计算系统至少部分基于编码器模型对输入数据和来自有噪信道的加性噪声进行编码以产生编码数据,其中,对输入数据和加性噪声进行编码包括将加性噪声和输入数据相加组合以获得有噪输入数据并且通过软舍入函数对有噪输入数据进行舍入,该软舍入函数具有锐度,以产生编码数据,其中,机器学习编码器模型在训练数据上进行训练,其中,训练数据用来自有噪信道的加性噪声进行编码。
本公开的另一示例方面针对一种对编码数据进行解码的计算机实现的方法。该计算机实现的方法包括:由包括一个或多个计算设备的计算系统获得编码数据,该编码数据至少部分基于输入数据和来自有噪信道的加性噪声进行编码,其中,该编码数据是通过将加性噪声和输入数据相加组合以获得有噪输入数据并且通过软舍入函数对有噪输入数据进行舍入来编码的,该软舍入函数具有锐度,以产生编码数据;以及由计算系统应用由给定平滑通用量化近似的期望值定义的重构,以重构近似输入数据。
本公开的另一示例方面针对一种具有改进的计算和统计效率的编码输入数据的计算机实现的方法。该计算机实现的方法包括由包括一个或多个计算设备的计算系统获得与计算系统相关联的输入数据。该计算机实现的方法包括由计算系统至少部分基于输入数据获得指示目标分布的数据。该计算机实现的方法包括由计算系统至少部分基于目标分布来确定均匀分布。该计算机实现的方法包括由计算系统从均匀分布中获得多个样本。该计算机实现的方法包括由计算系统识别对应于来自均匀分布的多个样本中的选定样本的索引,使得选定样本根据目标分布来分布。该计算机实现的方法包括由计算系统传送编码样本表示数据,该编码样本表示数据包括对应于选定样本的索引和解码因子,该解码因子包括选定样本和对应于选定样本的均匀随机变量的相减组合。
本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。并入本说明书并构成其一部分的附图示出了本公开的示例实施例,并与描述一起用于解释相关原理。
所附附录并入本申请中并构成本申请的一部分。所附附录提供了关于本文描述的系统和方法的示例实施方式的细节。本公开的系统和方法不限于附录中包括的具体示例实施方式。
附图说明
针对本领域普通技术人员的实施例的详细讨论可以在参考附图的说明书中阐述,在附图中:
图1A描绘了根据本公开的示例实施例的示例计算系统的框图。
图1B描绘了根据本公开的示例实施例的示例计算设备的框图。
图1C描绘了根据本公开的示例实施例的示例计算设备的框图。
图2描绘了根据本公开的示例实施例的示例压缩模型的框图。
图3描绘了根据本公开的示例实施例的示例压缩模型的框图。
图4描绘了根据本公开的示例实施例的用于压缩数据的示例系统的框图。
图5描绘了根据本公开的示例实施例的数据压缩的示例方法的流程图。
图6描绘了根据本公开的示例实施例的具有改进效率的用于压缩计算机可读数据的示例方法的流程图。
图7描绘了根据本公开的示例实施例的具有改进的计算和统计效率的编码输入数据的示例方法的流程图。
具体实施方式
概述
本公开的示例方面针对能够压缩数据(例如,图像、张量等)以减少保存信息所需的存储和/或传输的数据量的系统和方法。作为一个示例,数据可以是图像数据(例如,RGB图像数据、CYMB图像数据等)。压缩数据的一个示例方法可以是采用一个或多个机器学习模型(诸如神经网络、卷积神经网络、递归神经网络、递归神经网络等)来压缩、解压缩、存储和/或传输数据。例如,可以在编码器和/或解码器中采用一个或多个机器学习模型。编码器可以接收输入数据,并且响应于输入数据的接收,根据编码方案产生编码数据。编码数据可以被存储和/或传输(例如,经由或通过信道)到解码器。解码器可以接收编码数据,并且响应于编码数据的接收,产生至少非常近似输入数据和/或与输入数据相同的输出数据。
可以基于对输入数据和输出数据之间的差异进行分级的损失(目的是在训练期间最小化差异)来训练编码器和/或解码器(例如,通过无监督训练。例如,端到端训练有损压缩的一个示例方法优化了以下形式的速率失真损失:
Figure BDA0003981363130000031
其中f是编码器,g是解码器,P是概率质量函数,并且
Figure BDA0003981363130000032
是用于量化的函数,例如舍入函数。失真d衡量重构和输入之间的差异。
更具体地,信息可以作为数据存储在计算系统中。数据可以以能够被计算系统处理和/或以其他方式解释的格式表示词汇、数字或其他合适类型的信息。例如,数据可以被表示为存储器设备中的数字(例如,比特)的集合。示例存储器设备包括但不限于非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等、及其组合。
可能希望减少用于存储和/或传输信息的存储器和/或其他计算资源的量。例如,可能希望减少用于存储信息的数据大小。作为另一示例,可能希望减少为了完全传输数据中的信息而必须传输的比特数。减少数据大小的技术被称为数据压缩技术。无损压缩是指允许数据被压缩并随后被解压缩而不损失信息的压缩技术。有损压缩是指在压缩和/或解压缩之后向数据中引入不可恢复的误差,导致信息损失的压缩技术。例如,有损压缩技术可以稍微增加和/或减少由数据表示的数值。作为另一示例,有损压缩技术可能导致与数据相关联的精度损失。作为另一示例,有损压缩技术可能给图像带来模糊或其他失真。
尽管可能希望减少或消除信息损失,但是与无损压缩相比,有损压缩可以允许数据大小的显著减小,使得一些应用可以选择使用有损压缩而不是无损压缩。例如,在许多情况下,由有损压缩引入的误差不会显著影响数据的功能。尽管如此,仍然希望减少与有损压缩相关联的误差,同时至少部分地保持来自有损压缩的改进的压缩大小。
对有损压缩(例如,图像压缩)的深度学习(例如,机器学习,诸如通过一个或多个机器学习模型)研究已经取得了巨大的进展。端到端训练的神经网络已经得到改进,有时甚至优于最好的手动设计的压缩方案。然而,有效但易于优化的计算复杂度、时间不一致性和感知度量仍然对深度学习方法(诸如神经网络)提出了挑战。实际的有损压缩方案可以依靠量化来计算可以数字传输的离散表示。量化是一种不可微的操作,因此可以防止经由反向传播直接优化编码器。因此,通常希望执行近似量化来近似所谓的“硬”量化。
近似量化的一种方法是在训练期间用可微分近似代替硬量化,但在测试时间使用硬量化。然而,这造成了训练和测试时间之间的不匹配,并可能对性能产生负面影响。另一种替代方法是完全摆脱量化。例如,系统和方法可以在训练和测试时间以不同的方式传送信息。这种方法的核心是认识到来自可能连续分布的样本可以使用有限数量的比特来传送。这就是众所周知的反向香农定理。然而,这种方法的一些现有实现往往要么计算成本高,要么统计效率低。例如,它们可能需要比它们传输信息更多的比特。
本公开的一些示例方面弥合了处理量化的两种方法之间的间隙。根据本公开的示例方面,学习用于压缩(例如,有损压缩)的编码器的一种方法可以是在训练期间使用加性噪声(例如,均匀噪声)。噪声可以是测试时间量化的近似。还可以使用通用量化在测试时间实现均匀噪声信道。这可以消除训练和测试阶段之间的任何不匹配,同时保持完全可微分的损失函数。实现均匀噪声信道可以是传送样本的更一般问题的特例,在没有关于其分布的假设的情况下,这在计算上可能是困难的。均匀噪声特例可以既有效又易于实现,因此从实用角度来看特别有益。最后,量化可以作为应用于均匀噪声信道的软量化器的极限情况来获得,桥接有量化和无量化的压缩。
本公开的一些其他示例方面可以提供用于传送来自不必是均匀分布的分布(例如,其中噪声不必是均匀噪声)的样本。例如,本公开的一些示例方面可以针对一种混合算法,该混合算法可以以改进的计算效率传输来自任意平滑目标分布的样本,尤其是在要传输的大部分相关信息包含在目标分布的支撑集(support)中的情况下。根据本公开的示例方面,可以从具有与目标分布相同或更大支撑集的均匀分布中抽取多个候选样本。可以识别对应于多个候选样本中的选定样本的索引(例如,通过反向信道编码算法),使得选定样本具有目标分布。因为均匀分布与目标分布相关(例如,通过具有等效或更大的支撑集),所以与将反向信道编码直接应用于从固定分布中抽取的候选样本相比,这可以提供减少数量的候选样本。均匀分布和从中抽取的候选样本对于只能访问固定分布的接收方是未知的。然而,如果使用如本文所述的通用量化来生成候选样本,则可以至少部分基于输入数据和选定样本(其与索引一起被传输到接收方)的舍入相减组合,在接收方处重构候选样本。
根据本公开的示例方面的系统和/或方法可以实现多种技术效果和/或益处,包括例如对计算技术的改进。作为一个示例,本公开的示例方面可以为计算机可读数据提供改进的压缩方案。改进的压缩方案可以具有例如输入数据和输出数据之间的减少的误差、更好的压缩特性(例如,数据减少)、更好的可靠性和/或鲁棒性、改进的噪声描述和/或各种其他优点。由本公开的示例方面提供的改进的图像和视频数据压缩可以改进视频、图像和其他媒体的全球范围分发和/或扩散。
用于近似量化的一种方法是在训练期间用均匀噪声代替(例如,硬)舍入。如本文所使用的,所谓的“硬”舍入是指具有离散的、不连续的舍入阈值的舍入(例如,舍入函数,其中小于阈值的每个数(诸如区间之间的中点)被向下舍入到最近的区间,而其他数字被向上舍入到最近的区间)。与无量化压缩的一些其他方法不同,这种有噪信道可以容易地以一种对于少量和大量信息在统计和计算上都有效的方式来实现。一个示例信道是均匀噪声信道,表示为:
z=f(x)+U,U~U([-0.5,0.5)D)。
根据本公开的示例方面,该噪声被认为是一种没有量化的压缩形式(例如,与简单近似相反)。从计算和统计的角度来看,均匀噪声信道很容易使用有噪信道来有效地模拟。这使得在测试时间使用低维和高维系数集是可行的。可以在均匀噪声和硬量化之间进行平滑插值,同时保持可微性。
根据本公开的示例方面,还可以在计算梯度时解析地积分出均匀噪声,并且在一些情况下显著减小它们的方差。训练和测试阶段之间的更好匹配可以提高性能,即使在已知硬量化是最佳的设置中。
代替在训练期间近似量化或依赖直通梯度估计,根据本公开的示例方面的系统和方法可以采用可微分信道,从而消除对近似的任何需要。模拟有噪信道q(z|x)的技术可能需要为要传送的每个输入向量x生成量级expDKL[qZ|x||pZ]的样本zn~pZ。编码器选择单个样本并传送其索引n,然后解码器使用该索引来重构样本。
因为互信息I[X,Z]是平均Kullback-Leibler散度的下限,所以观察到折衷。希望保持较小的散度以限制计算成本,例如通过单独编码系数块。然而,传输的信息希望足够大,以保持较小的统计开销。
除了均匀噪声和/或替代均匀噪声,根据本公开的示例方面,可以添加其他类型的噪声。虽然利用均匀噪声的方法可以是统计上和计算上有效的,但是它可以仅允许传送来自简单均匀分布的样本。
包括其他噪声的一种方法可以是对晶格量化器的泛化。设Λ是晶格,并且QΛ(y)是晶格中的y的最近邻。此外,设
Figure BDA0003981363130000061
是晶格的泰森多边形(Voronoi)单元,并且
Figure BDA0003981363130000062
是均匀分布在Voronoi单元上的随机向量。那么信道可以表示为:
QΛ(y-U)+U~y+U。
对于特定晶格并且在高维空间中,U将近似像高斯分布。因此,通用量化可以用来近似模拟加性白高斯噪声信道。
获得高斯噪声的另一种方法描述如下。设S是独立于Y的正随机变量并且U~U([-0.5,0.5))。并且S和U对于编码器和解码器都是已知的。然后,对于另一均匀随机变量U′:
Figure BDA0003981363130000075
如果
Figure BDA0003981363130000071
并且
Figure BDA0003981363130000072
则SU′具有方差为σ2的高斯分布。更一般地,该方法可以允许根据本公开的系统实现可以被表示为均匀比例混合的任何噪声。然而,传输
Figure BDA0003981363130000076
所需的平均比特数可以表示为:
H[K|U,S]=I[Y,(Z,S)]≥I[Y,Z]
其中Z=Y+SU′。如果(Z,S)是要传输的数据,则只使用与传输的信息一样多的比特。
根据本公开的示例方面,可以在推理阶段采用通用量化来实现在训练阶段期间使用的有噪信道,从而提供改进的压缩特性。对于给定的
Figure BDA0003981363130000074
通用量化是具有随机偏移的量化,
Figure BDA0003981363130000077
U~U([-0.5,0.5))。通用量化具有在分布上等同于直接添加均匀噪声的性质。也就是说,
Figure BDA0003981363130000079
Figure BDA00039813631300000710
其中U′是相同均匀噪声的另一源。该性质使通用量化成为研究硬量化的有用工具,尤其是在量化噪声
Figure BDA0003981363130000078
大致均匀的设置中。根据本公开的示例方面,除了用作硬量化的近似之外,通用量化可以模拟用于传送信息的可微分信道。在训练时,添加均匀噪声。此外,在部署时,使用通用量化(例如,代替切换到硬量化),从而消除训练和测试阶段之间的不匹配。
对于给定的系数y,编码器可以计算离散
Figure BDA00039813631300000711
并将其传输到解码器。解码器可以访问U并将其添加回来。给定U的K的条件熵是H[K|U]=I[Z,Y]=h[Y+U]。因为这个界等价于Y+U的微分熵,所以如果Y的密度可微,那么它就是可微的。此外,传输K的成本等价于解码器获得的信息量。与其他一些没有量化的压缩方法相比,所需的比特数只受传输信息量的限制。模型pZ可以用来近似Z=Y+U的分布(从中可以很容易地推导出给定U的K的模型)。这导致了根据如下形式的损失:
Figure BDA0003981363130000073
其中p是密度,并且U~U([-0.5,0.5)D)是均匀噪声的随机向量。如果失真是均方误差并且λ=1,那么这种方法可以被认为是训练变分自动编码器,其中编码器分布是条件均匀的。
为了对该损失函数中的速率项进行建模,有必要对密度p(f(x)+U)进行建模。Y+U的密度经由Y的累积分布cY建模为pY+U(y)=cY(y+0.5)-cY(y-0.5)(对应于将pY与单位宽度框进行卷积)。这可以概括为将h(Y)+U(其中
Figure BDA0003981363130000081
是可逆函数(诸如软舍入))的密度建模为ch(Y)=cY(h-1(y)),其给出ph(Y)+U(y)=cY(h-1(y)+0.5)-cY(h-1(y)-0.5)。
通用量化优于其他近似量化或无量化压缩方案的另一优点是它是更加计算有效的。其计算复杂度仅随着要传输的系数的数量而线性增长,而不是随着Kullback-Leibler散度而指数增长。
可以对所有系数使用相同的移位来应用通用量化,Ui=Uj。这种形式的通用量化可以不同于在训练期间添加相同或独立的噪声。将相同的噪声添加到不同的系数不会产生信息瓶颈,因为解码器可以使用总是为零的单个系数来恢复噪声,从而恢复其他系数的精确值。此外,相关噪声可能导致不可微性。因此,根据本公开的示例方面,在一些实施例中,可以使用独立噪声。
可以使通用量化类似于量化。例如,将舍入应用为编码器的最后一步,并再次应用为解码器的第一步,可以通过
Figure BDA0003981363130000082
来消除均匀噪声U~U([-0.5,0.5))的影响。这表明,通过使用对舍入的平滑近似,
Figure BDA00039813631300000811
Figure BDA00039813631300000812
可以恢复硬量化的一些好处,而不牺牲可微性。例如,可以使用以下处处可微的函数:
Figure BDA0003981363130000083
其中
Figure BDA0003981363130000084
其中参α数控制近似的保真度:
Figure BDA0003981363130000085
给定z=sα(y)+U,如果我们的目标是最小化y的MSE,而不是第二软舍入,则可以通过以下获得重构:
rα(sα(y)+U),其中
Figure BDA0003981363130000086
此外,概率
Figure BDA0003981363130000087
即y的后验是先验分布的截断版本。如果假设先验足够平滑以至于在每个区间中近似均匀,则:
Figure BDA0003981363130000088
其中sα(z+1)=sα(z)+1。这种形式假设用于rα。注意,
Figure BDA0003981363130000089
Figure BDA00039813631300000810
也就是说,硬量化可以作为极限情况来恢复。对于α的任意有限值,损失函数保持完全可微。可以在不增加噪声的情况下使用对量化的平滑近似。没有噪声的软舍入可能不会产生瓶颈,因为该函数是可逆的,并且输入系数可以由解码器完全恢复。
当α较大时,sα和rα的导数大概率趋向于接近零,小概率趋向于非常大。这导致编码器的梯度具有潜在的大方差。为了对此进行补偿,可以如下解析地积分出均匀噪声。
设h:
Figure BDA0003981363130000091
是可微函数,和前面一样,设U~U([-0.5,0.5))是均匀随机变量。下面的导数是有用的计算:
Figure BDA0003981363130000092
为了得到期望导数的低方差估计,可以对U的许多样本进行平均。然而,下面的等式也成立:
Figure BDA0003981363130000093
也就是说,期望的梯度可以用有限差分来解析地计算。此外,这个等式可以用来计算期望的导数,即使当f是不可微时。
现在考虑这样一种情况,其中将h逐点应用于向量y+U(其中U~U([-0.5,0.5)D)),后跟一个多变量函数
Figure BDA0003981363130000094
那么,以下成立:
Figure BDA0003981363130000095
其中,第三个等式中的近似是通过假设偏导数
Figure BDA0003981363130000096
独立于
Figure BDA0003981363130000097
Figure BDA0003981363130000098
而得到的。例如,如果l(z)在区域{h(y+u):u∈[-0.5,0.5)D}中是局部线性的,使得其导数对于任何可能的扰动都是相同的,这将成立。
因此,本公开的各方面可以允许通过以下方法减小反向传播期间的梯度的方差:正向传递可以以标准方式计算(例如,对采样实例u评估l(h(y+u))),但是在反向传递中,导数
Figure BDA0003981363130000099
可以用其期望值f(yi+0.5)-f(yi-0.5)来替换。
考虑这样一个模型,其中软舍入跟随编码器,y=sα(f(x)),并且使用阶乘熵模型。速率失真损失变为:
Figure BDA00039813631300000910
这个等式可以直接应用于速率项来计算y的梯度,而不作任何近似。对于失真项,我们使用
Figure BDA0003981363130000101
其中rα扮演h的角色。有趣的是,对于软舍入函数,期望导数采用直通梯度估计的简单形式。例如,期望导数可以总是1。
如本文所使用的,各种符号可以指示各种数学函数和元素。例如,Z表示连续随机向量。Z表示连续随机变量。K表示离散随机变量。z表示标量观察。z表示向量观测。pZ(z)表示连续概率密度函数。PK(k)=Pr(K=k)表示离散概率质量函数。H[K]表示离散熵。h[Z]表示微分熵。
Figure BDA0003981363130000102
表示期望。DKL[qZ|x||pZ]表示Kullback-Leibler(KL)散度。
此外,本公开的一些示例方面可以提供跨信道传送来自任意连续分布的样本。例如,本公开的示例方面可以提供一种具有改进的计算和统计效率的编码输入数据的计算机实现的方法。该方法可以包括由包括一个或多个计算设备的计算系统获得与计算系统相关联的输入数据。例如,输入数据可以是要压缩的数据。
该方法可以包括由计算系统至少部分基于输入数据获得指示目标分布的数据。例如,目标分布可以是基于输入数据的条件分布。该方法还可以包括由计算系统至少部分基于目标分布来确定均匀分布。例如,均匀分布可以至少具有目标分布的支撑集。例如,支撑集可以由从最小值到最大值的范围来定义。均匀分布的支撑集可以具有低于目标分布的最小值的最小值和/或高于目标分布的最大值的最大值中的至少一个或两个。作为一个示例,目标分布的支撑集可以限于区间[c–0.5,c+0.5),其中c是输入。在一些实施方式中,具有不同支撑集的目标分布可以被变换为具有这种支撑集,例如通过缩放具有有限支撑集的分布直到支撑集小于一,或者通过将具有无限支撑集的分布(例如,高斯)近似为具有有限支撑集的分布(例如,截断高斯)。在一些实施方式中,目标分布可以是方差为1且具有随机平均值的近似高斯。来自截断高斯的样本可以用来代替来自真实高斯的样本。
该方法可以包括由计算系统从均匀分布中获得多个(例如,候选)样本。例如,可以从均匀分布中抽取多个样本,并且可以为每个样本分配索引。
该方法可以包括由计算系统识别对应于来自均匀分布的多个样本中的选定样本的索引,使得选定样本根据目标分布来分布。例如,根据本公开的示例方面,可以对多个样本进行评分。作为一个示例,在一些实施方式中,由计算系统识别对应于多个样本中的选定样本的索引可以包括对于多个样本中的至少一个样本,至少部分基于目标分布对样本进行迭代地评分,并且如果样本的得分小于或等于目标得分,则选择该样本作为选定样本。例如,目标得分可以是多个样本的索引的指数和除以目标分布的最大值。作为一个示例,如果最小可能权重是已知的(或一些其他目标权重),则一旦对于所有值(例如,密度比率权重的界限),样本值和最小权重的乘积超过样本值乘以固定分布与目标分布的比率,就可以选择该样本。
该方法可以包括由计算系统传送编码样本表示数据。编码样本表示数据可以包括对应于选定样本的索引和解码因子,解码因子包括选定样本和对应于选定样本的均匀随机变量之间的舍入差。例如,在一些实施方式中,编码器和解码器可以访问均匀随机变量Un形式的共享随机源。每个Un可以通过
Figure BDA0003981363130000111
(其中括号对应于舍入函数)对应于多个样本中的候选样本Zn。可以选择索引N*,并且可以将该索引连同解码因子K*(其中
Figure BDA0003981363130000112
)一起传送给解码器。解码器可以通过对索引和解码因子求和,仅从编码样本表示数据中重构多个样本。编码样本表示数据可以被有效地编码。例如,传送编码样本表示数据所需的比特数可以由传输的信息量加上合理的开销来限定。
在一些情况下,均匀分布的边缘分布可能无法保证是均匀的。因此,在一些实施方式中,可以通过将样本替换为样本的边缘分布的累积密度函数和索引与宽度M的乘积来变换样本,其中该宽度M理想地很大但足够小,使得每个目标分布的支撑集由一限定。可以应用变换,使得传送变换后的样本,并且在解码之后应用样本的逆,以获得原始样本。
为了对编码样本表示数据进行熵编码,可以有必要知道分布。在一些实施方式中,经验分布可以用于索引。附加地和/或可替代地,如果样本的平均条件熵是已知的,则Zipf分布可以用于实现编码界限。因为解码器可以从索引重构均匀分布,所以均匀分布也可以用于编码解码因子。具体地,利用样本的边缘分布的单一模型,可以推导出解码因子上任何条件分布的概率。变换可以附加地使解码因子独立于均匀分布。
在一些情况下,可能希望知道最小权重,或者固定分布与目标分布的比率的最小值。例如,最小权重可以由具有固定分布和目标分布的最小比率的值来表示。根据本公开的系统和方法,因为反向信道编码被应用于目标分布和均匀分布,所以用于算法目的的最小权重可以由最小权重wmin和宽度M的乘积来表示。
示例设备和系统
图1A描绘了根据本公开的示例实施例的执行数据压缩的示例计算系统100的框图。系统100包括通过网络180通信耦接的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如个人计算设备(例如,膝上型或台式)、移动计算设备(例如,智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等、及其组合。存储器114可以存储数据116和由处理器112执行以使用户计算设备102执行操作的指令118。
在一些实施方式中,用户计算设备102可以存储或包括一个或多个压缩模型120。例如,压缩模型120可以是或者可以以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如,长短期记忆递归神经网络)、卷积神经网络或其他形式的神经网络。参考图2-图4讨论示例压缩模型120。
在一些实施方式中,一个或多个压缩模型120可以通过网络180从服务器计算系统130接收,存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实现。在一些实施方式中,用户计算设备102可以实现单个压缩模型120的多个并行实例(例如,跨压缩服务的多个实例执行并行压缩)。
更具体地,压缩模型120可以包括一个或多个编码器和/或解码器模型。编码器模型可被配置为接收输入数据,并且响应于输入数据的接收,产生被传输到解码器模型(例如,在用户计算设备102、服务器计算系统130(例如,模型140)、另一用户计算设备102和/或任何其他合适的位置)的编码数据。解码器模型可以被配置为接收编码数据,并且响应于编码数据的接收,产生非常近似和/或复制输入数据的输出数据(例如,解码数据)。例如,计算系统100可以被配置用于上传(例如,用户计算设备102处的编码器和/或服务器计算系统130处的解码器)和/或下载(例如,用户计算设备102处的解码器和/或服务器计算系统130处的编码器)。
根据本公开的示例方面,有噪信道可以用于在训练时间和测试时间期间在编码数据处引入噪声,以消除训练时间和测试时间之间的不匹配。例如,有噪信道可以包括均匀噪声、高斯噪声等。
附加地或可替代地,一个或多个压缩模型140可以被包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130中,或者由该服务器计算系统130以其他方式存储和实现。例如,压缩模型140可以由服务器计算系统140实现为web服务(例如,压缩数据传输服务)的一部分。因此,一个或多个模型120可以在用户计算设备102处存储和实现,和/或一个或多个模型140可以在服务器计算系统130处存储和实现。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以用来提供用户输入的其他装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等、及其组合。存储器134可以存储数据136和由处理器132执行以使服务器计算系统130执行操作的指令138。
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算设备或者由一个或多个服务器计算设备以其他方式来实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个机器学习压缩模型140。例如,模型140可以是或者可以包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。参考图2-图4讨论示例模型140。
用户计算设备102和/或服务器计算系统130可以经由与通过网络180通信耦接的训练计算系统150的交互来训练模型120和/或140。训练计算系统150可以与服务器计算系统130分离,或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等、及其组合。存储器154可以存储数据156和由处理器152执行以使训练计算系统150执行操作的指令158。在一些实施方式中,训练计算系统150包括一个或多个服务器计算设备或者由一个或多个服务器计算设备以其他方式来实现。
训练计算系统150可以包括模型训练器160,其使用各种训练或学习技术(例如误差的反向传播)来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140。在一些实施方式中,执行误差的反向传播可以包括执行通过时间的截断的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、丢弃等)来提高被训练模型的泛化能力。
具体地,模型训练器160可以基于训练数据162的集合来训练压缩模型120和/或140。训练数据162可以包括例如图像数据、矩阵数据或任何其他合适的数据。根据本公开的示例方面,可以通过在训练时间和推理时间的通用量化来量化训练数据,以消除训练时间和推理时间之间的不匹配。
在一些实施方式中,如果用户已经提供了同意,则训练示例可以由用户计算设备102提供。因此,在这样的实施方式中,提供给用户计算设备102的模型120可以由训练计算系统150根据从用户计算设备102接收的用户特定数据来训练。在一些情况下,这个过程可以被称为对模型进行个性化。
模型训练器160包括用于提供所需功能的计算机逻辑。模型训练器160可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实施方式中,模型训练器160包括存储在存储器设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实施方式中,模型训练器160包括计算机可执行指令的一个或多个集合,这些指令存储在有形计算机可读存储介质中,诸如RAM硬盘或光学或磁性介质。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或其某种组合,并且可以包括任何数量的有线或无线链路。一般地,网络180上的通信可以使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL),经由任何类型的有线和/或无线连接来承载。
图1A示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实施方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实施方式中,模型120可以在用户计算设备102本地训练和使用两者。在一些这样的实施方式中,用户计算设备102可以实现模型训练器160来基于用户特定的数据对模型120进行个性化。
图1B描绘了根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1至N)。每个应用都包含其自己的机器学习库和(多个)机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B所示,每个应用可以与计算设备的多个其他组件通信,例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实施方式中,每个应用可以使用API(例如,公共API)与每个设备组件通信。在一些实施方式中,每个应用使用的API是特定于该应用的。
图1C描绘了根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1至N)。每个应用都与中央智能层通信。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用可以使用API(例如,跨所有应用的公共API)与中央智能层(以及存储在其中的(多个)模型)通信。
中央智能层包括多个机器学习模型。例如,如图1C所示,可以为每个应用提供相应的机器学习模型(例如,模型),并由中央智能层管理。在其他实施方式中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实施方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实施方式中,中央智能层被包括在计算设备50的操作系统中,或者由计算设备50的操作系统以其他方式来实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的集中式数据储存库。如图1C所示,中央设备数据层可以与计算设备的多个其他组件通信,诸如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实施方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
在一些实施方式中,本公开的(多个)机器学习模型(例如,120、140)的输入可以是图像数据。(多个)机器学习模型可以处理图像数据以生成输出。作为示例,(多个)机器学习模型可以处理图像数据以生成图像识别输出(例如,图像数据的识别、图像数据的潜在嵌入、图像数据的编码表示、图像数据的散列等)。作为另一示例,(多个)机器学习模型可以处理图像数据以生成图像分割输出。作为另一示例,(多个)机器学习模型可以处理图像数据以生成图像分类输出。作为另一示例,(多个)机器学习模型可以处理图像数据以生成图像数据修改输出(例如,图像数据的变更等)。作为另一示例,(多个)机器学习模型可以处理图像数据以生成编码图像数据输出(例如,图像数据的编码和/或压缩表示等)。作为另一示例,(多个)机器学习模型可以处理图像数据以生成升级的图像数据输出。作为另一示例,(多个)机器学习模型可以处理图像数据以生成预测输出。
在一些实施方式中,本公开的(多个)机器学习模型的输入可以是文本或自然语言数据。(多个)机器学习模型可以处理文本或自然语言数据以生成输出。例如,(多个)机器学习模型可以处理自然语言数据以生成语言编码输出。作为另一示例,(多个)机器学习模型可以处理文本或自然语言数据以生成潜在文本嵌入输出。作为另一示例,(多个)机器学习模型可以处理文本或自然语言数据以生成翻译输出。作为另一示例,(多个)机器学习模型可以处理文本或自然语言数据以生成分类输出。作为另一示例,(多个)机器学习模型可以处理文本或自然语言数据以生成文本分割输出。作为另一示例,(多个)机器学习模型可以处理文本或自然语言数据以生成语义意图输出。作为另一示例,(多个)机器学习模型可以处理文本或自然语言数据以生成升级的文本或自然语言输出(例如,比输入文本或自然语言质量更高的文本或自然语言数据等)。作为另一示例,(多个)机器学习模型可以处理文本或自然语言数据以生成预测输出。
在一些实施方式中,本公开的(多个)机器学习模型的输入可以是语音数据。(多个)机器学习模型可以处理语音数据以生成输出。例如,(多个)机器学习模型可以处理语音数据以生成语音识别输出。作为另一示例,(多个)机器学习模型可以处理语音数据以生成语音翻译输出。作为另一示例,(多个)机器学习模型可以处理语音数据以生成潜在嵌入输出。作为另一示例,(多个)机器学习模型可以处理语音数据以生成编码的语音输出(例如,语音数据的编码和/或压缩表示等)。作为另一示例,(多个)机器学习模型可以处理语音数据以生成升级的语音输出(例如,比输入语音数据质量更高的语音数据等)。作为另一示例,(多个)机器学习模型可以处理语音数据以生成文本表示输出(例如,输入语音数据的文本表示等)。作为另一示例,(多个)机器学习模型可以处理语音数据以生成预测输出。
在一些实施方式中,本公开的(多个)机器学习模型的输入可以是潜在编码数据(例如,输入的潜在空间表示等)。(多个)机器学习模型可以处理潜在编码数据以生成输出。例如,(多个)机器学习模型可以处理潜在编码数据以生成识别输出。作为另一示例,(多个)机器学习模型可以处理潜在编码数据以生成重构输出。作为另一示例,(多个)机器学习模型可以处理潜在编码数据以生成搜索输出。作为另一示例,(多个)机器学习模型可以处理潜在编码数据以生成重新聚类输出。作为另一示例,(多个)机器学习模型可以处理潜在编码数据以生成预测输出。
在一些实施方式中,本公开的(多个)机器学习模型的输入可以是统计数据。(多个)机器学习模型可以处理统计数据以生成输出。例如,(多个)机器学习模型可以处理统计数据以生成识别输出。作为另一示例,(多个)机器学习模型可以处理统计数据以生成预测输出。作为另一示例,(多个)机器学习模型可以处理统计数据以生成分类输出。作为另一示例,(多个)机器学习模型可以处理统计数据以生成分割输出。作为另一示例,(多个)机器学习模型可以处理统计数据以生成分割输出。作为另一示例,(多个)机器学习模型可以处理统计数据以生成可视化输出。作为另一示例,(多个)机器学习模型可以处理统计数据以生成诊断输出。
在一些实施方式中,本公开的(多个)机器学习模型的输入可以是传感器数据。(多个)机器学习模型可以处理传感器数据以生成输出。例如,(多个)机器学习模型可以处理传感器数据以生成识别输出。作为另一示例,(多个)机器学习模型可以处理传感器数据以生成预测输出。作为另一示例,(多个)机器学习模型可以处理传感器数据以生成分类输出。作为另一示例,(多个)机器学习模型可以处理传感器数据以生成分割输出。作为另一示例,(多个)机器学习模型可以处理传感器数据以生成分割输出。作为另一示例,(多个)机器学习模型可以处理传感器数据以生成可视化输出。作为另一示例,(多个)机器学习模型可以处理传感器数据以生成诊断输出。作为另一示例,(多个)机器学习模型可以处理传感器数据以生成检测输出。
示例模型布置
图2描绘了根据本公开的示例实施例的示例压缩模型200的框图。在一些实施方式中,压缩模型200被训练成接收输入数据204的集合,并且作为接收到输入数据204的结果,提供近似和/或重构输入数据的输出数据206。因此,在一些实施方式中,压缩模型200可以包括编码器模型和/或解码器模型202,其可操作来根据本公开的示例方面对输入数据204进行编码和/或解码。
图3描绘了根据本公开的示例实施例的示例压缩模型300的框图。压缩模型300类似于图2的压缩模型200,除了压缩模型300还包括被配置为从输入数据204产生编码数据304的编码器模型302和被配置为从编码数据304产生输出数据206的解码器模型306。编码器模型302和/或解码器模型306可以是
图4描绘了根据本公开的示例实施例的示例压缩模型400的框图。压缩模型400可以接收输入数据402并产生近似输入数据402的输出数据404。压缩模型400可以分布在多个计算设备当中。例如,可以在第一计算设备处应用有噪信道410、软舍入函数412和/或通用量化414,和/或可以在(例如,远离第一计算设备和/或与第一计算设备分离的)第二计算设备处应用重构器函数416和/或解码器模型418。
有噪信道410可以将噪声(例如,均匀噪声)应用于输入数据402。软舍入函数412可以基于连续舍入函数用施加的噪声对输入数据402进行舍入,以产生舍入数据。通用量化414可以对舍入数据进行编码,以便传输到解码器模型418。在解码器模型418之前,重构器函数416可以重构编码数据,减轻均匀噪声的影响。
示例方法
图5描绘了根据本公开的示例实施例的执行数据压缩的示例方法的流程图。尽管为了说明和讨论的目的,图5描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定示出的顺序或布置。在不脱离本公开的范围的情况下,方法500的各个步骤可以以各种方式被省略、重新布置、组合和/或修改。
在502处,方法500可以包括由包括一个或多个处理器的计算系统获得输入数据。例如,输入数据可以是图像数据。
在504处,方法500可以包括由一个或多个处理器向机器学习编码器模型提供输入数据。例如,机器学习编码器模型可以包括被训练用作编码器的一个或多个神经网络。机器学习编码器模型可以接收输入数据,并且响应于输入数据的接收,输出编码数据作为结果。
在506处,方法500可以包括由机器学习编码器模型对输入数据和来自有噪信道的加性噪声进行编码以产生编码数据。例如,有噪信道可以提供均匀噪声、高斯噪声、独立噪声等。作为一个示例,机器学习编码器模型可以应用量化、舍入(例如,软舍入)或其他排列来编码输入数据。例如,在一些实施例中,编码可以包括将加性噪声和输入数据相加组合以获得有噪输入数据,通过具有锐度α的软舍入函数对有噪输入数据进行舍入以产生包括系数集合的舍入数据,以及将舍入数据输入到机器学习编码器模型中以产生编码数据。
在508处,方法500可以包括由一个或多个处理器从机器学习编码器模型接收编码数据。此外,在510处,方法500可以包括由一个或多个处理器向机器学习解码器模型提供编码数据。在一些实施例中,这些步骤可以是相同的。机器学习解码器模型可以接收编码数据,并且响应于编码数据的接收,提供近似或复制输入数据的输出数据。可以在输出数据和输入数据之间定义损失。
在512处,方法500可以包括由机器学习解码器对编码数据进行解码以产生解码数据。例如,解码器可以执行逆函数来从编码数据中重建输入数据。作为一个示例,解码器可以应用重构函数和/或软舍入函数来消除噪声对输入数据的影响。在514处,方法500可以包括由一个或多个处理器从机器学习解码器模型接收解码数据。
图6描绘了根据本公开的示例实施例的执行数据压缩的示例方法的流程图。尽管为了说明和讨论的目的,图6描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定示出的顺序或布置。在不脱离本公开的范围的情况下,方法600的各个步骤可以以各种方式被省略、重新布置、组合和/或修改。
在602处,方法600可以包括由包括一个或多个计算设备的计算系统获得与计算系统相关联的输入数据。例如,输入数据可以是要压缩的数据。在604处,方法600可以包括由计算系统至少部分基于编码器模型对输入数据和来自有噪信道的加性噪声进行编码以产生编码数据。例如,对输入数据和加性噪声进行编码可以包括将加性噪声和输入数据相加组合以获得有噪输入数据并且通过软舍入函数对有噪输入数据进行舍入,该软舍入函数具有锐度,以产生编码数据。机器学习编码器模型可以在训练数据上进行训练,其中训练数据用来自有噪信道的加性噪声进行编码。
在606处,方法600可以包括获得编码数据。例如,编码数据可以从编码器模型(例如,编码器计算系统)传送到解码器模型(例如,解码器计算系统)。附加地和/或替代地,编码数据可以被存储并在以后被检索。编码的编码数据可以至少部分基于输入数据和来自有噪信道的加性噪声,其中编码数据是通过将加性噪声和输入数据相加组合以获得有噪输入数据并且通过软舍入函数对有噪输入数据进行舍入来编码的,该软舍入函数具有锐度,以产生编码数据。
在608处,方法600可以包括由计算系统应用由给定平滑通用量化近似的期望值定义的重构,以重构近似输入数据。在一些实施方式中,近似输入数据的梯度是在没有包括损失函数的导数的期望值的失真项的任何损失的情况下计算的。在一些实施方式中,机器学习编码器模型在训练数据上进行训练,其中训练数据用来自有噪信道的加性噪声进行编码。
图7描绘了根据本公开的示例实施例的执行数据压缩的示例方法的流程图。尽管为了说明和讨论的目的,图7描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定示出的顺序或布置。在不脱离本公开的范围的情况下,方法700的各个步骤可以以各种方式被省略、重新布置、组合和/或修改。
在702处,方法700可以包括由计算系统至少部分基于输入数据获得指示目标分布的数据。例如,目标分布可以是基于输入数据的条件分布。在704处,方法700可以附加地包括由计算系统至少部分基于目标分布来确定均匀分布。例如,均匀分布可以至少具有目标分布的支撑集。例如,支撑集可以由从最小值到最大值的范围来定义。均匀分布的支撑集可以具有低于目标分布的最小值的最小值和/或高于目标分布的最大值的最大值中的至少一个或两个。作为一个示例,目标分布的支撑集可以限于区间[c–0.5,c+0.5),其中c是输入。在一些实施方式中,具有不同支撑集的目标分布可以被变换为具有这种支撑集,例如通过缩放具有有限支撑集的分布直到支撑集小于一,或者通过将具有无限支撑集的分布(例如,高斯)近似为具有有限支撑集的分布(例如,截断高斯)。在一些实施方式中,目标分布可以是方差为1且具有随机平均值的近似高斯。来自截断高斯的样本可以用来代替来自真实高斯的样本。
在706处,方法700可以包括由计算系统从均匀分布中获得多个(例如,候选)样本。例如,可以从均匀分布中抽取多个样本,并且可以为每个样本分配索引。
在708处,方法700可以包括由计算系统识别对应于来自均匀分布的多个样本中的选定样本的索引,使得选定样本根据目标分布来分布。例如,根据本公开的示例方面,可以对多个样本进行评分。作为一个示例,在一些实施方式中,由计算系统识别对应于多个样本中的选定样本的索引可以包括对于多个样本中的至少一个样本,至少部分基于目标分布对样本进行迭代地评分,并且如果样本的得分小于或等于目标得分,则选择该样本作为选定样本。例如,目标得分可以是多个样本的索引的指数和除以目标分布的最大值。作为一个示例,如果最小可能权重是已知的(或一些其他目标权重),则一旦对于所有值(例如,密度比率权重的界限),样本值和最小权重的乘积超过样本值乘以固定分布与目标分布的比率,就可以选择该样本。
在710处,方法700可以包括由计算系统传送编码样本表示数据。编码样本表示数据可以包括对应于选定样本的索引和解码因子,解码因子包括选定样本和对应于选定样本的均匀随机变量之间的舍入差。例如,在一些实施方式中,编码器和解码器可以访问均匀随机变量Un形式的共享随机源。每个Un可以通过
Figure BDA0003981363130000221
(其中括号对应于舍入函数)对应于多个样本中的候选样本Zn。可以选择索引N*,并且可以将该索引连同解码因子K*(其中
Figure BDA0003981363130000222
Figure BDA0003981363130000223
)一起传送给解码器。解码器可以通过对索引和解码因子求和,仅从编码样本表示数据中重构多个样本。编码样本表示数据可以被有效地编码。例如,传送编码样本表示数据所需的比特数可以由传输的信息量加上合理的开销来限定。
在一些情况下,均匀分布的边缘分布可能无法保证是均匀的。因此,在一些实施方式中,可以通过将样本替换为样本的边缘分布的累积密度函数和索引与宽度M的乘积来变换样本,其中该宽度M理想地很大但足够小,使得每个目标分布的支撑集由一限定。可以应用变换,使得传送变换后的样本,并且在解码之后应用样本的逆,以获得原始样本。
为了对编码样本表示数据进行熵编码,可以有必要知道分布。在一些实施方式中,经验分布可以用于索引。附加地和/或可替代地,如果样本的平均条件熵是已知的,则Zipf分布可以用于实现编码界限。因为解码器可以从索引重构均匀分布,所以均匀分布也可以用于编码解码因子。具体地,利用样本的边缘分布的单一模型,可以推导出解码因子上任何条件分布的概率。变换可以附加地使解码因子独立于均匀分布。
在一些情况下,可能希望知道最小权重,或者固定分布与目标分布的比率的最小值。例如,最小权重可以由具有固定分布和目标分布的最小比率的值来表示。根据本公开的系统和方法,因为反向信道编码被应用于目标分布和均匀分布,所以用于算法目的的最小权重可以由最小权重wmin和宽度M的乘积来表示。
附加公开
本文讨论的技术涉及服务器、数据库、软件应用和其他基于计算机的系统,以及采取的行动和发送到这些系统和从这些系统接收的信息。基于计算机的系统的固有灵活性允许在组件之间对任务和功能进行多种可能的配置、组合和划分。例如,本文讨论的过程可以使用单个设备或组件或者组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,也可以跨多个系统分布。分布式组件可以顺序或并行操作。
虽然本主题已经关于其各种具体示例实施例进行了详细描述,但是每个示例可以通过解释的方式提供,而不是对本公开的限制。本领域的技术人员在理解了前述内容之后,可以容易地对这些实施例进行变更、变型和等同。因此,本主题公开不排除对本主题的这种修改、变型和/或添加,这对于本领域普通技术人员来说是明显的。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用,以产生又一个实施例。因此,可以认为本公开覆盖了这些变更、变型和等同。

Claims (20)

1.一种具有改进效率的用于压缩计算机可读数据的计算机实现的方法,所述方法包括:
由包括一个或多个计算设备的计算系统获得与所述计算系统相关联的输入数据;以及
由所述计算系统至少部分基于机器学习编码器模型对所述输入数据和来自有噪信道的加性噪声进行编码以产生编码数据,其中,对所述输入数据和加性噪声进行编码包括将所述加性噪声和所述输入数据相加组合以获得有噪输入数据并且通过软舍入函数对所述有噪输入数据进行舍入,所述软舍入函数具有锐度,以产生所述编码数据;
其中,所述机器学习编码器模型在训练数据上进行训练,其中,所述训练数据用来自所述有噪信道的所述加性噪声进行编码。
2.根据权利要求1所述的计算机实现的方法,其中,所述锐度在所述机器学习编码器模型的训练期间逐渐增加。
3.根据权利要求1所述的计算机实现的方法,其中,所述软舍入函数响应于输入包括舍入输入与乘以量化因子的所述锐度的双曲正切与所述锐度的一半的双曲正切之比之和。
4.根据权利要求1所述的计算机实现的方法,其中,所述编码器模型包括一个或多个神经网络。
5.根据权利要求1所述的计算机实现的方法,其中,所述输入数据包括图像数据。
6.根据权利要求1所述的计算机实现的方法,其中,所述加性噪声包括均匀噪声。
7.根据权利要求1所述的计算机实现的方法,其中,所述有噪信道是可微分的。
8.根据权利要求1所述的计算机实现的方法,其中,通过在所述机器学习编码器模型的训练期间和由所述机器学习编码器模型通过通用量化进行的推理期间添加均匀噪声来量化所述有噪输入数据。
9.根据权利要求1所述的计算机实现的方法,其中,所述加性噪声包括高斯噪声。
10.根据权利要求1所述的计算机实现的方法,其中,所述有噪信道包括晶格量化器,并且所述加性噪声包括晶格量化噪声。
11.根据权利要求1所述的计算机实现的方法,其中,所述机器学习编码器模型通过以下进行训练:
在正向传递期间,对于采样实例u通过l(h(y+u))计算损失;以及
在反向传递期间,将导数
Figure FDA0003981363120000021
替换为其期望值f(yi+0.5)-f(yi-0.5)。
12.根据权利要求1所述的计算机实现的方法,其中,使用训练损失来训练所述编码器模型,其中,所述训练损失包括所述输入数据和对应的均匀随机变量之和的概率的对数的期望值和解码器模型的期望值在所有值上的和。
13.一种对编码数据进行解码的计算机实现的方法,所述方法包括:
由包括一个或多个计算设备的计算系统获得编码数据,所述编码数据至少部分基于输入数据和来自有噪信道的加性噪声进行编码,其中,所述编码数据是通过将所述加性噪声和所述输入数据相加组合以获得有噪输入数据并且通过软舍入函数对所述有噪输入数据进行舍入来编码的,所述软舍入函数具有锐度,以产生所述编码数据;以及
由所述计算系统应用由给定平滑通用量化近似的期望值定义的重构,以重构近似输入数据。
14.根据权利要求13所述的计算机实现的方法,其中,所述近似输入数据的梯度是在没有包括损失函数的导数的期望值的失真项的任何损失的情况下计算的。
15.根据权利要求13所述的计算机实现的方法,其中,所述机器学习编码器模型在训练数据上进行训练,其中,所述训练数据用来自所述有噪信道的所述加性噪声进行编码。
16.一种具有改进的计算和统计效率的编码输入数据的计算机实现的方法,所述方法包括:
由包括一个或多个计算设备的计算系统获得与所述计算系统相关联的输入数据;
由所述计算系统至少部分基于所述输入数据获得指示目标分布的数据;
由所述计算系统至少部分基于所述目标分布来确定均匀分布;
由所述计算系统从所述均匀分布中获得多个样本;
由所述计算系统识别对应于来自所述均匀分布的所述多个样本中的选定样本的索引,使得所述选定样本根据所述目标分布来分布;以及
由所述计算系统传送编码样本表示数据,所述编码样本表示数据包括对应于所述选定样本的索引和解码因子,所述解码因子包括所述选定样本和对应于所述选定样本的均匀随机变量的相减组合。
17.根据权利要求16所述的计算机实现的方法,其中,所述输入数据包括机器学习模型的参数,并且其中,所述目标分布包括所述机器学习模型的参数的分布。
18.根据权利要求16所述的计算机实现的方法,其中,所述均匀分布的支撑集至少等于所述目标分布的支撑集。
19.根据权利要求16所述的计算机实现的方法,其中,由所述计算系统识别对应于所述多个样本中的选定样本的索引包括:
对于所述多个样本中的至少一个样本,至少部分基于所述目标分布对所述样本进行迭代地评分;以及
如果所述样本的得分小于或等于目标得分,则选择所述样本作为所述选定样本,所述目标得分包括所述多个样本的索引的指数和除以所述目标分布的最大值。
20.根据权利要求16所述的计算机实现的方法,其中,所述选定样本被变换成所述选定样本的边缘分布的累积密度函数和所述索引与所述目标分布的宽度的乘积。
CN202180040637.1A 2020-06-03 2021-06-03 用于改进的机器学习压缩的系统和方法 Pending CN115668777A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063034172P 2020-06-03 2020-06-03
US63/034,172 2020-06-03
PCT/US2021/035672 WO2021247840A2 (en) 2020-06-03 2021-06-03 Systems and methods for improved machine-learned compression

Publications (1)

Publication Number Publication Date
CN115668777A true CN115668777A (zh) 2023-01-31

Family

ID=76662547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180040637.1A Pending CN115668777A (zh) 2020-06-03 2021-06-03 用于改进的机器学习压缩的系统和方法

Country Status (4)

Country Link
US (1) US20230299788A1 (zh)
EP (1) EP4143978A2 (zh)
CN (1) CN115668777A (zh)
WO (1) WO2021247840A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116471585A (zh) * 2023-05-04 2023-07-21 山东大学 一种兼顾隐私保护的面向任务的语义通信方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448733A (zh) * 2022-04-11 2022-05-06 广州易道智慧信息科技有限公司 虚拟机器视觉系统的加密传输模型训练方法及加解密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544606B2 (en) * 2018-09-14 2023-01-03 Disney Enterprises, Inc. Machine learning based video compression

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116471585A (zh) * 2023-05-04 2023-07-21 山东大学 一种兼顾隐私保护的面向任务的语义通信方法及系统
CN116471585B (zh) * 2023-05-04 2023-12-15 山东大学 一种兼顾隐私保护的面向任务的语义通信方法及系统

Also Published As

Publication number Publication date
US20230299788A1 (en) 2023-09-21
WO2021247840A2 (en) 2021-12-09
WO2021247840A3 (en) 2022-01-13
EP4143978A2 (en) 2023-03-08

Similar Documents

Publication Publication Date Title
US11310509B2 (en) Method and apparatus for applying deep learning techniques in video coding, restoration and video quality analysis (VQA)
US10565499B2 (en) Autoencoding image residuals for improving upsampled images
CN111641832B (zh) 编码方法、解码方法、装置、电子设备及存储介质
KR20200089635A (ko) 다수의 상이한 비트레이트로 영상 압축을 하기 위한 시스템들 및 방법들
CN115668777A (zh) 用于改进的机器学习压缩的系统和方法
JP7168896B2 (ja) 画像符号化方法、及び画像復号方法
CN110753225A (zh) 一种视频压缩方法、装置及终端设备
García Aranda et al. Logarithmical hopping encoding: a low computational complexity algorithm for image compression
Wang et al. Improved nonlinear transform source-channel coding to catalyze semantic communications
JP2022078735A (ja) 画像処理装置、画像処理プログラム、画像認識装置、画像認識プログラム及び画像認識システム
US11979587B2 (en) Hybrid inter-frame coding using an autoregressive model
US20230395086A1 (en) Method and apparatus for processing of audio using a neural network
JP7498377B2 (ja) 強化学習を通してレート制御ニューラルネットワークを訓練すること
KR20220065306A (ko) 연속 심층 영상 압축을 위한 장치 및 방법
US20230336738A1 (en) Multi-rate of computer vision task neural networks in compression domain
US20230316048A1 (en) Multi-rate computer vision task neural networks in compression domain
US20230334718A1 (en) Online training computer vision task models in compression domain
US20230306239A1 (en) Online training-based encoder tuning in neural image compression
US20230316588A1 (en) Online training-based encoder tuning with multi model selection in neural image compression
US20220321879A1 (en) Processing image data
KR20220077098A (ko) 적응적 데드존 양자화를 이용하는 포인트 클라우드 코딩 장치 및 방법
US20230012229A1 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus and program
JP2024521612A (ja) 強化学習を通してレート制御ニューラルネットワークを訓練すること
WO2022229495A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
Gotoh et al. Video Compression Method Using Vector Quantization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination