Search

CN-121986480-A - System and method for obtaining neural networks for data compression

CN121986480ACN 121986480 ACN121986480 ACN 121986480ACN-121986480-A

Abstract

A method for obtaining a neural network for data compression is provided. The method includes initializing an encoder-side neural network at an encoding system, initializing a decoder-side neural network at a decoding system, wherein the encoder-side neural network and the decoder-side neural network have the same architecture and starting parameters, obtaining training data items by the encoding system, encoding the training data items by the encoding system to generate compressed training data items, transmitting the compressed training data items by the encoding system, receiving the compressed training data items by the decoding system, and training the encoder-side neural network and the decoder-side neural network based on the compressed training data items such that the encoder-side neural network and the decoder-side neural network remain the same.

Inventors

  • Slavomir Rozek
  • Marek Domanski
  • Thomas Grayek
  • Slavomir McCoviac
  • Orgerd Stankiewicz
  • Yakub Stankowski
  • Maciej Vavzhnyak

Assignees

  • OPPO广东移动通信有限公司

Dates

Publication Date
20260505
Application Date
20240929
Priority Date
20231009

Claims (20)

  1. 1. A method for obtaining a neural network for data compression, the method comprising: initializing an encoder-side neural network at an encoding system; initializing a decoder-side neural network at a decoding system; wherein the encoder-side neural network and the decoder-side neural network have the same architecture and starting parameters; obtaining training data items by the encoding system; encoding, by the encoding system, the training data item to generate a compressed training data item; Transmitting, by the encoding system, the compressed training data item; receiving the compressed training data item by the decoding system, and The encoder-side neural network and the decoder-side neural network are trained based on the compressed training data items such that the encoder-side neural network and the decoder-side neural network remain the same.
  2. 2. The method of claim 1, further comprising: the encoder-side neural network is trimmed by the encoding system.
  3. 3. The method of claim 2, further comprising: Determining, by the encoding system, an update to the decoder-side neural network based on the parameters of the trimmed encoder-side neural network and the parameters of the encoder-side neural network prior to trimming, and The update is sent by the encoding system to the decoding system.
  4. 4. A method according to claim 3, further comprising: Receiving the update by the decoding system, and The decoder-side neural network is updated by the decoding system based on the received updates.
  5. 5. The method of any of the preceding claims, wherein training the encoder-side neural network and the decoder-side neural network comprises, at each of the encoding system and decoding system: decoding the compressed training data item to generate a reconstructed training data item; Generating inputs to the respective neural networks based on the decoding; processing the input to the respective neural network by the respective neural network to generate a network output, and Parameters of the respective neural networks are adjusted based on the generated network outputs and based on the decoded corresponding target outputs.
  6. 6. The method of claim 5, wherein generating input to the respective neural network based on the decoding comprises: modifying the reconstructed training data item to reduce the quality of the reconstructed training data item, and Providing the reconstructed training data item of reduced quality as input to the corresponding neural network, and Wherein the reconstructed training data item is the target output of the neural network.
  7. 7. The method of claim 6, wherein modifying to reduce quality comprises modifying to introduce compression artifacts and/or distortion.
  8. 8. The method of claim 5, wherein generating an input to the respective neural network is based on an intermediate decoded output generated during decoding of the compressed data item.
  9. 9. The method of any of claims 2 to 4 or any of claims 5 to 8 when dependent on claim 2, wherein fine tuning the encoder-side neural network by the encoding system comprises: processing, by the encoder-side neural network, a trim input to the encoder-side neural network based on decoding the compressed trim training data item to generate a first trim network output, and Parameters of the encoder-side neural network are adjusted by the encoding system based on the trim network output and a corresponding trim target output.
  10. 10. The method of claim 9, wherein the trim input is a reconstructed training data item generated by decoding the compressed training data item and the trim target output is the training data item.
  11. 11. The method of claim 9, wherein the fine tuning input is an intermediate decoding output generated during decoding of the compressed training data item.
  12. 12. The method of claim 9, wherein fine-tuning the encoder-side neural network by the encoding system comprises: Obtaining, by the encoding system, a second training data item; encoding the second training data item by the encoding system to generate a compressed second training data item, and The compressed second training data item is decoded by the encoding system to generate a reconstructed second training data item.
  13. 13. The method of claim 12, wherein the trim input is the reconstructed second training data item and the trim target output is the second training data item.
  14. 14. The method of claim 12, wherein the fine tuning input is an intermediate decoding output generated during decoding of the compressed second training data item.
  15. 15. The method of any of the preceding claims, further comprising: receiving a data item for encoding at the encoding system; Encoding, by the encoding system, the data item to generate a compressed data item; Decoding, by the encoding system, the compressed data item to generate a reconstructed data item; trimming the encoder-side neural network based on the received data item and the reconstructed data item; determining, by the encoding system, a second update to the decoder-side neural network based on the parameters of the trimmed encoder-side neural network and the parameters of the encoder-side neural network prior to trimming, and The second update and the compressed data item are sent by the encoding system to the decoding system.
  16. 16. The method of claim 15, further comprising: Receiving, by the decoding system, the second update and the compressed data item; Updating, by the decoding system, the decoder-side neural network based on the received second update, and The compressed data item is decoded by the decoding system and using an updated decoder-side neural network.
  17. 17. A method for decoding, comprising: receiving, by a decoding system, the encoded data item, and Decoding, by the decoding system, the encoded data item using a neural network that has been trained in accordance with any one of claims 1 to 16.
  18. 18. A method for obtaining a neural network for data compression, the method comprising: initializing a decoder-side neural network at a decoding system; wherein the decoder-side neural network has the same architecture and parameters as the corresponding encoder-side neural network; receiving, by the decoding system, a compressed training data item, and The decoder-side neural network is trained by the decoding system based on the compressed training data items such that the encoder-side neural network and the decoder-side neural network remain the same.
  19. 19. The method of claim 18, further comprising: Receiving, by the decoding system, an update for the decoder-side neural network, and The decoder-side neural network is updated by the decoding system based on the received updates.
  20. 20. The method of claim 18 or 19, wherein training the decoder-side neural network comprises: decoding the compressed training data item to generate a reconstructed training data item; generating an input to the decoder-side neural network based on the decoding; processing the input to the neural network by the decoder-side neural network to generate a network output, and Parameters of the decoder-side neural network are adjusted based on the generated network output and based on the decoded corresponding target output.

Description

System and method for obtaining neural networks for data compression Technical Field The present application relates to the field of data compression, and in particular to a method, system, computer readable medium for obtaining a neural network for data compression. Background Neural networks can be used for data compression and their scale can be very large. In some cases, a neural network may have hundreds of layers and millions or billions of parameters. Typically, the neural network will be trained and then transmitted to the decoding system. However, even when compressed, transmitting the complete neural network model to the decoding system may still require a significant amount of bandwidth. Disclosure of Invention Embodiments of the present application provide methods, systems, and computer readable media for obtaining a neural network for data compression that overcome problems associated with conventional arrangements. According to a first aspect, a method for obtaining a neural network for data compression is provided. The method includes initializing an encoder-side neural network at an encoding system, initializing a decoder-side neural network at a decoding system, wherein the encoder-side neural network and the decoder-side neural network have the same architecture and starting parameters, obtaining training data items by the encoding system, encoding the training data items by the encoding system to generate compressed training data items, transmitting the compressed training data items by the encoding system, receiving the compressed training data items by the decoding system, and training the encoder-side neural network and the decoder-side neural network based on the compressed training data items such that the encoder-side neural network and the decoder-side neural network remain the same. In some embodiments, training the encoder-side neural network and the decoder-side neural network based on the compressed training data items occurs in parallel on the encoding system and the decoding system. In some embodiments, the training is performed asynchronously. In some embodiments, the method further comprises fine-tuning the encoder-side neural network by the encoding system. In some embodiments, the method further comprises maintaining, by the decoding system, current parameters of the decoder-side neural network while the encoder-side neural network is trimmed. In some embodiments, the method further includes determining, by the encoding system, an update to the decoder-side neural network based on the parameters of the trimmed encoder-side neural network and the parameters of the encoder-side neural network prior to trimming, and transmitting, by the encoding system, the update to the decoding system. In some embodiments, the method further includes receiving, by the decoding system, an update, and updating, by the decoding system, the decoder-side neural network based on the received update. In some embodiments, training the encoder-side neural network and the decoder-side neural network includes, at each of the encoding system and the decoding system, decoding the compressed training data items to generate reconstructed training data items, generating inputs to the respective neural networks based on the decoding, processing the inputs to the respective neural networks by the respective neural networks to generate network outputs, and adjusting parameters of the respective neural networks based on the generated network outputs and on the decoded corresponding target outputs. In some embodiments, generating the input to the respective neural network based on the decoding includes modifying the reconstructed training data item to reduce a quality of the reconstructed training data item, and providing the reduced quality reconstructed training data item as an input to the respective neural network, and wherein the reconstructed training data item is a target output of the neural network. In some embodiments, modifying to reduce quality includes modifying to introduce compression artifacts and/or distortion. In some embodiments, generating the input to the respective neural network is based on an intermediate decoded output generated during decoding of the compressed data item. In some embodiments, trimming the encoder-side neural network by the encoding system includes processing, by the encoder-side neural network, a trim input to the encoder-side neural network based on decoding the compressed trim training data item to generate a first trim network output, and adjusting, by the encoding system, parameters of the encoder-side neural network based on the trim network output and a corresponding trim target output. In some embodiments, the trim input is a reconstructed training data item generated by decoding a compressed training data item, and the trim target output is the training data item. In some embodiments, the fine tuning input is an intermediate decoding output generated during de