Data generation device, and data generation method
The data generation device generates pseudo data to enhance training data for machine learning models, addressing cost and versatility issues by creating constrained and accurate pseudo data to improve model accuracy.
Patent Information
- Application Number
- JP2024090064
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-03
- Publication Date
- 2025-12-15
AI Technical Summary
Existing methods for generating training data for machine learning models, such as those described in Patent Documents 1 and 2, are costly, limited to specific models like support vector machines, and do not effectively increase data accuracy by considering data distribution or label information, making it difficult to improve predictive model accuracy.
A data generation device and method that generate pseudo data by connecting vectors of features with different labels in a vector space, correct the pseudo data to satisfy specified constraints, and evaluate the accuracy of classification models using the generated data.
This approach allows for the creation of training data that improves the accuracy of classification models by reducing costs and enhancing data availability without manual collection, while ensuring the generated pseudo data adheres to real-world constraints.
Smart Images

Figure 2025182472000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a data generation device and a data generation method for generating training data for a machine learning model. [Background technology]
[0002] With the spread of IoT and the democratization of AI, it is becoming easier to analyze and utilize various types of data. In order to apply AI / machine learning technology to data obtained from the real world to obtain highly accurate predictive models, such as quality prediction analysis in manufacturing or disease differentiation in the medical field, it is necessary to obtain a large amount of data (training data) for building the predictive model and improve the accuracy and robustness of the predictive model. However, in reality, there are many situations where it is difficult to obtain data on the manufacturing process or patient behavior that is the target of prediction.
[0003] For example, in the manufacturing industry, collecting data from manufacturing equipment requires new capital investment or modifications. In order to verify the cost-effectiveness of the investment, data must be collected manually from the current equipment and its effectiveness verified. However, manual data collection is expensive and the collection period is short, resulting in problems such as a small amount of collected data. Furthermore, in the medical field, it is difficult to collect large amounts of data on patient behavior, considering the burden it places on patients.
[0004] Patent Documents 1 and 2 describe inventions related to data collection in machine learning. In the invention described in Patent Document 1, a classification model (machine learning model, prediction model) called a support vector machine is constructed from a small amount of data. Next, the number of data of each label is counted for data near the classification boundary, and the necessary data is acquired from the field by the user and added to the classification model, thereby improving prediction accuracy. In the invention described in Patent Document 2, to address ambiguity in the prediction results of the classification model, different data is reacquired from the same source as the acquired data, and this data is used to reclassify using the classification model. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2009-251810 [Patent Document 2] Japanese Patent Application Laid-Open No. 2017-151933 Summary of the Invention [Problem to be solved by the invention]
[0006] However, the method in Patent Document 1 requires collecting data from the field to increase the amount of data, which incurs costs for estimating the effects of capital investment and human investment. Furthermore, this method is limited to support vector machines. Therefore, it relies on the predictive accuracy of the support vector machine itself as a machine learning model, resulting in low versatility.
[0007] The method in Patent Document 2 merely augments the data by re-collecting data from the field. Furthermore, it does not take into consideration the data distribution or label information of the target data, and does not acquire data that can improve the accuracy of the classification model. When it comes to obtaining training data for machine learning models, it is desirable to increase existing training data using some method rather than collecting actual data from the field.
[0008] The present invention has been made in view of the above background, and an object of the present invention is to provide a data generation device and a data generation method that increase learning data based on data collected in the field. [Means for solving the problem]
[0009] In order to solve the above-mentioned problems, the data generation device of the present invention includes a pseudo data generation unit that takes vectors of features to which labels indicating the classes to which they belong as data, selects two pieces of data with different labels from a data group representing the collection of said data, and generates points on a line segment connecting the two pieces of data in a vector space, which is the space of said vectors, as pseudo data of the data group. [Effects of the Invention]
[0010] According to the present invention, it is possible to provide a data generation device and a data generation method for increasing training data based on data collected in the field. Problems, configurations, and effects other than those described above will become clear from the description of the following embodiments. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 2 is a functional block diagram of the data generating device according to the present embodiment. [Figure 2] FIG. 2 is a data structure diagram of data stored in a learning data repository according to the present embodiment. [Figure 3] FIG. 2 is a data structure diagram of pseudo data stored in a pseudo data repository according to the present embodiment. [Figure 4] FIG. 2 is a data configuration diagram of a parameter database according to the embodiment. [Figure 5] FIG. 2 is a data configuration diagram of a data constraint condition database according to the embodiment. [Figure 6] 10 is a graph showing the deviation of the right elbow angle according to the present embodiment. [Figure 7] 10 is a graph showing the deviation of the right elbow angle according to the present embodiment. [Figure 8] 10 is a flowchart of a data generation process according to the present embodiment. [Figure 9] 10 is a flowchart of a boundary area identification process according to the present embodiment. [Figure 10] 10 is a flowchart of a pseudo data generation process according to the present embodiment. [Figure 11]10 is a flowchart of a pseudo data correction process according to the present embodiment. [Figure 12] 10 is a flowchart of a pseudo data evaluation process according to the present embodiment. [Figure 13] FIG. 10 is a diagram illustrating the screen configuration of a pseudo data evaluation screen according to the present embodiment. [Figure 14] FIG. 2 is a diagram illustrating a screen configuration of a pseudo data display screen according to the present embodiment. [Figure 15] FIG. 10 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the data generating device according to the above embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0012] <<Outline of the data generation device>> A data generating device in a mode (embodiment) for carrying out the present invention will be described below. The data generating device generates training data for a classification model. The classification model is a machine learning model that classifies data indicating the shape, state, and movement of equipment, environments, people, etc. into classes such as normal and abnormal. The classification model can also be said to be an estimation model / prediction model that estimates / predicts the class of data. Note that the data is considered to be a vector of numerical values indicating feature amounts. In the following description, the data is assumed to be time-series data of coordinates indicating the positions of a person's joints, and the labels are "healthy" or "abnormal."
[0013] The data generating device generates pseudo data, which will serve as training data, based on data (actual data) acquired on-site. More specifically, the data generating device generates pseudo data that divides the data between the "normal" and "abnormal" classes. Next, the data generating device corrects the data (feature values) so that the pseudo data satisfies specified constraints. The data generating device then evaluates the accuracy of the classification model generated using training data to which the corrected data has been added. The data generating device also displays the data (actual data) and pseudo data in the data space, along with iso-precision lines, which are contours of accuracy. Details of the iso-precision lines and the specified constraints will be described later.
[0014] Such a data generation device can generate pseudo data that serves as training data based on data (actual data) acquired in the field, thereby reducing the cost of preparing training data. By setting constraints based on the actual data, pseudo data that reflects the real world can be generated, making it possible to prepare training data that contributes to improving the accuracy of the classification model.
[0015] <Configuration of data generation device> 1 is a functional block diagram of a data generating device 100 according to this embodiment. The data generating device 100 is a computer, and includes a control unit 110, a storage unit 120, and an input / output unit 180. User interface devices such as a display, keyboard, and mouse are connected to the input / output unit 180. The input / output unit 180 may include a communication device, enabling data transmission and reception with other devices. A media drive may also be connected to the input / output unit 180, enabling data exchange using a recording medium.
[0016] <Data Generation Device: Storage Unit> The storage unit 120 is configured to include storage devices such as a read-only memory (ROM), a random access memory (RAM), and a solid-state drive (SSD). The storage unit 120 stores a training data repository 130, an evaluation data repository 139, a pseudo data repository 140, a model database 150, a parameter database 160, a data constraint condition database 170, and a program 128. The program 128 includes a description of the processing of the functional units constituting the control unit 110, which will be described later. Note that the various storage contents of the storage unit 120 may be stored in an external storage device such as a cloud server and read as needed.
[0017] <Memory section: Learning data repository, evaluation data repository> 2 is a data configuration diagram of data 131 stored in the learning data repository 130 according to this embodiment. The data 131 is actual data acquired in the field, and serves as learning data (training data) for the classification model. The data 131 shown in FIG. 2 is time-series data of coordinates indicating the positions of human joints, such as the head and neck, with identification information "TD0032" and a label (classification label) of "healthy." The evaluation data repository 139 has the same data structure as the data 131 and stores data used for evaluating the accuracy of the classification model.
[0018] <Memory section: pseudo data repository> 3 is a data structure diagram of pseudo data 141 stored in the pseudo data repository 140 according to this embodiment. The pseudo data 141 is data with the same data structure as the data 131, generated by the pseudo data generation unit 113 described below. Note that when the pseudo data 141 is generated, no label has been assigned, and as shown in FIG. 3, it is marked "N / A" (Not Applicable).
[0019] <Storage section: Model database> Returning to FIG. 1, the description of the storage unit 120 will be continued. The model database 150 stores classification models generated by the model generation unit 111, which will be described later. The classification models are machine learning models, and the explanatory variables are time-series data of coordinates indicating the positions of human joints (see FIG. 2), and the time-series data is classified into "healthy" and "abnormal." The model database 150 may store learning data and accuracy (classification accuracy) used when generating the classification models, in association with the classification models.
[0020] <Memory section: parameter database> 4 is a data configuration diagram of the parameter database 160 according to this embodiment. In addition to the configuration of the classification model, parameters related to pseudo data generation are stored in the parameter database 160. The parameters are set as appropriate by the user of the data generating device 100.
[0021] <Storage section: Data constraint database> FIG. 5 is a data configuration diagram of the data constraint database 170 according to this embodiment. The data constraint database 170 stores constraints on pseudo data. The constraints include identification information, a name, target data, a lower limit, and an upper limit. The constraints (predetermined constraints) in this embodiment indicate the range of joint angles (range from lower limit to upper limit). The constraint shown in FIG. 5 is a condition that the angle formed by the line connecting the right wrist and right elbow and the line connecting the right elbow and right shoulder is in the range of 35 degrees to 185 degrees. In addition to constraints on joint angles, the data constraint database 170 may also include constraints on the movement speed of joint positions in time-series data.
[0022] <<Data generation device: control unit>> 1, the control unit 110 will be described. The control unit 110 is configured to include a CPU (Central Processing Unit) and is equipped with a model generation unit 111, a boundary identification unit 112, a pseudo data generation unit 113, a pseudo data correction unit 114, an accuracy calculation unit 115, and a pseudo data evaluation unit 116. The control unit 110 may be configured to include a GPU (Graphics Processing Unit), an FPGA (Field Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), etc.
[0023] <Control unit: Model generation unit> The model generation unit 111 uses the learning data to train and generate a classification model, which is a machine learning model. The input (explanatory variables) of the classification model is time-series data of coordinates indicating the positions of a person's joints. The output (objective variable) of the classification model is a label, "healthy" or "abnormal." The output may include a reliability indicating the degree of certainty of the classification result ("healthy" / "abnormal"). If the reliability is less than a threshold (see parameter database 160 in FIG. 4), the input data is not classified as either "healthy" or "abnormal" (classification failure). In other words, the higher the threshold, the higher the reliability of the classification result using the classification model, but the greater the possibility of classification failure.
[0024] The training data is data stored in the training data repository 130. A classification model generated using the training data is also referred to as a first classification model. The training data may be data stored in the training data repository 130 and labeled pseudo data stored in the pseudo data repository 140. The classification model generated using the training data is also referred to as a second classification model.
[0025] <Control unit: Boundary identification unit> The boundary identification unit 112 identifies data to be used when generating pseudo data. The area of the vector space surrounded by the identified data is the area where the pseudo data exists. More specifically, the boundary identification unit 112 acquires a predetermined number of pairs of data from the "normal" class and the "abnormal" class, among which the distance between the data in the vector space is short. Next, the boundary identification unit 112 identifies the data constituting this predetermined number of pairs as data to be used for generating pseudo data (also referred to as data for defining / identifying a boundary). Note that this predetermined number is the "number of data at the time of boundary creation" (see "M" in FIG. 9, which will be described later) in the parameter database 160 (see FIG. 4), and is set as appropriate by the user of the data generating device 100.
[0026] <Control unit: Pseudo data generation unit> The pseudo data generating unit 113 generates a predetermined number of pseudo data on a line segment connecting the data of the "normal" class and the data of the "abnormal" class, which defines the boundary identified by the boundary identifying unit 112. Note that this predetermined number is the "number of pseudo data" (see "L" in FIG. 10, which will be described later) in the parameter database 160 (see FIG. 4), and is set appropriately by the user of the data generating device 100.
[0027] As described above, the data generating device 100 is equipped with a pseudo data generating unit 113 that takes a vector of features to which a label indicating the class to which it belongs (a "normal" class and an "abnormal" class) as data, selects two pieces of data with different labels from a data group (data in the learning data repository 130) that indicates the collection of the data, and generates a point on the line segment connecting the two pieces of data in a vector space, which is a space of vectors, as pseudo data for the data group.
[0028] <Control unit: Pseudo data correction unit> The pseudo data correction unit 114 corrects the pseudo data generated by the pseudo data generation unit 113 so that the pseudo data satisfies the constraint conditions in the data constraint condition database 170 (see FIG. 5). More specifically, the pseudo data correction unit 114 corrects the pseudo data so that the deviation of the pseudo data from the constraint conditions is reduced.
[0029] Fig. 6 is a graph 301 of the deviation of the right elbow angle according to this embodiment. The horizontal axis of graph 301 is the right elbow angle, and the vertical axis is the deviation. As shown in Fig. 5, the range of the right elbow angle is 35 degrees to 185 degrees, and graph 301 shows that if the right elbow angle is within the range of 35 degrees to 185 degrees, the deviation is 0, and if it is outside this range, the deviation is 1.
[0030] 7 is a graph 302 of the deviation degree of the right elbow angle according to this embodiment. In graph 301, the deviation degree changes stepwise between the upper and lower limit values of the right elbow angle, but it may also change smoothly as shown in graph 302.
[0031] The deviation is the sum of the deviations of all the constraint conditions. The deviation may be the sum of the deviations weighted according to the constraint conditions. The pseudo data correction unit 114 corrects the deviation to reduce it. If the deviation does not become equal to or less than a predetermined value even after correcting the feature values of the pseudo data, the pseudo data correction unit 114 may abandon the correction and delete the pseudo data so that it is not used as training data.
[0032] The predetermined value of the deviation is set as appropriate by the user of the data generating device 100. If this predetermined value is set small, outlying pseudo data that do not actually exist will be excluded, but the possibility of correction failure increases, and the number of pseudo data items to be deleted increases. If an attempt is made to secure a certain number of pseudo data items, a large number of pseudo data items will be generated and corrected, which increases the processing time required for data generation. The detailed processing of the pseudo data correcting unit 114 will be described later with reference to FIG. 11.
[0033] As described above, data generating device 100 includes pseudo data correcting unit 114 that changes the feature amounts of the pseudo data so that the degree of deviation, which is the degree to which the feature amounts of the data deviate from the constraint conditions, is equal to or less than a predetermined value.
[0034] <Control unit: Accuracy calculation unit> 1, the explanation of the control unit 110 will be continued. The accuracy calculation unit 115 evaluates the accuracy of the classification model generated by the model generation unit 111 using data in the evaluation data repository 139.
[0035] As described above, the data generating device 100 includes an accuracy calculation unit 115 that evaluates the accuracy of the first classification model, which is a machine learning model generated using a data group (data in the training data repository 130) as training data, and the accuracy of the second classification model, which is a machine learning model generated using a data group and labeled pseudo data as training data, i.e., the additional accuracy of the pseudo data.
[0036] <Control unit: Pseudo data evaluation unit> The pseudo data evaluation unit 116 obtains the accuracy of a classification model generated using the pseudo data and the training data stored in the training data repository 130, and evaluates the pseudo data. Hereinafter, the accuracy of a classification model when pseudo data is added to training data will be referred to as the accuracy after addition of pseudo data, or simply the accuracy after addition. The pseudo data evaluation unit 116 calculates the accuracy after addition of each of the multiple pseudo data, and outputs a pseudo data evaluation screen 310 (see FIG. 13 , described later) displaying an equal-precision line / equal-precision plane in the low-dimensional vector space to a display connected to the input / output unit 180. The equal-precision line / equal-precision plane indicates the position in the vector space of the pseudo data where the added precision is equal. When the low-dimensional vector space is two-dimensional, as in the pseudo data evaluation screen 310, it becomes an equal-precision line. Details of the equal-precision line / equal-precision plane will be described later.
[0037] The pseudo data generator generates a plurality of pseudo data. The data generation device 100 includes a pseudo data evaluation unit 116 that calculates an equal precision plane, which is a hyperplane indicating the position of pseudo data with equal additional precision in a low-dimensional vector space obtained by reducing the dimension of the vector space, based on the additional precision of multiple pseudo data. The low-dimensional vector space is two-dimensional, and the pseudo data evaluation unit 116 calculates an equal-precision plane as an equal-precision line.
[0038] <<Data generation process>> FIG. 8 is a flowchart of the data generation process according to this embodiment. In step S11 , the model generation unit 111 generates a classification model using data in the training data repository 130 and stores the generated model in the model database 150 . In step S12, a boundary area specifying process is executed. The boundary area specifying process will be described in detail later with reference to FIG.
[0039] In step S13, a pseudo data generation process is executed, the details of which will be described later with reference to FIG. In step S14, the pseudo data correction process is executed, the details of which will be described later with reference to FIG. In step S15, a pseudo data evaluation process is executed, the details of which will be described later with reference to FIG.
[0040] <Boundary area identification processing> 9 is a flowchart of the boundary area identification process according to this embodiment. Details of step S12 shown in FIG. 8 will be described with reference to FIG. In step S21, the boundary identifying unit 112 acquires all pairs of data in the "normal" class and data in the "abnormal" class.
[0041] In step S22, the boundary identification unit 112 acquires a predetermined number (denoted as "M" in FIG. 9) of pairs having the shortest distance between the two data included in the pair from among the pairs acquired in step S21. The distance is the distance in the vector space of the time-series data. In step S23, the boundary identification unit 112 determines that the data contained in the predetermined number of pairs acquired in step S22 is data that defines the boundary between the "normal" class and the "abnormal" class, and further determines that the area surrounded by that data is the boundary area between the "normal" class and the "abnormal" class.
[0042] <Pseudo data generation process> 10 is a flowchart of the pseudo data generation process according to this embodiment, and step S13 shown in FIG. In step S31, the pseudo data generating unit 113 starts the process of repeating steps S32 to S33 a predetermined number of times (denoted as "L" in FIG. 10).
[0043] In step S32, the pseudo data generation unit 113 acquires data defining the boundary between the "healthy" class and the "abnormal" class (see step S23 in FIG. 9) from each of the two classes. The pseudo data generation unit 113 may randomly select data for each class from the data defining the boundary. In step S33, the pseudo data generation unit 113 generates pseudo data on the line segment connecting the two pieces of data acquired in step S32, and stores the generated pseudo data in the pseudo data repository 140 (see FIG. 3). At the time of generation, the pseudo data does not have a label.
[0044] <Pseudo data correction processing> 11 is a flowchart of the pseudo data correction process according to this embodiment, and step S14 shown in FIG. In step S41, the pseudo data corrector 114 starts the process of repeating steps S42 to S45 for each piece of pseudo data in the pseudo data repository 140.
[0045] In step S42, the pseudo data correcting unit 114 corrects the pseudo data so that the degree of deviation is minimized. In step S43, if the deviation degree after correction in step S42 is equal to or less than a predetermined value (step S43→YES), the pseudo data correction unit 114 regards the correction as successful and proceeds to step S44. If the deviation degree after correction is greater than the predetermined value (step S43→NO), the pseudo data correction unit 114 regards the correction as unsuccessful and proceeds to step S45.
[0046] In step S44, the pseudo data corrector 114 replaces the pseudo data before correction with the corrected pseudo data and stores it in the pseudo data repository 140. In step S45, the pseudo data correction unit 114 deletes the uncorrected pseudo data in the pseudo data repository 140.
[0047] <Pseudo data evaluation process> 12 is a flowchart of the pseudo data evaluation process according to this embodiment. Step S15 shown in FIG. 8 will be described in detail with reference to FIG. In step S51, the pseudo data evaluation unit 116 starts the process of repeating steps S52 to S58 for each piece of pseudo data in the pseudo data repository 140. Hereinafter, the pseudo data that is the processing target of this repeated process will be referred to as pseudo data to be processed.
[0048] In step S52, the pseudo data evaluation unit 116 classifies the pseudo data to be processed using the classification model (first classification model) to obtain a label of "healthy" or "abnormal." In step S53, if the classification in step S52 is successful (step S53→YES), the pseudo-data evaluation unit 116 proceeds to step S55, and if it is unsuccessful (step S53→NO), the pseudo-data evaluation unit 116 proceeds to step S54. A classification failure occurs when the classification threshold is high and the sample cannot be classified as either "healthy" or "abnormal."
[0049] In step S54, the pseudo data evaluation unit 116 deletes the pseudo data to be processed from the pseudo data repository 140. The pseudo data evaluation unit 116 returns the process to step S52 and processes the next pseudo data. In step S55, the pseudo data evaluation unit 116 stores the label acquired in step S52 in the label column of the pseudo data to be processed in the pseudo data repository 140 (see FIG. 3).
[0050] In step S56, the model generation unit 111 generates a classification model using, as training data, the data in the training data repository 130 and the pseudo data to be processed that has been assigned labels in step S55. In step S57, the accuracy calculation unit 115 evaluates the accuracy of the classification model generated in step S56. In step S58, the pseudo data evaluation unit 116 outputs a pseudo data evaluation screen (see FIG. 13, which will be described later).
[0051] <Pseudo data evaluation screen> FIG. 13 is a screen configuration diagram of a pseudo data evaluation screen 310 according to this embodiment. Area 311 of the pseudo data evaluation screen 310 displays data and pseudo data in a low-dimensional vector space, which is a vector space in which the data and pseudo data exist, reduced in dimension for visualization. In FIG. 13, data of the "normal" class, represented by white circles, data of the "abnormal" class, represented by black circles, and pseudo data, represented by triangles, are displayed in a data space (a numerical vector space of feature quantities) reduced to two dimensions. The white and black circles connected by a solid line are data that define the boundary (see step S23 in FIG. 9). The area surrounded by the solid and dashed lines is the boundary area.
[0052] Hatched triangles among the pseudo data indicate data that the user has selected as additional learning data. Triangles with thick borders are pseudo data that the user has specified, for example, with a mouse. Area 312 displays whether the pseudo data has been selected as additional learning data, its label, deviation, and additional accuracy. The number in parentheses next to the label is the reliability when the pseudo data label is obtained using the classification model. The pseudo data displayed in area 311 is pseudo data that has been successfully classified by the classification model (first classification model) (see step S53 → YES), and its reliability is equal to or greater than a threshold (see the threshold in the parameter database 160 shown in Figure 4).
[0053] Although the pseudo data specified in Figure 13 is not selected, the pseudo data can be selected as additional training data by clicking the black triangle to the right of the "Not Selected" display. Also, all pseudo data can be selected by pressing the "Select All" button. For example, the user can select highly reliable pseudo data by setting a high reliability threshold (see the threshold of the parameter database 160 shown in Figure 4) when classifying using a classification model.
[0054] When the "Display Data" button in area 313 is pressed, the specified pseudo data is displayed. The pseudo data is time-series data showing the positions of the joints, and a video showing the movement of the joints is displayed (see Figure 14, described later). For example, the user can set a low threshold and select pseudo data with low reliability after checking the class with the video.
[0055] The label of the pseudo-data specified in Figure 13 is "normal," but by clicking the black triangle to the right of "normal," the label can be changed to "abnormal." Users can correct the label by pressing the "Display Data" button and viewing the displayed video.
[0056] The solid line displayed in area 311 and labeled with, for example, "Accuracy 0.80" is the equal accuracy line. Based on the additional accuracy of the pseudo data, the pseudo data evaluation unit 116 calculates the additional accuracy of points, for example, between two pseudo data or between pseudo data and data ("healthy" / "abnormal" data), for example, by linear interpolation, and calculates and displays an equal accuracy line by connecting points with equal additional accuracy. Note that the additional accuracy of the data is the accuracy of the classification model (first classification model) when the data in the training data repository 130 is used as training data before the pseudo data is added.
[0057] As described above, the label assigned to the pseudo data is the label of the class into which the pseudo data is classified using the first classification model. The label assigned to the pseudo data is a label of a class that has a reliability equal to or greater than a predetermined value when the pseudo data is classified using the first classification model.
[0058] <<Pseudo data display screen>> 14 is a diagram showing the screen layout of the pseudo data display screen 320 according to this embodiment. When the play button at the bottom right of the pseudo data display screen 320 is pressed, a video showing the movement of the joints is displayed. Note that in FIG. 14, pseudo data was specified on the pseudo data evaluation screen 310 (see FIG. 13), so a video of the specified pseudo data is displayed, but if "normal" / "abnormal" data is specified, a video of the specified data will be displayed.
[0059] <Characteristics of the data generator> The data generating device 100 identifies data that defines a boundary from the data of two classes and generates pseudo data that are candidates for addition to the training data. The data generating device 100 corrects the pseudo data so that the constraints are satisfied (so that the deviation is equal to or less than a predetermined value), and obtains additional accuracy.
[0060] The data generating device 100 generates pseudo data between data that defines a boundary between two classes of data. In other words, the pseudo data is generated in an area of the data space where no existing training data exists and it is unclear which class the data belongs to. By including such pseudo data in the training data, it is possible to expect an improvement in the accuracy of the classification model.
[0061] Using the data generation device 100, users can generate pseudo data to add to training data without collecting data in the field. The pseudo data has a deviation value below a predetermined value, and outlying data that does not actually exist is excluded. Users can select pseudo data to add to training data and select labels for the pseudo data by referring to the position of the pseudo data in the data space, the displayed data (video displayed on the pseudo data display screen 320 shown in FIG. 14), and the reliability when classified using the classification model (first classification model). Adding such pseudo data to training data is expected to improve the accuracy of the classification model.
[0062] <<Variation: Number of classes>> The classification model in the above embodiment has two classes: "healthy" and "abnormal." When classifying into three or more classes, pseudo data may be generated between all pairs of classes by performing a data generation process (see FIG. 8). Alternatively, pseudo data may be generated by performing a data generation process between two classes specified by the user.
[0063] <<Variation: Pseudo Data Generation>> The pseudo data generation unit 113 generates pseudo data on a line segment connecting data that defines the boundary between two classes (see step S33 in FIG. 10). The pseudo data generation unit 113 may use points on a predetermined number of line segments (see M pairs in step S22 in FIG. 9) from the shortest line segment connecting data of two classes as pseudo data. This means that pseudo data is generated between data of two classes that are close to each other, and pseudo data that is difficult to classify as to which class it belongs to is generated. Adding such pseudo data to the training data can be expected to improve the accuracy of the classification model.
[0064] As described above, the pseudo data generation unit 113 selects the data that are the endpoints of a predetermined number of line segments, starting from the shortest, among the line segments connecting data with different labels in two classes with different labels (see step S21 in Figure 9), as data that defines the boundary between the two classes (see steps S22 and S23), and selects points on the line segments that define the boundary and connect two data with different labels as pseudo data (see steps S32 and S33 in Figure 10). Furthermore, the pseudo data generating unit 113 sets as pseudo data points on a predetermined number of line segments from the shortest line segment among line segments connecting data with different labels in two classes with different labels.
[0065] <<Variation: Equal Accuracy Lines>> The lines of equal precision displayed on the pseudo data evaluation screen 310 (see FIG. 13) are drawn within the boundary area. The data generation device 100 may generate pseudo data outside the boundary area and obtain additional precision for the pseudo data, thereby extending the lines of equal precision to display outside the boundary area. 13, the low-dimensional vector space is two-dimensional, but it may be three-dimensional. In this case, the lines of equal precision become planes of equal precision.
[0066] Other variations Although several embodiments of the present invention have been described above, these embodiments are merely illustrative and do not limit the technical scope of the present invention. The present invention can take on various other embodiments, and various modifications such as omissions and substitutions can be made without departing from the spirit of the present invention. These embodiments and their modifications are included within the scope and spirit of the invention described in this specification, etc., and are included in the invention described in the claims and their equivalents.
[0067] <Hardware configuration> The data generating device 100 according to the above embodiment is realized by a computer 900 having a configuration as shown in FIG. 15, for example. FIG. 15 is a hardware configuration diagram showing an example of the computer 900 that realizes the functions of the data generating device 100 according to the above embodiment. The computer 900 includes a CPU 901, a ROM 902, a RAM 903, an SSD 904, an input / output interface 905 (referred to as an input / output I / F (Interface) in FIG. 15), a communication interface 906 (referred to as a communication I / F in FIG. 15), and a media interface 907 (referred to as a media I / F in FIG. 15). The computer 900 may include an HDD (Hard Disc Drive) instead of the SSD 904, or may include an HDD in addition to the SSD 904.
[0068] The CPU 901 operates based on a program stored in the ROM 902 or the SSD 904, and performs control by the control unit 110 in Fig. 1. The ROM 902 stores a boot program executed by the CPU 901 when the computer 900 starts up, programs related to the hardware of the computer 900, and the like.
[0069] The CPU 901 controls an input device 910 such as a mouse or keyboard, and an output device 911 such as a display or printer, via an input / output interface 905. The CPU 901 acquires data from the input device 910 via the input / output interface 905, and outputs generated data to the output device 911.
[0070] The SSD 904 stores programs executed by the CPU 901 and data used by the programs. The communication interface 906 receives data from other devices (not shown) via a communication network and outputs the data to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network.
[0071] The media interface 907 reads a program or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads the program from the recording medium 912 onto the RAM 903 via the media interface 907 and executes the loaded program. The recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disk), a magneto-optical recording medium such as an MO (Magneto Optical disk), a magnetic recording medium, a conductive memory tape medium, a semiconductor memory, or the like.
[0072] For example, when the computer 900 functions as the data generating device 100 according to the above-described embodiment, the CPU 901 of the computer 900 executes a program 128 (see FIG. 1) loaded onto the RAM 903, thereby realizing the functions of the data generating device 100. The CPU 901 reads the program from a recording medium 912 and executes it. Alternatively, the CPU 901 may read the program from another device via a communication network, or may install the program 128 from the recording medium 912 onto the SSD 904 and execute it. [Explanation of symbols]
[0073] 100 Data generation device 111 Model Generation Unit 112 Boundary identification part 113 Pseudo Data Generation Unit 114 Pseudo Data Correction Unit 115 Accuracy Calculation Unit 116 Pseudo Data Evaluation Unit 130 Learning Data Repository 139 Evaluation Data Repository 140 Pseudo Data Repository 150 model database 160 parameter database 170 Data Constraint Database 310 Pseudo Data Evaluation Screen
Claims
1. A vector of feature quantities to which a label indicating a class to which the feature quantity belongs is used as data, and two pieces of data having different labels are selected from a data group indicating a collection of the data. a pseudo data generation unit that generates points on a line segment connecting the two data in a vector space that is a space of vectors as pseudo data of the data group; Data generation device.
2. The system further includes a pseudo data correction unit that changes the feature amount of the pseudo data so that the deviation degree, which is the degree to which the feature amount of the data deviates from the constraint condition, is equal to or less than a predetermined value. The data generating device according to claim 1 .
3. an accuracy calculation unit that evaluates the accuracy of a first classification model, which is a machine learning model generated using the data group as training data, and the accuracy of a second classification model, which is a machine learning model generated using the data group and the pseudo data to which the label is assigned as training data, and the additional accuracy of the pseudo data; The pseudo data generation unit Generate multiple pseudo data sets, The method further includes a pseudo data evaluation unit that calculates an equal precision plane, which is a hyperplane indicating the position of pseudo data in a low-dimensional vector space obtained by reducing the dimension of the vector space, where the additional precision is equal, based on the additional precision of the plurality of pseudo data. The data generating device according to claim 1 .
4. The label assigned to the pseudo data is is the class label when the pseudo data is classified using the first classification model. The data generating device according to claim 3 .
5. The label assigned to the pseudo data is The reliability of the classification of the pseudo data using the first classification model is equal to or greater than a predetermined value. The data generating device according to claim 4.
6. the low-dimensional vector space is two-dimensional; The pseudo data evaluation unit The equal precision plane is calculated as an equal precision line. The data generating device according to claim 3 .
7. The pseudo data generation unit In the two classes with different labels, among the line segments connecting the data with different labels, data that are end points of a predetermined number of line segments from the shortest length are set as data that define the boundary between the two classes, The data defining the boundary and a point on the line segment connecting the two data with different labels is taken as the pseudo data. The data generating device according to claim 1 .
8. The pseudo data generation unit In the two classes with different labels, among the line segments connecting the data with different labels, a point on a predetermined number of line segments from the shortest one is set as the pseudo data. The data generating device according to claim 1 .
9. The data generating device A vector of feature quantities to which a label indicating a class to which the feature quantity belongs is used as data, and two pieces of data having different labels are selected from a data group indicating a collection of the data. A step of generating points on a line segment connecting the two data in a vector space, which is a space of vectors, as pseudo data of the data group is executed. Data generation method.
Citation Information
Patent Citations
Data classification apparatus, data classification method, data classification program and electronic equipment
JP2009251810A
Data classifier, data classification method, and program
JP2017151933A