掌桥专利:专业的专利平台
掌桥专利
首页

信息处理装置、信息处理方法以及程序

文献发布时间:2023-06-19 19:28:50


信息处理装置、信息处理方法以及程序

技术领域

本公开涉及信息处理装置、信息处理方法以及程序。

背景技术

近年来,提出了搭载有采用了神经网络(以下,称为NN)的推理模型(以下,也称为NN推理模型或简称为NN。)的各种装置。例如,提出了在一般需要价格低且能够低功率运行而计算能力也受到限制的IoT(Internet of Things:物联网)设备中搭载NN推理模型的方案。例如,专利文献1公开了一种NN装置等,其通过以与对每个NN推理模型的层要求的精度、计算量等对应的驱动频率来使NN推理模型执行推理,从而能够在维持高精度的同时减少整个装置的电力消耗。

(现有技术文献)

(专利文献)

专利文献1:日本特开2018-005297号公报

发明内容

发明要解决的问题

但是,专利文献1仅公开了关于单一的推理模型的推理处理的技术。

于是,本公开提供一种即使在有限的计算环境下也能够利用多个推理模型来进行推理处理的信息处理装置、信息处理方法以及程序。

解决问题所采用的手段

本公开的一个形态所涉及的信息处理装置,具备:获得部,获得感测数据;推理处理部,将所述感测数据输入到推理模型,来获得推理的结果以及与推理模型的处理的多个后续任务的处理时间相关的信息;决定部,根据与所述多个后续任务的处理时间相关的信息,来决定用于任务处理部对所述多个后续任务进行处理的任务计划,所述任务处理部是对所述多个后续任务进行处理的处理部;以及控制部,向所述任务处理部输入推理的结果,使所述任务处理部按照决定的所述任务计划来对所述多个后续任务进行处理。

本公开的一个形态所涉及的信息处理方法是由计算机执行的方法,在所述信息处理方法中,获得感测数据,将所述感测数据输入到推理模型,来获得推理的结果以及与推理模型的处理的多个后续任务的处理时间相关的信息,向对所述多个后续任务进行处理的任务处理部输入所述推理的结果,使所述任务处理部对所述多个后续任务进行处理,对推理时间进行测量,所述推理时间包括从将所述推理的结果输入到所述任务处理部起直到所述多个后续任务的处理结束为止的时间,通过机器学习对所述推理模型进行训练,在所述机器学习中,将所述感测数据用作输入数据,将与所述多个后续任务的处理时间相关的信息用作输出数据,将测量出的所述推理时间用作参照数据。

本公开的一个形态所涉及的程序是用于使计算机执行上述的信息处理方法的程序。

发明效果

通过本公开的一个形态,能够实现即使在有限的计算环境下也能够利用多个推理模型来进行推理处理的信息处理装置等。

附图说明

图1是示出实施方式所涉及的信息处理系统的功能构成的方框图。

图2是示出实施方式所涉及的推理处理部的功能构成的方框图。

图3是示出实施方式所涉及的包括延迟标志信息、以及与该延迟标志信息建立了关联的特定NN群的前向传播运算方法的表的构成例的图。

图4是示出实施方式所涉及的SoC的构成的示意图。

图5是示出实施方式所涉及的设备的工作的流程图。

图6A是示出实施方式所涉及的通用NN以及特定NN群的处理时间以及运算处理单元的一个例子的示意图。

图6B是示出实施方式所涉及的通用NN以及特定NN群的处理时间以及运算处理单元的另一个例子的示意图。

图6C是示出实施方式所涉及的通用NN以及特定NN群的重新排列运算顺序后的处理时间以及运算处理单元的一个例子的示意图。

图7是示出实施方式所涉及的多任务训练部的工作的流程图。

图8是示意性地示出实施方式所涉及的多任务训练部的工作的图。

图9是示出实施方式所涉及的延迟标志信息测量部以及延迟标志正确答案标签生成部的工作的流程图。

图10是示意性地示出实施方式所涉及的延迟标志信息测量部以及延迟标志正确答案标签生成部的工作的图。

图11是示出实施方式所涉及的延迟标志训练部的工作的流程图。

图12是示意性地示出实施方式所涉及的延迟标志训练部的工作的图。

图13是示出实施方式所涉及的延迟标志信息的发生率的表。

具体实施方式

(本公开的基础的知识)

在说明本公开的实施方式之前,先说明得到本公开的基础见解的经过。

本公开涉及搭载有利用机器学习而生成的推理模型的装置(以下称为推理装置)。更详细而言,涉及能够通过变更运算顺序来维持服务质量的NN型的推理装置、以及为此的训练处理。

近年来,关于推理装置中的物体检测装置、分类装置等,通过采用深度学习技术,性能得到了飞跃性的提高,并且对此正在进行诸多研究或商品化。并且,在智能手机或机器代替驾驶员来驾驶的自动驾驶汽车(机器人车)中,针对由摄像机装置、红外线阵列传感器等传输的图像的推理装置也是要素功能之一。在自动驾驶汽车的情况下,物体例如是指步行者、乘用车、路标、建筑物、道路的区域等。

并且,最近边缘AI(Artificial Intelligence:人工智能)的领域开始普及起来,在该边缘AI中,使IoT(Internet of Things)设备搭载NN推理模型,并不总是使云端进行判断,而是通过由IoT设备本身进行判断,来使设备进行工作。例如在包括IoT设备的各种工业产品的领域中如下的产品已上市,该产品是指,在该工业产品中搭载NN型的推理装置,根据其推理的结果来执行服务。另外,一般而言,IoT设备需要价格低且能够低功率运行,但随之而来的是计算能力也受到限制。

IoT设备被要求节省电力。在这样的IoT设备中,在使用多个NN推理模型来进行服务的情况下,若不进行用于使多个NN推理模型并行进行推理的运算,则在被要求的处理时间内难以完成服务。这样,例如设想在IoT设备中,利用并行设置的多个NN推理模型,来进行用于推理的运算。另外,被要求的处理时间也被记载为允许时间。

并且,除CPU(Central Processing Unit:中央处理器)以外,被称为NPU(Neuralnetwork Processing Unit:神经网络处理器)的DSP(Digital Signal Processor:数字信号处理器)、ASIC(Application Specific Integrated Circuit:专用集成电路)等中安装的NN处理专用电路也逐渐开始被搭载在IoT设备。然而,IoT设备被要求的服务如上述那样变得开始利用多个NN的推理处理,而用于该服务的处理量有增多的倾向。

并且,要求IoT设备既要在被要求的处理时间内完成服务,又要节省电力。因此,在IoT设备中,根据输入图像的不同,容易发生在被要求的处理时间内不能完成服务这种问题。

另外,作为一个示例,使用多个NN推理模型的服务进行如下的处理等:例如通过用于骨骼检测的NN推理模型的推理处理来对场景图像中存在的对象人物的右手拿着“什么”进行判断,并且通过用于物体检测的NN推理模型的推理处理判断出右手拿着的“什么”是智能手机。

上述的专利文献1公开的是设想使用单一的NN推理模型的推理处理的服务的方式,而并没有公开与使用多个NN推理模型的推理处理的服务中的处理时间的确保相关的方式。并且,以往也没有探讨与在初始阶段估计多个推理模型的推理处理所需要的处理时间并在被要求的处理时间内按照最佳的运算顺序进行推理处理的处理相关的设计以及技术方面的解决方案,并且在专利文献1也没有公开这样的内容。

于是,认真探讨了在使用多个NN推理模型的推理处理的服务中,能够在被要求的处理时间内进行推理处理的信息处理装置等,发明了以下将要说明的信息处理方法等。

本公开的一个形态所涉及的信息处理装置,具备:获得部,获得感测数据;推理处理部,将所述感测数据输入到推理模型,来获得推理的结果以及与推理模型的处理的多个后续任务的处理时间相关的信息;决定部,根据与所述多个后续任务的处理时间相关的信息,来决定用于任务处理部对所述多个后续任务进行处理的任务计划,所述任务处理部是对所述多个后续任务进行处理的处理部;以及控制部,向所述任务处理部输入推理的结果,使所述任务处理部按照决定的所述任务计划来对所述多个后续任务进行处理。

据此,信息处理装置能够根据与针对感测数据的多个后续任务的处理时间相关的信息,来决定对多个后续任务进行处理的任务处理部(例如,多个NN推理模型)的任务计划。信息处理装置通过根据与多个后续任务的处理时间相关的信息,以使任务处理部的处理时间在被要求的处理时间内的方式来决定任务计划,从而即使在有限的计算环境下也能够利用多个推理模型来进行推理处理。

并且,例如也可以是,所述推理模型包括第1推理模型以及第2推理模型,将所述感测数据输入到所述第1推理模型来获得所述推理的结果,将获得的所述推理的结果或所述推理的中间数据输入到所述第2推理模型,来获得与所述多个后续任务的处理时间相关的信息。

据此,与将感测数据输入到第2推理模型的情况相比,能够减少第2推理模型的计算量。因此,能够缩短在第2推理模型中的处理时间。并且,在推理的结果被输入的情况下,由于第2推理模型的输入与后续的任务处理部的输入相同,因此能够预料与后续的任务处理部的处理时间相关的信息的准确性或精度将会得到提高。在推理的中间数据被输入的情况下,由于能够在第1推理模型的推理结束之前就开始第2推理模型的处理,因此能够进一步缩短第2推理模型的处理时间。

并且,例如也可以是,所述推理模型包括第1推理模型以及第2推理模型,将所述感测数据输入到所述第1推理模型来获得所述推理的结果,将所述感测数据输入到所述第2推理模型来获得与所述多个后续任务的处理时间相关的信息。

据此,无需等第1推理模型输出推理的结果,就能够利用感测数据来使第2推理模型开始处理。也就是说,能够提早第2推理模型的处理的开始定时。

并且,例如也可以是,与所述多个后续任务的处理时间相关的信息包括与相对于规定时间的延迟相关的信息,所述规定时间是针对所述多个后续任务的处理时间而被决定的时间。

据此,能够根据与延迟相关的信息来决定任务处理部的任务计划。信息处理装置通过根据与多个后续任务的延迟相关的信息,以使任务处理部的处理时间在被要求的处理时间内的方式来决定任务计划,从而在使用多个推理模型的推理处理的服务中,在被要求的处理时间内能够进行推理处理的可靠性得到提高。

并且,例如也可以是,在与所述延迟相关的信息中包括示出所述延迟低于规定值的信息的情况下,决定第1计划,在与所述延迟相关的信息中包括示出所述延迟为规定值以上的信息的情况下,决定第2计划,所述第2计划的所述多个后续任务的处理时间比所述第1计划的处理时间短。

据此,由于是在延迟为规定值以上的情况下来决定处理时间变短的第2计划,因此能够提高在被要求的处理时间内能够进行推理处理的可靠性。

并且,例如也可以是,在所述第1计划的决定中利用第1规则,在所述第2计划的决定中利用第2规则,所述第2规则是所述第2计划的所述多个后续任务的处理时间比所述第1计划的处理时间短的规则。

据此,通过根据第1以及第2规则来决定计划,从而与动态地探索计划的情况相比能够减少计算量以及计算时间。

并且,例如也可以是,所述推理模型执行推理处理,所述推理处理是所述多个后续任务共通的预处理。

据此,通过使用用于各任务共通的预处理的推理模型,从而能够对各任务处理所需要的推理处理的整个计算量以及内存使用量进行压缩。

并且,例如也可以是,所述推理模型以及所述任务处理部是神经网络模型,所述推理的结果是所述感测数据的特征量,所述任务计划包括所述任务处理部的内存加载以及处理的顺序。

据此,能够在IoT设备等的有限的计算环境下适用高性能的NN推理模型。并且,由于根据感测数据的特征量来推理后续任务的处理时间,因此能够容易地推理与针对感测数据的任务处理的难度相应的处理时间。

并且,一种信息处理方法,所述信息处理方法是由计算机执行的方法,在所述信息处理方法中,获得感测数据,将所述感测数据输入到推理模型,来获得推理的结果以及与推理模型的处理的多个后续任务的处理时间相关的信息,向对所述多个后续任务进行处理的任务处理部输入所述推理的结果,使所述任务处理部对所述多个后续任务进行处理,对推理时间进行测量,所述推理时间包括从将所述推理的结果输入到所述任务处理部起直到所述多个后续任务的处理结束为止的时间,通过机器学习对所述推理模型进行训练,在所述机器学习中,将所述感测数据用作输入数据,将与所述多个后续任务的处理时间相关的信息用作输出数据,将测量出的所述推理时间用作参照数据。并且,程序是用于使计算机执行上述的信息处理方法的程序。

据此,能够生成实现上述信息处理装置中执行的处理的推理模型。通过利用生成的推理模型进行推理处理,从而能够根据与多个后续任务的处理时间相关的信息,以使任务处理部的处理时间在被要求的处理时间内的方式来决定任务计划。

进而,这些概括性的或具体的形态可以由系统、装置、方法、集成电路、计算机程序或计算机可读取的CD-ROM等非暂时性的记录介质来实现,也可以由系统、装置、方法、集成电路、计算机程序以及记录介质的任意组合来实现。

以下,参照附图对本公开的一个形态所涉及的信息处理装置等的具体例进行说明。在此所示的实施方式均为示出本公开的一个具体例。因此,以下的实施方式所示的数值、数值范围、构成要素、步骤、步骤的顺序等是一个例子,其主旨并非是对本公开进行限定。并且,对于以下的实施方式的构成要素中没有记载在示出独立技术方案的构成要素,将作为任意的构成要素来说明。并且,在所有的实施方式中也能够组合各个内容。

并且,各个图为模式图,并非严谨的图示。因此,例如各个图中的比例尺等并非必须一致。并且,在各图中,对于实质上相同的构成赋予相同的符号,并有时省略或简化重复的说明。

并且,在本说明书中,“相同”、“一致”等表示要素之间的关系的术语、以及数值和数值范围并非仅是表示严谨的表达,而且还意味着包括实质上相等的范围、例如百分之几左右的差异。

(实施方式)

以下,参照图1至图13对本实施方式所涉及的信息处理系统等进行说明。

[1.信息处理系统的构成]

首先,参照图1至图4对本实施方式所涉及的信息处理系统10的构成进行说明。图1是示出本实施方式所涉及的信息处理系统10的功能构成的方框图。图2是示出本实施方式所涉及的推理处理部110的功能构成的方框图。

如图1所示,信息处理系统10具备设备100、摄像机200、以及训练装置300。设备100对来自摄像机200的输入图像进行推理处理,并进行与推理的结果相应的服务。训练装置300生成用于在设备100进行推理处理的NN数据400。以下,对各构成要素进行说明。

设备100例如是IoT设备,设备100具有根据从摄像机200获得的输入图像来提供多个服务的功能。设备100具有推理处理部110以及任务执行部140。从摄像机200获得的输入图像是感测数据的一个例子。

推理处理部110利用由训练装置300生成的NN数据400,对从摄像机200输入来的输入图像进行推理处理。推理处理部110利用并行设置的多个NN进行推理处理。换而言之,NN数据400被构成为包括并行设置的多个NN。另外,NN数据400例如是存放有NN的层结构、权重以及偏置的数据。

如图2所示,NN数据400被构成为包括通用NN121以及特定NN群124。通用NN121是用于NN数据400中的预处理的NN,特定NN群124是用于NN数据400中的后续处理的NN群。

设备100的推理处理所需要的时间会有按照输入图像发生变化的情况。因此,根据输入图像的不同,有可能会在推理处理中花费时间而不能在设备100被要求的处理时间内进行服务的情况。于是,推理处理部110利用用于预处理的NN来获得与相对于输入图像的后续的推理处理时间相关的推理的结果,根据获得的推理的结果,来变更后续的推理处理的顺序(任务计划的一个例子)等。以下,对推理处理部110等的构成进行说明。

推理处理部110具有NN推理部120、NN推理运算管理部130、以及获得部150。另外,推理处理部110是能够变更运算顺序的推理处理装置。也可以认为推理处理部110是运算顺序可变推理装置。并且,推理处理部110是信息处理装置的一个例子。

NN推理部120利用基于由训练装置300生成的NN数据400的多个NN,对从摄像机200输入来的输入图像进行推理处理。

NN推理部120利用通用NN121、以及包括并行设置的多个NN的特定NN群124进行推理处理。NN推理部120首先使用通用NN121,来进行前向传播运算处理。通用NN121例如是前向传播型的NN。

通用NN121是对特定NN群124的多个NN共通的推理处理结果以及延迟标志信息进行输出的NN。通用NN121执行各任务共通的预处理即推理处理。也可以认为通用NN121是作为各任务共通的预处理而被执行的模型。通用NN121包括特征分类部122以及延迟标志分类部123。特征分类部122以及延迟标志分类部123例如是训练完毕NN。另外,通用NN121是推理处理部的一个例子。并且,作为预处理的推理处理,并非受利用了NN的处理所限。

NN推理部120通过将输入图像输入到共通NN121的特征分类部122,来获得作为特征分类部122的输出的推理处理结果。推理处理结果(推理的结果)例如是特征量(图像特征量),但并非受此所限。以下,对推理处理结果是特征量的例子进行说明。

特征分类部122是以将输入图像作为输入并输出与该输入图像相应的特征量的方式而进行了训练的训练完毕的NN(用于特征分类的NN)。特征分类部122对前向传播运算处理后的特定NN群124的多个NN的每一个进行共通的推理处理。特征量是特定NN群124的多个NN的每一个的共通的信息。

NN推理部120将作为特征分类部122的输出的特征量输出到特定NN群124的多个NN的每一个。并且,在本实施方式中,NN推理部120也向延迟标志分类部123输出特征量。这样,作为特征分类部122的输出的特征量也可以在延迟标志分类部123而被利用。在本实施方式中,延迟标志分类部123以及特定NN群124的多个NN的每一个都被输入同一个特征量。

NN推理部120通过将特征量从特征分类部122输入到延迟标志分类部123,从而获得作为延迟标志分类部123的输出的延迟标志信息。延迟标志分类部123是以将特征量作为输入并输出与该特征量相应的延迟标志信息的方式而进行了训练的训练完毕的NN(用于延迟标志分类的NN)。延迟标志信息是示出包括从将特征量(推理的结果)输入到特定NN群124(任务处理部或其一部分)起直到多个后续任务的处理结束为止的时间的时间(推理时间)的信息。延迟标志信息例如是示出NN推理部120全体的推理处理时间是否超过阈值的推理的结果的信息。也可以认为延迟标志信息是与相对于规定时间(例如,阈值)的延迟相关的信息。规定时间是针对多个后续任务的处理时间而被决定的时间。阈值例如也可以根据设备100或设备100的服务内容被要求的处理时间来设定。并且,阈值被预先设定。另外,延迟标志信息例如也可以是示出设备100全体的处理时间是否超过阈值的推理的结果的信息。延迟标志信息例如也可以是示出NN推理部120以及任务执行部140的总处理时间是否超过阈值的推理的结果的信息。

延迟标志信息例如也可以是指在推理处理时间为阈值以下的情况下以“OFF”来表示的信息,在推理处理时间超过阈值的情况下以“ON”来表示的信息。并且,也可以设定多个“ON”。例如在推理处理时间超过第1阈值并且在比第1阈值大的第2阈值以下的情况下延迟标志信息可以是以“ON1”来表示的信息,在推理处理时间超过第2阈值的情况下延迟标志信息也可以是以“ON2”来表示的信息。第1阈值例如是10msec,第2阈值例如是15msec,但并非受此所限。延迟标志信息是与多个后续任务的处理时间相关的信息的一个例子。多个后续任务的处理时间例如可以是特定NN群124的处理时间,也可以是特定NN群124以及任务执行部140的总处理时间。在这种情况下,特定NN群124以及任务执行部140成为任务处理部的一个例子。

在本实施方式中,对将延迟标志信息设定为“OFF”、“ON1”以及“ON2”这三个级别的例子进行说明。另外,也可以将延迟标志信息设定为有两个或四个以上的级别。

另外,延迟标志信息并非受“OFF”、“ON1”、“ON2”等以延迟的级别来表示的信息所限,例如也可以是处理时间(运算时间)本身。

另外,延迟标志分类部123被要求尽快输出延迟标志信息。因此,希望延迟标志分类部123是计算量比特征分类部122以及特定NN群124小的NN。

如上述这样构成的通用NN121是,若被输入来自摄像机200的输入图像,则输出特征量以及延迟标志信息的逻辑模型的一个例子。并且,特征分类部122是第1推理模型的一个例子,延迟标志分类部123是第2推理模型的一个例子。也就是说,推理模型被构成为包括第1推理模型以及第2推理模型。

NN推理运算管理部130根据来自延迟标志分类部123的延迟标志信息,来决定用于对通用NN121的后续的特定NN群124的多个任务进行处理的前向传播运算的方法(例如,运算顺序),并通知给特定NN群124。具体而言,NN推理运算管理部130向对特定NN群124的处理进行控制的NN推理部120通知决定好的前向传播运算的方法。据此,NN推理部120能够将来自特征分类部122的特征量输入到特定NN群124,并以决定好的前向传播运算的方法来使多个后续的NN进行处理。NN推理运算管理部130是决定前向传播运算的方法的决定部、以及使后级的任务被处理的控制部的一个例子。

在本实施方式中,NN推理运算管理部130根据延迟标志信息以及图3所示的表500,来决定通用NN121的后续的前向传播运算的方法。图3是示出本实施方式所涉及的包括延迟标志信息以及与该延迟标志信息建立了关联的特定NN群124的前向传播运算的方法的表500的构成例的图。图3的并行运算项目示出通用NN121的后续的前向传播运算的方法,例如示出特定NN群124的前向传播运算的方法。

如图3所示,延迟标志信息“OFF”与并行运算项目“最佳并行运算处理”建立了对应(参照图3的第1行501),延迟标志信息“ON1”与并行运算项目“延迟应对并行运算处理”建立了对应(参照图3的第2行502),延迟标志信息“ON2”与并行运算项目“延迟应对并行运算处理+CPU超频处理”建立了对应(参照图3的第3行503)。另外,这里的“ON”意味着NN推理部120的运算时间超过允许时间,需要将“最佳并行运算处理”所示的运算顺序变更为“延迟应对并行运算处理”所示的运算顺序。另外,前向顺序是任务计划的一个例子。

“最佳并行运算处理”是指按照基于内存访问数、处理时间(运算时间)、电力消耗等而决定的并行运算方式(例如,并行运算顺序)来进行运算处理。例如在延迟低于规定值(例如,延迟低于阈值)的情况下,利用“最佳并行运算处理”来决定前向传播运算的顺序(第1计划的一个例子)。另外,“最佳并行运算处理”是第1规则的一个例子。延迟低于规定值的情况包括没有延迟、或者延迟长度或延迟程度低于规定值的情况。

“延迟应对并行运算处理”是指按照以与“最佳并联运算处理”相比,处理时间变短的方式而被决定的并行运算方式来进行的运算处理。例如在延迟为规定值以上(例如,延迟为阈值以上)的情况下,利用“延迟应对并行运算处理”来决定前向传播运算的顺序(第2计划的一个例子)。该并行运算方式例如是以优先开始因输入图像中的检测候选区域的数量而处理时间会发生变化的处理(例如,NMS(Non-Maximum Supression:非极大值抑制)处理)的方式来对运算顺序进行了重新排列的方式,但并非受此所限。另外,“延迟应对并行运算处理”是多个后续任务的处理时间比第1规则短的第2规则的一个例子。并且,延迟为规定值以上包括有延迟、或者延迟长度或延迟程度为规定值以上的情况。

另外,NMS是如下的算法:若某检测区域候选、与得分更高的检测区域候选的重叠程度(IoU值)超过通过训练处理而设定的阈值,则删除该检测区域候选。

“延迟应对并行运算处理+CPU超频处理”是指既进行“延迟应对并行运算处理”,又提高CPU(例如,后述的图4所示的CPU602)的驱动频率的设定。这样,在延迟标志信息中除了并行运算的运算顺序的变更以外,还可以包括与CPU的驱动频率的设定相关的信息。也就是说,关于延迟对策的执行,并非受并行运算的变更所限,也可以包括进行如下的变更:对设备100所具备的各处理部的设定(例如,驱动频率的设定)与并联运算一起进行的变更,或者是以对设备100具备的各处理部的设定进行的变更来代替并联运算的变更。

另外,“最佳并行运算处理”所示的运算顺序以及“延迟应对并行运算处理”所示的运算顺序被预先设定好并被存储在内存605等中。

这样,延迟标志信息也可以像延迟标志“ON1”以及“ON2”那样存在多个种类。延迟标志信息例如也可以按照后述的延迟标志信息测量部302的处理时间的测量结果,而存在多个种类。

特定NN群124包括根据来自特征分类部122的特征量而多个NN的每一个都进行互不相同的输出的多个NN。在本实施方式中,特定NN群124包括第1任务用NN125以及第2任务用NN126。以下,对第1任务用NN125是物体检测用NN,第2任务用NN126是骨骼检测用NN的例子进行说明,但并非受此所限。并且,对第1任务用NN125包括NMS处理,第2任务用NN126不包括NMS处理的例子进行说明,但并非受此所限。另外,特定NN群124(利用特定NN群124进行处理的NN推理部120)是任务处理部的一个例子。在任务处理部被构成为包括特定NN群124的情况下,推理模型以及任务处理部分别是NN模型。

第1任务用NN125是以将来自特征分类部122的特征量作为输入并输出与该特征量相应的物体检测的推理的结果的方式而进行了训练的训练完毕NN。作为第1任务用NN125的输出的推理的结果被输出到与第1任务用NN125对应的任务执行部140。

第2任务用NN126是以将来自特征分类部122的特征量作为输入并输出与该特征量相应的骨骼检测的推理的结果的方式而进行了训练的训练完毕NN。作为第2任务用NN126的输出的推理的结果被输出到与第2任务用NN126对应的任务执行部140。

另外,物体检测以及骨骼检测是多个后续任务的一个例子。

在延迟标志分类部123输出了包括“ON1”或“ON2”的延迟标志信息的情况下,第1任务用NN125以及第2任务用NN126的运算顺序相对于延迟标志信息“OFF”时的运算顺序而被变更。在本实施方式中,至少包括NMS处理的第1任务用NN125中的运算顺序相对于延迟标志信息“OFF”时的运算顺序而被变更。

NN推理运算管理部130例如指示NN推理部120按照基于延迟标志信息和表500而决定的并行运算项目(并行运算方式),来进行特定NN群124的前向传播运算。据此,NN推理运算管理部130能够按照与针对输入图像的推理处理的时间相关的推理的结果(延迟标志信息)来变更运算顺序,因此能够抑制处理时间变长。

获得部150从摄像机200获得输入图像。获得部150将获得的输入图像输出到NN推理部120。

接着,任务执行部140根据NN推理部120的推理的结果,执行预先设定的任务。任务执行部140例如可以是对推理的结果进行显示的显示部,也可以是进行与推理的结果相应的发光的发光部,并且也可以是将推理的结果发送给外部的设备的发送部。

图4是示出本实施方式所涉及的设备100的SoC(System-on-a-Chip:片上系统)601的构成的示意图。在本实施方式中,搭载有NPU。

如图4所示,SoC601被构成为包括CPU602、第1NPU603、第2NPU604、以及内存605。NN推理部120的各功能能够通过将训练完毕的NN(NN数据400)安装到SoC601来实现。

CPU602是执行设备100的各处理的处理部。CPU602执行NMS处理以及任务执行部140的处理等。

第1NPU603以及第2NPU604是进行NN处理的专用电路。第1NPU603以及第2NPU604执行设备100中的NN处理。第1NPU603以及第2NPU604例如执行利用通用NN121的处理、以及利用特定NN群124的处理。在本实施方式中,第1NPU603以及第2NPU604执行骨骼检测处理、物体检测处理以及延迟标签决定处理。

内存605存储CPU602、第1NPU603以及第2NPU604各自所执行的程序。内存605存储NN数据400。

如上所述,推理处理部110被构成为,获得输入图像,若输入图像被输入到通用NN121则输出特征量以及延迟标签信息,并根据延迟标签信息,来决定用于对特定NN群124进行处理的前向传播运算的方法(最佳并行运算处理,延迟对象并行运算处理等),然后向特定NN群124输入特征量,并以决定后的前向传播运算的方法来使特定NN群124进行处理。例如,推理处理部110具备:获得输入图像的获得部150;通用NN121,若输入图像被输入到通用NN121则输出特征量以及延迟标签信息;NN推理运算管理部130(决定部的一个例子),根据延迟标签信息,来决定用于对特定NN群124进行处理的前向传播运算的方法(最佳并行运算处理,延迟对象并行运算处理等);以及NN推理运算管理部130(控制部的一个例子),向特定NN群124输入特征量,并使特定NN群124进行决定后的前向传播运算处理。

接着,对训练装置300进行说明。训练装置300生成用于设备100的NN推理部120的推理处理的NN数据400。训练装置300具有多任务训练部301、延迟标志信息测量部302、延迟标志正确答案标签生成部303、延迟标志训练部304、训练用标签数据库305(训练用标签DB305)、以及场景图像数据库306(场景图像DB306)。

多任务训练部301进行NN数据400中的特征分类部122以及特定NN群124的训练。在本实施方式中,多任务训练部301进行用于物体检测以及骨骼检测的训练。

多任务训练部301执行将多任务学习(Multi-Task Learning)适用于NN的训练的训练处理。将在以后进行详细说明,并且多任务训练部301将从场景图像DB306获得的场景图像作为输入,并将从训练用标签DB305获得的、与该场景图像对应的骨骼检测中的正确答案标签以及与该场景图像对应的物体检测中的正确答案标签作为参照数据(教师数据),根据误差反向传播法(BP:BackPropagation)等来生成NN(通用NN121以及特定NN群124)。

另外,多任务学习是指以单一的模型来解决多个问题的机器学习的方法,也是一种通过同时进行相关联的多个问题的训练,来获得问题间的“共通的原因”,从而提高问题的预测精度的方法。在图像识别领域中,会有同时进行像物体分类、物体检测、物体区域(划分)的识别那样的多个任务的训练的情况。在本实施方式中,多个任务是骨骼检测以及物体检测。

已经进行了将多任务学习适用于NN数据的训练处理的研究,多任务训练部301例如对各任务共通使用的NN(例如,通用NN121)以及专门各任务的NN(例如,特定NN群124)进行训练。并且,通过利用共通所使用的NN,从而也有能够对各任务处理所需要的推理处理全体的计算量以及内存使用量进行压缩的优点。

延迟标志信息测量部302以及延迟标志正确答案标签生成部303进行用于生成由延迟标志训练部304进行延迟标志分类部123的训练时的训练用数据的处理。

延迟标志信息测量部302对由多任务训练部301生成的通用NN121以及特定NN群124的前向传播运算的处理时间进行测量。在本实施方式中,延迟标志信息测量部302至少测量第1任务用NN125的处理时间。这是因为,第1任务用NN125包括NMS处理并且按照输入图像中的检测候选区域的数量不同而处理时间不同的缘故。并且,第2任务用NN126由于不包括NMS处理等因检测候选区域的数量不同而处理时间不同的处理,即处理时间不会因输入图像而发生大的变化,因此在本实施方式中不进行处理时间的测量。

延迟标志正确答案标签生成部303利用基于处理时间的测量结果的信息,来生成用于延迟标志训练部304中的通用NN121的训练的延迟标志正确答案标签。

延迟标志训练部304进行如下的处理:利用延迟标志正确答案标签生成部303生成的延迟标志正确答案标签来对多任务训练部301生成的通用NN121以及特定NN群124中的通用NN121进行训练。延迟标志训练部304例如将场景图像作为输入数据,将延迟标志正确答案标签作为参照数据(教师数据),根据误差反向传播法,来对通用NN121的延迟标志分类部123中的权重数据以及偏置数据进行更新。也就是说,延迟标志训练部304利用场景图像以及延迟标志正确答案标签,来进行通用NN121的延迟标志分类部123的训练。另外,延迟标志训练部304例如也可以利用延迟标志正确答案标签使特征分类部122与延迟标志分类部123一起进行训练。

训练用标签DB305对用于生成NN数据400的训练用的标签进行存储。训练用标签DB305例如针对一个场景图像,而存储进行骨骼检测时的训练用标签、以及进行物体检测时的训练用标签。

场景图像DB306对用于生成NN数据400的场景图像进行存储。

训练用标签DB305以及场景图像DB306例如由半导体内存等来实现,但并非受此所限。

如上所述,训练装置300被构成为,获得场景图像,并将场景图像输入到通用NN121,获得特征量,并将特征量输入到特定NN群124,使特定NN群124进行处理,对从将场景图像输入到通用NN121起直到特定NN群124的处理结束为止的时间进行测量,通过机器学习来对通用NN121进行训练,在该机器学习中将场景图像用作输入数据,将与特定NN群124的处理时间相关的信息用作输出数据,将测量出的时间用作参照数据。训练装置300例如具备:延迟标志信息测量部302,获得场景图像,并将场景图像输入到通用NN121,获得特征量,并将该特征量输入到特定NN群124,使特定NN群124进行处理,对从将场景图像输入到通用NN121起直到特定NN群124的处理结束为止的时间进行测量;以及延迟标志训练部304,通过机器学习来对通用NN121进行训练,在该机器学习中将场景图像用作输入数据,将与特定NN群124的处理时间相关的信息用作输出数据,将测量出的时间用作参照数据。

[2.信息处理系统的工作]

接着,参照图5至图13对上述的信息处理系统10的工作进行说明。

[2-1.设备的工作]

首先,参照图5至图6C对设备100的处理进行说明。图5是示出本实施方式所涉及的设备100的工作的流程图。另外,为了便于说明,在图5中对表500中包括的延迟标志信息是“ON(ON1)”以及“OFF”这两种的例子进行说明。换而言之,假设延迟标志分类部123被训练为输出“ON”以及“OFF”的任一个。

如图5所示,设备100的获得部150从摄像机200获得输入图像(S101)。获得部150将在步骤S101获得的输入图像输出到NN推理部120。

接着,当来自获得部150的输入图像被输入到推理部120时,推理部120首先使用通用NN121,来执行前向传播运算处理(S102)。具体而言,NN推理部120通过将输入图像输入到通用NN121的特征分类部122,从而获得作为特征分类部122的输出的特征量。然后,NN推理部120通过将获得的特征量输入到延迟标志分类部123,从而获得作为延迟标志分类部123的输出的延迟标志信息。延迟标志信息是延迟标志分类部123根据特征量而推理出来的结果,在本实施方式中,延迟标志信息示出对NN推理部120全体的推理处理时间是否超过了阈值进行推理的结果。

NN推理部120将获得的延迟标志信息输出到NN推理运算管理部130。另外,NN推理部120也可以进一步向设备100所具备的功能部输出延迟标志信息,该功能部也是推理处理部110的外部的功能部。功能部例如也可以是承担绘图功能的功能部等。

接着,NN推理运算管理部130获得延迟标志信息(S103)。NN推理运算管理部130对获得的延迟标志信息是否是“ON”进行判断(S104)。NN推理运算管理部130在延迟标志信息是“OFF”的情况下,即在推理的结果示出即使根据“最佳并行运算处理”进行推理处理也能够在设备100被要求的处理时间内完成服务的情况下(S104的“否”),根据图3所示的表500,将特定NN群124的前向传播运算方法决定为“最佳并行运算处理”(S105)。也就是说,NN推理运算管理部130在延迟标志信息是“OFF”的情况下,决定按照基于“最佳并行运算处理”的顺序来执行特定NN群124的处理。基于“最佳并行运算处理”的顺序是第1计划的一个例子。NN推理运算管理部130将决定后的特定NN群124的前向传播运算方法输出到NN推理部120。

NN推理部120若从NN推理运算管理部130获得特定NN群124的前向传播运算方法是“最佳并行运算处理”时,则按照“最佳并行运算处理”所示的顺序来执行并行前向传播运算处理。例如,NN推理部120按照最有效的的顺序来对特定NN群124进行并行前向传播运算(S106)。NN推理部120向特定NN群124各自的NN输入作为特征分类部122的输出的特征量,按照基于“最佳并行运算处理”的计划来进行推理处理,来获得作为各NN的输出的推理的结果(骨骼检测结果、物体检测结果等)。

图6A是示出本实施方式所涉及的通用NN121以及特定NN群124的处理时间、以及运算处理单元的一个例子的示意图。具体而言,图6A所示的第1信息700a示出了即使按照基于“最佳并行运算处理”的运算顺序来进行处理也能在允许时间内结束处理的情况下的处理时间、以及运算处理单元的一个例子。另外,在图6A至图6C中,对将NMS处理外包给CPU602的例子进行说明。

区域701示出在通用NN121中的各单元(CPU602、第1NPU603以及第2NPU604)的占有率。在区域701中,由第1NPU603(图6A至6C中的NPU1)以及第2NPU604(图6A至6C中的NPU2)利用通用NN121来进行处理。区域702示出在第1任务用NN125中的各单元的占有率。在区域702中,由第1NPU603以及第2NPU604的至少一方利用第1任务用NN125来进行物体检测处理。

区域703示出在第2任务用NN126中的各单元的占有率。在区域703中,由第1NPU603以及第2NPU604的至少一方利用第2任务用NN126进行骨骼检测处理。区域704a以及704b示出在第1任务用NN125的NMS处理中的各单元的占有率。在区域704a以及704b中,由CPU602来进行NMS处理。

如图6A所示,在步骤S104的“否”的情况下,NN推理运算管理部130对NN推理部120进行如下的指示:以“最佳并行运算处理”来进行特定NN群124的前向传播运算,该“最佳并行运算处理”示出以使内存访问数以及运算时间等取得了平衡的并行运算方式来进行运算处理。在这种情况下,即使按照基于“最佳并行运算处理”的运算顺序来进行处理,也能够在允许时间以内结束处理。

再次参照图5,NN推理运算管理部130在延迟标志信息是“ON”的情况下,即在推理的结果示出若根据“最佳并行运算处理”进行推理处理则不能在设备100被要求的处理时间内完成服务的情况下(S104的“是”),根据图3所示的表500,将特定NN群124的前向传播运算方法决定为“延迟对策并行运算处理”(S107)。也就是说,NN推理运算管理部130在延迟标志信息是“ON”的情况下,决定按照基于“延迟对策并行运算处理”的顺序来执行特定NN群124的处理。基于“延迟对策并行运算处理”的顺序是第2计划的一个例子。NN推理运算管理部130将决定后的特定NN群124的前向传播运算方法输出到NN推理部120。

NN推理部120若从NN推理运算管理部130获得特定NN群124的前向传播运算方法是“延迟对策并行运算处理”时,则按照“延迟对策并行运算处理”所示的顺序来执行并行前向传播运算处理。例如,NN推理部120按照设定的顺序来对特定NN群124进行并行前向传播运算(S108)。NN推理部120向特定NN群124各自的NN输入作为特征分类部122的输出的特征量,按照基于“延迟对策并行运算处理”的计划来进行推理处理,来获得作为各NN的输出的推理的结果(骨骼检测结果、物体检测结果等)。

图6B是示出本实施方式所涉及的通用NN121以及特定NN群124的处理时间以及运算处理单元的一个例子的示意图。具体而言,图6B所示的第2信息700b示出按照基于“最佳并行运算处理”的运算顺序来进行处理时在允许时间内处理不能结束的情况下的处理时间、以及运算处理单元的一个例子。图6B示出了在进行最佳并行运算处理时超过允许时间的情况,即步骤S104中判断为“是”的情况。

如图6B所示,例如由于NMS处理所需要的时间(区域704b)变得比图6A时的时间(区域704a)更长,因此推理处理部110的推理时间超过允许时间。根据输入图像的不同,有可能发生如图6B所示NMS处理所需要的时间变长的情况。

于是,如图5的步骤S107所示,由于若根据“最佳并行运算处理”进行推理处理则存在超过允许时间的可能性,因此NN推理运算管理部130决定根据“延迟对策并行运算处理”进行推理处理,在此,以“延迟对策并联运算处理”来代替“最佳并行运算处理”。在本实施方式中,“延迟对策并行运算处理”示出以能够优先开始NMS处理(区域704b中进行的处理)的方式来重新排列运算顺序。另外,以下,将超过允许时间也记作发生延迟。

图6C是示出本实施方式所涉及的通用NN121以及特定NN群124的重新排列运算顺序后的处理时间以及运算处理单元的一个例子的示意图。图6C所示的第3信息700c示出的是,在若按照基于“最佳并行运算处理”的运算顺序来进行处理则在允许时间内处理不能结束的情况下,按照基于“延迟对策并行运算处理”的运算顺序来进行处理时的处理时间、以及运算处理单元的一个例子。第3信息700c是相对于图6B所示的第2信息700b而言,变更了处理顺序后的信息。图6C示出了步骤S104中判断为“是”,而变更后的处理顺序等。

如图6C所示,基于“延迟对策并行运算处理”的运算顺序,优先开始NMS处理。关于该运算顺序,以提早NMS处理的开始定时的方式,相对于基于“最佳并行运算处理”的运算顺序,提早了NMS处理的开始定时。据此,即使在NMS处理所需要的时间变长的情况下,也能够抑制推理处理部110的推理时间超过允许时间。该运算顺序(处理的顺序)是任务计划的一个例子。并且,任务计划也可以包括特定NN群124的NN模型的内存加载(memory load)的顺序。

另外,如图6B以及图6C所示,在“最佳并行运算处理”以及“延迟对策并行运算处理”中,虽然对NMS处理的处理定时进行变更,但并不进行处理内容的变更、以及处理的删除等。因此,以“最佳并行运算处理”以及“延迟对策并行运算处理”来进行推理处理的情况下的推理的结果的精度实质上相同。

另外,在本实施方式中,如图6B以及图6C所示,虽然示出了因输入图像不同而处理时间大幅度变动的层是进行NMS处理的层的例子,但也可以是因输入图像不同而处理时间大幅度变动的使用其他的算法的层。

NN推理部120将通过步骤S106或S108的运算而输出的推理的结果输出到任务执行部140。

再次参照图5,任务执行部140根据从NN推理部120获得的推理的结果进行工作,并向用户提供服务。也就是说,由任务执行部140执行各种任务处理(S109)。

如上所述,设备100通过具有推理处理部110,从而能够在保证有一定的服务能力的同时进行运行,该推理处理部110是为了在允许时间内提供推理服务,而在早期对推理处理的负荷进行判断并能够变更运算顺序的处理部。并且,在延迟标志信息是“OFF”的情况下,推理处理部110能够以最佳的并行运算来提供推理服务,并且这也有助于节省电力。

并且,推理处理部110根据输入图像的特征量,在初始阶段(预处理)就对后续的多个NN中的NN推理处理所需要的处理时间进行估计。于是,推理处理部110能够在并行运算中,按照在被要求的处理时间内能够完成处理的运算顺序来进行NN推理处理。

另外,在上述中虽然说明的例子是,在延迟标志信息是“ON”的情况下,按照图6C所示的顺序来执行运算处理的例子,但并非受此所限,也可以按照延迟标志信息,来变更运算处理的顺序。例如也可以是,在延迟标志信息中包括示出延迟的程度的信息(例如,延迟程度:“大”、“中”、“小”、或延迟时间的估计值等)的情况下,按延迟的程度来设定并行运算项目。也就是说,也可以按延迟的程度来设定运算处理的顺序。于是,在步骤S107中,NN推理运算管理部130也可以将与延迟标志信息中包括的延迟的程度相应的并行运算项目,决定为特定NN群124的前向传播运算的方法。

[2-2.训练装置的工作]

接着,参照图7至图13对训练装置300的工作进行说明。首先,参照图7以及图8对多任务训练部301的工作进行说明。图7是示出本实施方式所涉及的多任务训练部301的工作的流程图。图8是示意性地示出本实施方式所涉及的多任务训练部301的工作的图。

如图7所示,多任务训练部301从场景图像DB306获得场景图像,从训练用标签DB305获得各NN的正确答案标签(S201)。多任务训练部301获得场景图像、针对该场景图像的第1任务用NN125用的正确答案标签(第1任务用NN正确答案标签)、以及针对该场景图像的第2任务用NN126用的正确答案标签(第2任务用NN正确答案标签)。在本实施方式中,多任务训练部301获得物体检测用NN的正确答案标签以及骨骼检测用NN的正确答案标签。

接着,多任务训练部301使用通用NN121以及特定NN群124来进行前向传播运算。多任务训练部301例如使用通用NN121的特征分类部122以及特定NN群124来进行前向传播运算(S202)。

如图8所示,多任务训练部301获得将场景图像输入到通用NN121而得到的作为通用NN121的输出的特征量,进一步获得将获得的特征量输入到第1任务用NN125而得到的作为第1任务用NN125的输出的第1推理的结果、以及将该特征量输入到第2任务用NN126而得到的作为第2任务用NN126的输出的第2推理的结果。

再次参照图7,接着,多任务训练部301将各NN的正确答案标签作为参照数据(教师数据),对特征分类部122以及特定NN群124进行反向传播运算,并更新权重以及偏置(S203)。多任务训练部301根据误差反向传播法,将损失函数(loss function)的输出值视作误差,通过反向传播运算,来执行通用NN121的特征分类部122以及特定NN群124中的权重(权重数据)以及偏置(偏置数据)的更新处理。

如图8所示,第1任务用NN125中的损失函数表示在第1任务用NN125的第1推理的结果与第1任务用NN正确答案标签之间有多少误差。第2任务用NN126中的损失函数表示在第2任务用NN126的第2推理的结果与第2任务用NN正确答案标签之间有多少误差。

多任务训练部301根据场景图像来获得作为第1任务用NN125的输出的第1推理的结果,根据第1推理的结果以及第1任务用NN正确答案标签来获得损失函数的输出值。于是,多任务训练部301将该输出值视作误差,通过反向传播运算,来执行通用NN121的特征分类部122以及特定NN群124的第1任务NN125中的权重以及偏置的更新处理。

接着,多任务训练部301根据场景图像来获得作为第2任务用NN126的输出的第2推理的结果,根据第2推理的结果以及第2任务用NN正确答案标签来获得损失函数的输出值。于是,多任务训练部301将该输出值视作误差,通过反向传播运算,来执行通用NN121的特征分类部122以及特定NN群124的第2任务NN126中的权重以及偏置的更新处理。如此,多任务训练部301例如交替执行更新处理。

再次参照图7,多任务训练部301对NN推理结果的正确率(或对场景图像与正确答案标签进行了比较的误差率)是否满足条件进行判断(S204)。条件例如也可以是设备100被要求的正确率。也就是说,多任务训练部301也可以根据NN推理结果的正确率是否在设备100被要求的正确率以上来进行步骤S204的判断。

多任务训练部301在NN推理结果的正确率满足条件的情况下(S204的“是”),结束处理。并且,多任务训练部301在NN推理结果的正确率不满足条件的情况下(S204的“否”),返回到步骤S201并继续进行处理。也就是说,多任务训练部301在NN推理结果的正确率不满足条件的情况下,使用各种场景图像以及与其建立了关联的正确答案标签来进行训练,直到NN推理结果的正确率满足条件为止继续进行训练处理。

接着,参照图9以及图10对延迟标志信息测量部302以及延迟标志正确答案标签生成部303的工作进行说明。图9是示出本实施方式所涉及的延迟标志信息测量部302以及延迟标志正确答案标签生成部303的工作的流程图。图10是示意性地示出本实施方式所涉及的延迟标志信息测量部302以及延迟标志正确答案标签生成部303的工作的图。

如图9所示,延迟标志信息测量部302获得任意的场景图像(S301)。延迟标志信息测量部302例如也可以获得在由多任务训练部301进行多任务学习时使用过的场景图像。

接着,延迟标志信息测量部302对由多任务训练部301进行了训练的通用NN121以及特定NN群124的前向传播运算的运算时间进行测量(S302)。在本实施方式中,延迟标志信息测量部302对包括NMS处理的第1任务用NN125的运算时间进行测量。

在步骤S302中,延迟标志信息测量部302将场景图像输入到通用NN121,获得特征量以及延迟标志信息,进一步,将特征量输入到第1任务用NN125,使第1任务用NN125进行处理,对将场景图像输入到通用NN121起直到特定NN群124的处理结束为止的时间进行测量。另外,在步骤S302中,延迟标志信息测量部302至少对从将特征量输入到第1任务用NN125起直到特定NN群124的处理结束为止的时间进行测量即可。在图10中示出了延迟标志信息测量部302对从将特征量输入到第1任务用NN125起直到特定NN群124的处理结束为止的时间(推理时间一个例子)进行测量的例子。

另外,在处理时间的测量中,也可以使用与设备100相同的硬件设备。并且,处理时间也可以是通过模拟来算出的时间。

如图10所示,延迟标志信息测量部302获得与将场景图像输入到通用NN121而得到的特征量以及通用NN121的处理的多个后续任务的处理时间相关的信息(作为延迟标志分类部123的输出的延迟标志信息),对该特征量被输入时的第1任务用NN125的处理时间进行测量。处理时间的测量是延迟标志信息的测量的一个例子。

再次参照图9,延迟标志信息测量部302对测量出的处理时间是否超过了阈值进行判断(S303)。阈值例如被预先设定。延迟标志信息测量部302在处理时间超过了阈值的情况下(S303的“是”),将该场景图像作为延迟标志ON存储到延迟标志信息DB302a(参照图10)(S304)。并且,延迟标志信息测量部302在处理时间没有超过阈值的情况下(S303的“否”),将该场景图像作为延迟标志OFF存储到延迟标志信息DB302a(S305)。

另外,在第1任务用NN125以及第2任务用NN126的每一个中测量处理时间的情况下,有可能发生(i)仅在第1任务用NN125发生延迟(超过允许时间)的情况,(ii)仅在第2任务用NN126发生延迟的情况。在这种情况下,在(i)与(ii)之间,存在“并行运算项目”的内容(例如,改重新排列后的运算顺序)不同的情况。如此,在“并行运算项目”的内容不同的情况下,延迟标志“ON”也可以按每个“并行运算项目”的内容存在多个种类。

接着,延迟标志正确答案标签生成部303根据延迟标志信息DB302a的延迟标志信息,来生成延迟标志正确答案标签。延迟标志正确答案标签生成部303对场景图像赋予延迟标志“ON”或“OFF”的标签来生成延迟标志正确答案标签(S306)。也可以认为延迟标志正确答案标签生成部303通过将延迟标志信息与场景图像建立对应来生成延迟标志正确答案标签。延迟标志正确答案标签生成部303将生成的延迟标志正确答案标签存储到延迟标志正确答案标签DB303a(参照图10)。

接着,参照图11以及图12对延迟标志训练部304的工作进行说明。图11是示出本实施方式所涉及的延迟标志训练部304的工作的流程图。图12是示意性地示出本实施方式所涉及的延迟标志训练部304的工作的图。

如图11所示,延迟标志训练部304从场景图像DB306获得场景图像,从延迟标志正确答案标签DB303a获得与该场景图像对应的延迟标志正确答案标签(S401)。

接着,延迟标志训练部304使用通用NN121来进行前向传播运算(S402)。延迟标志训练部304例如使用通用NN121的延迟标志分类部123来进行前向传播运算。

如图12所示,延迟标志训练部304获得将场景图像输入到通用NN121的特征分类部122而得到的作为特征分类部122的输出的特征量,进一步获得将获得的特征量输入到延迟标志分类部123而得到的作为延迟标志分类部123的输出的延迟标志信息。

再次参照图11,接着,延迟标志训练部304将延迟标志正确答案标签作为参照数据(教师数据),对通用NN121进行反向传播运算,并更新权重以及偏置(S403)。延迟标志训练部304根据误差反向传播法,将损失函数的输出值视作误差,通过反向传播运算,来执行通用NN121的延迟标志分类部123中的权重(权重数据)以及偏置(偏置数据)的更新处理。

如图12所示,通用NN121中的损失函数表示在通用NN121的延迟标志分类部123的推理的结果(延迟标志信息)和与该场景图像对应的延迟标志正确答案标签之间有多少误差。

延迟标志训练部304根据场景图像来获得作为延迟标志分类部123的输出的延迟标志信息,根据延迟标志信息以及延迟标志正确答案标签来获得损失函数的输出值。于是,延迟标志训练部304将该输出值视作误差,通过反向传播运算,来执行通用NN121的延迟标志分类部123中的权重以及偏置的更新处理。

如此,在步骤S402以及403中,将场景图像作为输入数据,将从通用NN121的延迟标志分类部123输出的延迟标志信息作为输出数据,将由延迟标志信息测量部302测量出的时间用作参照数据,通过机器学习来对通用NN121(例如延迟标志分类部123)进行训练。

另外,延迟标志训练部304也可以将该输出值视作误差,通过反向传播运算,来执行特征分类部122以及延迟标志分类部123中的权重以及偏置的更新处理。也就是说,除了延迟标志分类部123以外,延迟标志训练部304还可以将特征分类部122作为训练处理的对象。据此,通过对延迟标志分类部123以及特征分类部122中的权重以及偏置进行更新,从而能够期待延迟标志分类部123输出的延迟标志信息的精度的提高。

再次参照图11,延迟标志训练部304对NN推理结果的正确率(或对推理的结果与延迟标志正确答案标签进行了比较的误差率)是否满足条件进行判断(S404)。条件例如也可以是设备100被要求的正确率。也就是说,延迟标志训练部304也可以根据NN推理结果的正确率是否在设备100被要求的正确率以上来进行步骤S404的判断。

延迟标志训练部304在NN推理结果的正确率满足条件的情况下(S404的“是”),结束处理。并且,延迟标志训练部304在NN推理结果的正确率不满足条件的情况下(S404的“否”),返回到步骤S401并继续进行处理。也就是说,延迟标志训练部304在NN推理结果的正确率不满足条件的情况下,使用各种场景图像以及与其建立了关联的正确答案标签来进行训练,直到NN推理结果的正确率满足条件为止继续进行训练处理。

在延迟标志训练部304的训练处理完成后,成为能够执行上述说明的设备100的工作的NN数据400。生成的NN数据400被发送到设备100。

另外,本实施方式所涉及的训练装置300虽然依次进行训练处理,但也可以对通用NN121的特征分类部122和特定NN群124、以及通用NN121的延迟标志分类部123执行多任务学习,此时还可以执行特定NN群124的前向传播运算的测量来获得延迟标志信息。并且,训练装置300在反向传播运算时,可以利用将延迟标志信息(延迟标志正确答案标签)作为正确解答的误差信息对通用NN121的延迟标志分类部123的权重以及偏置进行更新,也可以利用多任务学习的误差信息对通用NN121的特征分类部122以及特定NN群124的权重以及偏置进行更新。如此,训练装置300也可以被构成为,能够对通用NN121的特征分类部122以及特定NN群124、与通用NN121的延迟标志分类部123执行多任务学习。

在此,参照图13对本实施方式所涉及的训练装置300的训练结果的评价的输出进行说明。图13是示出本实施方式所涉及的延迟标志信息的发生率的表。

作为本实施方式所涉及的训练装置300的训练结果的评价的输出例,也可以考虑如下的构成:除了输出特定NN群124的mAP(Mean Average Precision:全类别平均正确率)等推理质量信息以外,还输出图13所示的“延迟标志信息的发生率”。图13所示的结果也能够促使开发人员为了提高延迟标志信息“OFF”的发生率,而去变更NN的构成或超参数等这样进行开发的动机。并且,训练装置300通过对发生了不满足要求规格的推理延迟时的发生率(图13中的与延迟标志信息“NG”对应的发生率)或该场景图像的信息进行显示,从而能够促使开发人员等去探讨在NN的训练处理的工序阶段中不会发生推理延迟的对策。

(其他的实施方式)

以上,虽然根据实施方式对本公开进行了说明,但是本公开并非受上述实施方式所限。

例如,在上述实施方式中,虽然对如下输入数据的例子进行了说明,但输入数据并非受此所限,该输入数据是指,作为特征分类部122的输出的特征量被输入到延迟标志分类部123的数据。输入数据例如也可以是来自摄像机200的输入图像。例如,NN推理部120也可以通过将来自摄像机200的输入图像输入到延迟标志分类部123,来获得作为延迟标志分类部123的输出的延迟标志信息。并且,在这种情况下,在图11的步骤S402中,延迟标志训练部304获得将场景图像输入到通用NN121的延迟标志分类部123而得到的作为延迟标志分类部123的输出的延迟标志。于是,在图11的步骤S403中,延迟标志训练部304将延迟标志正确答案标签作为参照数据(教师数据),对通用NN121的延迟标志分类部123进行反向传播运算,并更新延迟标志分类部123的权重以及偏置。并且,例如也可以是,特征分类部122以及延迟标志分类部123被输入相同的输入数据(输入图像)。

并且,延迟标志分类部123的输入数据例如也可以是特征分类部122的推理的中间数据。例如也可以是,NN推理部120通过使特征分类部122输出推理的中间数据,将该中间数据输入到延迟标志分类部123,从而获得作为延迟标志分类部123的输出的延迟标志信息。

并且,在上述实施方式中,虽然对如下后续任务的处理的例子进行了说明,但并非受此所限,该后续任务的处理是利用了NN的处理,NN推理运算管理部130决定利用NN的处理的运算顺序。也可以是,后续任务的处理是不利用NN的处理,NN推理运算管理部130对不利用NN的处理的运算顺序进行决定。

并且,在上述实施方式中,虽然说明了在设备100的SoC601搭载有NPU的例子,但也可以不搭载NPU。也可以是,在SoC601仅搭载有CPU602以及NPU中的CPU602,例如上述说明的各处理由CPU602执行。

并且,在上述实施方式中,虽然对将NN推理处理部110用于IoT设备的产品领域的例子进行了说明,但产品领域并非受此所限。NN推理处理部110也能够适用于自动驾驶汽车、机器人、无人机等无人飞行体等与IoT设备不同的产品领域。

并且,上述实施方式中说明的多个处理的顺序是一个例子。可以变更多个处理的顺序,也可以并行执行多个处理。并且,也可以不执行多个处理的一部分。

并且,实施方式中说明的各构成要素可以作为软件来实现,也可以作为典型的集成电路即LSI来实现。这些也可以个别地被制成一个芯片,也可以将其中的一部分或全部制成一个芯片。在此,虽然称为系统LSI,但是,根据集成度的不同也会有称为IC、LSI、超LSI、特大LSI的情况。并且,集成电路化的方法并不限于LSI,也可以由专用电路或通用处理器来实现。也可以利用在制造LSI后能够编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)、或能够重构LSI内部的电路单元的连接以及设定的可重构处理器。进而,若因半导体技术的进步或派生的其他的技术而出现代替LSI的集成电路化的技术,当然,也可以利用该技术进行构成要素的集成化。

并且,方框图中的功能块的分割为一个例子,多个功能块可以作为一个功能块来实现,一个功能块也可以分割为多个,其中一部分的功能也可以转移到其他的功能块。并且,具有类似功能的多个功能块的功能也可以由单一的硬件或软件进行并行处理或者进行时间分割处理。

并且,信息处理系统所具备的训练装置可以作为单一的装置来实现,也可以由多个装置实现。训练装置的各处理部例如可以由两个以上的服务器装置实现。在信息处理系统由多个服务器装置实现的情况下,也可以将信息处理系统所具备的构成要素任意分配给多个服务器装置。并且,对多个服务器装置间的通信方法,没有特殊的限定。

进一步,本公开的技术可以是用于使计算机执行具有上述的信息处理方法的特征的处理的程序,也可以是记录有上述程序的非暂时性的计算机可读取的记录介质。并且,上述程序当然能够经由互联网等的传输介质来分发。例如可以将上述程序以及由上述程序而成的数字信号,经由电通信线路、无线或有线通信线路、以互联网为代表的网络、数据广播等来传输。并且,也可以通过将将上述程序以及由上述程序而成的数字信号记录到记录介质来移送、或者将程序或数字信号经由网络等移送,从而由独立的其他计算机系统来执行。

并且,在各实施方式中,各构成要素可以由专用的硬件来构成,也可以通过执行适于各构成要素的软件程序来实现。各构成要素也可以由CPU或处理器等程序执行部读出并执行由硬盘或半导体存储器等的记录介质记录的软件程序来实现。

产业上的可利用性

本公开能够适用于使用多个NN推理处理的信息处理装置等。

符号说明

10 信息处理系统

100 设备

110 推理处理部

120 NN推理部

121 通用NN(推理处理部)

122 特征分类部

123 延迟标志分类部

124 特定NN群

125 第1任务用NN

126 第2任务用NN

130 NN推理运算管理部(决定部,控制部)

140 任务执行部

150 获得部

200 摄像机

300 训练装置

301 多任务训练部

302 延迟标志信息测量部

302a 延迟标志信息DB

303 延迟标志正确答案标签生成部

303a 延迟标志正确答案标签DB

304 延迟标志训练部

305 训练用标签DB

306 场景图像DB

400 NN数据

500 表

501 第1行

502 第2行

503 第3行

601 SoC

602 CPU

603 第1NPU

604 第2NPU

605 内存

700a 第1信息

700b 第2信息

700c 第3信息

701,702,703,704a,704b 区域

技术分类

06120115928072