Machine learning device and machine learning method
The machine learning device and method address data leakage in federated learning by integrating encrypted statistical data from multiple organizations, ensuring confidentiality and accuracy through confidential cross-statistics technology and differential privacy.
Patent Information
- Application Number
- PCT/JP2024/021803
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-17
- Publication Date
- 2025-12-26
AI Technical Summary
Federated learning methods face the challenge of data leakage risks while maintaining model accuracy, particularly when using differential privacy to enhance security.
A machine learning device and method that generates statistical data using confidential cross-statistics technology to integrate user data from multiple organizations without identifying individual users, employing encryption and differential privacy to train a prediction model.
Prevents data leakage while maintaining model accuracy by using encrypted statistical data for training, ensuring confidentiality and preserving the integrity of user information.
Smart Images

Figure JP2024021803_26122025_PF_FP_ABST
Abstract
Description
Machine learning device and machine learning method
[0001] The present disclosure relates to a machine learning device and a machine learning method.
[0002] As a conventional machine learning method, federated learning is known, in which multiple clients share only the parameters of the learning model that they each hold, thereby learning a learning model held by a server (see, for example, Non-Patent Document 1 below). By performing federated learning, it is possible to train a learning model without sharing highly confidential data.
[0003] On the other hand, it has been pointed out that there is a possibility that original data may be leaked from the parameters of the learning model exchanged in federated learning (for example, see Non-Patent Document 2 below).
[0004] Japan Research Institute, Ltd., "Overview and Trends of Privacy-Enhancing Technology," [online], November 2021, [Retrieved May 27, 2024], Internet, <URL: https: / / www.jri.co.jp / MediaLibrary / file / column / opinion / pdf / 13005.pdf>
[0005] Ligeng Zhu and two others, "Deep Leakage from Gradients," [online], 2019, [Retrieved May 27, 2024], Internet, <URL: https: / / proceedings.neurips.cc / paper / 2019 / file / 60a6c4002cc7b29142def8871531281a-Paper.pdf>
[0006] One possible measure to prevent leakage of original data is to improve security by adding noise based on differential privacy to parameters exchanged between the client and server. However, there is a problem in that the accuracy of the learning model may be degraded if learning is performed based on parameters with added noise.
[0007] The present disclosure aims to prevent leakage of original data while maintaining the accuracy of a learning model when performing federated learning of the learning model.
[0008] The machine learning device according to the present disclosure includes a statistical processing unit that generates statistical data regarding the first feature amount and the second feature amount based on first data including data regarding a first feature amount of each of a plurality of users constituting a first user group in a manner in which each of the plurality of users constituting the first user group is not identified, and second data including data regarding a second feature amount of each of a plurality of users constituting a second user group in a manner in which each of the plurality of users constituting the second user group is not identified, and a learning processing unit that performs learning using the statistical data as learning data, a machine learning model that inputs first feature amount data for processing, and outputs second feature amount data for processing.
[0009] The machine learning method according to the present disclosure involves using a computer to generate statistical data regarding the first features and the second features based on first data containing data regarding first features of each of a plurality of users constituting a first user group in a manner in which each of the plurality of users constituting the first user group is not identified, and second data containing data regarding second features of each of a plurality of users constituting a second user group in a manner in which each of the plurality of users constituting the second user group is not identified, and to train a machine learning model that uses the statistical data as training data and inputs first feature data for processing and outputs second feature data for processing.
[0010] According to the present disclosure, when performing federated learning of a learning model, it is possible to prevent leakage of original data while maintaining the accuracy of the learning model.
[0011] 1 is a block diagram showing the configuration of a machine learning system 1. FIG. 2 is a schematic diagram showing the relationship between a first user group GU1 and a second user group GU2. FIG. 3 is a block diagram showing the functional configuration of a first device 10. FIG. 4 is a block diagram showing the functional configuration of a second device 20. FIG. 5 is a flowchart of processing executed by the first device 10 and the second device 20. FIG. 6 is a schematic diagram showing first user data DC1 and second user data DC2. FIG. 7 is a schematic diagram showing data after preprocessing. FIG. 8 is a schematic diagram showing encryption processing. FIG. 9 is a schematic diagram showing re-encryption processing. FIG. 10 is a schematic diagram showing transmission processing of first re-encrypted ID data DR1. FIG. 11 is a schematic diagram showing data matching processing. FIG. 12 is a schematic diagram showing data integration processing. FIG. 13 is a schematic diagram showing aggregation processing and concealment processing. FIG. 14 is a schematic diagram showing training data DH. FIG. 15 is a schematic diagram showing an example of first processing feature amount data DU1. FIG. 16 is a schematic diagram showing an example of sample data DP for explaining a decision tree model. FIG. 17 is a schematic diagram showing an example of a decision tree model based on the sample data DP. FIG. 18 is a schematic diagram showing an example of a decision tree model trained using training data DH. FIG. 2 is a diagram illustrating an example of the hardware configuration of a first device 10 and a second device 20.
[0012] [First embodiment] [System configuration] Fig. 1 is a block diagram showing the configuration of a machine learning system 1. The machine learning system 1 includes a first device 10 and a second device 20. The first device 10 is an example of a machine learning device. The second device 20 is an example of a counterpart device. In this embodiment, the term "device" broadly includes a computer, a server, etc.
[0013] The first device 10 and the second device 20 are owned by different organizations. The different organizations are, for example, companies or organizations. The organization that owns the first device 10 is referred to as the first organization, and the organization that owns the second device 20 is referred to as the second organization.
[0014] The first organization and the second organization each hold user information about users who use the services, products, etc. that they provide. At least one user who uses the services, products, etc. that the first organization provides is referred to as a first user group GU1. At least one user who uses the services, products, etc. that the second organization provides is referred to as a second user group GU2.
[0015] 2 is a schematic diagram showing the relationship between the first user group GU1 and the second user group GU2. Some users overlap between the first user group GU1 and the second user group GU2. That is, if the first user group GU1 and the second user group GU2 are defined as a universal set S, the universal set S is composed of a common user group GK (GU1∩GU2) that belongs to both the first user group GU1 and the second user group GU2, a user group (GU1-GU2) that belongs only to the first user group GU1, and a user group (GU2-GU1) that belongs only to the second user group GU2.
[0016] As will be described in detail later, the first organization has a first training feature data group GT1 related to the first feature of each of the multiple users constituting the first user group GU1. The second organization has a second training feature data group GT2 related to the second feature of each of the multiple users constituting the second user group GU2. The first organization also has a prediction model LM (see FIG. 1 ) that receives input of a given user's first feature data (first processing feature data DU1) and outputs the given user's second feature data (second processing feature data DU2). The prediction model LM is an example of a machine learning model. In other words, the prediction model LM predicts a given user's second feature data (second processing feature data DU2) from the given user's first feature data (first processing feature data DU1).
[0017] In this embodiment, the first device 10 generates statistical data regarding the first feature and the second feature for the common user group GK (the shaded area in FIG. 2 ) using confidential cross-statistics technology. The confidential cross-statistics technology processes data held by multiple organizations so that individuals cannot be identified within each organization, and then creates cross-sectional statistical information without disclosing the data to each other (more specifically, see Reference 1 below). The first device 10 uses the generated statistical data as training data DH to train the prediction model LM. This allows the data regarding the first feature held by the first organization (first user data DC1, described below) and the data regarding the second feature held by the second organization (second user data DC2, described below) to be used as training data DH for the prediction model LM without leaking to the outside and in a confidential form.
[0018] Reference 1: Kazuma Nozawa et al., "Solving Social Issues by Utilizing Cross-Company Statistical Data - Overview of Confidential Cross-Statistical Technology," NTT Docomo Technical Journal, Vol. 31, No. 1 (2023).
[0019] Note that the learning of the prediction model LM in this embodiment corresponds to vertical federated learning as a classification of federated learning. Vertical federated learning is applied when multiple organizations each hold data on different types of feature quantities, and the prediction model LM is a model that predicts different feature quantities from at least one of the different types of feature quantities. In vertical federated learning, multiple organizations manage their respective users using the same type of user ID, and multiple pieces of data held by the multiple organizations are integrated using the user ID as a key.
[0020] 3 is a block diagram showing the functional configuration of the first device 10. The first device 10 includes a first generation unit 101 (a first preprocessing unit 102 and a first encryption unit 103), a first transmission / reception unit 104, a statistical processing unit 105, and a learning processing unit 106. These functional units are realized by a processor 1001 (see FIG. 19 ) of the first device 10, which will be described later, executing a program stored in a memory 1002 or a storage 1003 (see FIG. 19 ). In other words, the processor 1001 of the first device 10 functions as the first generation unit 101 (the first preprocessing unit 102 and the first encryption unit 103), the first transmission / reception unit 104, the statistical processing unit 105, and the learning processing unit 106 by executing the program.
[0021] 4 is a block diagram showing the functional configuration of the second device 20. The second device 20 includes a second generation unit 201 (a second preprocessing unit 202 and a second encryption unit 203), a second transmission / reception unit 204, and a decryption unit 205. These functional units are realized by a processor 1001 of the second device 20, which will be described later, executing a program stored in the memory 1002 or the storage 1003. In other words, the processor 1001 of the second device 20 functions as the second generation unit 201 (the second preprocessing unit 202 and the second encryption unit 203), the second transmission / reception unit 204, and the decryption unit 205 by executing the program.
[0022] In this embodiment, first user data DC1 is input to the first device 10, and second user data DC2 is input to the second device 20. Note that the first user data DC1 may be stored in the storage 1003 of the first device 10. In this case, "the first user data DC1 is input" means that the processor 1001 of the first device 10 reads the first user data DC1 from the storage 1003. Similarly, the second user data DC2 may be stored in the storage 1003 of the second device 20. In this case, "the second user data DC2 is input" means that the processor 1001 of the second device 20 reads the second user data DC2 from the storage 1003.
[0023] As shown in FIG. 6 , the first user data DC1 includes a first user ID data group GI1 related to the IDs of each of the multiple users constituting the first user group GU1, and a learning first feature data group GT1 related to the first feature of each of the multiple users constituting the first user group GU1. In this embodiment, the first user ID data group GI1 is the user ID of each of the multiple users constituting the first user group GU1. Each record of the first user data DC1 corresponds to the user ID data of one user constituting the first user group GU1 and the first feature data of that one user. In this embodiment, the first feature includes three parameters: age, educational background, and gender. The first feature may be a single parameter.
[0024] The second user data DC2 also includes a second user ID data group GI2 related to the user IDs of each of the multiple users constituting the second user group GU2, and a second learning feature data group GT2 related to the second feature of each of the multiple users constituting the second user group GU2. In this embodiment, the second user ID data group GI2 is the user ID of each of the multiple users constituting the second user group GU2. Each record of the second user data DC2 corresponds to the user ID data of one user constituting the second user group GU2 and the second feature data of that one user. In this embodiment, the second feature is income.
[0025] The user IDs included in the first user ID data group GI1 and the second user ID data group GI2 are the same type of information. Therefore, the same user is indicated by the same user ID. By extracting user IDs that are commonly included in the first user ID data group GI1 and the second user ID data group GI2, the common user group GK can be identified. The user ID can be any information that can uniquely identify a user, and can be, for example, a mobile phone number.
[0026] [Overview of First Device 10] Next, an overview of the functional configuration of the first device 10 will be described. The first generation unit 101 performs a one-way commutative operation on the first user data DC1 using the first encryption key K1 to generate first encrypted user data DE1 by encrypting the first user ID data group GI1. The first generation unit 101 is an example of a generation unit. In other words, the first generation unit 101 generates first data. As described above, the first generation unit 101 includes a first preprocessing unit 102 and a first encryption unit 103.
[0027] The first preprocessing unit 102 performs various preprocessing operations prior to encryption of the first user data DC1. In this embodiment, the first preprocessing unit 102 performs discretization processing and irreversible conversion processing. The discretization processing performed by the first preprocessing unit 102 is, for example, processing in which, when the first feature is represented by a continuous value, each first feature data in the training first feature data group GT1 is discretized into multiple intervals for each first value. Note that, when the first feature originally has a discrete value, discretization processing is not necessary.
[0028] The irreversible conversion process is a hashing process on the first user ID data group GI1. The salt used in the hashing process is discarded after the hashing process is performed on the first user ID data group GI1. The first preprocessing unit 102 performs the irreversible conversion process individually on each piece of user ID data included in the first user ID data group GI1. In other words, the first preprocessing unit 102 does not perform the irreversible conversion process collectively on the first user ID data group GI1 as a single piece of data, but performs the irreversible conversion process on each piece of user ID data as a single piece of data.
[0029] The first encryption unit 103 performs encryption processing on the preprocessed first user data DC1 using a first encryption key K1 to generate first encrypted user data DE1. The first encryption key K1 is a private key held by the first device 10. The first encryption unit 103 performs encryption processing individually on each piece of user ID data included in the first user ID data group GI1. In other words, the first encryption unit 103 does not perform encryption processing collectively on the first user ID data group GI1 as a single piece of data, but rather performs encryption processing on each individual piece of user ID data as a single piece of data.
[0030] The first transmitting / receiving unit 104 is an example of an acquiring unit. The first transmitting / receiving unit 104 transmits the first encrypted user data DE1 to the second device 20. The first transmitting / receiving unit 104 also receives the second encrypted user data DE2 transmitted from the second device 20. In other words, the first transmitting / receiving unit 104 acquires second data. The first transmitting / receiving unit 104 also receives the first re-encrypted ID data DR1 transmitted from the second device 20. The first transmitting / receiving unit 104 also transmits the encrypted statistical data DT generated by the statistical processing unit 105 (described later) to the second device 20. The first transmitting / receiving unit 104 also receives the decrypted statistical data transmitted from the second device 20.
[0031] The statistical processing unit 105 generates statistical data regarding the first feature and the second feature based on first data including data regarding the first feature of each of the multiple users constituting the first user group GU1 in a manner in which each of the multiple users constituting the first user group GU1 is not identified, and second data including data regarding the second feature of each of the multiple users constituting the second user group GU2 in a manner in which each of the multiple users constituting the second user group GU2 is not identified.
[0032] In this embodiment, the first data is first encrypted user data DE1 obtained by encrypting the first user ID data group GI1 by performing a one-way commutative operation using a first encryption key K1 on first user data DC1 including a first user ID data group GI1 related to the IDs of each of the multiple users constituting the first user group GU1 and a first training feature data group GT1 related to the first feature of each of the multiple users constituting the first user group GU1. In the first data, the data related to the first feature of each of the multiple users constituting the first user group GU1 is, for example, the first training feature data group GT1. Furthermore, in the first data, a mode in which each of the multiple users constituting the first user group GU1 cannot be identified means, for example, that the first user ID data group GI1 associated with the first training feature data group GT1 is encrypted using the first encryption key K1.
[0033] Furthermore, in this embodiment, the second data is second encrypted user data DE2 obtained by encrypting the second user ID data group GI2 by performing a one-way commutative operation using the second encryption key K2 on second user data DC2 including a second user ID data group GI2 related to the IDs of each of the multiple users constituting the second user group GU2 and a second training feature data group GT2 related to the second feature of each of the multiple users constituting the second user group GU2. In the second data, the data related to the second feature of each of the multiple users constituting the second user group GU2 is, for example, the second training feature data group GT2. In addition, in the second data, a mode in which each of the multiple users constituting the second user group GU2 cannot be identified refers, for example, to the second user ID data group GI2 associated with the second training feature data group GT2 being encrypted using the second encryption key K2.
[0034] The statistical processing unit 105 generates encrypted statistical data DT related to first features and second features that have been subjected to differential privacy-based confidentiality processing for a common user group GK, which is made up of users belonging to the first user group GU1 and the second user group GU2, based on the first encrypted user data DE1 and the second encrypted user data DE2. The encrypted statistical data DT is an example of statistical data. The statistical processing unit 105 generates encrypted aggregated data DS related to a first feature data group GN1 for aggregation related to the first features of each of the multiple users constituting the common user group GK, which is included in the first encrypted user data DE1, and a second feature data group GN2 for aggregation related to the second features of each of the multiple users constituting the common user group GK, which is included in the second encrypted user data DE2. The encrypted aggregated data DS is an example of aggregated data. The statistical processing unit 105 then performs confidentiality processing by adding noise N based on differential privacy to the encrypted aggregated data DS, thereby generating encrypted statistical data DT. In other words, in this embodiment, the confidentiality processing includes adding noise N based on differential privacy to the data to be processed (encrypted aggregated data DS in the above example).
[0035] The learning processing unit 106 uses the statistical data generated by the statistical processing unit 105 as learning data DH and causes a prediction model LM, which inputs first processing feature data DU1 and outputs second processing feature data DU2, to perform learning. In this embodiment, the prediction model LM is a machine learning model using a naive Bayes classifier or a machine learning model using a decision tree. The prediction model LM may also be referred to as a model that predicts second feature values based on first feature values. When the first processing feature data DU1 is input, the prediction model LM outputs second processing feature data DU2 as a prediction result.
[0036] [Overview of Second Device 20] Next, an overview of the functional configuration of the second device 20 will be described. The second generation unit 201 generates second encrypted user data DE2 by encrypting the second user ID data group GI2 by performing a one-way commutative operation on the second user data DC2 using the second encryption key K2. In other words, the second generation unit 201 generates second data. As described above, the second generation unit 201 includes a second preprocessing unit 202 and a second encryption unit 203.
[0037] The second pre-processing unit 202 performs various pre-processing operations prior to encrypting the second user data DC2. In this embodiment, the second pre-processing unit 202 performs discretization processing and irreversible conversion processing. The discretization processing performed by the second pre-processing unit 202 is, for example, processing in which, when the second feature values are represented by continuous values, each second feature data in the training second feature data group GT2 is discretized into multiple intervals for each second value. Note that, when the second feature values originally have discrete values, discretization processing is not necessary.
[0038] The second encryption unit 203 performs a one-way commutative operation on the preprocessed second user data DC2 using the second encryption key K2 to generate second encrypted user data DE2 by encrypting the second user ID data group GI2. The second encryption key K2 is a secret key held by the second device 20. The second encryption unit 203 performs encryption processing on each user ID constituting the second user ID data group GI2. In other words, the second encryption unit 203 does not perform encryption processing on the second user ID data group GI2 collectively as one piece of data, but rather performs encryption processing on each individual piece of user ID data as one piece of data.
[0039] Furthermore, the second encryption unit 203 encrypts the second training feature data group GT2 of the second user data DC2 using a homomorphic encryption method that enables aggregation processing. The second encryption unit 203 performs encryption processing on each piece of second feature data associated with each user ID that constitutes the second user ID data group GI2. In other words, the second encryption unit 203 does not perform encryption processing on the second training feature data group GT2 collectively as a single piece of data, but rather performs encryption processing on each individual piece of second feature data as a single piece of data.
[0040] The second user ID data group GI2 encrypted by the second encryption unit 203 and the second learning feature amount data group GT2 encrypted by the second encryption unit 203 constitute second encrypted user data DE2.
[0041] The second transmitting / receiving unit 204 transmits the second encrypted user data DE2 to the first device 10. The second transmitting / receiving unit 204 also receives the first encrypted ID data DE1a transmitted from the first device 10. The second transmitting / receiving unit 204 also transmits the first re-encrypted ID data DR1, which is obtained by re-encrypting the first encrypted ID data DE1a, to the first device 10. The second transmitting / receiving unit 204 also receives the encrypted statistical data DT transmitted from the first device 10. The second transmitting / receiving unit 204 also transmits the decrypted statistical data decrypted by a decryption unit 205 (described later) to another information processing device (the first device 10 in this embodiment).
[0042] The decryption unit 205 decrypts the encrypted statistical data DT received from the first device 10 based on a decryption method corresponding to the encryption method used by the second encryption unit 203, and generates decrypted statistical data. In this embodiment, the decrypted statistical data is transmitted to the first device 10 via the second transmission / reception unit 204 and used as learning data DH.
[0043] [Details of Each Functional Unit] [Generation of Learning Data DH] Next, the details of each functional unit shown in Figures 3 and 4 will be described. Figure 5 is a flowchart of processing executed by the first device 10 and the second device 20. More specifically, the processing shown in Figure 5 is executed by the processor 1001 of the first device 10 and the processor 1001 of the second device 20 functioning as the functional units shown in Figures 3 and 4, respectively.
[0044] 5 is roughly divided into a process for generating training data DH shown in steps A1 to A10 and steps B1 to B8, and a process for training a prediction model LM in step A11. First, the process for generating training data DH will be described. User data to be aggregated is input to the first device 10 and the second device 20 (steps A1 and B1).
[0045] The first user data DC1 is input to the first device 10. The first user data DC1 includes a first user ID data group GI1 indicating the user IDs of each of the multiple users constituting the first user group GU1, and a first learning feature data group GT1 indicating the first feature of each of the multiple users constituting the first user group GU1. The second user data DC2 is input to the second device 20. The second user data DC2 includes a second user ID data group GI2 indicating the user IDs of each of the multiple users constituting the second user group GU2, and a second learning feature data group GT2 indicating the second feature of each of the multiple users constituting the second user group GU2.
[0046] 6 is a schematic diagram showing first user data DC1 and second user data DC2. The first user data DC1 includes a first user ID data group GI1 and a first learning feature data group GT1. The second user data DC2 includes a second user ID data group GI2 and a second learning feature data group GT2.
[0047] Among the user ID data contained in the first user ID data group GI1 and the user ID data contained in the second user ID data group GI2, some data is common (e.g., "001" and "003"), while other data is contained in only one of the groups (e.g., "002" and "004").
[0048] The first training feature data group GT1 includes data indicating the age, educational background, and gender of each of the users constituting the first user group GU1. The second training feature data group GT2 includes data indicating the income of each of the users constituting the second user group GU2. In the example of FIG. 6 , the income is shown in units of 10,000 yen.
[0049] When the first user data DC1 and the second user data DC2 are input, the first pre-processing unit 102 and the second pre-processing unit 202 respectively perform pre-processing (steps A2 and B2). More specifically, the first pre-processing unit 102 performs discretization processing and irreversible conversion processing on the first user data DC1. The second pre-processing unit 202 performs discretization processing and irreversible conversion processing on the second user data DC2.
[0050] First, the discretization process will be described in detail. When the first feature is expressed by a continuous value, the first preprocessing unit 102 of the first generation unit 101 discretizes each first feature data in the training first feature data group GT1 into multiple intervals for each first value. When the second feature is expressed by a continuous value, the second preprocessing unit 202 of the second generation unit 201 discretizes each second feature data in the training second feature data group GT2 into multiple intervals for each second value.
[0051] For example, consider age, educational background, and gender, which are first feature quantities. Age is a continuous value and is represented by an integer equal to or greater than 0. Educational background is a discrete value and is represented by three categories, for example, "junior high school graduate," "high school graduate," and "university graduate or above." Gender is a discrete value and is represented by two categories, "male" and "female." Therefore, of the first feature quantities, age is the one that needs to be discretized.
[0052] The first preprocessing unit 102 determines the intervals (divisions) to be discretized by calculating quantiles or creating a histogram to analyze the distribution of the age values included in the training first feature data group GT1. The first preprocessing unit 102 may, for example, calculate quartiles (25%, 50%, and 75%) to discretize the age into four intervals. In this embodiment, age is divided into 10-year age intervals. In this case, the first value is 10. The first preprocessing unit 102 discretizes the age in increments of 10 years, such as 0 to 9 years, 10 to 19 years, and so on. If the nature of the data is not taken into consideration, the first preprocessing unit 102 may use the minimum and maximum values of the first feature to be discretized, normalize the first feature to [0, 1], and discretize the first feature at predetermined numerical values (e.g., in increments of 0.2). In this case, the first value is the predetermined numerical value.
[0053] That is, the first preprocessing unit 102 of the first generating unit 101 may determine the first value based on the distribution of the values of the first feature in the first training feature data group GT1. Similarly, the second preprocessing unit 202 of the second generating unit 201 may determine the second value based on the distribution of the values of the second feature in the second training feature data group GT2.
[0054] Furthermore, the first preprocessing unit 102 may convert the discretized first training feature amount data group GT1 into a one-hot vector. For example, for age in the first training feature amount data group GT1, categories such as "age_0" (0-9 years old), "age_1" (10-19 years old), "age_2" (20-29 years old), ... and "age_10" (100 years old or older) are set, and the user inputs "1" into the category that corresponds to the user and "0" into the other categories.
[0055] Similarly, "educational background 1" indicates junior high school graduate, "educational background 2" indicates high school graduate, "educational background 3" indicates college graduate or above, "gender 0" indicates male, and "gender 1" indicates female. A "1" is entered in the category that applies to the user, and a "0" is entered in the other categories.
[0056] Next, let us consider income, which is the second feature quantity. Income is a continuous value and is represented by a natural number equal to or greater than 0. Therefore, discretization of income, which is the second feature quantity, is also required. In this embodiment, if income is equal to or greater than a first threshold, it is set to "1," and if it is less than the first threshold, it is set to "0." In this embodiment, the first threshold is set to, for example, "5 million yen." In this case, the second value is 5 million. When classification is set based on whether income is equal to or greater than the first threshold or less than the first threshold as described above, it can be said that the second feature quantity is one-hot vectorized at the same time as being discretized.
[0057] Next, the irreversible conversion process will be described. The first preprocessing unit 102 performs a hashing process on each user ID data included in the first user ID data group GI1 of the first user data DC1, and then discards the salt used in the hashing process. The second preprocessing unit 202 similarly performs a hashing process on each user ID data included in the second user ID data group GI2 of the second user data DC2, and then discards the salt used in the hashing process. The hashing process in the first preprocessing unit 102 and the hashing process in the second preprocessing unit 202 are performed by the same method. Therefore, the same user ID will remain the same data even after the irreversible conversion process.
[0058] 7 is a schematic diagram showing data after preprocessing. In FIG. 7, the hashed user ID is prefixed with "H." For example, the hashed user ID "001" is represented as "H001."
[0059] The first preprocessing unit 102 and the second preprocessing unit 202 may perform an anonymization process in addition to the discretization process and the irreversible conversion process. The anonymization process is a process for protecting the privacy of the user. For example, the anonymization process employs one or more of k-anonymization, l-diversity, and t-closeness. For example, k-anonymization is a process for converting user data so that k or more pieces of user data having the same first feature exist in the first user data DC1 (satisfying k-anonymity). This reduces the probability of identifying an individual to one kth or less.
[0060] Specifically, for example, when k=2, if there is one user in the first user data DC1 whose first feature is "52 years old, college graduate, male," the first user data DC1 does not satisfy k-anonymity. Of the first feature amounts of age, educational background, and gender, age is easiest to anonymize, so for example, age is changed to an increment of 10 years, such as "50s," rather than the actual value. If there are two or more users in the first user data DC1 who are "50s, college graduate, male," k-anonymity is satisfied.
[0061] In the above example, the target of anonymization is age, so the anonymization process and the discretization process are similar processes. On the other hand, if the first feature is a residence, for example, and there is one user whose residence is "Akasaka, Minato-ku, Tokyo," the anonymization process can be performed by limiting the range identified as the residence to "Minato-ku, Tokyo."
[0062] Next, the first encryption unit 103 of the first device 10 encrypts the first user ID data group GI1 of the first user data DC1 with a first encryption key K1 prepared in advance to generate first encrypted user data DE1 (step A3). The first encryption key K1 is a secret key held by the first device 10. The first encryption unit 103 also extracts a portion of the first encrypted user data DE1 that corresponds to the first user ID data group GI1 to generate first encrypted ID data DE1a.
[0063] Furthermore, the second encryption unit 203 of the second device 20 encrypts the second user ID data group GI2 of the second user data DC2 with a second encryption key K2 prepared in advance, and encrypts the second learning feature data group GT2 with a third encryption key K3 prepared in advance (step B3). The second encryption key K2 and the third encryption key K3 are private keys held by the second device 20. By encrypting the user ID of the second user data DC2 and the second learning feature data group GT2, second encrypted user data DE2 is generated.
[0064] FIG. 8 is a schematic diagram showing encryption processing. In FIG. 8, data marked with "K1" is data encrypted with the first encryption key K1. Data marked with "K2" is data encrypted with the second encryption key K2. Data marked with "K3" is data encrypted with the third encryption key K3. The first encryption key K1, the second encryption key K2, and the third encryption key K3 are kept secret from each other and cannot be known by anyone other than their holders. The user ID is encrypted using an encryption method having the properties of a one-way commutative hash function. The second training feature data group GT2 is encrypted using a homomorphic encryption method that enables aggregation processing.
[0065] The first encryption unit 103 also extracts a portion of the first encrypted user data DE1 that corresponds to the first user ID data group GI1, and generates first encrypted ID data DE1a.
[0066] Next, the first transmitter / receiver 104 of the first device 10 transmits the first encrypted ID data DE1a to the second device 20 (step A4). Also, the second transmitter / receiver 204 of the second device 20 transmits the second encrypted user data DE2 to the first device 10 (step B4).
[0067] Next, the first encryption unit 103 of the first device 10 re-encrypts the user ID portion included in the second encrypted user data DE2 with the first encryption key K1 (step A5). The second encrypted user data DE2 re-encrypted with the first encryption key K1 is referred to as second re-encrypted user data DR2.
[0068] The second encryption unit 203 of the second device 20 re-encrypts the first encrypted ID data DE1a with the second encryption key K2 (step B5). The first encrypted ID data DE1a re-encrypted with the second encryption key K2 is referred to as first re-encrypted ID data DR1.
[0069] Fig. 9 is a schematic diagram showing the re-encryption process. In Fig. 9, data marked with "K1·K2" is data that has been encrypted with the first device key K1 and then re-encrypted with the second device key K2. Data marked with "K2·K1" is data that has been encrypted with the second device key K2 and then re-encrypted with the first device key K1.
[0070] Next, the second transmitter / receiver 204 of the second device 20 transmits the first re-encrypted ID data DR1 (denoted as "re-encrypted data" in FIG. 5) generated in step B5 to the first device 10 (step B6). The first transmitter / receiver 104 of the first device 10 receives the first re-encrypted ID data DR1 (step A6). Upon receiving the first re-encrypted ID data DR1, the statistical processing unit 105 of the first device 10 replaces the portion of the first encrypted user data DE1 that corresponds to the first user ID data group GI1 with the first re-encrypted ID data DR1. The first encrypted user data DE1 in which the portion corresponding to the first user ID data group GI1 has been replaced with the first re-encrypted ID data DR1 is referred to as first replaced user data DM1.
[0071] 10 is a schematic diagram showing the transmission process of the first re-encrypted ID data DR1. As a result of the first re-encrypted ID data DR1 being transmitted from the second device 20, the first device 10 holds the first re-encrypted ID data DR1 and the second re-encrypted user data DR2. As a result of replacing the portion of the first encrypted user data DE1 corresponding to the first user ID data group GI1 with the first re-encrypted ID data DR1, the first substituted user data DM1 shown in FIG. 11 is obtained.
[0072] Next, the statistical processing unit 105 of the first device 10 compares the user ID portion of the second re-encrypted user data DR2 with the user ID portion of the first substituted user data DM1 to identify user data corresponding to the common user group GK (hereinafter referred to as "common user data"), and then integrates (merges) the common user data included in the second re-encrypted user data DR2 and the common user data included in the first substituted user data DM1 (step A7).
[0073] The statistical processing unit 105 can identify the user ID portion of the second re-encrypted user data DR2 based on predetermined structural information. As described above, the hashing process of the user ID in the first pre-processing unit 102 of the first device 10 and the hashing process of the user ID in the second pre-processing unit 202 of the second device 20 are performed using the same method. Also, as described above, the encryption of the user ID is performed using an encryption method having the properties of a one-way commutative hash function. Therefore, if the first user data DC1 and the second user data DC2 contain the same user ID, the portions of the first substituted user data DM1 and the second re-encrypted user data DR2 corresponding to the same user ID will be the same data string.
[0074] The statistical processing unit 105 compares the user ID portion of each record of the first substituted user data DM1 with the user ID portion of each record of the second re-encrypted user data DR2. The statistical processing unit 105 merges records whose user ID portions match. Furthermore, it deletes records whose user ID portions do not match any other records. This makes it possible to extract user data related to the common user group GK from the first substituted user data DM1 and the second re-encrypted user data DR2, and to integrate data related to the first feature amount and data related to the second feature amount for the same user.
[0075] Fig. 11 is a schematic diagram showing data matching processing, and Fig. 12 is a schematic diagram showing data integration processing. For example, the user ID portion of the first record of the first substituted user data DM1 shown in Fig. 11 matches the user ID portion of the first record of the second re-encrypted user data DR2. Therefore, the statistical processing unit 105 merges the two records. Specifically, for example, as shown in Fig. 12, the second feature amount data of the first record of the second re-encrypted user data DR2 is added to the end of the first record of the first substituted user data DM1.
[0076] On the other hand, for example, there is no record of the second re-encrypted user data DR2 whose user ID part matches the user ID part of the second record of the first substituted user data DM1. Therefore, the statistical processing unit 105 deletes the second record of the first substituted user data DM1.
[0077] When all records have been matched and integrated, the common user group data DK shown in FIG. 12 is generated. The common user group data DK includes a first feature amount data group GN1 for aggregation related to the first feature amount of each of the multiple users constituting the common user group GK, and a second feature amount data group GN2 for aggregation related to the second feature amount of each of the multiple users constituting the common user group GK. Note that in FIG. 12, the common user group data DK includes a user ID. However, because the user ID is not necessary for subsequent processing, the user ID may be deleted from the common user group data DK.
[0078] Next, the statistical processing unit 105 of the first device 10 performs a counting process on the common user group data DK to generate encrypted counted data DS (step A8). The encrypted counted data DS is an example of counted data. In step B3, the second feature data group GN2 for counting of the common user group data DK remains encrypted using a homomorphic encryption method that enables counting. Therefore, the second feature data group GN2 for counting is actually composed of binary values whose format (bit string arrangement) is predetermined.
[0079] In this embodiment, the second feature value indicates the user's income. More specifically, if the income is equal to or greater than 5 million yen (first threshold), the second feature value data is "1," and if the income is less than 5 million yen, the second feature value data is "0." Because the first device 10 does not know the third encryption key K3, it cannot grasp the actual content of the "income" (such as the first threshold value), but can only grasp it as a simple bit string. The statistical processing unit 105 generates encrypted aggregated data DS by counting the number of records having the same bit string in the second feature data group GN2 for aggregation. In the aggregation process described above, because the first organization (first device 10) does not know the third encryption key K3, it cannot grasp the actual content of the second feature data group GN2 for aggregation (as well as the second feature data group GT2 for training). This prevents the actual content of the second feature data group GN2 for aggregation from being leaked to the first organization.
[0080] Next, the statistical processing unit 105 of the first device 10 performs a confidentiality process on the encrypted aggregated data DS to generate encrypted statistical data DT (step A9). The confidentiality process may be a process of adding noise N based on differential privacy to the encrypted aggregated data DS. That is, the confidentiality process performed by the statistical processing unit 105 may be a confidentiality process based on differential privacy. For example, the statistical processing unit 105 generates noise N using an encryption key K3' (a type of public key) of the second organization and adds the generated noise N to the encrypted aggregated data DS to generate encrypted statistical data DT. Note that the above encryption key K3' corresponds to the third encryption key K3 and is assumed to have been shared in advance by the second organization with the first organization.
[0081] FIG. 13 is a schematic diagram illustrating the tabulation process and the confidentiality process. The statistical processing unit 105 separates the records into a group of records whose binary value of the bit string corresponding to the tabulation second feature data group GN2 is "1" and a group of records whose binary value is "0," and counts the number of records corresponding to each type of first feature in each group of records to generate the encrypted tabulated data DS. Specifically, taking "gender" as an example of the first feature, the number of records whose "gender_0" is 1 among the records whose binary value of the second feature is "1" can be counted to obtain the number of males whose second feature is "1." Similarly, the number of records whose "gender_1" is 1 among the records whose binary value is "1" can be counted to obtain the number of females whose second feature is "1." The statistical processing unit 105 similarly counts the number of records for other items and aggregates the count values to generate the encrypted tabulated data DS, which is a cross-tabulation table.
[0082] The statistical processing unit 105 also generates noise N using, for example, encryption key K3'. The noise N is generated corresponding to, for example, each item of the encrypted aggregated data DS (each cell in the cross-tabulation table). The statistical processing unit 105 adds the noise N to the encrypted aggregated data DS to generate encrypted statistical data DT.
[0083] The first transmitting / receiving unit 104 of the first device 10 transmits the encrypted statistical data DT to the second device 20 (step A10). The second transmitting / receiving unit 204 of the second device 20 receives the encrypted statistical data DT (step B7).
[0084] The decryption unit 205 of the second device 20 decrypts the encrypted statistical data DT using the third encryption keys K3 and K3′ and converts it into decrypted statistical data. The decrypted statistical data is used as training data DH for the prediction model LM in the learning processing unit 106 of the first device 10, and therefore hereinafter, the decrypted statistical data will be referred to as training data DH. The second transceiver 204 of the second device 20 then transmits the obtained training data DH (decrypted statistical data) to the first device 10 (step B8). The learning processing unit 106 of the first device 10 uses the training data DH to train the prediction model LM (step A11). Details of the training process for the prediction model LM will be described later.
[0085] Fig. 14 is a schematic diagram showing the learning data DH. By the above-described confidential cross statistics, the learning data DH of the cross tabulation table shown in Fig. 14 can be safely obtained from the first user data DC1 held by the first device 10 and the second user data DC2 held by the second device 20 (see Fig. 6).
[0086] [Learning of the prediction model LM using the training data DH] Next, the training of the prediction model LM using the training data DH (step A11 in FIG. 5) will be described. As described above, in this embodiment, the prediction model LM is a machine learning model using a naive Bayes classifier (hereinafter referred to as a "Bayes model") or a machine learning model using a decision tree (hereinafter referred to as a "decision tree model"). The details of the training for each model will be described below.
[0087] [Naive Bayes Model] The naive Bayes model uses Bayes' theorem shown in the following formula (1): The formula for predicting class c (income, which is the second feature, in this embodiment) from feature data d (data indicating age, educational background, and gender, which are the first feature, in this embodiment) is shown in the following formula (2).
[0088]
[0089] Here, the feature set is W, the class set is C, and for each feature w and class c, a random variable X that follows a Bernoulli distribution is w,c Each feature is binary and Xw,c The probability that w,c In addition, P(c) = p c Let's say. w,c is the following formula (3), p c is expressed by the following formula (4).
[0090] p w,c = (number of users belonging to class c that include feature w) / (number of users belonging to class c) (3)
[0091] p c = (number of users belonging to class c) / (total number of users) (4)
[0092] As shown in FIG. 14, the cross tabulation table (learning data DH) includes information on the total number of users, the number of users belonging to class c, and the number of users belonging to class c that include feature w. w,c and p c is calculated and given to the Naive Bayes model, the Naive Bayes model can be made to learn based on the cross-tabulation table.
[0093] An example will be described in which a Naive Bayes model is trained to predict the income of a given user using the training data DH in Fig. 14. Income of 5 million yen or more (income value of "1" in the training data DH in Fig. 14) is classified as "Class 1," and income of less than 5 million yen (income value of "0" in the training data DH in Fig. 14) is classified as "Class 0."
[0094] In the above formulas (3) and (4), the "number of users belonging to class c" can be calculated by focusing on any feature in the training data DH for each of class 1 and class 0 and adding up the total number of users belonging to class 1. For example, if you want to obtain the total number of users belonging to class 1, focusing on gender, you can add up the number of users with "income_1" and "gender_0" and the number of users with "income_1" and "gender_1," resulting in 2000 (male) + 1500 (female) = 3500. The same result (500 + 1000 + 2000 = 3500) can be obtained even when focusing on educational background. Note that the total number of users and the number of users belonging to class c may not match depending on the aggregated features because noise based on differential privacy is added to the cross-tabulation table. In this case, the average value of the total number of users and the number of users belonging to class c aggregated using all features may be used.
[0095] In the above formula (3), the "number of users belonging to class c that include feature w" can be set by assigning a value to a cell that matches the conditions in the training data DH. Specifically, for example, in the case of "female users belonging to class 1," the value "1500" of the cell that matches "income_1" and "gender_1" can be assigned.
[0096] In the above formulas (3) and (4), the "total number of users" can be calculated by focusing on any feature w in the training data DH of FIG. 14 and adding up all the values of the cells that indicate that feature w. Specifically, for example, focusing on gender, adding up the number of users with "income_1" and "gender_0," users with "income_1" and "gender_1," users with "income_0" and "gender_0," and users with "income_0" and "gender_1" results in 2000 (class 1 and male) + 1500 (class 1 and female) + 5000 (class 0 and male) + 9000 (class 0 and female) = a total of 17,500. The total number of users can also be calculated using other features in a similar manner.
[0097] The Naive Bayes model trained in this manner predicts income for a user (hereinafter referred to as "user Ux") whose first feature values are "age: 28, education: college graduate, gender: male." Figure 15 shows data of user Ux's first feature values converted into a format similar to the training data DH, etc. Figure 15 is a schematic diagram showing an example of processing first feature value data DU1. In Figure 15, the user ID of user Ux is "006." For convenience of notation in mathematical expressions, for example, "age_0" is converted to "N_0" and shown in Figure 15.
[0098] The probability P1 that the user Ux belongs to class 1 is expressed by the following formula (5). N_2,1 is the probability that a user in their 20s is in class 1. G_3,1 is the probability that a user with a college degree is in class 1. S_0,1 is the probability that a user with a male gender classification is in class 1.
[0099] P1 = P N_2,1 ×P G_3,1 ×P S_0,1 = 0.156 ... (5)
[0100] The probability P0 that the user Ux belongs to class 0 is expressed by the following formula (6). N_2,0 is the probability that a user in their 20s is in class 0, P G_3,0 is the probability that a user with a college degree is in class 0, P S_0,0 is the probability that a user with a male gender classification is in class 0.
[0101] P0 = P N_2,01 ×P G_3,0 ×P S_0,0 = 0.05 ... (6)
[0102] The class with the highest probability of belonging is adopted as the prediction result. From the above formulas (5) and (6), P1>P0, and user Ux is estimated to be in class 1, i.e., with an income of 5 million yen or more. In other words, when the first processing feature data DU1 is input to a Bayesian model trained using the training data DH, second processing feature data DU2 indicating "class 1" is output.
[0103] [Decision Tree Model] Next, the decision tree model will be explained. A method called ID3 (Iterative Dichotomizer 3) among decision trees calculates the expected value of the average information amount for each feature, sets the node with the largest expected value as the tree node, and performs conditional branching. The average information amount M is expressed by the following formula (7). In the following formula (7), x is a feature, D is a set of features, and C is a set of training data DH.
[0104]
[0105] 16 is a schematic diagram showing an example of sample data DP for explaining a decision tree model. The sample data DP shows features A to C (examples of first features) and classes (examples of second features) for five users. Features A to C are each represented by "0" or "1," and classes are represented by "1," "2," or "3." The total number of records is five, with two records for class "1," two records for class "2," and one record for class "3." Therefore, the overall average information content M(C) is given by the following formula (8):
[0106]
[0107] Next, we focus on feature A. There are three records whose value of feature A is "1," and these three records belong to one class each of "1," "2," and "3." Therefore, the average information amount M(CA,1) is given by the following formula (9).
[0108]
[0109] Similarly, there are two records whose feature A value is "0", and of these two records, one belongs to class "1" and the other to class "3". Therefore, the average information amount M(CA,0) is given by the following formula (10).
[0110]
[0111] Therefore, the information gain of feature A (= average information amount before division - average information amount after division) is given by the following formula (11). Similarly, the information gains of feature B and feature C are calculated, and the feature with the largest information gain is selected, and this process is repeated. Ultimately, a tree structure like that shown in FIG. 17 is created. FIG. 17 is a schematic diagram showing an example of a decision tree model based on sample data DP.
[0112]
[0113] In this way, in a decision tree model, first, the average information amount M in information theory is calculated for the entire learning data DH (cross-tabulation table). Next, the average information amount M when the data set is divided by each feature amount w is calculated. Then, the information gain is calculated from the average information amount M calculated for each feature amount w, and the feature amount with the largest information gain is selected. In the case of a Bayesian model, the parameters (p w,c and p c ) but in the case of a decision tree model, the output of learning is a tree structure of conditional branches.
[0114] When a decision tree model is generated using the training data DH of FIG. 14 , the tree structure shown in FIG. 18 is obtained. FIG. 18 is a schematic diagram showing an example of a decision tree model trained using the training data DH. Nodes are traced according to this tree structure, and the class of the leaf node reached becomes the predicted class. When the decision tree model of FIG. 18 is applied to the above-mentioned user Ux (age: 28, education: college graduate, gender: male), the income of user Ux can be predicted to be class 0. That is, when first processing feature data DU1 indicating "age: 28, education: college graduate, gender: male" is input to a decision tree model trained using the training data DH, second processing feature data DU2 indicating "class 0" is output as an output.
[0115] [Summary of the embodiment] According to the embodiment of the present disclosure described above, by linking the first device 10 of the first organization and the second device 20 of the second organization, it is possible to generate training data DH that excludes correspondence with individuals without disclosing data that should be kept confidential to each other. This makes it possible to prevent leakage of original data while maintaining the accuracy of the prediction model LM when performing federated learning of the prediction model LM.
[0116] Furthermore, by generating the learning data DH using the private cross statistics as in this embodiment, the following effects 1 and 2 can be obtained.
[0117] [Effect 1] Improved Accuracy of the Prediction Model LM In existing federated learning, noise is added to the training data DH (differential data or model update information, etc.) at each client, and this is then aggregated at a central server. Therefore, multiple noises accumulate, increasing the impact of the noise on the entire training data DH. On the other hand, when a cross-tabulation table generated by confidential cross-statistics is used as the training data DH, as in this embodiment, noise is added only once, reducing the impact of noise compared to existing federated learning. Therefore, compared to existing federated learning, the method of this embodiment can improve the accuracy of the prediction model LM.
[0118] [Effect 2] The prediction model LM can be reliably trained. In existing federated learning, there are cases where a model cannot be trained due to privacy budget constraints, but in this embodiment, the prediction model LM can be trained without fail. First, the "privacy budget" in differential privacy will be explained. Differential privacy uses a privacy parameter (usually represented by ε) that indicates the level of noise to be added to the data.
[0119] The smaller ε is, the more noise can be added to protect privacy. Also, the larger ε is, the less noise can be added, and privacy is not protected. When the same data is aggregated multiple times, ε is additive. For example, if ε = 0.5 and aggregation is performed twice, the total ε is 1 (0.5 + 0.5). The privacy budget indicates the upper limit of ε when performing aggregation. For example, if the privacy budget is 1, aggregation with ε = 0.5 can only be performed twice.
[0120] Many existing federated learning methods target neural networks. In neural networks, data is used in two stages: model parameter tuning and model training. However, the privacy budget is consumed each time data is used. Therefore, if the privacy budget is small, it may not be possible to train the model at all.
[0121] In contrast, in the method of this embodiment, the learning data DH to which the noise N has been added can always be output, so that the event of being unable to learn the prediction model LM does not occur. Therefore, by using the method of this embodiment, the learning of the prediction model LM can be reliably performed, improving convenience.
[0122] [Explanation of Terms, Explanation of Hardware Configuration (FIG. 19), etc.] The block diagrams used to explain the above embodiments show functional blocks. These functional blocks (components) are realized by any combination of hardware and / or software. Furthermore, the method for realizing each functional block is not particularly limited. That is, each functional block may be realized using a single device that is physically or logically coupled, or may be realized using two or more physically or logically separated devices that are connected directly or indirectly (e.g., via wire, wirelessly, etc.) and these multiple devices. The functional block may also be realized by combining the single device or multiple devices with software.
[0123] Functions include, but are not limited to, judgment, determination, judgment, calculation, computation, processing, derivation, investigation, search, confirmation, reception, transmission, output, access, resolution, selection, election, establishment, comparison, assumption, expectation, consideration, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocation, mapping, and assignment. For example, a functional block (component) that performs transmission is called a transmitting unit or transmitter. As described above, there are no particular limitations on how each of these functions is implemented.
[0124] For example, the first device 10 and the second device 20 in this embodiment may function as computers that execute the processes of the present disclosure. Fig. 19 is a diagram showing an example of the hardware configuration of the first device 10 and the second device 20. The first device 10 and the second device 20 described above may be physically configured as computer devices including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, etc.
[0125] In the following description, the term "apparatus" may be interpreted as a circuit, a device, a unit, etc. The hardware configurations of the first apparatus 10 and the second apparatus 20 may be configured to include one or more of the apparatuses shown in the drawings, or may be configured to exclude some of the apparatuses.
[0126] Each function of the first device 10 and the second device 20 is realized by loading specified software (programs) onto hardware such as a processor 1001 and a memory 1002, causing the processor 1001 to perform calculations, control communication via the communication device 1004, and control at least one of reading and writing data in the memory 1002 and the storage 1003.
[0127] The processor 1001 controls the entire computer by running, for example, an operating system, and may be configured as a central processing unit (CPU) including an interface with peripheral devices, a control unit, an arithmetic unit, a register, etc.
[0128] The processor 1001 also reads programs (program codes), software modules, data, etc. from at least one of the storage 1003 and the communication device 1004 into the memory 1002 and executes various processes in accordance with these. The programs used are those that cause a computer to execute at least some of the operations described in the above-described embodiments. While the above-described various processes have been described as being executed by one processor 1001, they may be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. The programs may be transmitted from a network via a telecommunications line.
[0129] The memory 1002 is a computer-readable recording medium and may be configured by at least one of, for example, a read-only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a random access memory (RAM), etc. The memory 1002 may also be called a register, a cache, a main memory (primary storage device), etc. The memory 1002 can store executable programs (program codes), software modules, etc. for implementing an information processing method according to an embodiment of the present disclosure.
[0130] Storage 1003 is a computer-readable recording medium, and may be composed of at least one of, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy (registered trademark) disk, a magnetic strip, etc. Storage 1003 may also be referred to as an auxiliary storage device. The above-mentioned storage medium may be, for example, a database, a server, or other appropriate medium including at least one of memory 1002 and storage 1003.
[0131] The communication device 1004 is hardware (transmission / reception device) for communicating between computers via at least one of a wired network and a wireless network, and is also referred to as, for example, a network device, a network controller, a network card, a communication module, etc. The communication device 1004 may be configured to include a high-frequency switch, a duplexer, a filter, a frequency synthesizer, etc. to realize at least one of frequency division duplex (FDD) and time division duplex (TDD).
[0132] The input device 1005 is an input device (e.g., a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that receives input from the outside. The output device 1006 is an output device (e.g., a display, a speaker, an LED lamp, etc.) that outputs to the outside. Note that the input device 1005 and the output device 1006 may be integrated into one device (e.g., a touch panel).
[0133] Furthermore, each device, such as the processor 1001 and the memory 1002, is connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or may be configured using different buses between each device.
[0134] Furthermore, the first device 10 and the second device 20 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA), and some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented using at least one of these pieces of hardware.
[0135] The notification of information is not limited to the aspects / embodiments described in the present disclosure and may be performed using other methods. For example, the notification of information may be performed by physical layer signaling (e.g., Downlink Control Information (DCI) and Uplink Control Information (UCI)), higher layer signaling (e.g., Radio Resource Control (RRC) signaling, Medium Access Control (MAC) signaling, broadcast information (Master Information Block (MIB) and System Information Block (SIB))), other signals, or a combination thereof. Furthermore, the RRC signaling may be referred to as an RRC message, such as an RRC Connection Setup message, an RRC Connection Reconfiguration message, or the like.
[0136] Each aspect / embodiment described in the present disclosure may be applied to a mobile communication system such as LTE (Long Term Evolution), LTE-A (LTE-Advanced), SUPER 3G, IMT-Advanced, 4G (4th generation mobile communication system), 5G (5th generation mobile communication system), 6th generation mobile communication system (6G), xth generation mobile communication system (xG) (xG (x is, for example, an integer or decimal number)), FRA (Future Radio The present invention may be applied to at least one of systems utilizing IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, UWB (Ultra-Wideband), Bluetooth, other suitable systems, and next generation systems that are extended, modified, created, or defined based on these. In addition, multiple systems may be applied in combination (for example, a combination of at least one of LTE and LTE-A with 5G, etc.).
[0137] The order of the procedures, sequences, flowcharts, etc. of each aspect / embodiment described in this disclosure may be changed unless it is consistent. For example, the methods described in this disclosure present elements of various steps using an example order, and are not limited to the particular order presented.
[0138] Input and output information may be stored in a specific location (for example, memory) or may be managed using a management table. Input and output information may be overwritten, updated, or added to. Output information may be deleted. Input information may be sent to another device.
[0139] The determination may be made based on a value represented by one bit (0 or 1), a Boolean value (true or false), or a numerical comparison (e.g., comparison with a predetermined value).
[0140] The aspects / embodiments described in this disclosure may be used alone, in combination, or switched depending on the implementation. Notification of predetermined information (e.g., notification that "X is true") is not limited to explicit notification, but may be implicit (e.g., not notifying the predetermined information).
[0141] Although the present disclosure has been described in detail above, it is clear to those skilled in the art that the present disclosure is not limited to the embodiments described herein. The present disclosure can be implemented in modified and altered forms without departing from the spirit and scope of the present disclosure as defined by the claims. Therefore, the description of the present disclosure is intended to be illustrative and does not have any limiting meaning on the present disclosure.
[0142] Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0143] Software, instructions, information, etc. may also be transmitted or received over a transmission medium. For example, if software is transmitted from a website, server, or other remote source using wired technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and / or wireless technologies (such as infrared, microwave), then these wired and / or wireless technologies are included within the definition of transmission media.
[0144] The information, signals, etc. described in this disclosure may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.
[0145] Note that terms described in this disclosure and terms necessary for understanding this disclosure may be replaced with terms having the same or similar meanings. For example, at least one of a communication channel and a symbol may be a signal (signaling). Furthermore, a signal may be a message. Furthermore, a component carrier (CC) may be called a carrier frequency, a cell, a frequency carrier, etc.
[0146] As used in this disclosure, the terms "system" and "network" are used interchangeably.
[0147] Furthermore, the information, parameters, etc. described in the present disclosure may be expressed using absolute values, may be expressed using relative values from a predetermined value, or may be expressed using other corresponding information. For example, a radio resource may be indicated by an index.
[0148] The names used for the above-described parameters are not intended to be limiting in any way. Furthermore, the mathematical expressions using these parameters may differ from those explicitly disclosed in this disclosure. The various communication channels (e.g., PUCCH, PDCCH, etc.) and information elements may be identified by any suitable names, and therefore the various names assigned to these various communication channels and information elements are not intended to be limiting in any way.
[0149] As used in this disclosure, the terms "determining" and "determining" may encompass a wide variety of actions. "Determining" and "determining" may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, searching, inquiring (e.g., searching in a table, database, or other data structure), ascertaining something as a "determining" or "determining," and the like. Furthermore, "judgment" and "decision" may include regarding receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, and accessing (e.g., accessing data in memory) as having been "judgment" or "decision." Furthermore, "judgment" and "decision" may include regarding resolving, selecting, choosing, establishing, comparing, etc. as having been "judgment" or "decision." In other words, "judgment" and "decision" may include regarding some action as having been "judgment" or "decision." Furthermore, "judgment (decision)" may be interpreted as "assuming," "expecting," "considering," etc.
[0150] As used in this disclosure, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."
[0151] As used in this disclosure, any reference to an element using a designation such as "first," "second," etc. does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must in some way precede the second element.
[0152] Where the terms "include," "including," and variations thereof are used in this disclosure, these terms are intended to be inclusive, similar to the term "comprising." Furthermore, the term "or," as used in this disclosure, is not intended to be an exclusive or.
[0153] In this disclosure, where articles are added by translation, such as a, an, and the in English, the disclosure may include that the nouns following these articles are in the plural form.
[0154] In the present disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "coupled" may also be interpreted in the same way as "different."
[0155] 1...machine learning system, 10...first device, 20...second device, 101...first generation unit, 102...first pre-processing unit, 103...first encryption unit, 104...first transmission / reception unit, 105...statistical processing unit, 106...learning processing unit, 201...second generation unit, 202...second pre-processing unit, 203...second encryption unit, 204...second transmission / reception unit, 205...decryption unit, 1001...processor, 1002...memory, 1003...storage, 1004...communication device, 1005...input device, 1006...output device, 1007...bus.
Claims
1. A machine learning device comprising: a statistical processing unit that generates statistical data regarding the first feature and the second feature based on first data containing data regarding a first feature of each of a plurality of users constituting a first user group in a manner that does not identify each of the plurality of users constituting the first user group, and second data containing data regarding a second feature of each of a plurality of users constituting a second user group in a manner that does not identify each of the plurality of users constituting the second user group; and a learning processing unit that uses the statistical data as learning data and causes a machine learning model that inputs first feature data for processing and outputs second feature data for processing to perform learning.
2. The first data is first encrypted user data obtained by encrypting first user data including a first user ID data group related to the IDs of each of the multiple users constituting the first user group and a first feature amount data group for learning related to the first feature amount of each of the multiple users constituting the first user group by performing a one-way commutative operation using a first encryption key on the first user data, the first user ID data group being encrypted; and the second data is second encrypted user data obtained by encrypting second user data including a second user ID data group related to the IDs of each of the multiple users constituting the second user group and a second feature amount data group for learning related to the second feature amount of each of the multiple users constituting the second user group by performing a one-way commutative operation using a second encryption key on the second user data, the second data further comprising: a generation unit that generates the first encrypted user data; and an acquisition unit that acquires the second encrypted user data from a counterpart device, 2. The machine learning device according to claim 1, wherein the statistical processing unit generates the statistical data regarding the first feature amount and the second feature amount, which have been subjected to confidentiality processing based on differential privacy, for a common user group that is users belonging to the first user group and the second user group, based on the first encrypted user data and the second encrypted user data.
3. The machine learning device of claim 2, wherein the statistical processing unit generates aggregated data regarding a first feature data group for aggregation regarding the first feature of each of the multiple users constituting the common user group from among the first feature data group for training, and a second feature data group for aggregation regarding the second feature of each of the multiple users constituting the common user group from among the second feature data group for training, and performs the confidentiality processing by adding noise based on the differential privacy to the aggregated data to generate the statistical data.
4. The machine learning device according to claim 2, wherein when the first feature is represented by a continuous value, the generation unit discretizes each first feature data of the group of first feature data for training into a plurality of intervals for each first value.
5. The machine learning device according to claim 4, wherein the generation unit determines the first value based on a distribution of values of the first feature in the group of first feature data for training.
6. The machine learning device according to claim 1, wherein the machine learning model is a machine learning model using a naive Bayes classifier or a machine learning model using a decision tree.
7. A machine learning method comprising: a computer generating statistical data regarding the first feature amounts and the second feature amounts based on first data containing data regarding first feature amounts of each of a plurality of users constituting a first user group in a manner in which each of the plurality of users constituting the first user group is not identified; and second data containing data regarding second feature amounts of each of a plurality of users constituting a second user group in a manner in which each of the plurality of users constituting the second user group is not identified; and using the statistical data as training data, causing a machine learning model to perform training using first feature amount data for processing as input and output second feature amount data for processing.
Citation Information
Patent Citations
Single and across sensor object tracking using feature descriptor mapping in autonomous system and application
JP2023088849A
Learning assistance device, learning assistance method, and computer-readable recording medium
WO2020255414A1