CN108271026A - 压缩/解压缩的装置和系统、芯片、电子装置 - Google Patents

压缩/解压缩的装置和系统、芯片、电子装置 Download PDF

Info

Publication number
CN108271026A
CN108271026A CN201711468419.XA CN201711468419A CN108271026A CN 108271026 A CN108271026 A CN 108271026A CN 201711468419 A CN201711468419 A CN 201711468419A CN 108271026 A CN108271026 A CN 108271026A
Authority
CN
China
Prior art keywords
data
neural network
module
compression
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711468419.XA
Other languages
English (en)
Other versions
CN108271026B (zh
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.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information Technology Co Ltd
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 Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Publication of CN108271026A publication Critical patent/CN108271026A/zh
Application granted granted Critical
Publication of CN108271026B publication Critical patent/CN108271026B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • 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/045Combinations of networks
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/048Activation functions
    • 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
    • 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Discrete Mathematics (AREA)
  • Neurology (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本公开提供了一种用于神经网络数据的压缩/解压缩的装置和系统、芯片、电子装置。其中,该压缩装置包括:模型转换模块;以及数据编码模块,与模型转换模块相连接。该解压缩装置包括:数据解码模块;以及模型转换模块,与数据解码模块相连接。该系统包括:上述的压缩装置和解压缩装置。本公开对神经网络数据进行压缩/解压缩,达到较高的压缩率,大幅减少了神经网络模型的存储空间和传输压力。

Description

压缩/解压缩的装置和系统、芯片、电子装置
技术领域
本公开涉及人工神经网络技术领域,尤其涉及一种用于神经网络数据的压缩/解压缩的装置和系统、芯片、电子装置。
背景技术
人工神经网络(ANNs),简称神经网络(NNs),是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,达到处理信息的目的。
目前,神经网络在智能控制、机器学习等很多领域均获得长足发展。随着深度学习的兴起,神经网络再次成为人工智能领域研究的热点问题。随着大数据与深度学习的广泛结合,神经网络的规模变得越来越大。谷歌公司(Google)的研究者提出了“大规模深度学习”的理念,希望通过Google作为平台整合全球的信息构建智能计算机系统。
随着深度学习技术的不断发展,当前神经网络的模型规模越来越大,对存储性能以及访存带宽需求越来越高。如果不进行压缩的话,不仅需要大量的存储空间,并且对访存带宽的要求也非常高。压缩神经网络,作为一种新的技术理念,在神经网络的规模日益增加的背景下就表现出充分的必要性。
发明内容
(一)要解决的技术问题
鉴于上述技术问题,本公开提供了一种用于神经网络数据的压缩/解压缩的装置和系统、芯片、电子装置,以减少存储空间和访存带宽的压力。
(二)技术方案
根据本公开的一个方面,提供了一种用于神经网络数据的压缩装置。该压缩装置包括:模型转换模块120,用于将神经网络数值数据转化为类视频数据;以及数据编码模块131,与所述模型转换模块120相连接,用于采用视频编码的方式对所述类视频数据进行编码,得到压缩结果。
在本公开的一些实施例中,本公开压缩装置中,所述类视频数据是指经过模型转换模块的转换后,原来的每个神经网络数值数据被转换为一系列预设范围内的整数值,对应于一个个像素的表示,这些整数共同所构成的对应视频的数据。
在本公开的一些实施例中,本公开压缩装置中,所述模型转换模块120采用以下两种方式其中之一将神经网络数值数据转化为类视频数据:
第一种方式:确定神经网络数值数据的数据范围在[-b,a],a是大于或者等于整个神经网络数值数据的最大值的正整数,-b是小于或等于整个神经网络模型数据的最小值的负整数。
模型转换模块120按以下公式操作进行转换:
其中,I是在[0,(2t-1)]区间内的整数,即一个像素的表示;w是在[-b,a]范围内的神经网络数值数据的真实数据值,a和b均为正整数,t为正整数;
因为神经网络数值数据具有空间局部相似性,即空间上相近的神经元和权连接可能相似,与视频的像素,帧间相似性类似,因而可能采取视频压缩方式压缩神经网络。
第二种方式:对于卷积神经网络数值数据,模型转换模块120将卷积神经网络数值数据中的每一种卷积核的权值和偏置进行转换,并将权值和偏置转换后得到的整数整合起来,得到对应视频帧的数据,从多种卷积核的权值和偏置得到的类似视频帧的数据结合起来就得到类视频数据。
其中,所述卷积神经网络数值数据是指:卷积神经网络的神经网络数值数据。
其中,所述的“整合”是指:当把每一个类似于视频帧的数据转变为卷积核数据后,就得到了整个卷积神经网络卷积核的信息,具体可以采用链表或其他数据结构进行存储。
在本公开的一些实施例中,所述数据编码模块131包括:编码子模块,用于采用视频编码的方式对所述类视频数据进行编码,得到数据编码结果;以及整合子模块,用于将数据编码结果和编码过程信息进行整合,得到压缩结果。
在本公开的一些实施例中,所述编码子模块包括:预测单元130a,用于利用类视频数据相邻数据之间的相关性进行预测编码;变换单元130b,用于对经过预测单元处理后的类视频数据进行正交变换编码,以压缩数据;量化单元130c,用于对经过变换单元处理后的类视频数据进行量化编码,在不降低数据质量的前提下减少数据的编码长度;以及熵编码单元130d,用于利用数据的统计特性对经过量化单元处理后的类视频数据进行码率压缩编码,以减少数据冗余。
在本公开的一些实施例中,所述预测单元130a、变换单元130b、量化单元130c、熵编码单元130d共用同一数据缓存单元或分别对应一数据缓存单元。
在本公开的一些实施例中,所述编码子模块包括:深度自动编解码器单元130e,用于对模型转换模块输出的类视频数据进一步编码,将隐层输出作为编码结果;其中,所述深度自动编解码器单元130e通过将类视频数据作为训练输入和理想输出利用最小化重构误差的方法进行训练,使输出成为与输入类视频数据基本相同的数据。
其中,在深度自动编解码器单元中,希望输出和输入一样,因此输出可以看作对输入的重构。而实际上输出和输入不同,则不同的地方就是重构误差,通过训练使得重构误差最小化就是如上所述的最小化重构误差。此处的基本相同,并没有严格的判别基准,只能说是类似。
在本公开的一些实施例中,所述压缩装置还包括:结构信息编码模块,用于将神经网络结构信息进行编码,得到神经网络结构数据。
在本公开的一些实施例中,所述神经网络数值数据包括:神经网络的权值数据和偏置数据。
在本公开的一些实施例中,所述神经网络结构信息包括:神经元之间的连接方式、层内神经元数目、激活函数种类。所述结构信息编码模块采用如下方式对神经网络结构信息进行编码:记录神经网络各层的层内神经元数目;对激活函数种类进行编码;用邻接矩阵表示各相邻层之间神经元的连接关系,从而得到以层号为索引号,神经元激活函数种类编号和邻接矩阵为索引结果的索引结构,即为神经网络结构数据。
在本公开的一些实施例中,本公开压缩装置还包括:数据缓存模块140,用于缓存神经网络数值数据;控制器模块110,与所述数据缓存模块140、模型转换模块120和数据编码模块131相连接,用于发送控制指令,以执行如下操作:
向数据缓存模块140发送数据读取指令,令其向外界请求神经网络数值数据,并将该神经网络数值数据进行缓存;
向模型转换模块120发送数据读取指令,令其从数据缓存模块140中读取神经网络数值数据;
向模型转换模块120发送数据转换指令,令其将读取的神经网络数值数据转换为类视频数据;
向数据缓存模块140发送数据读取指令,令其向模型转换模块120请求类视频数据,并进行缓存;
向数据编码模块131发送数据读取指令,令其从数据缓存模块140读取类视频数据;
向数据编码模块131发送数据编码指令,该编码指令中包含编码方式的信息,令其对采用该编码方式对应的单元对类视频数据进行编码,得到数据编码结果;
向数据编码模块131发送整合指令,令其将数据编码结果和编码过程信息进行整合,得到压缩结果;
向数据缓存模块140发送数据缓存指令,令其从数据编码模块131中获得压缩结果,并将压缩结果进行缓存。
根据本公开的另一个方面,还提供了一种用于神经网络数据的解压缩装置。该解压缩装置包括:数据解码模块132,用于得到压缩结果,采用与压缩结果对应的视频解码方式对所述压缩结果进行解码;以及模型转换模块120,与所述数据解码模块132相连接,用于将解码后的类视频数据复原为神经网络数值数据。
在本公开的一些实施例中,本公开解压缩装置中,所述数据解码模块132包括:解整合子模块,用于将压缩结果进行解整合,得到数据编码结果和编码过程信息;以及解码子模块,用于从所述编码过程信息中提取编码方式信息,利用该编码方式信息对应的解码方式对所述数据编码结果进行解码,得到类视频数据。
在本公开的一些实施例中,所述模型转换模块采用以下两种方式其中之一将解码后的类视频数据复原为神经网络数值数据:
第一种方式:确定神经网络数值数据的数据范围为[-b,a],,a是大于或者等于整个神经网络数值数据的最大值的正整数,-b是小于或等于整个神经网络模型数据的最小值的负整数。
模型转换模块120按以下公式操作,,从而复原神经网络数值数据:
其中,w是压缩装置模型转换模块转换前在[-b,a]范围内的神经网络数值数据的复原数据值,I为类视频数据,其是在[0,(2t-1)]区间内的整数,t为正整数。
可以理解的是,此处的神经网络数值数据其实是指之前压缩后的神经网络数值数据,因为压缩前的范围是[-b,a],所以解压后的神经网络数值数据也是在这个区间。
第二种方式:对于卷积神经网络数值数据,模型转换模块120将类视频数据中对应视频帧的数据进行转换,每一帧转换为卷积神经网络的一种卷积核的权值和偏置,将各帧转换的数据整合起来,得到卷积神经网络各卷积核的权值和偏置的整体信息,从而复原神经网络数值数据。
其中,所述卷积神经网络数值数据是指:卷积神经网络的神经网络数值数据。
其中,上述的“整合”是指:当把每一个类似于视频帧的数据转变为卷积核数据后,就得到了整个卷积神经网络卷积核的信息,具体可以采用链表或其他数据结构。
在本公开的一些实施例中,所述解压缩装置还包括:神经网络复原模块,用于神经网络结构数据进行解码,得到神经网络结构信息,将神经网络结构信息与复原后的神经网络数值数据一起复原神经网络。
在本公开的一些实施例中,所述神经网络数值数据为神经网络的权值数据和偏置数据。
在本公开的一些实施例中,所述神经网络结构信息包括:神经元之间的连接方式、层内神经元数目、激活函数种类,所述神经网络结构数据是对神经网络结构信息进行编码后的数据。
所述神经网络数值数据为神经网络的权值数据和偏置数据;或者所述解压缩装置还包括:非数值数据解码模块,用于将神经网络数值数据进行解码,得到相应的神经网络的非数值数据,其中,所述神经网络非数值数据为以下数据中的一种或多种:神经元之间的连接方式的数据和层数据。
在本公开的一些实施例中,本公开解压缩装置还包括:数据缓存模块140,用于缓存压缩结果;控制器模块110,与所述模型转换模块120、数据解码模块132和数据缓存模块140连接,用于向三者下达控制指令,以执行以下操作:
向数据缓存模块140发送数据读取指令,令其向外部请求压缩结果,并将该压缩结果缓存;
向数据解码模块132发送数据读取指令,令其从数据缓存模块140中读取压缩结果;
向数据解码模块132发送解整合指令,令其从所述压缩结果中解码出编码过程信息和数据压缩结果;
向数据解码模块132发送数据读取指令,从数据解码模块132读取编码过程信息;
根据编码过程信息选择解码指令;
向数据编码解码模块132发送解码指令,令其将压缩结果中的数据压缩结果进行解压缩,得到类视频数据;
向数据缓存模块140发送数据读取指令,令其从数据解码模块132读取类视频数据,并缓存;
向模型转换模块120发送数据读取指令,令其从数据缓存模块140中读取类视频数据;
向模型转换模块120发送数据转换指令,令其将类视频数据转换为神经网络数值数据。
根据本公开的再一个方面,还提供了一种用于神经网络数据的压缩/解压缩的系统。该系统包括:压缩装置,为以上所述的压缩装置;以及解压缩装置,为以上所述的解压缩装置。
在本公开的一些实施例中,所述压缩装置和解压缩装置共用数据缓存模块140、控制器模块110和模型转换模块120。
根据本公开的再一个方面,还提供了一种芯片,包括:如上所述的压缩装置;和/或如上所述的解压缩装置;和/或如上所述的压缩/解压缩的系统。
在本公开的一些实施例中,对于所述压缩装置或所述系统中的压缩装置:所述芯片包括存储部件,所述压缩装置设置于存储部件外侧,用于对传入存储部件的神经网络数据进行压缩;或者所述芯片包括输入端口,所述压缩装置设置于输入端口外侧,用于压缩输入的神经网络数据;或者所述芯片包括数据发送端,所述压缩装置设置于数据发送端,用于对欲发送的神经网络数据进行压缩。
在本公开的一些实施例中,对于所述解压缩装置或所述系统中的解压缩装置:所述芯片包括存储部件,所述解压缩装置设置于存储部件外侧,用于对从存储部件读出的压缩后的神经网络数据进行解压缩;或者所述芯片包括输出端口,所述解压缩装置设置于输出端口外侧,用于解压缩输入的压缩后的神经网络数据;或者所述芯片包括数据接收端,所述解压缩装置设置于数据接收端,用于对接收的压缩后的神经网络数据进行解压缩。
根据本公开的再一个方面,还提供了一种电子装置,包括:如上所述的芯片。
在本公开的一些实施例中,所述的电子装置,包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备交通工具、家用电器、和/或医疗设备。
在本公开的一些实施例中,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
(三)有益效果
从上述技术方案可以看出,本公开用于神经网络数据的压缩/解压缩的装置和系统、芯片、电子装置至少具有以下有益效果其中之一:
(1)借用视频编解码方法对神经网络数据进行压缩/解压缩,达到较高的压缩率,大幅减少了神经网络模型的存储空间和传输压力;
(2)在数据压缩/解压缩模块中,集成了多种压缩或解压缩的算法,能够大幅度加速压缩/解压缩过程;
(3)具有专用的数据缓存模块和控制器模块来服务于多种视频编解码专用模块,支持多种视频编解码技术的组合,极大地增加了装置的灵活性和实用性,同时支持新兴的运用深度神经网络进行压缩解压的技术。
综上,本公开可以实现大规模神经网络模型的高效压缩与解压,从而大幅减少神经网络模型的存储空间和传输压力,从而适应大数据时代神经网络规模不断扩大的趋势。
附图说明
图1为根据本公开第一实施例用于压缩神经网络数据的压缩装置的结构示意图。
图2为图1所示压缩装置中数据编码模块的结构示意图。
图3为图1所示压缩装置中控制器模块发送控制指令,以执行操作的流程图。
图4为本公开第二实施例用于解压缩神经网络数据压缩结果的解压缩装置的结构示意图。
图5为图4所示解压缩装置中数据解码模块的结构示意图。
图6为图4所示解压缩装置中控制器模块发送控制指令,以执行操作的流程图。
图7为本公开第三实施例用于神经网络数据压缩结果的压缩/解压缩系统的结构示意图。
图8为图7所示压缩/解压缩系统中压缩过程和解压缩过程的示意图。
图9为根据本公开压缩装置第二实施例的结构示意图。
图10为根据本公开解压缩装置第二实施例的结构示意图。
【本公开主要元件符号说明】
110、110′-控制器模块;
120、120′-模型转换模块;
140、140′-数据缓存模块;
130-数据编/解码模块;
131-数据编码模块; 131a-整合子模块;
132-数据解码模块; 132a-解整合子模块;
130a-预测单元; 130b-变换单元; 130c-量化单元;
130d-熵编码单元; 130d′-熵解码单元;
130e-深度自动编解码器单元;
133-结构信息编码模块;
134-神经网络复原模块;
200-外部存储模块。
具体实施方式
视频编码解码技术是一项十分成熟的技术,传统的视频编码解码技术采用预测、变换和熵编码等技术,深度学习兴起后,利用深度神经网络进行视频编解码也成为新的研究热点。
从广义上来讲,神经网络数据是指神经网络信息的集合体,包括神经网络数值数据和神经网络结构信息。
神经网络数值数据包括:神经元的权值数据和偏置数据,其实际上为数值数据。申请人经过认真地研究和比较后发现:神经网络数值数据与视频图像的像素一样具有局部相关性,因此运用视频编解码的方法来进行神经网络模型的编解码,进而压缩神经网络模型,将是一种可行的技术路线。
此外,神经网络结构信息包括:神经元之间的连接方式、神经元的数目、激活函数种类。对于这些神经网络结构信息,也可通过编码用数字表不。
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
一、压缩装置第一实施例
在本公开的第一个示例性实施例中,提供了一种用于压缩神经网络数据的压缩装置。在实际的系统环境中,该压缩装置可以安装在存储部件周围,为传入存储部件的神经网络数据进行压缩处理;也可以将其置于输入端口周围,压缩输入的神经网络数据;还可以将压缩装置设置于数据的发送端,用于压缩发送数据。
本实施例中,神经网络数据包括:神经网络数值数据,具体而言为神经元的权值数据和偏置数据。请参照图1,本实施例用于压缩神经网络数值数据的压缩装置包括:控制器模块110、模型转换模块120、数据编码模块131和数据缓存模块140。
本实施例中,数据缓存模块140用于缓存由外部存储模块200获得的神经网络数值数据。模型转换模块120与数据缓存模块140相连接,用于将神经网络数值数据转化为类视频数据。数据编码模块131与模型转换模块120相连接,用于采用视频编码的方式对类视频数据进行编码。控制器模块110与模型转换模块120、数据编码模块131和数据缓存模块140连接,用于向三者下达控制指令,令其协调工作。
请参照图3,本实施例中,控制器模块110发送控制指令,以执行如下操作:
步骤S302,向数据缓存模块140发送数据读取指令,令其向外部存储模块200请求神经网络数值数据,并将该神经网络数值数据进行缓存;
因为神经网络数值数据具有空间局部相似性,即空间上相近的神经元和权连接可能相似,与视频的像素,帧间相似性类似,因而可能采取视频压缩方式压缩神经网络。
步骤S304,向模型转换模块120发送数据读取指令,令其从数据缓存模块140中读取神经网络数值数据;
步骤S306,向模型转换模块120发送数据转换指令,令其将读取的神经网络数值数据转换为类视频数据;
其中,此处的类视频数据是指经过模型转换模块的转换后,原来的每个神经网络数值数据被转换为一系列预设范围内的整数值,如[0,255]区间内的整数值,对应于一个个像素的表示,这些整数共同所构成的类似视频的数据。以下以两种特定的神经网络数值数据为例进行说明:
(1)确定神经网络模型数据的数据范围[-b,a],其中,a是大于或者等于整个神经网络数值数据的最大值的正整数,-b是小于或等于整个神经网络模型数据的最小值的负整数。
将神经网络模型数据转换为0~255的整数(此时对应于8bpp),模型转换模块可以按以下公式操作:
其中,I是在[0,255]区间内的整数,即一个像素的表示;w是在[-b,a]范围内的神经网络数值数据的真实数据值。其中,8bpp表明像素深度是8,即每个像素点用8位数据来表示。在这种情况下,一个像素可以有2的8次方,即256种颜色。
本领域技术人员应当理解,上述公式中的“255”对应于像素深度为8的情况,来源于“(28-1)”,对于像素深度为t的情况,上述公式中的“255”应当用(2t-1)来代替,其中t为正整数。
(2)举例说明,神经网络数值数据包括卷积神经网络数值数据,对于卷积神经网络数值数据:
模型转换模块120将卷积神经网络数值数据中的每一种卷积核的权值和偏置进行转换,并将权值和偏置转换后得到的整数整合起来,得到对应视频帧的数据,多种卷积核的权值和偏置得到的类似视频帧的数据结合起来就得到类视频数据。
其中,所述卷积神经网络数值数据是指:卷积神经网络的神经网络数值数据。
其中,所述的“整合”是指:当把每一个类似于视频帧的数据转变为卷积核数据后,就得到了整个卷积神经网络卷积核的信息,具体可以采用链表或其他数据结构进行存储。
步骤S308,向数据缓存模块140发送数据读取指令,令其向模型转换模块120请求类视频数据,并进行缓存;
步骤S310,向数据编码模块131发送数据读取指令,令其从数据缓存模块140读取类视频数据;
步骤S312,向数据编码模块131发送数据编码指令,该编码指令中包含编码方式的信息,令其对采用该编码方式对应的单元对类视频数据进行编码,得到数据编码结果;
请参照图2,本实施例中,数据编码模块131包括:编码子模块,用于采用视频编码的方式对所述类视频数据进行编码,得到数据编码结果;以及整合子模块131a,用于将数据编码结果和编码过程信息进行整合,得到压缩结果。其中,编码子模块进一步包括:预测单元130a,变换单元130b,量化单元130c,熵编码单元130d和深度自动编解码器单元130e。
其中,在第一种编码方式中:
(1)预测单元130a利用类视频数据(转换后的神经网络数值数据)相邻数据之间的相关性进行预测编码。此处的“相邻”是指空间上相近。
其中,所述的预测编码是指根据类视频数据帧内和帧间相似性进行预测编码。举个例子,如果有三个连续的视频帧,抽掉中间一帧,仍然可以根据前后两帧与中间帧的相似性把中间帧预测出来,或者根据前两帧把最后一帧预测出来,这样只要存储两帧的信息而不是三帧。
具体在本实施例中,不同卷积核对应的神经网络单元的权值的相似性,对神经网络权值进行预测,将预测值与实际值之差进行编码,以达到压缩目的。其中,预测编码后的类视频数据和原类视频数据具有相同的表现形式。
(2)变换单元130b对经过预测单元130a处理后的类视频数据进行正交变换编码,从而达到压缩的目的。
例如,对类视频数据进行二维离散余弦变换(DCT)时,设f(m,n)为N×N的离散类视频数据,则二维DCT变换表示为:
其中,u,v=0,1,……,N-1,当u=0(v=0)时,
当u=1,2,……,N-1(v=1,2,……,N-1)时,c(u)=1(c(v)=1);f(m,n)为编码前在矩阵中位置为(m,n)的值,F(u,v)为编码后在矩阵中位置为(u,v)的值。
(3)量化单元130c对经过变换单元处理后的类视频数据进行量化编码,其可以在不降低数据质量的前提下减少数据的编码长度。
例如,采用标量量化技术时,对数据采用如下处理:
其中,F(u,v)为经过变换单元处理的类视频数据中的任意位置的数据(u,v=0,1,……,N-1),Qstep为量化步长,该量化步长参数由用户依据经验和场景设定,同时兼顾压缩比和数据复原程度,FQ(u,v)为F(u,v)的量化值,round()为取整函数(其输出为与输入实数最接近的整数)。
(4)熵编码单元130d利用数据的统计特性对经过量化单元处理后的类视频数据进行码率压缩编码,如采用哈夫曼编码和算数编码等。
例如在进行哈夫曼编码时,对出现概率大的符号分配短字长的二进制码,对出现概率小的符号分配长字长的二进制码,从而得到平均码长最短的码。
总的来说,本种编码方式包含:预测、变换、量化和熵编码,在数据编码模块131中,类视频数据依次经过预测单元130a、变换单元130b、量化单元130c和熵编码单元130d,前一个模块的输出为后一个模块的输入。例如一组类视频数据,经过预测单元130a后变为预测值与实际值的差的编码结果,进入变换单元130b后经过二维DCT变换被进一步压缩,再进入量化单元130c使得其编码长度被缩短,最后通过熵编码单元130d的哈夫曼编码减少编码冗余,从而达到较好的压缩效果。
此外,本领域技术人员能够理解,在第一种编码方式中,预测单元130a、变换单元130b、量化单元130c、熵编码单元130d共用同一数据缓存单元或分别对应一数据缓存单元。
需要说明的是,虽然本实施例中,类视频数据依次经过预测单元130a、变换单元130b、量化单元130c和熵编码单元130d,但本公开并不以此为限,在其他编码方式中,也可以是经过其他需要的单元和模块。本领域技术人员应当清楚在具体的编码方式中如何设定,在此不再赘述。其中,在第二种编码方式中,深度自动编解码器单元130e利用深度自动编码器的工作原理对数据进行编码。
其中,深度自动编解码器单元的工作原理即是编码端输出为编码结果,编码器训练采用最小化重构误差的方法,如下所述。
其中,深度自动编解码器单元通过将类视频数据作为训练输入和理想输出利用最小化重构误差的方法进行训练,使输出成为与输入类视频数据基本相同的数据,从而深度自动编解码器单元将隐层输出作为编码结果,将最终输出作为解码结果,由于隐层的神经元数目少于输入神经元数目,因此可以对输入的数据进行压缩。需要注意的是,深度自动编解码器单元会将深度自动编码器的解码器端的信息进行编码并编入编码结果,供解码使用。
需要解释的是,在深度自动编解码器单元中,希望输出和输入一样,因此输出可以看作对输入的重构。而实际上输出和输入不同,则不同的地方就是重构误差,通过训练使得重构误差最小化就是如上所述的最小化重构误差。需要说明的是,所述编码指令中可以是上述的一种编码方式,也可以是上述两种编码方式组合(在组合时不限定编码方式的顺序),也可以采用其他的视频编码方式。
同样的,关于该深度自动编解码器单元中,其可以是同上述的预测单元(130a)、变换单元(130b)、量化单元(130c)、熵编码单元(130d)共用同一数据缓存单元;也可以是具有一独立的数据缓存单元,均不影响本公开的实现。
具体来讲,控制器模块中的指令序列可以由用户编写的程序决定,可以采用用户希望采用的压缩方式对神经网络数值数据进行压缩。用户通过编写相关程序,将不同的编码方式进行组合。控制器模块将相关程序编译为指令,并将指令译码为相关控制指令,实现对各模块及编码过程的控制。
关于编码的具体过程,可以参照视频编码的相关说明,此处不再进一步详细说明。
需要进一步说明的是,压缩数据的过程实质上是对数据进行编码的过程,以上过程中的编码过程可等同视为压缩过程或压缩过程的一部分。
步骤S314,向数据编码模块131发送整合指令,令其将数据编码结果和编码过程信息进行整合,得到压缩结果;
在此步骤之后,压缩结果中包括两部分内容:第一部分为对神经网络数值数据的数据编码结果,第二部分是编码过程信息。其中,该编码过程信息中可以包含:编码方式的信息、深度自动编码器解码端信息(采用深度自动编解码器单元时)。
此处,编码方式的信息是指采用何种方式进行编码,是事先约定好的。例如:指令中某个域是“1”就用视频编码,是“2”就用深度自动编码器,是“3”就先用视频编码方式再用深度自动编码器等等。
步骤S316,向数据缓存模块140发送数据缓存指令,令其从数据编码模块131中获得压缩结果,并将压缩结果进行缓存;
步骤S318,向数据缓存模块140发送数据存储指令,令其将压缩结果存至外部存储模块200。
需要说明的是,虽然本实施例中是将压缩结果输出到外部存储模块,但在本公开其他实施例中,还可以是将该压缩结果直接传输出去,或者是将压缩结果缓存于数据编码模块131或者数据缓存模块140中,均是本公开可选的实现方式。
至此,本实施例用于压缩神经网络数值数据的压缩装置介绍完毕。
二、解压缩装置第一实施例
在本公开的第二个示例性实施例中,提供了一种用于解压缩神经网络数据压缩结果的解压缩装置。需要说明的是,为了达到简要说明的目的,上述压缩装置实施例中任何可作相同应用的技术特征叙述皆并于此,无需再重复相同叙述。
在实际的系统环境中,本实施例解压缩装置可以安装在存储部件周围,用于为传出存储部件的压缩后的神经网络数据进行解压缩处理;也可以将其置于输出端口周围,用于解压缩输出的压缩后的神经网络数据;还可以将解压缩装置置于数据的接收端,用于解压缩接收的压缩后的神经网络数据。
本实施例中,神经网络数据为神经网络数值数据。请参照图4,本实施例用于解压缩神经网络数值数据压缩结果的解压缩装置与第一实施例的压缩装置的结构类似,包括:控制器模块110′、模型转换模块120′、数据解码模块132和数据缓存模块140′。本实施例解压缩装置中各模块的连接关系,与第一实施例中压缩装置的连接关系类似,此处不再详细说明。
其中,控制器模块110′、模型转换模块120′和数据缓存模块140′的结构和功能与压缩装置中相应模块的结构和功能类似,此处不再赘述。
本实施例中,数据缓存模块140′用于缓存压缩结果。数据解码模块132与所述模型转换模块120′相连接,用于采用与压缩结果对应的视频解码方式对所述压缩结果进行解码。模型转换模块120′与所述数据解码模块132相连接,用于解码后的类视频数据复原为神经网络数值数据。控制器模块110′与模型转换模块120′、数据解码模块132和数据缓存模块140′连接,用于向三者下达控制指令,令其协调工作。
与第一实施例压缩装置不同的是,本实施例解压缩装置中各个模块执行的操作与第一实施例压缩装置相应模块执行的操作相逆。具体而言,请参照图5,本实施例中,控制器模块110′发送控制指令,以执行如下操作:
步骤S602,向数据缓存模块140′发送数据读取指令,令其向外部存储模块200请求压缩结果,并将该压缩结果缓存;
如上所述,此处压缩结果中包括两部分内容:第一部分为对神经网络数值数据的数据编码结果,第二部分是编码过程信息。
步骤S604,向数据解码模块132发送数据读取指令,令其从数据缓存模块140′中读取压缩结果;
步骤S606,向数据解码模块132发送解整合指令,令其从压缩结果中解码出编码过程信息和数据压缩结果;
步骤S608,向数据解码模块132发送数据读取指令,从数据解码模块132读取编码过程信息;
步骤S610,根据编码过程信息选择解码指令;
如上所述,编码过程信息中可以包含:编码方式的信息、深度自动编码器解码端信息(采用深度自动编解码器单元时)。因此,可以从编码过程信息中得到采用的何种编码方式或编码方式的组合对神经网络数值数据进行的编码,并据此产生相应的解码指令。该解码指令中包含采用何种解码方式对压缩结果中的数据编码结果进行解码。
步骤S612,向数据编码解码模块132发送解码指令,令其将压缩结果中的数据压缩结果进行解压缩,得到类视频数据;
其中,数据解码模块132包括:解整合子模块132a,用于将压缩结果进行解整合,得到数据编码结果和编码过程信息;以及解码子模块,用于从所述编码过程信息中提取编码方式信息,利用该编码方式信息对应的解码方式对所述数据编码结果进行解码,得到类视频数据。而解码子模块进一步包括:预测单元130a,变换单元130b,量化单元130c,熵解码单元130d′和深度自动编解码器单元130e。各个单元执行的操作与编码模块中的相关操作相逆。
其中,在第一种解码方式中(如图5中实线所示):
(1)熵解码单元130d′可以对压缩结果进行编码数据时所使用的熵编码方法对应的熵解码过程,如进行哈夫曼编码的解码过程。
(2)量化单元130c将经过熵解码单元130d′处理的压缩结果进行反量化处理。如对于经过标量量化技术处理的数据,采用以下反量化过程:
F(u,v)=FQ(u,v)·Qstep (3-2)
所有的参数定义与公式3-1相同,此处不再重述。
(3)变换单元130b对经过量化单元处理的数据压缩结果进行反正交变换进行解码。
例如,与公式2-1相逆,对于N×N矩阵的二维离散余弦逆变换表示为:
所有的参数定义与公式2-1相同,此处不再重述。
(4)预测单元130a利用原神经网络数值数据中相邻数据之间的相关性对经过变换单元处理的压缩结果进行解码。
例如:预测单元130a可以将预测值与相关差值相加,以恢复原值。
其中,在第二种解码方式中,深度自动编解码器单元130e对经过深度自动编码器编码的神经网络数值数据进行解码(如图5中虚线所示)。
例如,在解码过程中,深度自动编解码器单元130e首先从输入数据中解码出编码时所使用的深度自动编码器的解码端信息,用这些解码端信息构造一个解码器,再利用该解码器对经过深度自动编码器编码的神经网络数值数据进行解码。
在第一实施例中,编码指令中可以是一种编码方式,也可以是两种或两种以上的编码方式组合。与第一实施例对应,如果输入至数据解码模块132中的数据采用的是两种或两种以上的编码方式,则数据解码模块132依次采用相应的解码方式对数据进行解码。
例如:当输入数据解码模块132的数据所用的编码方法为预测、变换、量化和哈夫曼编码时,编码数据依次经过熵编码模块130d′,量化模块130c,变换模块130b和预测模块130a,前一个模块的输出为后一个模块的输入。例如一组输入数据编码解码模块的经过压缩的神经网络数值数据,经过熵解码模块130d′进行哈夫曼编码对应的解码过程进行解码,解码结果进入量化单元130c进行反量化,接着进入变换单元130b进行反变换,最后进入预测单元130a使得预测值与相关差值相加,从而输出解码结果。
关于解码的具体过程,可以参照视频解码的相关说明,此处不再进一步详细说明。
步骤S614,向数据缓存模块140′发送数据读取指令,令数据缓存模块140′从数据解码模块132读取类视频数据,并缓存;
步骤S616,向模型转换模块120发送数据读取指令,令模型转换模块120从数据缓存模块140′中读取类视频数据;
步骤S618,向模型转换模块120发送数据转换指令,令模型转换模块120将类视频数据转换为神经网络数值数据;
关于转换过程,其与第一实施例中模型转换模块执行的过程相逆。
以第一种方式为例:确定神经网络数值数据的数据范围为[-b,a],,a是大于或者等于整个神经网络数值数据的最大值的正整数,-b是小于或等于整个神经网络模型数据的最小值的负整数。
模型转换模块(120)按以下公式操作,从而复原神经网络数值数据:
其中,w是在[-b,a]范围内的神经网络数值数据的真实数据值,I为类视频数据,其是在[0,255]区间内的整数。
同样的,上述公式对应于像素深度为8的情况,对应像素深度为t的情况,上述公式中的“255”应当用“(2t-1)”来代替,其中t为正整数。
以第二种方式为例:对于卷积神经网络数值数据,模型转换模块120将类视频数据中对应视频帧的数据进行转换,每一帧转换为卷积神经网络的一种卷积核的权值和偏置,将各帧转换的数据整合起来,得到卷积神经网络各卷积核的权值和偏置的整体信息,从而复原神经网络数值数据。
其中,所述卷积神经网络数值数据是指:卷积神经网络的神经网络数值数据。
其中,当把每一个类似于视频帧的数据转变为卷积核数据后,就得到了整个卷积神经网络卷积核的信息,具体可以采用链表或其他数据结构。
步骤S620,向数据缓存模块140′发送数据读取指令,令数据缓存模块140′向模型转换模块120请求神经网络数值数据,并缓存;
步骤S622,向数据缓存模块140′发送数据写入指令,令数据缓存模块140′将神经网络数值数据写入外部存储模块200;
需要说明的是,虽然本实施例中是将解码结果输出到外部存储模块,但在本公开其他实施例中,还可以是将该解码结果直接传输出去,或者是将解码结果缓存于模型转换模块或者数据缓存模块中,均是本公开可选的实现方式。
需要进一步说明的是,解压过程实质上是一个解码的过程,因此以上的过程中的解码过程可以等同视为解压缩过程或解压缩过程的一部分。
至此,本实施例用于解压缩神经网络数值数据的解压缩装置介绍完毕。
三、压缩/解压缩系统第一实施例
在本公开的第三个示例性实施例中,还提供了一种压缩/解压缩系统。如图7所示,本实施例压缩/解压缩系统集成了第一实施例压缩装置与第二实施例的解压缩装置。并且,压缩装置和解压缩装置共用控制器模块(110、110′)、模型转换模块(120、120′)和数据缓存模块(140、140′)。并且,压缩装置中的数据编码模块131和解压缩装置中的数据解码模块132集成为数据编/解码模块130。在数据编解码模块130中,数据编码模块131和数据解码模块132共用预测单元130a,变换单元130b,量化单元130c和深度自动编解码器单元130e。熵编码模块130d和熵解码模块130d′在系统中作为一个模块存在,即实现数据的编码,也实现数据的解码。
以下分别对本实施例压缩/解压缩系统的压缩过程和解压缩过程进行概要性说明:
压缩过程:
首先,将神经网络数据存入外部存储模块200;接着,控制器模块110,发送控制指令给相关模块控制压缩过程;数据缓存模块140从外部存储模块中读取神经网络数据并缓存;接着,模型转换模块120从数据缓存模块140中读取神经网络数据并将其转换为类视频数据,随后将这些类视频数据存至数据缓存模块140;然后,数据编码模块131从数据缓存模块140读取类视频数据,这些数据依次经过预测单元130a,变换单元130b,量化单元130c和熵解码单元130d的处理完成压缩过程;随后,数据缓存模块140从数据编码解码模块30中读取压缩后的数据。最后,数据缓存模块140将压缩结果写入外部存储模块,压缩结果的数据量大大减小,方便进行存储、传输等操作,如图8中压缩过程所示。
解码过程:
首先,将待解压的数据存入外部存储模块200中,这些数据是神经网络数据经过预测、变换、量化和熵编码过程所压缩而成的;在接下来的过程中控制器模块110发送控制指令至各相关模块从而控制解压过程。数据缓存模块140从外部存储模块200读取待解压的数据。接着,数据解码模块132从数据缓存模块140读取待解压数据,这些数据一次经过熵解码单元130d′,量化单元130c,变换单元130b和预测单元130a的处理,解压为类视频数据。然后,数据缓存模块140从数据编码解码模块30中读取类视频数据。随后,数据缓存模块140将类视频数据存至模型转换模块120,模型转换模块120将其转换为神经网络数据。最后,数据缓存模块140从模型转换模块120读取神经网络数据,再将其写入外部存储模块200,从而实现神经网络数据的复原,如图8中解压缩过程所示。
至此,本实施例用于压缩/解压缩神经网络数据的压缩/解压缩系统介绍完毕。
四、压缩装置第二实施例
如上所述,神经网络数据包括:神经网络数值数据和神经网络结构信息。所述神经网络结构信息包括:神经元之间的连接方式、层内神经元数目、激活函数种类等。
对于神经网络结构信息,其不可以采用压缩装置第一实施例的方式进行压缩。
图9为根据本公开压缩装置第二实施例的结构示意图。如图9所示,本实施例压缩装置还包括:结构信息编码模块133,用于将神经网络结构信息进行编码,得到神经网络结构数据。
在该结构信息编码模块中,用于采用如下方式进行编码:
(1)记录神经网络各层的层内神经元数目;
(2)对激活函数种类进行编码,如Relu函数用1表示,Sigmoid函数用2表示;
(3)用邻接矩阵表示各相邻层之间神经元的连接关系,例如:邻接矩阵第i行第j列的元素为1表示上一层的第i个神经元和下一层的第j个神经元相连,反之则不相连。
通过上述方式,就可以得到一个以层号为索引号,神经元激活函数种类编号和邻接矩阵为索引结果的索引结构,即为神经网络结构数据。
对于得到的神经网络结构数据,其就可以和压缩后的神经网络数值数据一起被压缩或被存储。
本实施例中的神经网络数值数据进行压缩的模型转换模块、数据编码模块与压缩装置第一实施例中相应模块相同,此处不再赘述。
通过增加本实施例中的结构信息编码模块,实现了神经网络结构数据和神经网络数值数据的一并处理。
五、解压缩装置第二实施例
在本公开的第五个实施例中,提供了另外一种解压缩装置。
图10为根据本公开解压缩装置第二实施例的结构示意图。本实施例与解压缩装置第一实施例的区别在于,本实施例中,所述解压缩装置还包括:神经网络复原模块134,用于神经网络结构数据进行解码,得到神经网络结构信息,将神经网络结构信息与复原后的神经网络数值数据一起复原神经网络。
如上所述,神经网络结构信息包括:神经元之间的连接方式、层内神经元数目、激活函数种类等。而神经网络结构数据为对神经网络结构信息采用压缩装置第二实施例的方式编码之后的数据。
通过增加本实施例中的神经网络复原模块,实现了神经网络结构数据还原为神经网络结构信息,进而与复原后的神经网络数值数据一起实现神经网络的复原。
六、压缩/解压缩系统第二实施例
在本公开的第六个示例性实施例中,还提供了一种压缩/解压缩系统。本实施例压缩/解压缩系统集成了压缩装置第二实施例与解压缩装置第二实施例。六、其他实施例
在本公开的另外一些实施例里,还提供了一种芯片,其包括了:压缩装置第一实施例或压缩装置第二实施例所述的压缩装置、解压缩装置第一实施例和解压缩装置第二实施例所述的解压缩装置,或如第三实施例所述的压缩/解压缩系统。
对于压缩装置而言,其在芯片上的设置位置可以为:
1.所述芯片包括存储部件,所述压缩装置设置于存储部件外侧,用于对传入存储部件的神经网络数据进行压缩;或者
2.所述芯片包括输入端口,所述压缩装置设置于输入端口外侧,用于压缩输入的神经网络数据;或者
3.所述芯片包括数据发送端,所述压缩装置设置于数据发送端,用于对欲发送的神经网络数据进行压缩;
对于解压缩装置而言,其在芯片上的设置位置可以为:
1.所述芯片包括存储部件,所述解压缩装置设置于存储部件外侧,用于对从存储部件读出的压缩后的神经网络数据进行解压缩;或者
2.所述芯片包括输出端口,所述解压缩装置设置于输出端口外侧,用于解压缩输入的压缩后的神经网络数据;或者
3.所述芯片包括数据接收端,所述解压缩装置设置于数据接收端,用于对接收的压缩后的神经网络数据进行解压缩。
本领域技术人员可以理解的是,如果芯片需要压缩和解压缩功能,可以在芯片内部实现压缩/解压缩装置,装置与芯片的交互速度更快,置于片外可能降低交互速度,但如果用户并不需要神经网络芯片,只想要一个压缩/解压缩装置,也完全可以独立使用。
在本公开的另外一些实施例里,还提供了一种芯片封装结构,其包括了上述芯片。
在本公开的另外一些实施例里,本公开公开了一个板卡,其包括了上述芯片封装结构。
在一个实施例里,本公开公开了一个电子装置,其包括了上述芯片。
该电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
至此,已经结合附图对本实施例进行了详细描述。依据以上描述,本领域技术人员应当对本公开用于神经网络数据的压缩/解压缩的装置和系统、芯片、电子装置有了清楚的认识。
需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换,例如:
(1)在上述实施例中,外部存储模块和数据缓存模块为分离的两个模块,而在本公开的另外一些实施例中,外部存储模块和数据缓存模块还可以整体的形式存在,即将两个模块合并为一个具有存储功能的模块,其同样可以实现本公开;
(2)上述的一个或者多个或者全部的模块(比如预测子模块,变换子模块,等等)都有一个对应的数据缓存模块,或者都没有对应的数据缓存模块,而是有一个外部存储模块,均可以实施例本公开;
(3)可以用硬盘、内存体等作为外部存储模块来实现本公开;
(4)在本公开的其他一些实施例中,外部存储模块可以用输入输出模块替代,用来进行数据的输入和输出,例如:对于压缩装置而言,其对输入的神经网络数据进行压缩或将压缩后的神经网络数据进行输出;对于解压缩装置而言,其对输入的神经网络数据进行解压缩或将解压缩后的神经网络数据进行输出,同样可以实现本公开。
综上所述,本公开可以实现大规模神经网络模型的高效压缩与解压,从而大幅减少神经网络模型的存储空间和传输压力,从而适应大数据时代神经网络规模不断扩大的趋势,可以应用到神经网络数据的各个领域,具有较强的推广应用价值。
还需要说明的是,本文可提供包含特定值的参数的示范,但这些参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应值。除非特别描述或必须依序发生的步骤,上述步骤的顺序并无限制于以上所列,且可根据所需设计而变化或重新安排。并且上述实施例可基于设计及可靠度的考虑,彼此混合搭配使用或与其他实施例混合搭配使用,即不同实施例中的技术特征可以自由组合形成更多的实施例。
前面的附图中所描绘的进程或方法可通过包括硬件(例如,电路、专用逻辑等)、固件、软件(例如,被承载在非瞬态计算机可读介质上的软件),或两者的组合的处理逻辑来执行。虽然上文按照某些顺序操作描述了进程或方法,但是,应该理解,所描述的某些操作能以不同顺序来执行。此外,可并行地而非顺序地执行一些操作。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
各功能单元/模块都可以是硬件,比如该硬件可以是电路,包括数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于物理器件,物理器件包括但不局限于晶体管,忆阻器等等。所述计算装置中的计算模块可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如RRAM,DRAM,SRAM,EDRAM,HBM,HMC等等。以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (19)

1.一种用于神经网络数据的压缩装置,包括:
模型转换模块(120),用于将神经网络数值数据转化为类视频数据;以及
数据编码模块(131),与所述模型转换模块(120)相连接,用于采用视频编码的方式对所述类视频数据进行编码,得到压缩结果。
2.根据权利要求1所述的压缩装置,其中,所述类视频数据是指经过模型转换模块的转换后,原来的每个神经网络数值数据被转换为一系列预设范围内的整数值,对应于一个个像素的表示,这些整数共同所构成的对应视频的数据。
3.根据权利要求2所述的压缩装置,其中,所述模型转换模块(120)采用以下两种方式其中之一将神经网络数值数据转化为类视频数据:
第一种方式:确定神经网络数值数据的数据范围[-b,a],a是大于或者等于整个神经网络数值数据的最大值的正整数,-b是小于或等于整个神经网络模型数据的最小值的负整数;
模型转换模块(120)按以下公式操作进行转换:
其中,I是在[0,(2t-1)]区间内的整数,即一个像素的表示;w是在[-b,a]范围内的神经网络数值数据的真实数据值,t为正整数;
第二种方式:对于卷积神经网络数值数据,模型转换模块(120)将卷积神经网络数值数据中的每一种卷积核的权值和偏置进行转换,并将权值和偏置转换后得到的整数整合起来,得到对应视频帧的数据,从多种卷积核的权值和偏置得到的类似视频帧的数据结合起来就得到类视频数据。
4.根据权利要求1所述的压缩装置,其中,所述数据编码模块(131)包括:
编码子模块,用于采用视频编码的方式对所述类视频数据进行编码,得到数据编码结果;以及
整合子模块,用于将数据编码结果和编码过程信息进行整合,得到压缩结果。
5.根据权利要求4所述的压缩装置,其中,所述编码子模块包括:
预测单元(130a),用于利用类视频数据相邻数据之间的相关性进行预测编码;
变换单元(130b),用于对经过预测单元处理后的类视频数据进行正交变换编码,以压缩数据;
量化单元(130c),用于对经过变换单元处理后的类视频数据进行量化编码,在不降低数据质量的前提下减少数据的编码长度;以及
熵编码单元(130d),用于利用数据的统计特性对经过量化单元处理后的类视频数据进行码率压缩编码,以减少数据冗余。
6.根据权利要求4所述的压缩装置,其中,所述预测单元(130a)、变换单元(130b)、量化单元(130c)、熵编码单元(130d)共用同一数据缓存单元或分别对应一数据缓存单元。
7.根据权利要求4所述的压缩装置,其中,所述编码子模块包括:
深度自动编码器单元,用于对模型转换模块输出的类视频数据进一步编码,将隐层输出作为编码结果;
其中,所述深度自动编码器单元通过将类视频数据作为训练输入和理想输出利用最小化重构误差的方法进行训练,使输出成为与输入类视频数据基本相同的数据。
8.根据权利要求1至7中任一项所述的压缩装置,还包括:
结构信息编码模块,用于将神经网络结构信息进行编码,得到神经网络结构数据。
9.根据权利要求8所述的压缩装置,其中,
所述神经网络数值数据包括:神经网络的权值数据和偏置数据;
所述神经网络结构信息包括:神经元之间的连接方式、层内神经元数目、激活函数种类;
所述结构信息编码模块采用如下方式对神经网络结构信息进行编码:记录神经网络各层的层内神经元数目;对激活函数种类进行编码;用邻接矩阵表示各相邻层之间神经元的连接关系,从而得到以层号为索引号,神经元激活函数种类编号和邻接矩阵为索引结果的索引结构,即为神经网络结构数据。
10.根据权利要求1至7中任一项所述的压缩装置,还包括:
数据缓存模块(140),用于缓存神经网络数值数据;
控制器模块(110),与所述数据缓存模块(140)、模型转换模块(120)和数据编码模块(131)相连接,用于发送控制指令,以执行如下操作:
向数据缓存模块(140)发送数据读取指令,令其向外界请求神经网络数值数据,并将该神经网络数值数据进行缓存;
向模型转换模块(120)发送数据读取指令,令其从数据缓存模块(140)中读取神经网络数值数据;
向模型转换模块(120)发送数据转换指令,令其将读取的神经网络数值数据转换为类视频数据;
向数据缓存模块(140)发送数据读取指令,令其向模型转换模块(120)请求类视频数据,并进行缓存;
向数据编码模块(131)发送数据读取指令,令其从数据缓存模块(140)读取类视频数据;
向数据编码模块(131)发送数据编码指令,该编码指令中包含编码方式的信息,令其对采用该编码方式对应的单元对类视频数据进行编码,得到数据编码结果;
向数据编码模块(131)发送整合指令,令其将数据编码结果和编码过程信息进行整合,得到压缩结果;
向数据缓存模块(140)发送数据缓存指令,令其从数据编码模块(131)中获得压缩结果,并将压缩结果进行缓存。
11.一种用于神经网络数据的解压缩装置,包括:
数据解码模块(132),用于得到压缩结果,采用与压缩结果对应的视频解码方式对所述压缩结果进行解码;以及
模型转换模块(120),与所述数据解码模块(132)相连接,用于将解码后的类视频数据复原为神经网络数值数据。
12.根据权利要求11所述的解压缩装置,其中,所述数据解码模块(132)包括:
解整合子模块,用于将压缩结果进行解整合,得到数据编码结果和编码过程信息;以及
解码子模块,用于从所述编码过程信息中提取编码方式信息,利用该编码方式信息对应的解码方式对所述数据编码结果进行解码,得到类视频数据。
13.根据权利要求11所述的解压缩装置,其中,所述模型转换模块采用以下两种方式其中之一将解码后的类视频数据复原为神经网络数值数据:
第一种方式:确定神经网络数值数据的数据范围为[-b,a],,a是大于或者等于整个神经网络数值数据的最大值的正整数,-b是小于或等于整个神经网络模型数据的最小值的负整数;
模型转换模块(120)按以下公式操作,从而复原神经网络数值数据:
其中,w是在[-b,a]范围内的神经网络数值数据的真实数据值,I为类视频数据,其是在[0,(2t-1)]区间内的整数,t为正整数;
第二种方式:对于卷积神经网络数值数据,模型转换模块(120)将类视频数据中对应视频帧的数据进行转换,每一帧转换为卷积神经网络的一种卷积核的权值和偏置,将各帧转换的数据整合起来,得到卷积神经网络各卷积核的权值和偏置的整体信息,从而复原神经网络数值数据。
14.根据权利要求11至13中任一项所述的解压缩装置,还包括:
神经网络复原模块,用于神经网络结构数据进行解码,得到神经网络结构信息,将神经网络结构信息与复原后的神经网络数值数据一起复原神经网络;
其中,所述神经网络数值数据为神经网络的权值数据和偏置数据;所述神经网络结构信息包括:神经元之间的连接方式、层内神经元数目、激活函数种类,所述神经网络结构数据是对神经网络结构信息进行编码后的数据。
15.根据权利要求11至13中任一项所述的解压缩装置,还包括:
数据缓存模块(140),用于缓存压缩结果;
控制器模块(110),与所述模型转换模块(120)、数据解码模块(132)和数据缓存模块(140)连接,用于向三者下达控制指令,以执行以下操作:
向数据缓存模块(140)发送数据读取指令,令其向外部请求压缩结果,并将该压缩结果缓存;
向数据解码模块(132)发送数据读取指令,令其从数据缓存模块(140)中读取压缩结果;
向数据解码模块(132)发送解整合指令,令其从所述压缩结果中解码出编码过程信息和数据压缩结果;
向数据解码模块(132)发送数据读取指令,从数据解码模块132读取编码过程信息;
根据编码过程信息选择解码指令;
向数据编码解码模块(132)发送解码指令,令其将压缩结果中的数据压缩结果进行解压缩,得到类视频数据;
向数据缓存模块(140)发送数据读取指令,令其从数据解码模块(132)读取类视频数据,并缓存;
向模型转换模块(120)发送数据读取指令,令其从数据缓存模块(140)中读取类视频数据;
向模型转换模块(120)发送数据转换指令,令其将类视频数据转换为神经网络数值数据。
16.一种用于神经网络数据的压缩/解压缩的系统,包括:
压缩装置,为权利要求1~10中任一项所述的压缩装置;以及
解压缩装置,为权利要求11至15中任一项所述的解压缩装置。
17.根据权利要求16所述的压缩/解压缩的系统,其中:
所述压缩装置为权利要求9所述的压缩装置;以及
所述解压缩装置为权利要求14所述的解压缩装置;
其中,所述压缩装置和解压缩装置共用数据缓存模块(140)、控制器模块(110)和模型转换模块(120)。
18.一种芯片,包括:
如权利要求1~10中任一项所述的压缩装置;和/或
如权利要求11~15中任一项所述的解压缩装置;和/或
如权利要求16或17所述的压缩/解压缩的系统;
其中,对于所述压缩装置或所述系统中的压缩装置:
所述芯片包括存储部件,所述压缩装置设置于存储部件外侧,用于对传入存储部件的神经网络数据进行压缩;或者
所述芯片包括输入端口,所述压缩装置设置于输入端口外侧,用于压缩输入的神经网络数据;或者
所述芯片包括数据发送端,所述压缩装置设置于数据发送端,用于对欲发送的神经网络数据进行压缩;
和/或,对于所述解压缩装置或所述系统中的解压缩装置:
所述芯片包括存储部件,所述解压缩装置设置于存储部件外侧,用于对从存储部件读出的压缩后的神经网络数据进行解压缩;或者
所述芯片包括输出端口,所述解压缩装置设置于输出端口外侧,用于解压缩输入的压缩后的神经网络数据;或者
所述芯片包括数据接收端,所述解压缩装置设置于数据接收端,用于对接收的压缩后的神经网络数据进行解压缩。
19.一种电子装置,包括:如权利要求18所述的芯片。
CN201711468419.XA 2016-12-30 2017-12-28 压缩/解压缩的装置和系统、芯片、电子装置、方法 Active CN108271026B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611270091 2016-12-30
CN2016112700916 2016-12-30

Publications (2)

Publication Number Publication Date
CN108271026A true CN108271026A (zh) 2018-07-10
CN108271026B CN108271026B (zh) 2020-03-31

Family

ID=62707005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711468419.XA Active CN108271026B (zh) 2016-12-30 2017-12-28 压缩/解压缩的装置和系统、芯片、电子装置、方法

Country Status (4)

Country Link
US (2) US10462476B1 (zh)
EP (1) EP3564864A4 (zh)
CN (1) CN108271026B (zh)
WO (1) WO2018121670A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409518A (zh) * 2018-10-11 2019-03-01 北京旷视科技有限公司 神经网络模型处理方法、装置及终端
CN110009621A (zh) * 2019-04-02 2019-07-12 广东工业大学 一种篡改视频检测方法、装置、设备及可读存储介质
CN110248191A (zh) * 2019-07-15 2019-09-17 山东浪潮人工智能研究院有限公司 一种基于深层卷积神经网络的视频压缩方法
CN111047020A (zh) * 2018-10-12 2020-04-21 上海寒武纪信息科技有限公司 支持压缩及解压缩的神经网络运算装置及方法
CN111045726A (zh) * 2018-10-12 2020-04-21 上海寒武纪信息科技有限公司 支持编码、解码的深度学习处理装置及方法
CN111381878A (zh) * 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 数据处理装置、方法、芯片及电子设备
CN112445772A (zh) * 2019-08-31 2021-03-05 上海寒武纪信息科技有限公司 用于数据压缩和解压缩的装置和方法
CN113742003A (zh) * 2021-09-15 2021-12-03 深圳市朗强科技有限公司 一种基于fpga芯片的程序代码执行方法及设备
CN114422607A (zh) * 2022-03-30 2022-04-29 三峡智控科技有限公司 一种实时数据的压缩传输方法
CN114731406A (zh) * 2020-12-04 2022-07-08 深圳市大疆创新科技有限公司 编码方法、解码方法和编码装置、解码装置
WO2022147745A1 (zh) * 2021-01-08 2022-07-14 深圳市大疆创新科技有限公司 编码方法、解码方法和编码装置、解码装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018121670A1 (zh) * 2016-12-30 2018-07-05 上海寒武纪信息科技有限公司 压缩/解压缩的装置和系统、芯片、电子装置
KR102621118B1 (ko) * 2018-11-01 2024-01-04 삼성전자주식회사 영상 적응적 양자화 테이블을 이용한 영상의 부호화 장치 및 방법
EP3742349A1 (en) 2019-05-24 2020-11-25 Samsung Electronics Co., Ltd. Decompression apparatus and control method thereof
US11671110B2 (en) 2019-11-22 2023-06-06 Tencent America LLC Method and apparatus for neural network model compression/decompression
EP4062375A4 (en) * 2019-11-22 2022-12-28 Tencent America Llc METHOD AND APPARATUS FOR QUANTIZATION, ADAPTIVE BLOCK PARTITIONING AND CODEBOOK CODING FOR COMPRESSION OF A NEURAL NETWORK MODEL
US11496151B1 (en) * 2020-04-24 2022-11-08 Tencent America LLC Neural network model compression with block partitioning
US11611355B2 (en) * 2020-06-22 2023-03-21 Tencent America LLC Techniques for parameter set and header design for compressed neural network representation
US20220284282A1 (en) * 2021-03-05 2022-09-08 Qualcomm Incorporated Encoding techniques for neural network architectures

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184362A (zh) * 2015-08-21 2015-12-23 中国科学院自动化研究所 基于参数量化的深度卷积神经网络的加速与压缩方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3058774B2 (ja) * 1993-01-29 2000-07-04 株式会社河合楽器製作所 映像合成装置及び映像合成方法
US20060245500A1 (en) * 2004-12-15 2006-11-02 David Yonovitz Tunable wavelet target extraction preprocessor system
EP1862017A4 (en) * 2005-03-25 2011-03-23 Algolith Inc DEVICE AND METHOD FOR OBJECTIVELY EVALUATING THE DCT-CODED VIDEO QUALITY WITH OR WITHOUT AN ORIGINAL VIDEOS SEQUENCE
GB2519070A (en) * 2013-10-01 2015-04-15 Sony Corp Data encoding and decoding
US9818032B2 (en) * 2015-10-28 2017-11-14 Intel Corporation Automatic video summarization
CN108427990B (zh) * 2016-01-20 2020-05-22 中科寒武纪科技股份有限公司 神经网络计算系统和方法
CN108229654B (zh) * 2016-12-14 2020-08-14 上海寒武纪信息科技有限公司 神经网络卷积运算装置及方法
WO2018113597A1 (zh) * 2016-12-20 2018-06-28 上海寒武纪信息科技有限公司 矩阵乘加运算装置、神经网络运算装置和方法
WO2018121670A1 (zh) * 2016-12-30 2018-07-05 上海寒武纪信息科技有限公司 压缩/解压缩的装置和系统、芯片、电子装置
US11551067B2 (en) * 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
US10657439B2 (en) * 2017-10-24 2020-05-19 Shanghai Cambricon Information Technology Co., Ltd Processing method and device, operation method and device
US10540574B2 (en) * 2017-12-07 2020-01-21 Shanghai Cambricon Information Technology Co., Ltd Image compression method and related device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184362A (zh) * 2015-08-21 2015-12-23 中国科学院自动化研究所 基于参数量化的深度卷积神经网络的加速与压缩方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SONG HAN等: "DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZATION AND HUFFMAN CODING", 《INTERNATIONAL CONFERENCE ONLEARNING REPRESENTATIONS(ICLR) 2016》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409518A (zh) * 2018-10-11 2019-03-01 北京旷视科技有限公司 神经网络模型处理方法、装置及终端
CN109409518B (zh) * 2018-10-11 2021-05-04 北京旷视科技有限公司 神经网络模型处理方法、装置及终端
CN111047020A (zh) * 2018-10-12 2020-04-21 上海寒武纪信息科技有限公司 支持压缩及解压缩的神经网络运算装置及方法
CN111045726A (zh) * 2018-10-12 2020-04-21 上海寒武纪信息科技有限公司 支持编码、解码的深度学习处理装置及方法
CN111045726B (zh) * 2018-10-12 2022-04-15 上海寒武纪信息科技有限公司 支持编码、解码的深度学习处理装置及方法
CN111047020B (zh) * 2018-10-12 2022-11-29 上海寒武纪信息科技有限公司 支持压缩及解压缩的神经网络运算装置及方法
CN111381878A (zh) * 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 数据处理装置、方法、芯片及电子设备
CN110009621A (zh) * 2019-04-02 2019-07-12 广东工业大学 一种篡改视频检测方法、装置、设备及可读存储介质
CN110009621B (zh) * 2019-04-02 2023-11-07 广东工业大学 一种篡改视频检测方法、装置、设备及可读存储介质
CN110248191A (zh) * 2019-07-15 2019-09-17 山东浪潮人工智能研究院有限公司 一种基于深层卷积神经网络的视频压缩方法
CN112445772A (zh) * 2019-08-31 2021-03-05 上海寒武纪信息科技有限公司 用于数据压缩和解压缩的装置和方法
CN114731406A (zh) * 2020-12-04 2022-07-08 深圳市大疆创新科技有限公司 编码方法、解码方法和编码装置、解码装置
WO2022147745A1 (zh) * 2021-01-08 2022-07-14 深圳市大疆创新科技有限公司 编码方法、解码方法和编码装置、解码装置
CN113742003B (zh) * 2021-09-15 2023-08-22 深圳市朗强科技有限公司 一种基于fpga芯片的程序代码执行方法及设备
CN113742003A (zh) * 2021-09-15 2021-12-03 深圳市朗强科技有限公司 一种基于fpga芯片的程序代码执行方法及设备
CN114422607B (zh) * 2022-03-30 2022-06-10 三峡智控科技有限公司 一种实时数据的压缩传输方法
CN114422607A (zh) * 2022-03-30 2022-04-29 三峡智控科技有限公司 一种实时数据的压缩传输方法

Also Published As

Publication number Publication date
US10834415B2 (en) 2020-11-10
WO2018121670A1 (zh) 2018-07-05
US10462476B1 (en) 2019-10-29
EP3564864A4 (en) 2020-04-15
CN108271026B (zh) 2020-03-31
EP3564864A1 (en) 2019-11-06
US20190394477A1 (en) 2019-12-26
US20190327479A1 (en) 2019-10-24

Similar Documents

Publication Publication Date Title
CN108271026A (zh) 压缩/解压缩的装置和系统、芯片、电子装置
US10599935B2 (en) Processing artificial neural network weights
US11240492B2 (en) Neural network based residual coding and prediction for predictive coding
Chen et al. Exploiting intra-slice and inter-slice redundancy for learning-based lossless volumetric image compression
CN113259665B (zh) 一种图像处理方法以及相关设备
WO2019012363A1 (en) PREDICTION OF QUANTIFICATION PARAMETER PRESERVING VISUAL QUALITY THROUGH DEEP NEURAL NETWORK
CN106170979A (zh) 恒定质量视频编码
WO2018121798A1 (zh) 基于深度自动编码器的视频编解码装置及方法
CN112950471A (zh) 视频超分处理方法、装置、超分辨率重建模型、介质
CN105359533A (zh) 用于低功率图像压缩和显示的技术
CN109547784A (zh) 一种编码、解码方法及装置
Tang et al. Joint graph attention and asymmetric convolutional neural network for deep image compression
CN114978189A (zh) 一种数据编码方法以及相关设备
CN110909870A (zh) 训练装置及方法
CN115022637A (zh) 一种图像编码方法、图像解压方法以及装置
CN115604485A (zh) 视频图像的解码方法及装置
TWI826160B (zh) 圖像編解碼方法和裝置
CN116095183A (zh) 一种数据压缩方法以及相关设备
Thakur et al. Color Image Compression with Modified Fractal Coding on Spiral Architecture.
CN110956669A (zh) 一种图像压缩编码方法及系统
CN114979711B (zh) 音视频或图像分层压缩方法和装置
CN116939218A (zh) 区域增强层的编解码方法和装置
Yeo et al. A feedforward neural network compression with near to lossless image quality and lossy compression ratio
CN116708793B (zh) 视频的传输方法、装置、设备及存储介质
CN103179392A (zh) 图像处理设备以及图像处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant