CN114492722A - 用于生成神经网络的二值权重的方法和系统 - Google Patents
用于生成神经网络的二值权重的方法和系统 Download PDFInfo
- Publication number
- CN114492722A CN114492722A CN202011262740.4A CN202011262740A CN114492722A CN 114492722 A CN114492722 A CN 114492722A CN 202011262740 A CN202011262740 A CN 202011262740A CN 114492722 A CN114492722 A CN 114492722A
- Authority
- CN
- China
- Prior art keywords
- weight
- weights
- input
- binary
- potential
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
一种用于神经网络的处理器,包括:权重概率分析模块,配置为基于神经网络的一个或多个层的一组输入权重生成至少表示一组输入权重中的每个输入权重与二元值相关联的概率的数据;方案生成模块,配置为针对所述权重的至少一个选定分组,基于针对选定的所述权重确定的概率生成至少表示一个或多个潜在二值权重矩阵的数据;方案选择模块,配置为至少生成表示每个潜在二值权重矩阵的矩阵特定概率值的数据,根据预定编码方法生成用于表示每个潜在二值权重矩阵的数据比特数的数据,并且基于所述矩阵特定概率值和所述数据比特数对潜在二值权重矩阵进行选择;以及权重生成模块,配置为根据所述选定的潜在二值权重矩阵生成表示一个或多个二值权重的数据。
Description
技术领域
本发明涉及一种用于生成神经网络的二值权重的改进的方法和系统,其中具体地,二值权重是基于概率因子及其压缩特性来生成的。
背景技术
当前,已经针对不同的应用开发了不同的神经网络架构。对于使用相同架构的神经网络,具有更多层和更多参数的网络通常会在执行神经网络任务的过程中实现更高的准确性。例如,基于VCG-16的卷积神经网络(CNN)(具有16层,1.38亿个参数)通常可以实现比基于AlexNet的CNN(具有8层和6000万个参数)更高的准确性,而后者通常可以实现比基于LeNet-5(具有5层和60,000个参数)的CNN更高的准确性。同样的原则适用于更现代的架构,诸如ResNet和DenseNet。
神经网络、尤其是卷积神经网络的问题在于,这些网络所执行的运算通常会消耗大量的硬件资源,这阻碍了此类网络在资源受限的环境(例如,小型、电池供电的设备)中的应用。例如,对卷积层中的浮点权重执行的乘积累加(MAC)运算可能需要大量的数据处理和存储器资源。此外,同样需要大量的存储器资源来存储神经网络的每个卷积层或全连接层中的权重。然而,根据神经网络的实施环境,可用于实施神经网络的此类硬件资源的数量通常受到物理或实际限制。
此前已经提出了几种方法来帮助减少神经网络所需的硬件资源。此类方法包括,例如,基于权重大小修剪网络中的连接,以及将权重从原始浮点值(例如,长度为10到64比特)量化为预定比特长的固定点值(例如,长度为16比特、8比特、4比特、2比特或1比特)。另一种方法是开发二值神经网络(BNN)架构,该架构使用二值化权重来处理二值化数据输入。BNN中的运算通常更容易在硬件中实现,其中,例如,可以针对相关二值权重执行更简单的异或非(XNOR)逻辑运算,而无需执行MAC运算。
当前,已经提出了几种方法来减少BNN的资源需求。例如,可以确定每个权重的翻转频率,其中,可以修剪翻转频率高于某预定阈值的权重(因为其对BNN所产生的输出影响有限)。在另一示例中,可以对二值卷积神经网络(BCNN)的权重矩阵进行修剪然后进行压缩。从权重矩阵的一端开始,将二值权重矩阵中的非零比特逐步修减(或更改)为零比特,并在当二值权重矩阵的更改导致识别准确性大大降低时停止。然后权重矩阵中具有相同值的权重的连续序列可以被压缩(例如,映射到表示不同长度的连续零比特序列的预定义值)。在又一示例中,可以估计BNN中每个权重的敏感性,然后基于阈值将每个权重划分为敏感权重和非敏感权重。该阈值是基于BNN中由存储在以接近/低于阈值电压运行的非可靠存储器中的非敏感二值化权重值的变化引起的误差确定的,并对该阈值进行调整以实现一组最佳的非敏感权重。
在以上方法中,生成二值权重矩阵,然后分开进行处理以实现压缩。此类矩阵是在不考虑所得矩阵的压缩特性的情况下生成的。此外,在以上方法中,权重矩阵只能包含两个二元值之一。这些方法没有考虑给定二值权重矩阵的细微变化的可能性(当考虑与每个权重相关联的概率时),其中,这些细微变化中的某一些可以比其他变化更有利于被压缩。
本发明旨在解决上述问题中的一个或多个问题。具体地,本发明的代表性实施例旨在提供一种通过考虑输入权重的概率来生成具有理想压缩特性的二值权重矩阵的改进方式。
发明内容
一方面,本发明提供了一种用于神经网络的处理器,该处理器包括:
权重概率分析模块,该权重概率分析模块被配置为基于神经网络的一个或多个层的一组输入权重生成至少表示一组输入权重中的每个所述输入权重与二元值相关联的概率的数据;
方案生成模块,该方案生成模块被配置为针对所述权重的至少一个选定分组,基于针对选定的所述权重确定的概率生成至少表示一个或多个潜在二值权重矩阵的数据;
方案选择模块,该方案选择模块被配置为至少:生成表示每个所述潜在二值权重矩阵的矩阵特定概率值的数据,生成表示用于根据预定编码方法表示每个所述潜在二值权重矩阵的数据比特数的数据,并且基于所述矩阵特定概率值和所述数据比特数对所述潜在二值权重矩阵执行选择;以及
权重生成模块,该权重生成模块被配置为根据所述选定的潜在二值权重矩阵生成表示一个或多个二值权重的数据。
另一方面,本发明提供了一种用于神经网络中权重的二值量化的方法,该方法包括:
基于神经网络的一个或多个层的一组输入权重生成至少表示一组输入权重中的每个所述输入权重与二元值相关联的概率的数据;
针对所述权重的至少一个选定分组,基于针对选定的所述权重确定的概率生成至少表示一个或多个潜在二值权重矩阵的数据;
生成表示每个所述潜在二值权重矩阵的矩阵特定概率值的数据,生成表示用于根据预定编码方法表示每个所述潜在二值权重矩阵的数据比特数的数据,并且基于所述矩阵特定概率值和所述数据比特数对所述潜在二值权重矩阵执行选择;以及
根据所述选定的潜在二值权重矩阵生成表示一个或多个二值权重的数据。
附图说明
本文仅通过示例的方式并参考附图描述本发明的代表性实施例,其中,相同的附图标记指代相同的特征,在附图中:
图1所示为用于实施本发明的方法的数据处理系统的示例性内部结构的框图;
图2所示为使用本发明的方法生成二值权重的训练过程的示例性流程图;
图3所示为根据本发明的代表性实施例的二值化方法中的关键步骤的示例性流程图;
图4所示为根据本发明的代表性实施例的替代性二值化方法中的关键步骤的示例性流程图;
图5所示为根据本发明的代表性实施例的二值矩阵选择步骤中的关键步骤的示例性流程图;
图6所示为根据本发明的代表性实施例的替代性二值矩阵选择步骤中的关键步骤的示例性流程图;
图7所示为根据本发明的代表性实施例的用于生成归一化权重的示例性线性关系的图;
图8所示为用于确定不同输入权重的局部权重概率的示例性预定关系的图;
图9所示为根据本发明的代表性实施例的可以形成权重的选定分组的示例的图;
图10所示为根据本发明的代表性实施例的用于生成潜在二值权重矩阵的方法的图解示例;
图11所示为根据本发明的代表性实施例的用于选择潜在二值权重矩阵的方法的图解示例;
图12所示为根据本发明的代表性实施例的用于确定用于编码的比特组的方法的图解示例。
具体实施方式
图1所示为展示了数据处理系统100的示例性内部结构的框图,该数据处理系统包括处理器102、存储器104、一个或多个输入接口106和一个或多个输出接口108、以及数据通信总线110。总线110包括一个或多个导体,以使计算机的部件彼此通信(例如,发送或交换数据)。
处理器102可以包括一个或多个常规微处理器、微控制器、或被配置为解释和执行提供给处理器102的指令(包括以代码或信号的形式的指令)的类似或等效的数据/信号处理部件(例如,专用集成电路(ASIC)或现场可编程门阵列(FGPA))。存储器104可以包括任何常规的随机存取存储器(RAM)设备、任何常规的只读存储器(ROM)设备、或可以存储供处理器102执行的信息和指令的任何其他类型的易失性或非易失性数据存储设备。存储器104还可以包括用于持久存储电子数据的存储设备(图1中未示出)(例如,硬盘驱动器),该存储设备包括例如基于磁、光或电路的数据记录介质以及用于向/从记录介质读取和写入数据的任何相关的电路系统和物理部件。
输入接口106可以包括用于接收以下各项的一个或多个常规数据通信装置:(i)表示神经网络的权重的输入数据;(ii)表示用于控制系统100的操作的一个或多个参数的配置数据;和/或(iii)表示用于控制系统100的操作的(例如,将存储在存储器104中的)指令代码的指令数据。输出接口108可以包括用于向外部系统或用户提供输出数据的一个或多个常规数据通信装置,该输出数据包括例如表示由系统100生成的一个或多个二值权重的二值权重数据。
在本发明的代表性实施例中,系统100在诸如ASIC或FPGA等集成电路芯片中实施。可替代地,系统100可以在常规的台式机、服务器或基于云的计算机系统上实施。
在本发明的代表性实施例中,系统100的处理器102由存储在存储器104中的指令配置,以提供权重概率分析模块102a、方案生成模块102b、方案选择模块102c和权重生成模块102d,这些模块各自被配置为执行二值化方法204的步骤以生成神经网络的二值权重。本文描述的本发明的代表性实施例可以应用于任何神经网络,包括卷积神经网络。二值化方法204可以作为如图2所示的训练过程200的一部分来执行,或者可以作为单独且独立的过程来执行。
一个简单的神经网络可以包括一个或多个全连接(或隐藏)层。每一层由多个神经元组成,其中每个神经元具有可学习的权重和可学习的偏置。每个神经元从输入层接收输入值,并基于与该神经元相关联的权重和偏置来变换该输入值以生成输出值,该输出值作为输入提供给下一层的一个或多个神经元。该过程一直持续到最后一层生成神经网络的最终输出为止。在本上下文中,一层的权重矩阵是指与该层中的每个神经元相关联的权重值的数组。
卷积神经网络通常用于从由输入层提供的输入中提取特征。在图像处理的上下文中,输入层可以提供图像形式的输入。输入图像可以包括单通道(例如,其中输入的元素对应于黑色或白色的图像像素)。在另一示例中,输入图像可以是包括多个通道的彩色图像,其中每个通道的元素对应于图像的不同颜色分量(例如,红色通道、绿色通道和蓝色通道)的强度或程度。
可以使用不同的滤波器来检测输入图像的不同特征(例如,水平边缘、竖直边缘或对角线边缘)。这些特征是采用滤波器通过卷积提取的,其中通过训练确定和调整该滤波器的权重。内核是指权重的二维数组(或权重矩阵)。每个内核都是唯一的,并用于检测或提取输入图像的不同特征。滤波器是指内核的集合(例如,堆叠在一起以形成三维数组)。例如,为了检测包括多个通道的输入图像中的特定特征,为每个通道提供不同的内核以检测每个通道中的相关特征。在这种情况下,每个内核将具有相同的大小(例如,3×3矩阵),其中滤波器是指用于检测图像的不同通道中的相同相关特征的一组内核。对于只有一个通道的输入图像,仅使用一个内核来检测相关特征,因此,滤波器与内核相同。在卷积神经网络的场景中,本发明可以应用于单通道输入层的内核,或者应用于多通道输入层的一个或多个滤波器中的内核。
卷积是指基于内核中的权重与来自与该内核相关联的输入通道的输入值的对应矩阵的逐元素乘法(或点积)生成输出值的过程。例如,首先将3×3内核与来自输入通道的3×3输入值矩阵相关联(例如,从该通道的输入值的二维输入矩阵的一个角开始)。将内核中的权重与输入值矩阵之间执行点积运算,并将所得值加在一起以生成初始输入权重矩阵的单个输出值。然后,内核“滑移(slides over)”到输入矩阵的不同位置(例如,如果将“步幅(stride)”参数设置为1,则向左滑动一个元素),以使内核与不同的3×3输入值矩阵相关联。之后,对新的3×3输入值矩阵执行卷积运算以生成对应的输出值。重复该过程,直到内核“滑移”了整个输入矩阵为止。
图2所示为根据本发明的代表性实施例的训练过程200的示例性流程图,其中,本发明的二值化方法用于生成神经网络的二值权重。在图2所示的示例性实施例中,训练过程200在步骤202处开始,其中,处理器102获得神经网络的初始权重。初始权重可以是神经网络(例如,卷积神经网络)的一个或多个层(即,稠密层或全连接层)的随机确定的浮点权重值。可替代地,初始权重可以是先前已经为神经网络确定的浮点值或二元权重值。此类预定权重值可以经由输入接口106(例如,从与系统100通信的单独设备)提供给处理器102,或者可替代地,处理器102可以获取存储在存储器104中的任何此类预定权重值。
在步骤204处,处理器102(及其相关模块102a至102d)被配置为执行用于生成神经网络的二值权重的二值化方法。下文将参考图3至图6更详细地对此进行描述。在步骤204处生成的二值权重可以存储在存储器104中,以供处理器102在训练过程200的后续步骤中使用。
在步骤206处,处理器102被配置为向神经网络提供在步骤204处生成的二值权重。该神经网络可以由系统100的处理器102来实施,或者可替代地由与该处理器102或系统100通信的单独设备或机器上的处理器来实施。该神经网络被配置为(例如,由处理器102对其进行配置)对一组训练数据执行训练任务以确定训练结果。例如,训练数据可以包括与不同主题有关的多个训练图像,并且神经网络(当采用在步骤204处生成的二值权重对其进行配置时)将生成一训练结果,指示神经网络最终将每个训练图像中的主题确定为什么结果。
在步骤208处,处理器102评估在步骤206处生成的训练结果,以评估由在步骤204处生成的二值权重表示的数据模型的准确性。如果步骤208确定模型的准确性是可接受的(例如,训练结果充分接近预期结果或在预期结果的可接受范围内),则训练过程200前进到步骤210,在该步骤中确定该模型可以付诸使用。在这种情况下,可以将与数据模型相对应的二值权重存储在存储器104中,并且还可以经由输出接口108将其提供给单独的设备以在该设备上配置神经网络。训练过程200在步骤210之后结束。然而,如果步骤208确定模型的准确性是不可接受的(例如,训练结果没有充分接近预期结果,或者不在预期结果的可接受范围内),则训练过程200前进到步骤212。
在步骤212处,处理器102被配置为使用合适的成本函数来生成与在步骤206处生成的训练结果相关联的成本或误差。在步骤214处,使用在步骤212中确定的成本或误差来确定要提供的新权重值(例如,浮点权重),以作为输入在步骤204处提供给二值化方法。例如,步骤214可以涉及基于在步骤212处确定的成本或误差以及先前在步骤204处提供给二值化方法的输入权重(例如,在步骤202处最后获得的输入权重或最后由步骤214确定的权重)来生成新的浮点权重值。可替代地,步骤214可以涉及根据基于在步骤212处确定的成本或误差确定的值来修改先前在步骤204处提供给二值化方法的输入权重。将由步骤214确定的权重存储在存储器104中。之后,训练过程200前进到步骤204,在该步骤中,二值化方法使用由步骤214确定的权重作为输入权重来执行上述步骤。
尽管根据本发明的一个代表性实施例,步骤202和206至214可以由系统100的处理器102执行,但是在本发明的其他代表性实施例中,此类步骤可以在与系统100分开(但与其通信并与其协同工作)的一个或多个计算设备、处理器、芯片组等上执行。
图3所示为根据本发明的代表性实施例的二值化方法204中的关键步骤的示例性流程图。在步骤204a处,处理器102的权重概率分析模块102a被配置为基于神经网络的(例如,一个或多个层的)一组输入权重,生成至少表示每个输入权重与二元值相关联的“局部”权重概率的数据。在本上下文中,二元值是指两个潜在值之一(例如,1和-1,或1和0)。输入权重可以是从图2中的训练过程200的步骤202或214接收的权重,或者可以是从存储器104获取的权重,或者可以是经由输入接口106提供给处理器102的权重。在图3所示的实施例中,步骤204a可以包括步骤204a-1和204a-2。
在步骤204a-1处,权重概率分析模块102a被配置为基于输入权重生成一组归一化的权重集。这涉及将输入权重变换为预定权重范围内的对应权重值,并将所述对应权重值作为输入权重。例如,训练后每一层的浮点输入权重(例如,每个BNN层中的权重)的最大绝对值通常不等于1,或者不一定落在期望值的范围(例如,介于1和-1之间)内。为了帮助更加准确且高效地估计每个输入权重的概率,步骤204a-1被配置为基于要归一化的特定输入权重的值(x)与输入权重(x)所属的层的所有输入权重的最大绝对值之间的关系来线性地缩放每个输入权重。该关系由等式1表示,其中,x表示要归一化的特定输入权重的值,X表示输入权重(x)所属的层的所有输入权重的值,并且x'表示由等式1生成的归一化权重值。
根据等式1生成的归一化权重将落在+1和-1的范围内。本领域技术人员将理解,还可以在不同的二元值范围(例如,1到0之间)内对权重进行归一化。图7所示为由等式1表示的示例性函数关系图,其中,范围从+1.5至-1.5的原始输入权重值按比例缩放至范围从+1至-1的归一化权重值。
在步骤204a-2处,权重概率分析模块102a被配置为基于神经网络的(例如,一个或多个层的)第一组归一化输入权重,生成至少表示第二组选定或特定的输入权重中的每个输入权重与二元值相关联的“局部”权重概率的数据。在本上下文中,第二组选定或特定的输入权重可以包括:
i)选自神经网络的至少一层的一些输入权重;
ii)选自神经网络的所有层的一些输入权重;
iii)神经网络的至少一层的所有输入权重;或
iv)神经网络的所有层的所有输入权重。
可以基于以下各项确定“局部”权重概率:
i)输入权重的不同潜在值与对应概率之间的预定关系;
ii)与输入权重相对应的权重的一个或多个先前确定的概率(例如,基于求和、平均值、计数、频率或基于与输入权重相对应的权重的一个或多个先前确定的概率而确定的其他值,其中,此类值可以基于针对神经网络或由神经网络执行的一个或多个先前训练事件来确定);和/或
iii)与输入权重相对应的权重的一个或多个先前确定的权重值(例如,基于求和、平均值、计数、频率或根据先前训练事件基于与输入权重相对应的权重的一个或多个先前确定的权重值而确定的其他值,其中,此类值可以基于针对神经网络或由神经网络执行的一个或多个先前训练事件来确定)。
图8所示为用于确定不同输入权重的局部权重概率的示例性预定关系的图。第一函数800可以用于确定输入权重(在水平轴上)与二元值+1相关联的概率(在竖直轴上)。函数800可以基于S型函数、双曲线正切函数、反正切函数或定义不同输入权重值与对应概率之间的关联的任何其他合适的函数。函数800的特征在于拐点,在该拐点处,输入权重0对应于概率0.5,并且拐点处的斜率约为1.6。第二函数802可以用于确定输入权重与二元值-1相关联的概率。在图8所示的示例中,函数802是函数800的反函数。
在本发明的代表性实施例中,基于下文的等式2a、2b和3定义用于确定不同输入权重的局部权重概率的预定关系,其中,等式2a表示输入权重(x')与二元值+1相关联的概率(p+1),并且等式3表示输入权重(x')与二元值-1相关联的概率(p-1)。等式2b是表示输入权重(x')与二元值+1相关联的概率(p+1)的替代方式。
p-1=1-p+1 等式3
参考图3,在步骤204b处,针对输入权重的选定分组(或编码分组),处理器102的方案生成模块102b被配置为基于针对选定输入权重确定的概率生成至少表示一个或多个潜在二值权重矩阵(或方案)的数据。在图3所示的实施例中,步骤204b可以包括步骤204b-1和204b-2。
在步骤204b-1处,处理器102的方案生成模块102b被配置为定义输入权重的至少一个选定分组(或编码分组)。每层的权重矩阵通常具有多个维度。卷积层通常会具有至少四个维度,包括例如:输入通道、输出通道、内核行和内核列。全连接层通常会具有至少两个维度,包括例如输入大小和输出大小。步骤204b-1涉及将每层的权重矩阵划分为权重的较小选定分组(或编码分组)。可以沿着该层的任何一个或多个维度形成权重的选定分组。可以以这种方式形成一层的权重的一个或多个选定分组。在生成权重的多个选定分组后,根据下面的步骤204b-2、204c、204d处理每个选定分组,并且基于步骤204c和204d针对所有(或至少一些)选定分组生成的输出执行步骤204e处的选择。例如,如图9所示,可以将3×3内核900视为权重的一个选定分组(或编码分组),其中,内核的行和列为3。在图9中,w0到w8表示3×3内核900、908、910、912中不同权重的位置。可替代地,可以根据该层的一个或多个维度基于其他预定选择标准来形成权重的选定分组,这些其他预定选择标准包括例如:
i)来自卷积层的内核900的选定行902的一个或多个权重;
ii)来自卷积层的内核900的选定列904的一个或多个权重;
iii)来自与卷积层的同一通道或滤波器相关联的不同内核908、910、912的一个或多个权重906(例如,其中权重906是从每个内核908、910、912中相同的对应位置中选择的——诸如包括每个内核908、910、912中的第一行的第一位、然后是每个内核908、910、912中的第一行的第二位、然后是每个内核908、910、912中的第一行的第三位、然后是每个内核908、910、912中的第二行的第一位等);
iv)来自与同一卷积层相关联的不同滤波器916、918、920的不同对应内核的一个或多个权重914(例如,其中权重914是从每个滤波器916、918、920中用于特定通道(例如,红色通道)的内核中相同的对应位置选择的——诸如包括滤波器916、918、920中用于红色通道的内核中的第一行的第一位、然后是滤波器916、918、920中用于红色通道的内核中的第一行的第二位、然后是滤波器916、918、920中用于红色通道的内核中的第一行的第三位、然后是滤波器916、918、920中用于红色通道的内核中的第二行的第一位等);
v)全连接层的一个或多个输入权重;
vi)全连接层的一个或多个输出权重;
vii)以上一个或多个的组合;和/或
viii)以上一个或多个与一个或多个其他预定选择标准的组合。
如从以上示例可以理解的,预定选择标准定义了如何选择并以一定顺序排列来自一层的(一个或多个滤波器的)一个或多个内核的权重的基础。任何基础都可以用作预定选择标准,只要其不涉及随机选择并且层中的每个权重只被选择一次(以避免再次选择相同的权重)即可。
在步骤204b-2处,处理器102的方案生成模块102b被配置为基于针对在步骤204b-1中生成的输入权重的选定分组确定的概率,生成至少表示一个或多个潜在二值权重矩阵(或方案)的数据。
在权重的每个选定分组(或编码分组)中,每个浮点权重具有与第一二元值(例如,+1)相关联的权重的第一“局部”权重概率,并且还可以具有与第二二元值(例如,-1)相关联的权重的第二“局部”权重概率。基于与每个权重相关联的第一“局部”权重概率和第二“局部”权重概率之一或两者,生成一个或多个潜在二值权重矩阵。
例如,根据本发明的代表性实施例,处理器102生成可以基于与每个权重相关联的第一“局部”权重概率和第二“局部”权重概率的不同组合而形成的所有潜在二值权重矩阵。例如,在权重的选定分组是3×3内核的情况下,总共形成29(即,512)个不同的3×3潜在二值权重矩阵。根据下文描述的步骤204c和204d,对每个生成的潜在二值权重矩阵执行进一步处理。
在本发明的另一个代表性实施例中,处理器102被配置为基于每个权重的第一“局部”概率和第二“局部”概率中的至少一个以及预定概率阈值来生成一个或多个潜在二值权重矩阵。例如,首先由针对每个权重确定的第一“局部”概率和第二“局部”概率中的较大者相对应的二值权重生成初始二值权重矩阵。可替代地,可以通过将每个权重的第一“局部”概率和第二“局部”概率之一与表示预定概率值的预定选择阈值相比较来生成初始二值权重矩阵(例如,如果第一概率等于或高于预定选择阈值,则将权重设置为与第一“局部”概率相关联的二元值,如果第一概率低于预定选择阈值,则将权重设置为另一二元值)。
然后,处理器102可以将初始权重矩阵中每个权重的“局部”概率与表示预定概率值的预定评估阈值进行比较。对于“局部”概率等于或超过评估阈值的权重,二值权重保持不变。然而,对于“局部”概率低于评估阈值的权重,这些权重没有足够强的概率与其当前二元值相关联,因此,需要做进一步的分析以考量权重与其当前二元值(例如,+1)或另一二元值(例如,-1)相关联的可能性。
处理器102然后可以基于与“局部”概率低于评估阈值的权重相关联的第一“局部”权重概率和第二“局部”权重概率的不同组合,生成可以从上述初始权重矩阵形成的所有潜在二值权重矩阵。处理器102基于被确定为与所述第一二元值或所述第二二元值相关联的所述选定输入权重的数量来生成多个潜在二值权重矩阵,其中,每个所述二值权重矩阵包括权重值的不同组合。例如,取决于初始二值权重矩阵中“局部”概率低于评估阈值的权重数目(n),处理器102将生成2n个不同组合的潜在二值权重矩阵。
可以通过如图10所示的示例更好地理解用于生成潜在二值权重矩阵的方法。处理器102首先接收一层的输入浮点权重(例如,对应于图2中的步骤202或214),这些输入浮点权重在该示例中被示出为输入权重矩阵1002。将输入权重归一化为从+1到-1的预定范围内的值(例如,对应于图3中的步骤204a-1)以产生归一化权重矩阵1004。确定每个归一化输入权重与潜在二元值之一或两者相关联的“局部”权重概率(例如,对应于图3中的步骤204a-2)。在该示例中,矩阵1006表示归一化输入权重与二元值+1相关联的“局部”权重概率,并且矩阵1008表示归一化输入权重与二元值-1相关联的“局部”权重概率。在该示例中,权重的选定分组(或编码分组)是3×3的权重矩阵(例如,对应于图3中的步骤204b-1)。然后基于“局部”权重概率生成初始二值矩阵1010(例如,对应于图3中的步骤204b-2)。这可以通过不同的方式来实现。一种方法是考虑矩阵1006或1008之一中的权重,其中,在使用矩阵1006的情况下,如果矩阵1006中该权重的概率等于或超过预定选择阈值(例如,50%),则将初始权重矩阵中权重的二元值确定为+1,否则将权重的二元值确定为-1。可以以类似方式使用矩阵1008来确定初始权重矩阵中的哪些权重应具有值-1。可替代地,初始二值矩阵1010中权重的二元值的生成取决于哪个矩阵(1006或1008)中该权重具有更大的概率。例如,如果矩阵1006中与某一权重相对应的概率值比矩阵1008高,则该权重的二元值为+1。然后,处理器102基于二值权重和初始权重矩阵1010中每个权重的“局部”权重概率来生成一个或多个潜在二值权重矩阵(例如,对应于图3中的步骤204b-2)。例如,在将初始权重矩阵1010中每个权重的“局部”权重概率与评估阈值(例如,55%)进行比较时,处理器102确定只有一个权重的“局部”权重概率低于评估阈值(在矩阵1012中以灰色示出)。然后,处理器102生成两个潜在二值权重矩阵1014和1016(即,2n个组合,在该示例中n=1),以表示来自初始权重矩阵的二值权重的不同组合,其中,“局部”概率低于评估阈值的权重可以取值+1(矩阵1014中)或-1(矩阵1016中)。
参考图3,处理器102被配置为提供方案选择模块102c,该方案选择模块102c执行图3中的步骤204c、204d和204e以选择在先前步骤中生成的潜在二值权重矩阵之一。
在步骤204c处,方案选择模块102c被配置为生成至少表示每个潜在二值权重矩阵的矩阵特定概率值的数据。根据一个实施例,这涉及基于每个潜在二值权重矩阵的所有“局部”权重概率的乘积来生成一个值。在图11所示的示例中,矩阵1102、1104、1106和1108表示四个不同的潜在二值权重矩阵中的二值权重,矩阵1102'、1104'、1106'和1108'表示与矩阵1102、1104、1106和1108中的每个二值权重相对应的权重概率。矩阵1102'、1104'、1106'和1108'的矩阵特定概率值分别为0.025038、0.02507、0.020060和0.020052。
在步骤204d处,方案选择模块102c用于生成至少表示一系列数据比特数的数据,该一系列数据比特数用于根据预定编码方法表示每个潜在二值权重矩阵。首先,将每个潜在二值权重矩阵中的二值化权重编码为1和0的字符串。例如,在图11中,将在矩阵1102中逐行获取的二值权重(即,1、-1、-1、1、1、-1、-1、1、1)编码为一比特串(即,1、0、0、1、1、0、0、1、1),其中,比特值1表示一二值权重1,并且比特值0表示另一二值权重(例如,-1)。
然后,将比特串划分为若干个比特组,以进行编码。参考图12中的示例,表示来自3×3潜在二值权重矩阵(例如,1102、1104、1106和1108)的权重的比特(b0至b8)可以按每3个连续比特进行分组(1202、1204和1206),或按每4个连续比特分为两组(1208和1210)和一个剩余比特(1212)。图12中所示的分组仅是示例,并且可以使用任何形式的分组(根据任何预定义的分组标准)。
根据本发明的代表性实施例,使用广义游程长度编码(RLE)对表示二值权重的比特串进行编码。然而,可以替代地使用其他编码方法,诸如广义霍夫曼编码。广义游程长度编码的结果主要由两个主要部分组成:第一部分表示同一符号或同一组符号的编码排列方式,其中每个符号由一个或多个比特组成,第二部分表示与所述同一符号或同一组符号相对应的符号信息。广义霍夫曼编码方法是根据每个符号或每组符号的出现概率定义其相应的编码长度。
下文参考图11、图12和表1描述了对用于表示3×3二值权重矩阵的比特串进行RLE编码的示例,该二值权重矩阵已按每3个连续比特划分为3组(例如,如图12所示)。
i)如果每行1202、1204和1206中的比特模式相同,则可以使用编码模式指示符“00”以及其中一行的比特串一起对这些行进行编码(参见如下所示表1中的Data0字段)。在这种情况下,编码需要5比特。
ii)如果行1202和1204中的比特模式相同,而行1206中的比特模式不同,则可以使用编码模式指示符“01”以及行1202或1204的比特串(参见表1中的Data0字段)和行1206的比特串(参见表1中的Data1字段)一起对这些行进行编码。在这种情况下,编码需要8比特。
iii)如果行1202和1206中的比特模式相同,而行1204中的比特模式不同,则可以使用编码模式指示符“01”以及行1202或1206的比特串(参见表1中的Data0字段)和1204的比特串(参见表1中的Data1字段)一起对这些行进行编码。在这种情况下,编码需要8比特。
iv)如果行1204和1206中的比特模式相同,而行1202中的比特模式不同,则可以使用编码模式指示符“11”以及每行的比特串一起对这些行进行编码(参见表1中的Data0、Data1、Data2字段)。在这种情况下,编码需要11比特。
v)如果每行1202、1204和1206中的比特模式都不同,则可以使用编码模式指示符“11”以及每行的比特串一起对这些行进行编码(参见表1中的Data0、Data1、Data2字段)。在这种情况下,编码需要11比特。
表1
如本领域技术人员可以理解的,在以上示例中,可以在如上所示的三个条件(ii)至(iv)中的任何两个条件下将编码模式指示符01和10分配给比特串,而将编码模式指示符11分配给剩余的一个条件。此外,可以以任何方式(例如,通过预定设置或参数)来定义用于在以上五个条件下对比特串进行编码的编码模式指示符,而不限于以上示例。表1中的每一行都可以与一不同于表1所示的唯一编码模式指示符相关联。例如,可以将用于在以上五个条件下对比特串进行编码的编码模式指示符定义为11、10、01、00、00(这样表1的第1行至第4行的编码模式指示符将分别为11、10、01、00)。注意,向表1的每一行分配不同的(例如,2比特)编码模式指示符不会改变对表1的每一行中描述的(或在以上条件(i)至(v)中描述的)数据类型进行编码的基础。此外,表示二值权重的比特串可以以任何方式进行分段,例如,按列进行分段,而不限于如图12所示的分段方式(即,按行进行分段)。
在步骤204e处,方案选择模块102c用于基于潜在二值权重矩阵的对应矩阵特定概率值(在步骤204c处确定的)和用于编码的数据比特数(在步骤204d处确定的)来对潜在二值权重矩阵执行选择。如图5和图6所示,有两种方法可以实现此目的。
如图5所示,根据本发明的一个代表性实施例,方案选择模块102c(在步骤204e-1处)首先基于潜在二值权重矩阵的矩阵特定概率值来选择一个或多个潜在二值权重矩阵(例如,具有最高矩阵特定概率值的潜在二值权重矩阵,或矩阵特定概率值高于预定概率阈值的潜在二值权重矩阵)。在步骤204e-2处,方案选择模块102c基于对每个矩阵进行编码所需的比特数(例如,所需编码比特数最少),从步骤204e-1处选择的潜在二值权重矩阵中选择一个。
如图6所示,根据本发明的另一代表性实施例,方案选择模块102c(在步骤204e-1'处)首先基于对每个矩阵进行编码所需的比特数(例如,所需编码比特数最少,或所需编码比特数低于预定比特数阈值),选择一个或多个潜在二值权重矩阵。在步骤204e-2'处,方案选择模块102c基于每个矩阵的矩阵特定概率值(例如,具有最高矩阵特定概率值),从步骤204e-1'处选择的潜在二值权重矩阵中选择一个。
参考图3,在步骤204e处,处理器102用于提供权重生成模块102d,以根据在步骤204e中选择的潜在二值权重矩阵来生成一个或多个二值权重的数据。
图4所示为根据本发明的代表性实施例的另一二值化方法204'中的关键步骤的示例性流程图。除了步骤204a-1'、204a-2'和204a-3'以外,二值化方法204'中的步骤与图3所示的方法204基本相同(其中相同的附图标记指示相同的步骤)。在步骤204a-1'处,基于每个浮点输入权重的符号生成二值化权重矩阵(例如,将二值权重+1分配给等于或大于0的输入权重,并且将二值权重-1分配给低于0的输入权重)。在步骤204a-2'处,将二值化权重矩阵存储在存储器104中,并且步骤204a-1'和204a-2'重复预定迭代次数(N),其中,例如,基于每次迭代中使用的不同训练数据生成不同的输入权重集。在步骤204a-3'处,基于所存储的二值化权重矩阵针对每个输入权重生成“局部”权重概率。例如,在步骤204a-3'中,可以基于在N次迭代中某一权重被指定为+1的二值权重的计数(n)来确定该权重的“局部”概率(在这种情况下,可以基于关系n/N来生成权重与二值+1相关联的概率)。类似的,可以生成该权重与二值-1相关联的“局部”概率(例如,基于关系1-n/N)。
在本申请中,除非另外指明,否则术语“包括(comprising)”、“包括(comprise)”及其语法变体旨在表示开放或包容性语言,以使得它们不仅包括所列举的元素,还允许包括附加的、非明确地列举的元素。
虽然参考示例性实施例对本发明进行以上描述,但是本领域技术人员将理解,在不脱离本发明的精神和范围的情况下,可以进行各种改变并且可以对其元素进行等效替换。另外,在不脱离本发明的实质范围的情况下,可以进行修改以使本发明得以适应特定的情况和材料。因此,本发明不限于在本说明书中披露的特定示例,而是涵盖落入所附权利要求的范围内的所有实施例。
Claims (32)
1.一种用于神经网络的处理器,该处理器包括:
权重概率分析模块,该权重概率分析模块被配置为基于神经网络的一个或多个层的一组输入权重生成至少表示一组输入权重中的每个所述输入权重与二元值相关联的概率的数据;
方案生成模块,该方案生成模块被配置为针对所述权重的至少一个选定分组,基于针对选定的所述权重确定的概率生成至少表示一个或多个潜在二值权重矩阵的数据;
方案选择模块,该方案选择模块被配置为至少:生成表示每个所述潜在二值权重矩阵的矩阵特定概率值的数据,根据预定编码方法生成用于表示每个所述潜在二值权重矩阵的数据比特数的数据,并且基于所述矩阵特定概率值和所述数据比特数对所述潜在二值权重矩阵进行选择;以及
权重生成模块,该权重生成模块被配置为根据所述选定的潜在二值权重矩阵生成表示一个或多个二值权重的数据。
2.根据权利要求1所述的处理器,其中,所述一组输入权重包括:
选自至少一个所述层的所述输入权重中的一些输入权重;
选自所有所述层的所述输入权重中的一些输入权重;
至少一个所述层的所有所述输入权重;或
所有所述层的所有所述输入权重。
3.根据权利要求1所述的处理器,被配置为将所述输入权重转换为预定权重范围内的对应权重值,并将所述对应权重值用作输入权重。
4.根据权利要求1所述的处理器,被配置为基于以下各项来生成表示每个所述输入权重的所述概率的所述数据:
所述输入权重的不同潜在值与对应概率之间的预定关系;
与所述输入权重相对应的权重的一个或多个先前确定的概率;或
与所述输入权重相对应的权重的一个或多个先前确定的权重值。
5.根据权利要求4所述的处理器,其中,权重的所述先前确定的概率和/或权重的所述先前确定的权重值是基于由神经网络执行的训练事件来确定的。
6.根据权利要求1所述的处理器,被配置为基于预定选择标准来选择所述权重分组。
7.根据权利要求6所述的处理器,其中,所述预定选择标准包括以下中的至少一项:
来自卷积层的内核的选定行的一个或多个权重;
来自卷积层的内核的选定列的一个或多个权重;
来自与卷积层的同一通道相关联的不同内核的一个或多个权重;
来自与卷积层的同一滤波器相关联的不同通道的不同内核的一个或多个权重;
全连接层的一个或多个输入权重;以及
全连接层的一个或多个输出权重。
8.根据权利要求1所述的处理器,被配置为基于表示所述输入权重的概率的所述数据与预定概率阈值的比较来确定每个所述输入权重的二元权重值。
9.根据权利要求8所述的处理器,其中,基于所述比较,将输入权重确定为:
与第一二元值相关联;
与第二二元值相关联;或
与所述第一二元值或所述第二二元值相关联。
10.根据权利要求9所述的处理器,被配置为基于已确定为与所述第一二元值或所述第二二元值相关联的多个所述输入权重来生成多个所述潜在二值权重矩阵,其中,每个所述潜在二值权重矩阵包括与所述输入权重相关联的所述第一二元值或所述第二二元值的不同组合。
11.根据权利要求1所述的处理器,被配置为基于每个所述潜在二值权重矩阵中的输入权重的概率,生成每个所述潜在二值权重矩阵的所述矩阵特定概率。
12.根据权利要求1所述的处理器,其中,所述编码方法是广义游程长度编码和广义霍夫曼编码中的至少一种。
13.根据权利要求1所述的处理器,被配置为:
基于表示每个所述潜在二值权重矩阵的矩阵特定概率值的数据,选择所述潜在二值权重矩阵中的一个或多个;并且
根据预定编码方法,基于表示每个所述潜在二值权重矩阵的数据比特数的所述数据,从选定的所述潜在二值权重矩阵中选择一个潜在二值权重矩阵。
14.根据权利要求13所述的处理器,被配置为:
选择所述对应的矩阵特定概率值高于特定值的一个或多个所述潜在二值权重矩阵;并且
从选定的所述潜在二值权重矩阵中选择一个潜在二值权重矩阵,其所述对应的数据比特数最低。
15.根据权利要求1所述的处理器,被配置为:
根据预定编码方法,基于表示每个所述潜在二值权重矩阵的数据比特数的数据,从所述潜在二值权重矩阵中选择一个或多个;并且
基于表示每个所述潜在二值权重矩阵的矩阵特定概率值的所述数据,从选定的所述潜在二值权重矩阵中选择一个潜在二值权重矩阵。
16.根据权利要求15所述的处理器,被配置为:
选择一个或多个所述潜在二值权重矩阵,其所述对应的数据比特数低于特定值;并且
从选定的所述潜在二值权重矩阵中选择一个潜在二值权重矩阵,其所述对应的矩阵特定概率值最高。
17.一种用于神经网络中的权重的二值化方法,该方法包括:
基于神经网络的一个或多个层的一组输入权重生成至少表示一组输入权重中的每个所述输入权重与二元值相关联的概率的数据;
针对所述权重的至少一个选定分组,基于针对选定的所述权重确定的概率生成至少表示一个或多个潜在二值权重矩阵的数据;
生成表示每个所述潜在二值权重矩阵的矩阵特定概率值的数据,根据预定编码方法生成用于表示每个所述潜在二值权重矩阵的数据比特数的数据,并且基于所述矩阵特定概率值和所述数据比特数对所述潜在二值权重矩阵进行选择;以及
根据所述选定的潜在二值权重矩阵生成表示一个或多个二值权重的数据。
18.根据权利要求17所述的方法,其中,所述一组输入权重包括:
选自至少一个所述层的所述输入权重中的一些输入权重;
选自所有所述层的所述输入权重中的一些输入权重;
至少一个所述层的所有所述输入权重;或
所有所述层的所有所述输入权重。
19.根据权利要求17所述的方法,包括将所述输入权重转换为预定权重范围内的对应权重值,并将所述对应权重值用作输入权重。
20.根据权利要求17所述的方法,包括基于以下各项来生成表示每个所述输入权重的所述概率的所述数据:
所述输入权重的不同潜在值与对应概率之间的预定关系;
与所述输入权重相对应的权重的一个或多个先前确定的概率;或
与所述输入权重相对应的权重的一个或多个先前确定的权重值。
21.根据权利要求20所述的方法,其中,权重的所述先前确定的概率和/或权重的所述先前确定的权重值是基于由神经网络执行的训练事件来确定的。
22.根据权利要求17所述的方法,包括基于预定选择标准来选择所述权重分组。
23.根据权利要求22所述的方法,其中,所述预定选择标准包括以下中的至少一项:
来自卷积层的内核的选定行的一个或多个权重;
来自卷积层的内核的选定列的一个或多个权重;
来自与卷积层的同一通道相关联的不同内核的一个或多个权重;
来自与卷积层的同一滤波器相关联的不同通道的不同内核的一个或多个权重;
全连接层的一个或多个输入权重;以及
全连接层的一个或多个输出权重。
24.根据权利要求17所述的方法,包括基于表示所述输入权重的概率的所述数据与预定概率阈值的比较来确定每个所述输入权重的二元权重值。
25.根据权利要求24所述的方法,其中,基于所述比较,将输入权重确定为:
与第一二元值相关联;
与第二二元值相关联;或
与所述第一二元值或所述第二二元值相关联。
26.根据权利要求25所述的方法,包括基于已确定为与所述第一二元值或所述第二二元值相关联的多个所述输入权重来生成多个所述潜在二值权重矩阵,其中,每个所述潜在二值权重矩阵包括权重值的不同组合。
27.根据权利要求17所述的方法,包括基于每个所述潜在二值权重矩阵中的输入权重的概率,生成每个所述潜在二值权重矩阵的所述矩阵特定概率。
28.根据权利要求17所述的方法,其中,所述编码方法是广义游程长度编码和广义霍夫曼编码中的至少一种。
29.根据权利要求17所述的方法,包括:
基于表示每个所述潜在二值权重矩阵的矩阵特定概率值的数据,选择所述潜在二值权重矩阵中的一个或多个;并且
根据预定编码方法基于表示每个所述潜在二值权重矩阵的数据比特数的所述数据,从选定的所述潜在二值权重矩阵中选择一个潜在二值权重矩阵。
30.根据权利要求29所述的方法,包括:
选择一个或多个所述潜在二值权重矩阵,其所述对应的矩阵特定概率值高于特定值;并且
从选定的所述潜在二值权重矩阵中选择一个潜在二值权重矩阵,其所述对应的数据比特数最低。
31.根据权利要求17所述的方法,包括:
根据预定编码方法基于表示每个所述潜在二值权重矩阵的数据比特数的数据,选择所述潜在二值权重矩阵中的一个或多个;并且
基于表示每个所述潜在二值权重矩阵的矩阵特定概率值的所述数据,从选定的所述潜在二值权重矩阵中选择一个潜在二值权重矩阵。
32.根据权利要求31所述的方法,包括:
选择一个或多个所述潜在二值权重矩阵,其所述对应的数据比特数低于特定值;并且
从选定的所述潜在二值权重矩阵中选择一个潜在二值权重矩阵,其所述对应的矩阵特定概率值最高。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011262740.4A CN114492722A (zh) | 2020-11-12 | 2020-11-12 | 用于生成神经网络的二值权重的方法和系统 |
US17/524,968 US20220147792A1 (en) | 2020-11-12 | 2021-11-12 | Processor, and method for generating binarized weights for a neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011262740.4A CN114492722A (zh) | 2020-11-12 | 2020-11-12 | 用于生成神经网络的二值权重的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114492722A true CN114492722A (zh) | 2022-05-13 |
Family
ID=81490272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011262740.4A Pending CN114492722A (zh) | 2020-11-12 | 2020-11-12 | 用于生成神经网络的二值权重的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114492722A (zh) |
-
2020
- 2020-11-12 CN CN202011262740.4A patent/CN114492722A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352656B (zh) | 使用按位运算的神经网络设备和方法 | |
CN111276187B (zh) | 一种基于自编码器的基因表达谱特征学习方法 | |
CN114792378A (zh) | 一种量子图像识别方法及装置 | |
CN104881449A (zh) | 基于流形学习数据压缩哈希的图像检索方法 | |
CN114640354A (zh) | 数据压缩方法、装置、电子设备及计算机可读存储介质 | |
WO2006130467A1 (en) | Nb/mb coding apparatus and method using both disparity independent and disparity dependent encoded vectors | |
JP6795721B1 (ja) | 学習システム、学習方法、及びプログラム | |
CN115311515A (zh) | 混合量子经典的生成对抗网络的训练方法及相关设备 | |
CN109543772B (zh) | 数据集自动匹配方法、装置、设备和计算机可读存储介质 | |
CN113222159A (zh) | 一种量子态的确定方法及装置 | |
CN117077586B (zh) | 一种电路设计的寄存器传输级资源预测方法、装置及设备 | |
Knagenhjelm | How good is your index assignment? | |
CN114492722A (zh) | 用于生成神经网络的二值权重的方法和系统 | |
US7924179B2 (en) | Variable-length code determining device and variable-length code decoding method | |
CN113222160A (zh) | 一种量子态的转换方法及装置 | |
CN113177638B (zh) | 用于生成神经网络的二值化权重的处理器和方法 | |
CN116595525A (zh) | 一种基于软件图谱的阈值机制恶意软件检测方法及系统 | |
CN114866091A (zh) | 基于划分组参考数的差值编码压缩及解压缩方法 | |
Wongthanavasu et al. | Cellular automata for pattern recognition | |
CN110111851B (zh) | 基因测序数据压缩方法、系统及计算机可读介质 | |
CN109698702B (zh) | 基因测序数据压缩预处理方法、系统及计算机可读介质 | |
CN117667010B (zh) | 用于电路的二进制数的前导零个数确定方法和电路 | |
CN111457947A (zh) | 位置编码系统及编码方法和装置、电子设备和存储介质 | |
CN111444985A (zh) | 一种基于直方图匹配的图像匹配方法 | |
CN114547285B (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 |