CN112307230B - 一种数据存储的方法、及其数据获取方法、装置 - Google Patents

一种数据存储的方法、及其数据获取方法、装置 Download PDF

Info

Publication number
CN112307230B
CN112307230B CN201910687185.0A CN201910687185A CN112307230B CN 112307230 B CN112307230 B CN 112307230B CN 201910687185 A CN201910687185 A CN 201910687185A CN 112307230 B CN112307230 B CN 112307230B
Authority
CN
China
Prior art keywords
parameter vector
data
neural network
network model
stored
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.)
Active
Application number
CN201910687185.0A
Other languages
English (en)
Other versions
CN112307230A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910687185.0A priority Critical patent/CN112307230B/zh
Priority to US17/630,660 priority patent/US20220261433A1/en
Priority to PCT/CN2020/105590 priority patent/WO2021018218A1/zh
Priority to EP20848629.0A priority patent/EP4007173A4/en
Publication of CN112307230A publication Critical patent/CN112307230A/zh
Application granted granted Critical
Publication of CN112307230B publication Critical patent/CN112307230B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • 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
    • 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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6041Compression optimized for errors
    • 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/0409Adaptive resonance theory [ART] networks
    • 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/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

公开了一种数据存储的方法,该方法包括,为N个具有至少V维的待存储数据分配一个N维第一参数向量;其中,V、N为自然数,V大于等于N;对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,构建一将所述第二参数向量映射到所述待存储数据的期望数据样本的神经网络模型,对所述神经网络模型参数、和/或第一参数向量进行调整,直至第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本回归于所述待存储数据,存储所述当前第一参数向量。本发明使得存储了第一参数向量,就相当于存储了待存储的数据,将高维数据降低为低维数据来存储,使得存储空间大大降低。

Description

一种数据存储的方法、及其数据获取方法、装置
技术领域
本申请涉及数据存储领域,特别地,涉及一种降低存储空间的数据存储方法。
背景技术
数据维度是指具有不同值的对象的描述性属性或特征。例如,一张具有16×16像素的图片,每个像素具有不同像素值,则可视为具有256个维度的数据。
为了解决存储数据维度高所需存储空间大的问题,自编码器被用于为低维数据和高维数据建立一一对应的映射关系,这样,基于存储的低维数据,通过自编码器可得到对应的高维数据,从而使得存储空间能够减少。这类自编码器虽然一定程度降低了数据存储空间,但是在存储自编码器的网络模型参数的同时,仍需要大量存储压缩过的低维数据,这样,如果数据量非常大的情况下,基于自编码器的算法仍要大量存储空间。
如何进一步降低高维数据所对应的低维数据的存储量是一个亟待解决的问题。
发明内容
本发明提供了一种数据存储方法,以降低存储高维数据所需要的存储空间。
本发明提供的一种数据存储的方法是这样实现的:
为N个待存储数据分配一个N维第一参数向量;其中,V、N为自然数,V大于等于N;
对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,
构建一将所述第二参数向量映射到所述待存储数据的期望样本数据的神经网络模型,
对所述神经网络模型参数、和/或第一参数向量进行调整,直至第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本回归于所述待存储数据,存储所述当前第一参数向量。
该方法还包括,如果第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本未回归于所述待存储数据,则对当前第一参数向量进行N维置换,返回执行神经网络模型参数、和/或第一参数向量进行调整、直至第二参数向量基于训练后的神经网络模型获得所述待存储数据的步骤。。
较佳地,该方法还包括,对所述待存储数据按照类别进行区分,和/或,对同一类别数据分别为每个待存储数据分配标识,并存储所述类别和/或标识与所述第一参数向量的对应关系;
该方法还包括,存储训练后的神经网络模型的模型参数;
所述第一参数向量中各维参数初始值按照高斯分布随机值分别从所述N个待存储数据获得。
其中,所述对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,包括,通过N个仿射变换矩阵对所述第一参数向量进行N维置换,使得所述第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同。
其中,所述通过N个仿射变换矩阵对所述第一参数向量进行N维置换,使得所述第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同,包括,
通过N个仿射变换矩阵分别对所述第一参数向量进行置换,使得:当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的前k-1个元素截出放到该参数向量的末端,得到k-1个分别具有N维的第二参数向量,其中,k=1,…N。
其中,所述通过N个仿射变换矩阵对所述第一参数向量进行置换包括,
将所述N个仿射变换矩阵分别与所述第一参数向量相乘,
其中,N个仿射变换矩阵分别为N×N的矩阵,且,所述仿射变换矩阵中的元素aij满足:
又,所述对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,包括,
将第一参数向量中对应于所述标识的维度之值和第一参数向量中第一个维度之值互相交换,分别获得具有N维的第二参数向量。
其中,所述将第一参数向量中对应于所述标识的维度之值和第一参数向量中第一个维度之值互相交换包括,
通过N个仿射变换矩阵分别对所述第一参数向量进行置换,使得:当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的第k个元素与第一个元素互换,其中,k=1,…N。
其中,所述通过N个仿射变换矩阵分别对所述第一参数向量进行置换包括,
将所述N个仿射变换矩阵分别与所述第一参数向量相乘,
其中,N个仿射变换矩阵分别为N×N的矩阵,且,所述仿射变换矩阵中的元素aij满足:
a1k=1
a1k=1
较佳地,所述对所述神经网络模型参数、和/或第一参数向量进行调整,直至第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本回归于所述待存储数据,,包括,将所述N个分别具有N维的第二参数向量作为所述神经网络模型的输入变量,将神经网络模型的输出作为所述待存储数据的期望数据样本,对所述神经网络模型进行训练,和/或在训练过程中更新所述第一参数向量,直至神经网络模型输出的所述待存储数据的期望数据样本回归于所述待存储数据。
其中,所述对所述神经网络模型进行训练,和/或在训练过程中更新所述第一参数向量,直至神经网络模型输出的所述待存储数据的期望数据样本回归于所述待存储数据,包括,
对所述神经网络模型的模型参数进行初始化后,
累计当前迭代次数;
将当前第二参数向量输入至所述神经网络模型,得到待存储数据的当前期望数据样本,计算当前期望数据样本与待存储数据的损失函数,按照使得损失函数收敛来优化当前神经网络模型的模型参数和/或第一参数向量,得到该次迭代优化后的当前神经网络模型参数、和/或更新后的当前第一参数向量;
将当前第二参数向量或基于所述更新后的当前第一参数向量进行置换而得到的第二参数向量输入至所述优化后的当前神经网络模型,得到当前期望数据样本;
返回执行所述累计当前迭代次数的步骤,直至达到预定的迭代次数,或者损失函数收敛于设定的阈值,得到训练后的神经网络模型的模型参数和/或更新后的第一参数向量;
所述存储所述第一参数向量包括,存储当前更新后的第一参数向量。
较佳地,所述神经网络模型为深度学习深度网络模型;所述损失函数为回归类损失函数;所述仿射变化矩阵根据当前k值在线生成。
本发明还提供一种数据获取方法,包括,
根据待获取数据,获取存储的第一参数向量;
对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,其中,N为所述第一参数向量的维数;
获取数据存储时所使用的训练后神经网络模型参数,
将第二参数向量作为该神经网络模型的输入,将该神经网络模型的输出作为所述待获取数据。
其中,所述根据待获取数据,获取存储的第一参数向量包括,
根据待获取数据的类别和/或标识,基于存储的类别和/或标识与第一参数向量的对应关系,获得第一参数向量;
所述获取数据存储时所使用的训练后神经网络模型参数,包括,获取存储的训练后的神经网络模型的模型参数;并加该模型参数加载至神经网络模型中,得到训练后的神经网络模型。
其中,所述对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,包括,通过N个仿射变换矩阵对所述第一参数向量进行N维置换,使得所述第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同。
或,将第一参数向量中对应于所述标识的维度之值和第一参数向量中第一个维度之值互相交换,分别获得具有N维的第二参数向量。
本申请实施例基于一个N维的第一参数向量,通过仿射变换实现N个N维的第二参数向量,通过训练后的神经网络模型将所述第二参数向量映射到第一参数向量所对应的数据,从而使得存储了第一参数向量,就相当于存储了待存储的数据,将高维数据降低为低维数据来存储,使得存储空间大大降低。
附图说明
图1是本申请实施例对待存储数据进行存储的一种流程图。
图2为对构建的神经网络模型进行训练的一种流程图。
图3为本申请实施例所涉及的数据映射过程的一种示意图。
图4为基于所存储的第一参数向量、以及训练后的神经网络模型的模型参数获取样本数据的一种流程示意图。
图5为本申请实施例的数据存储的一种装置示意图。
图6为本申请实施例的获取数据的一种装置示意图。
具体实施方式
为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
本发明提出的数据存储方法,为待存储的数据分配一个N维的第一参数向量,将第一参数向量的不同维度进行置换,得到置换后的第二参数向量,使得一个第一参数向量对应N个数据样本,将第二参数向量作为神经网络的训练样本,通过迭代优化损失函数来训练该神经网络和/或调整第一参数向量。由此,建立第一参数与待存储数据的映射,从而存储第一参数以及训练后的神经网络参数。本发明基于神经网络对第一参数向量进行确定的仿射变换来实现一个低维数据能够表示多个高维数据,从而极大地降低了存储所需的空间。
参见图1,图1为本申请实施例对待存储数据进行存储的一种流程图。该存储方法包括,
步骤101,对于具有V维的待存储数据,为方便存储和查询,可以按照类别对数据进行区分,并进行编号以获得类别标签,进一步地,对同一类别数据中由特征值集合所构成的特征数据分别分配一个标识ID,作为该类别数据的样本标识,即,一特征数据视为一样本数据。例如,图像数据按照类别可以包括人物类、风景类等等,其中,人物类数据中可以包括若干个样本数据,譬如,若干张图片数据。
如果不区分类别,也可以直接对每个样本数据分配样本标识。
步骤102,对N个不同ID的样本数据x1,…,xN分配一个N维第一参数向量h1
该参数向量的初始值b1、.....bN可以按照高斯分布随机值采样获得,V大于等于N,较佳地,V远大于N。
步骤103,通过对所述第一参数向量的N个不同维度进行置换,得到N个分别具有N维的第二参数向量hk,从而能够使得第一参数向量对应N个样本。所述不同维度的置换包括,
hk=Akh1,k=1,…,N
其中,仿射变换矩阵Ak∈RN×N的元素aij可由下式表示:
上述仿射变换矩阵中,
当k=1时,仿射变换矩阵为单位矩阵;
当k≠1时,通过上述仿射变换后,相当于把h1前N-1个元素截出放到h1末端。
通过上述仿射变换,除了k=1之外,其它第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同,例如图3所示,这种变换建立了从一个低维参数向量h1到N个高维样本x1,…,xN的映射关系,实现了第一参数向量和第二参数向量之间差异最大化,有利于代表不同的样本。通过这种映射关系,可以直接存储低维的第一参数向量,然后通过映射关系恢复高维样本。由于一个低维向量可以映射N个高维样本,而且数据维度远远低于高维样本,从而所需的存储空间被极大地压缩了。
上述仿射变换矩阵可以根据k或标识在线生成,这样,仿射变换矩阵不必占用存储空间。此外,仿射变换矩阵还可以是其他形式,只要根据预先设定的规则所生成的仿射变换矩阵都是可以的。例如,仿射变换矩阵Ak∈RN×N的元素aij还可以是:
a1k=1
a1k=1
通过上述仿射变换后,相当于把h1的第k个元素与h1的第1个元素互换。
步骤104,构建一神经网络模型,并对该神经网络模型进行训练,和/或在训练过程中对第一参数向量进行更新,使得通过训练后的神经网络模型f将第二参数向量hk映射到数据样本xk
xk=f(hk)
其中,f表示训练后的神经网络模型,hk为该训练后神经网络模型的输入变量,xk为该训练后神经网络模型的输出;所述神经网络模型可以为深度神经网络模型、误差反向传播神经网络模型(BP(back propagation)神经网络模型)、递归神经网络模型(Hopfield神经网络模型)、人工神经网络模型(ART神经网络模型)和自组织特征映射(Self-OrganizingFeature Mapping)神经网络模型等。具体可以根据样本数据的特点确定。
步骤105,存储标识ID与第一参数向量的对应关系、第一参数向量、以及训练后的神经网络模型的模型参数。
参见图2所示,图2为对构建的神经网络模型进行训练的一种流程图。
设置神经网络模型中的各初始模型参数,通过该神经网络模型f0将第二参数向量hk进行样本映射,得到数据样本
其中,f0表示初始神经网络模型,是神经网络模型所恢复的期望数据样本,训练该神经网络模型是使得所述期望数据样本/>尽可能接近真实的数据样本xk
对构建的神经网络模型进行训练的一种实施方式包括如下步骤:
步骤201,累计当前迭代次数,
步骤202,计算当前神经网络模型的损失函数,按照使得损失函数收敛来优化当前神经网络模型的模型参数和/或第一参数向量,得到该次优化后的当前神经网络模型fm(m表示迭代次数)和/或根据神经网络模型的学习结果更新所述第一参数向量,使得第一参数向量成为可学习参数向量。所述损失函数的计算为:
其中,L表示损失函数,本实施例中,损失函数为两个向量(期望数据样本向量和真实数据样本向量)欧式距离平方和,xk为真实数据样本。
上述损失函数还可以是,回归类损失函数的一种,例如,均方误差损失函数、平均绝对误差损失函数、平滑平均绝对误差损失函数、Log-Cosh损失函数分位数损失(QuantileLoss)函数等的。具体可根据样本数据的特点、所采用的神经网络模型、迭代的效率、每次迭代时所得到期望数据样本等因素确定。
步骤203,基于优化后的当前神经网络模型fm和/或更新后的第一参数向量,将所述第二参数向量或基于更新后的第一参数向量进行置换而得到的更新后的第二参数向量输入至所述神经网络模型fm,得到当前数据样本
返回步骤201,直至达到预定的迭代次数,或者损失函数收敛于设定的阈值,然后保存当前第一参数向量、以及当前模型参数。
当神经网络模型训练结束后,对于N个数据样本,只需存储学习后的最终第一参数向量、以及训练后的神经网络模型的模型参数,实现了一个低维参数表征多个高维数据,从而极大地降低了存储所需要的空间。
参见图3所示,图3为本申请实施例所涉及的数据映射过程的一种示意图。其中,一个N维的第一参数向量通过仿射变换矩阵置换,得到N个分别为N维的第二参数向量,该N个第二参数向量输入至训练后的神经网络模型,则得到映射后的N个数据样本x1,…,xN
参见图4所示,图4为基于所存储的第一参数向量、以及训练后的神经网络模型的模型参数获取样本数据的一种流程示意图。
当需要获取样本数据时,根据所需获取样本数据的标识,得到该标识对应的第一参数向量;
根据所存储的第一参数向量,通过仿射变换矩阵进行N维度的置换,得到第二参数向量;具体计算公式与步骤103相同。
将神经网络模型算法用所存储的模型参数加载,即,调用存储时所使用的神经网络模型算法,并使用所存储的模型参数赋值,将第二参数向量作为神经网络模型算法的输入变量,神经网络模型算法的输出结果即为所需获取的样本数据。
本实施例通过上述步骤,能够快速地查询到所需要的数据,效率高,使用方便。
为进一步说明本申请实施例,以下以一具体的图像数据的存储为实施例来说明。
图像数据包括了大量的像素点及各个像素点的像素值,是典型高维数据中的一种;例如,在增量学习场景中,需要用到大量图像经过卷积神经网络中间层输出的特征图,这时特征图的特征数据具有很高的维度,在如果直接存储,将非常耗费存储空间。
假设待存储的图像数据为10张图片数据,每个图片包括有16×16个像素点的像素值。按照本申请实施例,即,包括有10个不同ID的样本数据。
为该10个样本数据分配一个10维的第一参数向量h1,该向量中的元素初始值为按照高斯分布随机值采样所述10个样本数据获得。
通过对所述第一参数向量的10个不同维度进行置换,得到10个分别具有10维的第二参数向量h10
构建深度学习神经网络模型,并对该深度学习神经网络模型进行训练,使得通过训练后的深度学习神经网络模型f将10个10维的第二参数向量h10映射到10张图片的像素值。
其中,对构建的神经网络模型进行训练的一种实施方式是,设置神经网络模型中的各初始模型参数,通过该神经网络模型f0将第二参数向量h1,h2,……h10进行样本映射,得到10张图片的期望数据样本
其中,f0表示初始神经网络模型,是神经网络模型所恢复的第k张图片的期望图片数据,k=1,2,…10。
累计当前迭代次数,
计算当前神经网络模型的损失函数,按照使得损失函数收敛来优化当前神经网络模型的模型参数,得到该次优化后的当前神经网络模型fm(m表示迭代次数)和/或根据神经网络模型的学习结果更新所述第一参数向量,使得第一参数向量称为可学习参数向量。所述损失函数的计算为:
其中,L表示损失函数,xk为待存储的第k张图片的图片数据。
基于优化后的当前神经网络模型fm和/或更新后的第一参数向量,将所述第二参数向量和/或基于更新后的第一参数向量进行置换而得到的更新后的第二参数向量输入至所述神经网络模型fm,得到当前数据样本。
返回累计当前迭代次数步骤,直至达到预定的迭代次数,或者损失函数收敛于设定的阈值。
当神经网络模型训练结束后,对于10张图片数据,只需存储学习后的最终第一参数向量的10个元素值、以及训练后的神经网络模型的模型参数。而待存储的10张图片数据实际有2560个像素值需要存储。由此可将,采用本申请实施例,能够极大地压缩数据的存储空间。
参见图5所示,图5为本申请实施例的数据存储的一种装置示意图。该装置包括,
分配模块,对N个具有至少V维的待存储数据分配一个N维第一参数向量;其中,各维参数向量初始值按照高斯分布随机值分别从所述N个待存储数据获得,V、N为自然数,V大于等于N,较佳地,V远大于N;
置换模块,对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,
神经网络模块,构建一将当前第二参数向量映射到所述待存储数据的期望数据样本的神经网络模型,
对所述神经网络模型的模型参数、和/或第一参数向量进行调整,直至当前第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本回归于所述待存储数据,。
存储模块,存储所述当前第一参数向量,存储训练后的神经网络模型的模型参数。
针对带存储的样本数据,由于图片包含的数据较大,将存储数据量大的待存储的样本数据,替换为存储维度较低的第一参数向量,因此可以大量节省存储空间,降低运算量。
所述神经网络模块还包括,如果当前第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本未回归于所述待存储数据,则对当前第一参数向量进行N维置换,返回执行所述对所述神经网络模型的模型参数和/或第一参数向量进行调整的步骤。
较佳地,该装置还包括,
数据标识模块,对所述待存储数据按照类别进行区分,和/或,对同一类别数据分别为每个待存储数据分配标识,并将所述类别和/或标识与所述第一参数向量的对应关系存储到所述存储模块中。
所述置换模块包括,通过N个仿射变换矩阵对所述第一参数向量进行N维置换,使得所述第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同,例如,当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的前k-1个元素截出放到该参数向量的末端,得到k-1个分别具有N维的第二参数向量,其中,k=1,…N。
或者,将第一参数向量中对应于所述标识的维度之值和第一参数向量中第一个维度之值互相交换,分别获得具有N维的第二参数向量,例如,当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的第k个元素与第一个元素互换,其中,k=1,…N。
所述置换模块还包括仿射变换矩阵在线生成模块,根据预先设置的变换规则在线生成各个仿射变换矩阵。
所述神经网络模块包括,将所述N个分别具有N维的第二参数向量作为所述神经网络模型的输入变量,将神经网络模型的输出作为所述待存储数据的期望数据样本。
所述装置还包括训练模块,
对所述神经网络模型的模型参数进行初始化后,
累计当前迭代次数;
将当前第二参数向量输入至所述神经网络模型,得到待存储数据的当前期望数据样本,计算当前期望数据样本与待存储数据的损失函数,按照使得损失函数收敛来优化当前神经网络模型的模型参数和/或第一参数向量,得到该次迭代优化后的当前神经网络模型的模型参数和/或更新后的当前第一参数向量;
将当前第二参数向量或基于所述更新后的当前第一参数向量进行置换而得到的第二参数向量输入至所述优化后的当前神经网络模型,得到当前期望数据样本;
返回执行所述累计当前迭代次数的步骤,直至达到预定的迭代次数,或者损失函数收敛于设定的阈值,得到训练后的神经网络模型的模型参数和/或第一参数向量。
所述神经网络模块为深度学习神经网络模块。
参见图6所示,图6为本申请实施例的获取数据的一种装置示意图。该装置包括,
第一参数向量获取模块,根据待获取数据,获取存储的第一参数向量;
置换模块,对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,其中,N为所述第一参数向量的维数;
神经网络模型模块,获取数据存储时所使用的训练后神经网络模型;将第二参数向量作为当前神经网络模型的输入,将当前神经网络模型的输出作为所述待获取数据。
所述第一参数向量获取模块还包括,根据待获取数据的类别和/或标识,基于存储的类别和/或标识与第一参数向量的对应关系,获得第一参数向量。
所述置换模块包括,通过N个仿射变换矩阵对所述第一参数向量进行N维置换,使得所述第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同,例如,当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的前k-1个元素截出放到该参数向量的末端,得到k-1个分别具有N维的第二参数向量,其中,k=1,…N。
或者,将第一参数向量中对应于所述标识的维度之值和第一参数向量中第一个维度之值互相交换,分别获得具有N维的第二参数向量,例如,当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的第k个元素与第一个元素互换,其中,k=1,…N。
所述置换模块还包括仿射变换矩阵在线生成模块,根据预先设置的变换规则在线生成各个仿射变换矩阵。
本发明还提供了一种数据存储装置,其特征在于,该装置包括,存储器以及处理器,其中,
存储器用于存储指令,该指令在由处理器执行时使得处理器执行所述数据存储方法的步骤。
本发明还提供了一种数据获取装置,其特征在于,该装置包括,存储器以及处理器,其中,
存储器用于存储指令,该指令在由处理器执行时使得处理器执行如权利要求12至19任一所述数据获取方法的步骤。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
为N个具有至少V维的待存储数据分配一个N维第一参数向量;其中,各维参数向量按照高斯分布随机值分别从所述N个待存储数据获得,N为自然数;
对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,
构建一将当前第二参数向量映射到所述待存储数据的期望数据样本的神经网络模型,
对所述神经网络模型的模型参数、和/或第一参数向量进行调整,直至当前第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本回归于所述待存储数据,存储所述当前第一参数向量。
对于装置/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本申请尽管是以数据存储、和获取为实施例进行的说明,所应理解的是,本发明不仅仅用于数据的存储,还可应用于数据表征,例如,将复杂数据信息用简化的数据信息来表征,也可用于数据维度的降低,例如,将高维数据降低为低维数据。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (22)

1.一种数据存储的方法,其特征在于,该方法包括,
为N个待存储数据分配一个N维第一参数向量;
对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,
构建一将当前第二参数向量映射到所述待存储数据的期望数据样本的神经网络模型,
对所述神经网络模型的模型参数、和/或第一参数向量进行调整,直至当前第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本回归于所述待存储数据;
存储所述当前第一参数向量、训练后的神经网络模型的模型参数、以及待存储数据的标识与所分配的第一参数向量的对应关系。
2.如权利要求1所述的方法,其特征在于,该方法还包括,如果当前第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本未回归于所述待存储数据,则对当前第一参数向量进行N维置换,返回执行所述对所述神经网络模型的模型参数和/或第一参数向量进行调整的步骤。
3.如权利要求1所述的方法,其特征在于,该方法还包括,对所述待存储数据按照类别进行区分,和/或,对同一类别数据分别为每个待存储数据分配标识,并存储所述类别和/或标识与所述第一参数向量的对应关系;
该方法还包括,存储训练后的神经网络模型的模型参数;
所述第一参数向量中各维参数初始值按照高斯分布随机值分别从所述N个待存储数据获得。
4.如权利要求3所述的方法,其特征在于,所述对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,包括,通过N个仿射变换矩阵对所述第一参数向量进行N维置换,使得所述第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同。
5.如权利要求4所述的方法,其特征在于,所述通过N个仿射变换矩阵对所述第一参数向量进行N维置换,使得所述第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同,包括,
通过N个仿射变换矩阵分别对所述第一参数向量进行置换,使得:当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的前k-1个元素截出放到该参数向量的末端,得到k-1个分别具有N维的第二参数向量,其中,k=1,…N;
所述仿射变换矩阵根据当前k值在线生成。
6.如权利要求5所述的方法,其特征在于,所述通过N个仿射变换矩阵对所述第一参数向量进行置换包括,
将所述N个仿射变换矩阵分别与所述第一参数向量相乘,
其中,N个仿射变换矩阵分别为N×N的矩阵,且,所述仿射变换矩阵中的元素aij满足:
7.如权利要求3所述的方法,其特征在于,所述对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,包括,
将第一参数向量中对应于所述标识的维度之值和第一参数向量中第一个维度之值互相交换,分别获得具有N维的第二参数向量。
8.如权利要求7所述的方法,其特征在于,所述将第一参数向量中对应于所述标识的维度之值和第一参数向量中第一个维度之值互相交换包括,
通过N个仿射变换矩阵分别对所述第一参数向量进行置换,使得:当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的第k个元素与第一个元素互换,其中,k=1,…N。
9.如权利要求8所述的方法,其特征在于,所述通过N个仿射变换矩阵分别对所述第一参数向量进行置换包括,
将所述N个仿射变换矩阵分别与所述第一参数向量相乘,
其中,N个仿射变换矩阵分别为N×N的矩阵,且,所述仿射变换矩阵中的元素aij满足:
a1k=1
ak1=1
10.如权利要求1至9任一所述的方法,其特征在于,对所述神经网络模型的模型参数、和/或第一参数向量进行调整,直至当前第二参数向量基于训练后的神经网络模型所获得的所述待存储数据的期望数据样本回归于所述待存储数据,包括,
将所述N个分别具有N维的第二参数向量作为所述神经网络模型的输入变量,将神经网络模型的输出作为所述待存储数据的期望数据样本,对所述神经网络模型的模型参数进行训练,和/或在训练过程中更新所述第一参数向量,直至所述待存储数据的当前期望数据样本回归于所述待存储数据。
11.如权利要求10所述的方法,其特征在于,所述对所述神经网络模型进行训练,和/或在训练过程中更新所述第一参数向量,直至所述待存储数据的当前期望数据样本回归于所述待存储数据,包括,
对所述神经网络模型的模型参数进行初始化后,
累计当前迭代次数;
将当前第二参数向量输入至所述神经网络模型,得到待存储数据的当前期望数据样本,计算当前期望数据样本与待存储数据的损失函数,按照使得损失函数收敛来优化当前神经网络模型的模型参数和/或第一参数向量,得到本次迭代优化后的当前神经网络模型的模型参数、和/或更新后的当前第一参数向量;
将当前第二参数向量或基于所述更新后的当前第一参数向量进行置换而得到的第二参数向量输入至所述优化后的当前神经网络模型,得到当前期望数据样本;
返回执行所述累计当前迭代次数的步骤,直至达到预定的迭代次数,或者损失函数收敛于设定的阈值,得到训练后的神经网络模型的模型参数和/或更新后的第一参数向量;
所述存储所述第一参数向量包括,存储当前更新后的第一参数向量。
12.如权利要求11所述的方法,其特征在于,所述神经网络模型为深度学习神经网络模型;所述损失函数为回归类损失函数。
13.一种数据获取方法,其特征在于,
根据待获取数据,获取存储的第一参数向量;
对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,其中,N为所述第一参数向量的维数;
获取数据存储时所使用的训练后神经网络模型参数,
将第二参数向量作为该神经网络模型的输入,将该神经网络模型的输出作为所述待获取数据;
其中,
神经网络模型为:以数据存储过程中的第二参数向量为输入、N个待存储数据的期望数据样本为输出、在训练过程中对神经网络模型的模型参数、和/或数据存储过程中的第一参数向量进行调整,直至数据存储过程中的当前第二参数向量基于训练后的神经网络模型所获得的所述N个待存储数据的期望数据样本回归于所述N个待存储数据时得到的神经网络模型,
所述数据存储过程中的第一参数向量为:数据存储过程中为N个待存储数据所分配的一个N维参数向量;
所述数据存储过程中的第二参数向量为:数据存储过程中对数据存储过程中的第一参数向量进行N维置换而获得的N个分别具有N维的参数向量。
14.如权利要求13所述的方法,其特征在于,所述根据待获取数据,获取存储的第一参数向量包括,
根据待获取数据的类别和/或标识,基于存储的类别和/或标识与第一参数向量的对应关系,获得第一参数向量;
所述获取数据存储时所使用的训练后神经网络模型参数,包括,获取存储的训练后的神经网络模型的模型参数;并加该模型参数加载至神经网络模型中,得到训练后的神经网络模型。
15.如权利要求13或14所述的方法,其特征在于,所述对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,包括,通过N个仿射变换矩阵对所述第一参数向量进行N维置换,使得所述第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同。
16.如权利要求15所述的方法,其特征在于,所述通过N个仿射变换矩阵对所述第一参数向量进行N维置换,使得所述第二参数向量在每个维度上的值与所述第一参数向量对应维度上的值不同,包括,
通过N个仿射变换矩阵分别对所述第一参数向量进行置换,使得:当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的前k-1个元素截出放到该参数向量的末端,得到k-1个分别具有N维的第二参数向量,其中,k=1,…N。
17.如权利要求16所述的方法,其特征在于,所述通过N个仿射变换矩阵对所述第一参数向量进行置换包括,
将所述N个仿射变换矩阵分别与所述第一参数向量相乘,
其中,N个仿射变换矩阵分别为N×N的矩阵,且,所述仿射变换矩阵中的元素aij满足:
18.如权利要求14所述的方法,其特征在于,所述对所述第一参数向量进行N维置换,获得N个分别具有N维的第二参数向量,包括,
将第一参数向量中对应于所述标识的维度之值和第一参数向量中第一个维度之值互相交换,分别获得具有N维的第二参数向量。
19.如权利要求18所述的方法,其特征在于,所述将第一参数向量中对应于所述标识的维度之值和第一参数向量中第一个维度之值互相交换包括,
通过N个仿射变换矩阵分别对所述第一参数向量进行置换,使得:当k等于1时,所述第二参数向量等于第一参数向量;当k不等于1时,分别把所述第一参数向量的第k个元素与第一个元素互换,其中,k=1,…N。
20.如权利要求19所述的方法,其特征在于,所述通过N个仿射变换矩阵分别对所述第一参数向量进行置换包括,
将所述N个仿射变换矩阵分别与所述第一参数向量相乘,
其中,N个仿射变换矩阵分别为N×N的矩阵,且,所述仿射变换矩阵中的元素aij满足:
a1k=1
ak1=1
21.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任一所述数据存储方法的步骤。
22.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求13至20任一所述数据获取方法的步骤。
CN201910687185.0A 2019-07-29 2019-07-29 一种数据存储的方法、及其数据获取方法、装置 Active CN112307230B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910687185.0A CN112307230B (zh) 2019-07-29 2019-07-29 一种数据存储的方法、及其数据获取方法、装置
US17/630,660 US20220261433A1 (en) 2019-07-29 2020-07-29 Data storage method, data acquisition method and device thereof
PCT/CN2020/105590 WO2021018218A1 (zh) 2019-07-29 2020-07-29 一种数据存储方法、及其数据获取方法、装置
EP20848629.0A EP4007173A4 (en) 2019-07-29 2020-07-29 DATA STORAGE METHODS AND DATA COLLECTION METHODS AND DEVICE THEREFOR

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910687185.0A CN112307230B (zh) 2019-07-29 2019-07-29 一种数据存储的方法、及其数据获取方法、装置

Publications (2)

Publication Number Publication Date
CN112307230A CN112307230A (zh) 2021-02-02
CN112307230B true CN112307230B (zh) 2024-01-26

Family

ID=74230219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910687185.0A Active CN112307230B (zh) 2019-07-29 2019-07-29 一种数据存储的方法、及其数据获取方法、装置

Country Status (4)

Country Link
US (1) US20220261433A1 (zh)
EP (1) EP4007173A4 (zh)
CN (1) CN112307230B (zh)
WO (1) WO2021018218A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183873A (zh) * 2007-12-11 2008-05-21 中山大学 一种基于bp神经网络的嵌入式系统数据压缩解压缩方法
CN108229644A (zh) * 2016-12-15 2018-06-29 上海寒武纪信息科技有限公司 压缩/解压缩神经网络模型的装置、设备和方法
CN109558899A (zh) * 2018-11-13 2019-04-02 中国石油天然气股份有限公司 数据降维方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061702A1 (en) * 2002-12-26 2004-07-22 The Trustees Of Columbia University In The City Of New York Ordered data compression system and methods
US9870199B2 (en) * 2015-05-12 2018-01-16 Google Llc Generating compact representations of high-dimensional data
US10985777B2 (en) * 2016-12-09 2021-04-20 William Marsh Rice University Signal recovery via deep convolutional networks
US11593632B2 (en) * 2016-12-15 2023-02-28 WaveOne Inc. Deep learning based on image encoding and decoding
CN107749757B (zh) * 2017-10-18 2020-08-14 广东电网有限责任公司电力科学研究院 一种基于堆栈式自编码和pso算法的数据压缩方法及装置
CN109903351B (zh) * 2019-03-02 2023-05-30 复旦大学 基于卷积神经网络和传统编码相结合的图像压缩方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183873A (zh) * 2007-12-11 2008-05-21 中山大学 一种基于bp神经网络的嵌入式系统数据压缩解压缩方法
CN108229644A (zh) * 2016-12-15 2018-06-29 上海寒武纪信息科技有限公司 压缩/解压缩神经网络模型的装置、设备和方法
CN109558899A (zh) * 2018-11-13 2019-04-02 中国石油天然气股份有限公司 数据降维方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云计算环境下的海量数据低负荷存储方法研究;韩敬峰;《计算机仿真》;第33卷(第04期);第390-394页 *
基于一种连续自编码网络的图像降维和重构;胡昭华 等;《数据采集与处理》;第25卷(第03期);第318-323页 *

Also Published As

Publication number Publication date
WO2021018218A1 (zh) 2021-02-04
EP4007173A1 (en) 2022-06-01
CN112307230A (zh) 2021-02-02
US20220261433A1 (en) 2022-08-18
EP4007173A4 (en) 2022-11-16

Similar Documents

Publication Publication Date Title
TWI769754B (zh) 基於隱私保護確定目標業務模型的方法及裝置
CN109522435B (zh) 一种图像检索方法及装置
WO2022042123A1 (zh) 图像识别模型生成方法、装置、计算机设备和存储介质
CN108229986B (zh) 信息点击预测中的特征构建方法、信息投放方法和装置
JP5624562B2 (ja) ウェブサイト訪問者の評価値を計算するための方法及びシステム
CN108304409B (zh) 一种基于进位的Sketch数据结构的数据频度估计方法
WO2022105108A1 (zh) 一种网络数据分类方法、装置、设备及可读存储介质
CN113377964B (zh) 知识图谱链接预测方法、装置、设备及存储介质
CN113011529B (zh) 文本分类模型的训练方法、装置、设备及可读存储介质
CN113902010A (zh) 分类模型的训练方法和图像分类方法、装置、设备和介质
CN109829474B (zh) 一种电路图识别方法
CN112307230B (zh) 一种数据存储的方法、及其数据获取方法、装置
CN111539517A (zh) 基于图结构矩阵特征向量的图卷积神经网络生成方法
CN116384471A (zh) 模型剪枝方法、装置、计算机设备、存储介质和程序产品
CN112488224B (zh) 模型训练方法、装置、计算机设备及存储介质
CN113688191B (zh) 特征数据生成方法、电子设备、存储介质
CN112949590B (zh) 一种跨域行人重识别模型构建方法及构建系统
CN114821140A (zh) 基于曼哈顿距离的图像聚类方法、终端设备及存储介质
CN110929118B (zh) 网络数据处理方法、设备、装置、介质
CN111047039A (zh) 深度神经网络裁剪方法、装置及电子设备
CN113378731B (zh) 基于卷积神经网络及能量约束的绿地水系矢量提取方法
CN114818955A (zh) 信息匹配方法、装置、计算机设备和存储介质
CN114418083A (zh) 剪裁神经网络的方法、设备、装置及存储介质
Tragas et al. Scalable recommender systems through recursive evidence chains
CN116720918A (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