WO2023161993A1 - Training data generation program, training data generation method, and information processing device - Google Patents

Training data generation program, training data generation method, and information processing device Download PDF

Info

Publication number
WO2023161993A1
WO2023161993A1 PCT/JP2022/007230 JP2022007230W WO2023161993A1 WO 2023161993 A1 WO2023161993 A1 WO 2023161993A1 JP 2022007230 W JP2022007230 W JP 2022007230W WO 2023161993 A1 WO2023161993 A1 WO 2023161993A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute
value
data
values
combination
Prior art date
Application number
PCT/JP2022/007230
Other languages
French (fr)
Japanese (ja)
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 PCT/JP2022/007230 priority Critical patent/WO2023161993A1/en
Publication of WO2023161993A1 publication Critical patent/WO2023161993A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a training data generation program, a training data generation method, and an information processing device.
  • machine learning may be used to determine whether or not a person can be hired (whether or not he or she is worthy of being hired) according to the attributes of an applicant for a job, based on training data on hiring performance by companies.
  • the training data includes, for example, an attribute of the applicant such as gender, and a class label indicating whether or not the applicant was determined to be employable.
  • the rate of being hired was significantly higher for males than for non-males. shall be Such training data has a bias that if the gender is male, the probability of being hired is very high.
  • a learning result (machine learning model) that reflects the bias is obtained. For example, if the gender is male, a machine learning model is generated that is determined to be employable with a higher probability than other persons. However, gender is not an indicator of job performance. Therefore, the use of such machine learning models leads to gender-unfair results and is not appropriate.
  • a learning data generation device that suppresses bias in the attributes of learning data.
  • an information processing apparatus has been proposed that reduces the influence of the bias of information that is the target of inference in learning data during machine learning of an inference device, and also reduces the influence of the bias of other information related to the information.
  • Systems have also been proposed to detect and mitigate bias in intelligent virtual assistants. Devices have also been proposed that can prevent unethical behavior related to training data.
  • bias correction processing When bias correction processing is applied to training data, it is desirable to be able to clearly explain the reason for bias correction.
  • the ease of explaining the reason for bias correction will be referred to as the interpretability of bias correction.
  • the training data contains various biases, removing all the biases will result in various changes to the training data. A wide variety of changes in the training data impairs the interpretability of the bias correction as a whole.
  • this case aims to prevent the deterioration of the interpretability of bias correction for training data.
  • a training data generation program causes a computer to perform the following processes. Based on the number of data corresponding to a combination of attribute values, among a plurality of data each having a plurality of attributes, the computer determines the first one or more attribute values having a data bias equal to or greater than a threshold value. Identify combinations. The computer selects a particular attribute value according to the number of times each attribute value is included in the first one or more attribute value combinations. Then, the computer selects a plurality of attribute values according to the condition that the data bias is less than a threshold with respect to a second combination of one or more attribute values that includes a specific attribute value among the first combination of one or more attribute values. Training data is generated by changing the value of one or more data attributes of the data.
  • FIG. 10 is a diagram showing an example of input data change that reduces the bias correction effect; It is a figure which shows an example of the procedure of a bias correction process.
  • FIG. 10 is a diagram showing an example of input data change that reduces the bias correction effect; It is a figure which shows an example of the procedure of a bias correction process.
  • FIG. 11 is a flow chart showing an example of a procedure of change rule generation processing;
  • FIG. 10 is a diagram showing an example of a change rule list;
  • FIG. 9 is a flow chart showing an example of a procedure of sensitive attribute selection processing;
  • FIG. 10 is a diagram showing an example of an applied change rule list;
  • FIG. 11 is a flowchart showing an example of a procedure of sensitive attribute change processing;
  • FIG. It is a figure which shows an example of the training data produced
  • FIG. 10 is a flowchart showing an example of a procedure of sensitive attribute selection processing according to importance;
  • FIG. It is a figure which shows an example of sensitive attribute selection according to importance.
  • the first embodiment is a training data generation method capable of suppressing deterioration in interpretability of bias correction for training data in machine learning.
  • FIG. 1 is a diagram showing an example of a training data generation method according to the first embodiment.
  • FIG. 1 shows an information processing device 10 for implementing the training data generation method.
  • the information processing device 10 can implement the training data generation method by executing, for example, a training data generation program.
  • 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 that the information processing device 10 has.
  • 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 the input data 1.
  • Input data 1 is data used for supervised learning in machine learning.
  • Input data 1 includes a plurality of data (records) each having a plurality of attributes.
  • each of the plurality of data is given a label (C) value indicating the correct answer when learning the object (person, animal, object, phenomenon, etc.) represented by the data.
  • a flag of "1" or “0” indicates whether the value of each attribute is a predetermined value.
  • a flag “1” indicates that the value of the attribute is a predetermined value (for example, “male” for the attribute “gender”).
  • a flag “0” indicates that the value of the attribute is a value other than a predetermined value (for example, "female” for the attribute "sex").
  • Input data 1 may contain bias.
  • the difference in the value of the first attribute causes an excessive difference in the appearance frequency of the value of the assigned label (e.g., the ratio of values "1"). If so, there is a bias for the value of that first attribute.
  • the processing unit 12 generates training data 2 in which the bias contained in the input data 1 is corrected. For example, the processing unit 12 selects a first attribute having a data bias equal to or greater than a threshold value ⁇ based on the number of data corresponding to a combination of attribute values among a plurality of data included in the input data 1. Identify combinations of values for .
  • a combination of values of the first one or more attributes is, for example, a combination of a value of the first attribute and a value of the second attribute.
  • the processing unit 12 calculates an index (bias value) indicating data bias for each combination of attribute values.
  • the processing unit 12 determines that the combination of attribute values has a bias equal to or greater than the threshold ⁇ .
  • the processing unit 12 determines that the combination of attribute values has a bias equal to or greater than the threshold ⁇ .
  • the processing unit 12 determines that the combination of attribute values has a bias equal to or greater than the threshold ⁇ .
  • the processing unit 12 selects a specific attribute value according to the number of values of each attribute included in the first combination of one or more attribute values. A subset of the attribute values included in the first set of attribute value(s) is selected as the value of the particular attribute.
  • the processing unit 12 generates training data 2 according to predetermined conditions.
  • the predetermined condition is a condition that the data bias is less than the threshold value ⁇ with respect to the second combination of one or more attribute values that includes the specific attribute value among the first combination of one or more attribute values. is.
  • the processing unit 12 generates training data 2 that satisfies a predetermined condition by changing attribute values of one or more data out of the plurality of data.
  • the data bias is less than the threshold ⁇ with respect to the combination of the values of the second one or more attributes including the value of the specific attribute, and the value of the specific attribute is Biases in value combinations of the second attribute or attributes are corrected.
  • the processing unit 12 also selects a specific attribute value from among the plurality of first attribute values. Accordingly, it is possible to appropriately prevent an unfair inference result from being output by a model obtained by performing machine learning using the generated training data 2 .
  • the processing unit 12 In generating the training data 2, the processing unit 12 generates, for example, change rules corresponding to each combination of values of one or more second attributes.
  • the change rule a value different from the value of the specific attribute is set in the common attribute with the value of the specific attribute, and the value of the second attribute indicated in the combination of the values of the second one or more attributes Data in which a value is set and a predetermined label is assigned is specified as a change target.
  • the change rule specifies that the second value of a specific attribute in the data to be changed should be changed to the first value.
  • the processing unit 12 selects at least one attribute value from the largest number included in the first combination of one or more attribute values, for example, as the specific attribute value. Select as the value of This allows more biases to be corrected by changing the value for one attribute. That is, a high bias correction effect can be obtained by changing the value of one type of attribute.
  • the processing unit 12 may select a specific attribute value in consideration of the interpretability of each attribute. For example, in the process of selecting a specific attribute value, the processing unit 12 selects the first one or more attribute values for each attribute value included in the combination of the first one or more attribute values. Calculate the importance obtained by weighting the numbers contained in the combination of . Then, the processing unit 12 selects a specific attribute value according to the importance of each attribute value. For example, the processing unit 12 selects at least one attribute value in descending order of importance as a specific attribute value. As a result, biases related to attributes with higher interpretability are more likely to be corrected, and a decrease in interpretability due to correcting biases is suppressed.
  • bias correcting processing is performed as preprocessing of training data used for machine learning.
  • FIG. 2 is a diagram showing an example of computer hardware used in the second embodiment.
  • a computer 100 is entirely controlled by a processor 101 .
  • a memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109 .
  • 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).
  • processor 101 executing a program may be realized by an electronic circuit such as ASIC (Application Specific Integrated Circuit) or 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 computer 100.
  • the memory 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the processor 101 .
  • the memory 102 stores various data used for processing by the processor 101 .
  • a volatile semiconductor memory device such as RAM (Random Access Memory) is used.
  • Peripheral devices connected to the bus 109 include a storage device 103 , a GPU (Graphics Processing Unit) 104 , an input interface 105 , an optical drive device 106 , a device connection interface 107 and a network interface 108 .
  • a storage device 103 a storage device 103 , a GPU (Graphics Processing Unit) 104 , an input interface 105 , an optical drive device 106 , a device connection interface 107 and a network interface 108 .
  • GPU Graphics Processing Unit
  • the storage device 103 electrically or magnetically writes data to and reads data from a built-in recording medium.
  • a storage device 103 is used as an auxiliary storage device for the computer 100 .
  • the storage device 103 stores an OS program, application programs, and various data.
  • an HDD Hard Disk Drive
  • an SSD Solid State Drive
  • the GPU 104 is an arithmetic unit that performs image processing, and is also called a graphics controller.
  • a monitor 21 is connected to the GPU 104 .
  • the GPU 104 displays an image on the screen of the monitor 21 according to instructions from the processor 101 .
  • Examples of the monitor 21 include 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 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 data recorded on the optical disc 24 or writes data to the optical disc 24 using laser light or the like.
  • the optical disc 24 is a portable recording medium on which data is recorded so as to be readable by light reflection.
  • the optical disc 24 includes DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable)/RW (ReWritable), and the like.
  • the device connection interface 107 is a communication interface for connecting peripheral devices to the computer 100 .
  • the device connection interface 107 can be connected to the memory device 25 and the memory reader/writer 26 .
  • 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 the memory card 27 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.
  • Network interface 108 transmits and receives data to and from other computers or communication devices via network 20 .
  • the network interface 108 is a wired communication interface that is connected by a cable to a wired communication device such as a switch or router.
  • the network interface 108 may be a wireless communication interface that communicates with a wireless communication device such as a base station or an access point via radio waves.
  • the computer 100 can implement the processing functions of the second embodiment with the above hardware.
  • the information processing apparatus 10 shown in the first embodiment can also be realized by hardware similar to the computer 100 shown in FIG.
  • the computer 100 implements the processing functions of the second embodiment, for example, by executing a program recorded on a computer-readable recording medium.
  • a program describing the processing content to be executed by the computer 100 can be recorded in various recording media.
  • a program to be executed by the computer 100 can be stored in the storage device 103 .
  • the processor 101 loads at least part of the program in the storage device 103 into the memory 102 and executes the program.
  • the program to be executed by the computer 100 can also be recorded in a portable recording medium such as the optical disc 24, memory device 25, memory card 27, or the like.
  • a program stored in a 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 read and execute the program directly from the portable recording medium.
  • FIG. 3 is a block diagram showing functions that a computer has for machine learning.
  • Computer 100 has storage unit 110 , change rule generation unit 120 , sensitive attribute selection unit 130 , sensitive attribute change unit 140 and machine learning unit 150 .
  • the storage unit 110 stores input data 111 and training data 112 .
  • the input data 111 is a data set prepared for supervised learning.
  • Input data 111 includes a plurality of data. Each piece of data is set with values for sensitive attributes, non-sensitive attributes, and class labels.
  • a sensitive attribute is an example of the first attribute in the first embodiment.
  • a non-sensitive attribute is an example of the second attribute in the first embodiment.
  • Input data 111 may contain multiple kinds of biases.
  • the training data 112 is data obtained by removing some bias from the input data 111 . Training data 112 is the input to the learning phase of machine learning.
  • the change rule generation unit 120 generates bias change rules based on the input data 111 . For example, the change rule generation unit 120 calculates a numerical value that serves as an index for bias determination using a predetermined formula for the sensitive attribute included in the input data 111, and if the calculated numerical value is equal to or greater than a predetermined value, the sensitive attribute value Generate change rules that change the .
  • the sensitive attribute selection unit 130 selects a sensitive attribute to be changed from among the generated change rules. For example, the sensitive attribute selection unit 130 selects the sensitive attribute included in the largest number of change rules.
  • the sensitive attribute changing unit 140 changes the value of the selected sensitive attribute so that the bias is corrected. For example, the sensitive attribute changing unit 140 changes the value of the selected sensitive attribute for one or more pieces of data in the input data 111 so that the numerical value used as the index for bias determination is less than the threshold. Then, the sensitive attribute changing unit 140 stores the changed input data 111 as the training data 112 in the storage unit 110 .
  • the machine learning unit 150 performs machine learning using the training data 112. For example, the machine learning unit 150 receives the training data 112 and generates an inference model. Thereafter, when data to be inferred is input, the machine learning unit 150 performs inference processing using the generated model. For example, when a model is generated for judging whether or not an applicant can be hired for recruitment, the machine learning unit 150 uses the attributes of the applicant as input to make inferences using the model, and determines whether the applicant is worthy of being hired. output the inference result.
  • each element shown in FIG. 3 indicates part of the communication paths, and communication paths other than the illustrated communication paths can also be set. Also, the function of each element shown in FIG. 3 can be realized by causing a computer to execute a program module corresponding to the element, for example.
  • FIG. 4 is a diagram showing an example of input data.
  • the input data 111 shown in FIG. 4 is data indicating the result of determination of whether or not to hire an applicant for recruiting.
  • values are set for multiple sensitive attributes, multiple non-sensitive attributes, and class labels.
  • the value in the data corresponding to each attribute or class label is indicated by a "1" or "0" flag.
  • the flag of each attribute or class label of each data is "1" it indicates that the value of that attribute or class label is a predetermined value (for example, the value of the attribute "gender” is "male”).
  • the flag of each attribute or class label of each data is "0" it indicates that the value of that attribute or class label is other than the predetermined value (for example, the value of the attribute "gender” is other than “male”).
  • Sensitive attributes include "gender” and "race”.
  • Non-sensitive attributes include "hometown”, "annual income”, and "age”.
  • "annual income” column for example, if the applicant's annual income exceeds 1.3 million (annual income > 1.3 million), a flag "1” is set, and if the annual income does not exceed 1.3 million, a flag "0” is set. be.
  • a flag "1” is set if the age of the applicant is over 20 (age>20), and a flag "0” is set if the age is not over 20.
  • the class label is "recruitment”.
  • the value of the class label indicates the result determined by the hiring manager based on the results of interviews, practical tests, and the like.
  • which attribute in the input data 111 is set as the sensitive attribute is preset by the user.
  • "sex” and “race” are designated as sensitive attributes in order to correct biases due to sex discrimination and racial discrimination. For example, if discrimination based on place of birth is rampant and correction of bias due to place of birth discrimination is required, "hometown” may be designated as a sensitive attribute.
  • the input data 111 from which the training data 112 is generated may have a bias. In that case, it is inappropriate to directly use the training data 112 for learning by machine learning. For example, a model trained with biased input data 111 may exhibit discriminatory behavior.
  • the computer 100 then generates the training data 112 based on change rules that change the values of the sensitive attributes in the input data 111 so as to correct the bias.
  • a bias value calculated for a set of a predetermined value of one sensitive attribute and a predetermined value of one insensitive attribute is equal to or greater than a predetermined threshold value
  • a change rule is generated in association with the set. For example, let A be the sensitive attribute and B be the non-sensitive attribute of the pair to be subjected to bias calculation. Let C be the class label in the input data 111 . Further, let ⁇ be the threshold value of the bias value. At this time, if the bias value “elift (A, B ⁇ C)” of the selected set is equal to or greater than the threshold value ⁇ , it is determined that the selected set is biased.
  • the formula is as follows.
  • sup(A, B) is the number of data in which the value of the sensitive attribute of the set to be calculated is a predetermined value and the value of the non-sensitive attribute is a predetermined value.
  • sup(A, B, C) is the number of data in which the value of the sensitive attribute of the set to be calculated is a predetermined value, the value of the non-sensitive attribute is a predetermined value, and the value of the class label is a predetermined value.
  • sup(B) is the number of data in which the value of the non-sensitive attribute of the set to be calculated is the predetermined value.
  • sup(A, C) is the number of data in which the value of the sensitive attribute of the set to be calculated is a predetermined value and the value of the class label is a predetermined value.
  • Formula (2) indicates the ratio of data with a predetermined value for the class label among the data for which both the values of the sensitive attribute and the non-sensitive attribute are predetermined values.
  • Equation (3) indicates the ratio of data with a predetermined value of the class label to data with a predetermined value of the non-sensitive attribute.
  • the bias value shown on the left side of Equation (1) indicates how much the probability that the value of the class label will be the predetermined value changes depending on whether or not the sensitive attribute is taken into consideration. For example, the ratio of the class label value when the sensitive attribute is taken into consideration (the value obtained by the formula (2)) is the ratio of the class label when the sensitive attribute is not taken into account (the value obtained by the formula (3)). The larger the value obtained), the larger the bias value. Then, if the bias value for a pair of sensitive attributes and non-sensitive attributes is greater than or equal to the threshold ⁇ , a change rule for that pair is generated.
  • FIG. 5 is a diagram showing an example of generation of change rules. For example, it is assumed that the bias value is calculated for a set of the value "male" of the sensitive attribute "gender” and the value "20" of the non-sensitive attribute "age”.
  • the input data 41 includes four data as shown in FIG.
  • the threshold value ⁇ of the bias value is "1.2".
  • FIG. 6 is a diagram showing an example of bias correction.
  • the training data 42 is data in which the value of the sensitive attribute has been changed.
  • the input data may contain various biases. At that time, applying change rules that correspond to all biases impairs the interpretability of bias correction.
  • FIG. 7 is a diagram showing an example of input data change that impairs interpretability.
  • a change rule is generated to change the value of the sensitive attribute "gender” to "male” for the data whose value of the sensitive attribute "gender” is other than “male” and whose value of the class label "employment” is "impossible”. (conditions for non-sensitive attributes are omitted).
  • a change rule is generated to change the value of the sensitive attribute "race” to "white”. (conditions for non-sensitive attributes omitted).
  • the training data 112a generated by applying all generated change rules to the input data 111 has changed values for many sensitive attributes. Changing the values of a large number of sensitive attributes in this manner removes many of the biases in the input data 111, but reduces the ease of explanation of the bias correction process. That is, the interpretability of the bias correction process is lowered.
  • FIG. 8 is a diagram showing an example of input data change that reduces the bias correction effect.
  • a change rule for changing the value of the sensitive attribute "gender” to "male” for data whose value of the sensitive attribute "gender” is other than “male” and whose value of the class label "employment” is “impossible” is generated 10 times.
  • the conditions (B1, B2, . . . , B10) for non-sensitive attributes in each change rule are different.
  • training data 112b is generated in which the value of the sensitive attribute "race” is changed from other than “white” to "white” for some data.
  • the sensitive attribute selection unit 130 selects the value of the sensitive attribute with the highest appearance frequency among the generated change rules as a change target in the bias correcting process. This makes it possible to correct more biases by changing the value of one type of sensitive attribute. In other words, a large bias correcting effect can be obtained by changing the value of a small number of sensitive attributes.
  • FIG. 9 is a diagram illustrating an example of a procedure for bias correction processing. The processing shown in FIG. 9 will be described below along with the step numbers. [Step S ⁇ b>101 ]
  • the change rule generation unit 120 reads the input data 111 from the storage unit 110 .
  • Step S ⁇ b>102 Based on the input data 111 , the change rule generation unit 120 generates a bias change rule included in the input data 111 . One or more change rules are generated.
  • the change rule indicates the set of sensitive and non-sensitive attributes that cause the bias.
  • the value of the sensitive attribute indicated in the change rule is subject to change when correcting the bias. Details of the change rule generation process will be described later (see FIG. 10).
  • the sensitive attribute selection unit 130 selects a sensitive attribute to be changed for bias correction from among the sensitive attributes included in any of the generated change rules. Details of the sensitive attribute selection process will be described later (see FIG. 12).
  • the sensitive attribute changing unit 140 changes the value of the selected sensitive attribute in the input data 111 based on the change rule including the sensitive attribute. Details of the sensitive attribute change processing will be described later (see FIG. 14).
  • Step S ⁇ b>105 The sensitive attribute changing unit 140 stores the input data 111 with changed sensitive attribute values in the storage unit 110 as the training data 112 . Training data 112 is thus generated based on the input data 111 . Next, change rule generation processing will be described in detail.
  • FIG. 10 is a flowchart illustrating an example of the procedure of change rule generation processing. The processing shown in FIG. 10 will be described below along with the step numbers.
  • the change rule generation unit 120 selects one unselected set from the sets that can be generated with one sensitive attribute and one non-sensitive attribute.
  • the change rule generation unit 120 calculates a bias value for the selected pair. For example, the change rule generator 120 calculates the bias value “elift (A, B ⁇ C)” shown in Equation (1).
  • Step S113 The change rule generation unit 120 determines whether the calculated bias value is equal to or greater than the threshold value ⁇ . If the bias value is equal to or greater than the threshold ⁇ , change rule generation section 120 advances the process to step S114. Further, if the bias value is less than the threshold value ⁇ , the change rule generation unit 120 advances the process to step S115.
  • the change rule generation unit 120 generates a change rule for the selected pair. For example, the change rule generation unit 120 determines that the value of the selected sensitive attribute is other than the predetermined value (flag "0"), the value of the selected insensitive attribute is the predetermined value (flag "1"), and the value of the class label is other than the predetermined value. A change rule is generated for the data of (flag "0") to be changed. The generated change rule indicates that the value of the sensitive attribute should be changed to a predetermined value (flag "1"). The change rule generation unit 120 registers the generated change rule in the change rule list.
  • Step S115 The change rule generator 120 determines whether there is an unselected combination of a sensitive attribute and a non-sensitive attribute. If there is an unselected pair, change rule generation unit 120 advances the process to step S111. Further, if all pairs have been selected, the change rule generation unit 120 ends the process.
  • bias values are calculated for all pairs of sensitive attributes and non-sensitive attributes, and modification rules corresponding to pairs whose bias values are equal to or greater than the threshold ⁇ are generated. That is, change rules for correcting each bias included in the input data 111 are generated.
  • the generated change rule is shown, for example, in a change rule list.
  • FIG. 11 is a diagram showing an example of a change rule list.
  • the change rule list 51 shown in FIG. 11 ten change rules including the value "male” of the sensitive attribute "sex" are registered.
  • the change rule list 51 one change rule including the value "white” of the sensitive attribute "race” is registered.
  • FIG. 12 is a flowchart showing an example of the procedure of sensitive attribute selection processing. The processing shown in FIG. 12 will be described below along with the step numbers.
  • the sensitive attribute selection unit 130 selects one unselected sensitive attribute value included in one of the change rules from the change rule list 51 .
  • the sensitive attribute selection unit 130 determines whether there is an unselected sensitive attribute value in the change rule list 51 or not. If there is an unselected sensitive attribute value, the sensitive attribute selection unit 130 advances the process to step S121. If all sensitive attribute values have been selected, sensitive attribute selection section 130 advances the process to step S124.
  • the sensitive attribute selection unit 130 identifies the value of the sensitive attribute with the highest appearance frequency as the value of the sensitive attribute to be applied to the change for bias correction.
  • the sensitive attribute selection unit 130 extracts from the change rule list 51 a change rule that includes the value of the specified sensitive attribute.
  • the sensitive attribute selection unit 130 registers, for example, the extracted change rule in the applicable change rule list.
  • FIG. 13 is a diagram showing an example of an applied change rule list.
  • FIG. 14 is a flowchart illustrating an example of the procedure of sensitive attribute change processing. The processing shown in FIG. 14 will be described below according to the step numbers.
  • the sensitive attribute changing unit 140 selects an unselected change rule in the applied change rule list 52 as a change rule to be applied.
  • the sensitive attribute changing unit 140 changes the value of the sensitive attribute of the selected data according to the selected change rule.
  • the sensitive attribute change unit 140 changes the value of the sensitive attribute indicated by the change rule in the selected data from a value other than the predetermined value (flag "0") to a predetermined value (flag "1").
  • Step S134 The sensitive attribute changing unit 140 determines whether the bias value of the bias to be changed in the selected change rule is less than the threshold ⁇ . If the bias value is less than the threshold value ⁇ , the sensitive attribute changing unit 140 advances the process to step S135. Also, if the bias value is equal to or greater than the threshold ⁇ , the sensitive attribute changing unit 140 advances the process to step S132.
  • Step S135 The sensitive attribute change unit 140 determines whether or not there is an unselected change rule in the applied change rule list 52. If there is an unselected change rule, the sensitive attribute change unit 140 advances the process to step S131. Also, if all the change rules in the applied change rule list 52 have been selected, the sensitive attribute change unit 140 ends the sensitive attribute change process.
  • the input data 111 in which the value of the sensitive attribute has been changed in this manner is stored in the storage unit 110 as the training data 112 .
  • FIG. 15 is a diagram showing an example of generated training data. Similar to the input data 111, the training data 112 includes a plurality of data having sensitive attributes, non-sensitive attributes, and class label values. The values set for each data are the same as the values of the input data 111 except for the values changed by the sensitive attribute change process. In the example of FIG. 15, for at least some of the data whose value of the sensitive attribute “sex” was other than “male” (flag “0”), the value of the sensitive attribute “sex” was “male” (flag “1”). ) has been changed.
  • the third embodiment performs bias correction processing in consideration of the difference in interpretability for each sensitive attribute.
  • Sensitive attributes include those that clearly cause unfairness when biased, and those that are difficult to assert as being unfair.
  • the user can set a value indicating the ease of interpretation for each sensitive attribute. For example, a higher value is set for the interpretability of a sensitive attribute that is more interpretable when changed for bias correction.
  • the interpretability for each sensitive attribute is set, for example, in an interpretability management table.
  • FIG. 16 is a diagram showing an example of the interpretability management table.
  • the interpretability management table 61 values indicating interpretability are set in association with sensitive attribute values.
  • the sensitive attribute selection unit 130 weights the appearance frequency of the sensitive attribute in the change rule list 51 according to the interpretability value. For example, the sensitive attribute selection unit 130 takes the result of multiplying the appearance frequency of the sensitive attribute by the value (weight value) of the easiness of interpretation of the sensitive attribute as the degree of importance. Then, the sensitive attribute selection unit 130 selects the sensitive attribute with the highest importance as the sensitive attribute to be changed.
  • FIG. 17 is a flow chart showing an example of the procedure of sensitive attribute selection processing according to importance. The processing shown in FIG. 17 will be described below along with the step numbers. [Step S ⁇ b>201 ] The sensitive attribute selection unit 130 selects one unselected sensitive attribute value included in one of the change rules from the change rule list 51 .
  • the sensitive attribute selection unit 130 counts the appearance frequency in the change rule list 51 of the value of the selected sensitive attribute.
  • the sensitive attribute selection unit 130 calculates the importance of the value of the selected sensitive attribute. For example, the sensitive attribute selection unit 130 acquires the interpretability value of the selected sensitive attribute value from the interpretability management table 61 . Then, the sensitive attribute selection unit 130 sets the result of multiplication of “appearance frequency ⁇ value of ease of interpretation” as the importance of the value of the selected sensitive attribute.
  • Step S204 The sensitive attribute selection unit 130 determines whether there is an unselected sensitive attribute value in the change rule list 51 or not. If there is an unselected sensitive attribute value, the sensitive attribute selection unit 130 advances the process to step S201. If all sensitive attribute values have been selected, the sensitive attribute selection unit 130 advances the process to step S205.
  • the sensitive attribute selection unit 130 specifies the value of the sensitive attribute with the highest degree of importance as the value of the sensitive attribute to be applied to the change for correcting the bias.
  • the sensitive attribute selection unit 130 extracts from the change rule list 51 a change rule that includes the value of the specified sensitive attribute.
  • the sensitive attribute selection unit 130 registers, for example, the extracted change rule in the applied change rule list 52 .
  • FIG. 18 is a diagram showing an example of sensitive attribute selection according to importance.
  • the sensitive attribute selection unit 130 selects, for example, a predetermined number of sensitive attribute values in descending order of appearance frequency in the change rule list 51 as sensitive attribute values to which bias correction processing is applied.
  • the ratio of the data whose value of the sensitive attribute "gender” is other than “male” to the value of "acceptable” for the class label "acceptable” increases, and the bias is corrected.

Abstract

This invention suppresses a reduction in interpretation characteristics of a bias correction with respect to training data. From among a plurality of data pieces each having a plurality of attributes, an information processing device (10) identifies a combination of values for one or more first attributes having a data bias of a threshold value or greater, on the basis of the number of data pieces corresponding to a combination of attribute values. In addition, the information processing device (10) selects an identified attribute value in accordance with the number of combinations in which the value of each attribute is included, among the combinations of values of the one or more first attributes. The information processing device (10) generates training data (2) by changing the attribute values of one or more pieces of data among the plurality of data pieces in accordance with the condition that the data bias is less than the threshold value, where the data bias relates to a combination of values for one or more second attributes including a specific attribute value, among the combinations of the one or more first attribute value combinations.

Description

訓練データ生成プログラム、訓練データ生成方法、および情報処理装置TRAINING DATA GENERATION PROGRAM, TRAINING DATA GENERATION METHOD, AND INFORMATION PROCESSING APPARATUS
 本発明は、訓練データ生成プログラム、訓練データ生成方法、および情報処理装置に関する。 The present invention relates to a training data generation program, a training data generation method, and an information processing device.
 機械学習における訓練データにはバイアス(偏り)が存在する可能性がある。訓練データに含まれるバイアスは、学習精度の悪化を引き起こす。またバイアスを含む訓練データを用いて学習したモデルを用いて推論を行うと、不公正な推論結果となる可能性がある。  There is a possibility that bias exists in training data in machine learning. Bias in training data causes deterioration of learning accuracy. Inference using a model trained using biased training data may result in unfair inference results.
 例えば企業による採用実績に関する訓練データに基づいて、求人への応募者の属性に応じた採用可否(採用に値する人材か否か)を機械学習で求める場合がある。この場合、訓練データには、例えば応募者に関する性別などの属性と、採用可と判断されたか否かを示すクラスラベルとが含まれる。この訓練データにおいて、性別以外の属性が同じ複数の応募者を比較したとき、性別が男である場合の方が、性別が男以外の場合よりも採用可となる割合が極端に高くなっていたものとする。このような訓練データには、性別が男であれば採用可となる確率が非常に高くなるというバイアスが存在する。 For example, machine learning may be used to determine whether or not a person can be hired (whether or not he or she is worthy of being hired) according to the attributes of an applicant for a job, based on training data on hiring performance by companies. In this case, the training data includes, for example, an attribute of the applicant such as gender, and a class label indicating whether or not the applicant was determined to be employable. In this training data, when comparing multiple applicants with the same attributes other than gender, the rate of being hired was significantly higher for males than for non-males. shall be Such training data has a bias that if the gender is male, the probability of being hired is very high.
 バイアスが存在する訓練データを用いて機械学習を行うと、バイアスを反映させた学習結果(機械学習モデル)が得られる。例えば性別が男であれば、それ以外の者よりも高い確率で採用可と判断されるような機械学習モデルが生成される。しかし性別は業務に対する能力を示すものではない。そのため、このような機械学習モデルを利用することは性別による不公正な結果を招き、適切ではない。 When machine learning is performed using biased training data, a learning result (machine learning model) that reflects the bias is obtained. For example, if the gender is male, a machine learning model is generated that is determined to be employable with a higher probability than other persons. However, gender is not an indicator of job performance. Therefore, the use of such machine learning models leads to gender-unfair results and is not appropriate.
 そこで訓練データからバイアスを取り除くためのいくつかの技術が提案されている。例えば学習データの属性の偏りを抑圧する学習データ生成装置が提案されている。また推論器の機械学習の際に、学習データにおける推論の対象となる情報の偏りの影響を低減し、且つ、当該情報に関連する他の情報の偏りの影響も低減する情報処理装置も提案されている。さらにインテリジェント仮想アシスタントのバイアスを検出して軽減するシステムも提案されている。訓練データに関連する非倫理的な動作を防止し得る装置も提案されている。 Several techniques have been proposed to remove bias from training data. For example, there has been proposed a learning data generation device that suppresses bias in the attributes of learning data. In addition, an information processing apparatus has been proposed that reduces the influence of the bias of information that is the target of inference in learning data during machine learning of an inference device, and also reduces the influence of the bias of other information related to the information. ing. Systems have also been proposed to detect and mitigate bias in intelligent virtual assistants. Devices have also been proposed that can prevent unethical behavior related to training data.
特開2018-106216号公報JP 2018-106216 A 特開2019-45929号公報JP 2019-45929 A 米国特許出願公開第2020/0143794号明細書U.S. Patent Application Publication No. 2020/0143794 米国特許出願公開第2019/0147371号明細書U.S. Patent Application Publication No. 2019/0147371
 訓練データのバイアス是正処理を施す場合、バイアスを是正した理由を明確に説明できることが望まれる。以下、バイアスの是正理由の説明のしやすさを、バイアス是正の解釈性と呼ぶこととする。 When bias correction processing is applied to training data, it is desirable to be able to clearly explain the reason for bias correction. Hereinafter, the ease of explaining the reason for bias correction will be referred to as the interpretability of bias correction.
 訓練データ内に多種のバイアスが含まれている場合において、すべてのバイアスを除去すると、訓練データへの変更内容が多種となる。訓練データの変更内容が多種にわたると、全体としてのバイアス是正の解釈性が損なわれる。 If the training data contains various biases, removing all the biases will result in various changes to the training data. A wide variety of changes in the training data impairs the interpretability of the bias correction as a whole.
 1つの側面では、本件は、訓練データに対するバイアス是正の解釈性の低下を抑止することを目的とする。 In one aspect, this case aims to prevent the deterioration of the interpretability of bias correction for training data.
 1つの案では、以下の処理をコンピュータに実行させる訓練データ生成プログラムが提供される。
 コンピュータは、それぞれが複数の属性を有する複数のデータのうち、属性の値の組み合わせに対応するデータの数に基づいて、閾値以上のデータの偏りがある第1の一または複数の属性の値の組み合わせを特定する。コンピュータは、第1の一または複数の属性の値の組み合わせの中で各属性の値が含まれる数に応じて、特定の属性の値を選択する。そしてコンピュータは、第1の一または複数の属性の値の組み合わせのうち特定の属性の値を含む第2の一または複数の属性の値の組み合わせに関してデータの偏りが閾値未満という条件に従って、複数のデータのうち一または複数のデータの属性の値を変更することによって、訓練データを生成する。
In one proposal, a training data generation program is provided that causes a computer to perform the following processes.
Based on the number of data corresponding to a combination of attribute values, among a plurality of data each having a plurality of attributes, the computer determines the first one or more attribute values having a data bias equal to or greater than a threshold value. Identify combinations. The computer selects a particular attribute value according to the number of times each attribute value is included in the first one or more attribute value combinations. Then, the computer selects a plurality of attribute values according to the condition that the data bias is less than a threshold with respect to a second combination of one or more attribute values that includes a specific attribute value among the first combination of one or more attribute values. Training data is generated by changing the value of one or more data attributes of the data.
 1態様によれば、訓練データに対するバイアス是正の解釈性の低下を抑止することができる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
According to one aspect, it is possible to suppress deterioration in interpretability of bias correction for training data.
The above and other objects, features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings which represent exemplary preferred embodiments of the invention.
第1の実施の形態に係る訓練データ生成方法の一例を示す図である。It is a figure which shows an example of the training data generation method which concerns on 1st Embodiment. 第2の実施の形態に用いるコンピュータのハードウェアの一例を示す図である。It is a figure which shows an example of the hardware of the computer used for 2nd Embodiment. 機械学習のためにコンピュータが有する機能を示すブロック図である。1 is a block diagram showing functions that a computer has for machine learning; FIG. 入力データの一例を示す図である。It is a figure which shows an example of input data. 変更ルールの生成例を示す図である。FIG. 11 is a diagram showing an example of generation of change rules; バイアス是正の一例を示す図である。It is a figure which shows an example of bias correction. 解釈性が損なわれるような入力データ変更の一例を示す図である。It is a figure which shows an example of the input data change which impairs interpretability. バイアス是正効果が薄くなるような入力データ変更の一例を示す図である。FIG. 10 is a diagram showing an example of input data change that reduces the bias correction effect; バイアス是正処理の手順の一例を示す図である。It is a figure which shows an example of the procedure of a bias correction process. 変更ルール生成処理の手順の一例を示すフローチャートである。FIG. 11 is a flow chart showing an example of a procedure of change rule generation processing; FIG. 変更ルールリストの一例を示す図である。FIG. 10 is a diagram showing an example of a change rule list; FIG. センシティブ属性選択処理の手順の一例を示すフローチャートである。9 is a flow chart showing an example of a procedure of sensitive attribute selection processing; 適用変更ルールリストの一例を示す図である。FIG. 10 is a diagram showing an example of an applied change rule list; センシティブ属性変更処理の手順の一例を示すフローチャートである。FIG. 11 is a flowchart showing an example of a procedure of sensitive attribute change processing; FIG. 生成される訓練データの一例を示す図である。It is a figure which shows an example of the training data produced|generated. 解釈性管理テーブルの一例を示す図である。It is a figure which shows an example of an interpretability management table. 重要度に応じたセンシティブ属性選択処理の手順の一例を示すフローチャートである。FIG. 10 is a flowchart showing an example of a procedure of sensitive attribute selection processing according to importance; FIG. 重要度に応じたセンシティブ属性選択の一例を示す図である。It is a figure which shows an example of sensitive attribute selection according to importance.
 以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
 〔第1の実施の形態〕
 第1の実施の形態は、機械学習における訓練データに対するバイアス是正の解釈性の低下を抑止することができる訓練データ生成方法である。
Hereinafter, this embodiment will be described with reference to the drawings. It should be noted that each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First embodiment]
The first embodiment is a training data generation method capable of suppressing deterioration in interpretability of bias correction for training data in machine learning.
 図1は、第1の実施の形態に係る訓練データ生成方法の一例を示す図である。図1には、訓練データ生成方法を実施するための情報処理装置10が示されている。情報処理装置10は、例えば訓練データ生成プログラムを実行することにより、訓練データ生成方法を実施することができる。 FIG. 1 is a diagram showing an example of a training data generation method according to the first embodiment. FIG. 1 shows an information processing device 10 for implementing the training data generation method. The information processing device 10 can implement the training data generation method by executing, for example, a training data generation program.
 情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリまたはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサまたは演算回路である。 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 that the information processing device 10 has. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10 .
 記憶部11は、入力データ1を記憶する。入力データ1は、機械学習における教師有り学習に使用するデータである。入力データ1には、それぞれが複数の属性を有する複数のデータ(レコード)が含まれる。複数の属性は、例えば機械学習において不公平な推論結果が出力される要因となる第1の属性の値(A1=a,A2=b)と、そのような要因とはならない第2の属性の値(B1=c,B2=d,・・・)に分けられる。第1の属性の値は、例えば性別=男、人種=白人などである。また複数のデータには、そのデータによって表されている対象(人物、動物、物、事象など)について学習させる際の正解を示すラベル(C)の値が付与されている。 The storage unit 11 stores the input data 1. Input data 1 is data used for supervised learning in machine learning. Input data 1 includes a plurality of data (records) each having a plurality of attributes. The plurality of attributes are, for example, a first attribute value (A1=a, A2=b) that causes an unfair inference result to be output in machine learning, and a second attribute value that does not cause such a factor. It is divided into values (B1=c, B2=d, . . . ). The values of the first attribute are, for example, gender=male, race=white, and the like. In addition, each of the plurality of data is given a label (C) value indicating the correct answer when learning the object (person, animal, object, phenomenon, etc.) represented by the data.
 図1の例では、各属性の値が所定値であるか否かが「1」または「0」のフラグで表されている。フラグ「1」は、その属性の値が所定値(例えば属性「性別」についての「男」)であることを示している。フラグ「0」は、その属性の値が所定値以外の値(例えば属性「性別」についての「女」)を示している。 In the example of FIG. 1, a flag of "1" or "0" indicates whether the value of each attribute is a predetermined value. A flag "1" indicates that the value of the attribute is a predetermined value (for example, "male" for the attribute "gender"). A flag "0" indicates that the value of the attribute is a value other than a predetermined value (for example, "female" for the attribute "sex").
 なお入力データ1には、バイアスが含まれている可能性がある。例えば第2の属性の値が同じデータについて、第1の属性の値の違いにより、付与されるラベルの値の出現頻度(例えば値が「1」である割合)に過度な違いが生じている場合、その第1の属性の値についてバイアスが存在する。入力データ1が求人に対する採用の可否(ラベルの値)に関するデータの場合、性別が男の場合に、性別が女の場合よりも採用される割合が過度に高ければ、「性別=男」についてバイアスがあることになる。 Input data 1 may contain bias. For example, for data with the same value of the second attribute, the difference in the value of the first attribute causes an excessive difference in the appearance frequency of the value of the assigned label (e.g., the ratio of values "1"). If so, there is a bias for the value of that first attribute. If the input data 1 is data about whether or not a job can be hired (label value), if the rate of hiring is excessively higher when the gender is male than when the gender is female, there is a bias for "gender = male" There will be
 処理部12は、入力データ1に含まれるバイアスを是正した訓練データ2を生成する。例えば処理部12は、入力データ1に含まれる複数のデータのうち、属性の値の組み合わせに対応するデータの数に基づいて、閾値σ以上のデータの偏りがある第1の一または複数の属性の値の組み合わせを特定する。第1の一または複数の属性の値の組み合わせは、例えば第1の属性の値と第2の属性の値との組み合わせである。 The processing unit 12 generates training data 2 in which the bias contained in the input data 1 is corrected. For example, the processing unit 12 selects a first attribute having a data bias equal to or greater than a threshold value σ based on the number of data corresponding to a combination of attribute values among a plurality of data included in the input data 1. Identify combinations of values for . A combination of values of the first one or more attributes is, for example, a combination of a value of the first attribute and a value of the second attribute.
 例えば処理部12は、データの偏りを示す指標(バイアス値)を、属性の値の組み合わせごとに計算する。ここで各属性またはラベルの値が所定値であること(フラグ「1」が設定されていること)を、A=1、B=1、C=1と表すこととする(AはA1,A2のいずれかであり、BはB1,B2,・・・のいずれかである)。そして属性の値の組み合わせが、1つの第1の属性の値(A=1)と1つの第2の属性の値(B=1)との組み合わせの場合を考える。この場合のバイアス値は、例えば「(A=1,B=1のデータのうちのC=1のデータの割合)/(B=1のデータのうちのC=1のデータの割合)」で求められる。 For example, the processing unit 12 calculates an index (bias value) indicating data bias for each combination of attribute values. Here, the fact that the value of each attribute or label is a predetermined value (the flag "1" is set) is expressed as A=1, B=1, C=1 (A is A1, A2 and B is any one of B1, B2, . . . ). Consider a case where the combination of attribute values is a combination of one first attribute value (A=1) and one second attribute value (B=1). The bias value in this case is, for example, "(ratio of C=1 data out of A=1, B=1 data)/(ratio of C=1 data out of B=1 data)". Desired.
 処理部12は、属性の値の組み合わせについて計算したバイアス値が閾値σ以上であれば、その属性の値の組み合わせは閾値σ以上の偏りがあると判断する。図1の例では、第1の属性の値「A1=a」と複数の第2の属性の値(B1=c,B2=d,・・・)それぞれとの組み合わせのうち、閾値σ以上の偏りがある組み合わせが10組存在する。また第1の属性の値「A2=d」と複数の第2の属性の値(B1=c,B2=d,・・・)それぞれとの組み合わせのうち、閾値σ以上の偏りがある組み合わせが1組存在する。 If the bias value calculated for the combination of attribute values is equal to or greater than the threshold σ, the processing unit 12 determines that the combination of attribute values has a bias equal to or greater than the threshold σ. In the example of FIG. 1, among combinations of the first attribute value “A1=a” and the plurality of second attribute values (B1=c, B2=d, . . . ), There are 10 biased combinations. Further, among the combinations of the first attribute value “A2=d” and each of the plurality of second attribute values (B1=c, B2=d, . One set exists.
 さらに処理部12は、第1の一または複数の属性の値の組み合わせの中で各属性の値が含まれる数に応じて、特定の属性の値を選択する。特定の属性の値として選択されるのは、第1の一または複数の属性の値の組み合わせに含まれる属性の値のうちの一部である。 Furthermore, the processing unit 12 selects a specific attribute value according to the number of values of each attribute included in the first combination of one or more attribute values. A subset of the attribute values included in the first set of attribute value(s) is selected as the value of the particular attribute.
 例えば処理部12は、閾値σ以上のデータの偏りがある第1の一または複数の属性の値の組み合わせの中に含まれる数が多い方から少なくとも1つの属性の値を、特定の属性の値として選択する。このとき処理部12は、例えば第1の属性の値(A1=a,A2=b)から、特定の属性の値を選択する。図1の例では、第1の一または複数の属性の値の組み合わせ内に、第1の属性の値「A1=a」が10件含まれている。また第1の一または複数の属性の値の組み合わせ内に、第1の属性の値「A2=b」が1件含まれている。この場合、処理部12は、特定の属性の値として「A1=a」を選択する。 For example, the processing unit 12 selects at least one attribute value in descending order of the number included in the first combination of one or more attribute values having a data bias equal to or greater than the threshold value σ, and selects the value of the specific attribute Select as At this time, the processing unit 12 selects a specific attribute value from, for example, the first attribute values (A1=a, A2=b). In the example of FIG. 1, 10 first attribute values "A1=a" are included in the first combination of one or more attribute values. In addition, one first attribute value “A2=b” is included in the first combination of one or more attribute values. In this case, the processing unit 12 selects "A1=a" as the value of the specific attribute.
 そして処理部12は、所定の条件に従って訓練データ2を生成する。所定の条件は、第1の一または複数の属性の値の組み合わせのうち特定の属性の値を含む第2の一または複数の属性の値の組み合わせに関してデータの偏りが閾値σ未満になるという条件である。処理部12は、複数のデータのうち一または複数のデータの属性の値を変更することによって、所定の条件を満足する訓練データ2を生成する。 Then, the processing unit 12 generates training data 2 according to predetermined conditions. The predetermined condition is a condition that the data bias is less than the threshold value σ with respect to the second combination of one or more attribute values that includes the specific attribute value among the first combination of one or more attribute values. is. The processing unit 12 generates training data 2 that satisfies a predetermined condition by changing attribute values of one or more data out of the plurality of data.
 このようにして生成された訓練データ2は、特定の属性の値を含む第2の一または複数の属性の値の組み合わせに関してデータの偏りが閾値σ未満となっており、特定の属性の値を含む第2の一または複数の属性の値の組み合わせにおけるバイアスが是正されている。しかもバイアス是正のために変更されるのは、特定の属性の値(例えば「A1=a」)と共通の属性に設置されている値(例えば「¬A1=a」)に限定されるため、解釈性の低下も抑止されている。 In the training data 2 generated in this way, the data bias is less than the threshold σ with respect to the combination of the values of the second one or more attributes including the value of the specific attribute, and the value of the specific attribute is Biases in value combinations of the second attribute or attributes are corrected. Moreover, the values that are changed for bias correction are limited to the values of specific attributes (e.g. "A1=a") and the values set in common attributes (e.g. "¬A1=a"). The deterioration of interpretability is also suppressed.
 また処理部12は、例えば複数の第1の属性の値(A1=a,A2=b)と、第2の属性の値(B1=c,B2=d,・・・)との組み合わせの中から、閾値σ以上のデータの偏りがある第1の一または複数の属性の値の組み合わせを特定する。これにより、第1の一または複数の属性の値の組み合わせには、機械学習において不公平な推論結果が出力される要因となる第1の属性の値が含まれる。これにより、不公平な推論結果が出力される要因となる属性に関する偏りを確実に是正することができる。 In addition, the processing unit 12, for example, among combinations of a plurality of first attribute values (A1=a, A2=b) and second attribute values (B1=c, B2=d, . . . ) , a combination of values of the first one or more attributes having a data bias equal to or greater than the threshold value σ is identified. Accordingly, the combination of the values of the first one or more attributes includes the value of the first attribute that causes an unfair inference result to be output in machine learning. As a result, it is possible to reliably correct the attribute-related bias that causes an unfair inference result to be output.
 また処理部12は、複数の第1の属性の値の中から特定の属性の値を選択する。これにより、生成された訓練データ2を用いて機械学習を行うことで得られたモデルにより、不公平な推論結果が出力されることを適切に抑止することができる。 The processing unit 12 also selects a specific attribute value from among the plurality of first attribute values. Accordingly, it is possible to appropriately prevent an unfair inference result from being output by a model obtained by performing machine learning using the generated training data 2 .
 なお処理部12は、訓練データ2の生成に当たり、例えば第2の一または複数の属性の値の組み合わせそれぞれに対応する変更ルールを生成する。変更ルールでは、特定の属性の値と共通の属性に特定の属性の値とは異なる他値が設定されており、第2の一または複数の属性の値の組み合わせに示される第2の属性の値が設定されており、かつ所定のラベルが付与されたデータが、変更対象として指定される。そして変更ルールには、変更対象のデータにおける特定の属性の第2値を、第1の値に変更することが指定される。 In generating the training data 2, the processing unit 12 generates, for example, change rules corresponding to each combination of values of one or more second attributes. In the change rule, a value different from the value of the specific attribute is set in the common attribute with the value of the specific attribute, and the value of the second attribute indicated in the combination of the values of the second one or more attributes Data in which a value is set and a predetermined label is assigned is specified as a change target. The change rule specifies that the second value of a specific attribute in the data to be changed should be changed to the first value.
 例えば第2の一または複数の属性の値の組み合わせとして、第1の属性の値「A1=a」と第2の属性の値「B1=c」との組み合わせがある場合を想定する。この組み合わせに対応する変更ルールは、「(¬A1=a、B1=c、¬C=z)→(A1=a)」(¬は否定を示す記号)と表すことができる。「¬A1=a、B1=c、¬C=z」は、変更対象のデータの条件である。この条件を満たすデータが変更対象となる。そして変更ルールでは、特定の属性の値と共通の属性が他値「¬A1=a」であるデータについて、他値を特定の属性の値「A1=a」に変更することが指定されている。このような変更を行うことで、特定の属性の値「A1=a」を有していながらも、ラベルの値が「¬C=z」のデータが増加する。その結果、特定の属性の値「A1=a」を有する場合にラベルの値「C=z」となる割合が高すぎるというバイアスを是正することができる。 For example, assume that the combination of the first attribute value "A1=a" and the second attribute value "B1=c" is a combination of the values of one or more second attributes. A change rule corresponding to this combination can be expressed as "(A1=a, B1=c, C=z)→(A1=a)" (a symbol indicating negation). “¬A1=a, B1=c, ¬C=z” is the condition of the data to be changed. Data that satisfies this condition is subject to change. The change rule specifies that for data whose common attribute with the value of a specific attribute is another value "¬A1=a", the other value should be changed to the value of the specific attribute "A1=a". . By performing such a change, data having a specific attribute value of “A1=a” but having a label value of “¬C=z” are increased. As a result, it is possible to correct the bias that the rate of the label value "C=z" being too high when having the specific attribute value "A1=a".
 なお処理部12は、特定の属性の値を選択する場合、例えば第1の一または複数の属性の値の組み合わせの中に含まれる数が多い方から少なくとも1つの属性の値を、特定の属性の値として選択する。これにより、1つの属性についての値の変更により、より多くのバイアスを是正することができる。すなわち、1種類の属性についての値の変更によって、高いバイアス是正効果を得ることができる。 Note that when selecting a value of a specific attribute, the processing unit 12 selects at least one attribute value from the largest number included in the first combination of one or more attribute values, for example, as the specific attribute value. Select as the value of This allows more biases to be corrected by changing the value for one attribute. That is, a high bias correction effect can be obtained by changing the value of one type of attribute.
 属性ごとに、その属性についてのバイアスを是正した場合の説明のしやすさ(解釈性)に違いがある場合がある。その場合、処理部12は、属性ごとの解釈性を考慮して、特定の属性の値を選択してもよい。例えば処理部12は、特定の属性の値を選択する処理では、第1の一または複数の属性の値の組み合わせの中に含まれる属性の値ごとに、第1の一または複数の属性の値の組み合わせの中に含まれる数に重み付けを行って得られる重要度を計算する。そして処理部12は、属性の値ごとの重要度に応じて特定の属性の値を選択する。例えば処理部12は、重要度が高い方から少なくとも1つの属性の値を、特定の属性の値として選択する。これにより、解釈性が高い属性に関するバイアスほど是正され易くなり、バイアスを是正することによる解釈性の低下が抑止される。 For each attribute, there may be differences in the ease of explanation (interpretability) when the bias for that attribute is corrected. In that case, the processing unit 12 may select a specific attribute value in consideration of the interpretability of each attribute. For example, in the process of selecting a specific attribute value, the processing unit 12 selects the first one or more attribute values for each attribute value included in the combination of the first one or more attribute values. Calculate the importance obtained by weighting the numbers contained in the combination of . Then, the processing unit 12 selects a specific attribute value according to the importance of each attribute value. For example, the processing unit 12 selects at least one attribute value in descending order of importance as a specific attribute value. As a result, biases related to attributes with higher interpretability are more likely to be corrected, and a decrease in interpretability due to correcting biases is suppressed.
 〔第2の実施の形態〕
 第2の実施の形態は、機械学習を行うコンピュータにおいて、機械学習に用いる訓練データの前処理として、バイアス是正処理を行うものである。
[Second embodiment]
In the second embodiment, in a computer that performs machine learning, bias correcting processing is performed as preprocessing of training data used for machine learning.
 図2は、第2の実施の形態に用いるコンピュータのハードウェアの一例を示す図である。コンピュータ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)などの電子回路で実現してもよい。 FIG. 2 is a diagram showing an example of computer hardware used in the second embodiment. A computer 100 is entirely controlled by a processor 101 . A memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109 . 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 part of the functions realized by processor 101 executing a program may be realized by an electronic circuit such as ASIC (Application Specific Integrated Circuit) or PLD (Programmable Logic Device).
 メモリ102は、コンピュータ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。 The memory 102 is used as the main storage device of the computer 100. The memory 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the processor 101 . In addition, the memory 102 stores various data used for processing by the processor 101 . As the memory 102, for example, a volatile semiconductor memory device such as RAM (Random Access Memory) is used.
 バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。 Peripheral devices connected to the bus 109 include a storage device 103 , a GPU (Graphics Processing Unit) 104 , an input interface 105 , an optical drive device 106 , a device connection interface 107 and a network interface 108 .
 ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータ100の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。 The storage device 103 electrically or magnetically writes data to and reads data from a built-in recording medium. A storage device 103 is used as an auxiliary storage device for the computer 100 . The storage device 103 stores an OS program, application programs, and various data. As the storage device 103, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive) can be used.
 GPU104は画像処理を行う演算装置であり、グラフィックコントローラとも呼ばれる。GPU104には、モニタ21が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。 The GPU 104 is an arithmetic unit that performs image processing, and is also called a graphics controller. A monitor 21 is connected to the GPU 104 . The GPU 104 displays an image on the screen of the monitor 21 according to instructions from the processor 101 . Examples of the monitor 21 include a display device using an organic EL (Electro Luminescence), a liquid crystal display device, and the like.
 入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。 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 mouse 23 to the processor 101 . Note that 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.
 光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。 The optical drive device 106 reads data recorded on the optical disc 24 or writes data to the optical disc 24 using laser light or the like. The optical disc 24 is a portable recording medium on which data is recorded so as to be readable by light reflection. The optical disc 24 includes DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable)/RW (ReWritable), and the like.
 機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。 The device connection interface 107 is a communication interface for connecting peripheral devices to the computer 100 . For example, the device connection interface 107 can be connected to the memory device 25 and the memory reader/writer 26 . 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 the memory card 27 or reads data from the memory card 27 . The memory card 27 is a card-type recording medium.
 ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。 The network interface 108 is connected to the network 20. Network interface 108 transmits and receives data to and from other computers or communication devices via network 20 . The network interface 108 is a wired communication interface that is connected by a cable to a wired communication device such as a switch or router. Also, the network interface 108 may be a wireless communication interface that communicates with a wireless communication device such as a base station or an access point via radio waves.
 コンピュータ100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置10も、図2に示したコンピュータ100と同様のハードウェアにより実現することができる。 The computer 100 can implement the processing functions of the second embodiment with the above hardware. The information processing apparatus 10 shown in the first embodiment can also be realized by hardware similar to the computer 100 shown in FIG.
 コンピュータ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またコンピュータ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。 The computer 100 implements the processing functions of the second embodiment, for example, by executing a program recorded on a computer-readable recording medium. A program describing the processing content to be executed by the computer 100 can be recorded in various recording media. For example, a program to be executed by the computer 100 can be stored in the storage device 103 . The processor 101 loads at least part of the program in the storage device 103 into the memory 102 and executes the program. The program to be executed by the computer 100 can also be recorded in a portable recording medium such as the optical disc 24, memory device 25, memory card 27, or the like. A program stored in a portable recording medium can be executed after being installed in the storage device 103 under the control of the processor 101, for example. Alternatively, the processor 101 can read and execute the program directly from the portable recording medium.
 このようなハードウェアのコンピュータ100を用いて訓練データを用いた機械学習を行うことができる。
 図3は、機械学習のためにコンピュータが有する機能を示すブロック図である。コンピュータ100は、記憶部110、変更ルール生成部120、センシティブ属性選択部130、センシティブ属性変更部140、および機械学習部150を有する。
Machine learning using training data can be performed using the computer 100 having such hardware.
FIG. 3 is a block diagram showing functions that a computer has for machine learning. Computer 100 has storage unit 110 , change rule generation unit 120 , sensitive attribute selection unit 130 , sensitive attribute change unit 140 and machine learning unit 150 .
 記憶部110は、入力データ111と訓練データ112とを記憶する。例えば入力データ111は、教師付き学習を行うために用意されたデータセットである。入力データ111には複数のデータが含まれている。各データには、センシティブ属性、非センシティブ属性、およびクラスラベルそれぞれの値が設定される。センシティブ属性は、第1の実施の形態における第1の属性の一例である。非センシティブ属性は、第1の実施の形態における第2の属性の一例である。入力データ111には複数種のバイアスが含まれる可能性がある。訓練データ112は、入力データ111から一部のバイアスを除去することで得られたデータである。訓練データ112が機械学習の学習フェーズへの入力となる。 The storage unit 110 stores input data 111 and training data 112 . For example, the input data 111 is a data set prepared for supervised learning. Input data 111 includes a plurality of data. Each piece of data is set with values for sensitive attributes, non-sensitive attributes, and class labels. A sensitive attribute is an example of the first attribute in the first embodiment. A non-sensitive attribute is an example of the second attribute in the first embodiment. Input data 111 may contain multiple kinds of biases. The training data 112 is data obtained by removing some bias from the input data 111 . Training data 112 is the input to the learning phase of machine learning.
 変更ルール生成部120は、入力データ111に基づいて、バイアスの変更ルールを生成する。例えば変更ルール生成部120は、入力データ111に含まれるセンシティブ属性について、所定の計算式によりバイアス判定の指標となる数値を計算し、計算した数値が所定値以上であれば、そのセンシティブ属性の値を変更する変更ルールを生成する。 The change rule generation unit 120 generates bias change rules based on the input data 111 . For example, the change rule generation unit 120 calculates a numerical value that serves as an index for bias determination using a predetermined formula for the sensitive attribute included in the input data 111, and if the calculated numerical value is equal to or greater than a predetermined value, the sensitive attribute value Generate change rules that change the .
 センシティブ属性選択部130は、生成された変更ルールの中から、変更対象とするセンシティブ属性を選択する。例えばセンシティブ属性選択部130は、最も多くの変更ルールに含まれているセンシティブ属性を選択する。 The sensitive attribute selection unit 130 selects a sensitive attribute to be changed from among the generated change rules. For example, the sensitive attribute selection unit 130 selects the sensitive attribute included in the largest number of change rules.
 センシティブ属性変更部140は、バイアスが是正されるように、選択したセンシティブ属性の値を変更する。例えばセンシティブ属性変更部140は、バイアス判定の指標となる数値が閾値未満となるように、入力データ111における1以上のデータについての選択したセンシティブ属性の値を変更する。そしてセンシティブ属性変更部140は、変更後の入力データ111を訓練データ112として記憶部110に格納する。 The sensitive attribute changing unit 140 changes the value of the selected sensitive attribute so that the bias is corrected. For example, the sensitive attribute changing unit 140 changes the value of the selected sensitive attribute for one or more pieces of data in the input data 111 so that the numerical value used as the index for bias determination is less than the threshold. Then, the sensitive attribute changing unit 140 stores the changed input data 111 as the training data 112 in the storage unit 110 .
 機械学習部150は、訓練データ112を用いて機械学習を行う。例えば機械学習部150は、訓練データ112を入力として、推論用のモデルを生成する。その後、機械学習部150は、推論対象のデータが入力されると、生成したモデルを用いて推論処理を行う。例えば、人材募集に対する応募者についての採用可否を判断するモデルを生成した場合、機械学習部150は、応募者の属性を入力としてモデルを用いた推論を行い、その応募者が採用に値するか否かの推論結果を出力する。 The machine learning unit 150 performs machine learning using the training data 112. For example, the machine learning unit 150 receives the training data 112 and generates an inference model. Thereafter, when data to be inferred is input, the machine learning unit 150 performs inference processing using the generated model. For example, when a model is generated for judging whether or not an applicant can be hired for recruitment, the machine learning unit 150 uses the attributes of the applicant as input to make inferences using the model, and determines whether the applicant is worthy of being hired. output the inference result.
 なお、図3に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図3に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。 It should be noted that the lines connecting each element shown in FIG. 3 indicate part of the communication paths, and communication paths other than the illustrated communication paths can also be set. Also, the function of each element shown in FIG. 3 can be realized by causing a computer to execute a program module corresponding to the element, for example.
 次に、入力データ111について具体的に説明する。
 図4は、入力データの一例を示す図である。図4に示す入力データ111は、人材募集に対する応募者についての採用可否判断の結果を示すデータである。入力データ111に登録されている応募者ごとのデータ(レコード)は、複数のセンシティブ属性、複数の非センシティブ属性、およびクラスラベルそれぞれの値が設定されている。
Next, the input data 111 will be specifically described.
FIG. 4 is a diagram showing an example of input data. The input data 111 shown in FIG. 4 is data indicating the result of determination of whether or not to hire an applicant for recruiting. In the data (record) for each applicant registered in the input data 111, values are set for multiple sensitive attributes, multiple non-sensitive attributes, and class labels.
 入力データ111では、各属性またはクラスラベルに対応するデータ内の値を「1」または「0」のフラグで示している。各データの各属性またはクラスラベルのフラグが「1」のとき、その属性またはクラスラベルの値が所定値(例えば属性「性別」の値が「男」)であることを示している。また各データの各属性またはクラスラベルのフラグが「0」のとき、その属性またはクラスラベルの値が所定値以外(例えば属性「性別」の値が「男」以外)であることを示している。 In the input data 111, the value in the data corresponding to each attribute or class label is indicated by a "1" or "0" flag. When the flag of each attribute or class label of each data is "1", it indicates that the value of that attribute or class label is a predetermined value (for example, the value of the attribute "gender" is "male"). When the flag of each attribute or class label of each data is "0", it indicates that the value of that attribute or class label is other than the predetermined value (for example, the value of the attribute "gender" is other than "male"). .
 図4では、入力データ111の各属性およびクラスラベルの名称の領域に、その領域またはクラスラベルのフラグが「1」となる条件が示されている。例えば「性別=男」(記号の左の文字列が属性名)であれば、センシティブ属性「性別」の値が「男」であるデータにフラグ「1」が設定される。 In FIG. 4, each attribute and class label name area of the input data 111 shows the conditions under which the area or class label flag is "1". For example, if "sex=male" (the character string to the left of the symbol is the attribute name), a flag "1" is set for the data whose value of the sensitive attribute "sex" is "male".
 センシティブ属性としては、「性別」と「人種」がある。センシティブ属性「性別」の欄には応募者が男(性別=男)のデータにはフラグ「1」、男性以外のデータにはフラグ「0」が設定される。センシティブ属性「人種」の欄には、応募者が白人(人種=白人)であればフラグ「1」、白人でなければフラグ「0」が設定される。 Sensitive attributes include "gender" and "race". In the column of the sensitive attribute "gender", a flag "1" is set for data of male applicants (sex=male), and a flag "0" is set for data other than male applicants. In the column of the sensitive attribute “race”, a flag “1” is set if the applicant is Caucasian (race=Caucasian), and a flag “0” is set if the applicant is not Caucasian.
 非センシティブ属性としては、「出身地」、「年収」、「年齢」などがある。非センシティブ属性「出身地」の欄には、例えば応募者が関東地方の出身(出身地=関東)であればフラグ「1」、関東地方の出身でなければフラグ「0」が設定される。非センシティブ属性「年収」の欄には、例えば応募者の年収が130万超え(年収>130万)であればフラグ「1」、年収が130万を超えていなければフラグ「0」が設定される。非センシティブ属性「年齢」の欄には、応募者の年齢が20歳超え(年齢>20)であればフラグ「1」、年齢が20歳を超えていなければフラグ「0」が設定される。 Non-sensitive attributes include "hometown", "annual income", and "age". In the non-sensitive attribute "hometown" column, for example, if the applicant is from the Kanto region (hometown=Kanto), a flag "1" is set, and if the applicant is not from the Kanto region, a flag "0" is set. In the non-sensitive attribute "annual income" column, for example, if the applicant's annual income exceeds 1.3 million (annual income > 1.3 million), a flag "1" is set, and if the annual income does not exceed 1.3 million, a flag "0" is set. be. In the non-sensitive attribute "age" column, a flag "1" is set if the age of the applicant is over 20 (age>20), and a flag "0" is set if the age is not over 20.
 クラスラベルは「採用」である。このクラスラベル「採用」の欄には、応募者が採用に値する(採用=可)場合にはフラグ「1」、採用に値しない場合にはフラグ「0」が設定される。なおクラスラベルの値は、面接や実務に関する試験などの結果に基づいて採用担当者によって判断した結果を示している。 The class label is "recruitment". In the column of the class label "employment", a flag "1" is set when the applicant is worthy of being hired (employment=possible), and a flag "0" is set when not being worthy of being hired. The value of the class label indicates the result determined by the hiring manager based on the results of interviews, practical tests, and the like.
 なお入力データ111におけるどの属性をセンシティブ属性とするのかは、ユーザによって予め設定される。図4の例では、性差別によるバイアスの是正、および人種差別によるバイアスの是正をするために、「性別」、「人種」がセンシティブ属性に指定されている。例えば出身地による差別が横行しており、出身地差別によるバイアスの是正が求められる場合には、「出身地」がセンシティブ属性として指定される場合もあり得る。 It should be noted that which attribute in the input data 111 is set as the sensitive attribute is preset by the user. In the example of FIG. 4, "sex" and "race" are designated as sensitive attributes in order to correct biases due to sex discrimination and racial discrimination. For example, if discrimination based on place of birth is rampant and correction of bias due to place of birth discrimination is required, "hometown" may be designated as a sensitive attribute.
 図4に示した入力データ111において、センシティブ属性「性別」、「人種」の両方においてバイアスが存在するものとする。例えば全データのうち、センシティブ属性「性別」の値が「男」(性別=男)であり、クラスラベル「採用」の値が「可」(採用=可)である割合が「2/3」であるものとする。またセンシティブ属性「性別」の値が男以外(¬性別=男)であり、クラスラベル「採用」の値が「可」(採用=可)である割合が「1/3」であるものとする。この場合、性別により「採用=可」となる確率が大きく変わり、センシティブ属性「性別」に関連するバイアスが存在するものと考えられる。 Assume that the input data 111 shown in FIG. 4 has biases in both the sensitive attributes "gender" and "race". For example, out of all the data, the ratio of "male" (sex = male) for the sensitive attribute "sex" and "acceptable" (adopted = acceptable) for the class label "employment" is "2/3". shall be It is also assumed that the value of the sensitive attribute "sex" is other than male (¬sex = male) and the rate of "acceptable" (acceptable = acceptable) of the class label "employment" is "1/3". . In this case, the probability of “employment = acceptable” varies greatly depending on gender, and it is considered that there is a bias related to the sensitive attribute “gender”.
 このように、訓練データ112の生成元となる入力データ111にはバイアスが存在する場合がある。その場合、そのまま機械学習による学習用の訓練データ112とするのは不適切である。例えばバイアスがある入力データ111で学習したモデルは差別的な挙動を起こす可能性がある。 In this way, the input data 111 from which the training data 112 is generated may have a bias. In that case, it is inappropriate to directly use the training data 112 for learning by machine learning. For example, a model trained with biased input data 111 may exhibit discriminatory behavior.
 そこでコンピュータ100は、バイアスを是正するように入力データ111におけるセンシティブ属性の値を変更する変更ルールに基づいて訓練データ112を生成する。変更ルールは、1つのセンシティブ属性の所定値と1つの非センシティブ属性の所定値との組について計算したバイアスの値が、所定の閾値以上の場合に、その組に対応付けて生成される。例えばバイアス計算対象の組のセンシティブ属性をA、非センシティブ属性をBとする。また入力データ111におけるクラスラベルをCとする。さらにバイアス値の閾値をσとする。このとき選択した組のバイアス値「elift(A,B→C)」が閾値σ以上の場合、選択した組に関してバイアスが存在すると判断される。式で表すと以下の通りである。 The computer 100 then generates the training data 112 based on change rules that change the values of the sensitive attributes in the input data 111 so as to correct the bias. When a bias value calculated for a set of a predetermined value of one sensitive attribute and a predetermined value of one insensitive attribute is equal to or greater than a predetermined threshold value, a change rule is generated in association with the set. For example, let A be the sensitive attribute and B be the non-sensitive attribute of the pair to be subjected to bias calculation. Let C be the class label in the input data 111 . Further, let σ be the threshold value of the bias value. At this time, if the bias value “elift (A, B→C)” of the selected set is equal to or greater than the threshold value σ, it is determined that the selected set is biased. The formula is as follows.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 sup(x,y,・・・)は、x=1,y=1,・・・という特徴を持つ、入力データ内のデータ数である。x=1,y=1は、x、yに設定された属性またはクラスラベルの値が所定値(フラグ「1」)であることを示す。例えばsup(A,B)は、計算対象の組のセンシティブ属性の値が所定値であり、かつ非センシティブ属性の値が所定値であるデータの数である。sup(A,B,C)は、計算対象の組のセンシティブ属性の値が所定値であり、非センシティブ属性の値が所定値であり、かつクラスラベルの値が所定値であるデータの数である。sup(B)は、計算対象の組の非センシティブ属性の値が所定値であるデータの数である。sup(A,C)は、計算対象の組のセンシティブ属性の値が所定値であり、かつクラスラベルの値が所定値であるデータの数である。 sup(x, y, . . . ) is the number of data in the input data with the characteristics x=1, y=1, . x=1, y=1 indicates that the values of attributes or class labels set to x and y are predetermined values (flag "1"). For example, sup(A, B) is the number of data in which the value of the sensitive attribute of the set to be calculated is a predetermined value and the value of the non-sensitive attribute is a predetermined value. sup(A, B, C) is the number of data in which the value of the sensitive attribute of the set to be calculated is a predetermined value, the value of the non-sensitive attribute is a predetermined value, and the value of the class label is a predetermined value. be. sup(B) is the number of data in which the value of the non-sensitive attribute of the set to be calculated is the predetermined value. sup(A, C) is the number of data in which the value of the sensitive attribute of the set to be calculated is a predetermined value and the value of the class label is a predetermined value.
 式(2)は、センシティブ属性と非センシティブ属性との値が共に所定値であるデータのうち、クラスラベルの値が所定値のデータの割合を示している。式(3)は、非センシティブ属性の値が所定値のデータのうち、クラスラベルの値が所定値のデータの割合を示している。 Formula (2) indicates the ratio of data with a predetermined value for the class label among the data for which both the values of the sensitive attribute and the non-sensitive attribute are predetermined values. Equation (3) indicates the ratio of data with a predetermined value of the class label to data with a predetermined value of the non-sensitive attribute.
 式(1)の左辺に示すバイアス値は、センシティブ属性を考慮に入れるか否かにより、クラスラベルの値が所定値となる確率がどの程度変わるのかを示している。例えばセンシティブ属性を考慮に入れた場合におけるクラスラベルの値が所定値の割合(式(2)で求まる値)が、センシティブ属性を考慮しない場合におけるクラスラベルが所定値の割合(式(3)で求まる値)より大きい程、バイアス値が大きくなる。そしてセンシティブ属性と非センシティブ属性との組についてのバイアス値が閾値σ以上の場合、その組に対する変更ルールが生成される。 The bias value shown on the left side of Equation (1) indicates how much the probability that the value of the class label will be the predetermined value changes depending on whether or not the sensitive attribute is taken into consideration. For example, the ratio of the class label value when the sensitive attribute is taken into consideration (the value obtained by the formula (2)) is the ratio of the class label when the sensitive attribute is not taken into account (the value obtained by the formula (3)). The larger the value obtained), the larger the bias value. Then, if the bias value for a pair of sensitive attributes and non-sensitive attributes is greater than or equal to the threshold σ, a change rule for that pair is generated.
 図5は、変更ルールの生成例を示す図である。例えばバイアス値の計算対象が、センシティブ属性「性別」の値「男」、非センシティブ属性「年齢」の値「20」との組であるものとする。入力データ41には図5に示すような4つのデータが含まれている。またバイアス値の閾値σは「1.2」である。 FIG. 5 is a diagram showing an example of generation of change rules. For example, it is assumed that the bias value is calculated for a set of the value "male" of the sensitive attribute "gender" and the value "20" of the non-sensitive attribute "age". The input data 41 includes four data as shown in FIG. The threshold value σ of the bias value is "1.2".
 図5の例では、「conf(性別=男、年齢=20→採用=可)=2/2=1」である。「conf(年齢=20→採用=可)=3/4」である。すると「elift(性別=男、年齢=20→採用=可)=4/3=1.3...≧σ=1.2」となる。すなわちバイアス値が閾値σ以上となる。 In the example of FIG. 5, "conf (gender = male, age = 20→employment = acceptable) = 2/2 = 1". "conf (age=20→employment=possible)=3/4". Then, "elift (sex=male, age=20→recruitment=possible)=4/3=1.3 .gtoreq..sigma.=1.2". That is, the bias value becomes equal to or greater than the threshold value σ.
 そこでセンシティブ属性「年齢」の値「男」に関するバイアスを是正するための変更ルール「(¬性別=男、年齢=20、¬採用=可)→(性別=男)」が生成される。この変更ルールは、センシティブ属性「性別」の値が「男」以外、非センシティブ属性「年齢」の値が「20」、クラスラベル「採用」の値が「不可」のデータについて、センシティブ属性「性別」の値を「男」(フラグ「1」)に変更することを示している。このような変更ルールを用いて入力データ41を変更することでバイアスが是正される。 Therefore, a change rule "(¬ sex = male, age = 20, ¬ adoption = acceptable) → (sex = male)" is generated to correct the bias regarding the value "male" of the sensitive attribute "age". This change rule applies to data whose sensitive attribute "gender" has a value other than "male," non-sensitive attribute "age" has a value of "20," and class label "employment" has a value of "impossible." ” is changed to “male” (flag “1”). Bias is corrected by changing the input data 41 using such a change rule.
 図6は、バイアス是正の一例を示す図である。図6の例では、入力データ41の4番目のデータが、変更ルールにおける、変更対象のデータの条件(¬性別=男、年齢=20、¬採用=可)に合致する。そこで該当データに対して変更ルールが適用され、センシティブ属性「性別」の値が「男」(フラグが「0」から「1」)に変更される。そしてセンシティブ属性の値が変更されたデータが訓練データ42となる。 FIG. 6 is a diagram showing an example of bias correction. In the example of FIG. 6, the fourth data of the input data 41 matches the conditions of the data to be changed (¬sex=male, age=20, ¬adoption=permissible) in the change rule. Therefore, the change rule is applied to the corresponding data, and the value of the sensitive attribute "gender" is changed to "male" (flag is changed from "0" to "1"). The training data 42 is data in which the value of the sensitive attribute has been changed.
 訓練データ42では、「conf(性別=男、年齢=20→採用=可)=2/3」である。「conf(年齢=20→採用=可)=3/4」である。すると「elift(性別=男、年齢=20→採用=可)=8/9=0.88...<σ=1.2」となる。すなわちバイアス値が閾値σ未満となる。なお変更ルールに従ったデータのセンシティブ属性の値の変更は、バイアス値が閾値未満になるまで繰り返し実行される。 In the training data 42, "conf (gender = male, age = 20→employment = acceptable) = 2/3". "conf (age=20→employment=possible)=3/4". Then, "elift (sex=male, age=20→recruitment=possible)=8/9=0.88...<σ=1.2". That is, the bias value becomes less than the threshold value σ. Note that the change of the value of the sensitive attribute of data according to the change rule is repeatedly executed until the bias value becomes less than the threshold.
 ここで、入力データには多種のバイアスが含まれる場合がある。そのとき、すべてのバイアスに対応する変更ルールを適用すると、バイアス是正についての解釈性が損なわれる。 Here, the input data may contain various biases. At that time, applying change rules that correspond to all biases impairs the interpretability of bias correction.
 図7は、解釈性が損なわれるような入力データ変更の一例を示す図である。例えば入力データ111におけるセンシティブ属性「性別=男」、「人種=白人」が共にバイアスの原因になっていたものとする。その場合、センシティブ属性「性別」の値が「男」以外、クラスラベル「採用」の値が「不可」のデータについて、センシティブ属性「性別」の値を「男」に変更する変更ルールが生成される(非センシティブ属性に関する条件は省略)。同様にセンシティブ属性「人種」の値が「白人」以外、クラスラベル「採用」の値が「不可」のデータについて、センシティブ属性「人種」の値を「白人」に変更する変更ルールが生成される(非センシティブ属性に関する条件は省略)。 FIG. 7 is a diagram showing an example of input data change that impairs interpretability. For example, it is assumed that the sensitive attributes “sex=male” and “race=white” in the input data 111 both cause bias. In that case, a change rule is generated to change the value of the sensitive attribute "gender" to "male" for the data whose value of the sensitive attribute "gender" is other than "male" and whose value of the class label "employment" is "impossible". (conditions for non-sensitive attributes are omitted). Similarly, for data whose sensitive attribute "race" has a value other than "white" and whose class label "employment" has a value of "impossible", a change rule is generated to change the value of the sensitive attribute "race" to "white". (conditions for non-sensitive attributes omitted).
 生成されたすべての変更ルールを入力データ111に適用して生成した訓練データ112aは、多数のセンシティブ属性について値が変更されている。このように多数のセンシティブ属性の値が変更されると、入力データ111の多くのバイアスを取り除くことはできるが、バイアス是正処理についての説明の容易さが低下する。すなわち、バイアス是正処理についての解釈性が低下する。 The training data 112a generated by applying all generated change rules to the input data 111 has changed values for many sensitive attributes. Changing the values of a large number of sensitive attributes in this manner removes many of the biases in the input data 111, but reduces the ease of explanation of the bias correction process. That is, the interpretability of the bias correction process is lowered.
 このようにバイアス是正処理によって変更するセンシティブ属性の種類数が多くなるほど、解釈性が低下する。機械学習では、推論による予測精度が高いだけでなく、なぜそのような予測がなされたのかについてのユーザへの明確な説明が求められる。このような予測結果に対する解釈性と同様に、学習時の入力データに対してバイアス是正を行った場合にも、その変更の理由と予測結果への影響を明確に示すこと(バイアス是正の解釈性)が求められる。そのため、解釈性を損なわない範囲内で、より多くのバイアスを是正することが求められる。 In this way, the more the number of types of sensitive attributes changed by bias correction processing, the lower the interpretability. In machine learning, not only is prediction accuracy by inference high, but a clear explanation to the user as to why such a prediction was made is also required. Similar to the interpretability of such prediction results, even if bias correction is performed on the input data during learning, clearly indicate the reason for the change and the impact on the prediction result (interpretability of bias correction) ) is required. Therefore, it is necessary to correct as many biases as possible without impairing interpretability.
 そこで、バイアス是正処理のために変更するセンシティブ属性を1つに限定することが考えられる。変更するセンシティブ属性が1つだけであれば、バイアス是正処理についての解釈性の低下は抑止される。ただし、この場合、変更対象とするセンシティブ属性の選択を誤ると、バイアス是正効果が薄くなる。 Therefore, it is conceivable to limit the sensitive attributes to be changed for bias correction processing to one. If only one sensitive attribute is changed, deterioration in interpretability of bias correction processing is suppressed. However, in this case, if the sensitive attribute to be changed is selected incorrectly, the bias correcting effect will be weak.
 図8は、バイアス是正効果が薄くなるような入力データ変更の一例を示す図である。図8の例では、センシティブ属性「性別」の値が「男」以外、クラスラベル「採用」の値が「不可」のデータについて、センシティブ属性「性別」の値を「男」に変更する変更ルールが10件生成されている。各変更ルールにおける非センシティブ属性についての条件(B1,B2,・・・,B10)はそれぞれ異なる。またセンシティブ属性「人種」の値が「白人」以外、クラスラベル「採用」の値が「不可」のデータについて、センシティブ属性「人種」の値を「白人」に変更する変更ルールが1件生成されている。 FIG. 8 is a diagram showing an example of input data change that reduces the bias correction effect. In the example of FIG. 8, a change rule for changing the value of the sensitive attribute "gender" to "male" for data whose value of the sensitive attribute "gender" is other than "male" and whose value of the class label "employment" is "impossible" is generated 10 times. The conditions (B1, B2, . . . , B10) for non-sensitive attributes in each change rule are different. In addition, there is one change rule that changes the value of the sensitive attribute "race" to "white" for data whose value of the sensitive attribute "race" is other than "white" and whose class label "recruitment" value is "impossible". generated.
 このとき解釈性を損なわないために、変更対象のセンシティブ属性を「人種」に限定したものとする。その場合、一部のデータについてセンシティブ属性「人種」の値が「白人」以外から「白人」に変更された訓練データ112bが生成される。 At this time, in order not to impair interpretability, the sensitive attribute to be changed is limited to "race". In this case, training data 112b is generated in which the value of the sensitive attribute "race" is changed from other than "white" to "white" for some data.
 このようなバイアス是正処理を行うと、多数のバイアスのうち是正されるバイアスは1つのみである。そのためバイアス是正の効果が薄い。
 そこで第2の実施の形態に係るコンピュータ100は、センシティブ属性選択部130において、生成された変更ルールの中で出現頻度の最も高いセンシティブ属性の値を、バイアス是正処理における変更対象として選択する。これにより1種類のセンシティブ属性の値の変更で、より多くのバイアスを是正することが可能となる。すなわち、少ない種類のセンシティブ属性の値の変更により、大きなバイアス是正効果が得られる。
When such bias correction processing is performed, only one bias among many biases is corrected. Therefore, the effect of bias correction is small.
Therefore, in the computer 100 according to the second embodiment, the sensitive attribute selection unit 130 selects the value of the sensitive attribute with the highest appearance frequency among the generated change rules as a change target in the bias correcting process. This makes it possible to correct more biases by changing the value of one type of sensitive attribute. In other words, a large bias correcting effect can be obtained by changing the value of a small number of sensitive attributes.
 図9は、バイアス是正処理の手順の一例を示す図である。以下、図9に示す処理をステップ番号に沿って説明する。
 [ステップS101]変更ルール生成部120は、記憶部110から入力データ111を読み込む。
FIG. 9 is a diagram illustrating an example of a procedure for bias correction processing. The processing shown in FIG. 9 will be described below along with the step numbers.
[Step S<b>101 ] The change rule generation unit 120 reads the input data 111 from the storage unit 110 .
 [ステップS102]変更ルール生成部120は、入力データ111に基づいて、入力データ111に含まれるバイアスの変更ルールを生成する。変更ルールは1または複数生成される。変更ルールには、バイアスを引き起こしているセンシティブ属性と非センシティブ属性との組が示されている。変更ルールに示されるセンシティブ属性の値が、バイアス是正の際の変更対象となる。変更ルール生成処理の詳細は後述する(図10参照)。 [Step S<b>102 ] Based on the input data 111 , the change rule generation unit 120 generates a bias change rule included in the input data 111 . One or more change rules are generated. The change rule indicates the set of sensitive and non-sensitive attributes that cause the bias. The value of the sensitive attribute indicated in the change rule is subject to change when correcting the bias. Details of the change rule generation process will be described later (see FIG. 10).
 [ステップS103]センシティブ属性選択部130は、生成された変更ルールのいずれかに含まれるセンシティブ属性の中から、バイアス是正のために変更するセンシティブ属性を選択する。センシティブ属性選択処理の詳細は後述する(図12参照)。 [Step S103] The sensitive attribute selection unit 130 selects a sensitive attribute to be changed for bias correction from among the sensitive attributes included in any of the generated change rules. Details of the sensitive attribute selection process will be described later (see FIG. 12).
 [ステップS104]センシティブ属性変更部140は、入力データ111における選択されたセンシティブ属性の値を、そのセンシティブ属性を含む変更ルールに基づいて変更する。センシティブ属性変更処理の詳細は後述する(図14参照)。 [Step S104] The sensitive attribute changing unit 140 changes the value of the selected sensitive attribute in the input data 111 based on the change rule including the sensitive attribute. Details of the sensitive attribute change processing will be described later (see FIG. 14).
 [ステップS105]センシティブ属性変更部140は、センシティブ属性の値を変更した入力データ111を、訓練データ112として記憶部110に格納する。
 このようにして入力データ111に基づいて訓練データ112が生成される。次に、変更ルール生成処理について詳細に説明する。
[Step S<b>105 ] The sensitive attribute changing unit 140 stores the input data 111 with changed sensitive attribute values in the storage unit 110 as the training data 112 .
Training data 112 is thus generated based on the input data 111 . Next, change rule generation processing will be described in detail.
 図10は、変更ルール生成処理の手順の一例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
 [ステップS111]変更ルール生成部120は、1つのセンシティブ属性と1つの非センシティブ属性とで生成可能な組のうち、未選択の組を1つ選択する。
FIG. 10 is a flowchart illustrating an example of the procedure of change rule generation processing. The processing shown in FIG. 10 will be described below along with the step numbers.
[Step S111] The change rule generation unit 120 selects one unselected set from the sets that can be generated with one sensitive attribute and one non-sensitive attribute.
 [ステップS112]変更ルール生成部120は、選択した組についてバイアス値を計算する。例えば変更ルール生成部120は、式(1)に示したバイアス値「elift(A,B→C)」を計算する。 [Step S112] The change rule generation unit 120 calculates a bias value for the selected pair. For example, the change rule generator 120 calculates the bias value “elift (A, B→C)” shown in Equation (1).
 [ステップS113]変更ルール生成部120は、計算したバイアス値が閾値σ以上か否かを判断する。変更ルール生成部120は、バイアス値が閾値σ以上であれば処理をステップS114に進める。また変更ルール生成部120は、バイアス値が閾値σ未満であれば処理をステップS115に進める。 [Step S113] The change rule generation unit 120 determines whether the calculated bias value is equal to or greater than the threshold value σ. If the bias value is equal to or greater than the threshold σ, change rule generation section 120 advances the process to step S114. Further, if the bias value is less than the threshold value σ, the change rule generation unit 120 advances the process to step S115.
 [ステップS114]変更ルール生成部120は、選択した組に対する変更ルールを生成する。例えば変更ルール生成部120は、選択したセンシティブ属性の値が所定値以外(フラグ「0」)、選択した非センシティブ属性の値が所定値(フラグ「1」)、クラスラベルの値が所定値以外(フラグ「0」)のデータを変更対象とする変更ルールを生成する。生成された変更ルールでは、センシティブ属性の値を所定値(フラグ「1」)へ変更することが示される。変更ルール生成部120は、生成した変更ルールを変更ルールリストに登録する。 [Step S114] The change rule generation unit 120 generates a change rule for the selected pair. For example, the change rule generation unit 120 determines that the value of the selected sensitive attribute is other than the predetermined value (flag "0"), the value of the selected insensitive attribute is the predetermined value (flag "1"), and the value of the class label is other than the predetermined value. A change rule is generated for the data of (flag "0") to be changed. The generated change rule indicates that the value of the sensitive attribute should be changed to a predetermined value (flag "1"). The change rule generation unit 120 registers the generated change rule in the change rule list.
 [ステップS115]変更ルール生成部120は、センシティブ属性と非センシティブ属性との未選択の組があるか否かを判断する。変更ルール生成部120は、未選択の組があれば処理をステップS111に進める。また変更ルール生成部120は、すべての組について選択済みであれば処理を終了する。 [Step S115] The change rule generator 120 determines whether there is an unselected combination of a sensitive attribute and a non-sensitive attribute. If there is an unselected pair, change rule generation unit 120 advances the process to step S111. Further, if all pairs have been selected, the change rule generation unit 120 ends the process.
 このようにして、センシティブ属性と非センシティブ属性とのすべての組それぞれについてバイアス値が計算され、バイアス値が閾値σ以上の組に対応する変更ルールが生成される。すなわち入力データ111に含まれるバイアスそれぞれを是正するための変更ルールが生成される。生成された変更ルールは、例えば変更ルールリストに示される。 In this way, bias values are calculated for all pairs of sensitive attributes and non-sensitive attributes, and modification rules corresponding to pairs whose bias values are equal to or greater than the threshold σ are generated. That is, change rules for correcting each bias included in the input data 111 are generated. The generated change rule is shown, for example, in a change rule list.
 図11は、変更ルールリストの一例を示す図である。図11に示す変更ルールリスト51には、センシティブ属性「性別」の値「男」を含む変更ルールが10件登録されている。また変更ルールリスト51には、センシティブ属性「人種」の値「白人」を含む変更ルールが1件登録されている。 FIG. 11 is a diagram showing an example of a change rule list. In the change rule list 51 shown in FIG. 11, ten change rules including the value "male" of the sensitive attribute "sex" are registered. In the change rule list 51, one change rule including the value "white" of the sensitive attribute "race" is registered.
 センシティブ属性選択部130は、変更ルールリスト51に基づいて、バイアス是正のための変更に適用するセンシティブ属性を選択する。
 図12は、センシティブ属性選択処理の手順の一例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
Based on the change rule list 51, the sensitive attribute selection unit 130 selects a sensitive attribute to be applied to the change for bias correction.
FIG. 12 is a flowchart showing an example of the procedure of sensitive attribute selection processing. The processing shown in FIG. 12 will be described below along with the step numbers.
 [ステップS121]センシティブ属性選択部130は、変更ルールリスト51から、いずれかの変更ルールに含まれる未選択のセンシティブ属性の値を1つ選択する。
 [ステップS122]センシティブ属性選択部130は、選択したセンシティブ属性の変更ルールリスト51内での出現頻度を計数する。出現頻度の計数では、例えば変更ルールによる変更後のセンシティブ属性の値が選択したセンシティブ属性の値であれば、その変更ルールに選択したセンシティブ属性の値が1件出現しているとカウントする。例えば変更ルール「(¬性別=男、B1、¬採用=可)→(性別=男)」には、センシティブ属性の値「性別=男」が1件出現している。
[Step S<b>121 ] The sensitive attribute selection unit 130 selects one unselected sensitive attribute value included in one of the change rules from the change rule list 51 .
[Step S<b>122 ] The sensitive attribute selection unit 130 counts the appearance frequency of the selected sensitive attribute in the change rule list 51 . In counting the appearance frequency, for example, if the value of the sensitive attribute after being changed by the change rule is the value of the selected sensitive attribute, one occurrence of the value of the sensitive attribute selected by the change rule is counted. For example, in the change rule “(¬sex=male, B1, ¬employment=possible)→(sex=male)”, one sensitive attribute value “sex=male” appears.
 [ステップS123]センシティブ属性選択部130は、変更ルールリスト51内に未選択のセンシティブ属性の値があるか否かを判断する。センシティブ属性選択部130は、未選択のセンシティブ属性の値があれば処理をステップS121に進める。またセンシティブ属性選択部130は、すべてのセンシティブ属性の値が選択済みであれば処理をステップS124に進める。 [Step S123] The sensitive attribute selection unit 130 determines whether there is an unselected sensitive attribute value in the change rule list 51 or not. If there is an unselected sensitive attribute value, the sensitive attribute selection unit 130 advances the process to step S121. If all sensitive attribute values have been selected, sensitive attribute selection section 130 advances the process to step S124.
 [ステップS124]センシティブ属性選択部130は、出現頻度が最も高いセンシティブ属性の値を、バイアス是正のための変更に適用するセンシティブ属性の値として特定する。 [Step S124] The sensitive attribute selection unit 130 identifies the value of the sensitive attribute with the highest appearance frequency as the value of the sensitive attribute to be applied to the change for bias correction.
 [ステップS125]センシティブ属性選択部130は、変更ルールリスト51から、特定したセンシティブ属性の値を含む変更ルールを抽出する。センシティブ属性選択部130は、例えば抽出した変更ルールを、適用変更ルールリストに登録する。 [Step S125] The sensitive attribute selection unit 130 extracts from the change rule list 51 a change rule that includes the value of the specified sensitive attribute. The sensitive attribute selection unit 130 registers, for example, the extracted change rule in the applicable change rule list.
 このようにして、出現頻度が最も高いセンシティブ属性を含む変更ルールが、バイアス是正処理における適用対象として抽出される。
 図13は、適用変更ルールリストの一例を示す図である。例えば図11に示す変更ルールリスト51では、センシティブ属性「性別=男」の出現頻度が「10」であり、センシティブ属性「人種=白人」の出現頻度が「1」である。そのため出現頻度が最大のセンシティブ属性として「性別=男」が特定される。そしてセンシティブ属性「性別=男」を含む変更ルールが適用変更ルールリスト52に登録される。そして適用変更ルールリスト52に基づいて、入力データ111内のセンシティブ属性の値が変更される。
In this way, the modification rule including the sensitive attribute with the highest frequency of appearance is extracted as an application target in the bias correction processing.
FIG. 13 is a diagram showing an example of an applied change rule list. For example, in the change rule list 51 shown in FIG. 11, the appearance frequency of the sensitive attribute "sex=male" is "10", and the appearance frequency of the sensitive attribute "race=white" is "1". Therefore, “sex=male” is specified as the sensitive attribute with the highest appearance frequency. A change rule including the sensitive attribute “sex=male” is registered in the applied change rule list 52 . Based on the application change rule list 52, the value of the sensitive attribute in the input data 111 is changed.
 図14は、センシティブ属性変更処理の手順の一例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
 [ステップS131]センシティブ属性変更部140は、適用変更ルールリスト52内の未選択の変更ルールを、適用する変更ルールとして選択する。
FIG. 14 is a flowchart illustrating an example of the procedure of sensitive attribute change processing. The processing shown in FIG. 14 will be described below according to the step numbers.
[Step S131] The sensitive attribute changing unit 140 selects an unselected change rule in the applied change rule list 52 as a change rule to be applied.
 [ステップS132]センシティブ属性変更部140は、入力データ111から、選択した変更ルールに適合するデータを選択する。例えば選択した変更ルールが「(¬性別=男、出身地=関東、¬採用=可)→(性別=男)」であるものとする。この場合、センシティブ属性変更部140は、センシティブ属性「性別」の値が「男」以外、非センシティブ属性「出身地」の値が「関東」、クラスラベル「採用」の値が「不可」のデータを選択する。 [Step S132] The sensitive attribute changing unit 140 selects data from the input data 111 that conforms to the selected change rule. For example, it is assumed that the selected change rule is "(¬sex=male, hometown=Kanto, ¬recruitment=possible)→(sex=male)". In this case, the sensitive attribute changing unit 140 selects data whose value of the sensitive attribute “sex” is other than “male”, whose value of the non-sensitive attribute “hometown” is “Kanto”, and whose value of the class label “employment” is “impossible”. to select.
 [ステップS133]センシティブ属性変更部140は、選択した変更ルールに従って、選択したデータのセンシティブ属性の値を変更する。例えばセンシティブ属性変更部140は、選択したデータにおける変更ルールに示されるセンシティブ属性の値を、所定値以外(フラグ「0」)から所定値(フラグ「1」)に変更する。 [Step S133] The sensitive attribute changing unit 140 changes the value of the sensitive attribute of the selected data according to the selected change rule. For example, the sensitive attribute change unit 140 changes the value of the sensitive attribute indicated by the change rule in the selected data from a value other than the predetermined value (flag "0") to a predetermined value (flag "1").
 [ステップS134]センシティブ属性変更部140は、選択した変更ルールにおいて変更対象としているバイアスのバイアス値が閾値σ未満か否かを判断する。センシティブ属性変更部140は、バイアス値が閾値σ未満であれば処理をステップS135に進める。またセンシティブ属性変更部140は、バイアス値が閾値σ以上であれば処理をステップS132に進める。 [Step S134] The sensitive attribute changing unit 140 determines whether the bias value of the bias to be changed in the selected change rule is less than the threshold σ. If the bias value is less than the threshold value σ, the sensitive attribute changing unit 140 advances the process to step S135. Also, if the bias value is equal to or greater than the threshold σ, the sensitive attribute changing unit 140 advances the process to step S132.
 [ステップS135]センシティブ属性変更部140は、適用変更ルールリスト52内に未選択の変更ルールがあるか否かを判断する。センシティブ属性変更部140は、未選択の変更ルールがあれば処理をステップS131に進める。またセンシティブ属性変更部140は、適用変更ルールリスト52内のすべての変更ルールが選択済みであれば、センシティブ属性変更処理を終了する。 [Step S135] The sensitive attribute change unit 140 determines whether or not there is an unselected change rule in the applied change rule list 52. If there is an unselected change rule, the sensitive attribute change unit 140 advances the process to step S131. Also, if all the change rules in the applied change rule list 52 have been selected, the sensitive attribute change unit 140 ends the sensitive attribute change process.
 このようにしてセンシティブ属性の値の変更が行われた入力データ111が、訓練データ112として記憶部110に格納される。
 図15は、生成される訓練データの一例を示す図である。訓練データ112には、入力データ111と同様にセンシティブ属性、非センシティブ属性、およびクラスラベルの値を有する複数のデータが登録されている。各データに設定されている値は、センシティブ属性変更処理で変更された値を除き、入力データ111の値と同じである。図15の例では、センシティブ属性「性別」の値が「男」以外(フラグ「0」)であったデータの少なくとも一部について、センシティブ属性「性別」の値が「男」(フラグ「1」)に変更されている。
The input data 111 in which the value of the sensitive attribute has been changed in this manner is stored in the storage unit 110 as the training data 112 .
FIG. 15 is a diagram showing an example of generated training data. Similar to the input data 111, the training data 112 includes a plurality of data having sensitive attributes, non-sensitive attributes, and class label values. The values set for each data are the same as the values of the input data 111 except for the values changed by the sensitive attribute change process. In the example of FIG. 15, for at least some of the data whose value of the sensitive attribute “sex” was other than “male” (flag “0”), the value of the sensitive attribute “sex” was “male” (flag “1”). ) has been changed.
 このように、変更ルールにおいて頻出するセンシティブ属性を変更する変更ルールを適用することで、1種類のセンシティブ属性の変更によってより多くの変更ルールを適用することができる(バイアス削減効果が高い)。しかも、変更するセンシティブ属性が1種類のみであるため、解釈性を損なわずに済む。 In this way, by applying change rules that change sensitive attributes that occur frequently in change rules, it is possible to apply more change rules by changing one type of sensitive attribute (high bias reduction effect). Moreover, since only one type of sensitive attribute is changed, interpretability is not impaired.
 〔第3の実施の形態〕
 第3の実施の形態は、センシティブ属性ごとの解釈性の違いを考慮してバイアス是正処理を行うものである。センシティブ属性には、バイアス(偏り)がある場合に、明らかに不公平を生じさせるものと、不公平であるとは断言しづらいものとがある。
[Third Embodiment]
The third embodiment performs bias correction processing in consideration of the difference in interpretability for each sensitive attribute. Sensitive attributes include those that clearly cause unfairness when biased, and those that are difficult to assert as being unfair.
 例えば入力データ111に示される採用の可否判断結果において、センシティブ属性「人種」の値「白人」によって採用の可否が大きく異なっていれば、そのセンシティブ属性のバイアスが不公平を生じさせるものとユーザに容易に説明できる。すなわちセンシティブ属性「人種」の値「白人」を変更するバイアス是正処理の解釈性が高いといえる。 For example, if the decision result of adoption shown in the input data 111 shows that the adoption is largely different depending on the value "white" of the sensitive attribute "race", the bias of the sensitive attribute causes unfairness. can be easily explained. In other words, it can be said that the interpretability of the bias correction processing for changing the value "white" of the sensitive attribute "race" is high.
 他の例として、入力データ111に示される採用の可否判断結果において、センシティブ属性「性別」の値が「男」か否かによって採用の可否が大きく異なっている場合もあり得る。このとき募集している業務に力仕事が含まれているのであれば、不公平を生じさせるとはいえない可能性もある。例えば介護職であれば要介護者の移動の補助に男手が求められることが考えられる。このような介護職への応募者における男性の割合が極端に少なければ、男性の応募者については採用可とされる割合が高くなる。このような場合、センシティブ属性「性別」の値「男」にバイアスがあることを不公平と解釈してよいのかについて端的に説明するのは困難である。そのため、センシティブ属性「性別」の値「男」についてのバイアス変更処理の解釈性は低いといえる。 As another example, it is possible that in the result of determination of whether or not a person can be hired shown in the input data 111, whether or not the value of the sensitive attribute "sex" is "male" can greatly affect whether or not the person can be hired. At this time, if the work being recruited includes physical labor, there is a possibility that it cannot be said to cause unfairness. For example, in the case of a care worker, it is conceivable that a man will be required to assist the movement of the person requiring care. If the percentage of male applicants for such nursing care jobs is extremely low, the percentage of male applicants who are accepted for employment will be high. In such a case, it is difficult to simply explain whether the bias in the value "male" of the sensitive attribute "gender" should be interpreted as unfair. Therefore, it can be said that the interpretability of the bias change processing for the value "male" of the sensitive attribute "gender" is low.
 そこで第3の実施の形態では、センシティブ属性ごとの解釈しやすさを示す値をユーザが設定できるようにする。例えばバイアス是正のために変更したときの解釈性が高いセンシティブ属性ほど、解釈しやすさに高い値が設定される。センシティブ属性ごとの解釈しやすさは、例えば解釈性管理テーブルに設定される。 Therefore, in the third embodiment, the user can set a value indicating the ease of interpretation for each sensitive attribute. For example, a higher value is set for the interpretability of a sensitive attribute that is more interpretable when changed for bias correction. The interpretability for each sensitive attribute is set, for example, in an interpretability management table.
 図16は、解釈性管理テーブルの一例を示す図である。解釈性管理テーブル61には、センシティブ属性の値に対応付けて、解釈しやすさを示す値が設定されている。図16の例では、センシティブ属性「性別」の値「男」の解釈しやすさは「w1=1」である。センシティブ属性「人種」の値「白人」の解釈しやすさは「w2=20」である。 FIG. 16 is a diagram showing an example of the interpretability management table. In the interpretability management table 61, values indicating interpretability are set in association with sensitive attribute values. In the example of FIG. 16, the ease of interpretation of the value "male" of the sensitive attribute "gender" is "w1=1". The interpretability of the value "white" of the sensitive attribute "race" is "w2=20".
 センシティブ属性の値ごとの解釈しやすさの値が設定された場合、センシティブ属性選択部130は、変更ルールリスト51におけるセンシティブ属性の出現頻度に、解釈しやすさの値に応じた重み付けを行う。例えばセンシティブ属性選択部130は、センシティブ属性の出現頻度に、そのセンシティブ属性の解釈しやすさの値(重み値)を乗算した結果を重要度とする。そしてセンシティブ属性選択部130は、重要度が最大となるセンシティブ属性を、変更するセンシティブ属性として選択する。 When an interpretability value is set for each sensitive attribute value, the sensitive attribute selection unit 130 weights the appearance frequency of the sensitive attribute in the change rule list 51 according to the interpretability value. For example, the sensitive attribute selection unit 130 takes the result of multiplying the appearance frequency of the sensitive attribute by the value (weight value) of the easiness of interpretation of the sensitive attribute as the degree of importance. Then, the sensitive attribute selection unit 130 selects the sensitive attribute with the highest importance as the sensitive attribute to be changed.
 図17は、重要度に応じたセンシティブ属性選択処理の手順の一例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
 [ステップS201]センシティブ属性選択部130は、変更ルールリスト51から、いずれかの変更ルールに含まれる未選択のセンシティブ属性の値を1つ選択する。
FIG. 17 is a flow chart showing an example of the procedure of sensitive attribute selection processing according to importance. The processing shown in FIG. 17 will be described below along with the step numbers.
[Step S<b>201 ] The sensitive attribute selection unit 130 selects one unselected sensitive attribute value included in one of the change rules from the change rule list 51 .
 [ステップS202]センシティブ属性選択部130は、選択したセンシティブ属性の値の変更ルールリスト51内での出現頻度を計数する。
 [ステップS203]センシティブ属性選択部130は、選択したセンシティブ属性の値の重要度を計算する。例えばセンシティブ属性選択部130は、解釈性管理テーブル61から、選択したセンシティブ属性の値の解釈しやすさの値を取得する。そしてセンシティブ属性選択部130は、「出現頻度×解釈しやすさの値」の乗算結果を、選択したセンシティブ属性の値の重要度とする。
[Step S202] The sensitive attribute selection unit 130 counts the appearance frequency in the change rule list 51 of the value of the selected sensitive attribute.
[Step S203] The sensitive attribute selection unit 130 calculates the importance of the value of the selected sensitive attribute. For example, the sensitive attribute selection unit 130 acquires the interpretability value of the selected sensitive attribute value from the interpretability management table 61 . Then, the sensitive attribute selection unit 130 sets the result of multiplication of “appearance frequency×value of ease of interpretation” as the importance of the value of the selected sensitive attribute.
 [ステップS204]センシティブ属性選択部130は、変更ルールリスト51内に未選択のセンシティブ属性の値があるか否かを判断する。センシティブ属性選択部130は、未選択のセンシティブ属性の値があれば処理をステップS201に進める。またセンシティブ属性選択部130は、すべてのセンシティブ属性の値が選択済みであれば処理をステップS205に進める。 [Step S204] The sensitive attribute selection unit 130 determines whether there is an unselected sensitive attribute value in the change rule list 51 or not. If there is an unselected sensitive attribute value, the sensitive attribute selection unit 130 advances the process to step S201. If all sensitive attribute values have been selected, the sensitive attribute selection unit 130 advances the process to step S205.
 [ステップS205]センシティブ属性選択部130は、重要度が最も高いセンシティブ属性の値を、バイアス是正のための変更に適用するセンシティブ属性の値として特定する。 [Step S205] The sensitive attribute selection unit 130 specifies the value of the sensitive attribute with the highest degree of importance as the value of the sensitive attribute to be applied to the change for correcting the bias.
 [ステップS206]センシティブ属性選択部130は、変更ルールリスト51から、特定したセンシティブ属性の値を含む変更ルールを抽出する。センシティブ属性選択部130は、例えば抽出した変更ルールを、適用変更ルールリスト52に登録する。 [Step S206] The sensitive attribute selection unit 130 extracts from the change rule list 51 a change rule that includes the value of the specified sensitive attribute. The sensitive attribute selection unit 130 registers, for example, the extracted change rule in the applied change rule list 52 .
 このようにして、重要度が最も高いセンシティブ属性を含む変更ルールが、バイアス是正処理における適用対象として抽出される。
 図18は、重要度に応じたセンシティブ属性選択の一例を示す図である。例えば変更ルールリスト51におけるセンシティブ属性「性別=男」の出現頻度は「10」であり、解釈しやすさの値は「1」である。この場合、センシティブ属性「性別」の値「男」の重要度は「10×1=10」である。他方、変更ルールリスト51におけるセンシティブ属性「人種」の値「白人」の出現頻度は「1」であり、解釈しやすさの値は「20」である。この場合、センシティブ属性「人種」の値「白人」の重要度は「1×20=20」である。
In this way, the modification rule including the sensitive attribute with the highest importance is extracted as an application target in the bias correction processing.
FIG. 18 is a diagram showing an example of sensitive attribute selection according to importance. For example, the appearance frequency of the sensitive attribute "sex=male" in the change rule list 51 is "10", and the value of the ease of interpretation is "1". In this case, the importance of the value "male" of the sensitive attribute "sex" is "10×1=10". On the other hand, in the change rule list 51, the appearance frequency of the value "white" of the sensitive attribute "race" is "1", and the ease of interpretation is "20". In this case, the importance of the value "white" of the sensitive attribute "race" is "1×20=20".
 図18の例では、重要度が最も高いセンシティブ属性の値は「人種=白人」となる。その結果、バイアス是正処理を適用するセンシティブ属性としては、「人種=白人」が選択される。 In the example of FIG. 18, the value of the sensitive attribute with the highest importance is "race=white". As a result, "race=white" is selected as the sensitive attribute to which the bias correction process is applied.
 このようにセンシティブ属性「性別」の値「男」を変更対象とするよりも、センシティブ属性「人種」の値「白人」を変更対象とするほうが、バイアスを是正した理由がユーザにとってわかりやすい場合がある。その場合、バイアス是正処理の適用対象をセンシティブ属性「人種」の値「白人」とすることができる。これにより、バイアス是正処理について説明が困難なセンシティブ属性の値を変更することによる解釈性の低下を抑止することができる。 In this way, rather than changing the value "male" of the sensitive attribute "gender", changing the value "white" of the sensitive attribute "race" may make it easier for the user to understand why the bias has been corrected. be. In that case, the bias correcting process can be applied to the value "white" of the sensitive attribute "race". As a result, it is possible to prevent deterioration of interpretability caused by changing the value of the sensitive attribute, which is difficult to explain, in the bias correcting process.
 〔その他の実施の形態〕
 第2および第3の実施の形態では、バイアス是正を適用するセンシティブ属性の値を1つだけ選択しているが、解釈性の低下が許容範囲内であるなら、複数のセンシティブ属性の値を選択して、それらのセンシティブ属性の値を含む変更ルールを適用してもよい。その場合、センシティブ属性選択部130は、例えば変更ルールリスト51における出現頻度が高い方から所定数のセンシティブ属性の値を、バイアス是正処理を適用するセンシティブ属性の値として選択する。
[Other embodiments]
In the second and third embodiments, only one value of the sensitive attribute to which bias correction is applied is selected. to apply modification rules that include the values of those sensitive attributes. In this case, the sensitive attribute selection unit 130 selects, for example, a predetermined number of sensitive attribute values in descending order of appearance frequency in the change rule list 51 as sensitive attribute values to which bias correction processing is applied.
 また第2および第3の実施の形態では、「性別=男」についてバイアスがあるとき、「(¬性別=男、・・・、¬採用=可)→(性別=男)」というような変更ルールでバイアスを是正しているが、他の方法でバイアスを是正することも可能である。例えば変更ルール生成部120は、変更ルールを「(性別=男、・・・、採用=可)→(¬性別=男)」としてもよい。これにより、センシティブ属性「性別」の値が「男」以外のデータにおけるクラスラベル「採用」の値が「可」である割合が高くなり、バイアスが是正される。 In addition, in the second and third embodiments, when there is a bias for "gender = male", changes such as "(¬ sex = male, ..., ¬ adoption = acceptable) → (sex = male)" Although the rule corrects the bias, it is also possible to correct the bias in other ways. For example, the change rule generation unit 120 may set the change rule as “(sex=male, . As a result, the ratio of the data whose value of the sensitive attribute "gender" is other than "male" to the value of "acceptable" for the class label "acceptable" increases, and the bias is corrected.
 なお、変更ルール生成部120は、クラスラベルを変更する変更ルールを生成してもよい。例えば変更ルール生成部120は、「性別=男」についてバイアスがあるとき、変更ルールを「(¬性別=男、・・・、¬採用=可)→(採用=可)」としてもよい。この場合、センシティブ属性「性別」の値が「男」以外のデータにおけるクラスラベル「採用」の値が「可」である割合が高くなり、バイアスが是正される。また変更ルール生成部120は、「性別=男」についてバイアスがあるとき、変更ルールを「(性別=男、・・・、採用=可)→(¬採用=可)」としてもよい。この場合にはセンシティブ属性「性別」の値が「男」のデータにおけるクラスラベル「採用」の値が「可」である割合が低くなり、バイアスが是正される。 Note that the change rule generation unit 120 may generate a change rule for changing the class label. For example, when there is a bias for "sex=male", the change rule generation unit 120 may set the change rule as "(¬sex=male, . In this case, the ratio of data whose value of the sensitive attribute "gender" is other than "male" and whose value of the class label "acceptable" is "acceptable" increases, and the bias is corrected. Further, when there is a bias for “sex=male”, the change rule generation unit 120 may set the change rule as “(sex=male, . In this case, the ratio of the data whose value of the sensitive attribute "sex" is "male" and whose value of the class label "acceptable" is "acceptable" is reduced, and the bias is corrected.
 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。 The above merely shows the principle of the present invention. Furthermore, many variations and modifications will occur to those skilled in the art, and the present invention is not limited to the precise construction and applications shown and described above, and all corresponding variations and equivalents are and the equivalents thereof.
 1 入力データ
 2 訓練データ
 10 情報処理装置
 11 記憶部
 12 処理部
REFERENCE SIGNS LIST 1 input data 2 training data 10 information processing device 11 storage unit 12 processing unit

Claims (8)

  1.  それぞれが複数の属性を有する複数のデータのうち、属性の値の組み合わせに対応するデータの数に基づいて、閾値以上のデータの偏りがある第1の一または複数の属性の値の組み合わせを特定し、
     前記第1の一または複数の属性の値の組み合わせの中で各属性の値が含まれる数に応じて、特定の属性の値を選択し、
     前記第1の一または複数の属性の値の組み合わせのうち前記特定の属性の値を含む第2の一または複数の属性の値の組み合わせに関してデータの偏りが前記閾値未満という条件に従って、前記複数のデータのうち一または複数のデータの属性の値を変更することによって、訓練データを生成する、
     処理をコンピュータに実行させる訓練データ生成プログラム。
    Identifying a first combination of one or more attribute values having a data bias equal to or greater than a threshold based on the number of data corresponding to a combination of attribute values among a plurality of data each having a plurality of attributes death,
    Selecting a specific attribute value according to the number of values of each attribute included in the first combination of one or more attribute values;
    According to the condition that data bias is less than the threshold with respect to a second combination of one or more attribute values including the specific attribute value among the first combination of one or more attribute values, the plurality of generating training data by changing the value of one or more data attributes of the data;
    A training data generation program that causes a computer to execute processing.
  2.  前記第1の一または複数の属性の値の組み合わせを特定する処理では、機械学習において不公平な推論結果が出力される要因となる第1の属性の値と、前記要因とならない第2の属性の値との組み合わせの中から、前記閾値以上のデータの偏りがある前記第1の一または複数の属性の値の組み合わせを特定する、
     請求項1記載の訓練データ生成プログラム。
    In the process of identifying the combination of values of the first one or more attributes, the value of the first attribute that causes an unfair inference result to be output in machine learning, and the second attribute that does not become the factor Identifying a combination of values of the first one or more attributes with a data bias equal to or greater than the threshold from among the combinations of the values of
    The training data generation program according to claim 1.
  3.  前記特定の属性の値を選択する処理では、前記第1の一または複数の属性の値の組み合わせに含まれる前記第1の属性の値の中から前記特定の属性の値を選択する、
     請求項2記載の訓練データ生成プログラム。
    In the process of selecting the value of the specific attribute, the value of the specific attribute is selected from among the first attribute values included in the combination of the first one or more attribute values;
    3. The training data generation program according to claim 2.
  4.  前記訓練データを生成する処理では、前記特定の属性の値と共通の属性に前記特定の属性の値とは異なる他値が設定されており、前記第2の一または複数の属性の値の組み合わせに示される前記第2の属性の値が設定されており、かつ所定のラベルが付与されたデータにおける前記他値を、前記特定の属性の値に変更する、
     請求項3記載の訓練データ生成プログラム。
    In the process of generating the training data, a value different from the value of the specific attribute is set to an attribute common to the value of the specific attribute, and a combination of values of the second one or more attributes is set with the value of the second attribute shown in and the other value in the data assigned a predetermined label is changed to the value of the specific attribute;
    4. The training data generation program according to claim 3.
  5.  前記特定の属性の値を選択する処理では、前記第1の一または複数の属性の値の組み合わせの中に含まれる数が多い方から少なくとも1つの属性の値を、前記特定の属性の値として選択する、
     請求項1から4までのいずれかに記載の訓練データ生成プログラム。
    In the process of selecting the value of the specific attribute, at least one attribute value in descending order of the number included in the combination of the first one or more attribute values is selected as the value of the specific attribute. select,
    A training data generation program according to any one of claims 1 to 4.
  6.  前記特定の属性の値を選択する処理では、前記第1の一または複数の属性の値の組み合わせの中に含まれる属性の値ごとに、前記第1の一または複数の属性の値の組み合わせの中に含まれる数に重み付けを行って得られる重要度を計算し、属性の値ごとの重要度に応じて前記特定の属性の値を選択する、
     請求項1から4までのいずれかに記載の訓練データ生成プログラム。
    In the process of selecting the specific attribute value, for each attribute value included in the first combination of the one or more attribute values, the first combination of the one or more attribute values is selected. calculating the importance obtained by weighting the numbers contained therein, and selecting the value of the specific attribute according to the importance of each value of the attribute;
    A training data generation program according to any one of claims 1 to 4.
  7.  それぞれが複数の属性を有する複数のデータのうち、属性の値の組み合わせに対応するデータの数に基づいて、閾値以上のデータの偏りがある第1の一または複数の属性の値の組み合わせを特定し、
     前記第1の一または複数の属性の値の組み合わせの中で各属性の値が含まれる数に応じて、特定の属性の値を選択し、
     前記第1の一または複数の属性の値の組み合わせのうち前記特定の属性の値を含む第2の一または複数の属性の値の組み合わせに関してデータの偏りが前記閾値未満という条件に従って、前記複数のデータのうち一または複数のデータの属性の値を変更することによって、訓練データを生成する、
     処理をコンピュータが実行する訓練データ生成方法。
    Identifying a first combination of one or more attribute values having a data bias equal to or greater than a threshold based on the number of data corresponding to a combination of attribute values among a plurality of data each having a plurality of attributes death,
    Selecting a specific attribute value according to the number of values of each attribute included in the first combination of one or more attribute values;
    According to the condition that data bias is less than the threshold with respect to a second combination of one or more attribute values including the specific attribute value among the first combination of one or more attribute values, the plurality of generating training data by changing the value of one or more data attributes of the data;
    A training data generation method in which processing is performed by a computer.
  8.  それぞれが複数の属性を有する複数のデータのうち、属性の値の組み合わせに対応するデータの数に基づいて、閾値以上のデータの偏りがある第1の一または複数の属性の値の組み合わせを特定し、前記第1の一または複数の属性の値の組み合わせの中で各属性の値が含まれる数に応じて、特定の属性の値を選択し、前記第1の一または複数の属性の値の組み合わせのうち前記特定の属性の値を含む第2の一または複数の属性の値の組み合わせに関してデータの偏りが前記閾値未満という条件に従って、前記複数のデータのうち一または複数のデータの属性の値を変更することによって訓練データを生成する処理部、
     を有する情報処理装置。
    Identifying a first combination of one or more attribute values having a data bias equal to or greater than a threshold based on the number of data corresponding to a combination of attribute values among a plurality of data each having a plurality of attributes and selecting a specific attribute value according to the number of values of each attribute included in the combination of values of the first one or more attributes, and selecting the value of the first one or more attributes one or more of the plurality of data according to the condition that the data bias is less than the threshold with respect to a second combination of the values of one or more attributes that includes the value of the specific attribute among the combinations of a processing unit that generates training data by changing values;
    Information processing device having
PCT/JP2022/007230 2022-02-22 2022-02-22 Training data generation program, training data generation method, and information processing device WO2023161993A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/007230 WO2023161993A1 (en) 2022-02-22 2022-02-22 Training data generation program, training data generation method, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/007230 WO2023161993A1 (en) 2022-02-22 2022-02-22 Training data generation program, training data generation method, and information processing device

Publications (1)

Publication Number Publication Date
WO2023161993A1 true WO2023161993A1 (en) 2023-08-31

Family

ID=87765170

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/007230 WO2023161993A1 (en) 2022-02-22 2022-02-22 Training data generation program, training data generation method, and information processing device

Country Status (1)

Country Link
WO (1) WO2023161993A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022500747A (en) * 2018-09-10 2022-01-04 グーグル エルエルシーGoogle LLC Biased data rejection using machine learning models

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022500747A (en) * 2018-09-10 2022-01-04 グーグル エルエルシーGoogle LLC Biased data rejection using machine learning models

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHE YU; JOYMALLYA CHAKRABORTY; TIM MENZIES: "FairBalance: How to Achieve Equalized Odds With Data Pre-processing", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 26 April 2023 (2023-04-26), 201 Olin Library Cornell University Ithaca, NY 14853, XP091493897 *

Similar Documents

Publication Publication Date Title
Sevim et al. Developing an early warning system to predict currency crises
US10886025B2 (en) Drug adverse event extraction method and apparatus
US20020161761A1 (en) Automatic classification method and apparatus
US20180342328A1 (en) Medical data pattern discovery
CN112055878B (en) Adjusting a machine learning model based on the second set of training data
WO2013125482A1 (en) Document evaluation device, document evaluation method, and computer-readable recording medium
CN111125529A (en) Product matching method and device, computer equipment and storage medium
US7716145B2 (en) System for supporting user&#39;s behavior
WO2023161993A1 (en) Training data generation program, training data generation method, and information processing device
US20230385690A1 (en) Computer-readable recording medium storing determination program, determination apparatus, and method of determining
Radovanović et al. Making hospital readmission classifier fair–What is the cost?
JP2007164346A (en) Decision tree changing method, abnormality determination method, and program
JP5516925B2 (en) Reliability calculation device, reliability calculation method, and program
JP6930195B2 (en) Model identification device, prediction device, monitoring system, model identification method and prediction method
US11790278B2 (en) Determining rationale for a prediction of a machine learning based model
JP2003323601A (en) Predicting device with reliability scale
JP7070994B2 (en) Processing equipment, processing methods and programs
US20080120263A1 (en) Computer-readable recording medium, apparatus and method for calculating scale-parameter
JP2022007311A (en) System for evaluating risk of information leakage from learning model
JP5826893B1 (en) Change point prediction apparatus, change point prediction method, and computer program
JP2016099688A (en) Risk evaluation method and risk evaluation device
US20230244960A1 (en) Computer-readable recording medium having stored therein machine learning program, method for machine learning, and information processing apparatus
WO2022163163A1 (en) Indicator selection device, indicator selection method, and program
US20240119107A1 (en) Evaluation apparatus, evaluation method, and non-transitory computer-readable medium
EP4184328A1 (en) Medical imaging device fault handling

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: 22928524

Country of ref document: EP

Kind code of ref document: A1