首页 / 机器学习方法及机器学习系统

机器学习方法及机器学习系统实质审查 发明

技术领域

[0001] 本公开涉及机器学习方法及机器学习系统。

相关背景技术

[0002] 以往,已知有具备具有用于控制搭载的设备的机器学习模型的车辆和能够与车辆通信的服务器的系统(例如,专利文献1)。例如,在专利文献1所记载的系统中,服务器将从车辆取得的数据作为学习用的数据集而蓄积,并且基于蓄积的数据集来进行机器学习模型的参数的值的学习,将学习结果向各车辆通知。然后,车辆利用反映了从服务器通知的学习结果的机器学习模型来进行图像识别处理。
[0003] 尤其是,在专利文献1所记载的系统中,若在车辆中不容易识别的数据从车辆向服务器发送,则在服务器中,除了该数据之外还基于在与取得了该数据的状况同样的状况下由其他的车辆取得的数据来更新该车辆用的机器学习模型的模型参数的值。
[0004] 现有技术文献
[0005] 专利文献
[0006] 专利文献1:日本特开2019‑021201号公报

具体实施方式

[0058] 以下,参照附图来对实施方式进行详细说明。需要说明的是,在以下的说明中,对同样的构成要素标注同一附图标记。
[0059] <第一实施方式>
[0060] 《机器学习系统的结构》
[0061] 首先,参照图1~图5来对第一实施方式的机器学习系统1及在机器学习系统1中进行的机器学习方法进行说明。图1是第一实施方式的机器学习系统1的概略性的结构图。机器学习系统1使用包括表示各车辆的状态的多个状态参数的值的训练数据集来使各车辆特有的机器学习模型机器学习。机器学习模型用于控制搭载于车辆的设备。
[0062] 如图1所示,机器学习系统1具备能够通信的多个车辆2和服务器3。多个车辆2的各自和服务器3构成为能够经由由光通信线路等构成的通信网络4和与通信网络4经由网关(未图示)而连接的无线基站5而相互通信。车辆2与无线基站5的通信是依照任意的通信标准的通信。
[0063] 图2是概略性地示出车辆2的硬件结构的图。如图2所示,车辆2具备电子控制单元(ECU)11。ECU11具有车内通信接口12、存储装置13及处理器14。车内通信接口12及存储装置13经由信号线而连接于处理器14。需要说明的是,在本实施方式中,在车辆2设置有一个ECU11,但也可以设置有针对每个功能而划分的多个ECU。
[0064] 车内通信接口12具有用于将ECU11与依照CAN(Controller Area Network:控制器局域网)等标准的车内网络15连接的接口电路。ECU11经由车内通信接口12而与其他的车载设备通信。
[0065] 存储装置13是存储数据的存储部的一例。存储装置13例如具备易失性的半导体存储器(例如,RAM)、非易失性的半导体存储器(例如,ROM)、硬盘驱动器(HDD)、固态驱动器(SSD)或光记录介质。存储装置13存存储用于在处理器14中执行各种处理的计算机程序、在由处理器14执行各种处理时使用的各种数据等。因此,存储装置13存储各车辆特有的机器学习模型。
[0066] 处理器14具有一个或多个CPU(Central Processing Unit:中央处理单元)及其周边电路。处理器14也可以还具有GPU(Graphics Processing Unit:图形处理单元)或者逻辑运算单元或数值运算单元这样的运算电路。处理器14基于存储于ECU11的存储装置13的计算机程序来执行各种运算处理。因此,处理器14若被输入机器学习模型的输入参数的值,则进行按照机器学习模型的运算处理,将输出参数的值输出。
[0067] 图3是车辆2的处理器14的功能框图。如图3所示,处理器14具备使用机器学习模型来控制车辆2的控制设备22的控制部141、判定机器学习模型的学习执行条件是否成立的学习条件成立与否判定部142、生成学习用数据集的数据集生成部143、发送向服务器3的机器学习的委托的学习委托发送部144、对构成机器学习模型的模型参数的值进行机器学习的车辆侧学习部145、更新在控制部141中使用的机器学习模型的模型更新部146、向服务器3发送各种各样的数据的车辆侧发送部147及从服务器3接收各种各样的数据的车辆侧接收部148。处理器14具有的这些功能框例如是由在处理器14上动作的计算机程序实现的功能模块。或者,处理器14具有的这些功能框也可以是设置于处理器14的专用的运算电路。关于车辆2的处理器14的各功能框的详情后述。
[0068] 另外,如图2所示,车辆2还具备车外通信模块21、多个控制设备22及多个传感器23。车外通信模块21、控制设备22及传感器23经由车内网络15而连接于ECU11。
[0069] 车外通信模块21是与车外的设备进行通信的通信部的一例。车外通信模块21例如是用于与服务器3进行通信的设备。车外通信模块21例如包括数据通信模块(DCM:Data communication module)。数据通信模块经由无线基站5及通信网络4而与服务器3通信。
[0070] 控制设备22是进行与车辆2相关的各种各样的控制的设备。具体而言,控制设备22例如包括对设置于内燃机的进气通路的节气门的开度进行调整的节气门的驱动致动器、向内燃机的燃烧室供给燃料的喷射器、向燃烧室内的燃料点火的火花塞、对内燃机的EGR率进行控制的EGR阀的驱动致动器、空调装置的鼓风机、对空调装置的空气的流动进行控制的空气混合门的驱动致动器等。这些控制设备22经由车内网络15而连接于ECU11,根据来自ECU11的驱动信号而工作。
[0071] 传感器23是检测与车辆2相关的各种各样的状态参数的值(状态量)的检测器的一例。传感器23例如包括检测向内燃机供给的吸入空气量的空气量传感器、检测来自内燃机的喷射器的燃料喷射压的喷射压传感器、检测废气的温度的排气温度传感器、检测触摸面板等中的驾驶员的输入的输入检测传感器、检测车辆2的自身位置的自身位置传感器(例如,GPS)等。而且,传感器23例如包括检测车辆2的周围的空气的温度(外气温度)的外气温度传感器、检测车辆2的周围的空气的湿度(外气湿度)的外气湿度传感器、检测车辆2的周围的大气压的大气压传感器、检测车辆2的室内的温度(车内温度)的车内温度传感器、检测车辆2的室内的湿度(车内湿度)的车内湿度传感器及检测日射量的日射传感器等。这些传感器23经由车内网络15而连接于ECU11,向ECU11发送输出信号。
[0072] 服务器3设置于车辆2的外部,经由通信网络4及无线基站5而与行驶中的车辆2进行通信。服务器3从行驶中的车辆2接收各种信息。
[0073] 图4是概略性地示出服务器3的硬件结构的图。如图4所示,服务器3具备外部通信模块31、存储装置32及处理器33。另外,服务器3也可以具有键盘及鼠标之类的输入装置及显示器之类的输出装置。
[0074] 外部通信模块31是与服务器3外的设备进行通信的通信部的一例。外部通信模块31具备用于将服务器3与通信网络4连接的接口电路。外部通信模块31构成为能够经由通信网络4及无线基站5而与多个车辆2分别通信。
[0075] 存储装置32是存储数据的存储部的一例。服务器3的存储装置32也具备易失性的半导体存储器(例如,RAM)、非易失性的半导体存储器(例如,ROM)、硬盘驱动器(HDD)、固态驱动器(SSD)或光记录介质。存储装置32存储用于由处理器33执行各种处理的计算机程序、在由处理器33执行各种处理时使用的各种数据。
[0076] 处理器33具有一个或多个CPU及其周边电路。处理器33也可以还具备GPU或者逻辑运算单元或数值运算单元这样的运算电路。处理器33基于存储于服务器3的存储装置32的计算机程序来执行各种运算处理。在本实施方式中,服务器3的处理器33作为使机器学习模型机器学习的机器学习装置发挥功能。
[0077] 图5是服务器3的处理器33的功能框图。如图5所示,处理器33具备检测服务器3的当前的处理负荷的处理负荷检测部331、决定在服务器3及车辆2的各自中进行的机器学习的处理量的处理量决定部332、对构成机器学习模型的模型参数的值进行机器学习的服务器侧学习部333、向车辆2发送各种各样的数据的服务器侧发送部334及从车辆2接收各种各样的数据的服务器侧接收部335。处理器33具有的这些功能框例如是由在处理器33上动作的计算机程序实现的功能模块。或者,处理器33具有的这些功能框也可以是设置于处理器33的专用的运算电路。关于服务器3的处理器33的各功能框的详情后述。
[0078] 《机器学习模型》
[0079] 在本实施方式中,在车辆2的控制部141中控制搭载于车辆2的控制设备22时,使用机器学习后的机器学习模型。在本实施方式中,作为机器学习模型,使用神经网络模型(以下,称作“NN模型”)。以下,参照图6来对NN模型的概要进行说明。图6示出具有单纯的结构的NN模型的一例。
[0080] 图6中的圆记号表示人工神经元。人工神经元通常被称作节点或单元(在本说明书中称作“节点”)。在图6中,L=1表示输入层,L=2及L=3表示隐藏层(或中间层),L=4表示输出层。在本实施方式中,隐藏层(L=2及L=3)的节点的数量比输入层(L=1)的节点的数量少,下位的隐藏层的节点数比上位的隐藏层的节点数少(例如,隐藏层(L=3)的节点数比隐藏层(L=2)的节点数少)。
[0081] 在图6中,xm(m=1,2,…,M。在图6所示的例子中M=4)表示输入层(L=1)的各节点及来自该节点的输出值,y表示输出层(L=4)的节点及其输出值。同样,L=2的隐藏层中的(L=2) (L=2) (L=2)zk (k=1,2,…,K 。在图6所示的例子中K =3)表示隐藏层(L=2)的各节点及来(L=3) (L=3) (L=3)
自该节点的输出值,L=3的隐藏层中的zk (k=1,2,…,K 。在图6所示的例子中K=2)表示隐藏层(L=3)的各节点及来自该节点的输出值。
[0082] 在输入层的各节点处,输入直接被输出。另一方面,对隐藏层(L=2)的各节点输入输入层的各节点的输出值xm(m=1,2,3,4),在隐藏层(L=2)的各节点处,分别使用对应的(L=2)权重w及偏置b来算出总输入值u。例如,在图6中,在隐藏层(L=2)的由zk (k=1,2,3)表(L=2)
示的各节点处算出的总输入值uk 成为下式(1)那样。
[0083]
[0084] 接着,该总输入值uk(L=2)由活性化函数f变换,从隐藏层(L=2)的由zk(L=2)表示的(L=2) (L=2)节点作为输出值zk (=f(uk ))而输出。另一方面,对隐藏层(L=3)的各节点输入隐(L=2)
藏层(L=2)的各节点的输出值zk (k=1,2,3),在隐藏层(L=3)的各节点处,分别使用对应的权重w及偏置b来算出总输入值u(=Σz·w+b)。该总输入值u同样由活性化函数变换,(L=3)
从隐藏层(L=3)的各节点作为输出值zk (k=1,2)而输出。活性化函数例如是ReLU函数σ。
[0085] 另外,对输出层(L=4)的节点输入隐藏层(L=3)的各节点的输出值zk(L=3)(k=1,2),在输出层的节点处,分别使用对应的权重w及偏置b来算出总输入值u(Σz·w+b),或者分别仅使用对应的权重w来算出总输入值u(Σz·w)。例如,在输出层的节点处,作为活性化函数而使用恒等函数。在该情况下,在输出层的节点处算出的总输入值u直接作为输出值y而从输出层的节点输出。
[0086] 这样,NN模型具备输入层、隐藏层及输出层,若多个输入参数的值从输入层输入,则将与输入参数对应的一个或多个输出参数的值从输出层输出。
[0087] 在本实施方式中,作为这样的机器学习模型,例如使用若将外气温度、吸入空气量、燃料喷射量、燃料喷射正时、燃料喷射压、EGR率作为输入参数的值而输入则将废气的温度作为输出参数的值而输出的模型。在车辆2的控制部141中,通过将由传感器23检测到的状态参数的值、从ECU11向控制设备22的控制指令值作为输入参数的值而向该机器学习模型输入,输出作为输出参数的废气的温度。控制部141基于输出的废气的温度来控制与内燃机相关的控制设备22(例如,节气门的驱动致动器、喷射器、火花塞等)。在此,在检测废气的温度的排气温度传感器中存在响应延迟,因此,若基于排气温度传感器的输出来进行内燃机的控制,则未必能够合适地控制内燃机。相对于此,在使用了机器学习模型的废气的温度的算出中不产生延迟,因此,通过使用由机器学习模型算出的废气的温度来控制与内燃机相关的控制设备22,能够更合适地控制内燃机。
[0088] 或者,作为这样的机器学习模型,例如也可以使用若将外气温度、外气湿度、车内温度、车内湿度、日射量作为输入参数的值而输入则将空调装置的目标温度作为输出参数的值而输出的模型。在该情况下,在车辆2的控制部141中,通过将由传感器23检测到的状态参数的值、从ECU11向控制设备22的控制指令值作为输入参数的值而向该机器学习模型输入,输出作为输出参数的空调装置的目标温度。ECU11以使车内温度成为从机器学习模型输出的目标温度的方式控制与空调装置相关的控制设备22(例如,空调设备的鼓风机、空气混合门的驱动致动器等)。
[0089] 需要说明的是,作为机器学习模型,能够使用各种各样的模型。因此,作为输入参数,使用外气温度、外气湿度、大气压、车内温度、车内湿度、日照量、吸入空气量、进气温度、燃料喷射压、燃料喷射正时、燃料喷射量、空燃比、点火正时、内燃机冷却水温度、增压压力之类的表示车辆的状态的各种各样的状态参数。另外,作为输出参数,使用排气净化催化剂的温度、废气中的NOx的浓度、内燃机输出转矩、车内湿度之类的表示车辆的状态的各种各样的状态参数。
[0090] 《机器学习模型的机器学习》
[0091] 接着,对如上所述的机器学习模型(NN模型)的机器学习进行说明。为了使该机器学习模型的精度提高,需要进行构成机器学习模型的模型参数的值的机器学习(以下,也简称作“机器学习模型的机器学习”)。于是,在本实施方式中,车辆2的车辆侧学习部145或服务器3的服务器侧学习部333进行机器学习模型的机器学习。具体而言,在车辆侧学习部145或服务器侧学习部333的机器学习中,以若向机器学习模型输入输入参数的值则与输入参数的值对应的合适的输出参数的值从机器学习模型输出的方式,算出机器学习模型的全部的模型参数(若是NN模型,则是权重w、偏置b等)的值。以下,简单说明在车辆侧学习部145或服务器侧学习部333中进行的机器学习模型的机器学习的学习手法。
[0092] 在机器学习模型的机器学习中,使用包括状态参数的实测值的训练数据集。训练数据集由多个输入参数的多个实测值和与这些实测值对应的至少一个输出参数的多个实测值(正解数据)的组合构成。在本实施方式中,输入参数的实测值及输出参数的实测值是由车辆2的传感器23检测到的值或从ECU11向控制设备2的控制指令值。另外,在本实施方式中,在服务器3中进行机器学习模型的机器学习时,从车辆2向服务器3发送训练数据集。需要说明的是,训练数据集也可以是对输入参数的实测值及输出参数的实测值进行前处理(归一化、标准化等)而得到的数据集。
[0093] 车辆侧学习部145或服务器侧学习部333使用训练数据集来进行机器学习模型的模型参数的值的机器学习。在机器学习模型的机器学习时,车辆侧学习部145或服务器侧学习部333例如以使机器学习模型的输出值与训练数据集中包含的输出参数的实测值之差变小的方式,利用公知的误差反向传播法来反复更新机器学习模型中的模型参数(权重w及偏置b)的值。其结果,机器学习模型被学习,生成已学习的机器学习模型。构成已学习机器学习模型的模型参数(权重w、偏置b等)的值向车辆2的存储装置13或服务器3的存储装置32存储。
[0094] 《机器学习模型的学习处理》
[0095] 接着,参照图7及图8来对车辆2或服务器3中的机器学习模型的学习处理的流程进行说明。在本实施方式中,根据服务器3中的处理负荷而变更进行机器学习模型的机器学习的主体。尤其是,在本实施方式中,在服务器3中的处理负荷高的情况下,由车辆2进行机器学习,在服务器3中的处理负荷低的情况下,由服务器3进行机器学习。因此,在本实施方式中,存在机器学习模型的机器学习由车辆2进行的情况和由服务器3进行的情况。因此,以下,对机器学习由车辆2及服务器3的各自进行的情况下的学习处理的流程进行说明。
[0096] 图7是机器学习模型的机器学习由服务器3进行的情况下的学习处理的动作序列图。因此,图7示出了服务器3中的处理负荷低的情况下的学习处理的流程。
[0097] 车辆2的学习条件成立与否判定部142定期地判定车辆2的机器学习模型的学习执行条件是否成立(步骤S11)。机器学习模型的机器学习例如每隔一定期间、每隔一定行驶距离或每隔一定行驶时间而进行。因此,若从上次的机器学习例如经过了一定期间,则学习条件成立与否判定部142判定为机器学习的学习执行条件成立。在此,机器学习模型的最佳的模型参数的值因控制设备22的历时劣化、用户的趣向的变化等而变化。通过这样定期地进行机器学习模型的模型参数的值的机器学习,能够将模型参数的值保持为合适的值。
[0098] 需要说明的是,机器学习模型的机器学习也可以在与上述的定时不同的定时下进行。因此,机器学习模型的机器学习例如也可以在作为机器学习模型的输入参数而使用的指令值的控制设备22、检测机器学习模型的输入参数的值的传感器23产生了某种异常的情况下进行。因此,在该情况下,学习条件成立与否判定部142在控制设备22、传感器23产生了异常的情况下,判定为机器学习的学习执行条件成立。具体而言,例如,在通过自我诊断功能(On‑board diagnosis:随车诊断)而判定为在该控制设备22、传感器23产生了异常的情况、由机器学习模型输出的预测值与之后由传感器23检测到的实测值相差基准值以上的情况下,机器学习的学习执行条件成立。
[0099] 若学习执行条件成立,则车辆2的数据集生成部143制作训练数据集(步骤S12)。数据集生成部143基于在任意的期间中由车辆2的传感器23检测到的检测值及在该期间中从ECU11向控制设备22发送出的控制指令值来生成训练数据集。数据集生成部143基于在机器学习的学习执行条件成立后取得的检测值及控制指令值来生成训练数据集。或者,数据集生成部143也可以从机器学习的学习执行条件成立前起将检测值及控制指令值保存于存储装置13,基于在机器学习的学习执行条件成立后保存的检测值及控制指令值来生成训练数据集。另外,数据集生成部143也可以对检测值及控制指令值进行前处理(归一化、标准化等)来生成训练数据集。生成的训练数据集向ECU11的存储装置13存储。
[0100] 若生成了训练数据集,则车辆2的学习委托发送部144将委托机器学习模型的模型参数的值的机器学习的委托信号经由车外通信模块21而向服务器3发送(步骤S13)。此时,学习委托发送部144也可以与委托信号一起发送算出伴随于进行机器学习的服务器3中的处理负荷所需的信息。具体而言,学习委托发送部144例如发送由数据集生成部143制作出的训练数据集的大小、机器学习模型的结构(层的数量、各层的节点的数量等)或机器学习模型的种类(例如,有助于车辆2的安全性的模型、有助于环境的模型等的区分)。不过,在与车辆2对应的机器学习模型的结构等信息预先保存于服务器3的存储装置32的情况下,学习委托发送部144不发送该信息。
[0101] 另一方面,服务器3的处理负荷检测部331始终或定期地检测服务器3的当前的处理负荷(步骤S14)。服务器3的处理负荷是与服务器3的运算处理相关的负荷,例如根据服务器3的处理器33的使用率(CPU、GPU的使用率)及服务器3的存储装置32的半导体存储器中的空闲容量而变化。处理器33的使用率越大,则服务器3的处理负荷被检测为越高,半导体存储器中的空闲容量越小,则服务器3的处理负荷被检测为越高。
[0102] 服务器3的处理负荷根据在服务器3中正在进行的运算处理的量而变化。因此,在服务器3正在进行其他的许多车辆的机器学习模型的学习的情况、正在进行学习以外的各种各样的运算处理的情况下,服务器3的处理负荷被检测为高。另一方面,在未由服务器3进行其他的车辆的机器学习模型的学习、学习以外的运算处理的情况下,服务器3的处理负荷被检测为低。
[0103] 需要说明的是,处理负荷检测部331也可以不仅检测服务器3的当前的处理负荷,也检测服务器3的将来的处理负荷。将来的处理负荷例如基于计划了服务器3的处理器33中的处理的任务而检测。另外,处理负荷检测部331也可以构成为,不是始终或定期地检测处理负荷,而是在服务器侧接收部335经由外部通信模块31而接收到委托信号时检测负荷处理。
[0104] 若服务器侧接收部335经由外部通信模块31而接收到委托信号,则处理量决定部332基于由处理负荷检测部331检测到的服务器3的当前的处理负荷来决定服务器3及车辆2中的对机器学习模型的模型参数的值进行机器学习的主体(步骤S15)。尤其是,在本实施方式中,处理量决定部332判定服务器3的当前的处理负荷是否比规定的基准处理负荷高。处理量决定部332在判定为服务器3的当前的处理负荷比规定的基准处理负荷高时,决定使机器学习模型的机器学习中的全部的处理在车辆2的处理器14中进行,即,使服务器3的处理器33中的机器学习的处理量成为零。另一方面,处理量决定部332在判定为服务器3的当前的处理负荷为上述基准处理负荷以下时,决定使机器学习模型的机器学习中的全部的处理在服务器3的处理器33中进行,即,使车辆2的处理器14中的机器学习的处理量成为零。在本实施方式中,基准处理负荷是预先确定的恒定值(例如,若将服务器3的处理负荷的最大值设为100%,则是80%)。
[0105] 需要说明的是,基准处理负荷也可以不是预先确定的恒定值,而是变动的值。例如,基准处理负荷也可以基于由学习委托发送部144向服务器3发送出的机器学习模型的种类而变更。具体而言,基准处理负荷按照机器学习模型是与车辆2的安全性相关联的模型的情况、机器学习模型是与由车辆2引起的环境负荷相关联的模型的情况、机器学习模型是与车辆2内的乘员的舒适性相关联的模型的情况的顺序从高变低。因此,基准处理负荷在机器学习模型是与车辆2的安全性相关联的模型的情况下,与机器学习模型是不与车辆2的安全性相关联的模型的情况相比,被设定得高。
[0106] 作为与车辆2的安全性相关联的模型,例如,可考虑用于检测搭载于车辆2的与车辆的驾驶相关的控制设备22(例如,内燃机、电动机、制动装置、转向装置等)、与安全性相关的传感器23(例如,外部相机、驾驶员监视相机、雷达等)的故障的模型。作为该模型,具体而言,例如,可考虑将由各种各样的传感器23检测到的状态参数的值、从ECU11向控制设备22的控制指令值设为输入参数且将各设备的故障的有无设为输出参数的模型。另外,作为与由车辆2引起的环境负荷相关联的模型,例如可考虑上述的推定废气的温度的模型。除此之外,作为与车辆2内的乘员的舒适性相关联的模型,例如可考虑上述的推定空调装置的目标温度的模型。
[0107] 在此,基准处理负荷表示在服务器3中进行机器学习的优先级。在基准处理负荷低的情况下,不容易在服务器3中进行机器学习,由此,容易进行机器学习花费的时间长的车辆2中的机器学习。因此,基准处理负荷低意味着在服务器3中进行机器学习的优先级低,相反,基准处理负荷高意味着在服务器3中进行机器学习的优先级高。因此,通过如上述那样根据机器学习模型的种类来变更基准处理负荷,能够提高与车辆2的安全性相关联的模型的服务器3中的机器学习的优先级,另外,能够降低与乘员的舒适性相关联的模型的服务器3中的机器学习的优先级。
[0108] 若由处理量决定部332决定了将机器学习模型的机器学习在服务器3中进行,则服务器侧发送部334经由外部通信模块31而向车辆2发送在服务器3中进行机器学习的意思的通知(步骤S16)。
[0109] 若车辆侧接收部148接收到在服务器3中进行机器学习的意思的通知,则车辆侧发送部147将进行车辆2的机器学习模型的机器学习所需的信息经由车外通信模块21而发送(步骤S17)。进行机器学习所需的信息例如包括由数据集生成部143生成的训练数据集及机器学习模型的当前的模型参数的值。
[0110] 若服务器侧接收部335经由外部通信模块31而接收到进行机器学习所需的信息,则服务器侧学习部333对机器学习模型的模型参数的值进行机器学习(步骤S18)。服务器侧学习部333将从车辆2发送出的当前的模型参数的值作为初始值,使用训练数据集,通过如上所述的误差反向传播法等公知的手法来更新模型参数的值。其结果,由服务器侧学习部333生成已学习的机器学习模型(更详细而言是基于新的训练数据集的已再学习的机器学习模型)。构成已学习的机器学习模型的模型参数(权重w及偏置b)的值向服务器3的存储装置32存储。
[0111] 当服务器侧学习部333中的机器学习模型的机器学习完成后,服务器侧发送部334经由外部通信模块31而将通过服务器侧学习部333的机器学习而得到的模型参数的值向车辆2发送(步骤S19)。
[0112] 若车辆2的车辆侧接收部148从服务器3经由车外通信模块21而接收到模型参数的值,则车辆2的模型更新部146将构成在控制部141中使用的机器学习模型的模型参数的值更新为从服务器3接收到的值(步骤S20)。之后,控制部141基于使用了更新后的模型参数的值的机器学习模型来进行控制设备22的控制。
[0113] 如以上说明那样,可知:在本实施方式的图7所示的例子中,判定为服务器3的当前的处理负荷为基准处理负荷以下,在该情况下,车辆2中的机器学习的处理量被决定为零,服务器3中的机器学习的处理量被决定为基于训练数据集的机器学习的全部处理量。换言之,可知:在该情况下,车辆2中的机器学习和服务器3中的机器学习的处理比率被决定为0:1。
[0114] 图8是机器学习模型的机器学习由车辆2进行的情况下的学习处理的动作序列图。因此,图8示出了服务器3中的处理负荷高的情况下的学习处理的流程。
[0115] 从图8可知,在机器学习模型的机器学习由车辆2进行的情况下,直到决定进行机器学习模型的机器学习的主体为止(步骤S11~S14),也进行与机器学习模型的机器学习由车辆2进行的情况同样的处理。
[0116] 在图8所示的例子中,处理量决定部332也基于服务器3的当前的处理负荷来决定服务器3及车辆2中的进行机器学习模型的机器学习的主体(步骤S15)。并且,若在步骤S15中由处理量决定部332决定将机器学习模型的机器学习在车辆2中进行,则服务器侧发送部334经由外部通信模块31而向车辆2发送在服务器3中进行机器学习的意思的通知(步骤S21)。
[0117] 若车辆侧接收部148接收到在车辆2中进行机器学习的意思的通知,则不向服务器3发送训练数据集及当前的模型参数的值,车辆侧学习部145对机器学习模型的模型参数的值进行机器学习(步骤S22)。车辆侧学习部145中的机器学习与服务器侧学习部333中的机器学习同样地进行,车辆侧学习部145生成已学习的机器学习模型。构成已学习的机器学习模型的模型参数的值向车辆2的存储装置32存储。
[0118] 当车辆侧学习部145中的机器学习模型的机器学习完成后,车辆2的模型更新部146将构成在控制部141中使用的机器学习模型的模型参数的值更新为通过车辆侧学习部
145中的学习而得到的值(步骤S23)。之后,控制部141基于使用了更新后的模型参数的值的机器学习模型来进行控制设备22的控制。
[0119] 如以上说明那样,可知:在本实施方式的图8所示的例子中,判定为服务器3的当前的处理负荷比基准处理负荷高,在该情况下,服务器3中的机器学习的处理量被决定为零,车辆2中的机器学习的处理量被决定为基于训练数据集的机器学习的全部处理量。换言之,可知:在该情况下,车辆2中的机器学习和服务器3中的机器学习的处理比率被决定为1:0。
[0120] 《效果》
[0121] 根据上述实施方式的机器学习系统1及在机器学习系统1中执行的机器学习方法,在服务器3中的处理负荷低时在服务器3中进行车辆2的机器学习模型的机器学习,在服务器3中的处理负荷高时在车辆2中进行车辆2的机器学习模型的机器学习。其结果,尽量在处理速度快的服务器3中进行机器学习模型的机器学习,且在从许多车辆向服务器3存在机器学习的委托的情况下也可抑制服务器3的处理负荷过剩地变高。
[0122] <第二实施方式>
[0123] 接着,参照图9及图10来对第二实施方式的机器学习系统1及在机器学习系统1中进行的机器学习方法进行说明。第二实施方式的机器学习系统1的结构及处理基本上与第一实施方式的机器学习系统1的结构及处理是同样的。以下,以与第一实施方式的机器学习系统1不同的点为中心进行说明。
[0124] 在第一实施方式的机器学习系统1中,在决定服务器3及车辆2中的进行机器学习模型的机器学习的主体时使用的基准处理负荷被设为恒定值或根据机器学习模型的种类而变化的值。相对于此,在本实施方式中,基准处理负荷考虑在服务器3中进行了机器学习的情况下直到在车辆2中得到已学习的模型参数的值为止所需的时间(以下,也称作“服务器处理所需时间”)和在车辆2中进行了机器学习的情况下直到在车辆2中得到已学习的模型参数的值为止所需的时间(以下,也称作“车辆处理所需时间”)来设定。
[0125] 更详细而言,在本实施方式中,设定基准处理负荷,以使得:在服务器处理所需时间比车辆处理所需时间长的情况下,在服务器3中进行处理的必要性低,因此在车辆2中进行机器学习,在服务器处理所需时间为车辆处理所需时间以下的情况下,在服务器3或车辆2中进行机器学习。以下,对基准处理负荷的具体的设定手法进行说明。
[0126] 图9是本实施方式的服务器3的处理器33的功能框图。如图9所示,在本实施方式中,处理器33除了第一实施方式的处理器33的功能框之外,还具备算出基准处理量的基准处理量算出部336。
[0127] 图10是本实施方式的机器学习模型的机器学习由服务器3进行的情况下的学习处理的与图7同样的动作序列图。如图10所示,在本实施方式中,若服务器侧接收部335经由外部通信模块31而接收到委托信号,则基准处理量算出部336算出基准处理量。
[0128] 基准处理量算出部336在算出基准处理量时,基于由数据集生成部143生成的训练数据集来算出在假定为在车辆侧学习部145中进行了机器学习模型的机器学习的情况下花费的预想车辆学习时间。预想车辆学习时间例如基于车辆2的处理器14的运算能力及基于半导体存储器的容量的处理能力和训练数据集的尺寸及机器学习模型的结构而算出。预想车辆学习时间以车辆2的处理能力越高则越短的方式算出,以训练数据集的尺寸越大及机器学习模型的结构越复杂则越长的方式算出。
[0129] 除此之外,基准处理量算出部336在算出基准处理量时,算出训练数据集及模型参数的值的车辆2与服务器3之间的收发所需的预想通信时间。该预想通信时间是在由服务器3进行机器学习时所需的时间。预想通信时间例如基于训练数据集的尺寸及机器学习模型的模型参数的数量和车辆2与服务器3之间的无线通信的通信强度来算出。预想通信时间以训练数据集的尺寸越大及模型参数的数量越多则越长的方式算出,以无线通信的通信强度越高则越短的方式算出。无线通信的通信强度也可以不仅包括当前的通信强度,也包括将来的预想通信强度。将来的预想通信强度例如根据车辆2的将来的计划行驶路径来推定。因此,例如,在车辆2预定在通信强度低的山道上行驶的情况下,将来的预想通信强度被设定为低的值。
[0130] 之后,基准处理量算出部336算出从车辆2中的预想车辆学习时间减去预想通信时间而得到的差时间。在服务器3中的机器学习花费的时间比这样算出的差时间长的情况下,意味着服务器处理所需时间比车辆处理所需时间长。另一方面,在服务器3中的机器学习花费的时间为这样算出的差时间以下的情况下,意味着服务器处理所需时间为车辆处理所需时间以下。
[0131] 另一方面,服务器3中的运算处理速度根据服务器3的处理负荷而变化。在服务器3的处理负荷高时,服务器3中的运算处理速度慢,由此,机器学习所需的时间变长。相反,在服务器3的处理负荷低时,服务器3中的运算处理速度快,由此,机器学习所需的时间变短。
[0132] 于是,在本实施方式中,基准处理量算出部336将在服务器3中进行机器学习模型的机器学习需要上述差时间的负荷(以下,称作“差时间相当负荷”)设定为基准处理负荷。其结果,在服务器3中,在当前的处理负荷为基准处理负荷以下时进行机器学习,因此,仅在服务器处理所需时间为车辆处理所需时间以下时在服务器3中进行机器学习。
[0133] 需要说明的是,在本实施方式中,基准处理负荷被设定为差时间相当负荷。然而,基准处理负荷也可以被设定为比差时间相当负荷低的负荷。即使在该情况下,也能够仅在服务器处理所需时间为车辆处理所需时间以下时使服务器3进行机器学习。另外,基准处理负荷例如也可以是比差时间相当负荷低的负荷且是根据机器学习模型的种类而变化的负荷。
[0134] <第三实施方式>
[0135] 接着,参照图11来对第三实施方式的机器学习系统1及在机器学习系统1中进行的机器学习方法进行说明。第三实施方式的机器学习系统1的结构及处理基本上与第一实施方式及第二实施方式的机器学习系统1的结构及处理是同样的。以下,以与第一实施方式及第二实施方式的机器学习系统1不同的点为中心进行说明。
[0136] 在上述第一实施方式及第二实施方式的机器学习系统1中,在车辆2和服务器3的任一方中进行全部的机器学习处理。相对于此,在本实施方式中,机器学习模型的机器学习处理根据服务器3的处理负荷而在车辆2和服务器3中分散进行。
[0137] 图11是本实施方式的学习处理的与图7同样的动作序列图。对与在图7中进行的处理同样的处理标注有同样的步骤编号,关于这些处理省略说明。
[0138] 在本实施方式中,如图11所示,若服务器侧接收部335接收到委托信号,则处理量决定部332基于由处理负荷检测部331检测到的服务器3的当前的处理负荷来决定在服务器3及车辆2的各自中进行的机器学习的处理量(步骤S35)。在本实施方式中,服务器3的当前的处理负荷越高,则越使服务器3中的机器学习的处理量减少,越使车辆2中的机器学习的处理量增大。需要说明的是,服务器3及车辆2中的机器学习的处理量可以根据处理负荷而逐级地变化,也可以连续地变化。因此,若将以上归纳而表述,则在包括第一实施方式及第二实施方式的全部的实施方式中,在服务器3的当前的处理负荷相对高时,与相对低时相比,服务器3中的机器学习的处理量减少。
[0139] 若由处理量决定部332决定了处理量,则服务器侧发送部334经由外部通信模块31而向车辆2发送车辆2及服务器3各自的处理量的通知(步骤S36)。若车辆侧接收部148接收到通知,则车辆侧发送部147将进行车辆2的机器学习模型的机器学习所需的信息经由车外通信模块21而发送(步骤S17)。
[0140] 若服务器侧接收部335经由外部通信模块31而接收到进行机器学习所需的信息,则服务器侧学习部333根据在步骤S35中决定出的服务器3中的处理量来对机器学习模型的模型参数的值进行机器学习(步骤S37)。服务器侧学习部333将从车辆2发送出的当前的模型参数的值设为初始值,使用训练数据集,通过如上所述的误差反向传播法等公知的手法来更新模型参数的值。此时,服务器侧学习部333只要在步骤S35中决定出的服务器3中的处理量不是机器学习的全部处理量,就在机器学习模型的机器学习完成前结束机器学习处理。
[0141] 当服务器侧学习部333中的机器学习模型的学习结束后,服务器侧发送部334经由外部通信模块31而将通过服务器侧学习部333的机器学习而得到的学习中途的模型参数的值向车辆2发送(步骤S38)。
[0142] 若车辆侧接收部148接收到学习途中的模型参数的值,则车辆侧学习部145将从服务器3发送出的学习中途的模型参数的值设为初始值,使用训练数据集,根据在步骤S35中决定出的车辆2中的处理量来对机器学习模型的模型参数的值进行机器学习(步骤S39)。车辆侧学习部145中的机器学习进行至学习完成为止,车辆侧学习部145生成已学习的机器学习模型。
[0143] 需要说明的是,在上述实施方式中,处理量决定部332决定在服务器3及车辆2的各自中进行的机器学习的处理量。然而,处理量决定部332也可以决定由服务器3进行的处理量与由车辆2进行的处理量的比率(处理比率)。另外,在上述实施方式中,首先在服务器3中机器学习模型的机器学习进行至中途,之后,在车辆2中机器学习模型的机器学习进行至完成。然而,也可以首先在车辆2中机器学习模型的机器学习进行至中途,之后,在服务器3中机器学习模型的机器学习进行至完成。
[0144] 以上,虽然说明了本发明的优选的实施方式,但本发明不限定于这些实施方式,能够在权利要求书的记载内实施各种各样的修正及变更。

当前第1页 第1页 第2页 第3页
相关技术
学习系统相关技术
方法机器相关技术
千叶宽也发明人的其他相关专利技术