WO2018203551A1 - 信号検索装置、方法、及びプログラム - Google Patents

信号検索装置、方法、及びプログラム Download PDF

Info

Publication number
WO2018203551A1
WO2018203551A1 PCT/JP2018/017413 JP2018017413W WO2018203551A1 WO 2018203551 A1 WO2018203551 A1 WO 2018203551A1 JP 2018017413 W JP2018017413 W JP 2018017413W WO 2018203551 A1 WO2018203551 A1 WO 2018203551A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
attribute
representing
changed
unit
Prior art date
Application number
PCT/JP2018/017413
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 JP2019515734A priority Critical patent/JP6886120B2/ja
Priority to US16/609,681 priority patent/US11615611B2/en
Publication of WO2018203551A1 publication Critical patent/WO2018203551A1/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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/535Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • 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/044Recurrent networks, e.g. Hopfield networks

Definitions

  • the present invention relates to a signal search apparatus, method, and program, and more particularly, to a signal search apparatus, method, and program for searching for similar signals.
  • Non-Patent Document 1 a feature amount is extracted from an image to extract the feature amount, and the images are collated based on the feature amount.
  • Non-Patent Document 2 A method for encoding an image using CNN (ConvolutionalConNeural Networks) is known (Non-Patent Document 2).
  • Non-Patent Document 1 the accuracy of detecting the same image from a plurality of images is high. However, if the attribute changes due to the subject changing hairstyle or laughing, the feature amount of the image is different from the feature amount of the image before the attribute change even for the same subject image. Therefore, the possibility of being recognized as a similar image is reduced.
  • the present invention has been made in view of the above circumstances, and an object thereof is to provide a signal search apparatus, method, and program capable of searching for a similar signal even if an attribute is changed.
  • the signal search apparatus provides an input signal or an attribute value to be expressed by an accumulated signal accumulated in a signal accumulation unit, or the inputted attribute value.
  • a change unit that changes a value of an attribute related to a signal generation source of the received signal, and acquires a plurality of changed values of the attribute, and a plurality of changed values of the attribute acquired by the change unit
  • a signal search unit that searches for the stored signal similar to the input signal using the input signal or the stored signal whose attribute has been changed.
  • the signal is image data
  • the attribute represents a feature of a subject expressed by the image data.
  • the change unit is configured to input the signal value of the target attribute represented by the input signal or the stored signal stored in the signal storage unit, or the signal of the input signal.
  • the value of the attribute relating to the generation source is changed to obtain a plurality of changed values of the attribute, and the signal search unit according to each of the plurality of changed values of the attribute acquired by the changing unit.
  • the stored signal similar to the input signal is searched using the input signal or the stored signal with the attribute changed.
  • the attribute value represented by the input signal or the attribute value related to the signal generation source of the input signal is changed, and the attribute value after the change is changed.
  • a signal search apparatus includes a variable extraction unit that extracts a plurality of hidden variables representing a plurality of features related to an input signal or a signal generation source of the input signal, and the extracted A change unit that acquires a plurality of changed hidden variables that have changed the value of some of the hidden variables that represent attributes among the plurality of hidden variables, and the plurality of changed acquired by the change unit A signal generator that generates the input signal with the changed attribute as a changed signal based on the hidden variable of the signal, the changed signal generated by the signal generator, and a signal storage unit.
  • the plurality of hidden variables are generated using the second neural network from a plurality of changed hidden variables in which the value of the hidden variable representing the attribute is changed, and the signal search unit And signal after the changes generated by the generation unit, compares the stored signal of the changed and retrieves the stored signal of the changed similar to the signal after the change.
  • the variable extraction unit extracts a plurality of hidden variables representing a plurality of features related to the input signal or the signal generation source of the input signal
  • the change unit includes , Obtaining a plurality of modified hidden variables obtained by changing values of some hidden variables as hidden variables representing attributes among the plurality of extracted hidden variables, and obtaining the signal by the changing unit
  • the input signal with the changed attribute is generated as a changed signal
  • a signal search unit is the changed signal generated by the signal generating unit.
  • the post-change storage similar to the post-change signal based on the post-change signal and the post-change storage signal generated by changing the hidden variable representing the attribute of the storage signal stored in the signal storage unit Search for a signal.
  • a plurality of hidden variables representing a plurality of features related to an input signal or a signal generation source of the input signal are extracted, and the extracted attributes are By searching for a signal similar to the changed signal whose attribute has been changed based on the hidden variable that represents the changed attribute, by searching for the stored signal after the change whose attribute has been changed Even if the attribute is changed, a similar signal can be searched.
  • the program according to the seventh aspect of the present invention is a program for causing a computer to function as any one of the signal search devices of the first, second, fourth and fifth aspects.
  • the signal search device, method, and program of the present invention it is possible to search for a similar signal even if the attribute is changed.
  • image data in the world there are various image data in the world as portrait images of people.
  • image data such as various face orientations, various lighting conditions, various ages, and various facial expressions.
  • the signal search apparatus does not use the image as it is for the search, but extracts a plurality of hidden variables from the image using the neural network E as shown in FIG.
  • the image is searched based on the image obtained by changing the value.
  • An image hidden variable is like an essence useful for expressing an image, and indicates a feature of the image.
  • the neural network E in the encoder 1 illustrated in FIG. 1 has a two-layer network, and calculates hidden variables z i and z a from input image data x.
  • the generator 2 represents each attribute of the image to be generated by 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. 2 includes 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).
  • fy is a filter function used for conversion of the hidden variable z a .
  • 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 indicates the presence or absence of at least one attribute or the degree thereof.
  • the encoder is set so that the error between the true data and the data generated via the encoder 1 and the generator 2 is reduced. 1 and the learning of the neural networks E and G in the generator 2 are performed. At this time, it is not possible to give a clear restriction as to what each of the hidden variable z and the attribute vector y represents.
  • CFGAN Conditional Filtered Generative Adversarial Networks
  • CFGAN gives a restriction according to the attribute vector y to an image generated based on a hidden variable z generated from a certain data distribution.
  • the image is constrained by a value indicating the presence or absence of a certain attribute or its degree.
  • the discriminator 3 discriminates whether or not the generated image follows the same distribution as the true image under the constraint on each attribute represented by the attribute vector y. Thereby, it is possible to give constraints so that various hidden variables z i and z a can express individuality and attributes. That the generated image follows the same distribution as the true image means that the generated image is identified as the true image.
  • the true image is an image used for learning, and includes a plurality of predetermined images, for example.
  • the attribute when changing the attribute of an image, the attribute is changed while retaining individuality.
  • the signal search device 100 includes an input unit 10, a calculation unit 20, and an output unit 90.
  • the signal search apparatus 100 may be configured by a computer including a CPU (central processing unit), a RAM (random access memory), and a ROM (read only memory).
  • the CPU reads a program for executing a learning process routine and a search process routine, which will be described later, stored in the ROM, and various data into the RAM, and executes the program as the input unit 10, the arithmetic unit 20, and the output unit 90. It may work.
  • the input unit 10 receives a plurality of learning data including a pair of image data x and attribute vector y.
  • the input unit 10 receives a plurality of accumulated image data to be searched and image data x to be changed for searching.
  • the attribute vector y represents, for example, the presence / absence of the attribute and the sign, but is not particularly limited thereto.
  • the signal search device 100 searches for image data similar to the image data x to be changed for search based on a plurality of accumulated image data.
  • the calculation unit 20 includes a learning unit 30, a neural network storage unit 40, a prediction unit 42, a variable extraction unit 44, a change unit 46, a signal generation unit 48, a signal accumulation unit 49, a prediction unit 50,
  • the variable extraction unit 52, the change unit 62, the signal generation unit 64, the signal search unit 65, and the similar signal output unit 66 are configured.
  • the learning unit 30 includes a neural network G (first neural network) that operates as the generator 2, a neural network D (second neural network) that operates as the discriminator 3, and a neural network E that operates as the encoder 1.
  • 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 neural network G inputs a hidden variable z i representing individuality generated from a data distribution and a hidden variable z a ′ representing each attribute, and a hidden variable z i representing individuality and a hidden variable representing each attribute.
  • Image data is generated from z a ′.
  • the neural network D inputs image data generated by the neural network G, true image data, and an attribute vector y representing each attribute of the image data, and the generated image data is true under the attribute vector y. Whether the image data follows the same distribution as that of the image data is identified. 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.
  • the hidden variable z a ′ representing each attribute is obtained by converting the hidden variable z a representing each attribute by the value of the attribute vector y. As an example of the conversion, when 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 (1) shows an example of conversion in this case.
  • the attribute vector y represents the sign of the attribute
  • Equation (2) shows an example of conversion in this case.
  • the learning unit 30 receives the image data x and the attribute vector y included in the learning data, and generates a hidden variable z i representing individuality and a hidden variable z a representing each attribute from a certain data distribution.
  • the attribute vector y has the presence / absence of each of “glasses”, “makeup”, “ ⁇ ”, “bangs”, “male / female”, “no smile / It represents the distinction between “smile” 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 learning unit 30 may generate a hidden variable z i representing individuality and a hidden variable z a representing each attribute using random numbers.
  • the hidden variable z a representing the attribute is discrete
  • the learning unit 30 generates the hidden variable z a representing the attribute according to the equation (3).
  • 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
  • p is a probability.
  • Unif (-1, 1) is a uniform distribution with a value range of -1 to 1.
  • a latent variable z a and converted according to other distributions.
  • the distribution of the hidden variable z a it is possible to use a normal distribution instead of a uniform distribution (Unif ( ⁇ 1, 1)). It is also possible to change the value range of the hidden variable z a .
  • the generation method of the hidden variable z a representing the attribute 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. A value generated from a random number converted by another neural network may be used as the hidden variable za.
  • the learning unit 30 generates image data using the neural network G as the generator 2 from the generated hidden variable z i representing individuality and the 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 learning unit 30 In learning of the neural network G as the generator 2, the learning unit 30 generates the generator so that the discriminator 3 identifies the generated image data according to the same distribution as the true image data under the attribute vector y.
  • the parameter of the neural network G as 2 is 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, a 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 learning unit 30 extracts a hidden variable z i representing individuality and a hidden variable z a representing each attribute from the image data x included in the input learning data, using the neural network E as the encoder 1.
  • the learning unit 30 generates image data from the extracted hidden variable z i representing individuality and the hidden variable z a ′ representing each attribute using the neural network G as the generator 2.
  • the hidden variable z a ′ representing each attribute is obtained by converting the hidden variable z a representing each attribute output from the neural network E as the encoder 1 based on the value of the attribute vector y.
  • the learning unit 30 updates the parameters of the neural network E as the encoder 1 so that the generated image data satisfies the same constraint as the original image data x.
  • the learning unit 30 performs the above processing for each learning data, and repeatedly updates the parameters of the neural network E of the encoder 1.
  • the finally obtained neural network E as the encoder 1 is stored in the neural network storage unit 40.
  • the predicting unit 42 uses a neural network (for example, a pre-learned neural network) as a predictor (not shown) for predicting the attribute vector y. , CNN) to predict the attribute vector y.
  • a neural network for example, a pre-learned neural network
  • the neural network as the predictor outputs the attribute vector y.
  • the attribute vector y is, for example, presence / absence of each attribute or positive / negative classification.
  • the attribute vector y is not particularly limited to these.
  • the variable extraction unit 44 receives a plurality of accumulated image data as input, and uses the neural network E as the encoder 1 stored in the neural network storage unit 40 to use hidden variables z i representing individuality of each accumulated image data and A hidden variable z a representing each attribute is extracted.
  • the variable extraction unit 44 obtains a hidden variable z a ′ representing each attribute based on the hidden variable z a representing each extracted attribute and the attribute vector y predicted by the prediction unit 42.
  • the hidden variable z a ′ representing each attribute is obtained by converting the hidden variable z a representing each attribute extracted by the variable extraction unit 44 by the value of the attribute vector y predicted by the prediction unit 42. It is done.
  • the hidden variable z a representing each attribute has a plurality of hidden variables for each attribute, the element of the attribute vector y is multiplied by all of the plurality of hidden variables corresponding to the attribute.
  • the changing unit 46 changes the value of the hidden variable representing the change target attribute among the hidden variables included in the hidden variable z a ′ representing each attribute, and changes the value of the hidden variable representing the change target attribute.
  • a plurality of hidden variables z a ′ representing attributes are acquired.
  • the changing unit 46 may change the value of the hidden variable representing the attribute to be changed using a random number.
  • the changing unit 46 may continuously change the value of the hidden variable or the value of the hidden variable that represents the attribute to be changed.
  • the value is a discrete value (category value)
  • the value of the hidden variable z a ′ may be changed using each discrete value.
  • the changing unit 46 changes the hidden variable z a ′ representing each attribute obtained by the variable extracting unit 44 by replacing the value of the hidden variable representing the attribute to be changed with the value of the hidden variable after the change.
  • a plurality of hidden variables z a ′ representing the subsequent attributes are obtained.
  • the changing unit 46 repeats the above-described processing for each of the attributes to be changed to obtain a plurality of hidden variables z a ′ representing the changed attributes. .
  • the signal generating unit 48 For each hidden variable z a ′ representing each changed attribute obtained by the changing unit 46, the signal generating unit 48 includes a hidden variable z i representing the individuality extracted by the variable extracting unit 44, and the modified variable From the hidden variable z a ′ representing each attribute, the accumulated image data after the change is generated using the neural network G as the generator 2 stored in the neural network storage unit 40. That is, the signal generating unit 48 generates image data for each 'latent variable z a is obtained by changing the value of' the latent variable z a to represent each attribute extracted from the stored image data.
  • the plurality of pieces of image data (changed accumulated image data) generated for each accumulated image data is image data having diversity with respect to the attribute represented by the predicted attribute vector y.
  • the signal accumulation unit 49 stores a plurality of modified accumulated image data generated by the signal generation unit 48 for each of the accumulated image data.
  • Each of the stored image data after change stored in the signal storage unit 49 is image data obtained by changing the hidden variable z a ′ expressing the attribute.
  • the prediction unit 50 inputs the change target image data received by the input unit 10 to a pre-learned neural network as a predictor for predicting the attribute vector y, and uses the attribute vector y of the change target image data. Predict.
  • the image data to be changed is image data used when retrieving similar image data from a plurality of accumulated image data.
  • the variable extraction unit 52 receives the input image data x to be changed, and uses the neural network E as the encoder 1 stored in the neural network storage unit 40 to determine the individuality of the image data x to be changed.
  • a hidden variable z i representing and a hidden variable z a representing each attribute are extracted.
  • the variable extraction unit 52 obtains a hidden variable z a ′ representing each attribute based on the hidden variable z a representing each extracted attribute and the attribute vector y predicted by the prediction unit 50.
  • the hidden variable z a ′ representing each attribute is obtained by converting the hidden variable z a representing each attribute extracted by the variable extraction unit 52 with the value of the attribute vector y predicted by the prediction unit 50. It is done.
  • the changing unit 62 changes the value of the hidden variable that represents the attribute to be changed among the hidden variables included in the hidden variable z a ′ that represents each attribute, and the hidden that represents the attribute to be changed.
  • a plurality of hidden variables z a ′ representing each attribute whose variable value is changed are acquired.
  • the changing unit 62 replaces the value of the hidden variable representing the attribute to be changed among the hidden variables included in the hidden variable z a ′ representing each attribute obtained by the variable extracting unit 52 with the value after the change. Change the value of the hidden variable that represents the attribute to be changed.
  • the changing unit 62 obtains a plurality of hidden variables z a ′ each representing an attribute obtained by changing the value of the hidden variable representing the attribute to be changed.
  • the change unit 62 repeats the above-described process for each of the change target attributes to obtain a plurality of hidden variables z a ′ representing each changed attribute. .
  • the signal generating unit 64 For each hidden variable z a ′ representing each changed attribute obtained by the changing unit 62, the signal generating unit 64 includes a hidden variable z i representing the individuality extracted by the variable extracting unit 52, and the changed variable From the hidden variable z a ′ representing each attribute, the image data after the change is generated by using the neural network G as the generator 2 stored in the neural network storage unit 40. That is, the signal generation unit 64 generates image data for each hidden variable z a ′ obtained by changing the value of the hidden variable z a ′ extracted from the change target image data x.
  • the plurality of image data generated from the image data x to be changed is image data having diversity with respect to the attribute represented by the predicted attribute vector y.
  • the signal search unit 65 compares each of the changed image data generated by the signal generation unit 64 with each of the changed accumulated image data stored in the signal storage unit 49, and the signal generation unit 64 The stored image data after the change similar to the generated image data after the change is searched. When comparing image data, a similarity obtained by comparing feature quantities of known image data may be used. The signal search unit 65 only has to output the accumulated image data after the change whose similarity to the image data after the change is equal to or greater than the threshold value as a search result. The signal search unit 65 may sort the search results in order of similarity and output the search results in a ranking format.
  • the similar signal output unit 66 causes the output unit 90 to display the changed accumulated image data searched by the signal search unit 65 as a search result.
  • the output unit 90 may output the changed accumulated image data included in the search result output from the signal search unit 65 to an external device.
  • the operation of the signal search apparatus 100 according to the first embodiment of the present invention will be described.
  • the signal search apparatus 100 executes a learning process routine and a search process routine described below.
  • the learning process routine will be described.
  • the signal search 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 unit 30 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 by 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 x p is generated using the neural network G.
  • step S108 the learning unit 30 performs the hidden variable z i representing the individuality generated in step S102, the hidden variable z a representing each attribute, the generated image data, and the image data x generated in step S106.
  • 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 p and the image data x and the attribute vector y included in the learning data obtained in step S100. .
  • 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 in the processing of steps S100 to S108, the learning unit 30 finally obtains the parameters of the neural network G as the generator 2 and the neural network as the discriminator 3. The parameters of the network D are stored in the neural network storage unit 40.
  • step S112 the learning unit 30 acquires any one of the plurality of learning data received by the input unit 10.
  • step S114 the learning unit 30 uses the neural network E as the encoder 1 from the image data x and the attribute vector y included in the learning data obtained in step S112, and the hidden variables z i representing individuality and each A hidden variable z a representing an attribute is extracted.
  • the learning unit 30 generates image data from the extracted hidden variable z i representing individuality and the hidden variable z a ′ representing each attribute using the neural network G as the generator 2.
  • the hidden variable z a ′ representing each attribute is obtained by converting the hidden variable z a representing each extracted attribute by the value of the attribute vector y corresponding to the image data x.
  • step S116 the learning unit 30 updates the parameters of the neural network E as the encoder 1 based on the generated image data and the image data x included in the learning data obtained in step S112.
  • step S118 the learning unit 30 determines whether or not the processing in steps S112 to S116 has been executed for all learning data. If there is learning data that is not used in the processes of steps S112 to S116, the learning unit 30 returns to step S112 and acquires the learning data. When all the learning data is used for the processing of steps S112 to S116, the learning unit 30 ends the learning processing routine.
  • the learning unit 30 stores the finally obtained parameters of the neural network E as the encoder 1 in the neural network storage unit 40.
  • the prediction unit 42 converts each of the stored image data received by the input unit 10 into a pre-learned neural network as a predictor for predicting the attribute vector y.
  • the attribute vector y of each stored image data is predicted.
  • the variable extraction unit 44 uses the neural network E as the encoder 1 stored in the neural network storage unit 40 to generate a hidden variable z i representing individuality of each accumulated image data and a hidden variable z a representing each attribute. Extract.
  • the variable extraction unit 44 obtains a hidden variable z a ′ representing each attribute based on the hidden variable z a representing each extracted attribute and the attribute vector y predicted by the prediction unit 42.
  • the changing unit 46 changes the value of the hidden variable representing the attribute to be changed among the hidden variables included in the hidden variable z a ′ representing each attribute obtained from each accumulated image data, and represents the hidden attribute representing the attribute to be changed.
  • a plurality of hidden variables z a ′ representing each attribute whose variable value is changed are acquired.
  • the changing unit 46 obtains a plurality of hidden variables z a ′ representing the changed attributes for each accumulated image data.
  • the signal generating unit 48 For each hidden variable z a ′ representing each changed attribute obtained by the changing unit 46, the signal generating unit 48 includes a hidden variable z i representing the individuality extracted by the variable extracting unit 44, and the modified variable From the hidden variable z a ′ representing each attribute, the accumulated image data after the change is generated using the neural network G as the generator 2 stored in the neural network storage unit 40.
  • the signal storage section 49 stores a plurality of changed stored image data generated by the signal generation section 48 for each of the stored image data.
  • the plurality of changed accumulated image data stored in the signal accumulation unit 49 has diversity with respect to the attribute represented by the attribute vector y predicted from each accumulated image data.
  • the search processing routine will be described.
  • the signal search device 100 executes a search processing routine shown in FIG.
  • step S152 the prediction unit 50 predicts the attribute vector y using a neural network as a predictor learned in advance based on the image data to be changed received by the input unit 10.
  • step S154 the variable extraction unit 52 uses the neural network E as the encoder 1 stored in the neural network storage unit 40 from the image data to be changed received by the input unit 10 to hide the individuality.
  • a variable z i and a hidden variable z a representing each attribute are extracted.
  • the variable extraction unit 52 obtains a hidden variable z a ′ representing each attribute based on the hidden variable z a representing each extracted attribute and the attribute vector y predicted in step S152.
  • the hidden variable z a ′ representing each attribute is obtained by converting the extracted hidden variable z a representing each attribute by the value of the predicted attribute vector y.
  • step S160 the changing unit 62 changes the value of the hidden variable that represents the attribute to be changed among the hidden variables included in the hidden variable z a ′ that represents each attribute obtained in step S154, and changes the attribute to be changed.
  • a plurality of hidden variables z a ′ each representing an attribute whose value of the hidden variable representing is changed is acquired.
  • step S162 for each hidden variable z a ′ representing each changed attribute obtained in step S160, the signal generating unit 64 and the hidden variable z i representing the individuality extracted in step S154, and the changed Using the neural network G as the generator 2 stored in the neural network storage unit 40, the image data after the change is generated from the hidden variable z a ′ representing each attribute of the above.
  • the plurality of changed image data generated by the signal generation unit 64 has diversity with respect to the attribute indicated by the attribute vector y predicted in step S152.
  • step S163 the signal search unit 65 is generated by comparing each of the changed image data generated in step S162 with each of the plurality of changed accumulated image data stored in the signal storage unit 49. The changed stored image data similar to the changed image data is searched.
  • step S164 the similar signal output unit 66 causes the output unit 90 to display the changed accumulated image data searched in step S163 as a search result, and ends the search processing routine.
  • the signal search device extracts hidden variables that represent individuality and hidden variables that represent attributes of image data to be changed for search. To do.
  • the signal search device changes the hidden variable representing each extracted attribute, and the attribute is changed to image data similar to the changed image data in which the attribute is changed based on the hidden variable representing the changed attribute. Search from the changed stored image data.
  • the signal search apparatus can search for similar image data even if the attribute is changed. That is, the signal search device can store the stored image data or the changed stored image even if the stored image data or the changed stored image data has an attribute different from the attribute included in the image data to be changed for search. Images similar to the image data can be searched from the data.
  • the signal search apparatus uses the neural network E as the encoder 1 to extract the hidden variable of the input image data and changes the value of the extracted hidden variable.
  • the signal search device can generate image data with changed attributes by generating image data from the changed hidden variable using the neural network G as the generator 2. For example, if you want to change only the attributes related to glasses, at the input to the signal generator, fix the hidden variable z i representing individuality, and interactively change each dimension of the hidden variable z a representing the attribute in multiple dimensions do it. If it is desired to change only the individuality while maintaining the attribute, the hidden variable z a representing each attribute may be fixed and the hidden variable z i representing the individuality may be changed at the input of the signal generation unit.
  • the signal search apparatus Since the signal search apparatus according to the first embodiment of the present invention has a plurality of hidden variables for each attribute, it can express a variety of attributes. In addition, the signal search apparatus can control only the value of one hidden variable among a plurality of hidden variables for one attribute.
  • the signal search apparatus generates a hidden variable representing individuality in image data and a hidden variable representing each attribute.
  • the signal search device is a generator 2 that generates an image based on the true image data included in the input learning data, the hidden variable that represents the generated individuality, and the hidden variable that represents each attribute. Optimization conditions for competing each other between the neural network G and the neural network D as the discriminator 3 for identifying whether the generated image data follows the same distribution as the true image data under the attribute vector. To learn. By performing the learning processing routine including the above-described operation, the signal search device can learn the neural network G as the generator 2 that can generate image data while controlling the attribute of the image.
  • 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.
  • the present invention 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 generated under the attribute vector y and a hidden variable z a ′ representing each 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 hidden variable z a 2 comes to express the glasses other than sunglasses.
  • the hidden variable estimation method is not limited to this.
  • hidden representing neural network E as an encoder 1 rather than the latent variable z a represents an attribute, 'by estimating the direct, latent variable z a representative of the attribute' hidden variables z a representative of the attribute and individuality
  • the variable z i may be estimated simultaneously.
  • the learning unit 30 estimates the approximate distribution.
  • the hidden variable z a ′ representing the attribute may be estimated using the neural network Q that performs the above.
  • the neural network E as the encoder 1 may estimate only the hidden variable z i representing individuality.
  • a hidden variable z i representing arbitrary individuality is input to the neural network G as the generator 2, and the output of the neural network G as the generator 2 is output to the target image x.
  • I may be obtained latent variable z i representing the optimal individuality.
  • the hidden variable z a ′ representing the attribute and the hidden variable z i representing the individuality are obtained by the neural network E as the encoder 1, these are set as initial values, and the neural network G as the generator 2 is obtained.
  • the neural network E as the encoder 1 or the neural network as the predictor may be learned together with the neural network G as the generator 2 and the neural network D as the discriminator 3.
  • the second embodiment is different from the first embodiment in that hidden variables representing each attribute have a hierarchical structure.
  • the signal search 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.
  • First layer of hidden variables c 1 is a hidden variable representing the attributes of the first layer, which 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 search 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 a generator, and a neural network G 3 as a generator.
  • image data is generated.
  • the signal search device 100 compares the image data and searches for the accumulated image data after the change similar to the image data after the change.
  • 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 to estimate the distribution is carried out.
  • 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 to estimate the distribution is carried out. Learning in each layer is performed sequentially.
  • P 1 , P 2 , and P 3 in FIG. 8 represent the discrimination results by the neural networks D 1 , D 2 , and D 3 as classifiers, respectively.
  • the signal search apparatus 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 search apparatus 100 receives a plurality of image data x as learning data.
  • the input unit 10 receives a plurality of accumulated image data to be searched and image data x to be changed for searching.
  • the signal search device 100 searches for image data similar to the image data x to be changed for search based on a plurality of accumulated image data.
  • the learning unit 30 generates a hidden variable z i (z 1 , z 2 , z 3 ) representing individuality and a hidden variable c 1 , c 2 , c 3 representing each attribute in each layer from a certain data distribution.
  • 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 unit 30 may generate a hidden variable z i (z 1 , z 2 , z 3 ) representing individuality and a hidden variable c 1 , c 2 , c 3 representing each attribute in each layer using random numbers. Good.
  • 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 have a hidden variable z i that represents the generated individuality and a hidden variable c 1 , c 2 , and c 3 that represent each attribute in each layer as inputs, Image data is generated from hidden variables z i representing individuality and hidden variables c 1 , c 2 , and 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.
  • Each neural network operating as a generator and a classifier learns according to optimization conditions that compete with each other based on a plurality of learning data input to the input unit 10.
  • 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 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 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.
  • the hidden variable c 3 ′ representing each attribute of the third layer is a hidden variable representing each attribute of the third layer according to the value of the conversion result c 2 ′ of the hidden variable c 2 representing each attribute of the second layer. obtained by converting the c 3.
  • 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 learning unit 30 receives the image data x included in the input learning data, and estimates a hidden variable z i (z 1 , z 2 , z 3 ) representing individuality using a neural network as an encoder. .
  • the learning unit 30 extracts hidden variables c 2 ′ and c 3 ′ representing each attribute using the neural networks Q 2 and Q 3 that estimate the approximate distribution.
  • the learning unit 30 receives the hidden variable z 3 representing the estimated individuality and the hidden variable c 3 ′ representing each attribute, and generates image data using the neural network G 3 as a generator.
  • the learning unit 30 updates the parameters of the neural network as an encoder so that the generated image data satisfies the same constraint as the original image data x.
  • the learning unit 30 performs the above processing for each learning data, and repeatedly updates the parameters of the neural network E as an encoder.
  • the finally obtained neural network E as an encoder is stored in the neural network storage unit 40.
  • the prediction unit 42 inputs the stored image data received by the input unit 10 to a neural network Q 1 that has been learned in advance as a predictor for predicting the hidden variable c 1 representing each attribute of the first layer.
  • a hidden variable c 1 representing each attribute of the layer is predicted.
  • the hidden variable c 1 representing each attribute output from the neural network Q 1 may be, for example, one indicating the presence or absence or degree of each attribute in the stored image data, but is not particularly limited thereto.
  • the presence / absence of the attribute is indicated by, for example, a binary value of 0 and 1, or a positive / negative value.
  • the variable extraction unit 44 inputs the stored image data to the neural network E as an encoder stored in the neural network storage unit 40, and estimates a hidden variable z i representing the individuality of the stored image data using the encoder. To do.
  • the variable extraction unit 44 inputs the stored image data to the neural networks Q 2 and Q 3 , and uses the neural networks Q 2 and Q 3 to hide the hidden variables c 2 ′ and c 3 ′ that represent the attributes after the second layer. To extract.
  • the changing unit 46 changes the value of the hidden variable that represents the attribute to be changed among the hidden variables c 1 , c 2 ′, or c 3 ′ that represents each attribute, and sets the value of the hidden variable that represents the attribute to be changed.
  • a plurality of hidden variables c 1 , c 2 ′, or c 3 ′ representing each changed attribute are acquired.
  • the values of the hidden variables c 2 ′ and c 3 ′ representing the related attribute are also changed.
  • the value of the hidden variable c 2 ′ representing the attribute is changed, the value of the hidden variable c 3 ′ representing the related attribute is also changed.
  • the changing unit 46 represents each attribute by replacing the value of the hidden variable representing the attribute to be changed among the hidden variables c 3 ′ representing each attribute obtained by the variable extracting unit 44 with the value after the change.
  • the hidden variable c 3 ′ is changed, and a plurality of hidden variables c 3 ′ representing the changed attributes are obtained.
  • the signal generation unit 48 uses the hidden variable z i representing the individuality extracted by the variable extraction unit 44 and the hidden variable c 3 ′ representing each attribute changed by the changing unit 46 as input to the generator, Image data is generated using the neural network G 3 as a generator stored in the network storage unit 40.
  • each of the changed stored image data generated for each of the stored image data by the signal generation unit 48 is stored.
  • the prediction unit 50 inputs the image data to be changed received by the input unit 10 to the neural network Q 1 previously learned as a predictor for predicting the hidden variable c 1 representing each attribute of the first layer, A hidden variable c 1 representing each attribute of the first layer is predicted.
  • the hidden variable c 1 representing each attribute output from the neural network Q 1 may be, for example, one indicating the presence or absence of each attribute in the image data to be changed, but is not particularly limited thereto.
  • the presence / absence of the attribute is indicated by, for example, binary values of 0 and 1, or positive and negative values.
  • the variable extraction unit 52 uses the neural network E as an encoder stored in the neural network storage unit 40 from the input image data x to be changed, and represents a hidden variable representing the individuality of the image data x to be changed. Estimate z i .
  • the variable extraction unit 52 uses the neural networks Q 1 , Q 2 , and Q 3 to extract hidden variables c 1 , c 2 ′, and c 3 ′ that represent each attribute from the input image data x to be changed.
  • the changing unit 62 changes the hidden variable c 1 , c 2 ′, or c 3 ′ that represents each attribute extracted by the variable extracting unit 52 by changing the value of the hidden variable that represents the attribute to be changed.
  • a plurality of hidden variables c 1 , c 2 ′, or c 3 ′ representing each attribute in which the value of the hidden variable representing the target attribute is changed is acquired.
  • the values of the hidden variables c 2 ′ and c 3 ′ representing the related attribute are also changed.
  • the value of the hidden variable c 2 ′ representing the attribute is changed, the value of the hidden variable c 3 ′ representing the related attribute is also changed.
  • the changing unit 62 represents each attribute by replacing the value of the hidden variable representing the attribute to be changed among the hidden variables c 3 ′ representing each attribute obtained by the variable extracting unit 52 with the value after the change.
  • the hidden variable c 3 ′ is changed, and a plurality of hidden variables c 3 ′ representing the changed attributes are obtained.
  • the signal generation unit 64 uses the hidden variable z 3 representing the individuality extracted by the variable extraction unit 52 and the hidden variable c 3 ′ representing each attribute changed by the changing unit 62 as inputs of the generator, and the neural network Image data is generated by using the neural network G 3 as a generator stored in the storage unit 40.
  • the signal search device changes the value of the hidden variable representing each attribute of the first layer and the conversion result value of the hidden variable representing each attribute of the second or third layer.
  • the signal search device uses a hidden variable representing an individuality extracted by a neural network as an encoder and a conversion result of a hidden variable representing each attribute of the third layer after the change as an input of the generator, and the neural as a generator Using the network, the image data after the change in which the attribute is changed is generated.
  • the signal search apparatus obtains image data similar to the changed image data obtained by changing the hidden variable representing each attribute from the changed accumulated image data obtained by changing the hidden variable representing each attribute. Search for.
  • the changed image data and the changed accumulated image data generated using the hidden variable representing each attribute obtained by changing the value of the hidden variable representing the attribute have a variety of attributes.
  • the signal search device can search for similar image data even if the attribute is changed.
  • the signal search device includes a learning unit that performs learning of a neural network.
  • a learning device including a learning unit and a neural network storage unit 40
  • a signal search device including a prediction unit, a variable extraction unit, a change unit, a signal generation unit, a signal storage unit, a signal search unit, and a similar signal output unit You may divide and comprise each.
  • the input signal is face image data
  • the input signal is not limited to this, and may be image data other than the face.
  • the input signal may be character image data.
  • 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 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. For example, whether the attribute vector y has a rounded or pointed tip.
  • Hidden variable z a represents how round a bag is.
  • 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 search device When the input signal is an audio signal, the signal search 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 represents the presence / absence and degree of attraction, emotion and dialect, whether the person is male or female, and 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 search device can extract a hidden variable representing an individuality and a hidden variable representing an attribute, and then change the hidden variable representing the attribute to reconstruct an audio signal having diversity with respect to the attribute.
  • the signal search device When the input signal is text data, the signal search 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.
  • the signal search apparatus can extract the hidden variable representing the individuality and the hidden variable representing the attribute, and then change the hidden variable representing the attribute to reconstruct text data having diversity with respect to the attribute.
  • the signal search device When the input signal is moving image data, the signal search 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.
  • the hidden variable representing each attribute 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 search apparatus can extract the hidden variable representing the individuality and the hidden variable representing the attribute, and then change the hidden variable representing the attribute to reconstruct moving image data having diversity with respect to the attribute.
  • the signal search apparatus may correct the reconstructed image data in consideration of the reconstruction error included in the reconstructed image data.
  • the signal search device may change the hidden variable representing the attribute according to the equation (8) and correct the image data x mod generated using the neural network as the generator.
  • x rec is image data reconstructed without changing the hidden variable representing the attribute
  • x is the image data to be changed.
  • is a difference image between the image data x mod reconstructed by changing the value of the hidden variable representing the attribute and the image x rec reconstructed without changing the value of the hidden variable.
  • ⁇ ′ is a difference image between the image data x to be changed and the image x rec reconstructed without changing the value of the hidden variable.
  • ⁇ x ( ⁇ is attached on x) is image data obtained by correction.
  • M is a mask image obtained in advance according to equation (9).
  • Equation (9) ⁇ represents the variance of the Gaussian distribution with respect to the parameter shown in Equation (10). ⁇ represents the spread of the Gaussian distribution.
  • Expression (10) represents an average value of absolute values of luminance values of red, green, and blue in each pixel of the difference image ⁇ .
  • the Gaussian distribution is used for calculating the mask image has been described as an example.
  • an arbitrary distribution such as a Laplacian distribution may be used.
  • an arbitrary norm such as an L2 norm may be used.
  • a mask image may be calculated for each luminance value.
  • the CNN is used as the neural network of the encoder, the generator, and the predictor has been described as an example.
  • the present invention is not limited to this, and other neural network structures may be used.
  • RNN Recurrent Neural Network
  • Fully Connected, or the like which is a model considering time series
  • the RNN may be configured using LSTM (Long Short-Term Memory).
  • the encoder outputs parameters relating to the distribution of hidden variables (for example, in the case of Gaussian distribution, the mean and standard deviation), and the variable extraction unit 44 obtains hidden variables by sampling according to the distribution parameters output from the encoder. It may be.
  • the encoder estimates hidden variables z i (z 1 , z 2 , z 3 ) representing individuality, and the variable extraction unit is an approximation estimated by the neural networks Q 2 , Q 3.
  • hidden variables c 2 ′ and c 3 ′ representing attributes are predicted using the distribution, and the prediction unit predicts c 1 using a predictor.
  • the encoder may estimate the hidden variables c 1 , c 2 , c 3 representing the attributes and the hidden variables z i (z 1 , z 2 , z 3 ) representing the individuality at the same time.
  • the encoder may directly estimate the hidden variables c 2 ′ and c 3 ′ representing the attributes, instead of the hidden variables c 2 and c 3 representing the attributes.
  • the signal search device inputs a hidden variable z i representing an arbitrary individuality to the generator without using an encoder, and the gradient so that the image data output from the neural network G as the generator approaches the target image x. by going to update the hidden variable z i representing the individuality by law, it may be calculated latent variable z i representing the optimal individuality.
  • a signal search device obtains a hidden variable c 1 representing an attribute by a predictor, and an encoder uses hidden variables c 2 ′ and c 3 ′ representing an attribute and a hidden variable z i (z 1 , z 2 , z representing an individuality). 3 ). Further, the signal search device sets the obtained hidden variables c 1 , c 2 ′, c 3 ′, and z i as initial values, and enters the hidden variable z i representing individuality into the generator, and the neural as a generator by the image data output from the network G is gradually updated hidden variables z i representing the individuality in gradient method so as to approach the target image x, and to obtain the hidden variable z i representing the optimal individuality Also good.
  • the signal search apparatus estimates the hidden variables c 2 and c 3 representing the attributes simultaneously with the hidden variable z i representing the individuality using the neural network as the encoder, the hidden representing representing each estimated attribute Based on the variables c 2 and c 3 and the predicted hidden variable c 1 representing each attribute of the first layer, hidden variables c 2 ′ and c 3 ′ representing each attribute are obtained.
  • a hidden variable c 3 ′ representing each attribute is obtained as follows.
  • the hidden variable c 2 ′ representing each attribute of the second layer is obtained by converting the hidden variable c 2 representing each attribute of the second layer by the value of the hidden variable c 1 representing each attribute of the first layer. .
  • a signal search device may learn an encoder or predictor together with a generator and a discriminator.
  • the learning unit 30 predicts the hidden variable c 1 representing each attribute of the first layer from the image data included in the learning data and uses it for learning has been described as an example.
  • the present invention is not limited to this, and the learning unit 30 may input the hidden variable c 1 representing each attribute of the first layer as learning data when learning each neural network.
  • the learning unit 30 may input not only the hidden variable c 1 representing each attribute of the first layer but also a hidden variable representing each attribute of an arbitrary hierarchy as learning data to learn a deeper hierarchy. .
  • the attribute vector y is assigned to all the image data x included in the learning data.
  • the present invention is not limited to this, and 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 search device may estimate the attribute vector y in the same manner as the signal search device according to the second embodiment estimates the hidden variable c 1 representing each attribute corresponding to the attribute vector y. .
  • the signal search device may learn each neural network based on the estimated attribute vector y.
  • a hidden variable representing each attribute of an arbitrary hierarchy is input as learning data
  • a hidden variable representing each attribute is assigned to some image data x included in the learning data. You may make it do.
  • the signal search device changes the attributes for both the input image data and the stored image data, and the changed image data
  • the search by the signal search device is not limited to this.
  • the signal search device may change the attribute only for the input image data and search for stored image data similar to the changed image data.
  • the signal search device may change the attribute for only the stored image data and search for the changed stored image data similar to the input image data.
  • the signal search 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 ′.
  • 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 search device may generate 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 search apparatus 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 search apparatus according to the second embodiment uses 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 search apparatus in the first and second embodiments may include a neural network that generates each hidden variable.
  • the signal search 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 search 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.
  • the objective function is expressed by Expression (11).
  • the neural network G as a generator
  • the neural network D as a discriminator
  • L GAN (D, G) is represented by Expression (12-1).
  • L MI / AC (G, Q 1 ) includes L MI (G, Q 1 ) represented by the equation (12-2) and L AC (G, Q 1 ) represented by the equation (12-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 expressed by the equation (12-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 includes 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. 9 may be provided.
  • the learning unit 30 includes the configuration of the one-layer neural network illustrated in FIG. 9, the learning unit 30 represents the neural network G 3 that operates as a generator, the 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 search device may apply a known image processing technique to the generated image data.
  • the signal search apparatus may perform super-resolution processing or image quality correction on the generated image.
  • the present invention can be applied to an application in which it is required to search for another signal similar to the signal even if the attribute included in the signal is changed.

Landscapes

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

Abstract

信号検索装置は、変更部と、信号検索部とを含む。変更部は、入力された信号又は信号蓄積部に蓄積されている蓄積信号が表現する対象の属性の値、又は入力された信号の信号発生源に関する属性の値を変更し、複数の変更後の属性の値を取得する。信号検索部は、変更部によって取得された複数の変更後の属性の値の各々に応じて属性が変更された入力された信号又は蓄積信号を用いて、入力された信号に類似する蓄積信号を検索する。

Description

信号検索装置、方法、及びプログラム
 本発明は、信号検索装置、方法、及びプログラムに係り、特に、類似する信号を検索するための信号検索装置、方法、及びプログラムに関する。
 本願は、2017年5月2日に、日本に出願された特願2017-091741号に基づき優先権を主張し、その内容をここに援用する。
 従来より、画像に対して特徴量抽出を行って特徴量を抽出し、特徴量に基づき画像を照合することが行われている(非特許文献1)。
 画像に対してCNN(Convolutional Neural Networks)を用いてエンコードを行う方法が知られている(非特許文献2)。
石川博、「知識の森」2群-2編-2章、電子情報通信学会、2012年 "Deep learning", Yann LeCun, Yoshua Bengio, and Geoffrey Hinton, Nature, Volume 521, Issue 7553, pp.436-444, 2015
 上記非特許文献1に記載の方法では、複数の画像から同一画像を検出する精度は高い。しかし、被写体が髪型を変えたり、笑ったりして属性が変化した場合、画像の特徴量は、同一の被写体の画像であっても、属性が変化する前の画像の特徴量と異なる。そのため、類似画像と認識される可能性が低下するものであった。
 本発明は、上記事情を考慮して成されたものであり、属性が変更されても類似する信号を検索することができる信号検索装置、方法、及びプログラムを提供することを目的とする。
 上記目的を達成するために、本発明に係る第1の態様における信号検索装置は、入力された信号又は信号蓄積部に蓄積されている蓄積信号が表現する対象の属性の値、又は前記入力された信号の信号発生源に関する属性の値を変更し、複数の変更後の前記属性の値を取得する変更部と、前記変更部によって取得された複数の変更後の前記属性の値の各々に応じて前記属性が変更された前記入力された信号又は前記蓄積信号を用いて、前記入力された信号に類似する前記蓄積信号を検索する信号検索部と、を含む。
 本発明に係る第2の態様によれば、第1の態様の信号検索装置において、前記信号は、画像データであり、前記属性は、前記画像データが表現する被写体の特徴を表す。
 本発明に係る第3の態様における信号検索方法では、変更部が、入力された信号又は信号蓄積部に蓄積されている蓄積信号が表現する対象の属性の値、又は前記入力された信号の信号発生源に関する属性の値を変更して、複数の変更後の前記属性の値を取得し、信号検索部が、前記変更部によって取得された複数の変更後の前記属性の値の各々に応じて前記属性が変更された前記入力された信号又は前記蓄積信号を用いて、前記入力された信号に類似する前記蓄積信号を検索する。
 本発明に係る第1、第2又は第3の態様によれば、入力された信号が表現する属性、又は入力された信号の信号発生源に関する属性の値を変更し、変更後の属性の値に基づいて属性が変更された変更後の信号を用いて、入力された信号に類似する蓄積信号を検索することにより、属性が変更されても類似する信号を検索することができる。
 本発明に係る第4の態様における信号検索装置は、入力された信号又は前記入力された信号の信号発生源に関する複数の特徴を表す複数の隠れ変数を抽出する変数抽出部と、前記抽出された前記複数の隠れ変数のうち属性を表す隠れ変数としての一部の隠れ変数の値を変更した複数の変更後の隠れ変数を取得する変更部と、前記変更部によって取得された前記複数の変更後の隠れ変数に基づいて、前記属性が変更された前記入力された信号を変更後の信号として生成する信号生成部と、前記信号生成部により生成された前記変更後の信号と、信号蓄積部に蓄積された蓄積信号の前記属性を表す隠れ変数を変更して生成された変更後の蓄積信号とに基づいて、前記変更後の信号に類似する前記変更後の蓄積信号を検索する信号検索部と、を含む。
 本発明に係る第5の態様によれば、第4の態様の信号検索装置において、前記変数抽出部は、前記複数の隠れ変数を抽出するための予め学習された第1のニューラルネットワークを用いて、前記入力された信号から前記入力された信号の前記複数の特徴を表す前記複数の隠れ変数を抽出し、前記信号生成部は、信号を生成するための予め学習された第2のニューラルネットワークを用いて、前記変更部によって取得され前記複数の変更後の隠れ変数から前記変更後の信号を生成し、前記変更後の蓄積信号は、前記信号蓄積部に蓄積された前記蓄積信号から抽出された複数の隠れ変数のうち前記属性を表す隠れ変数の値を変更した複数の変更後の隠れ変数から前記第2のニューラルネットワークを用いて生成され、前記信号検索部は、前記信号生成部により生成された前記変更後の信号と、前記変更後の蓄積信号とを比較して、前記変更後の信号に類似する前記変更後の蓄積信号を検索する。
 本発明に係る第6の態様における信号検索方法では、変数抽出部が、入力された信号又は前記入力された信号の信号発生源に関する複数の特徴を表す複数の隠れ変数を抽出し、変更部が、前記抽出された複数の隠れ変数のうち属性を表す隠れ変数としての一部の隠れ変数の値を変更した複数の変更後の隠れ変数を複数取得し、信号生成部が、前記変更部によって取得された前記複数の変更後の隠れ変数に基づいて、前記属性が変更された前記入力された信号を変更後の信号として生成し、信号検索部が、前記信号生成部により生成された前記変更後の信号と、信号蓄積部に蓄積された蓄積信号の前記属性を表す隠れ変数を変更して生成された変更後の蓄積信号とに基づいて、前記変更後の信号に類似する前記変更後の蓄積信号を検索する。
 本発明に係る第4、第5又は第6の態様によれば、入力された信号又は入力された信号の信号発生源に関する複数の特徴を表す複数の隠れ変数を抽出し、抽出された属性を表す複数の隠れ変数を変更し、変更後の属性を表す隠れ変数に基づいて属性が変更された変更後の信号に類似する信号を、属性が変更された変更後の蓄積信号から検索することにより、属性が変更されても類似する信号を検索することができる。
 本発明に係る第7の態様におけるプログラムは、コンピュータを、第1、第2、第4及び第5の態様のうち何れかの信号検索装置として機能させるためのプログラムである。
 本発明の信号検索装置、方法、及びプログラムによれば、属性が変更されても類似する信号を検索することができる、という効果が得られる。
本発明の第1の実施の形態におけるエンコーダの概念図である。 第1の実施の形態における生成器の概念図である。 第1の実施の形態における生成器及び識別器を学習する方法を説明するための図である。 第1及び第2の実施の形態に係る信号検索装置の構成を示すブロック図である。 第1及び第2の実施の形態に係る信号検索装置における学習処理ルーチンを示すフローチャートである。 第1及び第2の実施の形態に係る信号検索装置における検索処理ルーチンを示すフローチャートである。 第2の実施の形態における生成器、識別器、及び近似分布の概念図である。 第2の実施の形態における生成器の概念図である。 第2の実施の形態における学習部が備える構成の一例を示す図である。
 以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の第1の実施の形態に係る概要>
 まず、本発明の第1の実施の形態における概要を説明する。
 人物のポートレート画像として世の中には多様な画像データが存在する。例えば、様々な顔の向き、様々な照明条件、様々な年齢、様々な表情などの画像データが存在する。
 そこで、第1の実施の形態における信号検索装置は、画像をそのまま検索に用いるのではなく、図1に示すようなニューラルネットワークEを用いて、画像から複数の隠れ変数を抽出し、隠れ変数の値を変更して得られた画像をもとに画像を検索する。画像の隠れ変数は、画像を表現するのに有用なエッセンスのようなものであり、画像の特徴を示す。図1に例示されるエンコーダ1におけるニューラルネットワークEは、2層のネットワークを有し、入力される画像データxから隠れ変数z、zを算出する。
 また、画像における被写体の特徴を示す一つの属性の中にも多様性が存在する。例えば、一言に「前髪」と言っても様々な形状が存在する。
 そこで、第1の実施の形態では、図2に示すように、生成器2が、生成する画像の各属性を複数の隠れ変数で表現する。具体的には、複数の隠れ変数を個体性と属性とに分離することで、生成器2により生成される画像の属性をコントロールしやすくする。生成器2は、各属性を複数の隠れ変数で表現することにより、十分な表現能力を得る。属性が離散的な値で表現される場合、属性が取り得る離散的な値で定められた区間における任意の値を取り得る連続値で隠れ変数を表現してもよい。連続値を有する隠れ変数で各属性を表現することにより、生成器2は、十分な表現能力を得る。同様に、属性がある分布で表現される場合、それよりもより詳細な分布で隠れ変数を表現してもよい。より詳細な分布に従う隠れ変数で各属性を表現することにより、生成器2は、十分な表現能力を得る。
 図2に例示される生成器2は、2層のネットワークからなるニューラルネットワークGを有し、入力される隠れ変数z、zと属性ベクトルyとに基づいて画像データG(z,z,y)を生成する。図2において、fは、隠れ変数zの変換に用いられるフィルタ関数である。画像の属性は、複数の隠れ変数のうち属性ベクトルyにより制約が付与される隠れ変数zで示される。画像の個体性は、複数の隠れ変数のうち属性ベクトルyにより制約が付与されない隠れ変数zで示される。属性ベクトルyは、少なくとも1つの属性の有無又はその度合いを示す。
 エンコーダ1及び生成器2におけるニューラルネットワークE、Gの構造を愚直に学習しようとする場合、真のデータと、エンコーダ1及び生成器2を介して生成されたデータとの誤差が小さくなるようにエンコーダ1及び生成器2におけるニューラルネットワークE、Gの学習が行われる。このとき、隠れ変数zと、属性ベクトルyとの二つがそれぞれ何を表すかについて明確な制約を与えられない。
 そこで、第1の実施の形態では、図3に示すように、生成器2の学習時にCFGAN(Conditional Filtered Generative Adversarial Networks)を一緒に学習する。CFGANは、あるデータ分布から生成した隠れ変数zに基づいて生成する画像に対して、属性ベクトルyに応じた制約を付与する。画像には、ある属性の有無又はその度合いを示す値に対する制約が付与される。識別器3は、属性ベクトルyが表す各属性に対する制約の下で、生成された画像が真の画像と同一の分布に従うか否かを識別する。これにより、様々な隠れ変数z、zが個体性、属性をそれぞれ表現するように制約を与えることができる。生成された画像が真の画像と同一の分布に従うとは、生成された画像が真の画像として識別されることを意味する。真の画像は、学習に用いられる画像であり、例えば予め定められた複数の画像を含む。
 第1の実施の形態では、画像の属性を変更する際に、個体性を保持したまま属性を変更する。
<本発明の第1の実施の形態に係る信号検索装置の構成>
 次に、本発明の第1の実施の形態に係る信号検索装置の構成について説明する。図4に示すように、本発明の第1の実施の形態に係る信号検索装置100は、入力部10と、演算部20と、出力部90とを備えている。信号検索装置100は、CPU(central processing unit)とRAM(random access memory)とROM(read only memory)とを含むコンピュータで構成してもよい。CPUは、ROMに記憶された後述する学習処理ルーチン及び検索処理ルーチンを実行するためのプログラムと各種データとをRAMに読み出し、プログラムを実行することにより入力部10、演算部20及び出力部90として動作してもよい。
 入力部10は、画像データx及び属性ベクトルyのペアを含む複数の学習データを受け付ける。入力部10は、検索対象となる複数の蓄積画像データと、検索のための変更対象となる画像データxとを受け付ける。属性ベクトルyは、例えば属性の有無や正負を表すが、特にこれらに限定されない。信号検索装置100は、検索のための変更対象となる画像データxに類似する画像データを、複数の蓄積画像データに基づいて検索する。
 演算部20は、学習部30と、ニューラルネットワーク記憶部40と、予測部42と、変数抽出部44と、変更部46と、信号生成部48と、信号蓄積部49と、予測部50と、変数抽出部52と、変更部62と、信号生成部64と、信号検索部65と、類似信号出力部66とを含んで構成されている。
 学習部30は、生成器2として動作するニューラルネットワークG(第1のニューラルネットワーク)と、識別器3として動作するニューラルネットワークD(第2のニューラルネットワーク)と、エンコーダ1として動作するニューラルネットワークEとを有する。2つのニューラルネットワークG、Dは、入力部10に入力された複数の学習データに基づいて、互いに競合する最適化条件に従って学習する。ニューラルネットワークGは、あるデータ分布から生成された個体性を表す隠れ変数zと各属性を表す隠れ変数z’とを入力し、個体性を表す隠れ変数z及び各属性を表す隠れ変数z’から、画像データを生成する。ニューラルネットワークDは、ニューラルネットワークGにより生成された画像データと、真の画像データと、画像データの各属性を表す属性ベクトルyとを入力し、生成された画像データが属性ベクトルyの下で真の画像データと同一の分布に従うか否かを識別する。すなわち、ニューラルネットワークDは、生成された画像データが真の画像データであるか否かを識別する。真の画像データは、複数の学習データに含まれる画像データである。
 各属性を表す隠れ変数z’は、属性ベクトルyの値により、各属性を表す隠れ変数zを変換することにより得られる。変換の一例としては、属性ベクトルyが属性の有無を表す場合に、生成された各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。式(1)は、この場合の変換の一例を示す。
Figure JPOXMLDOC01-appb-M000001
 あるいは、属性ベクトルyが属性の正負を表す場合に、生成された各属性を表す隠れ変数zに対して、属性ベクトルyに応じて正負を与えることが考えられる。式(2)は、この場合の変換の一例を示す。
Figure JPOXMLDOC01-appb-M000002
 学習部30は、学習データに含まれる画像データxと属性ベクトルyとを入力し、個体性を表す隠れ変数zと各属性を表す隠れ変数zとをあるデータ分布から生成する。画像データxが、顔画像データである場合には、属性ベクトルyが、「メガネ」、「化粧」、「髭」、「前髪」の各々の有無や、「男性/女性」、「笑顔でない/笑顔」、「老けている/若い」の区別を表す。属性を表す隠れ変数zが、各属性の多様性を表す。属性ベクトルyが「メガネ」の有無を表す場合、属性の多様性は、例えば、メガネの形状及び色を表す。学習部30は、個体性を表す隠れ変数zと各属性を表す隠れ変数zとを乱数を用いて生成してもよい。
 属性を表す隠れ変数zが離散的である場合、学習部30は、式(3)に従って、属性を表す隠れ変数zを生成する。
Figure JPOXMLDOC01-appb-M000003
 式(3)において、kは、カテゴリ数(離散的な値の数)を表す。また、Catは、カテゴリ数Kの各カテゴリを示す値からなる分布であり、pは確率である。
 属性を表す隠れ変数zが連続的である場合には、学習部30は、式(4)に従って、属性を表す隠れ変数zを生成する。
Figure JPOXMLDOC01-appb-M000004
 式(4)において、Unif(-1,1)は、値の範囲を-1から1までとした一様分布である。
 なお、他の分布に従う隠れ変数zや変換を採用することができる。例えば、隠れ変数zの分布として、一様分布(Unif(-1,1))ではなく、正規分布を用いることが可能である。隠れ変数zの値の範囲を変更することも可能である。
 属性を表す隠れ変数zの生成方法は、これらに限定されず、ガウシアン分布やディリクレ分布など任意の分布から隠れ変数zを生成してもよい。ある乱数から生成された値を、別のニューラルネットワークで変換したものを隠れ変数zaとして用いてもよい。
 学習部30は、生成された個体性を表す隠れ変数zと各属性を表す隠れ変数z’とから、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。生成器2としてのニューラルネットワークGの入力となる各属性を表す隠れ変数z’は、属性ベクトルyの値により、各属性を表す隠れ変数zを変換することにより得られる。
 生成器2としてのニューラルネットワークGの学習において、学習部30は、生成された画像データを属性ベクトルyの下で真の画像データと同一の分布に従うと識別器3が識別するように、生成器2としてのニューラルネットワークGのパラメータを更新する。すなわち、生成される画像を真の画像データであると識別器3が識別するように、ニューラルネットワークGのパラメータが更新される。
 識別器3としてのニューラルネットワークDの学習において、学習部30は、生成器2により生成された画像データを属性ベクトルyの下で真の画像データxと同一の分布に従わないと識別器3が識別し、かつ、真の画像データxに含まれる各画像データを真の画像データxと同一の分布に従うと識別器3が識別するように、識別器3としてのニューラルネットワークDのパラメータを更新する。
 なお、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワーク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に記憶される。
 学習部30は、入力された学習データに含まれる画像データxから、エンコーダ1としてのニューラルネットワークEを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数zを抽出する。
 学習部30は、抽出された個体性を表す隠れ変数zと、各属性を表す隠れ変数z’とから、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。このとき、各属性を表す隠れ変数z’は、属性ベクトルyの値により、エンコーダ1としてのニューラルネットワークEが出力する各属性を表す隠れ変数zを変換することにより得られる。変換の一例としては、エンコーダ1としてのニューラルネットワークEが出力する各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。
 エンコーダ1としてのニューラルネットワークEの学習において、学習部30は、生成された画像データが元の画像データxと同じになる制約を満たすように、エンコーダ1としてのニューラルネットワークEのパラメータを更新する。
 学習部30は、上記の処理を、学習データ毎に行って、エンコーダ1のニューラルネットワークEのパラメータを繰り返し更新する。
 最終的に得られたエンコーダ1としてのニューラルネットワークEは、ニューラルネットワーク記憶部40に記憶される。
 予測部42は、入力部10で受け付けた蓄積画像データの各々に対し、当該蓄積画像データを、属性ベクトルyを予測するための予測器(図示せず)としての予め学習されたニューラルネットワーク(例えば、CNN)に入力し、属性ベクトルyを予測する。
 予測器としてのニューラルネットワークは、属性ベクトルyを出力する。属性ベクトルyは、例えば、各属性の有無又は正負の分類である。しかし、属性ベクトルyは、特にこれらに限定されない。
 変数抽出部44は、複数の蓄積画像データを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、各蓄積画像データの個体性を表す隠れ変数z及び各属性を表す隠れ変数zを抽出する。変数抽出部44は、抽出された各属性を表す隠れ変数zと、予測部42によって予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。このとき、各属性を表す隠れ変数z’は、予測部42によって予測された属性ベクトルyの値により、変数抽出部44によって抽出された各属性を表す隠れ変数zを変換することにより得られる。変換の一例としては、各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。各属性を表す隠れ変数zは、属性毎に複数の隠れ変数を有しているため、属性ベクトルyの要素は、属性に対応する複数の隠れ変数の全てに掛け合わされる。
 変更部46は、各属性を表す隠れ変数z’に含まれる隠れ変数のうち、変更対象の属性を表す隠れ変数の値を変更し、変更対象の属性を表す隠れ変数の値を変更した各属性を表す隠れ変数z’を複数取得する。変更部46は、乱数を用いて変更対象の属性を表す隠れ変数の値を変更してもよい。あるいは、変更部46は、変更対象の属性を表す隠れ変数の値が連続値である場合には、連続的に隠れ変数の値を変更してもよいし、変更対象の属性を表す隠れ変数の値が離散値(カテゴリ値)である場合には、各離散値を用いて隠れ変数z’の値を変更してもよい。
 変更部46は、変数抽出部44によって求められた各属性を表す隠れ変数z’のうち、変更対象の属性を表す隠れ変数の値を、変更後の隠れ変数の値で置き換えることにより、変更後の各属性を表す隠れ変数z’を複数求める。
 また、変更対象の属性が複数ある場合には、変更部46は、変更対象の属性の各々に対して、上述した処理を繰り返して、変更後の各属性を表す隠れ変数z’を複数求める。
 信号生成部48は、変更部46によって得られた変更後の各属性を表す隠れ変数z’毎に、変数抽出部44によって抽出された個体性を表す隠れ変数zと、当該変更後の各属性を表す隠れ変数z’とから、ニューラルネットワーク記憶部40に記憶された、生成器2としてのニューラルネットワークGを用いて、変更後の蓄積画像データを生成する。すなわち、信号生成部48は、蓄積画像データから抽出された各属性を表す隠れ変数z’の値を変更して得られる隠れ変数z’ごとに画像データを生成する。蓄積画像データごとに生成される複数の画像データ(変更後の蓄積画像データ)は、予測された属性ベクトルyで表される属性について多様性を有する画像データである。
 信号蓄積部49は、信号生成部48により蓄積画像データの各々に対して生成された複数の変更後の蓄積画像データを記憶する。信号蓄積部49に蓄積される変更後の蓄積画像データそれぞれは、属性を表現する隠れ変数z’を変更することにより得られる画像データである。
 予測部50は、入力部10で受け付けた変更対象の画像データを、属性ベクトルyを予測するための予測器としての予め学習されたニューラルネットワークに入力し、変更対象の画像データの属性ベクトルyを予測する。変更対象の画像データは、複数の蓄積画像データから類似する画像データを検索する際に用いられる画像データである。
 変数抽出部52は、入力された変更対象の画像データxを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、変更対象の画像データxの個体性を表す隠れ変数z及び各属性を表す隠れ変数zを抽出する。変数抽出部52は、抽出された各属性を表す隠れ変数zと、予測部50によって予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。このとき、各属性を表す隠れ変数z’は、予測部50によって予測された属性ベクトルyの値により、変数抽出部52によって抽出された各属性を表す隠れ変数zを変換することにより得られる。
 変更部62は、変更部46と同様に、各属性を表す隠れ変数z’に含まれる隠れ変数のうち、変更対象の属性を表す隠れ変数の値を変更し、変更対象の属性を表す隠れ変数の値を変更した各属性を表す隠れ変数z’を複数取得する。
 変更部62は、変数抽出部52によって求められた各属性を表す隠れ変数z’に含まれる隠れ変数のうち、変更対象の属性を表す隠れ変数の値を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数の値を変更する。変更部62は、変更対象の属性を表す隠れ変数の値を変更した各属性を表す隠れ変数z’を複数求める。
 また、変更対象の属性が複数ある場合には、変更部62は、変更対象の属性の各々に対して、上述した処理を繰り返して、変更後の各属性を表す隠れ変数z’を複数求める。
 信号生成部64は、変更部62によって得られた変更後の各属性を表す隠れ変数z’毎に、変数抽出部52によって抽出された個体性を表す隠れ変数zと、当該変更後の各属性を表す隠れ変数z’とから、ニューラルネットワーク記憶部40に記憶された、生成器2としてのニューラルネットワークGを用いて、変更後の画像データを生成する。すなわち、信号生成部64は、変更対象の画像データxから抽出された隠れ変数z’の値を変更して得られる隠れ変数z’ごとに画像データを生成する。変更対象の画像データxから生成される複数の画像データは、予測された属性ベクトルyで表される属性について多様性を有する画像データである。
 信号検索部65は、信号生成部64によって生成された変更後の画像データの各々と信号蓄積部49に記憶された、変更後の蓄積画像データの各々とを比較して、信号生成部64によって生成された変更後の画像データに類似する、変更後の蓄積画像データを検索する。画像データ同士を比較する際には、既知の画像データの特徴量を比較して得られる類似度を用いればよい。信号検索部65は、変更後の画像データに対する類似度が閾値以上となる変更後の蓄積画像データを、検索結果として出力すればよい。信号検索部65は、検索結果を類似度順にソートして、検索結果をランキング形式で出力してもよい。
 類似信号出力部66は、出力部90により、信号検索部65によって検索された変更後の蓄積画像データを検索結果として表示する。出力部90は、信号検索部65から出力される検索結果に含まれる変更後の蓄積画像データを外部の装置へ出力してもよい。
<本発明の第1の実施の形態に係る信号検索装置の作用>
 本発明の第1の実施の形態に係る信号検索装置100の作用について説明する。信号検索装置100は、以下に説明する学習処理ルーチンと検索処理ルーチンとを実行する。
 学習処理ルーチンについて説明する。入力部10において学習データとして、画像データxと属性ベクトルyとのペアを複数受け付けると、信号検索装置100は、図5に示す学習処理ルーチンを実行する。
 ステップS100では、学習部30が、入力部10で受け付けた複数の学習データのうちの何れか一つを取得する。
 ステップS102では、学習部30が、あるデータ分布から個体性を表す隠れ変数zと各属性を表す隠れ変数zとを生成する。
 ステップS104では、学習部30が、ステップS100で取得した学習データに含まれる属性ベクトルyの値により、ステップS102で生成された各属性を表す隠れ変数zを変換することにより、各属性を表す隠れ変数z’を求める。
 ステップS106では、学習部30が、ステップS102で生成された個体性を表す隠れ変数zと、S104で求められた各属性を表す隠れ変数の変換結果z’とから、生成器2としてのニューラルネットワークGを用いて、画像データ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は、最終的に得られた、生成器2としてのニューラルネットワークGのパラメータ、及び識別器3としてのニューラルネットワークDのパラメータを、ニューラルネットワーク記憶部40に格納する。
 ステップS112では、学習部30が、入力部10で受け付けた複数の学習データのうちの何れか一つを取得する。
 ステップS114では、学習部30が、ステップS112で得た学習データに含まれる画像データxと属性ベクトルyとから、エンコーダ1としてのニューラルネットワークEを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数zとを抽出する。学習部30は、抽出された個体性を表す隠れ変数zと、各属性を表す隠れ変数z’とから、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。このとき、各属性を表す隠れ変数z’は、当該画像データxに対応する属性ベクトルyの値により、抽出された各属性を表す隠れ変数zを変換することにより得られる。
 ステップS116では、学習部30が、生成された画像データと、ステップS112で得た学習データに含まれる画像データxとに基づいて、エンコーダ1としてのニューラルネットワークEのパラメータを更新する。
 ステップS118では、学習部30が、全ての学習データについて、ステップS112~S116の処理を実行したか否かを判定する。ステップS112~S116の処理に使用されていない学習データが存在する場合、学習部30は、ステップS112へ戻り、当該学習データを取得する。全ての学習データがステップS112~S116の処理に使用されている場合には、学習部30は、学習処理ルーチンを終了する。学習部30は、最終的に得られたエンコーダ1としてのニューラルネットワークEのパラメータを、ニューラルネットワーク記憶部40に格納する。
 入力部10において複数の蓄積画像データを受け付けると、予測部42が、入力部10で受け付けた蓄積画像データの各々を、属性ベクトルyを予測するための予測器としての予め学習されたニューラルネットワークに入力し、各蓄積画像データの属性ベクトルyを予測する。
 変数抽出部44が、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、各蓄積画像データの個体性を表す隠れ変数z及び各属性を表す隠れ変数zを抽出する。変数抽出部44が、抽出された各属性を表す隠れ変数zと、予測部42によって予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。
 変更部46は、各蓄積画像データから得られた各属性を表す隠れ変数z’に含まれる隠れ変数のうち変更対象の属性を表す隠れ変数の値を変更し、変更対象の属性を表す隠れ変数の値を変更した各属性を表す隠れ変数z’を複数取得する。変更部46は、蓄積画像データごとに、変更後の各属性を表す隠れ変数z’を複数得る。
 信号生成部48は、変更部46によって得られた変更後の各属性を表す隠れ変数z’毎に、変数抽出部44によって抽出された個体性を表す隠れ変数zと、当該変更後の各属性を表す隠れ変数z’とから、ニューラルネットワーク記憶部40に記憶された、生成器2としてのニューラルネットワークGを用いて、変更後の蓄積画像データを生成する。
 信号蓄積部49に、信号生成部48により蓄積画像データの各々に対して生成された複数の変更後の蓄積画像データが記憶される。信号蓄積部49に記憶される複数の変更後の蓄積画像データは、各蓄積画像データから予測された属性ベクトルyが表す属性について多様性を有する。
 検索処理ルーチンについて説明する。入力部10において変更対象となる画像データを受け付けると、信号検索装置100は、図6に示す検索処理ルーチンを実行する。
 ステップS152では、予測部50が、入力部10で受け付けた変更対象となる画像データに基づいて、予め学習された予測器としてのニューラルネットワークを用いて、属性ベクトルyを予測する。
 ステップS154では、変数抽出部52が、入力部10で受け付けた変更対象となる画像データから、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数zを抽出する。変数抽出部52が、抽出された各属性を表す隠れ変数zと、上記ステップS152で予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。このとき、各属性を表す隠れ変数z’は、予測された属性ベクトルyの値により、抽出された各属性を表す隠れ変数zを変換することにより得られる。
 ステップS160では、変更部62が、ステップS154で得られた各属性を表す隠れ変数z’ に含まれる隠れ変数のうち、変更対象の属性を表す隠れ変数の値を変更し、変更対象の属性を表す隠れ変数の値が変更された各属性を表す隠れ変数z’を複数取得する。
 ステップS162では、信号生成部64が、ステップS160で得られた変更後の各属性を表す隠れ変数z’毎に、ステップS154で抽出された個体性を表す隠れ変数zと、当該変更後の各属性を表す隠れ変数z’とから、ニューラルネットワーク記憶部40に記憶された、生成器2としてのニューラルネットワークGを用いて、変更後の画像データを生成する。信号生成部64により生成される複数の変更後の画像データは、ステップS152において予測された属性ベクトルyが示す属性について多様性を有する。
 ステップS163では、信号検索部65が、ステップS162で生成された変更後の画像データの各々と信号蓄積部49に記憶された複数の変更後の蓄積画像データの各々とを比較して、生成された変更後の画像データに類似する、変更後の蓄積画像データを検索する。
 ステップS164で、類似信号出力部66が、出力部90により、ステップS163で検索された変更後の蓄積画像データを検索結果として表示し、検索処理ルーチンを終了する。
 以上説明したように、本発明の第1の実施の形態に係る信号検索装置は、検索のための変更対象の画像データの、個体性を表す隠れ変数と、各属性を表す隠れ変数とを抽出する。信号検索装置は、抽出された各属性を表す隠れ変数を変更し、変更後の属性を表す隠れ変数に基づいて属性が変更された変更後の画像データに類似する画像データを、属性が変更された変更後の蓄積画像データから検索する。前述の動作を含む信号検索方法を行うことにより、信号検索装置は、属性が変更されても類似する画像データを検索することができる。すなわち、信号検索装置は、検索のための変更対象の画像データに含まれる属性と異なる属性を蓄積画像データ又は変更後の蓄積画像データが有していても、蓄積画像データ又は変更後の蓄積画像データから画像データに類似する画像を検索できる。
 信号検索装置は、エンコーダ1としてのニューラルネットワークEを用いて、入力された画像データの隠れ変数を抽出し、抽出された隠れ変数の値を変更する。信号検索装置は、変更された隠れ変数から、生成器2としてのニューラルネットワークGを用いて、画像データを生成することにより、属性を変更した画像データを生成することができる。例えば、メガネに関する属性だけを変えたい場合は、信号生成部への入力において、個体性を表す隠れ変数zを固定して、属性を多次元で表す隠れ変数zの各次元をインタラクティブに変更すればよい。属性を維持したまま個体性だけを変えたい場合は、信号生成部の入力において、各属性を表す隠れ変数zを固定して、個体性を表す隠れ変数zを変更すればよい。
 本発明の第1の実施の形態に係る信号検索装置は、属性毎に、複数の隠れ変数を有するため、属性の多様性を表現することができる。また、信号検索装置は、一つの属性に対する複数の隠れ変数のうちの一つの隠れ変数の値だけをコントロールすることができる。
 本発明の第1の実施の形態に係る信号検索装置は、画像データにおける個体性を表す隠れ変数、及び各属性を表す隠れ変数を生成する。信号検索装置は、入力された学習データに含まれる真の画像データと、生成された個体性を表す隠れ変数、及び各属性を表す隠れ変数とに基づいて、画像を生成する生成器2としてのニューラルネットワークGと、生成された画像データが、属性ベクトルの下での真の画像データと同一の分布に従うか否かを識別する識別器3としてのニューラルネットワークDとを、互いに競合する最適化条件に従って学習させる。上述の動作を含む学習処理ルーチンを行うことにより、信号検索装置は、画像の属性を制御しつつ、画像データを生成することができる生成器2としてのニューラルネットワークGを学習することができる。
 第1の実施の形態において、学習部30が、互いに競合する最適化条件に従って、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDとを学習する場合を例に説明したが、これに限定されない。例えば、各隠れ変数が独立なものを表現するように制約を更に設けてもよい。具体的には、式(7)に示す、隠れ変数z’と、隠れ変数z’から生成された画像データとの相関(情報量)が大きくなるように制約を更に設ける。
Figure JPOXMLDOC01-appb-M000007
 式(7)において、I(z’;G(z,z,y)|y)は、属性ベクトル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 がサングラス以外のメガネを表現するようになる。
 第1の実施の形態では、エンコーダ1としてのニューラルネットワークEが、属性を表す隠れ変数zと個体性を表す隠れ変数zを同時に推定する場合を例に説明した。しかし、隠れ変数の推定方法は、これに限定されるものではない。例えば、エンコーダ1としてのニューラルネットワークEが、属性を表す隠れ変数zではなく、属性を表す隠れ変数z’を直接推定することにより、属性を表す隠れ変数z’と個体性を表す隠れ変数zとを同時に推定するようにしてもよい。
 生成器2としてのニューラルネットワークGの学習の際に、近似分布Q(z’|x,y)を推定するニューラルネットワークQを一緒に学習した場合は、学習部30は、この近似分布を推定するニューラルネットワークQを用いて、属性を表す隠れ変数z’を推定するようにしてもよい。更に、エンコーダ1としてのニューラルネットワークEは、個体性を表す隠れ変数zだけを推定するようにしてもよい。
 エンコーダ1としてのニューラルネットワークEを使わずに、生成器2としてのニューラルネットワークGに任意の個体性を表す隠れ変数zを入力し、生成器2としてのニューラルネットワークGの出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数zを更新していくことで、最適な個体性を表す隠れ変数zを求めるようにしてもよい。また、エンコーダ1としてのニューラルネットワークEで、属性を表す隠れ変数z’と個体性を表す隠れ変数zとを求めた後、これらを初期値にして、生成器2としてのニューラルネットワークGに個体性を表す隠れ変数zを入力し、生成器2としてのニューラルネットワークGの出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数zを更新していくことで、最適な個体性を表す隠れ変数zを求めるようにしてもよい。また、エンコーダ1としてのニューラルネットワークE、または、予測器としてのニューラルネットワークを、生成器2としてのニューラルネットワークG及び識別器3としてのニューラルネットワークDと一緒に学習しても良い。
<本発明の第2の実施の形態に係る概要>
 次に、本発明の第2の実施の形態に係る信号検索装置の構成について説明する。なお、第2の実施の形態に係る信号検索装置は、第1の実施の形態に係る信号検索装置と同様であるため、同一の符号を付して説明を省略する。
 第2の実施の形態では、各属性を表す隠れ変数が、階層構造になっている点が、第1の実施の形態と異なっている。
 第2の実施の形態では、信号検索装置100は、属性に対して階層的な制御を行う。この制御を実現するために、図7に示すように、各属性を表す隠れ変数が、2階層以上の階層的な隠れ変数であって、階層的に変換される構造を学習部30が有する。1層目の隠れ変数cが、1層目の各属性を表す隠れ変数であり、第1の実施の形態における属性ベクトルyに対応している。隠れ変数は、例えば属性の有無や正負を表すが、特にこれらに限定されない。
 2層目の隠れ変数cは、1層目の隠れ変数cの値により変換され、変換結果c’が得られる。3層目の隠れ変数cは、2層目の隠れ変数cの変換結果c’の値により変換され、変換結果c’が得られる。信号検索装置100は、3層目において、個体性を表す隠れ変数zと、各属性を表す隠れ変数としての変換結果c’とを生成器の入力とし、生成器としてのニューラルネットワークGにより、画像データを生成する。信号検索装置100は、画像データ同士を比較して、変更後の画像データに類似する変更後の蓄積画像データを検索する。
 ニューラルネットワークの学習では、図8に示すように、1層目の隠れ変数c及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、隠れ変数cの分布を推定するニューラルネットワークQの学習が行われる。2層目の隠れ変数の変換結果c’及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、隠れ変数cの分布を推定するニューラルネットワークQの学習が行われる。3層目の隠れ変数の変換結果c及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、隠れ変数cの分布を推定するニューラルネットワークQの学習が行われる。各層における学習は順次行われる。図8におけるP、P、Pは、識別器としてのニューラルネットワークD、D、Dによる識別結果をそれぞれ表す。
 上述のように、信号検索装置100は、1層目の隠れ変数に対応する各ニューラルネットワークを最初に学習し、その学習結果をもとに一層深い層の隠れ変数に対応するニューラルネットワークを学習することを再帰的に行って、一階層ずつ、各ニューラルネットワークを学習する。階層的な学習により、浅い階層において、抽象的な概念が最初に獲得され、階層が深くなるに従って、徐々に属性の多様性を詳細化することができる。
<本発明の第2の実施の形態に係る信号検索装置の構成>
 本発明の第2の実施の形態に係る信号検索装置100の入力部10は、学習データとして、複数の画像データxを受け付ける。また、入力部10は、検索対象となる複数の蓄積画像データと、検索のための変更対象となる画像データxを受け付ける。信号検索装置100は、検索のための変更対象となる画像データxに類似する画像データを、複数の蓄積画像データに基づいて検索する。
 学習部30は、あるデータ分布から個体性を表す隠れ変数z(z、z、z)及び各階層における各属性を表す隠れ変数c、c、cを生成する。各隠れ変数は、例えば各階層における属性の有無や正負を表すものが考えられるが、特にこれらに限定されない。学習部30は、個体性を表す隠れ変数z(z、z、z)及び各階層における各属性を表す隠れ変数c、c、cを乱数を用いて生成してもよい。
 学習部30は、生成器として動作するニューラルネットワークG、G、Gと、識別器として動作するニューラルネットワークD、D、Dと、隠れ変数c、c’、c’の分布を推定するニューラルネットワークQ、Q、Qとを有する。
 生成器としてのニューラルネットワークG、G、Gは、生成された個体性を表す隠れ変数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’をそれぞれ推定する。
 生成器、識別器として動作する各ニューラルネットワークは、入力部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’は、1層目の各属性を表す隠れ変数cの値により、2層目の各属性を表す隠れ変数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’は、2層目の各属性を表す隠れ変数cの変換結果c’の値により、3層目の各属性を表す隠れ変数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に記憶される。
 学習部30は、入力された学習データに含まれる画像データxを入力とし、エンコーダとしてのニューラルネットワークを用いて、個体性を表す隠れ変数z(z、z、z)を推定する。学習部30は、近似分布を推定するニューラルネットワークQ、Qを用いて、各属性を表す隠れ変数c’、c’を抽出する。
 学習部30は、推定された個体性を表す隠れ変数zと、各属性を表す隠れ変数c’とを入力とし、生成器としてのニューラルネットワークGを用いて、画像データを生成する。
 学習部30は、生成された画像データが、元の画像データxと同じになる制約を満たすように、エンコーダとしてのニューラルネットワークのパラメータを更新する。
 学習部30は、上記の処理を、学習データ毎に行って、エンコーダとしてのニューラルネットワークEのパラメータを繰り返し更新する。
 最終的に得られたエンコーダとしてのニューラルネットワークEは、ニューラルネットワーク記憶部40に記憶される。
 予測部42は、入力部10で受け付けた蓄積画像データを、1層目の各属性を表す隠れ変数cを予測するための予測器としての予め学習されたニューラルネットワークQに入力し、1層目の各属性を表す隠れ変数cを予測する。ニューラルネットワークQから出力される各属性を表す隠れ変数cは、例えば蓄積画像データにおける各属性の有無又は度合いを示すものが考えられるが、特にこれらに限定されない。属性の有無は、例えば、0及び1の2値、あるいは正負の値で示される。
 変数抽出部44は、蓄積画像データを、ニューラルネットワーク記憶部40に記憶された、エンコーダとしてのニューラルネットワークEへ入力し、エンコーダを用いて、蓄積画像データの個体性を表す隠れ変数zを推定する。変数抽出部44は、蓄積画像データをニューラルネットワークQ、Qへ入力し、ニューラルネットワークQ、Qを用いて、2層目以降の各属性を表す隠れ変数c’、c’を抽出する。
 変更部46は、各属性を表す隠れ変数c、c’、又はc’のうち、変更対象の属性を表す隠れ変数の値を変更し、変更対象の属性を表す隠れ変数の価を変更した各属性を表す隠れ変数c、c’、又はc’を複数取得する。属性を表す隠れ変数の値cを変更した場合には、関連する属性を表す隠れ変数c’、c’の値も変更される。属性を表す隠れ変数c’の値が変更された場合には、関連する属性を表す隠れ変数c’の値も変更される。
 変更部46は、変数抽出部44によって求められた各属性を表す隠れ変数c’のうち、変更対象の属性を表す隠れ変数の値を、変更後の値で置き換えることにより、各属性を表す隠れ変数c’を変更して、変更後の各属性を表す隠れ変数c’を複数求める。
 信号生成部48は、変数抽出部44によって抽出された個体性を表す隠れ変数zと、変更部46にり変更された各属性を表す隠れ変数c’とを生成器の入力とし、ニューラルネットワーク記憶部40に記憶された、生成器としてのニューラルネットワークGを用いて、画像データを生成する。
 信号蓄積部49には、信号生成部48により蓄積画像データの各々に対し生成された変更後の蓄積画像データの各々が記憶される。
 予測部50は、入力部10で受け付けた変更対象の画像データを、1層目の各属性を表す隠れ変数cを予測するための予測器として予め学習されたニューラルネットワークQに入力し、1層目の各属性を表す隠れ変数cを予測する。ニューラルネットワークQから出力される各属性を表す隠れ変数cは、例えば変更対象の画像データにおける各属性の有無又は度合いを示すものが考えられるが、特にこれらに限定されない。属性の有無は、例えば、0及び1の2値、あるいは正負の値で示される。
 変数抽出部52は、入力された変更対象の画像データxから、ニューラルネットワーク記憶部40に記憶された、エンコーダとしてのニューラルネットワークEを用いて、変更対象の画像データxの個体性を表す隠れ変数zを推定する。変数抽出部52は、ニューラルネットワークQ、Q、Qを用いて、入力された変更対象の画像データxから各属性を表す隠れ変数c、c’、c’を抽出する。
 変更部62は、変数抽出部52により抽出された各属性を表す隠れ変数c、c’、又はc’のうち、変更対象の属性を表す隠れ変数の値を変更することにより、変更対象の属性を表す隠れ変数の値が変更された各属性を表す隠れ変数c、c’、又はc’を複数取得する。属性を表す隠れ変数の値cを変更した場合には、関連する属性を表す隠れ変数c’、c’の値も変更される。属性を表す隠れ変数c’の値が変更された場合には、関連する属性を表す隠れ変数c’の値も変更される。
 変更部62は、変数抽出部52によって求められた各属性を表す隠れ変数c’のうち、変更対象の属性を表す隠れ変数の値を、変更後の値で置き換えることにより、各属性を表す隠れ変数c’を変更して、変更後の各属性を表す隠れ変数c’を複数求める。
 信号生成部64は、変数抽出部52によって抽出された個体性を表す隠れ変数zと、変更部62により変更された各属性を表す隠れ変数c’とを生成器の入力とし、ニューラルネットワーク記憶部40に記憶された、生成器としてのニューラルネットワークGを用いて、画像データを生成する。
 なお、第2の実施の形態に係る信号検索装置100の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
 以上説明したように第2の実施の形態に係る信号検索装置は、1層目の各属性を表す隠れ変数、2層目又は3層目の各属性を表す隠れ変数の変換結果の値を変更する。信号検索装置は、エンコーダとしてのニューラルネットワークにより抽出された個体性を表す隠れ変数、及び変更後の3層目の各属性を表す隠れ変数の変換結果を生成器の入力として、生成器としてのニューラルネットワークを用いて、属性が変更された変更後の画像データを生成する。信号検索装置は、各属性を表す隠れ変数を変更して得られた変更後の画像データに類似する画像データを、各属性を表す隠れ変数を変更して得られた変更後の蓄積画像データから検索する。属性を表す隠れ変数の値を変更した各属性を表す隠れ変数を用いて生成された変更後の画像データ及び変更後の蓄積画像データは属性について多様性を有する。多様性を有する変更後の画像データ及び変更後の蓄積画像データを用いることにより、信号検索装置は、属性が変更されても類似する画像データを検索することができる。
 なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
 例えば、上述した実施の形態では、ニューラルネットワークの学習を行う学習部を含む信号検索装置として構成していたが、これに限定されるものではない。例えば、学習部及びニューラルネットワーク記憶部40を含む学習装置と、予測部、変数抽出部、変更部、信号生成部、信号蓄積部、信号検索部、及び類似信号出力部を含む信号検索装置とのそれぞれに分けて構成してもよい。
 また、上述した実施の形態では、入力される信号が、顔画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、顔以外の画像データであってもよい。例えば、入力される信号が、文字画像データであってもよい。この場合には、属性ベクトルyが、文字の種類(例:a,b,c,…,1,2,…)の各々の有無を表す。属性を表す隠れ変数zが、文字の多様性を表す。例えば、属性ベクトルyが文字「4」を表す場合、文字の多様性は、「4」の大きさや形状を表す。
 あるいは、属性ベクトルyが、文字のフォント(例:ゴシック体、明朝体、太字、斜体字、…)の各々の有無を表し、属性を表す隠れ変数zが、フォントの多様性を表す。例えば、属性ベクトルyがゴシック体を表す場合、フォントの多様性は、ゴシック体の種別を表す。
 また、入力される信号が、動物画像データ(例えば、鳥画像データ)であってもよい。この場合には、属性ベクトルyが、色の有無を表し、属性を表す隠れ変数zが、色の多様性を表す。例えば、属性ベクトルyが赤色の有無を表し、隠れ変数zが鳥のいずれの部位が赤いか又は赤の色合いを表す。
 あるいは、属性ベクトルyが、鳥の部位の形状(を表し、属性を表す隠れ変数zが、鳥の部位の多様性を表す。例えば、属性ベクトルyが嘴の先端が丸いか、尖っているかを表し、どのように丸い嘴であるかを隠れ変数zが表す。
 入力される信号が、背景画像データであってもよい。この場合には、属性ベクトルyが、背景のタイプを表し、属性を表す隠れ変数zが、背景のタイプの多様性を表す。例えば、属性ベクトルyが海、山、川、家又は道路の有無を表し、どのような海、山、川、家又は道路であるかを隠れ変数zが表す。
 また、入力される信号が、家画像データであってもよい。この場合には、属性ベクトルyが、色の有無を表し、属性を表す隠れ変数zが、色の多様性を表す。例えば、属性ベクトルyが赤の有無を表し、隠れ変数zが家のいずれの部位が赤いか又は赤の色合いを表す。
 入力される信号が、建物画像データであってもよい。この場合には、属性ベクトルyが、建物の種類それぞれの有無を表し、属性を表す隠れ変数zが、建物の多様性を表す。例えば、属性ベクトルyがビル、戸建及びタワーの有無を表し、どのような形状の建物であるかを隠れ変数zが表す。
 あるいは、属性ベクトルyが、建物のパーツの形状の有無を表し、属性を表す隠れ変数zが、パーツの多様性を表す。例えば、属性ベクトルyが平らな屋根、丸い屋根及び三角形状の屋根の有無を表し、屋根がどのように平らであるかを隠れ変数zが表す。
 上述した実施の形態では、入力される信号が、画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、画像データ以外の信号であってもよい。例えば、入力される信号が、音声信号(あるいは楽曲信号)、テキストデータ、動画データであってもよい。
 入力される信号が、音声信号である場合には、信号検索装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークが音声信号を生成するようにしてもよい。各属性を表す隠れ変数は、音声信号の発生源である人に関する属性や、音声信号を構成する要素に関する属性を表してもよい。例えば、音声信号の発生源である人に関する属性は、魅力、感情及び方言などの有無やその度合い、人が男性であるか女性であるか、人が若いか年寄りかを表す。音声信号を構成する要素に関する属性は、スピーチの速度、声の高さなどを表す。信号検索装置は、個体性を表す隠れ変数と属性を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、属性について多様性を有する音声信号を再構成することができる。
 入力される信号が、テキストデータである場合には、信号検索装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークがテキストデータを生成するようにしてもよい。各属性を表す隠れ変数は、テキストデータの発生源である人に関する属性や、テキストデータを構成する要素に関する属性を表してもよい。例えば、人に関する属性は、丁寧度、人が男性であるか女性であるかなどを表す。要素に関する属性は、テキストが抽象的であるか具体的であるか、テキストが感情的であるか否か、テキストのジャンル、テキストが口語的であるか文語的であるか、テキストがフォーマルであるか否かを表す。信号検索装置は、個体性を表す隠れ変数と属性を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、属性について多様性を有するテキストデータを再構成することができる。
 入力される信号が、動画データである場合には、信号検索装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークが動画データを生成するようにしてもよい。各属性を表す隠れ変数は、動画データを構成する要素に関する属性を表す。例えば、各属性を表す隠れ変数は、コミカル度、動画が古いか新しいか、動画が実写であるかアニメであるか、感情の有無、動画のジャンルなどを表す。信号検索装置は、個体性を表す隠れ変数と属性を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、属性について多様性を有する動画データを再構成することができる。
 信号検索装置は、再構成した画像データに含まれる再構成誤差を考慮して、再構成した画像データを補正するようにしてもよい。例えば、信号検索装置は、式(8)に従って、属性を表す隠れ変数を変更し、かつ、生成器としてのニューラルネットワークを用いて生成した画像データxmodを補正するようにしてもよい。
Figure JPOXMLDOC01-appb-M000008
 式(8)において、xrecは、属性を表す隠れ変数を変更せずに再構成した画像データであり、xは、変更対象の画像データである。Δは、属性を表す隠れ変数の値を変更して再構成した画像データxmodと、隠れ変数の値を変更せずに再構成した画像xrecとの差分画像である。Δ’は、変更対象の画像データxと、隠れ変数の値を変更せずに再構成した画像xrecとの差分画像である。~x(~はxの上に付される)は、補正により得られる画像データである。Mは、式(9)に従って予め求められたマスク画像である。
Figure JPOXMLDOC01-appb-M000009
 式(9)において、σは、式(10)にて示されるパラメータに対するガウシアン分布の分散を表す。αは、当該ガウシアン分布の広がりを表している。式(10)は、差分画像Δの各画素における赤、緑及び青それぞれの輝度値の絶対値の平均値を表す。
 上述では、マスク画像の算出にガウシアン分布を用いる場合を例に説明したが、ラプラシアン分布など任意の分布を用いてもよい。差分画像のノルムの計算に絶対値の平均値を用いる場合を礼に説明したが、L2ノルムなど、任意のノルムを用いてもよい。輝度値ごとにマスク画像を算出してもよい。
Figure JPOXMLDOC01-appb-M000010
 上述した実施の形態では、エンコーダ、生成器、及び予測器それぞれのニューラルネットワークとして、CNNを用いる場合を例に説明したが、これに限定されるものではなく、他のニューラルネットワーク構造を用いてもよく、例えば、時系列性を考慮したモデルであるRNN(Recurrent Neural Network)やFully Connectedなどを用いてもよい。RNNは、LSTM(Long Short-Term Memory)を用いて構成してもよい。
 エンコーダの出力として、隠れ変数z、zそのものを出力する場合を例に説明した。しかし、エンコーダの出力は、これに限定されない。例えば、エンコーダが、隠れ変数の分布に関するパラメータ(例えば、ガウシアン分布の場合、平均と標準偏差)を出力し、変数抽出部44が、エンコーダから出力された分布パラメータに従ってサンプリングして隠れ変数を得るようにしてもよい。
 第2の実施の形態では、エンコーダが、個体性を表す隠れ変数z(z、z、z)を推定し、変数抽出部が、ニューラルネットワークQ、Qにより推定された近似分布を用いて、属性を表す隠れ変数c’、c’を予測し、予測部が、予測器を用いてcを予測する場合を例に説明した。しかし、エンコーダが、属性を表す隠れ変数c、c、cと個体性を表す隠れ変数z(z、z、z)とを同時に推定するようにしてもよい。あるいは、エンコーダが、属性を表す隠れ変数c、cではなく、属性を表す隠れ変数c’、c’を直接推定するようにしてもよい。
 信号検索装置が、エンコーダを使わずに、生成器に任意の個体性を表す隠れ変数zを入力し、生成器としてのニューラルネットワークGから出力される画像データが目的画像xに近づくように勾配法で個体性を表す隠れ変数zを更新していくことで、最適な個体性を表す隠れ変数zを求めるようにしてもよい。
 信号検索装置が、予測器で属性を表す隠れ変数cを求め、エンコーダで、属性を表す隠れ変数c’、c’と個体性を表す隠れ変数z(z、z、z)とを求めてもよい。更に、信号検索装置が、求めた隠れ変数c、c’、c’、zを初期値にして、生成器に個体性を表す隠れ変数zを入れて、生成器としてのニューラルネットワークGから出力される画像データが目的画像xに近づくように勾配法で個体性を表す隠れ変数zを更新していくことで、最適な個体性を表す隠れ変数zを求めるようにしてもよい。
 信号検索装置が、エンコーダとしてのニューラルネットワークを用いて、個体性を表す隠れ変数zと同時に、属性を表す隠れ変数c、cを推定する場合には、推定された各属性を表す隠れ変数c、cと、予測された1層目の各属性を表す隠れ変数cとに基づいて、各属性を表す隠れ変数c’、c’を求める。各属性を表す隠れ変数c’は、以下のように得られる。
 2層目の各属性を表す隠れ変数c’が、1層目の各属性を表す隠れ変数cの値により、2層目の各属性を表す隠れ変数cを変換することにより得られる。3層目の各属性を表す隠れ変数c’が、2層目の各属性を表す隠れ変数cの変換結果c’の値により、3層目の各属性を表す隠れ変数cを変換することにより得られる。
 信号検索装置が、エンコーダ又は予測器を、生成器及び識別器と一緒に学習してもよい。
 第2の実施の形態では、学習部30が、学習データに含まれる画像データから、1層目の各属性を表す隠れ変数cを予測して、学習に用いる場合を例に説明した。しかし、これに限定されるものではなく、学習部30が、各ニューラルネットワークを学習する際に、1層目の各属性を表す隠れ変数cを学習データとして入力するようにしてもよい。
 学習部30が、1層目の各属性を表す隠れ変数cだけでなく、任意の階層の各属性を表す隠れ変数も学習データとして入力して、より深い階層を学習するようにしてもよい。
 第1の実施の形態では、学習データに含まれる全ての画像データxについて、属性ベクトルyが付与されている場合を例に説明した。しかし、これに限定されるものではなく、学習データに含まれる一部の画像データxについてだけ、属性ベクトルyが付与されていてもよい。あるいは、学習データが属性ベクトルyを含まずともよい。この場合、信号検索装置は、第2の実施の形態の信号検索装置が属性ベクトルyに対応する各属性を表す隠れ変数cを推定するのと同様に、属性ベクトルyを推定してもよい。信号検索装置は、推定した属性ベクトルyに基づいて、各ニューラルネットワークを学習してもよい。
 第2の実施の形態の場合において、任意の階層の各属性を表す隠れ変数を学習データとして入力するときに、学習データに含まれる一部の画像データxについて、各属性を表す隠れ変数を付与するようにしてもよい。
 また、第1の実施の形態と第2の実施の形態とでは、信号検索装置が、入力された画像データと、蓄積画像データとの双方に対して属性を変更し、変更後の画像データと類似する変更後の蓄積画像データを検索する場合を例に説明した。しかし、信号検索装置による検索は、これに限定されるものではない。例えば、信号検索装置が、入力された画像データのみに対して属性を変更し、変更後の画像データと類似する蓄積画像データを検索するようにしてもよい。あるいは、信号検索装置が、蓄積画像データのみに対して属性を変更し、入力された画像データと類似する変更後の蓄積画像データを検索するようにしてもよい。
 第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)が行ってもよい。
 画像データが属性ベクトルを含むか否かの識別結果を、最適化条件としての目的関数に加える場合、例えば、目的関数は式(11)で表される。式(11)で表される目的関数を用いる学習では、生成器としてのニューラルネットワークGと、識別器としてのニューラルネットワークDと、P(c|x)及びP(c|x,p)近似分布を推定するニューラルネットワークQ(l=1,2,…,L)との学習が行われる。
Figure JPOXMLDOC01-appb-M000011
 式(11)における、λ,…,λは、トレードオフ・パラメータである。LGAN(D,G)は式(12-1)で表される。LMI/AC(G,Q)は、式(12-2)で表されるLMI(G,Q)と、式(12-3)で表されるLAC(G,Q)との何れかを用いることを表す。学習データに属性ベクトルが含まれない場合、LMI(G,Q)が用いられる。学習データに属性ベクトルが含まれる場合、LAC(G,Q)が用いられる。LHCMI(G,Q)は、式(12-4)で表される。
Figure JPOXMLDOC01-appb-M000012
 式(12-1)~式(12-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をサンプリングすることを表す。式(12-4)におけるcはl層目の各属性を表す隠れ変数であり、pは(l-1)層目の各属性を表す隠れ変数である。
 第2の実施の形態の信号検索装置において、生成される画像データが真の画像データと同一の分布に従うか否かを識別器が識別する場合、学習部30は、図8に示した3層のニューラルネットワークを有する構成に代えて、図9に示す1層のニューラルネットワークを有する構成を備えてもよい。図9に示す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が行ってもよい。画像データが属性ベクトルを含むか否かの識別を識別器が行う場合、識別器は、入力される画像データに各属性が含まれるか否かを判定するニュールラルネットワークを更に含んでもよい。
 信号検索装置は、生成した画像データに対して、既知の画像処理技術を適用してもよい。例えば、信号検索装置は、生成した画像に対して超解像処理や画質の補正を行ってもよい。
 本発明は、信号に含まれる属性が変更されても当該信号に類似する他の信号を検索することが要求される用途に適用できる。
2 生成器
3 識別器
10 入力部
20 演算部
30 学習部
40 ニューラルネットワーク記憶部
42 予測部
44 変数抽出部
46 変更部
48 信号生成部
49 信号蓄積部
50 予測部
52 変数抽出部
62 変更部
64 信号生成部
65 信号検索部
66 類似信号出力部
90 出力部
100 信号検索装置

Claims (7)

  1.  入力された信号又は信号蓄積部に蓄積されている蓄積信号が表現する対象の属性の値、又は前記入力された信号の信号発生源に関する属性の値を変更し、複数の変更後の前記属性の値を取得する変更部と、
     前記変更部によって取得された複数の変更後の前記属性の値の各々に応じて前記属性が変更された前記入力された信号又は前記蓄積信号を用いて、前記入力された信号に類似する前記蓄積信号を検索する信号検索部と、
     を含む信号検索装置。
  2.  前記信号は、画像データであり、
     前記属性は、前記画像データが表現する被写体の特徴を表す、
     請求項1記載の信号検索装置。
  3.  入力された信号又は前記入力された信号の信号発生源に関する複数の特徴を表す複数の隠れ変数を抽出する変数抽出部と、
     前記抽出された前記複数の隠れ変数のうち属性を表す隠れ変数としての一部の隠れ変数の値を変更した複数の変更後の隠れ変数を取得する変更部と、
     前記変更部によって取得された前記複数の変更後の隠れ変数に基づいて、前記属性が変更された前記入力された信号を変更後の信号として生成する信号生成部と、
     前記信号生成部により生成された前記変更後の信号と、信号蓄積部に蓄積された蓄積信号の前記属性を表す隠れ変数を変更して生成された変更後の蓄積信号とに基づいて、前記変更後の信号に類似する前記変更後の蓄積信号を検索する信号検索部と、
     を含む信号検索装置。
  4.  前記変数抽出部は、前記複数の隠れ変数を抽出するための予め学習された第1のニューラルネットワークを用いて、前記入力された信号から前記入力された信号の前記複数の特徴を表す前記複数の隠れ変数を抽出し、
     前記信号生成部は、信号を生成するための予め学習された第2のニューラルネットワークを用いて、前記変更部によって取得され前記複数の変更後の隠れ変数から前記変更後の信号を生成し、
     前記変更後の蓄積信号は、前記信号蓄積部に蓄積された前記蓄積信号から抽出された複数の隠れ変数のうち前記属性を表す隠れ変数の値を変更した複数の変更後の隠れ変数から前記第2のニューラルネットワークを用いて生成され、
     前記信号検索部は、前記信号生成部により生成された前記変更後の信号と、前記変更後の蓄積信号とを比較して、前記変更後の信号に類似する前記変更後の蓄積信号を検索する
     請求項3記載の信号検索装置。
  5.  変更部が、入力された信号又は信号蓄積部に蓄積されている蓄積信号が表現する対象の属性の値、又は前記入力された信号の信号発生源に関する属性の値を変更して、複数の変更後の前記属性の値を取得し、
     信号検索部が、前記変更部によって取得された複数の変更後の前記属性の値の各々に応じて前記属性が変更された前記入力された信号又は前記蓄積信号を用いて、前記入力された信号に類似する前記蓄積信号を検索する
     信号検索方法。
  6.  変数抽出部が、入力された信号又は前記入力された信号の信号発生源に関する複数の特徴を表す複数の隠れ変数を抽出し、
     変更部が、前記抽出された複数の隠れ変数のうち属性を表す隠れ変数としての一部の隠れ変数の値を変更した複数の変更後の隠れ変数を複数取得し、
     信号生成部が、前記変更部によって取得された前記複数の変更後の隠れ変数に基づいて、前記属性が変更された前記入力された信号を変更後の信号として生成し、
     信号検索部が、前記信号生成部により生成された前記変更後の信号と、信号蓄積部に蓄積された蓄積信号の前記属性を表す隠れ変数を変更して生成された変更後の蓄積信号とに基づいて、前記変更後の信号に類似する前記変更後の蓄積信号を検索する
     信号検索方法。
  7.  コンピュータを、請求項1~請求項4の何れか1項記載の信号検索装置として機能させるためのプログラム。
PCT/JP2018/017413 2017-05-02 2018-05-01 信号検索装置、方法、及びプログラム WO2018203551A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019515734A JP6886120B2 (ja) 2017-05-02 2018-05-01 信号検索装置、方法、及びプログラム
US16/609,681 US11615611B2 (en) 2017-05-02 2018-05-01 Signal retrieval device, method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017091741 2017-05-02
JP2017-091741 2017-05-02

Publications (1)

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

Family

ID=64016120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/017413 WO2018203551A1 (ja) 2017-05-02 2018-05-01 信号検索装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US11615611B2 (ja)
JP (1) JP6886120B2 (ja)
WO (1) WO2018203551A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022269696A1 (ja) * 2021-06-21 2022-12-29 日本電気株式会社 学習装置、推定システム、学習方法、および記録媒体

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117150089B (zh) * 2023-10-26 2023-12-22 环球数科集团有限公司 一种基于aigc技术的人物艺术形象更改***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183205A (ja) * 2000-12-11 2002-06-28 Minolta Co Ltd データベース構築プログラムを記録したコンピュータ読み取り可能な記録媒体、データベース構築方法およびデータベース構築装置、ならびに、データベース検索プログラムを記録したコンピュータ読み取り可能な記録媒体、データベース検索方法およびデータベース検索装置
US20080052312A1 (en) * 2006-08-23 2008-02-28 Microsoft Corporation Image-Based Face Search
JP2017054210A (ja) * 2015-09-07 2017-03-16 株式会社東芝 人物検索システムおよび人物検索方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009147840A1 (ja) * 2008-06-04 2009-12-10 国立大学法人静岡大学 画像検索装置および同画像検索装置に適用される画像検索用コンピュータプログラム
KR101326083B1 (ko) * 2011-11-28 2013-11-07 건국대학교 산학협력단 스케치 질의를 사용하는 콘텐츠 기반 이미지 검색기에서의 질의 이미지 및 검색 대상 영상의 전처리 장치 및 그 방법
US10824942B1 (en) * 2017-04-10 2020-11-03 A9.Com, Inc. Visual similarity and attribute manipulation using deep neural networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183205A (ja) * 2000-12-11 2002-06-28 Minolta Co Ltd データベース構築プログラムを記録したコンピュータ読み取り可能な記録媒体、データベース構築方法およびデータベース構築装置、ならびに、データベース検索プログラムを記録したコンピュータ読み取り可能な記録媒体、データベース検索方法およびデータベース検索装置
US20080052312A1 (en) * 2006-08-23 2008-02-28 Microsoft Corporation Image-Based Face Search
JP2017054210A (ja) * 2015-09-07 2017-03-16 株式会社東芝 人物検索システムおよび人物検索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KANEKO, TAKUHIRO ET AL.: "Generative Attribute Controller with Conditional Filtered Generative Adversarial Networks", 2017 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR 2017, 21 July 2017 (2017-07-21), pages 7006 - 7015, XP033250067 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022269696A1 (ja) * 2021-06-21 2022-12-29 日本電気株式会社 学習装置、推定システム、学習方法、および記録媒体

Also Published As

Publication number Publication date
JPWO2018203551A1 (ja) 2020-01-23
US11615611B2 (en) 2023-03-28
US20200057913A1 (en) 2020-02-20
JP6886120B2 (ja) 2021-06-16

Similar Documents

Publication Publication Date Title
Fabius et al. Variational recurrent auto-encoders
CN108132968B (zh) 网络文本与图像中关联语义基元的弱监督学习方法
JP6831453B2 (ja) 信号検索装置、方法、及びプログラム
JP7144699B2 (ja) 信号変更装置、方法、及びプログラム
CN112949647B (zh) 三维场景描述方法、装置、电子设备和存储介质
CN111723220A (zh) 基于注意力机制和哈希的图像检索方法、装置及存储介质
KR102517513B1 (ko) 인공지능 기반 수목 데이터 관리 시스템 및 수목 데이터 관리 방법
WO2018203550A1 (ja) 信号生成装置、信号生成学習装置、方法、及びプログラム
CN114386534A (zh) 一种基于变分自编码器和对抗生成网络的图像增广模型训练方法及图像分类方法
CN114494718A (zh) 一种图像分类方法、装置、存储介质及终端
CN113095314B (zh) 一种公式识别方法、装置、存储介质及设备
CN113515669A (zh) 基于人工智能的数据处理方法和相关设备
Sharmili et al. Earthworm Optimization with Improved SqueezeNet Enabled Facial Expression Recognition Model.
CN115564027A (zh) 多模态学习行为分析方法、***及存储介质
CN117494051A (zh) 一种分类处理的方法、模型训练的方法以及相关装置
WO2018203551A1 (ja) 信号検索装置、方法、及びプログラム
Mitrović et al. Flower classification with convolutional neural networks
CN114065769B (zh) 情感原因对抽取模型的训练方法、装置、设备及介质
Yin et al. Perceptually learning multi-view sparse representation for scene categorization
KR102476815B1 (ko) 인공지능 기반 스톡 이미지 자동 추출 방법, 장치 및 시스템
Doždor et al. Facial Age Estimation Models for Embedded Systems: A Comparative Study
Kanou et al. Separation of the Latent Representations into" Identity" and" Expression" without Emotional Labels
US20240232648A1 (en) Multimodal unsupervised meta-learning method and apparatus
Nakamura et al. Context-aware image generation by using generative adversarial networks
Zhang The Use of Deep Learning Algorithms to Realize the Automatic Evaluation of Paintings and the Analysis of the Quality of Artwork

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019515734

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

Country of ref document: EP

Kind code of ref document: A1