CN112633464A - 用于识别图像的计算系统和方法 - Google Patents

用于识别图像的计算系统和方法 Download PDF

Info

Publication number
CN112633464A
CN112633464A CN202011016489.3A CN202011016489A CN112633464A CN 112633464 A CN112633464 A CN 112633464A CN 202011016489 A CN202011016489 A CN 202011016489A CN 112633464 A CN112633464 A CN 112633464A
Authority
CN
China
Prior art keywords
neural network
quantized
sample
quantization
artificial neural
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
CN202011016489.3A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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
Priority claimed from KR1020200029807A external-priority patent/KR20210035702A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN112633464A publication Critical patent/CN112633464A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Neurology (AREA)
  • Medical Informatics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

公开了用于识别图像的计算系统和方法。所述计算系统包括:神经网络系统,被配置为获得输入图像,以输入图像作为人工神经网络(ANN)的输入样本驱动ANN来获得图像识别结果;以及量化系统,被配置为对ANN进行量化。

Description

用于识别图像的计算系统和方法
本申请要求于2019年9月24日在韩国知识产权局提交的第10-2019-0117485号韩国专利申请和于2020年3月10日在韩国知识产权局提交的第10-2020-0029807号韩国专利申请的权益,所述韩国专利申请的公开通过引用整体包含于此。
技术领域
发明构思涉及一种人工神经网络的量化方法和使用人工神经网络执行的操作方法,更具体地,涉及一种用于识别图像的计算系统和方法。
背景技术
图像识别可通过人工神经网络来实现。人工神经网络可表示计算装置或由计算装置执行以生成人工神经元(或神经元模型)的互连集合的方法。人工神经元可通过对输入数据执行简单运算来生成输出数据,并且输出数据可被传送到另一人工神经元。作为人工神经网络的示例,深度神经网络或深度学习可具有多层结构。
发明内容
发明构思提供了一种用于识别图像的计算系统和方法。
根据发明构思的一个方面,提供了一种计算系统,所述计算系统包括:神经网络系统,被配置为获得输入图像,以输入图像作为人工神经网络(ANN)的输入样本驱动ANN来获得图像识别结果,其中,驱动ANN的步骤包括:针对ANN中的至少一个层的每个层,基于ANN的所述层的输入样本、量化的参数和补偿偏置来生成ANN的所述层的输出样本;以及量化系统,被配置为对ANN进行量化,其中,量化系统还被配置为:针对ANN中的所述至少一个层的每个层,对ANN的所述层的参数进行量化以生成ANN的所述层的量化的参数,基于ANN的所述层的参数和量化的参数生成ANN的所述层的参数的量化误差,基于ANN的所述层的量化的参数和的参数的量化误差生成补偿偏置,并且将生成的量化的参数和补偿偏置发送到神经网络系统。
根据发明构思的另一方面,提供了一种用于识别图像的方法,所述方法包括:获得输入图像作为人工神经网络(ANN)的输入样本;以及基于输入样本执行ANN来获得图像识别结果,其中,获得图像识别结果的步骤包括:针对ANN中的至少一个层的每个层,对ANN的所述层的权重和偏置进行量化,通过补偿量化的偏置以包括由于量化引起的误差,来生成补偿偏置,对ANN的所述层的输入样本进行量化,基于ANN的所述层的量化的权重和量化的输入样本执行第一乘积累加(MAC)运算,以及将补偿偏置反映到第一MAC运算的结果,以生成ANN的所述层的输出样本。
根据发明构思的另一方面,提供了一种用于识别图像的方法,所述方法包括:获得输入图像作为人工神经网络(ANN)的输入样本;基于输入样本执行ANN来获得图像识别结果,其中,获得图像识别结果的步骤包括:针对ANN中的至少一个层的每个层,对ANN的所述层的参数进行量化,基于ANN的所述层的参数和量化的参数计算参数的量化误差,基于量化的参数和参数的量化误差来生成补偿偏置,对ANN的所述层的输入样本进行量化,以及基于量化的参数、补偿偏置和量化的输入样本生成ANN的所述层的输出样本。
根据发明构思的一个方面,提供了一种计算系统,所述计算系统包括:神经网络系统,被配置为驱动人工神经网络(ANN);以及量化系统,被配置为对ANN进行量化,其中,量化系统还被配置为:对ANN的参数进行量化以生成ANN的量化的参数,基于ANN的参数和量化的参数生成ANN的参数的量化误差,基于量化的参数和ANN的参数的量化误差生成补偿偏置,并且将生成的量化的参数和补偿偏置发送到神经网络系统。
根据发明构思的另一方面,提供了一种使用人工神经网络(ANN)的操作方法,所述操作方法包括:对ANN的权重和偏置进行量化;通过补偿量化的偏置以包括由于量化引起的误差,来生成补偿偏置;对输入样本进行量化;基于ANN的量化的权重和量化的输入样本执行第一乘积累加(MAC)运算;以及将补偿偏置反映到第一MAC运算的结果。
根据发明构思的另一方面,提供了一种人工神经网络(ANN)的量化方法,所述量化方法包括:对ANN的参数进行量化;基于ANN的参数和量化的参数计算参数的量化误差;以及基于量化的参数和参数的量化误差来生成补偿偏置。
附图说明
从下面的结合附图的详细描述,将更清楚地理解发明构思的示例实施例,其中:
图1是示出根据示例实施例的人工神经网络的示图;
图2是示出根据示例实施例的计算系统的示图;
图3是示出根据示例实施例的神经网络系统、参数量化器、样本量化器和偏置补偿器的操作的流程图;
图4是用于解释根据示例实施例的计算图的架构的示图;
图5是示出根据示例实施例的将神经网络系统的量化误差的期望值反映到量化运算的操作的示图;
图6是示出根据示例实施例的生成补偿偏置的方法的示图;
图7是示出根据示例实施例的生成补偿偏置的方法的示图;
图8是示出根据示例实施例的将神经网络系统的量化误差的期望值反映到量化运算的操作的示图;
图9是示出根据示例实施例的确定参考样本、量化的参考样本和参考样本的量化误差的方法的流程图;
图10是示出根据示例实施例的计算系统的示图;
图11是示出根据示例实施例的预计下一输入样本的方法的示图;
图12是示出根据示例实施例的预计下一输入样本的方法的示图;
图13是示出根据示例实施例的确定参考样本、量化的参考样本和参考样本的量化误差的方法的流程图;
图14是示出根据示例实施例的通过量化的人工神经网络(ANN)对下一次序的输入样本执行运算的方法的示图;
图15是示出根据示例实施例的使用ANN的操作方法的流程图;
图16是示出根据示例实施例的电子装置的框图;以及
图17是示出根据示例实施例的电子装置的框图。
具体实施方式
图1是示出根据示例实施例的人工神经网络(ANN)的示图。例如,图1是示意性地示出根据示例实施例的作为ANN的示例的深度神经网络10的结构的示图。
ANN可表示集中于构成动物大脑的生物神经网络的计算系统。与根据预定义的条件执行任务的经典算法(诸如,基于规则的编程)不同,ANN可被训练为通过考虑多个样本(或示例)来执行任务。ANN可具有人工神经元(或神经元)被连接的结构,并且神经元之间的连接可被称为突触。神经元可处理接收的信号并且通过突触将处理的信号发送到另一神经元。神经元的输出可被称为“激活”。神经元和/或突触可具有可变的权重,并且由神经元处理的信号的影响可根据权重而增大或减小。特别地,与单个神经元相关联的权重可被称为偏置。
深度神经网络(DNN)或深度学习架构可具有层结构,并且特定层的输出可以是随后层的输入。在这样的多层结构中,每个层可根据多个样本来训练。人工神经网络(诸如,DNN)可通过分别与人工神经元对应的多个处理节点来实现,这可能需要更高的计算复杂度以获得好的结果(诸如,更高准确度的结果),并且因此许多计算资源可能被需要。
参照图1,DNN 10可包括多个层L1、L2、L3…LN(例如,N可以是大于3的整数),并且层的输出可通过至少一个通道被输入到随后层。例如,第一层L1可通过处理样本SAM经由多个通道CH11…CH1x将输出提供给第二层L2,并且第二层L2也可经由多个通道CH21…CH2y将输出提供给第三层L3。最后,第N层LN可输出结果RES,并且结果RES可包括与样本SAM相关的至少一个值。传送多个层L1、L2、L3…LN的输出所通过的通道的数量可相同或不同。例如,第二层L2的通道CH21…CH2y的数量和第三层L3的通道CH31…CH3z的数量可相同或不同。例如,x、y和z可以是大于1的整数。
样本SAM可以是由DNN 10处理的输入数据。例如,样本SAM可以是包括由人写的字母的图像,并且DNN 10可通过从图像识别字母来输出包括表示字母的值的结果RES。结果RES可包括与不同字母对应的多个概率,并且不同字母之中的最大影响的字母可对应于最高的概率。DNN 10的多个层L1、L2、L3…LN中的每个可基于对包括字母的多个图像进行学习生成的值(诸如,权重、偏置等)处理样本SAM和前一层的输出,来生成其自己的输出。
根据示例实施例,DNN 10可包括大量的层或通道,并且因此,DNN 10的计算复杂度可增大。具有高的计算复杂度的DNN 10可能需要大量的资源。因此,为了降低DNN 10的计算复杂度,DNN 10可被量化。DNN 10的量化可表示将输入值映射到比输入值的数量小的数量的值(诸如,通过舍入将实数映射到整数)的处理。量化的DNN 10可具有低的计算复杂度,但可能由于量化处理中发生的误差而具有降低的准确度。
如以下参照下面的附图所述,根据示例实施例的量化的DNN 10可将量化处理中发生的误差的期望值反映到运算结果,因此,DNN 10可具有提高的性能和/或降低的复杂度。
图2是示出根据示例实施例的计算系统(例如,用于识别图像的计算系统)1000的示图。
参照图2,计算系统1000可包括量化系统100和神经网络系统200。神经网络系统200可提供ANN,量化系统100可对从神经网络系统200提供的ANN进行量化,并且将至少部分量化的ANN提供给神经网络系统200。在图1中,神经网络系统200和量化系统100彼此分离,但是根据示例实施例,神经网络系统200和量化系统100可被实现为一个系统。
神经网络系统200可以是提供(或驱动)ANN的任何系统,并且也可被称为神经网络装置。例如,神经网络系统200可以以处理电路(例如,包括至少一个处理器和存储器的计算系统)来实现。作为非限制性示例,神经网络系统200可以是固定计算系统(诸如,台式计算机、服务器等)以及移动计算系统(诸如,膝上型计算机、智能电话等)。在示例实施例中,神经网络系统可获得输入图像,以输入图像作为ANN的输入样本驱动ANN来获得图像识别结果。在示例实施例中,ANN的第一层可获得输入图像作为第一层的输入样本,ANN的前一层的输出样本可以是ANN的后一层的输入样本。
在一个示例实施例中,神经网络系统200可驱动ANN,并且将关于ANN的信息提供给量化系统100。在一个示例实施例中,神经网络系统200可根据从量化系统100提供的信息来驱动ANN,并且将关于驱动的ANN的信息提供给量化系统100。
量化系统100可以是执行ANN的量化的任何系统,并且也可被称为量化装置。例如,量化系统100可以以处理电路(例如,包括至少一个处理器和存储器的计算系统)来实现。量化系统100可以是固定计算系统或移动计算系统。量化系统100可基于从神经网络系统200提供的ANN的信息来对ANN进行量化。
参照图2,量化系统100可包括神经网络接口110、参数量化器120、样本量化器130和/或偏置补偿器140。在一个示例实施例中,神经网络接口110、参数量化器120、样本量化器130和偏置补偿器140中的每个可以以例如作为通过逻辑综合实现的逻辑块的处理电路、由处理器执行的软件块或其组合来实现。在一个示例实施例中,神经网络接口110、参数量化器120、样本量化器130和偏置补偿器140中的每个可以是作为由处理器执行的多个指令的集合的过程,并且可通过处理器存储在可访问的存储器中。
神经网络接口110可将关于神经网络系统200的接口提供给参数量化器120和样本量化器130。例如,神经网络接口110可将从神经网络系统200接收的ANN的参数提供给参数量化器120,并且将从参数量化器120接收的量化的参数提供给神经网络系统200。此外,神经网络接口110可将从神经网络系统200接收的样本提供给样本量化器130,并且将从样本量化器130接收的量化的样本提供给神经网络系统200。此外,神经网络接口110可将从偏置补偿器140接收的补偿偏置提供给神经网络系统200。
参数量化器120可从通过神经网络接口110从神经网络系统200接收的参数生成量化的参数。例如,参数量化器120可接收权重和偏置作为ANN的参数,并且生成量化的权重和量化的偏置。参数量化器120可通过神经网络接口110将量化的权重提供给神经网络系统200。
此外,参数量化器120可使用量化的权重和量化的偏置来生成权重的量化误差和偏置的量化误差。权重的量化误差可包括在对ANN的权重进行量化的处理中发生的误差。通过使用非量化的权重等于量化的权重和权重的量化误差之和的特性,参数量化器120可从接收的权重和量化的权重生成权重的量化误差。此外,偏置的量化误差可包括在对ANN的偏置进行量化的处理中发生的误差。通过使用非量化的偏置等于量化的偏置和偏置的量化误差之和的特性,参数量化器120可从接收的偏置和量化的偏置生成偏置的量化误差。
此外,参数量化器120可将用于生成用于补偿由于量化引起的误差的补偿偏置的信息提供给偏置补偿器140。例如,参数量化器120可将量化的权重、量化的偏置、权重的量化误差和偏置的量化误差提供给偏置补偿器140。
样本量化器130可从通过神经网络接口110从神经网络系统200接收的样本生成量化的样本。例如,样本量化器130可接收多个图像等,并且生成量化的图像等。样本量化器130可通过神经网络接口110将量化的样本提供给神经网络系统200。因为在ANN中参数和样本具有不同的特性,所以参数的量化和样本的量化可被分离。
偏置补偿器140可使用从参数量化器120接收的信息来生成用于补偿由于量化引起的误差的补偿偏置。在一个示例实施例中,偏置补偿器140可通过补偿量化的偏置以包括由于量化引起的误差,来生成补偿偏置。以下将参照图6和图7描述偏置补偿器140的生成补偿偏置的操作的示例。偏置补偿器140可通过神经网络接口110将生成的补偿偏置提供给神经网络系统200。
神经网络系统200可基于从参数量化器120接收的量化的权重和从样本量化器130接收的量化的样本来执行乘积累加(multiply-accumulate,MAC)运算。此外,神经网络系统200可通过将从偏置补偿器140接收的补偿偏置反映到MAC运算结果,来生成最终运算结果。
图3是示出根据示例实施例的神经网络系统200、参数量化器120、样本量化器130和偏置补偿器140的操作的流程图。例如,图3是示出图2的神经网络系统200、参数量化器120、样本量化器130和偏置补偿器140的ANN的量化操作以及使用量化的ANN的操作的流程图。
参照图2和图3,神经网络系统200可包括ANN(S100)。此外,神经网络系统200可将权重W和偏置作为ANN的参数与量化请求一起提供给参数量化器120(S105)。此外,参数量化器120可对接收的权重W和偏置进行量化(S110)。此外,参数量化器120可将量化的权重q_W提供给神经网络系统200(S115)。神经网络系统200可存储接收的量化的权重q_W。此外,参数量化器120可将量化的权重q_W、量化的偏置q_bias、权重的量化误差e_W和偏置的量化误差e_bias提供给偏置补偿器140(S120)。操作S115和S120的操作顺序可被改变。
此外,偏置补偿器140可基于接收的信息生成用于补偿由于量化引起的误差的补偿偏置(S125)。例如,偏置补偿器140可基于接收的量化的权重q_W、量化的偏置q_bias、权重的量化误差e_W和偏置的量化误差e_bias,来生成补偿偏置。以下将参照图6和图7描述偏置补偿器140的生成补偿偏置的操作的示例。此外,偏置补偿器140可将生成的补偿偏置q_bias1提供给神经网络系统200(S130)。神经网络系统200可存储接收的补偿偏置q_bias1。
神经网络系统200可接收新样本X(S135)。然后,神经网络系统200可将样本X与量化请求一起提供给样本量化器130(S140)。此外,样本量化器130可对接收的样本X进行量化(S145)。此外,样本量化器130可将量化的样本q_X提供给神经网络系统200(S150)。神经网络系统200可基于量化的权重q_W和量化的样本q_X执行MAC运算(S155)。此外,神经网络系统200可通过将补偿偏置q_bias1反映到MAC运算结果来生成最终运算结果(S160)。
图4是用于解释根据示例实施例的计算图20的架构的示图。
参照图4,计算图20是示出使用节点和边表示的数学模型的图。计算图20的架构可对应于ANN或量化的ANN的架构。例如,ANN或量化的ANN可被实现为卷积神经网络(CNN),但是发明构思不限于此。当图4的量化的ANN表示CNN时,计算图20可对应于CNN的一些层。例如,计算图20可对应于CNN中的执行MAC运算的一层(诸如,卷积层、全连接层等)。在下文中,为了便于描述,将在计算图20为卷积层的前提下给出由图2的神经网络系统200执行的使用量化的权重和量化的样本执行MAC运算的方法的描述。
参照图2和图4,神经网络系统200可将ANN的权重W与量化请求一起提供给参数量化器120,并且从参数量化器120接收量化的权重q_W。此外,神经网络系统200可将接收的输入样本X与量化请求一起提供给样本量化器130,并且从样本量化器130接收量化的输入样本q_X。然后,神经网络系统200可基于量化的权重q_W和量化的输入样本q_X来执行MAC运算,并将偏置(未示出)反映到MAC运算结果,以生成量化的输出样本q_Y。
量化的输入样本q_X和量化的输出样本q_Y可以是二维或更高维矩阵,并且可具有各自的激活参数。如果量化的输入样本q_X和量化的输出样本q_Y对应于例如三维矩阵,则量化的输入样本q_X和量化的输出样本q_Y可具有宽度w(或列)、高度H(或行)和深度D。在一些示例实施例中,深度D可被称为通道的数量。
在卷积层中,可对量化的输入样本q_X和量化的权重q_W执行卷积运算,结果,可生成量化的输出样本q_Y。量化的权重q_W可对量化的输入样本q_X进行滤波,并且可被称为滤波器或核。量化的权重q_W可具有核尺寸K(即,权重的尺寸),并且量化的权重q_W的深度(即,量化的权重q_W的通道的数量)可与量化的输入样本q_X的深度D相同。量化的权重q_W可通过作为滑动窗口遍历量化的输入样本q_X来移位。在每次移位期间,包括在量化的权重q_W中的每个权重可被相乘,并且被相加到与量化的输入样本q_X重叠的区域中的所有值。当量化的输入样本q_X和量化的权重q_W被卷积时,量化的输出样本q_Y的一个通道可被生成。虽然在图4中示出一个量化的权重q_W,但是实质上,多个量化的权重q_W和量化的输入样本q_X可被卷积,使得量化的输出样本q_Y的多个通道可被生成。
与使用非量化的ANN和非量化的输入执行MAC运算的示例实施例相比,使用量化的ANN和量化的输入执行MAC运算可能引起误差。
例如,ANN的运算可被表示为下面的等式。
[等式1]
Figure BDA0002699244610000091
(C是输入的通道的数量,K是核尺寸,
Figure BDA0002699244610000092
是量化的权重,
Figure BDA0002699244610000093
是权重W的量化误差,qbias是量化的偏置,ebias是偏置的量化误差,
Figure BDA0002699244610000094
是量化的输入样本,
Figure BDA0002699244610000095
是输入样本X的量化误差)。
ANN的运算可被划分为量化运算(①)和量化误差(②)。现有技术的神经网络系统200关注于实现被优化以减小权重W和输入样本X的量化误差的量化运算(①),而不直接考虑量化误差(②)(即,不将量化误差(②)反映到ANN的运算)。根据示例实施例的神经网络系统200可计算量化误差(②)的期望值并且将计算的期望值反映到量化运算(①),从而提高量化的ANN的准确性。因此,用于识别图像的计算系统1000可提高图像识别的准确性。
在图4中,为了便于描述,示出并描述了ANN的一个层中的运算,但是根据发明构思的技术思想的ANN的运算可实质上以相同的方式应用于构成ANN的多个层中的每个层。
图5是示出根据示例实施例的将神经网络系统200的量化误差的期望值反映到量化运算的操作的示图。
参照图2、图4和图5,根据示例实施例的神经网络系统200可基于从量化系统100接收的量化的输入样本q_X和量化的权重q_W来执行MAC运算。此外,神经网络系统200可通过将由量化系统100的偏置补偿器140生成的补偿偏置q_bias1(而不是通过对ANN的偏置进行简单的量化而获得的量化的偏置q_bias)反映到MAC运算结果,来生成量化的输出样本q_Y。如稍后在图6和图7中所述,补偿偏置q_bias1可具有与MAC运算结果的尺寸相同的尺寸。因此,补偿偏置q_bias1可被相加到与MAC运算结果重叠的区域中的所有值。在图5中,针对任意通道k指示量化的输出样本q_Y,但是每个通道的量化的输出样本q_Y可被实质上生成。
偏置补偿器140可生成包括量化误差以及ANN的量化的偏置q_bias的补偿偏置q_bias1。具体地,偏置补偿器140可生成用于将公式③包括在以下的ANN的量化运算等式中的补偿偏置q_bias1(如等式2中的qbias1)。
[等式2]
Figure BDA0002699244610000101
在以上的ANN的量化运算等式中,qbias、ebias
Figure BDA0002699244610000102
Figure BDA0002699244610000103
是通过执行样本量化器130的ANN的量化而先前已知的值。然而,
Figure BDA0002699244610000104
Figure BDA0002699244610000105
是在对输入样本X执行运算处理的时间先前未知的值。因此,偏置补偿器140可使用替代实际输入样本X的参考样本X'的
Figure BDA0002699244610000106
Figure BDA0002699244610000107
而不是关于实际输入样本X的
Figure BDA0002699244610000108
Figure BDA0002699244610000109
来生成补偿偏置q_bias1。
例如,样本量化器130可通过对从样本池选择的多个样本进行量化,来生成量化的多个样本和多个样本的量化误差。偏置补偿器140可使用量化的多个样本生成
Figure BDA00026992446100001010
并且可使用多个样本的量化误差生成
Figure BDA00026992446100001011
此外,偏置补偿器140可使用
Figure BDA00026992446100001012
Figure BDA00026992446100001013
生成补偿偏置q_bias1。稍后将参照图9描述使用多个样本生成补偿偏置q_bias1的具体操作。
作为另一示例,偏置补偿器140可使用已经通过ANN处理的输入样本来生成预计的下一次序的输入样本(例如,在时间上或空间上的下一样本或下一样本集)的
Figure BDA0002699244610000111
并且使用已处理的输入样本的量化误差来生成下一次序的输入样本的
Figure BDA0002699244610000112
此外,偏置补偿器140可使用
Figure BDA0002699244610000113
Figure BDA0002699244610000114
生成补偿偏置q_bias1。在一个示例中,在样本池中可包括已经通过ANN处理的输入样本,因此,可基于样本池中的已经通过ANN处理的输入样本来预计下一次序的输入样本。稍后将参照图10至图14描述使用已处理的输入样本生成补偿偏置q_bias1的具体操作。
图6是示出根据示例实施例的生成补偿偏置q_bias1的方法的示图。例如,图6是示出生成包括ANN的量化的偏置和量化误差的补偿偏置的方法的示图。
补偿偏置的运算可被表示为下面的等式。
[等式3]
Figure BDA0002699244610000115
(E为期望值)
在以上的最后等式中,xc,k可表示参考样本X'而不是实际输入样本X,并且
Figure BDA0002699244610000116
可使用参考样本X'来生成。稍后将在图9和图13中描述确定参考样本X'的方法和计算参考样本X'的量化误差
Figure BDA0002699244610000117
的方法。
参照图6,以上的最后等式可通过偏置补偿器140的操作来实现。偏置补偿器140可基于参考样本X'的量化误差e_X'和量化的权重q_W来执行第一MAC运算。此外,偏置补偿器140可基于参考样本X'和权重的量化误差e_W执行第二MAC运算。然后,偏置补偿器140可将第一MAC运算结果、第二MAC运算结果和ANN的偏置bias(其与量化的偏置q_bias(如等式3中的qbias)和偏置的量化误差e_bias(如等式3中的ebias)之和相等)相加,以生成补偿偏置q_bias1。
图7是示出根据示例实施例的生成补偿偏置q_bias1的方法的示图。例如,图7是示出图6的可修改的示例实施例的示图。
图6的补偿偏置的运算可被表示为下面的等式。
[等式4]
Figure BDA0002699244610000121
在以上的最后等式中,Wc,k可表示ANN的非量化的权重W。
Figure BDA0002699244610000122
Figure BDA0002699244610000123
可使用参考样本X'而不是实际输入样本X来生成。稍后将在图9和图13中描述确定参考样本X'的方法、以及计算量化的参考样本
Figure BDA0002699244610000124
和参考样本X'的量化误差
Figure BDA0002699244610000125
的方法。
参照图7,以上的最后等式可通过偏置补偿器140的操作来实现。偏置补偿器140可基于参考样本X'的量化误差e_X'和非量化的权重W执行第三MAC运算。此外,偏置补偿器140可基于量化的参考样本q_X'和权重的量化误差e_W执行第四MAC运算。此外,偏置补偿器140可将第三MAC运算结果、第四MAC运算结果和ANN的偏置相加,以生成补偿偏置q_bias1。
在图6和图7中生成补偿偏置q_bias1的方法是不同的,但是补偿偏置q_bias1的值可相同。图5的量化的输入样本q_X以及图6的参考样本X'和图7的量化的参考样本q_X'和参考样本X'的量化误差e_X'可具有相同的宽度w和高度H。图5的量化的权重q_W、图6的量化的权重q_W和图7的权重的量化误差e_W可具有相同的核尺寸K。因此,图6和图7中生成的补偿偏置q_bias1的尺寸可与图5的通道中的量化的权重q_W和量化的输入样本q_X的MAC运算结果的尺寸相同。因此,生成的补偿偏置q_bias1可被相加到与量化的权重q_W和量化的输入样本q_X的MAC运算结果重叠的区域中的所有值。
图8是示出根据示例实施例的将神经网络系统200的量化误差的期望值反映到量化运算的操作的示图。例如,图8是示出图5的可修改的示例实施例的示图。
如以上图7中所述,补偿偏置q_bias1可具有与通道中的量化的权重q_W和量化的输入样本q_X的MAC运算结果的尺寸相同尺寸。根据可修改的示例实施例,补偿偏置q_bias1可具有标量值而不是二维矩阵结构。在示例实施例中,偏置补偿器140可通过获得构成补偿偏置q_bias1的值的平均值来生成具有标量值的第二补偿偏置q_bias2。由偏置补偿器140执行的生成具有标量值的第二补偿偏置q_bias2的方法不限于上述示例,并且各种方法可被应用。
偏置补偿器140可将生成的第二补偿偏置q_bias2提供给神经网络系统200。根据示例实施例,偏置补偿器140可将补偿偏置q_bias1提供给神经网络系统200,并且使用由神经网络系统200接收的补偿偏置q_bias1来生成具有标量值的第二补偿偏置q_bias2。
参照图8,神经网络系统200可基于量化的输入样本q_X和量化的权重q_W来执行MAC运算。此外,神经网络系统200可通过将第二补偿偏置q_bias2(而不是通过对ANN的偏置进行简单的量化而获得的量化的偏置q_bias)反映到MAC运算结果,来生成量化的输出样本q_Y。如上所述,当使用第二补偿偏置q_bias2而不是补偿偏置q_bias1时,存储器的存储空间的效率可提高,并且仅一个标量值可被反映到MAC运算结果,因此运算速度可提高,并且用于识别图像的神经网络系统200的运算速度可提高。
图9是示出根据示例实施例的确定参考样本、量化的参考样本和参考样本的量化误差的方法的流程图。例如,图9是示出确定参考样本、量化的参考样本和参考样本的量化误差以生成补偿偏置的方法的流程图,该补偿偏置可由图2的神经网络系统200和量化系统100固定地使用。
参照图2和图9,神经网络系统200可从样本池选择多个第一样本(S210)。这里,多个第一样本可以是用于训练ANN的训练样本。然而,发明构思不限于此,多个第一样本可以是不用于训练ANN的样本,或者可包括用于训练的训练样本和不用于训练的样本二者。
此外,神经网络系统200可通过ANN对多个第一样本执行运算(S220)。例如,神经网络系统200可通过非量化的神经网络对多个第一样本执行运算。
此外,神经网络系统200可基于构成ANN的每个层的多个输出样本的统计分布,从多个第一样本之中选择至少一个第二样本(S230)。例如,神经网络系统200可识别构成非量化的ANN的层(例如,图1的第一层L1至第N层LN中的每个)的输出样本的统计分布。这里,统计分布可包括输出样本的平均值、方差、期望值、不对称性和峰度中的至少一个,并且不限于上述示例。此外,神经网络系统200可基于统计分布从多个第一样本之中选择至少一个第二样本。例如,神经网络系统200可从多个第一样本之中选择与具有接近于每个层的平均值的值的输出样本对应的至少一个第二样本。基于统计分布选择至少一个第二样本的方法不限于上述示例。
然后,神经网络系统200可使用选择的第二样本来计算量化的第二样本和第二样本的量化误差(S240)。例如,神经网络系统200可通过量化的ANN对第二样本执行运算,以计算量化的第二样本。然后,使用输入样本X等于量化的输入样本q_X和输入样本的量化误差e_X之和的特性,神经网络系统200可从第二样本和量化的第二样本来计算第二样本的量化误差。
此外,量化系统100可确定参考样本、量化的参考样本和/或参考样本的量化误差(S250)。在示例实施例中,量化系统100可计算至少一个第二样本、量化的第二样本和第二样本的量化误差中的每个的平均值,并且将计算的第二样本的平均值、量化的第二样本的平均值和第二样本的量化误差的平均值分别确定为参考样本、量化的参考样本和参考样本的量化误差。由量化系统100执行的使用第二样本、量化的第二样本和第二样本的量化误差确定参考样本、量化的参考样本和/或参考样本的量化误差的方法不限于上述示例,并且各种方法可被应用。在一个实施例中,量化系统100可基于至少一个第二样本生成参考样本,对至少一个第二样本进行量化以生成量化的至少一个第二样本,并且使用量化的至少一个第二样本生成量化的参考样本。
此外,量化系统100可基于确定的参考样本、量化的参考样本和/或参考样本的量化误差来生成补偿偏置。例如,参照图6,量化系统100的偏置补偿器140可基于参考样本的量化误差e_X'和量化的权重q_W来执行第一MAC运算。此外,偏置补偿器140可基于参考样本X'和权重的量化误差e_W执行第二MAC运算。然后,偏置补偿器140可将第一MAC运算结果、第二MAC运算结果和ANN的偏置(其与量化的偏置q_bias和偏置的量化误差e_bias之和相等)相加,以生成补偿偏置q_bias1。
可选地,参照图7,量化系统100的偏置补偿器140可基于参考样本的量化误差e_X'和非量化的权重W执行第三MAC运算。此外,偏置补偿器140可基于量化的参考样本q_X'和权重的量化误差e_W执行第四MAC运算。此外,偏置补偿器140可将第三MAC运算结果、第四MAC运算结果和ANN的偏置相加,以生成补偿偏置q_bias1。
如以上参照图8所述,偏置补偿器140可获得构成生成的补偿偏置q_bias1的值的平均值,从而生成具有标量值的第二补偿偏置q_bias2。
如上所述,偏置补偿器140可使用多个样本来确定参考样本、量化的参考样本和/或参考样本的量化误差,并且基于确定的参考样本、量化的参考样本和/或参考样本的量化误差来生成补偿偏置q_bias1或q_bias2。神经网络系统200可在输入样本的运算中使用生成的补偿偏置q_bias1或q_bias2。发明构思不限于此,根据示例实施例,偏置补偿器140可周期性地或非周期性地生成补偿偏置。
偏置补偿器140可使用已处理的输入样本来确定参考样本、量化的参考样本和参考样本的量化误差。在这方面,稍后将参照图10至图14给出详细描述。
图10是示出根据示例实施例的计算系统1000a的示图。例如,图10是示出图2的可修改的示例实施例的示图。
参照图10,计算系统1000a可包括量化系统100a和神经网络系统200。量化系统100a可包括神经网络接口110、参数量化器120、样本量化器130、偏置补偿器140a和样本生成器150a。根据图10的示例实施例的神经网络系统200、神经网络接口110、参数量化器120和样本量化器130可对应于图1的神经网络系统200、神经网络接口110、参数量化器120和样本量化器130,因此其冗余描述被省略。
样本生成器150a可以以处理电路(例如,通过逻辑综合实现的逻辑块、由处理器执行的软件块、或它们的组合)被实现。参照图10,尽管样本生成器150a被示出和描述为包括在量化系统100a中,但是根据示例实施例,样本生成器150a可包括在神经网络系统200中,或者可以以与神经网络系统200和量化系统100a分开的配置来实现。
样本生成器150a可使用已经通过神经网络系统200处理的至少一个输入样本来生成预计的下一次序的输入样本。例如,样本生成器150a可分析已处理的至少一个输入样本,并且根据分析结果预计下一次序的输入样本。此外,样本生成器150a可将预计的输入样本提供给偏置补偿器140a。稍后将参照图11和图12给出由样本生成器150a执行的生成使用已处理的至少一个输入样本预计的下一次序的输入样本的操作的详细描述。
偏置补偿器140a可使用接收的预计的输入样本来生成补偿偏置。稍后将在图11中描述由偏置补偿器140a执行的使用预计的输入样本生成补偿偏置的具体方法。
图11是示出根据实施例的预计下一输入样本的方法的示图。例如,图11是示出由图10的样本生成器150a执行的使用至少一个已处理的输入样本来预计下一次序的输入样本的方法的示图。
由神经网络系统200处理的输入样本可以是连续拍摄的图像。连续拍摄的图像中的每个与在先前次序或在随后次序中的图像具有小差异,并且图像之间的差异可随时间具有方向性。因此,样本生成器150a可通过分析已经被处理的输入样本(例如,连续拍摄的图像)之间的差异,来预计下一次序的输入样本。此外,样本生成器150a可将预计的下一次序的输入样本提供给偏置补偿器140a。样本生成器150a可从包括在量化系统100a中的存储器(未示出)读取已处理的输入样本,或者从神经网络系统200或任何其他不同的配置接收已处理的输入样本。
例如,参照图11,样本生成器150a可使用卡尔曼滤波器等计算作为已处理的图像之中的最接近现在的图像的第N-2帧和第N-1帧的运动向量。此外,样本生成器150a可使用计算的运动向量识别在图像中运动的对象(例如,人)。此外,样本生成器150a可通过预计识别的对象的图像中的运动路径来生成预计的第N帧。
参照图11,尽管样本生成器150a被示出和描述为使用两个最近的图像来预计下一图像,但是发明构思不限于此,并且两个或更多个最近的图像可用于预计下一图像。
图12是示出根据示例实施例的预计下一输入样本的方法的示图。例如,图12是示出由图10的样本生成器150a执行的使用至少一个已处理的输入样本来预计下一次序的输入样本的方法的示图。
样本生成器150a可包括人工智能(AI)模块151a。AI模块151a可以是被训练为基于输入样本预计下一样本的AI模块。样本生成器150a可将至少一个已处理的输入样本输入到AI模块151a,并且将从AI模块151输出的输出样本提供给偏置补偿器140a作为下一输入样本。AI模块151a可被实现为通过逻辑综合实现的逻辑块、由处理器执行的软件块或它们组合。
参照图11和图12,由神经网络系统200处理的输入样本被描述为连续拍摄的图像,但是发明构思不限于此,并且各种类型的数据可被使用。
图13是示出根据示例实施例的确定参考样本、量化的参考样本和参考样本的量化误差的方法的流程图。具体地,图13是示出确定参考样本、量化的参考样本和参考样本的量化误差以生成补偿偏置的方法的流程图,图10的神经网络系统200和量化系统100a可在下一次序的输入样本的运算中使用该补偿偏置。
参照图10和图13,量化系统100a可从已处理的输入样本之中选择至少一个第一样本(S310)。例如,量化系统100a的样本生成器150a可从已处理的输入样本之中选择预设数量的第一样本。这里,预设数量可由制造商或用户设置。例如,当输入样本是连续拍摄的图像时,样本生成器150a可从已处理的连续图像之中选择100个最近处理的图像作为第一样本。
此外,量化系统100a可基于第一样本预计下一次序的第二样本(S320)。例如,样本生成器150a可分析预设数量的第一样本,并且可根据分析结果预计下一次序的第二样本。由样本生成器150a执行的预计下一次序的第二样本的方法可与图11和图12中描述的方法相同或基本上相同。此外,样本生成器150a可将第二样本提供给偏置补偿器140a。
然后,量化系统100a可将预计的第二样本确定为参考样本(S330)。然后,量化系统100a可使用至少一个第一样本的量化误差来确定参考样本的量化误差(S340)。在示例实施例中,偏置补偿器140a可通过获得至少一个第一样本的量化误差的平均值来确定参考样本的量化误差。可选地,偏置补偿器140a可识别至少一个第一样本之中的最接近现在处理的样本的量化误差,并将识别的量化误差确定为参考样本的量化误差。也就是说,偏置补偿器140a可在不使用输入样本X与量化的输入样本q_X和输入样本X的量化误差e_X之和相等的特性的情况下,确定参考样本的量化误差。
此外,量化系统100a可基于确定的参考样本和参考样本的量化误差来生成补偿偏置。例如,参照图6,量化系统100a的偏置补偿器140a可基于参考样本的量化误差e_X'和量化的权重q_W来执行第一MAC运算。此外,偏置补偿器140a可基于参考样本X'和权重的量化误差e_W执行第二MAC运算。然后,偏置补偿器140a可将第一MAC运算结果、第二MAC运算结果和ANN的偏置(其与量化的偏置q_bias和偏置的量化误差e_bias之和相等)相加,以生成补偿偏置q_bias1。
根据可修改的示例实施例,量化系统100a可对确定的参考样本进行量化,并且基于量化的参考样本和参考样本的量化误差来生成补偿偏置。例如,参照图7,量化系统100a的偏置补偿器140a可基于参考样本的量化误差e_X'和非量化的权重W执行第三MAC运算。此外,偏置补偿器140a可基于量化的参考样本q_X'和权重的量化误差e_W执行第四MAC运算。此外,偏置补偿器140a可将第三MAC运算结果、第四MAC运算结果和ANN的偏置相加,以生成补偿偏置q_bias1。
如以上参照图8所述,偏置补偿器140a可通过获得构成生成的补偿偏置q_bias1的值的平均值,来生成具有标量值的第二补偿偏置q_bias2。
如上所述,偏置补偿器140a可使用已经被处理的输入样本来确定参考样本、量化的参考样本和/或参考样本的量化误差,并且基于确定的参考样本、量化的参考样本和参考样本的量化误差来生成补偿偏置q_bias1或q_bias2。神经网络系统200可在下一次序的输入样本的运算中使用生成的补偿偏置q_bias1或q_bias2。
图14是示出根据示例实施例的通过量化的ANN对下一次序的输入样本执行运算的方法的示图。例如,图14是示出由图10的量化系统100a和神经网络系统200执行的对下一次序的输入样本执行运算的方法的示图。在下文中,为了便于描述,将在输入样本是连续拍摄的图像的假设下给出描述。
参照图10和图14,作为多个输入样本的连续拍摄的图像帧0至帧N可被顺序地处理。当对帧N-1的处理完成时,量化系统100a可准备对帧N的处理。
例如,量化系统100a可从已处理的图像帧0至帧N-1之中选择至少一个图像。例如,参照图14,量化系统100a的样本生成器150a可选择帧N-1。此外,量化系统100a可基于选择的图像预计下一次序的图像。例如,参照图14,样本生成器150a可基于帧N-1预计帧N以生成预计的帧N。
此外,量化系统100a可使用下一次序的图像来生成补偿偏置。例如,参照图14,偏置补偿器140a可从样本生成器150a接收预计的帧N,并将接收的预计的帧N确定为参考样本X'。此外,偏置补偿器140a可使用已处理的图像帧0至帧N-1中的至少一个的量化误差来确定参考样本的量化误差e_X'。在示例实施例中,偏置补偿器140a可将帧N-1的量化误差确定为参考样本的量化误差e_X',或者通过获得预设数量的最接近现在处理的图像的量化误差的平均值来确定参考样本的量化误差e_X'。
已处理的图像帧0至帧N-1的量化误差可在对已处理的图像帧0至帧N-1的先前的运算处理中被计算,并且被存储在存储器160中。例如,使用输入样本X与量化的输入样本q_X和输入样本的量化误差e_X之和相等的特性,已处理的图像帧0至帧N-1的量化误差可被计算并被存储在存储器160中。因此,偏置补偿器140a可从存储器160读取已处理的图像帧0至帧N-1中的至少一个的量化误差,并使用读取的量化误差来确定参考样本的量化误差e_X'。在图14中,虽然存储器160被示出和描述为包括在量化系统100a中,但是存储器160可包括在神经网络系统200中或者可以以与神经网络系统200和量化系统100a分开的配置来实现。
此外,偏置补偿器140a可基于参考样本X'和参考样本X'的量化误差e_X'来生成补偿偏置q_bias1或q_bias2。此外,偏置补偿器140a可通过神经网络接口110将生成的补偿偏置q_bias1或q_bias2提供给神经网络系统200。
然后,样本量化器130可对帧N进行量化以生成量化的帧N。此外,样本量化器130可通过神经网络接口110将量化的帧N提供给神经网络系统200。
此外,神经网络系统200可基于接收的量化的帧N和补偿偏置q_bias1或q_bias2来执行运算。例如,神经网络系统200可基于量化的帧N和量化的权重来执行MAC运算,并将补偿偏置q_bias1或q_bias2反映到MAC运算结果,以生成量化的输出样本q_Y。
图15是示出根据实施例的使用ANN的操作方法的流程图。例如,图15是示出使用图2的计算系统1000或图10的计算系统1000a的ANN的操作方法的流程图。
参照图2、图10和图15,计算系统1000或1000a可对ANN的参数进行量化(S410)。例如,计算系统1000的量化系统100或计算系统1000a的量化系统100a可对ANN的参数(诸如,权重和偏置)进行量化。此外,计算系统1000或1000a可通过补偿量化的偏置以包括由于量化引起的误差来生成补偿偏置(S420)。这里,可使用ANN的量化的权重、权重的量化误差、量化的偏置、偏置的量化误差、参考样本、量化的参考样本和参考样本的量化误差中的至少一个来生成补偿偏置。参考样本可通过与当前正在处理的输入样本不同的多个样本来确定,或者可通过已处理的输入样本中的至少一个来确定。
此外,计算系统1000或1000a可对输入样本进行量化(S430)。例如,计算系统1000的量化系统100或计算系统1000a的量化系统100a可对输入样本进行量化。此外,量化系统100或100a可将量化的输入样本提供给计算机系统1000或1000a的神经网络系统200。此外,计算系统1000或1000a可基于量化的权重和量化的输入样本执行MAC运算(S440)。例如,神经网络系统200可接收量化的输入样本,并且基于量化的权重和接收的量化的输入样本来执行MAC运算。
此外,计算系统1000或1000a可将用于补偿量化误差的补偿偏置反映到MAC运算结果(S450)。例如,计算系统1000或1000a的神经网络系统200可通过将从量化系统100或100a接收的补偿偏置反映到MAC运算结果来生成最终运算结果。根据示例实施例的计算系统可生成在量化处理中发生的误差的期望值作为补偿偏置,并且通过量化的ANN将生成的补偿偏置反映到MAC运算结果。因此,根据示例实施例的使用ANN的操作方法可由于量化的ANN的使用而具有降低的复杂度,并且根据补偿偏置的反映而具有良好的性能,因此,用于识别图像的计算系统1000或1000a处理图像的复杂度可降低,并且用于识别图像的计算系统1000或1000a可具有良好的性能。
图16是示出根据示例实施例的电子装置300的框图。
在示例实施例中,图2的量化系统100或图10的量化系统100a可被实现为图16的电子装置300。如图16中所示,电子装置300可包括系统存储器310、处理器330、存储装置350、输入/输出(I/O或IO)装置370和/或通信连接390。包括在电子装置300中的组件可例如通过总线彼此通信地连接。
系统存储器310可包括程序312。程序312可使处理器330执行根据示例实施例的ANN的量化、输入样本的量化以及补偿偏置的生成。例如,程序312可包括可由处理器330执行的多个指令。此外,包括在程序312中的多个指令可由处理器330执行,以执行ANN的量化、输入样本的量化或补偿偏置的生成。作为非限制性示例,系统存储器310可包括易失性存储器(诸如,静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM))、或者非易失性存储器(诸如,闪存)。
处理器330可包括可执行任何指令集的至少一个核(例如,Intel架构-32(IA-32)、64位扩展IA-32、x86-64、PowerPC、Sparc、MIPS、ARM、IA-64等)。处理器330可执行存储在系统存储器310中的指令,并且执行程序312以执行ANN的量化、输入样本的量化或补偿偏置的生成。
即使供应到电子装置300的电力被阻断,存储装置350也可不丢失存储的数据。例如,存储装置350还可包括非易失性存储器(诸如,电可擦除可编程只读存储器(EEPROM)、闪存、相变随机存取存储器(PRAM)、电阻式随机存取存储器(RRAM)、纳米浮栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)、磁随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)等)以及存储介质(诸如,磁带、光盘和磁盘)。在一些示例实施例中,存储装置350可以是可从电子装置300移除的。
在示例实施例中,存储装置350可存储用于根据示例实施例的ANN的量化、输入样本的量化以及补偿偏置的生成的程序312。并且在程序312由处理器330执行之前,程序312或其至少一部分可从存储装置350加载到系统存储器310中。在示例实施例中,存储装置350可存储以编程语言编写的文件,并且由编译器等生成的程序312或其至少一部分可从文件加载到系统存储器310中。
在示例实施例中,存储装置350可存储将由处理器330处理的数据和/或由处理器330处理的数据。例如,存储装置350可存储输入样本,存储量化的输入样本和输入样本的量化误差,并且存储生成的补偿偏置等。
I/O装置370可包括输入装置(诸如,键盘和指示装置),并且可包括输出装置(诸如,显示装置和打印机)。例如,用户可通过I/O装置370触发处理器330对程序312的执行,可输入输入样本,并且识别输出样本和/或误差消息等。
通信连接390可提供对电子装置300外部的网络的访问。例如,网络可包括多个计算系统和通信链路,并且通信链路可包括有线链路、光链路、无线链路或任何其他形式的链路。
图17是示出根据示例实施例的电子装置400的框图。在示例实施例中,图2或图10的神经网络系统200可被实现为图17的电子装置400。作为非限制性示例,电子装置400可以是由电池或自发电供电的任何移动电子装置(诸如,移动电话、平板PC、可穿戴装置、物联网装置等)。
如图17中所示,电子装置400可包括存储器子系统410、I/O装置430、处理单元450和/或网络接口470,并且存储器子系统410、I/O装置430、处理单元450和/或网络接口470可通过总线490彼此通信。在一些示例实施例中,存储器子系统410、I/O装置430、处理单元450和网络接口470中的至少两个可包括在作为片上系统(SoC)的一个封装中。
存储器子系统410可包括RAM 412和存储装置414。RAM 412和/或存储装置414可存储由处理单元450执行的指令和将由处理单元450处理的数据。例如,RAM 412和/或存储装置414可存储参数(诸如,信号、ANN的权重和偏置)。在一些示例实施例中,存储装置414可包括非易失性存储器。
处理单元450可包括中央处理器(CPU)452、图形处理器(GPU)454、数字信号处理器(DSP)456和神经处理器(NPU)458。与图17中示出的不同,在示例实施例中,处理单元450可仅包括CPU 452、GPU 454、DSP 456和NPU 458中的至少一些。
CPU 452可响应于通过I/O装置430接收的外部输入而直接执行电子装置400的总体操作(例如,特定任务),或者可指示处理单元450的其他组件执行总体操作。GPU 454可生成用于通过包括在I/O装置430中的显示装置输出的图像的数据,或者可对从包括在I/O装置430中的相机接收的数据进行编码。DSP 456可通过处理数字信号(诸如,从网络接口470提供的数字信号)来生成有用的数据。
NPU 458是用于ANN的专用硬件,并且可包括与构成ANN的至少一些人工神经元对应的多个计算节点,并且多个计算节点中的至少一些可并行地处理信号。因为根据示例实施例量化的ANN具有更高的准确度和/或更低的计算复杂度,所以ANN可容易地以图17的电子装置400来实现,可具有快的处理速度,并且例如可通过小型NPU 458来实现。
I/O装置430可包括输入装置(诸如,触摸输入装置、声音输入装置、相机)以及输出装置(诸如,显示装置和声音输出装置)。例如,当用户的语音通过声音输入装置来输入时,语音可通过以电子装置400实现的ANN来识别,并且因此操作可被触发。此外,当图像通过相机被输入时,包括在图像中的对象可通过以电子装置400实现的DNN来识别,并且输出(诸如,虚拟现实)可被提供给用户。网络接口470可向电子装置400提供对移动通信网络(诸如,长期演进(LTE)、5G等)的访问,或者可提供对本地网络(诸如,Wi-Fi)的访问。
以上公开的任何元件(包括神经网络系统和/或量化系统)可包括处理电路或可以以处理电路来实现,处理电路可包括包含逻辑电路的硬件、硬件/软件组合(诸如,执行软件的处理器)、或它们的组合。例如,处理电路更具体地可包括但不限于中央处理器(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。
在一些实施例中,人工神经网络ANN可包括组织模型(organizational model)和处理模型(诸如,卷积神经网络(CNN)、去卷积神经网络、可选地包括长短期记忆(LSTM)单元和/或门控循环单元(GRU)的循环神经网络(RNN)、堆叠神经网络(SNN)、状态空间动态神经网络(SSDNN)、深度置信网络(DBN)、生成对抗网络和/或受限玻尔兹曼机(RBM))。
可选地或另外地,人工神经网络ANN可包括其他形式的机器学习模型(诸如,以线性和/或逻辑回归、统计聚类、贝叶斯分类、决策树、降维(诸如,主成分分析)以及专家系统和/或它们的组合(包括诸如随机森林的集成)为例)。这样的机器学习模型还可用于提供各种服务和/或应用(例如,图像分类服务、基于生物信息或生物特征数据的用户认证服务、高级驾驶员辅助系统(ADAS)服务、语音助理服务、自动语音识别(ASR)服务等),并且这样的机器学习模型可由电子装置执行、运行或处理。
虽然参照发明构思的示例实施例具体地示出和描述了发明构思,但是将理解,在不脱离权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。

Claims (20)

1.一种用于识别图像的计算系统,包括:
神经网络系统,被配置为获得输入图像,以输入图像作为人工神经网络的输入样本驱动人工神经网络来获得图像识别结果,其中,驱动人工神经网络的步骤包括:针对人工神经网络中的至少一个层的每个层,基于人工神经网络的所述层的输入样本、量化的参数和补偿偏置来生成人工神经网络的所述层的输出样本;以及
量化系统,被配置为对人工神经网络进行量化,
其中,量化系统还被配置为:针对人工神经网络中的所述至少一个层的每个层,对人工神经网络的所述层的参数进行量化以生成人工神经网络的所述层的量化的参数,基于人工神经网络的所述层的参数和量化的参数生成人工神经网络的所述层的参数的量化误差,基于人工神经网络的所述层的量化的参数和的参数的量化误差生成补偿偏置,并且将生成的量化的参数和补偿偏置发送到神经网络系统。
2.根据权利要求1所述的计算系统,其中,人工神经网络的第一层获得输入图像作为第一层的输入样本,人工神经网络的前一层的输出样本是人工神经网络的后一层的输入样本。
3.根据权利要求1所述的计算系统,其中,
量化系统还被配置为:在从神经网络系统接收到人工神经网络中的所述至少一个层的每个层的输入样本时,对输入样本进行量化并且将量化的输入样本发送到神经网络系统,并且
其中,神经网络系统还被配置为:在接收到人工神经网络中的所述至少一个层的每个层的量化的输入样本时,基于量化的输入样本和量化的参数执行第一乘积累加运算,并且将补偿偏置反映到第一乘积累加运算的结果以生成人工神经网络的所述至少一个层的每个层的输出样本。
4.根据权利要求1至权利要求3中的任意一项所述的计算系统,其中,人工神经网络的参数包括人工神经网络的权重和偏置,
其中,量化的参数包括量化的权重和量化的偏置,并且
其中,参数的量化误差包括权重的量化误差和偏置的量化误差。
5.根据权利要求4所述的计算系统,其中,量化系统还被配置为:识别参考样本以生成补偿偏置,对参考样本进行量化以生成量化的参考样本,基于参考样本和量化的参考样本生成参考样本的量化误差,并且基于参考样本、量化的参考样本、参考样本的量化误差、量化的参数和人工神经网络的参数的量化误差中的至少一个生成补偿偏置。
6.根据权利要求5所述的计算系统,其中,量化系统还被配置为:基于参考样本和权重的量化误差执行第二乘积累加运算,基于参考样本的量化误差和量化的权重执行第三乘积累加运算,并且基于第二乘积累加运算的结果和第三乘积累加运算的结果生成补偿偏置。
7.根据权利要求6所述的计算系统,其中,量化系统还被配置为:对第二乘积累加运算的结果、第三乘积累加运算的结果以及人工神经网络的偏置求和以生成补偿偏置。
8.根据权利要求7所述的计算系统,其中,量化系统还被配置为:计算第二乘积累加运算的结果、第三乘积累加运算的结果以及人工神经网络的偏置的平均值,并且生成具有作为标量值的计算的平均值的补偿偏置。
9.根据权利要求5所述的计算系统,其中,量化系统还被配置为:基于量化的参考样本和权重的量化误差执行第四乘积累加运算,基于参考样本的量化误差和人工神经网络的权重执行第五乘积累加运算,并且基于第四乘积累加运算的结果和第五乘积累加运算的结果生成补偿偏置。
10.根据权利要求5所述的计算系统,其中,神经网络系统还被配置为:从样本池选择至少一个第一样本,并将所述至少一个第一样本发送到量化系统,以及
其中,量化系统还被配置为:基于所述至少一个第一样本生成参考样本,对所述至少一个第一样本进行量化以生成量化的至少一个第一样本,并且使用量化的至少一个第一样本生成量化的参考样本。
11.根据权利要求10所述的计算系统,其中,神经网络系统还被配置为:从样本池选择多个第二样本,通过人工神经网络对所述多个第二样本执行运算,并基于运算的结果选择所述至少一个第一样本。
12.根据权利要求11所述的计算系统,其中,神经网络系统还被配置为:基于运算的结果识别构成人工神经网络的每个层的输出样本的统计分布,并且基于识别的统计分布选择所述至少一个第一样本。
13.根据权利要求4所述的计算系统,其中,量化系统还被配置为:基于由神经网络系统基于量化的参数处理的至少一个第三样本来预计下一次序的样本以生成预计的输入样本,基于所述至少一个第三样本的量化误差来生成预计的输入样本的量化误差,并且基于预计的输入样本、预计的输入样本的量化误差、量化的参数和人工神经网络的参数的量化误差来生成补偿偏置。
14.根据权利要求13所述的计算系统,其中,量化系统还被配置为:计算所述至少一个第三样本的运动向量,并且使用计算的运动向量生成预计的输入样本。
15.一种用于识别图像的方法,所述方法包括:
获得输入图像作为人工神经网络的输入样本;以及
基于输入样本执行人工神经网络来获得图像识别结果,
其中,获得图像识别结果的步骤包括:针对人工神经网络中的至少一个层的每个层,对人工神经网络的所述层的权重和偏置进行量化,
通过补偿量化的偏置以包括由于量化引起的误差,来生成补偿偏置,
对人工神经网络的所述层的输入样本进行量化,
基于人工神经网络的所述层的量化的权重和量化的输入样本执行第一乘积累加运算,以及
将补偿偏置反映到第一乘积累加运算的结果,以生成人工神经网络的所述层的输出样本。
16.根据权利要求15所述的方法,其中,生成补偿偏置的步骤包括:基于被定义为参考样本的量化误差的第一误差和被定义为权重的量化误差的第二误差来补偿量化的偏置。
17.根据权利要求16所述的方法,其中,生成补偿偏置的步骤包括:
基于量化的权重和第一误差执行第二乘积累加运算;
基于参考样本和第二误差执行第三乘积累加运算;以及
基于第二乘积累加运算的结果和第三乘积累加运算的结果来补偿量化的偏置。
18.根据权利要求17所述的方法,其中,基于第二乘积累加运算的结果和第三乘积累加运算的结果来补偿量化的偏置的步骤包括:
对第二乘积累加运算的结果、第三乘积累加运算的结果和人工神经网络的偏置求和;以及
补偿量化的偏置以包括求和的结果。
19.根据权利要求16所述的方法,其中,生成补偿偏置的步骤包括:
基于权重和第一误差执行第四乘积累加运算;
对参考样本进行量化;
基于量化的参考样本和第二误差执行第五乘积累加运算;以及
基于第四乘积累加运算的结果和第五乘积累加运算的结果补偿量化的偏置。
20.一种用于识别图像的方法,所述方法包括:
获得输入图像作为人工神经网络的输入样本;以及
基于输入样本执行人工神经网络来获得图像识别结果,
其中,获得图像识别结果的步骤包括:针对人工神经网络中的至少一个层的每个层,对人工神经网络的所述层的参数进行量化,
基于人工神经网络的所述层的参数和量化的参数计算参数的量化误差,
基于量化的参数和参数的量化误差来生成补偿偏置,
对人工神经网络的所述层的输入样本进行量化,以及
基于量化的参数、补偿偏置和量化的输入样本生成人工神经网络的所述层的输出样本。
CN202011016489.3A 2019-09-24 2020-09-24 用于识别图像的计算系统和方法 Pending CN112633464A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2019-0117485 2019-09-24
KR20190117485 2019-09-24
KR1020200029807A KR20210035702A (ko) 2019-09-24 2020-03-10 인공 신경망의 양자화 방법 및 인공 신경망을 이용한 연산 방법
KR10-2020-0029807 2020-03-10

Publications (1)

Publication Number Publication Date
CN112633464A true CN112633464A (zh) 2021-04-09

Family

ID=74846466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011016489.3A Pending CN112633464A (zh) 2019-09-24 2020-09-24 用于识别图像的计算系统和方法

Country Status (3)

Country Link
US (1) US20210089898A1 (zh)
CN (1) CN112633464A (zh)
DE (1) DE102020123155A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114444650A (zh) * 2020-11-06 2022-05-06 安霸国际有限合伙企业 改进量化的多级对象检测网络的准确度的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102601604B1 (ko) * 2017-08-04 2023-11-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
CN107396124B (zh) * 2017-08-29 2019-09-20 南京大学 基于深度神经网络的视频压缩方法
US10678508B2 (en) * 2018-03-23 2020-06-09 Amazon Technologies, Inc. Accelerated quantized multiply-and-add operations
US20210374510A1 (en) * 2019-08-23 2021-12-02 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
US20210089898A1 (en) 2021-03-25
DE102020123155A1 (de) 2021-03-25

Similar Documents

Publication Publication Date Title
US12073309B2 (en) Neural network device and method of quantizing parameters of neural network
Tjandra et al. Compressing recurrent neural network with tensor train
US11790212B2 (en) Quantization-aware neural architecture search
US11900260B2 (en) Methods, devices and media providing an integrated teacher-student system
CN107622303B (zh) 用于神经网络的方法和执行该方法的设备
US20220156508A1 (en) Method For Automatically Designing Efficient Hardware-Aware Neural Networks For Visual Recognition Using Knowledge Distillation
US20200293888A1 (en) System and Method For Implementing Modular Universal Reparameterization For Deep Multi-Task Learning Across Diverse Domains
JP6521440B2 (ja) ニューラルネットワーク及びそのためのコンピュータプログラム
Lemaire et al. An analytical estimation of spiking neural networks energy efficiency
CN110781686B (zh) 一种语句相似度计算方法、装置及计算机设备
WO2020175862A1 (ko) 인공신경망의 비트 양자화 방법 및 시스템
US20210264237A1 (en) Processor for reconstructing artificial neural network, electrical device including the same, and operating method of processor
CN114358274A (zh) 训练用于图像识别的神经网络的方法和设备
US20230004816A1 (en) Method of optimizing neural network model and neural network model processing system performing the same
US20220108156A1 (en) Hardware architecture for processing data in sparse neural network
Cai et al. Efficient methods for deep learning
KR20210035702A (ko) 인공 신경망의 양자화 방법 및 인공 신경망을 이용한 연산 방법
CN112633464A (zh) 用于识别图像的计算系统和方法
CN116134452A (zh) 具有集成随机存取存储器的深度学习加速器中的优化传感器融合
EP4322064A1 (en) Method and system for jointly pruning and hardware acceleration of pre-trained deep learning models
JP7279225B2 (ja) 破滅的忘却の発生を抑えつつ、転移学習を行う方法、情報処理装置及びプログラム
US11568255B2 (en) Fine tuning of trained artificial neural network
CN114254746A (zh) 执行神经网络的方法和设备
CN115461754A (zh) 深度过参数化
Bukowski et al. SuperNet--An efficient method of neural networks ensembling

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