CN116743182A - 一种数据无损压缩方法 - Google Patents
一种数据无损压缩方法 Download PDFInfo
- Publication number
- CN116743182A CN116743182A CN202311021273.XA CN202311021273A CN116743182A CN 116743182 A CN116743182 A CN 116743182A CN 202311021273 A CN202311021273 A CN 202311021273A CN 116743182 A CN116743182 A CN 116743182A
- Authority
- CN
- China
- Prior art keywords
- constructing
- tensor
- matrix
- dimension
- word
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013144 data compression Methods 0.000 title claims abstract description 15
- 238000007906 compression Methods 0.000 claims abstract description 53
- 230000006835 compression Effects 0.000 claims abstract description 53
- 238000013507 mapping Methods 0.000 claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 21
- 238000000605 extraction Methods 0.000 claims abstract description 11
- 230000003044 adaptive effect Effects 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims description 73
- 230000008569 process Effects 0.000 claims description 24
- 230000002441 reversible effect Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 8
- 230000009467 reduction Effects 0.000 claims description 8
- 230000003213 activating effect Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000005764 inhibitory process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种数据无损压缩方法,包括以下步骤:采集数据并构建上下文集和目标集,构建查询字典将数据内所有字符转换为索引序列;构建特征提取模块,对序列进行词嵌入和位置嵌入后,基于多头注意力模块重新编码,并提取语义特征输出上下文特征;构建概率计算模块,基于双向门控循环单元层计算上下文特征的隐藏特征后,基于双分支全连接层将隐藏特征映射得到字符的概率分布;构建自适应算术编码器,基于概率分布构建概率表和数值取值区间后,基于数值取值区间循环计算所有字符的压缩编码并保存。本发明提供的压缩方法,在保证压缩精度的同时兼顾了压缩速率,改善了现有技术中深度学习无损压缩方法存在的计算复杂度高、压缩速率慢的问题。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据无损压缩方法。
背景技术
数据压缩,是一种消除原始数据之间的冗余性,在不丢失有用信息的前提下,将原始数据文件转化为另一个占用存储空间更小的数据文件的技术,其目的是尽可能减小数据文件的大小,以提高数据传输和处理效率,并降低存储成本。
近年来,在数据压缩领域,无损数据压缩的关注度越来越高,如何在能对压缩后的数据重构出原本数据的前提下取得高压缩比,成了该领域的研究热点。传统的无损压缩方法常用基于霍夫曼和LZW压缩算法,随着机器学习和深度学习的发展又产生了基于深度学习的方法,其中基于循环神经网络的压缩方法运用比较广泛,受文件类型限制较小,是目前较主流的无损数据压缩方法,但仍存在模型计算复杂度高、压缩速率慢的问题。因此,亟需提供一种方案改善上述问题。
发明内容
本发明的目的在于提供一种数据无损压缩方法,改善了现有技术中深度学习无损压缩方法存在的计算复杂度高、压缩速率慢的问题。
本发明提供的一种数据无损压缩方法,采用如下的技术方案:
采集数据,基于所述数据构建上下文集和目标集,并基于所述上下文集和所述目标集构建查询字典,所述查询字典用于将所述数据内所有字符转换为对应索引数,得索引序列;
构建特征提取模块,所述特征提取模块用于对所述索引序列进行词嵌入和位置嵌入操作后,基于多头注意力模块进行重新编码,并提取语义特征输出上下文特征;
构建概率计算模块,所述概率计算模块基于双向门控循环单元层计算所述上下文特征的隐藏特征后,基于双分支全连接层将所述隐藏特征映射到实数空间,得到所述字符对应的概率分布;
构建自适应算术编码器,基于所述概率分布构建概率表和数值取值区间,基于所述概率表和所述数值取值区间循环计算所述数据内所有字符的压缩编码并保存。
如上所述的数据无损压缩方法,其中,执行对所述索引序列进行词嵌入和位置嵌入操作的过程中,包括:
构建词嵌入模块,基于所述词嵌入模块对所述上下文集对应的索引序列进行词嵌入操作后,得到所述上下文集对应的索引序列的单词表示第一张量;
构建位置矩阵,基于所述位置矩阵对所述第一张量进行位置嵌入后,得到所述上下文集的位置表示第二张量。
如上所述的数据无损压缩方法,其中,执行构建词嵌入模块的过程中,包括:
将所述索引序列进行独热编码得到编码矩阵;构建词嵌入矩阵,并将所述编码矩阵与所述词嵌入矩阵进行矩阵乘法,生成具有词转换矩阵的词嵌入模块。
如上所述的数据无损压缩方法,其中,执行构建位置矩阵的过程中,包括:基于所述第一张量中每一索引序列对应的单词位置及所述单词对应分量的位置信息,计算位置矩阵。
进一步的,执行计算位置矩阵的过程中,根据以下公式进行计算:
,
,
其中,为所述第一张量中每一索引序列对应的单词位置,/>为所述单词对应分量的位置信息,/>为所述隐藏特征维度,在偶数位置使用正弦编码,得到偶数位置编码/>,在奇数位置使用余弦编码,得到奇数位置编码/>。
如上所述的数据无损压缩方法,其中,执行基于多头注意力模块进行重新编码的过程中,包括:
构建映射矩阵,基于所述映射矩阵对所述第二张量进行映射,得到查询张量Q、键张量K和值张量V;对所述查询张量Q、键张量K和值张量V进行多头注意力计算后,重新编码后归一化处理,得到第三张量。
如上所述的数据无损压缩方法,其中,执行提取语义特征输出上下文特征的过程中,包括:
构建由一个升维Dense层、一个激活层和一个降维Dense层构成的前馈网络模块;基于所述前馈网络模块对所述第三张量依次进行升维、激活和降维提取语义特征后,进行归一化处理输出上下文特征。
如上所述的数据无损压缩方法,其中,执行所述概率计算模块基于双向门控循环单元层计算所述上下文特征的隐藏特征的过程中,包括:
构建双向门控循环单元层;
将降维后的所述上下文特征按时间步输入所述双向门控循环单元层,所述双向门控循环单元层一半按顺序计算顺序隐藏特征,另一半按逆序计算逆序隐藏特征,并对所述顺序隐藏特征和所述逆序隐藏特征进行级联,得到隐藏特征;
对所述隐藏特征依次进行翻转、逆序排列、分片操作并串联后,得到二维张量D。
如上所述的数据无损压缩方法,其中,基于双分支连接层将所述隐藏特征映射到实数空间得到所述字符对应的概率分布的过程中,包括:
构建双分支全连接层,所述双分支全连接层由一个线性层分支和一个Dense层分支构成,所述Dense层分支由一个升维Dense层和一个降维Dense层构成;
将所述二维张量D输入所述双分支全连接层,所述线性层分支将所述二维张量D映射到所述查询字典大小的维度,输出第一映射结果,所述Dense层分支将所述二维张量D依次进行升维、降维处理后,映射到所述查询字典大小的维度,输出第二映射结果;
将所述第一映射结果和所述第二映射结果相加后输出预测矩阵X;
将所述预测矩阵X映射到[0,1]表示概率分布的实数空间,并取对数后作为所述查询字典内每一字符的概率分布。
如上所述的数据无损压缩方法,其中,基于所述概率分布构建概率表和数值取值区间的过程中,包括:
构建初始概率表,并基于初始概率表构建数值取值区间;基于所述数值取值区间循环计算所述数据中所有字符的算数编码,且每一字符编码后基于所述字符的概率分布更新所述初始概率表和所述数值取值区间。
本发明提出的数据无损压缩方法的有益效果在于:
1、本发明的特征提取模块采用多头注意力,能将每个输入的令牌向量表示为对应的上下文向量,为原始输入嵌入了丰富的上下文信息,有效利用了序列的位置与内容信息,提高了压缩率。
2、本发明的概率计算模块采用了双向门控循环单元,具有建立长期记忆的能力,有效利用融合了上下文信息的语义信息,能够有效预测序列的下一个字符。
3、本发明采用双层架构再结合自适应算数编码,可以有效应对数据分布情况复杂的文件,在保证压缩精度的同时兼顾了压缩速率,同时减少了模型的参数量与计算复杂度。
附图说明
图1为本发明实施例提供的数据无损压缩方法流程图;
图2为本发明实施例提供的特征提取模块流程图;
图3为本发明实施例提供的门控循环单元结构图;
图4为本发明实施例提供的概率计算模块流程图;
图5为本发明实施例提供的自适应算数编码流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
下面结合附图和实施例对本发明进一步说明:
实施例1
本发明实施例1提供了一种数据无损压缩方法,包括:
采集数据,基于所述数据构建上下文集和目标集,并基于所述上下文集和所述目标集构建查询字典,所述查询字典用于将所述数据内所有字符转换为对应索引数,得索引序列;
构建特征提取模块,所述特征提取模块用于对所述索引序列进行词嵌入和位置嵌入操作后,基于多头注意力模块进行重新编码,并提取语义特征输出上下文特征;
构建概率计算模块,所述概率计算模块基于双向门控循环单元层计算所述上下文特征的隐藏特征后,基于双分支全连接层将所述隐藏特征映射到实数空间,得到所述字符对应的概率分布;
构建自适应算术编码器,基于所述概率分布构建概率表和数值取值区间,基于所述概率表和所述数值取值区间循环计算所述数据内所有字符的压缩编码并保存。
在一些实施例中,采用采集数据中前512MB作为训练数据,按照序列长度为64,步长为1构建上下文集,每个序列后一位字符为目标字符构建目标集,并将上下文集与目标集一并作为训练数据集。
进一步的,构建查询字典时,扫描训练数据集对查询字典进行构建,并按照字符出现先后排序,将索引与对应字符作为“键-值”对,根据查询字典,将训练数据集内所有字符转化为字典内的索引数,并按照字符序列顺序对字典内的索引数进行排列,得索引序列。
参见图1,本发明实施例1提供的数据无损压缩方法具体流程为:将索引序列输入特征提取模块提取特征后输出上下文特征,接着将上下文特征输入概率计算模块计算所有字符出现的概率后输出所有字符的概率分布,进而将当前输入索引序列及字符概率分布输入自适应编码器中计算压缩编码并输出。
在一些实施例中,执行对索引序列进行词嵌入操作的过程中,包括:
构建词嵌入模块,基于词嵌入模块对上下文集对应的索引序列进行词嵌入操作后,得到上下文集对应的索引序列的单词表示第一张量。
具体的,构建词嵌入模块的过程中,包括:
对索引序列进行独热编码得到编码矩阵;
构建词嵌入矩阵,并将编码矩阵与词嵌入矩阵进行矩阵乘法得到词转换矩阵,从而生成具有词转换矩阵的词嵌入模块。
实际上,构建词嵌入矩阵时,词嵌入矩阵的权重采用随机生成,并在训练过程中对权重进行学习更新。
实际上,当索引序列T的大小为N时,经过独热编码后得到编码矩阵T’的大小为,其中O为独热编码所用的位数,而词嵌入矩阵W的大小可以为/>,其中为隐藏特征维度。具体的/>可以取128。
实际上,当大小为的编码矩阵T’与大小为/>的词嵌入矩阵W进行矩阵乘法后,生成的词转换矩阵E的大小为/>,其计算公式可以表示为:
。
实际上,词转换矩阵E可以表示索引序列进行独热编码后其对应的单词,索引序列所在行的行向量即为对应的单词。
在一些实施例中,将上文集索引序列分为多个Batch,且每个Batch内具有B个样本序列,每个样本序列的长度为L,进而一个Batch内的上下文集对应的索引序列的张量大小为。其中,每个样本序列的最小单位表示索引数。
具体的,基于词嵌入模块对上下文集索引序列进行词嵌入操作后,得到第一张量的大小为,如此能够将上文集内的所有字符根据其对应索引数和词转换矩阵在词嵌入模块内转换为相应单词表示。
在一些实施例中,执行对进行词嵌入后的索引序列进行位置嵌入的操作过程中,包括:
构建位置矩阵,基于位置矩阵对上下文集对应的索引序列的单词表示第一张量进行位置嵌入后,得到上下文集的位置表示第二张量。
具体的,构建位置矩阵的过程中,包括:
基于上下文集对应的索引序列的单词表示第一张量中每一索引序列对应的单词位置及单词对应分量的位置信息,计算位置矩阵。
实际上,计算位置矩阵的过程中,采用以下公式进行计算:
,
,
其中,为所述第一张量中每一索引序列对应的单词位置,/>为所述单词对应分量的位置信息,/>为所述隐藏特征维度,在偶数位置使用正弦编码,得到偶数位置编码/>,在奇数位置使用余弦编码,得到奇数位置编码/>。
实际上,基于位置矩阵对第一张量进行位置嵌入时,将第一张量中每一序列对应的单词及该单词对应的分量,与位置矩阵中的对应部分分量进行级联。
具体的,经过位置矩阵对第一张量进行位置嵌入后,得到上下文集的位置表示第二张量的大小为。
在一些实施例中,基于多头注意力模块进行重新编码的过程中,包括:
构建映射矩阵,基于映射矩阵对第二张量进行映射,得到查询张量Q、键张量K和值张量V;
对查询张量Q、键张量K和值张量V进行多头注意力计算后,重新编码后归一化处理,得到第三张量。
具体的,构建映射矩阵时,构建查询矩阵、键矩阵/>和值矩阵/>作为映射矩阵,且/>、/>和/>的张量大小均为/>,其初始权重值均随机生成,并在训练过程中学习更新。
具体的,基于查询矩阵、键矩阵/>和值矩阵/>对第二张量进行映射时,将第二张量与/>和/>分别进行矩阵乘法,其计算公式如下:
,
,
,
其中,表示上下文集的位置表示第二张量。具体的,计算得到查询张量Q、键张量K和值张量V,Q、K和V的张量大小均为/>。
进一步的,对查询张量Q、键张量K和值张量V进行进行多头注意力计算时,预先对Q、K和V进行分头操作,预设注意力头数为H,进行reshape操作后,得到大小为的张量。
具体的,单头注意力的计算公式可以表示为:
,
其中,为激活函数,/>(/>)表示注意力头下标,/>表示上下文集的位置表示第二张量, />表示查询张量Q的单头映射矩阵,/>表示键张量K的单头映射矩阵,/>表示值张量V的单头映射矩阵,/>表示缩放因子。
进一步的,计算多头注意力进行重新编码,计算公式可以表示为:
,
其中,表示大小为/>的可学习矩阵。
具体的,对多头注意力进行归一化处理时,统计每个样本上所有维度的值,并计算其均值和方差,其计算公式可以表示为:
,
其中,表示大小为/>第三张量,/>表示层归一化函数,/>表示神经元抑制函数,/>表示上下文集的位置表示第二张量。
具体的,将经/>进行神经元抑制后的多头注意力计算的上下文集与未多头注意力计算的位置表示第二张量进行残差连接。
一些实施例中,执行提取语义特征输出上下文特征的过程中,包括:
构建由一个升维Dense层、一个激活层和一个降维Dense层构成的前馈网络模块;
基于前馈网络模块对上下文张量依次进行升维、激活和降维提取语义特征后,进行归一化处理输出上下文特征。
具体的,升维Dense层用于将第三张量从维度升维扩张到/>,激活层采用RELU函数,降维Dense层用于将升维后的第三张量从/>维度映射到/>维度。更具体的,/>被设置为4倍的/>。
具体的,使用前馈网络模块对上下文张量依次进行升维、激活和降维提取语义特征的过程中,其计算公式可以表示为:
,
其中,表示前馈网络模块提取的语义特征,/>表示升维Dense层,表示降维Dense层,/>表示激活函数,/>表示第三张量。
具体的,对前馈网络模块提取的语义特征进行归一化处理时,其计算公式可以表示为:
,
其中,表示层归一化函数,/>表示第三张量, />表示神经元抑制函数,/>表示大小为/>上下文特征。
参见图2,特征提取模块的具体流程为:将索引序列输入词嵌入模块进行词嵌入得到单词表示第一张量,接着将单词表示第一张量输入位置嵌入模块进行位置嵌入得到位置表示第二张量,进而将位置表示第二张量输入多头注意力模块重新编码得到第三张量,再将第三张量输入前馈网络模块提取语义特征后输出上下文特征。
一些实施例中,执行概率计算模块基于双向门控循环单元层计算上下文特征的隐藏特征的过程中,包括:
构建双向门控循环单元层;
将降维后的上下文特征按时间步输入双向门控循环单元层,双向门控循环单元层一半按顺序计算顺序隐藏特征,另一半按逆序计算逆序隐藏特征,并对顺序隐藏特征和逆序隐藏特征进行级联,得到隐藏特征;
对隐藏特征依次进行翻转、逆序排列、分片操作并串联后,得到二维张量D。
具体的,构建双向门控循环单元时,在其内设定序列长度L设置2倍数量的门控循环单元,且门控循环单元的结构图如图3所示,其中一半的门控循环单元以顺序方式计算顺序隐藏特征,另一半的门控循环单元以逆序方式计算逆序隐藏特征,并对顺序隐藏特征和逆序隐藏特征进行级联并输出。
具体的,对上下文特征进行降维时,以门控循环单元的输入维度为基准,降维输出大小为的上下文特征张量,其中emb_size为门控循环单元的输入维度。具体的,emb_size可以取16。
在一些实施例中,将降维后的上下文特征张量输入双向门控循环单元层时,按时间步逐个将单词对应的序列送入相应的门控循环单元中,当前时间步的隐藏特征由上一时间步的隐藏特征/>、当前输入单词对应的序列/>、更新门z和重置门r决定,计算公式表示为:
,
,
,
,
其中,()为sigmoid函数,Wr、Ur为重置门的权重矩阵,br为重置门的偏置,Wz、Uz为更新门的权重矩阵,bz为更新门的偏置,/>为新的隐藏层状态,/>()为激活函数,Wh、Uh为新的隐藏层状态的权重矩阵,bh为新的隐藏层状态的偏置,/>为同或运算。
具体的,将顺序隐藏特征和逆序隐藏特征进行级联后,得到隐藏特征的张量大小为2hidm1,其中hidm1表示门控循环单元的输出维度,其大小由查询字典的大小决定。
在一些实施例中,对隐藏特征进行翻转操作后,并对隐藏特征的序列进行逆序排列。
进一步的,对逆序序列进行分片操作,具体的,可以以16个单位为间隔取词。当隐藏特征的张量大小为时,分片操作后的张量大小为,其中hidm1表示门控循环单元的输出维度,其大小由查询字典的大小决定。
进一步的,将分片操作后的隐藏特征串联后,得到串联后的张量大小为的二维张量D。
在一些实施例中,基于双分支连接层将隐藏特征映射到实数空间得到字符对应的概率分布的过程中,包括:
构建双分支全连接层,双分支全连接层由一个线性层分支和一个Dense层分支构成,且Dense层分支由一个升维Dense层和一个降维Dense层构成;
将二位张量D输入双分支全连接层,线性层分支将二维张量D映射到查询字典大小的维度,输出第一映射结果;Dense层分支将二维张量D依次进行升维、降维处理后,映射到查询字典大小的维度,输出第二映射结果;
将第一映射结果和第二映射结果相加后输出预测矩阵X;
将预测矩阵映射到[0,1]表示概率分布的实数空间,并取对数后作为查询字典内每一字符的概率分布。
具体的,Dense层分支中的升维Dense层将二维张量D扩张到hidm2维度后,再由降维Dense层降维映射到查询字典大小的维度。
具体的,查询字典大小的维度为,且/>上的每一个位置信息表示对应字符的预测分数,且hidm2表示Dense层扩展的目标高维空间,其大小由所决定。
具体的,计算预测矩阵X的公式可以表示为:
,
其中,表示预测矩阵X,/>表示线性层分支,/>表示二维张量D,/>表示升维Dense层,/>表示降维Dense层。
具体的,将预测矩阵X映射到[0,1]表示概率分布的实数空间中,取对数作为查询字典内每一字符的概率分布的最终结果,并通过目标集字符与其相应的概率分布的NLLLOSS值作为评价指标,进行模型的训练与测试,并保存模型参数。
参见图4,概率计算模块的具体流程为:将降维后的上下文特征输入双向门控循环单元层得到隐藏特征,接着将隐藏特征进行翻转、逆序排列、分片操作并串联后得到二维张量D,再将二维张量D输入双分支全连接层输出得到查询字典内每一字符的概率分布。
在一些实施例中,基于概率分布构建概率表和数值取值区间的过程中,包括:
构建初始概率表,并基于初始概率表构建数值取值区间;
基于数值取值区间循环计算数据中所有字符的算数编码,且每一字符编码后基于字符的概率分布更新初始概率表和数值取值区间。
具体的,构建第一个初始概率表时,初始化时使用均匀概率表示,其中分子均为1,分母均为查询字典的大小。构建第二个初始概率表时,初始化时使用查询字典内每一字符的概率分布表示,其中组数对应Batch的大小。
具体的,基于第一个初始概率表构建第一数值取值区间时,以该初始概率表为基础,其中区间范围累加,且概率的乘积倍率取10000000,用作二进制编码的表示。
进一步的,利用构建的第一数值取值区间计算数据中前64个字符的算数编码,其中字符的数值区间在每个字符编码后进行更新,因此局部出现频率搞得字符占据较长的数值区间,反之则较短。实际上,由于前64个字符的上下文长度不满足64,因此可以独立处理。
具体的,基于第二个初始概率表构建第二数值取值区间时,以该初始概率表为基础,其中区间范围累加,且概率的乘积倍率取10000000,用作二进制编码的表示。
进一步的,利用构建的第二数值取值区间计算数据中每个Batch对应的算术编码。
进一步的,全部编码完成后创建文件保存所有编码结果。
参见图5,自适应编码的具体流程为:将当前索引序列输入自适应编码器,并基于初始概率表和数值取值空间计算压缩编码,每次编码后根据查询字典内每一字符的概率分布更新该概率表和数值取值空间,循环计算数据中所有字符的压缩编码。
性能检测
将原始大小为512000kB的用电采集数据,使用本发明实施例1所提供的方法,与基于算数的LZW算法和固定字符概率的算术编码进行压缩率对比,压缩率对比结果如表1所示。实验表明本发明实施例1所提供的方法较算术编码压缩率更高,平均提升了约28.88%;较LZW算法,压缩率平均提升了约7.83%,本发明实施例1所提供的方法在压缩用电采集数据的场景下压缩率较主流传统压缩算法有明显提升。
使用本发明实施例1所提供的方法,与Cmix v19深度学***均压缩速率提高了19.38倍,平均压缩率相差0.44%;相比于NNCP,平均压缩速率提高了2.54倍,平均压缩率相差0.20%。本发明实施例1所提供的方法在保持较高的压缩速率的同时取得接近基准的压缩率,在压缩用电采集数据的场景下相比于其他深度学习算法具有更强的实用性。
表1 ,
,
表2,
,
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。
Claims (10)
1.一种数据无损压缩方法,其特征在于,包括以下步骤:
采集数据,基于所述数据构建上下文集和目标集,并基于所述上下文集和所述目标集构建查询字典,所述查询字典用于将所述数据内所有字符转换为对应索引数,得索引序列;
构建特征提取模块,所述特征提取模块用于对所述索引序列进行词嵌入和位置嵌入操作后,基于多头注意力模块进行重新编码,并提取语义特征输出上下文特征;
构建概率计算模块,所述概率计算模块基于双向门控循环单元层计算所述上下文特征的隐藏特征后,基于双分支全连接层将所述隐藏特征映射到实数空间,得到所述字符对应的概率分布;
构建自适应算术编码器,基于所述概率分布构建概率表和数值取值区间,基于所述概率表和所述数值取值区间循环计算所述数据内所有字符的压缩编码并保存。
2.根据权利要求1所述的一种数据无损压缩方法,其特征在于,执行对所述索引序列进行词嵌入和位置嵌入操作的过程中,包括:
构建词嵌入模块,基于所述词嵌入模块对所述上下文集对应的索引序列进行词嵌入操作后,得到所述上下文集对应的索引序列的单词表示第一张量;
构建位置矩阵,基于所述位置矩阵对所述第一张量进行位置嵌入后,得到所述上下文集的位置表示第二张量。
3.根据权利要求2所述的一种数据无损压缩方法,其特征在于,执行构建词嵌入模块的过程中,包括:
将所述索引序列进行独热编码得到编码矩阵;
构建词嵌入矩阵,并将所述编码矩阵与所述词嵌入矩阵进行矩阵乘法,生成具有词转换矩阵的词嵌入模块。
4.根据权利要求2所述的一种数据无损压缩方法,其特征在于,执行构建位置矩阵的过程中,包括:
基于所述第一张量中每一索引序列对应的单词位置及所述单词对应分量的位置信息,计算位置矩阵。
5.根据权利要求4所述的一种数据无损压缩方法,其特征在于,执行计算位置矩阵的过程中,根据以下公式进行计算:
,
,
其中,为所述第一张量中每一索引序列对应的单词位置,/>为所述单词对应分量的位置信息,/>为所述隐藏特征维度,在偶数位置使用正弦编码,得到偶数位置编码;在奇数位置使用余弦编码,得到奇数位置编码/>。
6.根据权利要求2所述的一种数据无损压缩方法,其特征在于,执行基于多头注意力模块进行重新编码的过程中,包括:
构建映射矩阵,基于所述映射矩阵对所述第二张量进行映射,得到查询张量Q、键张量K和值张量V;
对所述查询张量Q、键张量K和值张量V进行多头注意力计算后,重新编码后归一化处理,得到第三张量。
7.根据权利要求6所述的一种数据无损压缩方法,其特征在于,执行提取语义特征输出上下文特征的过程中,包括:
构建由一个升维Dense层、一个激活层和一个降维Dense层构成的前馈网络模块;
基于所述前馈网络模块对所述第三张量依次进行升维、激活和降维提取语义特征后,进行归一化处理输出上下文特征。
8.根据权利要求1所述的一种数据无损压缩方法,其特征在于,执行所述概率计算模块基于双向门控循环单元层计算所述上下文特征的隐藏特征的过程中,包括:
构建双向门控循环单元层;
将降维后的所述上下文特征按时间步输入所述双向门控循环单元层,所述双向门控循环单元层一半按顺序计算顺序隐藏特征,另一半按逆序计算逆序隐藏特征,并对所述顺序隐藏特征和所述逆序隐藏特征进行级联,得到隐藏特征;
对所述隐藏特征依次进行翻转、逆序排列、分片操作并串联后,得到二维张量D。
9.根据权利要求8所述的一种数据无损压缩方法,其特征在于,基于双分支连接层将所述隐藏特征映射到实数空间得到所述字符对应的概率分布的过程中,包括:
构建双分支全连接层,所述双分支全连接层由一个线性层分支和一个Dense层分支构成,所述Dense层分支由一个升维Dense层和一个降维Dense层构成;
将所述二维张量D输入所述双分支全连接层,所述线性层分支将所述二维张量D映射到所述查询字典大小的维度,输出第一映射结果,所述Dense层分支将所述二维张量D依次进行升维、降维处理后,映射到所述查询字典大小的维度,输出第二映射结果;
将所述第一映射结果和所述第二映射结果相加后输出预测矩阵X;
将所述预测矩阵X映射到[0,1]表示概率分布的实数空间,并取对数后作为所述查询字典内每一字符的概率分布。
10.根据权利要求1所述的一种数据无损压缩方法,其特征在于,基于所述概率分布构建概率表和数值取值区间的过程中,包括:
构建初始概率表,并基于初始概率表构建数值取值区间;
基于所述数值取值区间循环计算所述数据中所有字符的算数编码,且每一字符编码后基于所述字符的概率分布更新所述初始概率表和所述数值取值区间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311021273.XA CN116743182B (zh) | 2023-08-15 | 2023-08-15 | 一种数据无损压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311021273.XA CN116743182B (zh) | 2023-08-15 | 2023-08-15 | 一种数据无损压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116743182A true CN116743182A (zh) | 2023-09-12 |
CN116743182B CN116743182B (zh) | 2023-12-08 |
Family
ID=87904754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311021273.XA Active CN116743182B (zh) | 2023-08-15 | 2023-08-15 | 一种数据无损压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743182B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171399A (zh) * | 2023-11-02 | 2023-12-05 | 吉林省有继科技有限公司 | 基于云平台的新能源数据优化存储方法 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU8060298A (en) * | 1997-06-19 | 1999-01-04 | Electronics For Imaging, Inc. | Method and apparatus for data compression |
CN110874392A (zh) * | 2019-11-20 | 2020-03-10 | 中山大学 | 基于深度双向注意力机制的文本网络信息融合嵌入方法 |
US20200160565A1 (en) * | 2018-11-19 | 2020-05-21 | Zhan Ma | Methods And Apparatuses For Learned Image Compression |
CN111737484A (zh) * | 2020-05-15 | 2020-10-02 | 浙江工业大学 | 一种基于联合学习的警情知识图谱构建方法 |
CN114048711A (zh) * | 2021-11-16 | 2022-02-15 | 深圳市领存技术有限公司 | 文本压缩、解压方法、装置、计算机设备和存储介质 |
CN114556443A (zh) * | 2020-01-15 | 2022-05-27 | 北京京东尚科信息技术有限公司 | 使用基于注意力的融合网络的多媒体数据语义分析***和方法 |
CN114567332A (zh) * | 2022-03-01 | 2022-05-31 | 深圳市领存技术有限公司 | 一种文本二次压缩方法、装置、设备及计算机可读存储介质 |
WO2022131450A1 (ko) * | 2020-12-16 | 2022-06-23 | 숭실대학교 산학협력단 | 노이즈 추가 기반 커버리지와 단어 연관을 이용한 문서 요약 방법, 이를 수행하기 위한 기록 매체 및 장치 |
CN114678095A (zh) * | 2022-04-15 | 2022-06-28 | 杭州电子科技大学 | 一种基于深度语言模型和模板定制的医学语料扩充方法 |
CN114722774A (zh) * | 2022-04-07 | 2022-07-08 | 平安科技(深圳)有限公司 | 数据压缩方法、装置、电子设备及存储介质 |
CN114793282A (zh) * | 2021-01-25 | 2022-07-26 | 脸萌有限公司 | 带有比特分配的基于神经网络的视频压缩 |
CN114792347A (zh) * | 2022-03-09 | 2022-07-26 | 同济大学 | 一种基于多尺度空间和上下文信息融合的图像压缩方法 |
CN115481645A (zh) * | 2022-10-17 | 2022-12-16 | 天津大学 | 一种基于形态学增强的张量化词嵌入压缩*** |
CN115913247A (zh) * | 2022-10-18 | 2023-04-04 | 国网江苏省电力有限公司南京供电分公司 | 一种高频电力数据深度无损压缩方法及*** |
CN116150700A (zh) * | 2022-12-06 | 2023-05-23 | 马上消费金融股份有限公司 | 数据处理方法及装置、电子设备、计算机可读存储介质 |
CN116746147A (zh) * | 2021-01-27 | 2023-09-12 | 高通股份有限公司 | 用于并行熵译码中的比特流索引的压缩 |
-
2023
- 2023-08-15 CN CN202311021273.XA patent/CN116743182B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU8060298A (en) * | 1997-06-19 | 1999-01-04 | Electronics For Imaging, Inc. | Method and apparatus for data compression |
US20200160565A1 (en) * | 2018-11-19 | 2020-05-21 | Zhan Ma | Methods And Apparatuses For Learned Image Compression |
CN110874392A (zh) * | 2019-11-20 | 2020-03-10 | 中山大学 | 基于深度双向注意力机制的文本网络信息融合嵌入方法 |
CN114556443A (zh) * | 2020-01-15 | 2022-05-27 | 北京京东尚科信息技术有限公司 | 使用基于注意力的融合网络的多媒体数据语义分析***和方法 |
CN111737484A (zh) * | 2020-05-15 | 2020-10-02 | 浙江工业大学 | 一种基于联合学习的警情知识图谱构建方法 |
WO2022131450A1 (ko) * | 2020-12-16 | 2022-06-23 | 숭실대학교 산학협력단 | 노이즈 추가 기반 커버리지와 단어 연관을 이용한 문서 요약 방법, 이를 수행하기 위한 기록 매체 및 장치 |
CN114793282A (zh) * | 2021-01-25 | 2022-07-26 | 脸萌有限公司 | 带有比特分配的基于神经网络的视频压缩 |
CN116746147A (zh) * | 2021-01-27 | 2023-09-12 | 高通股份有限公司 | 用于并行熵译码中的比特流索引的压缩 |
CN114048711A (zh) * | 2021-11-16 | 2022-02-15 | 深圳市领存技术有限公司 | 文本压缩、解压方法、装置、计算机设备和存储介质 |
CN114567332A (zh) * | 2022-03-01 | 2022-05-31 | 深圳市领存技术有限公司 | 一种文本二次压缩方法、装置、设备及计算机可读存储介质 |
CN114792347A (zh) * | 2022-03-09 | 2022-07-26 | 同济大学 | 一种基于多尺度空间和上下文信息融合的图像压缩方法 |
CN114722774A (zh) * | 2022-04-07 | 2022-07-08 | 平安科技(深圳)有限公司 | 数据压缩方法、装置、电子设备及存储介质 |
CN114678095A (zh) * | 2022-04-15 | 2022-06-28 | 杭州电子科技大学 | 一种基于深度语言模型和模板定制的医学语料扩充方法 |
CN115481645A (zh) * | 2022-10-17 | 2022-12-16 | 天津大学 | 一种基于形态学增强的张量化词嵌入压缩*** |
CN115913247A (zh) * | 2022-10-18 | 2023-04-04 | 国网江苏省电力有限公司南京供电分公司 | 一种高频电力数据深度无损压缩方法及*** |
CN116150700A (zh) * | 2022-12-06 | 2023-05-23 | 马上消费金融股份有限公司 | 数据处理方法及装置、电子设备、计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
屈志坚,帅诚鹏等: "基于遗传优化聚类的GRU无损电力监测数据压缩", 《电力***及其自动化学报》, pages 1 - 10 * |
梁捷;蒋雯倩;李金瑾;: "基于动态字典和差分编码的计量数据压缩研究", 信息技术, no. 10 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171399A (zh) * | 2023-11-02 | 2023-12-05 | 吉林省有继科技有限公司 | 基于云平台的新能源数据优化存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116743182B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428073B (zh) | 一种深度监督量化哈希的图像检索方法 | |
CN112732864B (zh) | 一种基于稠密伪查询向量表示的文档检索方法 | |
CN116743182B (zh) | 一种数据无损压缩方法 | |
CN111898689A (zh) | 一种基于神经网络架构搜索的图像分类方法 | |
CN111078895B (zh) | 基于去噪卷积神经网络的远程监督实体关系抽取方法 | |
CN110069644A (zh) | 一种基于深度学习的压缩域大规模图像检索方法 | |
CN117096867A (zh) | 一种短期电力负荷预测方法、装置、***及存储介质 | |
CN114493014A (zh) | 多元时间序列预测方法、***及计算机产品、存储介质 | |
Li et al. | Deep spatio-temporal wind power forecasting | |
CN112884230A (zh) | 基于多元时间序列的电力负荷预测方法、装置及相关组件 | |
CN112949610A (zh) | 一种基于降噪算法的改进Elman神经网络的预测方法 | |
CN112988548A (zh) | 一种基于降噪算法的改进Elman神经网络的预测方法 | |
CN109933682A (zh) | 一种基于语义与内容信息结合的图像哈希检索方法及*** | |
CN115913247A (zh) | 一种高频电力数据深度无损压缩方法及*** | |
CN114530210A (zh) | 药物分子筛选方法及*** | |
CN117094451B (zh) | 一种耗电量的预测方法、装置及终端 | |
CN110083734A (zh) | 基于自编码网络和鲁棒核哈希的半监督图像检索方法 | |
CN115952928B (zh) | 一种短期电力负荷预测方法、装置、设备及存储介质 | |
CN116961672A (zh) | 基于Transformer编码器的无损数据压缩方法 | |
CN116318172A (zh) | 一种设计仿真软件数据自适应压缩方法 | |
CN116338322A (zh) | 一种电网线路阻抗预测方法及*** | |
Rui et al. | Data Reconstruction based on supervised deep auto-encoder | |
CN115017366A (zh) | 基于多粒度语境化和多结构保存的无监督视频哈希检索方法 | |
CN109840888B (zh) | 一种基于联合约束的图像超分辨率重建方法 | |
CN114936296B (zh) | 超大规模知识图谱存储的索引方法、***及计算机设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |