WO2021084580A1 - モデル生成システム、方法およびプログラム - Google Patents

モデル生成システム、方法およびプログラム Download PDF

Info

Publication number
WO2021084580A1
WO2021084580A1 PCT/JP2019/042152 JP2019042152W WO2021084580A1 WO 2021084580 A1 WO2021084580 A1 WO 2021084580A1 JP 2019042152 W JP2019042152 W JP 2019042152W WO 2021084580 A1 WO2021084580 A1 WO 2021084580A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
model
fake
output value
stored
Prior art date
Application number
PCT/JP2019/042152
Other languages
English (en)
French (fr)
Inventor
亮 高本
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2019/042152 priority Critical patent/WO2021084580A1/ja
Priority to JP2021553902A priority patent/JP7283566B2/ja
Priority to US17/769,614 priority patent/US20240232578A9/en
Publication of WO2021084580A1 publication Critical patent/WO2021084580A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Definitions

  • the present invention relates to a model generation system, a model generation method, and a model generation program, and more particularly to a model generation system, a model generation method, and a model generation program that generate a model in a hostile generation network.
  • a classifier that identifies whether the given data is true data or fake data and a generator that generates fake data are used. Then, in the hostile generation network, the generator is trained to generate fake data that deceives the classifier, and the classifier is trained to improve the discrimination accuracy. Train the model of the classifier.
  • Fake data newly generated by the generator is used for learning the model of the classifier.
  • the hostile generation network is described in, for example, Patent Document 1.
  • Non-Patent Document 1 describes that images generated in the past are stored in a hostile generation network.
  • the hostile generation network has a problem of unstable learning.
  • unstable learning does not necessarily mean that learning will be successful.
  • the following is an example of learning instability in a hostile generation network.
  • the generator randomly generates fake data to some extent. Therefore, the generator may start to generate completely different fake data. In such a case, if the classifier identifies the fake data as more like true data than true data, or as fake data with a very strong false data-likeness, the classifier will be penalized with a large penalty. Be done. As a result, a model with high identification accuracy is learned by specializing in the fake data.
  • the present invention provides a model generation system, a model generation method, and a model generation program that can satisfactorily generate each model in a hostile generation network (in other words, can generate stably). With the goal.
  • the model generation system generates a first number of fake data based on a storage data storage unit that stores fake data to be stored and a generation model that is a neural network for generating fake data.
  • Data generation unit and an identification unit that derives the output value for the given data based on the identification model, which is a neural network for deriving the output value indicating the true data-likeness and false data-likeness of the given data.
  • the distance between the output value for the true data and the output value for the fake data is calculated and identified so as to increase the distance by a predetermined amount.
  • Stored data is stored from the first number of fake data based on the gradient information calculation unit that calculates the gradient information that is the update amount for each weight of the model and the gradient information for each weight calculated for each fake data. It is characterized by including a selection unit for selecting fake data to be stored in the unit and storing the selected fake data in the storage data storage unit.
  • the model generation system generates a first number of fake data based on a storage data storage unit that stores fake data to be stored and a generation model that is a neural network for generating fake data.
  • Data generation unit and an identification unit that derives the output value for the given data based on the identification model, which is a neural network for deriving the output value indicating the true data-likeness and false data-likeness of the given data.
  • a distance calculation unit for calculating the distance between the output value for the true data and the output value for the fake data, and a distance calculation unit for each fake data were calculated. It is characterized by including a selection unit that selects fake data to be stored in the stored data storage unit from the first number of fake data based on the distance and stores the selected fake data in the stored data storage unit. To do.
  • a computer generates a first number of fake data based on a generation model which is a neural network for generating fake data, and the true data likeness and fake data of the given data.
  • a generation model which is a neural network for deriving the output value indicating the peculiarity
  • the output value for the given data is derived, and for each combination of one true data and the first number of false data.
  • the distance between the output value for the true data and the output value for the fake data is calculated, and the gradient information, which is the update amount for each weight of the identification model, is calculated so as to increase the distance by a predetermined amount, and for each fake data.
  • the fake data to be stored in the storage data storage unit that stores the fake data to be stored is selected, and the selected fake data is selected. It is characterized in that data is stored in a storage data storage unit.
  • a computer generates a first number of fake data based on a generation model which is a neural network for generating fake data, and the true data likeness and fake data of the given data.
  • a generation model which is a neural network for deriving the output value indicating the peculiarity
  • the output value for the given data is derived, and for each combination of one true data and the first number of false data.
  • Calculate the distance between the output value for the true data and the output value for the fake data and based on the distance calculated for each fake data, select the fake data to be saved from the first number of fake data. It is characterized in that fake data to be stored in the stored data storage unit to be stored is selected, and the selected fake data is stored in the stored data storage unit.
  • the model generation program has a first number of false data based on a storage data storage unit that stores false data to be stored and a generation model that is a neural network for generating false data. Derivation of the output value for the given data based on the data generator that generates the data and the identification model, which is a neural network for deriving the output value indicating the true data-likeness and false data-likeness of the given data. For each combination of the identification unit, one true data, and the first number of false data, the distance between the output value for the true data and the output value for the false data is calculated, and the distance is increased by a predetermined amount.
  • the gradient information calculation unit that calculates the gradient information that is the update amount for each weight of the identification model and the gradient information for each weight calculated for each fake data. It is characterized in that it functions as a model generation system including a selection unit that selects fake data to be stored in the storage data storage unit and stores the selected fake data in the storage data storage unit.
  • the model generation program has a first number of false data based on a storage data storage unit that stores false data to be stored and a generation model that is a neural network for generating false data. Derivation of the output value for the given data based on the data generator that generates the data and the identification model, which is a neural network for deriving the output value indicating the true data-likeness and false data-likeness of the given data. For each combination of the identification unit, one true data, and the first number of false data, a distance calculation unit that calculates the distance between the output value for the true data and the output value for the false data, and for each false data.
  • a model including a selection unit that selects fake data to be stored in the stored data storage unit from the first number of fake data based on the calculated distance and stores the selected fake data in the stored data storage unit. It is characterized by functioning as a generation system.
  • each model in a hostile generation network can be satisfactorily generated.
  • FIG. 1 is a block diagram showing an example of a model generation system according to an embodiment of the present invention.
  • the model generation system 1 of the present embodiment includes a true data input unit 2, a true data storage unit 3, a storage data storage unit 4, a seed input unit 5, a data generation unit 6, an identification unit 7, and gradient information. It includes a calculation unit 8, a selection unit 9, an identification model update unit 10, and a generation model update unit 11.
  • true data is data that is predetermined as true data.
  • the true data input unit 2 receives input of a plurality of true data from the outside, and stores the plurality of true data in the true data storage unit 3.
  • the true data storage unit 3 is a storage device that stores a plurality of true data.
  • a plurality of true data input from the outside and stored in the true data storage unit 3 are fixedly defined and are not replaced during the process of the model generation system 1. However, when the model generation system 1 restarts the process from the beginning, a plurality of true data stored in the true data storage unit 3 may be replaced.
  • the stored data storage unit 4 is a storage device that stores fake data to be stored.
  • the fake data to be stored is fake data selected by the selection unit 9 among the fake data generated by the data generation unit 6.
  • the storage data storage unit 4 stores a plurality of fake data. True data is not stored in the stored data storage unit 4.
  • the true data and fake data may be, for example, image data.
  • the true data storage unit 3 stores the image data defined as the true data.
  • the data generation unit 6 generates image data corresponding to fake data.
  • the true data and the false data may be, for example, voice data.
  • the true data storage unit 3 stores the voice data defined as the true data.
  • the data generation unit 6 generates voice data corresponding to fake data.
  • image data and audio data are examples of true data and fake data, and the true data and fake data may be data in other formats.
  • the data generation unit 6 uses the seed to generate fake data based on the generation model.
  • the generative model is a model for generating fake data.
  • the data generation unit 6 has a generation model.
  • the seed input unit 5 inputs a seed to the data generation unit 6.
  • the seed is data that is input to the generative model when generating fake data.
  • the seed is represented by, for example, an array of random numbers.
  • the identification unit 7 is given data to be identified as to whether it is true data or false data, and derives an output value indicating the true data-likeness and the false data-likeness of the given data.
  • the identification unit 7 derives the output value based on the identification model for deriving the output value indicating the true data-likeness and the false data-likeness of the given data.
  • the identification unit 7 may derive an output value by using the given data as an input to the identification model.
  • the identification unit 7 has an identification model.
  • the higher the true data-likeness of the given data the higher the possibility that the given data is true data
  • the higher the false data-likeness of the given data As an example, the output value becomes closer to 0 (the higher the possibility that the given data is fake data).
  • the range in which the output value can be taken is 0 to 1.
  • a numerical range other than 0 to 1 may be defined.
  • the identification unit 7 not only derives an output value for the given data (data to be identified), but also identifies whether the given data is true data or false data.
  • the identification unit 7 may use the given data as an input to the identification model to identify whether the given data is true data or false data.
  • the generative model is a neural network for generating fake data and the discriminative model is a neural network for deriving an output value
  • the discriminative model is a neural network for deriving an output value
  • FIG. 2 is a schematic diagram showing an example of a generative model and a discriminative model that are deep neural networks.
  • the deep neural network will be referred to as DNN.
  • DNN has a plurality of layers, and each layer contains one or more nodes (see FIG. 2).
  • the layer is represented by a quadrangle with rounded corners, and the node is represented by a circle.
  • Weights are set for each node in the DNN. That is, the DNN has a weight for each node.
  • the configuration of layers and nodes in the DNN as the generative model and the configuration of the layers and nodes in the DNN as the discriminative model may be different.
  • the structure of layers and nodes is, for example, the number of layers, the number of nodes included in the layers, and the like.
  • the data generation unit 6 generates a plurality of fake data when generating fake data.
  • the number of fake data is referred to as the first number, and the first number is referred to as y'.
  • the first number is a plurality.
  • the model generation system 1 When the data generation unit 6 generates the first number (y') of fake data, the model generation system 1 performs an operation for updating the discriminative model and the generation model, and stores the fake data in the stored data storage unit 4. The operation of selecting data from the first number (y') of fake data is performed in parallel.
  • the gradient information calculation unit 8 calculates the distance between the output value for the true data and the output value for the false data.
  • the output value for the true data is an output value derived by the identification unit 7 by applying the true data to the identification model.
  • the output value for the fake data is an output value derived by the identification unit 7 by applying the fake data to the identification model.
  • the gradient information calculation unit 8 may use the absolute value of the difference between the two output values as the distance.
  • the gradient information calculation unit 8 is the difference between the average value of the output values for the true data and the average value of the output values for the false data.
  • the absolute value of may be the distance.
  • the above method of calculating the distance is an example, and the method of calculating the distance between the output value for true data and the output value for false data is not limited to the above example.
  • the gradient information calculation unit 8 calculates the gradient information for each weight of the discriminative model so as to increase the distance by a predetermined amount.
  • the gradient information is an update amount (change amount) for each weight when the DNN is updated by updating the weight of the DNN. Gradient information is calculated for each weight in the DNN (in other words, for each node).
  • the gradient information calculation unit 8 stores the operation of calculating the gradient information for each weight of the identification model so as to increase the distance by a predetermined amount, the operation for updating the identification model and the generation model, and the operation of storing the stored data storage unit 4.
  • the fake data to be caused is executed in each of the operations of selecting from y'fake data.
  • the discriminative model update unit 10 sets the individual weights of the discriminative model to the gradient according to the individual weights. Update the discriminative model by updating informed.
  • the gradient information calculation unit 8 performs each combination of one true data and y'fake data.
  • the distance between the output value for the true data and the output value for the false data is calculated, and the gradient information is calculated for each weight of the identification model so as to increase the distance by a predetermined amount.
  • the gradient information for each weight of the discriminative model can be obtained for each of y'fake data.
  • the selection unit 9 stores data storage unit 4 from y'(first number) of false data based on the gradient information for each weight of the discriminative model, which is calculated for each y'fake data. Select the fake data to be stored in. Then, the selection unit 9 stores the selected fake data in the storage data storage unit 4.
  • the gradient information calculation unit 8 may calculate the average value of the absolute values of the gradient information for each weight of the discriminative model for each y'of false data. Then, the selection unit 9 stores the fake data stored in the stored data storage unit 4 from the y'(first number) of fake data based on the average value calculated for each y'fake data. May be selected.
  • the data generation unit 6 generates a plurality of fake data.
  • the number of fake data is referred to as the second number, and the second number is referred to as z'.
  • the second number is a plurality.
  • the gradient information calculation unit 8 calculates the distance between the output value for the true data and the output value for the false data, and each weight (in other words, each node) that the generated model has so as to reduce the distance by a predetermined amount. Gradient information is calculated.
  • the generative model update unit 11 updates the generative model by updating the individual weights of the generative model based on the gradient information corresponding to the individual weights.
  • the true data input unit 2 is realized by, for example, a computer CPU (Central Processing Unit) that operates according to a model generation program, and an input device.
  • the CPU may read a model generation program from a program recording medium such as a program storage device of a computer, and operate as a true data input unit 2 by using an input device according to the model generation program.
  • the input device may be, for example, a data reading device that reads a plurality of true data recorded on a recording medium.
  • the seed input unit 5, the data generation unit 6, the identification unit 7, the gradient information calculation unit 8, the selection unit 9, the identification model update unit 10, and the generation model update unit 11 are realized by, for example, a CPU that operates according to the model generation program. Will be done.
  • the CPU reads the model generation program from the program recording medium as described above, and according to the model generation program, the seed input unit 5, the data generation unit 6, the identification unit 7, the gradient information calculation unit 8, the selection unit 9, and the identification model. It may operate as the update unit 10 and the generation model update unit 11.
  • the true data storage unit 3 and the stored data storage unit 4 are realized by, for example, a storage device provided in a computer.
  • 3 to 6 are flowcharts showing an example of the processing progress of the embodiment of the present invention. It is assumed that the configuration of the generation model (DNN) included in the data generation unit 6 and the configuration of the identification model (DNN) included in the identification unit 7 are predetermined.
  • the configuration of the DNN is, for example, the number of layers, the number of nodes included in each layer, and the like.
  • the data generation unit 6 initializes the value of each weight of the generation model (step S1).
  • the data generation unit 6 may initialize the weight value by, for example, randomly determining the value of each weight of the generation model.
  • the data generation unit 6 may initialize the value of each weight by another method.
  • the identification unit 7 initializes the value of each weight of the identification model (step S2).
  • the discriminative unit 7 may initialize the weight value by, for example, randomly determining the value of each weight of the discriminative model.
  • the identification unit 7 may initialize the value of each weight by another method.
  • the true data input unit 2 receives input of a plurality of true data from the outside, and stores the plurality of true data in the true data storage unit 3 (step S3). After step S3, the plurality of true data stored in the true data storage unit 3 are not replaced.
  • the seed input unit 5 inputs a seed to the data generation unit 6, and the data generation unit 6 uses the seed as an input of the generation model to generate a first number (y') of false data (step). S4).
  • step S4 the model generation system 1 performs an operation for updating the discriminative model and the generated model, and stores fake data in the stored data storage unit 4 from the first number (y') of fake data. Performs the selected operation in parallel.
  • the identification unit 7 selects one true data from the plurality of true data stored in the true data input unit 2. At this time, the identification unit 7 may randomly select one true data, for example. Then, the identification unit 7 derives the output values for each of the one true data and the y'fake data generated in step S4 based on the identification model (see steps S5 and FIG. 4).
  • the gradient information calculation unit 8 determines the distance between the output value for the selected true data and the output value for the false data for each combination of one selected true data and y'for each false data. Calculate (step S6).
  • the gradient information calculation unit 8 may calculate the absolute value of the difference between the output value for the true data and the output value for the false data as the distance for each combination of the true data and the false data.
  • the method of calculating the distance in step S6 is not limited to this example.
  • step S6 a distance can be obtained for each of y'fake data.
  • step S6 the gradient information calculation unit 8 calculates gradient information for each weight of the discriminative model so as to increase the distance by a predetermined amount for each y'of false data (step S7).
  • Equation (1) shown below is an example of the distance function.
  • y true is true data and y fake is false data.
  • w is a weight.
  • D (y true ; w) is the output value for the true data under the weight w
  • D (y fake ; w) is the output value for the false data under the weight w.
  • N true is the number of true data used to calculate the distance
  • N fake is the number of false data used to calculate the distance.
  • the updated value of the weight is set to w n + 1 .
  • the gradient information of the weight (denoted as ⁇ w) is expressed as in the equation (2) by using the distance function illustrated in the equation (1).
  • dE (w) / dw - ⁇
  • is a fixed value.
  • is called the learning rate.
  • the gradient information calculation unit 8 may calculate the gradient information of each weight of the discriminative model by using the equation (2).
  • the gradient information calculation unit 8 also calculates the gradient information of each weight of the identification model in step S13 described later, and also when calculating the gradient information of each weight of the generated model in step S18 described later, as described above. Gradient information may be calculated by the error back propagation method.
  • step S7 the gradient information of each weight of the discriminative model is obtained for each false data.
  • step S8 the gradient information calculation unit 8 calculates the average value of the absolute values of the gradient information for each weight for each y'thousm of false data (step S8).
  • the average value of the absolute values of the gradient information can be obtained by the calculation of the equation (3). ⁇
  • N is the number of weights that the discriminative model has.
  • the selection unit 9 selects fake data from y'fake data based on the average value of the absolute values of the gradient information calculated for each y'fake data (step S9).
  • the number of fake data selected in step S9 may be plural.
  • step S8 the gradient information calculation unit 8 calculates the average value of the absolute values of the gradient information for each false data, and in step S9, the selection unit 9 is based on the average value of the absolute values of the gradient information.
  • the average value of the absolute value of the gradient information is an example of an index of the magnitude of the absolute value of the gradient information.
  • the gradient information calculation unit 8 may calculate such an index for each false data, and in step S9, the selection unit 9 may select false data based on such an index.
  • Another example of an index of the magnitude of the absolute value of the gradient information is, for example, the sum of the absolute values of the gradient information.
  • step S9 false data having a large index of the magnitude of the absolute value of the gradient information may be selected.
  • the selection unit 9 selects a number of fake data corresponding to 10% of y'from y'fake data in descending order of the average value of the absolute values of the gradient information. You may. Further, for example, the selection unit 9 reduces the number of fake data stored in the stored data storage unit 4 to 1/9 in descending order of the average value of the absolute values of the gradient information from y'fake data. A corresponding number of fake data may be selected.
  • the above "10%" and "1/9" are examples, and are not limited to these ratios.
  • the selection unit 9 stores the fake data selected in step S9 in the storage data storage unit 4 (step S10).
  • the model generation system 1 executes steps S5 to S10 (see FIG. 4) each time step S4 (see FIG. 3) is executed.
  • the identification unit 7 stores a plurality of (x) true data and stored data storage units corresponding to a subset of true data stored in the true data storage unit 3.
  • a plurality of fake data (referred to as y) corresponding to a subset of fake data stored in 4 and a plurality of fake data corresponding to a subset of y'generated in step S4 (referred to as y).
  • the output value for each of the y''fake data) is derived based on the identification model (step S11).
  • the gradient information calculation unit 8 calculates the distance between the output value for x true data and the output value for y + y ′′ false data (step S12).
  • the gradient information calculation unit 8 calculates the absolute value of the difference between the average value of each output value for x true data and the average value of each output value for y + y'' false data as a distance. Good.
  • the method of calculating the distance in step S12 is not limited to the above example.
  • the gradient information calculation unit 8 calculates the gradient information for each weight of the discriminative model so as to increase the distance calculated in step S12 by a predetermined amount (step S13).
  • the gradient information calculation unit 8 may calculate the gradient information by, for example, the error back propagation method.
  • the discriminative model update unit 10 updates the discriminative model by updating the individual weights of the discriminative model based on the gradient information according to the individual weights (step S14). Since the gradient information is the update amount (change amount) of the weight, the discriminative model update unit 10 may add the gradient information corresponding to the weight to the weight.
  • the seed input unit 5 inputs a seed to the data generation unit 6, and the data generation unit 6 uses the seed as an input of the generation model to generate a second number (z') of false data (step). S15).
  • the identification unit 7 has a plurality of (x') true data corresponding to a subset of the true data stored in the true data storage unit 3, and z'generated in step S15.
  • the output value for each of the plurality of (z'' pieces of fake data corresponding to the subset of the fake data is derived based on the identification model (see step S16, FIG. 6).
  • the gradient information calculation unit 8 calculates the distance between the output value for x ′′ true data and the output value for z ′′ false data (step S17).
  • the gradient information calculation unit 8 calculates the absolute value of the difference between the average value of each output value for x'true data and the average value of each output value for z'' false data as the distance. Just do it.
  • the method of calculating the distance in step S17 is not limited to the above example.
  • the gradient information calculation unit 8 calculates the gradient information for each weight of the generation model so as to reduce the distance calculated in step S17 by a predetermined amount (step S18).
  • the gradient information calculation unit 8 may calculate the gradient information by, for example, the error back propagation method.
  • step S4 to step S20 are repetitive processes.
  • step S18 for example, the data generation unit 6 determines whether or not to repeat the process from step S4 (step S19).
  • step S19 are not limited to the above example. For example, if the distance calculated in step S12 is equal to or greater than the threshold value, it is determined that the process from step S4 is repeated, and if the distance is less than the threshold value, it is determined that the process from step S4 is not repeated. May be good.
  • the data generation unit 6 determines the step S19 has been described as an example, but the determination in the step S19 may be performed by an element other than the data generation unit 6.
  • the generative model update unit 11 updates the individual weights of the generative model based on the gradient information according to the individual weights.
  • the generative model is updated (step S20). Since the gradient information is the update amount (change amount) of the weight, the generation model update unit 11 may add the gradient information corresponding to the weight to the weight.
  • step S20 the process proceeds to step S4 (see FIG. 3).
  • step S4 the model generation system 1 has an operation for updating the discriminative model and the generation model (operation after step S11).
  • the operation of selecting the fake data to be stored in the stored data storage unit 4 from the first number (y') of fake data (operations of steps S5 to S10) is performed in parallel.
  • the identification unit 7 When it is determined that the processing from step S4 is not repeated (No in step S19), the identification unit 7 provides the identification model, and the data generation unit 6 provides the generation model (step S21).
  • the identification unit 7 stores the identification model in an external storage device (not shown), and the data generation unit 6 also stores the generation model in the external storage device.
  • the discriminative model and the generated model can be used even outside the model generation system 1.
  • the model generation system 1 executes steps S1 to S4. Then, at the end of step S4, it is assumed that the number of fake data stored in the stored data storage unit 4 has not reached a certain number. In this case, the model generation system 1 repeats the operations of steps S4 to S10 until the number of fake data stored in the stored data storage unit 4 reaches a certain number.
  • step S4 the processing after step S11 is not executed.
  • fake data is added to the stored data storage unit 4 in each step S10, so that the number of fake data stored in the stored data storage unit 4 increases and a certain number of fake data is stored. Will be reached.
  • the model generation system 1 After the number of fake data stored in the stored data storage unit 4 reaches a certain number, the model generation system 1 performs the operations after step S11 and the operations of steps S5 to S10 after the execution of step S4. Do it in parallel.
  • an upper limit of the number of fake data that can be stored in the stored data storage unit 4 may be set. Then, when the number of fake data stored in the stored data storage unit 4 has reached the upper limit value, the selection unit 9 stores the selected fake data in the stored data storage unit 4 (step S10). The same number of fake data as the selected fake data may be deleted from the stored data storage unit 4. Even if the selection unit 9 stores the selected fake data in the storage data storage unit 4 after the number of fake data stored in the storage data storage unit 4 reaches the upper limit value by such an operation, the storage data is stored. The number of fake data stored in the storage unit 4 is kept at the upper limit. The selection unit 9 may randomly determine the fake data to be erased from the stored data storage unit 4. Alternatively, the selection unit 9 may determine the fake data to be erased from the stored data storage unit 4 by another method.
  • the gradient information calculation unit 8 has a gradient information calculation unit 8 for each fake data.
  • the average value of the absolute values of the information is calculated, and the selection unit 9 selects the fake data from the y'fake data based on the average value of the absolute values of the gradient information calculated for each fake data.
  • the selected fake data is stored in the storage data storage unit 4. Then, the fake data stored in the stored data storage unit 4 is used when updating the identification model.
  • the discriminative model and the generative model can be generated satisfactorily (in other words, stably). Further, it can be said that the data generation unit 6 and the identification unit 7 correspond to the generator and the identification unit in the hostile generation network. Therefore, according to the present embodiment, the discriminative model and the generative model in the hostile generative network can be generated satisfactorily (in other words, stably).
  • the iterative process also includes a process of updating the discriminative model (steps S11 to S14), and in the process of updating the discriminative model, not only the fake data newly generated in step S4 but also the fake data is used as fake data.
  • Fake data stored in the stored data storage unit 4 is also used.
  • a plurality of (y'') fake data corresponding to the subset of y'fake data generated in step S4 are used (see step S11 shown in FIG. 5).
  • the process of updating the discriminative model (steps S11 to S14) is also repeatedly executed, but at this time, the fake data used in the past steps S11 to S14 (fake data stored in the stored data storage unit 4). Will be used again. Therefore, for example, it is prevented that the data generation unit 6 increases the identification accuracy of the identification model specifically for the fake data generated in the latest step S4.
  • the effect that the discriminative model and the generative model can be generated satisfactorily can be further enhanced.
  • the gradient information calculation unit 8 determines the magnitude of the absolute value of the gradient information for each fake data. (For example, the average value of the absolute values of the gradient information) is calculated, and the selection unit 9 selects fake data from y'data based on the index calculated for each fake data.
  • step S6 the distance calculated for each combination of one selected true data and each of y'fake data (in other words, for each y'fake data) (relative to the selected true data).
  • the distance between the output value and the output value with respect to the false data) may be treated as an index of the magnitude of the absolute value of the gradient information. That is, instead of an index of the magnitude of the absolute value of the gradient information (for example, the average value of the absolute values of the gradient information), the distance calculated for each false data (output value for the selected true data and output for the false data). Distance from value) may be used.
  • the selection unit 9 may select fake data having a large distance calculated for each fake data.
  • the selection unit 9 may select a number of fake data corresponding to 10% of y'from the y'fake data in descending order of distance.
  • the above 10% is an example and is not limited to this ratio.
  • the gradient information calculation unit 8 when executing step S6 can be referred to as a distance calculation unit. Then, after step S6, the process proceeds to step S9, and in step S9, the selection unit 9 may select the fake data based on the distance calculated for each fake data.
  • FIG. 7 is a schematic block diagram showing a configuration example of a computer according to the model generation system 1 according to the embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, and an input device 1005.
  • the model generation system 1 of the embodiment of the present invention is realized by the computer 1000.
  • the operation of the model generation system 1 is stored in the auxiliary storage device 1003 in the form of a program (model generation program).
  • the CPU 1001 reads a program from the auxiliary storage device 1003, deploys it to the main storage device 1002, and executes the process described in the above embodiment according to the program.
  • the true data input unit 2 is realized by the CPU 1001 and the input device 1005.
  • the seed input unit 5, the data generation unit 6, the identification unit 7, the gradient information calculation unit 8, the selection unit 9, the identification model update unit 10, and the generation model update unit 11 are realized by the CPU 1001.
  • the true data storage unit 3 and the data at rest storage unit 4 may be realized by, for example, the auxiliary storage device 1003, or may be realized by another storage device.
  • Auxiliary storage 1003 is an example of a non-temporary tangible medium.
  • Other examples of non-temporary tangible media include magnetic disks, magneto-optical disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read Only Memory), which are connected via interface 1004. Examples include semiconductor memory.
  • the distributed computer 1000 may expand the program to the main storage device 1002 and execute the process described in the above embodiment according to the program. ..
  • each component may be realized by a general-purpose or dedicated circuit (circuitry), a processor, or a combination thereof. These may be composed of a single chip or may be composed of a plurality of chips connected via a bus. A part or all of each component may be realized by a combination of the above-mentioned circuit or the like and a program.
  • the plurality of information processing devices and circuits may be centrally arranged or distributed.
  • the information processing device, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client-and-server system and a cloud computing system.
  • FIG. 8 is a block diagram showing an outline of the model generation system of the present invention.
  • the model generation system of the present invention includes a storage data storage unit 4, a data generation unit 6, an identification unit 7, a gradient information calculation unit 8, and a selection unit 9.
  • the saved data storage unit 4 stores fake data to be saved.
  • the data generation unit 6 generates a first number (for example, y') of fake data based on a generation model that is a neural network for generating fake data.
  • the identification unit 7 derives the output value for the given data based on the identification model, which is a neural network for deriving the output value indicating the true data-likeness and the false data-likeness of the given data.
  • the gradient information calculation unit 8 calculates the distance between the output value for the true data and the output value for the false data for each combination of one true data and the first number of false data, and sets the distance to a predetermined amount.
  • Gradient information which is the update amount for each weight of the discriminative model, is calculated so as to increase.
  • the selection unit 9 selects fake data to be stored in the stored data storage unit 4 from the first number of fake data based on the gradient information for each weight calculated for each fake data, and the selected fake data. Is stored in the stored data storage unit 4.
  • the discriminative model and the generative model in the hostile generative network can be satisfactorily generated.
  • FIG. 9 is a block diagram showing another example of the outline of the model generation system of the present invention.
  • the model generation system of the present invention may include a storage data storage unit 4, a data generation unit 6, an identification unit 7, a distance calculation unit 18, and a selection unit 9.
  • the stored data storage unit 4, the data generation unit 6 and the identification unit 7 shown in FIG. 9 are the same as the storage data storage unit 4, the data generation unit 6 and the identification unit 7 shown in FIG. 8, and the description thereof will be omitted.
  • the distance calculation unit 18 (for example, the gradient information calculation unit 8 when step S6 is executed in the modified example of the above-described embodiment) is used for each combination of one true data and the first number of false data. , Calculate the distance between the output value for true data and the output value for false data.
  • the selection unit 9 selects fake data to be stored in the storage data storage unit 4 from the first number of fake data based on the distance calculated for each fake data, and stores the selected fake data in the storage data storage. Make it memorize in the department.
  • a saved data storage unit that stores fake data that should be saved
  • a data generation unit that generates a first number of fake data based on a generation model that is a neural network for generating fake data.
  • An discriminative unit that derives the output value for the given data based on the discriminative model, which is a neural network for deriving the output value indicating the true data-likeness and the false data-likeness of the given data. For each combination of one true data and each of the first number of fake data, the distance between the output value for the true data and the output value for the fake data is calculated, and the distance is increased by a predetermined amount.
  • a gradient information calculation unit that calculates gradient information, which is the update amount for each weight of the discriminative model, Based on the gradient information for each weight calculated for each fake data, the fake data to be stored in the stored data storage unit is selected from the first number of fake data, and the selected fake data is used as the stored data.
  • a model generation system characterized by having a selection unit to be stored in a storage unit.
  • the discriminative model update section that updates the discriminative model, It has a generative model update unit that updates the generative model.
  • the identification part is A plurality of true data corresponding to a plurality of true data subsets prepared in advance, a plurality of false data corresponding to a subset of fake data stored in the stored data storage unit, and a first.
  • the output value is derived for each of the plurality of fake data corresponding to the subset of the number of fake data.
  • Gradient information calculation unit The distance between the output value for the true data and the output value for the false data derived by the identification unit is calculated, and the gradient information for each weight of the identification model is calculated so as to increase the distance by a predetermined amount.
  • the discriminative model update unit The discriminative model is updated by updating the individual weights of the discriminative model based on the gradient information according to the individual weights.
  • the data generator Generate a second number of fake data
  • the identification unit Output for each of the plurality of true data corresponding to the subset of the plurality of true data prepared in advance and the plurality of false data corresponding to the subset of the second number of false data. Derived the value,
  • the gradient information calculation unit The distance between the output value for the true data and the output value for the false data derived by the identification unit is calculated, and the gradient information for each weight of the generated model is calculated so as to reduce the distance by a predetermined amount.
  • the generative model update unit The model generation system according to Appendix 1, which updates the generative model by updating the individual weights of the generative model based on the gradient information according to the individual weights.
  • (Appendix 3) Gradient information calculation unit For each combination of one true data and the first number of fake data, the distance between the output value for the true data and the output value for the fake data is calculated, and the distance is increased by a predetermined amount in the identification model. Calculate the gradient information for each weight, calculate the average value of the absolute values of the gradient information for each weight, The selection part is The model generation system according to Appendix 1 or Appendix 2, wherein fake data to be stored in the stored data storage unit is selected from the first number of fake data based on the average value calculated for each fake data.
  • a saved data storage unit that stores fake data that should be saved
  • a data generation unit that generates a first number of fake data based on a generation model that is a neural network for generating fake data.
  • An discriminative unit that derives the output value for the given data based on the discriminative model, which is a neural network for deriving the output value indicating the true data-likeness and the false data-likeness of the given data.
  • a distance calculation unit that calculates the distance between the output value for the true data and the output value for the false data for each combination of one true data and each of the first number of false data. Based on the distance calculated for each fake data, fake data to be stored in the stored data storage unit is selected from the first number of fake data, and the selected fake data is stored in the stored data storage unit.
  • a model generation system characterized by having a selection unit to be stored.
  • the discriminative model update section that updates the discriminative model, It has a generative model update unit that updates the generative model.
  • the identification part is A plurality of true data corresponding to a plurality of true data subsets prepared in advance, a plurality of false data corresponding to a subset of fake data stored in the stored data storage unit, and a first.
  • the output value is derived for each of the plurality of fake data corresponding to the subset of the number of fake data.
  • Gradient information calculation that calculates the distance between the output value for true data and the output value for false data derived by the identification unit, and calculates the gradient information for each weight of the identification model so as to increase the distance by a predetermined amount.
  • the discriminative model update unit The discriminative model is updated by updating the individual weights of the discriminative model based on the gradient information according to the individual weights.
  • the data generator Generate a second number of fake data
  • the identification unit Output for each of the plurality of true data corresponding to the subset of the plurality of true data prepared in advance and the plurality of false data corresponding to the subset of the second number of false data. Derived the value,
  • the gradient information calculation unit The distance between the output value for the true data and the output value for the false data derived by the identification unit is calculated, and the gradient information for each weight of the generated model is calculated so as to reduce the distance by a predetermined amount.
  • the generative model update unit The model generation system according to Appendix 4, wherein the generative model is updated by updating the individual weights of the generative model based on the gradient information according to the individual weights.
  • the selection part is If the number of fake data stored in the stored data storage unit has reached a predetermined number, when the selected fake data is stored in the stored data storage unit, the same number of fake data as the selected fake data is stored.
  • the model generation system according to any one of Appendix 1 to Appendix 5 to be erased from the stored data storage unit.
  • the discriminative model and the generative model are the model generation systems according to any one of Appendix 1 to Appendix 6, which is a deep neural network.
  • a first number of fake data is generated based on a generative model, which is a neural network for generating fake data.
  • the discriminative model which is a neural network for deriving the output value indicating the true data-likeness and the false data-likeness of the given data
  • the output value for the given data is derived. For each combination of one true data and each of the first number of fake data, the distance between the output value for the true data and the output value for the fake data is calculated, and the distance is increased by a predetermined amount.
  • the fake data to be stored in the storage data storage unit for storing the fake data to be stored is selected from the first number of fake data.
  • a first number of fake data is generated based on a generative model, which is a neural network for generating fake data.
  • the discriminative model which is a neural network for deriving the output value indicating the true data-likeness and the false data-likeness of the given data
  • the output value for the given data is derived.
  • the distance between the output value for the true data and the output value for the false data is calculated.
  • the fake data to be stored in the storage data storage unit for storing the fake data to be stored is selected and selected.
  • a model generation method characterized in that the fake data is stored in the stored data storage unit.
  • the computer A plurality of true data corresponding to a plurality of true data subsets prepared in advance, a plurality of false data corresponding to a subset of fake data stored in the stored data storage unit, and a first.
  • An output value is derived for each of a plurality of fake data corresponding to a subset of the number of fake data, the distance between the output value for the true data and the output value for the fake data is calculated, and the distance is set to a predetermined amount.
  • the discriminative model is updated by updating the individual weights of the discriminative model based on the gradient information according to the individual weights.
  • a saved data storage unit that stores fake data that should be saved
  • a data generation unit that generates a first number of fake data based on a generation model that is a neural network for generating fake data.
  • An discriminative unit that derives the output value for the given data based on the discriminative model, which is a neural network for deriving the output value indicating the true data-likeness and the false data-likeness of the given data. For each combination of one true data and each of the first number of fake data, the distance between the output value for the true data and the output value for the fake data is calculated, and the distance is increased by a predetermined amount.
  • a gradient information calculation unit that calculates gradient information, which is the update amount for each weight of the discriminative model, Based on the gradient information for each weight calculated for each fake data, the fake data to be stored in the stored data storage unit is selected from the first number of fake data, and the selected fake data is used as the stored data.
  • a model generation program for functioning as a model generation system including a selection unit to be stored in a storage unit.
  • the discriminative model update section that updates the discriminative model
  • It has a generative model update unit that updates the generative model.
  • the identification part is A plurality of true data corresponding to a plurality of true data subsets prepared in advance, a plurality of false data corresponding to a subset of fake data stored in the stored data storage unit, and a first.
  • the output value is derived for each of the plurality of fake data corresponding to the subset of the number of fake data.
  • Gradient information calculation unit The distance between the output value for the true data and the output value for the false data derived by the identification unit is calculated, and the gradient information for each weight of the identification model is calculated so as to increase the distance by a predetermined amount.
  • the discriminative model update unit The discriminative model is updated by updating the individual weights of the discriminative model based on the gradient information according to the individual weights.
  • the data generator Generate a second number of fake data
  • the identification unit Output for each of the plurality of true data corresponding to the subset of the plurality of true data prepared in advance and the plurality of false data corresponding to the subset of the second number of false data. Derived the value,
  • the gradient information calculation unit The distance between the output value for the true data and the output value for the false data derived by the identification unit is calculated, and the gradient information for each weight of the generated model is calculated so as to reduce the distance by a predetermined amount.
  • the generative model update unit The model generation program according to Appendix 12 for functioning as a model generation system for updating the generative model by updating the individual weights of the generative model based on the gradient information according to the individual weights.
  • a saved data storage unit that stores fake data that should be saved
  • a data generation unit that generates a first number of fake data based on a generation model that is a neural network for generating fake data.
  • An discriminative unit that derives the output value for the given data based on the discriminative model, which is a neural network for deriving the output value indicating the true data-likeness and the false data-likeness of the given data.
  • a distance calculation unit that calculates the distance between the output value for the true data and the output value for the false data for each combination of one true data and each of the first number of false data.
  • fake data to be stored in the stored data storage unit is selected from the first number of fake data, and the selected fake data is stored in the stored data storage unit.
  • the discriminative model update section that updates the discriminative model
  • It has a generative model update unit that updates the generative model.
  • the identification part is A plurality of true data corresponding to a plurality of true data subsets prepared in advance, a plurality of false data corresponding to a subset of fake data stored in the stored data storage unit, and a first.
  • the output value is derived for each of the plurality of fake data corresponding to the subset of the number of fake data.
  • Gradient information calculation that calculates the distance between the output value for true data and the output value for false data derived by the identification unit, and calculates the gradient information for each weight of the identification model so as to increase the distance by a predetermined amount.
  • the discriminative model update unit The discriminative model is updated by updating the individual weights of the discriminative model based on the gradient information according to the individual weights.
  • the data generator Generate a second number of fake data
  • the identification unit Output for each of the plurality of true data corresponding to the subset of the plurality of true data prepared in advance and the plurality of false data corresponding to the subset of the second number of false data. Derived the value,
  • the gradient information calculation unit The distance between the output value for the true data and the output value for the false data derived by the identification unit is calculated, and the gradient information for each weight of the generated model is calculated so as to reduce the distance by a predetermined amount.
  • the generative model update unit The model generation program according to Appendix 14 for making the generated model function as a model generation system for updating the generated model by updating the individual weights of the generated model based on the gradient information according to the individual weights.
  • the present invention is suitably applied to a model generation system that generates a model in a hostile generation network.
  • Model generation system True data input unit 3 True data storage unit 4 Saved data storage unit 5 Seed input unit 6 Data generation unit 7 Identification unit 8 Gradient information calculation unit 9 Selection unit 10 Identification model update unit 11 Generation model update unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

データ生成部6は、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成する。識別部7は、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する。勾配情報算出部8は、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、識別モデルが有する重み毎の更新量である勾配情報を算出する。選択部9は、偽データ毎に計算された重み毎の勾配情報に基づいて、第1の個数の偽データの中から保存データ記憶部4に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部4に記憶させる。

Description

モデル生成システム、方法およびプログラム
 本発明は、モデル生成システム、モデル生成方法およびモデル生成プログラムに関し、特に、敵対的生成ネットワークにおけるモデルを生成するモデル生成システム、モデル生成方法およびモデル生成プログラムに関する。
 敵対的生成ネットワークでは、与えられたデータが真データか偽データかを識別する識別器と、偽データを生成する生成器とを用いる。そして、敵対的生成ネットワークでは、生成器には、識別器を欺くような偽データを生成するように、生成器のモデルの学習を行わせ、識別器には、識別精度を向上させるように、識別器のモデルの学習を行わせる。
 識別器のモデルの学習には、生成器が新たに生成した偽データが用いられる。
 敵対的生成ネットワークは、例えば、特許文献1に記載されている。
 また、非特許文献1には、敵対的生成ネットワークにおいて、過去に生成した画像を保存することが記載されている。
特開2019-46390号公報
Ashish Shrivastava、外5名、"Learning from Simulated and Unsupervised Images through Adversarial Training"、[2019年8月6日検索]、インターネット <URL : https://arxiv.org/pdf/1612.07828.pdf>
 敵対的生成ネットワークには学習が不安定であるという問題がある。ここで、学習が不安定であるとは、必ずしも学習がうまくいくとは限らないことである。
 敵対的生成ネットワークにおいて、学習が不安定となる例として、以下に示す例が挙げられる。
 生成器は、ある程度、ランダムに偽データを生成する。そのため、生成器が、それまでと全く異なる偽データを生成し始める場合がある。そのような場合に、識別器が、その偽データを真データよりも真データらしいと識別したり、偽データらしさが非常に強い偽データであると識別したりすると、識別器に大きなペナルティが与えられる。その結果、その偽データに特化して識別精度が高くなるモデルが学習されてしまう。
 そこで、本発明は、敵対的生成ネットワークにおける各モデルを良好に生成することができる(換言すれば、安定的に生成することができる)モデル生成システム、モデル生成方法およびモデル生成プログラムを提供することを目的とする。
 本発明によるモデル生成システムは、保存しておくべき偽データを記憶する保存データ記憶部と、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、偽データ毎に計算された重み毎の勾配情報に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる選択部とを備えることを特徴とする。
 本発明によるモデル生成システムは、保存しておくべき偽データを記憶する保存データ記憶部と、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、偽データ毎に計算された距離に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる選択部とを備えることを特徴とする。
 本発明によるモデル生成方法は、コンピュータが、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、識別モデルが有する重み毎の更新量である勾配情報を算出し、偽データ毎に計算された重み毎の勾配情報に基づいて、第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させることを特徴とする。
 本発明によるモデル生成方法は、コンピュータが、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、偽データ毎に計算された距離に基づいて、第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させることを特徴とする。
 本発明によるモデル生成プログラムは、コンピュータを、保存しておくべき偽データを記憶する保存データ記憶部と、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、偽データ毎に計算された重み毎の勾配情報に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる選択部とを備えるモデル生成システムとして機能させることを特徴とする。
 本発明によるモデル生成プログラムは、コンピュータを、保存しておくべき偽データを記憶する保存データ記憶部と、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、偽データ毎に計算された距離に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる選択部とを備えるモデル生成システムとして機能させることを特徴とする。
 本発明によれば、敵対的生成ネットワークにおける各モデルを良好に生成することができる。
本発明の実施形態のモデル生成システムの例を示すブロック図である。 ディープニューラルネットワークである生成モデルおよび識別モデルの例を示す模式図である。 本発明の実施形態の処理経過の例を示すフローチャートである。 本発明の実施形態の処理経過の例を示すフローチャートである。 本発明の実施形態の処理経過の例を示すフローチャートである。 本発明の実施形態の処理経過の例を示すフローチャートである。 本発明の実施形態のモデル生成システムに係るコンピュータの構成例を示す概略ブロック図である。 本発明のモデル生成システムの概要を示すブロック図である。 本発明のモデル生成システムの概要の他の例を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
 図1は、本発明の実施形態のモデル生成システムの例を示すブロック図である。本実施形態のモデル生成システム1は、真データ入力部2と、真データ記憶部3と、保存データ記憶部4と、シード入力部5と、データ生成部6と、識別部7と、勾配情報算出部8と、選択部9と、識別モデル更新部10と、生成モデル更新部11とを備える。
 以下の説明において、真データとは、予め真データとして定められたデータである。
 真データ入力部2は、外部から複数個の真データの入力を受け付け、その複数個の真データを真データ記憶部3に記憶させる。
 真データ記憶部3は、複数個の真データを記憶する記憶装置である。
 外部から入力され真データ記憶部3に記憶された複数個の真データは、固定的に定められ、モデル生成システム1の処理の経過中に入れ替えられることはない。ただし、モデル生成システム1が処理を最初からやり直す場合には、真データ記憶部3が記憶する複数個の真データが入れ替えられてもよい。
 保存データ記憶部4は、保存しておくべき偽データを記憶する記憶装置である。保存しておくべき偽データとは、データ生成部6によって生成された偽データのうち、選択部9によって選択された偽データである。保存データ記憶部4は、複数個の偽データを記憶する。保存データ記憶部4に真データが記憶されることはない。
 真データおよび偽データは、例えば、画像データであってもよい。この場合、真データ記憶部3は、真データとして定められた画像データを記憶する。また、データ生成部6は、偽データに該当する画像データを生成する。
 また、真データおよび偽データは、例えば、音声データであってもよい。この場合、真データ記憶部3は、真データとして定められた音声データを記憶する。また、データ生成部6は、偽データに該当する音声データを生成する。
 なお、画像データや音声データは、真データおよび偽データの例であり、真データおよび偽データは、他の形式のデータであってもよい。
 データ生成部6は、シードを用いて、生成モデルに基づいて、偽データを生成する。生成モデルは、偽データを生成するためのモデルである。データ生成部6は、生成モデルを有する。
 シード入力部5は、データ生成部6にシードを入力する。シードとは、偽データを生成する際に生成モデルへの入力となるデータである。シードは、例えば、乱数の配列で表される。
 識別部7は、真データであるか偽データであるかの識別対象となるデータが与えられ、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出する。識別部7は、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するための識別モデルに基づいて、出力値を導出する。識別部7は、与えられたデータを識別モデルへの入力として出力値を導出すればよい。識別部7は、識別モデルを有する。
 ここでは、与えられたデータの真データらしさが高いほど(与えられたデータが真データである可能性が高いほど)、出力値が1に近い値となり、与えられたデータの偽データらしさが高いほど(与えられたデータが偽データである可能性が高いほど)、出力値が0に近い値となる場合を例にする。この場合、出力値の取り得る範囲は0~1となる。ただし、出力値の取り得る範囲として、0~1ではなく、他の数値範囲が定められていてもよい。
 また、識別部7は、与えられたデータ(識別対象となるデータ)に対する出力値を導出するだけでなく、与えられたデータが真データか偽データであるかを識別する。識別部7は、与えられたデータを識別モデルへの入力として、与えられたデータが真データか偽データであるかを識別すればよい。
 本実施形態では、生成モデルが、偽データを生成するためのニューラルネットワークであり、識別モデルが、出力値を導出するためのニューラルネットワークである場合を例にして説明する。より具体的には、生成モデルが、偽データを生成するためのディープニューラルネットワークであり、識別モデルが、出力値を導出するためのディープニューラルネットワークである場合を例にして説明する。
 図2は、ディープニューラルネットワークである生成モデルおよび識別モデルの例を示す模式図である。以下、ディープニューラルネットワークを、DNNと記す。
 DNNは、複数の層を有し、各層には1つ以上のノードが含まれている(図2参照)。図2では、層を角丸四角形で表し、ノードを円で表している。
 DNN内の個々のノードにはそれぞれ重みが定められる。すなわち、DNNは、ノード毎に重みを有する。
 生成モデルとなるDNNにおける層やノードの構成と、識別モデルとなるDNNにおける層やノードの構成とは、異なっていてよい。層やノードの構成とは、例えば、層の数や、層に含まれるノードの数等である。
 データ生成部6は、偽データを生成する際に、複数個の偽データを生成する。この偽データの個数を第1の個数と記し、第1の個数をy’個と表すこととする。第1の個数は、複数個である。
 データ生成部6が第1の個数(y’個)の偽データを生成した場合、モデル生成システム1は、識別モデルおよび生成モデルを更新するための動作と、保存データ記憶部4に記憶させる偽データを第1の個数(y’個)の偽データの中から選択する動作とを並行に行う。
 勾配情報算出部8は、真データに対する出力値と偽データに対する出力値の距離を算出する。真データに対する出力値は、識別部7が真データを識別モデルに適用して導出する出力値である。偽データに対する出力値は、識別部7が偽データを識別モデルに適用して導出する出力値である
 真データに対する出力値の数と、偽データに対する出力値の数がそれぞれ1つならば、勾配情報算出部8は、その2つの出力値の差の絶対値を、距離としてもよい。
 真データに対する出力値の数と、偽データに対する出力値の数がそれぞれ複数ならば、勾配情報算出部8は、真データに対する出力値の平均値と、偽データに対する出力値の平均値との差の絶対値を距離としてもよい。
 上記の距離の算出方法は例示であり、真データに対する出力値と偽データに対する出力値の距離の算出方法は、上記の例に限定されない。
 勾配情報算出部8は、距離を算出した後、その距離を所定量増大させるように識別モデルが有する重み毎に勾配情報を算出する。勾配情報は、DNNの重みを更新することによってDNNを更新する場合における重み毎の更新量(変化量)である。勾配情報は、DNN内の重み毎(換言すれば、ノード毎)に算出される。
 勾配情報算出部8は、距離を所定量増大させるように識別モデルが有する重み毎に勾配情報を算出する動作を、識別モデルおよび生成モデルを更新するための動作と、保存データ記憶部4に記憶させる偽データをy’個の偽データの中から選択する動作のそれぞれにおいて実行する。
 識別モデルおよび生成モデルを更新するための動作では、識別モデルが有する重み毎に勾配情報が算出された後に、識別モデル更新部10が、識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、識別モデルを更新する。
 保存データ記憶部4に記憶させる偽データをy’個の偽データの中から選択する動作では、勾配情報算出部8は、1つの真データとy’個の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値の距離を算出し、距離を所定量増大させるように識別モデルが有する重み毎に勾配情報を算出する動作を実行する。この結果、y’個の偽データ毎に、識別モデルが有する重み毎の勾配情報が得られる。選択部9は、y’個の偽データ毎に算出された、識別モデルが有する重み毎の勾配情報に基づいて、y’個(第1の個数)の偽データの中から保存データ記憶部4に記憶させる偽データを選択する。そして、選択部9は、選択した偽データを保存データ記憶部4に記憶させる。
 例えば、勾配情報算出部8が、y’個の偽データ毎に、識別モデルが有する重み毎の勾配情報の絶対値の平均値を算出してもよい。そして、選択部9は、y’個の偽データ毎に算出されたその平均値に基づいて、y’個(第1の個数)の偽データの中から保存データ記憶部4に記憶させる偽データを選択してもよい。
 また、識別モデルおよび生成モデルを更新するための動作の過程においても、データ生成部6は、複数個の偽データを生成する。この偽データの個数を第2の個数と記し、第2の個数をz’個と表すこととする。第2の個数は、複数個である。この場合、勾配情報算出部8は、真データに対する出力値と偽データに対する出力値の距離を算出し、その距離を所定量減少させるように生成モデルが有する重み毎(換言すれば、ノード毎)に勾配情報を算出する。そして、生成モデル更新部11が、生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、生成モデルを更新する。
 真データ入力部2は、例えば、モデル生成プログラムに従って動作するコンピュータのCPU(Central Processing Unit )、および、入力デバイスによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からモデル生成プログラムを読み込み、そのモデル生成プログラムに従って、入力デバイスを用いて、真データ入力部2として動作すればよい。この入力デバイスは、例えば、記録媒体に記録された複数の真データを読み込むデータ読み込み装置等であってもよい。また、シード入力部5、データ生成部6、識別部7、勾配情報算出部8、選択部9、識別モデル更新部10および生成モデル更新部11は、例えば、モデル生成プログラムに従って動作するCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体からモデル生成プログラムを読み込み、そのモデル生成プログラムに従って、シード入力部5、データ生成部6、識別部7、勾配情報算出部8、選択部9、識別モデル更新部10および生成モデル更新部11として動作すればよい。真データ記憶部3および保存データ記憶部4は、例えば、コンピュータが備える記憶装置によって実現される。
 次に、本発明の実施形態の処理経過について説明する。図3から図6までは、本発明の実施形態の処理経過の例を示すフローチャートである。なお、データ生成部6が有する生成モデル(DNN)の構成、および、識別部7が有する識別モデル(DNN)の構成は、予め定められているとする。DNNの構成は、例えば、層の数や、個々の層に含まれているノードの数等である。
 また、保存データ記憶部4には、ある一定個数以上の偽データが既に記憶されているものとする。保存データ記憶部4に記憶されている偽データの数が上記の一定個数に達していない場合(すなわち、保存データ記憶部4に記憶されている偽データの数が十分でない場合)の動作については、後述する。
 まず、データ生成部6が、生成モデルが有する各重みの値を初期化する(ステップS1)。データ生成部6は、例えば、生成モデルの各重みの値をランダムに定めることによって、重みの値を初期化してもよい。あるいは、データ生成部6は、他の方法で、各重みの値を初期化してもよい。
 次に、識別部7が、識別モデルが有する各重みの値を初期化する(ステップS2)。識別部7は、例えば、識別モデルの各重みの値をランダムに定めることによって、重みの値を初期化してもよい。あるいは、識別部7は、他の方法で、各重みの値を初期化してもよい。
 次に、真データ入力部2が、外部から複数個の真データの入力を受け付け、その複数個の真データを真データ記憶部3に記憶させる(ステップS3)。ステップS3の後、真データ記憶部3が記憶する複数個の真データが入れ替えられることはない。
 次に、シード入力部5がデータ生成部6にシードを入力し、データ生成部6が、そのシードを生成モデルの入力として、第1の個数(y’個)の偽データを生成する(ステップS4)。
 ステップS4の後、モデル生成システム1は、識別モデルおよび生成モデルを更新するための動作と、保存データ記憶部4に記憶させる偽データを第1の個数(y’個)の偽データの中から選択する動作とを並行に行う。
 まず、保存データ記憶部4に記憶させる偽データを第1の個数(y’個)の偽データの中から選択する動作を、図4を参照して説明する。識別モデルおよび生成モデルを更新するための動作については、図5および図6を用いて後述する。
 ステップS4の後、識別部7は、真データ入力部2に記憶されている複数個の真データの中から1つの真データを選択する。このとき、識別部7は、例えば、ランダムに1つの真データを選択してよい。そして、識別部7は、その1つの真データ、および、ステップS4で生成されたy’個の偽データそれぞれに対する出力値を、識別モデルに基づいて導出する(ステップS5、図4参照。)。
 次に、勾配情報算出部8が、選択された1つの真データと、y’個の偽データそれぞれとの組合せ毎に、選択された真データに対する出力値と偽データに対する出力値との距離を算出する(ステップS6)。ステップS6において、勾配情報算出部8は、真データと偽データとの組合せ毎に、真データに対する出力値と偽データに対する出力値と差の絶対値を、距離として算出してもよい。ただし、ステップS6における距離の算出方法は、この例に限定されない。
 ステップS6の結果、y’個の偽データそれぞれに関して、距離が得られることになる。
 ステップS6の次に、勾配情報算出部8は、y’個の偽データ毎に、距離を所定量増大させるように、識別モデルが有する重み毎に勾配情報を算出する(ステップS7)。
 ステップS7での勾配情報の計算では、重みを変数とする距離関数を用いる。以下に示す式(1)は、距離関数の例である。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、ytrueは真データであり、yfakeは偽データである。wは、重みである。D(ytrue;w)は、重みwのもとでの真データに対する出力値であり、D(yfake;w)は、重みwのもとでの偽データに対する出力値である。Ntrueは、距離の算出に用いた真データの数であり、Nfakeは、距離の算出に用いた偽データの数である。1つの真データに対する出力値と1つの偽データに対する出力値との距離を算出する場合には、Ntrue=1,Nfake=1である。
 ある重みwに着目した場合、その重みの更新後の値をwn+1とする。この場合、その重みの勾配情報(▽wと記す。)は、式(1)に例示する距離関数を用いて、式(2)のように表される。
 ▽w=wn+1-w=-η▽E(w)   ・・・(2)
 ここで、dE(w)/dw=-ηであり、ηは固定値である。ηは、学習率(learning rate)と呼ばれる。
 勾配情報算出部8は、ステップS7において、式(2)を用いて、識別モデルが有する各重みの勾配情報を算出すればよい。
 このような勾配情報の計算は、誤差逆伝搬法による計算であるということができる。
 勾配情報算出部8は、後述のステップS13で識別モデルの各重みの勾配情報を算出する場合や、後述のステップS18で生成モデルの各重みの勾配情報を算出する場合にも、上記のような誤差逆伝搬法によって勾配情報を算出すればよい。
 ステップS7の結果、偽データ毎に、識別モデルの各重みそれぞれの勾配情報が得られる。ステップS7の次に、勾配情報算出部8が、y’個の偽データ毎に、重み毎の勾配情報の絶対値の平均値を算出する(ステップS8)。勾配情報の絶対値の平均値は、式(3)の計算によって求めることができる。
 Σ|▽w|/N   ・・・(3)
 式(3)において、Nは、識別モデルが有する重みの個数である。
 次に、選択部9が、y’個の偽データ毎に算出された勾配情報の絶対値の平均値に基づいて、y’個の偽データの中から偽データを選択する(ステップS9)。ステップS9で選択される偽データの数は複数であってよい。
 ここでは、ステップS8で、勾配情報算出部8が、偽データ毎に勾配情報の絶対値の平均値を算出し、ステップS9で、選択部9が、勾配情報の絶対値の平均値に基づいて、偽データを選択する場合を例にして説明した。勾配情報の絶対値の平均値は、勾配情報の絶対値の大きさの指標の一例である。ステップS8では、勾配情報算出部8が、偽データ毎に、そのような指標を算出すればよく、ステップS9では、選択部9が、そのような指標に基づいて偽データを選択すればよい。勾配情報の絶対値の大きさの指標の他の例として、例えば、勾配情報の絶対値の総和等が挙げられる。
 ステップS9では、勾配情報の絶対値の大きさの指標が大きい偽データを選択すればよい。本実施形態では、例えば、選択部9は、y’個の偽データの中から、勾配情報の絶対値の平均値が大きい順に、y’個の10%に相当する個数の偽データを選択してもよい。また、例えば、選択部9は、y’個の偽データの中から、勾配情報の絶対値の平均値が大きい順に、保存データ記憶部4に記憶されている偽データの個数の1/9に相当する個数の偽データを選択してもよい。ただし、上記の“10%”、“1/9”は例示であり、これらの割合に限定されるわけではない。
 次に、選択部9は、ステップS9で選択した偽データを保存データ記憶部4に記憶させる(ステップS10)。
 モデル生成システム1は、ステップS4(図3参照)を実行する毎に、ステップS5~S10(図4参照)を実行する。
 次に、識別モデルおよび生成モデルを更新するための動作については、図5および図6を参照して説明する。
 ステップS4(図3参照)の後、識別部7が、真データ記憶部3に記憶されている真データの部分集合に該当する複数個(x個とする。)の真データ、保存データ記憶部4に記憶されている偽データの部分集合に該当する複数個(y個とする。)の偽データ、および、ステップS4で生成されたy’個の偽データの部分集合に該当する複数個(y’’個とする。)の偽データのそれぞれに対する出力値を、識別モデルに基づいて導出する(ステップS11)。
 なお、xおよびy+y’’は近い値であることが好ましいが、必ずしも、x=y+y’’である必要はない。
 次に、勾配情報算出部8が、x個の真データに対する出力値と、y+y’’個の偽データに対する出力値との距離を算出する(ステップS12)。
 例えば、勾配情報算出部8が、x個の真データに対する各出力値の平均値と、y+y’’個の偽データに対する各出力値の平均値との差の絶対値を、距離として算出すればよい。ただし、ステップS12における距離の算出方法は、上記の例に限定されない。
 次に、勾配情報算出部8が、ステップS12で算出した距離を所定量増大させるように、識別モデルが有する重み毎に勾配情報を算出する(ステップS13)。勾配情報算出部8は、例えば、誤差逆伝搬法によって勾配情報を算出すればよい。
 次に、識別モデル更新部10が、識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、識別モデルを更新する(ステップS14)。勾配情報は重みの更新量(変化量)であるので、識別モデル更新部10は、重みに対して、その重みに応じた勾配情報を加算すればよい。
 次に、シード入力部5がデータ生成部6にシードを入力し、データ生成部6が、そのシードを生成モデルの入力として、第2の個数(z’個)の偽データを生成する(ステップS15)。
 次に、識別部7が、真データ記憶部3に記憶されている真データの部分集合に該当する複数個(x’個とする。)の真データ、および、ステップS15で生成されたz’個の偽データの部分集合に該当する複数個(z’’個とする。)の偽データのそれぞれに対する出力値を、識別モデルに基づいて導出する(ステップS16、図6参照)。
 なお、x’およびz’’は近い値であることが好ましいが、必ずしも、x’=z’’である必要はない。
 次に、勾配情報算出部8が、x’個の真データに対する出力値と、z’’個の偽データに対する出力値との距離を算出する(ステップS17)。
 例えば、勾配情報算出部8が、x’個の真データに対する各出力値の平均値と、z’’個の偽データに対する各出力値の平均値との差の絶対値を、距離として算出すればよい。ただし、ステップS17における距離の算出方法は、上記の例に限定されない。
 次に、勾配情報算出部8が、ステップS17で算出した距離を所定量減少させるように、生成モデルが有する重み毎に勾配情報を算出する(ステップS18)。勾配情報算出部8は、例えば、誤差逆伝搬法によって勾配情報を算出すればよい。
 ステップS4から後述のステップS20までの動作は、繰り返し処理となっている。ステップS18の後、例えば、データ生成部6は、このステップS4からの処理を繰り返すか否かを判定する(ステップS19)。
 例えば、ステップS4およびステップS11~S20(図3、図5、図6を参照)の処理の繰り返し数が予め定められた閾値に達していなければ、ステップS4からの処理を繰り返すと判定し、その繰り返し数が閾値に達しているならば、ステップS4からの処理を繰り返さないと判定してもよい。ただし、ステップS19の判定の基準は上記の例に限定されない。例えば、ステップS12で算出された距離が閾値以上であるならば、ステップS4からの処理を繰り返すと判定し、その距離が閾値未満であるならば、ステップS4からの処理を繰り返さないと判定してもよい。
 また、本例では、データ生成部6がステップS19の判定を行う場合を例にして説明したが、ステップS19の判定は、データ生成部6以外の要素が行ってもよい。
 ステップS4からの処理を繰り返すと判定された場合(ステップS19のYes)、生成モデル更新部11が、生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、生成モデルを更新する(ステップS20)。勾配情報は重みの更新量(変化量)であるので、生成モデル更新部11は、重みに対して、その重みに応じた勾配情報を加算すればよい。
 ステップS20の後、ステップS4(図3参照)に移行する。シード入力部5およびデータ生成部6が再度ステップS4を実行した場合、モデル生成システム1は、モデル生成システム1は、識別モデルおよび生成モデルを更新するための動作(ステップS11以降の動作)と、保存データ記憶部4に記憶させる偽データを第1の個数(y’個)の偽データの中から選択する動作(ステップS5~S10の動作)を並行に行う。
 ステップS4からの処理を繰り返さないと判定された場合(ステップS19のNo)、識別部7が識別モデルを提供し、データ生成部6が生成モデルを提供する(ステップS21)。例えば、識別部7が識別モデルを外部の記憶装置(図示略)に記憶させ、データ生成部6も生成モデルを外部の記憶装置に記憶させる。この結果、モデル生成システム1の外部においても、識別モデルや生成モデルを利用可能となる。
 以上の説明では、保存データ記憶部4に、ある一定個数以上の偽データが既に記憶されている場合を説明した。次に、保存データ記憶部4に記憶されている偽データの数が上記の一定個数に達していない場合(すなわち、保存データ記憶部4に記憶されている偽データの数が十分でない場合)について説明する。なお、既に説明した動作については、詳細な説明を省略する。この場合、モデル生成システム1は、ステップS1~S4を実行する。そして、ステップS4の終了時に、保存データ記憶部4に記憶されている偽データの数が一定個数に達していないとする。この場合、保存データ記憶部4に記憶されている偽データの数が一定個数に達するまで、モデル生成システム1は、ステップS4~S10の動作を繰り返す。ただし、このとき、モデル生成システム1は、ステップS4を実行しても、ステップS11以降の処理は実行しない。ステップS4~S10の動作を繰り返すことで、ステップS10毎に、保存データ記憶部4に偽データが追加されていくので、保存データ記憶部4に記憶される偽データの数が増加し、一定個数に達することになる。
 保存データ記憶部4に記憶されている偽データの数が一定個数に達した後には、モデル生成システム1は、ステップS4の実行後に、ステップS11以降の動作と、ステップS5~S10の動作とを並行に行う。
 また、保存データ記憶部4に記憶できる偽データの個数の上限値が定められていてもよい。そして、保存データ記憶部4に記憶された偽データの個数が上限値に達している場合、選択部9は、選択した偽データを保存データ記憶部4に記憶させるときに(ステップS10)、その選択した偽データと同数の偽データを、保存データ記憶部4から消去すればよい。そのような動作によって、保存データ記憶部4に記憶された偽データの個数が上限値に達した後、選択部9が、選択した偽データを保存データ記憶部4に記憶させるとしても、保存データ記憶部4に記憶される偽データの個数は、上限値に保たれる。選択部9は、保存データ記憶部4から消去する偽データをランダムに決定してもよい。あるいは、選択部9は、保存データ記憶部4から消去する偽データを、他の方法で決定してもよい。
 本実施形態によれば、ステップS4で生成されたy’個の偽データの全てが保存データ記憶部4に記憶されるのではなく、例えば、勾配情報算出部8が、偽データ毎に、勾配情報の絶対値の平均値を算出し、選択部9が、偽データ毎に算出された勾配情報の絶対値の平均値に基づいて、y’個の偽データの中から偽データを選択し、選択した偽データを保存データ記憶部4に記憶させる。そして、保存データ記憶部4に記憶された偽データは、識別モデルの更新の際に用いられる。従って、識別モデルの識別精度が、極端に識別が容易なまたは困難な偽データに関してだけ特化して高くなってしまうような、好ましくない偽データが保存データ記憶部4に記憶されることが防止され、そのような好ましくない偽データが識別モデルの更新に用いられることが防止される。
 その結果、本実施形態によれば、識別モデルおよび生成モデルを良好に(換言すれば、安定的に)生成することができる。また、データ生成部6および識別部7は、敵対的生成ネットワークにおける生成器および識別器に相当すると言える。従って、本実施形態によれば、敵対的生成ネットワークにおける識別モデルおよび生成モデルを良好に(換言すれば、安定的に)生成することができる。
 さらに、本実施形態によれば、ステップS4およびステップS11~S20の処理(図3、図5、図6を参照)が繰り返し実行される。そして、この繰り返し処理には、識別モデルを更新する過程(ステップS11~S14)も含まれ、この識別モデルを更新する過程では、偽データとして、ステップS4で新たに生成された偽データだけでなく、保存データ記憶部4に記憶されている偽データも用いられる。具体的には、識別モデルを更新する過程(ステップS11~S14)では、偽データとして、保存データ記憶部4に記憶されている偽データの部分集合に該当する複数個(y個)の偽データ、および、ステップS4で生成されたy’個の偽データの部分集合に該当する複数個(y’’個)の偽データを用いる(図5に示すステップS11を参照)。
 すなわち、識別モデルを更新する過程(ステップS11~S14)も繰り返し実行されるが、このとき、過去のステップS11~S14において用いられた偽データ(保存データ記憶部4に記憶されている偽データ)も、再度、用いられる。従って、例えば、データ生成部6が、識別モデルの識別精度が、直近のステップS4で生成された偽データに特化して高くなるようなことが防止される。
 よって、本実施形態によれば、識別モデルおよび生成モデルを良好に(換言すれば、安定的に)生成することができるという効果をより高めることができる。
 次に、本発明の実施形態の変形例を説明する。
 上記の実施形態では、y’個(第1の個数)の偽データの中から、偽データを選択する場合に、勾配情報算出部8が、偽データ毎に、勾配情報の絶対値の大きさの指標(例えば、勾配情報の絶対値の平均値)を算出し、選択部9が、偽データ毎に算出されたその指標に基づいて、y’個のデータの中から偽データを選択する場合を説明した。
 ステップS6において、選択された1つの真データと、y’個の偽データそれぞれとの組合せ毎に(換言すれば、y’個の偽データ毎に)算出される距離(選択された真データに対する出力値と偽データに対する出力値との距離)を、勾配情報の絶対値の大きさの指標として扱ってもよい。すなわち、勾配情報の絶対値の大きさの指標(例えば、勾配情報の絶対値の平均値)の代わりに、偽データ毎に算出された距離(選択された真データに対する出力値と偽データに対する出力値との距離)を用いてもよい。例えば、選択部9は、偽データ毎に算出された距離が大きい偽データを選択すればよい。選択部9は、例えば、y’個の偽データの中から、距離が大きい順に、y’個の10%に相当する個数の偽データを選択してもよい。ただし、上記の10%は例示であり、この割合に限定されるわけではない。
 本変形例においては、ステップS6を実行するときの勾配情報算出部8は、距離算出部と称することができる。そして、ステップS6の後、ステップS9に移行し、ステップS9において、選択部9は、偽データ毎に算出された距離に基づいて、偽データを選択すればよい。
 他の点は、上記の実施形態と同様である。
 図7は、本発明の実施形態のモデル生成システム1に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、入力デバイス1005とを備える。
 本発明の実施形態のモデル生成システム1は、コンピュータ1000によって実現される。モデル生成システム1の動作は、プログラム(モデル生成プログラム)の形式で、補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って、上記の実施形態で説明した処理を実行する。この場合、真データ入力部2は、CPU1001および入力デバイス1005によって実現される。シード入力部5、データ生成部6、識別部7、勾配情報算出部8、選択部9、識別モデル更新部10および生成モデル更新部11は、CPU1001によって実現される。真データ記憶部3および保存データ記憶部4は、例えば、補助記憶装置1003によって実現されてもよく、あるいは、他の記憶装置によって実現されてもよい。
 補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って上記の実施形態で説明した処理を実行してもよい。
 また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
 各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要について説明する。図8は、本発明のモデル生成システムの概要を示すブロック図である。本発明のモデル生成システムは、保存データ記憶部4と、データ生成部6と、識別部7と、勾配情報算出部8と、選択部9とを備える。
 保存データ記憶部4は、保存しておくべき偽データを記憶する。
 データ生成部6は、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数(例えば、y’個)の偽データを生成する。
 識別部7は、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する。
 勾配情報算出部8は、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、識別モデルが有する重み毎の更新量である勾配情報を算出する。
 選択部9は、偽データ毎に計算された重み毎の勾配情報に基づいて、第1の個数の偽データの中から保存データ記憶部4に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部4に記憶させる。
 そのような構成により、敵対的生成ネットワークにおける識別モデルおよび生成モデルを良好に生成することができる。
 図9は、本発明のモデル生成システムの概要の他の例を示すブロック図である。本発明のモデル生成システムは、保存データ記憶部4と、データ生成部6と、識別部7と、距離算出部18と、選択部9とを備えていてもよい。
 図9に示す保存データ記憶部4、データ生成部6および識別部7は、図8に示す保存データ記憶部4、データ生成部6および識別部7と同様であり、説明を省略する。
 距離算出部18(例えば、前述の実施形態の変形例において、ステップS6を実行するときの勾配情報算出部8)は、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する。
 選択部9は、偽データ毎に計算された距離に基づいて、第1の個数の偽データの中から保存データ記憶部4に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる。
 そのような構成においても、敵対的生成ネットワークにおける識別モデルおよび生成モデルを良好に生成することができる。
 上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
 保存しておくべき偽データを記憶する保存データ記憶部と、
 偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
 与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
 1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、
 偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
 ことを特徴とするモデル生成システム。
(付記2)
 識別モデルを更新する識別モデル更新部と、
 生成モデルを更新する生成モデル更新部とを備え、
 識別部は、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
 勾配情報算出部は、
 前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出し、
 前記識別モデル更新部は、
 前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
 データ生成部は、
 第2の個数の偽データを生成し、
 前記識別部は、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
 前記勾配情報算出部は、
 前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
 前記生成モデル更新部は、
 前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
 付記1に記載のモデル生成システム。
(付記3)
 勾配情報算出部は、
 1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように識別モデルの重み毎の勾配情報を算出し、重み毎の勾配情報の絶対値の平均値を計算し、
 選択部は、
 偽データ毎に計算された前記平均値に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択する
 付記1または付記2に記載のモデル生成システム。
(付記4)
 保存しておくべき偽データを記憶する保存データ記憶部と、
 偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
 与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
 1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、
 偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
 ことを特徴とするモデル生成システム。
(付記5)
 識別モデルを更新する識別モデル更新部と、
 生成モデルを更新する生成モデル更新部とを備え、
 識別部は、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
 前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出する勾配情報算出部を備え、
 前記識別モデル更新部は、
 前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
 データ生成部は、
 第2の個数の偽データを生成し、
 前記識別部は、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
 前記勾配情報算出部は、
 前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
 前記生成モデル更新部は、
 前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
 付記4に記載のモデル生成システム。
(付記6)
 選択部は、
 保存データ記憶部に記憶されている偽データの数が所定数に達しているならば、選択した偽データを前記保存データ記憶部に記憶させるときに、前記選択した偽データと同数の偽データを前記保存データ記憶部から消去する
 付記1から付記5のうちのいずれかに記載のモデル生成システム。
(付記7)
 識別モデルおよび生成モデルは、ディープニューラルネットワークである
 付記1から付記6のうちのいずれかに記載のモデル生成システム。
(付記8)
 真データおよび偽データは、画像データまたは音声データである
 付記1から付記7のうちのいずれかに記載のモデル生成システム。
(付記9)
 コンピュータが、
 偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、
 与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、
 1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出し、
 偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる
 ことを特徴とするモデル生成方法。
(付記10)
 コンピュータが、
 偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、
 与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、
 1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、
 偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる
 ことを特徴とするモデル生成方法。
(付記11)
 コンピュータが、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように識別モデルの重み毎の勾配情報を算出し、
 前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
 第2の個数の偽データを生成し、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように生成モデルの重み毎の勾配情報を算出し、
 前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
 付記9または付記10に記載のモデル生成方法。
(付記12)
 コンピュータを、
 保存しておくべき偽データを記憶する保存データ記憶部と、
 偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
 与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
 1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、
 偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
 モデル生成システムとして機能させるためのモデル生成プログラム。
(付記13)
 コンピュータを、
 識別モデルを更新する識別モデル更新部と、
 生成モデルを更新する生成モデル更新部とを備え、
 識別部は、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
 勾配情報算出部は、
 前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出し、
 前記識別モデル更新部は、
 前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
 データ生成部は、
 第2の個数の偽データを生成し、
 前記識別部は、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
 前記勾配情報算出部は、
 前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
 前記生成モデル更新部は、
 前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
 モデル生成システムとして機能させるための付記12に記載のモデル生成プログラム。
(付記14)
 コンピュータを、
 保存しておくべき偽データを記憶する保存データ記憶部と、
 偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
 与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
 1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、
 偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
 モデル生成システムとして機能させるためのモデル生成プログラム。
(付記15)
 コンピュータを、
 識別モデルを更新する識別モデル更新部と、
 生成モデルを更新する生成モデル更新部とを備え、
 識別部は、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
 前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出する勾配情報算出部を備え、
 前記識別モデル更新部は、
 前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
 データ生成部は、
 第2の個数の偽データを生成し、
 前記識別部は、
 予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
 前記勾配情報算出部は、
 前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
 前記生成モデル更新部は、
 前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
 モデル生成システムとして機能させるための付記14に記載のモデル生成プログラム。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
 本発明は、敵対的生成ネットワークにおけるモデルを生成するモデル生成システムに好適に適用される。
 1 モデル生成システム
 2 真データ入力部
 3 真データ記憶部
 4 保存データ記憶部
 5 シード入力部
 6 データ生成部
 7 識別部
 8 勾配情報算出部
 9 選択部
 10 識別モデル更新部
 11 生成モデル更新部

Claims (15)

  1.  保存しておくべき偽データを記憶する保存データ記憶部と、
     偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
     与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
     1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、
     偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
     ことを特徴とするモデル生成システム。
  2.  識別モデルを更新する識別モデル更新部と、
     生成モデルを更新する生成モデル更新部とを備え、
     識別部は、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
     勾配情報算出部は、
     前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出し、
     前記識別モデル更新部は、
     前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
     データ生成部は、
     第2の個数の偽データを生成し、
     前記識別部は、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
     前記勾配情報算出部は、
     前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
     前記生成モデル更新部は、
     前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
     請求項1に記載のモデル生成システム。
  3.  勾配情報算出部は、
     1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように識別モデルの重み毎の勾配情報を算出し、重み毎の勾配情報の絶対値の平均値を計算し、
     選択部は、
     偽データ毎に計算された前記平均値に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択する
     請求項1または請求項2に記載のモデル生成システム。
  4.  保存しておくべき偽データを記憶する保存データ記憶部と、
     偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
     与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
     1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、
     偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
     ことを特徴とするモデル生成システム。
  5.  識別モデルを更新する識別モデル更新部と、
     生成モデルを更新する生成モデル更新部とを備え、
     識別部は、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
     前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出する勾配情報算出部を備え、
     前記識別モデル更新部は、
     前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
     データ生成部は、
     第2の個数の偽データを生成し、
     前記識別部は、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
     前記勾配情報算出部は、
     前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
     前記生成モデル更新部は、
     前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
     請求項4に記載のモデル生成システム。
  6.  選択部は、
     保存データ記憶部に記憶されている偽データの数が所定数に達しているならば、選択した偽データを前記保存データ記憶部に記憶させるときに、前記選択した偽データと同数の偽データを前記保存データ記憶部から消去する
     請求項1から請求項5のうちのいずれか1項に記載のモデル生成システム。
  7.  識別モデルおよび生成モデルは、ディープニューラルネットワークである
     請求項1から請求項6のうちのいずれか1項に記載のモデル生成システム。
  8.  真データおよび偽データは、画像データまたは音声データである
     請求項1から請求項7のうちのいずれか1項に記載のモデル生成システム。
  9.  コンピュータが、
     偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、
     与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、
     1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出し、
     偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる
     ことを特徴とするモデル生成方法。
  10.  コンピュータが、
     偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、
     与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、
     1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、
     偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる
     ことを特徴とするモデル生成方法。
  11.  コンピュータが、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように識別モデルの重み毎の勾配情報を算出し、
     前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
     第2の個数の偽データを生成し、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように生成モデルの重み毎の勾配情報を算出し、
     前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
     請求項9または請求項10に記載のモデル生成方法。
  12.  コンピュータを、
     保存しておくべき偽データを記憶する保存データ記憶部と、
     偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
     与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
     1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、
     偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
     モデル生成システムとして機能させるためのモデル生成プログラム。
  13.  コンピュータを、
     識別モデルを更新する識別モデル更新部と、
     生成モデルを更新する生成モデル更新部とを備え、
     識別部は、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
     勾配情報算出部は、
     前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出し、
     前記識別モデル更新部は、
     前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
     データ生成部は、
     第2の個数の偽データを生成し、
     前記識別部は、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
     前記勾配情報算出部は、
     前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
     前記生成モデル更新部は、
     前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
     モデル生成システムとして機能させるための請求項12に記載のモデル生成プログラム。
  14.  コンピュータを、
     保存しておくべき偽データを記憶する保存データ記憶部と、
     偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
     与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
     1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、
     偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
     モデル生成システムとして機能させるためのモデル生成プログラム。
  15.  コンピュータを、
     識別モデルを更新する識別モデル更新部と、
     生成モデルを更新する生成モデル更新部とを備え、
     識別部は、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
     前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出する勾配情報算出部を備え、
     前記識別モデル更新部は、
     前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
     データ生成部は、
     第2の個数の偽データを生成し、
     前記識別部は、
     予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
     前記勾配情報算出部は、
     前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
     前記生成モデル更新部は、
     前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
     モデル生成システムとして機能させるための請求項14に記載のモデル生成プログラム。
PCT/JP2019/042152 2019-10-28 2019-10-28 モデル生成システム、方法およびプログラム WO2021084580A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/042152 WO2021084580A1 (ja) 2019-10-28 2019-10-28 モデル生成システム、方法およびプログラム
JP2021553902A JP7283566B2 (ja) 2019-10-28 2019-10-28 モデル生成システム、方法およびプログラム
US17/769,614 US20240232578A9 (en) 2019-10-28 Model generation system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/042152 WO2021084580A1 (ja) 2019-10-28 2019-10-28 モデル生成システム、方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2021084580A1 true WO2021084580A1 (ja) 2021-05-06

Family

ID=75715853

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/042152 WO2021084580A1 (ja) 2019-10-28 2019-10-28 モデル生成システム、方法およびプログラム

Country Status (2)

Country Link
JP (1) JP7283566B2 (ja)
WO (1) WO2021084580A1 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RADFORD, ALEC ET AL.: "Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks", ARXIV:1511.06434V2, 7 January 2016 (2016-01-07), pages 1 - 16, XP055786755, Retrieved from the Internet <URL:https://arxiv.org/pdf/1511.06434.pdf> [retrieved on 20191129] *

Also Published As

Publication number Publication date
JPWO2021084580A1 (ja) 2021-05-06
US20240135143A1 (en) 2024-04-25
JP7283566B2 (ja) 2023-05-30

Similar Documents

Publication Publication Date Title
US11836610B2 (en) Concurrent training of functional subnetworks of a neural network
WO2015118686A1 (ja) 階層型ニューラルネットワーク装置、判別器学習方法および判別方法
JP6567488B2 (ja) 学習データ生成装置、開発データ生成装置、モデル学習装置、それらの方法、及びプログラム
JP4956334B2 (ja) オートマトンの決定化方法、有限状態トランスデューサの決定化方法、オートマトン決定化装置及び決定化プログラム
US20200090036A1 (en) Classification device, classification method, and computer program product
US20210224647A1 (en) Model training apparatus and method
JP7047498B2 (ja) 学習プログラム、学習方法および学習装置
JP6227052B2 (ja) 処理装置、判別方法およびプログラム
JP6973197B2 (ja) データセット検証装置、データセット検証方法、およびデータセット検証プログラム
KR20190081218A (ko) 컨볼루션 신경망의 하이퍼파라미터를 설정하는 방법 및 이를 수행하는 단말 장치
CN112396085A (zh) 识别图像的方法和设备
JP5989576B2 (ja) パターン識別装置、パターン識別方法、プログラム、学習装置および学習方法
CN112819151A (zh) 用于识别图像的方法和设备以及训练方法
WO2020065908A1 (ja) パターン認識装置、パターン認識方法およびパターン認識プログラム
CN111950579A (zh) 分类模型的训练方法和训练装置
WO2021084580A1 (ja) モデル生成システム、方法およびプログラム
JP2019028484A (ja) 属性識別装置、属性識別モデル学習装置、方法、及びプログラム
US20200202212A1 (en) Learning device, learning method, and computer-readable recording medium
JP5008137B2 (ja) 単語ベクトル生成装置、単語ベクトル生成方法、プログラムおよびプログラムを記録した記録媒体
JP2019185207A (ja) モデル学習装置、モデル学習方法、プログラム
TW202324183A (zh) 利用人工智慧方案在連續動作空間的巨集佈置
US20240232578A9 (en) Model generation system, method, and program
JP7438544B2 (ja) ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法
JP2023046213A (ja) 破滅的忘却の発生を抑えつつ、転移学習を行う方法、情報処理装置及びプログラム
JP2023076839A (ja) 機械学習装置およびプルーニング方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19950321

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021553902

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 17769614

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19950321

Country of ref document: EP

Kind code of ref document: A1