首页 / 机器学习装置及机器学习系统

机器学习装置及机器学习系统实质审查 发明

技术领域

[0001] 本发明涉及机器学习装置及机器学习系统。

相关背景技术

[0002] 近年来,随着AI(人工智能)技术的发展,正在研究在车辆中进行使用了如神经网络模型那样的机器学习模型的控制。例如,在专利文献1所记载的机器学习系统中,使用神经网络模型来推定设置于内燃机的排气净化催化剂的温度。
[0003] 为了提高这样的神经网络模型的推定精度,需要预先进行神经网络模型的学习。例如,如专利文献1所记载的那样,在服务器中进行神经网络模型的学习,并将学习完毕的神经网络模型从服务器发送到车辆。
[0004] 现有技术文献
[0005] 专利文献
[0006] 专利文献1:日本特开2019‑183698号公报

具体实施方式

[0025] 以下,参照附图对本发明的实施方式进行详细说明。图1是本发明的实施方式所涉及的机器学习系统1的概略性的结构图。机器学习系统1包括服务器2和车辆3。
[0026] 如图1所示,服务器2设置于车辆3的外部,具备通信接口21、存储装置22、存储器23及处理器24。服务器2还可以具备如键盘和鼠标那样的输入装置、如显示器那样的输出装置等。另外,服务器2也可以由多个计算机构成。
[0027] 通信接口21能够与车辆3进行通信,能够使服务器2与车辆3进行通信。具体而言,通信接口21具有用于将服务器2与通信网络5连接的接口电路。服务器2经由通信接口21、通信网络5及无线基站6与车辆3进行通信。通信接口21是通信装置的一例。
[0028] 存储装置22例如具有硬盘驱动器(HDD)、固态驱动器(SSD)、光学记录介质等。存储装置22存储各种数据,例如存储用于使处理器24执行各种处理的计算机程序等。
[0029] 存储器23具有例如随机存取存储器(RAM)那样的半导体存储器。存储器23存储例如在由处理器24执行各种处理时使用的各种数据等。
[0030] 通信接口21、存储装置22及存储器23经由信号线与处理器24连接。处理器24具有一个或多个CPU及其外围电路,并执行各种处理。另外,处理器24也可以还具有如逻辑运算单元或数值运算单元那样的运算电路。处理器24是控制装置的一例。
[0031] 图2是概略地表示图1的车辆3的结构的一部分的图。如图2所示,车辆3具备致动器31、传感器32、通信模块33及电子控制单元(ECU(Electronic Control Unit))40。即,致动器31、传感器32、通信模块33及ECU40搭载于车辆3。致动器31、传感器32及通信模块33经由遵照CAN(Controller Area Network:控制器局域网)等标准的车内网络与ECU40以能够通信的方式连接。
[0032] 致动器31是车辆3的行驶所需的工作部件,例如包括内燃机的工作所需的部件(火花塞、燃料喷射阀、节气门驱动致动器、EGR控制阀等)、马达、离合器等。ECU40对致动器31进行控制。
[0033] 传感器32检测车辆3、内燃机、电池等的状态量,包括车速传感器、GPS接收器、加速器开度传感器、空气流量计、空燃比传感器、曲柄角传感器、转矩传感器、电压传感器、温度传感器等。传感器32的输出被发送到ECU40。
[0034] 致动器31及传感器32构成搭载于车辆3的部件即车辆部件。换言之,车辆部件包括致动器31及传感器32。
[0035] 通信模块33是能够使车辆3与车辆3的外部进行通信的设备。通信模块33例如是能够经由无线基站6与通信网络5进行通信的数据通信模块(DCM(Data communication module))。另外,作为通信模块33,也可以使用移动终端(例如,智能手机、平板终端、WiFi路由器等)。通信模块33是通信装置的一例。
[0036] ECU40包括通信接口41、存储器42及处理器43,并执行车辆3的各种控制。另外,在本实施方式中,设置有一个ECU40,但也可以按功能设置多个ECU。
[0037] 通信接口41具有用于将ECU40与遵照CAN等标准的车内网络连接的接口电路。ECU40经由通信接口41与如上所述的其他车载设备进行通信。
[0038] 存储器42例如具有易失性半导体存储器(例如RAM)和非易失性半导体存储器(例如ROM)。存储器42存储在处理器43中执行的程序、在由处理器43执行各种处理时使用的各种数据等。
[0039] 处理器43具有一个或多个CPU(Central Processing Unit:中央处理单元)及其外围电路,并执行各种处理。另外,处理器43也可以还具有如逻辑运算单元或数值运算单元那样的运算电路。通信接口41、存储器42和处理器43经由信号线彼此连接。
[0040] 在本实施方式中,ECU40作为机器学习装置发挥功能。图3是图2的ECU40的功能框图。ECU40具有推定部51、更新部52及部件信息取得部53。推定部51、更新部52及部件信息取得部53是通过使ECU40的处理器43执行存储在ECU40的存储器42中的程序而实现的功能块。
[0041] 推定部51使用机器学习模型来推定规定的信息。更新部52对在车辆3中使用的机器学习模型进行更新。在本实施方式中,作为机器学习模型,使用根据多个输入数据(也称为说明变量)输出至少一个输出数据(也称为目标变量)的神经网络模型。
[0042] 首先,参照图4,对神经网络模型的概要进行说明。图4表示具有简单的结构的神经网络模型的一例。
[0043] 图4中的圆圈标记表示人工神经元。人工神经元通常被称为节点或单元(在本说明书中,称为“节点”)。在图4中,L=1表示输入层,L=2和L=3表示隐藏层,L=4表示输出层。另外,隐藏层也被称为中间层。
[0044] 在图4中,x1及x2表示输入层(L=1)的各节点及来自该节点的输出值,y表示输出层(L=2) (L=2) (L=2)(L=4)的节点及其输出值。同样地,z1 、z2 及z3 表示隐藏层(L=2)的各节点及来(L=3) (L=3)
自该节点的输出值,z1 及z2 表示隐藏层(L=3)的各节点及来自该节点的输出值。
[0045] 在输入层的各节点处,输入被直接输出。另一方面,向隐藏层(L=2)的各节点输入输入层的各节点的输出值x1和x2,在隐藏层(L=2)的各节点处,使用分别对应的权重w和偏(L=2)差b来计算总输入值u。例如,在图4中由隐藏层(L=2)的zk (k=1、2、3)表示的各节点处(L=2)
计算出的总输入值uk 如下式所示(M是输入层的节点的数量)。
[0046] 【数学式1】
[0047]
[0048] 接着,该总输入值uk(L=2)通过激活函数f进行变换,从由隐藏层(L=2)的zk(L=2)所(L=2) (L=2)示的节点作为输出值zk (=f(uk ))而输出。另一方面,向隐藏层(L=3)的各节点输(L=2) (L=2) (L=2)
入隐藏层(L=2)的各节点的输出值z1 、z2 及z3 ,在隐藏层(L=3)的各节点处,使用分别对应的权重w及偏差b来计算总输入值u(=∑z·w+b)。该总输入值u同样地通过激活(L=3) (L=3)
函数进行变换,从隐藏层(L=3)的各节点作为输出值z1 、z2 而输出,激活函数例如是S形(sigmoid)函数σ。
[0049] 另外,向输出层(L=4)的节点输入隐藏层(L=3)的各节点的输出值z1(L=3)和z2(L=3),在输出层的节点处,使用分别对应的权重w和偏差b来计算总输入值u(∑z·w+b),或者仅使用分别对应的权重w来计算总输入值u(∑z·w)。例如,在输出层的节点处,使用恒等函数作为激活函数。在该情况下,在输出层的节点处计算出的总输入值u直接作为输出值y从输出层的节点输出。
[0050] 在车辆3中使用的神经网络模型存储到ECU40的存储器42或设置于车辆3的其他存储装置。推定部51通过将多个输入数据的值(输入值)输入到神经网络模型来使神经网络模型输出至少一个输出数据的值(输出值)。此时,作为各输入数据的值,例如使用传感器32的输出值、从ECU40向致动器31发出的指令值、经由通信模块33从车辆3的外部取得的值、在ECU40中计算出的值等。
[0051] 推定部51推定与从神经网络模型输出的输出数据的值相对应的规定的信息。由推定部51推定出的规定的信息用于车辆3的控制。另外,神经网络模型可以是回归模型和分类模型中的任一种。在神经网络模型是回归模型的情况下,输出数据例如是内燃机的输出转矩、废气中的规定成分(HC、NOx等)的浓度、电池的充电率(SOC:State Of Charge)等。另一方面,在神经网络模型是分类模型的情况下,输出数据例如是规定的传感器32的异常判定结果、混合动力车辆中的内燃机的启动判定结果等。作为输入数据,适当选择与输出数据相关的状态量。
[0052] 为了提高这样的神经网络模型的精度,需要预先进行神经网络模型的学习。因此,例如在车辆的生产工厂等中进行神经网络模型的学习。
[0053] 在神经网络模型的学习中,使用由多个输入数据的实测值和与这些实测值对应的至少一个输出数据的实测值(正确答案数据或教师数据)的组合构成的训练数据集。输入数据及输出数据的实测值例如使用发动机台架来取得,并通过组合对应的实测值来创建训练数据集。
[0054] 在神经网络模型的学习中,使用大量的训练数据集,通过公知的误差反向传播法反复更新神经网络模型的参数(权重w和偏差b),以使由神经网络模型输出的输出数据的值与输出数据的实测值之差变小。其结果是,神经网络模型被学习,生成学习完毕的神经网络模型。所生成的学习完毕的神经网络模型在车辆3出厂前安装于车辆3的ECU40。即,学习完毕的神经网络模型的信息(模型的构造、权重w、偏差b等)存储到ECU40的存储器42或设置于车辆3的其他存储装置。另外,学习完毕的神经网络模型也可以在车辆3出厂后从服务器2发送到车辆3。
[0055] 然而,当伴随车辆3的使用而产生诸如致动器31或传感器32之类的车辆部件的劣化或故障时,进行车辆部件的更换。另外,有时会为了将更高性能的车辆部件搭载于车辆3而进行车辆部件的更换。
[0056] 但是,安装到ECU40的神经网络模型与更换前的车辆部件的特性相匹配。因此,当车辆部件的特性因车辆部件的更换而发生变化时,神经网络模型的推定精度有可能降低。
[0057] 因此,在本实施方式中,部件信息取得部53检测车辆部件的更换,并取得更换后的车辆部件的识别信息。另外,更新部52在与神经网络模型的输入数据相关的车辆部件被更换为不同的结构的车辆部件的情况下,从服务器2接收使用与更换后的车辆部件对应的训练数据集进行学习所得的新的神经网络模型,并将新的神经网络模型应用于车辆3。
[0058] 具体而言,更新部52在与神经网络模型的输入数据相关的车辆部件被更换为不同的结构的车辆部件的情况下,将更换后的车辆部件的识别信息发送到服务器2。服务器2的处理器24在从车辆3接收到更换后的车辆部件的识别信息时,将使用与更换后的车辆部件对应的训练数据集进行学习所得的新的神经网络模型发送到车辆3。更新部52在从服务器2接收到新的神经网络模型时,将新的神经网络模型应用于车辆3。
[0059] 如上所述,通过根据车辆部件的更换来更新神经网络模型,从而在更换了车辆部件的情况下,能够抑制在车辆3中使用的神经网络模型的推定精度降低的情况。
[0060] 以下,使用图5及图6的流程图对上述的控制进行详细说明。图5是表示模型更新处理的控制例程的流程图。本控制例程由车辆3的ECU40以规定的执行间隔反复执行。
[0061] 首先,在步骤S101中,部件信息取得部53判定更换标志F是否为1。更换标志F是在更换了车辆部件时设定为1的标志,更换标志F的初始值为0。在步骤S101中判定为更换标志F为0的情况下,本控制例程进入步骤S102。
[0062] 在步骤S102中,部件信息取得部53判定与神经网络模型的输入数据相关的车辆部件是否被更换为不同的结构的车辆部件。例如,在传感器32的输出值被用作神经网络模型的输入数据的情况下,传感器32相当于与神经网络模型的输入数据相关的车辆部件。另外,在将从ECU40向致动器31发出的指令值用作神经网络模型的输入数据的情况下,致动器31相当于与神经网络模型的输入数据相关的车辆部件。另外,不同的结构的车辆部件包括制造公司、产品编号、型号等与更换前的车辆部件不同的车辆部件。
[0063] 部件信息取得部53例如通过读取车辆部件的识别信息(制造公司名、型号、序列号、制造编号等)来检测车辆部件的更换。另外,部件信息取得部53也可以通过检测车辆部件的输出波形、工作电压等来检测车辆部件的更换。另外,也可以是操作者将车辆部件的更换输入到车辆3的输入装置(HMI等),部件信息取得部53基于向输入装置的输入来检测车辆部件的更换。
[0064] 在步骤S102中判定为没有更换车辆部件的情况下,本控制例程结束。另一方面,在步骤S102中判定为更换了车辆部件的情况下,本控制例程进入步骤S103。在步骤S103中,部件信息取得部53取得车辆部件的识别信息。
[0065] 接着,在步骤S104中,部件信息取得部53将更换标志F设定为1。
[0066] 接着,在步骤S105中,更新部52经由通信模块33、无线基站6及通信网络5将更换后的车辆部件的识别信息发送到服务器2。
[0067] 在步骤S105之后,本控制例程进入步骤S106。另一方面,在步骤S101中判定为更换标志F为1的情况下,本控制例程跳过步骤S102~步骤S105而进入步骤S106。
[0068] 在步骤S106中,更新部52判定是否从服务器2接收到新的神经网络模型。在判定为没有接收到新的神经网络模型的情况下,本控制例程结束。另一方面,在判定为接收到新的神经网络模型的情况下,本控制例程进入步骤S107。
[0069] 在步骤S107中,更新部52将新的神经网络模型应用于车辆3。换言之,更新部52将在车辆3中使用的神经网络模型更新为新的神经网络模型。即,存储在ECU40的存储器42或其他存储装置中的神经网络模型的信息被改写。
[0070] 接着,在步骤S108中,更新部52将更换标志F设定为0。在步骤S108之后,本控制例程结束。
[0071] 图6是表示模型发送处理的控制例程的流程图。本控制例程由服务器2的处理器24以规定的执行间隔反复执行。
[0072] 首先,在步骤S201中,处理器24判定是否从车辆3接收到车辆部件的识别信息。在判定为没有接收到车辆部件的识别信息的情况下,本控制例程结束。另一方面,在判定为接收到车辆部件的识别信息的情况下,本控制例程进入步骤S202。
[0073] 在步骤S202中,处理器24基于车辆部件的识别信息来确定更换后的车辆部件,并确定与更换后的车辆部件对应的神经网络模型。具体而言,处理器24从存储在服务器2的存储装置22中的多个神经网络模型中提取出使用与更换后的车辆部件对应的训练数据集进行学习所得的神经网络模型。在与更换后的车辆部件对应的训练数据集中,使用更换后的车辆部件的输出值、向更换后的车辆部件发出的指令值等作为输入数据的实测值之一。
[0074] 接着,在步骤S203中,处理器24将在步骤S202中确定的新的神经网络模型发送到车辆3。在步骤S203之后,本控制例程结束。
[0075] 另外,也可以是在图5的步骤S105中,更新部52将更换后的车辆部件的识别信息及车辆3的识别信息(车名、型号等)发送到服务器2,在图6的步骤S203中,服务器2的处理器24将与更换后的车辆部件及车辆3的识别信息对应的神经网络模型作为新的神经网络模型发送到车辆3。由此,能够将更适合于车辆3的特性的神经网络模型应用于车辆3,进而能够进一步抑制神经网络模型的推定精度降低的情况。
[0076] 在该情况下,车辆3的识别信息预先存储于ECU40的存储器42等。另外,在服务器2中,将针对每种车辆所生成的神经网络模型、例如使用训练数据集进行学习所得的神经网络模型预先存储于服务器2的存储装置22,所述训练数据集根据使用针对每种车辆所准备的发动机台架等取得的输入数据及输出数据的实测值而创建。
[0077] 以上,说明了本发明所涉及的优选实施方式,但本发明并不限定于这些实施方式,可以在权利要求书的记载内实施各种修正和变更。例如,在车辆3中使用的机器学习模型也可以是随机森林、k邻域法、支持向量机等除神经网络之外的机器学习模型。
[0078] 标号说明
[0079] 1 机器学习系统
[0080] 2 服务器
[0081] 21 通信接口
[0082] 24 处理器
[0083] 3 车辆
[0084] 33 通信模块
[0085] 40 电子控制单元(ECU)
[0086] 51 推定部
[0087] 52 更新部
[0088] 53 部件信息取得部

当前第1页 第1页 第2页 第3页
相关技术
学习装置相关技术
机器学习相关技术
横山大树发明人的其他相关专利技术