CN114692060A - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN114692060A CN114692060A CN202210213272.4A CN202210213272A CN114692060A CN 114692060 A CN114692060 A CN 114692060A CN 202210213272 A CN202210213272 A CN 202210213272A CN 114692060 A CN114692060 A CN 114692060A
- Authority
- CN
- China
- Prior art keywords
- polynomial function
- data
- domain
- value
- linear transformation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
Abstract
本说明书实施例提供了一种数据处理方法和装置。根据该实施例的方法,首先接收数据处理任务,所述数据处理任务中包含待处理的非多项式函数和与所述非多项式函数的自变量对应的待处理数据;然后将所述待处理数据进行第一线性变换以使第一线性变换后的数据对应的自变量值落入模拟定义域,所述模拟定义域为从所述非多项式函数的自变量的定义域中选择的一个区间;再利用所述第一线性变换后的数据,获得对应的模拟多项式函数值,所述模拟多项式是在所述模拟定义域上对所述非多项式函数进行切比雪夫级数拟合得到的;最后依据所述第一线性变换,将所述模拟多项式函数值进行第二线性变换后,得到所述非多项式函数的值。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种数据处理方法和装置。
背景技术
在机器学习与密态数据分析中常常用到非多项式的数学函数,例如log(对数函数)、sqrt(平方根函数)、sin(正弦函数)、cos(余弦函数)等。在数学中,多项式函数指的是由常数与自变量经过有限次乘法和加法运算得到的函数。容易理解,非多项式函数中并非单纯包含乘法和加法。而在很多应用系统中,算法仅仅支持加法和乘法,因此亟需一种高精度地非多项函数的处理方法。
发明内容
本说明书一个或多个实施例描述了一种数据处理方法,以便于高精度地实现非多项式函数的处理。
根据第一方面,提供了一种数据处理方法,包括:
接收数据处理任务,所述数据处理任务中包含待处理的非多项式函数和与所述非多项式函数的自变量对应的待处理数据;
将所述待处理数据进行第一线性变换以使第一线性变换后的数据对应的自变量值落入模拟定义域,所述模拟定义域为从所述非多项式函数的自变量的定义域中选择的一个区间;
利用所述第一线性变换后的数据,获得对应的模拟多项式函数值,所述模拟多项式是在所述模拟定义域上对所述非多项式函数进行切比雪夫级数拟合得到的;
依据所述第一线性变换,将所述模拟多项式函数值进行第二线性变换后,得到所述非多项式函数的值。
根据本申请实施例中一可实现的方式,该方法还包括:
预先确定所述非多项式函数中自变量的定义域;
从所述定义域中选择一个区间作为模拟定义域;
在所述模拟定义域上对所述非多项式进行切比雪夫级数拟合,得到模拟多项式函数。
根据本申请实施例中一可实现的方式,确定所述非多项式函数中自变量的定义域包括:
依据所述自变量在应用系统中的含义、应用系统所采用的定点数范围以及所述待处理的多项式函数类型,确定所述多项式函数中自变量的定义域。
根据本申请实施例中一可实现的方式,从所述定义域中选择一个区间作为模拟定义域包括:
若所述非多项式函数为非周期函数,则从所述定义域的多个分段区间中选择一个区间作为模拟定义域,以保证应用系统对非多项式函数值的精度要求且避免乘法溢出应用系统所采用的定点数范围;
若所述非多项式函数为周期函数,则从所述定义域中选择包括一个以上周期的区间作为模拟定义域,以保证应用系统对非多项式函数值的精度要求且避免乘法溢出应用系统所采用的定点数范围。
根据本申请实施例中一可实现的方式,所述非多项式函数为非周期函数,所述第一线性变换为乘以m1,所述第二线性变换包括乘以n1和/或增加n2,所述m1、n1和n2的关系由所述非多项式函数类型决定,所述m1、n1和n2为实数。
根据本申请实施例中一可实现的方式,该方法还包括:
若所述非多项式函数为周期函数,所述第一线性变换为增加或减少一个以上数量的周期值;
在获得对应的模拟多项式函数值之后,利用所述模拟多项式函数值,得到所述非多项式函数的值。
根据本申请实施例中一可实现的方式,在将所述待处理数据进行第一线性变换之前,还包括:
判断所述待处理数据对应的自变量值是否已经落入模拟定义域,如果是,则直接利用所述待处理数据获得对应的模拟多项式函数值得到所述非多项式函数的值;否则,继续执行将所述待处理数据进行第一线性变换的步骤。
根据本申请实施例中一可实现的方式,所述方法应用于多方安全计算MPC应用场景,由MPC计算方执行;
所述待处理数据来源于数据提供者发送给MPC计算方的数据分量,所述数据分量为数据提供者将数据进行随机拆分得到的其中一个分量;
所述待处理的非多项式函数为MPC算法所包含的非多项式函数。
根据第二方面,提供了一种数据处理装置,包括:
任务接收单元,被配置为接收数据处理任务,所述数据处理任务中包含待处理的非多项式函数和与所述非多项式函数的自变量对应的待处理数据;
第一变换单元,被配置为将所述待处理数据进行第一线性变换以使第一线性变换后的数据对应的自变量值落入模拟定义域,所述模拟定义域为从所述非多项式函数的自变量的定义域中选择的一个区间;
函数计算单元,被配置为利用所述第一线性变换后的数据,获得对应的模拟多项式函数值,所述模拟多项式是在所述模拟定义域上对所述非多项式函数进行切比雪夫级数拟合得到的;
第二变换单元,被配置为依据所述第一线性变换,将所述模拟多项式函数值进行第二线性变换;
函数值获取单元,被配置为依据第二线性变换的结果,得到所述非多项式函数的值。
根据第三方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
根据本说明书实施例提供的方法和装置,通过缩小定义域并对切比雪夫级数拟合后的函数值进行对应的线性变换,得到非多项式函数的值,定义域的缩小降低了发生整数溢出的概率,且保证了小数的位数,从而提高了非多项式函数的计算精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出根据一个实施例的数据处理方法的流程图;
图2为本申请实施例提供的一个TECC应用场景的示意图;
图3示出根据另一个实施例的数据处理方法的流程图;
图4示出根据一个实施例的数据处理装置的示意性框图。
具体实施方式
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
下面结合附图,对本说明书提供的方案进行描述。
在面临非多项式函数转换多项式函数的问题时,目前的解决方式大多采用在多项式函数的自变量定义域上进行切比雪夫级数拟合,从而得到多项式函数。
然而,在大多数应用场景下是存在一定的精度要求的,并且诸如MPC(SecureMulti-party Computation,安全多方计算)等算法中使用的是定点数。所谓定点数一般指的是定点小数。计算机处理的数值数据多数带有小数,小数点一般隐含在某个固定的位置上,成为定点表示法,简称定点数。鉴于定点数的表示范围有限,例如64位定点数,取16位为小数位,其最多能表示到小数点后5位,且为了防止乘法发生整数溢出,通常最大值到216,即使用64位整数中的32位。在实际使用切比雪夫级数拟合时,可能发生产生如下问题:
1)如果自变量的定义域很大,且传入的自变量很接近定义域的边界时,切比雪夫技术拟合出的数值和真实数值会差距很大,甚至导致计算的错误。例如出现三角函数计算结果的绝对值大于1。
2)如果自变量的值很大,计算切比雪夫级数时可能导致计算的中间步骤出现整数溢出,使得切比雪夫级数拟合的结果错误。
经过分析后发现,在切比雪夫级数的最高次数一定的情况下,自变量的定义域越小,切比雪夫拟合的效果越好。因此,本申请实施例提供了如图1中所示的数据处理方法。
图1示出根据一个实施例的数据处理方法的流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
如图1所示,该方法包括:
步骤101:接收数据处理任务,数据处理任务中包含待处理的非多项式函数和与非多项式函数的自变量对应的待处理数据。
步骤103:将待处理数据进行第一线性变换以使第一线性变换后的数据对应的自变量值落入模拟定义域,模拟定义域为从非多项式函数的自变量的定义域中选择的一个区间。
步骤105:利用第一线性变换后的数据,获得对应的模拟多项式函数值,模拟多项式是在模拟定义域上对非多项式函数进行切比雪夫级数拟合得到的。
步骤107:依据第一线性变换,将模拟多项式函数值进行第二线性变换后,得到所述非多项式函数的值。
可以看出,本申请通过缩小定义域并对切比雪夫级数拟合后的函数值进行对应的线性变换,得到非多项式函数的值,定义域的缩小降低了发生整数溢出的概率,且保证了小数的位数,从而提高了非多项式函数的计算精度。
本申请实施例提供的上述方法流程可以应用于多种应用场景,例如在机器学习领域、密态数据分析领域等。以密态数据分析领域为例,TECC(可信密态计算)基于MPC算法,是一种安全高效的密态计算方法,能够为多个参与方计算一个共同的结果而不泄露任何一方的数据。可信密态计算结合了系统安全和密码学两种技术,比只使用一种技术更好地平衡了安全性和性能。
图2为本申请实施例提供的一个TECC应用场景的示意图,如图2中所示,数据提供者将要提供给TECC的数据随机拆分成多个数据分量,例如将数据u拆分成u1、u2和u3。数据提供者与多个TEE(Trusted Executionh Environment,可信执行环境)分别建立安全信道,并将各分量分别提供给不同的TEE,例如数据提供者1将u1、u2提供给TEE A,将u2、u3提供给TEE B,将u3、u1提供给TEE C。各TEE在获取到数据分量后,利用MPC算法进行数据处理。
可见在TECC中,数据提供者通过TEE技术能够确保其数据只在TEE中存在,并且每个TEE都直接接触过数据分量,即便攻击者攻破一个TEE,并且长期窃取或修改它,也不能获得有效信息。
在该应用场景中,TEE在对数据分量进行处理时,隐私计算中的机器学习、密态数据分析等相关处理中会涉及到一些非多项式函数,但MPC算法仅支持加法、乘法等多项式处理,因此可以采用本申请实施例所提供的数据处理方法进行处理。在此需要说明的是,本申请实施例所提供的技术方案并不限于上述TECC应用场景,而适用于任意的多方安全计算场景,因此也不限于上述TEE来执行,而适用于任意的MPC计算方。图2中仅为其中一个应用场景即TECC的示例。为了方便理解,后续实施例中将均以上述TECC应用场景为例进行描述,但也可以在相同精神原则下,推广延及其他应用场景。
下面描述图1所示的各个步骤的执行方式。
首先对上述步骤101中涉及的待处理的非多项式函数和待处理数据进行简单说明。
在对数据进行处理的过程中需要使用非多项式函数时,可以将该非多项式函数作为待处理的非多项式函数。算法中需要采用哪些非多项式函数通常是预设的。
待处理数据是与非多项式函数中的自变量对应的。有些情况下,待处理数据就是非多项式函数中的自变量值。还有一些情况下,待处理数据是非多项式函数中自变量值的分量,例如图2所示应用场景下,每个TEE在执行MPC算法时使用的待处理数据为各自得到的数据分量,而非多项式函数的自变量值原本应该是数据传输者进行数据拆分前的原始数据。但通过数据分量,各TEE虽然无法获知原始数据的具体取值,但可以获知原始数据的取值范围。
除了图2所示应用场景之外,也可以采用其他待处理数据。本申请对此不加以限制。
由于在图1所示流程中涉及到模拟定义域和模拟多项式函数,作为一种优选的实施方式,为了提高数据处理效率,可以预先针对各多项式函数分别得到模拟定义域和模拟多项式函数,以便在获取到待处理数据时,能够利用预先得到的模拟定义域和模拟多项式函数直接进行处理,在图1所示流程的步骤101之前,可以如图3中所示,先执行以下步骤:
步骤301:预先确定非多项式函数中自变量的定义域。
所谓定义域指的是函数自变量的取值范围,在本申请实施例中指的是非多项式函数中自变量的取值范围。定义域的确定主要依据以下因素来确定:
因素二、自变量在应用系统中的含义。即通常在不同应用场景下,自变量具有特定的含义,自变量的取值范围需要与自变量的含义相适应。例如,在一些应用场景下,数据提供者发送的数据分量是数据特征的数据分量,该数据特征包含诸如页面访问频率,该页面访问频率不可能为负值,因此通常为大于或等于0的实数。
因素三、应用系统所采用的定点数范围。由于定点数范围的限制,使得自变量的取值不能够超出其定点数范围的表达能力。
主要依据上述三个因素来确定非多项式函数中自变量的定义域。通常情况下,该定义域是预先确定并记录于应用系统中的,在本步骤中直接获取预先记录的内容即可。
步骤303:从定义域中选择一个区间作为模拟定义域。
前面已经提及,通常在切比雪夫级数的最高次数一定的情况下,自变量的定义域越小,切比雪夫拟合的效果越好。因此,为了提高拟合效果,对定义域进行缩小,从定义域中选择一个区间作为模拟定义域。
通常应用系统对数据处理是有一定精度要求的,该精度要求需要通过定点数的小数位来保证。与此同时,还需要保证该定义域上发生乘法时,不能发生整数溢出,这就需要一个合适的模拟定义域来保证。
作为一种可实现的方式,若非多项式函数为非周期函数,则从可以对自变量的定义域进行分段处理。从多个分段区间中选择一个区间作为模拟定义域,以保证应用系统对多项式函数值的精度要求且避免乘法溢出应用系统所采用的定点数范围。
以非多项式函数sqrt(x)为例,假设在步骤301中确定出x的定义域为[2-16,216],可以将该定义域划分为4个分段[2-16,2-8]、[2-8,20]、[20,28]、[28,216],在步骤302中经过对应用系统的精度要求和避免乘法溢出的考虑,选择其中一个分段[28,216]作为模拟定义域。
作为另一种可实现的方式,若非多项式函数为周期函数,则可以从定义域中选择包括一个以上周期的区间作为模拟定义域,以保证应用系统对多项式函数值的精度要求且避免乘法溢出应用系统所采用的定点数范围。
以非多项式函数sin(x)为例,其是以2π为周期的周期函数,因此可以从定义域中抽取出其中一个或若干个周期作为模拟定义域,例如抽取[-3π,7π]作为模拟定义域。
除了上述函数sqrt(x)和sin(x)之外,对其他非多项式函数采用类似处理。另外,除了上述举例的区间选择方式之外,也可以选择更小或更大的区间。但通常模拟定义域对应的区间越小,计算的精度越高,同时计算的开销也相应增大,因此需要在两者之间取一个平衡。可以根据经验或实验等来进行选择。
步骤305:在模拟定义域上对非多项式函数进行切比雪夫级数拟合,得到模拟多项式函数。
切比雪夫级数拟合是已有的一种拟合方式,在[-1,1]区间上对非多项式函数f(x)进行切比雪夫级数拟合的公式如下:
其中,cn为切比雪夫级数的系数,采用如下公式计算:
公式(3)为n非0时的计算公式。
公式(1)中Tn(x)采用递归的方式计算,递归公式如下:
Tn+1(x)=2xTn(x)-Tn-1(x) (4)
例如:T0(x)=1
T1(x)=x
T2(x)=2x2-1
T3(x)=4x3-3x
T4(x)=8x4-8x2+1
T5(x)=16x5-20x3+5x
以此类推,直至达到最大次数即n的最大取值。
其中,最大次数越高,计算的精度越高,对应的计算开销越大,需要在两者之间取一个平衡,可以采用经验值或实验值。
本申请实施例中,将模拟定义域映射到[-1,1]区间上,对非多项式函数计算切比雪夫级数的系数,进而进行切比雪夫拟合。假设模拟定义域为[a,b],采用映射函数将其映射至[-1,1]区间上,即将作为上述公式(1)中的x进行替换,从而进行切比雪夫级数拟合。鉴于切比雪夫级数拟合是目前已有的技术,在此不做详细描述。
本步骤中对非多项式函数进行拟合得到的模拟多项式函数可以预先计算并存储,例如硬编码到MPC程序中,在后续步骤105中直接调用即可。
下面结合实施例对上述步骤103即“将待处理数据进行第一线性变换以使第一线性变换后的数据对应的自变量值落入模拟定义域”进行详细描述。
若待处理数据就是待处理的非多项式函数中的自变量值,则将待处理数据进行第一线性变换以使得变换后的数据落入模拟定义域。
若待处理数据是非多项式函数中自变量值的数据分量,通过该数据分量可以推断出自变量值的取值范围,然后依据该取值范围和模拟定义域确定采用怎样的第一线性变换能够使得自变量值的取值范围落入模拟定义域中。
作为其中一种实现方式,将待处理数据进行第一线性变换可以是乘以一个倍数,例如乘以m1。m1可以取实数,可以是绝对值大于1的数,也可以是绝对值小于1的数,可以是正数,也可以是负数,具体数值根据待处理数据对应的自变量值和模拟定义域来确定,目标是使第一线性变换后对应的自变量值落入模拟定义域。
例如,对于非多项式函数sqrt(x),模拟定义域为[28,216]。若自变量值x<2-8,则可以将x乘以216后落入模拟定义域。若2-8≤x<20,则可以将x乘以28后落入模拟定义域。若x>28,则可以将x乘以后落入模拟定义域。
作为另一种实现方式,对于周期性的非多项式函数而言,可以将自变量值增加或者减少一个以上数量的周期值,使其落入模拟定义域。
例如,对于非多项式函数sin(x),模拟定义域为[-3π,7π],则可以将x加减若干个2π使其落入模拟定义域。
下面结合实施例对上述步骤107“将模拟多项式函数值进行第二线性变换,得到输入的自变量值对应的多项式函数值”进行详细描述。
本步骤可以分为两种情况:
第一种情况:若非多项式函数为周期函数,则在步骤105中对自变量的第二线性变换是增加或减少一个以上数量的周期值,此时本步骤中可以保持模拟多项式函数值不变,也就是说,利用模拟多项式函数值得到非多项式函数的值。
接续上面关于非多项式函数sin(x)的例子,模拟定义域为[-3π,7π],则可以将自变量x值加减若干个2π使其落入模拟定义域。由于三角函数具有如下周期特性,即sin(x+2lπ)=sin(x),其中l为整数,因此,对于将自变量加减整数个2π后得到的值进行切比雪夫拟合后,得到的模拟多项式函数值即为该自变量x值对应的非多项式函数值。
第二种情况:若非多项式函数为非周期函数,则对输入的自变量x值可以采用乘以m1的方式。采用的第二线性变换为乘以n1和/或增加n2,其中m1、n1和n2的关系由非多项式函数类型决定。m1、n1和n2为实数。
接续上面关于非多项式函数sqrt(x)的例子,模拟定义域为[28,216]。
若输入自变量28≤x≤216,则自变量x的值本身落入模拟定义域,利用x进行切比雪夫级数拟合后得到c(x),无需进行第二线性变换,即此时多项式sqrt(x)=c(x)。
通过这种方式,能够在小的模拟定义域上进行切比雪夫级数拟合,来提高计算精度且降低乘法发生整数溢出的情况,然后通过线性变换的方式得到最终的非多项式函数值。
在图2所示TECC场景下,执行MPC算法对数据进行处理的三方即TEE A、TEE B和TEEC在同一高速网内,通常网内带宽可以达到10Gbps。计算切比雪夫级数实际上是计算一个n次的多项式,因此需要n次乘法与n次加法。由于TEE A、TEE B和TEE C分别得到的是数据分量。假设需要计算非多项式函数sqrt(x),实际需要计算的是sqrt(u1+u2+u3),例如模拟多项式函数的计算方式为:对于切比雪夫级数c((u1+u2+u3)*216)而言,其涉及的是关于(u1+u2+u3)的乘法和加法。计算加法时不需要TEE A、TEE B和TEE C之间进行通信,各自计算后汇总即可。计算乘法时需要TEE A、TEE B和TEE C之间进行通信,但各TEE处于同一高速网,带宽可以达到10Gbps,对计算效率的影响很小。经过实验验证,对千万个数计算64次切比雪夫级数仅需要几秒钟的时间,因此使用高次切比雪夫级数拟合的方式实现密态数学函数计算是完全可行的。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种数据处理装置。图4示出根据一个实施例的数据处理装置的示意性框图。可以理解,该装置可以通过任何具有计算、处理能力的装置、设备、平台和设备集群来实现。如图4所示,该装置400包括:任务接收单元401、第一变换单元402、函数计算单元403、第二变换单元404和函数值获得单元405,还可以进一步包括:定义域确定单元406、函数拟合单元407和判断单元408。其中各组成单元的主要功能如下:
任务接收单元401,被配置为接收数据处理任务,数据处理任务中包含待处理的非多项式函数和与非多项式函数的自变量对应的待处理数据;
第一变换单元402,被配置为将待处理数据进行第一线性变换以使第一线性变换后的数据对应的自变量值落入模拟定义域,模拟定义域为从非多项式函数的自变量的定义域中选择的一个区间;
函数计算单元403,被配置为利用第一线性变换后的数据,获得对应的模拟多项式函数值,模拟多项式是在模拟定义域上对非多项式函数进行切比雪夫级数拟合得到的;
第二变换单元404,被配置为依据第一线性变换,将模拟多项式函数值进行第二线性变换;
函数值获得单元405,被配置为根据第二变换单元404变换后的结果,得到非多项式函数的值。
定义域确定单元406,被配置为预先确定非多项式函数中自变量的定义域;从定义域中选择一个区间作为模拟定义域。
函数拟合单元407,被配置为在模拟定义域上对非多项式进行切比雪夫级数拟合,得到模拟多项式函数。
可以预先存储函数拟合单元407得到的非多项式的模拟多项式函数,以供任务接收单元104接收到数据处理任务后,供函数计算单元403调用。
其中,定义域确定单元406可以依据自变量在应用系统中的含义、应用系统所采用的定点数范围以及待处理的多项式函数类型,确定多项式函数中自变量的定义域。
作为一种可实现的方式,若非多项式函数为非周期函数,则定义域确定单元405可以从定义域的多个分段区间中选择一个区间作为模拟定义域,以保证应用系统对非多项式函数值的精度要求且避免乘法溢出应用系统所采用的定点数范围。
作为另一种可实现的方式,若非多项式函数为周期函数,则定义域确定单元406可以从定义域中选择包括一个以上周期的区间作为模拟定义域,以保证应用系统对非多项式函数值的精度要求且避免乘法溢出应用系统所采用的定点数范围。
作为一种可实现的方式,非多项式函数为非周期函数,第一线性变换为乘以m1,第二线性变换包括乘以n1和/或增加n2,m1、n1和n2的关系由非多项式函数类型决定,m1、n1和n2为实数。
若非多项式函数为周期函数,第一线性变换为增加或减少一个以上数量的周期值;在函数计算单元403获得对应的模拟多项式函数值之后,函数值获得单元405可以直接利用模拟多项式函数值,得到非多项式函数的值。
作为一种可实现的方式,判断单元408可以首先判断待处理数据对应的自变量值是否已经落入模拟定义域,如果是,则函数值获得单元405直接利用待处理数据获得对应的模拟多项式函数值得到非多项式函数的值;否则,触发第一变换单元402执行将待处理数据进行第一线性变换的处理。
该装置可以应用于多方安全计算应用场景,例如任务接收单元401、第一变换单元402、函数计算单元403、第二变换单元404、函数值获得单元405和判断单元408设置于MPC计算方。待处理数据可以来源于数据提供者发送给MPC计算方的数据分量;待处理的非多项式函数可以为MPC算法所包含的非多项式函数。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图1或图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图1或图3所述的方法。
随着时间、技术的发展,计算机可读存储介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本说明书中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述的处理器可包括一个或多个单核处理器或多核处理器。处理器可包括任何一般用途处理器或专用处理器(如图像处理器、应用处理器基带处理器等)的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.数据处理方法,包括:
接收数据处理任务,所述数据处理任务中包含待处理的非多项式函数和与所述非多项式函数的自变量对应的待处理数据;
将所述待处理数据进行第一线性变换以使第一线性变换后的数据对应的自变量值落入模拟定义域,所述模拟定义域为从所述非多项式函数的自变量的定义域中选择的一个区间;
利用所述第一线性变换后的数据,获得对应的模拟多项式函数值,所述模拟多项式是在所述模拟定义域上对所述非多项式函数进行切比雪夫级数拟合得到的;
依据所述第一线性变换,将所述模拟多项式函数值进行第二线性变换后,得到所述非多项式函数的值。
2.根据权利要求1所述的方法,该方法还包括:
预先确定所述非多项式函数中自变量的定义域,从所述定义域中选择一个区间作为模拟定义域,在所述模拟定义域上对所述非多项式进行切比雪夫级数拟合,得到模拟多项式函数;预先存储所述非多项式函数的模拟多项式函数;
接收到所述数据处理任务后,调用预先存储的所述非多项式函数的模拟多项式函数,以执行所述利用所述第一线性变换后的数据,获得对应的模拟多项式函数值的步骤。
3.根据权利要求2所述的方法,其中,确定所述非多项式函数中自变量的定义域包括:
依据所述自变量在应用系统中的含义、应用系统所采用的定点数范围以及所述待处理的多项式函数类型,确定所述多项式函数中自变量的定义域。
4.根据权利要求2所述的方法,其中,从所述定义域中选择一个区间作为模拟定义域包括:
若所述非多项式函数为非周期函数,则从所述定义域的多个分段区间中选择一个区间作为模拟定义域,以保证应用系统对非多项式函数值的精度要求且避免乘法溢出应用系统所采用的定点数范围;
若所述非多项式函数为周期函数,则从所述定义域中选择包括一个以上周期的区间作为模拟定义域,以保证应用系统对非多项式函数值的精度要求且避免乘法溢出应用系统所采用的定点数范围。
5.根据权利要求1所述的方法,其中,所述非多项式函数为非周期函数,所述第一线性变换为乘以m1,所述第二线性变换包括乘以n1和/或增加n2,所述m1、n1和n2的关系由所述非多项式函数类型决定,所述m1、n1和n2为实数。
6.根据权利要求1所述的方法,该方法还包括:
若所述非多项式函数为周期函数,所述第一线性变换为增加或减少一个以上数量的周期值;
在获得对应的模拟多项式函数值之后,利用所述模拟多项式函数值,得到所述非多项式函数的值。
7.根据权利要求1所述的方法,其中,在将所述待处理数据进行第一线性变换之前,还包括:
判断所述待处理数据对应的自变量值是否已经落入模拟定义域,如果是,则直接利用所述待处理数据获得对应的模拟多项式函数值得到所述非多项式函数的值;否则,继续执行将所述待处理数据进行第一线性变换的步骤。
8.根据权利要求1至7中任一项所述的方法,所述方法应用于多方安全计算MPC应用场景,由MPC计算方执行;
所述待处理数据来源于数据提供者发送给MPC计算方的数据分量,所述数据分量为数据提供者将数据进行随机拆分得到的其中一个分量;
所述待处理的非多项式函数为MPC算法所包含的非多项式函数。
9.数据处理装置,包括:
任务接收单元,被配置为接收数据处理任务,所述数据处理任务中包含待处理的非多项式函数和与所述非多项式函数的自变量对应的待处理数据;
第一变换单元,被配置为将所述待处理数据进行第一线性变换以使第一线性变换后的数据对应的自变量值落入模拟定义域,所述模拟定义域为从所述非多项式函数的自变量的定义域中选择的一个区间;
函数计算单元,被配置为利用所述第一线性变换后的数据,获得对应的模拟多项式函数值,所述模拟多项式是在所述模拟定义域上对所述非多项式函数进行切比雪夫级数拟合得到的;
第二变换单元,被配置为依据所述第一线性变换,将所述模拟多项式函数值进行第二线性变换;
函数值获取单元,被配置为依据第二线性变换的结果,得到所述非多项式函数的值。
10.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1至8中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213272.4A CN114692060A (zh) | 2022-03-04 | 2022-03-04 | 数据处理方法和装置 |
PCT/CN2023/071291 WO2023165268A1 (zh) | 2022-03-04 | 2023-01-09 | 数据处理 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213272.4A CN114692060A (zh) | 2022-03-04 | 2022-03-04 | 数据处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114692060A true CN114692060A (zh) | 2022-07-01 |
Family
ID=82137549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210213272.4A Pending CN114692060A (zh) | 2022-03-04 | 2022-03-04 | 数据处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114692060A (zh) |
WO (1) | WO2023165268A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023165268A1 (zh) * | 2022-03-04 | 2023-09-07 | 支付宝(杭州)信息技术有限公司 | 数据处理 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6263883B2 (ja) * | 2013-07-16 | 2018-01-24 | 横浜ゴム株式会社 | データ処理方法および構造体の設計方法 |
CN103745079A (zh) * | 2013-11-22 | 2014-04-23 | 浙江工业大学 | 一种基于抽象凸估计的曲线拟合方法 |
CN109522254B (zh) * | 2017-10-30 | 2022-04-12 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
US10846489B2 (en) * | 2018-07-23 | 2020-11-24 | Sendyne Corporation | Analog computing implementing arbitrary non-linear functions using Chebyshev-polynomial-interpolation schemes and methods of use |
CN109871941B (zh) * | 2019-02-18 | 2020-02-21 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置及相关产品 |
CN110647718B (zh) * | 2019-09-26 | 2023-07-25 | 中昊芯英(杭州)科技有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN112051980B (zh) * | 2020-10-13 | 2022-06-21 | 浙江大学 | 一种基于牛顿迭代法的非线性激活函数计算装置 |
CN114692060A (zh) * | 2022-03-04 | 2022-07-01 | 支付宝(杭州)信息技术有限公司 | 数据处理方法和装置 |
-
2022
- 2022-03-04 CN CN202210213272.4A patent/CN114692060A/zh active Pending
-
2023
- 2023-01-09 WO PCT/CN2023/071291 patent/WO2023165268A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023165268A1 (zh) * | 2022-03-04 | 2023-09-07 | 支付宝(杭州)信息技术有限公司 | 数据处理 |
Also Published As
Publication number | Publication date |
---|---|
WO2023165268A1 (zh) | 2023-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023801B2 (en) | Data processing method and apparatus | |
TW202144999A (zh) | 由向量縮減電路執行之方法 | |
US20210049281A1 (en) | Reducing risk of smart contracts in a blockchain | |
KR102458095B1 (ko) | 위상 교정 방법 및 장치 | |
US11886596B2 (en) | Precision-tuned runtime monitoring | |
WO2023165268A1 (zh) | 数据处理 | |
US20200050768A1 (en) | Risk assessment of asset leaks in a blockchain | |
US10296290B2 (en) | Digital signal processor | |
US20170220322A1 (en) | Generating gaussian random numbers using inverse sampling and recurrence relationship | |
KR102503498B1 (ko) | 수학적 함수를 연산하는 시스템 및 방법 | |
CN110738313B (zh) | 用于评估量化操作的方法、装置、设备和介质 | |
KR20230076641A (ko) | 부동-소수점 연산을 위한 장치 및 방법 | |
EP2383662A2 (en) | Method and system for bit stacked fast fourier transform | |
EP3239833B1 (en) | Calculating trigonometric functions using a four input dot product circuit | |
WO2012041668A1 (en) | Confidence-based static analysis | |
US20120084335A1 (en) | Method and apparatus of processing floating point number | |
JP6975234B2 (ja) | 符号絶対値データ形式で結果を生み出すための回路、方法およびコンピュータ・プログラム | |
WO2017177758A1 (zh) | 数据信号的处理方法及装置 | |
US20230185528A1 (en) | Optimization of arithmetic expressions | |
AU2020425196B2 (en) | Secure computation apparatus, secure computation method, and program | |
US20210135683A1 (en) | Method, electronic device and computer program product for processing data | |
AU2021104642A4 (en) | Evidence reasoning method and apparatus based on information entropy weighted allocation | |
US11741063B2 (en) | Deleting and inserting rows in fully homomorphically encrypted databases using queues | |
CN109886858B (zh) | 一种数据处理的方法及装置 | |
CN117610619A (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 |