一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对深度神经网络进行编码的系统和方法与流程

2022-02-24 17:19:15 来源:中国专利 TAG:

对深度神经网络进行编码的系统和方法
1.相关申请的交叉引用
2.本技术要求2019年7月2日提交的美国专利申请第62/869,680号的权益。
技术领域
3.本公开的一个或多个实施例的领域技术领域涉及数据处理,如数据压缩和/或解压缩。例如,至少一些实施例涉及牵涉大量数据的数据压缩/解压缩,如视频流的至少一部分的压缩和/或解压缩,或与深度学习技术的使用相关联的数据压缩和/或解压缩,如深度神经网络(dnn)的使用或图像和/或视频处理,如包括图像和/或视频压缩的处理。例如,至少一些实施例还涉及对深度神经网络进行编码/解码。


背景技术:

4.深度神经网络(dnn)在计算机视觉、语音识别、自然语言处理等领域表现出了先进的性能。然而,这种性能可能是以巨大的计算成本为代价的,因为dnn往往具有大量的参数,通常达到数百万,有时甚至数十亿。
5.需要一种有助于传输和/或存储dnn参数的解决方案。


技术实现要素:

6.本公开的至少一些实施例能够通过提出一种方法来解决至少一个缺点,该方法包括在信号中对数据集进行编码,所述编码包括通过使用通过对所述数据集进行聚类而获得的码本来量化所述数据集,所述进行聚类考虑数据在所述数据集中出现的概率。
7.根据本公开的至少一些实施例;所述概率被限制到至少一个边界值。
8.本公开的至少一些实施例能够通过提出一种方法来解决至少一个缺点,该方法用于对至少一个深度神经网络的至少一层的至少一个第一权重进行编码。
9.根据本公开的至少一些实施例;所述编码考虑所述权重的至少一个第二权重的修改对所述深度神经网络的精度的影响。
10.例如,本公开的方法的至少一个实施例涉及深度神经网络的量化和熵编解码。
11.本公开的至少一些实施例能够通过提出一种方法来解决至少一个缺点,该方法包括在信号中对数据集进行解码,所述解码包括使用通过对所述数据集进行聚类而获得的码本进行逆量化,所述进行聚类考虑数据在所述数据集中出现的概率。
12.根据本公开的至少一些实施例;所述概率被限制到至少一个边界值。
13.本公开的至少一些实施例涉及一种方法,该方法用于对至少一个深度神经网络的至少一层的至少一个第一权重进行解码。例如,本公开的方法的至少一个实施例涉及深度神经网络的熵解码和去量化。
14.根据本公开的至少一些实施例;所述第一权重已经通过考虑所述权重中的至少一个第二权重的修改对所述深度神经网络的精度的影响被编码。
15.根据另一方面,提供了一种装置。该装置包括处理器。处理器可以被配置为通过执
行任何前述方法来对深度神经网络进行编码和/或解码。
16.根据至少一个实施例的另一个一般方面,提供了一种设备,该设备包括根据任何解码实施例的装置;以及(i)被配置为接收信号的天线,该信号包括视频块,(ii)被配置为将接收的信号限制到包括视频块的频带的频带限制器,或者(iii)被配置为显示表示视频块的输出的显示器中的至少一个。
17.根据至少一个实施例的另一个一般方面,提供了一种非暂时性计算机可读介质,该计算机可读介质包含根据任何所述编码实施例或变体生成的数据内容。
18.根据至少一个实施例的另一个一般方面,提供了一种信号,该信号包括根据任何所描述的编码实施例或变体生成的数据。
19.根据至少一个实施例的另一个一般方面,比特流被格式化为包括根据任何所描述的编码实施例或变体生成的数据内容。
20.根据至少一个实施例的另一个一般方面,提供了一种包括指令的计算机程序产品,当由计算机执行程序时,该指令使得计算机执行任何所描述的解码实施例或变体。
附图说明
21.图1示出了通用的标准编码方案。
22.图2示出了通用的标准解码方案。
23.图3示出了其中可以实现所描述实施例的典型处理器布置。
24.图4a示出了使用基于pdf的初始化方法的pdf放置(placement)。
25.图4b分别示出了使用基于pdf初始化方法的cdf放置。
26.图4c示出了使用基于pdf的初始化方法的聚类放置。
27.图5a示出了使用本公开的有界pdf方法的至少一些实施例的pdf放置。
28.图5b示出了使用本公开的有界pdf方法的至少一些实施例的cdf放置。
29.图5c示出了使用本公开的有界pdf方法的至少一些实施例的初始聚类放置。
30.应当注意,附图图示了示例实施例,并且本公开的实施例不限于图示的实施例。
具体实施方式
31.本公开的第一方面涉及聚类初始化(下文中称为“有界pdf”初始化)。在下文中在与深度神经网络的至少一部分的压缩相关的示例性实施例中详细描述该第一方面。然而,该第一方面可以应用于与其他技术领域(例如图像和/或视频处理)相关的许多其他实施例中。
32.下文结合基于k均值算法的示例性实施例描述第一方面。当然,本公开的方法的其他实施例可以依赖于另一种算法。
33.根据第二方面,本公开提出了利用基于梯度的重要性度量的dnn的至少一部分的压缩框架。应当理解,这两个方面可以独立实现。例如,在本公开的一些实施例中,使用重要性度量的dnn压缩可以在没有如结合本公开的第一方面所述的聚类初始化(例如,使用聚类的非有界线性初始化)的情况下执行。
34.要指出的是,本公开涵盖实现本公开的第一方面但而不实现第二方面的实施例,实现本公开的第二方面但不实现第一方面的实施例,以及实现本公开的第一方面和第二方
面的实施例。
35.深度神经网络(dnn)的大量参数可能导致例如过高地推理复杂度。推理复杂度可以被定义为将训练好的dnn应用于测试数据进行推理的计算成本。
36.因此,这种高推理复杂度对于在涉及具有有限硬件和/或软件资源(例如具有资源限制的电子设备(如电池大小、有限的计算能力和存储器容量等)的移动或嵌入式设备)的环境中使用dnn来说是一个重要的挑战。
37.本公开的至少一些实施例适用于至少一个dnn的压缩,从而可以有助于至少一个dnn的传输和/或存储。
38.在本公开的至少一个实施例中,执行神经网络的压缩可以包括:
[0039]-对神经网络的参数(如权重和偏差)进行量化,以用较少的比特数表示它们。
[0040]-量化的信息的无损熵编解码。
[0041]
在一些实施例中,压缩还可以包括在量化之前,通过利用神经网络中固有的冗余来减少神经网络的参数数量(如权重和偏差)的步骤。该步骤是可选的。
[0042]
本公开的至少一个实施例提出了用于执行上述量化步骤和/或无损熵编解码步骤的创新解决方案。
[0043]
本公开的方法的示例性实施例涉及k均值算法的初始化,例如用于对与深度神经网络相关的数据进行聚类。
[0044]
k均值算法的初始化可以基于例如基于线性和基于密度的方法的组合。这种k均值的初始化有助于提高用于量化的k均值算法的性能。
[0045]
k均值是一种用于聚类n维向量的简单算法。例如,在与dnn压缩相关的示例性实施例中,k均值算法可以用于网络参数的量化。k均值算法的目标是将相似的数据划分成“k”个分离良好的聚类。在量化的上下文中,数字k可以是2的幂。聚类的群组在下文中被称为“码本(codebook)”。码本中的每个条目都是指定该聚类的“中心”的数字。例如,对于数字的5比特量化,码本具有25=32个条目,并且每个数字可以由对应于最接近该数字的码本条目的5比特索引值来表示。
[0046]
在神经网络压缩的上下文中,我们可以将每个权重或偏差矩阵单独量化为一维空间中标量数的单个数据集。
[0047]
我们将矩阵中的所有权重值的集合记为w={w1,

,wn},并且将划分w值的k个聚类的集合记为c=(c1,

,ck)。在本公开的至少一个实施例中,利用这种符号,我们的目标是最小化等式:
[0048][0049]
其中ci(小写c)是第i个聚类ci(大写c)的中心。
[0050]
因此,在本公开的至少一个实施例中,每个矩阵的量化过程的输出是码本c和m比特索引值的列表(其中m=log2k);原始矩阵中的每个数字对应一个。
[0051]
还可以使用无损熵编解码算法(例如霍夫曼或算术编解码)进一步压缩量化过程的输出。在至少一些实施例中,算术编解码可以帮助获得(例如提供)更高的压缩效率。
[0052]
聚类初始化
[0053]
本公开的第一方面涉及聚类初始化。
[0054]
例如,在基于k均值算法的聚类的情况下,本公开涉及k均值算法的初始化。
[0055]
聚类初始化会影响k均值算法和量化过程的性能。因此,聚类初始化可以在提高网络精度方面发挥重要作用。
[0056]
k均值聚类算法的初始化可以基于例如随机初始化。例如,随机初始化可以通过从我们的数据集(权重矩阵中的数字)中随机选择k个样本并将其用作初始聚类来完成。或者,随机初始化可以通过在数据集中数字的最小值(min)和最大值(max)之间随机选择k个值来完成(因此在[min,max]范围内)。然而,我们的实验表明,这可能会对数据集中出现的一些低概率异常值造成问题。此外,这可能导致聚类中心选择不佳,而在k均值算法期间无法从中恢复。
[0057]
在一个变体中,基于概率密度函数(probability density function,pdf)的初始化可以用于k均值聚类算法的初始化。基于pdf的初始化类似于随机初始化,但它更重视数据集中出现概率较高的数字。考虑pdf的一种简单方法是计算数据集的累积密度函数(cumulative density function,cdf),然后线性分隔y轴,并找到对应的x值作为初始聚类中心。这使得中心在概率较高的值周围更密集,而在概率较低的值周围更分散。
[0058]
图4a、4b和4c分别示出了使用基于pdf初始化方法的pdf、cdf和聚类放置。更准确地说,图4a示出了示例神经网络的示例层(这里是全连接层)的权重值的pdf。pdf是使用原始权重值的2048分箱(bin)直方图获得的。x轴表示参数值,y轴表示参数值出现的次数。图4b示出了使用上述pdf图表计算的cdf,图4c示出了基于pdf的初始聚类中心的放置。如图4a、4b和4c所示,聚类中心在pdf大的中间处更密集,但是在pdf小的图的两端几乎没有放置。
[0059]
虽然基于pdf的初始化对于概率较高的数字比随机初始化具有更好的精度,但是基于pdf的初始化有时会导致一些概率较低的权重的近似性较差,这在实践中会降低量化的性能。
[0060]
在另一个变体中,线性初始化可以用于k均值聚类算法的初始化。线性初始化只是在数据集值的[min,max]之间将简单地线性初始化聚类中心(间隔均匀)。与随机和/或基于pdf的初始化相比,线性初始化有时可能对至少一些低概率值给出更好的结果。然而,对于至少一些高概率值,线性初始化有时不如基于pdf的初始化有效。
[0061]
本公开的至少一些实施例提出一种通过用下界裁剪pdf函数来使用下文中称为“下界pdf初始化”的初始化方法。更准确地说,我们提升了至少一些值的概率密度,这些值在数据集中出现的概率小于第一下界,如预定义的下界。例如,在一些示例性实施例中,我们提升其在数据集中出现的概率小于第一下界的所有值的概率密度。下界pdf初始化方法的至少一些实施例可以帮助给出围绕至少一些高概率值的聚类中心的良好粒度,同时为围绕至少一些低概率出现的值分配足够的聚类中心。
[0062]
图5a、5b和5c分别示出了使用我们的有界pdf方法的pdf、cdf和初始聚类放置。更准确地说,图5a示出了示例神经网络的示例层(这里是全连接层)的权重的有界pdf。这是使用原始权重值的2048分箱直方图获得的。然后将pdf值裁剪为峰值的10%。图5b示出了使用上述pdf图表计算的有界cdf。图5c示出了基于我们的有界pdf方法的初始聚类中心的放置。如图5a、5b和5c所示,聚类中心在pdf大的中间处更密集,并且在pdf小的图的两端也有足够的聚类放置。
[0063]
基于梯度的网络参数重要性测量
[0064]
根据第二方面,本公开提出了一种用于dnn的压缩框架,其利用基于梯度的重要性度量。
[0065]
根据第二方面,本公开的至少一个实施例提供了基于梯度的网络参数(如权重/偏差矩阵中的值)重要性的测量。作为示例,本公开的至少一个实施例将“重要性”度量与权重/偏差矩阵中的至少一个值相关联。
[0066]
例如,根据本公开的至少一个实施例,重要性度量可以用于量化。
[0067]
根据本公开的至少一个实施例,重要性度量可以用于熵编解码。
[0068]
本公开的至少一个实施例使用重要性度量来帮助改进用于量化的k均值算法。
[0069]
本公开的至少一个实施例使用重要性度量来帮助改进算术编解码。
[0070]
更准确地说,定义了与深层神经网络的层对应的矩阵的权重w的重要性iw的测量。此重要性测量iw,在本文也称为重要性度量,其表示权重w的修改对网络精度的影响。
[0071]
深度神经网络的训练可以涉及定义损失函数,并试图通过使用反向传播过程修改网络参数(如网络层的权重和偏差)来最小化损失函数。例如,在神经网络的监督训练的情况下,损失函数可以是网络输出与训练数据集的实际标签之间的均方误差。
[0072]
训练dnn的过程可以为网络的不同层产生一个更新的网络参数集,其最小化整个训练数据集中的损失函数。更新的网络参数集可以被称为优化的网络参数集。
[0073]
一旦网络经过训练,网络参数的任何修改都会导致网络降级的性能(即,较低精度)。然而,不同网络参数的修改对网络性能的影响可能因参数而异。换句话说,对于某些网络参数来说,微小的变化会对精度的影响可能很大,而其他参数的相同变化量对精度的影响可能较小(对网络性能的影响很小甚至没有影响)。
[0074]
权重w的重要性测量iw表示权重w的修改对网络精度的影响。
[0075]
量化过程通过用码本中对应条目的索引替换网络参数的值来修改网络参数的值。例如,对于通过聚类进行量化,每个权重值w变为值ci,其中ci是该权重的聚类中心。这意味着每个权重值w都要经受等于|w-ci|的修改。
[0076]
作为示例,如前所述,k均值算法使用等式(1)。该等式试图最小化每个聚类内的值与聚类中心之间的差。换句话说,我们试图最小化(或至少减少)所有权重值的修改|w-ci|的总量。
[0077]
根据本公开的至少一个实施例,其中可以获得与权重的修改对网络精度的影响成比例的权重w的重要性测量iw,因此可以修改k均值聚类算法,使得权重值的变化与其重要性测量成反比。这可能导致聚类中心ci更接近更重要的权重值(iw值最高的权重值)。
[0078]
如上所述,网络精度的变化可能与损失函数的变化密切相关。因此,权重的重要性测量可以定义为损失函数值的变化与权重值的变化之比。例如,为了计算重要性值,我们可以向网络(例如训练好的网络)馈送训练样本,并且我们可以将损失函数梯度的绝对值相对于每个网络参数相加,或者形式上为:
[0079][0080]
其中w是训练好的网络的所有参数(权重值)的集合;l是损失函数,其依赖于网络参数(权重值)和从训练样本中获取的输入样本x;wj是w的参数之一;iwj是wj的重要性测量。
[0081]
这意味着,如果对于权重值w而言重要性测量iw接近于零,那么对该权重值的微小修改对网络性能的影响很小或没有影响。换句话说,我们可以将对应的聚类中心移离该值,并移近更重要的权重值(具有更高的重要性测量)。
[0082]
需要指出的是,在一些实施例中,训练样本可以是已经用于训练网络的训练集的样本以及该训练集的子集。
[0083]
加权k均值
[0084]
本公开的至少一个实施例使用上面定义的重要性度量来帮助改进用于量化的k均值算法。
[0085]
在上面详述的示例性实施例中,原始的k均值算法使用等式(1)来优化聚类。利用上面定义的重要性度量(如(2)),我们可以修改这个等式,以针对网络的至少一层的权重矩阵中的值更有效地优化聚类。我们称新的聚类算法为“加权k均值”,并将优化问题定义为:
[0086][0087]
这意味着每个聚类的中心可以通过使用重要性测量作为平均权重对其成员进行加权平均来获得:
[0088][0089]
使用重要性测量的算术编解码
[0090]
根据本公开的至少一个实施例,重要性度量可以用于熵编解码,例如用于算术编解码。
[0091]
熵编解码的无损压缩基于这样一个事实工作,即如果某些数据符号比其他符号更有可能发生,则任何数据都可以被压缩。例如,对于最佳可能压缩码(最小平均码长),输出长度包含来自对每个出现概率为p的符号的编码的
“‑
log p”比特的贡献。
[0092]
因此,本公开的至少一个实施例考虑至少一个数据符号的出现概率。作为示例,本公开的至少一个实施例考虑所有数据符号的出现概率模型。事实上,拥有所有数据符号的精确出现概率模型有助于算术编解码的成功。
[0093]
在神经网络压缩的示例性情况下,可以从量化级的输出获得概率模型。例如,在本公开的至少一个实施例中,获得概率模型可以包括计算码本中的每个项目在原始数据中被引用的次数。
[0094]
由给定概率模型产生的符号的平均最佳码长可以由熵给出:
[0095][0096]
其中pi是具有k个条目的码本中第i个条目的概率。
[0097]
根据本公开的至少一个实施例,当码本中不同符号的概率存在较大差异时,可以减小上述码长。这样的实施例可以帮助改进熵编解码。
[0098]
更准确地说,本公开的至少一个实施例包括修改码本概率并使其更加“不平衡”。这在本文被称为“聚类迁移(cluster migration)”。聚类迁移可以包括将具有低重要性测量的一些权重移动到相邻聚类,以扩大聚类种群间隙(population gap)。
[0099]
首先,创建重要性测量小于指定的重要性裕度(importance margin)i
min
的权重列表。然后对于这个列表中的每一项,我们根据权重值考虑m
neighbors
个最近的聚类,包括当前的聚类,并将权重移动到m
neighbors
个最近的聚类中种群最多的聚类。
[0100]
在我们的实验中,聚类迁移将算术编解码的效率提高了15%到20%,而对网络性能没有任何影响。
[0101]
请注意,虽然算术编解码本身是一个无损过程,但“聚类迁移”过程不是。这是因为我们实际上是通过将权重移动到不同的聚类来改变权重的值。这就是为什么为i
min
和m
neighbors
选择正确的值非常重要。这些参数的不良选择可能会影响网络性能。
[0102]
根据本公开的实施例,以上详述的重要性测量可以用于神经网络的至少一层(例如一层、两层、相同类型的所有层、所有层)的权重的量化和/或熵编解码。例如,重要性测量可以用于例如至少一个卷积层和/或至少一个全连接层的至少一些权重的量化和/或熵编解码。在一些实施例中,重要性测量可以用于量化,但不用于熵编解码,反之亦然,或者用于一层的至少一些权重的量化,以及用于关于另一层的至少一些权重的熵编解码。
[0103]
实验结果
[0104]
下面详细描述了基于具有以下网络配置的音频分类神经网络(mpeg nnr用例之一)的示例性实施例的一些实验结果。
[0105]
音频测试层信息:
[0106][0107]
参数总数:6230689
[0108]
我们首先将索引1的层中的参数数量从6230272减少到49440(使用在美国专利申请62818914中描述的深度神经网络的压缩方法)。这为我们提供了以下网络结构:
[0109]
音频测试层信息:
[0110]
索引层类型输入尺寸细节输出尺寸激活参数0conv mp[80,80,1]3x3x16/2-v[39,39,16]没有1601lr224336r=2256sigmoid494402fc256输出层1sigmoid257
[0111]
参数总数:49857
[0112]
(如上所述,减少参数数量是可选的,可以省略)
[0113]
然后,我们使用规则量化和熵编解码来压缩网络(第一结果),或者,根据本公开的至少一些方法,使用聚类初始化和上述算术编解码的重要性测量来压缩网络(第二结果)。
[0114]
实验得出以下结果:
[0115]
原始模型:
[0116]
参数数量:6230689
[0117]
模型大小:74797336字节
[0118]
精度:0.826190
[0119]
使用常规量化和熵编解码,没有聚类初始化(第一结果):
[0120]
参数数量:49857
[0121]
模型大小:30672字节
[0122]
精度:0.830952
[0123]
使用具有聚类初始化的量化和熵编解码,并使用上述算术编解码的重要性测量(第二结果):
[0124]
参数数量:49857
[0125]
模型大小:24835字节
[0126]
精度:0.826190
[0127]
可以看出,第二结果的模型大小(使用聚类初始化和使用算术编解码的重要性测量)比原始模型(99.97%压缩)小约3012倍,也比规则量化和熵编解码的第一结果的模型大小小约21%。
[0128]
与原始模型相比,精确度没有变化。
[0129]
附加实施例和信息
[0130]
本技术描述了各种方面,包括工具、特征、实施例、模型、方法等。这些方面中的许多方面被具体地描述,并且至少为了显示单独的特性,通常以听起来可能是限制性的方式来描述。然而,这是为了描述清楚,而不限制那些方面的应用或范围。事实上,所有不同的方面可以被组合和互换以提供进一步的方面。此外,这些方面也可以与早期申请中描述的方面相结合和互换。
[0131]
本技术中描述和预期的方面可以以许多不同的形式实现。
[0132]
如上所述,图4a至图4c和图5a至图5c示出了示例性实施例,特别是在深度神经网络压缩领域。然而,本公开的一些其他方面可以在除神经网络压缩之外的其他技术领域中实现,例如在涉及大数据处理的技术领域中。像视频处理一样,如图1和图2所示。
[0133]
与诸如hevc(hevc指高效视频编解码,也被称为h.265和mpeg-h第二部分,在“itu的itu-t h.265电信标准化部门(10/2014),系列h:视听和多媒体系统,视听服务的基础设施-运动视频的编解码,高效视频编解码,推荐itu-t h.265”中描述)的现有视频压缩系统相比,或者与诸如vvc(多功能视频编解码,jvet(联合视频专家组)正在开发的新标准)相比,至少一些实施例涉及改善压缩效率。
[0134]
为了实现高压缩效率,图像和视频编解码方案通常采用预测,包括空域和/或运动矢量预测,以及变换来利用视频内容中的空域和时域冗余。通常,帧内或帧间预测用于利用帧之内或帧之间的相关性,然后原始图像和预测图像之间的差(通常表示为预测误差或预测残差)被变换、量化和熵编解码。为了重建视频,压缩数据通过对应于熵编解码、量化、变换和预测的逆过程解码。可以在编码器和解码器中使用映射和逆映射过程来实现改进的编解码性能。实际上,为了更好的编解码效率,可以使用信号映射。映射旨在更好地利用视频图片的样本码字值分布。
[0135]
图1示出了编码器100。设想了该编码器100的变体,但是为了清楚起见,下面描述
编码器100,而不描述所有预期的变体。
[0136]
在被编码之前,视频序列可以经历预编码处理(101),例如,对输入颜色图像应用颜色变换(例如,从rgb 4:4:4到ycbcr 4:2:0的转换),或者执行输入图片分量的重新映射,以便获得对压缩更有弹性的信号分布(例如,使用颜色分量之一的直方图均衡化)。元数据可以与预处理相关联并被附加到比特流。
[0137]
在编码器100中,如下所述,图片由编码器元件编码。要被编码的图片被分割(102)并以例如cu为单位进行处理。使用例如帧内或帧间模式对每个单元进行编码。当一个单元以帧内模式被编码时,它执行帧内预测(160)。在帧间模式中,执行运动估计(175)和补偿(170)。编码器决定(105)帧内模式或帧间模式中的哪一个用于编码该单元,并通过例如预测模式标志来指示帧内/帧间决策。例如,通过从原始图像块中减去(110)预测块来计算预测残差。
[0138]
预测残差然后被变换(125)和量化(130)。量化的变换系数以及运动矢量和其他语法元素被熵编解码(145)以输出比特流。编码器可以跳过变换,直接对未变换的残差信号进行量化。编码器可以旁路变换和量化,即直接编解码残差,而不应用变换或量化过程。
[0139]
编码器对编码的块进行解码,为进一步的预测提供参考。量化的变换系数被去量化(140)和逆变换(150)以解码预测残差。组合(155)解码的预测残差和预测块,重建图像块。环路内滤波器(165)被应用于重建的图像,以执行例如去方块/sao(采样自适应偏移)滤波来减少编码伪影。滤波后的图像存储在参考图片缓冲器(180)中。
[0140]
图2示出了视频解码器200的框图。在解码器200中,如下所述,比特流由解码器元件解码。视频解码器200通常执行与图1中描述的编码遍相反的解码遍。编码器100通常还执行视频解码作为编码视频数据的一部分。
[0141]
具体地,解码器的输入包括视频比特流,其可以由视频编码器100生成。比特流首先被熵解码(230)以获得变换系数、运动矢量和其他编解码信息。图片分割信息指示图片是如何被分割的。因此,解码器可以根据解码的图像分割信息来划分(235)图像。变换系数被去量化(240)和逆变换(250)以解码预测残差。组合(255)解码的预测残差和预测块,重建图像块。预测块可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)中获得(270)。将环内滤波器(265)应用于重建图像。滤波后的图像存储在参考图像缓冲器(280)中。
[0142]
解码后的图像可以进一步经历后解码处理(285),例如逆颜色变换(例如,从ycbcr 4:2:0到rgb 4:4:4的转换)或者执行与预编码处理(101)中执行的重映射过程相反的逆重映射。后解码处理可以使用在预编码处理中导出以及在比特流中用信号通知的元数据。
[0143]
图1和图2提供了一些实施例,但是可以设想其他实施例,并且图1、图2和图3的讨论并不限制实现方式的广度。
[0144]
至少一个方面通常涉及编码和解码(例如,视频编码和解码,和/或dnn的一个或多个层的至少一些权重的编码和解码),并且至少一个其他方面通常涉及传输生成的或编码的比特流。这些和其他方面可以实现为方法、装置、其上存储有根据所描述的任何方法对数据进行编码或解码的指令的计算机可读存储介质、和/或其上存储有根据所描述的任何方法生成的比特流的计算机可读存储介质。
[0145]
在本技术中,术语“重建的”和“解码的”可以互换使用,术语“像素”和“样本”可以互换使用,术语“图像”、“图片”和“帧”可以互换使用。通常,但不是必须的,术语“重建的”在
编码器侧使用,而“解码的”在解码器侧使用。
[0146]
本文描述了各种方法,并且每种方法包括用于实现所描述的方法的一个或多个步骤或动作。除非该方法的正确操作需要步骤或动作的特定顺序,否则可以修改或组合特定步骤和/或动作的顺序和/或使用。
[0147]
本技术中描述的各种方法和其他方面可以用于修改模块,例如,如图1和图2所示的视频编码器100和解码器200的帧内预测、熵编解码和/或解码模块(160、260、145、230)。此外,本方面不限于vvc或hevc,并且可以应用于例如其他标准和建议,无论是现有的还是未来开发的,以及任何此类标准和建议的扩展(包括vvc和hevc)。除非另有说明,或者技术上排除,本技术中描述的方面可以单独使用或者组合使用。
[0148]
在本技术中使用了各种数值(例如关于重要性度量)。特定值是为了示例的目的,并且所描述的方面不限于这些特定值。
[0149]
图3示出了其中实现了各种方面和实施例的系统的示例的框图。图3提供了一些实施例,但是也设想了其他实施例,并且对图3的讨论不限制实现方式的广度。
[0150]
系统1000可以体现为包括以下描述的各种组件的设备,并且被配置为执行本文档中描述的一个或多个方面。这种设备的示例包括但不限于各种电子设备,例如个人计算机、膝上型计算机、智能手机、平板计算机、数字多媒体机顶盒、数字电视接收器、个人视频记录系统、连接的家用电器和服务器。系统1000的元件可以单独或组合体现在单个集成电路(ic)、多个ic和/或分立组件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件分布在多个ic和/或分立组件上。在各种实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口通信地耦合到一个或多个其他系统或其他电子设备。在各种实施例中,系统1000被配置成实现本文档中描述的一个或多个方面。
[0151]
系统1000包括至少一个处理器1010,处理器1010被配置为执行加载在其中的指令,以实现例如本文档中描述的各个方面。处理器1010可以包括嵌入式存储器、输入输出接口以及本领域公知的各种其他电路。系统1000包括至少一个存储器1020(例如,易失性存储器设备和/或非易失性存储器设备)。系统1000包括存储设备1040,其可以包括非易失性存储器和/或易失性存储器,包括但不限于电可擦除可编程只读存储器(eeprom)、只读存储器(rom)、可编程只读存储器(prom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附加存储设备(包括可拆卸和不可拆卸存储设备)和/或网络可访问存储设备。
[0152]
系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供编码的视频或解码的视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可以被包括在设备中以执行编码和/或解码功能的(多个)模块。众所周知,设备可以包括编码和解码模块中的一者或两者。此外,如本领域技术人员所知,编码器/解码器模块1030可以被实现为系统1000的独立元件,或者可以被结合在处理器1010内作为硬件和软件的组合。
[0153]
要加载到处理器1010或编码器/解码器1030上以执行本文档中描述的各个方面的程序代码可以存储在存储设备1040中,并且随后被加载到存储器1020上以供处理器1010执行。根据各种实施例,处理器1010、存储器1020、存储设备1040和编码器/解码器模块1030中
的一个或多个可以在执行本文档中描述的过程期间存储各种项目中的一个或多个。这种存储的项目可以包括但不限于输入视频、解码的视频或解码的视频的部分、比特流、矩阵、变量以及来自等式、公式、运算和运算逻辑的处理的中间或最终结果。
[0154]
在一些实施例中,处理器1010和/或编码器/解码器模块1030内部的存储器用于存储指令,并为编码或解码期间所需的处理提供工作存储器。然而,在其他实施例中,处理设备外部的存储器(例如,处理设备可以是处理器1010或编码器/解码器模块1030)用于这些功能中的一个或多个。外部存储器可以是存储器1020和/或存储设备1040,例如动态易失性存储器和/或非易失性闪存。在几个实施例中,外部非易失性闪存用于存储例如电视的操作系统。在至少一个实施例中,诸如ram的快速外部动态易失性存储器被用作视频编码和解码操作的工作存储器,例如用于mpeg-2(mpeg指的是运动图像专家组,mpeg-2也被称为iso/iec 13818,而13818-1也被称为h.222,而13818-2也称为h.262)、hevc(hevc指的是高效视频编码,也被称为h.265和mpeg-h第二部分)或vvc(多功能视频编码,一种由联合视频专家组(jvet)正在开发的新的标准)。
[0155]
系统1000的元件的输入可以通过各种输入设备来提供,如块1130所指示的。这种输入设备包括但不限于:(i)接收例如由广播公司通过空中传输的射频(rf)信号的rf部分,(ii)组件(comp)输入端子(或一组comp输入端子),(iii)通用串行总线(usb)输入端子,和/或(iv)高清晰度多媒体接口(hdmi)输入端子。图3中未示出的其他示例包括合成视频。
[0156]
在各种实施例中,如本领域中已知的,块1130的输入设备具有相关联的各自的输入处理元件。例如,rf部分可以与适于以下的元件相关联:(i)选择期望的频率(也称为选择信号,或者将信号频带限制到频带),(ii)下变频所选择的信号,(iii)再次频带限制到较窄的频带,以选择(例如)在某些实施例中可以被称为信道的信号频带,(iv)解调下变频和频带限制的信号,(v)执行误差校正,以及(vi)解复用以选择期望的数据分组流。各种实施例的rf部分包括一个或多个元件以执行这些功能,例如频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、误差校正器和解复用器。rf部分可以包括执行各种这些功能(例如将接收信号下变频到较低频率(例如,中频或近基带频率)或基带)的调谐器。在一个机顶盒实施例中,rf部分及其相关联的输入处理元件接收通过有线(例如,电缆)介质传输的rf信号,并通过滤波、下变频和再次滤波到期望的频带来执行频率选择。各种实施例重新排列上述(和其他)元件的顺序,移除这些元件中的一些,和/或添加执行相似或不同功能的其他元件。添加元件可以包括在现有元件之间插入元件,例如插入放大器和模数转换器。在各种实施例中,rf部分包括天线。
[0157]
此外,usb和/或hdmi端子可以包括各自的接口处理器,用于通过usb和/或hdmi连接将系统1000连接到其他电子设备。应当理解,输入处理的各种方面,例如reed-solomon误差纠正,可以根据需要在例如单独的输入处理ic中或处理器1010中实现。类似地,根据需要可以在单独的接口ic中或在处理器1010中实现usb或hdmi接口处理的各种方面。解调的、误差纠正的和解复用的流被提供给各种处理元件,包括例如处理器1010和编码器/解码器1030,以与存储器和存储元件结合操作来根据需要处理数据流,以供在输出设备上呈现。
[0158]
系统1000的各种元件可以设置在集成外壳内。在集成外壳内,各种元件可以使用合适的连接布置1140(例如本领域已知的内部总线,包括集成电路间(i2c)总线、布线和印刷电路板)相互连接并在它们之间传输数据。
[0159]
系统1000包括能够经由通信信道1060与其他设备通信的通信接口1050。通信接口1050可以包括但不限于被配置为通过通信信道1060发送和接收数据的收发器。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以例如在有线和/或无线介质中实现。
[0160]
在各种实施例中,使用诸如wi-fi网络的无线网络,例如ieee 802.11(ieee指的是电气和电子工程师协会),将数据流式传输或以其他方式提供给系统1000。这些实施例的wi-fi信号是通过适于wi-fi通信的通信信道1060和通信接口1050接收的。这些实施例的通信信道1060通常连接到接入点或路由器,该接入点或路由器提供对包括互联网在内的外部网络的访问,以允许流式传输应用和其他过顶通信。其他实施例使用通过输入块1130的hdmi连接递送数据的机顶盒向系统1000提供流式传输的数据。还有其他实施例使用输入块1130的rf连接向系统1000提供流式传输的数据。如上所述,各种实施例以非流式传输方式提供数据。此外,各种实施例使用无线网络而不是wi-fi网络,例如蜂窝网络或蓝牙网络。
[0161]
系统1000可以向各种输出设备(包括显示器1100、扬声器1110和其他外围设备1120)提供输出信号。各种实施例的显示器1100包括例如触摸屏显示器、有机发光二极管(oled)显示器、弯曲显示器和/或可折叠显示器中的一个或多个。显示器1100可以用于电视机、平板电脑、膝上型电脑、手机(移动电话)或其他设备。显示器1100也可以与其他组件集成(例如,如在智能电话中),或者分离(例如,用于膝上型电脑的外部监视器)。在实施例的各种示例中,其他外围设备1120包括独立数字视频盘(或数字多功能盘)(对两个术语来说都是dvr)、盘播放器、立体声系统和/或照明系统中的一个或多个。各种实施例使用一个或多个外围设备1120,其基于系统1000的输出提供功能。例如,盘播放器执行播放系统1000的输出的功能。
[0162]
在各种实施例中,使用诸如av链路、消费电子控制(cec)或支持用户干预或不干预的设备间控制的其他通信协议的信令在系统1000与显示器1100、扬声器1110或其他外围设备1120之间传送控制信号。输出设备可以通过各自的接口1070、1080和1090经由专用连接通信地耦合到系统1000。替代地,输出设备可以经由通信接口1050使用通信信道1060连接到系统1000。显示器1100和扬声器1110可以与电子设备(例如电视机)中的系统1000的其他组件集成在单个单元中。在各种实施例中,显示接口1070包括显示驱动器,例如时序控制器(t con)芯片。
[0163]
例如,如果输入1130的rf部分是独立机顶盒的一部分,则显示器1100和扬声器1110可以替代地与一个或多个其他组件分离。在显示器1100和扬声器1110是外部组件的各种实施例中,输出信号可以经由专用输出连接来提供,包括例如hdmi端口、usb端口或comp输出。
[0164]
这些实施例可以通过由处理器1010实现的计算机软件或者通过硬件或者通过硬件和软件的组合来实现。作为非限制性示例,实施例可以由一个或多个集成电路来实现。作为非限制性示例,存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现,例如光存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器。作为非限制性示例,处理器1010可以是适合于技术环境的任何类型,并且可以涵盖微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。
[0165]
各种实现方式涉及解码。如本技术中使用的“解码”可以涵盖例如对接收的编码的序列执行的全部或部分处理,以便产生适合显示的最终输出。在各种实施例中,这些过程包括通常由解码器执行的一个或多个过程,例如熵解码、逆量化、逆变换和差分解码。在各种实施例中,这样的过程还包括或者替代地包括由本技术中描述的各种实现方式的解码器执行的过程。
[0166]
作为进一步的示例,在一个实施例中,“解码”仅指熵解码,在另一个实施例中,“解码”仅指差分解码,在另一个实施例中,“解码”指熵解码和差分解码的组合。基于具体描述的上下文,短语“解码过程”是旨在具体指操作的子集还是通常指更广泛的解码过程将是清楚的,并且被认为是本领域技术人员很好理解的。
[0167]
各种实现方式涉及编码。以类似于上面关于“解码”的讨论的方式,如本技术中使用的“编码”可以涵盖例如对输入视频序列执行的全部或部分处理,以便产生编码的比特流。在各种实施例中,这些过程包括通常由编码器执行的一个或多个过程,例如,分割、差分编码、变换、量化和熵编码。在各种实施例中,这样的过程还包括或者替代地包括由本技术中描述的各种实现方式的编码器执行的过程。
[0168]
作为进一步的示例,在一个实施例中,“编码”仅指熵编码,在另一个实施例中,“编码”仅指差分编码,在另一个实施例中,“编码”指差分编码和熵编码的组合。基于具体描述的上下文,短语“编码过程”是旨在具体指操作的子集还是通常指更广泛的编码过程将是清楚的,并且被认为是本领域技术人员很好理解的。
[0169]
注意,本文使用的语法元素是描述性术语。因此,它们不排除使用其他语法元素名称。
[0170]
当图作为流程图呈现时,应当理解,它还提供了对应装置的框图。类似地,当图以框图的形式呈现时,应当理解,它还提供了对应方法/过程的流程图。
[0171]
各种实施例涉及参数模型或率失真优化。具体地,在编码过程期间,通常会考虑速率和失真之间的平衡或权衡,通常会考虑计算复杂度的限制。它可以通过率失真优化(rdo)度量,或通过最小均方(lms)、绝对误差均值(mae)或其他此类测量来测量。速率失真优化通常被用公式表示为最小化速率失真函数,它是速率和失真的加权和。有不同的方法来解决率失真优化问题。例如,这些方法可以基于对所有编码选项的广泛测试,包括所有考虑的模式或编解码参数值,以及对它们的编解码成本以及编码和解码后重建信号的相关失真的完整评估。还可以使用更快的方法来节省编码复杂度,特别是基于预测或预测残差信号而不是重建信号来计算近似失真。也可以混合使用这两种方法,例如只对一些可能的编码选项使用近似失真,而对其他编码选项使用完全失真。其他方法只评估可能的编码选项的一个子集。更一般地,许多方法采用多种技术中的任何一种来执行优化,但是优化不一定是对编解码成本和相关失真的完整评估。
[0172]
本文描述的实现方式和方面可以在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在单一实现方式形式的上下文中讨论(例如,仅作为方法讨论),所讨论的特征的实现方式也可以以其他形式实现(例如,装置或程序)。装置可以在例如适当的硬件、软件和固件中实现。这些方法可以在例如处理器中实现,处理器通常指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(“pda”)以及促进终端用户之间信息通信的其他设备。
[0173]
提及“一个实施例”或“实施例”或“一个实现方式”或“实现方式”,以及它们的其他变体,意味着结合该实施例描述的特定特征、结构、特性等被包括在至少一个实施例中。因此,短语“在一个实施例中”或“在实施例中”或“在一个实现方式中”或“在实现方式中”的出现,以在本技术各处的任何其他变体的出现,不一定都指同一实施例。
[0174]
此外,本技术可以涉及“确定”各种信息。确定信息可以包括例如估计信息、计算信息、预测信息或从存储器中检索信息中的一个或多个。
[0175]
此外,本技术可以涉及“访问”各种信息。访问信息可以包括例如接收信息、检索信息(例如,从存储器)、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息中的一个或多个。
[0176]
此外,本技术可以涉及“接收”各种信息。与“访问”一样,接收是一个宽泛的术语。接收信息可以包括例如访问信息或检索信息(例如,从存储器)中的一个或多个。此外,在诸如存储信息、处理信息、传输信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间,通常以这样或那样的方式涉及“接收”。
[0177]
应当理解,例如在“a/b”、“a和/或b”和“a和b中的至少一个”的情况下,使用以下任何一个“/”、“和/或”和“至少一个”旨在涵盖仅选择第一个列出的选项(a),或仅选择第二个列出的选项(b),或选择两个选项(a和b)。作为另一个示例,在“a、b和/或c”和“a、b和c中的至少一个”的情况下,这样的措辞旨在涵盖仅选择第一个列出的选项(a),或仅选择第二个列出的选项(b),或仅选择第三个列出的选项(c),或仅选择第一个和第二个列出的选项(a和b),或者仅选择第一和第三个列出的选项(a和c),或者仅选择第二和第三个列出的选项(b和c),或者选择所有三个选项(a和b和c)。正如本领域和相关领域的普通技术人员所清楚的,这可以扩展到所列出的许多项目。
[0178]
此外,如本文所使用的,单词“信令通知”尤其是指向对应的解码器指示一些东西。例如,在某些实施例中,编码器信令通知多个变换、编解码模式或标志中的至少一个。这样,在一个实施例中,在编码器侧和解码器侧都使用相同的参数。因此,例如,编码器可以向解码器发送(显式信令)特定参数,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其他参数,则可以使用信令而不发送(隐式信令)来简单地允许解码器知道并选择特定参数。通过避免任何实际功能的传输,在各种实施例中实现了比特节省。应当理解,信令通知可以以各种方式完成。例如,在各种实施例中,一个或多个语法元素、标志等用于向对应的解码器信令通知信息。虽然前面提到了单词“信令通知”的动词形式,但是单词“信令通知”在本文也可以用作名词。
[0179]
对于本领域普通技术人员来说显而易见的是,实现方式可以产生各种信号,这些信号被格式化以携带例如可以被存储或传输的信息。该信息可以包括例如用于执行方法的指令,或者由所描述的实现方式之一产生的数据。例如,信号可以被格式化以承载所描述的实施例的比特流。这种信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括,例如,编码数据流和用编码的数据流调制载波。信号承载的信息可以是例如模拟或数字信息。众所周知,信号可以通过各种不同的有线或无线链路传输。信号可以存储在处理器可读介质上。
[0180]
我们描述了许多实施例。这些实施例的特征可以在各种权利要求类别和类型中单独或以任何组合提供。此外,实施例可以单独或以任何组合包括跨越各种权利要求类别和
类型的以下特征、设备或方面中的一个或多个:
[0181]
·
一种利用预训练的深度神经网络的深度神经网络压缩来执行编码和解码的过程或设备。
[0182]
·
一种利用表示参数的比特流中的插入信息执行编码和解码的过程或设备,以实现包括一个或多个层的预训练的深度神经网络的深度神经网络压缩。
[0183]
·
一种利用表示参数的比特流中的插入信息执行编码和解码的过程或设备,以实现预训练的深度神经网络的深度神经网络压缩,直到达到压缩标准。
[0184]
·
一种比特流或信号,其包括一个或多个所描述的语法元素或其变体。
[0185]
·
一种比特流或信号,其包括传达根据所描述的任何实施例生成的信息的语法。
[0186]
·
根据所描述的任何实施例的创建和/或发送和/或接收和/或解码。
[0187]
·
根据所描述的任何实施例的方法、过程、装置、存储指令的介质、存储数据或信号的介质。
[0188]
·
在信令中插入语法元素,使得解码器能够以对应于编码器所使用的方式来确定编解码模式。
[0189]
·
创建和/或发送和/或接收和/或解码包括一个或多个所描述的语法元素或其变体的比特流或信号。
[0190]
·
电视、机顶盒、手机、平板电脑或根据所描述的任何实施例执行(多个)变换方法的其他电子设备。
[0191]
·
电视、机顶盒、手机、平板电脑或其他电子设备,其执行根据所描述的任何实施例确定的(多个)变换方法,并显示(例如,使用监视器、屏幕或其他类型的显示器)结果图像。
[0192]
·
电视、机顶盒、手机、平板电脑或其他电子设备,其选择、频带限制或调谐(例如使用调谐器)信道以接收包括编码的图像的信号,并根据所描述的任何实施例执行(多个)变换方法。
[0193]
·
电视、机顶盒、手机、平板电脑或其他电子设备,其通过空中接收(例如使用天线)包括编码的图像的信号,并执行(多个)变换方法。
[0194]
如本领域技术人员可以理解的,本原理的各方面可以体现为系统、设备、方法、信号或计算机可读产品或介质。
[0195]
本公开例如涉及一种在电子设备中实现的方法,该方法包括在信号中对数据集进行编码,所述编码包括通过使用通过对所述数据集进行聚类而获得的码本来量化所述数据集,所述进行聚类考虑数据在所述数据集中出现的概率;所述概率被限制到至少一个边界值。
[0196]
根据本公开的至少一个实施例,所述至少一个边界值取决于所述数据在所述数据集中的分布。
[0197]
根据本公开的至少一个实施例,所述至少一个边界值取决于所述分布的至少一个峰值。
[0198]
根据本公开的至少一个实施例,使用所述至少一个边界值中的第一边界值对出现概率小于所述第一边界值的所述数据集的数据进行聚类。
[0199]
根据本公开的至少一个实施例,所述第一边界值小于或等于所述数据在所述数据
集中的分布的至少一个峰值的10%。
[0200]
根据本公开的至少一个实施例,所述数据集包括至少一个深度神经网络的至少一个层的至少一个第一权重,并且所述量化输出所述至少一个层的所述至少一个第一权重的所述码本和索引值。
[0201]
根据本公开的至少一个实施例,所述进行聚类还考虑所述权重的至少一个第二权重的修改对所述深度神经网络的精度的影响。
[0202]
根据本公开的至少一个实施例,所述进行聚类考虑权重填入(populate)至少一个聚类以使所述聚类居中的影响。
[0203]
根据本公开的至少一个实施例,所述深度神经网络是使用训练数据集训练的预训练深度神经网络,并且使用所述训练集的至少一部分来计算所述影响。
[0204]
根据本公开的至少一个实施例,将所述影响计算为用于训练所述深度神经网络的损失函数的值根据所述第二权重值的所述修改的变化的比率。
[0205]
根据本公开的至少一个实施例,该方法包括:
[0206]-通过将所述聚类的至少一个第一聚类的至少一个权重移动到所述聚类的一个第二聚类,使所述码本不平衡,
[0207]-使用所述不平衡码本对所述第一权重进行熵编解码。
[0208]
根据本公开的至少一个实施例,所述第一聚类的所述移动权重具有低于第一影响值的影响。
[0209]
根据本公开的至少一个实施例,所述第二聚类是所述第一聚类的相邻聚类。
[0210]
根据本公开的至少一个实施例,所述第二聚类是所述第一聚类的第n最近的相邻聚类,包括具有最高种群的所述聚类。
[0211]
根据本公开的至少一个实施例,所述方法包括在所述信号中编码用于编码所述第一权重的码本。
[0212]
本公开还涉及一种包括至少一个处理器的设备,该处理器被配置用于在信号中对数据集进行编码,所述编码包括通过使用通过对所述数据集进行聚类而获得的码本来量化所述数据集,所述进行聚类考虑数据在所述数据集中出现的概率;所述概率被限制到至少一个边界值。
[0213]
虽然没有明确描述,但是本公开的上述设备可以适于在其任何实施例中执行本公开的上述方法。
[0214]
本公开还涉及一种方法,该方法包括在信号中对数据集进行解码,在其任何实施例中所述数据集通过本公开的上述编码方法获得。
[0215]
例如,本公开还涉及一种方法,该方法包括在信号中对数据集进行解码,所述解码包括使用通过对所述数据集进行聚类而获得的码本进行逆量化,所述进行聚类考虑数据在所述数据集中出现的概率,所述概率被限制到至少一个边界值。
[0216]
本公开还涉及一种包括至少一个处理器设备,该处理器被配置用于在信号中对数据集进行解码,在其任何实施例中所述数据集通过本公开的上述编码方法获得。
[0217]
例如,本公开还涉及一种包括至少一个处理器的设备,该处理器被配置用于在信号中对数据集进行解码,所述解码包括使用通过对所述数据集进行聚类而获得的码本进行逆量化,所述进行聚类考虑数据在所述数据集中出现的概率,所述概率被限制到至少一个
边界值。
[0218]
本公开还涉及一种方法,该方法包括在信号中对至少一个深度神经网络的至少一层的至少一个第一权重进行编码,所述编码考虑所述权重的至少一个第二权重的修改对所述深度神经网络的精度的影响。
[0219]
根据本公开的至少一个实施例,所述编码包括基于聚类的量化,并且其中所述进行聚类是通过考虑所述至少一个第二权重的所述影响来执行的。
[0220]
根据本公开的至少一个实施例,所述进行聚类考虑权重填入至少一个聚类以使所述聚类居中的影响。
[0221]
根据本公开的至少一个实施例,所述深度神经网络是使用训练数据集训练的预训练深度神经网络,并且使用所述训练集的至少一部分来计算所述影响。
[0222]
根据本公开的至少一个实施例,将所述影响计算为用于训练所述深度神经网络的损失函数的值根据所述第二权重值的所述修改的变化的比率。
[0223]
根据本公开的至少一个实施例,所述方法包括:
[0224]-通过将所述聚类的至少一个第一聚类的至少一个权重移动到所述聚类的一个第二聚类,使所述码本不平衡,
[0225]-使用所述不平衡码本对所述第一权重进行熵编解码。
[0226]
根据本公开的至少一个实施例,所述第一聚类的所述移动的权重具有低于第一影响值的影响。
[0227]
根据本公开的至少一个实施例,所述第二聚类是所述第一聚类的相邻聚类。
[0228]
根据本公开的至少一个实施例,所述第二聚类是所述第一聚类的第n最近(n-closet)的相邻聚类,其包括具有最高种群的所述聚类。
[0229]
根据本公开的至少一个实施例,所述方法包括在所述信号中对用于编码所述第一权重的码本进行编解码。
[0230]
本公开还涉及一种包括至少一个处理器的设备,该处理器被配置用于在信号中对至少一个深度神经网络的至少一个层的至少一个第一权重进行编码,所述编码考虑所述权重的至少一个第二权重的修改对所述深度神经网络的精度的影响。虽然没有明确描述,但是本公开的上述设备可以适于在其任何实施例中执行本公开的上述方法。
[0231]
本公开还涉及一种方法,包括对至少一个深度神经网络的至少一层的至少一个第一权重进行解码;其中所述第一权重已经在其任何实施例中使用本公开的上述编码方法进行了编码。例如,本公开还涉及一种方法,包括对至少一个深度神经网络的至少一层的至少一个第一权重进行解码;其中所述第一权重已经通过考虑所述权重中的至少一个第二权重的修改对所述深度神经网络的精度的影响被编码。
[0232]
本公开还涉及一种设备,包括:至少一个处理器,被配置为对至少一个深度神经网络的至少一个层的至少一个第一权重进行解码;其中所述第一权重已经在其任何实施例中使用本公开的上述编码方法进行了编码。虽然没有明确描述,但是与方法或对应的电子设备相关的本实施例可以以任何组合或子组合来使用。
[0233]
本公开还涉及一种信号,该信号承载使用在电子设备中实现的方法编解码的数据集,该方法包括在信号中对数据集进行编码,所述编码包括通过使用通过对所述数据集进行聚类而获得的码本来量化所述数据集,所述进行聚类考虑数据在所述数据集中出现的概
率;所述概率被限制到至少一个边界值。
[0234]
本公开还涉及一种信号,该信号承载使用在电子设备中实现的方法编解码的数据集,该方法包括在信号中对至少一个深度神经网络的至少一个层的至少一个第一权重进行编码,所述编码考虑所述权重的至少一个第二权重的修改对所述深度神经网络的精度的影响。
[0235]
根据另一方面,本公开涉及一种计算机可读的非暂时性程序存储设备,其有形地包含可由计算机执行的指令程序,以在其任何实施例中执行本公开的至少一种方法。例如,本公开的至少一个实施例涉及计算机可读的非暂时性程序存储设备,其有形地包含可由计算机执行的指令程序,以执行在电子设备中实现的方法,该方法包括在信号中对数据集进行编码,所述编码包括通过使用通过对所述数据集进行聚类而获得的码本来量化所述数据集,所述进行聚类考虑数据在所述数据集中出现的概率;所述概率被限制到至少一个边界值。例如,本公开的至少一个实施例涉及计算机可读的非暂时性程序存储设备,其有形地包含可由计算机执行以执行在电子设备中实现的方法的指令程序,该方法包括在信号中对至少一个深度神经网络的至少一层的至少一个第一权重进行编码,所述编码考虑所述权重的至少一个第二权重的修改对所述深度神经网络的精度的影响。例如,本公开的至少一个实施例涉及计算机可读的非暂时性程序存储设备,其有形地包含可由计算机执行的指令程序,以执行在电子设备中实现的方法,该方法包括在信号中对数据集进行解码,所述解码包括使用通过对所述数据集进行聚类而获得的码本进行逆量化,所述进行聚类考虑数据在所述数据集中出现的概率,所述概率被限制到至少一个边界值。例如,本公开的至少一个实施例涉及计算机可读的非暂时性程序存储设备,其有形地包含可由计算机执行以执行在电子设备中实现的方法的指令程序,该方法包括对至少一个深度神经网络的至少一层的至少一个第一权重进行解码;所述第一权重已经通过考虑所述权重中的至少一个第二权重的修改对所述深度神经网络的精度的影响被编码。
[0236]
根据另一方面,本公开涉及一种存储介质,该存储介质包括指令,当由计算机执行时,该指令使得计算机在其任何实施例中执行本公开的至少一种方法。例如,本公开的至少一个实施例涉及一种存储介质,该存储介质包括指令,当由计算机执行时,该指令使得计算机执行在电子设备中实现的方法,该方法包括在信号中对数据集进行编码,所述编码包括通过使用通过对所述数据集进行聚类而获得的码本来量化所述数据集,所述进行聚类考虑数据在所述数据集中出现的概率;所述概率被限制到至少一个边界值。例如,本公开的至少一个实施例涉及一种存储介质,该存储介质包括指令,当由计算机执行时,该指令使得计算机执行在电子设备中实现的方法,该方法包括在信号中对至少一个深度神经网络的至少一层的至少一个第一权重进行编码,所述编码考虑所述权重的至少一个第二权重的修改对所述深度神经网络的精度的影响。例如,本公开的至少一个实施例涉及一种存储介质,该存储介质包括指令,当由计算机执行时,该指令使得计算机执行在电子设备中实现的方法,该方法包括在信号中对数据集进行解码,所述解码包括使用通过对所述数据集进行聚类而获得的码本进行逆量化,所述进行聚类考虑数据在所述数据集中出现的概率,所述概率被限制到至少一个边界值。例如,本公开的至少一个实施例涉及一种存储介质,该存储介质包括指令,当由计算机执行时,该指令使得计算机执行在电子设备中实现的方法,所述方法包括对至少一个深度神经网络的至少一层的至少一个第一权重进行解码,其中所述第一权重已经
通过考虑所述权重的至少一个第二权重的修改对所述深度神经网络的精度的影响被编码。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献