能力赋予数据生成装置的制作方法

文档序号:15739792发布日期:2018-10-23 22:06阅读:198来源:国知局
能力赋予数据生成装置的制作方法

本申请基于2016年3月14日提出的日本专利2016-049329号申请作成,并将其记载内容援引于此。

技术领域

本发明涉及用于提高利用机械学习的开发业务的效率的结构,尤其涉及一种生成用于对其他装置追加新能力的数据的技术。



背景技术:

(背景技术)

以前,广泛开展关于人工智能和神经网络的研究。例如,利用图像识别对象物的技术不断被改进,识别率不断提高。通过被称为Deep Learning(深度学习)的新的学习方式,近几年识别率急速提高,图像的分类已达到超过人的识别率的水平。Deep Learning的技术不仅可以用于识别图像,还可以广泛应用于声音识别、个人认证、行动预测、文章的概括、自动翻译、监视、自动运转、故障预测、传感器数据的分析、乐曲的风格判定、内容生成、安全系统等领域中。通过利用Deep Learning这样的机械学习,不需要人的参与,机械能够获得新的能力。

目前,Deep Learning等AI技术是特殊的技术,为了将AI技术应用于特定领域中,需要具有特殊技能的人员进行研究和开发。例如具备AI技术的人员按照客户的委托对客户的装置和希望进行分析,作成学习计划,构建训练系统,通过学习生成新的神经网络,并开发将其嵌入客户的系统中的系统。在使用Deep Learning等AI技术的学习中,多数情况下需要大规模的数据,进而重复运算次数较多,因而需要大规模的训练系统。在训练系统中,不仅安装AI技术,而且使用处理大规模数据的结构、并行化或者运算程序的硬件化等与现有的Web应用程序不同的更为复杂的系统。现状下,拥有AI技术的AI技术服务企业针对不太了解AI技术的客户企业提供咨询和进行系统开发这两者的情况较多。

作为与对装置安装新能力的方法相关的技术,在专利文献1、2中,公开了改写打印机的固件的技术。另外,在专利文献3、4中,公开了与机械学习相关联的技术,专利文献5中公开了利用Deep Learning的文字识别系统。

专利文献1:日本专利特开2009-134474号公报

专利文献2:日本专利特开2007-140952号公报

专利文献3:日本专利特开2014-228972号公报

专利文献4:日本专利特许5816771号公报

专利文献5:日本专利特开2015-53008号公报



技术实现要素:

今后,预计开发装置的企业希望自身开发嵌入AI技术的产品这一需求将会提高。另外,预计在所使用的装置中嵌入AI技术这一需求将会提高。尤其是在嵌入式设备中,这样的希望较多。但是,机械学习(训练)中需要高度的系统和大量的运算资源。因此,一般的制造商的技术人员自身很难实施机械学习。因此,考虑到机械学习的外部委托,但是,例如如嵌入式设备的开发人员一样,对于对AI技术并不熟练的技术人员来说,很难将在外部实施的机械学习的结果嵌入自身的装置中。另一方面,对于AI技术人员来说,开发特殊化为嵌入式设备或网络服务等特定产品或服务的AI程序也不容易。另外,AI技术人员不足,也有可能导致开发期限变长。

本发明是鉴于上述实际情况提出的,其目的在于提供一种即使是不具备关于机械学习的知识或系统的人员来说,也能够简单地向自身的装置追加新能力的结构。

为了实现上述至少任意一个目的,本发明采用以下构成。

本发明的第一方式涉及的能力赋予数据生成装置,生成作为向对象装置追加新能力的数据的能力赋予数据,其特征在于,所述对象装置具有通过能力获得模型而模型化的架构,作为用于向所述对象装置具备的基本构成追加嵌入新能力的架构,所述能力获得模型包含执行能力的能力部、作为进行所述能力部的输入的接口的数据输入部以及作为所述能力部的输出接口的数据输出部,所述能力赋予数据生成装置具有生成能力赋予数据的能力赋予数据生成部,所述能力赋予数据包含:能力设定数据,用于对所述对象装置的所述能力获得模型中的所述能力部设定功能;输入设定数据,用于对所述对象装置的所述能力获得模型中的所述数据输入部设定功能;以及输出设定数据,用于对所述对象装置的所述能力获得模型中的所述数据输出部设定功能。

根据本发明,在对象装置具有与能力获得模型对应的架构这一前提下,能够提供具有与该能力获得模型对应的数据结构的能力赋予数据,因而容易将新能力嵌入对象装置中。因此,能够提高用于向对象装置追加新能力的开发业务的效率。

优选所述能力设定数据是用于对所述能力部设定执行向所述对象装置追加的所述新能力的功能的数据,所述输入设定数据是用于对所述数据输入部设定关于进行向所述能力部的输入的接口的功能的数据,所述输出设定数据是用于对所述数据输出部设定关于进行从所述能力部的输出的接口的功能的数据。

优选关于进行向所述能力部的输入的接口的功能包含以下功能中的至少一种:将数据从所述对象装置的所述基本构成取入到所述数据输入部的功能;将数据从所述对象装置以外的设备取入到所述数据输入部的功能;对输入的数据实施加工的功能;以及将数据格式转换为适于所述能力部的格式的功能。通过上述功能,能够在执行新能力时向能力部提供所需的数据。

优选关于进行从所述能力部的输出的接口的功能,包含对从所述能力部输出的数据实施加工的功能、将数据格式转换为适于所述对象装置的所述基本构成的格式的功能、以及将数据格式转换为适于所述对象装置以外的设备的格式的功能中的至少一种。通过上述功能,能够以所希望的形式输出能力部中执行的新能力的结果。

优选所述能力赋予数据包含动作确认用数据,所述动作确认用数据用于在根据所述能力赋予数据分别对所述能力部、所述数据输入部以及所述数据输出部设定功能之后,确认追加的所述新能力是否正常动作。由此,能够在对象装置侧容易且自动地进行新能力的嵌入是否成功的动作确认,从而便利性出色。例如,优选所述动作确认用数据包含一个以上的输入数据和判定信息,所述判定信息用于在将所述输入数据输入所述数据输入部时判定是否为经过所述能力部处理后应从所述数据输出部输出的数据;通过将所述输入数据输入所述数据输入部,并使用所述判定信息判定从所述数据输出部输出的数据,从而确认追加的所述新能力是否正常动作。由此,能够进行数据输入部、能力部、数据输出部的一连串动作的确认。

优选所述能力赋予数据包含嵌入所述对象装置具备的电路中的数据(例如写入对象装置具备的可重写电子电路中的数据等)、或者所述对象装置具备的处理器中执行的程序等。通过以上述形式提供能力赋予数据,将能力赋予数据追加至对象装置的作业变得容易。

优选所述新能力是通过机械学习获得的能力。机械学习需要高度的系统和大量的运算资源,因此,有时对象装置的开发人员或者拥有者自己很难实施机械学习。该情况下,通过利用本发明涉及的能力赋予数据生成装置,能够实现由其他人员代理机械学习,并将其学习结果以能力赋予数据的形式进行交货这一便利性高的服务。

此外,本发明可以构成为具有上述构成或功能的至少一部分的能力赋予数据生成装置。另外,本发明也可以构成为包含上述处理的至少一部分的能力赋予数据生成方法、或者用于使计算机执行该方法的程序、或者非暂时性记录上述程序的计算机可读记录介质。另外,本发明也可以构成为能力赋予数据的数据结构。上述构成和处理只要不产生技术矛盾,便可以相互组合构成本发明。

根据本发明,能够提供使向装置追加新能力的开发业务变得高效的结构。另外,根据本发明,能够提供可简单地向装置追加新能力的结构。

附图说明

图1是学习服务提供系统所提供的学习服务的示意图。

图2是学习服务提供系统的系统构成图。

图3是能力获得模型的构成图。

图4是表示利用Deep Learning的能力获得模型的一例的图。

图5是表示训练信息和训练受理信息的数据结构的一例的图。

图6是委托受理部的构成图。

图7是对象装置的构成图。

图8是表示能力赋予数据的数据结构的一例的图。

图9是学习指令部和学习模拟器的详细构成图。

图10是学习服务提供系统的处理流程。

图11是表示学习委托信息的数据结构的一例的图。

具体实施方式

本发明涉及用于提高向装置追加新的“能力”的开发业务的效率的结构。在以下所述的实施方式中,对于作为上述结构的优选具体例之一的“学习服务提供系统”进行说明。

<用语的说明>

在说明实施方式之前,对本说明书中使用的用语进行说明。

“学习服务”是指代理实施机械学习的服务。具体而言,是根据来自委托者(希望向对象装置赋予新能力的人员)的委托,代替委托者实施用于向对象装置追加的新能力的机械学习,并将作为机械学习的结果而得到的“能力”提供给委托者的对象装置的服务。“学习服务提供系统”是指:承担受理来自委托者的学习委托、实施机械学习、向委托者提供学习结果等与学习服务相关的一系列处理的系统。

“机械学习”是指:在向机械输入目标后,机械获得用于实现目标的能力,并且机械自身能够发挥新获得的能力。在本说明书中,在未特别明确记载的情况下,“学习”是指机械学习。

“能力”是指装置能够提供的功能或者装置能够执行的处理。所谓的“向装置追加新能力”是指:向装置追加新的功能或者处理、或者提高装置已经具有的功能或处理的性能。此外,委托者的“对象装置”只要是具备能够嵌入新能力的构成的装置,便可为任意种类的装置。例如,可以利用于制造装置、FA机器人、检查装置、生产管理系统、机械设备控制系统、监视系统、大厦控制系统、店铺管理系统、人型机器人、防灾机器人、Web服务、便携式终端、家电装置、业务系统、嵌入式系统、生物体信息系统、图像识别装置、声音识别装置、自动运转系统、故障预测系统、数据分析装置、内容生成装置、安全系统、金融系统、病毒监视装置等各种领域的装置的开发中。

“能力赋予数据”是用于将作为学习结果而得到的“能力”追加至委托者的对象装置的数据。能力赋予数据呈能够直接嵌入(能够装入)委托者的对象装置中的数据格式的数据。通过将学习结果以适当的格式数据化,容易将学习服务的学习结果嵌入委托者的对象装置中。

在以下所述的实施方式中,为了区别执行形式的程序和程序的定义,利用“模型”描述程序的定义。“模型”是将对象的动作或性质等一般化、抽象化,并使用规定的描述语言进行描述的模型,与基于模型开发中使用的模型相同。可以利用模型定义任意的程序或数据结构。另外,任意的装置、环境、物理现象等也可以利用模型进行定义。在基于模型开发中,通过模型定义各构成要素的内部构成和各构成要素间的关系,可以模拟将多个模型组合的状态。另外,通过使用基于模型开发工具,可以从模型自动生成执行形式的程序。

模型中不仅包含程序的定义,还可以包含执行形式的程序。由此,能够减少利用学习模拟器执行委托的学习时的处理。

在以下所述的实施方式中,通过利用基于模型开发工具开发程序,能够明确地定义学习的模拟中的各部分的关系。但是,系统的安装中无需使用基于模型开发工具,可以开发同样的程序。因此,本发明并不限定于利用基于模型技术开发的系统。

可以将模型中描述的项目的一部分“参数化”。即,可以预先利用参数(变量)定义项目的值,在受理学习委托时使委托者输入或者选择参数的值、或者在执行学习时在系统侧适当地设定参数的值。以下,将参数化的项目称为“参数项目”或“未定义项目”、或者仅称为“参数”,将定义了值或内容的项目称为“常数项目”或“已定义项目”。参数项目并不限于数据项目。通过利用例如函数式编程语言,也可以将处理项目(方法项目)参数化。在函数式编程语言中,可以作为函数的自变量传递函数。通过该功能,可以将规定的程序作为其他程序的自变量进行处理并启动。通过对函数的自变量指定不同函数(程序)的ID信息,使可选择的处理被参数化。虽然代码量增加,但能够利用普通的面向对象语言或C语言来描述同样的处理。

“学习模型”是将通过机械学习获得向对象装置追加的新能力的方法公式化的模型。学习模型根据本系统可接受委托的机械学习的种类分别作成。在以下的记载中,也存在仅以“机械学习的种类”这一意义使用“学习模型”这一术语的内容。

“对象装置模型”是委托者的对象装置(追加新能力的装置)的模型。本系统生成并输出该对象装置模型可执行的能力赋予数据。

“对象模型”是委托者的对象装置(追加新能力的装置)具有关系的对象的模型。对象装置具有关系的对象包括例如对象装置的周围环境、与对象装置之间进行输入输出的其他装置、对象装置产生作用的对象等。

<系统整体的动作概念>

图1表示本实施方式的学习服务提供系统所提供的学习服务的示意图。委托者101经由因特网等网络访问学习服务提供系统100,委托向对象装置104追加的能力的机械学习。执行机械学习所需的信息作为学习委托信息102由委托者101向学习服务提供系统100提供。学习服务提供系统100根据委托者101提供的学习委托信息102,在模拟委托者101侧的对象装置104和对象105的同时进行所需的机械学习。学习服务提供系统100在委托者101委托的学习完成后,将作为学习结果而获得的新能力以能够嵌入对象装置104中的数据格式的能力赋予数据103的形式提供给委托者101。此外,委托者101既可以利用个人计算机访问学习服务提供系统100,在对象装置104能够访问因特网的情况下,也可以由对象装置104直接访问学习服务提供系统100。

<系统的构成>

图2表示学习服务提供系统的系统构成图。学习服务提供系统100具有委托受理部200、学习指令部202、学习模拟器203、能力赋予数据生成部204以及服务提供部205。

本系统100可以通过例如具有处理器、存储器、存储装置(硬盘、半导体盘等)、输入装置(键盘、鼠标、触摸面板等)、显示装置、通信装置等硬件资源的通用计算机构成。图2所示的本系统100的功能通过将存储于存储装置中的程序加载至存储器中,并通过处理器执行该程序而实现。此外,本系统100既可以由一台计算机构成,也可以由利用多台计算机的分布式计算构成。另外,为了提高处理的速度,也可以使用专用的硬件(例如GPU或FPGA、ASIC等)实现本系统100的功能的一部分或者全部。

在本实施方式中,作为本发明涉及的能力赋予数据生成装置的一个具体例,示出了图2的学习服务提供系统100,但能力赋予数据生成装置的构成并不限于此。例如,在由其他系统受理学习委托、或者由人受理学习委托的情况下,不需要委托受理部200的功能。另外,在由其他系统向委托者提供能力赋予数据、或者由人提供的情况下,不需要服务提供部205的功能。另外,在向对象装置104追加的能力的获得方法为机械学习以外的其他方法的情况下,也不需要学习指令部202和学习模拟器203的功能。

(能力的获得)

在向各种对象装置104提供本学习服务时,必须预先使用于向对象装置104嵌入新能力的结构通用化。因此,在本实施方式中,将用于向对象装置104嵌入新能力的结构模型化,并将其称为“能力获得模型”。通过由对象装置104准备基于能力获得模型的嵌入接口,本系统100的学习模拟器203执行机械学习以获得整合至能力获得模型的能力,从而能够将本系统100生成的能力赋予数据103嵌入对象装置104中。

通过定义能力获得模型,关于应通用的结构的信息被数据化为模型数据。关于数据化的能力获得模型的信息用于在各学习模型中使学习模拟器203与对象装置104之间实现逻辑兼容。通过数据化,能够进行使用各种开发工具的程序或电路的自动生成或自动测试。

在预先准备的能力获得模型不适于对象装置104时,也可以对学习委托者101预先准备的能力获得模型的一部分或者全部进行变更,作成新的能力获得模型。通过利用系统建模语言描述能力获得模型,并存储在文件,从而包含在提供给学习服务提供系统100的学习委托信息102中,由此任意的对象装置104都可以进行学习委托。

通过对各能力获得模型赋予相互识别能力获得模型的识别信息(例如能力获得模型ID或能力获得模型名称),可以使用识别信息在学习模拟器203与对象装置104之间确定能力获得模型并使其逻辑兼容。

通过使用能力获得模型,不需要在委托学习的委托者101与委托接受者(服务提供者)之间交换不必要的技术信息,能够进行各自的开发。

通过公开能力获得模型的信息,能够促进作为与公开的特定的能力获得模型对应的对象装置104的产品的普及。另外,能够由多家供应商提供与公开的特定的能力获得模型对应的学习模型,从而有望通过竞争提高学习水平。

图3表示能力获得模型的构成。本实施方式的能力获得模型500包含作为执行能力的构成的能力部502、作为进行能力部502的输入的接口的数据输入部501、以及作为进行能力部502的输出的接口的数据输出部503这三个定义。数据输入部501从对象装置104或其他设备以规定的规格获取数据,并实施必要的数据处理,将数据格式转换为适于能力部502的格式并输入。数据输入部501包含从对象装置104等接收的数据的规格、数据处理的规格、输入能力部502的数据的规格等的从对象装置104或其他设备向能力部502输入数据的规格的定义。能力部502根据从数据输入部501输入的数据实施信息处理,并将其结果输出至数据输出部503。通过改变该能力部502的内部构成,能够变更能力获得模型502的能力。数据输出部503从能力部502获取结果,并实施必要的数据处理,从而将数据格式转换为适于对象装置104或其他设备的格式并输出。数据输出部503包含从能力部502输出的数据的规格、数据处理的规格、以规定的接口规格向对象装置104等输出的数据的规格等的从能力部502向对象装置104或其他设备输出数据的规格的定义。

通过使用能力获得模型500,即使在学习模拟器203和对象装置104中,数据输入部501、能力部502以及数据输出部503的安装方法不同,也能够保证进行逻辑上相同的动作。另外,通过使用能力获得模型,无需在学习委托者与学习委托接受者之间交换不必要的信息便可委托学习。

此外,在本系统100的学习模拟器203侧,将能力获得模型500利用于获得新能力的学习模拟中,因此,在以下的说明中,也将系统100侧的能力部502称为“能力获得部”(参照图9的能力获得部1004)。另一方面,在对象装置104侧,为了接受并执行利用系统100获得的新能力而利用能力获得模型500,因此,将对象装置104侧的能力部502也称为“能力容纳部”(参照图7的能力容纳部904)。另外,在以下的说明中,为了区别学习模拟器203侧的能力获得模型与对象装置104侧的能力获得模型,使用图7和图9所示的附图标记。

为了能够将利用学习模拟器203获得的能力赋予对象装置104,优选能力获得模型500至少包含数据输入部501与能力部502之间的接口规格、能力部502与数据输出部503之间的接口规格、以及用于确定对象装置104的能力容纳部904的构成的信息。例如,在获得的能力为“图像的分类”的情况下,对象装置104与能力获得模型的关系较简单,因而仅此便可使学习模拟器203与对象装置104整合。具体而言,只要定义为输入为图像数据、输出为分类结果即可。

能力获得模型500还可以包含以下详细的信息。

输入学习模拟器203中安装的能力获得部1004的数据和输入对象装置104的能力容纳部904的数据必须相同。能力获得模型500的数据输入部501可以包含定义从对象装置104的基本构成902相对于数据输入部903的数据输入的接口规格的信息。数据输入部501中可以嵌入任意的逻辑。

在学习中使用Deep Learning的情况下,能力容纳部904成为学习模型中使用的深层神经网络,因而能力获得模型500必须包含确定可接受网络的构成的信息。确定构成的信息既可以是唯一确定可接受网络的信息,也可以表示多个可选择的范围。在其他的学习方法的情况下,包含用于确定获得能力的电路或硬件等学习逻辑的信息。因此,能够保证学习模拟器203的能力获得部1004与对象装置104的能力容纳部904的逻辑构成一致。另一方面,学习模拟器203的能力获得部1004和对象装置104的能力容纳部904的安装方法不同亦可,例如可以为硬件安装和软件安装。例如,在对象装置104的能力容纳部904为软件安装时,在学习模拟器203侧,可以利用硬件构成能力获得部1004的神经网络,以缩短学习时间。

从学习模拟器203中安装的能力获得部1004经由数据输出部1005输出的数据与从对象装置104的能力容纳部904经由数据输出部905输出的数据必须相同。因此,能力获得模型500的数据输出部503可以包含定义从数据输出部905相对于对象装置104的基本构成902的数据输出的接口规格的信息。

通过在能力获得模型500与对象装置104的基本构成902之间定义输入输出的接口规格,能够在学习模拟器203中进行使用基本构成902的模型1006的模拟。例如,在获得的能力为控制对象装置104的基本构成902的能力的情况下,需要上述详细信息。

也可以包含能力获得模型500在学习模拟器203中的安装、或者在对象装置104中的安装的内容、即电路信息或执行形式的程序。反之,也可以仅定义最小限度的接口规格。通过仅定义最小限度的接口规格,能够缩小定义能力获得模型500的文件的大小。也可以包含接口规格和安装的逻辑的定义,从而相对于学习模拟器203和对象装置104分别从模型自动生成。通过自动生成,能够提高学习模型的开发效率,能够机械地进行使用模型信息的严密的规格检查。

能力获得模型500只要在各学习模型中在学习模拟器203与对象装置104之间无矛盾地进行定义即可。相当于学习模拟器203和对象装置104中的能力获得模型500的部分的安装也可以各不相同。

能力获得模型500可以通过例如面向对象编程语言的抽象类或者定义接口的类相当的语言功能进行定义。进而可以增加安装类。或者,可以利用系统建模语言作为接口规格进行定义。也可以利用系统建模语言定义为包含安装的逻辑。或者,可以定义为硬件描述语言的接口规格。也可以利用硬件描述语言定义为包含安装的逻辑。既可以分别仅定义接口规格,也可以包含与数据输入部501、能力部502以及数据输出部503相对应地安装的逻辑的定义。

学习模拟器203中的数据输入部1003和数据输出部1005执行下述动作,即:将与从对象装置104中的数据输入部903和数据输出部905输入输出的数据相同的数据作为学习用数据针对能力获得部1004输入输出。由于只要将与对象装置104相同的数据输入能力获得部1004即可,因此,学习模拟器203中的数据输入部1003、数据输出部1005与对象装置104中的数据输入部903、数据输出部905并非必须为相同构成。在学习中使用的数据的格式或输出数据的格式与对象装置104内处理的数据格式不同的情况下,只要转换为学习模拟器203中的数据输入部1003和数据输出部1005与能力获得部1004之间的接口一致即可。通过在学习模拟器203与对象装置104之间使能力获得模型整合,可以确保学习时的能力获得部1004和对象装置104的能力容纳部904可执行相同的能力、以及分别输入输出相同的数据。另外,利用能力赋予数据103,能够容易地实现向对象装置104嵌入新能力。在能力获得模型被整合的情况下,学习模拟器203的能力获得部1004与对象装置104的能力容纳部904为不同的安装方式(例如硬件安装和软件安装、或者使用的编程语言不同)时,也能够利用能力赋予数据103赋予能力。

通过机械学习生成能力部502所发挥的能力(用于实现信息处理的程序或各种参数等)。机械学习可以使用例如Deep Learning技术实施(在以下的实施方式中,假设为主要使用Deep Learning的实施方法)。但是,学习方法并不限于Deep Learning。

例如,在电动机控制的学习中,可以通过以下方法获得新能力。预先准备多个控制逻辑的构成要素。通过训练随机选择几个构成要素并加以连接。在连接而成的模型中通过遗传算法将结果最佳化。在规定的范围内反复进行上述动作,从而选择最佳的结果。

例如,在字符串的分类学习中,可以通过以下方法获得新能力。准备由人分类的多个样品。准备各种字符串函数。随机选择字符串函数,并将多个字符串函数组合。通过遗传算法使字符串函数的参数最佳化。在规定的范围内反复进行上述动作,从而选择最佳的结果。

例如,可以通过按部分随机生成程序的机器码,并选择相对于输入的输出最佳的机器码,从而获得新能力。通过预先按照目的适当地选择程序的分隔,能够提高学习速度。

AI技术人员根据所受理的委托选择高效的能力获得模型及其训练方法,并受理学习委托。作为Deep Learning中的学习方法,已知有各种方法。AI技术人员根据应用的对象选择以更少的处理完成学习这样的方法。

(Deep Learning的例子)

图4表示利用Deep Learning的能力获得模型的一例。数据输入部501是将输入对象装置104的信号格式转换为适于神经网络的格式,并输入数据化的信号的功能块。在数据输入部501中,作为从对象装置104接收的数据的规格,定义为“动态图像、RGB、分辨率1024×768、30fps”,作为输入能力部502的数据的规格,定义为“静态图像、灰度、分辨率640×480”等。在不需要颜色信息的情况下,通过转换为灰度,学习时间缩短,能力部502的电路构成变简单。这是进行数据格式的转换时的例子,在需要颜色信息的情况下,也可以直接输入RGB的彩色信号。能力部502是通过使用Deep Learning技术的训练,利用已学习的神经网络从输入数据输出作为目标的结果的功能块。能力部502可以模型化为将任意数量且任意尺寸的各层的输入输出全部连接的神经网络的子集。在能力部502的模型中,可以根据需要追加反馈电路、运算电路、逻辑电路、存储电路、同步电路、延迟电路、复位电路等的附加电路。能力部502包含例如AI的种类、层数、各层的结构、激活函数、加权滤波器等的定义。在进行学习时,利用学习模型定义的构成依次构成神经网络,并使参数最佳化。数据输出部503是将神经网络的输出转换为对象装置104或其他设备可利用的信息并输出的功能块。数据输出部503中定义有从能力部502输出的数据的规格、和将其转换为对象装置104所需的数据格式并最终输出的数据的规格等。

(训练信息304)

图5表示训练信息的数据结构的一例。训练信息304是定义实施机械学习所需信息的信息,包含学习模型信息700、对象装置模型信息701、对象模型信息702、学习模拟器模型信息703以及能力赋予数据生成模型信息704。以下,对各个信息700~704进行说明。

(1)学习模型信息700

学习模型信息700是与学习模型相关的信息。学习模型是将通过机械学习获得向对象装置104追加的新能力的方法公式化而成的模型。按照使用的对象装置104或对象105分别作成学习模型。但是,对于动作类似的装置104或对象105,也可以使用相同的学习模型。

学习模型优选包含以下的信息。

■“学习的目标”:可以将构成学习目标的项目的一部分或者全部参数化,并作为可指定学习目标的条件的项目进行定义。作为学习目标的项目,例如可以为能力部502的输出结果的精度或误差、基于评价公式的评价结果、学习的重复计算的次数、输出的稳定性等任意项目。

■“关于能力部的输入的定义”:定义如何将输入能力部502的数据从对象装置104或其他的外部设备输入。例如,在从对象装置104输入两种传感器数据,并对能力部502赋予它们的平均数据的情况下,定义两种传感器数据的规格、用于求出平均数据的处理方法、赋予能力部的数据的规格等。处理的数据例如有图像、声音、自然语言、传感器数据等各种数据,但在数据的种类或规格不同的情况下,分别定义不同的模型。

■“关于能力部的构成的定义”:定义能力部502的内部构成。在例如使用Deep Learning的神经网络的情况下,定义层数、各层的结构(卷积层、池化层、全连接层、节点)、激活函数、滤波器等。也可以定义多个可处理的构成(例如层数的范围、层结构的变动等),并能够从这些范围内进行选择。

■“关于能力部的输出的定义”:定义将从能力部502输出的数据作为怎样的信息朝向对象装置104或其他的外部设备输出。例如,在能力部502输出预测概率(真值)的情况下,若将概率是否大于阈值的二值的判定结果输出至对象装置104,则定义预测概率的数据的规格、判定结果的数据的规格、阈值的规格等。

■“训练能力部的方法”:定义能力部502的机械学习中使用的方法,具体定义实施机械学习的训练程序。AI技术人员通过预先作成训练程序,可以在委托时自动执行训练。例如,Deep Learning的训练程序在指定神经网络的输入输出的构成、神经网络的各层的构成、以及学习用数据等之后作成。Deep Learning的训练程序通过依次输入学习用数据,并将神经网络的各层中的参数最佳化,从而获得新的能力。训练程序也可以定义为模型。通过将训练中可选择的项目参数化,可以利用较少的模型应对大量的变动。在本实施方式中,按照提示给委托者101的学习模型,将上述训练程序定义为模型。

上述学习模型可以使用模型描述语言进行描述。在使用模型描述语言描述学习模型的情况下,可以从模型描述语言自动转换为模拟器可执行的程序。也可以不使用模型描述语言,而以模拟器可执行的程序描述学习模型。

学习模型中可以应用能够基于模型描述的任意方法。例如,提供多个支持以Deep Learning为代表的AI技术的程序。学习模型也可以利用这些程序进行构建。也可以作成更高度化、高速化的模型。通过在训练信息中包含关于学习模型的信息,能够通过学习模拟器获得新的能力。

学习服务提供系统100通过按照各个学习模型,分别利用能力获得模型500定义的通用的架构执行学习模拟,能够使用能力赋予数据103向对象装置104嵌入通过学习获得的能力。

(2)对象装置模型信息701

对象装置模型信息701是与对象装置104的模型相关的信息。通过使用对象装置模型,即使不使用委托者101的对象装置104(实际机器),也可以通过计算机模拟在系统100侧模拟对象装置104的动作或输入输出。

对象装置模型优选包含以下的信息。

■“能力部(能力容纳部)的构成”:定义对象装置104所具有的能力容纳部904的硬件构成的信息。例如,既可以指定FPGA(Field Programmable Gate Array、现场可编程门阵列)的型号,也可以指定门数量。或者,在软件安装的情况下,也可以以CPU(Central Processing Unit)或GPU(Graphics Processing Unit)的型号和可追加利用的存储容量进行指定。在利用云服务的情况下,也可以以云端的种类、CPU种类、CPU数量或块数、使用的存储容量进行指定。并不限于这些例子,电路构成的定义可以利用任意方法进行指定。

■“能力获得模型的接口规格”:定义对象装置104具有的数据输入部903、能力容纳部904、数据输出部905之间的连接方法。例如,在FPGA的情况下,包含关于各输入输出端子的信号的定义。在软件安装的情况下,包含能力容纳部904的软件接口的定义。在利用云服务的情况下,包含用于利用能力的通信方法的定义。作为能力获得模型的接口,能够利用可定义为模型的任意接口。

分别通过硬件或者软件来安装对象装置104的数据输入部903、能力容纳部904、数据输出部905。对象装置104的数据输入部903、能力容纳部904、数据输出部905分别与能力获得模型500的数据输入部501、能力部502、数据输出部503中定义的规格相对应地构成。

在各个学习模型中,对象装置104的能力获得模型901与学习模拟器203的能力获得模型1002之间必须使接口规格兼容。将学习模型的能力获得模型500中定义的数据输入部501、能力部502、数据输出部503的接口规格定义为与对象装置104的数据输入部903、能力容纳部904、数据输出部905兼容。通过使能力获得模型兼容,能够将学习模拟器203中获得的能力转换为能力赋予数据103,并嵌入对象装置104中。

■“装置的基本构成的模型”:是定义对象装置104本来具备的基本构成902(与能力获得模型500对应的构成以外的构成部分)的信息。与能力获得模型500对应的构成901与对象装置104的基本构成902之间进行信号和数据的输入输出,因而在进行学习模拟时需要对象装置104的基本构成902的规格。基本构成的模型中包含例如对象装置104的基本构成902与通过能力获得模型901实现的新能力之间的接口的定义。具体为从基本构成902输入数据输入部903的输入信号的定义、从数据输出部905输出至基本构成902的输出信号的定义、以及各个信号在对象装置104中如何处理的定义。

由能力获得模型的能力部通过学习模型中定义的学习方法获得新能力。新能力的输入信号和输出信号有时根据委托内容而各不相同,有时也根据学习经过而不同。例如,作为输入而选择的传感器的种类、作为输出结果的分类的数量等有时不同。通过能力设定部900嵌入能力容纳部904中的新能力与数据输入部903和数据输出部905的功能配合发挥新能力。能力赋予数据103根据各对象装置的输入信号和输出信号,作为数据输入部903、能力容纳部904以及数据输出部905与基本构成902连接这样的信息而生成。

对象装置模型也可以仅描述对象装置104的接口。对象装置模型可以根据能够在开始训练之前从委托者101或DB(数据库)获得的信息而生成。

(3)对象模型信息702

对象模型信息702是关于对象装置104具有关系的对象105的模型的信息。通过使用对象模型,能够进行考虑到有可能对对象装置104造成影响的对象105的模拟。在此,有可能对对象装置104造成影响的对象105,例如为位于对象装置104外侧的其他装置或对象装置104的周围环境等。

对象模型也可以仅描述对象105和对象装置104的接口。对象模型可以根据能够在开始训练之前从委托者101或DB(数据库)获得的信息而生成。

(4)学习模拟器模型信息703

学习模拟器模型是定义本系统100中的学习所使用的模拟器的构成的模型。在本实施方式中,将学习模型、对象装置模型、对象模型组合而构成学习模拟器(详细后述)。

(5)能力赋予数据生成模型信息704

能力赋予数据生成模型是定义根据本系统100中的学习结果生成用于嵌入对象装置104的电路中的“能力赋予数据”103的方法等的模型。具体而言,只要预先作为能力赋予数据生成模型而准备将学习结果转换为能力赋予数据103的转换程序即可。

例如,在利用FPGA安装的情况下,可以构成神经电路、输入接口电路以及输出接口电路。在利用软件安装的情况下,准备模拟神经电路的软件、和设定作为学习结果而得到的各参数的程序。也可以使用能力赋予数据103,将用于安装所获得的能力的电路部件化,将该部件物理性地插入对象装置104的插槽中。

能力赋予数据生成模型信息704作为使能力部根据来自委托者的各委托而获得的各能力适合于各对象装置104的模型而作成。能力容纳部904的构成根据委托内容或对象装置的不同而不同。因此,能力赋予数据生成模型信息704以与各委托内容或者对象装置的构成对应的方式作成。也可以按照一个能力赋予数据生成模型信息704与多个委托内容和多个能力容纳部904的构成相对应的方式作成。在能力赋予数据生成模型信息704中,可以将对象装置104和对象装置的种类作为参数而作成。

通过使用能力赋予数据生成模型信息704,也可以自动生成用于生成能力赋予数据的程序的目标代码。或者,也可以根据能力赋予数据生成模型信息704中所包含的定义,由程序使用编程语言作成目标代码。通过执行生成能力赋予数据的程序的目标代码,学习模拟器中包含的能力获得模型500的能力部获得的能力,与输入部501和输出部502的构成一同被转换为能够分配给位于外部的对象装置104的能力赋予数据。

也可以使用能力获得模型的定义信息,自动生成能力赋予数据生成模型信息704的一部分或者全部。也可以使用学习模型中包含的能力获得模型的定义信息,自动生成能力赋予数据生成模型信息704的一部分或者全部。例如,在获得对使用照相机图像拍摄到的对象进行分类的能力的情况下,通过使用能力获得模型中包含的图像的输入规格、神经网络的构成以及关于分类输出的规格的信息,能够机械地生成用于生成能力赋予数据的能力赋予数据生成模型信息704。由此,提高作成能力赋予数据生成模型信息704的作业效率。

上述训练信息304中所含的各信息,包含通过AI技术人员预先定义了值的常数项目、和尚未定义值的状态的参数项目。关于参数项目,在受理学习委托时要求委托者101输入信息。为了减轻委托者101的输入负担,使学习委托简单化,优选参数项目尽可能地少。因此,例如优选预先定义学习模拟器模型信息703或能力赋予数据生成模型信息704。另外,对于学习模型信息700、对象装置模型信息701、对象模型信息702而言,也优选预先定义基本的项目,并将委托者101输入的项目限定为尽可能少的项目,例如能力部502的构成和输入输出、学习目标等。

(委托受理部200)

使用图6对委托受理部200的构成进行说明。委托受理部200具有从委托者101的委托终端805经由因特网受理学习委托信息102的功能。委托受理部200例如由供委托受理应用程序801进行动作的Web服务器800、委托信息DB802、对象装置信息DB803、以及对象信息DB804等构成。

委托受理应用程序801是提供在委托终端805中显示用于输入学习委托所需信息的会话式用户界面,取得委托者101输入的信息的功能的程序。委托信息DB802是存储受理的学习委托信息102的数据库。对象装置信息DB803是存储对象装置模型信息701等关于委托者101的对象装置104的信息的数据库,对象信息DB804是存储对象模型信息702等关于对象105的信息的数据库。

委托受理部200向委托者101提示用于从训练信息DB302中登记的多个学习模型中选择所希望的学习模型的学习菜单。当委托者101指定了所希望的学习模型时,委托受理部200使用与所指定的学习模型(机械学习的种类)对应的训练信息304,受理实施机械学习所需的信息,生成学习委托信息102。需要输入项目例如有输入数据的种类和规格、学习的目标、输出数据的种类和规格、确定对象装置或对象装置模型的信息、确定对象或者对象模型的信息等。

委托受理部200将学习委托信息102登记至委托信息DB802中。学习委托信息102中包含确定与所选择的学习模型对应的训练信息304的信息、委托者101输入的信息(例如参数项目的值)等。委托受理部200将学习委托信息102的登记完成通知给学习指令部202。

此外,委托受理部200也可以从委托终端805接收使用系统描述语言等描述学习所需的信息的委托文件。例如在学习菜单中不存在委托者101所希望的学习模型的情况下,委托者101可以作成描述所希望的学习内容的委托文件,并进行学习委托。在受理基于委托文件的学习委托的情况下,AI技术人员根据委托文件作成新的学习模型,并追加至学习菜单中。

(对象装置104)

委托者101指定作为赋予能力的对象的对象装置104,并委托学习。只要是能够追加基于能力获得模型500的新能力的装置,任意装置均可成为对象装置104。列举一个例子,可以举出对静态图像进行分类的图像分类装置、通过传感器数据进行监视的监视装置、使用动态图像预测对象的活动的预测系统、Web服务系统、运行装置等。

图7中示意性地表示对象装置的构成。对象装置104大致由能力设定部900、与能力获得模型500对应的构成901、对象装置104本来具备的基本构成902。与能力获得模型500对应的构成901由数据输入部903、能力容纳部904以及数据输出部905构成。能力设定部900具有使用从本系统100提供的能力赋予数据103,设定与能力获得模型500对应的构成901以使能力容纳部904能够发挥新能力的功能。

通过能够变更功能的硬件构成与能力获得模型500对应的构成901。例如,也可以为重写FPGA的程序的构成。另外,也可以是变更CPU或GPU这样的处理器执行的程序、或者变更程序中使用的参数的构成。例如,通过相对于进行神经网络的仿真的程序变更参数,可以变更神经网络的功能。或者,也可以为通过更换部件的一部分或者所连接的装置来变更功能的构成。

如图8所示,能力赋予数据103例如具有包含能力设定数据1030、输入设定数据1031以及输出设定数据1032的数据结构。能力设定数据1030是用于相对于能力容纳部904设定执行通过学习获得的新能力(例如基于神经网络的图像的分类能力)的功能的数据。输入设定数据1031是用于相对于数据输入部903设定关于向能力容纳部904的数据输入的接口的功能的数据。关于数据输入的接口的功能,例如有从对象装置104的基本构成902向数据输入部903输入所需数据的功能、从对象装置104以外的设备(例如传感器等)向数据输入部903输入所需数据的功能、对输入的数据实施必要加工(例如平均化、统合、抽样、除噪、特征量提取、二值化、颜色转换、分辨率转换等)的功能、将数据格式转换为适合于能力容纳部904的格式的功能等,优选作为输入设定数据1031而赋予上述至少一个功能的设定。另外,输出设定数据1032是用于相对于数据输出部905设定关于从能力容纳部904的数据输出的接口的功能的数据。关于数据输出的接口的功能,例如有对于从能力容纳部904输出的数据实施必要加工(例如平均化、统合、抽样、除噪、特征量提取、二值化、颜色转换、分辨率转换等)的功能、将数据格式转换为适合于对象装置104的基本构成902的格式的功能等,优选作为输出设定数据1032而赋予上述至少一个功能的设定。能力设定数据1030、输入设定数据1031以及输出设定数据1032既可以是程序本身,也可以是程序中使用的参数,还可以是程序和参数两者。能力设定部900根据通过能力赋予数据103赋予的各设定数据进行与能力获得模型500对应的构成901的设定,从而使数据输入部903、能力容纳部904以及数据输出部905能够执行与新能力对应的信息处理。

能力赋予数据103可以根据需要包含动作确认用数据1033。动作确认用数据1033是用于确认数据输入部903、能力容纳部904以及数据输出部905中设定的新能力是否正常动作的数据。通过成组提供用于设定新能力的数据1030~1031和动作确认用数据1033,委托者本身或者对象装置104本身能够容易地进行是否成功嵌入新能力的动作确认,从而便利性出色。

动作确认用数据1033包含一个以上的输入数据和判定信息,该判定信息用于在将该输入数据输入数据输入部903时判定是否为经过能力容纳部904处理后应从数据输出部905输出的数据(正确的输出数据)。例如,在向能力容纳部904追加的功能为静态图像的分类能力的情况下,动作确认用数据1033优选作为输入数据而包含一个以上的静态图像数据,作为判定信息而包含各静态图像数据的正确分类。另外,在向能力容纳部904追加的功能为产品的图像检查能力的情况下,动作确认用数据1033优选作为输入数据而包含良品的图像数据和不良品的图像数据,作为判定信息而包含各图像数据的正确的检查结果(良品或不良品)。另外,在向能力容纳部904追加的功能为声音的发出者识别能力的情况下,动作确认用数据1033优选作为输入数据而包含一个以上的声音数据,作为判定信息而包含各声音数据的发出者的信息。

在能力赋予数据103包含动作确认用数据1033的情况下,能力设定部900在向对象装置104的构成901设定了各设定数据1030~1032之后,将动作确认用数据1033内的输入数据输入数据输入部903中。然后,能力设定部900使用动作确认用数据1033内的判定信息对从数据输出部905输出的数据进行判定,确认是否得到正确的输出。由此,能够进行数据输入部、能力部、数据输出部的一连串动作的确认。在得到正确的输出的情况下,向对象装置104追加新能力成功。另一方面,在从数据输出部905输出的数据与正确的输出不同的情况下,可视为能力赋予数据103中存在不良情况、或者向对象装置104的构成901的设定中存在不良情况的任意一种。该情况下,能力设定部900可以尝试使用能力赋予数据103再次进行设定、或者将不良情况通知给学习服务提供系统100。由此,能够自动进行动作确认和不良情况应对,从而便利性出色。

已设定完毕的数据输入部903从对象装置104的基本构成902获得数据,并进行必要的加工,将数据格式转换为适合于能力容纳部904的格式后输入数据。作为输入数据,例如输入照相机数据、传感器数据、事件数据。在自然语言处理中,作为输入数据而输入大量的文本文件。

已设定完毕的数据输出部905对于从能力容纳部904输出的数据进行必要的加工,将数据格式转换为适合于对象装置104的基本构成902的格式后输出数据。例如,嵌入能力容纳部904中的神经网络的输出被输入至数据输出部905,从数据输出部905向基本构成902输出数据。

关于能力容纳部904,列举具体例子进一步详细进行说明。能力容纳部904例如根据从外部输入的能力赋予数据103构成神经网络,从而接受新能力。能力容纳部904和能力赋予数据103例如可以如下那样实现。

■可重写的FPGA。该情况下,例如将写入FPGA的神经网络的电路和参数的数据作为能力赋予数据。

■将能力作为CPU的程序进行安装。该情况下,例如将运算神经网络回路的动作的执行形式的CPU程序作为能力赋予数据。

■将能力作为GPU的程序进行安装。该情况下,例如将运算神经网络回路的动作的执行形式的GPU程序作为能力赋予数据。

■将能力作为部件进行追加。该情况下,例如使将神经网络写入可重写的FPGA中形成的部件作为包含能力赋予数据的部件。

■将能力作为云服务进行利用。该情况下,例如将嵌入上述任意一种的网络服务的利用程序作为能力赋予数据。

■利用对象装置以外的装置在外部提供的能力。该情况下,将用于利用嵌入上述任意一种的装置的程序作为能力赋予数据。

■将能力作为装置进行追加。该情况下,例如将利用嵌入上述任意一种的装置的程序作为能力赋予数据。

(对象装置模型)

如图7所示,无论对象装置104为何种装置,均可以对应于能力获得模型500的构成901与对象装置104本来具备的基本构成902的组合进行模型化。当将对应于基本构成902的基本构成模型与能力获得模型500组合时,成为获得新能力后的对象装置104的模型。在使用该对象装置模型、和将位于对象装置104的外部的对象105模型化而成的对象模型的情况下,可以在计算机上模拟对象装置104的动作。基本构成模型并非必须将对象装置104具备的所有构成模型化。只要至少通过基本构成模型定义与能力获得模型500相互影响的部分的构成即可。

在该实施例中,示出了对象装置104包含一个能力获得模型的构成,但也可以形成为包含多个能力获得模型的构成。通过具备多个能力获得模型,能够针对多个项目获得能力。在以上的实施例中,示出了对象装置104和学习服务提供系统100作为不同装置实施的例子,但也可以构成为对象装置104包含学习服务提供系统100的一部分或全部。由此,对象装置104成为具备自我学习能力的产品。例如,具备学习能力的本发明涉及的人型机器人,可以从人类接受学习委托进行学习,并向构成与自己相同的自己以外的其他机器人提供能力赋予数据。

本系统100的服务在提供对象装置模型和对象模型的情况下,可以应对任何种类的对象装置104。此外,这些模型可以是委托者101自身作成并进行提供,也可以由委托者101以外的其他人员作成并进行提供。例如,可以由向委托者101提供部件或产品的商家提供模型,也可以由本系统100的服务提供者提供模型。另外,在对象装置模型或对象模型已登记在本系统100的对象装置信息DB803或对象信息DB804中时,委托者101也可以利用登记于这些DB(数据库)中的模型。该情况下,在受理学习委托时,只要要求委托者101输入确定对象装置104的信息(装置的型号等)或者确认对象装置模型的信息(模型ID等)即可。对于对象模型也是同样的。

(学习模拟器203)

图9中表示学习指令部202和学习模拟器203的详细构成。

学习模拟器203使用对象装置104的基本构成模型1006、能力获得模型1002以及对象模型1007,在模拟对象装置104的动作的同时,实施向对象装置104追加的新能力的机械学习。能力获得模型1002具有数据输入部1003、能力部(能力获得部)1004以及数据输出部1005。

能力获得部1004模拟嵌入委托者101的对象装置104并执行能力的部分。在进行学习时,可以适当地变更能力获得部1004的电路构成。能力获得部1004可以通过例如Deep Learning的神经网络实现。根据学习模型信息700设定神经网络的层数或各层的构成。

数据输入部1003模拟从能力获得模型1002的外部获取数据,并进行必要的处理,然后将数据输入能力获得部1004中这一动作。数据输入部1003也可以从对象装置104的基本构成902获取数据,还可以从对象装置104的外部获取数据。作为从对象装置104的外部获取数据的方式,例如设想为从与对象装置104连接的传感器获得传感器数据的方式、从数据库获得数据的方式、以及通过网络接收数据流的方式等。

数据输出部1005模拟从能力获得部1004获取数据,并进行必要的处理,然后将数据输出至能力获得模型1002的外部这一动作。数据输出部1005例如将能力获得部1004的神经网络的输出转换为对象装置104的基本构成902或对象装置104外部的装置所需的数据格式。

基本构成模型1006模拟对象装置104的基本构成902的动作。在能力获得部1004与对象装置104的基本构成902相互影响的情况下,数据输入部1003从基本构成模型1006获得所需的数据,数据输出部1005将能力获得部1004的输出提交给基本构成模型1006。

对象模型1007模拟对象装置104的外部的对象105。例如,对象模型1007模拟与对象装置104连接的其他装置、对象装置104的周围环境(包括物理现象)、对象装置104使用的器具、对象装置104生产、加工的物体、操作对象装置104的操作人员等。

学习模拟器203例如可以通过设置于因特网上的云服务器群构成,也可以通过局域网中存在的私人服务器群构成。为了使模拟处理高速化,也可以使用嵌入式模拟器这样的专用系统。也可以形成为将软件处理的一部分置换成硬件的构成。可以根据学习模型,选择作为实施模拟的装置最佳的构成,例如数据量大的委托、层数多的构成、学习要求实时性的构成等。

模拟可以通过例如利用基于多个CPU的分散处理的方法、利用被称为GPU的高速运算装置的方法等实现高速化。另外,通过利用FPGA等构成神经电路,可以进行并列动作,从而使模拟高速化。可以在学习模拟模型中包含上述高速化的方法。

可以构成为模拟器与实际机器(委托者101的对象装置104)连接。例如,也可以使委托者101的对象装置104与模拟器(执行模拟器的计算机)连接。或者,可以通过委托者101的对象装置104具有的电路(CPU、GPU、FPGA等)执行模拟。通过使用IoT技术,能够处理实时的大数据。也可以利用该技术,将关于委托者101的对象装置104的各种数据经由因特网实时发送给模拟器,使用该数据进行模拟。或者,也可以构成为模拟器具备相当于对象装置104的模型的功能。

也可以将提供服务的装置作为模拟器进行利用。例如,在基于自然语言处理的Web服务的情况下,可以使用云端上的服务器资源,实施Web服务和学习服务这两者。

(学习指令部202)

学习指令部202是承担训练的设定和控制的处理部,如图9所示,学习指令部202具有训练设定部1000和训练控制部1001。训练设定部1000根据从委托者101受理的学习委托信息102和对应的训练信息304,对学习模拟器203进行训练所需的设定。训练控制部1001对学习模拟器203进行控制并实施训练,从而开发(通过学习生成)向对象装置104追加的能力。

具体而言,训练设定部1000根据学习模型信息700而设定学习目标、数据输入部1003和数据输出部1005的输入输出数据的规格或处理内容、能力获得部1004的内部构成、训练程序等。另外,训练设定部1000根据对象装置模型信息701设定与对象装置104的基本构成模型1006、能力获得模型1002之间的输入输出等,进而根据对象模型信息702设定对象模型1007。

(能力赋予数据生成部204)

能力赋予数据生成部204将学习模拟器203的学习结果(通过训练获得的能力)转换为用于嵌入对象装置104的能力容纳部904的数据(能力赋予数据103)。从学习结果生成能力赋予数据103的转换程序,预先通过能力赋予数据生成模型信息704提供。通过该转换程序,生成适合于对象装置104具有的硬件构成(例如FPGA、CPU、GPU等的电路构成)的能力赋予数据103(例如程序、程序中使用的参数)。能力赋予数据103优选如上所述包含能力设定数据、输入设定数据以及输出设定数据。

(服务提供部205)

服务提供部205将通过能力赋予数据生成部204生成的能力赋予数据103提供给委托者101。提供方法可以为任意方法。例如,服务提供部205也可以利用电子手段(例如电子邮件、FTP、从文件服务器下载等)将能力赋予数据103发送给委托者101。另外,服务提供部205也可以将能力赋予数据103记录在DVD-ROM这样的记录介质中并发送给委托者101。另外,服务提供部205还可以经由网络将能力赋予数据103直接发送给委托者101的对象装置104。能力赋予数据103既可以以对象装置104可执行的程序的形式提供,也可以以在云端上执行的程序或从云端提供的服务的形式提供。另外,也可以以将多个装置组合而成的IoT服务的形态提供能力赋予数据103。另外,也可以将能力赋予数据嵌入半导体部件中、或者安装在可嵌入对象装置104的部件中。或者,也可以是服务人员前往委托者101处,将能力赋予数据103安装至对象装置104中。另外,也可以是委托者101保管对象装置104,并在嵌入能力赋予数据103之后返还对象装置104。

(系统的动作)

图10中表示学习服务提供系统100中的学习委托的受理至能力赋予数据的提供为止的处理流程。

当委托者101经由因特网访问本系统100,并申请新的学习委托时,委托受理部200开始受理学习委托(步骤S1200)。委托受理部200将委托输入画面提示给委托者101的终端805,使委托者101输入所希望的学习模型和学习所需的信息(步骤S1201)。当学习委托信息的输入完成时(步骤S1202中为“是”),委托受理部200将学习委托信息102登记至委托信息DB802中,并将受理了新的学习委托的情况通知给学习指令部202(步骤S1203)。

图11表示学习委托信息102的数据结构的一例。学习委托信息102包含学习目标信息1300、学习模型识别信息1301以及学习模型参数1302。学习目标信息1300包含关于委托者101指定的学习目标的信息。学习模型识别信息1301包含确定与委托者101指定的学习模型对应的训练信息304的信息(例如训练信息DB302中的训练信息304的ID等)。学习模型参数1302包含委托者101针对学习模型的各参数项目输入的信息。

接着,学习指令部202根据学习委托信息102对学习模拟器203进行学习模型、对象装置模型、对象模型等的设定(步骤S1204),并对学习模拟器203进行控制实施训练(步骤S1205)。例如,在Deep Leariing等的神经网络的情况下,针对多个层分别阶段性地改变参数,同时对输出进行评价,从而使参数最佳化以使与学习目标的适合度变高。当相对于学习目标的适合度满足预先设定的完成条件时(步骤S1206中为“是”),学习指令部202结束训练。

接着,能力赋予数据生成部204根据学习模拟器203的学习结果(通过训练获得的能力)生成能力赋予数据103(步骤S2107)。最后,服务提供部205将能力赋予数据103提供给委托者101(步骤S1208)。

<本系统的优点>

对于委托者101来说,存在如下优点。首先,在利用该系统100的情况下,委托者101本身不需要实施机械学习,因而能够提高用于向对象装置104追加新能力的开发业务的效率。另外,委托者101只要提供机械学习所需的信息即可,因而此,即便是不具备关于机械学习的知识或系统的人也容易利用本系统100。另外,通过能力赋予数据103(将新能力追加至对象装置104的数据)提供学习结果,因而委托者101可以将通过机械学习获得的新能力简单地追加至自身的装置104中。

另一方面,对于服务提供者来说,存在如下优点。由于进行机械学习所需的信息由委托者101提供,因而可以保证按照委托执行机械学习。另外,能够尽可能使受理来自委托者101的委托、实施机械学习等的处理自动化、省力化。进而,由于将学习结果转换为能力赋予数据103并提供给委托者101,因而也可以尽可能使学习结果的提供以及向对象装置104的安装自动化、省力化。

另外,通过在机械学习的过程中使用对象装置模型或对象模型进行模拟,即使不存在对象装置104的实际机器,也可以进行考虑到对象装置104或对象105的动作或影响等的机械学习。在不需要对象装置104的实际机器的情况下,极其容易实现机械学习的代理。尤其是在如生产设备这样的大型装置或工作中的装置的情况下,将实际机器利用于机械学习并不现实。本学习服务在这样的情况下也能够利用,适用的自由度和便利性出色。

另外,在对象装置104具有与能力获得模型500对应的架构这一前提下,能够提供具有与该能力获得模型500对应的数据结构的能力赋予数据103,因而容易将新能力嵌入对象装置104中。因此,能够提高用于向对象装置104追加新能力的开发业务效率。

此外,上述实施方式的构成仅表示本发明的一个具体例,并未意图限定本发明的范围。本发明能够在不脱离其技术思想的范围内采用各种具体构成。例如,上述实施方式中示出的系统构成、数据结构、用户界面、参数等仅为一例,可以根据机械学习的种类、学习目的、欲获得的能力、对象装置的构成等适当地进行变更。另外,在上述实施方式中,示出了通过机械学习获得向对象装置104追加的新能力的例子,但能力的获得方法并不限于机械学习。例如,既可以是通过使用有限元法的三维结构模拟、流体模拟、最佳化问题等获得的能力,也可以是人开发出的能力。

(附记1)

一种能力赋予数据生成装置,具备至少一个存储器、和与所述存储器连接的至少一个硬件处理器,并生成作为向对象装置追加新能力的数据的能力赋予数据,其中,

所述对象装置具有通过能力获得模型而模型化的架构,作为用于向所述对象装置具备的基本构成追加嵌入新能力的架构,所述能力获得模型包含执行能力的能力部、作为进行所述能力部的输入的接口的数据输入部以及作为所述能力部的输出接口的数据输出部,所述能力赋予数据生成装置生成能力赋予数据,所述能力赋予数据包含:能力设定数据,用于对所述对象装置的所述能力获得模型中的所述能力部设定功能;输入设定数据,用于对所述对象装置的所述能力获得模型中的所述数据输入部设定功能;以及输出设定数据,用于对所述对象装置的所述能力获得模型中的所述数据输出部设定功能。

(附记2)

一种能力赋予数据生成方法,通过具备至少一个存储器、和与所述存储器连接的至少一个硬件处理器的计算机生成作为向对象装置追加新能力的数据的能力赋予数据,其中,

所述对象装置具有通过能力获得模型而模型化的架构,作为用于向所述对象装置具备的基本构成追加嵌入新能力的架构,所述能力获得模型包含执行能力的能力部、作为进行所述能力部的输入的接口的数据输入部以及作为所述能力部的输出接口的数据输出部,所述计算机执行生成能力赋予数据的步骤,所述能力赋予数据包含:能力设定数据,用于对所述对象装置的所述能力获得模型中的所述能力部设定功能;输入设定数据,用于对所述对象装置的所述能力获得模型中的所述数据输入部设定功能;以及输出设定数据,用于对所述对象装置的所述能力获得模型中的所述数据输出部设定功能。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1