CN116634162A - 率失真优化的图像压缩神经网络训练后量化方法 - Google Patents

率失真优化的图像压缩神经网络训练后量化方法 Download PDF

Info

Publication number
CN116634162A
CN116634162A CN202310390087.7A CN202310390087A CN116634162A CN 116634162 A CN116634162 A CN 116634162A CN 202310390087 A CN202310390087 A CN 202310390087A CN 116634162 A CN116634162 A CN 116634162A
Authority
CN
China
Prior art keywords
quantization
model
loss
neural network
image compression
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
CN202310390087.7A
Other languages
English (en)
Inventor
马展
石峻奇
陆明
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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN202310390087.7A priority Critical patent/CN116634162A/zh
Publication of CN116634162A publication Critical patent/CN116634162A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种率失真优化的图像压缩神经网络训练后量化方法。该方法步骤如下:获取高清图像数据集,构建训练集、测试集和交叉验证集;建立与浮点模型对应的量化模型,并初始化量化参数;构建图像压缩神经网络,逐层优化量化模型,对于当前层的优化,分为前向传播和反向传播两个过程:在前向传播中,计算当前层的量化损失和整个模型的率失真损失,加权作为损失函数;在反向传播中,通过梯度下降法优化该层权重、偏置、激活值的量化参数和权重、偏置的舍入方式;直到量化模型所有层优化完毕,得到最终的量化模型和量化参数。本发明的量化方法,与32比特的浮点模型在大量测试图像上的同等比较中,可以在保持性能的情况下减少75%的内存占用。

Description

率失真优化的图像压缩神经网络训练后量化方法
技术领域
本发明涉及神经网络的网络量化领域,特别涉及一种率失真优化的图像压缩神经网络训练后量化方法。
背景技术
过去的几十年里,图像压缩被广泛地应用以实现高效的信息共享。近年来,基于学习的图像压缩神经网络(Learned Image Compression)蓬勃发展,它能使用统计学习方法从原始数据中提取高层特征,在大量的数据中获得输入空间的有效表征,实现图像的高效压缩,相较于传统图像编解码,其展现出更高的编码效率和明显的性能提升。
然而随着编码增益的提升,图像压缩神经网络的复杂性也急剧上升。首先神经网络一般采用浮点数来表征数据,这带来了巨大的时间和空间复杂度,一个典型的神经网络模型所需的浮点运算频率往往在十亿甚至万亿的数量级上,而所需要的运行内存则在数百兆至数千兆字节之间,这严重限制了它的应用场景。另一方面,由于浮点运算中存在的数值不稳定性,即使极小的舍入误差也会导致跨平台的数据传输出现解码失败,严重损害了主观的体验质量。
量化是解决上述实际问题的一种有效方法,通过将原始32比特的浮点模型中的参数量化为低比特的定点数,在保持网络模型的参数量不变的同时,减少了每个网络参数的比特位数,通过降低每次浮点运算的开销来降低模型的计算复杂度;此外量化后的定点数还避免了跨平台的浮点运算所带来的数值不稳定性,保证了运算过程的一致性。
而当前的针对图像压缩神经网络的量化方法,往往带来较大的率失真(Rate-Distortion)损失或依赖模型的重训练,如果在保持模型表达能力的基础上,将浮点模型量化为低比特的定点模型,对于图像压缩神经网络的跨平台部署和推理加速是很有意义的。
发明内容
为此,本发明的目的是高效地量化图像压缩神经网络,提出一种率失真优化的图像压缩神经网络训练后量化方法。
本发明采用的技术方案为:
率失真优化的图像压缩神经网络训练后量化方法,包括如下步骤:
S1,获取高清图像数据集,构建模型量化及优化所需的训练集、测试集和交叉验证集;
S2,获取训练后的原始浮点模型,建立与原始浮点模型对应的量化模型:将需要量化的原始浮点模型中的各个模块替换为对应的定点模块,在定点模块内和模块间***量化节点,并初始化量化参数;
S3,构建图像压缩神经网络,包括主编码器、主解码器、超编码器和超解码器;从所述主编码器开始依次对超编码器、超解码器和主解码器进行逐层优化所述量化模型;对于当前层的优化,包括前向传播和反向传播两个过程:
在前向传播过程中,计算当前层量化输出和原始浮点模型输出间的量化损失,计算量化模型最终输出和原始浮点模型最终输出间的率失真损失,加权量化损失和率失真损失作为损失函数;
在反向传播过程中,使用所述损失函数计算梯度,通过梯度下降法优化当前层权重、偏置、激活值的量化因子和权重、偏置的舍入方式;
S4,当所述量化模型的所有层优化完毕后,得到最终的量化模型和量化参数。
进一步地,所述步骤S2中,对每个层的每个通道单独计算其相应量化参数,进行逐通道量化。
进一步地,所述步骤S2中,相应量化参数包括量化因子、零点以及控制动态范围的参数。
进一步地,所述步骤S3中,在前向传播过程中使用量化输出和原始浮点模型输出间的均方误差作为当前层的量化损失,使用量化模型输出和原始浮点模型输出间的率失真损失作为整个模型的任务损失,将量化损失与任务损失相加权作为损失函数。
进一步地,所述步骤S3中,在反向传播过程中通过梯度下降法优化控制动态范围的参数实现自适应的动态范围,以便优化量化因子,同时使用自适应舍入策略代替四舍五入操作。
本发明提出了一种新的图像压缩神经网络量化方法,可以将原始32比特的浮点模型量化为8比特的定点模型,在内存占用减少约75%的同时,保持模型的性能稳定,相比于其他的图像压缩神经网络量化方法,无需模型的重训练,即可实现了更小的率失真损失。此外,作为一种无需再训练的方法,其具有更好的可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性的劳动前提下,还可以根据这些附图获得其他的附图。
图1是本发明量化方法的流程图。
图2是图像压缩神经网络的***图。
图3是量化卷积层前向传播和反向传播的计算图。
图4是本发明方法同原始32比特浮点模型在24张768×512分辨率的Kodak数据集上的性能对比图。
图5是本发明方法同原始32比特浮点模型在100张1200×1200分辨率的Tecnick数据集上的性能对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方法做进一步地详细描述。
本实施例的一种率失真优化的图像压缩神经网络训练后量化方法,是指对训练后的原始浮点模型进行量化,具体步骤如下:
(1)首先收集和整理所需高清图像(包括柯达无损图片库、ImageNet图片库等),构建模型量化及优化所需的训练数据集、测试数据集和交叉验证集。
(2)获取训练后的原始浮点模型,建立与浮点模型对应的量化模型:将需要量化的浮点模型中的各个模块替换为对应的定点模块,在模块内和模块间***量化节点,并初始化量化参数。
(3)构建图像压缩神经网络,并逐层优化量化模型;对于当前层的优化,主要分为前向传播和反向传播两个过程:
在前向传播过程中,计算当前层量化输出和原始浮点输出间的量化损失,计算量化模型输出和原始浮点模型输出间的率失真损失,加权量化损失和率失真损失作为损失函数;
在反向传播过程中,使用上述得到的损失函数计算梯度,通过梯度下降法优化该层权重、偏置、激活值的量化因子和权重、偏置的舍入方式;
(4)当量化模型的所有层优化完毕后,得到最终的量化模型和量化参数。
所述步骤(1)中,从图片库中随机抽样少量图片(如10张)作为训练集,用于量化模型的优化,在优化过程中生成实时的损失函数Loss与迭代次数T的曲线,在曲线在收敛趋于平缓稳定或超出迭代上限后结束优化。其中训练集、测试集和验证集相互独立不重合。
所述步骤(2)中,量化模型的结构与原浮点模型保持一致,但需要原模型中的各个模块(如卷积、归一化层)替换为相应的定点模块,用于实现量化操作和定点计算,定点模块的功能包含但不限于量化、反量化、前向传播和反向传播等。此外,在定点模块内和模块间***量化节点,用于监测激活值的动态范围并量化激活值,保证激活值以8比特的格式传递,避免寄存器溢出。对每个层的每个通道单独计算其相应量化参数,包括但不限于量化因子、零点以及控制动态范围的参数N等,以卷积层为例,其权重一般由四个维度组成,O×I×W×H,依次为输出通道数、输入通道数、卷积核宽度和卷积核高度,沿着维度输出通道数维度O,对每个三维张量I×W×H计算其对应的量化参数,这种方式称为逐通道量化,避免了不同通道间的数据分布差异。不同通道间的运算并列进行,其中,量化因子用于实现参数在浮点域和定点域的数值映射,在给定位宽(如8比特)的情况下,量化因子只与参数的动态范围有关,通过控制参数的动态范围即可实现对量化因子的控制。
所述步骤(3)中,流行的图像压缩神经网络一般采用变分自编码器(VariationalAuto-Encoder)结构实现,主要模块可以分为主编、解码器和超编、解码器四部分,每个模块又由多个层(如卷积层、归一化层、激活函数层等)组成。量化模型并不改变原始模型的结构,本实施例中,模型优化从主编码器开始,依次对超编码器、超解码器和主解码器进行逐层优化,对于未优化的层,其参数依然保持为浮点格式,对于已经优化完毕的层,其参数均被量化为定点数,直到所有的层优化完毕,算法结束。
所述步骤(3)中,对于当前层的优化,其算法主要分为前向传播和反向传播两个过程。前向传播根据给定的输入对模型从前向后依次计算,得到预测值;而反向传播则根据预测值与真实值之间的误差来计算损失函数,并根据损失函数对模型从后向前依次求导,得到每个参数对应的梯度。具体步骤为:
1)前向传播过程中,首先关闭当前层的量化操作,保持该层为浮点格式,通过步骤(1)中建立的数据集进行前向传播,计算当前层的浮点输出和整个模型的浮点输出,并存储该浮点输出。随后开启当前层的量化操作,开始运行优化算法,在每一次算法迭代中,计算量化后当前层的输出和整个模型的输出。使用当前层量化输出和原始浮点输出间的均方误差作为当前层的量化损失,使用量化模型输出和原始浮点模型输出间的率失真损失作为整个模型的任务损失,将量化损失与任务损失相加权作为损失函数。
2)后向传播过程中,在每一次算法迭代中,通过在步骤1)中建立的损失函数上进行反向传播,梯度下降算法选用自适应优化器(如Adam),动态调整学习率加快算法收敛。具体实现中,在给定位宽(如8比特)的情况下,量化因子只与权重、偏置、激活值各自的动态范围有关,优化控制动态范围的参数N实现自适应的动态范围,从而优化权重、偏置、激活值的量化因子,同时使用自适应舍入策略代替四舍五入,以权重为例,一个相同维度且值域在0~1之间的变量与权重相加,通过算法迭代,最终该变量收敛到0或1,收敛为0即为向下舍入,收敛为1即为向上舍入,从而实现了自适应舍入,这种自适应舍入策略同样适用于偏置。在算法迭代中,步骤1)中的量化损失和任务损失逐渐降低,直到算法迭代完毕,该层的优化完成,并固定所有量化参数。
所述步骤(4)中,当量化模型优化完毕后,保存最终得到的量化模型和量化参数,以便后续用于图像压缩。
以上各步骤的流程图见图1,采用的图像压缩神经网络的***图见图2,模型量化不改变基本结构,以卷积为例,图3展示了其前向传播和反向传播的计算图,最终的性能对比可见图4、图5,本发明的方法相比于原始32比特的浮点模型,在性能保持稳定的情况下,节省了大约75%的内存占用。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改,等同替换,改进等,均应包含在本发明的保护范围之中。

Claims (5)

1.率失真优化的图像压缩神经网络训练后量化方法,其特征在于,包括如下步骤:
S1,获取高清图像数据集,构建模型量化及优化所需的训练集、测试集和交叉验证集;
S2,获取训练后的原始浮点模型,建立与原始浮点模型对应的量化模型:将需要量化的原始浮点模型中的各个模块替换为对应的定点模块,在定点模块内和模块间***量化节点,并初始化量化参数;
S3,构建图像压缩神经网络,包括主编码器、主解码器、超编码器和超解码器;从所述主编码器开始依次对超编码器、超解码器和主解码器进行逐层优化所述量化模型;对于当前层的优化,包括前向传播和反向传播两个过程:
在前向传播过程中,计算当前层量化输出和原始浮点模型输出间的量化损失,计算量化模型最终输出和原始浮点模型最终输出间的率失真损失,加权量化损失和率失真损失作为损失函数;
在反向传播过程中,使用所述损失函数计算梯度,通过梯度下降法优化当前层权重、偏置、激活值的量化因子和权重、偏置的舍入方式;
S4,当所述量化模型的所有层优化完毕后,得到最终的量化模型和量化参数。
2.根据权利要求1所述的率失真优化的图像压缩神经网络训练后量化方法,其特征在于,所述步骤S2中,对每个层的每个通道单独计算其相应量化参数,进行逐通道量化。
3.根据权利要求2所述的率失真优化的图像压缩神经网络训练后量化方法,其特征在于,所述步骤S2中,相应量化参数包括量化因子、零点以及控制动态范围的参数。
4.根据权利要求3所述的率失真优化的图像压缩神经网络训练后量化方法,其特征在于,所述步骤S3中,在前向传播过程中使用量化输出和原始浮点模型输出间的均方误差作为当前层的量化损失,使用量化模型输出和原始浮点模型输出间的率失真损失作为整个模型的任务损失,将量化损失与任务损失相加权作为损失函数。
5.根据权利要求3所述的率失真优化的图像压缩神经网络训练后量化方法,其特征在于,所述步骤S3中,在反向传播过程中通过梯度下降法优化控制动态范围的参数实现自适应的动态范围,以便优化量化因子,同时使用自适应舍入策略代替四舍五入操作。
CN202310390087.7A 2023-04-13 2023-04-13 率失真优化的图像压缩神经网络训练后量化方法 Pending CN116634162A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310390087.7A CN116634162A (zh) 2023-04-13 2023-04-13 率失真优化的图像压缩神经网络训练后量化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310390087.7A CN116634162A (zh) 2023-04-13 2023-04-13 率失真优化的图像压缩神经网络训练后量化方法

Publications (1)

Publication Number Publication Date
CN116634162A true CN116634162A (zh) 2023-08-22

Family

ID=87640669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310390087.7A Pending CN116634162A (zh) 2023-04-13 2023-04-13 率失真优化的图像压缩神经网络训练后量化方法

Country Status (1)

Country Link
CN (1) CN116634162A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077740A (zh) * 2023-09-25 2023-11-17 荣耀终端有限公司 模型量化方法和设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077740A (zh) * 2023-09-25 2023-11-17 荣耀终端有限公司 模型量化方法和设备
CN117077740B (zh) * 2023-09-25 2024-03-12 荣耀终端有限公司 模型量化方法和设备

Similar Documents

Publication Publication Date Title
CN111641832B (zh) 编码方法、解码方法、装置、电子设备及存储介质
CN112149797B (zh) 神经网络结构优化方法和装置、电子设备
CN113747163B (zh) 基于上下文重组建模的图像编码、解码方法及压缩方法
CN110753225A (zh) 一种视频压缩方法、装置及终端设备
CN113313777A (zh) 一种图像压缩处理方法、装置、计算机设备和存储介质
CN116634162A (zh) 率失真优化的图像压缩神经网络训练后量化方法
CN114386595B (zh) 一种基于超先验架构的sar图像压缩方法
KR20220058628A (ko) 신경망 모델 압축
WO2021247840A2 (en) Systems and methods for improved machine-learned compression
CN111163314A (zh) 一种图像压缩方法及***
CN112702600B (zh) 一种图像编解码神经网络分层定点化方法
CN111161363A (zh) 一种图像编码模型训练方法及装置
CN111163320A (zh) 一种视频压缩方法及***
CN110730347A (zh) 图像压缩方法、装置及电子设备
CN112437300B (zh) 一种基于自适应区间重叠因子的分布式视频编码方法
CN114511069A (zh) 一种提高低比特量化模型性能的方法和***
CN111565317A (zh) 图像压缩方法、编解码网络训练方法、装置及电子设备
CN111565314A (zh) 图像压缩方法、编解码网络训练方法、装置及电子设备
CN110717948A (zh) 一种图像后处理方法、***及终端设备
US20230316588A1 (en) Online training-based encoder tuning with multi model selection in neural image compression
US20230336738A1 (en) Multi-rate of computer vision task neural networks in compression domain
US20230334718A1 (en) Online training computer vision task models in compression domain
CN114882133B (zh) 一种图像编解码方法、***、设备及介质
JP7075012B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
US20240020887A1 (en) Conditional variational auto-encoder-based online meta-learned image compression

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