WO2021111540A1 - 評価方法、評価プログラム、および情報処理装置 - Google Patents

評価方法、評価プログラム、および情報処理装置 Download PDF

Info

Publication number
WO2021111540A1
WO2021111540A1 PCT/JP2019/047358 JP2019047358W WO2021111540A1 WO 2021111540 A1 WO2021111540 A1 WO 2021111540A1 JP 2019047358 W JP2019047358 W JP 2019047358W WO 2021111540 A1 WO2021111540 A1 WO 2021111540A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
training data
machine learning
training
contamination
Prior art date
Application number
PCT/JP2019/047358
Other languages
English (en)
French (fr)
Inventor
俊也 清水
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to EP19955354.6A priority Critical patent/EP4071641A4/en
Priority to CN201980102678.1A priority patent/CN114746859A/zh
Priority to PCT/JP2019/047358 priority patent/WO2021111540A1/ja
Priority to JP2021562247A priority patent/JP7332949B2/ja
Publication of WO2021111540A1 publication Critical patent/WO2021111540A1/ja
Priority to US17/750,641 priority patent/US20220277174A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to an evaluation method, an evaluation program, and an information processing device.
  • the computer system includes a machine learning system that performs machine learning based on the collected information.
  • Machine learning systems use machine learning to generate, for example, trained models for analyzing information.
  • the machine learning system can then use the generated trained model to provide services such as information analysis.
  • an attack may be launched by a malicious third party against the machine learning system.
  • One of the attacks on machine learning is an attack called poisoning.
  • Poisoning is an attack that intentionally modifies a trained model by mixing unusual data (contamination data) into the training data.
  • an information identification method that can detect maliciously created false pass data with high accuracy in the process of examining and assessing application documents by supervised machine learning is proposed. Has been done.
  • this information identification method in response to the value of the statistical data calculated using the learning data including the time and the test data including the time exceeding a predetermined threshold value, the possibility of an attack by invalid data is warned. Will be done.
  • This method can be applied only when the training data includes the time, and is not versatile.
  • the technology for detecting pollution data using the distribution of normal data cannot be applied when the normal data is unknown, and if the data treated as normal is contaminated if the pollution data is mixed. Data cannot be detected correctly. Moreover, with this technique, it is difficult to detect contamination data that is distributed in a range close to normal data. As described above, conventionally, it may be difficult to detect the contamination data, and the detection accuracy of the contamination data is not sufficient. That is, even if pollution data for the purpose of attacking machine learning is mixed in the training data, it is difficult to detect the pollution data, and it is appropriate whether the training data has aggression against machine learning. It is difficult to judge.
  • One proposal provides an evaluation method in which a computer performs the following processing.
  • the computer generates a plurality of subsets including one or more training data based on a set of a plurality of training data including a set of input data for machine learning and a label.
  • the computer generates a trained model for estimating the label from the input data by performing machine learning using the training data included in the subset for each subset.
  • the computer evaluates the aggression of the training data contained in the subset to machine learning based on the estimation accuracy of the trained model generated using the training data contained in the subset.
  • the first embodiment is an evaluation method for evaluating the aggression to machine learning by the training data included in the subset for each subset generated from the set of training data used for machine learning. If the aggression can be properly evaluated for each subset, the detection accuracy of training data (contamination data) generated for attacks on machine learning such as poisoning attacks can be improved.
  • FIG. 1 is a diagram showing an example of an evaluation method according to the first embodiment.
  • FIG. 1 shows an example in which an evaluation method for evaluating aggression to machine learning based on training data is carried out using the information processing apparatus 10.
  • the information processing apparatus 10 can carry out the evaluation method by executing, for example, an evaluation program in which a predetermined processing procedure is described.
  • the information processing device 10 has a storage unit 11 and a processing unit 12.
  • the storage unit 11 is, for example, a memory or a storage device included in the information processing device 10.
  • the processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10.
  • the storage unit 11 stores a plurality of training data 1a, 1b, ... Used for machine learning.
  • Training data 1a, 1b, ... Each includes a set of input data for machine learning and a label.
  • the label is information (correct answer data) indicating the correct answer when the input data is classified. For example, when the input data is an e-mail and it is estimated by machine learning whether it is a spam mail or not, the label indicates whether the input data is a spam mail or not.
  • the processing unit 12 detects training data that is likely to have an aggression to machine learning from the training data 1a, 1b, ... Stored in the storage unit 11. For example, the processing unit 12 detects the training data generated for the poisoning attack. Specifically, the processing unit 12 performs the following processing.
  • the processing unit 12 generates a plurality of subsets 3a, 3b including one or more training data based on the set 1 of the training data 1a, 1b, .... Next, the processing unit 12 performs machine learning using the training data included in the subsets 3a and 3b for each subset 3a and 3b, so that the trained models 4a and 4b for estimating the label from the input data are performed. To generate. Then, the processing unit 12 is included in the subsets 3a and 3b for each subset 3a and 3b based on the estimation accuracy by the trained models 4a and 4b generated by using the training data included in the subsets 3a and 3b. Evaluate the aggression of training data to machine learning.
  • the processing unit 12 increases the aggression of the training data contained in the subsets 3a and 3b to machine learning as the estimation accuracy of the plurality of trained models 4a and 4b generated based on the subsets 3a and 3b is lower. I highly appreciate it.
  • the pollution data 2 is mixed in the training data 1a, 1b, ...
  • the pollution data 2 is included in one of the generated subsets 3a, 3b.
  • the trained model 4a generated using the training data of the subset 3a containing the pollution data 2 has a higher label estimation accuracy than the trained model 4b generated using the training data of the subset 3b not including the pollution data 2. Will be low. This is because the contamination data 2 is created for the purpose of degrading the accuracy of the trained model.
  • the processing unit 12 transfers the training data used for generating the trained model 4a to machine learning rather than the training data used for generating the trained model 4b. Highly appreciate the aggression of. As a result, it can be correctly estimated that the contamination data 2 is mixed in the subset 3a. That is, the aggression of training data to machine learning is appropriately evaluated.
  • the processing unit 12 If a large amount of training data is still included in the subset 3a, it is difficult to identify the contamination data 2 from those training data.
  • the processing unit 12 generates subsets 3a and 3b based on a set of training data included in a predetermined number of subsets 3a from the one with the highest aggression shown in the evaluation, and trained model 4a, The generation and evaluation of 4b are repeated. By repeatedly executing these series of processes, the number of training data of the subset including the contamination data is also reduced. When the number of training data of the subset including the contamination data becomes equal to or less than a predetermined number, the processing unit 12 ends the repetition of the series of processing. Then, the processing unit 12 outputs, for example, a list of training data included in the subset having the highest aggression in the final evaluation as a contamination data candidate.
  • the processing unit 12 can delete the corresponding training data from the storage unit 11 and prevent the contamination data 2 from being used for machine learning.
  • the processing unit 12 uses clustering to classify the training data into one of a plurality of clusters based on the similarity between the training data 1a, 1b, ... Can also be generated. For example, the processing unit 12 clusters the training data 1a, 1b, ..., And for the training data classified into each of a predetermined number of clusters from the one with the smallest number of training data, the clusters to which they belong share the same training data. Included in a subset of.
  • the plurality of contamination data 2 can be included in the same subset. That is, a plurality of contamination data 2 often have common characteristics, and are classified into the same cluster in clustering.
  • the amount of contamination data 2 mixed in the training data 1a, 1b, ... Is not too large so that the attacker does not notice that the attack is being made by the administrator of the machine learning system. It is thought that it will be. Therefore, the cluster containing the contamination data 2 has a smaller number of training data to which it belongs than the other clusters.
  • a plurality of pollution data 2 are a common subset. Is included in.
  • the processing unit 12 may repeatedly generate the subsets 3a and 3b, generate the trained models 4a and 4b, and evaluate the trained models 4a and 4b. In this case, each time the processing unit 12 performs the evaluation, the processing unit 12 is a contamination candidate for the training data included in a predetermined number of subsets (for example, the subset 3a having the highest aggression) from the one with the highest aggression shown in the evaluation. Add points. Then, the processing unit 12 outputs a predetermined number of training data from the one with the highest contamination candidate point.
  • contamination candidate points By adding contamination candidate points to the training data included in the subset evaluated as having high aggression in this way, for example, there are a plurality of contamination data 2, and the contamination data 2 are a plurality of portions. Contamination data 2 can be detected even if it is dispersed in the sets 3a and 3b. That is, by repeating the generation, training, evaluation of the subsets 3a and 3b, and the addition of the contamination candidate points to the training data in the subset evaluated as having high aggression, the contamination candidate points of the contamination data 2 become large. Become. As a result, the processing unit 12 can detect a predetermined number of training data as the contamination data 2 from the one having the highest contamination candidate point.
  • a second embodiment is a machine learning system that detects one or more training data that may include contamination data used in a poisoning attack from the training dataset and notifies the administrator.
  • FIG. 2 is a diagram showing an example of a computer system including a machine learning system.
  • the machine learning system 100 is connected to a plurality of user terminals 31, 32, ..., For example, via a network 20.
  • the machine learning system 100 analyzes, for example, a query sent from user terminals 31, 32, ... Using a trained model, and transmits the analysis result to user terminals 31, 32, .... User terminals 31, 32, ...
  • a model generated by machine learning are computers used by users who receive services using a model generated by machine learning.
  • FIG. 3 is a diagram showing an example of the hardware of the machine learning system.
  • the entire device is controlled by the processor 101.
  • a memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109.
  • the processor 101 may be a multiprocessor.
  • the processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor).
  • At least a part of the functions realized by the processor 101 executing the program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).
  • ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device
  • the memory 102 is used as the main storage device of the machine learning system 100. At least a part of the OS (Operating System) program and the application program to be executed by the processor 101 is temporarily stored in the memory 102. Further, various data used for processing by the processor 101 are stored in the memory 102.
  • a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.
  • Peripheral devices connected to the bus 109 include a storage device 103, a graphic processing device 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
  • the storage device 103 electrically or magnetically writes and reads data to and from the built-in recording medium.
  • the storage device 103 is used as an auxiliary storage device for a computer.
  • the storage device 103 stores an OS program, an application program, and various data.
  • an HDD Hard Disk Drive
  • an SSD Solid State Drive
  • a monitor 21 is connected to the graphic processing device 104.
  • the graphic processing device 104 causes the image to be displayed on the screen of the monitor 21 in accordance with the instruction from the processor 101.
  • the monitor 21 includes a display device using an organic EL (Electro Luminescence), a liquid crystal display device, and the like.
  • a keyboard 22 and a mouse 23 are connected to the input interface 105.
  • the input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101.
  • the mouse 23 is an example of a pointing device, and other pointing devices can also be used. Other pointing devices include touch panels, tablets, touchpads, trackballs and the like.
  • the optical drive device 106 reads the data recorded on the optical disk 24 by using a laser beam or the like.
  • the optical disk 24 is a portable recording medium on which data is recorded so that it can be read by reflection of light.
  • the optical disk 24 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.
  • the device connection interface 107 is a communication interface for connecting peripheral devices to the machine learning system 100.
  • a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107.
  • the memory device 25 is a recording medium equipped with a communication function with the device connection interface 107.
  • the memory reader / writer 26 is a device that writes data to or reads data from the memory card 27.
  • the memory card 27 is a card-type recording medium.
  • the network interface 108 is connected to the network 20.
  • the network interface 108 transmits / receives data to / from another computer or communication device via the network 20.
  • the machine learning system 100 can realize the processing function of the second embodiment by the hardware as described above.
  • the device shown in the first embodiment can also be realized by the same hardware as the machine learning system 100 shown in FIG.
  • the machine learning system 100 realizes the processing function of the second embodiment, for example, by executing a program recorded on a computer-readable recording medium.
  • the program that describes the processing content to be executed by the machine learning system 100 can be recorded on various recording media.
  • a program to be executed by the machine learning system 100 can be stored in the storage device 103.
  • the processor 101 loads at least a part of the program in the storage device 103 into the memory 102 and executes the program.
  • the program to be executed by the machine learning system 100 can be recorded on a portable recording medium such as an optical disk 24, a memory device 25, and a memory card 27.
  • the program stored in the portable recording medium can be executed after being installed in the storage device 103 under the control of the processor 101, for example.
  • the processor 101 can also read and execute the program directly from the portable recording medium.
  • FIG. 4 is a diagram schematically showing machine learning.
  • the machine learning performed by the machine learning system 100 is divided into a training phase 40 and an inference phase 50.
  • the machine learning system 100 trains the empty model 41 by applying the training data set 42 to the empty model 41.
  • the empty model 41 may be a model that reflects all or part of the parameters trained with certain training data, such as transfer learning.
  • the training data set 42 includes, for example, a plurality of data including a set of input data 42a and a label 42b indicating correct output data (teacher data). Both the input data 42a and the label 42b are represented by a numerical string. For example, in the case of machine learning using an image, a numerical string representing the characteristics of the corresponding image is used as the input data 42a.
  • the machine learning system 100 applies the input data 42a in the training data set 42 to the empty model 41 for analysis, and obtains output data.
  • the machine learning system 100 compares the output data with the label 42b, and if they do not match, corrects the empty model 41.
  • the modification of the empty model 41 means, for example, modifying the parameters used in the analysis using the empty model 41 (weight parameters and biases of the input data to the unit in the case of a neural network) so that the output data approaches the correct answer. That is.
  • the machine learning system 100 can generate a trained model 43 in which the same output data as the label 42b can be obtained for a large amount of input data 42a by performing training using a large amount of training data set 42.
  • the trained model 43 is represented by, for example, an empty model 41 and parameters 44 of the model whose appropriate values have been set by training.
  • the machine learning system 100 executes the inference phase 50 using the trained model 43.
  • the machine learning system 100 accepts the input of the query 51 and uses the trained model 43 to obtain the output data 52 according to the query 51.
  • the machine learning system 100 outputs the estimation result of whether or not the email is spam as output data.
  • the input data is an image
  • the machine learning system 100 outputs, for example, the type of animal shown in the image as output data.
  • FIG. 5 is a diagram illustrating a poisoning attack.
  • the machine learning system 100 uses the training data set 42 in the training phase 40 to generate a trained model 43 that classifies the data into three groups according to the decision boundary 45.
  • the attacker 60 causes the machine learning system 100 to perform training using the training data set 61 operated for poisoning using the user terminal 31.
  • the training dataset 61 manipulated for poisoning contains contamination data 62 that would not be correctly estimated by the correct trained model 43.
  • the contamination data 62 is incorrectly labeled with respect to the input data.
  • the machine learning system 100 changes the decision boundary 45 according to the contamination data 62.
  • the changed decision boundary 45a has been changed in the wrong direction in order to adapt to the contamination data 62.
  • the trained model 43a after being attacked by poisoning is used in the inference phase 50, erroneous output data is output.
  • the attacker 60 can deteriorate the estimation accuracy in inference by performing a poisoning attack on the machine learning system 100. For example, when the machine learning system 100 uses the trained model 43a to filter the files input to the server, the estimation accuracy deteriorates and the input of files having a risk such as a virus is not filtered. May be allowed.
  • the machine learning system 100 generates a trained model for classifying whether or not it is spam mail.
  • the training data includes an email and a label.
  • Emails are text data and attachments contained in emails within the company.
  • the label is teacher data and binarizes whether the email is spam or not. For example, if the email is non-spam, the label value is "0", and if it is spam, the label value is "1".
  • the machine learning system 100 uses rule-based filtering to estimate the possibility that an email is spam.
  • the machine learning system 100 displays an e-mail that may be spam on a monitor, and prompts the administrator to estimate whether or not it is spam.
  • the administrator confirms the content of the displayed e-mail, determines whether or not the e-mail is spam, and inputs the determination result into the machine learning system 100.
  • the machine learning system 100 attaches the input label to the e-mail to be estimated, and uses the pair of the label and the e-mail as training data.
  • poisoning such as putting a specific word in general email data
  • This poisoned contamination data is normally labeled (giving a non-spam label "0") unless the particular word makes the labeling person feel uncomfortable.
  • the machine learning system 100 in the estimation phase, there is a possibility that an erroneous inference may be made for an email containing a specific word mixed in the spam email at the time of inference.
  • the machine learning system 100 divides the training data set into a plurality of sub-data sets, and trains the machine learning model for each sub-data set.
  • the partial data set is an example of the subsets 3a and 3b shown in the first embodiment.
  • the machine learning system 100 compares the inference accuracy of the trained model for each partial data set, and estimates that the partial data set in which the inaccurate trained model is generated contains the pollution data. In this way, by detecting the contamination data in consideration of the influence of the contamination data on the accuracy of the trained model, it is possible to detect the contamination data that affects the training accuracy.
  • FIG. 6 is a block diagram showing a function used for detecting contamination data in a machine learning system.
  • the machine learning system 100 includes a training data acquisition unit 110, a storage unit 120, a division unit 130, a training unit 140, an evaluation unit 150, and a narrowing unit 160.
  • the training data acquisition unit 110 acquires training data. For example, the training data acquisition unit 110 acquires an e-mail from a mail server when training a model for estimating whether or not the e-mail is spam. Then, the training data acquisition unit 110 accepts the input of the value of the label indicating whether or not the acquired e-mail is spam. For example, when the administrator of the machine learning system 100 inputs a label value, the training data acquisition unit 110 stores the set of the e-mail and the label in the storage unit 120.
  • the storage unit 120 stores the training data set 121 and the evaluation data set 122.
  • the training data includes input data to be input to the model and a label indicating the correct value of the output result.
  • the evaluation data set 122 is a set of evaluation data used for evaluating the trained model.
  • the evaluation data includes input data to be input to the model and a label indicating the correct answer value of the output result.
  • the storage unit 120 for example, a part of the storage area of the memory 102 or the storage device 103 is used.
  • the division unit 130 divides the training data set 121 into a plurality of partial data sets.
  • the ratio of the value of the label of the training data included in the training data set 121 and the ratio of the value of the label of the training data included in each partial data set after the division are about the same. Determine the training data contained in each sub-dataset.
  • the training unit 140 performs machine learning using the training data included in the partial data set for each partial data set generated by the division. This will generate a trained model for each sub-dataset.
  • the evaluation unit 150 evaluates the accuracy of label estimation by each trained model generated for each partial data set using the evaluation data set 122. For example, the evaluation unit 150 calculates the ratio at which the output data obtained by inputting the input data of the evaluation data included in the evaluation data set 122 into the trained model using the trained model matches the label of the evaluation data. .. The evaluation unit 150 evaluates that the higher the ratio of the output data matching the label, the higher the accuracy of the label estimation.
  • the evaluation unit 150 may use the partial data set generated by the division as the evaluation data set 122.
  • the narrowing-down unit 160 identifies an evaluation data set of training data that is likely to contain contamination data based on the evaluation result, and displays a list of training data included in the corresponding evaluation data set. For example, the refiner 160 identifies the evaluation data set used to generate the trained model with the lowest evaluation result as a set of training data that is likely to contain contamination data.
  • each element shown in FIG. 6 indicates a part of the communication path, and a communication path other than the shown communication path can be set. Further, the function of each element shown in FIG. 6 can be realized, for example, by causing a computer to execute a program module corresponding to the element.
  • FIG. 7 is a diagram showing an example of data stored in the storage unit.
  • the training data set 121 contains a record for each training data.
  • Each training data has a data number, input data and a label for identifying the training data.
  • the input data is the data for which the label is estimated in machine learning. For example, when performing machine learning to detect spam from an e-mail, the content described in the e-mail becomes the input data.
  • the label is teacher data (correct answer data) about the input data. For example, when machine learning for detecting spam from an e-mail is performed, a value indicating whether or not the corresponding e-mail is spam is set as a label.
  • the evaluation data set 122 contains a record for each evaluation data.
  • Each evaluation data has a data number, input data, and a label for identifying the evaluation data, similar to the training data.
  • the machine learning system 100 performs detection processing of contamination data from the training data included in the training data set 121.
  • FIG. 8 is a diagram showing an example of contamination data detection processing.
  • a plurality of training data 121a, 121b, ... Included in the training data set 121 are indicated by circles.
  • the machine learning system 100 divides the training data set 121 into partial data sets 71 to 73 containing one or more training data. Contamination data 121x is included in any of the evaluation datasets. In the example of FIG. 8, the partial data set 71 contains pollution data 121x.
  • the machine learning system 100 trains an empty model 41 (machine learning training phase) using the training data included in the corresponding set for each of the partial data sets 71 to 73.
  • trained models 43a, 43b, 43c are generated for each of the partial data sets 71 to 73.
  • the machine learning system 100 evaluates the accuracy of label estimation by the generated trained models 43a, 43b, 43c using the evaluation data set 122.
  • FIG. 9 is a diagram showing an example of accuracy evaluation processing.
  • the machine learning system 100 infers the label of the input data of the evaluation data set 122, for example, using the trained model 43a.
  • the inference result is output as output data 53.
  • the machine learning system 100 compares the value of the label included in the evaluation data as the teacher data with the value of the output data for each evaluation data in the evaluation data set 122, and determines whether or not they match.
  • the machine learning system 100 uses, for example, the matching rate of the labels of the evaluation data as the evaluation result of the accuracy of the trained model 43a.
  • the match rate is a value obtained by dividing the number of evaluation data in which the label that is the teacher data and the label shown in the output data match by the number of evaluation data in the evaluation data set 122. In this case, the higher the concordance rate, the better the accuracy of the trained model 43a.
  • the machine learning system 100 similarly evaluates the other trained models 43b and 43c using the evaluation data set 122.
  • the contamination data 121x contained in the training data set 121 degrades the accuracy of the trained model generated.
  • the trained model 43a obtained by training using the partial data set 71 including the contamination data 121x is inferior in label estimation accuracy to the other trained models 43b and 43c. That is, the evaluation result of the accuracy of the trained model 43a becomes low.
  • the machine learning system 100 acquires the partial data set 71 used for training the trained model 43a having the lowest accuracy evaluation result, replaces the training data set 121 with the partial data set 71, and divides, trains, and evaluates the accuracy. I do. Similarly, the machine learning system 100 repeats division, training, and accuracy evaluation for the set used to generate the trained model having the lowest accuracy evaluation.
  • the machine learning system 100 When a predetermined end condition is satisfied after the accuracy evaluation, the machine learning system 100 includes pollution data in the training data included in the set used to generate the trained model having the lowest evaluation in the accuracy evaluation. Is determined. For example, the machine learning system 100 determines that the termination condition is satisfied when the number of training data included in the set used to generate the trained model having the lowest evaluation of accuracy is less than or equal to a predetermined number. Further, the machine learning system 100 may determine that the end condition is satisfied when the number of repetitions of division, training, and accuracy evaluation reaches a predetermined number of times.
  • the evaluation data set 122 contains contamination data
  • an appropriate evaluation can be performed using the evaluation data set 122 as long as the contamination data is small. That is, even if the evaluation data set 122 contains a small amount of contamination data, the effect of the contamination data acts equally on each of the plurality of trained models 43a, 43b, 43c. Therefore, even if the evaluation data set 122 contains a small amount of contamination data, the training model with the lowest accuracy can be correctly identified by comparing the evaluation results relatively among the plurality of trained models 43a, 43b, 43c. it can. Therefore, it is not necessary to prepare normal data that is not completely contaminated as the evaluation data set 122.
  • FIG. 10 is a flowchart showing an example of the procedure of the contamination data detection process.
  • the process shown in FIG. 10 will be described along with the step numbers.
  • the division unit 130 acquires the training data set 121 and the evaluation data set 122 from the storage unit 120. Then, the division unit 130 sets the training data in the acquired training data set 121 in the data set (training data set X t ) to be trained. Further, the division unit 130 sets the acquired evaluation data set 122 as a data set (evaluation data set X v ) used for evaluation of the trained model. Further, the division unit 130 sets a value specified in advance to the threshold value T of the number of data indicating the end condition of the contamination data detection process.
  • the division unit 130 divides the training data set X t into a plurality of partial data sets, and generates partial data sets X 1 , ..., X n.
  • the training data set X t is [(x 1, y 1) , (x 2, y 2), ⁇ , (x m, y m)] (m is an integer of 1 or more) It shall be given.
  • the division unit 130 randomly distributes each training data to one of a plurality of partial data sets.
  • the division unit 130 ensures that each training data included in the training data set X t is included in at least one partial data set. Each training data may be included in a plurality of partial data sets.
  • the evaluation unit 150 evaluates the accuracy of each of the trained models M i using the evaluation data set X v.
  • the narrowing-down unit 160 includes the number of training data N (N is 1 or more) included in the training data set X j used for training the trained model M j (j is an integer of 1 or more and n or less) having the worst accuracy. Integer) is calculated.
  • Step S106 The narrowing-down unit 160 determines whether or not the number of training data N is equal to or less than the threshold value T. If the number of training data N is equal to or less than the threshold value T, the narrowing-down unit 160 proceeds to step S108. If the number of training data N exceeds the threshold value T, the narrowing-down unit 160 proceeds to step S107.
  • Step S107 The narrowing-down unit 160 newly sets the training data set X j to the training data set X t to be trained. Then, the narrowing-down unit 160 advances the process to step S102. Thereafter, the dividing unit 130, the training unit 140, the evaluation unit 150 and the narrowing portion 160, the processing of steps S102 ⁇ S106 by using the training data set X t after update is repeated.
  • the narrowing-down unit 160 outputs the training data set X j as a set of training data that is likely to include contamination data. For example, the narrowing unit 160 displays a list of training data included in the training data set X j on the monitor 21 as a contamination data candidate list.
  • the pollution data near the normal training data is the pollution data having a high degree of similarity to the normal training data.
  • the input data of the training data is an e-mail, for example, an e-mail in which a specific phrase intentionally inserted that is not noticed by the general public as pollution data is mixed in the training data set as pollution data. It may be.
  • This contamination data is indistinguishable from normal non-spam email, except that it contains certain words, and the label is also set to a value "0" indicating non-spam.
  • a trained model trained with such pollution data is less accurate than a trained model trained with normal training data due to the presence of certain words that are intentionally inserted. That is, using a trained model trained with pollution data to infer whether an email with a particular phrase is spam, it is presumed that the email is spam, but not spam. The probability of doing so increases. As a result, the estimated accuracy of the trained model is lower than that of other trained models. Therefore, the machine learning system 100 can determine that the training data set used for training the inaccurate trained model is likely to contain contamination data. Then, the machine learning system 100 repeatedly narrows down the training data set including the pollution data, so that the pollution data can be detected even if the pollution data is near the normal training data.
  • the narrowing down unit 160 displays the pollution data candidate list on the monitor 21 when the narrowing down of the training data that is likely to include the pollution data is completed.
  • the manager of the machine learning system 100 investigates the contamination data or removes the contamination data from the training data set 121 based on the contamination data candidate list.
  • FIG. 11 is a diagram showing an example of a contamination data candidate list.
  • the contamination data candidate list 77 a list of training data included in the training data set after narrowing down by the narrowing down unit 160 is displayed.
  • the administrator of the machine learning system 100 refers to the contamination data candidate list 77 and identifies the training data (contamination data) used in the poisoning attack. For example, the manager confirms the content of the training data included in the contamination data candidate list 77 in detail, and identifies the contamination data based on the presence or absence of unnatural information.
  • the administrator deletes, for example, the identified contamination data from the storage unit 120.
  • the administrator can also delete all the training data included in the contamination data candidate list 77 from the storage unit 120 because they are likely to be contamination data. By deleting the training data that has been confirmed to be contamination data or the training data that is likely to be contamination data from the storage unit 120, the training data set 121 in the storage unit 120 has been used for high-precision training. Models can be generated.
  • contamination data can be easily detected. That is, since the machine learning system 100 detects the contamination data in consideration of the influence of the contamination data on the trained model, it is possible to detect the contamination data which is difficult to detect by the conventional poisoning detection.
  • the third embodiment differs from the second embodiment in that a clustering technique is used when the training data set 121 is divided into a plurality of partial data sets.
  • a clustering technique is used when the training data set 121 is divided into a plurality of partial data sets.
  • the division unit 130 randomly determines a partial data set including training data.
  • the training data is randomly assigned to the partial data set, one partial data set including the pollution data and another partial data set not including the pollution data are generated.
  • the estimation accuracy is superior or inferior based on the presence or absence of contamination data.
  • a partial dataset containing contamination data can be identified.
  • the pollution data will be evenly assigned to each of the multiple partial datasets. It ends up. If each sub-dataset contains a similar number of pollution data, there will be no difference in estimation accuracy between the trained models for each sub-dataset generated using the training data for each sub-dataset. .. In this case, if the partial data set that may contain the contamination data is determined to be one of them, the contamination data contained in the other partial data sets cannot be detected.
  • the machine learning system 100 clusters the training data included in the training data set and collects similar training data into one cluster. Clustering groups contaminated data into different clusters than non-polluted data. When the machine learning system 100 includes training data in a cluster containing pollution data in the same sub-dataset, much of the pollution data is combined in one sub-dataset.
  • FIG. 12 is a diagram showing an example of dividing a training data set using clustering.
  • a plurality of training data 81a, 81b, ... Included in the training data set 80 are shown by label values.
  • the training data with the label "0" is represented by a white circle, and the training data with the label "1" is represented by a black circle.
  • Contamination data 82, 83 are mixed in the plurality of training data 81a, 81b, ....
  • the machine learning system 100 classifies the training data in such a training data set 80 into a plurality of clusters 84a to 84e by clustering. In this case, the contamination data 82, 83 are classified into the same cluster 84a. After that, the machine learning system 100 distributes the training data of each of the plurality of clusters 84a to 84e to any of the plurality of partial data sets 84 and 85.
  • the training data belonging to the cluster having the smallest number of training data among the plurality of clusters 84a to 84e is distributed to the same partial data set.
  • the clusters 84a, 84b, and 84c all have two training data, and the number of training data is the smallest. Therefore, the machine learning system 100 distributes the training data in the cluster 84a to the same partial data set 84. Similarly, the machine learning system 100 distributes the training data in the cluster 84b to the same sub data set 84 and the training data in the cluster 84c to the same sub data set 85.
  • the machine learning system 100 distributes the training data in the remaining clusters 84d and 84e to any of the partial data sets 84 and 85. At this time, the machine learning system 100 sets the cluster 84d so that the ratio of the training data labels in the original training data set 80 and the ratio of the training data labels in the partial data set generated after the division are about the same. , 84e The training data is distributed.
  • the training data set 80 there are 12 training data with the label “0” and 10 training data with the label “1”. Then, the ratio of the training data of the label “0” to the training data of the label “1” in the training data set 80 is 6: 5. Therefore, the machine learning system 100 is in the clusters 84d and 84e so that the ratio of the training data of the label “0” to the training data of the label “1” is 6: 5 in each of the partial data sets 84 and 85. The training data is distributed to the partial data sets 84 and 85.
  • the training data set 80 can be divided into a plurality of partial data sets 84 and 85.
  • the contamination data 82 and 83 of the training data are aggregated into one partial data set 84.
  • the machine learning system 100 After generating the partial data sets 84 and 85 by the division process, the machine learning system 100 generates a trained model for each of the partial data sets 84 and 85 and evaluates the accuracy, as in the second embodiment.
  • FIG. 13 is a diagram showing an example of generating a trained model for each partial data set after division.
  • the machine learning system 100 trains the model based on the training data contained in the partial data set 84 and generates the trained model 43d.
  • the machine learning system 100 trains the model based on the training data included in the partial data set 85 to generate the trained model 43e. Then, the machine learning system 100 evaluates the accuracy of each of the trained models 43d and 43e.
  • the trained model 43d generated using the training data in the partial data set 84 was generated using the training data in the partial data set 85.
  • the estimation accuracy is worse than that of the trained model 43e. That is, it can be correctly determined that the contamination data 82 and 83 are included in the partial data set 84.
  • the machine learning system 100 uses the training data included in the partial data set 84 as a new training data set, and repeats processing such as division processing of the training data set using clustering. As a result, even when a plurality of pollution data 82, 83 exist, it is possible to output a partial data set including the pollution data 82, 83 as a pollution data candidate list.
  • the machine learning system 100 prevents the difference in the appearance ratio of the labels from affecting the accuracy of the trained model by making the appearance ratio of the labels the same between the divided partial data sets 84 and 85.
  • FIG. 14 is a flowchart showing an example of the procedure of the contamination data detection process in the third embodiment.
  • the processing of steps S201, S203 to S208 shown in FIG. 14 is the same as the processing of steps S101, S103 to S108 in the second embodiment shown in FIG. Therefore, the only difference from the second embodiment is the process of step S202 below.
  • FIG. 15 is a flowchart showing an example of a procedure of training data set division processing using clustering. Hereinafter, the process shown in FIG. 15 will be described along with the step numbers.
  • Step S211 dividing unit 130 performs clustering of non teacher type, or semi-supervised types for training data set X t, to generate a plurality of clusters that include training data contained the training data set X t.
  • the division unit 130 can use, for example, a k-means method (k-means), a kd tree (kd tree), or the like as a clustering algorithm. These clustering algorithms are useful when the number of clusters is determined in advance and clustering is performed in the determined number of clusters. When the number of clusters to be generated is indefinite, the division unit 130 can use, for example, x-means or DBSCAN as a clustering algorithm.
  • the division unit 130 can perform clustering after performing dimension reduction (or feature amount extraction).
  • Such algorithms include PCA (principal component analysis), latent variable extraction using an autoencoder, and LDA (Latent Dirichlet Allocation).
  • Step S212 The division unit 130 sets the generated clusters as partial data sets X 1 , ..., X n in ascending order of the number of training data to which they belong. For example, the division unit 130 counts the number of training data to which each of the generated clusters belongs. Next, the division unit 130 arranges the generated clusters in ascending order of the number of training data. Then, the division unit 130 sets a set of training data belonging to the i-th cluster as a partial data set X i .
  • Step S213 In the division unit 130, the ratio of the total of the training data from the partial data sets X 1 to X k to the total number of training data does not exceed the preset threshold value t (0 ⁇ t ⁇ 1). K is calculated (k is an integer of 1 or more and n or less). For example, the division unit 130 adds the number of training data to the number of training data in the partial data set X 1 in order from the partial data set having the smallest subscript value. Each time the division unit 130 adds, the addition result is divided by the total number of training data, and the division result and the threshold value t are compared. When the division result is larger than the threshold value t, the division unit 130 sets k as the value obtained by subtracting 1 from the subscript number of the last added partial data set.
  • Step S215 The division unit 130 distributes the training data belonging to each cluster from the cluster C k + 1 to the cluster C n to a partial data set. At this time, the division unit 130 sorts the ratio of labeled training data in the training data set X t, the training data as the ratio of labeled training data is comparable in partial data set produced after division.
  • the training data set can be divided using clustering.
  • the total training data of clusters C 1 , C 4 , and C 2 is 40, but clusters C 1 , C 4 , and C.
  • the division unit 130 determines the partial data set of the distribution destination of the training data to which the clusters C 1 , C 4 , and C 2 belong to each cluster.
  • the distribution destination of the training data sets of C 1 and C 4 is the partial data set X 1
  • the distribution destination of the training data of C 2 is another partial data set X 2 .
  • the division unit 130 trains the cluster C 3 and the cluster C 5 so that the label ratio is 1: 1 even in the partial data set of the division destination. Decide where to distribute the data.
  • the division unit 130 divides the cluster C 3 into the cluster C 31 and the cluster C 32 as follows.
  • C 32 C 3-
  • the number of training data for clusters C 31 and C 32 is both "235".
  • the division unit 130 divides the cluster C 5 into the clusters C 51 and C 52 as follows.
  • C 52 C 5-
  • the number of training data in cluster C 51 is "235", and the number of training data in cluster C 52 is "255".
  • the division unit 130 generates the following partial data sets X 1 and X 2.
  • X 1 C 1 ⁇ C 4 ⁇ C 31 ⁇ C 51
  • X 2 C 2 ⁇ C 32 ⁇ C 52
  • the ratio of labels in the partial data set X 1 is 1: 1.
  • the label ratio in the partial data set X 2 is 1: 1.
  • a plurality of contamination data can be collected in the same cluster by clustering. Then, by allocating the training data in the cluster including the contamination data to the same sub-dataset, a plurality of contamination data are combined into one sub-dataset. As a result, it is possible to prevent the plurality of contamination data from being evenly distributed in the plurality of partial data sets, and to detect the contamination data even when the plurality of contamination data exists.
  • the machine learning system 100 iteratively divides the training data set in different division patterns. Then, each time the machine learning system 100 is divided, the trained model is generated by machine learning and the accuracy is evaluated, and the contamination candidate points are added to the training data used for generating the trained model having poor accuracy. Since the trained model generated using the contamination data is inaccurate, the contamination candidate points of the contamination data become larger than the others when the division, the generation of the trained model, the evaluation, and the addition of the contamination candidate points are repeated. Therefore, the machine learning system 100 outputs training data having a high contamination candidate point as a contamination data candidate.
  • FIG. 16 is a diagram showing an example of the first addition of contamination candidate points.
  • the training data 121a, 121b, ... In the training data set 121 are assigned data numbers in ascending order from the left.
  • the machine learning system 100 divides the training data set 121 into a plurality of partial data sets 71 to 73, and generates trained models 43a, 43b, 43c for each partial data set. Then, the machine learning system 100 evaluates the accuracy of each of the trained models 43a, 43b, and 43c.
  • the partial data set 71 contains the contamination data 121x, and the accuracy of the trained model 43a using the partial data set 71 is lower than the accuracy of the other trained models 43b, 43c. Therefore, the machine learning system 100 adds one contamination candidate point for each training data included in the partial data set 71.
  • the machine learning system 100 has a contamination candidate point management table 91.
  • the contamination candidate point management table 91 is a data table for managing contamination candidate points for each training data.
  • contamination candidate points of the training data are set in association with the data numbers of the training data.
  • the partial data set 71 includes training data of data numbers “1” to “8”. Therefore, the machine learning system 100 adds "1" points to each of the data numbers "1” to “8” in the contamination candidate point management table 91.
  • FIG. 17 is a diagram showing an example of adding a second point of contamination candidate points.
  • the machine learning system 100 divides the training data set 121 into a plurality of partial data sets 74 to 76 by a division pattern different from that of FIG. 16, and generates trained models 43f, 43g, 43h for each partial data set. Then, the machine learning system 100 evaluates the accuracy of each of the trained models 43f, 43g, and 43h.
  • the partial data set 74 contains the contamination data 121x, and the accuracy of the trained model 43f using the partial data set 74 is lower than the accuracy of the other trained models 43g and 43h. Therefore, the machine learning system 100 adds one contamination candidate point for each training data included in the partial data set 74. That is, the machine learning system 100 adds the contamination candidate points corresponding to the data numbers of the training data included in the partial data set 74 in the contamination candidate point management table 91 one by one.
  • the machine learning system 100 outputs a predetermined number of training data as pollution data candidates from the one with the largest pollution candidate point when the addition of pollution candidate points is repeated a predetermined number of times.
  • FIG. 18 is a flowchart showing an example of the procedure of the contamination data detection process according to the fourth embodiment.
  • the division unit 130 acquires the training data set 121 and the evaluation data set 122 from the storage unit 120. Then, the division unit 130 sets the training data in the acquired training data set 121 in the data set (training data set X t ) to be trained. Further, the division unit 130 sets the acquired evaluation data set 122 in the data set (evaluation data set X v ) used for the evaluation of the trained model. Further, the division unit 130 sets a value specified in advance to the number of repetitions I (I is an integer of 1 or more).
  • Step S303 The division unit 130 divides the training data set X t into a plurality of partial data sets, and generates partial data sets X 1 , ..., X n. At this time, the division unit 130 performs a division process so that a different partial data set is generated each time the division is performed. For example, the division unit 130 randomly determines a partial data set to be distributed to each of the plurality of training data.
  • Step S305 The evaluation unit 150 evaluates the accuracy of each of the trained models M i using the evaluation data set X v.
  • the narrowing-down unit 160 is a contamination candidate point for the training data included in the training data set X j used for training the trained model M j (j is an integer of 1 or more and n or less) having the lowest accuracy. Are added one point at a time.
  • Step S309 The narrowing-down unit 160 outputs a predetermined number of training data data numbers from the one with the highest contamination candidate point.
  • the contamination data candidates are detected based on the training candidate points, even if a plurality of contamination data are mixed, those contamination data can be detected. Further, in the first division of the training data set, each contamination data can be detected even when a plurality of contamination data are dispersed in different partial datasets, and the detection accuracy is improved.
  • the contamination data mixed in the training data set is detected in the machine learning that generates the trained model for distinguishing the handwritten "0" and "1".
  • a total of about 2000 image data in which "0" or "1" was written by hand was prepared.
  • 100 contamination data were prepared.
  • the pollution data is about 5% of the total.
  • the division unit 130 randomly divides the training data set into two.
  • the training unit 140 generates a binary classification model by logistic regression as a trained model. The number of times the process is repeated I is set to "100".
  • the machine learning system 100 executed the processing procedure shown in FIG. 18 under the above conditions and extracted 100 training data having high contamination candidate points as contamination data, the top 100 training data estimated to be contamination data were extracted. Included 27 contamination data. That is, contamination data with a contamination rate of 5% can be detected with a detection accuracy of 27%.
  • the fifth embodiment is a combination of the third embodiment and the fourth embodiment.
  • FIG. 19 is a flowchart showing an example of the procedure of the contamination data detection process according to the fifth embodiment.
  • steps S401, S402, and S404 to S409 are the same as the processes of steps S301, S302, and S304 to S309 of the fourth embodiment shown in FIG. 18, respectively.
  • the process of step S403 is the same as the process of step S202 of the third embodiment shown in FIG.
  • the division unit 130 adopts a clustering algorithm such that a different cluster is generated for each clustering. For example, the division unit 130 changes the parameters used in the clustering each time the clustering is performed. For example, the division unit 130 performs feature quantity extraction and then clustering based on the similarity of feature quantities. At this time, the division unit 130 changes the feature amount to be extracted each time clustering is performed. As a result, even if the same training data set is repeatedly divided using clustering, a different partial data set is generated for each division process.
  • the pollution data is distributed to a plurality of clusters and the pollution data is different. May be distributed across partial datasets. Then, some contamination data may not be detected.
  • the machine learning system 100 performs division processing using iterative clustering, and each time, a contamination candidate point is added to the training data used for generating a trained model with low accuracy. Add points. As a result, even if multiple types of contamination data belonging to different clusters are mixed in clustering, the contamination candidate points of those contamination data are higher than those of other training data. As a result, it is possible to prevent omission of detection of contamination data.
  • the pollution data is collected in one partial data set by clustering, the difference in accuracy between the trained model generated from the partial data set including the pollution data and the other trained models at the time of accuracy evaluation. Stands out. As a result, the partial data set including the contamination data can be accurately determined.
  • the machine learning system 100 separates the training data set 121 and the evaluation data set 122.
  • the training data set 121 is used as the evaluation data set 122. You can also.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

訓練データの機械学習への攻撃性を適切に評価できるようにする。 情報処理装置(10)は、機械学習用の入力データとラベルとの組を含む複数の訓練データ(1a,1b,・・・)の集合(1)に基づいて、1以上の訓練データを含む部分集合(3a,3b)を複数生成する。次に情報処理装置(10)は、部分集合(3a,3b)ごとに、部分集合(3a,3b)に含まれる訓練データを用いた機械学習を行うことで、入力データからラベルを推定するための訓練済みモデル(4a,4b)を生成する。そして情報処理装置(10)は、部分集合(3a,3b)ごとに、訓練済みモデル(4a,4b)による推定精度に基づいて、部分集合(3a,3b)に含まれる訓練データの機械学習への攻撃性に関する評価を行う。

Description

評価方法、評価プログラム、および情報処理装置
 本発明は、評価方法、評価プログラム、および情報処理装置に関する。
 コンピュータシステムには、収集した情報に基づいて機械学習を行う機械学習システムがある。機械学習システムは、機械学習により、例えば情報を分析するための訓練済みモデルを生成する。そして機械学習システムは、生成した訓練済みモデルを用いて情報分析などのサービスを提供することができる。
 なお、機械学習システムに対して悪意のある第三者から攻撃が仕掛けられることがある。機械学習に対する攻撃の1つに、ポイズニングと呼ばれる攻撃がある。ポイズニングは、訓練データに通常と違ったデータ(汚染データ)を混入させることで、訓練済みモデルを意図的に改変する攻撃である。
 ポイズニング攻撃に対抗する技術としては、例えば、教師付き機械学習によって申請書類の審査や査定を行う処理において、悪意で作成された偽合格のデータを高精度で検出することができる情報識別方法が提案されている。この情報識別方法では、時刻を含む学習データと時刻を含むテストデータとを用いて計算した統計的データの値が所定の閾値を超えることに応答して、不正なデータによる攻撃の可能性が警報される。この方法は、学習データが時刻を含む場合にしか適用できず汎用性が低い。
 時刻を含まないデータのポイズニング攻撃に対向可能な技術としては、正常なデータが明確にわかっている場合に、正常なデータの分布を用いて汚染データを検知する手法も提案されている。この手法では、例えば、所定の指標でのデータの分布において、正常なデータの中心点から一定の距離以上離れているデータが汚染データとみなして検知される。
国際公開第2013/014987号
Jacob Steinhardt, Pang Wei W. Koh, Percy S. Liang, "Certified Defenses for Data Poisoning Attacks", Advances in Neural Information Processing Systems 30 (NIPS 2017), 2017年12月
 しかし、正常なデータの分布を用いて汚染データを検知する技術では、正常なデータが不明な場合には適用できず、正常であるものとして取り扱ったデータに汚染データが混入していれば、汚染データを正しく検出することはできない。しかも、この技術では、正常なデータと近い範囲に分布するような汚染データの検知は困難である。このように従来は汚染データの検出が困難な場合があり、汚染データの検出精度が十分ではない。すなわち訓練データ内に機械学習への攻撃を目的とした汚染データが混入していても、その汚染データの検知が難しく、訓練データが機械学習に対して攻撃性を有しているのかどうかを適切に判断するのが困難となっている。
 1つの側面では、本発明は、訓練データの機械学習への攻撃性を適切に評価できるようにすることを目的とする。
 1つの案では、コンピュータが以下の処理を実行する評価方法が提供される。
 コンピュータは、機械学習用の入力データとラベルとの組を含む複数の訓練データの集合に基づいて、1以上の訓練データを含む部分集合を複数生成する。次にコンピュータは、部分集合ごとに、部分集合に含まれる訓練データを用いた機械学習を行うことで、入力データからラベルを推定するための訓練済みモデルを生成する。そしてコンピュータは、部分集合ごとに、部分集合に含まれる訓練データを用いて生成した訓練済みモデルによる推定精度に基づいて、部分集合に含まれる訓練データの機械学習への攻撃性に関する評価を行う。
 1態様によれば、訓練データの機械学習への攻撃性を適切に評価できる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態に係る評価方法の一例を示す図である。 機械学習システムを含むコンピュータシステムの一例を示す図である。 機械学習システムのハードウェアの一例を示す図である。 機械学習を模式的に示す図である。 ポイズニングの攻撃を説明する図である。 機械学習システムにおいて汚染データの検知に用いられる機能を示すブロック図である。 記憶部に格納されるデータの一例を示す図である。 汚染データ検知処理の一例を示す図である。 精度の評価処理の一例を示す図である。 汚染データ検知処理の手順の一例を示すフローチャートである。 汚染データ候補リストの一例を示す図である。 クラスタリングを用いた訓練データセットの分割例を示す図である。 分割後の部分データセットごとの訓練済みモデルの生成例を示す図である。 第3の実施の形態における汚染データ検知処理の手順の一例を示すフローチャートである。 クラスタリングを利用した訓練データセット分割処理の手順の一例を示すフローチャートである。 汚染候補点の第1の加点例を示す図である。 汚染候補点の第2の加点例を示す図である。 第4の実施の形態における汚染データ検知処理の手順の一例を示すフローチャートである。 第5の実施の形態における汚染データ検知処理の手順の一例を示すフローチャートである。
 以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
 〔第1の実施の形態〕
 まず第1の実施の形態について説明する。第1の実施の形態は、機械学習に用いる訓練データの集合から生成した部分集合ごとに、その部分集合に含まれる訓練データによる機械学習への攻撃性を評価する評価方法である。部分集合ごとに攻撃性を適正に評価することができれば、ポイズニング攻撃などの機械学習への攻撃用に生成された訓練データ(汚染データ)の検知精度を向上させることができる。
 図1は、第1の実施の形態に係る評価方法の一例を示す図である。図1には、訓練データによる機械学習への攻撃性を評価する評価方法を、情報処理装置10を用いて実施した場合の例を示している。情報処理装置10は、例えば所定の処理手順が記述された評価プログラムを実行することにより、評価方法を実施することができる。
 情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。
 記憶部11は、機械学習に用いる複数の訓練データ1a,1b,・・・を記憶する。訓練データ1a,1b,・・・それぞれは、機械学習用の入力データとラベルとの組を含む。ラベルは、入力データを分類した場合の正解を示す情報(正解データ)である。例えば入力データが電子メールであり、機械学習によってスパムメールか否かを推定する場合、入力データがスパムメールか否かがラベルに示されている。
 処理部12は、記憶部11に格納された訓練データ1a,1b,・・・の中から、機械学習への攻撃性を有する可能性が高い訓練データを検出する。例えば処理部12は、ポイズニング攻撃用に生成された訓練データを検出する。具体的には、処理部12は、以下の処理を行う。
 処理部12は、訓練データ1a,1b,・・・の集合1に基づいて、1以上の訓練データを含む部分集合3a,3bを複数生成する。次に処理部12は、部分集合3a,3bごとに、部分集合3a,3bに含まれる訓練データを用いた機械学習を行うことで、入力データからラベルを推定するための訓練済みモデル4a,4bを生成する。そして処理部12は、部分集合3a,3bごとに、部分集合3a,3bに含まれる訓練データを用いて生成した訓練済みモデル4a,4bによる推定精度に基づいて、部分集合3a,3bに含まれる訓練データの機械学習への攻撃性に関する評価を行う。例えば処理部12は、部分集合3a,3bに基づいて生成された複数の訓練済みモデル4a,4bの推定精度が低いほど、部分集合3a,3bに含まれる訓練データの機械学習への攻撃性を高く評価する。
 例えば訓練データ1a,1b,・・・内に汚染データ2が混入していた場合、生成された部分集合3a,3bのうちの一方に汚染データ2が含まれる。汚染データ2を含む部分集合3aの訓練データを用いて生成した訓練済みモデル4aは、汚染データ2を含まない部分集合3bの訓練データを用いて生成した訓練済みモデル4bよりも、ラベルの推定精度が低くなる。これは汚染データ2が、訓練済みモデルの精度劣化を目的として作成されているためである。
 処理部12は、訓練済みモデル4a,4bの精度比較結果に基づいて、訓練済みモデル4bの生成に使用した訓練データよりも訓練済みモデル4aの生成に使用した訓練データの方を、機械学習への攻撃性を高く評価する。これにより、部分集合3a内に汚染データ2が混入していることを正しく推定することができる。すなわち訓練データの機械学習への攻撃性が適切に評価される。
 なお部分集合3a内にまだ大量の訓練データが含まれている場合、それらの訓練データから汚染データ2を特定するのは困難である。その場合、処理部12は、例えば、評価に示される攻撃性が高い方から所定数の部分集合3aに含まれる訓練データの集合に基づいて、部分集合3a,3bの生成、訓練済みモデル4a,4bの生成、評価を繰り返す。これらの一連の処理を繰り返し実行することにより、汚染データを含む部分集合の訓練データ数も少なくなる。処理部12は、汚染データを含む部分集合の訓練データ数が所定数以下になったら、一連の処理の繰り返しを終了する。そして処理部12は、例えば最後の評価で攻撃性が最も高い部分集合に含まれる訓練データのリストを、汚染データ候補として出力する。
 繰り返し処理により汚染データ候補が絞り込まれているため、汚染データ候補の内容を人手で確認し、汚染データ2を特定することが容易となる。また処理部12は、汚染データ候補の数が少なければ、該当する訓練データを記憶部11から削除し、汚染データ2が機械学習に用いられることを抑止することもできる。
 また処理部12は、部分集合3a,3bの生成において、訓練データ1a,1b,・・・間の類似性に基づいて訓練データを複数のクラスタのいずれかに分類するクラスタリングを利用して部分集合を生成することもできる。例えば処理部12は、訓練データ1a,1b,・・・についてクラスタリングを行い、属する訓練データ数が少ない方から所定数のクラスタそれぞれに分類された訓練データについて、属するクラスタが同じ訓練データ同士を共通の部分集合に含める。
 これにより、訓練データ1a,1b,・・・内に汚染データ2が複数混入している場合、複数の汚染データ2を同じ部分集合に含めることができる。すなわち複数の汚染データ2は共通の特徴を有していることが多く、クラスタリングにおいて同じクラスタに分類される。また攻撃者は、攻撃をしていることを機械学習システムの管理者に気づかれないようにするため、訓練データ1a,1b,・・・に混入させる汚染データ2の量は、多すぎない量にするものと考えられる。そのため汚染データ2を含むクラスタは、他のクラスタに比べて、属する訓練データの数が少なくなる。すなわち、属する訓練データ数が少ない方から所定数のクラスタそれぞれに分類された訓練データについて、属するクラスタが同じ訓練データ同士を共通の部分集合に含めることにより、複数の汚染データ2が共通の部分集合に含められる。
 複数の汚染データ2が共通の部分集合に含められることで、複数の汚染データ2が複数の部分集合3a,3bに分散されることにより部分集合3a,3b間の精度の差がなくなることが抑止される。すなわち複数の汚染データ2を含む部分集合に基づいて生成された訓練済みモデルのラベル推定の精度が低くなり、処理部12は、その部分集合内に汚染データ2が含まれることを正しく判定できる。
 さらに、処理部12は、部分集合3a,3bの生成、訓練済みモデル4a,4bの生成、訓練済みモデル4a,4bの評価を繰り返し行ってもよい。この場合、処理部12は、評価を行うごとに、評価に示される攻撃性が高い方から所定数の部分集合(例えば攻撃性が最も高い部分集合3a)に含まれる訓練データに対して汚染候補点を加点する。そして処理部12は、汚染候補点が高い方から所定数の訓練データを出力する。
 このように攻撃性が高いと評価された部分集合に含まれる訓練データに対して汚染候補点を加点していくことで、例えば汚染データ2が複数存在し、それらの汚染データ2が複数の部分集合3a,3bに分散することがあっても、汚染データ2の検知が可能となる。すなわち、部分集合3a,3bの生成、訓練、評価、および攻撃性が高いと評価された部分集合内の訓練データへの汚染候補点の加点を繰り返すことで、汚染データ2の汚染候補点が大きくなる。その結果、処理部12は、汚染候補点が高い方から所定数の訓練データを汚染データ2として検出することができる。
 〔第2の実施の形態〕
 次に第2の実施の形態について説明する。第2の実施の形態は、訓練データセットの中から、ポイズニング攻撃に用いられた汚染データを含む可能性がある1以上の訓練データを検出し、管理者に通知する機械学習システムである。
 図2は、機械学習システムを含むコンピュータシステムの一例を示す図である。機械学習システム100は、例えばネットワーク20を介して複数の利用者端末31,32,・・・に接続されている。機械学習システム100は、例えば利用者端末31,32,・・・から送られたクエリについて訓練済みのモデルを用いて解析し、解析結果を利用者端末31,32,・・・に送信する。利用者端末31,32,・・・は、機械学習によって生成されたモデルを用いたサービスの提供を受けるユーザが使用するコンピュータである。
 図3は、機械学習システムのハードウェアの一例を示す図である。機械学習システム100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
 メモリ102は、機械学習システム100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
 バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
 ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
 グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
 入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
 光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
 機器接続インタフェース107は、機械学習システム100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
 ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
 機械学習システム100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した装置も、図3に示した機械学習システム100と同様のハードウェアにより実現することができる。
 機械学習システム100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。機械学習システム100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、機械学習システム100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また機械学習システム100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
 このような機械学習システム100に対する攻撃は、機械学習の特性を利用して行われる。以下、図4を参照して、機械学習について説明する。
 図4は、機械学習を模式的に示す図である。図4に示すように、機械学習システム100で行う機械学習は、訓練フェイズ40と推論フェイズ50とに分かれる。機械学習システム100は、訓練フェイズ40において、空のモデル41に訓練データセット42を適用することによって、空のモデル41に対する訓練を行う。空のモデル41は、転移学習のように、ある訓練データで訓練されたパラメータをすべて、あるいは部分的に反映したモデルであってもよい。
 訓練データセット42には、例えば入力データ42aと正解の出力データ(教師データ)を示すラベル42bとの組からなる複数のデータが含まれる。入力データ42aとラベル42bとは、いずれも数値列で表現される。例えば画像を用いた機械学習の場合、入力データ42aとして、該当画像の特徴を表す数値列が用いられる。
 機械学習システム100は、訓練データセット42内の入力データ42aを空のモデル41に適用して解析を行い、出力データを得る。機械学習システム100は、出力データとラベル42bとを比較し、不一致であれば、空のモデル41を修正する。空のモデル41の修正とは、例えば空のモデル41を用いた解析に用いるパラメータ(ニューラルネットワークであればユニットへの入力データの重みパラメータ及びバイアス)を、出力データが正解に近づくように修正することである。
 機械学習システム100は、大量の訓練データセット42を用いて訓練を行うことで、多くの入力データ42aに対してラベル42bと同じ出力データが得られる訓練済みモデル43を生成することができる。訓練済みモデル43は、例えば空のモデル41と、訓練によって適切な値が設定されたモデルのパラメータ44で表される。
 このように生成される訓練済みモデルは、「y=f(x)」の形の関数と捉えることができる(x、yは、それぞれベクトル、あるいはテンソルなどの構造つきの数値データ)。すなわち機械学習における訓練は、大量のxとyの組から、それに合った関数fを決める作業である。
 機械学習システム100は、訓練済みモデル43を生成後、その訓練済みモデル43を用いて推論フェイズ50を実施する。例えば機械学習システム100は、クエリ51の入力を受け付け、訓練済みモデル43を用いて、クエリ51に応じた出力データ52を得る。例えばクエリ51がメールの文章であるとき、機械学習システム100は、そのメールがスパムか否かの推定結果を出力データとして出力する。また入力データが画像のとき、機械学習システム100は、例えばその画像に写っている動物の種類を出力データとして出力する。
 機械学習システム100に対する攻撃は、訓練フェイズまたは推論フェイズが攻撃対象となる。ポイズニングは、訓練フェイズが攻撃対象である。
 図5は、ポイズニングの攻撃を説明する図である。例えば機械学習システム100は、訓練フェイズ40において、訓練データセット42を用いて、決定境界45によってデータを3つのグループに分類する訓練済みモデル43を生成したものとする。攻撃者60は、利用者端末31を用い、ポイズニング用に操作した訓練データセット61を用いて、機械学習システム100に訓練を実施させる。ポイズニング用に操作した訓練データセット61には、正しい訓練済みモデル43では、正しく推定されないような汚染データ62が含まれる。汚染データ62は、入力データに対して誤ったラベルが設定されている。機械学習システム100は、汚染データ62に応じて、決定境界45を変更する。
 変更された決定境界45aは、汚染データ62に適応させるために、誤った方向への変更が行われている。その結果、ポイズニングの攻撃を受けた後の訓練済みモデル43aを推論フェイズ50で用いると、誤った出力データを出力する。
 攻撃者60は、機械学習システム100に対してポイズニングの攻撃を行うことで、推論での推定精度を劣化させることができる。例えば機械学習システム100が訓練済みモデル43aを用いて、サーバに入力されるファイルのフィルタリングを行っている場合、推定精度が劣化することで、ウィルスなどの危険性を有するファイルの入力がフィルタリングされずに許可される可能性がある。
 例えば機械学習システム100が、スパムメールか否かの分類を行うための訓練済みモデルを生成する場合を想定する。この場合、訓練データには、メールとラベルとが含まれる。メールは、社内における電子メールに含まれるテキストデータ、および添付ファイルである。ラベルは、教師データであり、メールがスパムか否かを二値で表している。例えばメールが非スパムの場合にはラベルの値は「0」であり、スパムの場合にはラベルの値は「1」である。
 なおメールにラベル付けをする際には、スパムか否かがルールベース、人手、または他の機械学習の結果によって推定される。例えば機械学習システム100は、ルールベースのフィルタリングによって、メールがスパムである可能性の有無を推定する。機械学習システム100は、スパムである可能性があるメールをモニタに表示し、管理者によるスパムか否かの推定を促す。管理者は、表示されたメールの内容を確認し、該当メールがスパムか否かを判断して、判断結果を機械学習システム100に入力する。機械学習システム100は、入力されたラベルを、推定対象のメールに付与し、ラベルとメールとの組を訓練データとする。
 このような訓練データに対するポイズニング攻撃としては、例えば一般のメールデータに、特定の言葉を入れるなどのポイズニングが考えられる。このポイズニングが行われた汚染データは、その特定の言葉がラベリングを行う人に違和感を与えない限り、通常のラベリング(非スパムのラベル「0」の付与)がなされる。その一方で、機械学習システム100では、推定フェイズにおいて、推論時に、スパムメールに混入された特定の言葉を含むメールについて誤った推論をしてしまうおそれがある。
 そこで機械学習システム100は、訓練データセットを複数の部分データセットに分割し、部分データセットごとに機械学習のモデルの訓練を行う。なお部分データセットは、第1の実施の形態に示す部分集合3a,3bの一例である。そして機械学習システム100は、部分データセットごとの訓練済みモデルによる推論の精度を比較し、精度が悪い訓練済みモデルが生成された部分データセットに汚染データが含まれていると推定する。このように、訓練済みモデルの精度への汚染データの影響を考慮して、汚染データの検知を行うことで、訓練精度に影響を及ぼす汚染データの検出が可能となる。
 図6は、機械学習システムにおいて汚染データの検知に用いられる機能を示すブロック図である。機械学習システム100は、訓練データ取得部110、記憶部120、分割部130、訓練部140、評価部150、および絞り込み部160を有する。
 訓練データ取得部110は、訓練データを取得する。例えば訓練データ取得部110は、メールがスパムか否かを推定するためのモデルを訓練する場合、メールサーバから電子メールを取得する。そして訓練データ取得部110は、取得した電子メールがスパムか否かを示すラベルの値の入力を受け付ける。例えば機械学習システム100の管理者がラベルの値を入力すると、訓練データ取得部110は、電子メールとラベルとの組を、記憶部120に格納する。
 記憶部120は、訓練データセット121と評価データセット122とを記憶する。訓練データは、モデルに入力する入力データと、出力結果の正解値を示すラベルとを含む。評価データセット122は、訓練済みモデルの評価に使用する評価データの集合である。評価データは、モデルに入力する入力データと、出力結果の正解値を示すラベルとを含む。記憶部120としては、例えばメモリ102またはストレージ装置103の記憶領域の一部が使用される。
 分割部130は、訓練データセット121を複数の部分データセットに分割する。分割部130は、例えば訓練データセット121に含まれる訓練データのラベルの値の比率と、分割後の各部分データセットに含まれる訓練データのラベルの値の比率とが同程度になるように、各部分データセットに含まれる訓練データを決定する。
 訓練部140は、分割によって生成された部分データセットごとに、その部分データセットに含まれる訓練データを用いた機械学習を行う。これにより、部分データセットごとの訓練済みモデルが生成される。
 評価部150は、部分データセットごとに生成された訓練済みモデルそれぞれによるラベル推定の精度を、評価データセット122を用いて評価する。例えば評価部150は、訓練済みモデルを用いて評価データセット122に含まれる評価データの入力データを訓練済みモデルに入力して得られる出力データが、その評価データのラベルと一致する割合を計算する。評価部150は、出力データがラベルと一致する割合が高い訓練済みモデルほど、ラベル推定の精度が高いと評価する。なお評価部150は、評価データセット122として、分割によって生成された部分データセットを用いてもよい。
 絞り込み部160は、評価結果に基づいて、汚染データを含む可能性が高い訓練データの評価データセットを特定し、該当する評価データセットに含まれる訓練データのリストを表示する。例えば絞り込み部160は、評価結果が最も低い訓練済みモデルの生成に使用された評価データセットを、汚染データを含む可能性が高い訓練データの集合として特定する。
 なお、図6に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図6に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
 次に、記憶部120に格納される訓練データセット121と評価データセット122とについて詳細に説明する。
 図7は、記憶部に格納されるデータの一例を示す図である。訓練データセット121には、訓練データごとのレコードが含まれている。各訓練データは、訓練データを識別するためのデータ番号と入力データとラベルとを有する。入力データは、機械学習におけるラベルの推定対象となるデータである。例えば電子メールからスパムを検出するための機械学習を行う場合、電子メールに記述された内容が入力データとなる。ラベルは、入力データについての教師データ(正解データ)である。例えば電子メールからスパムを検出するための機械学習を行う場合、対応する電子メールがスパムか否かを示す値が、ラベルとして設定される。
 評価データセット122には、評価データごとのレコードが含まれている。各評価データは、訓練データと同様に、評価データを識別するためのデータ番号と入力データとラベルとを有する。
 図7に示す訓練データセット121に含まれる訓練データに汚染データが混在すると、正確な機械学習が困難となる。そこで機械学習システム100は、訓練データセット121に含まれる訓練データから汚染データの検知処理を行う。
 図8は、汚染データ検知処理の一例を示す図である。図8では、訓練データセット121に含まれる複数の訓練データ121a,121b,・・・を丸印で示している。複数の訓練データ121a,121b,・・・には、攻撃者60により生成された汚染データ121xが含まれている。
 機械学習システム100は、訓練データセット121を、1以上の訓練データを含む部分データセット71~73に分割する。汚染データ121xは、いずれかの評価データセットに含まれる。図8の例では、部分データセット71に汚染データ121xが含まれている。
 機械学習システム100は、部分データセット71~73ごとに、該当する集合に含まれる訓練データを用いて空のモデル41の訓練(機械学習の訓練フェイズ)を行う。これにより部分データセット71~73ごとに訓練済みモデル43a,43b,43cが生成される。
 機械学習システム100は、生成された訓練済みモデル43a,43b,43cによるラベル推定の精度を、評価データセット122を用いて評価する。
 図9は、精度の評価処理の一例を示す図である。機械学習システム100は、例えば訓練済みモデル43aを用いて、評価データセット122の入力データのラベルの推論を行う。推論の結果が出力データ53として出力される。機械学習システム100は、評価データセット122内の評価データごとに、その評価データに教師データとして含まれるラベルの値と出力データの値とを比較し、一致するか否かを判定する。機械学習システム100は、例えば評価データのラベルの一致率を、訓練済みモデル43aの精度の評価結果とする。一致率は、教師データであるラベルと出力データで示されたラベルとが一致した評価データの数を、評価データセット122内の評価データ数で除算した値である。この場合、一致率が高いほど、訓練済みモデル43aの精度がよいことを示す。
 訓練済みモデル43aの精度がよいほど、その訓練済みモデル43aの生成に用いた部分データセット71の攻撃性は低く評価できる。換言すると、訓練済みモデル43aの精度が悪いほど、その訓練済みモデル43aの生成に用いた部分データセット71の攻撃性は高い。攻撃性が高いことは、汚染データ121xを含む可能性が高いことを意味する。
 機械学習システム100は、他の訓練済みモデル43b,43cについても同様に、評価データセット122を用いた評価を実施する。以下、図8の説明に戻る。
 訓練データセット121に含まれる汚染データ121xは、生成される訓練済みモデルの精度を劣化させるものである。すると汚染データ121xを含む部分データセット71を用いた訓練で得られた訓練済みモデル43aは、他の訓練済みモデル43b,43cよりもラベル推定精度が劣る。すなわち訓練済みモデル43aの精度の評価結果が低くなる。
 機械学習システム100は、精度の評価結果が最も低い訓練済みモデル43aの訓練に用いられた部分データセット71を取得し、訓練データセット121を部分データセット71に置き換えて、分割、訓練、精度評価を行う。機械学習システム100は、以後同様に、精度の評価が最も低い訓練済みモデルの生成に用いられた集合に対する、分割、訓練、精度評価を繰り返す。
 機械学習システム100は、精度評価後に所定の終了条件が満たされたとき、その精度評価において評価が最も低い訓練済みモデルの生成に用いられた集合に含まれる訓練データの中に汚染データが含まれると判定する。例えば機械学習システム100は、精度の評価が最も低い訓練済みモデルの生成に用いられた集合に含まれる訓練データの数が所定数以下になった場合、終了条件が満たされたと判定する。また機械学習システム100は、分割、訓練、精度評価の繰り返し回数が所定の回数に達した場合に、終了条件が満たされたと判定してもよい。
 なお評価データセット122が汚染データを含んでいても、汚染データが少量である限り、評価データセット122を用いて適切な評価が可能である。すなわち評価データセット122に少量の汚染データが含まれていても、その汚染データの影響は複数の訓練済みモデル43a,43b,43cそれぞれに等しく作用する。そのため評価データセット122に少量の汚染データが含まれていても、複数の訓練済みモデル43a,43b,43c間で評価結果を相対的に比較することで、精度が最も悪い訓練済みモデルを正しく特定できる。従って評価データセット122として、完全に汚染されていない正常なデータを用意せずに済む。
 次に、汚染データ検知処理の手順について詳細に説明する。
 図10は、汚染データ検知処理の手順の一例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
 [ステップS101]分割部130は、記憶部120から訓練データセット121と評価データセット122とを取得する。そして分割部130は、取得した訓練データセット121内の訓練データを、訓練対象とするデータセット(訓練データセットXt)に設定する。また分割部130は、取得した評価データセット122を、訓練済みモデルの評価に用いるデータセット(評価データセットXv)に設定する。また分割部130は、予め指定されている値を、汚染データ検知処理の終了条件を示すデータ数の閾値Tに設定する。
 [ステップS102]分割部130は、訓練データセットXtを複数の部分データセットに分割し、部分データセットX1,・・・,Xnを生成する。例えば分割部130は、訓練データセットXt=[(x1,y1),(x2,y2),・・・,(xm,ym)](mは1以上の整数)が与えられているものとする。ここでxi,yi(i=1,・・・,m)は、それぞれ入力データとラベルである。この場合、分割部130は、訓練データセットXtを、例えばXt=X1∪X2∪X3のように複数の部分データセットに分割する。分割により生成する部分データセットの数が予め決められている場合、分割部130は、訓練データそれぞれについて、複数の部分データセットのいずれかにランダムに振り分ける。分割して得られた部分データセットそれぞれが、個別の訓練データセットXi(i=1,・・・,n)となる(nは1以上の整数)。
 なお分割部130は、訓練データセットXtに含まれる訓練データそれぞれが、少なくとも1つの部分データセットに含まれるようにする。なお、各訓練データは、複数の部分データセットに含まれていてもよい。
 [ステップS103]訓練部140は、訓練データセットXi(i=1,・・・,n)それぞれにより機械学習を行い、n個の訓練済みモデルMiを生成する。
 [ステップS104]評価部150は、評価データセットXvを用いて、訓練済みモデルMiそれぞれの精度を評価する。
 [ステップS105]絞り込み部160は、最も精度が悪い訓練済みモデルMj(jは1以上n以下の整数)の訓練に用いた訓練データセットXjに含まれる訓練データ数N(Nは1以上の整数)を求める。
 [ステップS106]絞り込み部160は、訓練データ数Nが閾値T以下か否かを判断する。絞り込み部160は、訓練データ数Nが閾値T以下であれば、処理をステップS108に進める。また絞り込み部160は、訓練データ数Nが閾値Tを超えていれば、処理をステップS107に進める。
 [ステップS107]絞り込み部160は、訓練データセットXjを、訓練対象とする訓練データセットXtに新たに設定する。そして絞り込み部160は、処理をステップS102に進める。以後、分割部130、訓練部140、評価部150、および絞り込み部160により、更新後の訓練データセットXtを用いてステップS102~S106の処理が繰り返される。
 [ステップS108]絞り込み部160は、訓練データセットXjを、汚染データを含む可能性が高い訓練データの集合として出力する。例えば絞り込み部160は、訓練データセットXjに含まれる訓練データのリストを、汚染データ候補リストとしてモニタ21に表示する。
 このようにして、汚染データの可能性が高い訓練データを適確に検出できる。例えば正常な訓練データの近くに汚染データがある場合であっても、その汚染データは訓練済みモデルに悪影響を及ぼす。なお正常な訓練データの近くの汚染データとは、正常な訓練データとの類似度が高い汚染データである。訓練データの入力データが電子メールであれば、例えば、一般の人には汚染データとは気づかれないような特定の語句が意図的に挿入された電子メールが、汚染データとして訓練データセットに混入している場合がある。この汚染データは、特定の語句が含まれていること以外は、スパムではない正常な電子メールと区別が付かず、ラベルも非スパムを示す値「0」が設定されている。
 このような汚染データを用いて訓練された訓練済みモデルは、意図的に挿入された特定の語句があることで、正常な訓練データで訓練された訓練済みモデルよりも精度が悪くなる。すなわち、汚染データを用いて訓練された訓練済みモデルを用いて、特定の語句を有する電子メールがスパムか否かの推論を行うと、その電子メールがスパムであっても、スパムではないと推定する確率が高くなる。その結果、その訓練済みモデルの推定精度は、他の訓練済みモデルよりも低くなる。そのため、機械学習システム100は、精度が悪い訓練済みモデルの訓練に使用した訓練データセットには汚染データが含まれる可能性が高いと判断することができる。そして機械学習システム100が汚染データを含む訓練データセットの絞り込みを繰り返すことで、正常な訓練データの近くの汚染データであっても、その汚染データの検知が可能となる。
 絞り込み部160は、汚染データを含む可能性が高い訓練データの絞り込みが完了すると、汚染データ候補リストをモニタ21に表示する。機械学習システム100の管理者は、その汚染データ候補リストに基づいて、例えば汚染データの調査または訓練データセット121からの汚染データの除去を行う。
 図11は、汚染データ候補リストの一例を示す図である。汚染データ候補リスト77には、絞り込み部160による絞り込み後の訓練データセットに含まれる訓練データのリストが表示される。機械学習システム100の管理者は、汚染データ候補リスト77を参照し、ポイズニングの攻撃に用いられている訓練データ(汚染データ)を特定する。例えば管理者は、汚染データ候補リスト77に含まれる訓練データの内容を詳細に確認し、不自然な情報の有無などにより汚染データを特定する。管理者は、例えば特定した汚染データを記憶部120から削除する。また管理者は、汚染データ候補リスト77に含まれているすべての訓練データについて、汚染データである可能性が高いとして、記憶部120から削除することもできる。汚染データであることが確認できた訓練データ、または汚染データの可能性が高い訓練データを記憶部120から削除することで、記憶部120内の訓練データセット121を用いて、高精度の訓練済みモデルの生成が可能となる。
 このようにして、汚染データを容易に検知することが可能となる。すなわち機械学習システム100が、汚染データが訓練済みモデルに与える影響を考慮に入れて汚染データを検知するようにしたことにより、従来のポイズニング検知では検出が困難な汚染データも検知することができる。
 〔第3の実施の形態〕
 次に第3の実施の形態について説明する。第3の実施の形態は、訓練データセット121を複数の部分データセットに分割する際に、クラスタリング技術を利用する点が第2の実施の形態と異なる。以下、第3の実施の形態における第2の実施の形態との相違点について説明する。
 第2の実施の形態では、分割部130は、訓練データを含む部分データセットをランダムに決定している。汚染データが1つの場合、訓練データの部分データセットへの振り分けをランダムにすれば、汚染データを含む1つの部分データセットと汚染データを含まない他の部分データセットとが生成される。その結果、各部分データセットの訓練データを用いて生成された部分データセットごとの訓練済みモデルの間には、汚染データの有無に基づいて、推定精度の優劣が生じる。その結果、汚染データを含む部分データセットを特定できる。
 それに対して、訓練データセット内に複数の汚染データが混入した場合、訓練データを複数の部分データセットのいずれかにランダムに割り当てると、複数の部分データセットそれぞれに均等に汚染データが割り当てられてしまう。各部分データセットが同程度の数の汚染データを含んでいると、各部分データセットの訓練データを用いて生成された部分データセットごとの訓練済みモデルの間に、推定精度の優劣が生じない。この場合、汚染データを含む可能性がある部分データセットをいずれか1つに決定してしまうと、それ以外の部分データセットに含まれた汚染データが検出できなくなる。
 そこで第3の実施の形態では、機械学習システム100は、訓練データセットに含まれる訓練データのクラスタリングを行い、類似する訓練データを1つのクラスタに纏める。クラスタリングにより、汚染データが汚染データではないデータと異なったクラスタに纏められる。機械学習システム100が汚染データを含むクラスタ内の訓練データを同じ部分データセットに含めることで、汚染データの多くが1つの部分データセット内に纏められる。
 図12は、クラスタリングを用いた訓練データセットの分割例を示す図である。図12では、訓練データセット80に含まれる複数の訓練データ81a,81b,・・・を、ラベルの値別に表記している。ラベルが「0」の訓練データは白丸で表され、ラベルが「1」の訓練データは黒丸で表されている。複数の訓練データ81a,81b,・・・の中には汚染データ82,83が混入している。
 機械学習システム100は、このような訓練データセット80内の訓練データをクラスタリングにより複数のクラスタ84a~84eに分類する。この場合、汚染データ82,83は、同じクラスタ84aに分類される。その後、機械学習システム100は、複数のクラスタ84a~84eそれぞれの訓練データを、複数の部分データセット84,85のいずれかに振り分ける。
 例えば機械学習システム100は、複数のクラスタ84a~84eのうち、訓練データ数が最も少ないクラスタに属する訓練データは、同じ部分データセットに振り分ける。図12の例では、クラスタ84a,84b,84cは、共に訓練データ数が2つであり、訓練データ数が最も少ない。そこで機械学習システム100は、クラスタ84a内の訓練データを同じ部分データセット84に振り分ける。同様に機械学習システム100は、クラスタ84b内の訓練データを同じ部分データセット84に振り分け、クラスタ84c内の訓練データを同じ部分データセット85に振り分ける。
 その後、機械学習システム100は、残ったクラスタ84d,84e内の訓練データを、部分データセット84,85のいずれかに振り分ける。この際、機械学習システム100は、元の訓練データセット80における訓練データのラベルの比率と、分割後に生成される部分データセットにおける訓練データのラベルの比率とが同程度になるように、クラスタ84d,84e内の訓練データを振り分ける。
 図12の例では、訓練データセット80において、ラベル「0」の訓練データが12個であり、ラベル「1」の訓練データが10個である。すると訓練データセット80におけるラベル「0」の訓練データとラベル「1」の訓練データとの比は6対5である。そこで機械学習システム100は、部分データセット84,85のそれぞれにおいて、ラベル「0」の訓練データとラベル「1」の訓練データとの比が6対5となるように、クラスタ84d,84e内の訓練データを部分データセット84,85に振り分ける。
 このようにして、訓練データセット80を複数の部分データセット84,85に分割することができる。クラスタリングを用いて分割したことで、訓練データのうちの汚染データ82,83は、1つの部分データセット84に集約される。分割処理により部分データセット84,85を生成後、機械学習システム100は、第2の実施の形態と同様に、部分データセット84,85ごとに訓練済みモデルを生成し、精度を評価する。
 図13は、分割後の部分データセットごとの訓練済みモデルの生成例を示す図である。機械学習システム100は、部分データセット84に含まれる訓練データに基づいてモデルの訓練を行い、訓練済みモデル43dを生成する。同様に機械学習システム100は、部分データセット85に含まれる訓練データに基づいてモデルの訓練を行い、訓練済みモデル43eを生成する。そして機械学習システム100は、訓練済みモデル43d,43eそれぞれの精度を評価する。
 汚染データ82,83は部分データセット84にのみ含まれているため、部分データセット84内の訓練データを用いて生成した訓練済みモデル43dは、部分データセット85内の訓練データを用いて生成した訓練済みモデル43eよりも、推定の精度が悪くなる。すなわち、部分データセット84内に汚染データ82,83が含まれていると正しく判断できる。
 そこで機械学習システム100は、部分データセット84に含まれる訓練データを新たな訓練データセットとして、クラスタリングを用いた訓練データセットの分割処理などの処理を繰り返す。その結果、複数の汚染データ82,83が存在する場合であっても、それらの汚染データ82,83を含む部分データセットを、汚染データ候補リストとして出力することが可能となる。
 また訓練データのラベルの出現比率が分割後も保たれることで、分割後の部分データセット84,85を用いた訓練を正しく行うことができる。しかも分割後の部分データセット84,85同士でラベルの出現比率が同じであれば、ラベルの出現比率の違いにより生成される訓練済みモデルの精度に違いが出ることを抑止できる。すなわち、ラベルの出現比率の違いが訓練済みモデルの精度に影響を及ぼすと、汚染データを含む部分データセットよりも、汚染データを含まない部分データセットの方が、生成される訓練済みモデルの精度が低くなるおそれがある。そこで機械学習システム100は、分割後の部分データセット84,85同士でラベルの出現比率を同じにすることで、ラベルの出現比率の違いが訓練済みモデルの精度に影響を及ぼすことを抑止する。
 図14は、第3の実施の形態における汚染データ検知処理の手順の一例を示すフローチャートである。なお図14に示すステップS201,S203~S208の処理は、図10に示す第2の実施の形態におけるステップS101,S103~S108の処理と同様である。従って、第2の実施の形態と異なるのは以下のステップS202の処理のみである。
 [ステップS202]分割部130は、クラスタリングを利用した訓練データセット分割処理を行う。
 図15は、クラスタリングを利用した訓練データセット分割処理の手順の一例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
 [ステップS211]分割部130は、訓練データセットXtに対して非教師型、もしくは半教師型のクラスタリングを行い、訓練データセットXtの含まれる訓練データを含む複数のクラスタを生成する。なお分割部130は、クラスタリングのアルゴリズムとしては、例えばk平均法(k-means)、kd木(k-d tree)などを用いることができる。これらのクラスタリングアルゴリズムは、予めクラスタ数を決めておき、決められた数のクラスタにクラスタリングする際に有用である。生成するクラスタ数を不定とする場合には、分割部130は、例えばx-meansまたはDBSCANをクラスタリングアルゴリズムとして用いることができる。
 また、データの次元が大きい場合には、分割部130は、次元削減(もしくは特徴量抽出)を行ってからクラスタリングを行うこともできる。このようなアルゴリズムとして、PCA(主成分分析)、自己符号化器(Autoencoder)を用いた潜在変数抽出、LDA(LatentDirichlet Allocation)などがある。
 [ステップS212]分割部130は、生成されたクラスタを、属する訓練データ数が少ない順に、部分データセットX1,・・・,Xnとする。例えば分割部130は、生成されたクラスタそれぞれについて、属する訓練データ数を計数する。次に分割部130は、生成されたクラスタを訓練データ数が少ない順に並べる。そして分割部130は、i番目のクラスタに属する訓練データの集合を、部分データセットXiとする。
 [ステップS213]分割部130は、部分データセットX1からXkまでの訓練データの合計が訓練データの総数に占める割合が、予め設定された閾値t(0<t<1)を超えない最大のkを求める(kは1以上n以下の整数)。例えば分割部130は、部分データセットX1の訓練データ数に対して、添字の値が小さい部分データセットから順に、訓練データ数を加算する。分割部130は、加算する毎に、加算結果を訓練データの総数で除算し、除算結果と閾値tとを比較する。分割部130は、除算結果が閾値tより大きい場合、最後に加算した部分データセットの添字の数字から1を減算した値をkとする。
 [ステップS214]分割部130は、クラスタC1からクラスタCkまでの各クラスタについて、そのクラスタに属する訓練データを同じ部分データセットに振り分ける。例えば分割部130は、複数の部分データセットXi(i=1,・・・,n)を生成し、クラスタC1からクラスタCkまでのクラスタごとに、振り分け先の部分データセットをランダムに決定する。そして分割部130は、各クラスタに属する訓練データを、そのクラスタの振り分け先として決定された部分データセットに振り分ける。例えば訓練データセットXtを2つの部分データセットX1,X2に分割する場合、X1=C1∪C3∪C5・・・、X2=C2∪C4∪C6・・・となる。
 [ステップS215]分割部130は、クラスタCk+1からクラスタCnまでの各クラスタそれぞれに属する訓練データについて、その訓練データを部分データセットに振り分ける。この際、分割部130は、訓練データセットXtにおける訓練データのラベルの比率と、分割後に生成される部分データセットにおける訓練データのラベルの比率とが同程度になるように訓練データを振り分ける。
 このようにして、クラスタリングを用いた訓練データセットの分割を行うことができる。以下、訓練データセットの分割の一例を示す。
 1000個の訓練データを有する訓練データセットXt{(xi,yi)}(i=1,・・・,1000)を分割する場合を想定する。閾値t=0.1が設定されているものとする。すなわち、訓練データの総数「1000」の10%「100」が、閾値で指定されている。また、500個の訓練データのラベル「yi」(i=1,・・・,500)は「0」であり、残りの500個の訓練データのラベル「yi」(i=501,・・・,1000)は「1」である。
 クラスタリングした結果、次のように5つのクラスタに分割されたものとする。
1={(xi,yi)}(i=1,・・・,10),訓練データ数「10」
2={(xi,yi)}(i=11,・・・,30),訓練データ数「20」
3={(xi,yi)}(i=31,・・・,500),訓練データ数「470」
4={(xi,yi)}(i=501,・・・,510),訓練データ数「10」
5={(xi,yi)}(i=511,・・・,1000),訓練データ数「490」
 クラスタを訓練データ数の少ない順番に並べるとC1,C4,C2,C3,C5となる。クラスタに属する訓練データ数を、訓練データ数が少ないクラスタから順に加算していくと、クラスタC1,C4,C2の訓練データの合計は40であるが、クラスタC1,C4,C2,C3の訓練データの合計は510となる。すなわち訓練データの合計が全体の10%(t=0.1)を超えないクラスタはC1,C4,C2までである。
 そこで分割部130は、クラスタC1,C4,C2については、クラスタ単位で、属する訓練データの振り分け先の部分データセットを決定する。例えば分割部130は、C1とC4の訓練データセットの振り分け先を部分データセットX1とし、C2の訓練データの振り分け先を別の部分データセットX2とする。
 さらに、訓練データセットXtのラベルの比率は1:1なので、分割部130は、分割先の部分データセットでもラベルの比率は1:1となるように、クラスタC3とクラスタC5の訓練データの振り分け先を決定する。例えば分割部130は、クラスタC3を以下のようにクラスタC31とクラスタC32とに分割する。
31={(xi,yi)}(i=31,・・・,265)
32=C3-C31={(xi,yi)}(i=266,・・・,500)
 クラスタC31とC32との訓練データ数は共に「235」である。また分割部130は、クラスタC5を、以下のようにクラスタC51とC52とに分割する。
51={(xi,yi)} (i=511,・・・,745)
52=C5-C51={(xi,yi)}(i=746,・・・,1000)
 クラスタC51の訓練データ数は「235」であり、クラスタC52の訓練データ数は「255」である。そして分割部130は、以下のような部分データセットX1,X2を生成する。
1=C1∪C4∪C31∪C51
2=C2∪C32∪C52
 部分データセットX1は、ラベル「0」の訓練データ数が「245」(C1∪C31)となり、ラベル「1」の訓練データ数が「245」(C4∪C51)となる。従って、部分データセットX1におけるラベルの比率は1:1である。同様に、部分データセットX2におけるラベルの比率も1:1となる。
 このように第3の実施の形態では、クラスタリングにより、複数の汚染データを同じクラスタに纏めることができる。そして汚染データを含むクラスタ内の訓練データを同じ部分データセットに振り分けることで、複数の汚染データが1つの部分データセットに纏められる。その結果、複数の汚染データが複数の部分データセットに均等に分散してしまうことが抑止され、複数の汚染データが存在する場合であってもそれらの汚染データの検出が可能となる。
 〔第4の実施の形態〕
 次に第4の実施の形態について説明する。第4の実施の形態では、機械学習システム100は、訓練データセットを異なる分割パターンで繰り返し分割する。そして機械学習システム100は、分割するごとに、機械学習による訓練済みモデルの生成と精度の評価とを行い、精度が悪い訓練済みモデルの生成に使用した訓練データに汚染候補点を加算する。汚染データを用いて生成された訓練済みモデルは精度が悪いため、分割、訓練済みモデルの生成、評価、汚染候補点の加算を繰り返すと、汚染データの汚染候補点が他よりも大きくなる。そこで機械学習システム100は、汚染候補点が高い訓練データを汚染データ候補として出力する。
 図16は、汚染候補点の第1の加点例を示す図である。図16の例では、訓練データセット121内の訓練データ121a,121b,・・・に、左から順に昇順のデータ番号が付与されている。機械学習システム100は、訓練データセット121を複数の部分データセット71~73に分割し、部分データセットごとの訓練済みモデル43a,43b,43cを生成する。そして機械学習システム100は、訓練済みモデル43a,43b,43cそれぞれの精度を評価する。
 図16の例では、部分データセット71に汚染データ121xが含まれており、部分データセット71を用いた訓練済みモデル43aの精度は、他の訓練済みモデル43b,43cの精度よりも低い。そこで機械学習システム100は、部分データセット71に含まれる訓練データそれぞれについて、汚染候補点を1点ずつ加点する。
 例えば機械学習システム100は、汚染候補点管理テーブル91を有している。汚染候補点管理テーブル91は、訓練データごとの汚染候補点を管理するためのデータテーブルである。汚染候補点管理テーブル91には、訓練データのデータ番号に対応付けて、その訓練データの汚染候補点が設定されている。
 図16の例では、部分データセット71には、データ番号「1」から「8」の訓練データが含まれている。従って機械学習システム100は、汚染候補点管理テーブル91におけるデータ番号「1」~「8」のそれぞれに対して、汚染候補点を「1」点ずつ加点する。
 図17は、汚染候補点の第2の加点例を示す図である。機械学習システム100は、図16とは別の分割パターンで訓練データセット121を複数の部分データセット74~76に分割し、部分データセットごとの訓練済みモデル43f,43g,43hを生成する。そして機械学習システム100は、訓練済みモデル43f,43g,43hそれぞれの精度を評価する。
 図17の例では、部分データセット74に汚染データ121xが含まれており、部分データセット74を用いた訓練済みモデル43fの精度は、他の訓練済みモデル43g,43hの精度よりも低い。そこで機械学習システム100は、部分データセット74に含まれる訓練データそれぞれについて、汚染候補点を1点ずつ加算する。すなわち機械学習システム100は、汚染候補点管理テーブル91における部分データセット74に含まれる訓練データのデータ番号に対応する汚染候補点を、1点ずつ加点する。
 このような処理を繰り返すことで、汚染データ121x(データ番号「4」)の汚染候補点が他の訓練データの汚染候補点よりも高くなっていく。機械学習システム100は、汚染候補点の加算を所定回数繰り返したときに汚染候補点が大きい方から所定数の訓練データを、汚染データ候補として出力する。
 図18は、第4の実施の形態における汚染データ検知処理の手順の一例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
 [ステップS301]分割部130は、記憶部120から訓練データセット121と評価データセット122とを取得する。そして分割部130は、取得した訓練データセット121内の訓練データを、訓練対象とするデータセット(訓練データセットXt)に設定する。また分割部130は、取得した評価データセット122を、訓練済みモデルの評価に用いるデータセット(評価データセットXv)に設定する。また分割部130は、予め指定されている値を、繰り返し回数I(Iは1以上の整数)に設定する。
 [ステップS302]分割部130は、何回目の繰り返し処理なのかを示す変数pに1を設定する(p=1)。
 [ステップS303]分割部130は、訓練データセットXtを複数の部分データセットに分割し、部分データセットX1,・・・,Xnを生成する。この際、分割部130は、分割するごとに異なる部分データセットが生成されるような分割処理を行う。例えば分割部130は、複数の訓練データそれぞれの振り分け先となる部分データセットをランダムに決定する。
 [ステップS304]訓練部140は、訓練データセットXi(i=1,・・・,n)それぞれにより機械学習を行い、n個の訓練済みモデルMiを生成する。
 [ステップS305]評価部150は、評価データセットXvを用いて、訓練済みモデルMiそれぞれの精度を評価する。
 [ステップS306]絞り込み部160は、最も精度が悪い訓練済みモデルMj(jは1以上n以下の整数)の訓練に用いた訓練データセットXjに含まれる訓練データに対して、汚染候補点を1点ずつ加点する。
 [ステップS307]絞り込み部160は、変数pの値が繰り返し回数Iに達したか否かを判断する(p=I?)。絞り込み部160は、繰り返し回数Iに達していなければ、処理をステップS308に進める。また絞り込み部160は、繰り返し回数Iに達した場合、処理をステップS309に進める。
 [ステップS308]絞り込み部160は変数pに1を加算(p=p+1)し、処理をステップS303に進める。
 [ステップS309]絞り込み部160は、汚染候補点が高い方から所定数の訓練データのデータ番号を出力する。
 このように第4の実施の形態では、訓練候補点に基づいて汚染データ候補を検出するため、複数の汚染データが混入した場合でも、それらの汚染データを検出できる。また最初の訓練データセットの分割において、複数の汚染データが異なる部分データセットに分散された場合であっても各汚染データを検出することができ、検出精度が向上する。
 以下、第4の実施の形態による汚染データの検出例について説明する。
 手書きの「0」と「1」を識別するための訓練済みモデルを生成する機械学習において、訓練データセットに混入した汚染データを検出する場合を想定する。この場合、正常な訓練データとして、手書きで「0」または「1」が書かれた画像データを合わせて約2000個用意した。また100個の汚染データを用意した。この場合、汚染データは、全体の約5%となる。分割部130は、訓練データセットの分割は、ランダムに2分割する。訓練部140は、訓練済みモデルとして、ロジスティック回帰による2値分類モデルを生成する。処理の繰り返し回数Iは「100」とする。
 以上の条件で機械学習システム100が図18に示した処理手順を実行し、汚染候補点が高い100個の訓練データを汚染データとして抽出したところ、汚染データと推定された上位100個の訓練データに、27個の汚染データが含まれていた。すなわち、混入率5%の汚染データを27%の検知精度で検知できている。
 〔第5の実施の形態〕
 次に第5の実施の形態について説明する。第5の実施の形態は、第3の実施の形態と第4の実施の形態とを組み合わせたものである。
 図19は、第5の実施の形態における汚染データ検知処理の手順の一例を示すフローチャートである。図19に示す処理のうち、ステップS401,S402,S404~S409の処理は、それぞれ図18に示した第4の実施の形態のステップS301,S302,S304~S309の処理と同様である。またステップS403の処理は、図14に示した第3の実施の形態のステップS202の処理と同様である。
 なお第5の実施の形態では、分割部130は、クラスタリングごとに異なるクラスタが生成されるようなクラスタリングのアルゴリズムを採用する。例えば分割部130は、クラスタリングを行うごとに、クラスタリングで使用するパラメータを変更する。例えば分割部130は、特徴量抽出を行ってから特徴量の類似度に基づくクラスタリングを行う。この際、分割部130は、クラスタリングを行うごとに抽出する特徴量を変更する。これにより、同じ訓練データセットに対してクラスタリングを利用した分割を繰り返し行っても、分割処理ごとに、異なる部分データセットが生成される。
 このようにクラスタリングを利用した訓練データセットの分割処理と、訓練データへの汚染候補点の加点による汚染データの抽出とを組み合わせることで、汚染データの抽出精度が向上する。
 例えば第3の実施の形態のようにクラスタリングを利用した訓練データセットの分割処理のみだと、複数種の汚染データが混入していた場合、汚染データが複数のクラスタに分散され、汚染データが異なる部分データセットに分散するおそれがある。すると、一部の汚染データが検出できないことがあり得る。それに対して、第5の実施の形態では、機械学習システム100は、繰り返しクラスタリングを利用した分割処理を行い、その都度、精度が低い訓練済みモデルの生成に利用された訓練データに汚染候補点を加点する。これにより、クラスタリングにおいて異なるクラスタに属するような複数種の汚染データが混入していても、それらの汚染データの汚染候補点は他の訓練データよりも高くなる。その結果、汚染データの検出漏れを抑止することができる。
 しかもクラスタリングによって汚染データが1つの部分データセットに纏まるようにしているため、精度評価の際に、汚染データを含む部分データセットから生成した訓練済みモデルとそれ以外の訓練済みモデルとの精度の差が際立つ。その結果、汚染データを含む部分データセットを適確に判断することができる。
 〔その他の実施の形態〕
 第2~第5の実施の形態では、機械学習システム100は、訓練データセット121と評価データセット122とを分けているが、例えば訓練データセット121の少なくとも一部を評価データセット122として用いることもできる。
 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1 集合
 1a,1b,・・・ 訓練データ
 2 汚染データ
 3a,3b 部分集合
 4a,4b 訓練済みモデル
 10 情報処理装置
 11 記憶部
 12 処理部

Claims (7)

  1.  コンピュータが、
     機械学習用の入力データとラベルとの組を含む複数の訓練データの集合に基づいて、1以上の訓練データを含む部分集合を複数生成し、
     前記部分集合ごとに、前記部分集合に含まれる訓練データを用いた機械学習を行うことで、入力データからラベルを推定するための訓練済みモデルを生成し、
     前記部分集合ごとに、前記部分集合に含まれる訓練データを用いて生成した前記訓練済みモデルによる推定精度に基づいて、前記部分集合に含まれる訓練データの機械学習への攻撃性に関する評価を行う、
     評価方法。
  2.  前記評価では、前記部分集合に基づいて生成された前記訓練済みモデルの推定精度が低いほど、前記部分集合に含まれる訓練データの機械学習への攻撃性を高く評価する、
     請求項1記載の評価方法。
  3.  前記評価に示される攻撃性が高い方から所定数の前記部分集合に含まれる訓練データの集合に基づいて、前記部分集合の生成、前記訓練済みモデルの生成、前記評価を繰り返す、
     請求項1または2に記載の評価方法。
  4.  前記部分集合の生成では、訓練データ間の類似性に基づいて訓練データを複数のクラスタのいずれかに分類するクラスタリングを行い、属する訓練データ数が少ない方から所定数のクラスタそれぞれに分類された訓練データについて、属するクラスタが同じ訓練データ同士を共通の前記部分集合に含める、
     請求項1ないし3のいずれかに記載の評価方法。
  5.  前記部分集合の生成、前記訓練済みモデルの生成、前記評価を繰り返し行い、
     前記評価を行うごとに、前記評価に示される攻撃性が高い方から所定数の前記部分集合に含まれる訓練データに対して汚染候補点を加点し、前記汚染候補点が高い方から所定数の訓練データを出力する、
     請求項1ないし4のいずれかに記載の評価方法。
  6.  コンピュータに、
     機械学習用の入力データとラベルとの組を含む複数の訓練データの集合に基づいて、1以上の訓練データを含む部分集合を複数生成し、
     前記部分集合ごとに、前記部分集合に含まれる訓練データを用いた機械学習を行うことで、入力データからラベルを推定するための訓練済みモデルを生成し、
     前記部分集合ごとに、前記部分集合に含まれる訓練データを用いて生成した前記訓練済みモデルによる推定精度に基づいて、前記部分集合に含まれる訓練データの機械学習への攻撃性に関する評価を行う、
     処理を実行させる評価プログラム。
  7.  機械学習用の入力データとラベルとの組を含む複数の訓練データの集合に基づいて、1以上の訓練データを含む部分集合を複数生成し、前記部分集合ごとに、前記部分集合に含まれる訓練データを用いた機械学習を行うことで、入力データからラベルを推定するための訓練済みモデルを生成し、前記部分集合ごとに、前記部分集合に含まれる訓練データを用いて生成した前記訓練済みモデルによる推定精度に基づいて、前記部分集合に含まれる訓練データの機械学習への攻撃性に関する評価を行う処理部、
     を有する情報処理装置。
PCT/JP2019/047358 2019-12-04 2019-12-04 評価方法、評価プログラム、および情報処理装置 WO2021111540A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP19955354.6A EP4071641A4 (en) 2019-12-04 2019-12-04 EVALUATION METHOD, EVALUATION PROGRAM AND INFORMATION PROCESSING DEVICE
CN201980102678.1A CN114746859A (zh) 2019-12-04 2019-12-04 评价方法、评价程序以及信息处理装置
PCT/JP2019/047358 WO2021111540A1 (ja) 2019-12-04 2019-12-04 評価方法、評価プログラム、および情報処理装置
JP2021562247A JP7332949B2 (ja) 2019-12-04 2019-12-04 評価方法、評価プログラム、および情報処理装置
US17/750,641 US20220277174A1 (en) 2019-12-04 2022-05-23 Evaluation method, non-transitory computer-readable storage medium, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/047358 WO2021111540A1 (ja) 2019-12-04 2019-12-04 評価方法、評価プログラム、および情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/750,641 Continuation US20220277174A1 (en) 2019-12-04 2022-05-23 Evaluation method, non-transitory computer-readable storage medium, and information processing device

Publications (1)

Publication Number Publication Date
WO2021111540A1 true WO2021111540A1 (ja) 2021-06-10

Family

ID=76221145

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/047358 WO2021111540A1 (ja) 2019-12-04 2019-12-04 評価方法、評価プログラム、および情報処理装置

Country Status (5)

Country Link
US (1) US20220277174A1 (ja)
EP (1) EP4071641A4 (ja)
JP (1) JP7332949B2 (ja)
CN (1) CN114746859A (ja)
WO (1) WO2021111540A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210374247A1 (en) * 2020-08-10 2021-12-02 Intel Corporation Utilizing data provenance to defend against data poisoning attacks
WO2023119421A1 (ja) * 2021-12-21 2023-06-29 三菱電機株式会社 情報処理システム、情報処理方法、および、情報処理プログラム
WO2023195107A1 (ja) * 2022-04-06 2023-10-12 日本電気株式会社 対象物評価装置、対象物評価方法、及び記録媒体
WO2024048265A1 (ja) * 2022-08-29 2024-03-07 ソニーグループ株式会社 情報処理装置および情報処理方法、並びにプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013014987A1 (ja) 2011-07-25 2013-01-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報識別方法、プログラム及びシステム
JP2018155522A (ja) * 2017-03-16 2018-10-04 株式会社島津製作所 データ解析装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013014987A1 (ja) 2011-07-25 2013-01-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報識別方法、プログラム及びシステム
JP2018155522A (ja) * 2017-03-16 2018-10-04 株式会社島津製作所 データ解析装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BIGGIO, BATTISTA ET AL.: "Poisoning Attacks against Support Vector Machines", PROCEEDINGS OF THE 29TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING, V 3, ARXIV.ORG, 25 March 2013 (2013-03-25), pages 1 - 8, XP055834747, Retrieved from the Internet <URL:https://arxiv.org/pdf/1206.6389.pdf> [retrieved on 20200226] *
JACOB STEINHARDTPANG WEI W. KOHPERCY S. LIANG: "Certified Defenses for Data Poisoning Attacks", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 30 (NIPS 2017, December 2017 (2017-12-01)
See also references of EP4071641A4
SENZAKI YUYA : "Negative Side Effect of Adversarial Training in Deep Learning and Its Mitigation", PROCEEDINGS OF COMPUTER SECURITY SYMPOSIUM 2017, vol. 2017, no. 2, 16 October 2017 (2017-10-16), pages 385 - 392, ISSN: 1882- 0840 *
YOSHIOKA, NOBUKAZU: "Security and Privacy on Machine Learning Based Systems", JPSJ MAGAZINE, vol. 60, no. 1, 15 December 2018 (2018-12-15), JP , pages 34 - 39, XP009536575, ISSN: 0447-8053 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210374247A1 (en) * 2020-08-10 2021-12-02 Intel Corporation Utilizing data provenance to defend against data poisoning attacks
WO2023119421A1 (ja) * 2021-12-21 2023-06-29 三菱電機株式会社 情報処理システム、情報処理方法、および、情報処理プログラム
JP7466800B2 (ja) 2021-12-21 2024-04-12 三菱電機株式会社 情報処理システム、情報処理方法、および、情報処理プログラム
WO2023195107A1 (ja) * 2022-04-06 2023-10-12 日本電気株式会社 対象物評価装置、対象物評価方法、及び記録媒体
WO2024048265A1 (ja) * 2022-08-29 2024-03-07 ソニーグループ株式会社 情報処理装置および情報処理方法、並びにプログラム

Also Published As

Publication number Publication date
EP4071641A4 (en) 2022-11-23
US20220277174A1 (en) 2022-09-01
EP4071641A1 (en) 2022-10-12
JP7332949B2 (ja) 2023-08-24
JPWO2021111540A1 (ja) 2021-06-10
CN114746859A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
Hadi et al. A new fast associative classification algorithm for detecting phishing websites
WO2021111540A1 (ja) 評価方法、評価プログラム、および情報処理装置
Garcia et al. Effect of label noise in the complexity of classification problems
US7606784B2 (en) Uncertainty management in a decision-making system
CN109033200B (zh) 事件抽取的方法、装置、设备及计算机可读介质
JP5142135B2 (ja) データを分類する技術
CN103703487B (zh) 信息识别方法以及系统
RU2708356C1 (ru) Система и способ двухэтапной классификации файлов
Machicao et al. Authorship attribution based on life-like network automata
García et al. On the use of data filtering techniques for credit risk prediction with instance-based models
US11562262B2 (en) Model variable candidate generation device and method
Anwar et al. Measurement of data complexity for classification problems with unbalanced data
US11748448B2 (en) Systems and techniques to monitor text data quality
Britton Vine: Visualizing statistical interactions in black box models
Aghaei et al. Ensemble classifier for misuse detection using N-gram feature vectors through operating system call traces
CN114840531B (zh) 基于血缘关系的数据模型重构方法、装置、设备及介质
Ullah et al. Detecting High‐Risk Factors and Early Diagnosis of Diabetes Using Machine Learning Methods
Salarian et al. Investigating the role of clustering in construction-accident severity prediction using a heterogeneous and imbalanced data set
US8078559B2 (en) System and method for the automated discovery of unknown unknowns
CN112579781A (zh) 文本归类方法、装置、电子设备及介质
CN115204322B (zh) 行为链路异常识别方法和装置
US10467258B2 (en) Data categorizing system, method, program software and recording medium therein
Boone Determination of the number of clusters in a data set: A stopping rule× clustering algorithm comparison
US20170293863A1 (en) Data analysis system, and control method, program, and recording medium therefor
Sandim Using stacked generalization for anomaly detection

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19955354

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021562247

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019955354

Country of ref document: EP

Effective date: 20220704