Method, computer system and storage medium for compressing neural network model

Through a selective structured unified method and iterative retraining process, the weight coefficients of the neural network model are optimized, which solves the problems of low storage and computing efficiency of the neural network model during the compression process and realizes efficient deployment on mobile devices and chips.

CN113286143BActive Publication Date: 2025-09-23TENCENT AMERICA LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110183543.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-11-03
Filing Date
2021-02-08
Publication Date
2025-09-23
Estimated Expiration
2041-02-08

AI Technical Summary

Technical Problem

Existing neural network models suffer from low storage and computational efficiency during compression, making it difficult to maintain the model's original performance and computing speed, especially when deployed on mobile devices and chips.

Method used

Through a selective structured unification method, the coding tree units of the multidimensional tensor are identified, the set of weight coefficients associated with them is determined, and the weight coefficients are optimized through an iterative retraining process. The network weights are unified using uniform loss and computational speed loss to achieve model compression.

Benefits of technology

It improves the compression efficiency and computing speed of neural network models, maintains the original performance of the model, and is applicable to data sets in different data forms, especially with a significant storage size reduction effect when deployed on mobile devices and chips.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113286143B_ABST
    Figure CN113286143B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, computer system, and storage medium for compressing a neural network model. The method includes identifying at least one coding tree unit corresponding to a multidimensional tensor associated with a neural network, unifying a set of weight coefficients associated with the coding tree unit, and compressing the neural network model based on the unified set of weight coefficients.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Provisional Patent Application Nos. 62 / 979,038 (filed on February 20, 2020) and 62 / 984,107 (filed on March 2, 2020) filed in the U.S. Patent and Trademark Office, and U.S. Patent Application No. 17 / 088,075 filed on November 3, 2020, the entire contents of which are incorporated herein by reference. Technical Field

[0003] The present disclosure relates generally to the field of data processing, and more particularly to video encoding and decoding. Background Art

[0004] The International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC) Moving Picture Experts Group (MPEG) (JTC 1 / SC 29 / WG 11) has been actively exploring potential requirements for the standardization of future video codec technologies for visual analysis and understanding. In 2015, ISO adopted the Compact Descriptors for Visual Search (CDVS) ​​standard as a standard for still images, which extracts feature representations for image similarity matching. The Compact Descriptors for Visual Analysis (CDVA) standard, listed as Part 15 of MPEG 7 and ISO / IEC 15938-15 and finalized in 2018, extracts global and local feature descriptors for video clips, both manually designed and based on deep neural networks (DNNs). The success of DNNs in a wide range of video applications, such as semantic classification, object detection / recognition, object tracking, and video quality enhancement, has created a strong demand for compressed DNN models. Therefore, MPEG is actively working on the Neural Network standard (NNR) encoding representation, which encodes the DNN model to save storage and computation. Summary of the Invention

[0005] The embodiments of the present disclosure relate to a method, system, and computer-readable storage medium for compressing a neural network model, which can compress the neural network model and improve the computational efficiency of the neural network model.

[0006] According to one aspect, a method for compressing a neural network model is provided. The method may include identifying at least one coding tree unit corresponding to a multidimensional tensor associated with a neural network, determining a set of weight coefficients associated with the coding tree unit, and compressing the neural network model based on the determined set of weight coefficients.

[0007] According to another aspect, a computer system for compressing a neural network model is provided. The computer system may include an identification module for identifying at least one coding tree unit corresponding to a multidimensional tensor associated with a neural network, a unification module for determining a set of weight coefficients associated with the coding tree unit, and a compression module for compressing the neural network model based on the determined set of weight coefficients.

[0008] According to another aspect, a computer-readable medium for compressing a neural network model is provided. The computer-readable medium may include at least one computer-readable storage device and program instructions stored on at least one of the at least one tangible storage device, the program instructions being executable by a processor. The program instructions are executable by the processor to perform a method, which may accordingly include identifying at least one coding tree unit corresponding to a multidimensional tensor, the multidimensional tensor being associated with a neural network. Determining a set of weight coefficients associated with the coding tree unit. Compressing a model of the neural network based on the determined set of weight coefficients.

[0009] The method, system and computer-readable storage medium for compressing a neural network model provided by the embodiments of the present disclosure use a selective structured unification method to unify the network weight coefficients, so that the learned network weight coefficients maintain the original performance and have the optimal expected unified structure, thereby improving compression efficiency and calculation speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] These and other objects, features, and advantages will become apparent from the following detailed description of illustrative embodiments when read in conjunction with the accompanying drawings. Since the drawings are intended to facilitate a clear understanding by those skilled in the art in conjunction with the detailed description, the various features of the drawings are not drawn to scale. In the drawings:

[0011] Figure 1 illustrates a networked computer environment according to at least one embodiment;

[0012] Figure 2 is a block diagram depicting a unified partition structure according to at least one embodiment;

[0013] Figure 3A and Figure 3B is a block diagram of a neural network model compression system according to at least one embodiment;

[0014] Figure 4 An operational flow chart illustrating steps performed by a program for compressing a neural network model in accordance with at least one embodiment;

[0015] Figure 5 According to at least one embodiment Figure 1 a block diagram of the internal and external components of a computer and server depicted in;

[0016] Figure 6 According to at least one embodiment, Figure 1 A block diagram of an exemplary cloud computing environment for a computer system depicted in FIG; and

[0017] Figure 7 According to at least one embodiment Figure 6 A block diagram of the functional layers of an exemplary cloud computing environment. DETAILED DESCRIPTION

[0018] Detailed embodiments of the claimed structures and methods are disclosed herein; however, it is understood that the disclosed embodiments are merely illustrative of the claimed structures and methods that may be implemented in various forms. However, these structures and methods may be implemented in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided to make this disclosure clear and complete and to fully convey the scope to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.

[0019] The embodiments generally relate to the field of data processing, and more particularly to neural networks. The exemplary embodiments described below provide systems, methods, and computer programs for compressing neural network models based on selective structured weight unification in iterative networks. Structured weight unification improves the efficiency of further compressing learned weight coefficients, which can significantly reduce the size of DNN models. The selection of a unified structure using a unified loss enables the system to use a flexible unified structure to reduce the unified loss with similar compression efficiency. Through the iterative retraining process, the original training objective can be maintained to improve compression efficiency. The iterative retraining process also provides the flexibility to introduce different losses at different times, allowing the system to focus on different objectives during the optimization process. Dense and pruned sparse models can be used as an additional module to improve the efficiency of the model in subsequent compression and computation. The method, computer system, and computer-readable medium can be applied to datasets with different data forms. The input / output data is typically a 4D tensor, which can be a real video clip, an image, or an extracted feature map.

[0020] Several approaches exist for learning compact DNN models. The goal is to remove unimportant weight coefficients, assuming that the smaller the value of a weight coefficient, the less important it is. Several network pruning methods have been proposed to achieve this goal by adding sparsity-enhancing regularization terms to the network training objective. From the perspective of compressing DNN models, after learning a compact network model, the weight coefficients can be further compressed through quantization followed by entropy encoding and decoding. This further compression process can significantly reduce the storage size of the DNN model, which is essential for deploying the model on mobile devices, chips, and the like.

[0021] A selective structured unification method can be used to unify network weight coefficients to improve quantization and entropy coding and decoding in the subsequent compression process. Given a set of predefined expected unified structures, a selective unified loss including compression rate loss, unified distortion loss and computational speed loss can be calculated, wherein the unified distortion loss is used to estimate the error introduced by unifying the weight coefficients according to the unified structure, and the computational speed loss is used to estimate the effectiveness of network calculation using the unified weight coefficients. An iterative network retraining / recorrection process is used to jointly optimize the original training objective and the selective unified loss so that the learned network weight coefficients maintain the original performance (e.g., the optimal cross entropy loss for the classification task) and have an optimal expected unified structure, which can improve the optimal compression rate and the optimal computational speed. The method, computer system and computer-readable medium disclosed herein can be applied to the original pre-trained DNN model. It can also be used as an additional processing module to further compress any pruned DNN model.

[0022] Various aspects are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer-readable media according to various embodiments. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0023] Now refer to Figure 1 , a functional block diagram of a networked computer environment shows a neural network model compression system 100 (hereinafter referred to as "the system") for compressing a neural network model. It should be understood that Figure 1 This is merely an illustration of one embodiment and is not meant to imply any limitations on the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.

[0024] System 100 may include a computer 102 and a server computer 114. Computer 102 may communicate with server computer 114 via a communication network 110 (hereinafter referred to as the "network"). Computer 102 includes a processor 104 and a software program 108 stored on a data storage device 106 and is capable of interfacing with a user and communicating with server computer 114. Figure 5 As discussed, computer 102 may include internal components 800A and external components 900A, respectively, and server computer 114 may include internal components 800B and external components 900B, respectively. Computer 102 may be, for example, a mobile device, a phone, a personal digital assistant, a netbook, a laptop, a tablet computer, a desktop computer, or any type of computing device capable of running programs, accessing a network, and accessing a database.

[0025] As the following combination Figure 6 and Figure 7 As discussed, the server computer 114 may also operate in a cloud computing service model, such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS). The server computer 114 may also be located in a cloud computing deployment model, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud.

[0026] The server computer 114 for compressing the neural network model can run a neural network model compression program 116 (hereinafter referred to as "the program") that interacts with the database 112. Figure 4The neural network model compression program method is explained in more detail. In one embodiment, computer 102 can operate as an input device including a user interface, and program 116 can be primarily run on server computer 114. In an alternative embodiment, program 116 can be primarily run on at least one computer 102, while server computer 114 can be used to process and store data used by program 116. It should be noted that program 116 can be a stand-alone program or can be integrated into a larger video encoding program.

[0027] However, it should be noted that in some instances, processing of program 116 may be shared in any proportion between computers 102 and server computers 114. In another embodiment, program 116 may operate on more than one computer, server computer, or some combination of computers and server computers, such as multiple computers 102 communicating with a single server computer 114 via network 110. In another embodiment, for example, program 116 may operate on multiple server computers 114 communicating with multiple client computers via network 110. Alternatively, the program may run on a network server that communicates with the server and multiple client computers via the network.

[0028] The network 110 may include a wired connection, a wireless connection, a fiber optic connection, or some combination thereof. In general, the network 110 may be any combination of connections and protocols that support communication between the computer 102 and the server computer 114. The network 110 may include various types of networks, such as, for example, a local area network (LAN), a wide area network (WAN) (e.g., the Internet), a telecommunications network (e.g., a public switched telephone network (PSTN)), a wireless network, a public switched network, a satellite network, a cellular network (e.g., a fifth generation (5G) network, a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a metropolitan area network (MAN), a private network, an ad hoc network, an intranet, a fiber-based network, etc., and / or combinations of these or other types of networks.

[0029] Figure 1 The number and arrangement of devices and networks shown are provided as examples. In practice, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or different Figure 1 The devices and / or networks shown have differently arranged devices and / or networks. Figure 1 Two or more of the devices shown may be implemented in a single device, or Figure 1 The single device shown may be implemented as multiple distributed devices. Additionally or alternatively, one set of devices (eg, at least one device) of system 100 may perform at least one function that is described as being performed by another set of devices of system 100.

[0030] Now refer to Figure 2 , depicts a diagram 200 listing possible unified structures 202A-202O for partitioning a superblock into at least one block.

[0031] set up Denotes a dataset that assigns target y to input x. Let Θ O ={W O} represents the weight coefficient set of DNN, where W O Represents the weight coefficient of the network layer. The goal of neural network training is to learn the optimal set of weight coefficients Θ = {W}, so that the loss Minimize. For example, in previous network pruning methods, the loss There are two parts, empirical data loss For example, cross entropy loss and sparsity-promoting regularization loss for classification tasks

[0032]

[0033] where λ R is a hyperparameter that balances the contribution of data loss and regularization loss.

[0034] Sparsity promotes regularization loss to place regularization on the entire weight coefficient, and the resulting sparse weights have a weak relationship with inference efficiency or computational acceleration. From another perspective, after pruning, the sparse weights can further undergo another network training process, where an updated optimal set of weight coefficients can be learned, which can improve the quantization efficiency of further model compression.

[0035] A uniform treatment can be applied to the weight coefficients Θ = {W}, where W represents the weight coefficients of the network layers.

[0036] The weight coefficient W is (c i ,k1,k2,k3,c o ). The input of the layer is a general 5-dimensional (5D) tensor of size (h i ,w i ,d i ,c i ), and the output of the layer is a 4-dimensional (4D) tensor A of size (h o ,w o ,d o ,c o ) of 4D tensor B of size c i , k1, k2, k3, c o 、h i 、w i d i 、h o 、w o d o is an integer greater than or equal to 1. When the size c i , k1, k2, k3, c o 、h i 、w i d i 、h o 、w o d o When any of the values ​​is 1, the corresponding tensor is reduced to a lower dimension. Each item in each tensor is a floating point number. Let M represent a 5D binary mask of the same size as W, where each item in M ​​is a binary number 0 / 1, which is used to indicate whether the corresponding weight coefficient is pruned or retained. M is introduced to be associated with W to deal with the case where W comes from a pruned DNN model. When W comes from a dense unpruned DNN model, all items in M ​​take the value of 1. The output B is calculated by the convolution operation ⊙ based on A, M and W:

[0037]

[0038] l=1,…,h i , m=1,…,w i , n=1,…,d i , l′=1,…,h o ,

[0039] m′=1,…,w o , n′=1,…,d o , v=1,…,c o

[0040] Parameter h i 、w i and di (h0, w o and d o ) is the height, weight, and depth of the input tensor A (output tensor B). Parameter c i (c o ) is the number of input (output) channels. Parameters k1, k2, and k3 are the sizes of the convolution kernels corresponding to the height axis, weight axis, and depth axis, respectively. That is, for each output channel v = 1, ..., c o , this operation can be viewed as a convolution with the input A of size (c i ,k1,k2,k3) is the 4D weight tensor Wv.

[0041] The order of the summation operations can be changed, and the change in the order of the summation operations corresponds to the reshaping of the weight tensor (and the corresponding input tensor and output tensor). In a preferred embodiment, the 5D weight tensor can be reshaped to a size of (c i ,c o ,k), where k = k1·k2·k3.

[0042] The reshaped 3D weight tensor W can be reshap Further divided into different structures. In at least one embodiment, W reshape The convolution operation is divided into 2D or 3D super-blocks, and each super-block can be divided into 2D or 3D blocks. A unification process can be performed within each super-block. That is, a unified loss is calculated on each super-block, and the optimal unified structure for each super-block is determined based on the unified loss. Specifically, a set of desired unified structures is predefined by considering two aspects. The unified structure of the weight coefficients should be consistent with the basic GEMM matrix multiplication process for implementing convolution operations to accelerate inference calculations using unified weight coefficients. The unified structure of the weight coefficients can help improve quantization and entropy encoding and decoding efficiency.

[0043] 3D weight tensor W reshape can be divided into (g i ,g o ,g k ) of the super block, and further divide each super block into blocks. In one embodiment, g i =4,g o =4,g k =1, and the super block is simplified to a 2D matrix. For the blocks, each block has 4 weight coefficients, and the weight within the block is uniform.

[0044] Let S denote a superblock, and let f(S) denote the way in which the superblock is partitioned. The loss can be calculated To measure the error caused by unifying the weight coefficients according to f(S):

[0045]

[0046] Among them L U (B) Measure the loss of uniform weight coefficients in the block denoted by B.

[0047] To unify the blocks, the absolute values ​​of all weight coefficients in B can be the same while keeping the original signs of the weight coefficients. That is, the weight coefficients w i is set to + / -V B , and the sign + / - is the same as the original w i In at least one embodiment, V B =mean(abs(B)), (i.e., the average of the absolute values ​​of the weights in B), and L U (B) = std(abs(B)) (i.e., the standard deviation of the absolute values ​​of the weights in B). For each superblock S, the optimal partitioning method f*(S) can be selected as the method with the minimum loss:

[0048]

[0049] According to at least one embodiment, the reshaped 3D weight tensor may also be partitioned into different structures. For example, the reshaped W may be partitioned into 2D or 3D super blocks, such as 2D or 3D coding tree units. The size of a 2D coding tree unit (CTU) is (s i ,s o ), and the size of the 3D coding tree unit (CTU3D) is (s i ,s o ,s k ). In at least one embodiment, s i =s o =64, and s k = k. After the weights are uniformly retrained / fine-tuned, each CTU or CTU3D is encoded separately using its own quantization and entropy encoding and decoding process. In order to unify the weights, each CTU or CTU3D is further divided into 2D or 3D blocks. That is, the CTU can be further divided into blocks of size (b i ,b o ) 2D blocks. CTU3D can be further divided into blocks of size (b i ,b o ) or a 2D block of size (b i ,b o ,b k ) 3D block. Let S i Represents a super block (CTU or CTU3D), and let B ij Indicates S i2D or 3D blocks. In each block B ij Specifically, for each block, given the unified structure U ij and unified method V ij , the uniform loss can be calculated To measure according to U ij and V ij The cost of uniform weights. Then, for block B ij Determine the optimal unified structure U* ij and the optimal unified method V* ij , to give an optimal unified loss. The design of the unified structure and method takes two aspects into consideration. The unified structure and method of weight coefficients should be consistent with the underlying GEMM matrix multiplication process for convolution operations to accelerate inference computations using unified weight coefficients. This unified structure and method of weight coefficients can also help improve quantization and entropy encoding and decoding efficiency.

[0050] In at least one embodiment, the weighted uniform loss Further including compression rate loss Uniform Distortion Loss and computational speed loss

[0051]

[0052] where λ C and λ S is a hyperparameter that balances the contribution of different terms.

[0053] In order to unify the weights, each block B ij The weight can be p(p<b i ×b o ×b k ) different uniform absolute values ​​while preserving the original signs of the weights. The larger p is, the stronger the structural constraints that can be imposed on the weights, and the harder it is for the system to learn optimal weights to maintain the original target performance. Similarly, the larger the block, the stronger the constraints imposed on the weights, where stronger constraints can be imposed on the weights by forcing more weight coefficients to share the same absolute value. There are different ways to assign p values ​​to the block, each of which is associated with a different number of computations (i.e., multiplications and additions) when used in matrix multiplication. In at least one embodiment, b i =4,b o =4,b k =1, generate 2D block B ij In addition, p≤4 can be a trade-off between prediction degradation and compression efficiency. Given the structure U ij To unify block B ijThere are different ways to determine the actual value to assign to the weights. Let {w ij ∈B ij :u ij =v,u ij ∈U ij {, v = 1, ..., p represents the ij U ij The weight sets are marked to share the same vth absolute value. These weight coefficients can be + / - V ij (v) and the sign + / - is the same as the original weight. In at least one embodiment, V ij (v)=mean(abs(w ij ∈B ij :u ij =v,u ij ∈U ij )), which is the mean of the absolute values ​​of these weights. In this case, the standard deviation of the absolute values ​​of these weights Measure the error introduced by the unification process on these weights. Given the unified structure U ij and unified method V ij , then in this case, the uniform distortion loss can be calculated according to the following formula

[0054] Compression rate loss Reflection based on the unified structure U ij and unified method V ij In block B ij For example, when all weights are set to be the same, only one number is used to represent the entire block (p=1), and the compression rate is is defined as 1 / r compression .

[0055] Speed ​​loss reflects the computational speed of the estimate using a unified weight coefficient, which is based on the unified structure U ij and unified method V ij To unify, is a function of the number of multiplications in calculations using uniform weight coefficients.

[0056] Then, for each block B ij , the optimal unified structure U* that provides the minimum loss can be determined ij and the optimal unified method V* ij :

[0057]

[0058] Now refer to Figure 3A , depicts a block diagram of a neural network model compression system 300 according to at least one embodiment. The neural network model compression system 300A may include a unified structure selection module 302A, a weight unification module 304A, a network forwarding calculation module 306A, a training loss calculation module 308A, a gradient calculation module 310A, and a backpropagation and weight update module 312A.

[0059] The neural network model compression system 300A can use an iterative selective structured weight optimization process to learn updated optimal weight coefficients Θ*={W*} through a neural network retraining / recorrection process. Specifically, the input of the method is a pre-trained DNN model with weight coefficients Θ={W} and corresponding masks {M}, which can be a pruned sparse model or an unpruned dense model. W and M represent the weight coefficients and corresponding masks of a layer in the pre-trained DNN model. The unified structure selection module 302A can be used to determine the optimal unified structure {f*(S)} of W and M for the set of super blocks {S} in W. A list of super blocks can be determined, and the weight coefficients of these super blocks are determined by the weight unification module 304A. In order to determine the list of super blocks, all loss values ​​L can be collected for all super blocks in W. U (f * (S)), and can be sorted in ascending order based on L U (f * (S)) are sorted. Given the unification ratio q as a hyperparameter, the top q percent superblocks of W are selected and the corresponding weights are unified according to the method described in Section 3 above. The output of the weight unification process is the unified weight W U and the corresponding uniform mask M U . M U Has the shape of W U Same, and M U Each entry in W U Are the corresponding weights in uniform?

[0060] Given a training dataset in Can be compared with the original dataset Similarly, the pre-trained weight coefficient W is obtained based on the original dataset. It can also be different from dataset, but with the same The same data distribution. U W marked in U The uniform weight coefficients of are fixed, and a neural network training process is performed, for example, by a back-propagation mechanism to update W UThe remaining non-fixed weight coefficients in . The hyperparameter q can be predetermined or can be changed (e.g., increased) to gradually fix and unify more weight coefficients for later iterations during training to avoid premature unification. For the tth iteration, the current unified weight coefficient W can be used U (t) and uniform mask M U (t). The goal is to find a set of updated optimal weight coefficients W by iteratively minimizing the total loss U * and the optimal pruning mask M*. Specifically, the network forwarding calculation module 306A uses the current unified weight coefficient W U (t), passing each input x through the current network to produce an estimated output Based on the ground truth annotation y and the estimated output The loss is calculated by calculating the training loss module 308A The loss G(W U (t)). The automatic gradient calculation method used by deep learning frameworks (such as tensorflow or pytorch) can be used to calculate G(W U (t)). Based on the gradient G(W U (t)) and uniform mask M U (t), W can be updated by using the back propagation of the back propagation and weight update module 312A U (t) and the corresponding terms in the pruning mask M(t). Generally, multiple iterations are performed, for example, until the training loss converges, to update W U The non-fixed part of (t) and the corresponding pruning mask M(t). The system then enters the next iteration t+1, where a new uniform ratio q(t+1) is given according to W U (t), the new unified weight coefficient W can be calculated U (t+1) and the corresponding uniform mask M U (t+1), and the system enters the next iteration.

[0061] Referring now to FIG3 , a block diagram of a neural network model compression system 300B according to at least one embodiment is depicted. The neural network model compression system 300B may include a unified structure and method selection module 302B, a weight unification module 304B, a network forwarding calculation module 306B, a target loss calculation module 308B, a gradient calculation module 310B, and a backpropagation and weight update module 312B.

[0062] The neural network model compression system 300B can use an iterative selective structured weight optimization process to learn the updated optimal weight coefficient Θ*={W*} through a neural network retraining / recorrection process. Specifically, the input of the method is a pre-trained DNN model with weight coefficient Θ={W} and a corresponding mask {M}, which can be a pruned sparse model or an unpruned dense model. W and M represent the weight coefficient and corresponding mask of a layer in the pre-trained DNN model. The optimal unified structure {U} of the super block set {Si} in W can be determined by the unified structure and method selection module 302B. ij} and the corresponding optimal unified method {V ij The list of blocks that are actually unified according to their optimal unified structure and unification method is determined by the weight unification module 304B. To determine the list of blocks, all losses are collected for all blocks in {W}. And can be sorted in ascending order based on Given the unification ratio q as a hyperparameter, the first q percent of blocks are selected and their corresponding weights are unified according to their corresponding optimal unification structure and unification method. The output of the weight unification module 304B is a unified weight set {W U} and the corresponding uniform mask {Q U Each Q U With W U Same shape, and Q U Each entry in W U Are the corresponding weights in uniform?

[0063] Given a training dataset in Can be compared with the original dataset Similarly, the pre-trained weight coefficients {W} are obtained based on the original dataset. It can also be different from dataset, but with the same The same data distribution. U} marked with {W U The uniform weight coefficients of {W} are fixed, and a neural network training process is performed, for example, by a back-propagation mechanism to update {W U The remaining non-fixed weight coefficients in}. The hyperparameter q can be predetermined or can be changed. For example, the value of q can be increased as the iteration proceeds, thereby gradually fixing and unifying more weight coefficients for subsequent iterations during training. For the tth iteration, the current unified weight coefficients {W U (t)} and uniform mask {Q U (t)}. The goal is to find a set of updated optimal weight coefficients {WU *(t)} and pruning mask {M*(t)}. Specifically, the network forwarding calculation module 306A uses the current uniform weight coefficient W U (t), pass each training input x through the current network, producing an estimated output Based on the ground truth annotation y and the estimated output The loss is calculated by the calculation target loss module 308B The loss {G(W U (t))}. The automatic gradient calculation method used by deep learning frameworks (such as tensorflow or pytorch) can be used to calculate {G(W U (t))}. Based on the gradient G(W U (t)) and uniform mask M U (t), {W U (t)} and the corresponding terms in the pruning mask {M(t)}. Generally, multiple iterations are performed, for example, until the training loss converges, to update {W U (t)} and the corresponding pruning mask {M(t)}. Then the system enters the next iteration t+1, where a new uniform ratio q(t+1) is given according to {W U (t)}, the new unified weight coefficient set {W U (t+1)} and the corresponding uniform mask {Q U (t+1)}, and the system enters the next iteration.

[0064] Now refer to Figure 4 , depicts an operational flow diagram illustrating the steps of a method 400 for compressing a neural network model. In some embodiments, the computer 102 ( Figure 1 ) and server computer 114 ( Figure 1 ) to execute Figure 4 In some embodiments, the process may be performed by another device or a group of devices. Figure 4 The at least one process block of the present invention is that the other device or group of devices is separate from or includes the computer 102 and the server computer 114.

[0065] At 402 , method 400 includes identifying at least one coding tree unit corresponding to a multi-dimensional tensor associated with a neural network.

[0066] At 404, method 400 includes determining a set of weight coefficients associated with the coding tree unit.

[0067] In some embodiments, when determining a set of weight coefficients associated with the coding tree unit, the weight coefficients are quantized; and a subset of weight coefficients is selected that minimizes a uniform loss value, the uniform loss value associated with the weight coefficients.

[0068] In some embodiments, the minimized unified loss value is back-propagated, and a deep neural network is trained based on the back-propagated minimized unified loss value.

[0069] In some embodiments, the minimized unified loss value is back-propagated, and at least one weight coefficient in the subset of weight coefficients is fixed to at least one value based on the back-propagated minimized unified loss value.

[0070] In some embodiments, a gradient and a uniform mask associated with the set of weight coefficients are determined, and at least one non-fixed weight coefficient in the subset of weight coefficients is updated based on the gradient and the uniform mask.

[0071] In some embodiments, the set of weight coefficients is compressed by quantizing and entropy encoding a subset of the weight coefficients.

[0072] In some embodiments, the unified set of weight coefficients includes at least one weight coefficient having the same absolute value.

[0073] At 406 , method 400 includes compressing the model of the neural network according to the determined set of weight coefficients.

[0074] It can be recognized that Figure 4 This is merely an illustration of one embodiment and does not imply any limitation on how different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.

[0075] Based on the method of compressing the neural network model, the embodiment of the present disclosure also provides a computer system for compressing the neural network model, the computer system comprising:

[0076] an identification module for identifying at least one coding tree unit corresponding to a multidimensional tensor, the multidimensional tensor being associated with a neural network;

[0077] a unified module for determining a set of weight coefficients associated with the coding tree unit; and

[0078] A compression module is used to compress the model of the neural network according to the determined weight coefficient set.

[0079] In some embodiments, the unification module includes: a quantization module for quantizing the weight coefficient; and

[0080] A selection module is configured to select a subset of weight coefficients that minimizes a uniform loss value, wherein the uniform loss value is associated with the weight coefficients. In some embodiments, the computer system further includes a training module configured to back-propagate the minimized uniform loss value and train the deep neural network based on the back-propagated minimized uniform loss value.

[0081] In some embodiments, the minimized unified loss value is back-propagated, and at least one weight coefficient in the subset of weight coefficients is fixed to at least one value based on the back-propagated minimized unified loss value.

[0082] In some embodiments, the computer system further includes an update module configured to determine a gradient and a uniform mask associated with the weight coefficient set, and update at least one non-fixed weight coefficient in the weight coefficient subset according to the gradient and the uniform mask.

[0083] In some embodiments, the computer system further comprises a compression module for compressing the set of weight coefficients by quantizing and entropy encoding the subset of weight coefficients.

[0084] In some embodiments, the unified set of weight coefficients includes at least one weight coefficient having the same absolute value.

[0085] Figure 5 According to an exemplary embodiment Figure 1 FIG5 is a block diagram of the internal and external components of a computer depicted in FIG5. It should be understood that Figure 5 This is merely an illustration of one embodiment and is not meant to imply any limitations on the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.

[0086] Computer 102 ( Figure 1 ) and server computer 114 ( Figure 1 ) may include Figure 4 Respective sets of internal components 800A, 800B and external components 900A, 900B are shown. Each of the sets of internal components 800 includes at least one processor 820, at least one computer-readable RAM 822, and at least one computer-readable ROM 824 on at least one bus 826, at least one operating system 828, and at least one computer-readable tangible storage device 830.

[0087] The processor 820 is implemented in hardware, firmware, or a combination of hardware and software. The processor 820 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some embodiments, the processor 820 includes at least one processor that can be programmed to perform a function. The bus 826 includes components that allow communication between internal components 800A and 800B.

[0088] Server computer 114 ( Figure 1 ) on at least one operating system 828, software program 108 ( Figure 1 ) and neural network model compression program 116 ( Figure 1 ) are stored in at least one respective computer-readable tangible storage device 830 for execution by at least one respective processor 820 via at least one respective RAM 822 (which typically includes cache memory). Figure 5 In the illustrated embodiment, each computer-readable tangible storage device 830 is a magnetic disk storage device of an internal hard drive. Alternatively, each computer-readable tangible storage device 830 is a semiconductor memory device such as ROM 824, EPROM, flash memory, optical disk, magneto-optical disk, solid-state disk, compact disk (CD), digital versatile disk (DVD), floppy disk, cartridge, magnetic tape, and / or another type of non-volatile computer-readable tangible storage device that can store computer programs and digital information.

[0089] Each set of internal components 800A, 800B also includes a R / W drive or interface 832 to read from or write to at least one portable computer readable tangible storage device 936 (e.g., a CD-ROM, DVD, memory stick, tape, magnetic disk, optical disk, or semiconductor storage device). Figure 1 ) and neural network model compression program 116 ( Figure 1)) can be stored on at least one respective portable computer-readable tangible storage device 936, read via a respective R / W drive or interface 832, and loaded into a respective hard drive 830.

[0090] Each set of internal components 800A, 800B also includes a network adapter or interface 836 (e.g., a TCP / IP adapter card), a wireless Wi-Fi interface card, or a 3G, 4G, or 5G wireless interface card or other wired or wireless communication link. The server computer 114 (e.g., the server computer 114 can be connected to the server computer 114 from an external computer via a network (e.g., the Internet, a local area network, or other wide area network) and a corresponding network adapter or interface 836. Figure 1 ) on the software program 108 ( Figure 1 ) and neural network model compression program 116 ( Figure 1 ) is downloaded to computer 102( Figure 1 ) and server computer 114. From the network adapter or interface 836, the software program 108 and the neural network model compression program 116 on the server computer 114 are loaded into the corresponding hard disk drive 830. The network can include copper wire, fiber optic, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers.

[0091] Each set of external components 900A, 900B may include a computer display monitor 920, a keyboard 930, and a computer mouse 934. External components 900A, 900B may also include a touch screen, a virtual keyboard, a touchpad, a pointing device, and other human-computer interface devices. Each set of internal components 800A, 800B also includes a device driver 840 to interface with the computer display monitor 920, the keyboard 930, and the computer mouse 934. The device driver 840, the R / W driver or interface 832, and the network adapter or interface 836 comprise hardware and software (stored in the storage device 830 and / or ROM 824).

[0092] It should be understood in advance that although the present disclosure includes a detailed description of cloud computing, the embodiments of the teachings cited herein are not limited to cloud computing environments. Instead, some embodiments can be implemented in conjunction with any other type of computing environment now known or later developed.

[0093] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with the service provider. The cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0094] Features are as follows:

[0095] On-demand self-service: Cloud users can automatically and unilaterally provision computing capabilities, such as server time and network storage, as needed without manual interaction with the service provider.

[0096] Broad network access: Functionality is available over a network and accessed through standard mechanisms that facilitate use with heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0097] Resource pooling: A provider's computing resources can be pooled together through a multi-tenant model to serve multiple consumers, dynamically allocating and reallocating different physical and virtual resources based on demand. Generally, consumers cannot control or know the exact location of the provided resources, but can specify the location at a higher level of abstraction (e.g., country, state, or data center), thus achieving location independence.

[0098] Rapid elasticity: In some cases, capabilities can be provisioned quickly and elastically, and in some cases, automatically scaled out quickly and released quickly to scale in quickly. To the user, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.

[0099] Measured service: A cloud system automatically controls and optimizes resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both the provider and the user of the service being used.

[0100] The service model is as follows:

[0101] Software as a Service (SaaS): The functionality provided to consumers is the use of the provider's applications running on the cloud infrastructure. Applications are accessed from a variety of client devices through a thin client interface such as a web browser (e.g., web-based email). Users neither manage nor control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functionality, except for potential restrictions on user-specific application configuration settings.

[0102] Platform as a Service (PaaS): The functionality provided to consumers is to deploy applications they create or acquire onto cloud infrastructure. These applications are built using programming languages ​​and tools supported by the provider. Users neither manage nor control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but do have control over deployed applications and may also have control over the configuration of the application hosting environment.

[0103] Infrastructure as a Service (IaaS): The functionality provided to consumers is to provide processing, storage, networking, and other basic computing resources, enabling consumers to deploy and run arbitrary software, including operating systems and applications, on them. Users neither manage nor control the underlying cloud infrastructure, but have control over the operating system, storage, deployed applications, and may have limited control over select network components (for example, host firewalls).

[0104] The deployment model is as follows:

[0105] Private cloud: Cloud infrastructure is run solely for an organization. It can be managed by that organization or a third party and can exist on-premises or off-premises.

[0106] Community cloud: The cloud infrastructure is shared by several organizations and supports a specific community with common concerns (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by the organization or a third party and can exist on-premises or off-premises.

[0107] Public cloud: Cloud infrastructure is available to the public or a large industry group and is owned by the organization that sells the cloud services.

[0108] Hybrid cloud: A cloud infrastructure composed of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud explosion with inter-cloud load balancing).

[0109] Cloud computing environments are service-oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. The core of cloud computing is the infrastructure consisting of a network of interconnected nodes.

[0110] refer to Figure 6, depicts an exemplary cloud computing environment 600. As shown, the cloud computing environment 600 includes at least one cloud computing node 10, with which a local computing device used by a cloud user can communicate, such as, for example, a personal digital assistant (PDA) or a cellular phone 54A, a desktop computer 54B, a laptop computer 54C and / or an automobile computer system 54N. The cloud computing nodes 10 can communicate with each other. They can be physically or virtually grouped in at least one network (not shown), such as a private cloud, a community cloud, a public cloud or a hybrid cloud or a combination thereof as described above. This allows the cloud computing environment 600 to provide infrastructure as a service, platform as a service and / or software as a service, without the cloud consumer needing to maintain resources on a local computing device. It should be understood that Figure 6 The types of computing devices 54A-N shown in FIG. 6 are intended to be exemplary only, and cloud computing node 10 and cloud computing environment 600 may communicate with any type of computerized device over any type of network and / or network-addressable connection (eg, using a web browser).

[0111] refer to Figure 7 , showing a cloud computing environment 600 ( Figure 6 ) provides a set of functional abstraction layers 700. It should be understood in advance that Figure 7 The components, layers, and functions shown in the figure are merely exemplary, and the embodiments are not limited thereto. As shown in the figure, the following layers and corresponding functions are provided:

[0112] The hardware and software layer 60 includes hardware components and software components. Examples of hardware components include: host 61; server 62 based on Reduced Instruction Set Computer (RISC) architecture; server 63; blade server 64; storage device 65; and network and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.

[0113] Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71 ; virtual storage 72 ; virtual networks 73 , including virtual private networks; virtual applications and operating systems 74 ; and virtual clients 75 .

[0114] In one example, the management layer 80 may provide the functionality described below. Resource provisioning 81 provides dynamic acquisition of computing resources and other resources for performing tasks within a cloud computing environment. When resources are utilized in a cloud computing environment, metering and pricing 82 tracks the cost of resource usage and provides billing and invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud users and tasks, as well as protection of data and other resources. User portal 83 provides access to the cloud computing environment for users and system administrators. Service level management 84 provides cloud computing resource allocation and management to meet the required service levels. Service level agreement (SLA) planning and implementation 85 provides for the pre-arrangement and procurement of cloud computing resources in anticipation of future demand according to the SLA.

[0115] Workload layer 90 provides examples of functionality that can leverage a cloud computing environment. Examples of workloads and functionality that can be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom instructional delivery 93; data analytics processing 94; transaction processing 95; and neural network model compression 96. Neural network model compression 96 can compress neural network models based on selective structured weight unification in iterative networks.

[0116] Some embodiments may be directed to systems, methods, and / or computer-readable media at any possible level of technical detail integration.The computer-readable media may include computer-readable non-volatile storage media having computer-readable program instructions for causing a processor to perform operations.

[0117] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device such as a punched card or raised structure in a groove having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media is not to be construed as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses through a fiber optic cable), or electrical signals transmitted through wires.

[0118] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium within the corresponding computing / processing device.

[0119] The computer readable program code / instructions for performing the operations may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as SmallTalk, C++, etc.) and procedural programming languages ​​(such as the "C" programming language or similar programming languages). The computer readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuits including (for example) programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) can execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuits and thereby perform various aspects or operations of the present disclosure.

[0120] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions, which are executed by the processor of the computer or other programmable data processing device, create a method for implementing the functions / actions specified in the block or blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can direct the computer, programmable data processing device, and / or other equipment to operate in a specific manner so that the computer-readable storage medium storing the instructions includes such an article of manufacture, which includes instructions for implementing various aspects of the functions / operations specified in the block or blocks of the flowchart and / or block diagram.

[0121] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to perform a series of operational steps on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / operations specified in the box or boxes of the flowchart and / or block diagram.

[0122] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architectures, functions, and operations of the systems, methods, and computer-readable media according to various embodiments. In this regard, each block in the flowchart or block diagram may represent a module, fragment, or portion of an instruction that includes at least one executable instruction for implementing a specified logical function. The method, computer system, and computer-readable media may include additional blocks, fewer blocks, different blocks, or blocks arranged differently from those depicted in the accompanying drawings. In some alternative embodiments, the functions indicated in the blocks may not be performed in the order indicated in the accompanying drawings. For example, two blocks shown in succession may actually be performed simultaneously or substantially simultaneously, or the blocks may sometimes be performed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart illustration, as well as the combination of blocks in the block diagram and / or flowchart illustration, may be implemented by a hardware-based dedicated system that performs a specified function or operation or a combination of dedicated hardware and computer instructions.

[0123] Obviously, the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code that implements these systems and / or methods is not limited to these embodiments. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code - it should be understood that software and hardware can be designed based on the description herein to implement the systems and / or methods.

[0124] Elements, actions or instructions used herein should not be interpreted as critical or necessary unless explicitly described as such. In addition, as used herein, the articles "a" and "an" are intended to include at least one project and can be used interchangeably with "at least one". In addition, as used herein, the term "group" is intended to include at least one project (e.g., related projects, unrelated projects, a combination of related projects and unrelated projects, etc.), and can be used interchangeably with "at least one". When only one project is meant, the term "one" or similar language is used. In addition, as used herein, the terms "has", "have", "having" etc. are intended to be open terms. Further, the phrase "according to" is intended to mean "at least in part according to", unless otherwise explicitly stated.

[0125] The description of the various aspects and embodiments has been presented for illustrative purposes, but the description is not intended to be exhaustive or limited to the disclosed embodiments. Although combinations of features are referenced in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features can be combined in ways not specifically listed in the claims and / or disclosed in the specification. Although each dependent claim listed below may be directly dependent on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim group. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, the practical application, or improvements over technology found in the marketplace, or to enable those of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A method for compressing a neural network model, characterized in that: include: identifying at least one coding tree unit corresponding to a multidimensional weight tensor associated with a neural network; determining a set of weight coefficients associated with the coding tree unit by reducing the multi-dimensional weight tensor from five dimensions to three dimensions; and The neural network model is compressed according to the determined set of weight coefficients.

2. The method according to claim 1, characterized in that The determining of a set of weight coefficients associated with the coding tree unit comprises: quantifying the weight coefficients; and A subset of weight coefficients is selected that minimizes a unified loss value associated with the weight coefficients, the unified loss value including: a compression rate loss, a unified distortion loss, and a computational speed loss.

3. The method according to claim 2, characterized in that Further including: The minimized unified loss value is back-propagated, and a deep neural network is trained according to the back-propagated minimized unified loss value.

4. The method according to claim 2, characterized in that Further including: The minimized unified loss value is back-propagated, and at least one weight coefficient in the subset of weight coefficients is fixed to at least one value according to the back-propagated minimized unified loss value.

5. The method according to claim 4, characterized in that Further including: A gradient and a uniform mask associated with the set of weight coefficients are determined, and at least one non-fixed weight coefficient in the subset of weight coefficients is updated based on the gradient and the uniform mask.

6. The method according to claim 1, characterized in that Further including: The set of weight coefficients is compressed by quantizing and entropy encoding a subset of the weight coefficients.

7. The method according to claim 1, characterized in that The determined weight coefficient set includes at least one weight coefficient having the same absolute value.

8. A computer system for compressing a neural network model, characterized in that: The computer system comprises: an identification module for identifying at least one coding tree unit corresponding to a multidimensional weight tensor associated with a neural network; a unification module for determining a set of weight coefficients associated with the coding tree unit by reducing the multi-dimensional weight tensor from five dimensions to three dimensions; and A compression module is used to compress the model of the neural network according to the determined weight coefficient set.

9. The computer system according to claim 8, wherein: The unified module includes: A quantization module, used to quantize the weight coefficients; and The selection module is used to select a subset of weight coefficients that minimizes a unified loss value, where the unified loss value is associated with the weight coefficients and includes: compression rate loss, unified distortion loss, and calculation speed loss.

10. The computer system according to claim 9, wherein: The method further includes a training module, which is used to back-propagate the minimized unified loss value and train the deep neural network according to the back-propagated minimized unified loss value.

11. The computer system according to claim 9, wherein: The minimized unified loss value is back-propagated, and at least one weight coefficient in the subset of weight coefficients is fixed to at least one value according to the back-propagated minimized unified loss value.

12. The computer system according to claim 11, wherein: The method further includes an updating module configured to determine a gradient and a uniform mask associated with the weight coefficient set, and to update at least one non-fixed weight coefficient in the weight coefficient subset according to the gradient and the uniform mask.

13. The computer system according to claim 8, wherein: The compression module is further configured to compress the weight coefficient set by quantizing and entropy encoding the weight coefficient subset.

14. A non-volatile computer-readable medium, characterized in that A computer program for compressing a neural network model is stored thereon, and the computer program is used to enable at least one computer processor to execute the method according to any one of claims 1 to 7.

15. A computing device, characterized in that The method comprises a processor and a memory; the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Intra-frame prediction code rate control method

    CN107277520A

  • Encoding and decoding methods and devices including CNN-based in-loop filter

    US20190230354A1