掌桥专利:专业的专利平台
掌桥专利
首页

数据处理系统、模型生成装置、数据处理方法、模型生成方法以及程序

文献发布时间:2023-06-23 06:30:03


数据处理系统、模型生成装置、数据处理方法、模型生成方法以及程序

技术领域

本发明涉及数据处理系统、模型生成装置、数据处理方法、模型生成方法以及程序。

背景技术

近年来,通过机器学习而生成的模型被用于各种用途。例如在专利文献1中记载了在推定二次电池的状态时采用利用了神经网络的学习。

现有技术文献

专利文献

专利文献1:日本特开2008-232758号公报

发明内容

发明所要解决的课题

用于数据解析的模型,例如通过机器学习而生成的模型的价值高。另一方面,当该模型的用途扩大时,如使用该模型的装置与网络连接的情况那样,第三者能够与模型连接的情况增加。在该情况下,也能够向该模型发送输入数据,并接收该模型的输出数据。于是,第三者能够得到输入数据与输出数据的多个组合,因此,存在能够推定模型构造的可能性。

本发明的目的的一个例子是提高在数据解析中使用的模型的隐秘性。

用于解决课题的手段

根据本发明,提供一种数据处理系统,其具有:

输入数据处理部,其取得由多个值构成的输入数据,并按照转换规则对该输入数据进行转换;

中间数据生成部,其对转换后的所述输入数据进行处理,从而输出由多个值构成的由多行和/或多列的数据构成的中间数据;以及

输出数据生成部,其在对所述中间数据进行了预定的运算之后选择位于预先决定的位置的至少一个值来生成输出数据,

所述中间数据生成部和所述输出数据生成部设置在不同的装置。

根据本发明,提供一种模型生成装置,其生成在所述数据处理系统所具有的中间数据生成部中使用的模型,该模型生成装置具备:

训练数据取得部,其取得由正常的数据构成的第一训练数据以及一部分包含异常数据的第二训练数据;以及

模型生成部,其多次反复进行如下工序:使用所述第一训练数据训练所述模型,然后使用根据所述转换规则转换后的所述第二训练数据训练所述模型。

根据本发明,提供一种数据处理方法,在该数据处理方法中,由计算机进行如下处理:

输入数据处理,取得由多个值构成的输入数据,并按照转换规则对该输入数据进行转换;

中间数据生成处理,对转换后的所述输入数据进行处理,从而输出由多个值构成的由多行和/或多列的数据构成的中间数据;以及

输出数据生成处理,在对所述中间数据进行了预定的运算之后选择位于预先决定的位置的至少一个值来生成输出数据,

所述中间数据生成处理和所述输出数据生成处理由不同的计算机来进行。

根据本发明,提供一种模型生成方法,其生成在所述数据处理系统所具有的中间数据生成部中使用的模型,该模型生成方法使计算机进行如下处理:

训练数据取得处理,取得由正常的数据构成的第一训练数据以及一部分包含异常数据的第二训练数据;以及

模型生成部,其多次反复进行如下工序:使用所述第一训练数据训练所述模型,然后使用根据所述转换规则转换后的所述第二训练数据训练所述模型。

根据本发明,提供一种程序,该程序使计算机具有如下功能:

输入数据处理功能,取得由多个值构成的输入数据,并按照转换规则对该输入数据进行转换;以及

中间数据生成功能,对转换后的所述输入数据进行处理,从而输出由多个值构成的由多行和/或多列的数据构成的中间数据。

根据本发明,提供一种程序,该程序使计算机具有输出数据生成功能,在对通过所述中间数据生成功能生成的所述中间数据进行了预定的运算之后,选择位于预先决定的位置的至少一个值从而生成输出数据。

根据本发明,提供一种程序,该程序使计算机具有生成在所述数据处理系统所具有的中间数据生成部中使用的模型的功能,所述程序使所述计算机具有如下功能:

训练数据取得功能,取得由正常的数据构成的第一训练数据以及一部分包含异常数据的第二训练数据;以及

模型生成功能,其多次反复进行如下工序:使用所述第一训练数据训练所述模型,然后,使用根据所述转换规则转换后的所述第二训练数据训练所述模型。

发明效果

根据本发明,在数据解析中使用的模型的隐秘性提高。

附图说明

图1用于说明实施方式的模型生成装置以及数据处理系统的使用环境的一例。

图2表示模型生成装置的功能结构的一例。

图3表示数据处理系统的功能结构的一例。

图4用于说明模型生成装置的预处理部以及数据处理系统的输入数据处理部所使用的转换规则的第一例。

图5用于说明数据处理系统的输入数据处理部所使用的转换规则的第二例。

图6用于说明模型生成装置的预处理部以及数据处理系统的输入数据处理部所使用的转换规则的第三例。

图7表示模型生成装置的硬件结构例。

图8是表示模型生成装置进行的模型生成处理的第一例的流程图。

图9是表示模型生成装置进行的模型生成处理的第二例的流程图。

图10是表示数据处理系统进行的处理的一例的流程图。

图11用于说明虚拟模型的生成方法。

具体实施方式

以下,使用附图对本发明的实施方式进行说明。此外,在所有附图中,对相同的构成要素标注相同的附图标记,并适当省略说明。

图1用于说明实施方式的模型生成装置10以及数据处理系统20的使用环境的一例。数据处理系统20使用模型生成装置10生成的模型来处理输入数据,并进行输出数据的输出。输入数据由多个值构成。这些多个值的一例是以互不相同的指标测定对象物的状态而得到的结果。在以下的说明中,对象物是蓄电池(二次电池)30,输入数据是蓄电池30的状态的测定结果。在该情况下,输入数据例如包含蓄电池30的输出电压、输出电流值以及温度。但是,对象物以及输入数据并不限于此。

在该图所示的例子中,模型生成装置10以及数据处理系统20与蓄电池30一起使用。数据处理系统20的一部分功能可以是蓄电池30的BMS(Battery Management System:电池管理系统)。但是,后述的中间数据生成部240与输出数据生成部250设置在相互不同的装置中。而且,一个数据处理系统20与多个蓄电池30连接,进行与这些多个蓄电池30相关的处理。

蓄电池30向设备40供给电力。作为一例,设备40例如是电动车辆等车辆。但是,在蓄电池30为家用蓄电池的情况下,设备40成为家用的电气设备。在该情况下,蓄电池30位于设备40的外部。另外,蓄电池30也可以与系统电力网连接。在该情况下,蓄电池30用于使供给的电力均衡化。具体而言,设备40在电力富裕时蓄电,在电力不足时供电。

数据处理系统20推定蓄电池30的状态。在此推定的状态例如是蓄电池30的剩余容量(单位为Ah)、充电率(SOC:State Of Charge:荷电状态)以及SOH(State Of Health,健康状态)中的至少一个。SOH例如是“当前的满充电容量(Ah)/初始的满充电容量(Ah)×100(%)”。此外,蓄电池30的状态并不限于此。在该推定中,如上所述,数据处理系统20使用模型。模型生成装置10使用机器学习,例如使用神经网络来生成并更新数据处理系统20所使用的模型中的至少一个。

模型生成装置10可以从多个蓄电池30取得与蓄电池30的状态相关的数据的测定值(以下,记载为实绩数据)。在该情况下,可以将多个实绩数据的一部分用作机器学习的训练数据,将实绩数据的剩余的至少一部分用于验证模型。

优选实绩数据包含用于确定蓄电池30的种类(例如产品名、型号)的信息。于是,模型生成装置10能够按照蓄电池30的种类生成模型。而且,数据处理系统20能够从模型生成装置10取得并使用与该数据处理系统20所连接的蓄电池30的种类对应的模型。因此,数据处理系统20针对蓄电池30的状态的推定精度变高。

此外,实绩数据的至少一部分也可以由以收集实绩数据为主要目的而使用的蓄电池30来生成。

图2表示模型生成装置10的功能结构的一例。在该图所示的例子中,模型生成装置10具备训练数据取得部120以及模型生成部140。训练数据取得部120取得多个训练数据。作为一例,各训练数据将训练用测定数据作为输入数据,将表示该蓄电池的性能的值(例如,剩余容量、SOC以及SOH中的至少一个)即训练用输出数据作为目标值,其中,上述训练用测定数据包含用于表示蓄电池的某个充放电循环中的状态的指标(例如电流、电压以及温度)。模型生成部140通过对多个训练数据进行机器学习来生成模型。

模型生成部140也可以使用多个机器学习算法(例如LSTM(Long Short-TermMemory,长短期存储器)、DNN(Deep Neural Network,深度神经网络)、以及LR(LinearRegression,线性回归)等)来生成多个模型。

在该图所示的例子中,训练数据取得部120从训练数据存储部110取得训练数据。训练数据存储部110可以是模型生成装置10的一部分,也可以设置在模型生成装置10的外部。训练数据存储部110所存储的训练数据包含由正常数据构成的第一训练数据、以及一部分包含异常数据的第二训练数据。第一训练数据的一例是上述的实绩数据。第二训练数据的一例包含作为实绩数据可能不存在的值,例如由人或计算机生成。

模型生成装置10还具备预处理部130。预处理部130至少按照预先决定的转换规则对第二训练数据进行转换。模型生成部140使用转换后的第二训练数据来生成模型。在此,预处理部130还可以按照预先决定的转换规则对第一训练数据进行转换。在该情况下,模型生成部140使用转换后的第一训练数据来生成模型。

上述转换规则的一例是通过对训练数据的输入数据追加虚拟数据来增加构成该输入数据的值的数量,并且通过对训练数据的输出数据也追加虚拟数据来增加构成该输出数据的值的数量的处理。例如,在输入数据由3个值构成的情况下,转换后的输入数据包含初始在输入数据中包含的3个值以及由至少一个值构成的虚拟数据,因此由4个以上的值构成。另外,关于该转换规则的详细例子,在后面叙述。

将模型生成部140生成的模型存储在模型存储部150。并且,将存储在模型存储部150中的模型通过模型发送部160发送到数据处理系统20。在该图所示的例子中,模型存储部150以及模型发送部160成为模型生成装置10的一部分。但是,模型存储部150以及模型发送部160的至少一方也可以成为模型生成装置10的外部的装置。

图3表示数据处理系统20的功能结构的一例。数据处理系统20具备输入数据处理部230、中间数据生成部240以及输出数据生成部250。

中间数据生成部240和输出数据生成部250是相互不同的装置。作为一例,数据处理系统20中的输出数据生成部250设置在云服务器上,数据处理系统20的其他功能设置在终端上。但是,后述的存储处理部210、模型存储部220以及显示处理部260也可以设置在云服务器上。

输入数据处理部230取得输入数据,按照转换规则对该输入数据进行转换。输入数据的结构与模型生成装置10所使用的训练数据的输入数据相同。例如,输入数据处理部230从检测蓄电池30的状态的传感器(例如电流计、电压计以及温度计)取得输入数据。另外,输入数据处理部230所使用的转换规则与模型生成装置10的预处理部130所使用的转换规则相同。如上所述,该转换规则的一例是通过对输入数据追加虚拟数据来增加输入数据中包含的值的数量。

中间数据生成部240通过对转换后的输入数据进行处理来生成中间数据。该中间数据例如是由多个值构成的多行和/或多列的数据。中间数据生成部240使用模型生成装置10生成的模型来生成中间数据。如上所述,模型生成装置10在生成模型时,对训练数据的输出数据追加虚拟数据。因此,所生成的中间数据包含有意义的值(即想要的值)和成为虚拟的值。

输出数据生成部250通过在对中间数据生成部240生成的中间数据进行了预定的运算之后选择位于预先决定的位置的至少一个值(即中间数据中的有意义的值)来生成输出数据。在此进行的预定的运算例如是加法运算,但也可以是减法运算、乘法运算或者除法运算,也可以是将加法运算、减法运算、乘法运算以及除法运算中的至少2个组合的运算。

在该图所示的例子中,数据处理系统20还具备存储处理部210、显示处理部260以及显示器270。

存储处理部210从模型生成装置10取得模型,并存储在模型存储部220中。存储处理部210在从模型生成装置10取得了用于更新模型的数据(例如模型的参数)时,使用该数据来更新模型存储部220中存储的模型。优选反复进行该更新处理。在该图所示的例子中,模型存储部220成为数据处理系统20的一部分。但是,模型存储部220也可以是数据处理系统20的外部的装置。

显示处理部260使显示器270显示输出数据生成部250生成的输出数据。显示器270配置在设备40的使用者能够视觉识别的位置。例如在设备40为车辆的情况下,显示器270设置在该车辆的内部(例如驾驶席的前方或斜前方)。

图4用于说明模型生成装置10的预处理部130以及数据处理系统20的输入数据处理部230所使用的转换规则的第一例。图4的(A)表示输入数据的第一例,图4的(B)表示与图4的(A)对应的输出数据的一例。

在图4的(A)所示的例子中,输入数据是行数据,由多个值(例如[1,1,1]这3个值)构成。而且,转换规则是在该行的预定位置插入虚拟数据。其结果,输入数据在第二列追加了作为虚拟值的“0”。并且,第二列及其以后的值各后错一列。

并且,在图4的(B)所示的例子中,本来的输出数据是行数据,由预定数量的值(例如[1,3,1]这3个值)构成。与此相对,模型生成装置10生成的模型以使用转换后的输入数据为前提,其结果,成为由比本来的输出数据更多数量的值(例如[-3,1,3,1,-2]这样的5个值)构成的行数据。其中,该行数据在预先决定的位置(即预先决定的列)包含本来的输出数据([1,3,1]),并且在剩余的位置(列)包含虚拟值。输出数据生成部250执行从[-3,1,3,1,-2]提取[1,3,1]的处理。另外,成为本来的输出数据的多个值不需要连续。

另外,模型生成装置10的预处理部130针对训练数据中包含的输入数据(例如[1,1,1]),在预定的位置(例如第二列)追加预定值的虚拟数据(例如0)。另外,预处理部130在预定的位置(例如第一列和第五列)对训练数据中包含的输出数据(例如[1,3,1])追加预定的虚拟数据。在此,向输出数据追加的预定的虚拟数据的值优选处于本来的输出数据中包含的值的取值范围内。这样,中间数据生成部240生成的中间数据中包含的虚拟的值(即,不被选择为输出数据的值)处于成为本来的输出数据的多个值的取值范围内。因此,即使第三者看到中间数据,该第三者也无法判断中间数据中包含的多个值中的哪个值是有意义的数据(即本来的输出数据)。因此,第三者无法确定输入数据与输出数据的组合,其结果,模型生成装置10生成的模型的隐秘性变高。

此外,为了使模型成为这样,在模型生成装置10所使用的第二训练数据中,使输出数据中包含的虚拟的值处于成为本来的输出数据的多个值的取值范围内即可。

图5用于说明数据处理系统20的输入数据处理部230使用的转换规则的第二例。图5的(A)表示输入数据的第一例,图5的(B)表示与图5的(A)对应的输出数据的一例。

该图所示的处理与使用图4说明的处理大致相同。其中,转换规则还包括“在输入数据中包含满足预定条件的值时,将该值置换为其他值”。在第三者以推定模型的构造为目的而使用计算机将多个输入数据输入到数据处理系统20的情况下,输入数据包含特定的值(例如0、1等整数)的情况较多。因此,作为转换规则中的“满足预定的条件的值”,当设定了在计算机自动生成数据时容易使用的值时,通过转换规则将该值置换为其他的值。因此,模型的隐秘性变高。

在此,若减小“满足预定条件的值”与置换后的值即“其他值”之间的差,则即使在输入数据包含了“满足预定条件的值”的情况下,输出数据生成部250输出的输出数据的值与未置换值时的输出数据(本来的输出数据的值)之间的差也变小。因此,由转换规则的值置换引起的误差变小。

此外,上述的值置换也可以不在模型生成装置10的预处理部130中进行。

图6用于说明模型生成装置10的预处理部130以及数据处理系统20的输入数据处理部230所使用的转换规则的第三例。

该图所示的处理以使用图4或图5而说明的处理为前提。因此,图6的(A)所示的处理与图5的(A)(或图4的(A))所示的处理相同。在此基础上,关于中间数据生成部240生成的中间数据,通过对构成这些数据的至少一个值(不是成为虚拟的值而是构成本来的数据的值)进行预定的运算,从而得到本来的数据。该运算由输出数据生成部250进行。例如在图6的(B)所示的例子中,通过对第三列的值加上常数(例如1),能够得到本来的数据。

为了这样,例如在模型生成部140使用的训练数据中,对输出数据进行与中间数据生成部240(或输出数据生成部250)进行的运算相反的运算(例如从第三列的值减去常数(例如1)),使用进行了该逆运算后的训练数据来生成中间数据生成部240使用的模型即可。

根据该图所示的例子,表示模型输出的中间数据中的本来的数据的值成为与本来的值不同的值。因此,模型的隐秘性进一步提高。

图7表示模型生成装置10的硬件结构例。模型生成装置10具有总线1010、处理器1020、存储器1030、存储设备1040、输入输出接口1050以及网络接口1060。

总线1010是用于处理器1020、存储器1030、存储设备1040、输入输出接口1050以及网络接口1060相互收发数据的数据传输路径。但是,将处理器1020等相互连接的方法并不限于总线连接。

处理器1020是由CPU(Central Processing Unit:中央处理单元)、GPU(GraphicsProcessing Unit:图形处理单元)等实现的处理器。

存储器1030是由RAM(Random Access Memory:随机存取存储器)等实现的主存储装置。

存储设备1040是由HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid StateDrive:固态硬盘)、存储卡、或者ROM(Read Only Memory:只读存储器)等实现的辅助存储装置。存储设备1040存储有用于实现模型生成装置10的各功能(例如,训练数据取得部120、预处理部130、模型生成部140以及模型发送部160)的程序模块。处理器1020将这些各程序模块读入到存储器1030上并执行,由此实现与该程序模块对应的各功能。另外,存储设备1040还作为训练数据存储部110以及模型存储部150发挥功能。

输入输出接口1050是用于将模型生成装置10和各种输入输出设备连接的接口。

网络接口1060是用于将模型生成装置10连接到网络的接口。该网络例如是LAN(Local Area Network:局域网)、WAN(Wide Area Network:广域网)。网络接口1060与网络连接的方法可以是无线连接,也可以是有线连接。模型生成装置10可以经由网络接口1060与数据处理系统20进行通信。

此外,数据处理系统20的硬件结构也与图7所示的例子相同。而且,存储设备存储有用于实现数据处理系统20的各功能(例如,存储处理部210、输入数据处理部230、中间数据生成部240、输出数据生成部250以及显示处理部260)的程序模块。另外,存储设备还作为模型存储部220发挥功能。

图8是表示模型生成装置10进行的模型生成处理的第一例的流程图。

首先,模型生成装置10的训练数据取得部120从训练数据存储部110读出训练数据(步骤S10)。该训练数据中包含第一训练数据及第二训练数据。在该状态下,第一训练数据和第二训练数据未应用转换规则,因此未添加虚拟数据。

接着,模型生成部140使用第一训练数据来训练模型(步骤S20)。以下,将通过该训练生成的模型称为基础模型。对基础模型输入的输入数据的值的数量以及来自基础模型的输出数据的值的数量分别是本来的数量。

接着,模型生成部140通过处理基础模型来生成虚拟模型(步骤S30)。在该虚拟模型,输入数据的数量以及输出数据的数量分别成为应用了转换规则后的数量。

在此,对虚拟模型的生成方法进行说明。虚拟模型例如通过以下的方法生成。另外,上述第一训练数据的转换规则以及从中间数据向输出数据的转换规则根据该虚拟模型的生成方法来确定。

(1)在表示基础模型的参数的矩阵中,在特定的列、特定的行、或者任意的位置追加虚拟数据(与图4~图6所示的例子对应)。

(2)在表示基础模型的参数的矩阵中,将特定的列、特定的行或特定的成分相互替换(参照图11)。

(3)将(1)和(2)组合。

在此,在(1)或(3)中,通过进行虚拟模型的训练,来确定虚拟模型中的虚拟数据的值。

接着,预处理部130按照转换规则对第一训练数据和第二训练数据进行转换(步骤S40)。然后,模型生成部140使用转换后的第一训练数据和第二训练数据来训练虚拟模型(步骤S50)。然后,判断训练后的虚拟模型是否满足基准(步骤S60)。该基准例如包含以下的2个。

第一基准是从训练数据存储部110选择未用于训练的实绩数据,将选择出的实绩数据的输入数据输入到虚拟模型,作为结果的输出数据与所选择的实绩数据中的相当于输出数据的数据之间的差成为基准以下。

第二基准是将未用于训练的异常数据(相当于第二训练数据)的输入数据输入到虚拟模型,作为结果而得到的构成输出数据的所有值处于本来的输出数据的取值范围内。

在训练后的虚拟模型不满足基准的情况下(步骤S60:否),返回步骤S20。即,模型生成装置10反复进行步骤S20~步骤S50所示的处理,直到虚拟模型满足基准为止。

在训练后的虚拟模型满足了基准的情况下(步骤S60:是),模型生成部140将虚拟模型作为正式的模型存储在模型存储部150(步骤S70)。

图9是表示模型生成装置10进行的模型生成处理的第二例的流程图。该图所示的例子除了在按照转换规则对第一训练数据进行转换后(步骤S22)对模型进行训练来生成虚拟模型(步骤S32)这一点以外,与图8所示的例子相同。

图10是表示数据处理系统20进行的处理的一例的流程图。首先,输入数据处理部230取得输入数据。例如,输入数据处理部230从蓄电池30取得输入数据(步骤S110),按照转换规则对该输入数据进行转换(步骤S120)。接着,中间数据生成部240将转换后的输入数据输入到模型存储部220所存储的模型,由此得到中间数据(步骤S130)。接着,输出数据生成部250在对中间数据进行了预定的运算之后选择位于预定位置的值,由此来生成输出数据(步骤S140)。然后,输出数据生成部250向显示处理部260进行输出数据的输出(步骤S150)。显示处理部260使显示器270显示输出数据。

如上所述,根据本实施方式,数据处理系统20使用的模型的输出数据与数据处理系统20的输出数据不同。因此,即使第三者得到数据处理系统20的输入数据与输出数据的多个组合,也难以根据这些组合来推定数据处理系统20所使用的模型。因此,该模型的隐秘性高。

以上参照附图对本发明的实施方式进行了叙述,但这些实施方式是本发明的示例,也能够采用上述以外的各种结构。

另外,在上述的说明中使用的多个流程图中,按顺序记载了多个工序(处理),但在各实施方式中执行的工序的执行顺序不限于该记载的顺序。在各实施方式中,能够在不妨碍内容的范围内变更图示的工序的顺序。另外,上述的各实施方式能够在内容不相反的范围内进行组合。

本申请主张以2020年10月9日提出的日本申请特愿2020-171188号为基础的优先权,并在此引用其全部的公开内容。

附图标记的说明

10模型生成装置

20数据处理系统

30蓄电池

40设备

110训练数据存储部

120训练数据取得部

130预处理部

140模型生成部

150模型存储部

160模型发送部

210存储处理部

220模型存储部

230输入数据处理部

240中间数据生成部

250输出数据生成部

260显示处理部

270显示器。

技术分类

06120116008349