INTEGRATION DEVICE, TRAINING DEVICE, AND INTEGRATION METHOD

An integration device performs a reception process of receiving a knowledge coefficient relating to first training data in a first prediction model of a first training device from the first training device, a transmission process of transmitting the first prediction model and data relating to the knowledge coefficients of the first training data received in the reception process respectively to a plurality of second training devices, and an integration process of generating an integrated prediction model by integrating a model parameter in a second prediction model generated by training the first prediction model with second training data and the data relating to the knowledge coefficients respectively by the plurality of second training devices, as a result of transmission in the transmission process

CLAIM OF PRIORITY

The present application claims priority from Japanese patent application JP 2021-100197 filed on Jun. 16, 2021, the content of which is hereby incorporated by reference into this application.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an integration device, a training device, and an integration method.

2. Description of Related Art

Machine learning is one of the technologies that realize Artificial Intelligence (AI). The machine learning technologies are configured with a training process and a prediction process. First, the training process calculates learning parameters so that an error between the predicted value obtained from the input feature amount vector and the actual value (true value) is minimized. Subsequently, the prediction process calculates a new predicted value from data not used for learning (hereinafter referred to as test data).

So far, learning parameter calculation methods and arithmetic operation methods that maximize prediction accuracies of predicted values are devised. For example, a method called a perceptron outputs a predicted value based on the input feature amount vector and an arithmetic result of a linear combination of weight vectors. Neural networks are also known as multi-perceptrons and have the abilities to solve linear inseparable problems by stacking a plurality of perceptrons in multiple layers. Deep learning is a method that introduces new technologies such as dropout into neural networks and is spotlighted as a method that can achieve high prediction accuracies. As described above, until now, machine learning technologies are developed for the purpose of improving the prediction accuracies, and the prediction accuracies show the abilities higher than that of human beings.

When machine learning technologies are implemented in society, there are issues in addition to the prediction accuracies. Examples thereof include security, a method of updating a model after delivery, and restrictions on the use of finite resources such as memory.

Examples of the security issues include data confidentiality. For example, in a medical field or a financial field, when a prediction model using data including personal information is generated, it may be difficult to move the data to the outside of the base where the data is stored due to the high data confidentiality. Generally, in machine learning, high prediction accuracy can be achieved by using a large amount of data for learning.

When learning is performed by using only data acquired at one base, the learning can be a model that can be used only in a very local range due to a small number of data samples or regional characteristics. That is, machine learning technologies that can generate prediction models that realize high predictions for all of the various data at respective bases without having to take out the data from the bases are required.

In H. Brendan McMahan, Eider Moore, Daniel Ramage, Seth Hampson and Blaise Aguera y Arcas, “Communication-efficient learning of deep networks from decentralized data”, In Artificial Intelligence and Statistics, pp. 1273-1282, 2017, the above problem of the data confidentiality is overcome by the federated learning technology. With one common model as the initial value, learning is performed with each data of each base, and a prediction model is generated. The model parameter of the generated prediction model is transmitted to the server, a process of generating the global prediction model from the model parameter of the prediction model is repeated by using a coefficient according to the amount of the data learned from the server. Finally, a global prediction model for achieving high prediction accuracy for the data of all bases is generated. In addition, in De Lange, M., Aljundi, R., Masana, M., Parisot, S., Jia, X., Leonardis, A., Slabaugh, G. and Tuytelaars, T., “Continual learning: A comparative study on how to defy forgetting in classification tasks”, arXiv preprint arXiv:1909.08383 2019, continual learning is disclosed.

In the federated learning technology as in H. Brendan McMahan, Eider Moore, Daniel Ramage, Seth Hampson and Blaise Aguera y Arcas, “Communication-efficient learning of deep networks from decentralized data”, In Artificial Intelligence and Statistics, pp. 1273-1282, 2017, as there are many repetitions of the generation of the prediction model at each base and the generation of the global prediction model in the server, until the global prediction model is determined, the time and the communication amount between the bases and the server increase.

In addition, when the new data increases at base, or when a different base appears, it is required to restart the generation of the integrated prediction model at bases including bases including once learned data. This is because, generally, in the machine learning, if new data is learned, catastrophic forgetting, in which the knowledge of the data learned before is lost, occurs. In such a case, it is required to continuously store the height of the redundancy of the relearning of the once learned data and the data.

That is, the data is collected and stored on a daily basis, and thus, as in De Lange, M., Aljundi, R., Masana, M., Parisot, S., Jia, X., Leonardis, A., Slabaugh, G. and Tuytelaars, T., “Continual learning: A comparative study on how to defy forgetting in classification tasks”, arXiv preprint arXiv:1909.08383 2019, there is a high demand of frequently updating a prediction model by continual learning to obtain a prediction model that can respond not only to knowledge in the past but also to new knowledge, in services using machine learning.

SUMMARY OF THE INVENTION

An object of the present invention is to achieve the efficiency of federated learning.

An integration device according to an aspect of the invention disclosed in the present application is an integration device including a processor that executes a program; and a storage device that stores the program, in which the processor performs a reception process of receiving a knowledge coefficient relating to first training data in a first prediction model of a first training device from the first training device, a transmission process of transmitting the first prediction model and data relating to the knowledge coefficients of the first training data received in the reception process respectively to a plurality of second training devices, and an integration process of generating an integrated prediction model by integrating a model parameter in a second prediction model generated by training the first prediction model with second training data and the data relating to the knowledge coefficients respectively by the plurality of second training devices, as a result of transmission by the transmission process.

A training device according to an aspect of the invention disclosed in the present application is a training device including a processor that executes a program; and a storage device that stores the program, in which the processor performs a training process of training a training target model with first training data to generate a first prediction model, a first transmission process of transmitting a model parameter in the first prediction model generated in the training process to a computer, a reception process of receiving an integrated prediction model generated by integrating the model parameter and another model parameter in another first prediction model of another training device by the computer as the training target model from the computer, a knowledge coefficient calculation process of calculating a knowledge coefficient of the first training data in the first prediction model if the integrated prediction model is received in the reception process, and a second transmission process of transmitting the knowledge coefficient calculated in the knowledge coefficient calculation process to the computer.

A training device according to another aspect of the invention disclosed in the present application is a training device including a processor that executes a program; and a storage device that stores the program, in which the processor performs a first reception process of receiving a first integrated prediction model obtained by integrating the plurality of first prediction models and data relating to the knowledge coefficient for each item of the first training data used for training the respective first prediction models from the computer, a training process of training the first integrated prediction model received in the first reception process as a training target model with second training data and the data relating to the knowledge coefficient received in the first reception process to generate a second prediction model, and a transmission process of transmitting a model parameter in the second prediction model generated in the training process to the computer.

According to a representative embodiment of the present invention, efficiency of federated learning can be achieved. Issues, configurations, and effects in addition to those described above are clarified by the description of the following examples.

DESCRIPTION OF EMBODIMENTS

An embodiment of the present invention is described with reference to the drawings. Hereinafter, in all the drawings for describing the embodiment of the present invention, those having basically the same function are denoted by the same reference numerals, and the repeated description thereof is omitted.

Generally, in the machine learning, if current training data is learned, catastrophic forgetting, in which knowledge of training data learned before is lost, occurs. For example, image data of an apple and an orange is learned as Phase 1, and image data of a grape and a peach is learned to a prediction model that can identify images of an apple and an orange as Phase 2. Then, the prediction model can identify images of a grape and a peach and cannot identify the images of an apple and an orange.

As a solution, if image data of an apple, an orange, a grape, and a peach is learned based on the prediction model that can identify images of an apple and an orange as Phase 2, a prediction model that can identify images of all of the four kinds is generated. However, in this method, it is required to store the image data of an apple and an orange which is learned in Phase 1, in Phase 2. In addition, compared with a case of training by only using the image data of a grape and a peach of Phase 2, if training is performed by using the both image data of Phase 1 and Phase 2, the number of items of data to be learned increases, and thus a long period of time is required for the training.

As the catastrophic forgetting assumed when the machine learning technology is implemented in society, a medical field and a financial field are considered. In the field of cancer treatment, the evolution of treatment methods such as the development of new therapeutic agents and the improvement of proton beam irradiation technology is rapid. In order to predict therapeutic effects according to the latest medical technologies, it is required to update the prediction model according to the evolution of a treatment method. In the investment field, in order to predict profit and loss to which rapidly changing social conditions are reflected, the update of the prediction model obtained by adding not only training data of the latest transactions but also training data in the past over many years that are influenced by employment statistics and business condition indexes that are important factors or by natural disasters is required.

Particularly, in the medical field or the financial field, if the prediction model is generated by using training data including personal information, due to high training data confidentiality, it may be difficult to move the corresponding training data out of a base that stores the training data. As a solution, a method using federated learning is considered.

The federated learning is a training method of performing training with each training data of each base by using one common prediction model as an initial value and generating prediction models for respective bases. In the federated learning, both of the new training data generated together with the elapse of time and the training data learned in the past can be predicted. Model parameters of the generated prediction models of the respective bases are transmitted to a server. The server integrates the model parameters of the respective bases and generates integrated prediction models. By repeating such a process, the integrated prediction model achieves desired prediction accuracies.

FIG.1is an explanatory diagram illustrating an example of federated learning. A plurality of bases as the training device inFIG.1(four bases101to104inFIG.1, as an example) store training data T1to T4(in case of not discriminating these, simply referred to as the training data T) respectively and are prohibited from leaking the training data T1to T4out of bases101to104.

A server100is an integration device that integrates prediction models M1to M4generated at the bases101to104. The server100includes a prediction model (hereinafter, referred to as a base prediction model) M0as a base. A base prediction model M0may be an untrained neural network and may be a trained neural network to which a model parameter referred to as a weight or a bias is set.

The bases101to104are computers that include the training data T1to T4and generate the prediction models M1to M4with the training data T1to T4. The training data T1to T4each are a combination of input training data and correct answer data.

At Phase 1, the training data T1of the base101and the training data T2of the base102are used, and at Phase 2, in addition to the training data T1of the base101and the training data T2of the base102used at Phase 1, the training data T3of the base103and the training data T4of the base104are to be used.

At Phase 1, the server100transmits the base prediction model M0to the bases101and102. The base101and the base102are trained by using the base prediction model M0and the respective training data T1and T2and generate the prediction models M1and M2.

The base101and the base102transmit the model parameters θ1and θ2referred to as weights or biases of the prediction models M1and M2, to the server100. The server100performs an integration process of the received model parameters θ1and θ2and generates an integrated prediction model M10. The server100repeats an update process of the integrated prediction model M10until the generated integrated prediction model M10achieves a desired prediction accuracy. In addition, the bases101and102may transmit gradients of the model parameters θ1and θ2of the prediction models M1and M2and the like to the server100.

The integration process is a process of calculating an average value of the model parameters θ1and θ2. If the number of samples of the training data T1and T2are different, the weighted average may be calculated based on the number of samples of the training data T1and T2. In addition, the integration process may be a process of calculating the average value of respective gradients of the model parameters θ1and θ2transmitted from the respective bases101and102, instead of the model parameters θ1and θ2.

The update process of the integrated prediction model M10is a process in which the server100transmits the integrated prediction model M10to the bases101and102, the bases101and102respectively input the training data T1and T2to the integrated prediction model M10for learning and transmit the model parameters θ1and θ2of the regenerated prediction models M1and M2to the server100, and the server100regenerates the integrated prediction model M10. If the generated integrated prediction model M10achieves a desired prediction accuracy, Phase 1 ends.

At Phase 2, the server100transmits the integrated prediction model M10generated at Phase 1 to the bases101to104. The bases101to104respectively input the training data T1to T4to the integrated prediction model M10for learning and generate the prediction models M1to M4. Also, the bases101to104respectively transmit the model parameters θ1to θ4of the generated prediction models M1to M4to the server100. Note that, the bases101to104may transmit gradients of the model parameters θ1to θ4of the prediction models M1to M4and the like to the server100.

The server100performs an integration process of the received model parameters θ1to θ4to generate an integrated prediction model M20. The server100repeats the update process of the integrated prediction model M20until the generated integrated prediction model M20achieves the desired prediction accuracy.

In the integration process at Phase 2, the average value of the model parameters θ1to θ4is calculated. The numbers of items of data of the training data T1to T4are different from each other, the weighted average may be calculated based on the numbers of items of data of the training data T1to T4. In addition, the integration process may be a process of calculating average value of respective gradients of the model parameters θ1to θ4transmitted respectively from the bases101to104instead of the model parameters θ1to θ4.

In the update process of the integrated prediction model M20at Phase 2, the server100transmits the integrated prediction model M20to the bases101to104, the bases101to104respectively input the training data T1to T4to the integrated prediction model M20for learning and transmit the model parameters θ1to θ4of the regenerated prediction models M1to M4to the server100, and the server100regenerates the integrated prediction model M20. If the generated integrated prediction model M20achieves a desired prediction accuracy, Phase 2 ends.

If the repetition of the update process is ignored, the transmission and reception between the server100and the bases101to104are performed 12 times in total, four times at Phase 1 and eight times at Phase 2 (the number of arrows). If the repetition of the update process is added, four times the number of repetition at Phase 1 and eight times the number of repetition at Phase 2 are further required.

In addition, respective bases calculate the prediction accuracies at Phases 1 and 2 by applying test data other than the training data T1to T4to the integrated prediction models M10and M20. Specifically, for example, if the integrated prediction models M10and M20are regression models, the prediction accuracy is calculated as a mean square error, a root mean square error, or a determination coefficient, and if the integrated prediction models M10and M20are classification models, the prediction accuracy is calculated as a correct answer rate, a precision rate, a recall rate, or an F value. In addition, data for accuracy calculation of the integrated prediction model that is stored in the server100or the like may be used.

<Federated Learning for Preventing Catastrophic Forgetting>

FIG.2is an explanatory diagram illustrating a federated learning example for preventing catastrophic forgetting according to Example 1. InFIG.2, differences fromFIG.1are mainly described. Phase 1 is substantially the same as the federated learning illustrated inFIG.1. The difference from the federated learning illustrated inFIG.1is that, if the generated integrated prediction model M10achieves a desired prediction accuracy, the bases101and102calculate a knowledge coefficient I1of the training data T1with respect to the prediction model M1and a knowledge coefficient I2of the training data T2with respect to the prediction model M2and transmit the knowledge coefficients to the server100. The knowledge coefficients I1and I2are coefficients of regularization terms that configure a loss function, which is obtained by collecting and storing knowledge of the training data T1and T2.

In addition, the integrated prediction model M10may be used for calculation of each knowledge coefficient. Otherwise, the prediction model M1and the integrated prediction model M10may be used for calculation of the knowledge coefficient I1, and the prediction model M2and the integrated prediction model M10may be used for calculation of the knowledge coefficient I2.

At Phase 2, the server100transmits the integrated prediction model M10and the knowledge coefficients I1and I2generated at Phase 1 to the bases103and104, respectively. The bases103and104respectively input the training data T3and T4to the integrated prediction model M10for learning and generate prediction models M3I and M4I by adding the knowledge coefficients I1and I2. Also, the bases103and104respectively transmit model parameters θ3I and θ4I of the generated prediction models M3I and M4I to the server100. In addition, the bases103and104may transmit gradients of the model parameters θ3I and θ4I of the prediction models M3I and M4I and the like to the server100.

The server100performs the integration process of the received model parameters θ3I and θ4I and generates an integrated prediction model M20I. The server100repeats the update process of the integrated prediction model M20I until the generated integrated prediction model M20I achieves a desired prediction accuracy.

In the integration process at Phase 2, the average value of the model parameters θ3I and θ4I is calculated. If the numbers of items of data of the training data T3and T4are different from each other, a weighted average may be calculated based on the numbers of items of data of the training data T3and T4. In addition, the integration process may be a process of calculating an average value of the respective gradients of the model parameters θ3I and θ4I transmitted from the respective bases, instead of the model parameters θ3I and θ4I.

In the update process of the integrated prediction model M20I at Phase 2, the server100transmits the integrated prediction model M20I to the bases103and104, the bases103and104respectively input the training data T3and T4to the integrated prediction model M20I for learning, transmit the model parameters θ3I and θ4I of the regenerated prediction models M3I and M4I to the server100by adding the knowledge coefficients I1and I2, and the server100regenerates the integrated prediction model M20I. If the generated integrated prediction model M20I achieves a desired prediction accuracy, Phase 2 ends.

The bases103and104respectively use the knowledge coefficient I1of the training data T1of the base101and the knowledge coefficient I2of the training data T2of the base102for learning. Accordingly, the bases103and104do not use the training data T1of the base101and the training data T2of the base102again, respectively, and the server100can generate the integrated prediction model M20I that can predict the training data T1of the base101, the training data T2of the base102, the training data T3of the base103, and the training data T4of the base104.

If the repetition of update process is ignored, the transmission and reception between the server100and the bases101to104are performed eight times in total, four times at Phase 1 and four times at Phase 2 (the number of arrows), and the repetition is reduced to ⅔ compared withFIG.1.

In addition, if the repetition of the update process is added, four times the number of repetitions at Phase 1 and four times the number of repetitions at Phase 2 are further required. As the number of repetitions at Phase 2 is reduced to a half, a total number of times of the transmission and reception can be reduced. In addition, in the training of Phase 2, since the training data T1of the base101and the training data T2of the base102are not used for the training, the training data is not required to be stored, and the capacity of the storage device of the server100for the training data is used for storing other processes or data or the like so that the operational efficiency can be realized.

In addition, at Phase 1, the bases101and102are present, but only the base101may be present. In this case, the server100does not have to generate the integrated prediction model M10, and the prediction model M1that is a calculation source of the knowledge coefficient I1and the knowledge coefficient I1may be transmitted to the bases103and104. Hereinafter, the federated learning for preventing catastrophic forgetting illustrated inFIG.2is specifically described.

<Hardware Configuration Example of Computer (Server100and Bases101to104)>

FIG.3is a block diagram illustrating a hardware configuration example of the computer. A computer300includes a processor301, a storage device302, an input device303, an output device304, and a communication interface (communication IF)305. The processor301, the storage device302, the input device303, the output device304, and the communication IF305are connected to each other via a bus306. The processor301controls the computer300. The storage device302becomes a work area of the processor301. In addition, the storage device302is a non-temporary or temporary storage medium that stores various programs or data. Examples of the storage device302include a read only memory (ROM), a random access memory (RAM), a hard disk drive (HDD), and a flash memory. The input device303inputs data. Examples of the input device303include a keyboard, a mouse, a touch panel, a numeric keypad, and a scanner. The output device304outputs data. Examples of the output device304include a display and a printer. The communication IF305is connected to a network and transmits and receives data.

<Functional Configuration Example of Computer300>

FIG.4is a block diagram illustrating a functional configuration example of the computer300according to Example 1. The computer300includes a calculation unit410including a prediction model integration unit411and a training unit412, the communication IF305including a transmission unit421and a reception unit422, the storage device302, and an output unit431.

FIG.5is a block diagram illustrating a functional configuration example of the training unit412. The training unit412includes a knowledge coefficient generation unit501, a training unit502, and a knowledge coefficient synthesis unit503. Specifically, the calculation unit410and the output unit431are realized, for example, by executing a program stored in the storage device302illustrated inFIG.3by the processor301.

The prediction model integration unit411performs an integration process of generating the integrated prediction models M10and M20I respectively based on model parameters (θ1and θ2) and (θ3and θ4) of the prediction models (M1and M2) and (M3and M4) transmitted from the plurality of bases101to104. For example, a prediction model that learns the feature amount vector x in the training data T is expressed by using an output y, the model parameter θ, and a function h of the model as shown in Expression (1).

At Phase 2, with respect to the integrated prediction model M10configured with model parameters θtgenerated by the training at respective bases (the bases101and102inFIG.2), the server100uses the sum of averages of gradients gk relating to model parameters θkof K prediction models (the prediction models M3I and M4I inFIG.2) respectively generated by the training with K items of different training data (T3and T4inFIG.2) at K (K=2 of Phase 2 inFIG.2) bases (the bases103and104inFIG.2), to generate model parameters θt+1of the integrated prediction model M20I as shown in Expression (2). In Expression (2), η is a learning rate, N is a total number of samples of all training data (T3and T4inFIG.2) used for training at K bases, and Nk is the number of samples of data used for training at a base k.

Herein in Expression (2), the gradient gk relating to the model parameter θk(the model parameters θ3I and θ4I inFIG.2) of the prediction models (the prediction models M3I and M4I inFIG.2) respectively generated by the training of k items of different training data Tk at k bases is used, but this is a method considering the security so that the training data (T3and T4inFIG.2) cannot be analyzed, and the model parameter θk, encoding, encryption, and the like may be used. In addition, the prediction models M3I and M4I may be integrated by a method different from Expression (2) according to the structure of prediction models (the prediction models M3I and M4I inFIG.2) such as a fully connected layer and a convolution layer, the design of a loss function.

The training unit412starts from a prediction model configured with a model parameter determined by a random initial value or the base prediction model M0and is trained by using the training data T, to generate a prediction model and synthesize a knowledge coefficient by the knowledge coefficient synthesis unit503. In addition, the training unit412is trained by using a synthesis knowledge coefficient synthesized by the knowledge coefficient synthesis unit503and the training data T, to generate a prediction model.

Specifically, for example, if the computer300is the bases101and102, the training unit412acquires the base prediction model M0from the server100and is trained by using the training data T1, to generate the prediction model M1and generate the knowledge coefficient I1with the knowledge coefficient generation unit501. With respect to the base102, in the same manner, the prediction model M2is generated by using the training data T2and the knowledge coefficient I2is generated with the knowledge coefficient generation unit501.

In addition, if the computer300is the base103, when the knowledge coefficients I1and I2of the bases101and102are acquired from the server100, the training unit412synthesizes the knowledge coefficients with the knowledge coefficient synthesis unit503. With respect to the base104, in the same manner, when the knowledge coefficients I1and I2of the bases101and102are acquired from the server100, the training unit412synthesizes the knowledge coefficients with the knowledge coefficient synthesis unit503. In addition, in the bases103and104, the knowledge coefficient generation unit501may generate knowledge coefficients I3and I4in preparation for the future increase of bases.

In addition, in the bases103and104, the training unit412may generate the prediction model M3I by using a synthesis knowledge coefficient generated with the knowledge coefficient synthesis unit503of the server100and the training data T3of the base103. With respect to the base104, in the same manner, the training unit412generates the prediction model M4I by using a synthesis knowledge coefficient synthesized with the knowledge coefficient synthesis unit503of the server100and the training data T4of the base104.

By using Expression (1), the training unit502sets a loss function L (θm) for calculating a model parameter θmso that an error from a predicted value ymobtained from a feature amount vector xmof input training data Tmand a correct answer label tmthat is an actual value or an identification class number is minimized. m is a number for identifying the training data T.

Specifically, for example, the training unit502sets a past knowledge term R (θm) using a synthesis knowledge coefficient synthesized by the knowledge coefficient synthesis unit503relating to the training data Tmin the past that is desired to be considered among knowledge coefficients for each item of the training data T learned in the past which are generated by the knowledge coefficient generation unit501.

The loss function L (θm) is expressed by the sum of an error function E (θm) and the past knowledge term R (θm) as shown in Expression (3).

For example, as shown in Expression (4), the past knowledge term R (θm) is expressed by a coefficient λ of a regularization term, a synthesis knowledge coefficient Ωijgenerated by the knowledge coefficient synthesis unit503, the model parameter θmobtained by the training, and a model parameter θBof the base prediction model M0. In addition, i and j represent the j-th unit of the i-th layer in a prediction model M.

The knowledge coefficient generation unit501calculates the knowledge coefficient I by using the training data T and the prediction model M learned and generated by using the training data T, to extract the knowledge of the training data T. Specifically, for example, there is a method of extracting knowledge by using the knowledge coefficient I in a regularization term.

As shown in Expression (5), a knowledge coefficient Iij(xm;θm) is generated by differentiation by a model parameter θijof the output of the prediction model M configured with the model parameter θmthat is learned and generated by using the training data Tm. The knowledge coefficient Iii (xm;θm) relating to the training data Tmis generated by using only the training data Tmand the prediction model M generated by using the training data Tm, and thus it is not required to store the training data T in the past or the prediction model M (for example, the training data T1and T2and the prediction models M1and M2ofFIG.2). In addition, the training data T in the past or the prediction model M is not required to be stored for generating, in the future, the knowledge coefficient Iij(xm;θm) relating to the training data Tm, the knowledge coefficient Iij(xm; θm+1) generated by using the model parameter θm+1that is learned and generated by using the training data Tm+1in the future from the time when the training data Tmis learned, or the like.

The knowledge coefficient synthesis unit503synthesizes a plurality of knowledge coefficients generated by using the training data T desired to be introduced among knowledge coefficient groups generated by the knowledge coefficient generation unit501, to generate synthesis knowledge coefficients. Specifically, for example, the knowledge coefficient synthesis unit503of the server100or the base103or104synthesizes the plurality of knowledge coefficients I1and I2generated by using the training data T1and T2to generate the synthesis knowledge coefficients Ω (I1and I2).

As shown in Expression (6), the knowledge coefficient synthesis unit503calculates the sum of the respective knowledge coefficients I desired to be introduced, in a sample p direction in the feature amount vector xmof the training data Tmbased on U where identification numbers of the knowledge coefficients I desired to be introduced are stored and performs normalization on a total number of samples. In the present example, a method of introducing and storing knowledge of specific data by using a regularization term of the L2 norm type is used, but the method may be the L1 norm type, Elastic net, or the like, the knowledge stored by converting data may be used as in a Replay-based method, a Parameter isolation-based method, or the like, and a result obtained by applying the training data Tmlearned from now on, to the base prediction model M0or a network path may be used.

The transmission unit421transmits various kinds of data. Specifically, for example, if the computer300is the server100, the transmission unit421transmits the base prediction model M0and the first integrated prediction model M10to the bases101and102at the time of the training at respective bases (Phase 1). In addition, at the time of the training at respective bases (Phase 2), the transmission unit421transmits the integrated prediction models M10and M20I generated by the prediction model integration unit and the knowledge coefficients I1and I2(or the synthesis knowledge coefficients Ω (I1, I2)), to the bases103and104. In addition, the transmission unit421transmits whether to continue or end the repetition of the federated learning, from results of accuracy verification performed at each of the bases, to each of the bases.

In addition, if the computer300is the base101or102, the transmission unit421transmits the learned model parameters θ1and θ2, all the knowledge coefficients I1and I2so far or the knowledge coefficients I1and I2input from an operator to be used for training at the respective bases101and102, and accuracy verification results of the prediction models M1and M2, to the server100at the time of training at each of the bases101and102(Phase 1).

In addition, if the computer300is the base103or104, the transmission unit421transmits the learned model parameters θ3I and θ4I and the accuracy verification results of the prediction models M3I and M4I to the server100at the time of training at each of the bases103and104(Phase 2).

The reception unit422receives various kinds of data. Specifically, for example, if the computer300is the server100, the model parameters θ1and θ2, the knowledge coefficients I1and I2, and the prediction accuracy verification results of the prediction models M1and M2are received from the bases101and102at the time of the prediction model integration (Phase 1). In addition, the reception unit422receives the model parameters θ3I and θ4I or the accuracy verification results of the prediction models M3I and M4I, from the bases103and104at the time of prediction model integration (Phase 2).

In addition, if the computer300is the base101or102, the reception unit422receives the base prediction model M0and the first integrated prediction model M10at the time of training (Phase 1), at each of the bases101and102. In addition, if the computer300is the base103or104, the reception unit422receives the integrated prediction models M10and M20I or the knowledge coefficients I1and I2(or the synthesis knowledge coefficient Ω) at the time of the training (Phase 2) at each of the bases103and104.

In addition, the transmitted and received data is converted by encryption or the like from the viewpoint of security. Accordingly, the analysis of the data used for the training from the prediction model M becomes difficult.

Integration Processing Procedure Example

FIG.6is a flowchart illustrating an integration processing procedure example by the server100according to Example 1. The server100determines whether to send the knowledge coefficient I to the base (Step S600). If the knowledge coefficient I is not sent to the base (Step S600: No), this case means the start of Phase 1. Therefore, the server100performs a first integration process for integrating the plurality of prediction models M1and M2(Step S601).

Meanwhile, if the knowledge coefficient I is sent to the base (Step S600: Yes), Phase 1 is completed. Accordingly, the server100performs a second integration process for integrating the plurality of prediction models M3and M4(Step S602). In addition, details of the first integration process (Step S601) are described below with reference toFIG.8, and details of the second integration process (Step S602) are described below with reference toFIG.9. In addition, even if the knowledge coefficient I is not transmitted, an identification reference numeral indicating Phase 1 or Phase 2 is transmitted together with the base prediction model M0or an integrated prediction model used as the base prediction model M0, and according to the transmission, which of Step S601and Step S602is to be performed may be determined.

Training Processing Procedure Example

FIG.7is a flowchart illustrating a training processing procedure example by the base according to Example 1. The base determines whether the knowledge coefficient I is received from the server100(Step S700). If the knowledge coefficient I is not received (No in Step S700), the corresponding base is a base (for example, the base101or102) that is trained without using the knowledge coefficient I. Accordingly, the corresponding base101or102performs a first training process (Step S701).

Meanwhile, if the knowledge coefficient I is received (Yes in Step S700), the corresponding base is a base (for example, the base103or104) that performs federated learning by using the knowledge coefficient I. The corresponding base103or104performs a second training process (Step S702). In addition, details of the first training process (Step S701) are described below with reference toFIG.10, and details of the second training process (Step S702) are described below with reference toFIG.11. In addition, even if the knowledge coefficient is not received, the identification reference numeral of Phase 1 or Phase 2 is received together with the base prediction model M0or the integrated prediction model M used as the base prediction model M0, and according to the reception, which of Step S701and Step S702is to be performed may be determined.

FIG.8is a flowchart illustrating a specific processing procedure example of the first integration process (Step S601) by the server100illustrated inFIG.6. The server100sets a transmission target model to the bases101and102determined as transmission destinations in case of No in Step S600(Step S801). Specifically, if the base prediction model M0is not yet transmitted, for example, the server100sets the base prediction model M0to a transmission target, and if transmission is completed in the past, and there is an instruction of setting the integrated prediction model M10generated at that moment to the base prediction model at the time of setting the transmission target model in Step S801, the integrated prediction model M10is set to the transmission target. In the latter case, since the knowledge coefficient I relating to the past knowledge of the data learned in the past is not transmitted together, the knowledge of the data learned in the past is forgotten in the newly generated prediction model M. Also, the server100transmits the transmission target model to each of the bases101and102(Step S802).

Next, the server100receives the model parameters θ1and θ2of the prediction models M1and M2from the respective bases101and102(Step S803). Then, the server100generates the integrated prediction model M10by using the received model parameters θ1and θ2(Step S804). Then, the server100transmits the generated integrated prediction model M10to each of the bases101and102(Step S805).

Next, the server100receives prediction accuracies by the integrated prediction model M10from the respective bases101and102(Step S806). Then, the server100verifies the respective prediction accuracies (Step S807). Specifically, for example, the server100determines whether the respective prediction accuracies are a threshold value or more. In addition, the prediction accuracies by the integrated prediction model M10with respect to the data of the respective bases101and102are calculated at the respective bases. However, if there is data for evaluation in the server100, a prediction accuracy by the integrated prediction model M10with respect to the data for evaluation may be used. Thereafter, the server100transmits verification results to the respective bases101and102(Step S808).

The server100determines whether all of the prediction accuracies are the threshold value or more in the verification results (Step S809). If all of the prediction accuracies are not the threshold value or more (No in Step S809), that is, at least one of the prediction accuracies is less than the threshold value, the process returns to Step S803, and the server100waits for the model parameters θ1and θ2of the prediction models M1and M2updated again, from the respective bases101and102.

Meanwhile, if all of the prediction accuracies are the threshold value or more (Yes in Step S809), the respective bases101and102calculate and transmit the knowledge coefficients I1and I2with respect to the integrated prediction model M10, and thus the server100receives the knowledge coefficients I1and I2with respect to the integrated prediction model M10from the respective bases101and102(Step S810). Then, the server100stores the integrated prediction model M10and the knowledge coefficients I1and I2to the storage device302(Step S811). Accordingly, the first integration process (Step S601) ends.

FIG.9is a flowchart illustrating a specific processing procedure example of the second integration process (Step S602) by the server100illustrated inFIG.6. In case of Yes in Step S600, the server100sets the transmission target model and the knowledge coefficients to the bases103and104determined as the transmission destinations (Step S901). The integrated prediction model M10and the knowledge coefficients I1and I2are transmitted to the bases103and104determined as the transmission destinations (Step S902). In addition, as the knowledge coefficient, the synthesis knowledge coefficient Ω generated in advance may be transmitted to the server100.

Next, the server100receives the model parameters θ3I and θ4I of the prediction models M3I and M4I from the respective bases103and104(Step S903). Then, the server100generates the integrated prediction model M20I by using the received model parameters θ3I and θ4I (Step S904). Then, the server100transmits the generated integrated prediction model M20I to each of the bases103and104(Step S905).

Next, the server100receives the prediction accuracies by the integrated prediction model M20I from the respective bases103and104(Step S906). Then, the server100verifies the respective prediction accuracies (Step S907). Specifically, for example, the server100determines whether the respective prediction accuracies are the threshold value or more. Note that, the prediction accuracies by the integrated prediction model M20I with respect to the data of the respective bases103and104are calculated at the respective bases. However, if there is data for evaluation in the server, a prediction accuracy by the integrated prediction model M20I with respect to the data for evaluation may be used. Thereafter, the server100transmits the verification results to the respective bases103and104(Step S908).

The server100determines whether all of the prediction accuracies are the threshold value or more in the verification results (Step S909). If all of the prediction accuracies are not the threshold value or more (No in Step S909), that is, at least one of the prediction accuracies are less than the threshold value, the process returns to Step S903, and the server100waits for the model parameters θ3I and θ4I of the integrated prediction model M20I updated again, from the respective bases103and104.

Meanwhile, if all of the prediction accuracies are the threshold value or more (Yes in Step S909), the respective bases103and104calculate and transmit the knowledge coefficients I3and I4with respect to the integrated prediction model M20I, and thus the server100receives the knowledge coefficients I3and I4with respect to the integrated prediction model M20I from the respective bases103and104(Step S910). Then, the server100stores the integrated prediction model M20I and the knowledge coefficients I3and I4in the storage device302(Step S911). Accordingly, the second integration process (Step S602) ends.

FIG.10is a flowchart illustrating a specific processing procedure example of the first training process (Step S701) by the bases101and102illustrated inFIG.7. In case of No in Step S700, each of the bases101and102stores the base prediction model M0from the server100in the storage device302(Step S1001). In addition, if the base prediction model M0is the integrated prediction model M10, the knowledge coefficient I relating to the past knowledge of the data learned in the past is not transmitted together, the knowledge of the data learned in the past is forgotten in the newly generated prediction model M.

Next, the respective bases101and102learn the base prediction model M0by using the training data T1and T2and generate the prediction models M1and M2(Step S1002). Then, the respective bases101and102transmit the model parameters θ1and θ2of the prediction models M1and M2to the server100(Step S1003). Accordingly, in the server100, the integrated prediction model M10is generated (Step S804).

Thereafter, the respective bases101and102receive the integrated prediction model M10from the server100(Step S1004). Then, the respective bases101and102calculate the prediction accuracies of the integrated prediction model M10(Step S1005) and transmit the prediction accuracies to the server100(Step S1006). Accordingly, in the server100, the respective prediction accuracies are verified (Step S807).

Thereafter, the respective bases101and102receive verification results from the server100(Step S1007). Then, the respective bases101and102determine whether all of the prediction accuracies are the threshold value or more in the verification results (Step S1008). If all of the prediction accuracies are not the threshold value or more (No in Step S1008), that is, if at least one of the prediction accuracies is less than threshold value, the respective bases101and102relearn the integrated prediction model M10as the base prediction model using the training data T1and T2(Step S1009), transmit the model parameters θ1and θ2of the prediction models M1and M2generated based on the relearning to the server100(Step S1010). Then, the process returns to Step S1004, and the respective bases101and102wait for the integrated prediction model M10from the server100.

Meanwhile, if all of the prediction accuracies are the threshold value or more (Yes in Step S1008), the respective bases101and102calculate the knowledge coefficients I1and I2with respect to the prediction models M1and M2(Step S1011) and transmit the knowledge coefficients to the server100(Step S1012). Accordingly, the first training process (Step S701) ends.

FIG.11is a flowchart illustrating a specific processing procedure example of the second training process (Step S702) by the bases101and102illustrated inFIG.7. The respective bases103and104that make a transition in case of Yes in Step S700store the integrated prediction model M10and the knowledge coefficients I1and I2from the server100in the storage device302(Step S1101).

Next, the respective bases103and104synthesize the training data T3and T4and the knowledge coefficients I1and I2and generate the synthesis knowledge coefficient Ω (Step S1102), learn the integrated prediction model M10using the synthesis knowledge coefficient Ω and generate the prediction models M3I and M4I (Step S1103). In addition, if the knowledge coefficient receives the synthesis knowledge coefficient Ω generated in advance in the server100, Step S1102of generating a synthesis knowledge coefficient from the knowledge coefficient I at a base does not have to be performed.

Then, the respective bases103and104transmit the model parameters θ3I and θ4I of the prediction models M3I and M4I to the server100(Step S1104). Accordingly, in the server100, the integrated prediction model M20I is generated (Step S904).

Next, the respective bases103and104receive the integrated prediction model M20I from the server100(Step S1105). Then, the respective bases103and104calculate the prediction accuracies of the integrated prediction model M20I (Step S1106), and transmit the prediction accuracies to the server100(Step S1107). Accordingly, in the server100, the respective prediction accuracies are verified (Step S907).

Thereafter, the respective bases103and104receive verification results from the server100(Step S1108). Then, the respective bases103and104determine whether all of the prediction accuracies are the threshold value or more in the verification results (Step S1109). If all of the prediction accuracies are not the threshold value or more (No in Step S1109), that is, at least one of the prediction accuracies is less than the threshold value, the respective bases103and104synthesize the knowledge coefficients I1and I2and generate the synthesis knowledge coefficient Ω (Step S1110). The synthesis knowledge coefficient Ω generated in Step S1102may be temporarily stored in the memory and used.

Then, the respective bases103and104relearn the integrated prediction model M20I as the base prediction model by using the training data T3and T4and the synthesis knowledge coefficient Ω (Step S1110), and transmit the model parameters θ3I and θ4I of the prediction models M3I and M4I generated based on the relearning to the server100(Step S1111). Then, the process returns to Step S1105, and the respective bases103and104wait for the integrated prediction model M20I updated again, from the server100.

Meanwhile, if all of the prediction accuracies are the threshold value or more (Yes in Step S1109), the respective bases103and104calculate the knowledge coefficients I3and I4with respect to the prediction models M3and M4(Step S1112) and transmit the knowledge coefficients to the server100(Step S1113). Accordingly, the second training process (Step S702) ends.

In this manner, according to the above training system, without moving the training data T1to T4in the plurality of bases101to104out of the bases, by using the knowledge coefficients I1and I2of the plurality of training data T1and T2learned in the past, without using the training data T1and T2learned in the past for the retraining, the prediction model M20that can predict the training data T1to T4in the plurality of bases101to104can be generated. The integrated prediction model M20I that can predict the training data T1to T4that are in the plurality of bases101to104generated by the repetition of the training at the respective bases103and104and model integration in the server100can be generated.

With respect to the integrated prediction model M20I, if continual learning technologies are applied to the bases103and104, by using the training data T3and T4and the knowledge coefficients I1and I2of the plurality of items of training data T1and T2learned in the past, without using the training data T1and T2learned in the past for the retraining, the prediction models that can predict the training data T1to T4in the plurality of bases101to104can be generated. Accordingly, the prediction model M20that can predict the training data T1to T4in the bases101to104can be generated.

Display Screen Example

Next, a display screen example displayed on a display that is an example of the output device304of the computer300or a display of the computer300that is an output destination from the output unit431is described.

FIG.12is an explanatory diagram illustrating Display Example 1 of the display screen. A display screen1200is displayed, for example, on the displays of the bases103and104.

The display screen1200includes a Select train data button1201, a Select knowledge button1202, a Train button1203, a mode name field1204, a data name field1205, a selection screen1210, and a check box1211.

If training is desired, a user of the base103or104selects “Train” in the mode name field1204. Subsequently, the user of the base103or104presses the Select train data button1201and selects the training data T3or T4. The selected training data T3or T4is displayed in the data name field1205.

Further, the user of the base103or104selects the knowledge coefficient indicating the knowledge in the past which is desired to be incorporated into the prediction model, for example, by filling in the check box1211. The knowledge coefficient synthesis unit503of the base103or104synthesizes the checked knowledge coefficients I1and I2. The synthesis knowledge coefficient Ω generated by synthesis is used for the training by a press of the Train button1203by the user of the base103or104(Step S1103). In addition, according to a request from the server100, the knowledge coefficient to be selected may be presented or determined in advance.

FIG.13is an explanatory diagram illustrating Display Example 2 of the display screen. A display screen1300is a screen displayed when the server100generates an integrated prediction model. The display screen1300includes a Select client button1301, a Start button1302, the mode name field1204, the data name field1205, a selection screen1310, and a check box1311.

If the user of the server100desires to generate a prediction model for integrating prediction models, the user selects Federation in the mode name field1204. Subsequently, the user of the server100presses the Select client button1301and selects abase for generating an integrated prediction model, for example, by filling in the check box1311.

The prediction model integration unit411of the server100integrates the prediction models from the bases with checked client names by using Expression (2) (Steps S804and S904). In addition, in the selection screen1310, for example, with respect to a base that makes an alert indicating that training data desired to be newly learned is collected to the server100or a base that transmits the newest base prediction model M0, a display such as “1” in a Train query field may be made. Thereafter, by pressing the Start button1302, prediction models are generated and integrated to generate an integrated prediction model (Steps S804and S904).

FIG.14is an explanatory diagram illustrating Display Example 3 of the display screen. A display screen1400is a screen for confirming a prediction accuracy in the server100. Specifically, for example, the server100is first trained with one item of the training data T1. Thereafter, the base101is trained with the training data T2by using the knowledge coefficient I1learned with the training data T1, and the base102is trained with the training data T3by using the knowledge coefficient I1learned with the training data T1. The server100integrates a prediction model learned with the training data T2by the base101and a prediction model learned with the training data T3by the base102. The display screen1400is a result display example when the number of times of the repetition when the integration process is performed is “1”. Specifically, the display screen1400is displayed in case of prediction accuracy verification (Step S907) for determining whether the prediction accuracies at the bases101and102are the threshold value or more (Step S909) in the server100.

The display screen1400includes a View results button1401, a View status button1402, the mode name field1204, the data name field1205, a federated training result display screen1411, and a data status screen1412.

If the user of the server100desires to confirm the prediction accuracy of the integrated prediction model, the user selects Federation in the mode name field1204. If the federated training process instructed inFIG.13ends or the prediction accuracy is verified (Step S807and Step S907), the View results button1401and the View status button1402are displayed. If the View results button1401is pressed, prediction accuracies of the integrated prediction model by the respective items of the training data T1to T3as in the federated training result display screen1411are displayed.

If the View status button1402is pressed, at which base the respective items of the training data T1to T3are obtained and learned are displayed as a list as in the data status screen1412.

As displayed on the federated training result display screen1411, in the integrated prediction model generated by the federated learning of the prediction model learned with the training data T2of the base101and the prediction model learned with the training data T3of the base102by using the knowledge coefficient I1of the training data T1learned by the server100in advance, not only the prediction accuracy (P (T2)=92.19%) by the training data T2of the base101and the prediction accuracy (P (T3)=94.39%) by the training data T3of the base102, but also the prediction accuracy (P (T1)=98.44%) by the training data T1learned in the server100in advance can be kept high.

FIG.15is an explanatory diagram illustrating Display Example 4 of the display screen. A display screen1500is a screen for displaying a result relating to a prediction model in the server100. Specifically, for example, in the same manner as in the case ofFIG.14, the server100is first trained with one item of the training data T1. Thereafter, the base101is trained with the training data T2by using the knowledge coefficient I1learned with the training data T1, and the base102is trained with the training data T3by using the knowledge coefficient I1learned with the training data T1. The server100integrates a prediction model learned with the training data T2by the base101and a prediction model learned with the training data T3by the base102.

Further, inFIG.15, the server100displays a result relating to an integrated prediction model generated by learning the new training data T4of the server100with respect to the integrated prediction model by using the knowledge coefficient I1learned with the training data T1, the knowledge coefficient I2of the training data T2with respect to the integrated prediction model, and the knowledge coefficient I3of the training data T3.

The display screen1500includes the View results button1401, the View status button1402, the mode name field1204, the data name field1205, the training result screen1511, and the data status screen1412.

If the user of the server100desires to confirm a prediction accuracy of a prediction model, the user selects Train in the mode name field1204. If the training process instructed inFIG.12ends, the View results button1401and the View status button1402are displayed.

If the View results button1401is pressed, the prediction accuracies by the respective items of training data by the final prediction model are displayed as in the training result screen1511. If the View status button1402is pressed, as in the data status screen1412, from which bases the respective items of training data is obtained and learned are displayed as a list.

As displayed on the training result screen1511, an integrated prediction model generated by federated learning of a prediction model learned with the training data T2of the base101and a prediction model learned with the training data T3of the base102by using the knowledge coefficient I1of the training data T1learned in the server100in advance is set as the base prediction model M0.

Further, the prediction model M4is generated by continual learning by using the base prediction model M0, the training data T4, the knowledge coefficient I1of the training data T1, the knowledge coefficient I2of the training data T2, and the knowledge coefficient I3of the training data T3. In this case, it is understood that not only a prediction accuracy (P (T2)=91.84%) of the base101by the training data T2and a prediction accuracy (P (T3)=92.15%) of the base102by the training data T3, but also a prediction accuracy (P (T1)=98.27%) by the training data T1learned by the server100in advance and a prediction accuracy (P (T4)=96.31%) of the server100by the training data T4learned this time can be kept high.

In Example 1, locations for generating the prediction models M1, M2, M3I, and M4I which are targets of federated learning are only the bases101to104, but a prediction model generated by the server100may be a target of federated learning. In addition, any one of the bases101to104may play the role of the server100.

In addition, the bases101to104may generate prediction models without using the knowledge coefficient I of the training data T in the past. In this case, the bases101to104generate prediction models by being trained by using the knowledge coefficient I at a base that generates a prediction model accepted (a prediction accuracy is a threshold value or more) in a verification result from the server100. Then, the server100may integrate a prediction model generated at some limited bases among the bases101to104based on the verification results, to generate a final integrated prediction model. In addition, bases may be classified into groups in advance based on distribution characteristics of data, instead of the verification results, and an integrated prediction model for each group may be generated.

In this manner, according to an example illustrated inFIG.15, without moving the training data T1to T4at the plurality of bases101to104out of the bases, by using the knowledge coefficients I1and I2of the plurality of items of training data T1and T2learned in the past, and without using the training data T1and T2learned in the past for retraining, the prediction model M20that can predict the training data T1to T4at the plurality of bases101to104can be generated. The integrated prediction model M20I that can predict the training data T1to T3at the plurality of bases101to103generated by repeating the training at the respective bases103and104and the model integration at the server100can be generated.

With respect to the integrated prediction model M20I, if continual learning technologies are applied to the base104, by using the training data T4and the knowledge coefficients I1, I2, and I3of the plurality of items of training data T1, T2, and T3learned in the past, without using the training data T1, T2, and T3learned in the past for the relearning, a prediction model that can predict the training data T1to T4at the plurality of bases101to104can be generated. Accordingly, the prediction model M20that can predict the training data T1to T4at the bases101to104can be generated.

Accordingly, a reduction of time for updating prediction models due to a decrease in the training data amount, a reduction of communication amount due to a decrease in the number of bases that performs communication and the number of times of the communication, and a reduction of a usage amount of the storage device302that is not required to store data in the past can be realized.

In addition, in Example 1, all of the computers300each include the prediction model integration unit411and the training unit412, and thus all of the computers300can be executed as the server100and the bases101to104. In addition, the number of bases of Phase 1 is set to two in Example 1, but the number of bases of Phase 1 may be set to three or more. In the same manner, the number of bases of Phase 2 is set to two, but the number of bases of Phase 2 may be set to three or more.

In addition, after the bases101to104transmit the knowledge coefficients I1to I4to the server100, the training data T1to T4is not required in the bases101to104. Therefore, the bases101to104may delete the training data T1to T4. Accordingly, it is possible to reduce memories of the storage devices302of the bases101to104.

Example 2 is described. Example 2 is an example in which the roles of the server100and the bases101to104are unified to minimize the device configuration, as compared with Example 1. The server100does not generate a prediction model with training data. The bases101to104do not integrate prediction models. In addition, the same configurations as that of the Example 1 are denoted by the same reference numerals, and the description thereof is omitted.

FIG.16is a block diagram illustrating a functional configuration example of the server100according to Example 2. Compared withFIG.4, the server100does not include the training unit412.

FIG.17is a block diagram illustrating a functional configuration example of a base according to Example 2. Compared withFIG.4, the bases101to104do not include the prediction model integration unit411.

Accordingly, according to Example 2, in the same manner as in Example 1, a reduction of time for updating prediction models due to a decrease in the training data amount, a reduction of communication amount due to a decrease of the number of bases that performs communication and the number of times of the communication, and a reduction of a usage amount of the storage device302that is not required to store data in the past can be realized.

In addition, the present invention is not limited to the above examples, and includes various modifications and similar configurations within the scope of the attached claims. For example, the examples described above are specifically described for easier understanding of the present invention, and the present invention is not necessarily limited to include all the described configurations. Further, a part of a configuration of a certain example may be replaced with a configuration of another example. In addition, a configuration of another example may be added to a configuration of one example. In addition, other configurations may be added, deleted, or replaced with respect to a part of configurations of each example.

Further, respective configurations, functions, processing unit, processing sections, and the like described above may be realized by hardware by designing a part or all thereof with, for example, an integrated circuit, or may be realized by software by interpreting and executing programs realize respective functions by a processor.

Information such as programs that realize respective functions, tables, and files can be recorded in a storage device such as a memory, a hard disk, and a solid state drive (SSD), or a recording medium such as an integrated circuit (IC) card, an SD card, a digital versatile disc (DVD).

Also, control lines and information lines that are considered necessary for description are illustrated, and not all the control lines and information lines necessary for implementation are illustrated. In practice, it may be considered that almost all configurations are interconnected.