CN117591076A - 用于生成二进制掩码张量的方法、计算设备和存储介质 - Google Patents

用于生成二进制掩码张量的方法、计算设备和存储介质 Download PDF

Info

Publication number
CN117591076A
CN117591076A CN202410077622.8A CN202410077622A CN117591076A CN 117591076 A CN117591076 A CN 117591076A CN 202410077622 A CN202410077622 A CN 202410077622A CN 117591076 A CN117591076 A CN 117591076A
Authority
CN
China
Prior art keywords
binary mask
generated
mask tensor
tensor
dimension
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
Application number
CN202410077622.8A
Other languages
English (en)
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 Bi Ren Technology Co ltd
Beijing Bilin Technology Development Co ltd
Original Assignee
Shanghai Bi Ren Technology Co ltd
Beijing Bilin Technology Development 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 Bi Ren Technology Co ltd, Beijing Bilin Technology Development Co ltd filed Critical Shanghai Bi Ren Technology Co ltd
Priority to CN202410077622.8A priority Critical patent/CN117591076A/zh
Publication of CN117591076A publication Critical patent/CN117591076A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/70Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using stochastic pulse trains, i.e. randomly occurring pulses the average pulse rates of which represent numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本发明的实施例涉及一种用于生成二进制掩码张量的方法、计算设备和存储介质。该方法包括:接收指示待生成的二进制掩码张量的概率的第一指令;针对待生成的二进制掩码张量在第一维度中的每一行,确定随机种子;至少基于概率和随机种子,确定待生成的二进制掩码张量在第二维度上的元素的值,以便生成二进制掩码张量。根据本发明提供的用于生成二进制掩码张量的方法,能够并行地确定二进制掩码张量中各行的元素,从而提高二进制掩码张量的生成效率。

Description

用于生成二进制掩码张量的方法、计算设备和存储介质
技术领域
本发明的实施例总体涉及大模型训练领域,并且更具体地涉及一种用于生成二进制掩码张量的方法、计算设备和存储介质。
背景技术
在针对AI模型(诸如GPT类大语言模型)进行训练时,为了避免在模型训练过程中出现过拟合(over-fitting),可以使用丢弃(dropout)方法,通过生成随机的二进制掩码张量以屏蔽模型网络层中神经元的输出,以便在模型训练的迭代过程中能够随机地丢弃部分神经元。
现有的用于生成二进制掩码张量的方案中,通常由随机数生成函数串行地生成初始张量中各元素对应的随机数,再基于dropout概率和初始张量生成二进制掩码张量,以便得到用于实现dropout方法所需的二进制掩码张量。然而,在上述方案中,由于随机数是串行地生成,使得二进制掩码张量的生成过程耗时长且效率低。
综上,现有的用于生成二进制掩码张量的方案耗时长且效率低。
发明内容
针对上述问题,本发明提供了一种用于生成二进制掩码张量的方法、计算设备和存储介质,使得能够并行地确定二进制掩码张量中各行的元素,从而提高二进制掩码张量的生成效率。
根据本发明的第一方面,提供了一种用于生成二进制掩码张量的方法,包括:接收指示待生成的二进制掩码张量的概率的第一指令;针对待生成的二进制掩码张量在第一维度中的每一行,确定随机种子;至少基于概率和随机种子,确定待生成的二进制掩码张量在第二维度上的元素的值,以便生成二进制掩码张量。
在一些实施例中,用于生成二进制掩码张量的方法还包括:基于待生成的二进制掩码张量的第一维度,确定矫正系数。在这些实施例中,至少基于概率和随机种子,确定待生成的二进制掩码张量在第二维度上的元素的值包括:至少基于概率、随机种子和矫正系数,确定待生成的二进制掩码张量在第二维度上的元素的值。
在一些实施例中,基于待生成的二进制掩码张量的第一维度确定矫正系数包括:响应于待生成的二进制掩码张量的第一维度大于预定矫正阈值,基于均匀分布函数确定矫正系数;以及响应于待生成的二进制掩码张量的第一维度小于或等于预定矫正阈值,确定矫正系数为1。
在一些实施例中,用于生成二进制掩码张量的方法还包括:响应于接收第一指令,基于第一指令生成初始掩码张量,其中初始掩码张量中的所有元素的初始值相同;基于所确定的待生成的二进制掩码张量在第二维度上的元素的值,确定初始掩码张量中需要更新的元素的位置;响应于确定初始掩码张量中需要更新的元素的位置,对相应的元素的初始值进行更新,以生成二进制掩码张量。
在一些实施例中,基于第一指令生成初始掩码张量包括:响应于第一指令指示待生成的二进制掩码张量的概率大于0且小于0.5,生成第一初始掩码张量,第一初始掩码张量中的所有元素的初始值为1;以及响应于第一指令指示待生成的二进制掩码张量的概率小于1且大于0.5,生成第二初始掩码张量,第二初始掩码张量中的所有元素的初始值为0。
在一些实施例中,至少基于概率和随机种子,确定待生成的二进制掩码张量在第二维度上的元素的值包括:响应于第一指令指示待生成的二进制掩码张量的概率为0.5,基于伪随机二进制序列算法迭代地确定待生成的二进制掩码张量在第二维度上的元素的值。
在一些实施例中,基于伪随机二进制序列算法迭代地确定待生成的二进制掩码张量在第二维度上的元素的值包括:根据基于伪随机二进制序列算法得到的当前输出的最后一位二进制字符,确定待生成的二进制掩码张量的当前元素的值。
在一些实施例中,针对待生成的二进制掩码张量在第一维度中的每一行确定的随机种子是不同的。
根据本发明的第二方面,提供了一种计算设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明的第一方面的方法。
根据本发明的第三方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中计算机指令用于使计算机执行本发明的第一方面的方法。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素。
图1示例性地示出了生成具有伯努利(Bernoulli)分布的二进制掩码张量的原理。
图2示出了根据本发明的实施例的用于生成二进制掩码张量的计算设备的示意图。
图3示出了根据本发明的实施例的用于生成二进制掩码张量的方法的流程图。
图4示出了根据本发明的实施例的用于生成二进制掩码张量的方法的流程图。
图5示出了根据本发明的实施例的用于生成二进制掩码张量的方法的流程图。
图6示出了根据本发明的一实施例的用于生成二进制掩码张量的示例方法的流程图。
图7示意性示出了适于用来实现本发明的实施例的计算设备的框图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上所述,在针对AI模型(诸如GPT类大语言模型)进行训练时,为了避免在模型训练过程中出现过拟合,可以使用dropout方法,通过生成随机的二进制掩码张量以屏蔽模型网络层中的神经元输出,以便在模型训练的迭代过程中能够随机地丢弃部分神经元。
通常,dropout方法的实现方式包括:生成由随机数组成的初始张量;基于所生成的初始张量,生成二进制掩码张量;以及至少基于二进制掩码张量,确定输出结果。例如,经由随机数生成函数(诸如rand函数)生成与神经元输出维度相同的初始张量;根据丢弃概率(例如,0.2)设定阈值;基于所设定的阈值重新确定初始张量中各元素对应的值,以便得到对应的二进制掩码张量,例如可以将大于阈值的元素所对应的值确定为1,并将小于或等于阈值的元素所对应的值确定为0;以及将二进制掩码张量与神经元输出相乘,以得到最终输出结果。
图1示例性地示出了生成具有伯努利(Bernoulli)分布的二进制掩码张量的原理。
首先,利用诸如uniform函数获取均匀分布的随机数,以生成均匀分布张量(即初始张量)。例如,如图1所示,利用uniform函数获取9个0~1之间的随机浮点数,并基于所获取的9个随机浮点数生成一个3×3的均匀分布张量r,其中,每个随机浮点数对应于均匀分布张量中的一个元素。通常,所生成的张量的大小与要掩码的隐空间变量大小一致。
然后,根据所生成均匀分布张量,生成二进制掩码张量。例如,可以基于由用户提供的概率p,将均匀分布张量中的每个元素与由用户提供的概率p进行比较,并基于比较结果确定待生成的二进制掩码张量中对应元素的值。如图1所示,由用户提供的概率p的取值为0.2。若均匀分布张量中的元素对应的随机浮点数的值小于0.2,则使待生成的二进制掩码张量中的对应元素取值为0;反之,若均匀分布张量中的元素对应的随机浮点数的值大于或等于0.2,则使待生成的二进制掩码张量中的对应元素取值为1。例如,均匀分布张量中的元素对应的随机浮点数的值为0.66,则与其对应的二进制掩码张量中的元素的值为1;均匀分布张量中的元素对应的随机浮点数的值为0.16,则与其对应的二进制掩码张量中的元素的值为0。由此,可以生成具有伯努利分布(即0-1分布)的二进制掩码张量。应理解,根据均匀分布张量生成的二进制掩码张量的大小与该均匀分布张量的大小相同。
进一步地,还可以对所生成的二进制掩码张量进行缩放,以补偿由于掩码遮挡的神经元输出。例如,可以根据1-p对二进制掩码张量进行缩放。
然而,在如上所示的生成二进制掩码张量的方案中,由随机数生成函数串行地生成初始张量中各元素对应的随机数,使得二进制掩码张量的生成过程耗时长且效率低。
为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本发明的示例实施例提出了一种用于生成二进制掩码张量的方案。在该方案中,通过接收指示待生成的二进制掩码张量的概率的第一指令;针对待生成的二进制掩码张量在第一维度中的每一行,确定随机种子;至少基于概率和随机种子,确定待生成的二进制掩码张量在第二维度上的元素的值,使得能够并行地确定二进制掩码张量中各行的元素,从而加快生成二进制掩码张量的速度,提高二进制掩码张量的生成效率。
下面将结合图2至图6详细描述根据本发明的实施例的用于生成二进制掩码张量的方案。
图2示出了根据本发明的实施例的用于生成二进制掩码张量的计算设备200的示意图。如图2所示,计算设备200可以包括:概率指令接收模块210、随机种子确定模块220和掩码张量确定模块230。应理解,计算设备200还可以包括未示出的附加模块和/或可以省略所示出的模块,本发明的范围在此方面不受限制。
关于概率指令接收模块210,其可以用于接受指示二进制掩码张量的概率的指令。根据本发明的实施例,概率指令接收模块210被配置为:接收指示待生成的二进制掩码张量的概率的第一指令。
关于随机种子确定模块220,其可以用于生成随机种子,以便后续基于所生成的随机种子生成随机数。根据本发明的实施例,随机种子确定模块220被配置为:针对待生成的二进制掩码张量在第一维度中的每一行,确定随机种子。例如,随机种子确定模块220可以基于均匀分布函数或者用户输入确定随机种子。
关于掩码张量元素确定模块230,其可以用于确定掩码张量中各元素对应的值。根据本发明的实施例,掩码张量确定模块230被配置为:至少基于概率和随机种子,确定待生成的二进制掩码张量在第二维度上的元素的值,以便生成二进制掩码张量。
如图2所示,计算设备200还可选地包括:矫正系数确定模块240、初始掩码张量生成模块250和掩码张量更新模块260。
关于矫正系数确定模块240,其可以用于确定矫正系数以调整随机数的生成机制,从而减小所生成的随机数的随机性降低的可能性。根据本发明的实施例,矫正系数确定模块240被配置为:基于待生成的二进制掩码张量的第一维度,确定矫正系数。例如,矫正系数确定模块240可以被配置为:响应于待生成的二进制掩码张量的第一维度大于预定矫正阈值,基于均匀分布函数确定矫正系数;以及响应于待生成的二进制掩码张量的第一维度小于或等于预定矫正阈值,确定矫正系数为1。
关于初始掩码张量生成模块250,其可以用于生成初始掩码张量,以便至少基于初始掩码张量得到二进制掩码张量。根据本发明的实施例,初始掩码张量生成模块250被配置为:基于第一指令生成初始掩码张量,其中初始掩码张量中的所有元素的初始值相同。例如,初始掩码张量生成模块250可以被配置为生成全0张量或全1张量。
关于二进制掩码张量生成模块260,其可以用于对初始掩码张量进行更新,以生成二进制掩码张量。根据本发明的实施例,二进制掩码张量生成模块260被配置为:基于所确定的待生成的二进制掩码张量在第二维度上的元素的值,确定初始掩码张量中需要更新的元素的位置;响应于确定初始掩码张量中需要更新的元素的位置,对相应的元素的初始值进行更新,以生成二进制掩码张量。
图3示出了根据本发明的实施例的用于生成二进制掩码张量的方法300的流程图。方法300可由如图7所示的电子设备700处执行。应当理解,方法300还可以包括未示出的附加动作和/或可以省略所示出的动作,本发明的范围在此方面不受限制。
在步骤302,由计算设备200接收指示待生成的二进制掩码张量的概率的第一指令。
关于待生成的二进制掩码张量的概率(可以用“p”表示),即dropout概率,其可以指示神经元在模型训练的迭代过程中被随机丢弃的概率。通常,待生成的二进制掩码张量的概率p的取值范围在0至1之间,例如,0.1、0.2、0.5、0.8等。待生成的二进制掩码张量的概率p的取值可以与所训练的模型数据类型、任务等有关,根据本发明的实施例,待生成的二进制掩码张量的概率p可以由用户确定,以使得所生成的二进制掩码张量的概率可控。
在步骤304,由计算设备200针对待生成的二进制掩码张量在第一维度中的每一行,确定随机种子。
关于第一维度,其是指张量的高度维度。
关于随机种子,其是指用于生成随机数序列的初始值。通常,随机数的生成是基于某一初始值开始的。
根据本发明的发明构思,为了能够并行地确定二进制掩码张量中各行的元素,可以分别针对待生成的二进制掩码张量在第一维度中的每一行确定随机种子。也就是说,确定多个随机种子,其中每个随机种子对应于待生成的二进制掩码张量中相应的一行,以用于该行的随机数的生成。根据本发明的实施例,针对待生成的二进制掩码张量在第一维度中的每一行确定的随机种子是不同的,以使生成的随机数的无序程度增加。在一些实施例中,针对不同行生成的不同随机种子之间可以具有特定关系,诸如顺序关系、倍数关系等。例如,在一示例中,对应于待生成的二进制掩码张量第一行的随机种子为1,对应于待生成的二进制掩码张量第二行的随机种子为100,对应于待生成的二进制掩码张量第一行的随机种子为10000。在又一些实施例中,针对不同行生成的不同随机种子之间不存在任何关系。例如,在又一示例中,对应于待生成的二进制掩码张量第一行的随机种子为10,对应于待生成的二进制掩码张量第二行的随机种子为3,对应于待生成的二进制掩码张量第一行的随机种子为420。
根据本分发明的实施例,随机种子可以是通过任意适当的方式确定的,例如,基于用户输入的值确定随机种子、基于随机函数(例如,均匀分布函数)生成的值确定随机种子、基于当前的系统时间确定随机种子,本发明对此不作限制。
在步骤306,由计算设备200至少基于概率和随机种子,确定待生成的二进制掩码张量在第二维度上的元素的值,以便生成二进制掩码张量。
关于第二维度,其是指张量的宽度维度。
根据本发明的实施例,可以针对待生成的二进制掩码张量在第一维度中的每一行,基于在步骤304处确定的与每一行相对应的随机种子,经由例如随机数生成器基于随机种子生成范围在[0, d-1]之间且大小为的无替换随机整数向量,其中d表示待生成的二进制掩码张量在第二维度上的列数,即待生成的二进制掩码张量中的每一行包括的元素的数量,p为在步骤302处接收的第一指令所指示的待生成的二进制掩码张量的概率,“/>”为取整(rounding)符号。例如,若d = 5511且p = 0.2,则可以经由随机数生成器基于随机种子生成范围在[0, 5510]之间且大小为(1, 1102)的无替换随机整数向量。
根据本发明的实施例,然后可以基于所生成的无替换随机整数向量,确定二进制掩码张量在第二维度上的元素的值。具体地,可以基于无替换随机整数向量确定二进制掩码张量中与该向量对应的元素的值为第一值(诸如0或1)。例如,在一示例中,所生成的无替换随机整数向量为v 1=[1]且第一值为0,则可以确定二进制掩码张量在第二维度上的第2个元素的值为0;在又一示例中,若所生成的无替换随机整数向量为v 2=[]且第一值为1,则可以确定二进制掩码张量在第二维度上的所有元素的值均不为1。由此,可以确定每一行二进制掩码张量在第二维度上的所有元素的值,以便得到所要生成的二进制掩码张量。
由上可知,本发明提供的用于生成二进制掩码张量的方法能够针对待生成的二进制掩码张量在第一维度中的每一行,并行地确定二进制掩码张量在第二维度中的元素的值,以便生成二进制掩码张量,换言之,可以通过批量(batch)的方式实现二进制掩码张量的生成,从而提高二进制掩码张量的生成效率。
然而,当待生成的二进制掩码张量在第一维度上的行数较多时,容易导致所生成的二进制掩码张量的随机性变弱。为了降低所生成的二进制掩码张量的随机性变弱的可能性,根据本发明的发明构思,还可以通过引入矫正系数来调整随机数的生成机制,从而减小所生成的随机数的随机性降低的可能性。
图4示出了根据本发明的实施例的用于生成二进制掩码张量的方法400的流程图。方法400可由如图7所示的电子设备700处执行。应当理解,方法400还可以包括未示出的附加动作和/或可以省略所示出的动作,本发明的范围在此方面不受限制。
在步骤402,由计算设备200接收指示待生成的二进制掩码张量的概率的第一指令。
关于步骤402,可参见上述关于图3的步骤302的描述,这里不再赘述。
在步骤404,由计算设备200针对待生成的二进制掩码张量在第一维度中的每一行,确定随机种子。
关于步骤404,可参见上述关于图3的步骤304的描述,这里不再赘述。
在步骤406,由计算设备200基于待生成的二进制掩码张量的第一维度,确定矫正系数。
关于矫正系数,其可以是基于随机均匀分布函数确定的。根据本发明的实施例,矫正系数(可以用“γ”表示)可以通过如下公式(1)确定:
(1)
其中,a为均匀分布参数,其取值范围在0至1之间。根据本发明的实施例,这里的均匀分布参数a可以例如由用户确定。
如上所述,当待生成的二进制掩码在第一维度上的行数较多,即用于生成二进制掩码张量的并行维度较大时,容易导致所生成的二进制掩码张量的随机性变弱;而当并行维度较小时,所生成的二进制掩码张量的随机性变弱的可能性相应较小。因此,根据本发明的又一些实施例,还可以基于待生成的二进制掩码张量在第一维度上的行数来确定是否需要在生成二进制掩码张量的过程中引入矫正系数。
具体地,在本发明的一些实施例中,基于待生成的二进制掩码张量的第一维度确定矫正系数可以包括:响应于待生成的二进制掩码张量的第一维度大于预定矫正阈值,基于均匀分布函数确定矫正系数;以及响应于待生成的二进制掩码张量的第一维度小于或等于预定矫正阈值,确定矫正系数为1。
关于预定矫正阈值(可以用“N”表示),其可以是由用户预先设定的,相当于指示待生成的二进制掩码张量在第一维度上的行数阈值。例如,在一示例中,可以设定预定矫正阈值N = 2000。在这种情况下,当待生成的二进制掩码张量的第一维度大于预定矫正阈值N =2000时,可以通过上述公式(1)确定矫正系数γ。例如,基于用户的输入确定均匀分布参数a的取值为0.95,在此基础上,可以计算得到矫正系数;而当待生成的二进制掩码张量的第一维度小于或等于预定矫正阈值N = 2000时,则确定矫正系数γ= 1。
在步骤408,由计算设备200至少基于概率、随机种子和矫正系数,确定待生成的二进制掩码张量在第二维度上的元素的值。
根据本发明的实施例,可以针对待生成的二进制掩码张量在第一维度中的每一行,基于在步骤404处确定的与每一行相对应的随机种子,经由例如随机数生成器基于随机种子生成范围在[0, d-1]之间且大小为的无替换随机整数向量,其中d表示待生成的二进制掩码张量在第二维度上的列数,即待生成的二进制掩码张量中的每一行包括的元素的数量,p为在步骤402处接收的第一指令所指示的待生成的二进制掩码张量的概率,γ为在步骤406处确定的矫正系数,“/>”为取整(rounding)符号。例如,在一示例中,d=5511,p = 0.2且/>,则可以经由随机数生成器基于随机种子生成范围在[0, 5510]之间且大小为/>的无替换随机整数向量。
类似地,如上所示,然后可以基于所生成的无替换随机整数向量,确定二进制掩码张量在第二维度上的元素的值。具体可参考前文中的描述,这里不再赘述。
由上可知,本发明提供的用于生成二进制掩码张量的方法中引入了矫正系数以调整二进制掩码张量生成过程中生成随机数的机制,使得能够减小所生成的随机数的随机性降低的可能性。尤其当待生成的二进制掩码在第一维度上的行数较多时,通过引入矫正系数能够增强所生成的二进制掩码张量的随机性。
然而,在实践dropout方法的过程中,需要针对神经网络层的每次训练重新生成二进制掩码张量,需要很大的计算量。尤其当执行与诸如长文本有关的任务时,用于生成二进制掩码张量的计算量与文本长度呈线性相关,甚至与文本长度呈平方相关,致使需要巨大的计算开销来实现dropout方法。
为了至少解决上述问题,根据本发明的发明构思,还可以通过生成初始掩码张量,使得初始掩码张量中的部分元素对应的值与待生成的二进制掩码张量中的相应元素对应的值相同,从而减少二进制掩码张量生成过程中的计算量。具体而言,根据本发明的实施例的用于生成二进制掩码张量的方法还可以包括:响应于接收第一指令,基于第一指令生成初始掩码张量,其中初始掩码张量中的所有元素的初始值相同;基于所确定的待生成的二进制掩码张量在第二维度上的元素的值,确定初始掩码张量中需要更新的元素的位置;以及响应于确定初始掩码张量中需要更新的元素的位置,对相应的元素的初始值进行更新,以生成二进制掩码张量。下面将结合图5详细描述。
图5示出了根据本发明的实施例的用于生成二进制掩码张量的方法500的流程图。方法500可由如图7所示的电子设备700处执行。应当理解,方法500还可以包括未示出的附加动作和/或可以省略所示出的动作,本发明的范围在此方面不受限制。
在步骤502,由计算设备200接收指示待生成的二进制掩码张量的概率的第一指令。
关于步骤502,可参见上述关于图3的步骤302的描述,这里不再赘述。
在步骤504,由计算设备200基于第一指令生成初始掩码张量,其中初始掩码张量中的所有元素的初始值相同。
关于初始掩码张量,其可以是全0张量或全1张量。根据本发明的实施例,初始掩码张量的大小与待生成的二进制掩码张量的大小相同。
应理解,当待生成的二进制掩码张量的概率p越靠近0,表示神经元在模型训练的迭代过程中被随机丢弃的概率越小,因此所生成的二进制掩码中值为1的元素的数量更多;相应地,当待生成的二进制掩码张量的概率p越靠近1,表示神经元在模型训练的迭代过程中被随机丢弃的概率越大,因此所生成的二进制掩码中值为0的元素的数量更多。在此基础上,根据本发明的实施例,可以基于第一指令中指示的基于第一指令生成初始掩码张量来生成全0或全1的初始掩码张量。
例如,根据本发明的实施例的基于第一指令生成初始掩码张量,可以包括:响应于第一指令指示待生成的二进制掩码张量的概率大于0且小于0.5,生成第一初始掩码张量,第一初始掩码张量中的所有元素的初始值为1;以及响应于第一指令指示待生成的二进制掩码张量的概率小于1且大于0.5,生成第二初始掩码张量,第二初始掩码张量中的所有元素的初始值为0。
在步骤506,由计算设备200针对待生成的二进制掩码张量在第一维度中的每一行,确定随机种子。
关于步骤506,可参见上述关于图3的步骤304的描述,这里不再赘述。
在步骤508,由计算设备200基于待生成的二进制掩码张量的第一维度,确定矫正系数。
关于步骤508,可参见上述关于图4的步骤406的描述,这里不再赘述。
在步骤510,由计算设备200至少基于概率、随机种子和矫正系数,确定待生成的二进制掩码张量在第二维度上的元素的值。
关于步骤510,可参见上述关于图4的步骤408的描述,这里不再赘述。
在步骤512,由计算设备200基于待生成的二进制掩码张量在第二维度上的元素的值,确定初始掩码张量中需要更新的元素的位置。
如上所述,在步骤510处,可以生成无替换随机整数向量以确定二进制掩码张量中与该向量对应的元素的值为第一值(诸如0或1)。也就是说,当第一值与初始掩码张量中的元素的值不同,例如,第一值为0,而初始掩码张量为全1张量(即该初始掩码张量中的元素的值均为1)时,所生成无替换随机整数向量所指示的元素即为待生成的二进制掩码张量中值为0的元素的位置,也就是初始掩码张量中需要将值从1转换为0的元素的位置。由此,可以确定初始掩码张量中需要更新的元素的位置。
在步骤514,由计算设备200对初始掩码张量中的相应元素的初始值进行更新,已生成二进制掩码张量。
关于对初始掩码张量中的相应元素的初始值进行更新,其可以是将全0张量中需要更新的元素的值从0更新为1,或者将全1张量中需要更新的元素的值从1更新为0。
由上可知,通过生成初始掩码张量,使得只需对该初始掩码张量中不到一半的元素的值进行更新,就能够得到二进制掩码张量,从而能够减少至少一半的用于生成二进制掩码张量的计算量。
在此基础上,考虑到二进制掩码张量的概率具有对策性,也就是说,基于概率p确定待生成的二进制掩码张量在第二维度上的元素的值为0与基于概率1-p确定待生成的二进制掩码张量在第二维度上的元素的值为1是等效的,可以进一步利用这一特性来进一步减少用于生成二进制掩码张量的计算量。
例如,根据本发明的一实施例,若接收的第一指令指示待生成的二进制掩码张量的概率p = 0.2,则生成为全1张量的初始掩码张量;然后根据前述方法,针对待生成的二进制掩码张量在第一维度中的每一行,确定该行中值为0的元素,并将该元素的值从1更新为0。根据本发明的又一实施例,若接收的第一指令指示待生成的二进制掩码张量的概率p =0.8,则生成为全0张量的初始掩码张量;然后根据前述方法,针对待生成的二进制掩码张量在第一维度中的每一行,确定该行中值为1的元素,并将该元素的值从0更新为1。显然,基于概率p = 0.2确定待生成的二进制掩码张量在第二维度上的元素的值为0与基于概率p =0.8确定待生成的二进制掩码张量在第二维度上的元素的值为1是等效的,也就是说,可以根据基于概率p = 0.2生成的二进制掩码张量,相应地确定当概率p = 0.8时所生成的二进制掩码张量,从而实现减少用于生成二进制掩码张量所需的计算量的效果。
对于待生成的二进制掩码张量的概率p = 0.5而言,无论生成全0张量还是全1张量的初始掩码张量,均需要更新一半的元素的值以生成二进制掩码张量。因此,在一些实施例中,可以生成全0张量或全1张量,并根据如图5所示的用于生成二进制掩码张量的方法500,以生成二进制掩码张量。
然而,为了进一步减少用于生成二进制掩码张量所需的计算量,提高二进制掩码张量的生成效率,根据本发明的一些实施例,针对待生成的二进制掩码张量的概率p =0.5,替代地,可以基于伪随机二进制序列算法迭代地确定待生成的二进制掩码张量在第二维度上的元素的值,以使得能够更高效地生成二进制掩码张量。
具体地,根据本发明的实施例,至少基于概率和随机种子,确定待生成的二进制掩码张量在所述第二维度上的元素的值可以包括:根据基于伪随机二进制序列算法得到的当前输出的最后一位二进制字符,确定待生成的二进制掩码张量的当前元素的值,以便迭代地确定待生成的二进制掩码张量在第二维度上的元素的值。
关于伪随机二进制序列算法,其可以是𝐾阶伪随机二进制序列算法(PRBS K )。根据本发明的实施例,待生成的二进制掩码张量在第二维度上的当前元素的值可以由经由PRBS K 得到的输出数的最后一位二进制字符决定。
例如,以31阶伪随机二进制序列算法(PRBS 31 )为例,该算法的伪代码可参见如下:
也就是说,当使用𝐾阶伪随机二进制序列算法PRBS K 以针对待生成的二进制掩码张量中的每一行,确定其在第二维度上的元素的值,其可以是:根据如下公式(2)和(3),使用PRBS K 进行迭代,并取当前输出的最后一位二进制字符作为二进制掩码张量相应的元素的值;
x i , y = PRBS K (x i-1 ) (2)
mask[j, i] = y (3)
例如,针对待生成的二进制掩码张量中的第一行,对于其中的第二个元素,基于PRBS K 得到的当前输出的最后一位二进制字符为1,则该第二个元素的值为1,然后基于当前输出的值经由PRBS K 确定该行二进制掩码张量的第三个元素。例如,对于其中的第二个元素,基于PRBS K 得到的当前输出为5,确定PRBS K (5) = 11,且11的二进制字符(即1011)的最后一位为1,从而确定第三个元素的值为1。
在这种情况下,根据本发明的实施例,针对待生成的二进制掩码张量在第一维度中的每一行所确定随机种子的值可以在[0, 2 k -1]的范围内,其中k的值与后续使用的𝐾阶伪随机二进制序列算法PRBS K 的K的值相同。
由上可知,通过在待生成的二进制掩码张量的概率p = 0.5的情况下使用𝐾阶伪随机二进制序列算法PRBS K 来生成二进制掩码张量,使得能够更高效地生成二进制掩码张量。
图6示出了根据本发明的一实施例的用于生成二进制掩码张量的示例方法600的流程图。方法600可由如图7所示的电子设备700处执行。应当理解,方法600还可以包括未示出的附加动作和/或可以省略所示出的动作,本发明的范围在此方面不受限制。
在步骤602,由计算系统200接收指示待生成的二进制掩码的概率的第一指令。关于步骤602,可参见上述关于图3的步骤302的描述。
在步骤604,由计算系统200确定待生成的二进制掩码的概率p是否满足0 < p <0.5?
响应于在步骤604确定待生成的二进制掩码的概率p满足0 < p < 0.5,在步骤606,由计算系统200生成全0张量作为初始掩码张量。
响应于在步骤604确定待生成的二进制掩码的概率p不满足0 < p < 0.5,在步骤608,由计算系统200确定待生成的二进制掩码的概率p是否等于5。
响应于在步骤608确定待生成的二进制掩码的概率p不等于5,在步骤610,由计算系统200生成全1张量作为初始掩码张量。
在步骤612,由计算系统200确定随机种子。关于步骤612,可参见上述关于图3的步骤304的描述。
在步骤614,由计算系统200确定校正系数。关于步骤612,可参见上述关于图4的步骤406的描述。
在步骤616,由计算系统200基于待生成的二进制掩码的概率p、在步骤612确定的随机种子、在步骤614确定的矫正系数、和在步骤606或步骤610处生成的初始掩码张量,生成二进制掩码张量。关于步骤616,可参见上述关于图5中关于步骤510和步骤512的描述。
响应于在步骤608确定待生成的二进制掩码的概率p等于5,则前进至步骤618,由计算系统200确定随机种子。其中,随机种子的取值范围与所要使用的伪随机二进制序列算法的阶数有关。
在步骤620,由计算系统200基于待生成的二进制掩码的概率p和在步骤618确定的随机种子,经由伪随机二进制序列算法生成二进制掩码张量。详细步骤可参见前文中的描述,这里不再赘述。
综上,根据本发明的实施例的用于生成的二进制掩码张量的方案能够并行地确定二进制掩码张量中各行的元素,从而提高二进制掩码张量的生成效率。并且引入了矫正系数以调整二进制掩码张量生成过程中生成随机数的机制,使得能够减小所生成的随机数的随机性降低的可能性。同时,根据本发明的实施例的用于生成的二进制掩码张量的方案能够减少二进制掩码张量生成过程中的计算量,使得二进制掩码张量的生成更为高效。
图7示意性示出了适于用来实现本发明实施例的用于生成二进制掩码张量的方案的计算设备700的框图。设备700可以是用于实现执行图3所示的方法300、图4所示的方法400、图5所示的方法500和图6所示的方法600的设备。如图7所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706、输出单元707、存储单元708,处理单元701执行上文所描述的各个方法和处理,例如执行方法300、400、500或600。例如,在一些实施例中,方法300、400、500或600可被实现为计算机软件程序,其被存储于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM703并由CPU 701执行时,可以执行上文描述的方法300、400、500或600中的一个或多个操作。备选地,在其他实施例中,CPU 701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法300、方法400、方法500和/或方法600的一个或多个动作。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这些计算机可读程序指令可以提供给语音交互装置中的处理器、通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
以上仅为本发明的可选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于生成二进制掩码张量的方法,其特征在于,包括:
接收指示待生成的二进制掩码张量的概率的第一指令;
针对所述待生成的二进制掩码张量在第一维度中的每一行,确定随机种子;
至少基于所述概率和所述随机种子,确定所述待生成的二进制掩码张量在第二维度上的元素的值,以便生成二进制掩码张量。
2.根据权利要求1所述的方法,其特征在于,还包括:基于所述待生成的二进制掩码张量的第一维度,确定矫正系数;
至少基于所述概率和所述随机种子,确定所述待生成的二进制掩码张量在所述第二维度上的元素的值包括:至少基于所述概率、所述随机种子和所述矫正系数,确定所述待生成的二进制掩码张量在所述第二维度上的元素的值。
3. 根据权利要求2所述的方法,其特征在于,基于所述待生成的二进制掩码张量的第一维度确定矫正系数包括:
响应于所述待生成的二进制掩码张量的第一维度大于预定矫正阈值,基于均匀分布函数确定所述矫正系数;以及
响应于所述待生成的二进制掩码张量的第一维度小于或等于所述预定矫正阈值,确定所述矫正系数为1。
4.根据权利要求1所述的方法,其特征在于,还包括:
响应于接收所述第一指令,基于所述第一指令生成初始掩码张量,其中所述初始掩码张量中的所有元素的初始值相同;
基于所确定的所述待生成的二进制掩码张量在所述第二维度上的元素的值,确定所述初始掩码张量中需要更新的元素的位置;
响应于确定所述初始掩码张量中需要更新的元素的位置,对相应的元素的初始值进行更新,以生成二进制掩码张量。
5. 根据权利要求4所述的方法,其特征在于,基于所述第一指令生成初始掩码张量包括:
响应于所述第一指令指示待生成的二进制掩码张量的概率大于0且小于0.5,生成第一初始掩码张量,所述第一初始掩码张量中的所有元素的初始值为1;以及
响应于所述第一指令指示待生成的二进制掩码张量的概率小于1且大于0.5,生成第二初始掩码张量,所述第二初始掩码张量中的所有元素的初始值为0。
6.根据权利要求1所述的方法,其特征在于,至少基于所述概率和所述随机种子,确定所述待生成的二进制掩码张量在所述第二维度上的元素的值包括:
响应于所述第一指令指示待生成的二进制掩码张量的概率为0.5,基于伪随机二进制序列算法迭代地确定所述待生成的二进制掩码张量在所述第二维度上的元素的值。
7.根据权利要求6所述的方法,其特征在于,基于伪随机二进制序列算法迭代地确定所述待生成的二进制掩码张量在所述第二维度上的元素的值包括:
根据基于伪随机二进制序列算法得到的当前输出的最后一位二进制字符,确定所述待生成的二进制掩码张量的当前元素的值。
8.根据权利要求1所述的方法,其特征在于,针对所述待生成的二进制掩码张量在所述第一维度中的每一行确定的随机种子是不同的。
9. 一种计算设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-8中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行权利要求1-8中任一项所述的方法。
CN202410077622.8A 2024-01-19 2024-01-19 用于生成二进制掩码张量的方法、计算设备和存储介质 Pending CN117591076A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410077622.8A CN117591076A (zh) 2024-01-19 2024-01-19 用于生成二进制掩码张量的方法、计算设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410077622.8A CN117591076A (zh) 2024-01-19 2024-01-19 用于生成二进制掩码张量的方法、计算设备和存储介质

Publications (1)

Publication Number Publication Date
CN117591076A true CN117591076A (zh) 2024-02-23

Family

ID=89913739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410077622.8A Pending CN117591076A (zh) 2024-01-19 2024-01-19 用于生成二进制掩码张量的方法、计算设备和存储介质

Country Status (1)

Country Link
CN (1) CN117591076A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111223035A (zh) * 2020-01-07 2020-06-02 鲁东大学 基于汉明码、特征值分解和图像矫正的彩色盲水印方法
US20200193279A1 (en) * 2018-12-13 2020-06-18 Sri International Runtime-throttleable neural networks
CN115761764A (zh) * 2022-11-21 2023-03-07 中国科学院合肥物质科学研究院 一种基于视觉语言联合推理的中文手写文本行识别方法
CN116011425A (zh) * 2022-12-14 2023-04-25 中电万维信息技术有限责任公司 一种基于gpt网络模型的中文问题重写方法
CN116227485A (zh) * 2022-12-08 2023-06-06 杭州碳硅智慧科技发展有限公司 一种反应条件预测模型训练方法及装置
WO2023158786A1 (en) * 2022-02-18 2023-08-24 Visa International Service Association Method, system, and computer program product for generating robust graph neural networks using universal adversarial training
CN117371448A (zh) * 2022-06-30 2024-01-09 第四范式(北京)技术有限公司 实体识别及其模型训练方法、装置、电子设备与存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200193279A1 (en) * 2018-12-13 2020-06-18 Sri International Runtime-throttleable neural networks
CN111223035A (zh) * 2020-01-07 2020-06-02 鲁东大学 基于汉明码、特征值分解和图像矫正的彩色盲水印方法
WO2023158786A1 (en) * 2022-02-18 2023-08-24 Visa International Service Association Method, system, and computer program product for generating robust graph neural networks using universal adversarial training
CN117371448A (zh) * 2022-06-30 2024-01-09 第四范式(北京)技术有限公司 实体识别及其模型训练方法、装置、电子设备与存储介质
CN115761764A (zh) * 2022-11-21 2023-03-07 中国科学院合肥物质科学研究院 一种基于视觉语言联合推理的中文手写文本行识别方法
CN116227485A (zh) * 2022-12-08 2023-06-06 杭州碳硅智慧科技发展有限公司 一种反应条件预测模型训练方法及装置
CN116011425A (zh) * 2022-12-14 2023-04-25 中电万维信息技术有限责任公司 一种基于gpt网络模型的中文问题重写方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
LOSTENG: "Dropout 与 DropConnect", Retrieved from the Internet <URL:《https://blog.csdn.net/losteng/article/details/51525732》> *
剪掉辫子的人: "random tensor-随机生成种子操作(tf.set_random_seed(interger))", Retrieved from the Internet <URL:《https://www.cnblogs.com/happy-sir/p/11530528.html》> *
曾光;邓依群;韩文报;范淑琴;: "σ-AND随机数生成器", 计算机科学, no. 01, 15 January 2009 (2009-01-15) *
配电网和MATLAB: "matlab使用教程(12)-随机数种子", Retrieved from the Internet <URL:《https://blog.csdn.net/weixin_44209907/article/details/132220597》> *
陈丽君 等: "分布式张量网络随机化技术的大数据隐私保护", 《计算机工程与设计》, vol. 44, no. 11, 16 November 2023 (2023-11-16), pages 3238 - 3249 *

Similar Documents

Publication Publication Date Title
US10540583B2 (en) Acceleration of convolutional neural network training using stochastic perforation
US10963783B2 (en) Technologies for optimized machine learning training
US11062208B2 (en) Update management for RPU array
US20200342326A1 (en) System and method for training a neural network system
CN113689006A (zh) 一种模型联合训练的方法和系统
US20240005166A1 (en) Minimum Deep Learning with Gating Multiplier
CN113792289B (zh) 一种后门攻击的防御方法和系统
CN113591077B (zh) 一种网络攻击行为预测方法、装置、电子设备及存储介质
Peng et al. A new likelihood ratio method for training artificial neural networks
CN116996272A (zh) 一种基于改进的麻雀搜索算法的网络安全态势预测方法
Ladner et al. Automatic abstraction refinement in neural network verification using sensitivity analysis
CN117591076A (zh) 用于生成二进制掩码张量的方法、计算设备和存储介质
CN114581966A (zh) 用于信息处理的方法、电子设备和计算机程序产品
CN116629324A (zh) 一种面向模型生成文本重复退化现象的优化生成方法
Seok et al. Nonlinear optimization algorithm using monotonically increasing quantization resolution
WO2019121142A1 (en) Approaching homeostasis in a binary neural network
CN110889316A (zh) 一种目标对象识别方法、装置及存储介质
CN115423038A (zh) 用于确定公平性的方法、装置、电子设备和存储介质
CN114049539A (zh) 基于去相关二值网络的协同目标识别方法、系统及装置
CN113822317A (zh) 对分类器的输出数据进行后处理
CN113272831A (zh) 神经网络的缩简装置
US20240211808A1 (en) Learning apparatus, learning method, and program
WO2023067782A1 (ja) 機械学習プログラム、機械学習方法および情報処理装置
CN110321816B (zh) 图像识别方法及装置
WO2022252017A1 (en) Method and apparatus for deep learning

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