WO2018203550A1 - 信号生成装置、信号生成学習装置、方法、及びプログラム - Google Patents

信号生成装置、信号生成学習装置、方法、及びプログラム Download PDF

Info

Publication number
WO2018203550A1
WO2018203550A1 PCT/JP2018/017409 JP2018017409W WO2018203550A1 WO 2018203550 A1 WO2018203550 A1 WO 2018203550A1 JP 2018017409 W JP2018017409 W JP 2018017409W WO 2018203550 A1 WO2018203550 A1 WO 2018203550A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute
neural network
hidden
representing
signal
Prior art date
Application number
PCT/JP2018/017409
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 JP2019515733A priority Critical patent/JP6912740B2/ja
Priority to US16/609,667 priority patent/US20200151561A1/en
Publication of WO2018203550A1 publication Critical patent/WO2018203550A1/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
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present invention relates to a signal generation device, a signal generation learning device, a method, and a program, and more particularly, to a signal generation device, a signal generation learning device, a method, and a program for generating a signal.
  • Non-Patent Documents 1 and 2 Conventionally, methods for generating images are known (Non-Patent Documents 1 and 2).
  • a generator that generates an image from random numbers is learned by Generative Adversarial Networks (GAN) including a generator and a discriminator.
  • GAN Generative Adversarial Networks
  • CGAN Conditional Generative Adversarial Networks
  • Non-Patent Document 1 cannot control the image to be generated.
  • Non-Patent Document 2 the ability to express attributes is limited by teacher data, so there is a limit to the ability to express.
  • the present invention has been made in consideration of the above circumstances, and an object of the present invention is to provide a signal generation apparatus, method, and program capable of generating various signals while controlling attributes.
  • a signal generation device includes a variable generation unit that generates a plurality of hidden variables corresponding to a plurality of features in a signal, and an attribute in the signal to be generated. Learning in advance a hidden variable representing an attribute obtained by transforming a part of hidden variables of the plurality of hidden variables by an representing attribute vector, and a hidden variable representing individuality other than the some hidden variables among the plurality of hidden variables. And a signal generation unit configured to input to the generated at least one neural network and generate the signal to be generated using the at least one neural network.
  • the hidden variable representing the attribute has a plurality of hidden variables with respect to the attribute.
  • the signal generation unit has a plurality of layers for generating the signal to be generated, and the signal generation unit Has a neural network provided in each of the plurality of hierarchies as the at least one neural network, and a hidden variable representing an attribute of a first layer of the plurality of hierarchies is the attribute vector, A hidden variable representing an attribute of the second and subsequent layers in the hierarchy is a partial hidden variable among the plurality of hidden variables based on a hidden variable representing an attribute of a layer shallower than a layer corresponding to the hidden variable representing the attribute.
  • the signal generation unit obtains a hidden variable representing an attribute of each of the plurality of hierarchies into the neural network corresponding to the hierarchy of the variable representing the attribute. And generates a signal to be the generated by using each of the neural network.
  • the variable generation unit in the signal generation device according to any one of the first to third aspects, the variable generation unit generates the plurality of hidden variables using random numbers.
  • the variable generation unit generates a plurality of hidden variables corresponding to a plurality of features in the signal
  • the learning unit represents an attribute vector representing an attribute in the signal to be generated.
  • Input to one neural network and generate the signal to be generated using the at least one neural network.
  • a signal generation learning device is based on a variable generation unit that generates a plurality of hidden variables representing features in a signal, learning data including a true signal, and the plurality of hidden variables.
  • a first neural network as a generator for generating a signal
  • a second neural network as a discriminator for identifying whether or not the signal generated by the generator follows the same distribution as the true signal
  • a learning unit that learns according to optimization conditions that compete with each other.
  • the variable generation unit generates a plurality of hidden variables corresponding to a plurality of features in the signal
  • the learning unit includes learning data including a true signal
  • a first neural network as a generator for generating a signal based on a plurality of hidden variables
  • an identifier for identifying whether the signal generated by the generator follows the same distribution as the true signal
  • the second neural network is learned according to optimization conditions that compete with each other.
  • a program according to an eighth aspect of the present invention is a program for causing a computer to function as any one of the signal generation apparatuses according to the first to fourth aspects and the signal generation learning apparatus according to the sixth aspect. .
  • a hidden variable representing individuality and a hidden variable representing an attribute are generated.
  • the hidden variable representing the attribute is converted by the value of the attribute vector representing the attribute in the signal to be generated.
  • the neural network generates a signal by using the generated hidden variable representing the individuality and the conversion result as an input, so that various signals can be generated while controlling the attribute.
  • a hidden variable that represents individuality and a hidden variable that represents an attribute in a signal are generated.
  • a first neural network as a generator for generating a signal based on the input true signal, the generated hidden variable representing the individuality, and the hidden variable representing the attribute;
  • the second neural network as a discriminator for discriminating whether or not the signal follows the same distribution as the true signal learns according to optimization conditions competing with each other, thereby controlling various attributes. An effect is obtained that the first neural network capable of generating a signal can be learned.
  • the signal generation device generates a plurality of hidden variables and generates an image using a neural network. Multiple hidden variables are like essences useful for representing an image and indicate the characteristics of the image.
  • the signal generation device uses, for example, Convolutional Neural Networks (CNN) as a neural network.
  • CNN Convolutional Neural Networks
  • the generator 2 represents each attribute of the generated image with a plurality of hidden variables. Specifically, by separating the plurality of hidden variables into individuality and attributes, the attributes of the image generated by the generator 2 can be easily controlled.
  • the generator 2 obtains sufficient expression capability by expressing each attribute with a plurality of hidden variables.
  • the hidden variable may be expressed by a continuous value that can take an arbitrary value in a section defined by the discrete value that the attribute can take.
  • the generator 2 obtains sufficient expression capability.
  • the attribute is expressed by a certain distribution
  • the hidden variable may be expressed by a more detailed distribution than that.
  • the generator 2 illustrated in FIG. 1 has a neural network G composed of a two-layer network, and image data G (z i , z) based on input hidden variables z i and z a and an attribute vector y. a , y).
  • the attribute of the image is indicated by a hidden variable z a constrained by the attribute vector y among a plurality of hidden variables.
  • the individuality of the image is indicated by a hidden variable z i that is not constrained by the attribute vector y among a plurality of hidden variables.
  • the attribute vector y represents the presence or absence or degree of at least one attribute.
  • the generator input is only the random number z
  • individuality and attributes cannot be easily separated.
  • the input of the generator is a random number z and an attribute vector y, and individuality and attributes can be separated by learning the generator from a classifier conditioned by the attribute vector y.
  • the attribute vector y represents limited features such as presence / absence of attributes and positive / negative, attribute information that can be separated from individuality is limited.
  • Conditional Filtered Generative Adversarial Networks are learned together during learning.
  • the CFGAN includes a generator 2 and a discriminator 3. Since the input of the generator 2 includes a random number z i and z a ′ which is a multi-dimensional expression of the attribute, individuality and detailed attributes are obtained by learning the generator 2 together with the discriminator 3 conditioned by the attribute information y Information z a can be separated.
  • GAN including a generator and a discriminator is used for the purpose of image refinement (see Non-Patent Document 1).
  • a CFGAN including a generator 2 and a discriminator 3 is used for separation of individuality and attributes.
  • the signal generation device 100 includes an input unit 10, a calculation unit 20, and an output unit 90.
  • the signal generation device 100 may be configured by a computer including a central processing unit (CPU), a random access memory (RAM), and a read only memory (ROM).
  • the CPU reads a program and various data for executing a learning process routine and a generation process routine, which will be described later, stored in the ROM, and operates as the input unit 10, the arithmetic unit 20, and the output unit 90 by executing the program. May be.
  • the input unit 10 receives a plurality of learning data including a pair of true image data x and an attribute vector y representing each attribute of the image data x.
  • the input unit 10 receives an attribute vector y representing each attribute of image data to be generated.
  • the attribute vector y represents, for example, the presence / absence of the attribute and the sign, but is not particularly limited thereto.
  • the calculation unit 20 includes a learning variable generation unit 28, a learning unit 30, a neural network storage unit 40, a signal generation variable generation unit 52, and a signal generation unit 56.
  • the learning variable generator 28 generates a hidden variable z i representing individuality and a hidden variable z a representing each attribute from a certain data distribution.
  • the learning variable generation unit 28 may generate the hidden variable z i and the hidden variable z a using random numbers. For example, when the hidden variable z a representing the attribute is discrete, the learning variable generation unit 28 generates the hidden variable z a representing the attribute according to the equation (1).
  • k represents the number of categories (the number of discrete values).
  • Cat is a distribution composed of values indicating each category of category number K, and p is a probability.
  • the hidden variable z a representing the attribute is continuous, the learning variable generation unit 28 generates the hidden variable z a representing the attribute according to the equation (2).
  • Unif (-1, 1) is a uniform distribution with a value range of -1 to 1.
  • the generation method is not limited to these, and the hidden variable z a may be generated from an arbitrary distribution such as a Gaussian distribution or a Dirichlet distribution. What was generated from a certain distribution and converted by another neural network may be used as the hidden variable z a .
  • the learning unit 30 includes a neural network G (first neural network) that operates as the generator 2 and a neural network D (second neural network) that operates as the discriminator 3.
  • the two neural networks G and D learn according to optimization conditions that compete with each other based on a plurality of learning data input to the input unit 10.
  • the learning unit 30 inputs true image data x, an attribute vector y representing each attribute of the image data x, a hidden variable z i representing the generated individuality, and a hidden variable z a representing each attribute.
  • the neural network G generates image data from a hidden variable representing individuality and a hidden variable representing each attribute.
  • the neural network D receives the image data generated by the neural network G, the true image data x, and the attribute vector y, and the generated image has the same distribution as the true image data under the attribute vector y. Identify whether or not to follow That is, the neural network D identifies whether the generated image data is true image data.
  • True image data is image data included in a plurality of learning data. For example, CNN may be used for each neural network in the learning unit 30.
  • the learning unit 30 includes the true image data x and the attribute vector y included in the input learning data, the hidden variable z i representing the generated individuality, and the hidden variable z a representing each attribute.
  • the attribute vector y has the presence / absence of each of “glasses”, “makeup”, “ ⁇ ”, “bangs”, “male / female”, “ It represents the distinction between “not smiling / smiling” and “old / young”.
  • a hidden variable z a representing an attribute represents the diversity of each attribute.
  • the attribute vector y indicates the presence / absence of “glasses”
  • the diversity of attributes indicates, for example, the shape and color of glasses.
  • the attribute vector y represents the presence / absence of each character type (eg, a, b, c,..., 1, 2,).
  • a hidden variable z a representing an attribute represents character diversity.
  • the attribute vector y represents the character “4”
  • the character diversity represents the size and shape of “4”.
  • the attribute vector y represents the presence / absence of each character font (eg, Gothic, Mincho, bold, italic,...)
  • the hidden variable z a representing the attribute represents the diversity of the font.
  • the attribute vector y represents a Gothic font
  • the font diversity represents the Gothic font type.
  • the learning unit 30 inputs the hidden variable z i representing the individuality generated by the learning variable generating unit 28 and the hidden variable z a representing each attribute, and uses the neural network G as the generator 2 to Image data is generated from a hidden variable z i representing sex and a hidden variable z a ′ representing each attribute.
  • the hidden variable z a ′ representing each attribute that is an input of the neural network G as the generator 2 is obtained by converting the hidden variable z a representing each attribute by the value of the attribute vector y.
  • the attribute vector y represents the presence / absence of an attribute, it is conceivable to multiply the generated hidden variable z a representing each attribute and the attribute vector y.
  • Equation (3) shows an example of conversion in this case.
  • the attribute vector y represents the sign of the attribute
  • Equation (4) shows an example of conversion in this case.
  • the learning unit 30 In learning of the neural network G as the generator 2, the learning unit 30 generates the image data so that the discriminator 3 identifies the generated image data according to the same distribution as the true image data x under the attribute vector y.
  • the parameters of the neural network G as the device 2 are updated. That is, the parameters of the neural network G are updated so that the discriminator 3 identifies the generated image as true image data.
  • the learning unit 30 does not follow the image data generated by the generator 2 according to the same distribution as the true image data x under the attribute vector y.
  • the parameters of the neural network D as the discriminator 3 are updated so that the discriminator 3 discriminates and identifies each image data included in the true image data x according to the same distribution as the true image data x. .
  • Equation (5) represents sampling true image data x and attribute vector y from learning data.
  • the operation of Expression (6-2) represents that a hidden variable z i representing individuality is generated from a certain data distribution. For example, the hidden variable z i representing individuality is generated with a random number.
  • the operation of Expression (6-3) represents that a hidden variable z a representing an attribute is generated from a certain data distribution. For example, the hidden variable z a representing the attribute is generated with a random number.
  • Expression (6-4) represents sampling the attribute vector y from the learning data.
  • the learning unit 30 performs the above processing for each learning data, and repeatedly and alternately updates the parameter of the neural network G as the generator 2 and the parameter of the neural network D as the discriminator 3.
  • the finally obtained neural network G as the generator 2 and neural network D as the discriminator 3 are stored in the neural network storage unit 40.
  • the signal generation variable generation unit 52 generates a hidden variable z i representing individuality and a hidden variable z a representing each attribute from a certain data distribution.
  • the signal generation variable generation unit 52 may generate the hidden variable z i and the hidden variable z a using random numbers.
  • the signal generation unit 56 includes a hidden variable z i representing individuality generated by the signal generation variable generation unit 52, a hidden variable z a representing each attribute, and an attribute vector y representing each attribute of the image data to be generated.
  • the neural network G as the generator 2 stored in the neural network storage unit 40 is read out.
  • the signal generation unit 56 generates image data from the attribute vector y and the hidden variables z i and z a using the read neural network G, and outputs the generated image data by the output unit 90.
  • the hidden variable z a ′ representing each attribute that is input to the neural network G as the generator 2 is obtained by converting the hidden variable z a representing each generated attribute by the value of the attribute vector y. .
  • the operation of the signal generation device 100 according to the first embodiment of the present invention will be described.
  • the signal generation device 100 executes a learning process routine and a generation process routine described below.
  • the learning process routine will be described.
  • the signal generation device 100 executes a learning processing routine shown in FIG.
  • step S100 the learning unit 30 acquires any one of the plurality of learning data received by the input unit 10.
  • step S102 the learning variable generator 28 generates a hidden variable z i representing individuality and a hidden variable z a representing each attribute from a certain data distribution.
  • step S104 the learning unit 30 represents each attribute by converting the hidden variable z a representing each attribute generated in step S102 with the value of the attribute vector y included in the learning data acquired in step S100. Find the hidden variable z a '.
  • step S106 the learning unit 30 uses the hidden variable z i representing the individuality generated in step S102 and the conversion result z a ′ of the hidden variable representing each attribute obtained in S104 as the generator 2.
  • Image data xp is generated using a neural network.
  • step S108 the learning unit 30 obtains the hidden variable z i representing the individuality generated in step S102, the hidden variable z a representing each attribute, the image data x p generated in step S106, and the step S100.
  • the parameters of the neural network G as the generator 2 and the parameters of the neural network D as the discriminator 3 are updated based on the image data x and the attribute vector y included in the learned data.
  • step S110 the learning unit 30 determines whether or not the processing in steps S100 to S108 has been executed for all the learning data. If there is learning data that is not used in the processes of steps S100 to S108, the learning unit 30 returns to step S100 and acquires the learning data. When all the learning data is used for the processes of steps S100 to S108, the learning unit 30 ends the learning process routine.
  • the learning unit 30 stores finally obtained parameters of the neural network G as the generator 2 and parameters of the neural network D as the discriminator 3 in the neural network storage unit 40.
  • the generation processing routine will be described.
  • the input unit 10 receives an attribute vector y representing each attribute of image data to be generated
  • the signal generation device 100 executes a generation processing routine shown in FIG.
  • step S150 the signal generation unit 56 acquires the attribute vector y received by the input unit 10.
  • step S152 the signal generation variable generation unit 52 generates a hidden variable z i representing individuality and a hidden variable z a representing each attribute from a certain data distribution. Note that the user may arbitrarily set a hidden variable z i representing individuality and a hidden variable z a representing each attribute.
  • step S154 the signal generation unit 56 converts the hidden variable z a representing each attribute generated in step S152 with the value of the attribute vector y acquired in step S150, and the hidden variable z a ′ representing each attribute. Get.
  • step S156 the signal generation unit 56 uses the hidden variable z i representing the individuality generated in step S152 and the hidden variable z a ′ representing each attribute obtained in step S154 to store the neural network storage unit.
  • Image data is generated using the neural network G as the generator 2 stored in 40.
  • the signal generation unit 56 outputs the generated image data by the output unit 90, and ends the generation processing routine.
  • the signal generation device generates a hidden variable representing individuality in image data and a hidden variable representing each attribute.
  • the signal generation device inputs an attribute vector representing each attribute in the signal to be generated, and converts a hidden variable representing each attribute according to the value of the attribute vector.
  • the signal generation device generates image data by using the generated hidden variable representing the individuality and the conversion result as an input of the generator and using a neural network as the generator.
  • the hidden variable z i representing individuality
  • the hidden variable z i representing the individuality
  • the signal generation device generates a hidden variable representing individuality in image data and a hidden variable representing each attribute.
  • the signal generation device is a neural network as a generator that generates an image based on the true image data included in the input learning data, the generated hidden variable indicating individuality, and the hidden variable indicating each attribute.
  • the network and a neural network as a discriminator for discriminating whether or not the generated image data follows the same distribution as the true image data under the attribute vector are learned in accordance with optimization conditions that compete with each other.
  • the signal generation apparatus can learn a neural network that can generate various image data while controlling image attributes.
  • the signal generation learning device Since the signal generation learning device has a plurality of hidden variables or hidden variables that follow a more detailed distribution for each attribute, it can express a variety of attributes.
  • the learning unit 30 learns the neural network G as the generator 2 and the neural network D as the discriminator 3 according to optimization conditions that compete with each other has been described as an example. It is not limited to this.
  • a constraint may be further provided so that each hidden variable represents an independent one.
  • a constraint is further provided so that the correlation (information amount) between the hidden variable z a ′ and the image data generated from the hidden variable z a ′ shown in Expression (7) becomes large.
  • y) is an image G (z i , z a , y) generated under the attribute vector y, and This represents the mutual information amount with the hidden variable z a ′ representing the attribute.
  • G (z i , z a , y), y) represent conditional entropy.
  • E represents an expected value.
  • D KL represents KL (Kullback-Leibler) divergence.
  • x, y) represents the distribution of the hidden variable z a ′ indicating each attribute when the true image data x and the attribute vector y included in the learning data are given.
  • ⁇ Z a '( ⁇ is attached on z a ) is a hidden variable obtained according to the distribution of P (z a '
  • the learning unit 30 uses a variational method to learn the neural network Q that estimates the approximate distribution Q (z a ′
  • the second embodiment is different from the first embodiment in that hidden variables representing each attribute have a hierarchical structure.
  • the signal generation device 100 performs hierarchical control on attributes.
  • the hidden variable representing each attribute is a hierarchical hidden variable of two or more hierarchies, and the learning unit 30 has a structure that is hierarchically converted.
  • the hidden variable c 1 in the first layer is a hidden variable representing each attribute in the first layer, and corresponds to the attribute vector y in the first embodiment.
  • the hidden variable represents, for example, the presence / absence of the attribute and the sign, but is not particularly limited thereto.
  • the hidden variable c 2 in the second layer is converted by the value of the hidden variable c 1 in the first layer, and a conversion result c 2 ′ is obtained.
  • the hidden variable c 3 in the third layer is converted by the value of the conversion result c 2 ′ of the hidden variable c 2 in the second layer, and a conversion result c 3 ′ is obtained.
  • the signal generation device 100 uses a hidden variable z 3 representing individuality and a conversion result c 3 ′ as a hidden variable representing each attribute as inputs of the generator, and a neural network G 3 as a generator.
  • image data is generated.
  • the signal generator 100 a first layer, in the second layer, by the neural network G 3 as generator, to generate image data, respectively.
  • a hidden variable c 1 in the first layer and a hidden variable z 1 representing individuality are input, and a neural network G 1 that generates image data and a neural network as a discriminator. Learning of the neural network Q 1 that estimates the distribution of D 1 and the hidden variable c 1 is performed.
  • the second layer hidden variable conversion result c 2 ′ and the hidden variable z 2 representing individuality are input, and a neural network G 2 that generates image data, a neural network D 2 as a discriminator, and a hidden variable c 2 learning of the neural network Q 2 is performed to estimate the distribution of '.
  • the third layer hidden variable conversion result c 3 ′ and the hidden variable z 3 representing individuality are input, and the neural network G 3 that generates image data, the neural network D 3 as a discriminator, and the hidden variable c 3 learning of the neural network Q 3 is performed to estimate the distribution of '. Learning in each layer is performed sequentially.
  • P 1 , P 2 , and P 3 in FIG. 7 represent the discrimination results by the neural networks D 1 , D 2 , and D 3 as discriminators, respectively.
  • the signal generation device 100 first learns each neural network corresponding to the hidden variable in the first layer, and learns the neural network corresponding to the hidden variable in a deeper layer based on the learning result. This is done recursively to learn each neural network one layer at a time.
  • Hierarchical learning allows abstract concepts to be acquired first in shallow hierarchies and gradually refines the diversity of attributes as the hierarchy deepens.
  • the input unit 10 of the signal generation device 100 according to the second embodiment of the present invention receives a plurality of true image data x as learning data.
  • the learning variable generation unit 28 generates hidden variables z i (z 1 , z 2 , z 3 ) representing individuality and hidden variables c 1 , c 2 , c 3 representing respective attributes in each hierarchy from a certain data distribution. To do. Each hidden variable may be, for example, an attribute indicating the presence or absence of an attribute in each hierarchy, or positive / negative, but is not particularly limited thereto.
  • the learning variable generation unit 28 may generate a hidden variable z i (z 1 , z 2 , z 3 ) and a hidden variable c 1 , c 2 , c 3 using a random number.
  • the learning unit 30 includes neural networks G 1 , G 2 , and G 3 that operate as generators, neural networks D 1 , D 2 , and D 3 that operate as classifiers, and hidden variables c 1 , c 2 ′, and c 3. It has neural networks Q 1 , Q 2 , Q 3 for estimating the distribution of '.
  • the neural networks G 1 , G 2 , and G 3 as generators are true image data x, hidden variables z i that represent generated individuality, and hidden variables c 1 and c 2 that represent attributes in each layer. , C 3 as input, and image data is generated from hidden variables z i representing individuality and hidden variables c 1 , c 2 , c 3 representing respective attributes.
  • the neural networks Q 1 , Q 2 , Q 3 are distributions P () with respect to hidden variables c 1 , c 2 ′, c 3 ′ indicating the attributes of the image data generated by the neural networks G 1 , G 2 , G 3. Approximate distributions of c 1
  • the neural networks Q 1 , Q 2 , and Q 3 estimate hidden variables c 1 , c 2 ′, and c 3 ′ representing the respective attributes based on the estimated approximate distribution.
  • the neural networks G 1 , G 2 , G 3 , D 1 , D 2 , and D 3 that operate as generators and discriminators are mutually optimized based on a plurality of learning data input to the input unit 10. Learn according to conditions. At the same time, the neural networks Q 1 , Q 2 and Q 3 learn to maximize the lower limit of the information amount of the image data generated by the neural networks G 1 , G 2 and G 3 .
  • the learning unit 30 recursively repeats learning for each level of the neural network. For example, CNN may be used for each neural network in the learning unit 30.
  • the learning unit 30 includes the true image data x included in the input learning data, the hidden variable z 1 representing the generated individuality, and the generated first layer
  • the input is a hidden variable c 1 representing each attribute of the eye.
  • Learning unit 30 includes a latent variable z 1 representing the generated individuality, a latent variable c 1 representing the attributes of the first layer to the input of the neural network G 1, using a neural network G 1 as generator Image data is generated.
  • the learning unit 30 In the learning of the neural network G 1 as generator, the learning unit 30, a discriminator according the generated image data to the same distribution and the true image data to identify, to update the parameters of the neural network G 1 . That is, an image that is generated as a neural network D 1 of the as the discriminator is a true image data to identify the parameters of the neural network G 1 is being updated.
  • the learning section 30 In the learning of the neural network D 1 of the as classifier, the learning section 30, the image data generated by the generator and not follow the same distribution and the true image data identifier identifies, and the true image data as the classifier to each of the image data according to the same distribution and the true image data to identify included in x, and updates the parameters of the neural network D 1 of the as discriminator.
  • Neural Network Q 1 is, predicts the hidden variables c 1 representing the attributes of the first layer of the image data generated by the neural network G 1 as a generator.
  • the learning section 30 includes a hidden variable c 1, the lower limit of the correlation (information amount) of the image data generated from the hidden variables c 1 is to maximize, the neural network Q 1 Update parameters.
  • the learning unit 30 For the second layer, the learning unit 30 generates true image data x included in the input learning data, a hidden variable c 1 representing each attribute of the first layer predicted by the neural network Q 1 , and generation The hidden variable z 2 representing the individuality thus generated and the hidden variable c 2 representing each attribute of the generated second layer are input.
  • the hidden variable c 2 ′ representing each attribute of the second layer is converted from the value of the hidden variable c 1 representing each attribute of the first layer with respect to the hidden variable c 2 representing each attribute of the second layer. Is obtained.
  • the learning unit 30 uses the generated hidden variable z 2 representing individuality and the generated conversion result c 2 ′ of the hidden variable c 2 representing each attribute of the second layer as inputs of the neural network G 2. using a neural network G 2 as vessels, to generate image data.
  • the learning unit 30 In the learning of the neural network G 2 as generator, the learning unit 30, to follow the generated image data to the same distribution and the true image data under the hidden variables c 1 representing the attributes of the first layer discriminator There to identify, to update the parameters of the neural network G 2 as a generator. That is, image to the neural network D 2 is identified as the discriminator is a true image data generated, the parameters of the neural network G 2 is updated.
  • the learning section 30 In the learning of the neural network D 2 as classifier, the learning section 30, the image data generated by the generator to the same distribution and the true image data under the hidden variables c 1 representing the attributes of the first layer Failure to comply identifier identifies, and as a discriminator according to each image data included in the true image data x to the same distribution and the true image data to identify, neural network D 2 as discriminators Update parameters.
  • the neural network Q 2 predicts a hidden variable c 2 ′ representing each attribute of the second layer for the image data generated by the neural network G 2 under the hidden variable c 1 representing each attribute of the first layer. .
  • the learning unit 30 includes true image data x included in the input learning data, a hidden variable c 2 ′ representing each attribute of the second layer predicted by the neural network Q 2 , The hidden variable z 3 representing the generated individuality and the hidden variable c 3 representing each attribute of the generated third layer are input.
  • hidden variables c 3 representing the attributes of the third layer ' is a hidden variable c 3 representing the attributes of the third layer
  • the hidden variable c 2 representing the attributes of the second layer
  • the conversion result c 2' It is obtained by converting according to the value of.
  • the learning unit 30 generates a hidden variable z 3 representing the generated individuality and a conversion result c 3 ′ of the generated hidden variable c 3 representing each attribute of the third layer as an input of the neural network G 3. using a neural network G 3 as vessels, to generate image data.
  • the learning unit 30 identical to the true image data under the conversion result hidden variables c 2 that the generated image data representing the attributes of the second layer c 2 ' as it is to follow the distribution identifier identifies and updates the parameters of the neural network G 3 as a generator. That is, the parameters of the neural network G 3 are updated so that the generated neural network D 3 as a discriminator identifies the generated image as true image data.
  • the learning section 30 In the learning of the neural network D 3 as classifier, the learning section 30, the true image under the transformation result hidden variables c 2 representing the attributes of the second layer image data generated by the generator c 2 ' As a discriminator, the discriminator discriminates that it does not follow the same distribution as the data, and the discriminator discriminates that each image data included in the true image data x follows the same distribution as the true image data. to update the parameters of the neural network D 3.
  • Neural Network Q 3 are under the hidden conversion result c 2 variables c 2 'representing the attributes of the second layer, the hidden variables representing the attributes of the third layer of the image data generated by the neural network G 3 c 3 'is predicted.
  • the learning unit 30 performs the above processing for each learning data, and repeatedly updates various neural network parameters.
  • neural networks G 1 , G 2 , G 3 as generators, neural networks D 1 , D 2 , D 3 as discriminators, and neural networks Q 1 , Q 2 , Q 3 Is stored in the neural network storage unit 40.
  • the signal generation variable generation unit 52 includes hidden variables z i (z 1 , z 2 , z 3 ) representing individuality from a certain data distribution and hidden variables c 2 , c representing respective attributes in the second and subsequent layers. 3 is generated.
  • the signal generation variable generation unit 52 may generate hidden variables z i (z 1 , z 2 , z 3 ) and hidden variables c 2 , c 3 using random numbers.
  • the signal generation unit 56 for each layer, a hidden variable z i representing the individuality generated by the signal generation variable generation unit 52 and a hidden variable representing each attribute of the layer or a hidden variable representing each attribute of the layer. Enter the conversion result of the variable.
  • the signal generation unit 56 generates image data using a neural network as a generator stored in the neural network storage unit 40, and outputs the generated image data by the output unit 90.
  • the signal generating unit 56 stored in the neural network memory section 40, using a neural network G 1 as a generator.
  • the signal generation unit 56 includes a hidden variable z 1 representing individuality generated by the signal generation variable generation unit 52 and a hidden variable c representing each attribute of the first layer. type 1 and, using a neural network G 1, to generate image data.
  • the signal generation unit 56 outputs the generated image data using the output unit 90.
  • Signal generating unit 56 stored in the neural network memory section 40, using a neural network G 2 as a generator.
  • the signal generation unit 56 has a hidden variable z 2 representing individuality generated by the signal generation variable generation unit 52 and a hidden variable representing each attribute of the second layer.
  • the signal generation unit 56 outputs the generated image data using the output unit 90.
  • the hidden variable c 2 ′ representing each attribute of the second layer is obtained by converting the generated hidden variable c 2 representing each attribute of the second layer according to the value of the hidden variable c 1 representing each attribute of the first layer. Is obtained.
  • the hidden variable c 1 of the first layer includes a plurality of attributes corresponding to the attribute represented by the hidden variable c 1 . Multiplied by all of the hidden variables.
  • the signal generation unit 56 uses a neural network G 3 as a generator stored in the neural network storage unit 40. As shown in FIG. 6, the signal generation unit 56 has a hidden variable z 3 representing individuality generated by the signal generation variable generation unit 52 and a hidden variable representing each attribute of the third layer. conversion result of c 3 inputs the c 3 ', using a neural network G 3, and generates image data. The signal generation unit 56 outputs the generated image data using the output unit 90.
  • the hidden variable c 3 ′ representing each attribute of the third layer is a conversion result c 2 ′ of the hidden variable c 3 representing each attribute of the generated third layer and the hidden variable c 2 representing each attribute of the second layer. It is obtained by converting according to the value of.
  • the learning unit 30 the value of hidden variables c 1 representing the attributes of the first layer to convert the latent variables c 2 representing the attributes of the second layer.
  • the learning unit 30 repeats converting the plurality of hidden variables of the next layer in order for each layer of the second and subsequent layers in accordance with the value of the conversion result of the plurality of hidden variables of the layer.
  • the learning unit 30 may input the generated hidden variable z i representing individuality and the conversion result obtained for the hierarchy to a neural network as a generator to generate image data.
  • the signal generation apparatus generates a hidden variable representing individuality in image data and a hidden variable representing each attribute in the second and subsequent layers.
  • the signal generation device converts a hidden variable representing each attribute of the second layer according to the value of the hidden variable representing each attribute of the first layer, which indicates the presence or absence or positive / negative of each attribute in the signal to be generated.
  • the signal generation device also converts hidden variables representing the attributes of the third and subsequent layers in the same manner.
  • the signal generation device generates, for each layer, a hidden variable that represents the generated individuality and a hidden variable that represents each attribute of the layer or a conversion result of the hidden variable that represents each attribute of the layer as a generator. To generate the image data.
  • the signal generation apparatus can generate various image data while controlling the attribute of the image.
  • the signal generation apparatus generates a hidden variable representing individuality in image data and a hidden variable representing each attribute in the second and subsequent layers.
  • the signal generation device includes true image data included in the input learning data, a hidden variable representing each attribute of the first layer in the predicted image data to be generated, and a hidden representing the generated individuality.
  • a neural network as a generator for generating an image for each layer, and the generated image data for each attribute in one shallow layer Recursive learning with a neural network as a discriminator that discriminates whether or not it follows the same distribution as true image data under a hidden variable (or transformation result) representing Repeat.
  • the signal generation device can generate various image data representing handwritten numerals as shown in FIGS. 10A and 10B.
  • the hidden variable c 1 representing each attribute of the first layer is predicted from the image data included in the learning data and used for learning has been described as an example.
  • the present invention is not limited to this. It is not a thing.
  • a hidden variable c 1 representing each attribute of the first layer may be input as learning data.
  • 10A and 10B show an example of image data generated when the hidden variable c 1 is input as learning data. More specifically, information regarding character types (1, 2, 3,...) Is given as learning data.
  • FIG. 10A shows image data generated by a neural network as a generator for each of the first to fourth layers when a hidden variable representing each attribute of the first layer having attribute “0” is input.
  • FIG. 10B shows an image generated by a neural network as a generator for each of the first to fourth layers when a hidden variable representing each attribute of the first layer having attribute “5” is input. Data are shown.
  • the hidden variables representing individuality are different for each layer.
  • the signal generation apparatus can generate various image data representing a face image.
  • FIG. 11A in the example shown in FIGS. 11B and 11C, have entered the hidden variables c 1 as the learning data. Specifically, information regarding the presence or absence of attributes is given as learning data.
  • FIG. 11A shows image data generated by a neural network as a generator for each of the first to fourth layers when a hidden variable representing each attribute of the first layer having the attribute “glasses” is input.
  • FIG. 11B shows image data generated by a neural network serving as a generator for each of the first to fourth layers when a hidden variable representing each attribute of the first layer having the attribute “bangs” is input. Show.
  • FIG. 11A shows image data generated by a neural network as a generator for each of the first to fourth layers when a hidden variable representing each attribute of the first layer having the attribute “bangs” is input. Show.
  • FIG. 11A shows image data generated by a neural network serving as a generator for each of the first to fourth layers when a hidden variable representing
  • 11C shows image data generated by a neural network as a generator for each of the first to fourth layers when a hidden variable representing each attribute of the first layer having the attribute “smile” is input. Show. In the examples shown in FIGS. 11A, 11B, and 11C, the hidden variables representing individuality are different for each layer.
  • hidden variables c 1 , c 2 that represent the attributes of the first layer, the second layer, the third layer, and the fourth layer.
  • the signal generation device can generate an image by controlling the attributes of the image in a multidimensional and hierarchical manner.
  • the signal generating device 100 includes the learning unit 30 that performs learning of the neural network.
  • the present invention is not limited to this.
  • the signal generation learning device including the learning variable generation unit 28 and the learning unit 30 and the signal generation device 100 including the signal generation variable generation unit 52 and the signal generation unit 56 may be configured separately.
  • the input signal is face image data or character image data
  • the input signal is not limited to this, and image data other than these may be used.
  • the input signal may be animal image data (for example, bird image data).
  • the attribute vector y represents the presence / absence of a color
  • the hidden variable z a representing the attribute represents color diversity.
  • the attribute vector y represents the presence or absence of red
  • the hidden variable z a represents which part of the bird is red or shades of red.
  • the attribute vector y represents the shape of the bird's part
  • the hidden variable z a representing the attribute represents the diversity of the bird's part.
  • the attribute vector y indicates whether the tip of the ridge is round or pointed
  • the hidden variable z a indicates how the ridge is round.
  • the input signal may be background image data.
  • the attribute vector y represents the background type
  • the hidden variable z a representing the attribute represents the diversity of the background type.
  • the attribute vector y represents the presence or absence of a sea, mountain, river, house or road
  • the hidden variable z a represents what kind of sea, mountain, river, house or road.
  • the input signal may be house image data.
  • the attribute vector y represents the presence / absence of a color
  • the hidden variable z a representing the attribute represents color diversity.
  • the attribute vector y represents the presence or absence of red
  • the hidden variable z a represents which part of the house is red or shades of red.
  • the input signal may be building image data.
  • the attribute vector y represents the presence / absence of each type of building
  • the hidden variable z a representing the attribute represents the diversity of the building.
  • the attribute vector y represents the presence / absence of a building, a detached house, and a tower
  • the hidden variable z a represents the shape of the building.
  • the attribute vector y represents the presence or absence of the shape of the building part
  • the attribute vector y represents the presence or absence of a flat roof, a round roof, and a triangular roof
  • the hidden variable z a represents how flat the roof is.
  • the input signal is image data
  • the input signal is not limited to this, and may be a signal other than image data.
  • the input signal may be an audio signal (or music signal), text data, or moving image data.
  • the signal generation device When the input signal is an audio signal, the signal generation device generates a hidden variable representing individuality and a hidden variable representing each attribute, and a neural network as a generator generates the audio signal. You may do it.
  • the hidden variable representing each attribute may represent an attribute relating to the person who is the source of the audio signal and an attribute relating to the elements constituting the audio signal.
  • the attribute relating to the person who is the source of the audio signal indicates the presence / absence of charm, emotion, dialect, etc., whether the person is male or female, or whether the person is young or elderly.
  • Attributes relating to the elements constituting the audio signal represent the speed of speech, the pitch of the voice, and the like.
  • the signal generation device can generate various audio signals while controlling audio attributes.
  • the signal generation device When the input signal is text data, the signal generation device generates a hidden variable representing individuality and a hidden variable representing each attribute, and a neural network as a generator generates text data. You may do it.
  • the hidden variable representing each attribute may represent an attribute relating to a person who is a source of text data and an attribute relating to elements constituting the text data. For example, the attribute relating to a person represents politeness, whether the person is male or female. Attributes related to elements include whether the text is abstract or specific, whether the text is emotional, the genre of the text, whether the text is colloquial or literary, or the text is formal Indicates whether or not. Thereby, the signal generation device can generate various text data while controlling the attribute of the text.
  • the signal generation device When the input signal is moving image data, the signal generation device generates a hidden variable representing individuality and a hidden variable representing each attribute, and a neural network as a generator generates moving image data. You may do it.
  • a hidden variable representing each attribute represents an attribute relating to an element constituting the moving image data. For example, the attribute regarding the element represents the comical degree, whether the moving image is old or new, whether the moving image is a live action or an animation, the presence of emotion, the genre of the moving image, and the like.
  • the signal generation device can generate various moving image data while controlling the attribute of the moving image.
  • the signal generation device When the input signal is a music signal (song), the signal generation device generates a hidden variable representing individuality and a hidden variable representing each attribute, and a neural network as a generator generates a music signal. May be generated.
  • a hidden variable representing individuality represents a timbre
  • a hidden variable representing each attribute represents a musical tone.
  • the tune includes rap and orchestra. Thereby, the signal generation device can generate various music signals while controlling the attributes of the music signals.
  • the CNN is used as the generator, the discriminator, and the neural network for estimating the approximate distribution has been described as an example.
  • the present invention is not limited to this, and other neural network structures are used. Also good.
  • RNN Recurrent Neural Network
  • LSTM Long Short-Term Memory
  • the hidden variable c 1 representing each attribute of the first layer is predicted from the image data included in the learning data and used for learning has been described as an example, but the present invention is not limited to this.
  • the hidden variable c 1 representing each attribute of the first layer may be input to the learning unit 30 as learning data.
  • the hidden variable c 1 representing each attribute of the first layer but also a hidden variable representing each attribute of an arbitrary hierarchy may be input as learning data to the learning unit 30 to learn a deeper hierarchy.
  • the attribute vector y is assigned to all the image data x included in the learning data.
  • the attribute vector y may be assigned only to some image data x included in the learning data.
  • the learning data may not include the attribute vector y.
  • the signal generation device may estimate the attribute vector y in the same manner as the signal generation device according to the second embodiment estimates the hidden variable c 1 representing each attribute corresponding to the attribute vector y. .
  • the signal generation device may learn each neural network based on the estimated attribute vector y.
  • the hidden variable when a hidden variable representing each attribute of an arbitrary hierarchy is input as learning data, the hidden variable may be assigned to a part of the image data x included in the learning data. Good.
  • the signal generation apparatus converts the hidden variable c i by the value of the hidden variable c i ⁇ 1 ′ representing each attribute of the previous layer to obtain the hidden variable c i ′.
  • One way, may be obtained variable c i 'hidden by converting latent variables c i.
  • the neural network may perform a process of converting the hidden variable z a with the attribute vector y.
  • the learning unit may perform the learning of the neural network that converts the hidden variable z a together with the learning of the neural network G as a generator.
  • the neural network may perform processing for converting the hidden variable c i with the hidden variable c i ⁇ 1 ′ to obtain the hidden variable c i ′.
  • the learning unit may perform the learning of the neural network to obtain the hidden variable c i ′ together with the learning of the neural network G i as a generator.
  • the signal generation device in the first embodiment generates the hidden variables z i and z a using random numbers based on the category distribution or the uniform distribution.
  • the method of generating the hidden variables z i and z a is not limited to this.
  • the signal generation device may generate the hidden variables z i and z a based on an arbitrary distribution including a Gaussian distribution, a Dirichlet distribution, and the like.
  • the signal generation device according to the second embodiment generates hidden variables z 1 , z 2 , z 3 , c 1 , c 2 , c 3 based on an arbitrary distribution including a Gaussian distribution, a Dirichlet distribution, and the like. It may be generated.
  • the signal generation device in the first and second embodiments may include a neural network that generates each hidden variable.
  • the signal generation apparatus uses the objective function expressed by Expression (5) as an optimization condition in learning between the neural network G as a generator and the neural network D as a discriminator.
  • the objective function representing the optimization condition in learning with the neural network G as the generator and the neural network D as the discriminator is not limited to this.
  • the signal generation apparatus may use any extended model including Least Squares GAN, Wasserstein GAN, and the like.
  • the neural network D as the discriminator in the first and second embodiments discriminates whether or not the image data generated by the generator follows the same distribution as the true image data under the attribute vector explained.
  • the object identified by the neural network D as the classifier is not limited to this.
  • the neural network D as a discriminator may discriminate whether or not the generated image data follows the same distribution as the true image data.
  • an identification result indicating whether the image data includes an attribute vector may be added to the objective function in learning with the neural network G as the generator and the neural network D as the classifier.
  • an objective function is represented by Formula (8), for example.
  • the neural network G as a generator
  • the neural network D as a discriminator
  • L GAN (D, G) is represented by Formula (9-1).
  • L MI / AC (G, Q 1 ) includes L MI (G, Q 1 ) represented by the equation (9-2) and L AC (G, Q 1 ) represented by the equation (9-3). It represents using either. If the learning data does not include an attribute vector, L MI (G, Q 1 ) is used. When the learning vector includes an attribute vector, L AC (G, Q 1 ) is used.
  • L HCMI (G, Q l ) is represented by the formula (9-4).
  • x to P data (x) represent sampling of true image data x from learning data.
  • z to P (z) represent generation of a hidden variable z (z i , z a ) from a certain data distribution.
  • c 1 to P (c 1 ) indicate that the attribute vector c 1 of the first layer is generated from a certain data distribution.
  • x to G ( ⁇ c L , z) are obtained by using the neural network G as a generator based on the hidden variable ⁇ c L representing each attribute in the L hierarchy and the hidden variable z (z i , z a ). It represents generating.
  • c 1 , x ⁇ P data (c 1 , x) represents sampling the true image data x and the attribute vector c 1 corresponding to the image data x from the learning data.
  • p) represent sampling the hidden variable c according to the distribution of P (c
  • c is a hidden variable representing each attribute of the l-th layer
  • p is a hidden variable representing each attribute of the (l-1) -th layer.
  • the learning unit 30 when the discriminator identifies whether or not the generated image data follows the same distribution as the true image data, the learning unit 30 has the three layers shown in FIG. Instead of the configuration having the neural network, a configuration having a one-layer neural network shown in FIG. 12 may be provided.
  • the learning unit 30 includes the configuration of the one-layer neural network illustrated in FIG. 12, the learning unit 30 represents a neural network G 3 that operates as a generator, a neural network D 3 that operates as a discriminator, and each attribute. It has neural networks Q 1 , Q 2 , Q 3 that estimate the distribution of hidden variables c 1 , c 2 ′, c 3 ′.
  • the learning unit 30 updates the parameters of the neural network to be learned by fixing the parameters of other neural networks other than the one neural network to be learned.
  • the learning of each neural network included in the learning unit 30 is repeatedly performed for each learning data, similarly to the learning described in the first and second embodiments.
  • the learning unit 30 is based on the hidden variables c 2 and c 3 set with predetermined initial values and the hidden variables z 3 and c 1 generated from a certain data distribution. Te, to update the parameters of the neural network Q 1.
  • the learning unit 30 uses the neural network based on the hidden variable c 3 in which the initial value is set and the hidden variables z 3 , c 1 , and c 2 generated from a certain data distribution. to update the parameters of Q 2.
  • the learning unit 30 updates the parameters of the neural network Q 3 based on hidden variables z 3 , c 1 , c 2 , and c 3 generated from a certain data distribution.
  • the initial values set in the hidden variables c 2 and c 3 representing the attributes are determined based on, for example, the expected value and the average value of the values that the hidden variables c 2 and c 3 can take. Alternatively, the initial value may be determined based on the number of variables included in the hidden variables c 2 and c 3 .
  • the learning of the neural networks G 3 and D 3 is the same as the learning described in the second embodiment.
  • the neural network D as a discriminator may identify whether or not the image data includes an attribute vector.
  • the discriminator may further include a neural network that determines whether or not each attribute is included in the input image data.
  • the signal generation device may apply a known image processing technique to the generated image data.
  • the signal generation device may perform super-resolution processing or image quality correction on the generated image.
  • the present invention can be applied to applications that require generation of various signals while controlling the attributes of the generated signals.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

信号生成装置は、変数生成部と信号生成部とを含む。変数生成部は、信号における複数の特徴に対応する複数の隠れ変数を生成する。信号生成部は、生成しようとする信号における属性を表す属性ベクトルにより複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、複数の隠れ変数のうち一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも1つのニューラルネットワークに入力し、少なくとも1つのニューラルネットワークを用いて生成しようとする信号を生成する。

Description

信号生成装置、信号生成学習装置、方法、及びプログラム
 本発明は、信号生成装置、信号生成学習装置、方法、及びプログラムに係り、特に、信号を生成するための信号生成装置、信号生成学習装置、方法、及びプログラムに関する。
 本願は、2017年5月2日に、日本に出願された特願2017-091742号に基づき優先権を主張し、その内容をここに援用する。
 従来より、画像を生成する方法が知られている(非特許文献1、2)。非特許文献1に記載の方法では、生成器と識別器とを含むGenerative Adversarial Networks(GAN)により、乱数から画像を生成する生成器を学習する。また、非特許文献2に記載の方法では、教師データとして与えられた属性情報を用いて、生成器と識別器とを含むConditional Generative Adversarial Networks(CGAN)により、乱数から画像を生成する生成器を学習している。
I. Goodfellow et al., "Generative Adversarial Nets," NIPS2014 M. Mirza and S. Osindero, "Conditional Generative Adversarial Nets," ArXiv:1411.1784v1, November 2014
 非特許文献1に記載の方法では、生成する画像を制御することができない。
 また、非特許文献2に記載の方法では、属性の表現能力は教師データに制約されるため、表現能力に限界がある。
 本発明は、上記事情を考慮して成されたものであり、属性を制御しつつ、多様な信号を生成することができる信号生成装置、方法、及びプログラムを提供することを目的とする。
 また、信号の属性を制御しつつ、多様な信号を生成することができるニューラルネットワークを学習することができる信号生成学習装置及びプログラムを提供することを目的とする。
 上記目的を達成するために、本発明の第1の態様に係る信号生成装置は、信号における複数の特徴に対応する複数の隠れ変数を生成する変数生成部と、生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも1つのニューラルネットワークに入力し、前記少なくとも1つのニューラルネットワークを用いて前記生成しようとする信号を生成する信号生成部と、を含む。
 本発明の第2の態様によれば、第1の態様の信号生成装置において、前記属性を表す隠れ変数は、前記属性に対して、複数の隠れ変数を有する。
 本発明の第3の態様によれば、第1又は第2の態様の信号生成装置において、前記信号生成部は、前記生成しようとする信号を生成する複数の階層を有し、前記信号生成部は、前記複数の階層それぞれに設けられたニューラルネットワークを前記少なくとも1つのニューラルネットワークとして有し、前記複数の階層のうち1層目の属性を表す隠れ変数は、前記属性ベクトルであり、前記複数の階層のうち2層目以降の属性を表す隠れ変数は、当該属性を表す隠れ変数に対応する層より浅い層の属性を表す隠れ変数に基づいて前記複数の隠れ変数のうち一部の隠れ変数を変換することにより得られ、前記信号生成部は、前記複数の階層それぞれの属性を表す隠れ変数を、前記属性を表す変数の階層に対応する前記ニューラルネットワークに入力し、前記ニューラルネットワークそれぞれを用いて前記生成しようとする信号を生成する。
 本発明の第4の態様によれば、第1から第3の態様の何れかの信号生成装置において、前記変数生成部は、乱数により、前記複数の隠れ変数を生成する。
 本発明の第5の態様に係る信号生成方法は、変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、学習部が、生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも1つのニューラルネットワークに入力し、前記少なくとも1つのニューラルネットワークを用いて前記生成しようとする信号を生成する。
 本発明の第6の態様に係る信号生成学習装置は、信号における特徴を表す複数の隠れ変数を生成する変数生成部と、真の信号とを含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第1のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第2のニューラルネットワークとを互いに競合する最適化条件に従って学習させる学習部と、を含む。
 本発明の第7の態様に係る信号生成学習方法は、変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、学習部が、真の信号を含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第1のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第2のニューラルネットワークとを互いに競合する最適化条件に従って学習させる。
 本発明の第8の態様に係るプログラムは、コンピュータを、第1から第4の態様の信号生成装置及び第6の態様の信号生成学習装置のうち何れかの装置として機能させるためのプログラムである。
 本発明の信号生成装置、方法、及びプログラムによれば、信号における個体性を表す隠れ変数、及び属性を表す隠れ変数が生成される。生成しようとする信号における属性を表す属性ベクトルの値により、属性を表す隠れ変数が変換される。前記生成された個体性を表す隠れ変数、及び変換結果を入力としてニューラルネットワークが信号を生成することにより、属性を制御しつつ、多様な信号を生成することができる、という効果が得られる。
 本発明の信号生成学習装置、方法、及びプログラムによれば、信号における個体性を表す隠れ変数、及び属性を表す隠れ変数が生成される。入力された真の信号と、前記生成された個体性を表す隠れ変数、及び属性を表す隠れ変数とに基づいて、信号を生成するための生成器としての第1のニューラルネットワークと、前記生成された信号が、真の信号と同一の分布に従うか否かを識別する識別器としての第2のニューラルネットワークとが、互いに競合する最適化条件に従って学習することにより、属性を制御しつつ、多様な信号を生成することができる第1のニューラルネットワークの学習をすることができる、という効果が得られる。
本発明の第1の実施の形態における生成器の概念図である。 第1の実施の形態における生成器及び識別器の概念図である。 第1の実施の形態に係る信号生成装置の構成を示すブロック図である。 第1及び第2の実施の形態に係る信号生成装置における学習処理ルーチンを示すフローチャートである。 第1及び第2の実施の形態に係る信号生成装置における生成処理ルーチンを示すフローチャートである。 第2の実施の形態における3層目の生成器の概念図である。 第2の実施の形態における生成器、識別器、及び近似分布の概念図である。 第2の実施の形態における1層目の生成器の概念図である。 第2の実施の形態における2層目の生成器の概念図である。 第2の実施の形態に係る信号生成装置により、手書き数字を表す画像データを生成した例を示す図である。 第2の実施の形態に係る信号生成装置により、手書き数字を表す画像データを生成した他の例を示す図である。 第2の実施の形態に係る信号生成装置により、顔画像を表す画像データを生成した第1の例を示す図である。 第2の実施の形態に係る信号生成装置により、顔画像を表す画像データを生成した第2の例を示す図である。 第2の実施の形態に係る信号生成装置により、顔画像を表す画像データを生成した第3の例を示す図である。 第2の実施の形態における学習部が備える構成の一例を示す図である。
 以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の第1の実施の形態に係る概要>
 まず、本発明の第1の実施の形態における概要を説明する。
 人物のポートレート画像として世の中には多様な画像データが存在する。様々な顔の向き、様々な照明条件、様々な年齢、様々な表情などである。
 そこで、本実施の形態における信号生成装置は、複数の隠れ変数を生成し、ニューラルネットワークを用いて、画像を生成する。複数の隠れ変数は、画像を表現するのに有用なエッセンスのようなものであり、画像の特徴を示す。信号生成装置は、ニューラルネットワークとして、例えばConvolutional Neural Networks (CNN)を用いる。
 また、画像の特徴を示す一つの属性の中にも多様性が存在する。例えば、一言に「前髪」と言っても様々な形状が存在する。
 そこで、本実施の形態では、図1に示すように、生成器2は、生成する画像の各属性を複数の隠れ変数で表現する。具体的には、複数の隠れ変数を個体性と属性とに分離することで、生成器2により生成される画像の属性をコントロールしやすくする。生成器2は、各属性を複数の隠れ変数で表現することにより、十分な表現能力を得る。属性が離散的な値で表現される場合、属性が取り得る離散的な値で定められた区間における任意の値を取り得る連続値で隠れ変数を表現してもよい。連続値を有する隠れ変数で各属性を表現することにより、生成器2は、十分な表現能力を得る。同様に、属性がある分布で表現される場合、それよりもより詳細な分布で隠れ変数を表現してもよい。より詳細な分布に従う隠れ変数で各属性を表現することにより、生成器2は、十分な表現能力を得る。
 図1に例示される生成器2は、2層のネットワークからなるニューラルネットワークGを有し、入力される隠れ変数z、zと属性ベクトルyとに基づいて画像データG(z,z,y)を生成する。画像の属性は、複数の隠れ変数のうち属性ベクトルyにより制約が付与される隠れ変数zで示される。画像の個体性は、複数の隠れ変数のうち属性ベクトルyにより制約が付与されない隠れ変数zで示される。属性ベクトルyは、少なくとも1つの属性の有無又は度合いを表す。
 また、GANを用いて生成器の構造を学習する場合には、生成器の入力が乱数zのみなので、個体性と属性とを容易に分離することが出来ない。CGANを用いた場合には、生成器の入力が乱数zと属性ベクトルyとであり、生成器を属性ベクトルyで条件付けされた識別器と学習させることで、個体性と属性との分離が出来る。しかし、属性ベクトルyは属性の有無や正負などの限定的な特徴を表すため、個体性と分離できる属性情報は限定的となる。
 そこで、本実施の形態では、図2に示すように、学習時にConditional Filtered Generative Adversarial Networks (CFGAN)を一緒に学習する。CFGANは、生成器2と識別器3とを含む。生成器2の入力が乱数zと属性の多次元表現であるz’とを含むため、属性情報yで条件付けられた識別器3とともに生成器2を学習させることで個体性と詳細な属性情報zとを分離できる。
 従来法では、画像の精緻化という目的で生成器と識別器とを含むGANを利用していたが(非特許文献1参照)、本実施の形態では、個体性と属性との分離のために生成器2と識別器3とを含むCFGANを利用する。
<本発明の第1の実施の形態に係る信号生成装置の構成>
 本発明の第1の実施の形態に係る信号生成装置の構成について説明する。図3に示すように、本発明の第1の実施の形態に係る信号生成装置100は、入力部10と、演算部20と、出力部90とを備えている。信号生成装置100は、central processing unit (CPU)とrandom access memory (RAM)とread only memory (ROM)とを含むコンピュータで構成してもよい。CPUは、ROMに記憶された後述する学習処理ルーチン及び生成処理ルーチンを実行するためのプログラムと各種データとを読み出し、プログラムを実行することにより入力部10、演算部20及び出力部90として動作してもよい。
 入力部10は、真の画像データx及び当該画像データxの各属性を表す属性ベクトルyのペアを含む複数の学習データを受け付ける。入力部10は、生成しようとする画像データの各属性を表す属性ベクトルyを受け付ける。属性ベクトルyは、例えば属性の有無や正負を表すが、特にこれらに限定されない。
 演算部20は、学習用変数生成部28と、学習部30と、ニューラルネットワーク記憶部40と、信号生成用変数生成部52と、信号生成部56とを含んで構成されている。
 学習用変数生成部28は、あるデータ分布から個体性を表す隠れ変数z及び各属性を表す隠れ変数zを生成する。学習用変数生成部28は、乱数を用いて、隠れ変数z及び隠れ変数zを生成してもよい。
 例えば、属性を表す隠れ変数zが離散的である場合には、学習用変数生成部28は、式(1)に従って、属性を表す隠れ変数zを生成する。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、kは、カテゴリ数(離散的な値の数)を表す。また、Catは、カテゴリ数Kの各カテゴリを示す値からなる分布であり、pは確率である。
 属性を表す隠れ変数zが連続的である場合には、学習用変数生成部28は、式(2)に従って、属性を表す隠れ変数zを生成する。
Figure JPOXMLDOC01-appb-M000002
 式(2)において、Unif(-1,1)は、値の範囲を-1から1までとした一様分布である。
 なお、生成方法はこれらに限定されず、ガウシアン分布やディリクレ分布など任意の分布から隠れ変数zを生成してもよい。
 ある分布から生成されたものを、別のニューラルネットワークで変換したものを隠れ変数zとして用いてもよい。
 学習部30は、生成器2として動作するニューラルネットワークG(第1のニューラルネットワーク)と、識別器3として動作するニューラルネットワークD(第2のニューラルネットワーク)とを有する。2つのニューラルネットワークG、Dは、入力部10に入力された複数の学習データに基づいて、互いに競合する最適化条件に従って学習する。学習部30は、真の画像データxと、当該画像データxの各属性を表す属性ベクトルyと、生成された個体性を表す隠れ変数zと各属性を表す隠れ変数zとを入力する。ニューラルネットワークGは、個体性を表す隠れ変数及び各属性を表す隠れ変数から、画像データを生成する。ニューラルネットワークDは、ニューラルネットワークGにより生成された画像データと、真の画像データxと、属性ベクトルyとを入力し、生成された画像が属性ベクトルyの下で真の画像データと同一の分布に従うか否かを識別する。すなわち、ニューラルネットワークDは、生成された画像データが真の画像データであるか否かを識別する。真の画像データは、複数の学習データに含まれる画像データである。学習部30における各ニューラルネットワークに、例えばCNNが用いられてもよい。
 具体的には、学習部30は、入力された学習データに含まれる真の画像データxと属性ベクトルyと、生成された個体性を表す隠れ変数zと各属性を表す隠れ変数zとを入力とする。ここで、画像データxが、顔画像データである場合には、属性ベクトルyが、「メガネ」、「化粧」、「髭」、「前髪」の各々の有無や、「男性/女性」、「笑顔でない/笑顔」、「老けている/若い」の区別を表す。属性を表す隠れ変数zが、各属性の多様性を表す。属性ベクトルyが「メガネ」の有無を表す場合、属性の多様性は、例えば、メガネの形状及び色を表す。
 画像データxが文字画像データである場合には、属性ベクトルyが、文字の種類(例:a,b,c,…,1,2,…)の各々の有無を表す。属性を表す隠れ変数zが、文字の多様性を表す。例えば、属性ベクトルyが文字「4」を表す場合、文字の多様性は、「4」の大きさや形状を表す。あるいは、属性ベクトルyが、文字のフォント(例:ゴシック体、明朝体、太字、斜体字、…)の各々の有無を表し、属性を表す隠れ変数zが、フォントの多様性を表す。例えば、属性ベクトルyがゴシック体を表す場合、フォントの多様性は、ゴシック体の種別を表す。
 学習部30は、学習用変数生成部28により生成された個体性を表す隠れ変数zと各属性を表す隠れ変数zとを入力し、生成器2としてのニューラルネットワークGを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数z’とから画像データを生成する。生成器2としてのニューラルネットワークGの入力となる各属性を表す隠れ変数z’は、各属性を表す隠れ変数zを属性ベクトルyの値により変換することにより得られ、各属性を多次元で表現する。変換の一例としては、属性ベクトルyが属性の有無を表す場合に、生成された各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。式(3)は、この場合の変換の一例を示す。
Figure JPOXMLDOC01-appb-M000003
 あるいは、属性ベクトルyが属性の正負を表す場合に、生成された各属性を表す隠れ変数zに対して、属性ベクトルyに応じて正負を与えることが考えられる。式(4)は、この場合の変換の一例を示す。
Figure JPOXMLDOC01-appb-M000004
 生成器2としてのニューラルネットワークGの学習において、学習部30は、生成された画像データを属性ベクトルyの下で真の画像データxと同一の分布に従うと識別器3が識別するように、生成器2としてのニューラルネットワークGのパラメータを更新する。すなわち、生成される画像を真の画像データであると識別器3が識別するように、ニューラルネットワークGのパラメータが更新される。
 識別器3としてのニューラルネットワークDの学習において、学習部30は、生成器2により生成された画像データを属性ベクトルyの下で真の画像データxと同一の分布に従わないと識別器3が識別し、かつ、真の画像データxに含まれる各画像データを真の画像データxと同一の分布に従うと識別器3が識別するように、識別器3としてのニューラルネットワークDのパラメータを更新する。
 なお、生成器としてのニューラルネットワークGと、識別器としてのニューラルネットワークDとが、学習において互いに競合する最適化条件は、式(5)で表される。
Figure JPOXMLDOC01-appb-M000005
 式(5)に含まれ、式(6-1)~(6-4)で示される動作は、次の通りである。式(6-1)の動作は、学習データから、真の画像データxと属性ベクトルyをサンプリングすることを表す。式(6-2)の動作は、個体性を表す隠れ変数zを、あるデータ分布から生成することを表す。例えば、個体性を表す隠れ変数zは、乱数で生成する。式(6-3)の動作は、属性を表す隠れ変数zを、あるデータ分布から生成することを表す。例えば、属性を表す隠れ変数zは、乱数で生成する。式(6-4)の動作は、学習データから、属性ベクトルyをサンプリングすることを表す。
Figure JPOXMLDOC01-appb-M000006
 学習部30は、上記の処理を、学習データ毎に行って、生成器2としてのニューラルネットワークGのパラメータと、識別器3としてのニューラルネットワークDのパラメータとを繰り返し交互に更新する。
 最終的に得られた、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDは、ニューラルネットワーク記憶部40に記憶される。
 信号生成用変数生成部52は、あるデータ分布から個体性を表す隠れ変数z及び各属性を表す隠れ変数zを生成する。信号生成用変数生成部52は、乱数を用いて、隠れ変数z及び隠れ変数zを生成してもよい。
 信号生成部56は、信号生成用変数生成部52によって生成された個体性を表す隠れ変数zと各属性を表す隠れ変数zと、生成しようとする画像データの各属性を表す属性ベクトルyとを入力し、ニューラルネットワーク記憶部40に記憶された、生成器2としてのニューラルネットワークGを読み出す。信号生成部56は、読み出したニューラルネットワークGを用いて、属性ベクトルyと隠れ変数z、zとから画像データを生成し、生成した画像データを出力部90により出力する。このとき、生成器2としてのニューラルネットワークGの入力となる各属性を表す隠れ変数z’は、生成された各属性を表す隠れ変数zを属性ベクトルyの値により変換することにより得られる。変換の一例としては、生成された各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。各属性を表す隠れ変数zは、属性毎に複数の隠れ変数を有しているため、属性ベクトルyの要素は、属性が対応する複数の隠れ変数の全てに掛け合わされる。
<本発明の第1の実施の形態に係る信号生成装置の作用>
 本発明の第1の実施の形態に係る信号生成装置100の作用について説明する。信号生成装置100は、以下に説明する学習処理ルーチンと生成処理ルーチンを実行する。
 学習処理ルーチンについて説明する。入力部10が学習データとして、画像データxと属性ベクトルyとの複数のペアを学習データとして受け付けると、信号生成装置100は、図4に示す学習処理ルーチンを実行する。
 ステップS100では、学習部30が、入力部10で受け付けた複数の学習データのうちの何れか一つを取得する。
 ステップS102では、学習用変数生成部28が、あるデータ分布から個体性を表す隠れ変数zと各属性を表す隠れ変数zを生成する。
 ステップS104では、学習部30が、ステップS102で生成された各属性を表す隠れ変数zを、ステップS100で取得した学習データに含まれる属性ベクトルyの値により変換することにより、各属性を表す隠れ変数z’を求める。
 ステップS106では、学習部30が、ステップS102で生成された個体性を表す隠れ変数zと、S104で求められた各属性を表す隠れ変数の変換結果z’とから、生成器2としてのニューラルネットワークを用いて、画像データxを生成する。
 ステップS108では、学習部30が、ステップS102で生成された個体性を表す隠れ変数zと各属性を表す隠れ変数zと、ステップS106で生成された画像データxと、ステップS100で得た学習データに含まれる画像データx及び属性ベクトルyとに基づいて、生成器2としてのニューラルネットワークGのパラメータ、及び識別器3としてのニューラルネットワークDのパラメータを更新する。
 ステップS110では、学習部30が、全ての学習データについて、ステップS100~S108の処理を実行したか否かを判定する。ステップS100~S108の処理に使用されていない学習データが存在する場合、学習部30は、ステップS100へ戻り、当該学習データを取得する。全ての学習データがステップS100~S108の処理に使用されている場合には、学習部30は、学習処理ルーチンを終了する。学習部30は、最終的に得られた、生成器2としてのニューラルネットワークGのパラメータ、及び識別器3としてのニューラルネットワークDのパラメータを、ニューラルネットワーク記憶部40に格納する。
 生成処理ルーチンについて説明する。入力部10が、生成しようとする画像データの各属性を表す属性ベクトルyを受け付けると、信号生成装置100は、図5に示す生成処理ルーチンを実行する。
 ステップS150では、信号生成部56が、入力部10で受け付けた属性ベクトルyを取得する。
 ステップS152では、信号生成用変数生成部52が、あるデータ分布から個体性を表す隠れ変数zと各属性を表す隠れ変数zとを生成する。なお、個体性を表す隠れ変数zと各属性を表す隠れ変数zとをユーザが任意に設定してもよい。
 ステップS154では、信号生成部56が、ステップS152で生成された各属性を表す隠れ変数zを、ステップS150で取得した属性ベクトルyの値により変換して、各属性を表す隠れ変数z’を得る。
 ステップS156では、信号生成部56が、ステップS152で生成された個体性を表す隠れ変数zと、ステップS154で得られた各属性を表す隠れ変数z’とに基づいて、ニューラルネットワーク記憶部40に記憶された、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。信号生成部56は、生成した画像データを出力部90により出力して、生成処理ルーチンを終了する。
 以上説明したように、本発明の第1の実施の形態に係る信号生成装置は、画像データにおける個体性を表す隠れ変数、及び各属性を表す隠れ変数を生成する。信号生成装置は、生成しようとする信号における各属性を表す属性ベクトルを入力し、属性ベクトルの値により、各属性を表す隠れ変数を変換する。信号生成装置は、生成された個体性を表す隠れ変数、及び変換結果を生成器の入力として、生成器としてのニューラルネットワークを用いて、画像データを生成する。上述の動作を含む信号生成方法を行うことにより、第1の実施の形態に係る信号生成装置は、画像の属性を制御しつつ、多様な画像データを生成することができる。例えば、メガネに関する属性だけを変えたい場合は、信号生成部への入力において、個体性を表す隠れ変数zを固定して、属性を多次元で表す隠れ変数zの各次元をインタラクティブに変更すればよい。属性を維持したまま個体性だけを変えたい場合は、信号生成部の入力において、各属性を表す隠れ変数zを固定して、個体性を表す隠れ変数zを変更すればよい。
 本発明の第1の実施の形態に係る信号生成装置は、画像データにおける個体性を表す隠れ変数、及び各属性を表す隠れ変数を生成する。信号生成装置は、入力された学習データに含まれる真の画像データと、生成された個体性を表す隠れ変数、及び各属性を表す隠れ変数とに基づいて、画像を生成する生成器としてのニューラルネットワークと、生成された画像データが、属性ベクトルの下での真の画像データと同一の分布に従うか否かを識別する識別器としてのニューラルネットワークとを、互いに競合する最適化条件に従って学習させる。上述の動作を含む信号生成学習方法を行うことにより、信号生成装置は、画像の属性を制御しつつ、多様な画像データを生成することができるニューラルネットワークを学習することができる。
 信号生成学習装置は、属性毎に、複数の隠れ変数、またはより詳細な分布に従う隠れ変数を有するため、属性の多様性を表現することができる。
 上記の実施の形態において、学習部30が、互いに競合する最適化条件に従って、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDとを学習する場合を例に説明したが、これに限定されるものではない。例えば、各隠れ変数が独立なものを表現するように制約を更に設けてもよい。具体的には、式(7)に示す、隠れ変数z’と、隠れ変数z’から生成された画像データとの相関(情報量)が大きくなるように制約を更に設ける。
Figure JPOXMLDOC01-appb-M000007
 式(7)において、I(z’;G(z,z,y)|y)は、属性ベクトルyの下において生成される画像G(z,z,y)と、各属性を表す隠れ変数z’との相互情報量を表す。H(z’|y)、H(z’|G(z,z,y),y)は、条件付きエントロピーを表す。Eは期待値を表す。DKLは、KL(Kullback-Leibler)ダイバージェンスを表す。P(z’|x,y)は学習データに含まれる真の画像データx及び属性ベクトルyが与えられたときの各属性を示す隠れ変数z’の分布を表す。^z’(^はzの上に付される)は、P(z’|x,y)の分布に従って得られた隠れ変数である。
 P(z’|x,y)は未知であるため、上記の情報量Iを直接求めることは困難である。そのため、上記のように近似分布Q(z’|x,y)を導入する。学習部30は、変分法を使い、情報量Iの下限を最大化するように、近似分布Q(z’|x,y)を推定するニューラルネットワークQを学習すると共に、互いに競合する最適化条件の最適化を行う。これにより、属性「メガネ」に対する複数の隠れ変数が隠れ変数z と隠れ変数z とを含み、かつ、属性「メガネ」に対する隠れ変数z がサングラスを表す場合に、隠れ変数z がサングラス以外のメガネを表現するようになる。
<本発明の第2の実施の形態に係る概要>
 本発明の第2の実施の形態に係る信号生成装置の構成について説明する。第2の実施の形態に係る信号生成装置は、第1の実施の形態に係る信号生成装置と同様であるため、同一の符号を付して説明を省略する。
 第2の実施の形態では、各属性を表す隠れ変数が、階層構造になっている点が、第1の実施の形態と異なっている。
 第2の実施の形態では、信号生成装置100は、属性に対して階層的な制御を行う。この制御を実現するために、図6に示すように、各属性を表す隠れ変数が、2階層以上の階層的な隠れ変数であって、階層的に変換される構造を学習部30が有する。1層目の隠れ変数cは1層目の各属性を表す隠れ変数であり、第1の実施の形態における属性ベクトルyに対応している。隠れ変数は、例えば属性の有無や正負を表すが、特にこれらに限定されない。
 2層目の隠れ変数cは、1層目の隠れ変数cの値により変換され、変換結果c’が得られる。3層目の隠れ変数cは、2層目の隠れ変数cの変換結果c’の値により変換され、変換結果c’が得られる。信号生成装置100は、3層目において、個体性を表す隠れ変数zと、各属性を表す隠れ変数としての変換結果c’とを生成器の入力とし、生成器としてのニューラルネットワークGにより、画像データを生成する。同様に、信号生成装置100は、1層目、2層目において、生成器としてのニューラルネットワークGにより、画像データをそれぞれ生成する。
 ニューラルネットワークの学習では、図7に示すように、1層目の隠れ変数c及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、隠れ変数cの分布を推定するニューラルネットワークQの学習が行われる。2層目の隠れ変数の変換結果c’及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、隠れ変数c’の分布を推定するニューラルネットワークQの学習が行われる。3層目の隠れ変数の変換結果c’及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、隠れ変数c’の分布を推定するニューラルネットワークQの学習が行われる。各層における学習は順次行われる。図7におけるP、P、Pは、識別器としてのニューラルネットワークD、D、Dによる識別結果をそれぞれ表す。
 上述のように、信号生成装置100は、1層目の隠れ変数に対応する各ニューラルネットワークを最初に学習し、その学習結果をもとに一層深い層の隠れ変数に対応するニューラルネットワークを学習することを再帰的に行って、一階層ずつ、各ニューラルネットワークを学習する。階層的な学習により、浅い階層において、抽象的な概念が最初に獲得され、階層が深くなるに従って、徐々に属性の多様性を詳細化することができる。
<本発明の第2の実施の形態に係る信号生成装置の構成>
 本発明の第2の実施の形態に係る信号生成装置100の入力部10は、学習データとして、複数の真の画像データxを受け付ける。
 学習用変数生成部28は、あるデータ分布から個体性を表す隠れ変数z(z、z、z)及び各階層における各属性を表す隠れ変数c、c、cを生成する。各隠れ変数は、例えば各階層における属性の有無や正負を表すものが考えられるが、特にこれらに限定されない。学習用変数生成部28は、乱数を用いて、隠れ変数z(z、z、z)及び隠れ変数c、c、cを生成してもよい。
 学習部30は、生成器として動作するニューラルネットワークG、G、Gと、識別器として動作するニューラルネットワークD、D、Dと、隠れ変数c、c’、c’の分布を推定するニューラルネットワークQ、Q、Qとを有する。
 生成器としてのニューラルネットワークG、G、Gは、真の画像データxと、生成された個体性を表す隠れ変数zと、各階層における各属性を表す隠れ変数c、c、cとを入力とし、個体性を表す隠れ変数z及び各属性を表す隠れ変数c、c、cから、画像データをそれぞれ生成する。識別器として動作するニューラルネットワークD、D、Dは、ニューラルネットワークG、G、Gにより生成された画像データが真の画像データと同一の分布に従うか否かをそれぞれ識別する。ニューラルネットワークQ、Q、Qは、ニューラルネットワークG、G、Gにより生成される画像データについての各属性を示す隠れ変数c、c’、c’に対する分布P(c|x)、P(c’|x,c)、P(c’|x,c,c’)の近似分布をそれぞれ推定する。ニューラルネットワークQ、Q、Qは、推定した近似分布に基づいて、各属性を表す隠れ変数c、c’、c’をそれぞれ推定する。
 生成器、識別器として動作する各ニューラルネットワークG、G、G、D、D、Dは、入力部10に入力された複数の学習データに基づいて、互いに競合する最適化条件に従い学習する。同時に、ニューラルネットワークQ、Q、Qは、ニューラルネットワークG、G、Gにより生成された画像データの情報量の下限を最大化するように学習する。学習部30は、各階層のニューラルネットワークに対して学習を再帰的に繰り返し行う。学習部30における各ニューラルネットワークに、例えばCNNが用いられてもよい。
 具体的には、学習部30は、1層目に対して、入力された学習データに含まれる真の画像データxと、生成された個体性を表す隠れ変数zと、生成された1層目の各属性を表す隠れ変数cとを入力とする。
 学習部30は、生成された個体性を表す隠れ変数zと、1層目の各属性を表す隠れ変数cとをニューラルネットワークGの入力とし、生成器としてのニューラルネットワークGを用いて、画像データを生成する。
 生成器としてのニューラルネットワークGの学習において、学習部30は、生成された画像データを真の画像データと同一の分布に従うと識別器が識別するように、ニューラルネットワークGのパラメータを更新する。すなわち、生成される画像を真の画像データであると識別器としてのニューラルネットワークDが識別するように、ニューラルネットワークGのパラメータが更新される。
 識別器としてのニューラルネットワークDの学習において、学習部30は、生成器により生成された画像データを真の画像データと同一の分布に従わないと識別器が識別し、かつ、真の画像データxに含まれる各画像データを真の画像データと同一の分布に従うと識別器が識別するように、識別器としてのニューラルネットワークDのパラメータを更新する。
 ニューラルネットワークQは、生成器としてのニューラルネットワークGにより生成された画像データについての1層目の各属性を表す隠れ変数cを予測する。ニューラルネットワークQの学習において、学習部30は、隠れ変数cと、隠れ変数cから生成された画像データとの相関(情報量)の下限が最大化するように、ニューラルネットワークQのパラメータを更新する。
 学習部30は、2層目に対して、入力された学習データに含まれる真の画像データxと、ニューラルネットワークQによって予測された1層目の各属性を表す隠れ変数cと、生成された個体性を表す隠れ変数zと、生成された2層目の各属性を表す隠れ変数cとを入力とする。このとき、2層目の各属性を表す隠れ変数c’は、2層目の各属性を表す隠れ変数cを、1層目の各属性を表す隠れ変数cの値により変換することにより得られる。変換の一例としては、2層目の各属性を表す隠れ変数cと1層目の各属性を表す隠れ変数cとを掛け合わせることが考えられる。
 学習部30は、生成された個体性を表す隠れ変数zと、生成された2層目の各属性を表す隠れ変数cの変換結果c’とをニューラルネットワークGの入力とし、生成器としてのニューラルネットワークGを用いて、画像データを生成する。
 生成器としてのニューラルネットワークGの学習において、学習部30は、生成された画像データを1層目の各属性を表す隠れ変数cの下で真の画像データと同一の分布に従うと識別器が識別するように、生成器としてのニューラルネットワークGのパラメータを更新する。すなわち、生成される画像を真の画像データであると識別器としてのニューラルネットワークDが識別するように、ニューラルネットワークGのパラメータが更新される。
 識別器としてのニューラルネットワークDの学習において、学習部30は、生成器により生成された画像データを1層目の各属性を表す隠れ変数cの下で真の画像データと同一の分布に従わないと識別器が識別し、かつ、真の画像データxに含まれる各画像データを真の画像データと同一の分布に従うと識別器が識別するように、識別器としてのニューラルネットワークDのパラメータを更新する。
 ニューラルネットワークQは、1層目の各属性を表す隠れ変数cの下で、ニューラルネットワークGにより生成された画像データについての2層目の各属性を表す隠れ変数c’を予測する。ニューラルネットワークQの学習において、学習部30は、隠れ変数c’と、隠れ変数c’から生成された画像データとの相関(情報量)の下限が最大化するように、ニューラルネットワークQのパラメータを更新する。
 学習部30は、3層目に対して、入力された学習データに含まれる真の画像データxと、ニューラルネットワークQによって予測された2層目の各属性を表す隠れ変数c’と、生成された個体性を表す隠れ変数zと、生成された3層目の各属性を表す隠れ変数cとを入力とする。このとき、3層目の各属性を表す隠れ変数c’は、3層目の各属性を表す隠れ変数cを、2層目の各属性を表す隠れ変数cの変換結果c’の値により変換することにより得られる。
 学習部30は、生成された個体性を表す隠れ変数zと、生成された3層目の各属性を表す隠れ変数cの変換結果c’とをニューラルネットワークGの入力とし、生成器としてのニューラルネットワークGを用いて、画像データを生成する。
 生成器としてのニューラルネットワークGの学習において、学習部30は、生成された画像データを2層目の各属性を表す隠れ変数cの変換結果c’の下で真の画像データと同一の分布に従うと識別器が識別するように、生成器としてのニューラルネットワークGのパラメータを更新する。すなわち、生成される画像を真の画像データであると識別器としてのニューラルネットワークDが識別するように、ニューラルネットワークGのパラメータが更新される。
 識別器としてのニューラルネットワークDの学習において、学習部30は、生成器により生成された画像データを2層目の各属性を表す隠れ変数cの変換結果c’の下で真の画像データと同一の分布に従わないと識別器が識別し、かつ、真の画像データxに含まれる各画像データを真の画像データと同一の分布に従うと識別器が識別するように、識別器としてのニューラルネットワークDのパラメータを更新する。
 ニューラルネットワークQは、2層目の各属性を表す隠れ変数cの変換結果c’の下で、ニューラルネットワークGにより生成された画像データについての3層目の各属性を表す隠れ変数c’を予測する。ニューラルネットワークQの学習において、学習部30は、隠れ変数c’と、隠れ変数c’から生成された画像データとの相関(情報量)の下限が最大化するように、ニューラルネットワークQのパラメータを更新する。
 学習部30は、上記の処理を、学習データ毎に行って、各種のニューラルネットワークのパラメータを繰り返し更新する。
 最終的に得られた、生成器としてのニューラルネットワークG、G、Gと、識別器としてのニューラルネットワークD、D、Dと、ニューラルネットワークQ、Q、Qとは、ニューラルネットワーク記憶部40に記憶される。
 信号生成用変数生成部52は、あるデータ分布から個体性を表す隠れ変数z(z、z、z)及び2層目以降の各階層における各属性を表す隠れ変数c、cを生成する。信号生成用変数生成部52は、乱数を用いて、隠れ変数z(z、z、z)及び隠れ変数c、cを生成してもよい。
 信号生成部56は、各階層に対し、信号生成用変数生成部52によって生成された個体性を表す隠れ変数zと、当該階層の各属性を表す隠れ変数又は当該階層の各属性を表す隠れ変数の変換結果とを入力する。信号生成部56は、ニューラルネットワーク記憶部40に記憶された、生成器としてのニューラルネットワークを用いて、画像データを生成し、生成した画像データを出力部90により出力する。
 具体的には、信号生成部56は、ニューラルネットワーク記憶部40に記憶された、生成器としてのニューラルネットワークGを用いる。信号生成部56は、1層目に対し、図8に示すように、信号生成用変数生成部52によって生成された個体性を表す隠れ変数zと1層目の各属性を表す隠れ変数cとを入力し、ニューラルネットワークGを用いて、画像データを生成する。信号生成部56は、生成した画像データを出力部90により出力する。
 信号生成部56は、ニューラルネットワーク記憶部40に記憶された、生成器としてのニューラルネットワークGを用いる。信号生成部56は、2層目に対し、図9に示すように、信号生成用変数生成部52によって生成された個体性を表す隠れ変数zと、2層目の各属性を表す隠れ変数cの変換結果c’とを入力し、ニューラルネットワークGを用いて、画像データを生成する。信号生成部56は、生成した画像データを出力部90により出力する。2層目の各属性を表す隠れ変数c’は、1層目の各属性を表す隠れ変数cの値により、生成された2層目の各属性を表す隠れ変数cを変換することにより得られる。2層目の各属性を表す隠れ変数cは、属性毎に複数の隠れ変数を有しているため、1層目の隠れ変数cは、隠れ変数cが表す属性に対応する複数の隠れ変数の全てに掛け合わされる。
 信号生成部56は、ニューラルネットワーク記憶部40に記憶された、生成器としてのニューラルネットワークGを用いる。信号生成部56は、3層目に対し、図6に示すように、信号生成用変数生成部52によって生成された個体性を表す隠れ変数zと、3層目の各属性を表す隠れ変数cの変換結果c’とを入力し、ニューラルネットワークGを用いて、画像データを生成する。信号生成部56は、生成した画像データを出力部90により出力する。3層目の各属性を表す隠れ変数c’は、生成された3層目の各属性を表す隠れ変数cを、2層目の各属性を表す隠れ変数cの変換結果c’の値により変換することにより得られる。
 なお、4層目以降が存在する場合には、学習部30は、1層目の各属性を表す隠れ変数cの値により、2層目の各属性を表す隠れ変数cを変換する。学習部30は、2層目以降の各階層について順番に、当該階層の複数の隠れ変数の変換結果の値により、次の階層の複数の隠れ変数を変換することを繰り返す。学習部30は、生成された個体性を表す隠れ変数z、及び当該階層について得られた変換結果を、生成器としてのニューラルネットワークに入力して、画像データを生成すればよい。
 なお、第2の実施の形態に係る信号生成装置の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
 以上説明したように、本発明の第2の実施の形態に係る信号生成装置は、画像データにおける個体性を表す隠れ変数、及び2層目以降の各属性を表す隠れ変数を生成する。信号生成装置は、生成しようとする信号における各属性の有無又は正負を表す、1層目の各属性を表す隠れ変数の値により、2層目の各属性を表す隠れ変数を変換する。信号生成装置は、3層目以降の各属性を表す隠れ変数も同様に変換する。信号生成装置は、各階層に対し、生成された個体性を表す隠れ変数と、当該階層の各属性を表す隠れ変数、又は当該階層の各属性を表す隠れ変数の変換結果とを、生成器としてのニューラルネットワークに入力して、画像データを生成する。上述の動作を含む信号生成方法を行うことにより、第2の実施の形態に係る信号生成装置は、画像の属性を制御しつつ、多様な画像データを生成することができる。
 本発明の第2の実施の形態に係る信号生成装置は、画像データにおける個体性を表す隠れ変数、及び2層目以降の各属性を表す隠れ変数を生成する。信号生成装置は、入力された学習データに含まれる真の画像データと、予測された、生成しようとする画像データにおける1層目の各属性を表す隠れ変数と、生成された個体性を表す隠れ変数、及び2層目以降の各属性を表す隠れ変数とに基づいて、各階層に対し、画像を生成する生成器としてのニューラルネットワークと、生成された画像データが、一つ浅い階層の各属性を表す隠れ変数(あるいは変換結果)の下での真の画像データと同一の分布に従うか否かを識別する識別器としてのニューラルネットワークとを、互いに競合する最適化条件に従って学習することを再帰的に繰り返す。上述の動作を含む信号学習方法を行うことにより、信号生成装置は、画像の属性を制御しつつ、多様な画像データを生成することができるニューラルネットワークを学習することができる。
 例えば、第2の実施の形態に係る信号生成装置は、図10A及び図10Bに示すように、手書きの数字を表す多様な画像データを生成することができる。第2の実施の形態では、学習データに含まれる画像データから、1層目の各属性を表す隠れ変数cを予測して、学習に用いる場合を例に説明したが、これに限定されるものではない。例えば、学習する際に、1層目の各属性を表す隠れ変数cを学習データとして入力するようにしてもよい。図10A及び図10Bは、隠れ変数cを学習データとして入力した場合に生成された画像データの例を示す。具体的には、文字の種類(1,2,3、…)に関する情報を学習データとして与えている。図10Aは、属性「0」を有とする1層目の各属性を表す隠れ変数を入力した場合に、1層目~4層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。また、図10Bは、属性「5」を有とする1層目の各属性を表す隠れ変数を入力した場合に、1層目~4層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。図10A及び図10Bに示した例では、階層毎に、個体性を表す隠れ変数が異なっている。
 第2の実施の形態に係る信号生成装置は、図11A、図11B及び図11Cに示すように、顔画像を表す多様な画像データを生成することができる。図11A、図11B及び図11Cに示す例でも、隠れ変数cを学習データとして入力している。具体的には、属性の有無に関する情報を学習データとして与えている。図11Aは、属性「メガネ」を有とする1層目の各属性を表す隠れ変数を入力した場合に、1層目~4層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。図11Bは、属性「前髪」を有とする1層目の各属性を表す隠れ変数を入力した場合に、1層目~4層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。図11Cは、属性「笑顔」を有とする1層目の各属性を表す隠れ変数を入力した場合に、1層目~4層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。図11A、図11B及び図11Cに示した例では、階層毎に、個体性を表す隠れ変数が異なっている。
 図10A、図10B、図11A、図11B及び図11Cに示した例のように、1層目、2層目、3層目、4層目の各属性を表す隠れ変数c、c、c、cの値を変えることで、信号生成装置は、画像の属性について多次元かつ階層的に制御して画像を生成可能である。
 なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
 例えば、上述した実施の形態では、ニューラルネットワークの学習を行う学習部30を含む信号生成装置100として構成していたが、これに限定されるものではない。例えば、学習用変数生成部28及び学習部30を含む信号生成学習装置と、信号生成用変数生成部52及び信号生成部56を含む信号生成装置100とのそれぞれに分けて構成してもよい。
 上述した実施の形態では、入力される信号が、顔画像データや文字画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、これら以外の画像データであってもよい。例えば、入力される信号が、動物画像データ(例えば、鳥画像データ)であってもよい。この場合には、属性ベクトルyが、色の有無を表し、属性を表す隠れ変数zが、色の多様性を表す。例えば、属性ベクトルyが赤色の有無を表し、隠れ変数zが鳥のいずれの部位が赤いか又は赤の色合いを表す。あるいは、属性ベクトルyが、鳥の部位の形状を表し、属性を表す隠れ変数zが、鳥の部位の多様性を表す。例えば、属性ベクトルyが嘴の先端が丸いか、尖っているかを表し、どのように丸い嘴であるかを隠れ変数zが表す。
 入力される信号が、背景画像データであってもよい。この場合には、属性ベクトルyが、背景のタイプを表し、属性を表す隠れ変数zが、背景のタイプの多様性を表す。例えば、属性ベクトルyが海、山、川、家又は道路の有無を表し、どのような海、山、川、家又は道路であるかを隠れ変数zが表す。
 入力される信号が、家画像データであってもよい。この場合には、属性ベクトルyが、色の有無を表し、属性を表す隠れ変数zが、色の多様性を表す。例えば、属性ベクトルyが赤の有無を表し、隠れ変数zが家のいずれの部位が赤いか又は赤の色合いを表す。
 入力される信号が、建物画像データであってもよい。この場合には、属性ベクトルyが、建物の種類それぞれの有無を表し、属性を表す隠れ変数zが、建物の多様性を表す。例えば、属性ベクトルyがビル、戸建及びタワーの有無を表し、どのような形状の建物であるかを隠れ変数zが表す。
 あるいは、属性ベクトルyが、建物のパーツの形状の有無を表し、属性を表す隠れ変数zが、パーツの多様性を表す。例えば、属性ベクトルyが平らな屋根、丸い屋根及び三角形状の屋根の有無を表し、屋根がどのように平らであるかを隠れ変数zが表す。
 上述した実施の形態では、入力される信号が、画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、画像データ以外の信号であってもよい。例えば、入力される信号が、音声信号(あるいは楽曲信号)、テキストデータ、動画データであってもよい。
 入力される信号が、音声信号である場合には、信号生成装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークが音声信号を生成するようにしてもよい。各属性を表す隠れ変数は、音声信号の発生源である人に関する属性や、音声信号を構成する要素に関する属性を表してもよい。例えば、音声信号の発生源である人に関する属性は、魅力、感情及び方言などの有無、人が男性であるか女性であるか、人が若いか年寄りかを表す。音声信号を構成する要素に関する属性は、スピーチの速度、声の高さなどを表す。これにより、信号生成装置は、音声の属性を制御しつつ、多様な音声信号を生成することができる。
 入力される信号が、テキストデータである場合には、信号生成装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークがテキストデータを生成するようにしてもよい。各属性を表す隠れ変数は、テキストデータの発生源である人に関する属性や、テキストデータを構成する要素に関する属性を表してもよい。例えば、人に関する属性は、丁寧度、人が男性であるか女性であるかなどを表す。要素に関する属性は、テキストが抽象的であるか具体的であるか、テキストが感情的であるか否か、テキストのジャンル、テキストが口語的であるか文語的であるか、テキストがフォーマルであるか否かを表す。これにより、信号生成装置は、テキストの属性を制御しつつ、多様なテキストデータを生成することができる。
 入力される信号が、動画データである場合には、信号生成装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークが動画データを生成するようにしてもよい。各属性を表す隠れ変数は、動画データを構成する要素に関する属性を表す。例えば、要素に関する属性は、コミカル度、動画が古いか新しいか、動画が実写であるかアニメであるか、感情の有無、動画のジャンルなどを表す。これにより、信号生成装置は、動画の属性を制御しつつ、多様な動画データを生成することができる。
 入力される信号が、楽曲信号(歌)である場合には、信号生成装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークが楽曲信号を生成するようにしてもよい。例えば、個体性を表す隠れ変数は音色を表し、各属性を表す隠れ変数は曲調を表す。曲調には、ラップ調、オーケストラ調などが含まれる。これにより、信号生成装置は、楽曲信号の属性を制御しつつ、多様な楽曲信号を生成することができる。
 上述した実施の形態では、生成器、識別器、近似分布を推定するニューラルネットワークとして、CNNを用いる場合を例に説明したが、これに限定されるものではなく、他のニューラルネットワーク構造を用いてもよい。例えば、時系列性を考慮したモデルであるRecurrent Neural Network(RNN)やFully Connectedなどを用いてもよい。RNNは、Long Short-Term Memory (LSTM)を用いて構成してもよい。
 第2の実施の形態では、学習データに含まれる画像データから、1層目の各属性を表す隠れ変数cを予測して、学習に用いる場合を例に説明したが、これに限定されない。学習する際に、1層目の各属性を表す隠れ変数cを学習データとして学習部30へ入力するようにしてもよい。
 1層目の各属性を表す隠れ変数cだけでなく、任意の階層の各属性を表す隠れ変数も学習データとして学習部30へ入力して、より深い階層を学習するようにしてもよい。
 第1の実施の形態では、学習データに含まれる全ての画像データxについて、属性ベクトルyが付与されている場合を例に説明したが、これに限定されない。学習データに含まれる一部の画像データxについてだけ、属性ベクトルyが付与されていてもよい。あるいは、学習データが属性ベクトルyを含まずともよい。この場合、信号生成装置は、第2の実施の形態の信号生成装置が属性ベクトルyに対応する各属性を表す隠れ変数cを推定するのと同様に、属性ベクトルyを推定してもよい。信号生成装置は、推定した属性ベクトルyに基づいて、各ニューラルネットワークを学習してもよい。
 第2の実施の形態において、任意の階層の各属性を表す隠れ変数を学習データとして入力するときに、学習データに含まれる画像データxの一部に対して隠れ変数を付与するようにしてもよい。
 第2の実施の形態の信号生成装置が、1つ前の層の各属性を表す隠れ変数ci-1’の値により、隠れ変数cを変換して隠れ変数c’を得る場合について説明した。しかし、信号生成装置は、これに限定されることなく、隠れ変数c’に対応する層より浅い層の隠れ変数c’(j=1,2,…,i-1)のうち少なくとも1つにより、隠れ変数cを変換して隠れ変数c’を得てもよい。例えば、信号生成装置は、隠れ変数c’を得る際に、隠れ変数c’に対応する層より2つ浅い層の隠れ変数ci-2’により、隠れ変数cを変換して隠れ変数c’を得てもよい。更に、信号生成装置は、隠れ変数c’に対応する層より浅い層の隠れ変数c’(j=1,2,…,i-1)と隠れ変数c’との予め定められた関係に基づいて、隠れ変数c’を得てもよい。
 第1の実施の形態の信号生成装置における生成器2において、隠れ変数zを属性ベクトルyで変換する処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数zを変換するニューラルネットワークの学習を、生成器としてのニューラルネットワークGの学習とともに行ってもよい。第2の実施の形態の信号生成装置における生成器2において、隠れ変数cを隠れ変数ci-1’で変換して隠れ変数c’を得る処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数c’を得るニューラルネットワークの学習を、生成器としてのニューラルネットワークGの学習とともに行ってもよい。
 第1の実施の形態における信号生成装置が、カテゴリ分布又は一様分布に基づいた乱数を用いて隠れ変数z、zを生成する場合について説明した。しかし、隠れ変数z、zを生成する方法は、これに限定されない。例えば、信号生成装置は、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数z、zを生成してもよい。第2の実施の形態における信号生成装置は、同様に、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数z,z,z,c,c,cを生成してもよい。あるいは、第1及び第2の実施の形態における信号生成装置は、隠れ変数それぞれを生成するニューラルネットワークを備えてもよい。
 第1及び第2の実施の形態における信号生成装置が、生成器としてのニューラルネットワークGと識別器としてのニューラルネットワークDとの学習における最適化条件として式(5)で表される目的関数を用いる場合について説明した。しかし、生成器としてのニューラルネットワークGと識別器としてのニューラルネットワークDとの学習における最適化条件を表す目的関数は、これに限定されない。例えば、信号生成装置は、Least Squares GAN、Wasserstein GANなどを含む任意の拡張モデルを用いてもよい。
 第1及び第2の実施の形態における識別器としてのニューラルネットワークDが、生成器により生成される画像データが属性ベクトルの下で真の画像データと同一の分布に従うか否かを識別する場合について説明した。しかし、識別器としてのニューラルネットワークDが識別する対象は、これに限定されない。例えば、識別器としてのニューラルネットワークDは、生成される画像データが真の画像データと同一の分布に従うか否かを識別してもよい。この場合、生成器としてのニューラルネットワークGと、識別器としてのニューラルネットワークDとの学習における目的関数に、画像データが属性ベクトルを含むか否かの識別結果を加えてもよい。画像データが属性ベクトルを含むとは、属性ベクトルが示す属性(特徴)が画像データに含まれていることである。画像データが属性ベクトルを含むか否かの識別は、例えば、P(c|x)及びP(c|x,p)の近似分布を推定するニューラルネットワークQ(l=1,2,…,L)が行ってもよい。
 画像データが属性ベクトルを含むか否かの識別結果を、最適化条件としての目的関数に加える場合、例えば、目的関数は式(8)で表される。式(8)で表される目的関数を用いる学習では、生成器としてのニューラルネットワークGと、識別器としてのニューラルネットワークDと、P(c|x)及びP(c|x,p)近似分布を推定するニューラルネットワークQ(l=1,2,…,L)との学習が行われる。
Figure JPOXMLDOC01-appb-M000008
 式(8)における、λ,…,λは、トレードオフ・パラメータである。LGAN(D,G)は式(9-1)で表される。LMI/AC(G,Q)は、式(9-2)で表されるLMI(G,Q)と、式(9-3)で表されるLAC(G,Q)との何れかを用いることを表す。学習データに属性ベクトルが含まれない場合、LMI(G,Q)が用いられる。学習データに属性ベクトルが含まれる場合、LAC(G,Q)が用いられる。LHCMI(G,Q)は、式(9-4)で表される。
Figure JPOXMLDOC01-appb-M000009
 式(9-1)~式(9-4)におけるx~Pdata(x)は、学習データから真の画像データxをサンプリングすることを表す。z~P(z)は、隠れ変数z(z,z)をあるデータ分布から生成することを表す。c~P(c)は、1層目の属性ベクトルcをあるデータ分布から生成することを表す。x~G(^c,z)は、L階層における各属性を表す隠れ変数^cと隠れ変数z(z,z)に基づいて、生成器としてのニューラルネットワークGで画像データを生成することを表す。c,x~Pdata(c,x)は、学習データから真の画像データxと画像データxに対応する属性ベクトルcとをサンプリングすることを表す。c~P(c|p)は、P(c|p)の分布に従って隠れ変数cをサンプリングすることを表す。式(9-4)におけるcはl層目の各属性を表す隠れ変数であり、pは(l-1)層目の各属性を表す隠れ変数である。
 第2の実施の形態の信号生成装置において、生成される画像データが真の画像データと同一の分布に従うか否かを識別器が識別する場合、学習部30は、図7に示した3層のニューラルネットワークを有する構成に代えて、図12に示す1層のニューラルネットワークを有する構成を備えてもよい。図12に示す1層のニューラルネットワークの構成を学習部30が備える場合、学習部30は、生成器として動作するニューラルネットワークGと、識別器として動作するニューラルネットワークDと、各属性を表す隠れ変数c、c’、c’の分布を推定するニューラルネットワークQ、Q、Qとを有する。
 各ニューラルネットワークの学習において、学習部30は、学習対象となる1つのニューラルネットワーク以外の他のニューラルネットワークのパラメータを固定して、学習対象のニューラルネットワークのパラメータを更新する。学習部30が有するニューラルネットワークそれぞれの学習は、第1及び第2の実施の形態において説明した学習と同様に、学習データ毎に繰り返し行われる。
 ニューラルネットワークQの学習を行う際、学習部30は、予め定められた初期値を設定した隠れ変数c、cと、あるデータ分布から生成される隠れ変数z、cとに基づいて、ニューラルネットワークQのパラメータを更新する。ニューラルネットワークQの学習を行う際、学習部30は、初期値を設定した隠れ変数cと、あるデータ分布から生成される隠れ変数z、c、cとに基づいて、ニューラルネットワークQのパラメータを更新する。ニューラルネットワークQの学習を行う際、学習部30は、あるデータ分布から生成される隠れ変数z、c、c、cに基づいて、ニューラルネットワークQのパラメータを更新する。
 属性を表す隠れ変数c、cに設定する初期値は、例えば、隠れ変数c、cが取り得る値の期待値、平均値に基づいて決定される。あるいは、隠れ変数c、cに含まれる変数の数に基づいて初期値を決定してもよい。ニューラルネットワークG、Dの学習は、第2の実施の形態において説明した学習と同様である。
 画像データが属性ベクトルを含むか否かの識別は、識別器としてのニューラルネットワークDが行ってもよい。画像データが属性ベクトルを含むか否かの識別を識別器が行う場合、識別器は、入力される画像データに各属性が含まれるか否かを判定するニュールラルネットワークを更に含んでもよい。
 信号生成装置は、生成した画像データに対して、既知の画像処理技術を適用してもよい。例えば、信号生成装置は、生成した画像に対して超解像処理や画質の補正を行ってもよい。
 本発明は、生成される信号の属性を制御しつつ、多様な信号を生成することが要求される用途に適用できる。
10 入力部
20 演算部
28 学習用変数生成部
30 学習部
40 ニューラルネットワーク記憶部
52 信号生成用変数生成部
56 信号生成部
90 出力部
100 信号生成装置

Claims (8)

  1.  信号における複数の特徴に対応する複数の隠れ変数を生成する変数生成部と、
     生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも1つのニューラルネットワークに入力し、前記少なくとも1つのニューラルネットワークを用いて前記生成しようとする信号を生成する信号生成部と、
     を含む信号生成装置。
  2.  前記属性を表す隠れ変数は、前記属性に対して、複数の隠れ変数を有する請求項1記載の信号生成装置。
  3.  前記信号生成部は、前記生成しようとする信号を生成する複数の階層を有し、
     前記信号生成部は、前記複数の階層それぞれに設けられたニューラルネットワークを前記少なくとも1つのニューラルネットワークとして有し、
     前記複数の階層のうち1層目の属性を表す隠れ変数は、前記属性ベクトルであり、
     前記複数の階層のうち2層目以降の属性を表す隠れ変数は、当該属性を表す隠れ変数に対応する層より浅い層の属性を表す隠れ変数に基づいて前記複数の隠れ変数のうち一部の隠れ変数を変換することにより得られ、
     前記信号生成部は、前記複数の階層それぞれの属性を表す隠れ変数を、前記属性を表す変数の階層に対応する前記ニューラルネットワークに入力し、前記ニューラルネットワークそれぞれを用いて前記生成しようとする信号を生成する、
     請求項1又は請求項2記載の信号生成装置。
  4.  前記変数生成部は、乱数により、前記複数の隠れ変数を生成する、
     請求項1~請求項3の何れか1項記載の信号生成装置。
  5.  信号における特徴を表す複数の隠れ変数を生成する変数生成部と、
     真の信号を含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第1のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第2のニューラルネットワークとを互いに競合する最適化条件に従って学習させる学習部と、
     を含む信号生成学習装置。
  6.  変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、
     学習部が、生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも1つのニューラルネットワークに入力し、前記少なくとも1つのニューラルネットワークを用いて前記生成しようとする信号を生成する、
     信号生成方法。
  7.  変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、
     学習部が、真の信号を含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第1のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第2のニューラルネットワークとを互いに競合する最適化条件に従って学習させる、
     信号生成学習方法。
  8.  コンピュータを、請求項1~請求項4に記載の信号生成装置及び請求項5に記載の信号生成学習装置のうち何れかの装置として機能させるためのプログラム。
PCT/JP2018/017409 2017-05-02 2018-05-01 信号生成装置、信号生成学習装置、方法、及びプログラム WO2018203550A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019515733A JP6912740B2 (ja) 2017-05-02 2018-05-01 信号生成装置、信号生成学習装置、方法、及びプログラム
US16/609,667 US20200151561A1 (en) 2017-05-02 2018-05-01 Signal generation device, signal generation learning device, method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-091742 2017-05-02
JP2017091742 2017-05-02

Publications (1)

Publication Number Publication Date
WO2018203550A1 true WO2018203550A1 (ja) 2018-11-08

Family

ID=64016637

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/017409 WO2018203550A1 (ja) 2017-05-02 2018-05-01 信号生成装置、信号生成学習装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US20200151561A1 (ja)
JP (2) JP6912740B2 (ja)
WO (1) WO2018203550A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021026191A (ja) * 2019-08-08 2021-02-22 ブラザー工業株式会社 学習済みの機械学習モデル、画像データ生成装置、および、方法
JP6856965B1 (ja) * 2020-11-27 2021-04-14 株式会社ネフロック 画像出力装置及び画像出力方法
JP2022136297A (ja) * 2019-02-26 2022-09-15 日本電信電話株式会社 データ変換学習装置、データ変換装置、方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019032421A1 (en) * 2017-08-07 2019-02-14 Siemens Aktiengesellschaft IMPROVED VISUAL LEARNING TECHNOLOGY MACHINE
US20220051146A1 (en) * 2020-08-12 2022-02-17 International Business Machines Corporation Non-iterative federated learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432953B2 (en) * 2016-02-05 2019-10-01 Deepmind Technologies Limited Compressing images using neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN. X ET AL., INFOGAN: INTERPRETABLE REPRESENTATION LEARNING BY INFORMATION MAXIMIZING GENERATIVE ADVERSARIAL NETS, 12 June 2016 (2016-06-12), pages 1 - 9, XP080707424, Retrieved from the Internet <URL:https://arxiv.org/abs/1606.03657> [retrieved on 20180704] *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022136297A (ja) * 2019-02-26 2022-09-15 日本電信電話株式会社 データ変換学習装置、データ変換装置、方法、及びプログラム
JP7388495B2 (ja) 2019-02-26 2023-11-29 日本電信電話株式会社 データ変換学習装置、データ変換装置、方法、及びプログラム
JP2021026191A (ja) * 2019-08-08 2021-02-22 ブラザー工業株式会社 学習済みの機械学習モデル、画像データ生成装置、および、方法
JP6856965B1 (ja) * 2020-11-27 2021-04-14 株式会社ネフロック 画像出力装置及び画像出力方法
WO2022113398A1 (ja) * 2020-11-27 2022-06-02 株式会社ネフロック 画像出力装置及び画像出力方法
JP2022085452A (ja) * 2020-11-27 2022-06-08 株式会社ネフロック 画像出力装置及び画像出力方法

Also Published As

Publication number Publication date
JP6912740B2 (ja) 2021-08-04
US20200151561A1 (en) 2020-05-14
JP7078875B2 (ja) 2022-06-01
JPWO2018203550A1 (ja) 2020-02-06
JP2021073594A (ja) 2021-05-13

Similar Documents

Publication Publication Date Title
WO2018203550A1 (ja) 信号生成装置、信号生成学習装置、方法、及びプログラム
JP7144699B2 (ja) 信号変更装置、方法、及びプログラム
JP6831453B2 (ja) 信号検索装置、方法、及びプログラム
Fabius et al. Variational recurrent auto-encoders
Goodfellow et al. Generative adversarial nets
WO2020216033A1 (zh) 用于面部图像生成的数据处理方法、设备和介质
JP5353443B2 (ja) データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム
KR20220004491A (ko) 인공지능 기반 수목 데이터 관리 시스템 및 수목 데이터 관리 방법
CN110020023A (zh) 基于融合结构特征的属性网络表示学习方法
CN115564027A (zh) 多模态学习行为分析方法、系统及存储介质
JP6962747B2 (ja) データ合成装置および方法
JP6886120B2 (ja) 信号検索装置、方法、及びプログラム
JP6692272B2 (ja) 信号調整装置、信号生成学習装置、方法、及びプログラム
Glez-Morcillo et al. Gaudii: An automated graphic design expert system
CN116485948A (zh) 一种基于推荐算法和扩散模型的文本生成图像方法和系统
Pandit et al. Image Aesthetic Score Prediction Using Image Captioning
CN112650399B (zh) 表情推荐方法及装置
JP7225857B2 (ja) データ変換学習装置、データ変換装置、方法、及びプログラム
CN115080786A (zh) 基于图片作诗的方法、装置、设备及存储介质
Lin et al. A New Family of Generative Adversarial Nets Using Heterogeneous Noise to Model Complex Distributions
Song et al. 3D Generative Network
Huang Analyzing the Emotional Characteristics of British and American Literature by Combining Semiotics and the Operational Model of Thinking
Arya et al. Ascertaining Speech Emotion using Attention-based Convolutional Neural Network Framework.
KR20240073401A (ko) Gan 기반의 이미지 변환 장치 및 gan 기반의 이미지 변환 방법
Jlassi et al. Phoneme recognition by means of a growing hierarchical recurrent self-organizing model based on locally adapting neighborhood Radii

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: 18793754

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019515733

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18793754

Country of ref document: EP

Kind code of ref document: A1