Learning processing device and learning processing program
The learning processing device and program enhance machine learning accuracy by determining optimal data division rules for actual learners through simulations, thereby reducing data bias and the time required for the learning process.
Patent Information
- Application Number
- JP2023159945
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-25
- Publication Date
- 2025-04-04
AI Technical Summary
Existing machine learning techniques that randomly divide learning data groups can lead to data bias, resulting in variations in learning accuracy, and require repetitive trial-and-error processes to achieve desired accuracy, increasing the time required for the learning process.
A learning processing device and program that acquire a learning data group, divide it into training and test data groups using a specific division rule, perform learning processes on simulated learners with the same or different arithmetic models, and determine the optimal division rules for the actual learner based on the accuracy obtained from the simulated learners.
This approach improves learning accuracy without the need for trial-and-error data division and learning, reducing the time required for the machine learning process while minimizing data bias.
Smart Images

Figure 2025051049000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a learning processing device and a learning processing program that perform learning processing on a learning module. [Background technology]
[0002] Conventionally, a technique is known in which a learning device is subjected to machine learning using a collection of learning data (hereinafter, also referred to as a "learning data group"). This learning data group is used by dividing it according to the learning purpose (for example, for training, for testing, etc.).
[0003] Patent Document 1 discloses a method for generating a test dataset by randomly selecting data from an entire dataset so that the data does not contain duplicate data.
[0004] Patent Document 2 discloses a method for generating a data-driven model for mammalian cell culture, in which information available for modeling is randomly divided into a training data set and a test data set in a ratio of 70:30 to 80:20. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Patent Publication No. 2021-022377 [Patent Document 2] Special table number 2022-544928 Summary of the Invention [Problem to be solved by the invention]
[0006] Incidentally, even when the learning data group is randomly divided as in the methods disclosed in Patent Documents 1 and 2, bias in the data occurs, and this bias can cause the learning accuracy to fluctuate. As a countermeasure to this, it is conceivable to repeatedly try dividing the data and learning until a desired accuracy is achieved, but this increases the time required for the learning process.
[0007] The present invention has been made in consideration of such problems, and its purpose is to provide a learning processing device and a learning processing program that can improve learning accuracy in machine learning including a process of dividing a group of training data, without performing trial and error of repeatedly dividing data and learning. [Means for solving the problem]
[0008] A learning processing device in a first aspect of the present invention includes a data acquisition unit that acquires a learning data group to be used for machine learning on a production learning device; a data division unit that divides the learning data group acquired by the data acquisition unit into a training data group and a test data group according to a division rule; a learning processing unit that performs learning processing on a plurality of simulated learning devices having the same or different computational model as the production learning device using the training data group divided by the data division unit; and a rule determination unit that calculates the accuracy of each of the plurality of simulated learning devices on which machine learning has been performed by the learning processing unit using the test data group divided by the data division unit, and determines the division rule for the production learning device based on the obtained multiple accuracies.
[0009] In a second aspect of the present invention, in the learning processing device, the division rule includes a rule for randomly sorting the group of learning data by referring to a random number sequence or a pseudo-random number sequence corresponding to a seed value, and the rule determination unit determines the seed value that maximizes the sum or average value of the multiple accuracies.
[0010] In the learning processing device according to the third aspect of the present invention, the plurality of simulated learning devices have the same input / output characteristics as the actual learning device, and the amount of calculation of the plurality of simulated learning devices is less than the amount of calculation of the actual learning device.
[0011] In the learning processing device according to a fourth aspect of the present invention, the plurality of simulated learning devices have the same input / output characteristics as the actual learning device, and the amount of learning of the plurality of simulated learning devices is less than the amount of learning of the actual learning device.
[0012] In the learning processing device according to a fifth aspect of the present invention, the plurality of simulated learning devices are different from each other in the type of the computational model or the value of a hyperparameter describing the computational model.
[0013] In a sixth aspect of the present invention, the learning processing program causes one or more computers to execute the following steps: an acquisition step of acquiring a learning data group to be used for machine learning on a production learning device; a division step of dividing the acquired learning data group into a training data group and a test data group according to a division rule; a learning step of performing learning processing on a plurality of simulated learning devices different from the production learning device using the divided training data group; and a determination step of calculating the accuracy of each of the plurality of simulated learning devices that have undergone machine learning using the divided test data group, and determining the division rule for the production learning device based on the obtained multiple accuracies. Effect of the Invention
[0014] According to the present invention, in machine learning including a step of dividing a group of training data, it is possible to improve the learning accuracy without performing trial and error of repeatedly dividing data and learning. [Brief description of the drawings]
[0015] [Figure 1] 1 is a block diagram showing an example of a configuration of a learning processing device according to an embodiment of the present invention; [Diagram 2] 2 is a diagram showing an example of input / output characteristics of a real learning device and a simulated learning device in FIG. 1. [Diagram 3] 2 is a diagram illustrating an example of functional blocks of a data division unit illustrated in FIG. 1; [Figure 4] 2 is a diagram illustrating an example of functional blocks of a rule determination unit illustrated in FIG. 1; [Diagram 5] 4 is a flowchart showing an example of a learning operation by the learning processing device of FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings. In order to facilitate understanding of the description, the same reference numerals are used to refer to the same components in each drawing as much as possible, and duplicated description will be omitted.
[0017] [Configuration of the learning processing device 10] <Device configuration> 1 is a block diagram showing an example of the configuration of a learning processing device 10 according to an embodiment of the present invention. The learning processing device 10 is a computer for performing machine learning. Specifically, the learning processing device 10 includes a communication unit 12, a control unit 14, and a storage unit 16.
[0018] The communication unit 12 is an interface that transmits and receives electrical signals to and from an external device, thereby enabling the learning processing device 10 to exchange various data, including learning data and learning parameter groups, with the external device.
[0019] The control unit 14 is configured by a general-purpose processor including a CPU (Central Processing Unit) or a dedicated processor including an FPGA (Field Programmable Gate Array) and a GPU (Graphics Processing Unit). The control unit 14 reads out and executes the learning processing program and necessary data stored in the storage unit 16, thereby functioning as a data acquisition unit 20, a data division unit 22, a learning processing unit 24, a rule determination unit 26, and a calculation unit 28.
[0020] The data acquiring unit 20 acquires a collection of learning data used for machine learning (hereinafter also referred to as a “learning data group 34”). For example, the data acquiring unit 20 acquires the learning data group 34 transmitted from an external device, or reads and acquires the learning data group 34 from the storage unit 16.
[0021] The data division unit 22 divides the learning data group 34 acquired by the data acquisition unit 20 into a training data group 36 and a test data group 38 (FIG. 3) in accordance with a division rule. This division rule may be a rule for randomly dividing the learning data group 34, or a rule for intentionally dividing the learning data group 34 (non-randomly). The specific configuration of the data division unit 22 will be described in detail with reference to FIG. 3.
[0022] The learning processing unit 24 performs learning processing on the actual learning device 30 or the simulated learning device 32, respectively, using the training data group 36 divided by the data dividing unit 22. The type of machine learning may be "supervised learning" in which learning is performed while a correct answer is given, or may be "unsupervised learning" in which learning is performed without a correct answer. Examples of update rules for learning parameters include the stochastic gradient descent method, the momentum method, the AdaGrad method, and the Adam method.
[0023] Rule determination unit 26 obtains the accuracy of each of the multiple simulated learning devices 32 that have been subjected to machine learning by learning processing unit 24, using test data group 38 (FIGS. 3 and 4) divided by data division unit 22, and determines a division rule for actual learning device 30 based on the multiple obtained accuracies. The specific configuration of rule determination unit 26 will be described in detail with reference to FIG. 4.
[0024] The calculation unit 28 performs, for example, [1] a "classification calculation" for predicting a discrete value (class), [2] a "regression calculation" for predicting a continuous value (quantitative value), or [3] an "auto-encoding calculation" for performing dimensionality reduction or feature extraction of data through a learning device that has undergone machine learning. The calculation unit 28 is configured to include an actual learning device 30 and a plurality of simulated learning devices 32. The specific configurations of the actual learning device 30 and the simulated learning devices 32 will be described in detail with reference to FIG. 2.
[0025] The storage unit 16 stores programs and data necessary for the control unit 14 to control each component. The storage unit 16 is non-transient and is configured from a computer-readable recording medium. Here, the computer-readable recording medium is a storage device such as a magneto-optical disk, a ROM (Read Only Memory), a CD (Compact Disc)-ROM, a portable medium such as a flash memory, a hard disk drive (HDD) built into a computer system, or a solid state drive (SSD).
[0026] In the example of FIG. 1, the storage unit 16 stores a learning data group 34, a first learning parameter group 40, and a plurality of second learning parameter groups 42.
[0027] The learning data group 34 is a collection of data used in machine learning (i.e., learning data). The type of data may be, for example, value data, image data, voice data, graph data, or text data. For example, in the case of "supervised learning", the learning data is composed of a set of one or more input values (hereinafter, input value set) and one or more output values (hereinafter, output value set). The types of learning data are classified into, for example, training data or test data from the viewpoint of the learning purpose. "Training data" means data used to update learning parameters. "Test data" means data used to evaluate the accuracy of a computation model. Note that the test data may include "verification data" used to tune hyperparameters.
[0028] The first learning parameter group 40 is a collection of learning parameters for identifying the computation model of the actual learning device 30. In the case of a computation model using a neural network, the first learning parameter group 40 includes a learning parameter group consisting of "variable parameters" that are to be updated during learning, and "fixed parameters" (or hyperparameters) that are not to be updated during learning. An example of a variable parameter is a coefficient describing the activation function of a computation unit, or a coupling strength between computation units. An example of a fixed parameter is the number of computation units, or the number of intermediate layers.
[0029] The second learning parameter group 42 is a collection of learning parameters for specifying a computation model of the simulated learning device 32. In the case of a computation model using a neural network, the second learning parameter group 42 includes a learning parameter group consisting of variable parameters and fixed parameters, similar to the first learning parameter group 40.
[0030] <Input / output characteristics of learning unit> 2 is a diagram showing an example of input / output characteristics of the actual learning device 30 and the simulated learning device 32 in FIG. 1. The actual learning device 30 at the top of the drawing is a learning device for performing actual calculations. The simulated learning device 32 at the bottom of the drawing is a learning device for determining a division rule for the learning data group 34 prior to machine learning for the actual learning device 30. As can be seen from FIG. 2, each of the simulated learning devices 32 has the same input / output characteristics as the actual learning device 30. In other words, a set of input values having a common input value definition is input, and a set of output values having a common output value definition is output.
[0031] 2, the actual learning device 30 and the simulated learning device 32 are each shown as a single learning device, but the structure of the computational model is not limited to this. For example, the actual learning device 30 or the simulated learning device 32 may be an ensemble learning device composed of multiple weak learning devices.
[0032] The simulated learner 32 has a computation model that is the same as or different from the production learner 30. The computation model may be any of a regression model, a classification model, a clustering model, and an auto-encoding model. Examples of regression models include linear regression (simple regression or multiple regression), ridge regression, lasso regression, elastic net regression, logistic regression, random forest, gradient boosting tree, support vector machine, and neural network regression. Examples of classification models include perceptron, logistic regression, support vector machine, decision tree, random forest, and k-nearest neighbor method.
[0033] The multiple simulated learning devices 32 may all have the same type of computation model, or may have different types of computation models. Here, "different types" means that at least one of the following is different, for example: [1] type of model, [2] number of computation units, [3] number of hidden layers, [4] activation function, and [5] total number of learning parameters. In addition, when the multiple simulated learning devices 32 all have the same type of computation model, the values of hyperparameters describing the computation model may be different.
[0034] The amount of calculation of each simulated learning device 32 may be less than the amount of calculation of the actual learning device 30. Here, the "amount of calculation" means the amount of calculation required from the "input" of the input value set to the "output" of the output value set. Specifically, the amount of calculation tends to be smaller as [1] the number of calculation units in the hidden layer is smaller, [2] the number of layers in the hidden layer is smaller, [3] the density of synaptic connections is lower, [4] the activation function is simpler, [5] the total number of learning parameters is smaller, or [6] the number of weak learners in the ensemble learning is smaller.
[0035] The amount of learning of each simulated learning device 32 may be less than the amount of learning of the actual learning device 30. Here, the "amount of learning" means the amount of calculation required from "initialization" to "determination" of each value of the learning parameter group, and specifically, is [1] the number of iterations, [2] the product of the number of epochs and the batch size, or [3] the update frequency of the learning parameters.
[0036] The actual learning device 30 is used, for example, to optimize a group of servo parameters used in the motion control of a robot. In this case, the computation model is a regression model in which the group of servo parameters is an explanatory variable and the evaluation value for the state of the robot is an objective variable. Here, the "servo parameters" refer to various control parameters related to servo control, and the types, definitions, and ranges of values are diverse. Each servo parameter is assigned an initial value (or a default value), and some of the group of servo parameters is adjusted for each robot. Examples of servo parameters to be adjusted include [1] a gain value related to speed, FB (feedback) gain value, and FB filter characteristics, [2] a gain value related to current, and integral gain value, [3] an input limit and time constant for integral, and [4] a maximum value and target value of speed (during acceleration or deceleration).
[0037] <Function block> Fig. 3 is a diagram showing an example of functional blocks of the data division unit 22 shown in Fig. 1. For convenience of explanation, in the example of Fig. 3, the learning data group 34 is made up of 10 sets of learning data. To distinguish each piece of learning data, an identification number (#1 to #10) is assigned to each piece.
[0038] The data division unit 22 includes a random sorter 50. The random sorter 50 has a function of randomly sorting a given sequence by referring to a random number sequence or a pseudo-random number sequence corresponding to a seed value. In the example of Fig. 3, the training data group 34 is sorted from the sequence order of (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) to the sequence order of (4, 10, 7, 9, 2, 8, 5, 1, 6, 3).
[0039] The division rule may be specified by the division ratio of data (a value in the range of 0 to 1). For example, "the ratio of the training data group 36 is 0.8" and "the ratio of the test data group 38 is 0.2." According to this division rule, the learning data with the identification numbers (4, 10, 7, 9, 2, 8, 5, 1) is classified into the training data group 36. Also, the learning data with the identification number (6, 3) is classified into the test data group 38.
[0040] Fig. 4 is a diagram showing an example of functional blocks of the rule determination unit 26 shown in Fig. 1. In the example of Fig. 4, three simulated learning devices 32 that have undergone machine learning are constructed. The rule determination unit 26 includes an evaluation value calculation unit 54 and a value selection unit 56.
[0041] The evaluation value calculation unit 54 calculates an evaluation value of the division rule corresponding to the seed value. Here, the input values of the evaluation value calculation unit 54 are a plurality of accuracies obtained from the three simulated learners 32. Examples of the accuracy index include the accuracy rate, the precision rate, the recall rate, and the F-measure. Each accuracy is, for example, a value within the range of [0, 1], and is defined such that the closer to 1 the accuracy, the higher the generalization accuracy, and the closer to 0 the accuracy, the lower the generalization accuracy.
[0042] The evaluation value is calculated by various calculation methods, for example, [1] statistics including the mean, maximum, minimum, median, standard deviation, and variance of accuracy, or [2] weighted sum of accuracy. When calculating the weighted sum of accuracy, for example, the weighting coefficient may be set to a relatively large value for the accuracy of the simulated learner 32 that is similar to the computation model or learning conditions of the production learner 30. Conversely, the weighting coefficient may be set to a relatively small value for the accuracy of the simulated learner 32 that is not similar to the computation model or learning conditions of the production learner 30.
[0043] The value selection unit 56 selects an optimal seed value for data division (hereinafter also referred to as an "optimum seed value") based on the evaluation value calculated for each seed value by the evaluation value calculation unit 54. For example, when the evaluation value is given as a sum or average value of accuracy, the value selection unit 56 selects one seed value that maximizes this sum or average value. In this way, an optimal division rule for the training data set 34 is determined.
[0044] [Operation of the learning processing device 10] The learning processing device 10 in this embodiment is configured as described above. Next, the learning operation by the learning processing device 10 will be described with reference to the flowchart in FIG.
[0045] In step SP10, the control unit 14 (more specifically, the data acquisition unit 20) of the learning processing device 10 acquires a learning data group 34 used for machine learning.
[0046] In step SP12, the control unit 14 (more specifically, the data dividing unit 22) selects one seed value candidate that has not yet been evaluated from among a plurality of predetermined seed value candidates.
[0047] In step SP14, the control unit 14 (more specifically, the data dividing unit 22) divides the learning data group 34 into a plurality of groups according to the seed value candidates selected in step SP12. As a result, the learning data group 34 is provisionally divided into a training data group 36 and a test data group 38.
[0048] In step SP16, the control unit 14 (more specifically, the learning processing unit 24) uses the training data group 36 divided in step SP14 to perform a learning process on each of the multiple simulation learning devices 32. When the machine learning is completed, each value of the second learning parameter group 42 is determined.
[0049] In step SP18, the control unit 14 (more specifically, the rule determination unit 26) calculates evaluation values corresponding to the seed value candidates using the multiple simulation learners 32 that underwent machine learning in step SP16.
[0050] In step SP20, the control unit 14 checks whether all the seed value candidates have been evaluated. If they have not been evaluated yet (step SP20: NO), the control unit 14 returns to step SP12 and sequentially repeats steps SP12 to SP20 until all the seed value candidates have been evaluated. On the other hand, if all the seed value candidates have been evaluated (step SP20: YES), the control unit 14 proceeds to the next step SP22.
[0051] In step SP22, the rule determination section 26 determines an optimum seed value for dividing the training data group 34 (that is, an optimum seed value) from the evaluation value set calculated in step SP18.
[0052] In step SP24, the data dividing section 22 divides the learning data group 34 into a training data group 36 and a test data group 38 in accordance with the optimal seed value determined in step SP22.
[0053] In step SP26, the learning processing unit 24 performs a learning process on the actual learning device 30 using the training data group 36 and the test data group 38 divided in step SP24. The training data group 36 determines each value of the first learning parameter group 40, and the test data group 38 evaluates the accuracy of the actual learning device 30. In this way, the learning processing device 10 completes the learning operation shown in the flowchart of FIG.
[0054] [Summary of the embodiment] As described above, the learning processing device 10 in this embodiment includes a data acquisition unit 20 that acquires a learning data group 34 to be used for machine learning on the actual learning device 30, a data division unit 22 that divides the acquired learning data group 34 into a training data group 36 and a test data group 38 according to a division rule, a learning processing unit 24 that performs learning processing on each of a plurality of simulated learning devices 32 having the same or different computational model as the actual learning device 30 using the divided training data group 36, and a rule determination unit 26 that calculates the accuracy of each of the multiple simulated learning devices 32 that have undergone machine learning using the divided test data group 38, and determines the division rule for the actual learning device 30 based on the obtained multiple accuracies.
[0055] In addition, in the learning processing method and learning processing program of this embodiment, one or more computers (or processors) execute an acquisition step (SP10) of acquiring a learning data group 34 to be used for machine learning for the actual learning device 30, a division step (SP14) of dividing the acquired learning data group 34 into a training data group 36 and a test data group 38 according to a division rule, a learning step (SP16) of performing learning processing on multiple simulated learning devices 32 having the same or different computational model as the actual learning device 30 using the divided training data group 36, and a determination step (SP22) of calculating the accuracy of each of the multiple simulated learning devices 32 that have undergone machine learning using the divided test data group 38, and determining the division rule for the actual learning device 30 based on the obtained multiple accuracies.
[0056] In this way, by determining the division rule based on multiple accuracies obtained for multiple simulated learning devices 32 on which machine learning has been performed, it is possible to grasp in advance, through a machine learning simulation, the division rule for the training data group 34 suitable for machine learning of the actual learning device 30. As a result, in machine learning including a division step of the training data group 34, it is possible to improve the learning accuracy without performing trial and error of repeatedly dividing and learning data.
[0057] Furthermore, when the division rule includes a rule for randomly sorting the training data group 34 with reference to a random number sequence or a pseudo-random number sequence corresponding to a seed value, the rule determination unit 26 may determine a seed value that maximizes the sum or average value of multiple accuracies. This makes it possible to suppress bias in data due to division of the training data group 34 and generate a production learning device 30 with higher accuracy.
[0058] Furthermore, when the multiple simulated learning devices 32 have the same input / output characteristics as the actual learning device 30, the amount of calculation for the multiple simulated learning devices 32 may be less than the amount of calculation for the actual learning device 30. This makes it possible to suppress the calculation load associated with an increase in the amount of calculation during the learning process for the simulated learning device 32.
[0059] Furthermore, when the multiple simulated learning devices 32 have the same input / output characteristics as the actual learning device 30, the amount of learning of the multiple simulated learning devices 32 may be less than the amount of learning of the actual learning device 30. This makes it possible to suppress the computational load associated with an increase in the amount of learning during the learning process for the simulated learning device 32.
[0060] Furthermore, the multiple simulated learning devices 32 may have different types of computation models or different values of hyperparameters describing the computation models. This makes it possible to determine a division rule that is highly robust to the types of computation models or hyperparameters.
[0061] [Variations] The present invention is not limited to the above-described embodiment, and can be freely modified without departing from the spirit of the present invention. Alternatively, the respective configurations may be combined in any manner without causing any technical inconsistency. Alternatively, the order of execution of each step constituting the flowchart may be changed without causing any technical inconsistency.
[0062] In the above embodiment, the learning processing device 10 is illustrated as a single computer, but instead, the learning processing device 10 may be a group of computers that configure a distributed system. Moreover, the learning processing device 10 may be a cloud-type server (so-called cloud server) or an on-premise server.
[0063] In the above embodiment, an example was given of optimizing the setting values of a group of servo parameters for controlling a robot, but [1] the definition of learning data, [2] the source of the learning data group 34, [3] the destination of the first learning parameter group 40, or [4] the purpose of use of the production learning device 30 are not limited to this example. [Explanation of symbols]
[0064] 10 ... learning processing device, 20 ... data acquisition unit, 22 ... data division unit, 24 ... learning processing unit, 26 ... rule determination unit, 30 ... actual learning device, 32 ... simulated learning device, 34 ... learning data group, 36 ... training data group, 38 ... test data group
Claims
1. A data acquisition unit that acquires a group of learning data to be used for machine learning on the production learning device; a data division unit that divides the learning data group acquired by the data acquisition unit into a training data group and a test data group in accordance with a division rule; a learning processing unit that performs learning processing on each of a plurality of simulated learning devices having the same or different computation model as the production learning device, using the training data group divided by the data dividing unit; a rule determination unit that calculates accuracy for each of the plurality of simulated learning machines that have been subjected to machine learning by the learning processing unit, using the test data group divided by the data division unit, and determines the division rule for the production learning machine based on the obtained accuracies; A learning processing device comprising:
2. the division rule includes a rule for randomly sorting the group of training data by referring to a random number sequence or a pseudo-random number sequence corresponding to a seed value; The rule determination unit determines the seed value that maximizes a sum or an average value of the multiple precisions. The learning processing device according to claim 1 .
3. The plurality of simulated learning machines have the same input / output characteristics as the production learning machine, The amount of calculation of the plurality of simulated learning devices is less than the amount of calculation of the production learning device. The learning processing device according to claim 1 .
4. The plurality of simulated learning machines have the same input / output characteristics as the production learning machine, The amount of learning of the plurality of simulated learning devices is less than the amount of learning of the production learning device. The learning processing device according to claim 1 .
5. The plurality of simulated learning devices are different in the type of the computational model or the value of a hyperparameter describing the computational model. The learning processing device according to claim 1 .
6. An acquisition step of acquiring a group of learning data to be used for machine learning on the production learning device; A division step of dividing the acquired learning data group into a training data group and a test data group according to a division rule; A learning step of performing a learning process on each of a plurality of simulated learning devices having the same or different computation model as the production learning device, using the divided training data group; A determination step of calculating accuracy of each of the plurality of simulated learning machines that have undergone machine learning using the divided test data groups, and determining the division rule for the production learning machine based on the obtained plurality of accuracies; A learning processing program that causes one or more computers to execute the above.
Citation Information
Patent Citations
Method for managing data
JP2021022377A
Method for measuring process variables in a cell culture process - Patent Application 20070122997
JP2022544928A