技术领域
[0001] 本发明涉及模型集成装置、模型集成方法、模型集成程序、推定系统、检查系统以及控制系统。
相关背景技术
[0002] 以往,在生产线等制造产品的场景中,利用如下技术:通过拍摄装置拍摄所制造的产品,并基于所得到的图像数据检查产品的优劣。例如,在专利文献1中,提出一种检查装置,其基于学习完毕的第1神经网络判定图像所映现的检查对象物是正常还是异常,在判定检查对象物为异常的情况下,基于学习完毕的第2神经网络对该异常的种类进行分类。
[0003] 专利文献1:日本特开2012‑026982号公报
具体实施方式
[0088] 以下,基于附图对本发明的一方面所涉及的实施方式(以下,叙述为“本实施方式”)进行说明。但是,以下说明的本实施方式在所有方面只不过是本发明的例示。能够不脱离本发明的范围地进行各种改进、变形是不言而喻的。换句话说,在实施本发明时,可以适当地采用与实施方式对应的具体的构成。此外,利用自然语言对本实施方式中出现的数据进行说明,但更具体而言,通过计算机可识别的近似语言、指令、参数、机器语言来指定。
[0089] §1应用例
[0090] 首先,使用图1,对应用本发明的场景的一个例子进行说明。图1示意性地例示应用了本发明的场景的一个例子。如图1所示那样,本实施方式所涉及的推定系统100具备模型集成装置1以及多个学习装置2。模型集成装置1以及各学习装置2可以经由网络而相互连接。网络的种类例如可以从因特网、无线通信网、移动通信网、电话网、专用网等适当地选择。
[0091] 本实施方式所涉及的各学习装置2是构成为利用本地学习数据3来执行学习模型4的机器学习的计算机。具体而言,本实施方式所涉及的各学习装置2收集本地学习数据3。而且,本实施方式所涉及的各学习装置2通过利用了收集到的本地学习数据3的机器学习,构建获得了规定能力的学习完毕的学习模型4。
[0092] 规定能力是对所给出的数据执行某种信息处理的能力。规定能力可以不被特别限定,可以根据实施方式而适当地选择。在一个例子中,规定能力是对未知的对象数据进行某种推断(递归或者识别)的推定能力。推定能力例如是对未知的对象数据所含的某种特征进行推断的能力。特征可以包括能够根据数据推定的所有要素。作为这样的推定能力,例如可举出:推断图像数据所映现的产品的状态(优劣)的能力、根据植物的栽培状况决定对栽培装置给出的控制指示的能力、根据通过观察驾驶员得到的数据推断该驾驶员的状态的能力、根据与气象相关的数据预测发电装置的发电量的能力、根据对象者的生命体征数据推断该对象者的健康状态的能力等。
[0093] 在本实施方式中,各学习装置2使各学习模型4学会推定通过传感器S得到的传感检测数据所含的某种特征的能力来作为规定能力。传感器S例如可以是相机、麦克风、光度计、温度计、湿度计、生命体征传感器等。例如,可以将拍摄产品外观的相机采用为传感器S。在这种情况下,传感检测数据可以是映现有产品的图像数据,推定某种特征的能力可以是推断图像数据所映现的产品的状态(优劣)的能力。各学习装置2利用学习完毕的学习模型
4,推定通过传感器S得到的传感检测数据所含的特征。
[0094] 各学习模型4是通过机器学习能够获得规定能力的模型,其种类可以不被特别限定,可以根据实施方式适当地选择。机器学习的种类没有被特别限定,可以根据实施方式适当地选择。如图1所示那样,在本实施方式中,各学习模型4通过神经网络构成。对于各学习完毕的学习模型4,可以为推断器、识别器等根据用途而使用不同的呼称。本地学习数据3是在各学习装置2中用于学习模型4的机器学习的学习数据。本地学习数据3的构成可以根据学习模型4的种类、学习模型4所获得的能力等而适当地选择。
[0095] 各学习装置2例如可以配置于单独的现场,通过不同的利用者来利用。各学习装置2可以根据与各个状况对应的推定的目的,来构建各学习完毕的学习模型4。但是,各学习装置2的配置以及利用者可以不被特别限定,可以根据实施方式适当地选择。例如,也可以是,至少一部分学习装置2配置于相同的现场,由相同的利用者利用。
[0096] 在本实施方式中,各学习完毕的学习模型4构成为包括具有共同的结构的共同部分40。换句话说,各学习完毕的学习模型4构成为共有共同部分40的结构。各学习完毕的学习模型4中的任一个的组合在除共同部分40以外的部分中具有不同的结构。各学习模型4的结构可以根据使各学习模型4获得的规定能力的种类、各学习模型4所要求的规格等而适当地决定。例如,在牺牲计算速度而提高性能的情况下,也可以较多地设定构成各学习模型4的神经网络的层的数量。另一方面,在牺牲性能而提高计算速度的情况下,可以较少地设定构成各学习模型4的神经网络的层的数量。
[0097] 图1的例子中,存在三个学习装置2a~2c。以下,为了方便说明,在区别各学习装置的情况下,标注a、b、c等进一步的附图标记,在不是这样的情况下,如“学习装置2”等那样省略这些附图标记。各学习装置2a~2c收集各本地学习数据3a~3c,并通过利用了所得到的各本地学习数据3a~3c的机器学习,构建学习完毕的学习模型4a~4c。图1的例子中,各学习完毕的学习模型4a~4c由6层的神经网络构成,在从输入侧的第1层至第3层的网络中,神经元(节点)的数量以及耦合关系是共同的。另一方面,在从其他的第4层至第6层的网络中,神经元的数量以及耦合关系不同。因此,从第1层至第3层的网络是共同部分40。
[0098] 但是,学习装置2的数量以及各学习模型4的构成可以不限定于这样的例子,可以根据实施方式而适当地决定。学习装置2的数量可以为两个,也可以为4个以上。神经网络的结构可以不局限于6层。另外,图1的例子中,各学习模型4a~4c的整体结构分别不同。然而,各学习模型4的关系可以不限定于这样的例子,也可以是,只要任一个的组合在除共同部分40以外的部分中具有不同的结构,则其他组合的整体结构可以一致。
[0099] 相对于此,本实施方式所涉及的模型集成装置1从各学习装置2收集学习完毕的学习模型4。接下来,本实施方式所涉及的模型集成装置1对收集到的各学习完毕的学习模型4执行集成处理,所述集成处理对设定在共同部分40内的集成范围41中所反映的机器学习的结果进行集成。本实施方式所涉及的模型集成装置1通过将集成处理的结果43向各学习装置2分发,并对于各学习装置2,使集成处理的结果用于各学习完毕的学习模型4内的集成范围41,从而对各学习装置2保持的学习完毕的学习模型4进行更新。
[0100] 图1中,例示出从第1层至第3层的网络设定于集成范围41,对各学习完毕的学习模型4a~4c执行对该集成范围41进行集成的集成处理的场景。集成处理的结果43通过对第1层至第3层所含的各神经元的运算参数的值进行集成而获得。模型集成装置1通过对于各学习装置2a~2c,使该集成处理的结果43用于第1层至第3层所含的各神经元的运算参数,从而对各学习完毕的学习模型4a~4c进行更新。
[0101] 如以上那样,在本实施方式中,不是集结本地学习数据3其本身,而是收集通过各学习装置2构建的学习完毕的学习模型4,并对收集到的各学习完毕的学习模型4执行集成处理。因此,能够抑制模型集成装置1所耗费的通信成本以及计算成本。另外,集成处理由于只不过对设定于各学习完毕的学习模型4所含的共同部分40的集成范围41执行,所以允许各学习模型4的结构不同。例如,在图1的例子中,各学习模型4a~4c在除共同部分40以外的部分中具有不同的结构。换句话说,即便本地学习数据3的形式以及各学习模型4的结构不一致,也能够对各学习完毕的学习模型4执行集成处理。
[0102] 而且,通过该集成处理,能够使各学习完毕的学习模型4中所反映的机器学习的结果适当地反映于其他学习完毕的学习模型4。由此,集成处理后的各学习完毕的学习模型4能够基于其他学习完毕的学习模型4的机器学习的结果,对各学习装置2单独得不到的那样的数据,也适当地发挥规定能力。例如,在集成处理后的学习完毕的学习模型4a反映有基于构建其他学习完毕的学习模型4b时利用的本地学习数据3b的机器学习的结果。由此,集成处理后的学习完毕的学习模型4a能够对虽不包含于本地学习数据3a但包含于本地学习数据3b那样的数据,适当地发挥规定能力。因此,根据本实施方式,能够实现构建能力更高的学习完毕的学习模型4的环境。
[0103] §2构成例
[0104] [硬件构成]
[0105] <模型集成装置>
[0106] 接下来,使用图2,对本实施方式所涉及的模型集成装置1的硬件构成的一个例子进行说明。图2示意性地例示本实施方式所涉及的模型集成装置1的硬件构成的一个例子。
[0107] 如图2所示那样,本实施方式所涉及的模型集成装置1是电连接有控制部11、存储部12、通信接口13、输入装置14、输出装置15以及驱动器16的计算机。此外,图2中,将通信接口记载为“通信I/F”。
[0108] 控制部11包括作为硬件处理器的CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等,并构成为基于程序以及各种数据来执行信息处理。存储部12是存储器的一个例子,例如由硬盘驱动器、固态驱动器等构成。在本实施方式中,存储部12存储模型集成程序81、多个学习结果数据221、集成结果数据121、组列表123、分配信息124、模板126、评价用样本129等各种信息。
[0109] 模型集成程序81是用于使模型集成装置1执行与各学习模型4的集成相关的后述的信息处理(图9、图11、图13、图15、图17~图19)的程序。模型集成程序81包括该信息处理的一系列的命令。各个学习结果数据221表示与通过机器学习构建的各学习完毕的学习模型4相关的信息。集成结果数据121表示集成处理的结果43而得到。集成结果数据121可作为执行了模型集成程序81的结果。组列表123表示成为分配各学习装置2的候选的多个组的一览。分配信息124表示各学习装置2与各组之间的对应关系。模板126给出学习模型4的结构的样板。各学习装置2可以在决定各学习模型4的结构时利用该模板126。评价用样本129用于评价集成处理后的各学习完毕的学习模型4的能力。详情将后述。
[0110] 通信接口13例如是有线LAN(Local Area Network,局域网)模块、无线LAN模块等,且是用于进行经由网络的有线或者无线通信的接口。模型集成装置1通过利用该通信接口13,能够与其他信息处理装置(例如学习装置2)进行经由网络的数据通信。
[0111] 输入装置14例如是鼠标、键盘等用于进行输入的装置。另外,输出装置15例如是显示器、扬声器等用于进行输出的装置。操作人员通过利用输入装置14以及输出装置15,能够操作模型集成装置1。
[0112] 驱动器16例如是CD驱动器、DVD驱动器等,且是用于读入存储于存储介质91的程序的驱动器装置。驱动器16的种类可以根据存储介质91的种类而适当地选择。上述模型集成程序81、多个学习结果数据221、组列表123、分配信息124、模板126以及评价用样本129的至少任一个可以存储于该存储介质91。
[0113] 存储介质91是以计算机及其他装置、机器等能够读取所记录的程序等信息的方式通过电、磁、光学、机械或化学作用存储该程序等信息的介质。模型集成装置1可以从该存储介质91获取上述模型集成程序81、多个学习结果数据221、组列表123、分配信息124、模板126以及评价用样本129的至少任一个。
[0114] 此处,图2中,作为存储介质91的一个例子,例示出CD、DVD等盘式存储介质。然而,存储介质91的种类不限定于盘式,也可以是盘式以外的类型。作为盘式以外的存储介质,例如可举出闪存等半导体存储器。
[0115] 此外,关于模型集成装置1的具体的硬件构成,能够根据实施方式,适当地进行构成要素的省略、置换以及追加。例如,控制部11可以包括多个硬件处理器。硬件处理器可以由微处理器、FPGA(field‑programmable gate array,现场可编程门阵列)、DSP(digital signal processor,数字信号处理器)等构成。存储部12可以由控制部11所含的RAM以及ROM构成。也可以省略通信接口13、输入装置14、输出装置15以及驱动器16的至少任一个。模型集成装置1可以由多台计算机构成。在这种情况下,各计算机的硬件构成可以一致,也可以不一致。另外,模型集成装置1除了被设计为所提供的服务专用的信息处理装置之外,也可以为通用的服务器装置、PC(Personal Computer,个人计算机)等。
[0116] <学习装置>
[0117] 接下来,使用图3,对本实施方式所涉及的各学习装置2的硬件构成的一个例子进行说明。图3示意性地例示本实施方式所涉及的各学习装置2的硬件构成的一个例子。
[0118] 如图3所示那样,本实施方式所涉及的各学习装置2是电连接有控制部21、存储部22、通信接口23、输入装置24、输出装置25、驱动器26以及外部接口27的计算机。此外,图3中,将通信接口以及外部接口分别记载为“通信I/F”以及“外部I/F”。
[0119] 可以构成为各学习装置2的控制部21~驱动器26分别与上述模型集成装置1的控制部11~驱动器16分别相同。即,控制部21包括作为硬件处理器的CPU、RAM、ROM等,并构成为基于程序以及数据执行各种信息处理。存储部22例如由硬盘驱动器、固态驱动器等构成。存储部22存储学习程序82、推定程序83、本地学习数据3、学习结果数据221等各种信息。
[0120] 学习程序82是用于使学习装置2执行与学习模型4的机器学习相关的后述的信息处理(图7)的程序。学习程序82包括该信息处理的一系列的命令。学习结果数据221可作为执行了学习程序82的结果而得到。另外,推定程序83是用于使学习装置2执行用于与利用了学习完毕的学习模型4的规定推定相关的后述的信息处理(图8)的程序。推定程序83包括该信息处理的一系列的命令。本地学习数据3被利用于机器学习,所述机器学习用于使学习模型4获得规定能力。详情将后述。
[0121] 通信接口23例如是有线LAN模块、无线LAN模块等,且是用于进行经由了网络的有线或者无线通信的接口。各学习装置2通过利用该通信接口23,能够与其他信息处理装置(例如模型集成装置1)进行经由了网络的数据通信。
[0122] 输入装置24例如是鼠标、键盘等用于进行输入的装置。另外,输出装置25例如是显示器、扬声器等用于进行输出的装置。操作人员通过利用输入装置24以及输出装置25,能够操作各学习装置2。
[0123] 驱动器26例如是CD驱动器、DVD驱动器等,且是用于读入存储于存储介质92的程序的驱动器装置。上述学习程序82、推定程序83以及本地学习数据3中的至少任一个可以存储于存储介质92。另外,各学习装置2可以从存储介质92获取上述学习程序82、推定程序83以及本地学习数据3中的至少任一个。
[0124] 外部接口27例如是USB(Universal Serial Bus)端口、专用端口等,且是用于与外部装置进行连接的接口。外部接口27的种类以及数量可以根据所连接的外部装置的种类以及数量适当地选择。在本实施方式中,各学习装置2经由外部接口27与传感器S连接。由此,各学习装置2构成为能够从传感器S获取成为执行规定推定的对象的传感检测数据。但是,用于获取传感检测数据的构成可以不限定于这样的例子,可以根据实施方式适当地决定。例如,也可以是,在传感器S具备通信接口的情况下,各学习装置2不是经由外部接口27而是经由通信接口23而与传感器S连接。
[0125] 此外,关于各学习装置2的具体的硬件构成,能够根据实施方式,适当地进行构成要素的省略、置换以及追加。例如,控制部21可以包括多个硬件处理器。硬件处理器可以由微处理器、FPGA、DSP等构成。存储部22可以由控制部21所含的RAM以及ROM构成。可以省略通信接口23、输入装置24、输出装置25、驱动器26以及外部接口27的至少任一个。各学习装置2可以由多台计算机构成。在这种情况下,各计算机的硬件构成可以一致,也可以不一致。在本实施方式中,各学习装置2的硬件构成共同。然而,各学习装置2的硬件构成的关系可以不限定于这样的例子。也可以是,一个学习装置2与其他学习装置2之间硬件构成不同。另外,各学习装置2除了可以为被设计为所提供的服务专用的信息处理装置之外,也可以为通用的服务器装置、通用的PC等。
[0126] [软件构成]
[0127] <模型集成装置>
[0128] 接下来,使用图4,对本实施方式所涉及的模型集成装置1的软件构成的一个例子进行说明。图4示意性地例示本实施方式所涉及的模型集成装置1的软件构成的一个例子。
[0129] 模型集成装置1的控制部11将存储于存储部12的模型集成程序81在RAM展开。然后,控制部11通过CPU解释以及执行展开于RAM的模型集成程序81,并控制各构成要素。由此,如图4所示那样,本实施方式所涉及的模型集成装置1作为具备模型收集部111、范围调整部112、集成处理部113、模型更新部114、权重设定部115以及分组部116作为软件模块的计算机来工作。即,在本实施方式中,模型集成装置1的各软件模块通过控制部11(CPU)来实现。
[0130] 模型收集部111从各学习装置2收集学习完毕的学习模型4。范围调整部112在收集到的各学习完毕的学习模型4所含的共同部分40内决定集成范围41。集成处理部113对各学习完毕的学习模型4执行对设定在共同部分40内的集成范围41中所反映的机器学习的结果进行集成的集成处理。模型更新部114通过将表示集成处理的结果43的集成结果数据121向各学习装置2分发,并对于各学习装置2,使集成处理的结果43用于各学习完毕的学习模型4内的集成范围41,从而对各学习装置2保持的学习完毕的学习模型4进行更新。此外,“模型更新”只要为了学习完毕学习模型4的更新而分发集成处理的结果43即可,可以不包括指示各学习装置2来执行更新处理。
[0131] 权重设定部115对各学习完毕的学习模型4设定权重。各权重规定集成处理的各学习完毕的学习模型4的优先程度。与此对应地,对集成范围41中所反映的机器学习的结果进行集成可以包括使用所设定的各权重,对各学习完毕的学习模型4的集成范围41所含的运算参数的值进行加权之后进行平均化或者进行求和。
[0132] 分组部116将各学习装置2分配于多个组中的至少任一个。与此对应地,模型收集部111可以从属于同一组的多个学习装置2分别收集学习完毕的学习模型4。范围调整部112可以在同一组内,在收集到的各学习完毕的学习模型4所含的共同部分40内决定集成范围41。集成处理部113也可以在同一组内,对各学习完毕的学习模型4执行对所决定的集成范围41中所反映的机器学习的结果进行集成的集成处理。模型更新部114可以通过在同一组内,将集成处理的结果43向各学习装置2分发,并对于各学习装置2,使集成处理的结果43用于各学习完毕的学习模型4内的集成范围41,从而对各学习装置2保持的学习完毕的学习模型4进行更新。此外,该组内的集成处理可以以重复多个组的方式执行。即,集成处理部113可以在一个组内对学习完毕的学习模型4执行了集成处理之后,使用该集成处理的结果43,在属于这一个组内的学习装置2所属的其他组内对学习完毕的学习模型4执行集成处理。在这种情况下,可以在一个组和其他组中将不同的范围设定为集成范围41。与此对应地,在一个组内执行了集成处理的集成范围41也可以与在其他组内执行了集成处理的集成范围41不同。在本实施方式中,分组部116将对各学习装置2进行组分配的结果储存于分配信息
124。
[0133] 图5示意性地例示本实施方式所涉及的分配信息124的数据构成的一个例子。在本实施方式中,分配信息124具有表格形式的结构,各记录(行数据)具有“用户ID”字段以及“组ID”字段。“用户ID”字段储存有用于识别各学习装置2的信息,“组ID”字段储存有用于对分配了对象的学习装置2的组进行识别的信息。一个记录表示一个分配结果。但是,分配信息124的数据构成可以不限定于这样的例子,可以根据实施方式适当地决定。
[0134] (学习模型)
[0135] 接下来,对各学习模型4的一个例子进行说明。如图4所示那样,在本实施方式中,各学习模型4由神经网络构成。具体而言,各学习模型4由6层结构的神经网络构成,从输入侧依次具备输入层51、中间(隐藏)层52~55以及输出层56。但是,各学习模型4的结构可以不限定于这样的例子,可以在各学习装置2中适当地决定。例如,各学习模型4具备的中间层的数可以不限定于4个,可以为3个以下,也可以为5个以上。
[0136] 各层51~56所含的神经元的数量可以根据实施方式适当地选择。邻接的层的神经元彼此适当地耦合,各耦合设定有权重(耦合负载)。各神经元设定有阈值,基本上根据各输入与各权重之积的和是否超过阈值来决定各神经元的输出。各层51~56所含的各神经元间的耦合的权重以及各神经元的阈值是学习模型的运算参数的一个例子。此外,图4所示的各层51~56所含的神经元的数量以及与邻接的层之间的耦合关系只不过是为了方便说明的一个例子,不是对本发明以及本实施方式进行限定。
[0137] 图4的例子中,假定模型收集部111从三个学习装置2a~2c分别收集了学习完毕的学习模型4a~4c的场景。对于各学习完毕的学习模型4a~4c而言,在从输入层51(第1层)至中间层53(第3层)的网络中,神经元的数量以及与邻接的层之间的耦合关系是共同的。另一方面,在从中间层54(第4层)至输出层56(第6层)的网络中,神经元的数量以及耦合关系不同。因此,从输入层51至中间层53的网络是共同部分40。
[0138] 范围调整部112能够在从该从输入层51至中间层53的范围(共同部分40)内决定应用集成处理的范围(集成范围41)。图4的例子中,假定范围调整部112将从输入层51至中间层53的范围决定为集成范围41的场景。机器学习的结果反映于各学习模型4所含的运算参数的值。因此,集成处理部113通过对各学习模型4的集成范围41所含的运算参数的值进行集成,从而对各学习模型4的集成范围41中所反映的机器学习的结果进行集成。
[0139] 模型更新部114将表示集成处理的结果43的集成结果数据121向各学习装置2a~2c分发,并对于各学习装置2a~2c,使集成处理的结果43用于各学习完毕的学习模型4a~
4c内的集成范围41。即,对于各学习装置2a~2c,模型更新部114使集成范围41内的各参数的值置换为通过集成处理得到的各参数的值。由此,模型更新部114对各学习装置2a~2c保持的各学习完毕的学习模型4a~4c进行更新。
[0140] <学习装置>
[0141] (A)学习处理
[0142] 接下来,使用图6A,对与本实施方式所涉及的各学习装置2的学习处理相关的软件构成的一个例子进行说明。图6A示意性地例示与本实施方式所涉及的各学习装置2的学习处理相关的软件构成的一个例子。
[0143] 各学习装置2的控制部21将存储于存储部22的学习程序82在RAM展开。而且,控制部21通过CPU解释以及执行在RAM展开的学习程序82,并控制各构成要素。由此,如图6A所示那样,本实施方式所涉及的各学习装置2作为具备学习数据收集部211、结构决定部212、学习处理部213以及保存处理部214来作为软件模块的计算机而工作。即,在本实施方式中,与学习处理相关的各学习装置2的各软件模块通过控制部21(CPU)来实现。
[0144] 学习数据收集部211对用于学习模型4的机器学习的本地学习数据3进行收集。在本实施方式中,学习模型4由神经网络构成,因此,本地学习数据3由分别包括训练数据31以及正确数据32的组合的多个学习数据集30构成。训练数据31(输入数据)是成为发挥规定能力的对象的数据。正确数据32(教师数据)是表示相对于训练数据31发挥了规定能力的结果(正确)的数据。正确数据32可以被称为标签。
[0145] 训练数据31以及正确数据32可以根据使学习模型4学会的规定能力适当地选择。例如,在使学习模型4学会推断图像数据所映现的产品的状态(优劣)的能力来作为规定能力的情况下,训练数据31可以由映现有产品的图像数据构成,正确数据32可以由表示该产品的状态(优劣)的数据构成。在本实施方式中,学习模型4学会对通过传感器S得到的传感检测数据所含的某种特征进行推定的能力来作为规定能力。因此,训练数据31是与通过传感器S得到的传感检测数据同种的数据,正确数据32是表示针对训练数据31所含的特征的推定的正解的数据。
[0146] 结构决定部212决定学习模型4的结构。学习模型4的结构定义基于运算参数的运算处理。学习模型4的结构可以根据该学习模型4的种类适当地规定。在本实施方式中,学习模型4由神经网络构成。因此,学习模型4的结构例如可以根据神经网络的层数、各层所含的神经元的数量、各层的耦合关系等来规定。在各学习装置2中,各学习模型4的结构可以适当地决定。作为其结果,各学习模型4可构成为包括具有共同的结构的共同部分40。另外,各学习模型4中的任一个的组合可构成为在除共同部分40以外的部分具有不同的结构。
[0147] 学习处理部213通过利用了收集到的本地学习数据3的机器学习,构建获得了规定能力的学习完毕的学习模型4。在本实施方式中,学习处理部213通过机器学习,训练学习模型4,以使得若输入训练数据31,则输出与正确数据32对应的输出值。由此,构建获得了规定能力的学习完毕的学习模型4。
[0148] 保存处理部214将与构建成的学习完毕的学习模型4相关的信息保存于规定的存储区域。在本实施方式中,保存处理部214生成表示通过机器学习构建出的学习完毕的学习模型4(神经网络)的结构以及运算参数的信息作为学习结果数据221,并将所生成的学习结果数据221保存于规定的存储区域。
[0149] (B)推定处理
[0150] 接下来,使用图6B,对与本实施方式所涉及的各学习装置2的推定处理相关的软件构成的一个例子进行说明。图6B示意性地例示与本实施方式所涉及的各学习装置2的推定处理相关的软件构成的一个例子。
[0151] 各学习装置2的控制部21将存储于存储部22的推定程序83在RAM展开。而且,控制部21通过CPU解释以及执行在RAM展开的推定程序83,并控制各构成要素。由此,如图6B所示那样,本实施方式所涉及的各学习装置2作为具备对象数据获取部216、推定部217以及输出部218作为软件模块的计算机而工作。即,在本实施方式中,与推定处理相关的各学习装置2的各软件模块通过控制部21(CPU)来实现。
[0152] 对象数据获取部216获取成为发挥使学习完毕的学习模型4学会的规定能力的对象的对象数据225。在本实施方式中,对象数据获取部216从传感器S获取对象数据225。推定部217通过保持学习结果数据221,从而包括学习完毕的学习模型4。推定部217利用学习完毕的学习模型4,推定对象数据225所含的特征。具体而言,推定部217参照学习结果数据221,进行学习完毕的学习模型4的设定。接下来,推定部217将获取到的对象数据225输入学习完毕的学习模型4的输入层51,并执行学习完毕的学习模型4的运算处理。由此,推定部
217从学习完毕的学习模型4的输出层56获取与推定了对象数据225所含的特征的结果对应的输出值。在本实施方式中,得到该输出值与发挥规定能力对应。此外,该“推定”例如可以是通过分组(分类、识别)而导出离散值(例如,与特定的特征对应的类别)以及通过递归而导出连续值(例如,出现特定的特征的概率)的任一种。输出部218输出与推定了特征的结果相关的信息。
[0153] <其他>
[0154] 关于模型集成装置1以及各学习装置2的各软件模块,通过后述的动作例详细地进行说明。此外,在本实施方式中,对模型集成装置1以及各学习装置2的各软件模块均通过通用的CPU来实现的例子进行说明。然而,以上的软件模块的一部分或者全部可以通过一个或者多个专用的处理器来实现。另外,关于模型集成装置1以及各学习装置2各自的软件构成,可以根据实施方式,适当地进行软件模块的省略、置换以及追加。
[0155] §3动作例
[0156] [学习装置]
[0157] (A)学习处理
[0158] 接下来,使用图7,对与机器学习相关的各学习装置2的动作例进行说明。图7是表示与基于各学习装置2的机器学习相关的处理过程的一个例子的流程图。但是,以下说明的各处理过程只不过是一个例子,各步骤只要可能则可以变更。而且,针对以下说明的各处理过程,能够根据实施方式,适当地进行步骤的省略、置换以及追加。
[0159] (步骤S101)
[0160] 在步骤S101中,控制部21作为学习数据收集部211而动作,并收集用于学习模型4的机器学习的本地学习数据3。在本实施方式中,控制部21将分别包括训练数据31以及正确数据32的组合的多个学习数据集30收集为本地学习数据3。
[0161] 获取各学习数据集30的方法可以不被特别限定,可以根据实施方式适当地选择。例如,通过准备与传感器S同种的传感器,并利用所准备的传感器在各种条件下进行观测,能够获取训练数据31。而且,将表示该训练数据31所出现的特征的正确数据32与获取到的训练数据31相关联。由此,能够生成各学习数据集30。
[0162] 各学习数据集30可以通过计算机的动作自动地生成,也可以通过操作人员的操作手动地生成。另外,各学习数据集30的生成可以通过各学习装置2进行,也可以通过除各学习装置2以外的其他计算机来进行。在各学习装置2生成各学习数据集30的情况下,控制部21通过自动或者利用经由输入装置24的操作人员的操作手动地执行上述一系列处理,收集由多个学习数据集30构成的本地学习数据3。另一方面,在其他计算机生成各学习数据集30的情况下,控制部21例如经由网络、存储介质92等,收集通过由其他计算机生成的多个学习数据集30构成的本地学习数据3。
[0163] 所收集的学习数据集30的件数可以不被特别限定,可以根据实施方式适当地选择。若收集本地学习数据3,则控制部21向接下来的步骤S102推进处理。
[0164] (步骤S102)
[0165] 在步骤S102中,控制部21作为结构决定部212进行动作,来决定学习模型4的结构。在本实施方式中,学习模型4由神经网络构成。因此,在本步骤S102中,控制部21决定构成学习模型4的神经网络的结构。神经网络的结构例如通过神经网络的层数、各层所含的神经元的数量、各神经元间的耦合关系等来规定。
[0166] 决定学习模型4的结构的方法可以不被特别限定,可以根据实施方式适当地选择。例如,控制部21可以通过接受经由输入装置24的操作人员的指定,来决定神经网络的结构、各神经元间的耦合的权重的初始值以及各神经元的阈值的初始值。另外,例如,控制部21可以根据模板来决定神经网络的结构、各神经元间的耦合的权重的初始值以及各神经元的阈值的初始值。在这种情况下,控制部21可以根据针对后述的步骤S701~步骤S703的处理的回答,从模型集成装置1获取模板126。模板126只要包括给出学习模型4的样板的信息,则其数据形式可以不被特别限定,可以根据实施方式适当地决定。模板126除了与学习模型4的结构相关的信息之外,还可以包括与学习模型4的运算参数的初始值相关的信息。在本实施方式中,模板126可以包括表示神经网络的层的数量、各层所含的神经元(节点)的数量以及邻接的层的神经元彼此的耦合关系等的信息作为与学习模型4的结构相关的信息。另外,模板126可以包括表示各神经元间的耦合的权重的初始值、各神经元的阈值的初始值等的信息作为与运算参数的初始值相关的信息。控制部21可以基于获取到的模板126,来决定构成学习模型4的神经网络的结构、各神经元间的耦合的权重的初始值以及各神经元的阈值的初始值。
[0167] 作为在各学习装置2中适当地决定出各学习模型4的结构的结果,各学习完毕的学习模型4构成为包括具有共同的结构的共同部分40。另外,各学习完毕的学习模型4中的任一个的组合构成为在除共同部分40以外的部分具有不同的结构。若决定学习模型4的结构,则控制部21向接下来的步骤S103推进处理。
[0168] (步骤S103)
[0169] 在步骤S103中,控制部21作为学习处理部213进行动作,通过利用了收集到的本地学习数据3的机器学习,构建获得了规定能力的学习完毕的学习模型4。在本实施方式中,控制部21利用各学习数据集30所含的训练数据31以及正确数据32,执行构成学习模型4的神经网络的学习处理。该学习处理可以使用随机梯度下降法等。
[0170] 例如,在第1步骤中,控制部21针对各学习数据集30,将训练数据31输入输入层51,从输入侧依次进行各层51~56所含的各神经元的触发判定。由此,控制部21从输出层56获取与相对于训练数据31发挥了规定能力的结果对应的输出值。在第2步骤中,控制部21对获取到的输出值与所对应的正确数据32之间的误差进行计算。在第3步骤中,控制部21通过误差反向传播(Back propagation)法,使用计算出的输出值的误差,对各神经元间的耦合的权重以及各神经元的阈值各自的误差进行计算。在第4步骤中,控制部21基于计算出的各误差,进行各神经元间的耦合的权重以及各神经元的阈值各自的值的更新。
[0171] 控制部21通过反复上述第1~第4步骤,从而针对各学习数据集30,调整构成学习模型4的神经网络的运算参数的值,以使得若输入训练数据31,则从输出层56输出与所对应的正确数据32一致的输出值。例如,针对各学习数据集30,控制部21反复上述第1~第4步骤,直至从输出层56得到的输出值与和正确数据32对应的值之间的误差之和为阈值以下为止。正确数据32的值与输出层56的输出值一致可以包括在正确数据32的值与输出层56的输出值之间产生这样的基于阈值的误差的情况。阈值可以根据实施方式适当地设定。由此,控制部21能够构建经训练的学习完毕的学习模型4,以使得相对于训练数据31的输入,输出与所对应的正确数据32一致的输出值。若利用了本地学习数据3的机器学习结束,控制部21向接下来的步骤S104推进处理。
[0172] (步骤S104)
[0173] 在步骤S104中,控制部21作为保存处理部214而进行动作,并将与通过机器学习构建成的学习完毕的学习模型4相关的信息保存于规定的存储区域。在本实施方式中,控制部21生成表示通过步骤S103的机器学习构建出的学习完毕的神经网络(学习模型4)的结构以及运算参数的信息作为学习结果数据221。而且,控制部21将所生成的学习结果数据221保存于规定的存储区域。
[0174] 规定的存储区域例如可以是控制部21内的RAM、存储部22、外部存储装置、存储媒介或者这些的组合。存储媒介例如可以是CD、DVD等,控制部21可以经由驱动器26而在存储媒介储存学习结果数据221。外部存储装置例如可以是NAS(Network Attached Storage)等数据服务器。在这种情况下,控制部21可以利用通信接口23,经由网络在数据服务器储存学习结果数据221。另外,外部存储装置例如可以是与学习装置2连接的外设的存储装置。
[0175] 另外,学习结果数据221可以包括表示用于机器学习的学习数据集30的件数、后述的特定学习数据的比率等的附加信息。由此,若学习结果数据221的保存结束,则控制部21结束与学习模型4的机器学习相关的一系列处理。
[0176] (B)推定处理
[0177] 接下来,使用图8,对与推定处理相关的各学习装置2的动作例进行说明。图8是表示与基于各学习装置2的推定处理相关的处理过程的一个例子的流程图。但是,以下说明的各处理过程只不过是一个例子,各步骤只要可能则可以变更。而且,针对以下说明的各处理过程,能够根据实施方式,适当地进行步骤的省略、置换以及追加。
[0178] (步骤S201)
[0179] 在步骤S201中,控制部21作为对象数据获取部216而动作,获取发挥成为使学习完毕的学习模型4学会的规定能力的对象的对象数据225。在本实施方式中,各学习装置2经由外部接口27与传感器S连接。因此,控制部21经由外部接口27从传感器S获取对象数据225。
[0180] 但是,获取对象数据225的路径可以不限定于这样的例子,可以根据实施方式适当地决定。例如,可以是与各学习装置2不同的其他计算机与传感器S连接。在这种情况下,控制部21可以通过从其他计算机接受对象数据225的发送,从而获取对象数据225。若获取对象数据225,则控制部21向接下来的步骤S202推进处理。
[0181] (步骤S202)
[0182] 在步骤S202中,控制部21作为推定部217而动作,利用学习完毕的学习模型4,推定对象数据225所含的特征。在本实施方式中,控制部21参照学习结果数据221,进行学习完毕的学习模型4的设定。接下来,控制部21将获取到的对象数据225输入学习完毕的学习模型4中,执行该学习完毕的学习模型4的运算处理。即,控制部21对学习完毕的学习模型4的输入层51输入对象数据225,从输入侧依次进行各层51~56所含的各神经元的触发判定。由此,控制部21从学习完毕的学习模型4的输出层56获取与推定了对象数据225所含的特征的结果对应的输出值。
[0183] 在本实施方式中,得到该输出值与发挥规定能力对应,在本实施方式中,与推定对象数据225所含的特征对应。推定的内容可以不被特别限定,可以根据实施方式适当地选择。例如,在学习完毕的学习模型4通过上述机器学习学会推断图像数据所映现的产品的状态的能力的情况下,推断对象数据225所含的特征可以是指推断该对象数据225亦即图像数据所映现的产品的状态。若对象数据225所含的特征的推定结束,则控制部21向接下来的步骤S203推进处理。
[0184] (步骤S203)
[0185] 在步骤S203中,控制部21作为输出部218而动作,并输出与推定了特征的结果相关的信息。
[0186] 输出目的地以及所输出的信息的内容分别可以根据实施方式适当地决定。例如,控制部21可以将通过步骤S202推定了对象数据225所含的特征的结果直接向输出装置25输出。另外,例如,控制部21可以基于推定了特征的结果,执行某种信息处理。而且,控制部21可以将执行了该信息处理的结果作为与推定的结果相关的信息而输出。执行了该信息处理的结果的输出可以包括根据推定的结果输出警告等特定的消息、根据推定的结果来控制控制对象装置的动作等。输出目的地例如可以是输出装置25、控制对象装置等。若与推定的结果相关的信息的输出结束,则控制部21结束与利用了学习完毕的学习模型4的规定推定处理相关的一系列处理。
[0187] [模型集成装置]
[0188] 接下来,使用图9,对模型集成装置1的动作例进行说明。图9是表示与基于模型集成装置1的模型集成相关的处理过程的一个例子的流程图。以下说明的处理过程是本发明的“模型集成方法”的一个例子。但是,以下说明的各处理过程只不过是一个例子,各步骤只要可能则可以变更。而且,针对以下说明的各处理过程,能够根据实施方式,适当地进行步骤的省略、置换以及追加。
[0189] (步骤S301)
[0190] 在步骤S301中,控制部11作为模型收集部111而动作,从各学习装置2收集学习完毕的学习模型4。在本实施方式中,收集各学习完毕的学习模型4通过对由各学习装置2生成的学习结果数据221进行收集而构成。
[0191] 收集学习结果数据221的方法可以根据实施方式适当地决定。例如,控制部11可以通过经由网络接入各学习装置2,从该各学习装置2直接收集学习结果数据221。另外,例如,由各学习装置2生成的学习结果数据221可以储存于数据服务器等外部存储装置。在这种情况下,控制部11可以通过从外部存储装置获取各个学习结果数据221,从各学习装置2间接收集学习结果数据221。若从各学习装置2收集学习完毕的学习模型4,则控制部11向接下来的步骤S302推进处理。
[0192] (步骤S302)
[0193] 在步骤S302中,控制部11作为范围调整部112而动作,在收集到的各学习完毕的学习模型4所含的共同部分40内决定集成范围41。针对决定集成范围41的方法的详情将后述。若决定集成范围41,则控制部11向接下来的步骤S303推进处理。
[0194] 此外,本步骤S302可以在步骤S301之前执行。在这种情况下,控制部11可以保持与各学习装置2中利用的各学习模型4的结构相关的信息。在各学习模型4的结构由模板126给出的情况下,与各学习模型4的结构相关的信息可以由该模板126构成。控制部11可以基于与该各学习模型4的结构相关的信息,在各学习模型4的共同部分40内决定集成范围41。而且,在步骤S301中,控制部11可以仅获取学习结果数据221中与集成范围41相关的数据。
[0195] (步骤S303)
[0196] 在步骤S303中,控制部11作为集成处理部113而动作,对各学习完毕的学习模型4,执行对设定在共同部分40内的集成范围41中所反映的机器学习的结果进行集成的集成处理。
[0197] 机器学习的结果反映于各学习模型4所含的运算参数(例如各神经元间的耦合的权重、各神经元的阈值等)的值。因此,在本实施方式中,对各学习模型4的集成范围41中所反映的机器学习的结果进行集成通过对各学习完毕的学习模型4的集成范围41所含的运算参数的值进行集成而构成。对运算参数的值进行集成的方法可以根据实施方式适当地决定。在本实施方式中,控制部11通过以下的两个方法中的任一个方法,对集成范围41所含的运算参数的值进行集成。
[0198] (A)第1方法
[0199] 在第1方法中,控制部11通过对集成范围41所含的运算参数的值进行平均化或者进行求和,从而对集成范围41所含的运算参数的值进行集成。根据该第1方法,能够得到均衡地反映有各学习完毕的学习模型4的集成范围41所含的运算参数的值的集成处理的结果43。
[0200] (B)第2方法
[0201] 在第2方法中,控制部11在集成处理中,对各学习完毕的学习模型4的集成范围41所含的运算参数的值进行加权。在这种情况下,在执行本步骤S303之前,控制部11作为权重设定部115而动作,并对各学习完毕的学习模型4设定权重。各权重规定本步骤S303的集成处理的各学习完毕的学习模型4的优先程度。在本实施方式中,控制部11通过以下的两个设定方法中的任一个方法,设定针对各学习完毕的学习模型4的权重。
[0202] (I)第1权重设定方法
[0203] 用于机器学习的本地学习数据3的数量(即,学习数据集30的件数)越多则发挥学习完毕的学习模型4的规定能力的精度越高。因此,在第1设定方法中,控制部11设定各权重,以使得用于机器学习的本地学习数据3的数量越多则权重越大。由此,能够以更优先地反映所利用的本地学习数据3的数量多的机器学习的结果的方式对各学习完毕的学习模型4的集成范围41进行集成。
[0204] 此外,可以适当地获取表示用于机器学习的本地学习数据3的数量的信息。例如,各个学习结果数据221可以包括表示用于各学习装置2的机器学习的本地学习数据3的数量的信息。在这种情况下,控制部11通过参照各个学习结果数据221所含的该信息,从而能够确定出各学习完毕的学习模型4的构建所利用的本地学习数据3的数量,并根据该确定出的结果设定各权重。各学习装置2的机器学习所利用的本地学习数据3的数量与所设定的各权重之间的对应关系可以根据实施方式适当地决定。例如,各权重可以设定为与本地学习数据3的数量成比例。
[0205] (II)第2权重设定方法
[0206] 例如,假定使各学习模型4获取进行图像数据所映现的产品的外观检查的能力的场景。在该场景中,包括污痕、污渍、损伤等缺陷的映现有产品的图像数据包含于本地学习数据3的比率越高,则推断由利用了该本地学习数据3的机器学习构建出的学习完毕的学习模型4的缺陷的精度越高。因此,在第2设定方法中,在本地学习数据3包括与规定能力的特定要素相关的特定学习数据的情况下,控制部11设定各权重,以使得利用于机器学习的本地学习数据3所含的特定学习数据的比率越高则权重越大。
[0207] 此处,特定学习数据是本地学习数据3中的与规定能力的特定要素相关的学习数据。特定要素可以不被特别限定,可以从与规定能力相关的所有要素中选择。如上述的例子那样,在使学习模型获得进行图像数据所映现的产品的外观检查的能力的场景中,特定要素可以包括污痕、污渍、损伤等缺陷。在这种情况下,构成本地学习数据3的各学习数据集30所含的训练数据31可以是映现有产品的图像数据。另外,构成特定学习数据的各学习数据集30所含的训练数据31可以是映现有包含缺陷的产品的图像数据(以下,也记载为“缺陷产品的图像数据”)。在这种情况下,特定学习数据的比率与本地学习数据3所含的缺陷产品的图像数据的比率对应。根据该第2设定方法,能够以更优先地反映特定学习数据的比率高的机器学习的结果的方式对各学习完毕的学习模型4的集成范围41进行集成。
[0208] 此外,可以适当地获取表示本地学习数据3所含的特定学习数据的比率的信息。与上述第1设定方法相同,例如,各个学习结果数据221可以包括表示各学习装置2的机器学习所利用的本地学习数据3所含的特定学习数据的比率的信息。在这种情况下,控制部11通过参照各个学习结果数据221所含的该信息,从而能够确定出各学习完毕的学习模型4的构建所利用的本地学习数据3所含的特定学习数据的比率,并根据该确定出的结果来设定各权重。各学习装置2的机器学习所利用的本地学习数据3所含的特定学习数据的比率与所设定的各权重之间的对应关系可以根据实施方式适当地决定。例如,各权重可以设定为与特定学习数据的比率成比例。
[0209] 在本实施方式中,通过以上的两个方法中的任一个设定方法,控制部11对各学习完毕的学习模型4设定权重。但是,设定各权重的方法可以不限定于这样的例子,可以根据实施方式适当地决定。例如,各权重可以由操作人员指定。在这种情况下,控制部11可以经由输入装置14等接受操作人员的各权重的指定,并根据所输入的内容来设定各权重。
[0210] 而且,在本步骤S303中,控制部11通过使用所设定的各权重,对各学习完毕的学习模型4的集成范围41所含的运算参数的值进行加权之后进行平均化或者进行求和,从而对集成范围41所含的运算参数的值进行集成。根据该第2方法,能够得到越是所设定的权重大的学习完毕的学习模型4则集成范围41所含的运算参数的值越优先地被反映的集成处理的结果43。
[0211] 若通过以上的两个方法中的任一个方法,对集成范围41中所反映的机器学习的结果进行集成,则控制部11向接下来的步骤S304推进处理。
[0212] (步骤S304)
[0213] 在步骤S304中,控制部11作为模型更新部114而动作,并将表示集成处理的结果43的集成结果数据121向各学习装置2分发。由此,控制部11通过对于各学习装置2,使集成处理的结果43用于各学习完毕的学习模型4内的集成范围41,从而对各学习装置2保持的学习完毕的学习模型4进行更新。此时,控制部11可以根据实施方式适当地选择是否对各学习装置2发送根据所分发的集成处理的结果43更新学习完毕的学习模型4的指示。
[0214] 分发集成结果数据121的方法可以根据实施方式适当地决定。例如,控制部11可以根据自身的处理或者来自各学习装置2的请求,经由网络对各学习装置2直接分发集成结果数据121。另外,例如,控制部11可以对数据服务器等外部存储装置发送集成结果数据121,使各学习装置2获取保存于外部存储装置的集成结果数据121。这样,控制部11可以对各学习装置2间接地分发集成结果数据121。
[0215] 各学习装置2的控制部21若获取集成结果数据121,则参照获取到的集成结果数据121,将集成范围41内的各参数的值置换为通过集成处理得到的各参数的值。由此,控制部
11通过对于各学习装置2,使集成处理的结果43用于各学习完毕的学习模型4内的集成范围
41,从而对各学习装置2保持的各学习完毕的学习模型4进行更新。若各学习完毕的学习模型4的更新结束,则控制部11结束与模型集成相关的一系列处理。
[0216] 此外,集成结果数据121的数据构成可以不被特别限定,可以根据实施方式适当地决定。集成结果数据121可以仅由集成范围41所含的运算参数的值构成,可以构成为包括除集成范围41以外的运算参数的值。在构成为包括除集成范围41以外的运算参数的值的情况下,控制部11可以按每个学习装置2生成集成结果数据121,可以将所生成的集成结果数据121向各学习装置2分发。
[0217] <集成范围的决定方法>
[0218] 接下来,对上述步骤S302中的决定集成范围41的方法的具体例进行说明。在本实施方式中,控制部11通过以下的三个方法中的至少任一个方法,在共同部分40内决定集成范围41。
[0219] (A)第1方法
[0220] 各学习装置2的各学习完毕的学习模型4的结构可以通过模板126而给出(步骤S102)。与此对应地,在第1方法中,控制部11基于模板126,决定集成范围41。
[0221] 例如,可以准备规定了虽结构不同但具有共同部分40的学习模型4的结构的样板的多个模板126。各模板126的规定的共同部分40可以预先设定有集成范围41。可以在上述步骤S102中,各学习装置2利用多个模板126中的任一个,决定所利用的学习模型4的结构。
[0222] 在这种情况下,控制部11可以通过参照各学习装置2所利用的各模板126,确定出所设定的集成范围41,从而决定成为步骤S303的处理的对象的集成范围41。根据该第1方法,控制部11能够通过简单的方法决定集成范围41。
[0223] (B)第2方法
[0224] 接下来,使用图10,对用于决定集成范围41的第2方法的一个例子进行说明。图10示意性地例示通过第2方法决定集成范围41的场景的一个例子。不局限于预先设定集成范围41之后,决定各学习模型4的结构。因此,在第2方法中,控制部11在各学习完毕的学习模型4的共同部分40中,将运算处理的类似的部分决定为集成范围41。
[0225] 具体而言,各学习完毕的学习模型4的共同部分40具备多个运算模块。运算模块由一个或者多个运算参数构成。换句话说,运算模块形成执行学习模型4的运算处理的一个单元。在本实施方式中,运算模块例如由神经网络的各层构成。图4以及图10的例子中,共同部分40包括从输入层51至中间层53。在这种情况下,例如,仅由输入层51构成的第1网络、由输入层51以及中间层52构成的第2网络以及由输入层51以及两个中间层(52、53)构成的第3网络分别与运算模块对应。各运算模块成为集成范围41的候选。
[0226] 在第2方法中,控制部11判定通过对成为集成范围41的各候选的各运算模块给出评价用样本129而得到的输出是否类似。对应的运算模块间、即共同部分40内的相同部分彼此的输出类似这样的情况对应于该相同部分对输入数据执行类似的有目的的运算处理。因此,控制部11将判定为输出类似的候选决定为集成范围41。
[0227] 此处,进一步使用图11,对第2方法的处理过程的一个例子进行说明。图11是表示与通过第2方法来决定集成范围41相关的处理过程的一个例子的流程图。在采用了第2方法作为决定集成范围41的方法的情况下,上述步骤S302的处理包括以下的步骤S401~步骤S404的处理。但是,以下说明的处理过程只不过是一个例子,各处理只要可能则可以进行变更。另外,针对以下说明的处理过程,根据实施方式能够适当地进行步骤的省略、置换以及追加。
[0228] 首先,在执行步骤S401之前,控制部11获取评价用样本129。在本实施方式中,评价用样本129存储于存储部12,因此,控制部11从存储部12获取评价用样本129。但是,获取评价用样本129的路径可以不限定于这样的例子。例如,评价用样本129可以保存于存储介质91、外部存储装置等。在这种情况下,控制部11可以从存储介质91、外部存储装置等获取评价用样本129。
[0229] 如图10所述那样,评价用样本129用于评价各运算模块的输出,与本地学习数据3相同地构成。在本实施方式中,与各学习数据集30相同,评价用样本129由输入数据1291以及正确数据1292的组合构成。输入数据1291是与上述训练数据31以及对象数据225同种的数据。与上述正确数据32相同,正确数据1292是表示相对于输入数据1291发挥了规定能力的结果(正确)的数据。所利用的评价用样本129的件数可以根据实施方式适当地决定。若获取一个或者多个评价用样本129,则控制部11向步骤S401推进处理。
[0230] (步骤S401)
[0231] 在步骤S401中,控制部11对各学习完毕的学习模型4输入评价用样本129,并从共同部分40所含的各运算模块获取输出。在本实施方式中,控制部11将评价用样本129所含的输入数据输入输入层51,从输入侧依次进行各神经元的触发判定。由此,控制部11从与各运算模块的输出层对应的各层51~53获取输出值。
[0232] 图10中,例示出针对从各学习装置(2a、2b)得到的各学习完毕的学习模型(4a、4b)的共同部分40,从由输入层51以及中间层52构成的运算模块得到输出的场景。控制部11针对其他运算模块也能够相同地得到输出。若从各运算模块获取输出,则控制部11向接下来的步骤S402推进处理。
[0233] (步骤S402)
[0234] 在步骤S402中,控制部11对各学习完毕的学习模型4对应的运算模块间的获取到的输出的类似性以及相关性的至少任一个进行计算。类似性以及相关性可以分别通过公知的方法来计算。类似性例如可以通过范数(距离)等来计算。相关性例如可以通过相关系数、偏相关系数等来计算。图10的例子中,通过对各学习完毕的学习模型(4a、4b)的输入层51输入输入数据1291,从而计算从中间层52得到的输出彼此的类似性以及相关性。若计算类似性以及相关性的至少任一个,则向接下来的步骤S403推进处理。
[0235] (步骤S403)
[0236] 在步骤S403中,控制部11判定计算出的类似性以及相关性的至少任一个是否满足规定条件。将规定条件适当地设定为评价各学习完毕的学习模型4对应的运算模块的输出是否类似。例如,规定条件可以通过分别针对类似性以及相关性的阈值来规定。在这种情况下,控制部11通过将由步骤S402计算出的类似性以及相关性的至少任一个与阈值进行比较,从而判定计算出的类似性以及相关性的至少任一个是否满足规定条件。若针对各运算模块,该判定结束,则控制部11向接下来的步骤S404推进处理。
[0237] (步骤S404)
[0238] 在步骤S404中,控制部11基于上述判定的结果,将计算出的类似性以及相关性的至少任一个满足规定条件的运算模块指定为集成范围41。在存在满足规定条件的多个候选的情况下,控制部11可以从多个候选中适当地选择指定为集成范围41的候选。例如,控制部11可以将最大范围的候选、最小范围的候选、或者计算出的类似性以及相关性的至少任一个最高的候选指定为集成范围41。另外,例如,控制部11可以将多个候选向输出装置15输出,经由输入装置14接受从多个候选中指定为集成范围41的候选的选择,将由操作人员等选择出的候选指定为集成范围41。另外,例如,控制部11可以从多个候选中随机地选择指定为集成范围41的候选。若集成范围41的指定结束,则控制部11结束与集成范围41的决定相关的一系列处理。此外,在任何运算模块的输出间计算出的类似性以及相关性均不满足规定条件的情况下,可以通过其他方法决定集成范围41。或者,也可以省略步骤S303以下的集成处理。
[0239] 由此,控制部11能够将运算处理的类似的部分决定为集成范围41。根据该第2方法,即便在没有预先设定集成范围41的情况下,也能够对各学习完毕的学习模型4决定适当的集成范围41。此外,在采用该第2方法的情况下,可以在评价用样本129中省略正确数据1292。
[0240] (C)第3方法
[0241] 执行步骤S303的集成处理的目的在于:通过使一个学习完毕的学习模型中所反映的机器学习的结果反映于其他学习完毕的学习模型,实现各学习完毕的学习模型的能力的提高。因此,在第3方法中,控制部11使与执行步骤S303的集成处理之前相比,执行该集成处理之后各学习完毕的学习模型4具有的规定能力提高,换句话说,将集成范围41最优化,以使得发挥规定能力的精度提高。
[0242] 具体而言,控制部11在共同部分40内指定暂定的集成范围(以下,也称为“暂定集成范围”)。接下来,控制部11对所指定的暂定集成范围执行与步骤S303相同的暂定的集成处理(以下,也称为“暂定集成处理”)。而且,控制部11利用评价用样本129,评价集成处理后的各学习完毕的学习模型4的能力,并基于该评价结果,将集成范围41最优化。最优化的方法可以根据实施方式适当地决定。在本实施方式中,控制部11通过以下的两个方法中的至少任一个方法,将集成范围41最优化。
[0243] (C‑1)第1最优化方法
[0244] 首先,使用图12以及图13,对第1最优化方法的一个例子进行说明。图12示意性地例示通过第1最优化方法将集成范围41最优化的场景的一个例子。图13是表示与通过第1最优化方法决定集成范围41相关的处理过程的一个例子的流程图。在第1最优化方法中,控制部11通过将暂定的集成处理前的各学习完毕的学习模型4的能力与暂定的集成处理后的各学习完毕的学习模型4的能力进行比较,从而将集成范围41最优化。
[0245] 此外,在采用该第1最优化方法作为决定集成范围41的方法的情况下,上述步骤S302以及步骤S303的处理包括以下的步骤S501~步骤S507的处理。特别是,将集成范围41最优化通过以下的步骤S503~步骤S507的处理构成。但是,以下说明的处理过程只不过是一个例子,各处理只要可能则可以进行变更。另外,针对以下说明的处理过程,根据实施方式能够适当地进行步骤的省略、置换以及追加。
[0246] (步骤S501)
[0247] 在步骤S501中,控制部11作为范围调整部112而动作,在各学习完毕的学习模型4的共同部分40内指定暂定集成范围。例如,控制部11从共同部分40内能够设定的集成范围41的多个候选(运算模块)中选择指定为暂定集成范围的候选。图12中,例示出将共同部分
40内能够指定的三个候选中的由输入层51以及中间层52构成的第2网络指定为暂定集成范围的场景。若指定暂定集成范围,则控制部11向接下来的步骤S502推进处理。
[0248] (步骤S502)
[0249] 在步骤S502中,控制部11作为集成处理部113而动作,对各学习完毕的学习模型4,执行对所指定的暂定集成范围中所反映的机器学习的结果进行集成的暂定集成处理。该暂定集成处理与上述集成处理相同地执行。在暂定集成处理中,作为对暂定集成范围所含的运算参数的值进行集成的方法,可以采用上述两个方法中的任一个方法。由此,控制部11能够得到对暂定集成范围的暂定集成处理的结果。而且,如图12所述那样,控制部11通过使该暂定集成处理的结果用于各学习完毕的学习模型4的暂定集成范围,能够得到集成处理后的各学习完毕的学习模型4。应用暂定集成处理的结果的方法与应用上述集成处理的结果43的方法相同。若执行暂定集成处理,则控制部11向接下来的步骤S503推进处理。
[0250] (步骤S503以及步骤S504)
[0251] 在步骤S503中,控制部11作为范围调整部112而动作,获取暂定集成处理前的各学习完毕的学习模型4、即没有应用暂定集成处理的结果的各学习完毕的学习模型4相对于评价用样本129发挥了规定能力的第1结果。步骤S503可以与上述步骤S202相同地执行。即,控制部11对暂定集成处理前的各学习完毕的学习模型4的输入层51输入输入数据1291,从输入侧依次进行各层51~56所含的各神经元的触发判定。由此,控制部11从暂定集成处理前的各学习完毕的学习模型4的输出层56获取与相对于输入数据1291发挥了规定能力的结果(在本实施方式中,推定了输入数据1291所含的特征的结果)对应的输出值。此外,针对以下的步骤S504以下的各处理,控制部11也作为范围调整部112而动作,执行各处理。
[0252] 在步骤S504中,控制部11获取暂定集成处理后的各学习完毕的学习模型4、即应用暂定集成处理的结果之后的各学习完毕的学习模型4相对于评价用样本129发挥了规定能力的第2结果。获取第2结果的方法与上述步骤S503的获取第1结果的方法相同。控制部11对暂定集成处理后的各学习完毕的学习模型4的输入层51输入输入数据1291,从输入侧依次进行各层51~56所含的各神经元的触发判定。由此,控制部11从暂定集成处理后的各学习完毕的学习模型4的输出层56获取与相对于输入数据1291发挥了规定能力的结果对应的输出值。
[0253] 若获取第1结果以及第2结果,则控制部11向接下来的步骤S505推进处理。此外,步骤S503以及步骤S504的处理顺序可以不限定于这样的例子。例如,步骤S503以及步骤S504的处理顺序可以互换。另外,步骤S503以及步骤S504中利用的评价用样本129的件数可以不被特别限定,可以根据实施方式适当地决定。
[0254] (步骤S505)
[0255] 在步骤S505中,控制部11通过将第1结果以及第2结果进行比较,从而判定与执行暂定集成处理前相比,执行暂定集成处理后各学习完毕的学习模型4具有的规定能力是否提高。
[0256] 该判定的方法可以根据实施方式适当地决定。在本实施方式中,从各学习完毕的学习模型4得到的输出值与正确数据1292一致是指各学习完毕的学习模型4能够相对于输入数据1291适当地发挥规定能力。另一方面,所得到的输出值与正确数据1292不一致是指各学习完毕的学习模型4未能相对于输入数据1291适当地发挥规定能力。换句话说,通过将该输出值与正确数据1292进行对照,对发挥了规定能力的结果相对于各评价用样本129的输入数据1291的正解率进行计算,从而控制部11能够评价各学习完毕的学习模型4的规定能力。
[0257] 因此,控制部11针对执行暂定集成处理之前以及执行暂定集成处理之后,分别根据各结果计算各学习完毕的学习模型4相对于输入数据1291的正解率,并将计算出的正解率进行比较,从而判定通过暂定集成处理是否提高了各学习完毕的学习模型4的规定能力。在暂定集成处理后的各学习完毕的学习模型4的正解率比暂定集成处理前的各学习完毕的学习模型4的正解率高的情况下,控制部11判定为执行暂定集成处理之后比执行暂定集成处理之前各学习完毕的学习模型4具有的规定能力提高。另一方面,在不是这样的情况下,控制部11判定为执行暂定集成处理之后比执行暂定集成处理之前各学习完毕的学习模型4具有的规定能力没有提高。若该判定结束,则控制部11向接下来的步骤S506推进处理。
[0258] (步骤S506)
[0259] 在步骤S506中,控制部11基于步骤S505的判定结果,决定处理的分支目的地。在步骤S505中,在判定为执行暂定集成处理之后比执行暂定集成处理之前各学习完毕的学习模型4具有的规定能力提高的情况下,控制部11向接下来的步骤S507推进处理。另一方面,在不是这样的情况下,控制部11向步骤S501返回处理,反复步骤S501以下的处理。对于该反复而言,控制部11在步骤S501中,指定不同的暂定集成范围,从而变更暂定集成范围,执行步骤S502以下的处理。
[0260] (步骤S507)
[0261] 在步骤S507中,控制部11将通过步骤S501指定出的暂定集成范围决定(采用)为集成范围41。若集成范围41的决定结束,则控制部11结束与通过第1最优化方法决定集成范围41相关的一系列处理。此外,在采用该第1最优化方法的情况下,控制部11在到达至步骤S507为止的一系列处理中,将通过步骤S502得到的暂定集成处理的结果作为步骤S303的集成处理的结果43来利用。
[0262] 由此,控制部11能够以在集成处理后使各学习完毕的学习模型4的规定能力提高的方式决定集成范围41。因此,根据该第1最优化方法,即便在没有预先设定集成范围41的情况下,也能够对于各学习完毕的学习模型4,决定在集成处理后使规定能力提高那样的最优的集成范围41。
[0263] (C‑2)第2最优化方法
[0264] 接下来,使用图14以及图15,对第2最优化方法的一个例子进行说明。图14示意性地例示通过第2最优化方法将集成范围41最优化的场景的一个例子。图15是表示与通过第2最优化方法决定集成范围41相关的处理过程的一个例子的流程图。对于第2最优化方法而言,控制部11指定多个暂定集成范围,从所指定的多个暂定集成范围中确定出通过集成处理使规定能力最提高的暂定集成范围,从而将集成范围41最优化。
[0265] 此外,在采用了该第2最优化方法作为决定集成范围41的方法的情况下,上述步骤S302以及步骤S303的处理包括以下的步骤S601~步骤S605的处理。特别是,将集成范围41最优化通过以下的步骤S603~步骤S605的处理构成。但是,以下说明的处理过程只不过是一个例子,各处理只要可能则可以进行变更。另外,针对以下说明的处理过程,根据实施方式能够适当地进行步骤的省略、置换以及追加。
[0266] (步骤S601)
[0267] 在步骤S601中,控制部11作为范围调整部112而动作,在各学习完毕的学习模型4的共同部分40内指定多个暂定集成范围。指定暂定集成范围的方法可以与上述步骤S501相同。所指定的暂定集成范围的数量可以不被特别限定,可以根据实施方式适当地决定。图14中,图示出将由输入层51以及中间层52构成的第2网络和由输入层51以及两个的中间层(52、53)构成的第3网络的两个候选指定为多个暂定集成范围的场景。若指定多个暂定集成范围,则控制部11向接下来的步骤S602推进处理。
[0268] (步骤S602)
[0269] 在步骤S602中,控制部11作为集成处理部113而动作,按每个指定出的暂定集成范围,对各学习完毕的学习模型4执行对所指定的各暂定集成范围中所反映的机器学习的结果进行集成的暂定集成处理。每个暂定集成范围的暂定集成处理可以与上述步骤S502相同地执行。由此,控制部11能够按每个暂定集成范围得到暂定集成处理的结果。而且,如图14所述那样,控制部11通过按每个暂定集成范围,将暂定集成处理的结果用于各学习完毕的学习模型4,从而能够得到暂定集成处理后的各学习完毕的学习模型4。应用暂定集成处理的结果的方法与应用上述集成处理的结果43的方法相同。若按每个所指定的暂定集成范围执行暂定集成处理,则控制部11向接下来的步骤S603推进处理。
[0270] (步骤S603)
[0271] 在步骤S603中,控制部11作为范围调整部112而动作,按每个所指定的暂定集成范围,获取执行暂定集成处理之后的各学习完毕的学习模型4相对于评价用样本129发挥了规定能力的结果。获取各结果的方法可以与上述步骤S504相同。即,控制部11按每个所指定的暂定集成范围,在暂定集成处理后的各学习完毕的学习模型4的输入层51输入输入数据1291,从输入侧依次进行各层51~56所含的各神经元的触发判定。由此,控制部11按每个所指定的暂定集成范围,从暂定集成处理后的各学习完毕的学习模型4的输出层56获取与相对于输入数据1291发挥了规定能力的结果对应的输出值。若获取各结果,则控制部11向接下来的步骤S604推进处理。此外,针对以下的步骤S604以下的各处理,控制部11也作为范围调整部112而动作,执行各处理。
[0272] (步骤S604)
[0273] 在步骤S604中,控制部11基于获取到的各结果,确定出执行暂定集成处理之后的各学习完毕的学习模型4具有的规定能力最高的暂定集成范围。通过对针对所指定的各暂定集成范围的暂定集成处理得到的各学习完毕的学习模型4的规定能力进行比较的方法可以与上述步骤S505相同。即,也可以是,控制部11通过按每个所指定的暂定集成范围,将从各学习完毕的学习模型4得到的输出值与正确数据1292进行对照,从而根据各结果计算暂定集成处理后的各学习完毕的学习模型4相对于输入数据1291的正解率。接下来,控制部11可以对按每个暂定集成范围计算出的各学习完毕的学习模型4的正解率进行比较。而且,也可以是,基于该比较的结果,控制部11确定出给出了正解率最高的各学习完毕的学习模型4的暂定集成范围。由此,控制部11能够确定出执行暂定集成处理之后的各学习完毕的学习模型4具有的规定能力最高的暂定集成范围。若确定出给出规定能力最高的暂定集成处理后的各学习完毕的学习模型4的暂定集成范围,则控制部11向接下来的步骤S605推进处理。
[0274] (步骤S605)
[0275] 在步骤S605中,控制部11将通过步骤S604确定出的暂定集成范围决定(采用)为集成范围41。若集成范围41的决定结束,则控制部11结束与通过第2最优化方法来决定集成范围41相关的一系列处理。此外,在采用该第2最优化方法的情况下,控制部11将通过步骤S602对给出规定能力最高的暂定集成处理后的各学习完毕的学习模型4的暂定集成范围执行了暂定集成处理的结果作为步骤S303的集成处理的结果43而利用。
[0276] 由此,控制部11能够从多个集成范围的候选中将通过集成处理使规定能力最提高的候选决定为集成范围41。因此,根据该第2最优化方法,在预先没有设定集成范围41的情况下,也能够对于各学习完毕的学习模型4,决定在集成处理后使规定能力最提高那样的最优的集成范围41。控制部11可以采用该第2最优化方法以及上述第1最优化方法双方,来作为决定集成范围41的方法。另外,也可以是,控制部11多次执行基于第1最优化方法以及第2最优化方法的至少一方的集成范围41的决定处理,并确定出在集成处理后使规定能力最提高的集成范围41。反复集成范围41的决定处理的次数可以根据阈值等适当地设定。
[0277] 通过采用以上的三个方法的至少任一个方法,控制部11能够在各学习完毕的学习模型4的共同部分40内适当地决定集成范围41。控制部11可以将以上的三个方法组合采用,来决定集成范围41。但是,决定集成范围41的方法可以不局限于这些例子,可以根据实施方式适当地决定。例如,控制部11可以接受操作人员经由输入装置14对集成范围41的指定。在这种情况下,控制部11可以根据操作人员的指定来决定集成范围41。
[0278] <学习装置的分组>
[0279] 接下来,使用图16,对各学习装置2的分组的一个例子进行说明。图16示意性地例示对各学习装置2进行分组的场景的一个例子。
[0280] 步骤S303的集成处理被执行目的在于:通过将一个学习完毕的学习模型中所反映的机器学习的结果反映于其他学习完毕的学习模型,从而实现各学习完毕的学习模型的能力的提高。例如,假定由于各学习模型学会的规定能力共同等,一个学习完毕的学习模型以及其他学习完毕的学习模型的运算处理能够类似。此时,通过上述步骤S303的集成处理,能够将一个学习完毕的学习模型中所反映的机器学习的结果适当地反映于其他学习完毕的学习模型。另一方面,例如,假定由于各学习模型学会的规定能力完全不同等,一个学习完毕的学习模型以及其他学习完毕的学习模型的运算处理极其不同。此时,通过上述步骤S303的集成处理,将一个学习完毕的学习模型中所反映的机器学习的结果判定为其他学习完毕的学习模型较为困难。
[0281] 因此,在本实施方式中,也可以是,控制部11作为分组部116而动作,将各学习装置2分配于多个组中的至少任一个。各组可以适当地设定。例如,各组可以根据规定能力的种类、学习模型所要求的规格等适当地设定。图16中,例示出对组A以及组B这两个组分配各学习装置2的场景。控制部11将针对该各学习装置2的组的分配结果储存于分配信息124。
[0282] 在执行该分组处理的情况下,控制部11在同一组内,换言之,按每个组,执行步骤S301~S304的处理。即,在步骤S301中,控制部11从属于同一组的多个学习装置2分别收集学习完毕的学习模型4。在步骤S302中,控制部11在从属于同一组的各学习装置2收集到的各学习完毕的学习模型4所含的共同部分40内决定集成范围41。在步骤S303中,控制部11对从属于同一组的各学习装置2收集到的各学习完毕的学习模型4,执行对所决定的集成范围41中所反映的机器学习的结果进行集成的集成处理。而且,在步骤S304中,控制部11通过对属于同一组的各学习装置2分发集成处理的结果43,并对于各学习装置2,使集成处理的结果43用于各学习完毕的学习模型4内的集成范围41,从而对各学习装置2保持的学习完毕的学习模型4进行更新。此外,该相同组内的集成处理可以以重复多个组的方式执行。即,也可以是,控制部11在一个组内执行了针对学习完毕的学习模型4的集成处理之后,使用其集成处理的结果43,在属于该一个组内的学习装置2所属的其他组内执行针对学习完毕的学习模型4的集成处理。在这种情况下,在一个组和其他组中可以将不同的范围设定为集成范围
41。与此对应地,在一个组内执行了集成处理的集成范围41与在其他组内执行了集成处理的集成范围41也可以不同。
[0283] 分组的方法可以根据实施方式适当地决定。在本实施方式中,控制部11通过以下的三个方法中的至少任一个方法,将各学习装置2分配于多个组中的至少任一个。
[0284] (A)第1分组方法
[0285] 首先,使用图17,对第1分组方法的一个例子进行说明。图17是表示与基于第1分组方法针对各学习装置2进行组分配相关的处理过程的一个例子的流程图。对于第1分组方法而言,控制部11通过使各学习装置2从组的列表中选择所希望的组,从而将各学习装置2分配于多个组中的至少任一个。
[0286] 此外,在采用了第1分组方法作为将各学习装置2分配于组的方法的情况下,将各学习装置2分配于多个组中的至少任一个通过以下的步骤S701~步骤S703的处理构成。但是,以下说明的处理过程只不过是一个例子,各处理只要可能则可以进行变更。另外,针对以下说明的处理过程,根据实施方式能够适当地进行步骤的省略、置换以及追加。
[0287] 在步骤S701中,控制部11将表示多个组的组列表123向各学习装置2分发。由此,对于各学习装置2,控制部11从组列表123所示的多个组中选择一个以上组。组列表123所含的各组可以根据本地学习数据3、学习装置2、学习装置2的利用者等的属性来设定。例如,在外观检查的例子中,可以根据生产线编号、工厂名、企业名等属性来设定组。另外,可以根据来自各学习装置2的要求,在组列表123设定新的组。各学习装置2的操作人员能够参照输出至输出装置25的组列表123,操作输入装置24,从组列表123中选择一个以上组。另外,操作人员能够操作输入装置24,在组列表123追加新的组。各学习装置2的控制部21根据该操作,使组选择的回答返回至模型集成装置1。
[0288] 在步骤S702中,控制部11从各学习装置2获取该选择的回答。然后,在步骤S703中,控制部11基于获取到的回答,对选择出的一个以上组分配各学习装置2。若一个以上组的分配结束,则控制部11结束与基于第1分组方法进行组分配相关的一系列处理。根据该第1分组方法,控制部11能够通过简单的方法对各学习装置2进行分组。
[0289] 此外,在这种情况下,模型集成装置1能够基于来自各学习装置2的回答,控制各学习装置2利用的学习模型4的结构。因此,也可以是,控制部11根据通过步骤S702获取到的回答,从多个模板126中选择用于各学习装置2的模板126,并将选择出的模板126向各学习装置2发送。由此,也可以是,对于各学习装置2,控制部11在步骤S102中利用选择出的模板126,决定各学习模型4的结构。
[0290] (B)第2分组方法
[0291] 接下来,使用图18,对第2分组方法的一个例子进行说明。图18是表示与基于第2分组方法针对各学习装置2进行组分配相关的处理过程的一个例子的流程图。在第2分组方法中,控制部11根据各学习模型4的属性,将各学习装置2分配于适当的组。
[0292] 此外,在采用了第2分组方法作为将各学习装置2分配于组的方法的情况下,将各学习装置2分配于多个组中的至少任一个通过以下的步骤S801~步骤S803的处理构成。但是,以下说明的处理过程只不过是一个例子,各处理只要可能则可以进行变更。另外,针对以下说明的处理过程,根据实施方式能够适当地进行步骤的省略、置换以及追加。
[0293] (步骤S801)
[0294] 在步骤S801中,控制部11从各学习装置2获取与使各学习模型4学会的规定能力相关的属性数据。获取属性数据的方法可以与在上述步骤S301中收集学习结果数据221的方法相同。控制部11可以从各学习装置2直接或者间接地获取属性数据。另外,控制部11可以在上述步骤S301中,随附于学习结果数据221而获取属性数据。
[0295] 属性数据可以包括与规定能力相关的所有信息,例如,可以包括表示规定能力的种类的信息、与学习模型4所要求的规格相关的信息等。表示规定能力的种类的信息例如可以包括用于对外观检查、栽培装置的控制等使学习模型4获得的能力进行识别的信息。另外,与学习模型4所要求的规格相关的信息例如可以包括精度、运算速度等与学习模型4的结构相关的信息。在各学习装置2中,属性数据可以在通过步骤S102决定学习模型4的结构时生成。若获取属性数据,则控制部11向接下来的步骤S802推进处理。
[0296] (步骤S802以及步骤S803)
[0297] 在步骤S802中,控制部11对从各学习装置2获取到的属性数据进行聚类。聚类的方法可以不被特别限定,可以根据实施方式适当地选择。聚类例如可以采用k平均法(k‑means聚类)等公知的方法。
[0298] 在步骤S803中,控制部11基于聚类的结果,将各学习装置2分配于多个组中的至少任一个。作为一个例子,控制部11将分别获取到的属性数据被分配为相同的类别的多个学习装置2分配于同一组。在这种情况下,各组可以根据属性数据的类别来设定。另外,控制部11可以基于聚类的结果,将各学习装置2分配于两个以上的组。
[0299] 若基于聚类的结果的组分配结束,则控制部11结束与基于第2分组方法进行组分配相关的一系列处理。根据该第2分组方法,控制部11能够根据各学习模型4的属性,将各学习装置2分配于适当的组。
[0300] (C)第3分组方法
[0301] 若变更各学习装置2的分组,则应用集成处理的学习完毕的学习模型4也变更。由此,通过执行集成处理,使各学习完毕的学习模型4学会的能力提高的程度可不同。因此,对于第3分组方法而言,与决定上述集成范围41的第3方法相同,控制部11将各学习装置2针对多个组的分配最优化,以使得执行集成处理之后比执行步骤S303的集成处理之前各学习完毕的学习模型4具有的规定能力提高。与决定上述集成范围41的第3方法相同,最优化的方法可以根据实施方式适当地决定。
[0302] 图19是表示与基于第3分组方法针对各学习装置2进行组分配相关的处理过程的一个例子的流程图。此外,将针对各学习装置2的组分配的最优化通过以下的步骤S904~步骤S906构成。但是,以下说明的处理过程只不过是一个例子,各处理只要可能则可以进行变更。另外,针对以下说明的处理过程,根据实施方式能够适当地进行步骤的省略、置换以及追加。
[0303] (步骤S901)
[0304] 在步骤S901中,控制部11作为分组部116而动作,进行各学习装置2针对多个组的分配不同的多个暂定的分组(以下,也记载为“暂定分组”)。各暂定的分组可以适当地决定。例如,也可以是,控制部11通过对多个组中的任一个组随机分配各学习装置2,从而进行多个暂定分组。另外,例如,也可以是,控制部11通过上述第1分组方法以及第2分组方法的至少任一个方法,进行暂定分组。若进行分配不同的多个暂定分组,则控制部11向接下来的步骤S902推进处理。此外,控制部11通过在步骤S901之前或者之后执行上述步骤S301,从而从各学习装置2收集各学习完毕的学习模型4。
[0305] (步骤S902)
[0306] 在步骤S902中,控制部11作为范围调整部112而动作,按每个暂定分组,在同一组内,在收集到的各学习完毕的学习模型4所含的共同部分40内决定集成范围41。步骤S902中决定集成范围41的方法可以与上述步骤S302相同。若按每个暂定分组,在同一组内决定集成范围41,则控制部11向接下来的步骤S903推进处理。
[0307] (步骤S903)
[0308] 在步骤S903中,控制部11作为集成处理部113而动作,按每个暂定分组,在同一组内,对各学习完毕的学习模型4,执行对所决定的集成范围41中所反映的机器学习的结果进行集成的集成处理。步骤S903的集成处理可以与上述步骤S303相同。若按每个暂定分组在同一组内执行集成处理,则控制部11向接下来的步骤S904推进处理。
[0309] (步骤S904)
[0310] 在步骤S904中,控制部11作为分组部116而动作,获取按每个暂定分组在同一组内执行集成处理之后的各学习完毕的学习模型4相对于评价用样本129发挥了规定能力的结果。步骤S904中获取各结果的方法可以与上述步骤S603相同。即,控制部11按每个暂定分组,在同一组内,对集成处理后的各学习完毕的学习模型4的输入层51输入输入数据1291,从输入侧依次进行各层51~56所含的各神经元的触发判定。由此,控制部11按每个暂定分组,在同一组内,从集成处理后的各学习完毕的学习模型4的输出层56获取与相对于输入数据1291发挥了规定能力的结果对应的输出值。若获取各结果,则控制部11向接下来的步骤S905推进处理。此外,针对以下的步骤905以下的各处理,控制部11也作为分组部116而动作,执行各处理。
[0311] (步骤S905)
[0312] 在步骤S905中,控制部11基于获取到的各结果,在同一组内,确定出执行集成处理之后的各学习完毕的学习模型4具有的规定能力最高的暂定分组。对通过针对各暂定分组的集成处理而在各组内得到的各学习完毕的学习模型4的规定能力进行比较的方法可以与上述步骤S604相同。即,也可以是,控制部11通过按每个暂定分组,在同一组内,对从各学习完毕的学习模型4得到的输出值与正确数据1292进行对照,从而根据各结果计算出集成处理后的各学习完毕的学习模型4相对于输入数据1291的正解率。接下来,也可以是,控制部11对按每个暂定分组在各组计算出的各学习完毕的学习模型4的正解率进行比较。然后,也可以是,基于该比较的结果,控制部11确定出给出了正解率最高的各学习完毕的学习模型4的暂定分组。由此,控制部11能够在同一组内,确定出执行集成处理之后的各学习完毕的学习模型4具有的规定能力最高的暂定分组。若确定出给出规定能力最高的集成处理后的各学习完毕的学习模型4的暂定分组,则控制部11向接下来的步骤S906推进处理。
[0313] (步骤S906)
[0314] 在步骤S906中,控制部11将确定出的暂定分组采用为各学习装置2的分组。即,控制部11根据确定出的暂定分组,对多个组中的至少任一个分配各学习装置2。若各学习装置2的分配结束,则控制部11结束与基于第3分组方法进行组分配相关的一系列处理。
[0315] 此外,在采用该第3分组方法的情况下,控制部11将对给出规定能力最高的集成处理后的各学习完毕的学习模型4的暂定分组执行了步骤S902的结果作为步骤S302的执行结果而利用。另外,控制部11将对该暂定分组执行了步骤S903的结果作为步骤S303的执行结果而利用。
[0316] 由此,控制部11能够从多个分组的候选(暂定分组)中将通过集成处理而使规定能力提高的候选作为各学习装置2的分组而采用。因此,根据该第3分组方法,能够进行通过集成处理而使规定能力最提高那样的最优的分组。
[0317] 此外,当在暂定分组所含的学习装置2中混合存在集成处理后规定能力提高的学习装置2和规定能力降低的学习装置2的情况下,该暂定分组的操作可以根据实施方式适当地选择。例如,控制部11可以不采用该暂定分组,而将不同的暂定分组采用为各学习装置2的分组。另外,例如,也可以是,控制部11将该暂定分组采用为各学习装置2的分组,并且对在集成处理后规定能力提高的学习装置2分发集成处理的结果43,不对规定能力降低的学习装置2分发集成处理的结果43。
[0318] 通过采用以上的三个方法的至少任一个方法,控制部11能够对各学习装置2适当地进行分组。但是,分组的方法可以不限定于这些例子,可以根据实施方式适当地决定。例如,控制部11可以接受操作人员经由输入装置14对分组的指定。在这种情况下,控制部11可以根据操作人员的指定进行各学习装置2的分组。
[0319] 此外,各学习装置2可以分配于两个以上的组。在这种情况下,分配于两个以上的组的学习装置2可以将在任一个组内执行的集成处理的结果43选择性地用于自身保持的学习完毕的学习模型4的集成范围41。例如,也可以是,该学习装置2从在各组内得到的集成处理的结果选择规定能力最提高的集成处理的结果,并将选择出的集成处理的结果用于自身保持的学习完毕的学习模型4的集成范围41。
[0320] [特征]
[0321] 如以上那样,本实施方式所涉及的模型集成装置1不是对本地学习数据3其本身进行集结,而是通过步骤S301以及步骤S303的处理,对通过各学习装置2构建出的各学习完毕的学习模型4进行收集,并对收集到的各学习完毕的学习模型4执行集成处理。因此,能够抑制模型集成装置1所耗费的通信成本以及计算成本。另外,步骤S303的集成处理只不过对设定在各学习完毕的学习模型4所含的共同部分40的集成范围41执行,因此,允许各学习模型4的结构不同。换句话说,即便本地学习数据3的形式以及各学习模型4的结构不一致,也能够执行步骤S303的针对各学习完毕的学习模型4的集成处理。
[0322] 而且,通过该集成处理,能够使各学习完毕的学习模型4中所反映的机器学习的结果适当地反映于其他学习完毕的学习模型4。由此,集成处理后的各学习完毕的学习模型4基于其他学习完毕的学习模型4的机器学习的结果,对各学习装置2单独得不到的那样的数据,也能够适当地发挥规定能力。因此,根据本实施方式所涉及的模型集成装置1,能够实现构建规定能力更高的学习完毕的学习模型4的环境。而且,根据本实施方式所涉及的模型集成装置1,通过根据步骤S302以及分组,决定最优的集成范围41以及最优的分组,从而能够得到规定能力更高的学习完毕的学习模型4。
[0323] §4变形例
[0324] 以上,对本发明的实施方式详细地进行了说明,但前述的说明在所有方面只不过是本发明的例示。能够不脱离本发明的范围地进行各种改进、变形是不言而喻的。例如,能够进行以下那样的变更。此外,以下,关于与上述实施方式相同的构成要素,使用相同的附图标记,针对与上述实施方式相同的方面,适当地省略了说明。以下的变形例能够适当地组合。
[0325] <4.1>
[0326] 上述实施方式所涉及的模型集成装置1用于推定由传感器S得到的传感检测数据所含的特征的场景。然而,上述实施方式的应用范围不限定于这样的例子。上述实施方式所涉及的模型集成装置1能够用于通过机器学习使学习模型学会规定能力的所有场景。以下,例示出限定了应用场景的5个变形例。
[0327] (A)外观检查的场景
[0328] 图20示意性地例示第1变形例所涉及的检查系统100A的应用场景的一个例子。本变形例是在进行生产线生产的产品RA的外观检查的场景中应用上述实施方式所涉及的模型集成装置1的例子。如图20所述那样,本变形例所涉及的检查系统100A具备模型集成装置1以及多个检查装置2A。与上述实施方式相同,模型集成装置1以及各检查装置2A可以经由网络而相互连接。
[0329] 也可以是,各检查装置2A与上述各学习装置2对应。除去处理的数据不同这点之外,各检查装置2A与上述各学习装置2相同地构成。在本变形例中,各检查装置2A与相机SA连接。各检查装置2A通过利用相机SA拍摄产品RA,从而获取映现有该产品RA的图像数据。相机SA的种类可以不被特别限定。相机SA例如可以是构成为获取RGB图像的普通的数码相机、构成为获取深度图像的深度相机、构成为将红外线量图像化的红外相机等。各检查装置2A基于所得到的图像数据,检查产品RA的状态(换句话说,判定产品RA的优劣)。
[0330] <检查装置的硬件构成>
[0331] 图21示意性地例示本变形例所涉及的各检查装置2A的硬件构成的一个例子。如图21所述那样,与上述各学习装置2相同,本变形例所涉及的各检查装置2A是电连接有控制部
21、存储部22、通信接口23、输入装置24、输出装置25、驱动器26以及外部接口27的计算机。
各检查装置2A经由外部接口27而与相机SA连接。但是,各检查装置2A的硬件构成可以不限定于这样的例子。关于各检查装置2A的具体的硬件构成,能够根据实施方式,适当地进行构成要素的省略、置换以及追加。各检查装置2A除了被设计为所提供的服务专用的信息处理装置之外,也可以为通用的服务器装置、通用的PC、PLC(programmable logic controller)等。
[0332] 本变形例所涉及的各检查装置2A的存储部22对学习程序82A、检查程序83A、本地学习数据3A、学习结果数据221A等各种信息进行存储。学习程序82A、检查程序83A、本地学习数据3A以及学习结果数据221A与上述实施方式所涉及的学习程序82、推定程序83、本地学习数据3以及学习结果数据221对应。学习程序82A、检查程序83A以及本地学习数据3A中的至少任一个可以存储于存储介质92。另外,各检查装置2A可以从存储介质92获取学习程序82A、检查程序83A以及本地学习数据3A中的至少任一个。
[0333] <学习处理>
[0334] 图22A示意性地例示与本变形例所涉及的各检查装置2A的学习处理相关的软件构成的一个例子。与上述实施方式相同,与各检查装置2A的学习处理相关的软件构成通过基于控制部21的学习程序82A的执行来实现。如图22A所述那样,除了处理的数据从传感检测数据置换为图像数据这点之外,与各检查装置2A的学习处理相关的软件构成和与上述各学习装置2的学习处理相关的软件构成相同。由此,与上述各学习装置2相同,各检查装置2A执行与机器学习相关的一系列处理。
[0335] 即,在步骤S101中,各检查装置2A的控制部21作为学习数据收集部211A而动作,对用于学习模型4A的机器学习的本地学习数据3A进行收集。在本变形例中,与上述实施方式所涉及的学习模型4相同,学习模型4A通过神经网络构成。另外,本地学习数据3A通过分别包括图像数据31A以及正确数据32A的组合的多个学习数据集30A构成。图像数据31A与训练数据31对应。
[0336] 与上述实施方式相同,获取各学习数据集30A的方法可以根据实施方式适当地决定。例如,对于图像数据31A而言,通过利用相机在各种条件下拍摄包括或者不包括污痕、污渍、损伤等缺陷的产品RA而得到图像数据31A。而且,将表示该图像数据31A所映现的产品RA的状态(正确)的正确数据32A与所得到的图像数据31A相关联。由此,可以生成各学习数据集30A。
[0337] 在步骤S102中,控制部21作为结构决定部212而动作,决定学习模型4A的结构。在步骤S103中,控制部21作为学习处理部213而动作,执行利用了收集到的本地学习数据3A的机器学习。即,控制部11训练学习模型4A,以使得若针对各学习数据集30A,输入图像数据31A,则输出与所对应的正确数据32A一致的输出值。由此,控制部11能够构建获得了判定图像数据31A所映现的产品RA的状态的能力的学习完毕的学习模型4A。在步骤S104中,控制部
21作为保存处理部214而动作,将表示通过机器学习构建出的学习完毕的学习模型4A的结构以及运算参数的信息作为学习结果数据221A而生成。而且,控制部21将所生成的学习结果数据221A保存于规定的存储区域。
[0338] <检查处理>
[0339] 图22B是示意性地例示与本变形例所涉及的各检查装置2A的检查处理相关的软件构成的一个例子。与上述实施方式相同,与各检查装置2A的检查处理相关的软件构成通过基于控制部21的检查程序83A的执行来实现。如图22B所述那样,除去处理的数据从传感检测数据置换为图像数据这点之外,与各检查装置2A的检查处理相关的软件构成和与上述各学习装置2的推定处理相关的软件构成相同。由此,与上述各学习装置2相同,各检查装置2A执行与检查处理相关的一系列处理。
[0340] 即,在步骤S201中,控制部21作为对象数据获取部216而动作,从相机SA获取映现有成为外观检查的对象的产品RA的对象图像数据225A。在步骤S202中,控制部21作为检查部217A而动作,利用学习完毕的学习模型4A,判定对象图像数据225A所映现的产品RA的状态(优劣)。具体而言,控制部21参照学习结果数据221A,进行学习完毕的学习模型4A的设定。接下来,控制部21将获取到的对象图像数据225A输入学习完毕的学习模型4A,从输入侧依次进行各层所含的各神经元的触发判定。由此,控制部21从学习完毕的学习模型4A获取与推断了对象图像数据225A所映现的产品RA的状态的结果对应的输出值。此外,检查部217A与上述推定部217对应。检查部217A通过保持学习结果数据221A,从而包括学习完毕的学习模型4A。
[0341] 在步骤S203中,控制部21作为输出部218而动作,输出与推断了产品RA的状态的结果相关的信息。输出目的地以及输出信息分别与上述实施方式相同,可以根据实施方式适当地决定。例如,控制部21可以将判定了产品RA的状态的结果直接向输出装置25输出。另外,例如,也可以是,控制部21在产品RA包括缺陷的情况下,将用于通知该情况的警告向输出装置25输出。另外,例如,也可以是,在各检查装置2A与输送产品RA的输送机装置(未图示)连接的情况下,基于判定了产品RA的状态的结果,控制输送机装置,以使不存在缺陷的产品RA和存在缺陷的产品RA在不同的生产线输送。
[0342] <模型集成>
[0343] 与上述学习模型4相同,各学习完毕的学习模型4A构成为包括具有共同的结构的共同部分。另外,各学习完毕的学习模型4A中的任一个的组合在除共同部分以外的部分具有不同的结构。对于这样的各学习完毕的学习模型4A,模型集成装置1与上述实施方式相同,执行上述步骤S301~步骤S304的处理。
[0344] 即,在步骤S301中,模型集成装置1从各检查装置2A收集各学习完毕的学习模型4A。在步骤S302中,模型集成装置1在收集到的各学习完毕的学习模型4A所含的共同部分内决定集成范围。在步骤S303中,模型集成装置1对各学习完毕的学习模型4A执行对设定在共同部分内的集成范围中所反映的机器学习的结果进行集成的集成处理。在步骤S304中,模型集成装置1通过将集成处理的结果向各检查装置2A分发,对于各检查装置2A,使集成处理的结果用于各学习完毕的学习模型4A内的集成范围,从而对各检查装置2A保持的学习完毕的学习模型4A进行更新。
[0345] 根据本变形例,在检查图像数据所映现的产品的状态的场景中,能够使各学习完毕的学习模型4A中所反映的机器学习的结果适当地反映于其他学习完毕的学习模型4A。由此,集成处理后的各学习完毕的学习模型4A能够基于其他学习完毕的学习模型4A的机器学习的结果,对各检查装置2A单独得不到的那样的对象图像数据225A,也适当地推断产品RA的状态。例如,假定在某个检查装置2A中产生了没有经验的缺陷的场景。在该场景中,若在其他检查装置2A中存在该缺陷的经验,则能够经由在该其他检查装置2A中构建出的学习完毕的学习模型4A,使该经验反映于该检查装置2A的学习完毕的学习模型4A。因此,该检查装置2A通过利用集成处理后的学习完毕的学习模型4A,能够推断产品RA包括该没有经验的缺陷。因此,根据本变形例,能够构建推断产品RA的状态的能力更高的学习完毕的学习模型4A。
[0346] 此外,在本变形例中,用于判定产品RA的状态的数据可以不局限于图像数据。例如,可以与图像数据一起或者取代图像数据,利用通过麦克风得到的声音数据、通过编码器得到的测定数据等。
[0347] (B)控制栽培装置的场景
[0348] 图23示意性地例示第2变形例所涉及的控制系统100B的应用场景的一个例子。本变形例是在根据栽培状况控制栽培装置RB的动作的场景中应用了上述实施方式所涉及的模型集成装置1的例子。如图23所述那样,本变形例所涉及的控制系统100B具备模型集成装置1以及多个控制装置2B。与上述实施方式相同,模型集成装置1以及各控制装置2B可以经由网络而相互连接。
[0349] 各控制装置2B与上述各学习装置2对应。也可以是,除去处理的数据不同这点之外,各控制装置2B与上述各学习装置2相同地构成。在本变形例中,各控制装置2B与栽培装置RB以及传感器SB连接。
[0350] 栽培装置RB构成为控制植物GB的培育环境,来栽培植物GB。栽培装置RB只要能够控制植物GB的培育环境,则其种类可以不被特别限定,可以根据实施方式适当地选择。培育环境关于植物GB培育的状况,例如为,对植物GB照射光的时间、植物GB四周的温度、给予植物GB的水的量等。栽培装置RB例如可以为窗帘装置、照明装置、空调设备、洒水装置等。窗帘装置构成为对安装于建筑物的窗的窗帘进行开闭。照明装置例如为LED(light emitting diode)照明、荧光灯等。空调设备例如为空气调节机等。洒水装置例如为洒水器等。窗帘装置以及照明装置用于控制对植物GB照射光的时间。空调设备用于控制植物GB四周的温度。洒水装置用于控制给予植物GB的水的量。
[0351] 各控制装置2B通过利用传感器SB对植物GB的栽培状况进行传感检测,从传感器SB获取传感检测数据来作为与植物GB的栽培状况相关的状况数据。栽培状况可以通过与栽培植物GB相关的所有要素例如至栽培时刻为止的培育环境、培育状态等来确定。培育状态例如也可以通过植物GB的培育度等来规定。传感器SB只要能够对植物GB的栽培状况进行传感检测,则其种类可以不被特别限定,可以根据实施方式适当地选择。传感器SB例如可以为光度计、温度计、湿度计、相机等。相机例如可以为一般的相机、深度相机、红外相机等。各控制装置2B基于所得到的状况数据,来确定植物GB的栽培状况,并以实现适于确定出的栽培状况的培育环境的方式控制栽培装置RB的动作。
[0352] <控制装置的硬件构成>
[0353] 图24示意性地例示本变形例所涉及的各控制装置2B的硬件构成的一个例子。如图24所述那样,与上述各学习装置2相同,本变形例所涉及的各控制装置2B是将控制部21、存储部22、通信接口23、输入装置24、输出装置25、驱动器26以及外部接口27电连接的计算机。
各控制装置2B经由外部接口27而与栽培装置RB以及传感器SB连接。但是,各控制装置2B的硬件构成可以不限定于这样的例子。关于各控制装置2B的具体的硬件构成,能够根据实施方式,适当地进行构成要素的省略、置换以及追加。各控制装置2B除了被设计为所提供的服务专用的信息处理装置之外,为通用的服务器装置、通用的PC、PLC等。
[0354] 本变形例所涉及的各控制装置2B的存储部22对学习程序82B、控制程序83B、本地学习数据3B、学习结果数据221B等各种信息进行存储。学习程序82B、控制程序83B、本地学习数据3B以及学习结果数据221B与上述实施方式所涉及的学习程序82、推定程序83、本地学习数据3以及学习结果数据221对应。学习程序82B、控制程序83B以及本地学习数据3B中的至少任一个可以存储于存储介质92。另外,各控制装置2B可以从存储介质92中获取学习程序82B、控制程序83B以及本地学习数据3B中的至少任一个。
[0355] <学习处理>
[0356] 图25A示意性地例示本变形例所涉及的各控制装置2B的与学习处理相关的软件构成的一个例子。与上述实施方式相同,各控制装置2B的与学习处理相关的软件构成通过基于控制部21的学习程序82B的执行来实现。如图25A所述那样,除去将处理的数据从传感检测数据置换为与植物GB的栽培状况相关的状况数据这点之外,各控制装置2B的与学习处理相关的软件构成同上述各学习装置2的与学习处理相关的软件构成相同。由此,与上述各学习装置2相同,各控制装置2B执行与机器学习相关的一系列处理。
[0357] 即,在步骤S101中,各控制装置2B的控制部21作为学习数据收集部211B而动作,对学习模型4B的机器学习所利用的本地学习数据3B进行收集。在本变形例中,与上述实施方式所涉及的学习模型4相同,学习模型4B由神经网络构成。另外,本地学习数据3B通过分别包括状况数据31B以及正确数据32B的组合的多个学习数据集30B而构成。状况数据31B与训练数据31对应。
[0358] 与上述实施方式相同,获取各学习数据集30B的方法可以根据实施方式适当地决定。例如,状况数据31B可以通过利用传感器在各种条件下对植物GB的栽培状况进行传感检测来获得。而且,使表示控制指示(正确)的正确数据32B与所得到的状况数据31B相关联,上述控制指示将与由该状况数据31B表示的栽培状况对应的培育环境的控制向栽培装置RB进行指示。控制指示(正确)可以通过例如栽培植物GB的实绩、操作人员的输入等来给出。由此,可以生成各学习数据集30B。
[0359] 在步骤S102中,控制部21作为结构决定部212而动作,决定学习模型4B的结构。在步骤S103中,控制部21作为学习处理部213而动作,执行利用了收集到的本地学习数据3B的机器学习。即,控制部11训练学习模型4B,以使得若针对各学习数据集30B,输入状况数据31B,则输出与对应的正确数据32B一致的输出值。由此,控制部11能够构建获得了根据植物GB的栽培状况来决定给予栽培装置RB的控制指示的能力的学习完毕的学习模型4B。在步骤S104中,控制部21作为保存处理部214而动作,将表示由机器学习构建出的学习完毕的学习模型4B的结构以及运算参数的信息作为学习结果数据221B而生成。而且,控制部21将所生成的学习结果数据221B保存于规定的存储区域。
[0360] <控制处理>
[0361] 图25B示意性地例示本变形例所涉及的各控制装置2B的与控制处理相关的软件构成的一个例子。与上述实施方式相同,各控制装置2B的与控制处理相关的软件构成通过基于控制部21的控制程序83B的执行来实现。如图25B所述那样,除去将处理的数据从传感检测数据置换为状况数据这点之外,各控制装置2B的与控制处理相关的软件构成同上述各学习装置2的与推定处理相关的软件构成相同。由此,与上述各学习装置2相同,各控制装置2B执行与控制处理相关的一系列处理。
[0362] 即,在步骤S201中,控制部21作为对象数据获取部216而动作,从传感器SB获取与成为控制培育环境的对象的植物GB的栽培状况相关的对象状况数据225B。在步骤S202中,控制部21作为指示决定部217B而动作,利用学习完毕的学习模型4B,根据由对象状况数据225B确定出的植物GB的栽培状况来决定给予栽培装置RB的控制指示。具体而言,控制部21参照学习结果数据221B,进行学习完毕的学习模型4B的设定。接下来,控制部21将获取到的对象状况数据225B输入学习完毕的学习模型4B,从输入侧依次进行各层所含的各神经元的触发判定。由此,控制部21从学习完毕的学习模型4B获取输出值,上述输出值与根据由对象状况数据225B确定出的植物GB的栽培状况来决定给予栽培装置RB的控制指示的结果对应。
此外,指示决定部217B与上述推定部217对应。指示决定部217B通过保持学习结果数据
221B,从而包括学习完毕的学习模型4B。
[0363] 在步骤S203中,控制部21作为输出部218而动作,输出与决定给予栽培装置RB的控制指定的结果相关的信息。与上述实施方式相同,输出目的地以及输出信息分别可以根据实施方式适当地决定。例如,也可以是,控制部21将决定出的控制指示给予栽培装置RB,并控制栽培装置RB的动作。另外,例如,也可以是,控制部21将表示决定出的控制指示的信息向输出装置25输出,并催促植物GB的管理者控制栽培装置RB的动作。在这种情况下,控制装置2B可以不与栽培装置RB连接。
[0364] <模型集成>
[0365] 与上述学习模型4相同,各学习完毕的学习模型4B构成为包括具有共同的结构的共同部分。另外,各学习完毕的学习模型4B中的任一个的组合在除共同部分以外的部分中具有不同的结构。对于这样的各学习完毕的学习模型4B,模型集成装置1与上述实施方式相同地执行上述步骤S301~步骤S304的处理。
[0366] 即,在步骤S301中,模型集成装置1从各控制装置2B收集各学习完毕的学习模型4B。在步骤S302中,模型集成装置1在收集到的各学习完毕的学习模型4B所含的共同部分内决定集成范围。在步骤S303中,模型集成装置1对各学习完毕的学习模型4B执行对设定在共同部分内的集成范围中所反映的机器学习的结果进行集成的集成处理。在步骤S304中,模型集成装置1将集成处理的结果向各控制装置2B分发,并对于各控制装置2B,使集成处理的结果用于各学习完毕的学习模型4B内的集成范围,从而对各控制装置2B保持的学习完毕的学习模型4B进行更新。
[0367] 根据本变形例,在控制栽培装置的动作的场景中,能够使各学习完毕的学习模型4B中所反映的机器学习的结果适当地反映于其他学习完毕的学习模型4B。由此,集成处理后的各学习完毕的学习模型4B基于其他学习完毕的学习模型4B的机器学习的结果,对各控制装置2B单独得不到的那样的栽培状况,也能够适当地控制栽培装置RB的动作。例如,假定为存在温暖气候的地域中培育植物GB的控制装置2B和寒冷气候的地域中培育植物GB的其他控制装置2B。在该场景中,假定为:在温暖气候的地域的控制装置2B中,几乎没有根据寒冷气候的地域中可产生的栽培状况而控制栽培装置RB的动作来培育植物GB的经验。因此,对于控制装置2B单独而言,几乎得不到这样的经验,因此,在由于异常气象等而成为温暖气候的地域中和寒冷气候的地域中产生的那样的栽培状况时,控制装置2B可能无法适当地控制栽培装置RB。相对于此,根据本变形例,若在其他控制装置2B中存在其经验,则能够经由该其他控制装置2B中构建出的学习完毕的学习模型4B,使其经验反映于该控制装置2B的学习完毕的学习模型4B。因此,该控制装置2B通过利用集成处理后的学习完毕的学习模型4B,对于在其地域几乎得不到经验那样的栽培状况,也能够适当地控制栽培装置RB。因此,根据本变形例,能够构建适当地控制栽培装置RB的能力更高的学习完毕的学习模型4B。
[0368] (C)驾驶员监视的场景
[0369] 图26示意性地例示第3变形例所涉及的监视系统100C的应用场景的一个例子。本变形例是在监视驾驶车辆的驾驶员RC的状态的场景应用上述实施方式所涉及的模型集成装置1的例子。如图26所述那样,本变形例所涉及的监视系统100C具备模型集成装置1以及多个监视装置2C。与上述实施方式相同,模型集成装置1以及各监视装置2C可以经由网络而相互连接。
[0370] 各监视装置2C与上述各学习装置2对应。除去处理的数据不同这点之外,各监视装置2C可以与上述各学习装置2相同地构成。各监视装置2C基于通过观测驾驶员RC得到的数据,推断该驾驶员RC的状态。用于推断的数据只要是与驾驶员RC的状态相关的数据,则可以不被特别限定,可以根据实施方式适当地选择。用于推断的数据例如可以是驾驶员RC的生命体征数据、驾驶员RC的可映现的图像数据等。在本变形例中,各监视装置2C与以能够拍摄驾驶员RC的方式配置的相机SC连接。相机SC例如可以为一般的相机、深度相机、红外相机等。各监视装置2C基于从相机SC得到的图像数据,推断驾驶员RC的状态。成为推断的对象的驾驶员RC的状态可以根据实施方式适当地决定。成为推断的对象的驾驶员RC的状态可以根据实施方式适当地决定,例如,可以包括表示驾驶员RC的困倦的程度的困倦度、表示驾驶员RC的疲劳的程度的疲劳度、表示驾驶员RC相对于驾驶的从容的程度的从容度或者这些的组合。
[0371] <监视装置的硬件构成>
[0372] 图27示意性地例示本变形例所涉及的各监视装置2C的硬件构成的一个例子。如图27所述那样,与上述各学习装置2相同,本变形例所涉及的各监视装置2C是电连接有控制部
21、存储部22、通信接口23、输入装置24、输出装置25、驱动器26以及外部接口27的计算机。
各监视装置2C经由外部接口27与相机SC连接。但是,各监视装置2C的硬件构成可以不限定于这样的例子。关于各监视装置2C的具体硬件构成,能够根据实施方式,适当地进行构成要素的省略、置换以及追加。各监视装置2C除了被设计为所提供的服务专用的信息处理装置之外,可以是通用的计算机、包括智能手机的移动电话、车载装置等。
[0373] 本变形例所涉及的各监视装置2C的存储部22对学习程序82C、监视程序83C、本地学习数据3C、学习结果数据221C等各种信息进行存储。学习程序82C、监视程序83C、本地学习数据3C以及学习结果数据221C与上述实施方式所涉及的学习程序82、推定程序83、本地学习数据3以及学习结果数据221对应。学习程序82C、监视程序83C以及本地学习数据3C中的至少任一个可以存储于存储介质92。另外,各监视装置2C可以从存储介质92获取学习程序82C、监视程序83C以及本地学习数据3C中的至少任一个。
[0374] <学习处理>
[0375] 图28A示意性地例示本变形例所涉及的各监视装置2C的与学习处理相关的软件构成的一个例子。与上述实施方式相同,各监视装置2C的与学习处理相关的软件构成通过基于控制部21的学习程序82C的执行来实现。如图28A所述那样,除了将处理的数据从传感检测数据置换为驾驶员RC的可映现的图像数据这点之外,各监视装置2C的与学习处理相关的软件构成同上述各学习装置2的与学习处理相关的软件构成相同。由此,与上述各学习装置2相同,各监视装置2C执行与机器学习相关的一系列处理。
[0376] 即,在步骤S101中,各监视装置2C的控制部21作为学习数据收集部211C而动作,对学习模型4C的机器学习所利用的本地学习数据3C进行收集。在本变形例中,与上述实施方式所涉及的学习模型4相同,学习模型4C由神经网络构成。另外,本地学习数据3C由分别包括图像数据31C以及正确数据32C的组合的多个学习数据集30C构成。图像数据31C与训练数据31对应。
[0377] 与上述实施方式相同,获取各学习数据集30C的方法可以根据实施方式适当地决定。例如,图像数据31C可以通过利用相机在各种状况下拍摄驾驶车辆的受检者(驾驶员)来获得。而且,使表示该状况的受检者的状态(正确)的正确数据32C与所得到的图像数据31C相关联。受检者的状态(正确)例如可以通过由除相机以外的其他传感器得到的数据、操作人员的输入等而给出。由此,可以生成各学习数据集30C。
[0378] 在步骤S102中,控制部21作为结构决定部212而动作,来决定学习模型4C的结构。在步骤S103中,控制部21作为学习处理部213而动作,执行利用了收集到的本地学习数据3C的机器学习。即,控制部11训练学习模型4C,以使得若针对各学习数据集30C,输入图像数据
31C,则输出与对应的正确数据32C一致的输出值。由此,控制部11能够构建获得了推断图像数据31C所映现的驾驶员的状态的能力的学习完毕的学习模型4C。在步骤S104中,控制部21作为保存处理部214而动作,并将表示由机器学习构建出的学习完毕的学习模型4C的结构以及运算参数的信息作为学习结果数据221C而生成。而且,控制部21将所生成的学习结果数据221C保存于规定的存储区域。
[0379] <监视处理>
[0380] 图28B示意性地例示本变形例所涉及的各监视装置2C的与监视处理相关的软件构成的一个例子。与上述实施方式相同,各监视装置2C的与监视处理相关的软件构成通过基于控制部21的监视程序83C的执行来实现。如图28B所述那样,除去将处理的数据从传感检测数据置换为图像数据这点之外,各监视装置2C的与监视处理相关的软件构成同上述各学习装置2的与推定处理相关的软件构成相同。由此,与上述各学习装置2相同,各监视装置2C执行与监视处理相关的一系列处理。
[0381] 即,在步骤S201中,控制部21作为对象数据获取部216而动作,从相机SC获取驾驶员RC的可映现的对象图像数据225C。在步骤S202中,控制部21作为监视部217C而动作,利用学习完毕的学习模型4C,推断对象图像数据225C所映现的驾驶员RC的状态。具体而言,控制部21参照学习结果数据221C,进行学习完毕的学习模型4C的设定。接下来,控制部21将获取到的对象图像数据225C输入学习完毕的学习模型4C,并从输入侧依次进行各层所含的各神经元的触发判定。由此,控制部21从学习完毕的学习模型4C获取与推断了对象图像数据225C所映现的驾驶员RC的状态的结果对应的输出值。此外,监视部217C与上述推定部217对应。监视部217C通过保持学习结果数据221C,从而包括学习完毕的学习模型4C。
[0382] 在步骤S203中,控制部21作为输出部218而动作,并输出与推断了驾驶员RC的状态的结果相关的信息。输出目的地以及输出信息分别与上述实施方式相同,可以根据实施方式适当地决定。例如,控制部21可以将推断了驾驶员RC的状态的结果保持原样直接向输出装置25输出。
[0383] 另外,例如,控制部21可以根据驾驶员RC的状态,将警告等特定的消息向输出装置25输出。作为一个例子,也可以是,在作为驾驶员RC的状态而推断出困倦度以及疲劳度的至少一者的情况下,控制部21判定困倦度以及疲劳度的至少一者是否超过阈值。阈值可以适当地设定。而且,也可以是,在困倦度以及疲劳度的至少一者超过阈值的情况下,控制部21将催促驾驶员RC在停车场等停车并进行休息的警告向输出装置25输出。
[0384] 另外,例如,也可以是,在车辆构成为能够进行自动驾驶动作的情况下,控制部21基于推断了驾驶员RC的状态的结果,控制车辆的自动驾驶的动作。作为一个例子,假定为:车辆构成为能够切换通过系统控制车辆的行驶的自动驾驶模式以及通过驾驶员RC的操舵控制车辆的行驶的手动驾驶模式。
[0385] 在该情况下,也可以是,车辆以自动驾驶模式行驶,从驾驶员RC或者系统接受到从自动驾驶模式向手动驾驶模式的切换时,控制部21判定驾驶员RC的被推断出的从容度是否超过阈值。而且,也可以是,在驾驶员RC的从容度超过阈值的情况下,控制部21允许从自动驾驶模式向手动驾驶模式的切换。另一方面,也可以是,在驾驶员RC的从容度为阈值以下的情况下,控制部21不允许从自动驾驶模式向手动驾驶模式的切换,维持自动驾驶模式的行驶。
[0386] 另外,也可以是,在车辆以手动驾驶模式行驶时,控制部21判定困倦度以及疲劳度的至少一者是否超过阈值。而且,也可以是,在困倦度以及疲劳度的至少一者超过阈值的情况下,控制部21将指示为从手动驾驶模式切换为自动驾驶模式并在停车场等安全的场所停车的指示向车辆的系统发送。另一方面,在不是这样的情况下,控制部21可以维持基于手动驾驶模式的车辆的行驶。
[0387] 另外,也可以是,在车辆以手动驾驶模式行驶时,控制部21判定从容度是否为阈值以下。而且,也可以是,在从容度为阈值以下的情况下,控制部21将减速的指示向车辆的系统发送。另一方面,也可以是,在不是这样的情况下,控制部21维持基于驾驶员RC的操作的车辆的行驶。
[0388] <模型集成>
[0389] 与上述学习模型4相同,各学习完毕的学习模型4C构成为包括具有共同的结构的共同部分。另外,各学习完毕的学习模型4C中的任一个的组合在除共同部分以外的部分中具有不同的结构。对于这样的各学习完毕的学习模型4C,模型集成装置1与上述实施方式相同地执行上述步骤S301~步骤S304的处理。
[0390] 即,在步骤S301中,模型集成装置1从各监视装置2C收集各学习完毕的学习模型4C。在步骤S302中,模型集成装置1在收集到的各学习完毕的学习模型4C所含的共同部分内决定集成范围。在步骤S303中,模型集成装置1对各学习完毕的学习模型4C执行对设定在共同部分内的集成范围中所反映的机器学习的结果进行集成的集成处理。在步骤S304中,模型集成装置1将集成处理的结果向各监视装置2C分发,并对于各监视装置2C,使集成处理的结果用于各学习完毕的学习模型4C内的集成范围,从而对各监视装置2C保持的学习完毕的学习模型4C进行更新。
[0391] 根据本变形例,在监视驾驶员的状态的场景中,能够使各学习完毕的学习模型4C中所反映的机器学习的结果适当地反映于其他学习完毕的学习模型4C。由此,集成处理后的各学习完毕的学习模型4C基于其他学习完毕的学习模型4C的机器学习的结果,对各监视装置2C单独得不到的那样的驾驶员RC的属性以及运转环境,也能够适当地推断该驾驶员RC的状态。因此,根据本变形例,能够构建适当地推断驾驶员RC的状态的能力更高的学习完毕的学习模型4C。
[0392] (D)发电量预测的场景
[0393] 图29示意性地例示第4变形例所涉及的预测系统100D的应用场景的一个例子。本变形例是在预测发电设备RD的发电量的场景中应用上述实施方式所涉及的模型集成装置1的例子。如图29所述那样,本变形例所涉及的预测系统100D具备模型集成装置1以及多个预测装置2D。与上述实施方式相同,模型集成装置1以及各预测装置2D可以经由网络而相互连接。
[0394] 各预测装置2D与上述各学习装置2对应。也可以是,除去处理的数据不同这点之外,各预测装置2D与上述各学习装置2相同地构成。各预测装置2D基于与发电设备RD的发电相关的数据,预测该发电设备RD的发电量。发电设备RD的种类可以不被特别限定,例如可以是太阳能发电设备。用于发电量的预测的数据只要可与发电设备RD的发电相关,则可以不被特别限定,可以根据实施方式适当地选择。在本变形例中,发电设备RD是太阳能发电设备,各预测装置2D基于气象数据,来预测发电设备RD的发电量。
[0395] <预测装置的硬件构成>
[0396] 图30示意性地例示本变形例所涉及的各预测装置2D的硬件构成的一个例子。如图30所述那样,与上述各学习装置2相同,本变形例所涉及的各预测装置2D是电连接有控制部
21、存储部22、通信接口23、输入装置24、输出装置25、驱动器26以及外部接口27的计算机。
但是,各预测装置2D的硬件构成可以不限定于这样的例子。关于各预测装置2D的具体硬件构成,能够根据实施方式,适当地进行构成要素的省略、置换以及追加。各预测装置2D除了被设计为所提供的服务专用的信息处理装置之外,也可以为通用的服务器装置、通用的PC等。
[0397] 本变形例所涉及的各预测装置2D的存储部22对学习程序82D、预测程序83D、本地学习数据3D、学习结果数据221D等各种信息进行存储。学习程序82D、预测程序83D、本地学习数据3D以及学习结果数据221D与上述实施方式所涉及的学习程序82、推定程序83、本地学习数据3以及学习结果数据221对应。学习程序82D、预测程序83D以及本地学习数据3D中的至少任一个可以存储于存储介质92。另外,各预测装置2D可以从存储介质92获取学习程序82D、预测程序83D以及本地学习数据3D中的至少任一个。
[0398] <学习处理>
[0399] 图31A示意性地例示本变形例所涉及的各预测装置2D的与学习处理相关的软件构成的一个例子。与上述实施方式相同,各预测装置2D的与学习处理相关的软件构成通过基于控制部21的学习程序82D的执行来实现。如图31A所述那样,除去将处理的数据从传感检测数据置换为气象数据这点之外,各预测装置2D的与学习处理相关的软件构成同上述各学习装置2的与学习处理相关的软件构成相同。由此,与上述各学习装置2相同,各预测装置2D执行与机器学习相关的一系列处理。
[0400] 即,在步骤S101中,各预测装置2D的控制部21作为学习数据收集部211D而动作,并对学习模型4D的机器学习所利用的本地学习数据3D进行收集。在本变形例中,与上述实施方式所涉及的学习模型4相同,学习模型4D由神经网络构成。另外,本地学习数据3D由分别包括气象数据31D以及正确数据32D的组合的多个学习数据集30D构成。气象数据31D与训练数据31对应。气象数据31D例如可以包括表示天气、气温、降水量、湿度、风量等的数据。
[0401] 与上述实施方式相同,获取各学习数据集30D的方法可以根据实施方式适当地决定。例如,气象数据31D可以在各种气象条件下获得。而且,使表示该气象条件下的发电设备RD的发电量(正确)的正确数据32D与所获得的气象数据31D相关联。发电量(正确)例如可以通过发电设备RD的传感器、操作人员的输入等而给出。由此,可以生成各学习数据集30D。
[0402] 在步骤S102中,控制部21作为结构决定部212而动作,决定学习模型4D的结构。在步骤S103中,控制部21作为学习处理部213而动作,执行利用了收集到的本地学习数据3D的机器学习。即,控制部11训练学习模型4D,以使得若针对各学习数据集30D,输入气象数据31D,则输出与对应的正确数据32D一致的输出值。由此,控制部11能够构建获得了根据气象数据31D所示的气象条件预测发电设备RD的发电量的能力的学习完毕的学习模型4D。在步骤S104中,控制部21作为保存处理部214而动作,将表示通过机器学习构建出的学习完毕的学习模型4D的结构以及运算参数的信息作为学习结果数据221D而生成。而且,控制部21将所生成的学习结果数据221D保存于规定的存储区域。
[0403] <预测处理>
[0404] 图31B示意性地例示本变形例所涉及的各预测装置2D的与预测处理相关的软件构成的一个例子。与上述实施方式相同,各预测装置2D的与预测处理相关的软件构成通过基于控制部21的预测程序83D的执行来实现。如图31B所述那样,除去将处理的数据从传感检测数据置换为气象数据这点之外,各预测装置2D的与预测处理相关的软件构成同上述各学习装置2的与推定处理相关的软件构成相同。由此,与上述各学习装置2相同,各预测装置2D执行与预测处理相关的一系列处理。
[0405] 即,在步骤S201中,控制部21作为对象数据获取部216而动作,获取成为预测发电量的对象的发电设备RD的与气象条件相关的对象气象数据225D。对象气象数据225D的获取目的地可以不被特别限定,可以根据实施方式适当地选择。例如,控制部21可以从公知的气象数据服务器获取对象气象数据225D。另外,例如,也可以是,在各预测装置2D与观测发电设备RD周边的气象条件的传感器连接的情况下,控制部21从该传感器获取对象气象数据225D。
[0406] 在步骤S202中,控制部21作为预测部217D而动作,利用学习完毕的学习模型4D,根据对象气象数据225D所示的气象条件来预测发电设备RD的发电量。具体而言,控制部21参照学习结果数据221D,进行学习完毕的学习模型4D的设定。接下来,控制部21将获取到的对象气象数据225D输入学习完毕的学习模型4D,从输入侧依次进行各层所含的各神经元的触发判定。由此,控制部21从学习完毕的学习模型4D获取输出值,上述输出值与根据对象气象数据225D所示的气象条件而预测出发电设备RD的发电量的结果对应。此外,预测部217D与上述推定部217对应。预测部217D通过保持学习结果数据221D,从而包括学习完毕的学习模型4D。
[0407] 在步骤S203中,控制部21作为输出部218而动作,并输出与预测出发电设备RD的发电量的结果相关的信息。输出目的地以及输出信息分别与上述实施方式相同,可以根据实施方式适当地决定。例如,控制部21可以将预测出发电设备RD的发电量的结果保持原样向输出装置25输出。另外,例如,也可以是,控制部21在将发电设备RD的发电量与阈值进行比较且发电设备RD的发电量为阈值以下的情况下,将催促通过其他发电设备进行发电的消息向输出装置25输出。阈值可以适当地设定。
[0408] <模型集成>
[0409] 与上述学习模型4相同,各学习完毕的学习模型4D构成为包括具有共同的结构的共同部分。另外,各学习完毕的学习模型4D中的任一个的组合在除共同部分以外的部分中具有不同的结构。对于这样的各学习完毕的学习模型4D,模型集成装置1与上述实施方式相同地执行上述步骤S301~步骤S304的处理。
[0410] 即,在步骤S301中,模型集成装置1从各预测装置2D收集各学习完毕的学习模型4D。在步骤S302中,模型集成装置1在收集到的各学习完毕的学习模型4D所含的共同部分内决定集成范围。在步骤S303中,模型集成装置1对各学习完毕的学习模型4D执行对设定在共同部分内的集成范围中所反映的机器学习的结果进行集成的集成处理。在步骤S304中,模型集成装置1将集成处理的结果向各预测装置2D分发,并对于各预测装置2D,使集成处理的结果用于各学习完毕的学习模型4D内的集成范围,从而对各预测装置2D保持的学习完毕的学习模型4D进行更新。
[0411] 根据本变形例,在预测发电设备的发电量的场景中,能够使各学习完毕的学习模型4D中所反映的机器学习的结果适当地反映于其他学习完毕的学习模型4D。由此,集成处理后的各学习完毕的学习模型4D基于其他学习完毕的学习模型4D的机器学习的结果,对各预测装置2D单独得不到的那样的气象条件,也能够适当地推断发电设备RD的发电量。因此,根据本变形例,能够构建适当地预测发电设备RD的发电量的能力更高的学习完毕的学习模型4D。
[0412] (E)诊断健康状态的场景
[0413] 图32示意性地例示第5变形例所涉及的诊断系统100E的应用场景的一个例子。本变形例是在推断(诊断)对象者RE的健康状态的场景中应用上述实施方式所涉及的模型集成装置1的例子。如图32所述那样,本变形例所涉及的诊断系统100E具备模型集成装置1以及多个诊断装置2E。与上述实施方式相同,模型集成装置1以及各诊断装置2E可以经由网络而相互连接。
[0414] 各诊断装置2E与上述各学习装置2对应。除去处理的数据不同这点之外,各诊断装置2E可以与上述各学习装置2相同地构成。各诊断装置2E基于与对象者RE的健康状态相关的数据,诊断该对象者RE的健康状态。用于诊断的数据只要是与对象者RE的健康状态相关的数据,则可以不被特别限定,可以根据实施方式适当地选择。用于诊断的数据例如可以是图像数据、生命体征数据等。生命体征数据与生命体征相关,例如可以为表示体温、血压、脉搏等测定结果的数据。在本变形例中,各诊断装置2E与生命体征传感器SE连接。各诊断装置2E基于从生命体征传感器SE得到的生命体征数据,诊断对象者RE的健康状态。成为推断的对象的健康状态可以根据实施方式适当地决定,例如,可以包括是否健康、是否存在得病的预兆等。
[0415] <诊断装置的硬件构成>
[0416] 图33示意性地例示本变形例所涉及的各诊断装置2E的硬件构成的一个例子。如图33所述那样,与上述各学习装置2相同,本变形例所涉及的各诊断装置2E是电连接有控制部
21、存储部22、通信接口23、输入装置24、输出装置25、驱动器26以及外部接口27的计算机。
各诊断装置2E经由外部接口27而与生命体征传感器SE连接。生命体征传感器SE例如是体温计、血压计、脉搏计等。但是,各诊断装置2E的硬件构成可以不限定于这样的例子。关于各诊断装置2E的具体硬件构成,能够根据实施方式,适当地进行构成要素的省略、置换以及追加。各诊断装置2E除了被设计为所提供的服务专用的信息处理装置之外,也可以为通用的服务器装置、通用的PC等。
[0417] 本变形例所涉及的各诊断装置2E的存储部22对学习程序82E、诊断程序83E、本地学习数据3E、学习结果数据221E等各种信息进行存储。学习程序82E、诊断程序83E、本地学习数据3E以及学习结果数据221E与上述实施方式所涉及的学习程序82、推定程序83、本地学习数据3以及学习结果数据221对应。学习程序82E、诊断程序83E以及本地学习数据3E中的至少任一个可以存储于存储介质92。另外,各诊断装置2E可以从存储介质92获取学习程序82E、诊断程序83E以及本地学习数据3E中的至少任一个。
[0418] <学习处理>
[0419] 图34A示意性地例示本变形例所涉及的各诊断装置2E的与学习处理相关的软件构成的一个例子。与上述实施方式相同,各诊断装置2E的与学习处理相关的软件构成通过基于控制部21的学习程序82E的执行来实现。如图34A所述那样,除去将处理的数据从传感检测数据置换为生命体征数据这点之外,各诊断装置2E的与学习处理相关的软件构成同上述各学习装置2的与学习处理相关的软件构成相同。由此,与上述各学习装置2相同,各诊断装置2E执行与机器学习相关的一系列处理。
[0420] 即,在步骤S101中,各诊断装置2E的控制部21作为学习数据收集部211E而动作,对学习模型4E的机器学习所利用的本地学习数据3E进行收集。在本变形例中,与上述实施方式所涉及的学习模型4相同,学习模型4E由神经网络构成。另外,本地学习数据3E由分别包括生命体征数据31E以及正确数据32E的组合的多个学习数据集30E构成。生命体征数据31E与训练数据31对应。
[0421] 与上述实施方式相同,获取各学习数据集30E的方法可以根据实施方式适当地决定。例如,生命体征数据31E可以通过利用生命体征传感器测定各种健康状态的受检者的生命体征来获得。而且,使表示该受检者的健康状态(正确)的正确数据32E与所获得的生命体征数据31E相关联。受检者的健康状态(正确)例如可以通过实绩数据、操作人员的输入等而给出。由此,可以生成各学习数据集30E。
[0422] 在步骤S102中,控制部21作为结构决定部212而动作,决定学习模型4E的结构。在步骤S103中,控制部21作为学习处理部213而动作,执行利用了收集到的本地学习数据3E的机器学习。即,控制部11训练学习模型4E,以使得若针对各学习数据集30E,输入生命体征数据31E,则输出与对应的正确数据32E一致的输出值。由此,控制部11能够构建获得了根据生命体征数据31E诊断对象者的健康状态的能力的学习完毕的学习模型4E。在步骤S104中,控制部21作为保存处理部214而动作,并将表示通过机器学习构建出的学习完毕的学习模型4E的结构以及运算参数的信息作为学习结果数据221E而生成。而且,控制部21将所生成的学习结果数据221E保存于规定的存储区域。
[0423] <诊断处理>
[0424] 图34B示意性地例示本变形例所涉及的各诊断装置2E的与诊断处理相关的软件构成的一个例子。与上述实施方式相同,各诊断装置2E的与诊断处理相关的软件构成通过基于控制部21的诊断程序83E的执行来实现。如图34B所述那样,除去将处理的数据从传感检测数据置换为生命体征数据这点之外,各诊断装置2E的与诊断处理相关的软件构成同上述各学习装置2的与推定处理相关的软件构成相同。由此,与上述各学习装置2相同,各诊断装置2E执行与诊断处理相关的一系列处理。
[0425] 即,在步骤S201中,控制部21作为对象数据获取部216而动作,从生命体征传感器SE获取表示测定了对象者RE的生命体征的结果的对象生命体征数据225E。在步骤S202中,控制部21作为诊断部217E而动作,利用学习完毕的学习模型4E,根据对象生命体征数据225E来诊断对象者RE的健康状态。具体而言,控制部21参照学习结果数据221E,进行学习完毕的学习模型4E的设定。接下来,控制部21将获取到的对象生命体征数据225E输入学习完毕的学习模型4E,从输入侧依次进行各层所含的各神经元的触发判定。由此,控制部21从学习完毕的学习模型4E获取与基于对象生命体征数据225E诊断了对象者RE的健康状态的结果对应的输出值。此外,诊断部217E与上述推定部217对应。诊断部217E通过保持学习结果数据221E,从而包括学习完毕的学习模型4E。
[0426] 在步骤S203中,控制部21作为输出部218而动作,并输出与诊断了对象者RE的健康状态的结果相关的信息。输出目的地以及输出信息分别与上述实施方式相同,可以根据实施方式适当地决定。例如,控制部21可以将诊断了对象者RE的健康状态的结果保持原样直接向输出装置25输出。另外,例如,在诊断出的对象者RE的健康状态表示规定的病症的预兆的情况下,控制部21可以将催促去医院诊查的消息向输出装置25输出。
[0427] <模型集成>
[0428] 与上述学习模型4相同,各学习完毕的学习模型4E构成为包括具有共同的结构的共同部分。另外,各学习完毕的学习模型4E中的任一个的组合在除共同部分以外的部分中具有不同的结构。对于这样的各学习完毕的学习模型4E,模型集成装置1与上述实施方式相同地执行上述步骤S301~步骤S304的处理。
[0429] 即,在步骤S301中,模型集成装置1从各诊断装置2E收集各学习完毕的学习模型4E。在步骤S302中,模型集成装置1在收集到的各学习完毕的学习模型4E所含的共同部分内决定集成范围。在步骤S303中,模型集成装置1对各学习完毕的学习模型4E执行对设定在共同部分内的集成范围中所反映的机器学习的结果进行集成的集成处理。在步骤S304中,模型集成装置1将集成处理的结果向各诊断装置2E分发,并对于各诊断装置2E,使集成处理的结果用于各学习完毕的学习模型4E内的集成范围,从而对各诊断装置2E保持的学习完毕的学习模型4E进行更新。
[0430] 根据本变形例,在诊断对象者的健康状态的场景中,能够使各学习完毕的学习模型4E中所反映的机器学习的结果适当地反映于其他学习完毕的学习模型4E。由此,集成处理后的各学习完毕的学习模型4E基于其他学习完毕的学习模型4E的机器学习的结果,对各诊断装置2E单独得不到的那样的对象者的属性以及生命体征,也能够适当地推断该对象者的健康状态。因此,根据本变形例,能够构建适当地诊断对象者RE的健康状态的能力更高的学习完毕的学习模型4E。
[0431] (F)其他
[0432] 如以上那样,上述实施方式所涉及的模型集成装置1能够在通过机器学习使学习模型学会规定能力的所有场景中应用。此外,模型集成装置1可以按每个变形例分组,也可以在各变形例内分组。例如,模型集成装置1可以将各检查装置2A和控制装置2B分配为不同的组。另外,例如,模型集成装置1也可以将进行第1产品的检查的一个检查装置2A和进行与第1产品不同的第2产品的检查的其他的检查装置2A分配为不同的组。由此,模型集成装置1通过即便上述各变形例并存,也按每个组执行上述各处理,从而能够实现学习完毕的学习模型(4、4A~4E)的集成处理。
[0433] <4.2>
[0434] 在上述实施方式中,各学习装置2通过执行学习处理以及推定处理双方的计算机而构成。然而,各学习装置2的构成可以不限定于这样的例子。多个学习装置2的至少任一个可以由多台计算机构成。在这种情况下,学习装置2可以构成为学习处理与推定处理通过不同的计算机来执行。
[0435] 图35示意性地例示本变形例所涉及的学习装置2F的构成的一个例子。在本变形例中,学习装置2F具备:构成为执行上述学习处理的模型生成装置200以及构成为执行上述推定处理的模型利用装置201。模型生成装置200以及模型利用装置201各自的硬件构成可以与上述实施方式所涉及的各学习装置2的硬件构成相同。模型生成装置200通过执行学习程序82,从而作为将学习数据收集部211、结构决定部212、学习处理部213以及保存处理部214具备为软件模块的计算机而动作。模型利用装置201通过执行推定程序83,从而作为将对象数据获取部216、推定部217以及输出部218具备为软件模块的计算机而动作。在这种情况下,可以将模型生成装置200作为“学习装置”来处理。此外,针对上述变形例所涉及的检查装置2A、控制装置2B、监视装置2C、预测装置2D以及诊断装置2E也相同。
[0436] <4.3>
[0437] 在上述实施方式中,各学习装置2与模型集成装置1之间的数据通信经由网络来进行。模型集成装置1对从各学习装置2收集到的学习完毕的学习模型4(学习结果数据221)执行集成处理。在该过程中,若公开学习完毕的学习模型4,则可能有损各学习装置2的推定处理以及本地学习数据3的内容的机密性。因此,为了提高数据通信的安全性,在上述实施方式中,对集成范围41中所反映的机器学习的结果进行集成的集成处理可以通过秘密计算来进行。秘密计算的方法可以不被特别限定,可以根据实施方式适当地选择。在本变形例中,可以采用利用了秘密分散以及同态加密的任一个的方法。
[0438] (A)利用秘密分散的方法
[0439] 图36A示意性地例示利用秘密分散执行集成处理的场景的一个例子。在利用秘密分散的方法中,分别作为具有可靠性的第三方机构,第1服务器61以及第2服务器62装入网络。第1服务器61以及第2服务器62分别与模型集成装置1等相同是具备硬件处理器以及存储器的计算机。
[0440] 在该方法中,首先,各学习装置2的控制部21在发送自身的学习完毕的学习模型4时,生成随机数。生成随机数的方法可以根据实施方式适当地选择。接下来,控制部21对学习完毕的学习模型4的运算参数的值与生成的随机数进行差值。而且,控制部21将计算出的差值向第1服务器61发送,另一方面,将所生成的随机数向第2服务器62发送。
[0441] 与此对应地,第1服务器61如以下的式1那样,计算从各学习装置2接收到的差值的总和。另一方面,第2服务器62如以下的式2那样,对从各学习装置2接收到的随机数的总和进行计算。
[0442] 数学式1
[0443] ∑i(Yi‑ri)···(式1)
[0444] 数学式2
[0445] ∑iri···(式2)
[0446] 此外,Yj表示通过第i个学习装置2构建出的学习完毕的学习模型4的运算参数的值。ri表示通过第i个学习装置2生成的随机数。
[0447] 第1服务器61以及第2服务器62分别将总和的计算结果向模型集成装置1发送。模型集成装置1的控制部11将分别从第1服务器61以及第2服务器62接收到的总和相加。由此,能够防止各学习装置2保持的各学习完毕的学习模型4的运算参数的值被指定,并且控制部11能够得到各学习完毕的学习模型4的运算参数的值的总和。控制部11利用该运算参数的值的总和执行集成处理。
[0448] 此外,秘密分散的方式可以不被特别限定,可以根据实施方式适当地选择。秘密分散的方式例如可以使用国际标准(ISO/IEC 19592‑2:2017)的方式等。另外,模型集成装置1若为具有可靠性的服务器,则模型集成装置1可以作为第1服务器61以及第2服务器62的任一个而动作。
[0449] (B)利用同态加密的方法
[0450] 图36B示意性地例示利用同态加密执行集成处理的场景的一个例子。对于利用了同态加密的方法而言,作为具有可靠性的第三方机构,服务器65装入网络。服务器65与模型集成装置1等相同是具备硬件处理器以及存储器的计算机。
[0451] 在该方法中,首先,服务器65发布公钥以及密钥。将公钥生成为具有同态性。换句话说,生成公钥,以使得在给出通过公钥进行了加密的两个密文的情况下,能够保持加密的状态进行两个密文的相加。服务器65将所发布的公钥以及密钥中的公钥向各学习装置2分配。
[0452] 各学习装置2的控制部21通过接收到的公钥,对自身的学习完毕的学习模型4的运算参数的值进行加密。而且,控制部21将加密的运算参数的值向模型集成装置1发送。模型集成装置1的控制部11如以下的式3那样,保持对从各学习装置2接收到的运算参数的值进行了加密的状态来计算总和。
[0453] 数学式3
[0454] P(EiYi)···(式3)
[0455] 此外,P表示通过公钥被加密。
[0456] 控制部11将加密的总和向服务器65发送。服务器65通过密钥,对从模型集成装置1接收到的加密的总和进行解密。而且,服务器65使解密的运算参数的值的总和返回模型集成装置1。由此,能够防止各学习装置2保持的各学习完毕的学习模型4的运算参数的值被指定,并且控制部11能够得到各学习完毕的学习模型4的运算参数的值的总和。控制部11利用该运算参数的值的总和执行集成处理。
[0457] 此外,同态加密的方式可以不被特别限定,可以根据实施方式适当地选择。同态加密的方式例如可以使用modified‑E1Gamal加密、Paillier加密等。另外,若模型集成装置1是有可靠性的服务器,则模型集成装置1可以作为服务器65而动作。
[0458] 如以上那样,根据本变形例,通过上述两个方法中的任一种方法,能够通过秘密计算进行集成集成范围41中所反映的机器学习的结果的集成处理。由此,能够防止由各学习装置2构建出的各学习完毕的学习模型4的机密性受损的情况。
[0459] <4.4>
[0460] 在上述实施方式中,各学习模型4由多层结构的神经网络构成。然而,构成各学习模型4的神经网络的结构以及种类可以不限定于这样的例子,可以根据实施方式适当地选择。例如,各学习模型4可以由具备卷积层、池化层以及全连接层的卷积神经网络构成。另外,也可以是,在利用时间序列数据的情况下,各学习模型4由递归型神经网络构成。另外,各学习模型4的种类可以不局限于神经网络,可以根据实施方式适当地选择。成为集成处理的对象的各学习模型4也可以是构成为生成某种数据的生成模型。
[0461] <4.5>
[0462] 在上述实施方式中,由各学习装置2构建的学习模型4的数量可以不局限于一个,可以为多个。另外,各学习装置2可以不利用模板126地决定学习模型4的结构。在这种情况下,可以省略模板126。
[0463] 另外,在上述实施方式中,在预先固定有集成范围41等模型集成装置1不决定集成范围41的情况下,也可以省略上述步骤S302的处理。在这种情况下,也可以从模型集成装置1的软件构成中省略范围调整部112。
[0464] 另外,在上述实施方式中,也可以省略分组的处理。在省略第1分组方法的情况下,也可以省略组列表123。在省略分组的处理的情况下,也可以省略分配信息124。另外,可以从模型集成装置1的软件构成省略分组部116。
[0465] 另外,在上述实施方式中,可以从决定集成范围41的方法以及分组的方法中分别省略与最优化相关的方法。可以从决定集成范围41的方法中省略第2方法。在这种情况下,可以省略评价用样本129。
[0466] 另外,在上述实施方式中,可以省略对各学习完毕的学习模型4设定权重的处理。各权重可以预先设定。在这种情况下,可以从模型集成装置1的软件构成省略权重设定部
115。而且,控制部11可以随机设定各权重。在这种情况下,也可以与上述集成范围41以及分组的最优化相同,将各权重最优化,以使得集成处理后的各学习完毕的学习模型4的规定能力提高。例如,控制部11可以通过一边随机调整各权重一边试行集成处理,来将各权重最优化,以使得集成处理后的各学习完毕的学习模型4的规定能力提高。
[0467] 另外,在上述实施方式中,数据例如可以置换为图像数据、声音数据、数值数据、文本数据、通过其他传感器得到的测定数据等各个种类的数据。例如,本地学习数据3包括图像数据,从而能够通过模型集成装置1以及多个学习装置2构成图像系统。在这种情况下,各学习装置2通过利用了收集到的本地学习数据3的机器学习,构建获得了根据图像数据推断规定特征的能力的学习完毕的学习模型4。另外,例如,本地学习数据3包括通过传感器得到的传感检测数据,从而能够通过模型集成装置1以及多个学习装置2构成传感器系统。在这种情况下,各学习装置2通过利用了收集到的本地学习数据3的机器学习,构建获得了根据传感检测数据推断规定特征的能力的学习完毕的学习模型4。
[0468] 附图标记说明
[0469] 1…模型集成装置;11…控制部;12…存储部;13…通信接口;14…输入装置;15…输出装置;16…驱动器;111…模型收集部;112…范围调整部;113…集成处理部;114…模型更新部;115…权重设定部;116…分组部;121…集成结果数据;123…组列表;124…分配信息;126…模板;129…评价用样本;1291…输入数据;1292…正确数据;81…模型集成程序;91…存储介质;2…学习装置;21…控制部;22…存储部;23…通信接口;24…输入装置;25…输出装置;26…驱动器;27…外部接口;211…学习数据收集部;212…结构决定部;213…学习处理部;214…保存处理部;216…对象数据获取部;217…推定部;218…输出部;221…学习结果数据;225…对象数据;82…学习程序;83…推定程序;92…存储介质;S…传感器;3…本地学习数据;30…学习数据集;31…训练数据;32…正确数据;4…学习模型;40…共同部分;41…集成范围;51…输入层;52~55…中间(隐藏)层;56…输出层。