Networked system and information processing method
The networked system addresses the challenge of secure information exchange and authentication between machine learning processing engines by using cryptographic methods for identification and authentication, enabling secure and efficient model operations.
Patent Information
- Application Number
- JP2025020222
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-02-10
- Publication Date
- 2025-05-08
- Estimated Expiration
- 2045-02-10
AI Technical Summary
Existing networked systems lack efficient methods for secure information exchange and authentication between machine learning processing engines, which is crucial for performing model operations effectively.
A networked system comprising multiple machine learning processing engines that utilize cryptographic methods for identification and authentication, enabling secure information exchange and determining authority based on pre-defined settings.
The system facilitates secure and efficient model operations by ensuring authenticated network addresses and authorized interactions between machine learning processing engines, promoting flexible and secure network configurations.
Smart Images

Figure 0007672632000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a networked system including multiple machine learning processing engines and an information processing method in the networked system. [Background technology]
[0002] As a solution to the problems regarding network addresses in the existing Internet, WO 2020 / 049754 (Patent Document 1) discloses a completely new method for determining network addresses using public keys. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2020 / 049754 Summary of the Invention [Problem to be solved by the invention]
[0004] The present disclosure provides a novel networked system that includes multiple machine learning processing engines. [Means for solving the problem]
[0005] A networked system according to an embodiment of the present disclosure includes a plurality of machine learning processing engines. Each of the plurality of machine learning processing engines is configured to operate on one or more computing devices. Each of the plurality of machine learning processing engines includes an identification means for identifying other machine learning processing engines by cryptographic methods. Each of the plurality of machine learning processing engines exchanges information with the other machine learning processing engines according to a correlation between the identified other machine learning processing engines and the machine learning engine itself to execute a model operation.
[0006] Each of the plurality of machine learning processing engines may further include a determination means for determining, in accordance with a predetermined setting, authority to grant to the identified other machine learning processing engines.
[0007] The predetermined setting may associate a network address of the other machine learning processing engine with one or more authorities to be granted to the other machine learning processing engine.
[0008] Each of the multiple machine learning processing engines may have a setting that associates information indicating the other machine learning processing engines with the network addresses of the other machine learning processing engines.
[0009] The identification means may authenticate the network addresses of the other machine learning processing engines. Each of the multiple machine learning processing engines may have a private key that is used for cryptographic identification.
[0010] Model operations may include at least one of data collection, pre-processing of collected data, training a model, evaluating the model, deploying the model, inference using the model, monitoring model performance, maintaining the model, and retraining the model.
[0011] According to another aspect of the present disclosure, there is provided an information processing method in a system including a plurality of machine learning processing engines, each of which is configured to operate on one or more computing devices. The information processing method includes a step in which each of the plurality of machine learning processing engines identifies another machine learning processing engine by a cryptographic method, and a step in which each of the plurality of machine learning processing engines exchanges information with the other machine learning processing engine according to a correlation between the identified other machine learning processing engine and the machine learning engine itself, to execute a model operation. Effect of the Invention
[0012] In accordance with the present disclosure, a novel networked system is provided that includes multiple machine learning processing engines. [Brief description of the drawings]
[0013] [Figure 1] FIG. 11 is a flow diagram showing an example of a process for determining a network address in each node of the networking system according to the present embodiment. [Diagram 2] FIG. 11 is a sequence diagram showing an example of a process for authenticating a network address between nodes in the networked system according to the present embodiment. [Diagram 3] FIG. 2 is a schematic diagram showing an example of a hardware configuration of a node according to the present embodiment. [Figure 4] 1 is a schematic diagram showing a configuration example of a network system according to an embodiment of the present invention; [Diagram 5] 5 is a schematic diagram showing a more detailed configuration example of the machine learning processing engine shown in FIG. 4. [Figure 6] FIG. 11 is a diagram showing an example of authority setting in the network system according to the present embodiment. [Figure 7] FIG. 2 is a diagram illustrating an example of a model operation of the machine learning processing engine according to the present embodiment. [Figure 8] FIG. 2 is a schematic diagram showing an implementation example of a machine learning processing engine according to the present embodiment. [Figure 9] FIG. 11 is a schematic diagram showing an example of sharing core parameters according to the present embodiment. [Figure 10] FIG. 1 is a diagram illustrating an example of a configuration in which a plurality of nodes access a machine learning processing engine according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present disclosure will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals and the description thereof will not be repeated.
[0015] [A. Overview] The networked system according to the present embodiment includes a plurality of machine learning processing engines, at least one of which is capable of exchanging information with other machine learning processing engines to perform model operations.
[0016] The machine learning processing engine includes, for example, a machine learning model (hereinafter, also simply referred to as a "model"). The model operations include, for example, data collection, pre-processing of collected data, training of the model, evaluation of the model, deployment of the model, inference using the model, monitoring of model performance, maintenance of the model, retraining of the model, etc. Note that only a part of the specific examples of the model operations illustrated may be implemented.
[0017] The models of the machine learning processing engine may be, for example, neural networks (e.g., convolutional neural networks, recurrent neural networks, etc.), regression models (e.g., linear regression, polynomial regression, etc.), classification models (e.g., logistic regression, support vector machines, decision trees, random forests, etc.), clustering models (e.g., K-means clustering, hierarchical clustering, etc.), dimensionality reduction models (e.g., principal component analysis, t-SNE, etc.), and reinforcement learning models (e.g., Q-learning, Deep Q-Network, etc.).
[0018] The machine learning processing engine may be capable of training, for example, supervised learning, unsupervised learning, reinforcement learning, etc. By performing training in the machine learning processing engine, parameters of some or all of the models in the machine learning processing engine may be updated, or a change in state may occur in some or all of the models in the machine learning processing engine.
[0019] The tasks of the machine learning processing engine may be, for example, classification (e.g., binary classification, multi-class classification, etc.), regression (e.g., prediction of continuous values), clustering, anomaly detection, dimensionality reduction, reinforcement learning, etc.
[0020] [B. Network Address Authentication Schemes] Next, a network address authentication scheme (hereinafter also simply referred to as "authentication scheme") used by the networking system according to the present embodiment will be described.
[0021] (b1: Acquire network address for own node) Each node has a cryptographically determined network address. The entire network address of each node may be cryptographically determined.
[0022] In this specification, "network address" refers to identification information for identifying a node on a network, and is not limited to commonly used IP (Internet Protocol) addresses (IPv4 and IPv6), but may also be a unique address system (which can adopt an address of any length).
[0023] In this embodiment, as an example of a method for cryptographically determining a network address, the public key of each node and an irreversible cryptographic hash function (hereinafter also simply referred to as "hash function").
[0024] Any hash function may be used as long as it is common among the nodes, for example, BLAKE, Keccak, etc. Also, any cryptographic hash function developed in the future may be adopted.
[0025] The public key is input to a hash function to calculate a hash value. The network address is determined using all or part of the calculated hash value. For example, the entire network address may be determined from the hash value alone. In this case, the system may be designed to calculate a hash value of the same length or longer than the number of digits (or bits) required for the network address.
[0026] For example, when determining an IPv6 IP address, it is sufficient to calculate a hash value of at least 128 bits, and when determining an IPv4 IP address, it is sufficient to calculate a hash value of at least 32 bits. If a public key that can calculate a 256-bit or 512-bit hash value is prepared, any 128-bit (or 32-bit) portion of the calculated hash value may be extracted and used as the network address.
[0027] As a modified example, a network address may be determined by adding a predetermined value to the calculated hash value. For example, a network address may be determined by changing the value of a specific digit (or a specific bit position) of a hash value of a specific bit length to a predetermined value (for example, a value indicating a specific attribute).
[0028] As a variant, instead of the public key itself, a public key with a specific character string added thereto, or a public key modified with a specific character string, may be input to the hash function. The specific character string may be, for example, the name of an organization associated with the network address or a trademark owned by that organization.
[0029] The use of such cryptographically determined network addresses allows for authentication of network addresses between nodes, i.e. each node authenticates the network address of the other node to ensure the authenticity of the other node.
[0030] In this embodiment, each node can autonomously determine or generate its own network address. The process of determining a network address in each node will be described below.
[0031] FIG. 1 is a flow diagram showing an example of a network address determination process in each node of a networking system according to the present embodiment.
[0032] 1, the node determines a private key (step S2). The node may generate the private key using any pseudo-random number generation algorithm, or may obtain the private key from outside. The node generates a public key corresponding to the determined private key according to an encryption algorithm (step S4).
[0033] The node inputs the determined public key into a hash function to calculate a hash value (step S6), and determines a network address using the calculated hash value (step S8).
[0034] The node determines whether or not the determined network address satisfies a predetermined condition (step S10).
[0035] The predetermined condition may include that the determined network address complies with a network address rule. Specifically, the predetermined condition may include that one or more specific digits (or one or more specific bits) of the determined network address indicate a predetermined value. For example, the determined network address may be determined to satisfy the predetermined condition if the first two digits (16 bits in an 8-bit representation) of the determined network address indicate "FC."
[0036] The predetermined condition may include that the network address is not identical to (or does not conflict with) any other node's network address.
[0037] If the predetermined condition is not satisfied (NO in step S10), the processes from step S2 onwards are repeated. At this time, the previously determined or generated private key and public key may be discarded.
[0038] If a predetermined condition is satisfied (YES in step S10), the node stores a key pair consisting of a private key and a public key (step S12).
[0039] The processes in steps S2 and S4 may be substituted by generating a key pair (a private key and a public key) using a Trusted Platform Module (TPM), for example.
[0040] In step S12, only the private key may be stored. In this case, a public key corresponding to the stored private key may be generated each time as necessary. In this way, each node stores at least the private key used for identification by a cryptographic method.
[0041] The determination of whether the predetermined condition is satisfied in step S10 may correspond to, for example, a process for ensuring that the determined network address complies with the rules of the network. Depending on the network in which the network address is used, rules may not be set, and in such a case, the determination of step S10 may be skipped or substantially invalidated. For example, the determination of step S10 itself may be omitted, or any network address may be determined to satisfy the predetermined condition.
[0042] The key pair stored by the above process is used for a long time, and is hereinafter also referred to as a "static key pair." As will be described later, in the handshake for establishing an encryption session, a key pair for temporary use (hereinafter also referred to as an "ephemeral key pair") is generated in addition to the static key pair.
[0043] (b2: Issuance of a digital certificate associated with a public key) The above process determines the network address and key pair required for the authentication scheme, but the following process may be performed as necessary. That is, a digital certificate associated with the public key may be prepared. The use of such a digital certificate further guarantees the validity of the public key.
[0044] Specifically, the node requests the certification authority to issue a digital certificate associated with the public key (step S14). The node stores the digital certificate issued by the certification authority (step S16). The node may receive the digital certificate directly from the certification authority, or may obtain the digital certificate issued by the certification authority by any method. The digital certificate may be registered in the certification authority or in a repository associated with the certification authority.
[0045] The digital certificate includes digital certificate information and a signature value. The digital certificate information includes, for example, the following information:
[0046] Issuer name Name of the subject Subject public key Validity For example, the name of the issuer may be the name of a certificate authority. The name of the subject may be the name of a node or the user name of the node. The public key of the subject may be the value of the public key of the node. The start date and time and the end date and time may be stored as the validity period. The length of the validity period can be set arbitrarily, but for example, a period that is considered to be cryptographically secure may be set. Alternatively, the validity period may be determined from a commercial perspective. For example, the validity period may be determined according to the period during which a user who uses or manages the node has paid or is scheduled to pay a usage fee.
[0047] The certificate authority uses its private key to calculate a hash value of the digital certificate information, and a signature is generated from the calculated hash value.
[0048] The digital certificate information may include information indicating the signature algorithm used to calculate the signature. The digital certificate information may include the public key of the issuer (e.g., the certificate authority). By including the public key of the issuer in the digital certificate, the validity of the digital certificate can be verified in sequence along the certificate chain, from the intermediate certificate authority to the root certificate authority.
[0049] The certificate authority may provide the issued digital certificate to the node and may also register the certificate in a repository. The repository may be provided by a certificate authority other than the certificate authority that issues the digital certificate.
[0050] As mentioned above, the issuance of a digital certificate associated with each node's public key is an optional process.
[0051] (b3: Encryption session) Next, a process example for establishing an encrypted session between nodes will be described.
[0052] A cryptographic session may be established between each pair of nodes that exchange data. For example, if nodes A, B, and C exchange data with each other, a total of three cryptographic sessions may be established between node A and node B, between node B and node C, and between node C and node A.
[0053] The process of establishing the encrypted session may include a process based on asymmetric cryptography. The process based on asymmetric cryptography may authenticate the network address. The asymmetric cryptography may be any type, such as elliptic curve cryptography or RSA cryptography. The algorithm of the asymmetric cryptography may be any algorithm developed in the future.
[0054] 2 is a sequence diagram showing an example of a process for establishing an encrypted session between nodes in a networked system according to the present embodiment. In the sequence diagram shown in FIG. 2, it is assumed that a network address cryptographically determined from a static public key SP_A of node A is known to node B.
[0055] Referring to Figure 2, node B generates a short-term key pair (sequence SQ2). The short-term key pair includes a short-term private key EPr_B and a public key EP_B. Node B generates a Handshake Initiation Message (HIM) (sequence SQ4). The Handshake Initiation Message is a request to establish an encrypted session with node A.
[0056] The handshake start message includes, for example, the following three pieces of data: (1) Short-term public key EP_B (plaintext) (2) Node B’s encrypted static public key SP_B (encryption key: ECDH(EPr_B,SP_A)) (3) Encrypted timestamp (encryption key: ECDH(SPr_B,SP_A)) Data encryption may employ an algorithm such as ChaCha20-Poly1305, which simultaneously provides confidentiality and integrity of data, as well as authenticity.
[0057] ECDH() refers to the function shown in the cryptographic algorithm for ECDH (Elliptic curve Diffie-Hellman) key agreement. The function ECDH() outputs a shared key.
[0058] Node B transmits the generated handshake start message to node A (sequence SQ6).
[0059] Node A decodes the handshake start message (sequence SQ8). Decoding the handshake start message includes, for example, the following processing.
[0060] (1) The encryption key of the encrypted static public key SP_B of node B is ECDH(EPr_B, SP_A). Using the symmetry of ECDH(EPr_B, SP_A)=ECDH(SPr_A, EP_B), node A calculates the encryption key using the short-term public key EP_B of node B included in the handshake start message and the static private key SPr_A of node A. Then, node A uses the determined encryption key to decrypt the encrypted static public key SP_B of node B.
[0061] (2) The encryption key for the encrypted timestamp is ECDH(SPr_B, SP_A). Using the symmetry of ECDH(SPr_B, SP_A) = ECDH(SPr_A, SP_B), node A calculates the encryption key using the static public key SP_B of node B obtained by decryption and the static private key SPr_A of node A. Then, node A decrypts the encrypted timestamp using the determined encryption key.
[0062] Through the above-described process, node A obtains the short-term public key EP_B and the static public key SP_B of node B. Note that, if node A cannot obtain the short-term public key EP_B or the static public key SP_B of node B, or if the timestamp indicates an invalid value, node A may abort the process of establishing the encrypted session.
[0063] Node A acquires a static public key SP_B of node B (sequence SQ10). Node A may cryptographically determine a network address of node B based on the acquired static public key SP_B of node B. As described above, the network address of node B may be determined using all or part of a hash value calculated by inputting the static public key SP_B of node B to a hash function.
[0064] Node A generates a short-term key pair (sequence SQ12). The short-term key pair includes a short-term private key EPr_A and a public key EP_A. Node B generates a Handshake Exchange Response (HER) (sequence SQ14). The Handshake Exchange Response is a request to establish an encrypted session with node A.
[0065] A handshake exchange response, for example, includes the following two pieces of data: (1) Short-term public key EP_A (plaintext) (2) A predetermined string (encrypted with encryption key = ECDH(EPr_A,EP_B) AND ECDH(SPr_A,SP_B)) The predefined string is a string that is known between node A and node B, and may be, for example, an empty string.
[0066] Node A transmits the generated handshake start message to node A (sequence SQ16).
[0067] Node A decodes the handshake exchange response (sequence SQ18). Decoding the handshake exchange response includes, for example, the following processing.
[0068] The encryption key of the encrypted predetermined character string is ECDH(EPr_A,EP_B) AND ECDH(SPr_A,SP_B). Using the symmetry of ECDH(EPr_A,EP_B)=ECDH(EPr_B,EP_A) and the symmetry of ECDH(SPr_A,SP_B)=ECDH(SPr_B,SP_A), node B calculates an encryption key using node A's static public key SP_A, node B's short-term private key EPr_B, and node B's static private key SPr_B in addition to node A's short-term public key EP_A included in the handshake exchange response. Then, node B decrypts the encrypted predetermined character string using the determined encryption key. If the decrypted result does not match the predetermined character string, node B may abort the process of establishing an encryption session.
[0069] Node A calculates a common key to be used in the encryption session (sequence SQ20). Node B calculates a common key to be used in the encryption session (sequence SQ22). The common keys calculated by node A and node B may be based on at least a part of the shared key shown below. The left side of each equation shown below is the shared key calculated by node A, and the right side is the shared key calculated by node B.
[0070] (1)ECDH(EPr_A,SP_B)=ECDH(SPr_B,EP_A) (2)ECDH(SPr_A,SP_B)=ECDH(SPr_B,SP_A) (3)ECDH(EPr_A,EP_B)=ECDH(EPr_B,EP_A) (4)ECDH(SPr_A,EP_B)=ECDH(EPr_B,SP_A) For example, the common key used in the encryption session may be a result of concatenating the four shared keys calculated by (1) to (4), or a result of performing a logical operation on the four shared keys. In this way, the common key used in the encryption session may be based on a combination of a short-term key pair and a static key pair.
[0071] Node A and node B start communication using the encrypted session based on the calculated common key (sequence SQ24). Node A and node B may each determine identification information (e.g., a session ID) for identifying the established encrypted session.
[0072] The session IDs for the same encrypted session between node A and node B may be different.
[0073] As the common keys, a first common key used when one node transmits data to another node, and a second common key used when the other node transmits data to the one node may be prepared independently. In this case, multiple types of common keys may be generated, for example, by changing the concatenation order of the four shared keys calculated by the above (1) to (4).
[0074] As described above, in order to establish an encrypted session between nodes, it is necessary to exchange public keys between the nodes and then match common keys calculated in each node based on an asymmetric encryption algorithm. If the process for establishing such an encrypted session is successful, at least the public key of the communicating node is authenticated. As a result, the network address of the communicating node, which is uniquely determined from the public key of the communicating node, is also authenticated.
[0075] The processing of sequences SQ2 to SQ24 may be implemented in layer 3 (network layer) of the OSI (Open Systems Interconnection) reference model. Also, the processing of sequences SQ2 to SQ24 may utilize a function of layer 3 for implementing an existing IP address.
[0076] The short-term key pairs may be updated sequentially when a predetermined condition is met. When updating a short-term key pair, an exchange similar to the handshake initiation message and the handshake exchange response may be performed. The predetermined condition may include, for example, at least one of the following: the total amount of data exchanged using one short-term key pair has reached a predetermined value (e.g., 100 MB), or a predetermined time (e.g., 5 minutes) has elapsed since one short-term key pair was generated. When the short-term key pair is updated, the common key is also updated.
[0077] When a pre-shared key (PSK) can be used between nodes, the strength of encryption may be increased by using the pre-shared key. As described above, when an encrypted session is established between nodes, the two nodes corresponding to the encrypted session each hold a common key. Each node may hold the common key shared with another node as a pre-shared key until the next encrypted session is established with the other node. In this way, the common key shared in the previous encrypted session may be a pre-shared key.
[0078] For example, if two nodes that have a pre-shared key re-establish an encrypted session, the handshake initiation message may include a request to verify the existence of the pre-shared key, etc. If the pre-shared key is available, the generated handshake exchange response may also be further encrypted with the pre-shared key in the generation of the handshake exchange response (sequence SQ14 in FIG. 2). The node that receives the handshake exchange response decrypts the handshake exchange response with the pre-shared key.
[0079] When the common key is updated sequentially, each node may hold multiple pre-shared keys associated with the same encryption session, and thus, when each node receives some encrypted data, it may attempt to decrypt the received data by sequentially selecting one pre-shared key from the multiple pre-shared keys held in association with the same encryption session.
[0080] The use of a pre-shared key can further increase the cryptographic strength of the encrypted session and also restrict access from nodes other than those with which the encrypted session has been established.
[0081] If a digital certificate associated with the public key is available, the digital certificate may be used to verify the public key, such as after sequence SQ8. Verifying the public key using the digital certificate may include at least one of querying a certification authority and accessing a repository. If verifying the public key using the digital certificate fails, the process of establishing the encrypted session may be aborted.
[0082] When a blacklist or a whitelist is prepared for any node, it may be determined whether or not to permit establishment of an encrypted session based on the blacklist or the whitelist. For example, it may be prohibited to establish an encrypted session with a node having a network address registered in the blacklist. It may be permitted to establish an encrypted session only with a node having a network address registered in the whitelist.
[0083] By using the authentication scheme according to this embodiment, it is guaranteed that each node has the public key (and the private key that forms a key pair with the public key) held by the other node with which it communicates. In other words, from the perspective of each node, it is guaranteed that the node with a specific key pair is the one with which it is communicating. Thus, in the authentication scheme according to this embodiment, other nodes are authenticated and identified by cryptographic methods.
[0084] The network address identified through the above-mentioned process may be called an authenticated network address. In the following, several examples of networked systems using authenticated network addresses will be described.
[0085] [C. Node] As used herein, the term "node" includes any physical or virtual computing resource that can have a network address. A node may have multiple network addresses. In this case, a node will have multiple key pairs.
[0086] One computing device (hereinafter, also simply referred to as "device") may correspond to one node or multiple nodes. A device may be, for example, a general-purpose computer, a specific-purpose computer, a smartphone, a tablet, a smart speaker, a wearable device, or the like. A device may also be, for example, a moving device such as a vehicle, an aircraft, a helicopter, a drone, a ship, a train, or a spacecraft. That is, a device may be at least a part of any of a terrestrial moving device, an air moving device, a space moving device, a surface moving device, or an underwater moving device. For example, vehicles can autonomously exchange information with each other.
[0087] For example, in the case where a device provides a virtual environment, each of a plurality of virtual machines deployed in the virtual environment may correspond to a node. A cloud server may provide the virtual environment.
[0088] In some cases, multiple devices may correspond to one node. For example, in a configuration in which multiple devices provide one service or execute an application, the multiple devices may be collectively treated as one computing resource.
[0089] Fig. 3 is a schematic diagram showing an example of the hardware configuration of a node according to the present embodiment, which illustrates an example of the hardware configuration of a device 100, which is a personal computer, as an example of a node.
[0090] Referring to FIG. 3, the device 100 includes one or more processors 102, one or more memories 104, storage 110, a display 106, an input unit 108, and a communication unit 122.
[0091] The processor 102 is an arithmetic circuit that sequentially reads and executes computer-readable instructions. The processor 102 is composed of, for example, a central processing unit (CPU) or a graphics processing unit (GPU). The device 100 may have multiple processors 102, or a single processor 102 may have multiple cores.
[0092] In this specification, the term "processor" includes an application specific integrated circuit (ASIC) and a field programmable gate array (FPGA). The processor 102 may be implemented as a system on chip (SoC). The processor 102 may also be referred to as a processing circuitry.
[0093] The memory 104 is, for example, a volatile storage device such as a dynamic random access memory (DRAM) or a static random access memory (SRAM). The storage 110 is, for example, a non-volatile storage device such as a hard disk drive (HDD) or a solid state drive (SSD).
[0094] As used herein, the term “memory” includes volatile storage devices, such as memory 104 , and non-volatile storage devices, such as storage 110 .
[0095] Various programs, various data, various parameters, etc. are stored in the storage 110. The processor 102 loads a specified program from among the various programs stored in the storage 110 onto the memory 104 and executes the designated program in sequence to perform various processes.
[0096] As an example, the storage 110 stores an OS (Operating System) 112, a communication processing program 114, a machine learning program 116, a parameter set 118, and a key pair 12.
[0097] The OS 112 includes computer-readable instructions for providing an environment for executing various processes in the device 100. The communication processing program 114 includes computer-readable instructions for executing an authentication scheme according to the present embodiment. The communication processing program 114 may include computer-readable instructions for a communication processing module 20 described below. The machine learning program 116 includes computer-readable instructions for a machine learning processing engine as described below. The parameter set 118 is information for defining the operation of a model included in the machine learning processing engine.
[0098] The key pair 12 includes a private key and a public key of the node. Note that only the private key may be stored instead of the key pair 12. The key pair 12 or the private key may be stored in a TPM prepared separately from the storage 110.
[0099] The display 106 externally presents the results of processing by the processor 102. The display 106 may be, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.
[0100] The input unit 108 accepts user operations and the like for the device 100. The input unit 108 may be, for example, a keyboard, a mouse, a touch panel arranged on the display 106, a switch arranged at any position on the housing of the device 100, or the like.
[0101] The display 106 and the input unit 108 may be omitted. The communication unit 122 performs data communication with other nodes. More specifically, the communication unit 122 includes a network interface for connecting the device 100 to a network. For example, the communication unit 122 includes a wired connection terminal such as an Ethernet port, a Universal Serial Bus (USB) port, a serial port such as IEEE1394, or a parallel port. Alternatively, the communication unit 122 may include a processing circuit and an antenna for wireless communication with a device, a router, a mobile base station, or the like. The wireless communication supported by the communication unit 122 may be, for example, Wi-Fi (registered trademark), Bluetooth (registered trademark), ZigBee (registered trademark), Low Power Wide Area (LPWA), GSM (registered trademark), W-CDMA, CDMA200, Long Term Evolution (LTE), or a fifth generation mobile communication system (5G).
[0102] Device 100 may include a component for reading computer-readable instructions from a non-transitory medium on which the computer-readable instructions are stored. The medium may be, for example, an optical medium such as a Digital Versatile Disc (DVD) or a semiconductor medium such as a USB memory.
[0103] Instead of installing a program or the like on the device 100 via a medium, a necessary program or the like may be acquired from a distribution server on a network.
[0104] The node according to this embodiment is not limited to the device 100 shown in FIG. 3, and may adopt any hardware configuration according to the required functions and the era in which it will be realized.
[0105] In addition, a sensor or an actuator may correspond to a node. In the networked system according to the present embodiment, the node may include a device in which a machine learning processing engine is not implemented. When a sensor or an actuator corresponds to a node, for example, the above-mentioned authentication scheme can be used to authenticate a sensor that collects a value and an actuator to which a command is given.
[0106] A node may also be a variety of products or parts of products, for example, a node may be a home appliance, an automobile, a smart home device, a drone, an autonomous robot, etc.
[0107] [D. Networked Systems] FIG. 4 is a schematic diagram showing an example of the configuration of a network system according to the present embodiment.
[0108] 4, the networked system 1 includes a plurality of networked machine learning processing engines 10-1 to 10-4 (hereinafter, sometimes collectively referred to as "machine learning processing engines 10"). Each of the machine learning processing engines 10-1 to 10-4 can be considered as a "node" existing in the network. Each of the machine learning processing engines 10-1 to 10-4 operates on one or more devices 100.
[0109] Each of at least some of the multiple machine learning processing engines 10 includes one or more models. At least some of the one or more models may be AI (Artificial Intelligence) models. The models may also be referred to as trained models. The models include an algorithm and a parameter group according to a task.
[0110] Each of at least some of the multiple machine learning processing engines 10 includes an agent. The agent is responsible for, for example, interacting with a user or another machine learning processing engine 10. The agent may also use a trained model to execute a requested task.
[0111] For example, an agent may pass information received from a user or another machine learning processing engine 10 to a model to obtain an inference result and return the inference result to the source of the information. An agent may coordinate multiple models to perform a requested task.
[0112] When the agent determines that the machine learning processing engine 10 is not capable of adequately handling at least a part of a request or inquiry from a user or another machine learning processing engine 10, the agent may transfer at least a part of the request or inquiry to another machine learning processing engine 10. The machine learning processing engine 10 to which the request or inquiry is transferred may execute processing in response to the request or inquiry. Alternatively, the agent may respond to the sender of the request or inquiry with another machine learning processing engine 10 capable of handling the request or inquiry that the agent determines the machine learning processing engine 10 is not capable of adequately handling. In other words, the agent may introduce to the requester another machine learning processing engine 10 capable of handling the request or inquiry. By employing such processing such as transfer or introduction, the need for one machine learning processing engine 10 to be all-purpose is reduced, and a plurality of machine learning processing engines 10 can work together to execute a requested task.
[0113] It is possible to arbitrarily determine the number of machine learning processing engines 10 included in the networked system 1. The machine learning processing engines 10 may have different structures or functions, or may have the same structure or function.
[0114] Each of the multiple machine learning processing engines 10 may include one or more agents and one or more models.
[0115] In the networked system 1, various model operations can be performed on at least some of the multiple machine learning processing engines 10. For example, MLOps can also be realized.
[0116] In the networked system 1, one machine learning processing engine 10 can manage or execute model operations on its own, or multiple machine learning processing engines 10 can work together to manage or execute model operations.
[0117] For example, information output by one machine learning processing engine 10 may be received by another machine learning processing engine 10, and a model of the other machine learning processing engine 10 may be trained or retrained.
[0118] For example, information output by one machine learning processing engine 10 may be received by another machine learning processing engine 10, and the other machine learning processing engine 10 may perform inference based on the received information. Furthermore, the other machine learning processing engine 10 may return an inference result to the one machine learning processing engine 10, or may pass the inference result to yet another machine learning processing engine 10.
[0119] For example, a plurality of machine learning processing engines 10 may cooperate to execute one task. For example, a result of evaluation of a model in a certain machine learning processing engine 10 may be received by another machine learning processing engine 10, and the other machine learning processing engine 10 may determine whether or not retraining of the model is necessary based on the received evaluation result. The other machine learning processing engine 10 may provide information necessary for retraining to the certain machine learning processing engine 10.
[0120] For example, the machine learning processing engines 10 may execute tasks such as a game or a simulation in which the machine learning processing engines 10 compete against each other.
[0121] For example, the machine learning processing engines 10 may interact with each other in natural language, improving the language understanding and generation capabilities of the model.
[0122] In this way, in the networked system 1, various pieces of information necessary for model operation are exchanged between the multiple machine learning processing engines 10. In order to perform secure information exchange, the networked system 1 uses the authenticated network addresses as described above.
[0123] More specifically, the machine learning processing engines 10-1 to 10-4 have key pairs 12-1 to 12-4, respectively. The key pairs 12-1 to 12-4 are composed of private keys 13-1 to 13-4 and public keys 14-1 to 14-4, respectively. As described above, the private keys 13-1 to 13-4 are used to uniquely determine the network addresses of the machine learning processing engines 10-1 to 10-4, respectively.
[0124] For example, the process of authenticating a network address shown in FIG. 2 may be handled by an agent included in each of the machine learning processing engines 10-1 to 10-4.
[0125] The machine learning processing engines 10-1 to 10-4 may have communication partner settings 16-1 to 16-4, respectively. The communication partner settings 16-1 to 16-4 include information for identifying one or more other machine learning processing engines 10 that are scheduled to exchange information with the machine learning processing engines 10-1 to 10-4.
[0126] For example, the communication partner settings 16-1 to 16-4 may be a kind of whitelist. Specifically, each of the communication partner settings 16-1 to 16-4 may include information (in the example of FIG. 4, a name) for identifying the machine learning processing engine 10 that is set in advance as a communication partner, and a corresponding network address. Each of the machine learning processing engines 10-1 to 10-4 has, for example, communication partner settings 16-1 to 16-4 in which information indicating the other machine learning processing engines 10 is associated with the network addresses of the other machine learning processing engines 10. Note that the communication partner settings 16-1 to 16-4 may include a corresponding public key instead of or in addition to the network address. The communication partner settings 16-1 to 16-4 may be managed by a communication processing module 20 described later.
[0127] For example, the machine learning processing engine 10-1 establishes encrypted sessions 18-1, 18-5, and 18-4 with the machine learning processing engines 10-2 to 10-4, respectively. The machine learning processing engine 10-2 establishes encrypted sessions 18-1, 18-3, and 18-6 with the machine learning processing engines 10-1, 10-3, and 10-4, respectively. The machine learning processing engine 10-3 establishes encrypted sessions 18-5, 18-2, and 18-3 with the machine learning processing engines 10-1, 10-2, and 10-4, respectively. The machine learning processing engine 10-4 establishes encrypted sessions 18-4, 18-6, and 18-3 with the machine learning processing engines 10-1 to 10-3, respectively.
[0128] For example, the process for establishing the encrypted session 18-1 may be started by either the machine learning processing engine 10-1 or 10-2. When the machine learning processing engine 10-1 starts communication with the machine learning processing engine 10-2, the machine learning processing engine 10-1 may refer to the communication partner setting 16-1 and transmit a handshake start message addressed to the network address of the machine learning processing engine 10-2. Alternatively, the machine learning processing engine 10-1 may determine the network address of the machine learning processing engine 10-2 from the public key 14-2 of the machine learning processing engine 10-2, and transmit a handshake start message addressed to the determined network address. In addition, the same process is executed when the machine learning processing engine 10-2 starts communication with the machine learning processing engine 10-1.
[0129] Fig. 5 is a schematic diagram showing a more detailed configuration example of the machine learning processing engine 10 shown in Fig. 4. For convenience of explanation, Fig. 5 focuses on the machine learning processing engines 10-1 and 10-2, but the other machine learning processing engines 10 may have a similar configuration.
[0130] 5, the machine learning processing engine 10-1 includes an agent 10A-1 and a model 10M-1. The machine learning processing engine 10-2 includes an agent 10A-2 and a model 10M-2.
[0131] The machine learning processing engine 10-1 may include a communication processing module 20-1. The machine learning processing engine 10-2 may include a communication processing module 20-2.
[0132] The communication processing modules 20-1 and 20-2 (hereinafter also collectively referred to as "communication processing modules 20") are implemented, for example, in layer 3 (network layer) and are responsible for the above-mentioned authentication scheme. More specifically, the communication processing module 20 identifies other machine learning processing engines 10 by cryptographic methods. Since the communication processing module 20 is responsible for the processing for authenticating and identifying other machine learning processing engines 10 (or agents 10A or models 10M), there is no need to implement processing required for the authentication scheme in the agents 10A-1 and 10A-2 (hereinafter also collectively referred to as "agents 10A") and the models 10M-1 and 10M-2 (hereinafter also collectively referred to as "models 10M").
[0133] The agent 10A may include all or part of the functions of the communication processing module 20.
[0134] For example, an encrypted session 18-1 is established between the communication processing module 20-1 and the communication processing module 20-2. The agent 10A-1 and the agent 10A-2 may exchange information through the encrypted session 18-1. In this case, the agent 10A-1 passes information to the model 10M-1 and receives an inference result from the model 10M-1. Similarly, the agent 10A-2 passes information to the model 10M-2 and receives an inference result from the model 10M-2.
[0135] Agent 10A-1 and model 10M-2 may exchange information, agent 10A-2 and model 10M-1 may exchange information, or model 10M-1 and model 10M-2 may exchange information.
[0136] By using the authentication scheme according to this embodiment, the machine learning processing engine 10 can authenticate and identify the communicating machine learning processing engine 10. Furthermore, by encrypting information, the security of information exchanged between the machine learning processing engines 10 can be improved.
[0137] Furthermore, by implementing the authentication scheme according to this embodiment in layer 3 (network layer), it is not necessary to implement processing for authenticating and identifying the communication partner in layer 7 (application layer) of the OSI reference model, which executes the main processing of the machine learning processing engine 10.
[0138] In the networked system according to this embodiment, each of the multiple machine learning processing engines 10 exchanges information with the other machine learning processing engines 10 and executes model operations in accordance with the interrelationships between the own machine learning engine and the other machine learning processing engines 10. That is, each of the multiple machine learning processing engines 10 determines the content of information exchanged with the other machine learning processing engines 10 and the processing content of the model operation to be executed in accordance with the type of communication partner of the other machine learning processing engine 10 with respect to the own machine learning processing engine.
[0139] Each of the multiple machine learning processing engines 10 may predetermine the authority to be granted to the other machine learning processing engines 10. In other words, each of the multiple machine learning processing engines 10 may vary the processing content of the model operation depending on the authority to grant to the other machine learning processing engines 10.
[0140] Fig. 6 is a diagram showing an example of authority setting in a networked system according to the present embodiment. For convenience of explanation, Fig. 6 shows an example of authority setting for machine learning processing engine 10-1.
[0141] With reference to FIG. 6, for example, the scope of authority to be granted is set for the machine learning processing engine 10-1 itself (machine learning processing engine 10-1) in addition to the machine learning processing engines 10-2 to 10-4 that are scheduled to exchange information with the machine learning processing engine 10-1.
[0142] In the example shown in Fig. 6, inference, additional learning, and evaluation are shown as examples of types of authority. Inference means the authority for the target machine learning processing engine 10 to provide information to the machine learning processing engine 10-1 to obtain an inference result. Additional learning means the authority for the target machine learning processing engine 10 to cause the machine learning processing engine 10-1 to perform additional learning. Evaluation means the authority for the target machine learning processing engine 10 to obtain an evaluation of the model from the machine learning processing engine 10-1.
[0143] In this way, each of the machine learning processing engines 10-1 to 10-4 may have a setting that associates the network address of the other machine learning processing engines 10 with one or more authorities to be granted to the other machine learning processing engines 10.
[0144] The machine learning processing engine 10 may determine the scope of authority to be granted based on the authenticated network address of the other machine learning processing engines 10 (or nodes). That is, the machine learning processing engine 10 may determine the authority to be granted to the other machine learning processing engines 10 according to a predetermined setting. The process of determining such authority may be handled by the communications processing module 20 or the agent 10A. The machine learning processing engine 10 may accept access from the other machine learning processing engines 10 within the scope of the granted authority.
[0145] Based on the determined authority, each of the multiple machine learning processing engines 10 exchanges information with the other machine learning processing engines 10 and executes the model operation. Each of the multiple machine learning processing engines 10 exchanges information with the other machine learning processing engines 10 and operates or executes the model operation within the scope of the authority granted to the other machine learning processing engines 10.
[0146] 6, or instead of the authorities, a role to be assigned to the machine learning processing engine 10 may be determined in advance. The role is also an example of a relationship between a certain machine learning processing engine 10 and another machine learning processing engine 10. The role may be, for example, a provider of information for additional learning, a provider of model performance, or the like.
[0147] The authorities and roles set for each of the machine learning processing engines 10 may be autonomously determined or updated by one of the machine learning processing engines 10. In other words, the interrelationship between a certain machine learning processing engine 10 and another machine learning processing engine 10 may be dynamically determined or changed according to various situations and conditions.
[0148] Furthermore, when a digital certificate associated with a public key is used, the digital certificate may describe the authority and / or role granted to the corresponding machine learning processing engine 10 (or node). The machine learning processing engine 10 (or node) may determine the authority and / or role granted to the machine learning processing engine 10 (or node) of the communication partner based on the acquired digital certificate.
[0149] In this way, since authority and roles can be set for each machine learning processing engine 10, a networked system can be flexibly configured according to purpose.
[0150] Alternatively, the machine learning processing engine 10 may receive requests from a variety of sources.
[0151] Fig. 7 is a diagram showing an example of a model operation of the machine learning processing engine 10 according to the present embodiment. For convenience of explanation, Fig. 7 focuses on the machine learning processing engine 10-1 shown in Fig. 4, but the other machine learning processing engines 10 may also have a similar configuration example.
[0152] With reference to FIG. 7, machine learning processing engine 10-1 receives task requests and information from machine learning processing engines 10-2 to 10-4, respectively.
[0153] The machine learning processing engine 10-1 may receive task requests and information from the pre-processing layer 30. The pre-processing layer 30 is responsible for, for example, conversion processing into information suitable for processing by the machine learning processing engine 10. The pre-processing layer 30 may execute tasks such as voice recognition, image processing, and translation. The pre-processing layer 30 may be composed of, for example, a Transformer.
[0154] The machine learning processing engine 10-1 may receive as input an arbitrary document 32. The machine learning processing engine 10-1 may receive as input a request or information from a user 34. The machine learning processing engine 10-1 may receive as input information from a sensor 36. The machine learning processing engine 10-1 may output information to an actuator (not shown).
[0155] In either case, the machine learning processing engine 10-1 uses the authentication scheme to authenticate and identify the communication partner. For example, if the communication partner is the pre-processing layer 30, the machine learning processing engine 10-1 authenticates and identifies the node including the pre-processing layer 30. If the document 32 is input, the machine learning processing engine 10-1 authenticates and identifies the node that holds the document 32. If the machine learning processing engine 10-1 receives a request or information from the user 34 as input, the machine learning processing engine 10-1 authenticates and identifies the device used by the user 34, etc. The sensor 36 or actuator may include circuitry or logic that executes the authentication scheme.
[0156] Alternatively, one machine learning processing engine 10 may be implemented by multiple devices 100.
[0157] Fig. 8 is a schematic diagram showing an implementation example of the machine learning processing engine 10 according to the present embodiment. In the implementation example shown in Fig. 8, the machine learning processing engine 10-1 is implemented by three devices 100-1 to 100-3, and the machine learning processing engines 10-2 to 10-4 are implemented by devices 100-4 to 100-6, respectively.
[0158] Each of the devices 100-1 to 100-6 may be a single node. In this case, each of the devices 100-1 to 100-6 has a network address (or a key pair) unique to the device. Alternatively, each of the machine learning processing engines 10-1 to 10-4 may be a single node. In this case, the devices 100-1 to 100-3 may share a network address (or a key pair).
[0159] In either case, devices 100-1 to 100-6 execute an authentication scheme.
[0160] For example, distributed parallel learning can be performed by implementing the machine learning processing engine 10 in multiple devices. Distributed parallel learning includes, for example, data parallelism, model parallelism, pipeline parallelism, and hybrid parallelism.
[0161] By implementing one machine learning processing engine 10 using multiple devices 100, it is possible to realize a machine learning processing engine 10 having a large-scale model.
[0162] As a modified example, a plurality of machine learning processing engines 10 may have common core parameters, and fine tuning may be performed based on information from each of the machine learning processing engines 10.
[0163] 9 is a schematic diagram showing an example of sharing core parameters according to the present embodiment. For ease of explanation, a configuration example in which the machine learning processing engines 10-1 to 10-3 have common core parameters is shown, but the number of machine learning processing engines 10 may be any number.
[0164] 9, the machine learning processing engines 10-1 to 10-3 have common core parameters 10P-1 to 10P-3, respectively. The core parameters 10P-1 to 10P-3 are parameter groups independent of each other (see parameter group 118 in FIG. 3, etc.).
[0165] The machine learning processing engine 10-1 adds or updates the inherent parameter 10Q-1 in accordance with training in the machine learning processing engine 10-1 (its own node), and adds or updates the inherent parameter 10Q-1 in accordance with the inference result of the machine learning processing engine 10-2 (node 2) or the machine learning processing engine 10-3 (node 3). The machine learning processing engine 10-1 can identify which machine learning processing engine 10 the inherent parameter 10Q-1 is caused by. Therefore, the machine learning processing engine 10-1 may manage the inherent parameter 10Q-1 according to the machine learning processing engine 10 that caused it.
[0166] Similarly, the machine learning processing engine 10-2 adds or updates the intrinsic parameter 10Q-2 in response to training of the machine learning processing engine 10-2 (its own node), and adds or updates the intrinsic parameter 10Q-2 in response to the inference result of the machine learning processing engine 10-1 (node 1) or the machine learning processing engine 10-3 (node 3). Like the machine learning processing engines 10-1 and 10-2, the machine learning processing engine 10-3 adds or updates the intrinsic parameter 10Q-3.
[0167] In the configuration example shown in FIG. 9 as well, the machine learning processing engines 10-1 to 10-3 authenticate and identify communication partners using an authentication scheme.
[0168] By adding or updating parameters for each node to such common core parameters, node-specific model operations become possible in each machine learning processing engine 10 (node).
[0169] As a modified example, a single machine learning processing engine 10 may be accessed by multiple nodes.
[0170] Fig. 10 is a diagram showing an example of a configuration in which a plurality of nodes access machine learning processing engine 10 according to the present embodiment. With reference to Fig. 10, devices 100-1 to 100-3 can access machine learning processing engine 10. Machine learning processing engine 10 may be one node, and devices 100-1 to 100-3 may also be independent nodes.
[0171] The machine learning processing engine 10 may use an authentication scheme to authenticate and identify each of the devices 100-1 to 100-3.
[0172] The devices 100-1 to 100-3 have pre-processing layers 30-1 to 30-3, respectively. Like the pre-processing layer 30 described above, the pre-processing layers 30-1 to 30-3 are responsible for, for example, conversion processing into information suitable for processing by the machine learning processing engine 10.
[0173] The processing results of the pre-processing layers 30-1 to 30-3 may be passed to the machine learning processing engine 10, or the inference results of the machine learning processing engine 10 may be passed to any of the pre-processing layers 30-1 to 30-3. The pre-processing layers 30-1 to 30-3 do not need to be identical to each other, and may have different performance and functions depending on the devices 100-1 to 100-3.
[0174] A network system may be constructed by combining one or more of the above-described modified examples in any desired manner.
[0175] [E. Modifications] In the above embodiment, an example of a process has been described in which an encrypted session is established by processing based on asymmetric encryption to identify the machine learning processing engine 10 that will be the communication partner. That is, an example of a process has been described in which another machine learning processing engine is identified by a cryptographic method. However, for example, another machine learning processing engine may be identified by using a protocol such as SSL / TLS.
[0176] [F. Advantages] According to the networked system of the present embodiment, a plurality of machine learning processing engines can execute model operations while exchanging information. This allows each machine learning processing engine to autonomously evolve and improve. At this time, by executing model operations according to the interrelationships between the machine learning processing engines, a networked system can be flexibly constructed according to various uses and purposes.
[0177] By using the authentication scheme according to this embodiment, it is possible to securely and efficiently authenticate network addresses, identify machine learning processing engines, and determine the permissions and roles to be granted to machine learning processing engines between machine learning processing engines.
[0178] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0179] 1 networked system, 10 machine learning processing engine, 10A agent, 10M model, 10P core parameters, 10Q specific parameters, 12 key pair, 13 private key, 14 public key, 16 communication partner settings, 18 encrypted session, 20 communication processing module, 30 preprocessing layer, 32 document, 34 user, 100 device, 102 processor, 104 memory, 106 display, 108 input section, 110 storage, 114 communication processing program, 116 machine learning program, 118 parameter set, 122 communication section.
Claims
1. Equipped with multiple machine learning processing engines, each of the plurality of machine learning processing engines configured to operate on one or more computing devices; each of the plurality of machine learning processing engines comprises an identification means for identifying other machine learning processing engines by a cryptographic method; A networked system in which each of the multiple machine learning processing engines exchanges information with the other machine learning processing engines and executes model operations depending on interrelationships between the other machine learning processing engines and the identified other machine learning processing engines.
2. The networked system of claim 1 , wherein each of the plurality of machine learning processing engines further comprises a determination means for determining, in accordance with a predetermined setting, authority to grant to the other identified machine learning processing engines.
3. The networked system according to claim 2 , wherein the predetermined setting associates a network address of the other machine learning processing engine with one or more authorities to be granted to the other machine learning processing engine.
4. The network system according to any one of claims 1 to 3, wherein each of the plurality of machine learning processing engines has a setting that associates information indicating other machine learning processing engines with the network addresses of the other machine learning processing engines.
5. The networked system according to any one of claims 1 to 3, wherein the identification means authenticates a network address of the other machine learning processing engine.
6. The networked system of claim 1 , wherein each of the plurality of machine learning processing engines has a private key used for identification by the cryptographic method.
7. The networked system of any one of claims 1 to 3, wherein the model operations include at least one of data collection, pre-processing of collected data, training a model, evaluating a model, deploying a model, inference using a model, monitoring performance of a model, maintaining a model, and re-training a model.
8. An information processing method in a system having a plurality of machine learning processing engines, comprising: each of the plurality of machine learning processing engines configured to operate on one or more computing devices; The information processing method includes: a step of each of the plurality of machine learning processing engines identifying other machine learning processing engines by a cryptographic method; An information processing method comprising a step in which each of the plurality of machine learning processing engines exchanges information with the other machine learning processing engines in accordance with a mutual relationship between the identified other machine learning processing engines and the machine learning engine itself, and executes a model operation.
Citation Information
Patent Citations
Cooperative protocol management in distributed cooperative system and cooperative processing execution system
JP1999212933A
Virtual communication path, system and method for cooperating with agent for controlling the same
JP2002157231A
System
JP2023157091A
Scheduling for federated learning
US20230351205A1
Information processing method, information processing program, information processing apparatus, and information processing system
WO2020049754A1
Cited By
Networked system and information processing method
WO2026167893A1