Information processing apparatus, information processing method, and program
The information processing device manages learning data access through a blockchain network, addressing inefficiencies in existing systems by securely distributing training data and minimizing costs, enhancing AI data quality through efficient access control.
Patent Information
- Application Number
- JP2024131160
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2026-02-20
AI Technical Summary
Existing systems for managing access to learning data for machine learning lack efficient methods to ensure secure and cost-effective distribution and management of training data while protecting the rights of data owners and minimizing transaction fees.
An information processing device that utilizes a blockchain network to manage access control by storing learning data with associated public keys and updating access rights based on transaction records, allowing secure and efficient distribution of training data while minimizing transaction costs and protecting personal information.
Enables secure and cost-effective management of learning data access, reducing transaction fees and personal information management costs, facilitating global data distribution, and improving the quality of AI training data.
Smart Images

Figure 2026028605000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] A system for managing content distribution using blockchain has been proposed. For example, Patent Document 1 discloses a content management system that records access right information for content (e-books) on a blockchain, and when a content distribution request is received from a user, determines whether or not to allow distribution based on the access right information on the blockchain. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-20557 Summary of the Invention [Problem to be solved by the invention]
[0004] In one aspect, an object of the present invention is to provide an information processing device or the like that can suitably manage access to learning data for machine learning. [Means for solving the problem]
[0005] The information processing device includes a memory unit that stores machine learning learning data uploaded by a seller in association with the public keys of users who are permitted to access the learning data, and a control unit, wherein the control unit acquires an execution record of a transaction on a blockchain in which a purchaser of the learning data transfers payment to the seller, the execution record including the public key of the purchaser, and stores the public key of the purchaser in the memory unit as the public key of the user who is permitted to access the learning data based on the execution record. [Effects of the Invention]
[0006] In one aspect, access to learning data for machine learning can be suitably managed. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of a learning data management system. [Figure 2] FIG. 2 is a block diagram illustrating an example of the configuration of a server. [Figure 3] FIG. 10 is a diagram illustrating an example of a record layout of an access control DB. [Figure 4] FIG. 2 is a functional block diagram illustrating an example of the configuration of a server. [Figure 5] FIG. 10 is a diagram showing an upload screen. [Figure 6] FIG. 10 is a diagram showing a purchase screen. [Figure 7] 10 is a flowchart showing the procedure of a learning data upload process. [Figure 8] 10 is a flowchart showing a procedure for updating access control information. [Figure 9] 10 is a flowchart showing a procedure for a process of accessing learning data. DETAILED DESCRIPTION OF THE INVENTION
[0008] The present invention will be described in detail below with reference to the drawings showing embodiments thereof. (Embodiment) FIG. 1 is a diagram showing an example of the configuration of a learning data management system. In this embodiment, a learning data management system will be described in which a seller sells learning data for machine learning uploaded by the seller to a purchaser. The learning data management system includes an information processing device 1, a blockchain network 2, and terminals 3, 3, 3, . . . Each device is communicatively connected via a network N such as the Internet.
[0009] Note that "learning data" refers to data including the learning data itself (hereinafter referred to as "content"), such as an image, point cloud data, depth map, text, or audio, and annotation information labeled with the content. In this embodiment, a case will be described in which the content is an image, and images to which predetermined annotation information is attached are bought and sold as learning data.
[0010] Note that, for example, if the training data is used for unsupervised learning, the content does not need to be annotated. In other words, the "training data" is sufficient as long as it is data used for machine learning, and the "training data" includes at least content.
[0011] The information processing device 1 is an information processing device capable of various information processing and information transmission and reception, such as a server computer or a personal computer. In this embodiment, the information processing device 1 is assumed to be a server computer, and for simplicity, will be referred to as server 1 below. The server 1 functions as a management device that manages learning data, accepts learning data uploaded from a seller, and stores the uploaded learning data in a database. As will be described later, when a transaction is executed on the blockchain in which a purchaser transfers the purchase price (compensation) for the learning data to a seller, the server 1 performs a process of updating access control information that specifies the public keys of users permitted to access the learning data, so as to permit the purchaser to access the learning data stored in the database.
[0012] The blockchain network 2 is a blockchain system consisting of multiple nodes 20, 20, 20, ..., where each node 20 communicates peer-to-peer and synchronizes the distributed ledger according to a predetermined consensus algorithm (e.g., mining). As will be described later, the server 1 obtains transaction execution records (transaction logs) from the nodes 20 and updates access control information.
[0013] Terminal 3 is a terminal device used by users of the system (sellers and purchasers of learning data), such as a personal computer, smartphone, tablet device, etc. As will be described later, terminal 3 displays a learning data upload screen (see FIG. 5) and a learning data purchase screen (see FIG. 6), and accepts learning data uploads and purchases from users.
[0014] 2 is a block diagram showing an example of the configuration of the server 1. The server 1 includes a control unit 11, a main memory unit 12, a communication unit 13, and an auxiliary memory unit . The control unit 11 has one or more arithmetic processing devices such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), a GPU (Graphics Processing Unit), etc., and performs various information processing, control processing, etc. by reading and executing a program P stored in the auxiliary storage unit 14. The main storage unit 12 is a temporary storage area such as an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory), and temporarily stores data necessary for the control unit 11 to execute arithmetic processing. The communication unit 13 is a communication module for performing communication-related processing, and transmits and receives information to and from the outside.
[0015] The auxiliary storage unit 14 is a non-volatile storage area such as a large-capacity memory or a hard disk, and stores a program P (program product) and other data required for the control unit 11 to execute processing. The auxiliary storage unit 14 also stores an access control DB 141 and a learning data DB 142. The access control DB 141 is a database that stores access control information that defines the public keys of users who are permitted to access the learning data. The learning data DB 142 is a database that stores learning data.
[0016] The auxiliary storage unit 14 may be an external storage device connected to the server 1. The server 1 may be a multi-computer consisting of multiple computers, or may be a virtual machine virtually constructed by software.
[0017] Furthermore, in this embodiment, the server 1 is not limited to the above configuration, and may include, for example, an input unit that accepts operation input, a display unit that displays images, etc. Furthermore, the server 1 may be provided with a reading unit that reads a portable storage medium 1a such as a CD (Compact Disk)-ROM or a DVD (Digital Versatile Disc)-ROM, and may read and execute the program P from the portable storage medium 1a.
[0018] FIG. 3 is a diagram showing an example of a record layout of the access control DB 141. The access control DB 141 includes a learning data ID column, a seller public key column, a purchaser public key column, and a usage right column. The learning data ID column stores a learning data ID, which is an identifier for each piece of learning data. The seller public key column, the purchaser public key column, and the usage right column store, in association with the learning data ID, the public key of the seller of the learning data, the public key of the purchaser, and the usage right (usage purpose) of the learning data granted to the purchaser. For example, learning data with a learning data ID of "1" is sold by a user with "public key 1." Furthermore, learning data with a learning data ID of "1" is purchased by a user with "public key 2," and "usage right 1," "usage right 2," and "usage right 3" are granted.
[0019] Here, we have presented multiple usage rights, "Usage Rights 1" to "Usage Rights 3." For example, when used as training data for AI (Artificial Intelligence) development, the following usage rights are possible: use in generative AI development, use in AI development other than generative AI, downloading and use of original images, and downloading and use of AI models trained within the system are possible, among other usage forms. In particular, with regard to data that constitutes personal information, such as facial images, it is preferable to provide an AI model training function within the system that allows purchasers to download only the trained AI model, rather than allowing purchasers to download images. This would prevent purchasers from downloading personal information, but allow them to use it as training data, making it possible to use the training data while protecting the seller's personal information.
[0020] 4 is a functional block diagram showing an example of the configuration of the server 1. A control unit 11 of the server 1 executes a program P to function as a learning data adding unit 101, a learning data selling unit 102, an access control information updating unit 103, an access control unit 104, and an output unit 105. An outline of this embodiment will be described below.
[0021] The learning data adding unit 101 accepts uploads of learning data from sellers and stores (adds) the data to the learning data DB 142. Specifically, the learning data adding unit 101 accepts setting input of annotation information required as learning data for content (images) and stores the information in the learning data DB 142.
[0022] Fig. 5 is a diagram showing an upload screen. Fig. 5 shows the display screen of terminal 3 for uploading learning data. The upload screen includes a select button 401, an EXIF (Exchangeable Image File Format) information area 402, a first display area 403, a second display area 406, a wallet connection button 409, and an upload button 410.
[0023] The select button 401 is a button for selecting content (images) to be uploaded. When an operation input to the select button 401 is accepted, the terminal 3 accepts the selection of an image to be uploaded.
[0024] The EXIF information area 402 is a display field that displays the acquisition location information and acquisition time information of the selected content. If the content is an image, the acquisition location information and acquisition time information correspond to the image capture location and capture time, respectively. Image data captured by a camera is provided with EXIF information, and if the camera is equipped with a GPS (Global Positioning System) function, both the image capture location and capture time are provided to the image. The terminal 3 displays the image capture location and capture time information in the EXIF information area 402.
[0025] The server 1 may determine whether to accept the upload of content based on the acquisition location information (image capture location) and / or acquisition time information (image capture time) displayed in the EXIF information area 402. Specifically, the server 1 prohibits the upload of content if the content upload location (the current location of the terminal 3) is a predetermined distance or more from the acquisition location, or if the content upload time (current time) has passed a predetermined time or more since the acquisition time. For example, if the seller's current location is Tokyo but the image capture location of the uploaded image was New York, it is possible that the seller has uploaded an image of another person copied from another location without permission. Also, if the current time is January 1, 2024, but the image capture time is June 1, 2023, it is possible that the seller has uploaded an image of another person copied from another location without permission. Therefore, by prohibiting uploading based on the acquisition location or acquisition time of the content, it is possible to prevent the unauthorized sale of another person's content.
[0026] The first display area 403 is an image area that displays content (images) and is an area that accepts an operation to set annotation information used for learning. For example, the terminal 3 accepts an operation input to set a rectangular bounding box 404 to an arbitrary area within the image as annotation information, and also accepts an input to set a label name (text) 405. In this way, annotation information is assigned to the content.
[0027] The second display area 406 is an image area that displays content similar to the first display area 403, and is an area that accepts an operation to set protected annotation information that does not recommend learning use. For example, the terminal 3 accepts an operation input to set a rectangular bounding box 407 to any area within the image as protected annotation information, and also accepts an input to set a label name 408 ("Human Face" in FIG. 5).
[0028] For example, if a person's face appears in a photo taken on the street, there is a high possibility that the person has not given consent for the image to be used for learning. Therefore, it is possible to attach protective annotation information to the face area, indicating that the area cannot be used for learning. While a face is shown as an example here, protective annotation information can also be attached to other people's copyrighted works such as illustrations, or objects containing personal information such as car license plates.
[0029] The wallet connection button 409 is a button for connecting to the seller's wallet and for reading the seller's public key. A public key and a private key are required to use the blockchain, but public and private keys are redundant and difficult to memorize. For this reason, people often register the public and private keys in a wallet and register an easy-to-remember password to access and use the public and private keys. When an operation input to the wallet connection button 409 is accepted, the terminal 3 reads the public key registered in the wallet.
[0030] The upload button 410 is a button for uploading the content, the acquisition location information, the acquisition time information, the annotation information, the protected annotation information, and the public key to the server 1. When an operation input to the upload button 410 is accepted, the terminal 3 uploads the content, etc. to the server 1. The server 1 stores the learning data including the content, the annotation information, and the protected annotation information in the learning data DB 142. The server 1 also stores the seller's public key in the access control DB 141 in association with the learning data ID.
[0031] Returning to Figure 4, we will continue the explanation. The training data sales unit 102 accepts a purchase request for training data from a purchaser and sells the training data to the purchaser. Specifically, the training data sales unit 102 accepts the purchase request including the purchaser's public key, and generates a transaction in which the purchaser transfers payment to the seller based on the public key of the seller and the purchaser. The training data sales unit 102 has the purchaser enter a digital signature for the generated transaction, and outputs the signed transaction to node 20 of the blockchain network 2. The transaction is executed by a smart contract stored in node 20. When the transaction is executed and successfully recorded in the blockchain, the purchase of the training data is completed.
[0032] Fig. 6 is a diagram showing a purchase screen. Fig. 6 shows the display screen of terminal 3 for purchasing learning data. The purchase screen includes a wallet connection button 411, a map display area 412, an image capture time specification field 413, a search button 414, a search result display area 415, and a purchase button 416.
[0033] The wallet connection button 411 is a button for connecting to the purchaser's wallet and for reading the purchaser's public key. When an operation input to the wallet connection button 411 is accepted, the terminal 3 reads the purchaser's public key. As will be described later, the terminal 3 presents (displays) content that matches the search criteria to the purchaser, but at that time, in order to prevent the purchaser from purchasing content that has already been purchased, the terminal 3 receives the user's public key first and reflects it in the search results.
[0034] The map display area 412 is a display area for displaying a map, and is an area for setting the content acquisition position (image capture position) as a search condition. The terminal 3 accepts an input for setting the center position of the map and the displayed range as search conditions, thereby specifying the acquisition position of the content to be searched.
[0035] The image capturing time specification field 413 is a specification field for setting the content acquisition time (image capture time) as a search condition. The terminal 3 accepts the specification of the content acquisition time in the image capturing time specification field 413.
[0036] The search button 414 is a button for executing a content search. When an operation input to the search button 414 is accepted, the server 1 searches the learning data DB 142 for content that matches the acquisition position and acquisition time specified above, and outputs the content to the terminal 3.
[0037] The search result display area 415 is a display area for displaying searched content (images). The terminal 3 displays the content searched for in the server 1 in the search result display area 415. In this case, the terminal 3 may superimpose annotation information on the image. The terminal 3 may also reduce the resolution of the image or display a watermark to prevent unauthorized copying of the image from the search result display area 415 and use of it for learning. The terminal 3 may also set images that have already been purchased to be unselectable so that they cannot be purchased again. When a user finds an image that the user wants among the images displayed in the search result display area 415, the user clicks on the image to select it. For example, as shown on the left side of the search result display area 415 in FIG. 6, the terminal 3 may display a thick line around the image to distinguish whether it is selected or not.
[0038] The purchase button 416 is a button for purchasing the content (learning data) selected in the search result display area 415. When an operation input to the purchase button 416 is received, for example, the terminal 3 displays a pop-up screen (not shown) and receives input for setting the usage rights (purpose of use) of the learning data. The usage rights of the learning data include, as described above, use in the development of the generating AI, use in the development of AI other than the generating AI, use for downloading the original images, and use for downloading the AI model trained within this system while not allowing use for downloading the original images, but allowing use, but not limited to ...
[0039] Although the purchaser sets the usage range here, the seller may set the usage range in advance and present it to the purchaser.
[0040] When the server 1 receives a purchase request, it reads the seller's public key stored in the access control DB 141 in association with the learning data for which the purchase request was received. Then, based on the public key of the purchaser and the public key of the seller, the server 1 generates a transaction for the purchaser to transfer payment to the seller. For example, the transaction may include a learning data ID that is an identifier of the learning data purchased by the purchaser, the public key of the purchaser, the public key of the seller, and the amount to be paid by the purchaser to the seller as payment. The server 1 outputs the generated transaction to the terminal 3 of the purchaser.
[0041] When the terminal 3 receives a transaction from the server 1, it displays a pop-up screen (not shown) containing the remittance amount (value) and an approval button for deciding whether to approve the remittance. When the terminal 3 receives an operation input on the approval button, it generates a digital signature using the private key of the purchaser, enters it into the transaction, and outputs it to the server 1. The server 1 receives the transaction signed by the purchaser from the terminal 3.
[0042] The server 1 outputs the signed transaction to a node 20 in the blockchain network 2. The node 20 verifies (executes) the transaction using a predetermined smart contract. A smart contract is a program that runs on a blockchain and is capable of executing complex processes, not limited to remittances. In this embodiment, a smart contract is provided that transfers money from a buyer to a seller and concludes a contract between the buyer and seller, and the user operates the ledger by executing the smart contract. The node 20 verifies the transaction by calling the smart contract. If the transaction verification is successful, the node 20 adds a new block storing the transaction to the distributed ledger. This completes the purchase (remittance) of the learning data.
[0043] Returning to Fig. 4, the explanation continues. The access control information update unit 103 updates the access control information that specifies the public key of the user who is permitted to access the learning data, based on the transaction execution record. Specifically, the access control information update unit 103 obtains the transaction execution record from the node 20 and determines whether the transaction is successful. If it is determined that the transaction is successful, the access control information update unit 103 stores the public key of the purchaser in association with the learning data ID in the access control DB 141 as the public key of the user who is permitted to access the learning data.
[0044] For example, when server 1 outputs a transaction to node 20 of blockchain network 2, it obtains a transaction ID from node 20. A transaction ID is an ID assigned when a transaction is accepted on the blockchain. Since it takes time for node 20 to receive the transaction and for the transaction to be reflected in the blockchain, server 1 waits for a predetermined time. After the predetermined time has elapsed, server 1 obtains the transaction execution record from node 20 based on the transaction ID.
[0045] The server 1 determines whether the transaction is successful based on the acquired execution record. If it determines that the transaction is successful, the server 1 updates the access control information that specifies the public keys of users who are permitted to access the learning data so that access to the learning data using the public key of the purchaser is permitted.
[0046] 3, the public key of the purchaser is stored in association with the learning data ID in the access control DB 141. The server 1 stores the public key of the purchaser in association with the learning data ID in the access control DB 141. The server 1 also stores the usage right set above in association with the learning data ID and the public key of the purchaser in the access control DB 141.
[0047] Here, we have shown a method of waiting until the transaction is reflected in the blockchain, but the access control information may also be updated when determining whether the purchaser, as described below, is the actual owner of the public key. For example, Server 1 may store the acquired transaction ID and update the access control information based on the stored transaction ID when an access request is made by the purchaser. This reduces the waiting time until the transaction is reflected in the blockchain.
[0048] The access control unit 104 controls access to the training data based on the access control information. Specifically, the access control unit 104 receives an access request from a purchaser, the access request including the purchaser's public key, a hash value of a message requesting access to the training data, and a digital signature for the hash value. The access control unit 104 determines whether the purchaser is the owner of the public key based on the purchaser's public key, the hash value, and the digital signature. If it is determined that the purchaser is the owner of the public key, the access control unit 104 permits access to the training data associated with the public key in the access control DB 141 based on the access control information.
[0049] Although an example of a screen when accessing learning data is not shown, for example, the terminal 3 accepts an input specifying the acquisition time of the learning data (time when the image was captured) in order to have the server 1 search for the desired learning data. At this time, it is also possible to accept an input specifying the acquisition position (position where the image was captured) as a search condition.
[0050] When making a search request to the server 1, the terminal 3 requests the purchaser's signature for a message requesting access to the learning data (for example, the purchaser's account name and date and time). If the terminal 3 receives an operation input approving the signature, it generates a digital signature for the hash value of the message using the purchaser's private key. The terminal 3 then outputs an access request including the purchaser's public key, the hash value, and the digital signature to the server 1.
[0051] When an access request is received, the server 1 verifies (determines) whether the purchaser is the owner of the public key based on the public key, hash value, and digital signature included in the access request. If it is verified that the purchaser is the owner of the public key, the server 1 permits access to the learning data associated with the public key in the access control DB 141. Specifically, the server 1 searches the learning data DB 142 for learning data that matches the acquisition time specified above, and permits access.
[0052] When access to the learning data is permitted, the output unit 105 outputs the learning data, etc. to the purchaser in a format according to the usage rights granted to the purchaser.
[0053] The form of access (use) of the training data differs depending on the usage rights contracted with the seller at the time of purchase. For example, if the right to download the training data is granted, the server 1 outputs the training data to the terminal 3. If the right to download an AI model that has learned the training data is granted, the server 1 generates an AI model using the training data and outputs the data of that model to the terminal 3.
[0054] 7 is a flowchart showing the procedure for uploading learning data. The process performed when a seller uploads learning data will be described with reference to FIG. The control unit 11 of the server 1 receives an input from the seller to select the content to be uploaded, thereby acquiring the content data to be uploaded (step S11). The content data includes the content itself, as well as information on the location where the content was acquired (information on the location where the image was captured) and information on the time when the content was acquired (information on the time when the image was captured).
[0055] The control unit 11 receives an operation input for adding annotation information and / or protected annotation information to the content (step S12), and also acquires the public key of the seller by reading the public key from the wallet of the seller (step S13).
[0056] The control unit 11 determines whether the upload location of the content (the current location of the terminal 3) is a predetermined distance or more from the acquisition location (step S14). If it is determined that the upload location is not the predetermined distance or more (S14: NO), the control unit 11 determines whether the upload time (current time) of the content is a predetermined time or more from the acquisition time (step S15). If it is determined that the upload location is a predetermined distance or more from the acquisition location (S14: YES), or if it is determined that the upload time is a predetermined time or more from the acquisition time (S15: YES), the control unit 11 outputs an error to the terminal 3 (step S16) and ends the series of processes.
[0057] If it is determined that the upload time has not been longer than a predetermined time from the acquisition time (S15: NO), the control unit 11 stores the learning data in which annotation information and / or protected annotation information has been added to the content in the learning data DB 142, and stores the seller's public key in association with the learning data ID in the access control DB 141 (step S17), and terminates the series of processes.
[0058] 8 is a flowchart showing the procedure for updating the access control information. The process when a purchaser purchases learning data will be described with reference to FIG. The control unit 11 of the server 1 acquires the public key of the purchaser by reading the public key from the wallet of the purchaser (step S31). The control unit 11 searches the learning data DB 142 for learning data (content) according to the content acquisition location and / or acquisition time specified by the purchaser (step S32). The control unit 11 outputs the searched learning data to the terminal 3 (step S33). The control unit 11 receives an input from the purchaser selecting the learning data to purchase (step S34).
[0059] The control unit 11 generates a transaction for transferring payment from the purchaser to the seller (step S35). The transaction contains information necessary for settlement using a smart contract. For example, the transaction contains the learning data ID of the learning data purchased by the purchaser, the purchaser's public key, the seller's public key, the amount to be paid by the purchaser to the seller as payment, and so on.
[0060] The control unit 11 outputs the generated transaction to the purchaser (step S36). The purchaser checks the contents of the transaction, and if there are no problems with the contents of the transaction, uses the private key to digitally sign it. The control unit 11 acquires the signed transaction (step S37). The control unit 11 outputs (transmits) the signed transaction to node 20 of the blockchain network 2 (step S38). The transaction is executed by a smart contract stored in node 20.
[0061] The control unit 11 acquires a transaction ID, which is an identifier for the output transaction (step S39). The transaction ID is an ID assigned when a transaction is accepted on the blockchain. The control unit 11 acquires the transaction execution record from the node 20 based on the transaction ID, and determines whether the transaction was successful (step S40). It takes time for the transaction to be completed after it is accepted by the node 20 of the blockchain. Therefore, the success or failure of the transaction is determined in step S40 after a predetermined time has elapsed since the transaction ID was acquired in step S39. If it is determined that the transaction failed (S40: NO), the control unit 11 outputs an error to the purchaser's terminal 3 (step S41), and ends the series of processes.
[0062] If it is determined that the transaction is successful (S40: YES), the control unit 11 updates the access control information to permit access to the learning data using the purchaser's public key (step S42). That is, the control unit 11 associates the purchaser's public key with the learning data ID and stores it in the access control DB 141 as the public key of the user permitted to access the learning data. The control unit 11 then terminates the series of processes.
[0063] 9 is a flowchart showing the procedure for processing to access learning data. The processing content when a purchaser uses learning data will be described with reference to FIG. The control unit 11 of the server 1 searches the learning data DB 142 for the learning data according to the acquisition time of the learning data specified by the purchaser (step S51). The control unit 11 acquires the user's public key, the hash value of the message requesting access to the learning data, and the digital signature for the hash value from the terminal 3 (step S52).
[0064] The control unit 11 determines (verifies) whether the user is the owner of the public key based on the acquired public key, hash value, and digital signature (step S53). If it is determined that the user is not the owner of the public key (S53: NO), the control unit 11 outputs an error (step S54) and ends the series of processes.
[0065] If it is determined that the user is the owner of the public key (S53: YES), the control unit 11 permits access to the learning data associated with the public key in the access control DB 141 (step S55). The form of access (use) of the learning data varies depending on the usage rights set at the time of purchase. For example, the control unit 11 outputs (downloads) the learning data to the terminal 3, or generates (learns) an AI model from the learning data and outputs data of the model to the terminal 3. The control unit 11 ends the series of processes.
[0066] Although not specifically described above, the purchase price (compensation) for the training data may be variable. Specifically, the server 1 may set the compensation according to the right to use the training data, the annotation information attached to the content, the type of content, or the like. For example, since the right to download training data is more valuable as a usage right than the right to download an AI model, the compensation may be set higher if downloading of the training data is permitted. Furthermore, if segmentation is attached as an annotation, the seller's effort is greater than that of attaching a bounding box, so the compensation may be set higher. Furthermore, for example, a person's facial image is valuable because consent must be obtained, so the compensation may be set higher. In this way, the compensation may be set according to the right to use the training data, the type of annotation, or the type of training data (content) itself.
[0067] Although the search conditions include the location and time of content acquisition, they are not limited to these. For example, a search may be performed using camera parameters (camera model number, lens model number, F-number, shutter speed, ISO sensitivity, etc.) listed in the EXIF information.
[0068] In addition, when a seller registers learning data, they may register a project ID and use the project ID as a search condition to perform a search. A project ID is an ID assigned to each project when collecting images of a specific subject only.
[0069] Furthermore, when a seller registers training data, the seller may also register the public keys of users who are authorized to search the training data. It may also be possible to determine whether the user who made a search request has search permission and then control access to the search results. In this case, the access control method described with reference to FIG. 9 may be used to control access.
[0070] In addition, the search function using the additional search criteria shown here may be provided only to specific users. For example, it may be provided only to paid membership users. In this case, access control may be performed using the access control method described with reference to FIG.
[0071] As described above, according to this embodiment, the access control information is updated based on the execution record of the transaction in which the purchaser remits payment to the seller on the blockchain, so that access to the training data using the purchaser's public key is permitted. This allows for optimal access management of the training data.
[0072] In current AI development, data mechanically collected from the internet is used for training without the consent of the rights holders. To further improve AI performance in the future, a system is needed to distribute profits to the rights holders of the training data and continue to collect data. However, because hundreds of millions of data sets are behind millions to tens of millions of rights holders, assigning an ID to each rights holder and then collecting and storing their personal information would result in enormous management costs for operating the service.
[0073] In particular, when storing (recording) information related to rights on a blockchain, such as with an NFT (Non-Fungible Token), it is necessary to pay an additional transaction fee for storing the information and use the storage of each node 20. However, when buying and selling learning data used in AI development, the price per data item is low, and the fee is a significant burden. Therefore, in this embodiment, costs are reduced by building an access control DB 141 on the storage of an inexpensive server 1. In this embodiment, the blockchain only performs remittance processing from the purchaser to the seller, thereby minimizing transaction fees. Note that the execution record (transaction log) of the contract remittance processing executed by the smart contract is recorded in the ledger without paying additional storage costs, so there is no cost involved.
[0074] Furthermore, this embodiment does not handle personal information such as user names or email addresses. Therefore, transactions are anonymous, with only the public key being made public. If training data were to be collected from around the world, personal information would need to be managed in accordance with the laws and regulations of each country, resulting in enormous management costs. Furthermore, when sending money overseas, international remittances generally incur higher remittance costs than domestic remittances. To address these issues, this system not only reduces personal information management costs, but also enables remittances between any country at the same cost and with low fees through the use of blockchain. This makes it possible to realize a system for buying and selling training data worldwide. Collecting a wide variety of training data from around the world improves the quality of AI training data, enabling the development of more powerful AI.
[0075] Although the illustrations and explanations of this embodiment illustrate the use of images captured with a digital camera or a smartphone camera, this is not a limitation. For example, the development of autonomous vehicles requires training data from a variety of scenarios. For example, various data is required, such as images of changing weather, images of roads undergoing construction, images of accident sites, and country-specific traffic signs. This system is also effective in developing AI for such autonomous vehicles. For example, a seller may annotate images from an onboard camera with information indicating the vehicle's condition (such as driving speed) before uploading them. In this embodiment, the training data is annotated with acquisition location information and acquisition time information, facilitating the cross-border trading of training data. This allows Japanese manufacturers to easily obtain data from overseas when developing AI for autonomous vehicles to be sold overseas. Furthermore, overseas manufacturers can easily obtain data from Japan when improving the performance of AI installed in autonomous vehicles sold in Japan.
[0076] The embodiments disclosed herein are to be considered as illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the meaning and scope of the claims.
[0077] The matters described in each embodiment can be combined with each other. In addition, the independent claims and dependent claims described in the claims can be combined with each other in any combination, regardless of the reference format. Furthermore, although the claims use a format in which a claim references two or more other claims (multiple claim format), this is not limited to this format. Multiple claims (multi-multi claims) that reference at least one other multiple claim may also be used. [Explanation of symbols]
[0078] 1. Server (information processing device) 11 Control section 12 Main memory 13 Communications Department 14 Auxiliary storage P Program
Claims
1. a storage unit that stores machine learning training data uploaded by a seller in association with public keys of users who are permitted to access the training data; a control unit; The control unit acquiring a transaction execution record on a blockchain in which a payment is sent from the purchaser of the learning data to the seller, the transaction execution record including the public key of the purchaser; The public key of the purchaser is stored in the storage unit as the public key of the user who is permitted to access the learning data based on the execution record. Information processing device.
2. The control unit obtaining from the purchaser a public key of the purchaser, a hash value of a message requesting access to the training data, and a digital signature for the hash value; Determine whether the purchaser is the owner of the public key based on the acquired public key, hash value, and digital signature; If it is determined that the person is the owner of the public key, access to the learning data associated with the acquired public key is permitted. The information processing device according to claim 1 .
3. The control unit Accepting upload of the training data and the public key of the seller; The learning data and the public key of the seller are stored in the storage unit in association with each other. The information processing device according to claim 1 .
4. The control unit receiving a purchase request for the learning data from the purchaser, the purchaser including the public key of the purchaser; When the purchase request is accepted, the transaction is generated based on the public key of the seller and the public key of the buyer; outputting the generated transaction to the purchaser; obtaining from the purchaser the transaction signed with the purchaser's private key; outputting the signed transaction to a blockchain node; Obtain the execution record from the blockchain node The information processing device according to claim 3 .
5. The control unit Accepting upload of the learning data and acquisition location information or acquisition time information of the learning data; The acquired position information or the acquired time information is stored in the storage unit in association with the learning data. The information processing device according to claim 3 .
6. The control unit If the upload location of the learning data is a predetermined distance or more away from the acquisition location, or if the upload time of the learning data is a predetermined time or more after the acquisition time, the upload of the learning data is prohibited. The information processing device according to claim 5 .
7. receiving an input from the purchaser specifying the acquisition location or acquisition time of the learning data; Searching the storage unit for the learning data corresponding to the specified acquisition position or acquisition time, A purchase request for the retrieved learning data is received from the purchaser. The information processing device according to claim 5 .
8. The learning data includes content and annotation information added to the content or protected annotation information indicating unavailable portions of the content. The information processing device according to claim 1 .
9. storing the learning data for machine learning uploaded by the seller and the public keys of the users who are permitted to access the learning data in association with each other in a storage unit; acquiring a transaction execution record on a blockchain in which a payment is sent from the purchaser of the learning data to the seller, the transaction execution record including the public key of the purchaser; The public key of the purchaser is stored in the storage unit as the public key of the user who is permitted to access the learning data based on the execution record. An information processing method in which processing is performed by a computer.
10. storing the learning data for machine learning uploaded by the seller and the public keys of the users who are permitted to access the learning data in association with each other in a storage unit; acquiring a transaction execution record on a blockchain in which a payment is sent from the purchaser of the learning data to the seller, the transaction execution record including the public key of the purchaser; The public key of the purchaser is stored in the storage unit as the public key of the user who is permitted to access the learning data based on the execution record. A program that causes a computer to perform a process.
Citation Information
Patent Citations
Content management system, content management program, and content management method for guaranteeing access rights to access digital contents using blockchain
JP2022020557A