Information processing system, program and information processing method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK CORPORATION
- Filing Date
- 2024-12-13
- Publication Date
- 2026-06-24
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing system, a program, and an information processing method. [Background technology]
[0002] Patent Document 1 describes a neural network. [Prior art document] [Patent documents] [Patent Document 1] JP 2020-201904 A Summary of the Invention [Means for solving the problem]
[0003] According to an embodiment of the present invention, there is provided an information processing system, the information processing system may include an embedded information acquisition unit that acquires embedded information, and a generation unit that generates an embedded neural network in which the embedded information is embedded in elements of a neural network.
[0004] In the information processing system, the generation unit may generate the embedded neural network by embedding the embedded information in at least one of nodes, weights, biases, layers, and functions of the neural network. The embedded information may be a numerical value, and the generation unit may generate the embedded neural network with some of a plurality of weights of the neural network as the embedded information. The generation unit may generate the embedded neural network by performing learning so as not to change some of the weights after using some of the weights of the neural network before learning as the embedded information.
[0005] In any of the information processing systems, the generation unit may generate the embedded neural network in which some of a plurality of weights of the trained neural network are used as the embedded information, and reproduction information capable of reproducing the some of the weights from the embedded information.
[0006] In any of the information processing systems, the generation unit may identify a portion of the multiple weights of the trained neural network whose values are equal to or less than a predetermined threshold, and generate the embedded neural network in which the portion of the weights is the embedded information, and weight position information indicating positions of the portion of the weights in the embedded neural network.
[0007] In any of the information processing systems, the embedded information acquisition unit may acquire the embedded information generated by reversibly converting target information, and the generation unit may generate inverse conversion information indicating how to convert the embedded information into the target information.
[0008] In any of the information processing systems, the embedded information may be a numerical value, and the generating unit may generate the embedded neural network with some of a plurality of biases of the neural network as the embedded information. The generating unit may generate the embedded neural network with some of a plurality of biases of the neural network as the embedded information, and reproduction information capable of reproducing the some of the biases from the embedded information.
[0009] In any of the information processing systems, the embedded information may be a numerical value, and the generating unit may generate the embedded neural network in which the embedded information is embedded in some of the layers of the neural network. The generating unit may generate the embedded neural network in which the embedded information is embedded in some of the layers of the neural network, and layer position information indicating positions of the some of the layers in the embedded neural network. The generating unit may generate the embedded neural network in which the embedded information is embedded in some of the layers of the neural network, and reproduction information capable of reproducing data before being applied to the some of the layers from data applied to the some of the layers.
[0010] In any of the information processing systems, the embedded information may be a numerical value, and the generating unit may generate the embedded neural network by embedding the embedded information in some of the nodes of the neural network. The generating unit may generate the embedded neural network by embedding the embedded information in some of the nodes of the neural network that are not linked to other nodes.
[0011] In any of the information processing systems, the embedded information may be a numerical value, and the generating unit may generate the embedded neural network by embedding the embedded information in a function of the neural network. The generating unit may generate the embedded neural network by embedding the embedded information in an activation function of the neural network. The generating unit may generate the embedded neural network by embedding the embedded information in a loss function of the neural network.
[0012] In any of the information processing systems, the generation unit may generate the embedded neural network by embedding network-related information related to the neural network in elements of the neural network as the embedded information. The generation unit may generate the embedded neural network by embedding a signature of the neural network in elements of the neural network as the embedded information. Any of the information processing systems may include an input information acquisition unit that acquires user input information entered by a user who uses the embedded neural network, and a network management unit that restricts the user from using the neural network when the network-related information embedded in the embedded neural network does not match the user input information.
[0013] In any of the information processing systems, the network management unit may prohibit the user from using the neural network if the network-related information embedded in the embedded neural network does not match the user input information. If the network-related information embedded in the embedded neural network does not match the user input information, the network management unit may output information to the user that is different from the output information output from the embedded neural network.
[0014] According to one embodiment of the present invention, there is provided a program for causing a computer to function as the information processing system.
[0015] According to one embodiment of the present invention, there is provided an information processing method executed by a computer. The information processing method may include an embedded information acquisition step of acquiring embedded information. The information processing method may include a generation step of generating an embedded neural network in which the embedded information is embedded in elements of the neural network.
[0016] The above summary of the invention does not list all of the necessary features of the present invention. Also, subcombinations of these features may also be inventions. [Brief description of the drawings]
[0017] [Figure 1] 1 illustrates a schematic diagram of an example of an information processing system 10. [Diagram 2] 3 illustrates a schematic diagram of an example neural network 300. [Diagram 3] 1 is an explanatory diagram for explaining an example of a method for embedding embedding information into a neural network 300 by the information processing system 10. FIG. [Figure 4] 1 is an explanatory diagram for explaining an example of a method for embedding embedding information into a neural network 300 by the information processing system 10. FIG. [Diagram 5] 1 is an explanatory diagram for explaining an example of a method for embedding embedding information into a neural network 300 by the information processing system 10. FIG. [Figure 6] 1 is an explanatory diagram for explaining an example of a method for embedding embedding information into a neural network 300 by the information processing system 10. FIG. [Figure 7] 2 illustrates an example of a functional configuration of a generating device 100. [Figure 8] 2 shows an example of a functional configuration of the execution device 200. [Figure 9] An example of a hardware configuration of a computer 1200 functioning as the generating device 100 or the executing device 200 is shown in schematic form. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention according to the claims. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0019] In recent years, research into neural networks has progressed, and a wide variety of neural networks have been generated. It is desirable to provide a technology that promotes the use of neural networks. For example, it is desirable to provide a mechanism that prevents a valid neural network from being stolen or used illegally when the neural network is generated. It is also desirable to provide a technology that can distinguish between a legitimately generated neural network and an illegally generated neural network, so as to prevent a user from suffering some kind of damage by unknowingly using an illegally generated neural network. In the information processing system 10 according to this embodiment, embedding information in the neural network contributes to improving the usefulness of the neural network.
[0020] 1 illustrates an example of an information processing system 10. The information processing system 10 includes a generating device 100. The information processing system 10 may be a system realized by only the generating device 100. The information processing system 10 may include an executing device 200. The information processing system 10 may be a system realized by the generating device 100 and the executing device 200. The information processing system 10 may further include a communication terminal 30.
[0021] The generating device 100 and the executing device 200 may communicate with each other via a network 20. The generating device 100 and the communication terminal 30 may communicate with each other via a network 20. The executing device 200 and the communication terminal 30 may communicate with each other via a network 20.
[0022] The network 20 may include the Internet. The network 20 may include a LAN (Local Area Network). The network 20 may include a mobile communication network. The mobile communication network may conform to any of the following communication methods: the LTE (Long Term Evolution) communication method, the 5G (5th Generation) communication method, the 3G (3rd Generation) communication method, and the 6G (6th Generation) communication method or later.
[0023] The generating device 100 may be connected to the network 20 by wire. The generating device 100 may be connected to the network 20 by wireless. The generating device 100 may be connected to the network 20 via a wireless base station. The generating device 100 may be connected to the network 20 via a Wi-Fi (registered trademark) access point.
[0024] The execution device 200 may be connected to the network 20 by wire. The execution device 200 may be connected to the network 20 wirelessly. The execution device 200 may be connected to the network 20 via a wireless base station. The execution device 200 may be connected to the network 20 via a Wi-Fi access point.
[0025] The generating device 100 and the executing device 200 may be integrated together. That is, the generating device 100 may have the functions of the executing device 200.
[0026] The communication terminal 30 may be connected to the network 20 by wire. The communication terminal 30 may be connected to the network 20 wirelessly. The communication terminal 30 may be connected to the network 20 via a wireless base station. The communication terminal 30 may be connected to the network 20 via a Wi-Fi access point.
[0027] The generating device 100 generates an embedded neural network in which embedded information is embedded in elements of the neural network. Examples of the elements of the neural network include nodes, weights, biases, layers, and functions of the neural network. Examples of the layers include an input layer, a hidden layer, and an output layer. Examples of the functions include an activation function and a loss function. The generating device 100 may generate an embedded neural network in which embedded information is embedded in at least one of nodes, weights, biases, layers, and functions of the neural network.
[0028] The neural network targeted by the information processing system 10 may be a DNN (Deep Neural Network). The neural network targeted by the information processing system 10 may be a CNN (Convolutional Neural Network). The neural network targeted by the information processing system 10 may be a RNN (Recurrent Neural Network) or the like. In this embodiment, a case where the neural network targeted by the information processing system 10 is a DNN will be mainly described as an example.
[0029] The generating device 100 may generate the embedded neural network by embedding the embedded information in a neural network before training. The generating device 100 may generate the embedded neural network by embedding the embedded information in a trained neural network. The embedded neural network may be a neural network for any purpose. The embedded information may be any information.
[0030] For example, the embedded information is network-related information related to the embedded neural network. Examples of the network-related information include source information indicating the source of the embedded neural network, a signature of the embedded neural network, authentication information for authenticating a user of the embedded neural network, and a non-fungible token (NFT) of the embedded neural network. Examples of the network-related information include input application information applied to the input of the embedded neural network, output application information applied to the output of the embedded neural network, and tuning information used for tuning the embedded neural network. The network-related information may be any information other than the above as long as it is information related to the embedded neural network. The embedded information may be information not related to the embedded neural network. For example, the embedded information may be image information, audio information, text information, key information, etc. These are examples, and the embedded information may be information other than these.
[0031] As a specific example, the generating device 100 generates an embedded neural network with the generation origin information embedded therein, which makes it possible to confirm the generation origin of the neural network by referring to the information embedded in the neural network even after the neural network has been distributed.
[0032] If a person does not know where and how the embedded information is embedded in the embedded neural network, he or she cannot remove the embedded information from the embedded neural network or tamper with the embedded information. If the embedded information is made available only to legitimate users who can use the embedded neural network, it is possible to ensure that only those who know the embedded information can use the embedded neural network legitimately.
[0033] The generating device 100 may generate extraction method information that directly or indirectly indicates an extraction method for extracting the embedded information from the embedded neural network. The extraction method information may include an extraction method for extracting the embedded information from the embedded neural network. The extraction method information may be information indicating where and how the embedded information is embedded in the embedded neural network. The generating device 100 may create a network configuration file that includes the extraction method information.
[0034] The generating device 100 may provide the generated embedded neural network to the executing device 200. The generating device 100 may provide the embedded neural network and the extraction method information to the executing device 200. The generating device 100 may provide the executing device 200 with a network configuration file including the extraction method information.
[0035] The execution device 200 may provide a service using the embedded neural network to the user 40. For example, when the embedded neural network is a neural network for performing face authentication, the execution device 200 receives a face image including the face of the user 40 from the communication terminal 30 used by the user 40, and inputs the face image into the embedded neural network, thereby performing face authentication of the user 40. The communication terminal 30 may be a smartphone, tablet terminal, PC (Personal Computer), or the like, carried by the user 40. The communication terminal 30 may be a terminal for authenticating the user 40, which is placed at any place such as a store.
[0036] The execution device 200 may restrict the use of the embedded neural network by unauthorized users 40. For example, first, the embedded information is notified only to authorized users 40. Then, the execution device 200 acquires user input information input by the user 40, and if the embedded information embedded in the embedded neural network matches the user input information, executes face authentication of the user 40 using the embedded neural network as usual, and if they do not match, does not start face authentication, or inputs a face image of the user 40 into the embedded neural network and outputs information to the user 40 that is different from the output information output from the embedded neural network.
[0037] The generating device 100 may provide the generated embedded neural network to the communication terminal 30. The generating device 100 may provide the embedded neural network and extraction method information to the communication terminal 30. The generating device 100 may provide the communication terminal 30 with a network configuration file including the extraction method information.
[0038] FIG. 2 is a schematic diagram of an example of a neural network 300. The neural network 300 illustrated in FIG. 2 has an input layer 310, a hidden layer 321, a hidden layer 322, and an output layer 330. The network configuration file of the neural network 300 may be, for example, "3, 4, 4, 3" in which the layer structure is expressed by a sequence of numbers. The network configuration file of the neural network 300 may be, for example, "Input 3, Hidden 4, 4, Output 3" in which the layer structure is expressed by a sequence of numbers with symbols. The number and configuration of layers of the neural network 300 are not limited to the example illustrated in FIG. 2.
[0039] 2 includes a plurality of nodes 301, a plurality of weights 302, a plurality of biases 303, and a plurality of activation functions 304. The neural network 300 may not include the biases 303. The neural network 300 may not include the activation functions 304.
[0040] In the example of the neural network 300 shown in FIG. 2 , the generating device 100 may embed the embedded information in some of the multiple nodes 301. The generating device 100 may embed the embedded information in some of the multiple weights 302. The generating device 100 may embed the embedded information in some of the multiple biases 303. The generating device 100 may embed the embedded information in some of the multiple activation functions 304. The generating device 100 may embed the embedded information in a distributed manner in more than one of the multiple nodes 301, the multiple weights 302, the multiple biases 303, the multiple activation functions 304, the input layer 310, the hidden layer 321, the hidden layer 322, and the output layer 330.
[0041] 3 is an explanatory diagram for describing an example of a method for embedding information into a neural network 300 by the information processing system 10. Here, a case will be described in which the generating device 100 embeds information into one of the multiple weights 302.
[0042] In the example shown in Fig. 3, the generating device 100 embeds embedded information in weights 302 (sometimes referred to as target weights 352) of the third node 301 to the fourth node 301 in the hidden layer 321, which is the second layer, to the hidden layer 322, which is the third layer. The embedded information may be a sequence of numbers. The embedded information may be a numeric value. The embedded information may be ASCII code.
[0043] The embedded information may be the target information itself that is to be embedded. The generating device 100 may include weight position information indicating the position of the target weight 352 in the network configuration file of the neural network 300. In the example shown in Fig. 3, the generating device 100 may include "2, 3, 3, 4" in the network configuration file, which indicates that the embedded information is embedded from the third node 301 to the fourth node 301 in the second layer to the third layer.
[0044] The embedded information may be conversion information generated by reversibly converting the target information. For example, the conversion information may be a value obtained by adding a specific numerical value to the target information. The generating device 100 may include weight position information indicating the position of the target weight 352 and the specific numerical value in the network configuration file of the neural network 300. In the example shown in FIG. 3, the generating device 100 may include "2, 3, 3, 4, the specific numerical value" in the network configuration file. The target information can be obtained by subtracting the specific numerical value from the embedded information extracted from "2, 3, 3, 4" of the neural network 300. The conversion information may be a value obtained by subtracting the specific numerical value from the target information. The conversion information may also be a value calculated by applying the target information to a specific mathematical formula. In this case, the generating device 100 may include weight position information indicating the position of the target weight 352 and the specific mathematical formula in the network configuration file of the neural network 300.
[0045] For example, the generating device 100 generates an embedded neural network by using the target weights 352 of the neural network before learning as embedded information, and then executing learning without changing the target weights 352. In this way, it is possible to generate an embedded neural network in which the target weights 352 are embedded information.
[0046] For example, the generating device 100 generates an embedded neural network in which the target weight 352 of the trained neural network is used as embedded information, and reproduction information capable of reproducing the target weight 352 from the embedded information. For example, when the target weight 352 of the trained neural network is 0.5 and the embedded information is 0.18, the generating device 100 sets the target weight 352 to 0.18 and generates reproduction information including 0.32 obtained by subtracting 0.18 from 0.5. In this way, when actually executing a process using the neural network 300 while embedding the embedded information in the neural network 300, the target weight 352 can be set to 0.5, which is the correct weight value calculated by adding the reproduction information 0.32 to the embedded information 0.18.
[0047] For example, the generating device 100 identifies one weight of a trained neural network whose value is lower than a predetermined threshold, and generates an embedded neural network in which the one weight is embedded as embedded information, and weight position information indicating a position to which some weights in the neural network correspond. As a specific example, the generating device 100 identifies one weight of a trained neural network whose value is 0, and generates an embedded neural network in which the one weight is embedded as embedded information, and weight position information for the one weight. This makes it possible to embed embedded information in the neural network 300, while ignoring the weight at the position indicated by the weight position information when actually executing processing using the neural network 300.
[0048] 3 illustrates an example in which the embedded information is embedded in one weight 302 among the multiple weights 302, but the present invention is not limited to this. The generating device 100 may distribute and embed the embedded information in some of the multiple weights 302. The generating device 100 may embed multiple pieces of embedded information in each of some of the multiple weights 302.
[0049] 4 is an explanatory diagram for describing an example of a method for embedding information into the neural network 300 by the information processing system 10. Here, a case will be described in which the generating device 100 embeds information into one bias 303 among a plurality of biases 303.
[0050] In the example shown in FIG. 4, the generating device 100 embeds embedded information in the bias 303 (sometimes referred to as the target bias 353) of the fourth node 301 in the hidden layer 322, which is the third layer. The embedded information may be a sequence of numbers. The embedded information may be a numeric value. The embedded information may be an ASCII code.
[0051] The embedded information may be the target information itself that is to be embedded. The generating device 100 may include bias position information indicating the position of the target bias 353 in the network configuration file of the neural network 300. In the example shown in Fig. 3, the generating device 100 may include "3, 4" indicating that the embedded information is embedded in the fourth node 301 in the third layer in the network configuration file.
[0052] The embedded information may be conversion information generated by reversibly converting the target information. For example, the conversion information may be a value obtained by adding a specific numerical value to the target information. The generating device 100 may include bias position information indicating the position of the target bias 353 and the specific numerical value in the network configuration file of the neural network 300. In the example shown in FIG. 4, the generating device 100 may include "3, 4, the specific numerical value" in the network configuration file. The target information can be obtained by subtracting the specific numerical value from the embedded information extracted from "3, 4" of the neural network 300. The conversion information may be a value obtained by subtracting the specific numerical value from the target information. The conversion information may also be a value calculated by applying the target information to a specific mathematical formula. In this case, the generating device 100 may include bias position information indicating the position of the target bias 353 and the specific mathematical formula in the network configuration file of the neural network 300.
[0053] In the case of a neural network that does not require a bias, the generating device 100 may embed the embedded information in a dummy bias. In the case of a neural network that requires a bias, the generating device 100 may generate an embedded neural network in which the target bias 353 is the embedded information, and reproduction information that can reproduce the target bias 353 from the embedded information. As a specific example, when the target bias 353 is 0.5 and the embedded information is 0.18, the generating device 100 generates an embedded neural network in which the target bias 353 is 0.18, and generates reproduction information including 0.32 obtained by subtracting 0.18 from 0.5. As a result, when embedding the embedded information in the neural network 300 and actually executing a process using the neural network 300, the target bias 353 can be set to 0.5, which is the correct bias value calculated by adding the reproduction information 0.32 to the embedded information 0.18.
[0054] 4 illustrates an example in which the embedding information is embedded in one bias 303 among the multiple biases 303, but the present invention is not limited to this. The generating device 100 may embed the embedding information in a distributed manner in some of the multiple biases 303. The generating device 100 may embed multiple pieces of embedding information in each of some of the multiple biases 303.
[0055] 5 is an explanatory diagram for describing an example of a method for embedding information into the neural network 300 by the information processing system 10. Here, a case will be described in which the generating device 100 embeds information into one of a plurality of layers.
[0056] The generating device 100, for example, generates a neural network 300 including a dummy layer 324, and embeds the embedded information in the dummy layer 324. The generating device 100 embeds the embedded information in, for example, at least a portion of the inputs to the dummy layer 324 and at least a portion of the outputs from the dummy layer 324. The generating device 100 may embed the embedded information in all of the inputs to the dummy layer 324 and all of the outputs from the dummy layer 324, or may embed the embedded information in only a portion of the inputs to the dummy layer 324. The generating device 100 may embed the embedded information in only at least a portion of the outputs from the dummy layer 324.
[0057] The generating device 100 may generate an embedded neural network in which the embedded information is embedded in the dummy layer 324, and layer position information indicating the position of the dummy layer 324. The generating device 100 may generate a network configuration file including the layer position information. The layer position information makes it possible to identify the dummy layer 324, to extract the embedded information from the embedded neural network, and to perform processing ignoring the dummy layer 324 when actually performing processing using the neural network 300.
[0058] The generating device 100 may generate an embedded neural network in which embedded information is embedded in the dummy layer 324, and reproduction information capable of reproducing data before being applied to the dummy layer 324, from the data applied to the dummy layer 324. In this way, when processing using the neural network 300 is actually performed, the influence of the dummy layer 324 can be eliminated by the reproduction information.
[0059] 5 illustrates an example in which the neural network 300 includes one dummy layer 324, but the present invention is not limited to this. The neural network 300 may include a plurality of dummy layers 324. In this case, the generating device 100 may embed the embedded information in a distributed manner into the plurality of dummy layers 324. Furthermore, the generating device 100 may embed each of the plurality of pieces of embedded information into each of the plurality of dummy layers 324.
[0060] 6 is an explanatory diagram for describing an example of a method for embedding information in the neural network 300 by the information processing system 10. Here, a case will be described in which the generating device 100 embeds information in some of the multiple nodes 301.
[0061] 6, the generating device 100 embeds embedded information in some nodes (sometimes referred to as target nodes 351) that are not linked to other nodes 301 among the multiple nodes 301 in the neural network 300. The embedded information may be a sequence of numbers. The embedded information may be a numerical value.
[0062] The generating device 100 embeds the embedding information in, for example, the node number of the target node 351. In the example shown in FIG. 6, the first node in the third layer and the fourth node in the fourth layer are the target nodes 351. If a rule is set to extract the nodes 301 not linked to other nodes 301 from the input layer side toward the output layer side, from the upper 301 toward the lower node 301, the numerical values "3, 1, 4, 4" can be extracted. The generating device 100 embeds the embedding information in the neural network 300 by generating application information that becomes the embedding information when applied to the numerical value. For example, the generating device 100 generates application information that becomes the embedding information by subtracting from 3144. If the embedding information is 1800, the generating device 100 generates application information including 1344, which is obtained by subtracting 1800 from 3144.
[0063] 7 illustrates an example of a functional configuration of the generating device 100. The generating device 100 includes a storage unit 110, an acquisition unit 120, a generating unit 130, and a providing unit 140.
[0064] The acquiring unit 120 acquires various information. The acquiring unit 120 stores the acquired information in the storage unit 110. The acquiring unit 120 may include a learning information acquiring unit 122, a network acquiring unit 124, and an embedded information acquiring unit 126.
[0065] The learning information acquiring unit 122 acquires learning information for training the neural network. The learning information acquiring unit 122 may acquire the learning information from an external source.
[0066] The network acquiring unit 124 acquires a neural network. The network acquiring unit 124 may acquire the neural network from an external source. The network acquiring unit 124 may acquire a trained neural network that has been trained by another device from the other device.
[0067] The embedded information acquisition unit 126 acquires embedded information to be embedded in the neural network. The embedded information acquisition unit 126 may acquire the embedded information from an external source. The embedded information acquisition unit 126 may acquire target information to be embedded, and generate the embedded information by reversibly converting the target information.
[0068] The generating unit 130 generates an embedded neural network by embedding the embedded information acquired by the embedded information acquiring unit 126 into elements of the neural network. The generating unit 130 may generate an embedded neural network by embedding the embedded information into at least one of the nodes, weights, biases, layers, and functions of the neural network.
[0069] As described above, the embedded information may be a sequence of numbers. The embedded information may be a numerical value. The embedded information may be an ASCII code. The embedded information does not have to be a sequence of numbers or a numerical value.
[0070] For example, the generating section 130 embeds the embedded information in some of the weights of the neural network. The generating section 130 may generate an embedded neural network in which some of the weights of the neural network are embedded as the embedded information.
[0071] The generating unit 130 may determine the number of weights into which the embedded information is embedded, depending on the size of the embedded information. The generating unit 130 may determine the number of weights into which the embedded information can be embedded, depending on the size of the embedded information. The generating unit 130 may embed the embedded information by distributing the embedded information to a determined number of weights among a plurality of weights of the neural network. The generating unit 130 may embed the embedded information, for example, by dividing the embedded information into a determined number and making each of the information into a respective one of the determined number of weights.
[0072] The generating unit 130 may determine the number of weights into which the embedded information is embedded, depending on the number of pieces of embedded information. The generating unit 130 may determine the number of weights corresponding to the number of pieces of embedded information. The generating unit 130 may embed the embedded information in each of the determined number of weights among the multiple weights of the neural network. The generating unit 130 may embed the embedded information by, for example, setting each of the multiple pieces of embedded information to each of the determined number of weights.
[0073] The generating unit 130 may determine the number of weights into which the embedded information is embedded, depending on the size and number of pieces of embedded information. The generating unit 130 may determine the number of weights into which the embedded information can be embedded, depending on the size and number of pieces of embedded information.
[0074] The generating unit 130 may generate an embedded neural network by performing learning using the learning information acquired by the learning information acquiring unit 122 so as not to change some of the weights of the neural network before learning, after some of the weights are set as embedded information. The generating unit 130 may generate weight position information indicating the positions of the some of the weights in the embedded neural network. As a result, it is possible to generate a trained embedded neural network in which some of the weights are embedded with embedded information.
[0075] The generating unit 130 may embed the embedded information in some of the weights of the trained neural network acquired by the network acquiring unit 124. The generating unit 130 may embed the embedded information in some of the weights of the trained neural network generated by performing training using the training information acquired by the training information acquiring unit 122.
[0076] For example, the generating unit 130 generates an embedded neural network in which some of the weights of a trained neural network are used as embedded information, and reproduction information capable of reproducing the some of the weights from the embedded information. When embedding one piece of embedded information in one weight, the generating unit 130 selects one weight from the weights of the trained neural network, and generates an embedded neural network in which the selected weight is changed to embedded information, and reproduction information capable of reproducing the selected weight from the embedded information. As a specific example, when the selected weight is 0.5 and the embedded information is 0.18, the generating unit 130 generates an embedded neural network in which the selected weight is changed to 0.18, and reproduction information including 0.32 obtained by subtracting 0.18 from 0.5. The generating unit 130 may generate an embedded neural network in which the selected weight is changed to 0.18, and reproduction information including 0.68 obtained by adding 0.18 to 0.5. The generating unit 130 may generate an embedded neural network in which the selected weight has been changed to 0.18, and reproduction information including a formula capable of calculating 0.5 from 0.18. When embedding one piece of embedded information by distributing it among a plurality of weights, the generating unit 130 may divide the embedded information, select a plurality of weights from a plurality of weights of the trained neural network, and generate an embedded neural network in which each of the selected weights is set to each of the divided embedded information, and reproduction information capable of reproducing the plurality of weights selected from the divided embedded information.
[0077] For example, the generating unit 130 identifies some weights of a plurality of weights of a trained neural network whose values are equal to or less than a predetermined threshold, and generates an embedded neural network with the weights as embedded information, and weight position information indicating the positions of the weights in the embedded neural network. The generating unit 130 may identify a number of weights required to embed embedded information from the weights of the trained neural network whose values are equal to or less than a predetermined threshold. An arbitrary value may be set as the threshold. A value equal to or lower than a weight value that can be ignored without causing any problem may be set as the threshold. 0 may be set as the threshold. When processing using the embedded neural network is actually performed, it is possible to ignore the weights indicated by the weight position information.
[0078] When embedding information generated by reversibly transforming the target information into some of the multiple weights of the neural network, the generation unit 130 may further generate inverse transformation information indicating a method of transforming the embedded information into the target information.
[0079] For example, the generating section 130 embeds the embedded information in some of the multiple biases of the neural network. The generating section 130 may generate an embedded neural network in which some of the multiple biases of the neural network are used as embedded information.
[0080] The generating unit 130 may determine the number of biases into which the embedding information is embedded, depending on the size of the embedding information. The generating unit 130 may determine the number of biases into which the embedding information can be embedded, depending on the size of the embedding information. The generating unit 130 may embed the embedding information by distributing the embedding information to a determined number of biases among a plurality of biases of the neural network. The generating unit 130 may embed the embedding information by, for example, dividing the embedding information into a determined number and making each of the information into each of the determined number of biases.
[0081] The generating unit 130 may determine the number of biases into which the embedded information is embedded, depending on the number of pieces of embedded information. The generating unit 130 may determine the number of biases corresponding to the number of pieces of embedded information. The generating unit 130 may embed the embedded information in each of the determined number of biases among the multiple biases of the neural network. The generating unit 130 may embed the embedded information by, for example, setting each of the multiple pieces of embedded information to each of the determined number of biases.
[0082] The generating unit 130 may determine the number of biases into which the embedding information is embedded, depending on the size and number of pieces of embedding information. The generating unit 130 may determine the number of biases into which the embedding information can be embedded, depending on the size and number of pieces of embedding information.
[0083] In the case of a neural network that does not require a bias, the generating section 130 may embed the embedding information in a dummy bias of the neural network.
[0084] In the case of a neural network that requires a bias, the generating unit 130 may generate an embedded neural network in which some of the multiple biases of the neural network are used as embedded information, and reproduction information capable of reproducing the part of the bias from the embedded information. When embedding one piece of embedded information in one bias, the generating unit 130 selects one bias from the multiple biases of the trained neural network, and generates an embedded neural network in which the selected bias is changed to embedded information, and reproduction information capable of reproducing the weight selected from the embedded information. As a specific example, when the selected bias is 0.5 and the embedded information is 0.18, the generating unit 130 generates an embedded neural network in which the selected bias is changed to 0.18, and reproduction information including 0.32 obtained by subtracting 0.18 from 0.5. The generating unit 130 may generate an embedded neural network in which the selected bias is changed to 0.18, and reproduction information including 0.68 obtained by adding 0.18 to 0.5. The generating unit 130 may generate an embedded neural network in which the selected bias has been changed to 0.18, and reproduction information including a formula capable of calculating 0.5 from 0.18. When embedding one piece of embedded information in a plurality of weights, the generating unit 130 may divide the embedded information, select a plurality of biases from a plurality of biases of the trained neural network, and generate an embedded neural network in which each of the selected plurality of biases is set to each of the divided embedded information, and reproduction information capable of reproducing the plurality of biases selected from the divided embedded information.
[0085] When embedding information generated by reversibly transforming the target information into some of the multiple biases of the neural network, the generation unit 130 may further generate inverse transformation information indicating how to transform the embedded information into the target information.
[0086] For example, the generating unit 130 embeds the embedded information in some of the layers of the neural network. The generating unit 130 may generate an embedded neural network in which the embedded information is embedded in some of the layers of the neural network.
[0087] The generating unit 130 may determine the number of layers into which the embedded information is embedded, depending on the size of the embedded information. The generating unit 130 may determine the number of layers into which the embedded information can be embedded, depending on the size of the embedded information. The generating unit 130 may embed the embedded information by distributing it to a determined number of layers among the multiple layers of the neural network. The generating unit 130 may, for example, divide the embedded information into a determined number and embed each of the divided pieces into each of the determined number of layers.
[0088] The generating unit 130 may determine the number of layers into which the embedded information is embedded according to the number of pieces of embedded information. The generating unit 130 may determine the number of layers corresponding to the number of pieces of embedded information. The generating unit 130 may embed the embedded information in each of the determined number of layers among the multiple layers of the neural network.
[0089] The generating unit 130 may determine the number of layers into which the embedded information is embedded, depending on the size and number of pieces of embedded information. The generating unit 130 may determine the number of layers into which the embedded information can be embedded, depending on the size and number of pieces of embedded information.
[0090] The generating unit 130 may generate an embedded neural network in which embedded information is embedded in some of the layers of the neural network, and layer position information indicating the positions of the some of the layers in the embedded neural network. The generating unit 130 may generate a neural network in which embedded information is embedded in a dummy layer of the neural network, and layer position information indicating the position of the dummy layer in the neural network. This enables an operation in which the dummy layer is ignored when processing using the embedded neural network is actually performed.
[0091] The generating unit 130 may generate an embedded neural network in which embedded information is embedded in some layers among a plurality of layers of the neural network, and reproduction information capable of reproducing data before being applied to the some layers from data applied to the some layers. The generating unit 130 may generate a neural network in which embedded information is embedded in a dummy layer among a plurality of layers of the neural network, and reproduction information capable of reproducing data before being applied to the dummy layer from data applied to the dummy layer. Thereby, when processing using the embedded neural network is actually performed, the influence of the dummy layer can be eliminated by the reproduction information.
[0092] When embedding information generated by reversibly transforming the target information into some of the multiple layers of the neural network, the generation unit 130 may further generate inverse transformation information indicating a method of transforming the embedded information into the target information.
[0093] For example, the generating unit 130 embeds the embedded information in some of the nodes of the neural network. The generating unit 130 may generate an embedded neural network in which the embedded information is embedded in some of the nodes of the neural network.
[0094] The generating unit 130 may determine the number of nodes into which the embedded information is embedded, depending on the size of the embedded information. The generating unit 130 may determine the number of nodes into which the embedded information can be embedded, depending on the size of the embedded information. The generating unit 130 may embed the embedded information by distributing the embedded information to a determined number of nodes among the multiple nodes of the neural network. The generating unit 130 may embed the embedded information by, for example, dividing the embedded information into a determined number and making each of the divided pieces into each of the determined number of nodes.
[0095] The generating unit 130 may determine the number of nodes into which the embedded information is embedded, depending on the number of pieces of embedded information. The generating unit 130 may determine the number of nodes corresponding to the number of pieces of embedded information. The generating unit 130 may embed the embedded information in each of the determined number of nodes among the multiple nodes of the neural network. The generating unit 130 may embed the embedded information by, for example, setting each of the multiple pieces of embedded information in each of the determined number of nodes.
[0096] The generating unit 130 may determine the number of nodes into which the embedded information is embedded, depending on the size and number of pieces of embedded information. The generating unit 130 may determine the number of nodes into which the embedded information can be embedded, depending on the size and number of pieces of embedded information.
[0097] The generating unit 130 may generate an embedded neural network in which embedded information is embedded in some of the nodes of the neural network that are not linked to other nodes. The generating unit 130 may embed embedded information using node numbers of some of the nodes of the neural network that are not linked to other nodes. The generating unit 130 may, for example, preregister an extraction rule for sequentially extracting nodes of the neural network that are not linked to other nodes. The extraction rule indicates, for example, extraction from the upper node to the lower node from the input layer side toward the output layer side. The generating unit 130 embeds embedded information in the neural network by generating application information that becomes embedded information by applying it to a numerical value composed of node numbers extracted according to the rule.
[0098] When embedding information generated by reversibly converting the target information into some of the multiple nodes of the neural network, the generation unit 130 may further generate inverse conversion information indicating a method for converting the embedded information into the target information.
[0099] For example, the generating unit 130 embeds the embedded information in a function of a neural network. For example, the generating unit 130 embeds the embedded information in a plurality of activation functions of the neural network to generate an embedded neural network.
[0100] The generating unit 130 may determine the number of activation functions into which the embedded information is embedded, depending on the size of the embedded information. The generating unit 130 may determine the number of activation functions into which the embedded information can be embedded, depending on the size of the embedded information. The generating unit 130 may embed the embedded information by distributing it among the multiple activation functions of the neural network, into the determined number of activation functions.
[0101] The generating unit 130 may determine the number of activation functions into which the embedded information is embedded according to the number of pieces of embedded information. The generating unit 130 may determine the number of activation functions corresponding to the number of pieces of embedded information. The generating unit 130 may embed the embedded information in each of the determined number of activation functions among the multiple activation functions of the neural network.
[0102] The generating unit 130 may determine the number of activation functions into which the embedded information is embedded, depending on the size and number of pieces of embedded information. The generating unit 130 may determine the number of activation functions into which the embedded information can be embedded, depending on the size and number of pieces of embedded information.
[0103] The generating unit 130 generates an embedded neural network in which embedded information is embedded in some of the activation functions of the neural network, and reproduction information capable of reproducing the some of the activation functions from the embedded information. When embedding one piece of embedded information in one activation function, the generating unit 130 selects one activation function from the activation functions of the neural network, and generates an embedded neural network in which embedded information is embedded in the selected activation function, and reproduction information capable of reproducing the selected activation function from the embedded information. When embedding one piece of embedded information in a plurality of activation functions in a distributed manner, the generating unit 130 may divide the embedded information, select a plurality of activation functions from the activation functions of the neural network, and generate an embedded neural network in which each of the divided pieces of embedded information is embedded in each of the selected activation functions, and reproduction information capable of reproducing the selected activation functions from the divided embedded information.
[0104] Also, for example, the generating unit 130 may generate an embedded neural network by embedding embedded information in a loss function of a neural network. The generating unit 130 may generate an embedded neural network in which embedded information is embedded in a loss function of the neural network, and reproduction information capable of reproducing the loss function from the embedded information.
[0105] When embedding the embedded information generated by reversibly transforming the target information into a function of a neural network, the generating section 130 may further generate inverse transformation information indicating a method for transforming the embedded information into the target information.
[0106] The generating unit 130 may embed the embedded information in a distributed manner in two or more of the nodes, weights, biases, layers, and functions of the neural network.
[0107] The providing unit 140 provides the embedded neural network generated by the generating unit 130. The providing unit 140 may provide the embedded neural network to the execution device 200. The providing unit 140 may provide the embedded neural network to the communication terminal 30.
[0108] The providing unit 140 may provide additional information of the embedded neural network according to the embedded neural network. The network acquiring unit 222 may provide reproduction information. The network acquiring unit 222 may provide weight position information. The network acquiring unit 222 may provide bias position information. The network acquiring unit 222 may provide layer position information. The network acquiring unit 222 may provide adaptation information. The network acquiring unit 222 may provide inverse transformation information.
[0109] 8 shows an example of the functional configuration of the execution device 200. The execution device 200 includes a storage unit 210, an acquisition unit 220, a network management unit 230, and an execution unit 240.
[0110] The acquiring unit 220 acquires various types of information. The acquiring unit 220 stores the acquired information in the storage unit 210. The acquiring unit 220 may include a network acquiring unit 222 and an input information acquiring unit 224.
[0111] The network acquiring unit 222 acquires the embedded neural network. The network acquiring unit 222 may acquire the embedded neural network from the generation device 100. The network acquiring unit 222 may acquire the embedded neural network provided by the providing unit 140.
[0112] The network acquisition unit 222 may acquire supplementary information of the embedded neural network in accordance with the embedded neural network. The network acquisition unit 222 may acquire reproduction information. The network acquisition unit 222 may acquire weight position information. The network acquisition unit 222 may acquire bias position information. The network acquisition unit 222 may acquire layer position information. The network acquisition unit 222 may acquire application information. The network acquisition unit 222 may acquire inverse transformation information.
[0113] The input information acquiring unit 224 acquires user input information input by a user 40 who uses the embedded neural network. The input information acquiring unit 224 may acquire the user input information via the communication terminal 30. The input information acquiring unit 224 may acquire the user input information input by the user 40 using an input device of the generating device 100 or the executing device 200.
[0114] The network management unit 230 executes management processing of the embedded neural network acquired by the network acquisition unit 222. The network management unit 230 may permit or restrict the user 40 from using the embedded neural network.
[0115] For example, the network management unit 230 compares user input information entered by a user 40 who wishes to use the embedded neural network with the embedded information embedded in the embedded neural network, and if they match, the network management unit 230 permits the user 40 to use the embedded neural network. If they do not match, the network management unit 230 restricts the user 40 from using the embedded neural network. For example, the network management unit 230 prohibits the user 40 from using the embedded neural network. For example, the network management unit 230 controls the output of information to the user 40 that is different from the output information output from the embedded neural network.
[0116] The execution unit 240 executes processing using the embedded neural network. The execution unit 240 may provide a service using the embedded neural network to the user 40. For example, the execution unit 240 provides a face recognition service to the user 40 by the embedded neural network.
[0117] When the embedded neural network is a neural network for performing facial authentication, the execution unit 240 receives a facial image including the face of the user 40 from the communication terminal 30 used by the user 40, and performs facial authentication of the user 40 by inputting the facial image into the embedded neural network.
[0118] The network management unit 230 and the execution unit 240 may prompt the user 40 to input embedded information before starting face authentication. The network management unit 230 compares the user input information input by the user 40 with the embedded information embedded in the embedded neural network, and if they match, causes the execution unit 240 to execute face authentication processing of the user 40 using the embedded neural network. If they do not match, the network management unit 230 restricts the use of the embedded neural network by the user 40. For example, the network management unit 230 prohibits the execution unit 240 from executing face authentication processing of the user 40 using the embedded neural network. For example, the network management unit 230 causes the execution unit 240 to execute face authentication processing of the user 40 using the embedded neural network, and outputs information to the user 40 that is different from the output information output from the embedded neural network.
[0119] 9 is a schematic diagram showing an example of a hardware configuration of a computer 1200 functioning as the generating device 100 or the executing device 200. A program installed on the computer 1200 can cause the computer 1200 to function as one or more "parts" of the device according to the present embodiment, or cause the computer 1200 to execute operations or one or more "parts" associated with the device according to the present embodiment, and / or cause the computer 1200 to execute a process or steps of the process according to the present embodiment. Such a program can be executed by the CPU 1212 to cause the computer 1200 to execute specific operations associated with some or all of the blocks of the flowcharts and block diagrams described herein.
[0120] The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a graphics controller 1216, which are connected to each other by a host controller 1210. The computer 1200 also includes input / output units such as a communication interface 1222, a storage device 1224, a DVD drive, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The DVD drive may be a DVD-ROM drive, a DVD-RAM drive, etc. The storage device 1224 may be a hard disk drive, a solid state drive, etc. The computer 1200 also includes a legacy input / output unit such as a ROM 1230 and a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.
[0121] The CPU 1212 operates according to a program stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphic controller 1216 acquires image data generated by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into itself, and causes the image data to be displayed on the display device 1218.
[0122] The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200. The DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.
[0123] The ROM 1230 stores therein a boot program or the like that is executed by the computer 1200 upon activation, and / or a program that depends on the hardware of the computer 1200. The input / output chip 1240 may also connect various input / output units to the input / output controller 1220 via a USB port, a parallel port, a serial port, a keyboard port, a mouse port, and the like.
[0124] The programs are provided by a computer-readable storage medium such as a DVD-ROM or an IC card. The programs are read from the computer-readable storage medium, installed in the storage device 1224, the RAM 1214, or the ROM 1230, which are also examples of computer-readable storage media, and executed by the CPU 1212. Information processing described in these programs is read by the computer 1200, and brings about cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be constructed by implementing operations or processing of information according to the use of the computer 1200.
[0125] For example, when communication is performed between the computer 1200 and an external device, the CPU 1212 may execute a communication program loaded in the RAM 1214 and instruct the communication interface 1222 to perform communication processing based on the processing described in the communication program. Under the control of the CPU 1212, the communication interface 1222 reads transmission data stored in a transmission buffer area provided in the RAM 1214, the storage device 1224, a DVD-ROM, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes reception data received from the network to a reception buffer area or the like provided on the recording medium.
[0126] Furthermore, the CPU 1212 may cause all or a necessary portion of a file or database stored in an external recording medium such as the storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. to be read into the RAM 1214, and perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write back the processed data to the external recording medium.
[0127] Various types of information, such as various types of programs, data, tables, and databases, may be stored in the recording medium and undergo information processing. The CPU 1212 may perform various types of processing on the data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequence of the program, and write back the results to the RAM 1214. The CPU 1212 may also search for information in a file, database, etc. in the recording medium. For example, when a plurality of entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored in the recording medium, the CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the plurality of entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0128] The above-described programs or software modules may be stored in a computer-readable storage medium on the computer 1200 or in the vicinity of the computer 1200. In addition, a recording medium such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, thereby providing the programs to the computer 1200 via the network.
[0129] The blocks in the flowcharts and block diagrams in the present embodiment may represent stages of a process in which an operation is performed or "parts" of an apparatus responsible for performing the operation. Particular stages and "parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuitry may include digital and / or analog hardware circuits, and may include integrated circuits (ICs) and / or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits, such as, for example, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), and the like, including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements.
[0130] A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by a suitable device, such that a computer-readable storage medium having instructions stored thereon comprises an article of manufacture that includes instructions that can be executed to create means for performing the operations specified in the flowcharts or block diagrams. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), electrically erasable programmable read-only memories (EEPROMs), static random access memories (SRAMs), compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), Blu-ray disks, memory sticks, integrated circuit cards, and the like.
[0131] The computer readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages such as the “C” programming language or similar programming languages.
[0132] Computer readable instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or to a programmable circuit, either locally or over a local area network (LAN), a wide area network (WAN), such as the Internet, etc., to cause the processor of the general purpose computer, special purpose computer, or other programmable data processing apparatus, or to a programmable circuit, to execute the computer readable instructions to generate means for performing the operations specified in the flowcharts or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
[0133] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is clear to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the description of the claims that such modifications and improvements can also be included in the technical scope of the present invention.
[0134] It should be noted that the order of execution of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before" or "prior to," and that the process may be performed in any order unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, it does not mean that the process must be performed in this order.
[0135] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is clear to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the description of the claims that such modifications and improvements can also be included in the technical scope of the present invention.
[0136] It should be noted that the order of execution of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before" or "prior to," and that the process may be performed in any order unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, it does not mean that the process must be performed in this order. [Explanation of symbols]
[0137] 10 Information processing system, 20 Network, 30 Communication terminal, 40 User, 100 Generation device, 110 Memory unit, 120 Acquisition unit, 122 Learning information acquisition unit, 124 Network acquisition unit, 126 Embedded information acquisition unit, 130 Generation unit, 140 Provision unit, 200 Execution device, 210 Memory unit, 220 Acquisition unit, 222 Network acquisition unit, 224 Input information acquisition unit, 230 Network management unit, 240 Execution unit, 300 Neural network, 301 Node, 302 Weight, 303 Bias, 304 Activation function, 310 Input layer, 321 Hidden layer, 322 Hidden layer, 324 Dummy layer, 330 Output layer, 351 Target node, 352 Target weight, 353 Target bias, 1200 Computer, 1210 Host controller, 1212 CPU, 1214 RAM, 1216 graphic controller, 1218 display device, 1220 input / output controller, 1222 communication interface, 1224 storage device, 1230 ROM, 1240 input / output chip
Claims
1. An embedded information acquisition unit that acquires embedded information which is a numerical value, An embedded neural network in which the embedded information is embedded in some of the weights of a plurality of weights of a trained neural network, and a generation unit that generates reproduction information that can reproduce the some weights from the embedded information. Equipped with, The generation unit, when embedding one piece of the embedding information into one of the multiple weights of the trained neural network, selects one weight from the multiple weights and generates the embedded neural network with the selected weight as the embedding information, and generates reproduction information including a value obtained by subtracting the embedding information from the selected weight, a value obtained by adding the embedding information to the selected weight, or a formula that can calculate the selected weight from the embedding information. Information processing system.
2. The information processing system according to claim 1, wherein the generation unit generates the reproduction information which includes a value obtained by subtracting the embedded information from the selected weight.
3. The information processing system according to claim 1, wherein the generation unit generates the reproduction information which includes a value obtained by adding the embedded information to the selected weight.
4. The information processing system according to claim 1, wherein the generation unit generates the reproduction information which includes a mathematical formula that can calculate the selected weight from the embedded information.
5. The information processing system according to claim 1, wherein the generation unit, when embedding one piece of embedding information in a distributed manner among a plurality of weights of the learned neural network, divides the one piece of embedding information, selects a plurality of weights from the plurality of weights of the learned neural network, and generates an embedded neural network in which the selected plurality of weights are each of the divided pieces of embedding information, and generates reproduction information from the divided pieces of embedding information that can reproduce the selected plurality of weights.
6. The information processing system according to any one of claims 1 to 5, wherein the generation unit includes weight position information indicating the position of some of the weights in which the embedded information has been embedded among the plurality of weights of the trained neural network in the network configuration file of the embedded neural network.
7. The embedded information is converted information generated by reversibly converting numerical target information, The conversion information is a value obtained by adding a specific numerical value to the target information, or a value obtained by subtracting a specific numerical value from the target information. The information processing system according to any one of claims 1 to 5, wherein the generation unit includes in the network configuration file of the embedded neural network weight position information indicating the position of some of the weights in which the embedded information has been embedded among the plurality of weights of the trained neural network, and a specific numerical value.
8. The embedded information is converted information generated by reversibly converting numerical target information, The aforementioned conversion information is a value calculated by applying the aforementioned target information to a specific mathematical formula. The information processing system according to any one of claims 1 to 5, wherein the generation unit includes in the network configuration file of the embedded neural network weight position information indicating the position of some of the weights in which the embedded information has been embedded among the plurality of weights of the trained neural network, and the specific mathematical formula.
9. The information processing system according to any one of claims 1 to 5, wherein the generation unit generates, as embedded information, an embedded neural network in which source information indicating the source of the neural network is embedded in some of the weights of the learned neural network, and reproduction information.
10. The information processing system according to any one of claims 1 to 5, wherein the generation unit generates, as embedded information, an embedded neural network in which authentication information for authenticating a user of the embedded neural network is embedded in some of the weights of the plurality of weights of the trained neural network, and reproduction information.
11. A program for causing a computer to function as an information processing system according to any one of claims 1 to 5.
12. A method of information processing performed by a computer, The embedded information acquisition stage involves acquiring embedded information that is numerical in nature, An embedded neural network in which the embedded information is embedded in some of the weights of a trained neural network, and a generation step of generating reproduction information that can reproduce the some weights from the embedded information. Equipped with, The generation step involves, when embedding one piece of the embedding information into one of the multiple weights of the trained neural network, selecting one weight from the multiple weights and generating the embedded neural network with the selected weight as the embedding information, and generating the reproduction information which includes a value obtained by subtracting the embedding information from the selected weight, a value obtained by adding the embedding information to the selected weight, or a formula which allows the selected weight to be calculated from the embedding information. Information processing methods.