技术领域
[0001] 本发明涉及模型学习系统及模型学习装置。
相关背景技术
[0002] 在日本特开2013‑69084中公开了从智慧城市内收集数据。
具体实施方式
[0013] 以下,参照附图来对本发明的实施方式进行详细说明。另外,在以下的说明中,对相同的构成要素标注相同的附图标记。
[0014] 图1是本发明的一实施方式的模型学习系统100的概略结构图。
[0015] 模型学习系统100具备:作为模型学习装置的服务器1、控制设备2、数据取得装置3及属于外部机构的外部的终端(以下称作“外部机构终端4”)。
[0016] 服务器1具备:通信部10、运算装置20及存储装置30。
[0017] 通信部10是用于使得能够将服务器1经由网络而与控制设备2、数据取得装置3及外部机构终端4分别连接且与它们相互进行通信的通信接口电路。另外,在本实施方式中,如图1所示,在举出控制设备2及数据取得装置3搭载于车辆5的例子来说明的关系上,服务器1与控制设备2及数据取得装置3之间的通信经由搭载于车辆5的车外通信装置54(参照图2)而进行。
[0018] 运算装置20是用于执行保存于存储装置30的各种程序且总括地控制服务器1的整体的动作的装置,例如是处理器。运算装置20通过按照程序执行处理而作为数据取得部21、训练数据组生成部22、模型学习部23及排除判断部24发挥功能,作为实现预定的功能的功能部(模块)进行动作。在以下的说明中,在以各功能部为主语来说明处理的情况下,表示运算装置20正在执行实现该功能部的程序。关于各功能部21~24的详情将后述。
[0019] 存储装置30是保存运算装置20执行的程序及在执行程序时使用的数据的装置,例如是存储器、HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid State DRIVE:固态驱动器)、RAM(Random Access Memory:随机存取存储器)及ROM(Read Only Memory:只读存储器)等。关于保存于存储装置30的训练数据组生成用数据库31的数据的详情将后述。
[0020] 外部机构终端4是设置于外部机构侧并且由外部机构的人操作的具备键盘和显示器等的计算机,构成为能够与服务器1经由网络而进行通信。外部机构例如是进行学习模型的分析等的人类专家(例如,数据科学家)所属的外部的专业机构。
[0021] 控制设备2是在进行其控制时使用实施了机器学习等学习的学习模型(人工智能模型)的设备。控制设备2例如是搭载于车辆5的各种控制元件。然而,控制设备2不限于此,也可以是与车辆5没有关系的家电产品等电器产品。
[0022] 数据取得装置3是取得生成在进行学习模型的学习(再学习)时使用的训练数据组所需的数据的装置。数据取得装置3例如是搭载于车辆5而被使用于车辆5的控制的各种传感器类。然而,数据取得装置3不限于此,也可以是设置于智慧城市内的各处而收集智慧城市内的信息的各种传感器类。
[0023] 另外,如上所述,在本实施方式中,在举出控制设备2及数据取得装置3搭载于车辆5的例子来说明的关系上,服务器1与控制设备2及数据取得装置3之间的通信经由搭载于车辆5的车外通信装置54(参照图2)来进行,但也可以对控制设备2及数据取得装置3分别设置无线通信功能,使得能够与服务器1进行通信。
[0024] 车辆5的种类不作特别限定,可以是仅具备内燃机作为动力源的车辆,也可以是电动汽车(Battery Electric Vehicle)、混合动力车(Hybrid Electric Vehicle)、插电式混合动力车(Plug‑in Hybrid Electric Vehicle)、燃料电池车(Fuel Cell Electric Vehicle)等具备行驶用电动机的电动化车辆。另外,车辆5可以是手动驾驶车辆,也可以是自动驾驶车辆。
[0025] 图2是示出本实施方式的车辆5的硬件结构的图。
[0026] 本实施方式的车辆5是混合动力车,具备电子控制单元50、车外通信装置54、内燃机、行驶用电动机、空调等搭载于车辆5的各种控制元件55及控制各种控制元件55或检测为了控制各种控制元件55而根据需要使用的各种各样的学习模型的输入参数及输出参数的实测值所需的各种传感器类56。电子控制单元50、车外通信装置54及各种控制元件55、传感器类56经由遵循了CAN(Controller Area Network:控制器局域网)等标准的车内网络57而相互连接。
[0027] 电子控制单元50具备:车内通信接口51、车辆存储部52及车辆处理部53。车内通信接口51、车辆存储部52及车辆处理部53经由信号线而相互连接。
[0028] 车内通信接口51是用于对遵循了CAN(Controller Area Network:控制器局域网)等标准的车内网络57连接电子控制单元50的通信接口电路。
[0029] 车辆存储部52具有HDD(Hard Disk Drive:硬盘驱动器)、光记录介质、半导体存储器等存储介质,存储在车辆处理部53处的处理中使用的各种计算机程序和数据等。
[0030] 车辆处理部53具有一个或多个CPU(Central Processing Unit:中央处理单元)及其周边电路。车辆处理部53执行保存于车辆存储部52的各种计算机程序,总括地控制搭载于车辆5的各种控制元件55,例如是处理器。
[0031] 车外通信装置54是具有无线通信功能的车载的终端。经由车外通信装置54而在车辆5进而搭载于车辆5的控制元件55及传感器类56与服务器1之间相互进行通信。
[0032] 在车辆5中,在通过电子控制单元50控制搭载于车辆5的各种控制元件55时,根据需要而使用学习模型。在本实施方式中,作为学习模型,使用对使用了深度神经网络(DNN;Deep Neural Network)、卷积神经网络(CNN;Convolutional Neural Network)等的神经网络模型(以下称作“NN模型”)实施深度学习而得到的模型。因此,本实施方式的学习模型也能够说成是实施了深度学习的已学习的NN模型。深度学习是代表人工智能(AI;Artificial Intelligence)的机器学习手法之一。
[0033] 图3是示出本实施方式的学习模型(NN模型)的一例的图。
[0034] 图3中的圆标记表示人工神经元。人工神经元通常被称作节点或单元(在本说明书中,称作“节点”)。在图3中,L=1表示输入层,L=2及L=3表示隐藏层,L=4表示输出层。隐藏层也被称作中间层。另外,在图3中,例示了隐藏层是2层的NN模型,但隐藏层的层数不作特别限定,另外,输入层、隐藏层及输出层的各层的节点的数量也作不特别限定。
[0035] 在图3中,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)的各节点及来自该节点的输出值。
[0036] 在输入层的各节点处,输入直接被输出。另一方面,对隐藏层(L=2)的各节点输入输入层的各节点的输出值x1及x2,在隐藏层(L=2)的各节点处,分别使用对应的权重w及偏(L=2)置b而算出总输入值u。例如,在图3中,在隐藏层(L=2)的由zk (k=1,2,3)表示的各节点(L=2)
处算出的总输入值uk 成为下式这样(M是输入层的节点的个数)。
[0037]
[0038] 接着,该总输入值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型函数σ。
[0039] 另外,对输出层(L=4)的节点输入隐藏层(L=3)的各节点的输出值z1(L=3)及z2(L=3),在输出层的节点处,分别使用对应的权重w及偏置b而算出总输入值u(Σz·w+b),或者,分别仅使用对应的权重w而算出总输入值u(Σz·w)。例如,在输出层的节点处,作为活性化函数而使用恒等函数。在该情况下,在输出层的节点处算出的总输入值u直接作为输出值y而从输出层的节点输出。
[0040] 这样,本实施方式的学习模型具备:输入层、隐藏层及输出层,若一个或多个输入参数从输入层输入,则从输出层输出与输入参数对应的一个或多个输出参数。
[0041] 作为输入参数的例子,若例如是使用学习模型来控制搭载于车辆5的空调的情况,则可举出外部气温、车辆5的使用场所(纬度及经度)、日期时刻、之前的驻车时间(行驶前的驻车时间)之类的会对车内温度造成影响的各种参数。并且,作为与这样的输入参数对应的输出参数的例子,可举出空调的设定温度。由此,通过以成为作为输出参数而取得的设定温度的方式控制空调,能够将车内温度维持为适当的温度。这样,在搭载于车辆5的空调成为控制设备2的情况下,取得上述的输入参数及输出参数所需的各种传感器类成为数据取得装置3。
[0042] 另外,作为输入参数的例子,若例如是使用学习模型来控制搭载于车辆5的内燃机的情况,则可举出内燃机转速、内燃机冷却水温度、燃料喷射量、燃料喷射正时、燃压、吸入空气量、进气温度、EGR率、增压压力之类的表示内燃机的运转状态的各种参数的当前值。并且,作为与这样的输入参数对应的输出参数的例子,可举出排气中的CO2浓度、NOx浓度、其他物质的浓度、内燃机输出转矩之类的表示内燃机的性能的各种参数的推定值。由此,通过将表示内燃机的运转状态的各种参数的当前值作为输入参数而向NN模型输入,能够取得表示内燃机的性能的各种参数的推定值(当前的推定值或将来的推定值)作为输出参数,因此,例如能够基于输出参数而以使内燃机的性能接近期望的性能的方式控制内燃机。另外,在具备用于实测输出参数的传感器等的情况下,也能够根据实测值与推定值之差来判断内燃机、传感器等的故障。这样,在搭载于车辆5的内燃机成为控制设备2的情况下,取得上述的输入参数及输出参数所需的各种传感器类成为数据取得装置3。
[0043] 在此,为了使学习模型的精度提高,需要使学习模型进行学习。在学习模型的学习中,使用包含输入参数的实测值和与该输入参数的实测值对应的输出参数的实测值(正解数据)的许多训练数据组。通过使用许多训练数据组而以使在输入了输入参数的实测值时从学习模型输出的输出参数的值和与输入参数的实测值对应的输出参数的实测值的差变小的方式通过公知的误差反向传播法来反复更新神经网络内的权重w及偏置b的值,学习权重w及偏置b的值,学习模型的精度提高。
[0044] 于是,本实施方式的服务器1为了使学习模型定期地进行学习而使其精度提高,如图1所示,具备数据取得部21、训练数据组生成部22及模型学习部23。
[0045] 数据取得部21定期地经由通信部10而取得由数据取得装置3取得的数据,并向训练数据组生成用数据库31保存。训练数据组生成部22基于保存于训练数据组生成用数据库31的数据,针对对各控制设备2使用的每个学习模型,生成包含输入参数的实测值和与输入参数的实测值对应的输出参数的实测值(正解数据)的许多训练数据组。模型学习部23使用与各学习模型对应的训练数据组来进行各学习模型的学习(再学习)。
[0046] 这样,在本实施方式中,基于由数据取得装置3取得的数据来生成训练数据组,使用该训练数据组而定期地且自动地进行学习模型的学习(再学习)。
[0047] 然而,也可想到,即使进行学习模型的学习(再学习),学习模型的精度也不上升,或者反而学习模型的精度下降。例如,有时因数据取得装置3的故障或历时劣化,在由数据取得装置3取得的数据中包含噪声。若使用基于包含这样的噪声的数据生成出的训练数据组来进行学习模型的学习,则有时学习模型的精度不上升,或者反而学习模型的精度下降。若尽管学习模型的精度不上升却定期地且自动地反复进行其再学习,则有限的运算资源会被白白地消耗。
[0048] 于是,本实施方式的服务器1为了抑制不必要地实施学习模型的学习(再学习),还具备排除判断部24。
[0049] 排除判断部24评价使用预先准备的模型评价用的数据组进行了再学习的学习模型的精度,基于该评价结果来判断是否将该学习模型从以后的学习对象中暂时排除。在本实施方式中,排除判断部24在学习后的学习模型的精度与学习前相比该精度未上升的情况或下降了的情况下,暂时将该学习模型从以后的学习对象中排除。另外,学习模型的精度的评价方法不作特别限定,能够从已知的评价方法中选择与学习模型的种类对应的适当的评价方法。
[0050] 另外,排除判断部24在判断为将学习模型从以后的学习对象中暂时排除的情况下,对外部机构进行该学习模型的精度提高委托。在精度提高委托中包含:从学习对象中暂时排除了的学习模型、在该学习模型的学习中使用了的训练数据组及与取得了在生成该训练数据组时使用了的数据的数据取得装置3相关的信息。
[0051] 外部机构当经由外部机构终端4而接收到学习模型的精度提高委托时,通过人类专家来分析学习模型的精度恶化的主要原因,采取使该精度提高所需的措施。
[0052] 若例如是在成为训练数据组的基础的数据中包含噪声为原因而学习模型的精度恶化的情况,则外部机构对该数据实施例如平滑化(smoothing)、中心化(centering)、背景去除等用于减少数据的噪声的前处理、即用于提高信噪比(signal‑noiseratio)的前处理,重新生成适当的训练数据组。并且,外部机构使用重新生成的训练数据组来使学习模型进行学习,使其精度提高。并且,外部机构经由外部机构终端4而向服务器1发送这样使精度提高后的学习模型。
[0053] 图4是示出模型学习系统100的动作序列的一例的图。
[0054] 在步骤S1中,车辆5的电子控制单元50判定是否是将由数据取得装置3取得的数据向服务器1发送的数据发送定时,若是数据发送定时则将该数据向服务器1发送。作为数据发送定时,例如,可举出由数据取得装置3取得了数据的定时、到此为止由数据取得装置3取得且存储到车辆存储部52的数据的数据量成为了预定量以上的定时等,但不作特别限定。
[0055] 在步骤S2中,接收到从车辆5发送出的数据的服务器1将接收到的数据保存于训练数据组生成用数据库31。
[0056] 在步骤S3中,服务器1针对对车辆5的控制设备2使用的每个学习模型,判定是否是训练数据组的生成定时,若是生成定时,则使用保存于训练数据组生成用数据库31的数据来生成与各学习模型对应的训练数据组。此时,服务器1在存在在后述的步骤S8中从学习对象中排除的学习模型的情况下,关于该学习模型判定为不是训练数据组的生成定时。另一方面,关于除此以外的学习模型即未从学习对象中排除的学习模型,服务器1例如在生成与该学习模型对应的训练数据组所需的数据的数据量成为了预定量以上时,判定为是训练数据组的生成定时。
[0057] 在步骤S4中,服务器1使用生成的训练数据组来使学习模型自动地学习。
[0058] 在步骤S5中,服务器1评价自动地学习了的学习模型的学习后的模型精度,基于该评价结果来判断是否将该学习模型从自动学习对象中暂时排除。在本实施方式中,服务器1在自动地学习了的学习模型的学习后的模型精度与学习前相比未上升时或下降了时,将该学习模型从自动学习对象中排除。服务器1在学习模型的学习后的模型精度与学习前相比上升了时,进入步骤S6。另一方面,服务器在自动地学习了的学习模型的学习后的模型精度与学习前相比未上升时或下降了时,进入步骤S8。
[0059] 在步骤S6中,由于学习后的学习模型的精度与学习前相比上升了,所以服务器1将该学习后的学习模型向车辆5发送。
[0060] 在步骤S7中,车辆5的电子控制单元50若从服务器1接收到学习模型,则将到此为止使用的学习模型更新为接收到的学习模型。
[0061] 在步骤S8中,服务器1向外部机构终端4发送精度提高委托。如上述那样,在精度提高委托中包含:从学习对象中暂时排除了的学习模型、在该学习模型的学习中使用了的训练数据组及与取得了在生成该训练数据组时使用了的数据的数据取得装置3相关的信息。
[0062] 在步骤S9中,经由外部机构终端4而接收到精度提高委托的外部机构通过人类专家来分析学习模型的精度恶化的主要原因,并采取使其精度提高所需的措施。
[0063] 在步骤S10中,外部机构将实施了精度提高措施的学习模型经由外部机构终端4而向服务器1发送。此时,例如,在取得了成为训练数据组的基础的数据的数据取得装置3的故障或历时劣化为原因而学习模型的精度恶化的情况下,外部机构也可以将用于催促数据取得装置3的更换等的通知与学习模型一并发送给服务器1。
[0064] 在步骤S11中,服务器1将从外部机构接收到的学习模型向车辆5发送。由此,在步骤S7中,在车辆5中到此为止使用的学习模型更新为由外部机构实施了精度提高措施的学习模型。另外,服务器1在步骤S10中从外部机构与学习模型一起接收到用于催促数据取得装置3的更换等的通知时,将该通知也一并发送给车辆5。由此,能够对车辆5催促数据取得装置3的及早更换。
[0065] 在步骤S12中,服务器1使从学习对象中暂时排除的学习模型恢复为学习对象。
[0066] 以上说明的本实施方式的模型学习系统100具备:控制设备2(设备),使用学习模型;数据取得装置3,取得用于生成学习模型的训练数据组的数据;及服务器1(模型学习装置),使用利用数据生成的学习模型的训练数据组来使学习模型自动地学习。并且,服务器1构成为,在自动地学习了的学习模型的学习后的模型精度与学习前相比未上升时或下降了时,将学习模型从自动学习对象中排除。
[0067] 由此,能够抑制尽管学习模型的精度不上升却自动地反复进行其再学习。因此,能够抑制运算资源被白白地消耗。
[0068] 另外,本实施方式的服务器1(模型学习装置)构成为,在将学习模型从自动学习对象中排除后,向属于外部机构的外部机构终端4发送学习模型的模型精度提高委托。在模型精度提高委托中包含:从自动学习对象中排除了的学习模型、在该学习模型的学习中使用了的训练数据组及与取得了在该训练数据组的生成中使用了的数据的数据取得装置3相关的信息,外部机构具体而言是通过人类专家来分析学习模型的精度恶化的主要原因且使该精度提高的外部的专业机构。
[0069] 由此,能够确定学习模型的精度恶化的主要原因且排除该主要原因。例如,在取得了成为训练数据组的基础的数据的数据取得装置3的故障或历时劣化为原因而学习模型的精度恶化了的情况下,能够催促数据取得装置3的更换等。
[0070] 以上,对本发明的实施方式进行了说明,但上述实施方式只不过示出了本发明的应用例的一部分,并非旨在将本发明的技术范围限定于上述实施方式的具体结构。
[0071] 例如,在上述的实施方式中,在图4中的步骤S10中,将实施了精度提高措施的学习模型发送给服务器1,但也可以直接发送给使用该学习模型的控制设备2或搭载有控制设备2的车辆5。
[0072] 另外,在上述的实施方式中,对控制设备2使用的学习模型搭载于该控制设备2,但不限于此,也可以是,学习模型自身存在于服务器1,利用存在于该服务器1的学习模型来控制控制设备2。