数据处理装置和控制方法.pdf
《数据处理装置和控制方法.pdf》由会员分享,可在线阅读,更多相关《数据处理装置和控制方法.pdf(29页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010529457.7 (22)申请日 2020.06.11 (30)优先权数据 2019-110520 2019.06.13 JP (71)申请人 佳能株式会社 地址 日本国东京都大田区下丸子3丁目30- 2 (72)发明人 有泉政博 (74)专利代理机构 北京怡丰知识产权代理有限 公司 11293 代理人 迟军李艳丽 (51)Int.Cl. G06N 3/04(2006.01) G06N 3/063(2006.01) (54)发明名称 数据处理装置和控制方法 (57)摘。
2、要 本发明公开一种数据处理装置和控制方法。 提供一种实现与包含多个层的神经网络对应的 计算的数据处理装置。 处理单元包括多个处理 器, 该多个处理器通过流水线处理顺序地计算各 个块的数据, 每个块与一个层中的特征面的一部 分对应。 控制单元基于所述神经网络的结构信息 确定所述块的数据的计算次序, 并且向所述多个 处理器发送控制所述计算次序的命令。 权利要求书2页 说明书12页 附图14页 CN 112085155 A 2020.12.15 CN 112085155 A 1.一种实现与包含多个层的神经网络对应的计算的数据处理装置, 包括: 处理单元, 其包括多个处理器, 该多个处理器通过流水线处。
3、理顺序地计算各个块的数 据, 每个块与一个层中的特征面的一部分对应; 以及 控制单元, 用于基于所述神经网络的结构信息确定所述块的数据的计算次序, 并且向 所述多个处理器发送控制所述计算次序的命令。 2.根据权利要求1所述的数据处理装置, 其中, 所述命令包括指示将要为其计算数据的块的信息。 3.根据权利要求2所述的数据处理装置, 其中, 所述命令进一步包括指定处理参数的信息, 该处理参数指示针对所述块的、 由所 述多个处理器使用的处理方法。 4.根据权利要求3所述的数据处理装置, 其中, 所述指定处理参数的信息包括指定所述神经网络中将要处理的层的信息。 5.根据权利要求1所述的数据处理装置,。
4、 其中, 所述多个处理器中的每一个具有能够保持两个或更多个所述命令的缓冲器。 6.根据权利要求1所述的数据处理装置, 其中, 所述控制单元同时向所述多个处理器中的每一个发送所述命令。 7.根据权利要求1所述的数据处理装置, 其中, 所述控制单元与所述多个处理器中的至少一个处理器的操作异步地向该至少一 个处理器发送命令。 8.根据权利要求1所述的数据处理装置, 其中, 控制单元在总线上向所述多个处理器发送所述命令。 9.根据权利要求1所述的数据处理装置, 其中, 所述多个处理器中的每一个彼此异步地开始各个块的处理。 10.根据权利要求1至8中任意一项所述的数据处理装置, 进一步包括: 缓冲器, 。
5、其在所述多个处理器中的第一处理器和第二处理器之间提供, 所述第一处理 器的处理结果被传送至所述第二处理器, 所述缓冲器暂时地存储所述处理结果。 11.根据权利要求1至8中任意一项所述的数据处理装置, 其中, 所述神经网络包含多个处理层, 并且所述块是所述多个处理层中的一个处理层。 12.根据权利要求11所述的数据处理装置, 其中, 所述多个处理层中的一个处理层具有多个包括至少一个卷积层的中间层。 13.根据权利要求11所述的数据处理装置, 其中, 所述控制单元在所述多个处理层的可处理的数据中, 通过优先处理离输出层最 近的处理层的数据来进一步确定所述计算次序。 14.根据权利要求1至8中任意一。
6、项所述的数据处理装置, 其中, 所述处理单元是第一处理单元, 以及 所述装置进一步包括: 第二处理单元, 其包括多个处理器, 该多个处理器通过流水线处理顺序地计算各个块 的数据, 每个块与一个层中的特征面的一部分对应, 其中, 所述第一处理单元进一步顺序地计算所述神经网络的第一部分结构中的特征面 权利要求书 1/2 页 2 CN 112085155 A 2 的数据, 以及 所述第二处理单元进一步顺序地计算所述神经网络的第二部分结构中的特征面的数 据, 所述第二部分结构不同于所述第一部分结构。 15.根据权利要求14所述的数据处理装置, 其中, 所述第一部分结构的侧输出被输入至所述第二部分结构。。
7、 16.根据权利要求1至8中任意一项所述的数据处理装置, 其中, 所述处理单元是第一处理单元, 以及 所述装置进一步包括: 第二处理单元, 其包括多个处理器, 该多个处理器通过流水线处理顺序地计算各个块 的数据, 每个块与一个层中的特征面的一部分对应, 其中, 所述控制单元进一步基于所述神经网络的结构信息, 切换是否向所述第二处理 单元发送所述命令。 17.一种用于实现与包含多个层的神经网络对应的计算的控制方法, 包括: 用多个处理器进行流水线处理以计算各个块的数据, 每个块与一个层中的特征面的一 部分对应; 基于所述神经网络的结构信息确定所述块的数据的计算次序; 以及 向所述多个处理器发送控。
8、制所述计算次序的命令。 权利要求书 2/2 页 3 CN 112085155 A 3 数据处理装置和控制方法 技术领域 0001 本发明涉及数据处理装置和控制方法, 尤其涉及使用神经网络的处理, 例如, 诸如 用于识别对象数据中的特定模式的处理等处理。 背景技术 0002 使用神经网络的计算处理被应用于越来越多的领域。 例如, 深度学习的进步促使 图像识别的精度的提高。 卷积神经网络(CNN, Convolutional Neural Networks)通常被用 于深度学习。 0003 使用诸如CNN等的神经网络的计算处理包括很多积和运算(product-sum operation), 并且存。
9、在有效地实现这样的运算的需求。 取决于处理的目的, 也存在通过使用 由各种方式构成的神经网络来实现操作的需求。 因此, 需要能够通过使用各种神经网络来 有效地实现操作的数据处理装置, 从而在诸如移动终端、 车载设备等嵌入式系统中使用这 样的神经网络。 0004 作为用于使用神经网络来有效地实现操作的配置, 日本专利申请特开2017- 156941披露了并行地实现如下处理: 前一层中的池化处理, 以及后一层中的归一化处理所 需的统计处理。 发明内容 0005 根据本发明的一实施例, 一种实现与包含多个层的神经网络对应的计算的数据处 理装置, 包括: 处理单元, 其包括多个处理器, 该多个处理器通。
10、过流水线处理顺序地计算各 个块的数据, 每个块与一个层中的特征面的一部分对应; 以及控制单元, 用于基于所述神经 网络的结构信息确定所述块的数据的计算次序, 并且向所述多个处理器发送控制所述计算 次序的命令。 0006 根据本发明的另一实施例, 一种用于实现与包含多个层的神经网络对应的计算的 控制方法, 包括: 用多个处理器进行流水线处理以计算各个块的数据, 每个块与一个层中的 特征面的一部分对应; 基于所述神经网络的结构信息确定所述块的数据的计算次序; 以及 向所述多个处理器发送控制所述计算次序的命令。 0007 根据下面对示例性实施例的描述(参照附图), 本发明的其他特征将变得清楚。 附图。
11、说明 0008 图1是例示根据一实施例的数据处理器的示例的框图。 0009 图2是例示根据一实施例的数据处理装置的示例的框图。 0010 图3是例示根据一实施例的由数据处理装置实现的处理的流程图。 0011 图4是例示神经网络的结构的示例的图。 0012 图5是例示根据一实施例的由控制器实现的处理的流程图。 0013 图6是例示根据一实施例的由控制器实现的处理的流程图。 说明书 1/12 页 4 CN 112085155 A 4 0014 图7是例示根据一实施例的控制命令的生成次序的图。 0015 图8A和8B是例示控制命令的格式及系数保持单元中的数据布置的图。 0016 图9A和9B是例示网。
12、络信息及各个处理层的处理参数的图。 0017 图10是例示根据一实施例的流水线处理的时序图。 0018 图11是例示根据一实施例的由控制器实现的处理的流程图。 0019 图12是例示根据一实施例的数据处理器的示例的框图。 0020 图13是例示神经网络的结构的示例的图。 具体实施方式 0021 下面将参照附图详细地描述各实施例。 应注意, 这些实施例决不意图限制本发明 请求保护的范围。 这些实施例中描述了很多特征, 但是并没有一项发明需要包含所有这些 特征的限制, 并且这些特征可以任意地组合。 进一步地, 在附图中, 相同或相似的配置将被 赋予相同的附图标记, 且重复的描述将省略。 0022 。
13、日本专利申请特开2017-156941所披露的发明被配置, 以便从离输入层侧最近的 中间层开始、 次序地以中间层经由中间层(intermediate layer-by-intermediate layer) 为基础实现计算处理。 然而, 取决于神经网络的类型, 通过改变计算处理中的处理次序, 存 在可更加有效地使用计算资源或存储资源的情形。 0023 根据本发明的一实施例, 不论计算次序如何, 都能够有效地实现使用神经网络的 计算。 0024 0025 根据本发明一实施例的数据处理装置可实现与包括多个层的神经网络对应的计 算。 图2是例示数据处理装置200的硬件配置的框图, 其是根据本发明一实。
14、施例的数据处理 装置的配置的示例。 0026 将在后面详细描述的数据处理器205包括多个处理器和控制器, 并且实现与包括 多个层的神经网络对应的计算。 图2中所示的数据处理装置200使用数据处理器205以对图 像实现与神经网络对应的计算。 例如, 数据处理器205可通过使用由图像处理器209处理的、 存储在RAM208中的图像及使用CNN的网络信息来实现如图5所示的流程图的处理, 并且可将 处理结果输出至数据存储单元202中。 然而, 数据处理器205可用于除图像处理以外的应用。 换句话说, 除数据处理器205以外, 图2中所示的配置不是本发明绝对需要的。 0027 输入单元201是接受用户的。
15、指示或数据的设备。 输入单元201例如可以是键盘、 定 点设备、 按钮等。 0028 数据存储单元202可存储诸如图像数据等数据。 数据存储单元202例如可以是硬 盘、 软盘、 CD-ROM、 CD-R、 DVD、 存储卡、 CF卡、 智能媒体卡(SmartMedia)、 SD卡、 记忆棒、 xD图像 卡(xD-Picture Card)、 USB存储器等。 数据存储单元202可存储程序或其它数据。 请注意, RAM208(在后面描述)的一部分可用作数据存储单元202。 0029 通信单元203是用于在设备间进行通信地接口(I/F)。 数据处理装置200可经由通 信单元203与其它设备交换数据。
16、。 请注意, 数据处理装置200可将经由通信单元203连接的存 储设备用作数据存储单元202。 0030 显示单元204是向用户等显示信息的设备。 显示单元204例如可显示图像处理前或 说明书 2/12 页 5 CN 112085155 A 5 图像处理后的图像, 或可显示诸如GUI等的其它图像。 显示单元204例如可以是CRT或液晶显 示器。 显示单元204可以是通过线缆等连接至数据处理装置200的外部设备。 请注意, 输入单 元201和显示单元204可以是相同的设备, 例如, 输入单元201和显示单元204可以是触摸屏 设备。 在这种情况下, 触摸屏上的输入对应于输入单元201中的输入。 。
17、0031 CPU 206整体地控制数据处理装置200的操作。 另外, CPU 206基于由数据处理器 205生成的且存储在数据存储单元202中的处理结果实现诸如图像处理或图像识别处理等 各种类型的处理。 CPU 206可将这些处理结果存储在RAM 208中。 0032 ROM 207和RAM 208向CPU 206提供由CPU 206实现的处理所必需的程序、 数据、 操 作区域等。 由CPU 206实现的处理所必需的程序可存储在数据存储单元202或ROM 207中, 并 且可从数据存储单元202或ROM 207加载到RAM 208中。 数据处理装置200可经由通信单元 203接收程序。 在这种。
18、情况下, 在程序被第一次记录在数据存储单元202后便可加载到RAM 208中, 或者可从通信单元203将程序直接加载到RAM208中。 无论哪种情况, CPU 206可执行 加载到RAM 208中的程序。 0033 图像处理器209可对图像数据实现图像处理。 例如, 响应于CPU 206的指示, 图像处 理器209可读出写入到数据存储单元202中的图像数据、 调整像素值的范围、 并将处理结果 写入到RAM 208中。 0034 总线210将上述的单元相互连接以便这些单元可相互地交换数据。 0035 图2所示的数据处理装置200在其内部包括上述的单元。 然而, 例如包括输入单元 201、 数据存。
19、储单元202和显示单元204的各单元可在符合已知的通信方法的通信路径上相 互连接。 换句话说, 根据一实施例的数据处理装置可由多个物理上相互分开的设备构成。 0036 另外, 尽管图2所示的数据处理装置200包括单个的CPU 206, 但是装置可包括多个 CPU。 进一步地, 数据处理装置200中的至少一部分单元(例如, 数据处理器205和图像处理器 209)的功能可由CPU 206操作相应的程序来实现。 0037 数据处理装置200也可包括未在图2中示出的各种构成元素, 但这些单元将不在此 描述。 0038 图3是例示由数据处理装置200实现的处理的示例的流程图。 在步骤S301中, 响应 。
20、于CPU 206的命令, 图像处理器209对写入到数据存储单元202中的图像实现图像处理, 并将 处理结果写入到RAM 208中。 0039 在步骤S302中, 响应于CPU 206的命令, 数据处理器205对在步骤S301中写入到RAM 208中的图像实现CNN计算处理。 0040 在步骤S303中, CPU 206使用在步骤S302中获得的计算结果实现诸如用于识别图 像中的物体的处理等的后处理。 CPU 206也可将识别结果写入到RAM 208中。 例如, CPU 206 可在在步骤S301中写入到RAM208中的图像上叠置识别处理的结果。 0041 在步骤S304中, 显示单元204显示。
21、在步骤S303中实现的识别处理的结果。 例如, 显 示单元204可在显示设备中显示在其上叠置有在步骤S303中实现的识别处理的结果的图 像。 0042 0043 根据本实施例的数据处理装置可实现与各种神经网络对应的计算。 下面将描述由 数据处理装置使用的神经网络的示例。 说明书 3/12 页 6 CN 112085155 A 6 0044 属于神经网络的一种的CNN具有多个中间层级联连接的结构。 在下文中, 对前一层 的特征面(特征图像)实现与中间层对应的处理所获得的特征面(特征图像), 将被称为中间 层的特征面(特征图像)。 CNN具有作为中间层的卷积层。 例如, 图4中所示的CNN具有多个。
22、块 被连接的结构, 一个块具有3个中间层, 例如按次序连接的卷积层、 激活层和池化层。 在下文 中, 块将被称为 “处理层” 。 图4中所示的CNN是具有4个处理层(处理层0至处理层3)的网络。 然而, 处理层0对应于输入层, 因此处理层0不具有卷积层、 激活层和池化层。 一个处理层中 的特征面通过如下方式获得: 对前一处理层的特征面实现与卷积层对应的处理、 对从卷积 层处理所获得的特征面实现与激活层对应的处理、 以及对从激活层处理所获得的特征面实 现与池化层对应的处理。 0045 与卷积层对应的处理相当于对特征面的过滤处理。 换句话说, 卷积层的特征面通 过使用前一层的特征面的像素值和过滤系。
23、数来实现过滤处理而得到。 过滤系数例如可通过 学习确定。 过滤处理是积和运算(卷积运算), 包括多个乘法运算和累积加法运算。 0046 卷积层的特征面(Oi,j(n)可通过下面的公式、 使用前一层的特征面(Ii,j(m)和与 卷积层对应的过滤系数(C0,0(m,n)to CX-1,Y-1(m,n)来计算。 0047 0048 在上面的公式中, i和j表示特征面中的坐标。 n表示卷积层中特征面的编号。 m是前 一层中特征面的编号, 并且在前一层中有M个特征面。 这样, 前一层中的多个特征面可用于 计算卷积层中的单个的特征面。 此外, 为了计算第nth个特征面, 在第mth个特征面上应用的 过滤系。
24、数(C0,0(m,n)CX-1,Y-1(m,n)的个数是XY个, 并且不同的特征面个数不同。 此处, 在坐标(i,j)处, 用于计算卷积层中的特征面(Oi,j(n)的值的积和运算的次数是MXY 次。 0049 与激活层对应的处理是对前一层的特征面(例如, 卷积层中的积和运算结果Oi,j (n)实现的激活处理。 诸如使用双弯曲函数(Sigmoid函数)和整流线性单元函数(ReLu函 数)的处理等的用于CNN领域的处理可用作激活处理。 0050 与池化层对应的处理是对前一层(例如, 激活层)的特征面实现的池化处理。 用于 CNN领域的处理可用作池化处理。 在本实施例中, 22最大、 最小或平均过滤。
25、处理和随后的2 2步幅处理被实现作为池化处理。 然而, 是否有池化层由各处理层确定。 换句话说, 包括池 化层的处理层和不包括池化层的处理层可混合存在。 0051 将进一步详细地描述图4中所示的处理层13中实现的处理。 在处理层1中, 实现 如下处理: 使用特征面401和过滤系数的、 具有核大小为33的过滤处理, 使用Sigmoid函数 的激活处理以及使用平均过滤的池化处理。 生成的结果是处理层1的特征面402。 在处理层2 中, 实现如下处理: 使用特征面402和过滤系数的、 具有核大小为55的过滤处理以及使用 ReLu函数的激活处理。 生成的结果是处理层2的特征面403。 在处理层3中, 。
26、实现如下处理: 使 用特征面403和过滤系数的、 具有核大小为11的过滤处理, 使用ReLu函数的激活处理以及 使用最大过滤的池化处理。 生成的结果是处理层3的特征面404。 0052 特征面401是具有大小为2416的三幅(RGB信道)输入图像。 特征面402是具有大 小为128的四幅特征面。 特征面403是具有大小为128的七幅特征面。 特征面404是具有 说明书 4/12 页 7 CN 112085155 A 7 大小为64的七幅特征面。 特征面404是图4所示的CNN的输出结果。 0053 用于限定根据CNN实现的处理的此种信息(例如, 指示CNN的结构的信息)可事先地 创建。 在本实。
27、施例中, 此种信息存储在RAM 208中。 指示CNN的结构的信息例如包括指示输入 层中的特征面(输入图像)的大小的信息、 指示在处理层13中的卷积层中使用的过滤器的 核大小的信息以及指示在处理层13中的特征面的个数的信息。 此外, 指示CNN的结构的信 息可包括指示在处理层13中的激活层中应用的激活函数的类型的信息以及指示在处理 层13中是否有池化层和池化层的类型的信息。 0054 数据处理器205的配置 0055 下面将参照图1描述数据处理器205的配置。 数据处理器205包括作为多个处理器 的扩展处理器103、 计算处理器104、 激活处理器105和池化处理器106。 多个处理器通过流水。
28、 线处理顺序地计算与单个层中的特征面的一部分对应的各个块的数据。 各处理器可通过重 复计算块的数据来计算特征面。 下文中,“块” 可被称为 “瓦片(tile)” 。 在下面的示例中, 单 个瓦片的大小是特征面的宽2行。 0056 扩展处理器103可获得过滤系数并向计算处理器104传送过滤系数。 扩展处理器 103可获得关于与控制命令(将在后面描述)对应的块的过滤系数。 例如, 扩展处理器103可 通过如下方式来获得关于块的过滤系数: 基于控制命令中包括的处理层编号、 从系数保持 单元107中读出游程编码系数值(run-length coded coefficient value), 以及对系数。
29、值 解码。 此外, 扩展处理器103可基于控制命令中包括的处理层编号、 从参数保持单元102中读 出指示关于块的核大小和特征面数的信息, 并可基于该信息获得过滤系数。 0057 计算处理器104通过使用从扩展处理器103传送过来的过滤系数, 按照逐个瓦片 (tile-by-tile)的原则, 对前一处理层的特征面实现过滤处理。 然后, 计算处理器104向激 活处理器105输出特征面的数据, 其是过滤处理的结果。 计算处理器104可从特征量保持单 元108获得用于计算在控制命令(将在后面描述)中指示的块的数据的、 前一处理层中的特 征面。 请注意, 在处理处理层1时, 计算处理器104可从RAM。
30、 208获得输入图像。 此外, 计算处 理器104可基于控制命令中包括的处理层编号、 从参数保持单元102读出指示过滤处理的核 大小的信息, 并可基于该信息实现过滤处理。 请注意, 为了确保在过滤处理前后、 特征面的 大小保持相同, 计算处理器104可在加载的特征面的周围添加空白边缘。 0058 激活处理器105对从计算处理器104传送过来的特征面实现激活处理。 然后, 激活 处理器105向池化处理器106输出特征面的数据, 其激活处理的结果。 激活处理器105可获得 指定关于与控制命令(将在后面描述)对应的块的激活处理的信息。 例如, 激活处理器105可 基于在控制命令中包括的处理层编号、 。
31、获得存储在参数保持单元102中的指示使用激活函 数的信息, 并且可根据获得的信息实现激活处理。 0059 池化处理器106对从激活处理器105传送过来的特征面实现池化处理。 池化处理器 106可获得指定关于与控制命令(将在后面描述)对应的块的池化处理的信息。 例如, 池化处 理器106可基于控制命令中包括的处理层编号、 获得存储在参数保持单元102中的指示是否 使用池化处理及池化处理方法的信息。 然后, 池化处理器106可根据获得的信息实现池化处 理。 池化处理器106将池化处理结果存储到特征量保持单元108中。 此处, 池化处理器106可 将如下结果存储到特征量保持单元108中: 在未实现池。
32、化处理的情况下关于一个瓦片的处 理结果(2行), 以及在实现池化处理的情况下通过池化一个瓦片的结果所获得的结果(1 说明书 5/12 页 8 CN 112085155 A 8 行)。 0060 此外, 在控制命令指示块是最后处理层中的最后的瓦片的情况下, 池化处理器106 可向控制器101发送处理完成通知。 进一步地, 在完成关于单个的瓦片(或单个的控制命令) 的处理的情况下, 池化处理器106可向控制器101发送指示处理完成的通知。 0061 处理器103106可具有保持接收到的控制命令的缓冲器。 这样的缓冲器可补偿处 理器103106的处理的延迟。 缓冲器可被配置为可保持两个或更多个控制命。
33、令。 0062 此外, 可在多个处理器中的第一处理器和第二处理器之间提供缓冲器, 该缓冲器 暂时地存储从第一处理器传送至第二处理器的处理结果。 例如, 计算处理器104可具有保持 扩展处理器103的输出的缓冲器, 激活处理器105可具有保持计算处理器104的输出的缓冲 器, 以及池化处理器106可具有激活处理器105的输出的缓冲器。 提供这样的缓冲器使得处 理器103106可独立地根据下一个控制命令开始处理, 而无须等待前后处理器的处理的完 成。 0063 数据处理器205进一步包括控制器101。 控制器101基于神经网络的结构信息确定 块的数据的计算次序, 并向多个处理器发送控制计算次序的控。
34、制命令。 如将在下面描述的, 控制器101可基于CNN网络信息, 通过发布控制命令来控制多个处理器。 控制器101可整体地 控制数据处理器205。 0064 如图1中所示的示例, 控制器101向多个处理器同时发送相同的控制命令。 在图1 中, 控制器101直接连接处理器103106, 并且可向处理器103106发送控制命令而无须经 过其它的控制器。 另一方面, 接收控制命令的处理器103可向处理器104106传送该控制命 令。 控制器101可使用这样的配置向多个处理器发送控制命令。 0065 数据处理器205可进一步包括参数保持单元102、 系数保持单元107和特征量保持 单元108。 然而,。
35、 这些处理器的功能可由诸如RAM 208等的存储器实施。 0066 参数保持单元102可保持由控制器101和处理器103106共享的参数, 并且例如可 以是RAM。 参数保持单元102可保持指示由关于块的多个处理器使用的处理方法的处理参 数。 过滤处理的核大小、 由过滤处理生成的特征面数、 激活处理的类型、 是否实现池化处理 以及池化处理的类型等可以作为处理参数的示例。 参数保持单元102例如可按照逐个处理 层(process layer-by-process layer)的原则保持这样的关于各个块的处理参数。 如上所 述, 控制命令可包括指定这种处理参数的信息, 例如处理层编号。 处理器10。
36、3106可根据指 示在参数保持单元102中处理参数的存储位置的信息(诸如处理层编号等)、 从参数保持单 元102获得处理参数, 并且可根据处理参数实现处理。 0067 系数保持单元107可保持在各处理层中使用的过滤系数, 并且例如可以是RAM。 为 了减少数据量, 过滤系数可以是游程编码。 如上所述, 扩展处理器103可根据处理层编号获 得保持在系数保持单元107中的过滤系数。 从而, 过滤系数可以处理层为单位进行编码。 例 如, 如图8B所示, 系数保持单元107可与处理层编号相对应地保持过滤系数。 在本实施例中, 可由CPU 206事先地向系数保持单元107写入过滤系数。 换句话说, 系数。
37、保持单元107可以是 保持由数据处理器205使用的过滤系数的缓冲器, 并且CPU 206可从诸如数据存储单元202 等的存储器中读出处理所需的过滤系数, 并将这些过滤系数写入到系数保持单元107中。 0068 特征量保持单元108可存储各处理层的特征面的一部分或全部, 并且例如可以是 RAM。 这些特征面是与CNN对应的计算的中间数据。 此外, 特征量保持单元108也可存储处理 说明书 6/12 页 9 CN 112085155 A 9 层3的特征面(输出层的特征面), 其是CNN的最后输出。 请注意, 系数保持单元107和特征量 保持单元108可由相同的存储器(例如, RAM)实现。 006。
38、9 控制器101的处理 0070 下面将参照图5描述由控制器101实现的处理的示例。 在步骤S501中, 控制器101读 出存储在RAM 208中的网络信息, 并基于网络信息计算各处理层的处理参数。 控制器101将 计算得到的处理参数存储在参数保持单元102中。 0071 图9A示例性示出指示图4中所示的CNN的配置的网络信息的示例。 在图9A中, 在右 列示出的数值指示关于图4中所示的CNN的参数值。 1001指示处理层数, 关于图4中所示的 CNN为4。 1002指示输入图像的宽和高, 关于图4中所示的CNN分别为24和16。 10031006指示 关于处理层03中的每一个的特征面的个数、。
39、 核大小、 激活函数的类型以及池化的类型。 然 而, 由于处理层0是输入层, 除特征面的个数以外的信息为未引用的虚拟信息。 0072 图9B示例性示出基于图9A中示出的网络信息、 在步骤S501中生成的处理参数的示 例。 1101是处理层数, 并且与1001具有相同的值。 11021105指示关于处理层03中的每一 个的特征面的宽和高、 特征面的个数、 瓦片数、 核大小、 激活函数的类型以及池化的类型。 关 于各处理层的特征面的宽和高可由控制器101基于输入图像的宽和高(1002)以及关于各处 理层的池化的类型来计算得到。 此外, 关于各处理层的瓦片数可由控制器101基于特征面的 宽和高以及池。
40、化的类型来计算得到。 0073 在步骤S502中, 控制器101发布控制命令。 控制器101可基于网络信息(图9A)以及 关于各处理层的处理参数(图9B)生成控制命令。 然后, 控制器101可向扩展处理器103、 计算 处理器104、 激活处理器105以及池化处理器106发送生成的控制命令。 0074 在步骤S503中, 控制器101待机直至接收到步骤S502发送的关于最后的控制命令 的结束通知。 例如, 控制器101待机直至接收到向池化处理器106发送的关于最后的控制命 令的结束通知。 接收到关于最后的控制命令的结束通知意味着已完成与CNN对应的计算。 在 这种情况下, 控制器101可向CP。
41、U 206通知中断。 0075 下面将参照图6中的流程图描述步骤S502中实现的发布控制命令的详细的处理示 例。 下面描述在与图4中所示的CNN对应的处理中所实现的、 具体的操作示例。 在图6所示的 程序中, 越靠近输出层(处理层3)的处理层被尽可能地优先处理。 换句话说, 在已计算出用 于计算靠近输出层的处理层的瓦片的数据的、 前一处理层的瓦片的数据的情况下, 将优先 计算靠近输出层的处理层的瓦片的数据。 控制器101生成控制命令以便根据这样的计算次 序计算瓦片的数据。 0076 如日本专利申请特开2018-147182中所述, 采用这样的计算次序可减少保持在特 征量保持单元108中的中间数。
42、据的量(除输出层以外的、 处理层12中的特征面)。 例如, 保 持在特征量保持单元108中的、 但在后面的处理中不被使用的中间数据可被新生成的中间 数据覆盖, 这将使得特征量保持单元108的存储大小减小。 0077 在步骤S601中, 控制器101初始化控制信息。 例如, 控制器101可将指示当前正在处 理的处理层的处理层编号设置为处理层1的编号(1)。 下文中, 将由该处理层编号指示的处 理层称为 “当前处理层” 。 此外, 控制器内101可将关于各处理层的已生成的瓦片数设置为0。 0078 在步骤S602S607中, 控制器101生成及发送所有处理层(处理层13)中关于所 有瓦片的控制命令。
43、。 首先, 在步骤S602中, 控制器101判断当前处理层中是否存在可处理的 说明书 7/12 页 10 CN 112085155 A 10 瓦片。 在可处理的瓦片存在的情况下, 程序移至步骤S603, 否则, 程序移至步骤S607。 0079 在当前处理层中的瓦片(2行)的数据可通过对当前处理层之前的处理层(下文称 为 “前一处理层” )中的特征面实现核大小为K(KK)的过滤处理来计算得到的情况下, 该瓦 片是可处理的瓦片。 换句话说, 在已全部计算出用于计算当前处理层中的瓦片的数据的、 前 一处理层中的瓦片的情况下, 该瓦片是可处理的瓦片。 例如, 在已计算出前一处理层中从第 N-(K-1。
44、)/2行至第N+1+(K-1)/2行中的特征量的情况下, 包括在当前处理层中第N至N+1行中 的瓦片是可处理的瓦片。 在该示例中, 当前处理层为处理层1, 并且属于前一处理层的处理 层0(输入层)的特征面(输入图像)可被引用, 从而可作出 “是” 的判断。 0080 在步骤S603中, 控制器101向处理器103106发布指示对当前处理层中的、 在步骤 S602中发现的可处理的瓦片进行处理的控制命令。 控制命令可包括指示要进行数据计算的 块的信息。 图8A示例性示出控制命令的格式的示例。 如图8A所示, 控制命令可包括要处理的 处理层的编号和要处理的瓦片的编号, 从而可指定要进行特征面数据计算。
45、的瓦片。 0081 其次, 在步骤S604中, 控制器101在当前处理层的已生成的瓦片数上加1。 0082 其次, 在步骤S605中, 控制器101判断是否已发送指示对最后处理层中的所有瓦片 进行处理的控制命令。 该判断可通过参照关于最后处理层的已生成的瓦片数和关于最后处 理层的处理参数(例如, 图9B)作出。 在控制命令已发送的情况下, 图6中的程序结束。 在控制 命令未被发送的情况下, 程序移至步骤S606。 在该示例中, 只有处理层1的瓦片0被处理。 从 而作出 “否” 的判断, 并且程序移至步骤S606。 0083 在步骤S606中, 控制器101在处理层编号上加1。 在该示例中, 处。
46、理层编号变为2, 从 而当前处理层变为处理层2。 然后程序返回至步骤S602。 在该示例中, 只要程序返回至步骤 S602, 控制器101将判断当前处理层(处理层2)中是否存在可处理的瓦片。 处理层1中的特征 面中的行0至行3的数据被需要以处理处理层2的瓦片0。 然而, 此时, 只生成了行0和行1的数 据。 从而作出 “否” 的判断, 并且程序移至步骤S607。 0084 在步骤S607中, 控制器101在处理层编号上减1。 然后, 程序返回至步骤S602, 并且 实现关于前一处理层的处理。 0085 在重复上述处理时, 按照图7所示出的次序生成和发送指示要处理的各瓦片的控 制命令。 图7示出。
47、处理层03的特征面701704和瓦片的计算次序。 在图7中,“瓦片t kth” 表示处理层中的第t个瓦片按次序生成第k个。 请注意, 标记为 “虚拟的” 的位置705表示为实 现过滤处理增加空白行。 只要生成和发送处理处理层3的瓦片3的控制命令, 之后的步骤 S605将立即作出 “是” 的判断, 并且结束控制命令的生成和发送处理。 0086 图10是由图1中所示的数据处理器205实现的、 指示与图4中所示的CNN对应的处理 的流水线处理的时序图。 在图10中, LkTt表示正在处理处理层k中的瓦片t。 取决于参 数, 例如取决于处理层, 各处理的处理时间不同。 0087 在该示例中, 处理器(。
48、103106)中的每一个具有存储4个控制命令的缓冲器。 从 而, 替代每次处理器(103106)中的每一个的处理完成时发布控制命令, 控制器101可事先 发布4个控制命令。 换句话说, 控制器101向多个处理器中的至少一个处理器异步地发送与 该至少一个处理器的操作相关的控制命令。 根据这样的配置, 可简化控制器101的配置。 例 如, 独立于扩展处理器103的操作, 控制器101向处理器(103106)依次地发布用于开始L 1T0、 L1T1、 L1T2及L1T3的处理的控制命令。 说明书 8/12 页 11 CN 112085155 A 11 0088 请注意, 在发布4个控制命令后, 在步。
49、骤S603中, 控制器101在待机直至未被处理的 控制命令的个数变为3或更少后, 可发布新的控制命令。 在图10所示的示例中, 在池化处理 器106完成L1T0的处理时, 控制器101向处理器(103106)发布控制命令以开始L2T 0的处理。 0089 如图10所示, 处理器(103106)可通过流水线处理对不同的瓦片进行并行地处 理。 进一步地, 多个处理器中的每一个可开始对这些瓦片进行彼此间异步地处理。 请注意, 在图10所示的示例中, 如12011203所指示的, 在前一处理层的池化处理完成后, 计算处理 器104开始对下一处理层进行处理。 然而, 即使处理层以这种方式改变, 在池化处。
50、理器106对 前一处理层实现池化处理前, 扩展处理器103可获得下一处理层的过滤系数。 因此, 在前一 处理层的池化处理完成后, 计算处理器104立即对下一处理层开始处理。 0090 将参照图11中的流程图描述步骤S502中实现的处理的另一详细示例。 在图11所示 的程序中, 越靠近输入层(处理层0)的处理层被优先处理。 如日本专利申请特开2018- 147182中所述, 采用这样的计算次序可减少保持在系数保持单元107中的过滤系数数据的 量。 例如, 保持在系数保持单元107中的、 关于已处理的处理层的过滤系数数据可被关于后 面将要处理的处理层的过滤系数数据覆盖, 从而可减小系数保持单元10。
- 内容关键字: 数据处理 装置 控制 方法
便于维修的反冲洗过滤器.pdf
农机动力飞轮加工用抛光装置.pdf
用于茶叶外包装的标签打印装置.pdf
双核心密码工程实验箱.pdf
对虾养殖水体温度和盐度的自动调控装置.pdf
塑料模具脱壳机.pdf
ALC轻质墙体板分离工具.pdf
可调泡径的人字板机构.pdf
化妆品包装瓶点喷式喷涂装置.pdf
用于载人观光潜水器的连接结构.pdf
铝粉生产用雾化系统.pdf
固体磷酸催化剂均化器搅拌机构.pdf
日光温室多功能智能一体机.pdf
球形黑体辐射源.pdf
建筑施工用安全防护围挡.pdf
便携式可伸缩绝缘烟感温感检测装置.pdf
给排水系统图生成方法、装置、设备及存储介质.pdf
管道缺陷修补装置.pdf
西林瓶高速分装称量抽真空一体机.pdf
飞行物识别方法、系统、智能终端及计算机可读存储介质.pdf
易维护的包装机械密封防护构型.pdf
红外卫星遥感影像薄云去除方法、装置及介质.pdf
半球谐振陀螺仪的正交漂移误差检测方法.pdf
二级差动环形压控振荡器及射频芯片模组.pdf
角膜移植术后防止植片移位的头部固定枕.pdf
便携式桥梁检测设备.pdf
视频采集设备的检测方法、装置、设备及介质.pdf
晶圆背面清洗方法和装置.pdf
碳化硼结合金刚石复合超硬防弹陶瓷的制备方法.pdf
水处理用加药方法及其设备.pdf
基于感应辅热与磁流体冷却的杆件在轨成形机构与方法.pdf
龙门加工中心滑块润滑装置.pdf
基于超声稀疏阵列传感器的油中多局部放电源定位方法.pdf
磁场传感器.pdf
一种永磁电机堵转测试方法及系统.pdf
一种干稻草为原料的金针菇栽培料及其制备方法.pdf
一种配电线路故障指示器自动检测系统.pdf
基于串联光开关的光延迟结构及数控集成光子延迟装置.pdf
一种烃油催化裂化添加剂加注方法.pdf
成龄茶专用复合肥及其制备方法与施用方法.pdf
一种无砖块墙体与装饰面的同步建造方法.pdf
一种黑芝麻活血养心酒的配方及生产方法.pdf
一种嵌入式机器人定位装置.pdf
具有门销自动复位机构的保险柜.pdf
一种免移动的担架.pdf
一种汤勺.pdf
一种玛卡口香糖及其制备方法和应用.pdf
一种消肿止痛酒配方.pdf
一种智能化救护车.pdf
一种导辊及导向装置.pdf
一种自动调控组合式除煤器.pdf