CN111382859B 用于处理神经网络中的卷积运算的方法和装置 (三星电子株式会社)_第1页
CN111382859B 用于处理神经网络中的卷积运算的方法和装置 (三星电子株式会社)_第2页
CN111382859B 用于处理神经网络中的卷积运算的方法和装置 (三星电子株式会社)_第3页
CN111382859B 用于处理神经网络中的卷积运算的方法和装置 (三星电子株式会社)_第4页
CN111382859B 用于处理神经网络中的卷积运算的方法和装置 (三星电子株式会社)_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EP3401840A1,2018.11.14US2018189643A1,2018.07.05US2016358069A1,2016.1用于处理神经网络中的卷积运算的方法和提供了一种基于输入特征图的重用来执行成卷积核的每个权重与输入特征图之间的运算核中的权重的位置而设置的位置处累加输出值2通过卷积核的不同权重与输入特征图的相同像素之间的每一个运对于所述输入特征图的一个或多个相应像素中的每一个,通过在输出特所述卷积核中的所述多个权重的位置而设置的位置处累加所述输出值来生成所述输出特通过执行所述输入特征图与所述卷积核的第一权重之间的第一运算来生成第一输出通过执行所述输入特征图与所述卷积核的第二权重之间的第二运算来生成第二输出在所述输出特征图中的基于所述卷积核中的所述第一权重的位置的第一位置处累加在所述输出特征图中的基于所述卷积核中的所述第二权重的位置的第二位置处累加通过执行所述输入特征图的第一区域与所述卷积核的所述多个权重中的每一个权重通过在第一部分输出特征图中的基于所述卷积核中的相应权重的位置的位置处累加通过执行所述输入特征图中的第二区域与所述卷积核的所述多个权重中的每一个权通过在第二部分输出特征图中的基于所述卷积核中的相应权重的位置的位置处累加3运算单元,被配置为通过分别执行所述输入特征图的多个区域输出单元,被配置为通过累加所述部分输出特征图之中的至少一其中,所述输出单元还被配置为通过所述总线从所述处所述多个区域中的区域与多个卷积核中的每一个卷积核之间的运算来生成所述部分输出所述第一处理单元还被配置为:在完成所述区域与所述第一卷积核的所述一部分。行时配置所述处理器生成所述输出值并生成所述输出通过卷积核的不同权重与输入特征图的相同像素之间的每一个运对于所述输入特征图的一个或多个相应像素中的每一个,通过在输出特所述卷积核中的所述多个权重的位置而设置的位置处累加所述输出值来生成所述输出特通过执行所述输入特征图与所述卷积核的第一权重之间的第一运算来生成第一输出通过执行所述输入特征图与所述卷积核的第二权重之间的第二运算来生成第二输出在所述输出特征图中的基于所述卷积核中的所述第一权重的位置的第一位置处累加4在所述输出特征图中的基于所述卷积核中的所述第二权重的位置的第二位置处累加通过执行所述输入特征图中的第一区域与所述卷积核的所述多个权重中的每一个权通过执行所述输入特征图中的第二区域与所述卷积核的所述多个权重中的每一个权通过在第一部分输出特征图中的基于所述卷积核中的相应权重的位置的位置处累加通过在第二部分输出特征图中的基于所述卷积核中的相应权重的位置的位置处累加通过分别执行所述输入特征图的多个区域中的每一个区域与所述卷积核之间的运算通过累加所述部分输出特征图之中的至少一个部分输出特征图来生成所述输出特征输入特征图的所述多个区域中的区域与多个卷积核中的每一个卷积核之间的运算来生成通过不同权重与输入特征图的第一区域之间的每一个运算,针对输入使所述第一输出值位于第一部分输出特征图中的基于所述卷积核中的所述多个权重5通过不同权重与所述输入特征图的第二区域之间的每一个运算,针对使所述第二输出值位于第二部分输出特征图中的基于所述卷积核中的多个权重的相述多个权重与不同于所述第一区域的所述第二区域中的一部分之间的运算来生成所述第6[0002]本申请要求于2018年12月27日向韩国知识产权局递交的韩国专利申请No.10_[0006]提供了本发明内容以用简化形式来介绍下面在具体实施方式中进一步描述的理权重的位置而设置的位置处累加输出值来生成输出特征输出特征图中的基于卷积核中的第二权重的位置的第二位置处累加的基于卷积核中的相应权重的位置的位置处累加第二输出值来生成第二部分输出特征图;7出特征图之中的一个或多个部分输出特征图来生成输出特征图的区域中的每[0015]运算单元中的一个或多个运算单元可以被配置为独立于彼此并且彼此并行地执行输入特征图的区域之中的区域与多个卷积核中的每一个卷积核之间的运算来生成部分的基于卷积核中的权重的位置而设置的位置处累加输出值来生成输成第一输出值,并通过执行输入特征图与卷积核的第二权重之间的运算来生成第二输出通过在第一部分输出特征图中的基于卷积核中的相应权重的位置的位置处累加第一输出在第二部分输出特征图中的基于卷积核中的相应权重的位置的位置处累加第二输出值来8[0028]处理器可以被配置为通过执行权重与不同于第一区域的第二区域中的一部分之[0035]图5是示出了处理器通过重用输入特征图的区域来生成部分输出特征图的示例的[0037]图7是示出了输入特征图中的用于与卷积核进行运算的各种形式的区域的示例的[0044]图14示出了处理器的运算单元执行卷积核与输入特征图的区域之间的运算的示[0045]图15示出了处理器的运算单元执行卷积核与输入特征图的区域之间的运算的示9[0048]提供以下具体实施方式以帮助读者获得对本文所描述的方法、装置和/或系统的[0049]本文描述的特征可以以不同形式来实施,并且不被解释为限于本文描述的示[0057]在另一示例中,神经网络1可以接收输入源语句(例如,语音输入)而不是输入图[0060]卷积核220在输入特征图210上滑动的同时在具有3×3像素大小的区域(或拼块)输入特征图210的任何区域的每个像素值乘以卷积核220中的对应位置处的每个元素的权应的输出特征图230的第一行和第一列的像素值231被确定为值15。输出特征图230的第一与卷积核220之间执行卷积运算,且因此输出特征图230的第一行和第二列的像素值232被[0063]卷积核260在输入特征图250上滑动的同时在具有3×3像素大小的区域(或拼块)区域(第九区域253)与卷积核260之间执行并且具有与输入特征图201的通道数量X和输出特征图203的通道数量Y相对应的通道数量,[0067]经由一个输入特征图与一个卷积核之间的卷积运算来生成输出特征图的处理是重复执行图2A所述的2D卷积运算以生成所有通道的输[0069]神经网络装置100可以体现为使用神经网络来执行语音识别、图像识别和图像分器110通常可以通过执行神经网络装置100的存储器120中存储的程序来控制神经网络装置100。处理器110被包括在参考图4至图6和图8至图15描述的装置中的至少一个装置中或者储器(RAM))等安装在单个芯片中,但不限于此。关于处理器110的进一步细节在下文中提[0073]用户接口130是包括一个或多个硬件组件在内的物理结构,该硬件组件提供呈现的说明性示例的精神和范围的情况下,可以使用有效连接到神经网络装置100的任何显示[0074]处理器110可以包括执行卷积运算的运算单元和执行高速缓存功能的片上存储[0075]处理器110使用在来自存储器120的片上存储器中存储(或缓冲)的输入特征图的[0077]处理器110的运算单元可以包括调度器,该调度器向卷积运算器调度各种运算数[0078]处理器110可以通过执行输入特征图与卷积核之间的卷积运算来生成输出特征的运算来生成输出值。处理器110可以通过重用输入特征图来执行输入特征图与卷积核的[0079]处理器110可以通过在输出特征图中的基于卷积核中的权重的位置而设置的位置处累加输出值来生成输出特征图。处理器110可以通过在输出特征图中的位置处累加输出值来生成填充有输出值的输出特征图。处理器110可以基于卷积核中的权重的位置来配置理器110可以通过在输出特征图中的基于第一权重而设置的位置处累加第一输出值并且在[0080]当处理器110通过在卷积运算中的每个周期重用从存储器120读取的输入特征图来生成输出特征图时,处理器110可以将从存储器120读取输入特征图的次数最小化为一,[0081]在卷积核的第一权重为零的情况下,处理器110可以跳过输入特征图与第一权重110可以将输入特征图与卷积核之间的卷积运算所需的时间减少与零权重一样[0084]在第1周期中,处理器110可以通过执行输入特征图410与卷积核420的第一权重素值与卷积核420的第一权重422之间的乘法运算来生成第一输出值。处理器110可以在输出特征图430中的基于卷积核420中的第一权重422的位置而设置的位置处累加第一输出值。输出特征图430中的位置(其与卷积核420中的第一权重422的位置相对应)可以被设置图430的第三行和第三列。[0085]在第2周期中,处理器110可以通过执行输入特征图410与卷积核420的第二权重的第二权重424的位置而设置的位置处累加第二输出值。输出特征图430中的位置(其与卷积核420中的第二权重424的位置相对应)可以被设置为输出特征图430的第三行和第二列。时,输出特征图430中用于累加输出值的位置可以从第三行和第三列向左改变一个块而成[0086]在第3周期中,处理器110可以通过执行输入特征图410与卷积核420的第三权重征图410之间的运算来生成输出值。处理器110可以通过将输出值累加在输出特征图430中的与卷积核420的权重的位置相对应的位置中来生成填充有输出值的输出特[0087]为方便起见,图4中示出了卷积核420的每个权重与输入特征图410之间的运算在110可以将卷积核420的每个权重与输入特征图410之间的运算执行与卷积核420的非零权置输出特征图上的用于累加输出值的位置的同时在每个周期重用输入特征图来执行卷积核中的每个权重与第一区域之间的运算来生成第一输出值。处理器110可以通过在第一部分输出特征图中的基于卷积核中的权重的位置而设置的位置处累加第一输出值来生成第器110可以基于输入特征图中的第一区域的位置来设置输出特征图中的用于累加第一部分[0090]处理器110可以通过基于对输入特征图中的与第一区域不同的第二区域的重用去执行卷积核中的每个权重与第二区域之间的运算来生成第二输出值。处理器110可以通过在第二部分输出特征图中的基于卷积核中的权重的位置而设置的位置处累加第二输出值图。处理器110可以基于输入特征图中的第二区域的位置来设置输出特征图中的用于累加[0091]类似地,处理器110可以通过基于对输入特征图中的与第一区域和第二区域不同的第N区域的重用去执行卷积核中的每个权重与第N区域之间的运算来生成第N部分输出特部分输出特征图至第N部分输出特征图来生成[0092]处理器110可以包括与输入特征图的区域中的每个像素相对应的乘法器MUL以及[0093]处理器110可以在输入特征图中配置各种形式的区域,并且通过执行所配置的区[0094]处理器110可以通过执行输入特征图的区域与卷积核的部分区域之间的运算来生有1×10像素的大小并且卷积核具有3×3像素的大小时,作为运算结果的部分输出特征图且卷积核520被示出为3×3像素区域,但是输入特征图的第一区域和卷积核可以是具有不[0097]在第1周期中,处理器110可以通过执行第一区域510与卷积核520的第一权重522510的十六个像素值中的每一个像素值与第一权重522之间的乘法运算来生成十六个第一位置而设置的位置处累加第一输出值。第一部分输出特征图530中的位置(其与卷积核520可以在第一部分输出特征图530的区域532中累加第一区域510的n行和m列的像素值与第一[0098]在第2周期中,处理器110可以通过执行第一区域510与卷积核520的第二权重524520中的第二权重524的位置而设置的位置处累加第二输出值。第一部分输出特征图530中的位置(其与卷积核520中的第二权重524的位置相第二权重524时,第一部分输出特征图530中用于累加输出值的区域可以从区域532向左改与第一区域510之间的运算来生成输出值。处理器110可以通过在第一部分输出特征图530中的与卷积核520的权重的位置相对应的区域中累加输出值来生成第一部分输出特征图[0100]处理器110可以在输出特征图531上累加所生成的第一部分输出特征图530。处理器110可以在输出特征图531中的基于第一区域510在输入特征图501中的位置而设置的位对第N区域的重用去执行卷积核520中的每个权重与第N区域之间的运算来生成输出值,并且通过在第N部分输出特征图中的基于卷积核520中的权重的位置而设置的位置处累加输输出特征图。处理器110可以通过在输出特征图531上累加第一部分输出特征图至第N部分征图至第N部分输出特征图的输出值的输出特征图531。为方便起见,图5中示出了卷积核520的每个权重与第一区域510之间的运算在总共9个周期中执行,但是可以跳过零权重与第一区域510之间的运算。也就是说,处理器110可以将卷积核520的每个权重与第一区域510之间的运算执行与卷积核520的非零权重的数量个加法器(Adder)以及三十六个累加器&寄存器(Acc.Register),以生成图5的第一部分输于十六个乘法器中的每一个乘法器,可以输入卷积核520的权重和第一区域510的每个像器输入卷积核520的第一权重和第一区域510的第十六像素。在九个周期的每一个周期中,可以向十六个乘法器分别顺序输入卷积核520的第一权重到第九权重,并且可以重复输入的每一个复用器可以接收十六个乘法器的输出值之中的预[0106]在图6中,610指示针对第一部分输出特征图530的三十六个像素中的每一个像素中累加一个输出值,但是可以在第一部分输出特征图530的第三行和第三列的像素值中累加九个输出值。针对第一部分输出特征图530的三十六个像素中的每一个像素所累加的输三列的像素相对应的复用器可以接收从九个乘法器输出的输出值[0107]三十六个复用器中的每一个复用器可以接收十六个乘法器的输出值之中的多个和第三列的像素相对应的复用器可以接收从被输出为第一区域510与卷积核520中的权重522的位置从区域532中的九个输出值之中选择第一行和第一列的输出值。在第一区域510[0108]三十六个加法器以及累加器&寄存器中的每一个可以累加从三十六个复用器中的器&寄存器中的每一个可以生成配置有三十六个像素值的第一部分输出特外的像区域730那样的仅沿一个方向进行输[0113]根据示例,处理器110可以通过在输入特征图710中配置由1×1×n个像素组成的卷积核820被示出为3×3像素区域,但是输入特征图的第一区域和卷积核可以是具有不同[0116]在第1周期中,处理器110可以通过执行第一区域810与卷积核820的第一权重822积核820的每个权重与第一区域810之间的运算来生成第一部[0119]通过将运算限制到图8的卷积核820的部分区域920,处理器110可以执行图8的输[0120]处理器110可以通过执行部分区域920的第一权重922与第一区域810之间的运算以通过执行部分区域920的第二权重924与第一区域810之间的运算来生成第二输出值,并且在部分输出特征图930的区域934中累加第二输出值。处理器110可以通过执行部分区域930的区域936中累加第三输出值来生成部分输出特[0121]处理器110可以通过执行卷积核820的另一区域与输入特征图的第一区域810之间于所读取的输入特征图或其区域来执行与卷积核的卷积运算。处理器110通过重用输入特[0124]处理器110可以读取经压缩的输入特征图并执行在经压缩的输入特征图与卷积核将作为卷积运算的结果的输出特征图作为下一层的输入特征图存储在存储器120中。处理器110可以压缩输入特征图或将经压缩的输入特征图存储在存储器120中。处理器110可以从存储器120读取经压缩的输入特征图或者基于经压缩的输入特征图来执行[0125]因此,处理器110可以通过读取像连续的流那样的经压缩的输入特征图或其区域[0126]图10示出了处理器通过像流那样流读取经压缩的输入特征图来执行卷积运算的[0127]存储器120可以将经压缩的输入特征图1010与输入特征图一起存储。经压缩的输入特征图1010可以以输入特征图的区域为单位来进行压缩。例如,经压缩的输入特征图1010可以以4×4区域为单位进行压缩。处理器110可以通过像连续流那样读取经压缩的输[0128]经压缩的输入特征图1010可以包括非零像素,使得处理器110可以通过执行在经通过基于对输入特征图的第一区域IFM_1的重用去执行第一区域IFM_1与卷积核之间的运区域IFM_N的重用去执行第N区域IFM_N与卷积核之间的运算来生成第N部分输[0132]运算单元1112、1114和1116中的每一个可以包括位于前端(FrontEnd)处的调度器1113中的缓冲器2可以通过累加由处理单元生成的第二输出值来生成第一“第二部分输基于对输入特征图的其它区域IFM_2至IFM_N的重用去执行卷积核与输入特征图的其它区域IFM_2至IFM_N之间的运算来生成第二部分输出特征图至第N部分输核之间的运算之后,第一处理单元可以执行输入特征图的第一区域IFM_1与第二卷积核之输出特征图的第一区域OFM_1执行像素处理,并且输出经像素处理的输出特征图的第一区[0144]输出单元1222、1224和1226可以执行选择性地累加来自运算单元1212、1214和每一个运算单元可以通过执行输入特征图的区域之中的不同区域与卷积核之间的运算来核之间的运算来生成输出值,并且缓冲器可以通过累加输出值来生成第一部分输出特征的缓冲器需要从第N运算单元1316输出的部分输出特征图时,第一运算单元1312可以通过第二运算单元1314的缓冲器来接收从第N运算单元1316输出的部分输[0149]图14示出了处理器的运算单元执行卷积核与输入特征图的区域之间的运算的示[0151]第一运算单元1412可以通过执行输入特征图的第一区域IFMO和卷积核(Kernel)由四个处理单元分别执行输入特征图的第二区域IFM1、第三区域IFM2和第四区域IFM3与卷线1430来接收部分输出特征图,并且分别生成第二区域OFM1、第三区域OFM2和第四区域[0155]图15示出了处理器的运算单元执行卷积核与输入特征图的区域之间的运算的示[0156]当运算单元1412至1418中的每一个运算单元执行输入特征图的区域与卷积核处理单元的运算时间可以彼此不同。第一处理单元执行输入特征图的第一区域IFMO与第一卷积核之间的运算所需的时间可以比第二处理单元执行第一区域IFMO与第二卷积核之间的运算所需的时间短,并且第四处理单元执行第一区域IFMO与第四卷积核之间的运算所需至1418中的每一个运算单元可以控制较早完成运算的处理单元代表另一处理单元来执行按照所示的顺序和方式来执行,然而在不脱离所述的说明性示例的精神和范围的情况下,图16的一个或多个块和这些块的组合可以通过执行指定功能的基于专用硬件的计算机(例[0160]图16中所示的运算方法可以通过图3至图15中所示的神经网络装置100的元件来[0161]在运算1610中,神经网络装置100可以通过执行卷积核的权重与输入特征图之间的运算来生成输出值。神经网络装置100可以通过执行输入特征图与卷积核的第一权重之间的运算来生成第一输出值。神经网络装置100可以通过执行输入特征图与卷积核的第二[0162]神经网络装置100可以通过执行输入特征图的第一区域与卷积核的每个权重之间的运算来生成第一输出值。神经网络装置100可以通过执行卷积核中的每个权重与输入特征图中的与第一区域不同的第二区域之间的运算来生成[0163]当卷积核的第一权重为零时,神经网络装置100可以跳过输入特征图与第一权重[0164]神经网络装置100可以通过连续地流读取经压缩的输入特征图来执行卷积核的每[0165]在运算1620中,神经网络装置100可以通过在输出特征图中的基于卷积核中的权在输出特征图中的基于卷积核中的第一权重的位置而配置的第一位置处累加第一输出值。神经网络装置100可以在输出特征图中的基于卷积核中的第二权重的位置而配置的第二位[0166]神经网络装置100可以通过在第一部分输出特征图中的基于卷积核中的权重的位第一部分输出特征图。神经网络装置100可以通过在第二部分输出特征图中的基于卷积核[0167]神经

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论