CN108337000A - 用于转换到较低精度数据格式的自动方法 - Google Patents
用于转换到较低精度数据格式的自动方法 Download PDFInfo
- Publication number
- CN108337000A CN108337000A CN201810058512.1A CN201810058512A CN108337000A CN 108337000 A CN108337000 A CN 108337000A CN 201810058512 A CN201810058512 A CN 201810058512A CN 108337000 A CN108337000 A CN 108337000A
- Authority
- CN
- China
- Prior art keywords
- data
- histogram
- conversion
- value
- storehouse
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- 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
-
- 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/08—Learning methods
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (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)
- Image Analysis (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
本发明的各方面涉及用于执行数据压缩以及在不同程度精度的数据格式之间执行数据转换的计算机实现的技术,并且更具体地,用于使用降低精度的(例如,INT8)数据格式来改进人工神经网络的推理(应用)的计算机实现的技术。本发明的实施方案生成数据输出的候选转换,然后采用相对的质量量度来识别具有最大准确度(例如,与原始较高精度的值具有最小散度)的候选转换。然后,可以在推理过程中使用所述表示法来对所得的输出数据执行计算。
Description
优先权要求
本发明要求2017年1月20日提交的标题为“Automated Method for Conversionto a Lower Precision Data Format”的临时专利申请序列号62/448,909的优先权,其代理人案号为NVID-P-SC-16-0263-US0,该临时专利申请也以引用的方式并入本文中。
发明领域
本发明的实施方案总体涉及用于数据压缩和信息重新编码的计算机实现的技术。更确切地说,本发明的实施方案涉及一种用于改进深度学习神经和卷积网络的推理的***。
背景技术
机器学习是计算机科学领域,涉及使用计算机实现的算法通过数据集的模式识别和自适应处理来解决问题。与常规“静态”编程相反,机器学习应用的特点是能够通过迭代地从数据集中提炼模型而不需要明确的编程来生成预测数据模型。人工神经网络是最流行的机器学习算法之一,并且使用分布式并行处理器在贯穿输入层与输出层之间的一个或多个内部或“隐藏”层中分布的多个互连“神经元”(处理单元)处对输入数据进行参数化计算,以便计算与目标或参考输出进行比较的输出。人工神经网络通过分配给相邻层的神经元之间的连接的权重来进行参数化。网络的参数不断地更新,以减少并最终消除输出的差异,直到获得准确的数据模型。“深度”神经网络是指由3个或更多个层组成的神经网络。
一种流行的人工神经网络训练方法被称为向后传播(或反向传播)。从预定的(通常是随机的)权重集合开始,通过重复应用包括向前通过、随后是梯度向后传播(“反向传播”)阶段连同优化阶段的两阶段操作循环来提炼权重。在向前传播阶段期间,通过神经网络向前传播输入,其中在每个神经元处逐层执行计算,直到所述输入到达输出层。也可以在一个或多个神经元处应用非线性激活函数,以便进一步将输出引导至离散值。然后使用损失函数将输出与目标输出进行比较,并且针对输出层中的每个元素计算误差值。在反向传播阶段期间,计算误差函数梯度,并且然后将所述误差函数梯度向后传播穿过所述层以确定与每个神经元相对应的梯度。然后,使用这些梯度来计算关于网络中的每个权重的损失函数的梯度。在最后阶段,使用所计算的梯度来更新所应用的权重,以试图最小化损失函数。一旦实际输出基本上接近目标输出(例如,在准确度阈值内),就认为数据模型完成并且可以终止进一步的学习。
神经网络训练完成之后,可以在现场部署网络以进行“推理”,在此期间输入数据按照网络的输出进行分类,以“推断出”结果。神经网络训练(诸如反向传播)的传统计算机实现方式在执行数据计算时通常使用实数的32位浮点(又名单精度浮点数或FP32)表示法来进行数据存储和操纵。自然地,对这些模型执行的推理也使用FP32表示法。然而,32位值的存储器存储和计算需要大量的存储器和处理资源。因此,已经开发出替代地依赖于降低精度格式的新技术。代替完整的32位,这些解决方案可以替代地使用16位浮点(float16)表示法或8位整数(INT8)表示法。
使用降低数据精度的格式来推断神经网络(确切地卷积网络)提供了胜过传统的单精度浮点格式的若干优点。确切地说,对于神经网络中的计算密集型层,这些较低格式的计算可以(可能)比单精度浮点显著更快地执行。存储降低数据精度的值需要显著较少的存储器。由于减少了传输数据所需的时间,因此以降低数据精度的格式存储数据也提高了带宽受限的层的性能。最后,使用降低数据精度的格式进行存储还允许减小网络的大小以及多处理器(例如,多GPU)***进行通信所需的时间。
不幸的是,与单精度浮点数表示法相比,降低数据精度的数量具有显著较窄的数值范围。因此,当执行导致超出规定范围的数值的计算时,可能发生上溢或下溢。先前尝试的解决方案需要在训练期间应用约束,或者采用更复杂或更具挑战性的数学模型,这需要进行一定量的微调。这些先前已知的方法的另一个缺点是动态执行从较大的值集合(例如,从单精度浮点到降低精度格式)的量化,且因此在计算期间需要附加的处理费用。
发明内容
提供本发明内容是为了以简化形式介绍下文将在具体实施方式中进一步描述的一些概念。本发明内容既不意图识别本发明的关键特征或基本特征,也不意图用来限制本发明的范围。
本发明的实施方案涉及用于使用降低精度的(例如,INT8)数据格式来改进人工神经网络的推理(应用)的计算机实现的程序。本发明的实施方案生成数据输出的候选转换,然后采用相对的质量量度来识别具有最大准确度(例如,与原始较高精度的值具有最小散度)的候选转换。然后,可以在推理过程中使用所述表示法来计算所得的输出数据。
根据本发明的一个实施方案,提供了一种用于自动地从较高精度数据格式转换到较低精度数据格式的计算机实现的过程。所述过程例如通过以下方式执行:参考预先存储的激活数据、创建所述激活数据的直方图、以不同的饱和度阈值生成针对所述直方图的降低精度的分布、测量分布相对于较高精度参考分布的散度并且根据所述参考分布识别具有最小散度的分布。在一个或多个实施方案中,可以针对神经网络的每个层执行所述过程。在另外的实施方案中,相对于神经网络的任何其他层,针对每个层独立地执行所述过程。
在一个或多个实施方案中,激活数据可以包括通过将神经网络应用于校准数据集的至少一部分来确定一个或多个缩放因子以便将数据从较高精度格式转换为较低精度格式而生成的数据。可以(例如,在运行时推理之前)离线执行校准以便静态地确定缩放因子。针对神经网络的一个或多个层生成激活数据。然后收集、存储激活(输出)数据,并且随后创建数据的直方图。
在一个或多个实施方案中,在与候选转换的数量相对应的多个不同饱和度水平上迭代地执行针对给定直方图生成降低精度的分布(候选转换)。候选转换的具体数量本身可以对应于在激活数据中观察到的0与最高(最大)值之间的值范围,其中每个候选转换具有在0与观察到的最高绝对值之间的不同饱和度水平。对于每个给定的候选转换,将直方图仓中高于与候选转换相对应的饱和度水平的值钳位到饱和度水平。随后,将直方图的针对一个层的激活的数据值集合的仓针对低于与候选转换所对应的饱和度阈值的所有仓成比例地合并,直到剩余仓的数量对应于所选择的较低精度数据格式的最大正值。然后,使用散度度量将候选转换与原始数据值进行比较,以确定具有最大准确度的候选转换。
根据本发明的又一个实施方案,提供了一种包括编程指令的计算机可读介质,所述计算机可读介质包括用于执行上述用于自动地将数据从较高精度数据格式转换到较低精度数据格式的过程的指令,并且提供了一种计算机***,所述计算机***包括处理器和存储器,其中在推理操作期间作为输出而生成的数据值被存储在存储器中,被自动地转换并且使用降低精度的格式进行处理。
与常规技术不同,由本发明的实施方案执行的推理不需要对原始FP32网络进行重新训练或微调,或者在训练期间应用约束。此外,可以通过以下方式自动地和静态地执行数据格式转换:运行训练校准集合,从而消除了先前尝试的解决方案的动态量化的额外处理要求,同时取得了与原始FP32网络相当的结果。
附图说明
附图并入本说明书中并且形成本说明书的一部分。附图示出了实施方案。附图与描述一起用来解释实施方案的原理:
图1描绘了根据本发明的各种实施方案的用于自动地将值从较高精度数据格式转换到较低精度数据格式的示例性计算机实现的方法。
图2描绘了根据本发明的各种实施方案的用于在人工神经网络中的校准操作期间生成激活数据的示例性计算机实现的方法。
图3描绘了根据本发明的各种实施方案的用于从较高精度数据格式值生成候选较低精度数据格式转换的示例性计算机实现的方法。
图4描绘了根据本发明的各种实施方案的可以实现本发明的实施方案的示例性计算***。
具体实施方式
现在将详细参考本发明的优选实施方案。虽然将结合优选实施方案来描述本发明,但是将理解的是,它们不旨在限制这些实施方案。相反,本发明旨在涵盖可以包括在由所附权利要求书限定的精神和范围内的替代方案、修改和等同物。
此外,在以下本发明实施方案的详细描述中,阐述了许多具体细节以提供对本发明的透彻理解。然而,本领域的普通技术人员将理解,可以在没有这些具体细节的情况下实践本发明。在其他情况下,众所周知的方法、程序、部件和电路未详细描述,以免不必要地模糊本发明的方面。
以下详细描述的一些部分是按照可以在计算机存储器上执行的对数据位的操作的程序、步骤、逻辑块、处理以及其他符号表示来呈现的。这些描述和表示是数据处理领域的技术人员用来将其工作的实质最有效地传达给本领域其他技术人员的手段。程序、计算机生成的步骤、逻辑块、过程等在此并且通常被认为是导致期望结果的独立的步骤或指令序列。步骤是需要对物理量进行物理操纵的步骤。通常,但不一定,这些量采取能够在计算机***中存储、传输、组合、比较和以其他方式操纵的电或磁信号的形式。主要出于常见用途的原因,有时将这些信号称为比特、值、元素、符号、字符、项、数字等被证明是方便的。
然而,应当牢记的是,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是适用于这些数量的便利标签。除非在以下讨论中另外明确地说明清楚,否则应当了解,贯穿本发明,利用术语(诸如“存储”、“创建”、“保护”、“接收”、“加密”、“解密”、“销毁”等)的讨论是指计算机***或集成电路或类似电子计算装置(包括嵌入式***)的动作和处理,所述计算机***或集成电路或类似电子计算装置操纵计算机***的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机***存储器或寄存器或其他此类信息存储、传输或显示装置内类似地表示为物理量的其他数据。
高精度数据格式与低精度数据格式之间的自动转换
图1是描绘根据本发明实施方案的用于自动地从较高精度数据格式转换到较低精度数据格式的示例性计算机实现的过程的流程图100。步骤101-109描述了根据本文描述的各种实施方案的流程图100的示例性步骤。如图1所描绘,自动转换通常在步骤101处通过参考从执行神经网络的一个或多个层而生成的激活数据开始。激活数据可以包括与来自神经网络单层的输出值相对应的激活数据,并且参考预先生成的激活数据可以包括访问存储器装置中的激活数据或者在步骤101期间生成激活数据。在一个或多个实施方案中,流程图100中所描绘的过程可以针对神经网络的多个(全部)层独立地执行。
在步骤103处,收集在步骤101处参考的激活数据,并且创建将相似值收集在多个仓中的直方图。直方图仓在从0开始的值范围与激活值的观察到的最高绝对值之间等间隔,其中激活值被收集在具有最接近的值的直方图仓中。在一个或多个实施方案中,直方图仓本身的数量可以对应于预定的数量。在另外的实施方案中,可以基于与神经网络相对应和/或与所转换的和/或转换到的数据格式的精确度或者所转换的和/或转换到的数据格式之间的精确度相对应的历史数据,根据经验来确定预定的数量。在一个具体实施方案中,直方图可以由2048个仓组成,或者由近似2048个仓的多个仓组成。
在步骤105处,针对直方图中的值生成多个较低精度分布(例如,候选转换)。一般来说,所生成的候选转换的数量是基于直方图中的仓的数量以及正在执行转换的特定的较低精度数据格式两者。每个候选转换是通过与直方图中所收集的数据值相对应的唯一(相对于其他候选转换)饱和度阈值生成的。将直方图中候选转换的超过候选转换阈值的数据值钳位到阈值。这样,每个候选转换将具有不同的数据值范围。下文参照图3更详细地描述候选转换的生成。在步骤107处,根据一定的度量来测量每个候选转换到校准数据集(例如,开始的较高精度数据格式值)之间的散度,以确定具有最小散度的候选转换。在一个或多个实施方案中,所应用的度量对应于Kullback-Leibler散度。在步骤109处,(根据在步骤107处所应用的度量)选择具有最小散度的候选转换,并且将由候选转换得到的数据值用于诸如数据/图像分类、面部或对象识别等的推理应用。
激活数据收集
图2是描绘根据本发明实施方案的用于从神经网络的层收集激活数据以便自动地将数据值从较高精度数据格式转换为较低精度数据格式的示例性计算机实现的过程的流程图200。步骤201-207描述了根据本文描述的各种实施方案的流程图200的示例性步骤。在一个或多个实施方案中,可以在流程图100中描绘并且上文参照图1描述的过程的步骤101期间执行一个或多个步骤201-207。在另外的实施方案中,可以在启动流程图100的任何步骤之前执行流程图200的一个或多个步骤,以确定用于将数据从较高精度格式转换为较低精度格式的一个或多个缩放因子。可以(例如,在运行时推理之前)离线执行校准以便静态地确定缩放因子。
如图2所描绘,激活数据的收集开始于步骤201,通过将神经网络应用于校准数据集或其一部分。在步骤203处,在神经网络的一个或多个层中例行执行编程操作期间生成激活数据。根据各种实施方案,神经网络可以包括卷积神经网络。根据另外的实施方案,神经网络还可以(或者替代地)包括具有三个或更多个层的深度神经网络。激活数据可以包括与来自神经网络的单层的输出值相对应的激活数据。
在步骤205处,然后收集激活(输出)数据(例如,收集在处理高速缓存中),并且在步骤207处存储所述数据(例如,存储在存储器装置中)。在一个或多个实施方案中,可以使用激活数据来生成激活数据的直方图,或者预期出于数据格式转换的目的而创建数据的直方图。
候选转换生成
图3是描绘根据本发明实施方案的用于生成候选转换较低精度数据值以便自动地将数据值从较高精度数据格式转换为较低精度数据格式的示例性计算机实现的过程的流程图300。步骤301-307描述了根据本文描述的各种实施方案的流程图300的示例性步骤。在一个或多个实施方案中,一个或多个步骤301-307可以在流程图100中描绘并且上文参照图1描述的过程的步骤105期间执行。
在步骤301处,确定并且迭代地生成候选转换的数量。在一个或多个实施方案中,候选转换的数量可以对应于直方图中的仓的数量。在另外的实施方案中,候选转换的数量对应于直方图中的仓的数量减去可由正被执行转换的较低精度数据格式表达的值范围的观察到的最高绝对数量。因此,如果选择用于转换的较低精度数据格式是8位整数(Int8)格式,则可由Int8表达的典型的值范围是在-127与127之间。根据此类实施方案,候选转换的数量将包括直方图仓的数量减去127之间的某个数量。例如,如果直方图由2048个仓组成,则候选转换的数量可能等于1921(2048-127)。
在一个或多个实施方案中,每个候选转换具有对应的饱和度阈值,使得高于阈值的任何值被钳位到阈值。在步骤303处,选择针对每个候选转换的饱和度阈值。因此,可以通过连续地在2048与127之间迭代地钳位数据值来生成每个候选转换。在步骤305处,将每个候选转换的剩余仓顺序地压缩(合并)成多个分布区间。在一个或多个实施方案中,分布区间的数量对应于可由较低精度数据格式表达的观察到的最高绝对值(例如,对于Int8为127),并且0与饱和度阈值之间的来自直方图的每个区间内的数据值与同一区间中的其他数据值合并,直到剩余仓的数量等于观察到的最高绝对值(例如127)。
例如,如果特定候选转换的饱和度值等于1000,则将0与1000之间的直方图仓划分成可表达的最大正值(例如,对于Int8为127)以确定与商(例如,8)最接近的整数。然后,顺序地压缩(例如,合并)0与饱和度阈值(例如,1000)之间的离散序列的连续直方图仓,直到剩余直方图仓的数量对应于观察到的最高绝对值。在以上针对8位整数的实例中,合并每一序列的8个(商)直方图仓,使得剩余仓的数量为127。每个高于1000的值被钳位到饱和度阈值。类似地,在候选转换的饱和度阈值为2000的情况下,合并每一离散序列的16个连续直方图仓;并且在候选转换的饱和度阈值为500的情况下,合并每一离散序列的4个连续直方图仓。
在步骤307处,收集所得的合并和/或钳位的数据值并将其存储为候选转换。此后,根据各种实施方案,可以应用各种度量来测量从校准数据集到原始数据值的每个候选转换的准确度(与散度成反比)。
下文提供了一部分示例性伪代码。根据本发明的实施方案,包含编程指令的(至少)基本上执行下文提供的编程指令的计算机可读介质在由处理器执行时,可以用于执行数据压缩以及(一般来说并且更具体地,针对人工神经网络的各个层)从较高精度数据格式到较低精度数据格式的重新编码。
示例性伪代码
输入:从fp32运行的直方图‘仓’,包含2048个仓
实例
输入分布:[5 5 4 0 2 4 7 3 1 4 6 0 3 2 1 3],大小:16个仓
开始的i:8
将输入分布量化为4个仓
开始迭代,i=8
Q是由前8个仓建立的:[5 5 4 0 2 4 7 3]
建立Q
线性等分向量,量化的仓的边缘[0. 2. 4. 6. 8.]
所述仓在量化之后的索引[0 0 1 1 2 2 3 3]
在排除空仓(-1)之后:[0 0 1 -1 2 2 3 3]
量化的仓的总计数(合并)[10. 4. 6. 10.]
量化的仓的计数,在展开之前归一化:[5. 4. 3. 5.]
展开的仓[5. 5. 4. 0. 3. 3. 5. 5.]
归一化的展开的仓(总和==1)[0.16666667 0.16666667 0.13333333 0. 0.10.1 0.16666667 0.16666667]
建立P
reference_density P[5 5 4 0 2 4 7 3]
reference_density P,在添加异常值之后[5 5 4 0 2 4 7 23]
reference_density P,归一化(总和=1)[0.1 0.1 0.08 0. 0.04 0.08 0.140.46]
最后的Q[0.16666667 0.16666667 0.13333333 0. 0.1 0.1 0.166666670.16666667]
最后的P[0.1 0.1 0.08 0. 0.04 0.08 0.14 0.46]
现在来计算散度
结束迭代8
开始迭代,i=9
Q是由前9个仓建立的:[5 5 4 0 2 4 7 3 1]
建立Q
线性等分向量,量化的仓的边缘[0. 2.25 4.5 6.75 9.]
所述仓在量化之后的索引[0 0 0 1 1 2 2 3 3]
在排除空仓(-1)之后:[0 0 0-1 1 2 2 3 3]
量化的仓的总计数(合并)[14. 2. 11. 4.]
量化的仓的计数,在展开之前归一化:[4.66666667 2. 5.5 2.]
展开的仓[4.66666667 4.66666667 4.66666667 0.2. 5.5 5.5 2. 2. ]
归一化的展开的仓(总和==1)[0.15053763 0.15053763 0.15053763 0.0.06451613 0.177419350.17741935 0.06451613 0.06451613]
建立P
reference_density P[5 5 4 0 2 4 7 3 1]
reference_density P,在添加异常值之后[5 5 4 0 2 4 7 3 20]
reference_density P,归一化(总和=1)[0.1 0.1 0.08 0. 0.04 0.08 0.140.06 0.4]
最后的Q[0.15053763 0.15053763 0.15053763 0. 0.06451613 0.177419350.17741935 0.06451613 0.06451613]
最后的P[0.1 0.1 0.08 0. 0.04 0.08 0.14 0.06 0.4]
现在来计算散度
结束迭代9
开始迭代,i=10
Q是由前10个仓建立的:[5 5 4 0 2 4 7 3 1 4]
建立Q
线性等分向量,量化的仓的边缘[0. 2.5 5. 7.5 10.]
所述仓在量化之后的指数[0 0 0 1 1 2 2 2 3 3]
在排除空仓(-1)之后:[0 0 0 -1 1 2 2 2 3 3]
量化的仓的总计数(合并)[14. 2. 14. 5.]
量化的仓的计数,在展开之前归一化:[4.66666667 2. 4.66666667 2.5]
展开的仓[4.66666667 4.66666667 4.66666667 0. 2. 4.66666667 4.666666674.66666667 2.5 2.5]
归一化的展开的仓(总和==1)[0.13333333 0.13333333 0.13333333 0.0.05714286 0.13333333 0.13333333 0.13333333 0.07142857 0.07142857]
建立P
reference_density P[5 5 4 0 2 4 7 3 1 4]
reference_density P,在添加异常值之后[5 5 4 0 2 4 7 3 1 19]
reference_density P,归一化(总和=1)[0.1 0.1 0.08 0. 0.04 0.08 0.140.06 0.02 0.38]
最后的Q[0.13333333 0.13333333 0.13333333 0. 0.05714286 0.133333330.13333333 0.13333333 0.07142857 0.07142857]
最后的P[0.1 0.1 0.08 0. 0.04 0.08 0.14 0.06 0.02 0.38]
现在来计算散度
结束迭代10
现在迭代:11、12、13、14、15、16
示例性计算装置
如图4所示,可以实现本发明实施方案的示例性计算机***包括具有一个或多个集成电路的通用计算***,诸如计算***400。在其最基本的配置中,计算***400通常包括至少一个处理单元401和存储器,以及用于传送信息的地址/数据总线409(或其他接口)。取决于计算***环境的确切配置和类型,存储器可以是易失性的(诸如RAM 402)、非易失性的(诸如ROM 403、闪存存储器等)或两者的某种组合。在一个或多个实施方案中,处理单元401可以用于(全部或部分地)执行上文关于图1-3所描述的操作或计算,以及上文示出的示例性计算机实现的过程和伪代码和实例。
计算机***400还可以包括可选的图形子***405,用于例如通过在由视频电缆411连接的附接显示装置410上显示信息来向计算机用户呈现信息。根据本发明的实施方案,图形子***405可以通过视频电缆411直接耦合到显示装置410。在替代实施方案中,显示装置410可以被集成到计算***(例如,膝上型或上网本显示面板)中,并且将不需要视频电缆411。在一个实施方案中,流程图100、200和300中所描绘的过程可以全部或部分地由图形子***405结合处理器401和存储器402来执行。在一个或多个实施方案中,可以跨处理器401和图形子***405中的至少一个的多个处理器独立地且同时地执行通过生成候选转换来转换神经网络的独立层中的激活数据。
另外,计算***400还可以具有附加的特征/功能。例如,计算***400还可以包括附加的存储装置(可移动的和/或不可移动的),包括但不限于磁性或光学盘或带。这种附加存储装置在图4中由数据存储装置407示出。计算机存储介质包括用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的以任何方法或技术实现的易失性和非易失性的、可移动和不可移动的介质。RAM 402、ROM 403和数据存储装置407都是计算机存储介质的实例。
计算机***400还包括可选的字母数字输入装置406、可选的光标控制或指示装置407以及一个或多个信号通信接口(输入/输出装置,例如网络接口卡)408。可选的字母数字输入装置406可以将信息和命令选择传送给中央处理器401。可选的光标控制或指示装置407耦合到总线409,用于将用户输入信息和命令选择传送给中央处理器401。也耦合到总线409的信号通信接口(输入/输出装置)408可以是串行端口。通信接口409还可以包括无线通信机制。使用通信接口409,计算机***400可以通过诸如互联网或内联网(例如局域网)的通信网络通信地耦合到其他计算机***,或者可以接收数据(例如,数字电视信号)。
尽管已经用结构特征和/或方法动作特定的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于上文描述的具体特征或动作。相反,上文描述的具体特征和动作被公开为实现权利要求书的示例形式。
在前述的说明书中,已经参照可以随实现方式而变化的许多具体细节描述了实施方案。因此,申请人希望作为本发明的唯一且排他性指示是从本申请发出的权利要求集合,其以此类权利要求所发出的具体形式,包括任何后续的更正。因此,权利要求中未明确列出的限制、元素、特性、特征、优点或属性不应以任何方式限制该权利要求的范围。因此,应以说明意义而非限制性意义来看待本说明书和附图。
Claims (28)
1.一种用于压缩数据的方法,所述方法包括:
参考神经网络的层的激活数据;
创建激活直方图,所述直方图包括多个仓,其中所述激活数据分布在所述多个仓上;
基于所述直方图生成多个候选转换,所述多个候选转换中的每个转换具有不同的饱和度阈值;
根据校准数据集确定所述多个候选转换中的每个转换的散度;以及
根据参考较高精度分布选择与具有最小散度的转换相对应的饱和度阈值,
其中所述多个候选转换以较低精度格式表达,
进一步地,其中所述校准数据集和所述激活数据中的至少一个以较高精度格式表达。
2.根据权利要求1所述的方法,其中所述创建、所述生成、所述确定以及所述选择是针对所述神经网络的每个层执行的。
3.根据权利要求1所述的方法,其中所述确定所述散度包括应用度量用于测量所述多个候选转换与所述参考较高精度分布之间的定向散度。
4.根据权利要求3所述的方法,其中所述度量包括确定Kullback-Leibler散度。
5.根据权利要求1所述的方法,其中所述多个候选转换包括所述神经网络的所述层的激活的多个量化分布,所述多个量化分布对应于0与所述激活数据中所包括的最大绝对值之间的值范围。
6.根据权利要求1所述的方法,其中所述参考激活数据包括参考来自存储装置的激活数据,所述激活数据包括通过将神经网络应用于所述校准数据集的代表性部分而生成的输出数据。
7.根据权利要求6所述的方法,其中所述参考来自存储装置的激活数据包括:
将所述神经网络应用于所述校准数据集的代表性部分;
生成与通过将所述神经网络应用于所述代表性部分而产生的输出相对应的激活数据,所述输出以所述较高精度格式表达;
收集所述激活数据;以及
将所述激活数据存储在存储装置中。
8.根据权利要求1所述的方法,其中所述生成所述多个候选转换包括:
确定所述多个候选转换的候选转换数量;
迭代地从多个饱和度阈值中选择特定阈值以便与所述多个候选转换中的特定候选转换相对应;
合并来自所述直方图的连续序列的仓的数据值,直到所述直方图中剩余仓的数量对应于所述较低精度数据格式的最高绝对值;以及
收集所述多个候选转换。
9.根据权利要求8所述的方法,其中对于特定阈值,将来自所述直方图的高于所述特定饱和度阈值的所有值钳位到所述特定饱和度阈值。
10.根据权利要求8所述的方法,其中所述合并数据值包括以基本上均匀的区间将来自所述直方图的低于所述特定饱和度阈值的连续序列的仓合并。
11.根据权利要求10所述的方法,其中所述合并连续值包括:
通过多个分布区间划分所述直方图的所述仓;
基于所述划分确定商值;以及
对于所述多个分布区间中的每个分布区间,顺序地合并来自所述直方图的所述仓的N个值,其中N等于所述商值。
12.根据权利要求10所述的方法,其中所述多个分布区间对应于由所述较低精度格式表达的绝对值。
13.根据权利要求10所述的方法,其中所述较低精度格式包括8位整数(INT8)数据格式。
14.根据权利要求10所述的方法,其中所述多个分布区间包括127个分布区间。
15.根据权利要求1所述的方法,其中所述较高精度格式包括32位浮点(FP32)数据格式。
16.根据权利要求1所述的方法,其中所述创建所述直方图包括创建具有预定数量的仓的所述直方图。
17.根据权利要求16所述的方法,其中所述预定数量的仓包括根据经验导出的数量的仓。
18.根据权利要求16所述的方法,其中所述预定数量的候选转换包括约2048个候选转换。
19.一种用于压缩数据的方法,所述方法包括:
根据输入数据集创建直方图,所述直方图包括多个仓,其中来自所述输入数据集的数据分布在所述多个仓上;
基于所述直方图生成多个候选转换,所述多个候选转换中的每个转换具有不同的饱和度阈值;
根据校准数据集确定所述多个候选转换中的每个转换的散度;以及
根据所述校准数据集选择与具有最小散度的转换相对应的饱和度阈值,
其中所述多个候选转换以较低精度格式表达,
进一步地,其中所述输入数据集以所述较高精度格式表达。
20.根据权利要求19所述的方法,其中所述生成所述多个候选转换包括:
确定所述多个候选转换的候选转换数量;
迭代地从多个饱和度阈值中选择特定阈值以便与所述多个候选转换中的特定候选转换相对应;
合并来自所述直方图的连续序列的仓的数据值,直到所述直方图中剩余仓的数量对应于所述较低精度数据格式的观察到的最高绝对值;以及
收集所述多个候选转换。
21.根据权利要求20所述的方法,其中对于特定阈值,将来自所述直方图的高于所述特定饱和度阈值的所有值钳位到所述特定饱和度阈值。
22.根据权利要求20所述的方法,其中所述合并数据值包括以等区间合并来自所述直方图的所述连续序列的仓中包括的数据值。
23.根据权利要求22所述的非暂时性计算机可读介质,其中所述合并连续值的指令包括:
用于通过多个分布区间划分所述直方图的所述仓的指令;
用于基于所述划分确定商值的指令;以及
用于针对所述多个分布区间中的每个分布区间顺序地合并来自所述直方图的所述仓的N个值的指令,其中N等于所述商值。
24.一种用于在较高精度数据格式与较低精度数据格式之间执行数据转换的***,所述***包括:
存储器装置,所述存储器装置包括多个编程指令并且存储校准数据集;以及
处理器,所述处理器耦合到所述存储器装置且可操作来执行所述多个编程指令以便通过以下方式执行数据转换:根据输入数据集生成输出数据;基于所述输出数据创建直方图;基于所述直方图生成多个候选转换,所述多个候选转换中的每个转换具有不同的饱和度阈值;根据校准数据集确定所述多个候选转换中的每个转换的散度;以及根据所述校准数据集选择与具有最小散度的转换相对应的饱和度阈值,
其中所述多个候选转换以较低精度格式表达,
进一步地,其中所述校准数据集以所述较高精度格式表达。
25.根据权利要求24所述的***,其中所述处理器可操作来通过以下方式生成所述多个候选转换:
确定所述多个候选转换的候选转换数量;
迭代地从多个饱和度阈值中选择特定阈值以便与所述多个候选转换中的特定候选转换相对应;
合并来自所述直方图的连续序列的仓的数据值,直到所述直方图中剩余仓的数量对应于所述较低精度数据格式的观察到的最高绝对值;以及
收集所述多个候选转换。
26.根据权利要求25所述的***,其中对于特定阈值,将来自所述直方图的高于所述特定饱和度阈值的所有值钳位到所述特定饱和度阈值。
27.根据权利要求25所述的***,其中所述处理器可操作来通过以下方式合并数据值:以基本上均匀的区间合并来自所述直方图的连续序列的仓中包括的数据值。
28.根据权利要求27所述的***,其中所述处理器可操作来通过以下方式合并所述连续值:通过多个分布区间划分所述直方图的所述仓;基于所述划分确定商值;以及针对所述多个分布区间中的每个分布区间,顺序地合并来自所述直方图的所述仓的N个值,其中N等于所述商值。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762448909P | 2017-01-20 | 2017-01-20 | |
US62/448,909 | 2017-01-20 | ||
US15/838,273 | 2017-12-11 | ||
US15/838,273 US10997492B2 (en) | 2017-01-20 | 2017-12-11 | Automated methods for conversions to a lower precision data format |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108337000A true CN108337000A (zh) | 2018-07-27 |
CN108337000B CN108337000B (zh) | 2021-10-08 |
Family
ID=62907133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810058512.1A Active CN108337000B (zh) | 2017-01-20 | 2018-01-22 | 用于转换到较低精度数据格式的自动方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10997492B2 (zh) |
CN (1) | CN108337000B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109036277A (zh) * | 2018-09-27 | 2018-12-18 | 京东方科技集团股份有限公司 | 补偿方法及补偿装置、显示装置、显示方法及存储介质 |
CN111401518A (zh) * | 2020-03-04 | 2020-07-10 | 杭州嘉楠耘智信息科技有限公司 | 一种神经网络量化方法、装置及计算机可读存储介质 |
CN111967608A (zh) * | 2020-08-06 | 2020-11-20 | 北京灵汐科技有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112101541A (zh) * | 2019-06-18 | 2020-12-18 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法、集成电路装置、板卡和计算装置 |
CN112434781A (zh) * | 2019-08-26 | 2021-03-02 | 上海寒武纪信息科技有限公司 | 用于处理数据的方法、装置以及相关产品 |
CN112449703A (zh) * | 2018-09-21 | 2021-03-05 | 华为技术有限公司 | 在设备中的神经网络模型的量化方法和装置 |
US11397579B2 (en) | 2018-02-13 | 2022-07-26 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
US11442786B2 (en) | 2018-05-18 | 2022-09-13 | Shanghai Cambricon Information Technology Co., Ltd | Computation method and product thereof |
US11513586B2 (en) | 2018-02-14 | 2022-11-29 | Shanghai Cambricon Information Technology Co., Ltd | Control device, method and equipment for processor |
US11544059B2 (en) | 2018-12-28 | 2023-01-03 | Cambricon (Xi'an) Semiconductor Co., Ltd. | Signal processing device, signal processing method and related products |
US11609760B2 (en) | 2018-02-13 | 2023-03-21 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11676029B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
US11675676B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
US11703939B2 (en) | 2018-09-28 | 2023-07-18 | Shanghai Cambricon Information Technology Co., Ltd | Signal processing device and related products |
US11762690B2 (en) | 2019-04-18 | 2023-09-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
US11847554B2 (en) | 2019-04-18 | 2023-12-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
US11966583B2 (en) | 2018-08-28 | 2024-04-23 | Cambricon Technologies Corporation Limited | Data pre-processing method and device, and related computer device and storage medium |
US12001955B2 (en) | 2019-08-23 | 2024-06-04 | Anhui Cambricon Information Technology Co., Ltd. | Data processing method, device, computer equipment and storage medium |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019057249A (ja) * | 2017-09-22 | 2019-04-11 | 富士通株式会社 | 演算処理装置および演算処理方法 |
GB2568083B (en) | 2017-11-03 | 2021-06-02 | Imagination Tech Ltd | Histogram-based per-layer data format selection for hardware implementation of deep neutral network |
US20190392312A1 (en) * | 2018-06-21 | 2019-12-26 | Deep Force Ltd. | Method for quantizing a histogram of an image, method for training a neural network and neural network training system |
JP7026808B2 (ja) * | 2018-09-06 | 2022-02-28 | 株式会社Pfu | 情報処理装置、方法及びプログラム |
US11568207B2 (en) * | 2018-09-27 | 2023-01-31 | Deepmind Technologies Limited | Learning observation representations by predicting the future in latent space |
US20210232894A1 (en) * | 2018-10-10 | 2021-07-29 | Leapmind Inc. | Neural network processing apparatus, neural network processing method, and neural network processing program |
KR20200043169A (ko) * | 2018-10-17 | 2020-04-27 | 삼성전자주식회사 | 뉴럴 네트워크의 파라미터를 양자화하는 방법 및 장치 |
US11562247B2 (en) | 2019-01-24 | 2023-01-24 | Microsoft Technology Licensing, Llc | Neural network activation compression with non-uniform mantissas |
US12026104B2 (en) * | 2019-03-26 | 2024-07-02 | Rambus Inc. | Multiple precision memory system |
WO2020204904A1 (en) * | 2019-04-01 | 2020-10-08 | Google Llc | Learning compressible features |
US11604647B2 (en) | 2019-09-03 | 2023-03-14 | International Business Machines Corporation | Mixed precision capable hardware for tuning a machine learning model |
US20210089906A1 (en) * | 2019-09-23 | 2021-03-25 | Lightmatter, Inc. | Quantized inputs for machine learning models |
US11537859B2 (en) | 2019-12-06 | 2022-12-27 | International Business Machines Corporation | Flexible precision neural inference processing unit |
DE102019220145A1 (de) * | 2019-12-19 | 2021-06-24 | Robert Bosch Gmbh | Verfahren zum Konfigurieren eines neuronalen Netzes |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
CN111680716B (zh) * | 2020-05-09 | 2023-05-12 | 浙江大华技术股份有限公司 | 一种识别对比方法、装置、计算机设备和存储介质 |
US20210406682A1 (en) * | 2020-06-26 | 2021-12-30 | Advanced Micro Devices, Inc. | Quantization of neural network models using data augmentation |
US20220012525A1 (en) * | 2020-07-10 | 2022-01-13 | International Business Machines Corporation | Histogram generation |
CN112052916B (zh) * | 2020-10-10 | 2024-03-01 | 腾讯科技(深圳)有限公司 | 基于神经网络的数据处理方法、装置以及可读存储介质 |
US20230236314A1 (en) * | 2022-01-26 | 2023-07-27 | Nvidia Corporation | Sampling radar signals for automotive radar perception |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5872864A (en) * | 1992-09-25 | 1999-02-16 | Olympus Optical Co., Ltd. | Image processing apparatus for performing adaptive data processing in accordance with kind of image |
US20030184459A1 (en) * | 2000-02-04 | 2003-10-02 | Bernhard Engl | Devices and methods for calibrating amplifier stages and for compensating for errors in amplifier stages of series-connected components |
US20040125877A1 (en) * | 2000-07-17 | 2004-07-01 | Shin-Fu Chang | Method and system for indexing and content-based adaptive streaming of digital video content |
US20080037949A1 (en) * | 2006-08-03 | 2008-02-14 | The University Of Electro-Communications | Cut point detection system and short recognition system using the same, cut point detection method and cut point detection program |
CN101145787A (zh) * | 2006-09-13 | 2008-03-19 | 华为技术有限公司 | 一种矢量量化方法及矢量量化器 |
CN101908891A (zh) * | 2010-08-23 | 2010-12-08 | 南京信息工程大学 | 基于提升小波和pcnn的医学图像roi压缩方法 |
CN102262198A (zh) * | 2011-04-20 | 2011-11-30 | 哈尔滨工业大学 | 基于回声状态网络同步优化的模拟电路故障诊断方法 |
JP2012150552A (ja) * | 2011-01-17 | 2012-08-09 | Horiuchi Denki Seisakusho:Kk | 物体認識処理装置及び物体認識処理方法 |
CN102663451A (zh) * | 2012-03-29 | 2012-09-12 | 天津科技大学 | 一种基于色彩空间特征的图形图像分类方法 |
CN103356163A (zh) * | 2013-07-08 | 2013-10-23 | 东北电力大学 | 基于视频图像和人工神经网络的凝视点测量装置及其方法 |
CN104008430A (zh) * | 2014-05-29 | 2014-08-27 | 华北电力大学 | 一种构建拟境挖掘动态智能负荷预测模型的方法 |
WO2015143435A1 (en) * | 2014-03-21 | 2015-09-24 | University Of Iowa Research Foundation | Graph search using non-euclidean deformed graph |
CN105471431A (zh) * | 2015-12-09 | 2016-04-06 | 上海精密计量测试研究所 | 一种测试模数转换器差分线性误差和积分线性误差的方法 |
US20160123943A1 (en) * | 2013-06-05 | 2016-05-05 | Institute of Microelectronics, Chinese Academy of Sciences | Gas recognition method based on compressive sensing theory |
CN105781539A (zh) * | 2016-03-15 | 2016-07-20 | 中国石油大学(华东) | 一种致密油气储层饱和度测井计算方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60217663T2 (de) | 2002-03-26 | 2007-11-22 | Council Of Scientific And Industrial Research | Verbesserte künstliche neuronalnetzmodelle in der anwesenheit von instrumentengeräuschen und messfehlern |
US7937559B1 (en) * | 2002-05-13 | 2011-05-03 | Tensilica, Inc. | System and method for generating a configurable processor supporting a user-defined plurality of instruction sizes |
US8374974B2 (en) | 2003-01-06 | 2013-02-12 | Halliburton Energy Services, Inc. | Neural network training data selection using memory reduced cluster analysis for field model development |
AU2003236594A1 (en) | 2003-07-09 | 2005-01-28 | Raptor International Holdings Pty Ltd | Method and system of data analysis using neural networks |
JP4948118B2 (ja) | 2005-10-25 | 2012-06-06 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
NZ567815A (en) | 2005-11-15 | 2011-08-26 | Bernadette Garner | Training neural networks including selecting an output to be trained and connecting an output neuron to input neurons |
US8402022B2 (en) * | 2006-03-03 | 2013-03-19 | Martin R. Frank | Convergence of terms within a collaborative tagging environment |
CN101868735A (zh) * | 2007-11-30 | 2010-10-20 | 诺基亚公司 | 控制定位模块的操作 |
US9032006B2 (en) * | 2009-03-24 | 2015-05-12 | International Business Machines Corporation | Processing of linear systems of equations |
US8537171B2 (en) * | 2011-05-13 | 2013-09-17 | Samsung Display Co., Ltd. | Piecewise non-causal compression and subsequent decompression of quantized data for processing of decompressed data in higher precision processing space |
US20140059692A1 (en) * | 2012-08-22 | 2014-02-27 | Michael Dapp | System and method for cross domain flight data import and export |
US9484022B2 (en) * | 2014-05-23 | 2016-11-01 | Google Inc. | Training multiple neural networks with different accuracy |
US9607366B1 (en) * | 2014-12-19 | 2017-03-28 | Amazon Technologies, Inc. | Contextual HDR determination |
CN107247992B (zh) * | 2014-12-30 | 2019-08-30 | 合肥工业大学 | 一种基于列梅兹逼近算法的sigmoid函数拟合硬件电路 |
US20170061279A1 (en) | 2015-01-14 | 2017-03-02 | Intel Corporation | Updating an artificial neural network using flexible fixed point representation |
CN104679858B (zh) * | 2015-02-16 | 2018-10-09 | 华为技术有限公司 | 一种查询数据的方法和装置 |
WO2016169032A1 (zh) * | 2015-04-23 | 2016-10-27 | 华为技术有限公司 | 数据格式转换装置、缓冲芯片及方法 |
US10373050B2 (en) | 2015-05-08 | 2019-08-06 | Qualcomm Incorporated | Fixed point neural network based on floating point neural network quantization |
US10346211B2 (en) * | 2016-02-05 | 2019-07-09 | Sas Institute Inc. | Automated transition from non-neuromorphic to neuromorphic processing |
WO2017145363A1 (ja) * | 2016-02-26 | 2017-08-31 | 富士通株式会社 | 測定装置及び測定プログラム |
US10331548B2 (en) * | 2016-08-05 | 2019-06-25 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method and computer system for compiling and testing a control program |
US10146535B2 (en) * | 2016-10-20 | 2018-12-04 | Intel Corporatoin | Systems, apparatuses, and methods for chained fused multiply add |
KR102676115B1 (ko) * | 2016-12-12 | 2024-06-19 | 삼성전자주식회사 | 위치 데이터를 제공하는 전자 장치 및 그 방법 |
CN106845640A (zh) | 2017-01-12 | 2017-06-13 | 南京大学 | 基于深度卷积神经网络的层内非均匀的等间隔定点量化方法 |
US11132619B1 (en) * | 2017-02-24 | 2021-09-28 | Cadence Design Systems, Inc. | Filtering in trainable networks |
JP6729516B2 (ja) * | 2017-07-27 | 2020-07-22 | トヨタ自動車株式会社 | 識別装置 |
SG11202105016PA (en) * | 2018-11-15 | 2021-06-29 | Uveye Ltd | Method of anomaly detection and system thereof |
-
2017
- 2017-12-11 US US15/838,273 patent/US10997492B2/en active Active
-
2018
- 2018-01-22 CN CN201810058512.1A patent/CN108337000B/zh active Active
-
2021
- 2021-05-03 US US17/306,171 patent/US20210256348A1/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5872864A (en) * | 1992-09-25 | 1999-02-16 | Olympus Optical Co., Ltd. | Image processing apparatus for performing adaptive data processing in accordance with kind of image |
US20030184459A1 (en) * | 2000-02-04 | 2003-10-02 | Bernhard Engl | Devices and methods for calibrating amplifier stages and for compensating for errors in amplifier stages of series-connected components |
US20040125877A1 (en) * | 2000-07-17 | 2004-07-01 | Shin-Fu Chang | Method and system for indexing and content-based adaptive streaming of digital video content |
US20080037949A1 (en) * | 2006-08-03 | 2008-02-14 | The University Of Electro-Communications | Cut point detection system and short recognition system using the same, cut point detection method and cut point detection program |
CN101145787A (zh) * | 2006-09-13 | 2008-03-19 | 华为技术有限公司 | 一种矢量量化方法及矢量量化器 |
CN101908891A (zh) * | 2010-08-23 | 2010-12-08 | 南京信息工程大学 | 基于提升小波和pcnn的医学图像roi压缩方法 |
JP2012150552A (ja) * | 2011-01-17 | 2012-08-09 | Horiuchi Denki Seisakusho:Kk | 物体認識処理装置及び物体認識処理方法 |
CN102262198A (zh) * | 2011-04-20 | 2011-11-30 | 哈尔滨工业大学 | 基于回声状态网络同步优化的模拟电路故障诊断方法 |
CN102663451A (zh) * | 2012-03-29 | 2012-09-12 | 天津科技大学 | 一种基于色彩空间特征的图形图像分类方法 |
US20160123943A1 (en) * | 2013-06-05 | 2016-05-05 | Institute of Microelectronics, Chinese Academy of Sciences | Gas recognition method based on compressive sensing theory |
CN103356163A (zh) * | 2013-07-08 | 2013-10-23 | 东北电力大学 | 基于视频图像和人工神经网络的凝视点测量装置及其方法 |
WO2015143435A1 (en) * | 2014-03-21 | 2015-09-24 | University Of Iowa Research Foundation | Graph search using non-euclidean deformed graph |
CN104008430A (zh) * | 2014-05-29 | 2014-08-27 | 华北电力大学 | 一种构建拟境挖掘动态智能负荷预测模型的方法 |
CN105471431A (zh) * | 2015-12-09 | 2016-04-06 | 上海精密计量测试研究所 | 一种测试模数转换器差分线性误差和积分线性误差的方法 |
CN105781539A (zh) * | 2016-03-15 | 2016-07-20 | 中国石油大学(华东) | 一种致密油气储层饱和度测井计算方法 |
Non-Patent Citations (2)
Title |
---|
CHUN-HUI ZHAO: "An improved compressed sensing reconstruction algorithm based on artificial neural network", 《2011 INTERNATIONAL CONFERENCE ON ELECTRONICS, COMMUNICATIONS AND CONTROL (ICECC)》 * |
马闫: "黄土湿陷性与土性指标的关系及其预测模型", 《水土保持通报》 * |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
US11620130B2 (en) | 2018-02-13 | 2023-04-04 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11740898B2 (en) | 2018-02-13 | 2023-08-29 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11720357B2 (en) | 2018-02-13 | 2023-08-08 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11709672B2 (en) | 2018-02-13 | 2023-07-25 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11397579B2 (en) | 2018-02-13 | 2022-07-26 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11663002B2 (en) | 2018-02-13 | 2023-05-30 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11704125B2 (en) | 2018-02-13 | 2023-07-18 | Cambricon (Xi'an) Semiconductor Co., Ltd. | Computing device and method |
US11609760B2 (en) | 2018-02-13 | 2023-03-21 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11507370B2 (en) | 2018-02-13 | 2022-11-22 | Cambricon (Xi'an) Semiconductor Co., Ltd. | Method and device for dynamically adjusting decimal point positions in neural network computations |
US11513586B2 (en) | 2018-02-14 | 2022-11-29 | Shanghai Cambricon Information Technology Co., Ltd | Control device, method and equipment for processor |
US11442785B2 (en) | 2018-05-18 | 2022-09-13 | Shanghai Cambricon Information Technology Co., Ltd | Computation method and product thereof |
US11442786B2 (en) | 2018-05-18 | 2022-09-13 | Shanghai Cambricon Information Technology Co., Ltd | Computation method and product thereof |
US11966583B2 (en) | 2018-08-28 | 2024-04-23 | Cambricon Technologies Corporation Limited | Data pre-processing method and device, and related computer device and storage medium |
CN112449703B (zh) * | 2018-09-21 | 2024-07-23 | 华为技术有限公司 | 在设备中的神经网络模型的量化方法和装置 |
CN112449703A (zh) * | 2018-09-21 | 2021-03-05 | 华为技术有限公司 | 在设备中的神经网络模型的量化方法和装置 |
CN109036277A (zh) * | 2018-09-27 | 2018-12-18 | 京东方科技集团股份有限公司 | 补偿方法及补偿装置、显示装置、显示方法及存储介质 |
US11703939B2 (en) | 2018-09-28 | 2023-07-18 | Shanghai Cambricon Information Technology Co., Ltd | Signal processing device and related products |
US11544059B2 (en) | 2018-12-28 | 2023-01-03 | Cambricon (Xi'an) Semiconductor Co., Ltd. | Signal processing device, signal processing method and related products |
US11847554B2 (en) | 2019-04-18 | 2023-12-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
US11762690B2 (en) | 2019-04-18 | 2023-09-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
US11934940B2 (en) | 2019-04-18 | 2024-03-19 | Cambricon Technologies Corporation Limited | AI processor simulation |
US11676028B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
US11675676B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
US11676029B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
CN112101541B (zh) * | 2019-06-18 | 2023-01-17 | 上海寒武纪信息科技有限公司 | 对高位宽值数据进行拆分的装置、方法、芯片及板卡 |
CN112101541A (zh) * | 2019-06-18 | 2020-12-18 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法、集成电路装置、板卡和计算装置 |
US12001955B2 (en) | 2019-08-23 | 2024-06-04 | Anhui Cambricon Information Technology Co., Ltd. | Data processing method, device, computer equipment and storage medium |
WO2021037083A1 (zh) * | 2019-08-26 | 2021-03-04 | 上海寒武纪信息科技有限公司 | 用于处理数据的方法、装置以及相关产品 |
CN112434781A (zh) * | 2019-08-26 | 2021-03-02 | 上海寒武纪信息科技有限公司 | 用于处理数据的方法、装置以及相关产品 |
CN111401518A (zh) * | 2020-03-04 | 2020-07-10 | 杭州嘉楠耘智信息科技有限公司 | 一种神经网络量化方法、装置及计算机可读存储介质 |
CN111401518B (zh) * | 2020-03-04 | 2024-06-04 | 北京硅升科技有限公司 | 一种神经网络量化方法、装置及计算机可读存储介质 |
CN111967608A (zh) * | 2020-08-06 | 2020-11-20 | 北京灵汐科技有限公司 | 数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20180211152A1 (en) | 2018-07-26 |
US10997492B2 (en) | 2021-05-04 |
US20210256348A1 (en) | 2021-08-19 |
CN108337000B (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108337000A (zh) | 用于转换到较低精度数据格式的自动方法 | |
CN112001498B (zh) | 基于量子计算机的数据识别方法、装置及可读存储介质 | |
KR20230021043A (ko) | 객체 인식 방법 및 장치, 및 인식기 학습 방법 및 장치 | |
WO2018227800A1 (zh) | 一种神经网络训练方法及装置 | |
CN109685198A (zh) | 用于量化神经网络的参数的方法和装置 | |
CN107526709A (zh) | 使用低精度格式的张量处理 | |
CN108053028A (zh) | 数据定点化处理方法、装置、电子设备及计算机存储介质 | |
US20170161591A1 (en) | System and method for deep-learning based object tracking | |
CN108062562A (zh) | 一种物体重识别方法及装置 | |
WO2017095948A1 (en) | Improved general object detection using neural networks | |
Suárez et al. | ELSED: Enhanced line segment drawing | |
CN109034371A (zh) | 一种深度学习模型推理期加速方法、装置及*** | |
CN110516803A (zh) | 将传统计算机视觉算法实现为神经网络 | |
US11972347B2 (en) | System and method for emulating quantization noise for a neural network | |
CN113128478B (zh) | 模型训练方法、行人分析方法、装置、设备及存储介质 | |
CN111178533B (zh) | 实现自动半监督机器学习的方法及装置 | |
WO2022088390A1 (zh) | 图像的增量聚类方法、装置、电子设备、存储介质及程序产品 | |
CN107832794A (zh) | 一种卷积神经网络生成方法、车系识别方法及计算设备 | |
WO2019006976A1 (zh) | 神经网络权重离散化方法、***、设备和可读存储介质 | |
CN109598250A (zh) | 特征提取方法、装置、电子设备和计算机可读介质 | |
CN107240100B (zh) | 一种基于遗传算法的图像分割方法和*** | |
CN109165696A (zh) | 一种聚类方法及电子设备 | |
CN110309774A (zh) | 虹膜图像分割方法、装置、存储介质及电子设备 | |
CN111126501B (zh) | 一种图像识别方法、终端设备及存储介质 | |
US9208402B2 (en) | Face matching for mobile devices |
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 |