WO2019116494A1 - 学習装置、学習方法、分類方法、および記憶媒体 - Google Patents

学習装置、学習方法、分類方法、および記憶媒体 Download PDF

Info

Publication number
WO2019116494A1
WO2019116494A1 PCT/JP2017/044894 JP2017044894W WO2019116494A1 WO 2019116494 A1 WO2019116494 A1 WO 2019116494A1 JP 2017044894 W JP2017044894 W JP 2017044894W WO 2019116494 A1 WO2019116494 A1 WO 2019116494A1
Authority
WO
WIPO (PCT)
Prior art keywords
classification
data
conversion
parameter
feature
Prior art date
Application number
PCT/JP2017/044894
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 JP2019559490A priority Critical patent/JP7184801B2/ja
Priority to EP17934746.3A priority patent/EP3726463A4/en
Priority to US16/772,035 priority patent/US11270163B2/en
Priority to PCT/JP2017/044894 priority patent/WO2019116494A1/ja
Publication of WO2019116494A1 publication Critical patent/WO2019116494A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Definitions

  • the present disclosure relates to a computer-implemented learning technique.
  • a method using an auto encoder is well known as a method of deriving a variable that well represents an object feature from input data.
  • a typical auto encoder consists of an input layer, an intermediate layer, and an output layer.
  • a typical auto-encoder is a weight used for encoding (ie, conversion of data in the input layer to data in the middle layer) based on comparison of data input to the input layer and data output by the output layer And biases, and weights and biases used for decoding (i.e., conversion of data in the intermediate layer to data in the output layer) to optimal values.
  • the data output in the intermediate layer by encoding using the weight and the bias determined as a result of learning by the auto encoder can be regarded as information which well represents the feature of the object.
  • the data output in this intermediate layer is generally referred to as "feature vector”, “feature vector”, or simply “feature” or “feature”.
  • data output in the middle layer is also referred to as “a set of values of latent variables” or “a latent variable vector”.
  • Patent Document 1 is a document that describes a technology related to the present invention.
  • Patent Document 1 discloses an image processing apparatus which converts (in other words, normalizes) a size, an angle of rotation, a position, and the like of an object in an image into a state suitable for identification.
  • the magnitude of the transformation for normalization is a portion including a vector (mapping vector) when data after roughening the image is mapped to space F by non-linear transformation, and a basis vector representing the feature of the learning sample It is determined by a factor that is determined based on the relationship with space.
  • Feature quantity vectors derived by a neural network optimized by a general auto-encoder do not necessarily appear to be related to one another for the same object in a different manner. Therefore, for example, using a feature quantity vector derived by a neural network optimized by a general auto encoder, a classifier for classifying a chair reflected in an image into a chair is photographed in the orientation shown in FIG. 1A. It is assumed that the generated image of the chair is generated by learning using data for learning. In such a case, the generated classifier may not be able to distinguish a chair taken at the orientation shown in FIG. 1B or the angle shown in FIG. 1C from the chair. This is because feature amount vectors that are unrelated to each other can be derived from data recorded in different aspects (directions and angles in the above example) even with the same object.
  • Patent Document 1 The technology described in Patent Document 1 is a technology that improves the performance of identification for an object that can take various aspects by normalizing an image.
  • a function for performing this normalization needs to be derived by learning using an image in which an object is captured in various modes as learning data.
  • the pattern identification unit 100 for identifying an object targets a normalized image, there is no guarantee that the object that is not included in the learning data can be correctly identified.
  • An object of the present invention is to provide a learning device capable of generating a discriminator capable of identifying various aspects of an object even when the object has few samples of recorded data.
  • a learning apparatus is a method in which, from data in which identical objects in different aspects are recorded, feature quantities that can be mutually transformed by transformation using transformation parameters that take values according to differences in the aspects.
  • Acquisition means for acquiring a first feature quantity derived from data in which an identification target is recorded by an encoder configured to derive, and a value of the conversion parameter for the first feature quantity
  • Parameter updating means for updating the value of the classification parameter used for classification by the classification means so as to output a result indicating the class associated with the object as the classification destination.
  • a learning method is a method of converting feature amounts that can be mutually converted by conversion using data that takes a value corresponding to the difference between the data in which the same object in different aspects is recorded.
  • An encoder configured to derive, obtains a first feature amount derived from data in which an identification target is recorded, and performs conversion using the value of the conversion parameter for the first feature amount.
  • To generate a second feature quantity, and the classification unit configured to perform classification with the feature quantity as an input when the second feature quantity is an input, the class associated with the identification target is The value of the classification parameter used for classification by the classification means is updated so as to output the result indicated as the classification destination.
  • a storage medium is, from data in which the same objects in different aspects are respectively recorded, feature amounts that can be mutually transformed by transformation using transformation parameters that take values according to differences in the aspects.
  • Acquisition processing for acquiring a first feature value derived from data in which an identification target is recorded by an encoder configured to be derived;
  • a classification unit configured to perform conversion using a value of the conversion parameter on the first feature amount to generate a second feature amount and classification using the feature amount as an input; Updating the value of the classification parameter used for classification by the classification unit so as to output a result indicating the class associated with the identification target as the classification destination when the second feature quantity is input And storing a program that causes a computer to execute an update process.
  • the storage medium is, for example, a computer readable non-transitory storage medium.
  • FIG. 2 is a block diagram showing the configuration of the learning device 31 according to the first embodiment.
  • the learning device 31 performs two learnings, that is, learning of variable derivation and learning of classification.
  • a unit related to learning of variable derivation is referred to as a variable derivation unit 110
  • a unit that performs classification learning is referred to as a classification learning unit 310.
  • variable derivation unit 110 the configuration and operation of the variable derivation unit 110 will be described first.
  • variable derivation unit 110 includes a data acquisition unit 111, an encoder 112, a conversion unit 113, a decoder 114, a parameter update unit 115, and a parameter storage unit 119.
  • the data acquisition unit 111, the encoder 112, the conversion unit 113, the decoder 114, and the parameter update unit 115 are realized by, for example, one or more CPUs (Central Processing Units) that execute a program.
  • CPUs Central Processing Units
  • the parameter storage unit 119 is, for example, a memory.
  • the parameter storage unit 119 may be an auxiliary storage device such as a hard disk.
  • the parameter storage unit 119 may be external to the learning device 31 and configured to be able to communicate with the learning device 31 by wire or wirelessly.
  • the parameter storage unit 119 stores parameters used in the conversion performed by the encoder 112 and parameters used in the conversion performed by the decoder 114.
  • variable derivation unit 110 may include a storage device for temporarily or non-temporarily storing data.
  • the data used by the variable derivation unit 110 is input data, correct answer data, and difference information indicating the relationship between the input data and the correct answer data.
  • the input data is data in which the target of learning by the variable derivation unit 110 is recorded.
  • an optical image is assumed as an example of input data.
  • An example of input data other than the optical image will be described in the item of “Supplement”.
  • the input data is an optical image
  • the input data is an image showing an object (for example, an object, a person, etc.).
  • the input data is, for example, a vector whose component is the pixel value of each pixel of the image.
  • the size of the image may be any size.
  • the pixel value may be an integer value of 0 to 255, a binary value of 0 or 1, or a floating point number.
  • the type of color may be one or two or more. When there are multiple types of color, the number of components of input data increases in proportion to the number of types. Examples of input data include RGB images, multispectral images, hyperspectral images, and the like.
  • the data acquisition unit 111 acquires input data, for example, by receiving it from a storage device inside or outside the learning device 31.
  • the learning device 31 may include a device such as a camera capable of acquiring input data, and the data acquisition unit 111 may receive input data from the device.
  • the correct answer data is data used in learning of variable derivation, specifically, in updating of the value of the parameter by the parameter updating unit 115 described later.
  • the correct answer data is data in which an object indicated by the input data is recorded.
  • the at least one correct answer data is data in which an object indicated by the input data is recorded in a mode different from the mode in the input data.
  • the mode may be paraphrased as “shooting” or “looking”. Examples of aspects in the image include orientation, angle, posture, size, distortion, hue, sharpness, and the like.
  • the aspect which may differ between input data and correct answer data is defined beforehand. That is, the variable derivation unit 110 handles a set of input data and correct data, which differs in at least one specific aspect.
  • the learning device 31 may treat the input data as one of the correct data.
  • the data acquisition unit 111 acquires correct data, for example, by receiving it from a storage device inside or outside the learning device 31.
  • the learning device 31 may include a device such as a camera capable of acquiring correct data, and the data acquisition unit 111 may receive correct data from the device.
  • the data acquisition unit 111 may generate correct data by processing input data.
  • the data acquisition unit 111 can generate correct data by processing input data by using processing that changes the rotation angle of an object, and known techniques that change color tone or sharpness.
  • the difference information is information indicating the relationship between input data and correct data. Specifically, the difference information indicates the difference between the aspect of the object indicated by the input data and the aspect of the object indicated by the correct data.
  • the difference information may be represented by a parameter indicating, for example, whether there is a difference or how much the difference is.
  • the input data is an image of a chair
  • the correct data is an image captured in a direction different from the direction in the input data.
  • An example of a set of input data and correct answer data is a set of the image of FIG. 1A and the image of FIG. 1B, or a set of the image of FIG. 1A and the image of FIG. 1C.
  • An example of difference information indicating the relationship between the image of FIG. 1A and the image of FIG. 1B is a value indicating the angle of rotation (such as “+60 (degrees)”).
  • An example of the difference information indicating the relationship between the image of FIG. 1A and the image of FIG. 1C is a value indicating a change in azimuth (such as “ ⁇ 20 (degree)”).
  • an example of the difference indicated by the difference information includes, for example, an angle of rotation around a direction perpendicular to the display surface of the image, an angle Differences in the orientation of the object relative to the device, differences in brightness (or decrease) in brightness, differences in contrast, differences in noise (noise due to the presence of rain and fog, or noise from low resolution), and , Differences in the presence or absence of obstacles or accessories or decorations, etc.
  • the information indicating the strength of the wind may be the difference information.
  • parameters having a strong relationship with the above-mentioned examples may be adopted as the difference information.
  • the aspect to be indicated by the adopted difference information does not have to be an aspect capable of expressing a change by processing the input data.
  • the difference information may be a quantitative parameter or a parameter having a plurality of stages.
  • the difference information may be represented by four types of values: “not falling”, “weak”, “somewhat strong”, and “strong”.
  • the difference information may be a parameter that takes only two values (eg, "present” and "absent”).
  • the data acquisition unit 111 acquires difference information, for example, by receiving it from a storage device inside or outside the learning device 31.
  • the data acquisition unit 111 may receive input of difference information from a person or an apparatus that grasps the relationship between input data and correct answer data, and may acquire the input difference information.
  • the data acquisition unit 111 may acquire the difference information by specifying the difference by comparing the input data and the correct data.
  • the encoder 112 inputs input data to an input layer of the neural network, for example, using a neural network, and derives n values as an output.
  • n is the number of units in the output layer of the neural network.
  • This set of n values is referred to in the present disclosure as a set of values of latent variables, or a latent variable vector.
  • the latent variable vector is not limited to a one-dimensional array of multiple values.
  • the number of values to be output may be one.
  • the latent variable vector may be a two or more dimensional array.
  • the structure of the neural network used by the encoder 112 can be freely designed.
  • the number of layers, the number of components in each layer, and the manner of connection between the components are not limited.
  • the encoder 112 may use a convolutional neural network consisting of an input layer having 784 components, an intermediate layer having 512 components, and an output layer having 144 components.
  • the number of values output by the encoder 112 ie, the number of components of the latent variable vector
  • the number of values output by the encoder 112 may be configured to be equal to or larger than the number of components in the input data.
  • the activation function used in the neural network used by the encoder 112 may be any activation function.
  • the activation function include an identity function, a sigmoid function, a ReLU (Rectified Linear Unit) function, a hyperbolic tangent function, and the like.
  • the encoder 112 reads parameters (typically, weights and biases) in the neural network to be used from the parameter storage unit 119 and encodes input data.
  • parameters typically, weights and biases
  • the conversion of the latent variable vector by the conversion unit 113 is referred to as variable conversion in the present disclosure.
  • the transformation unit 113 transforms the latent variable vector using a transformation function.
  • the conversion unit 113 uses different conversion functions according to the above-described difference information.
  • the conversion unit 113 uses a conversion function using a conversion parameter that takes a value that may differ according to the difference information. After determining the conversion parameter according to the difference information, the conversion unit 113 may convert the latent variable vector using the conversion function using the determined conversion parameter.
  • An example of the transformation function is a function that changes the arrangement of components of the latent variable vector.
  • the conversion function is a function that shifts the arrangement of components of the latent variable vector. The amount to shift may be determined by the conversion parameters.
  • the operation of shifting the arrangement of the components of the vector whose component number is n by k means to move the 1st to nkth components of the vector from the (k + 1) th to the nth, and the nk to nth components. Is an operation to move the components that are in the range from the first to the k-th.
  • the conversion function is a function that shifts the arrangement of the components of the latent variable vector having the number of components 144 based on the value of the conversion parameter p.
  • the difference information acquired by the data acquisition unit 111 is the rotation angle ⁇ , and ⁇ is a multiple of 5 among integers of 0 or more and less than 360.
  • a value obtained by dividing ⁇ by 5 may be defined as the conversion parameter p.
  • p is a parameter that can take an integer value ranging from 0 to 71.
  • the conversion function may be defined such that a value twice as large as p corresponds to an amount for shifting the arrangement of the components of the latent variable vector.
  • the value of the conversion parameter p corresponding to a rotation of 40 degrees is 8, which corresponds to shifting the arrangement of components of the latent variable vector by 16.
  • the transformation function that shifts the arrangement of the components of the latent variable vector can be expressed, for example, as a multiplication of a transformation matrix representing a shift.
  • Latent variable vector Z 0, the number of components n of the latent variable vector, the value of the conversion parameter k, when the transformation matrix representing the shift and S k, S k is a matrix of n ⁇ n, the conversion function following It is expressed by the equation of F (k, Z 0 ) S k ⁇ Z 0
  • the matrix S k is a matrix shown in FIG.
  • the matrix S k is the (n-kr + j) -th row for the i-th row
  • the kr + i-th column has a value of 1 for i where 1 ⁇ i ⁇ n ⁇ kr, and 1 ⁇ j ⁇ kr.
  • the j-th column is a matrix whose numerical value is 1 and whose other numerical values are 0.
  • kr is a value obtained by k ⁇ n / N (k), where N (k) is the number of values that k can take.
  • the transformation by the transformation unit 113 generates a new latent variable vector whose number of components is n.
  • the conversion unit 113 instead of the matrix S k, the matrix generated by applying a Gaussian filter to the matrix S k may be used.
  • variable conversion may be subtraction processing of component values in which the amount of subtraction increases according to the size of the difference indicated by the difference information.
  • the smoothing process may be executed a number of times according to the size of the difference indicated by the difference information.
  • the variable conversion is an operation on a predetermined component, and the content of the operation or the number of components subjected to the operation may depend on the size of the difference indicated by the difference information.
  • variable conversion performed by the conversion unit 113 may include identity conversion.
  • variable transformation in the case where the difference information indicates that there is no difference may be identity transformation.
  • the conversion unit 113 may perform variable conversion based on the difference information according to each mode.
  • the difference information is represented by two parameters ( ⁇ , ⁇ ) indicating a three-dimensional change in orientation
  • the conversion unit 113 applies an ⁇ -dependent conversion function to the latent variable vector.
  • may be applied to generate a new latent variable vector.
  • a conversion function dependent on ⁇ and a conversion function dependent on ⁇ may be applied in parallel.
  • the conversion unit 113 may determine one conversion function based on the respective difference information of the differences between two or more types of aspects, and may execute variable conversion using the conversion function.
  • the decoder 114 inputs the latent variable vector to the input layer of the neural network using, for example, a neural network (different from the neural network used by the encoder 112), and generates output data consisting of m components as an output Do.
  • m is the number of units of the output layer of the neural network used by the decoder 114. This m is set to the same value as the number of components of the correct data. If the input data and the correct data are data expressed in the same format, m matches the number of components of the input data, that is, the number of units of the input layer of the encoder 112. Generating output data from latent variable vectors by neural networks is also called decoding.
  • the structure of the neural network used by the decoder 114 can be freely designed. For example, there is no limitation on the number of layers, the number of components in the middle layer (if it is a multilayer neural network), and the way in which the components are connected. As an example, the decoder 114 may use a neural network consisting of an input layer with 144 components, an intermediate layer with 512 components, and an output layer with 784 components.
  • the activation function used in the neural network used by the decoder 114 may be any activation function.
  • activation functions include identity functions, sigmoid functions, ReLU functions, hyperbolic tangent functions, and the like.
  • the decoder 114 reads values of parameters (typically, weights and biases) in the neural network to be used from the parameter storage unit 119 and decodes the latent variable vector.
  • parameters typically, weights and biases
  • the parameter updating unit 115 calculates an error of output data with respect to correct data, for one or more sets of correct data and output data.
  • the parameter updating unit 115 may use, for example, a mean square error as an error function for obtaining an error.
  • the parameter updating unit 115 determines the value of the new parameter so that the calculated error is smaller.
  • the method for determining the value of the new parameter may be a method adopted in a general auto encoder, which is known as a method of optimization of the value of the parameter.
  • the parameter updating unit 115 may calculate the gradient using an error back propagation method and determine the value of the parameter using Stochastic Gradient Decent (SGD). Other methods that can be adopted include "RMSprop", "Adagrad”, “Adadelta", "Adam” and the like.
  • the parameter updating unit 115 records the determined new parameter value in the parameter storage unit 119. Thereafter, the encoder 112 and the decoder 114 use the values of the new parameters.
  • the above is the specific procedure of updating.
  • the values of the parameters to be updated by the parameter updating unit 115 are the weights and biases of the neural network used by the encoder 112, and the weights and biases of the neural network used by the decoder 114.
  • the conversion parameter used for variable conversion is not included in the parameter to be updated by the parameter updating unit 115.
  • the parameter updating unit 115 may repeatedly update the value of the parameter a predetermined number of times.
  • the predetermined number of times may be determined, for example, as a value received from the user of the learning device 31 via the input interface, a numerical value indicating the predetermined number of times.
  • An error function used by the parameter updating unit 115 to determine an error can be freely designed.
  • the parameter updating unit 115 may use an error function taking into account the values of the mean and variance of the latent variable vector, such as an error function used in VAE (variational auto encoder).
  • the neural network of the encoder 112 First, from input data having m data values (x 1 , x 2 ,..., X m ) as components, the neural network of the encoder 112 generates n components (z 1 , z 2 ,. , Z n ) are derived.
  • the latent variable vector is converted into another latent variable vector having n components (z ′ 1 , z ′ 2 ,..., Z ′ n) by variable conversion by the conversion unit 113. From this other latent variable vector, output data having m components (y ′ 1 , y ′ 2 ,..., Y ′ m ) is generated by the neural network of the decoder 114.
  • each process included in the process related to learning of variable derivation may be performed in the order of instructions in the program when the process is performed by a device that executes the program.
  • the next process may be performed by notifying the device which has completed the process to the device that executes the next process.
  • each unit that performs processing records, for example, data generated by the respective processing in a storage area included in the learning device 31 or an external storage device.
  • each unit that performs processing may receive data necessary for the respective processing from the unit that generated the data or may read the data from the storage area included in the learning device 31 or an external storage device.
  • the data acquisition unit 111 acquires input data, correct data, and difference information (step S11).
  • the timing when various data are acquired may not be simultaneous.
  • the timing at which the data is acquired may be any time before the processing of the step in which the data is used is performed.
  • the encoder 112 converts the input data into a latent variable vector (step S12).
  • the conversion unit 113 converts the latent variable vector using the value of the conversion parameter according to the difference indicated by the difference information (step S13).
  • the decoder 114 converts the latent variable vector after conversion into output data (step S14).
  • the parameter updating unit 115 determines whether to finish updating the values of the parameters used for the encoder 112 and the decoder 114.
  • the end of the update is, for example, a case where the number of times the parameter update unit 115 has updated the value of the parameter reaches a predetermined number.
  • the end of the update may be when the error of the output data with respect to the correct data is sufficiently small.
  • the parameter updating unit 115 may determine that the error is sufficiently small, and may determine to end the updating. • When the value indicating the error falls below a predetermined reference value • When the error can not be further reduced, or ⁇ When the amount of reduction of the error (that is, the difference between the error immediately before the last update and the error after the update) or the reduction rate (that is, the ratio of the reduction to the current error) falls below a predetermined reference value .
  • the parameter updating unit 115 may calculate the average value or the maximum value of the absolute change amount of the value of each parameter (i.e., the absolute value of the change amount of the parameter value when updating) or the change rate (i.e., the current value). When the average value or the maximum value of the ratio of the absolute change amounts falls below a predetermined reference value, it may be determined that the update is ended.
  • the parameter update unit 115 updates the value of the parameter (step S17), and the variable derivation unit 110 performs the process from step S12 to step S14 again.
  • the encoder 112 and the decoder 114 perform the process using the value of the updated parameter.
  • the parameter updating unit 115 compares the output data newly generated by the process of step S14 with the correct answer data again (step S15), and determines whether the updating of the value of the parameter is finished.
  • the variable derivation unit 110 repeats the updating of the parameter value and the generation of the output data using the updated parameter value until it is determined that the updating of the parameter is completed.
  • the process of updating parameter values through such repetition is learning of variable derivation.
  • the parameter updating unit 115 updates the value of the parameter by learning using, as it were, a set of output data and correct data as a training data set. It is also called optimization to make the value of a parameter more preferable by repeating updating.
  • step S16 If it is determined that the update of the value of the parameter is ended (YES in step S16), the process of learning of the derivation of the variable is ended.
  • variable derivation unit 110 latent variable vectors that respectively express the features of the target in different aspects and have relevance to each other can be derived for the same target.
  • variable derivation unit 110 Based on the specific example described above, an example of the effect achieved by the variable derivation unit 110 is as follows.
  • the encoder 112, the conversion unit 113, and the decoder 114 of the variable derivation unit 110 after the learning is completed can generate a plurality of images indicating objects in different modes according to the conversion parameters. Therefore, the latent variable vector output by the encoder 112 can express the change by transformation even if the aspect of the object in the image changes. That is, according to the combination of the encoder 112 and the transformation unit 113, it is possible to generate latent variable vectors that respectively express the features of the target in different modes and are related to each other.
  • the set of conversion unit 113 and decoder 114 may be able to generate data in which an aspect not included in the correct data is recorded.
  • data in which an object of a certain aspect referred to as “aspect SA”
  • data in which a target of another aspect referred to as “aspect SC”
  • the transformation unit 113 is an aspect between the aspect SA and the aspect SC from the latent variable vector expressing the target of the aspect SA by variable transformation using a half value of the value of the transformation parameter corresponding to the change from the aspect SA to the aspect SC.
  • the set of conversion unit 113 and decoder 114 may be able to generate data in which an aspect not included in the correct data is recorded. For example, in learning of variable derivation, data in which an object with aspect SA (referred to as “object TA”) is recorded, data in which object TA of aspect SB is recorded, and another object of aspect SA (“object TB”) It is assumed that data in which is recorded is used as correct data. By this learning, the set of the transformation unit 113 and the decoder 114 can generate, from the latent variable vector, data in which the target TA of the aspect SA is recorded and data in which the target TA of the aspect SB is recorded.
  • object TA object with aspect SA
  • object TB another object of aspect SA
  • conversion unit 113 can derive the latent variable vector representing the target TB of aspect SB by converting the latent variable vector representing the target TB of aspect SA. Then, the latent variable vector after this conversion is expected to be able to generate data in which the target TB of the aspect SB is recorded by decoding.
  • the encoder 112 may be able to derive a latent variable vector representing an object of the aspect not in the input data.
  • a latent variable vector representing an object of the aspect For example, in learning of variable derivation, it is assumed that data in which the target of aspect SA is recorded and data in which the target of aspect SC is used as input data.
  • the latent variable vector derived is It may be similar (or coincident) to a latent variable vector that can be generated by performing variable transformation from the latent variable vector representing the object. That is, the encoder 112 may be able to derive a latent variable vector that can be converted from a target of an aspect not used for learning to a latent variable vector representing an aspect other than the aspect.
  • the encoder 112 may be able to derive a latent variable vector that represents an object of an aspect not present in the input data.
  • a latent variable vector that represents an object of an aspect not present in the input data.
  • This learning enables the encoder 112 to derive a latent variable vector representing the target TA of the aspect SB. Therefore, it is considered that the encoder 112 can also derive a latent variable vector representing the target TB of the aspect SB from data in which the target TB of the aspect SB is recorded. Then, it is expected that it is also possible to convert the derived latent variable vector to a latent variable vector representing the target TB of the aspect SA by variable conversion.
  • the encoder 112 may be able to derive latent variable vectors that can be mutually transformed by transformation using transformation parameters for the same object in different aspects.
  • the learning device 31 handles differences in any data, object, and aspect as long as the object aspect can acquire information (difference information) indicating differences between two or more data and the data. May be
  • Input data is not limited to optical images.
  • the input data may be anything as long as it records an object whose aspect can change and can be represented by a variable that can be transformed by a neural network.
  • SAR data is sensing data acquired by SAR (Synthetic Aperture Radar).
  • SAR data is terrain, structures, vehicles, aircraft and vessels.
  • aspects that can vary are the azimuthal angle at the time of acquisition of SAR data, and the included angle. That is, the difference resulting from the condition at the time of sensing by the SAR may be adopted as the difference that the learning device 31 handles.
  • the input data may be time series data of sensing data acquired by the sensing device.
  • the input data may be sound data.
  • Sound data is data in which sound is recorded.
  • the input data is sound data, specifically, the input data may be represented by an amplitude with respect to time or an intensity of a spectrogram for each time window.
  • examples of the object are human voice, utterance content, sound event, music, and the like.
  • An acoustic event is a sound that indicates the occurrence of an event, such as a scream or a shattering sound of glass.
  • modes that can be different are frequency (pitch of sound), recording location, degree of echo, timbre, reproduction speed of data (tempo), degree of noise, thing that generated sound , The person who generated the sound, or the state of the person's emotion, etc.
  • classification learning unit 310 The configuration and operation of the classification learning unit 310 will be described.
  • the classification learning unit 310 includes a data acquisition unit 311, a conversion unit 313, a classification unit 317, a parameter update unit 315, an output unit 316, and a parameter storage unit 319.
  • the data acquisition unit 311, the conversion unit 313, the classification unit 317, the parameter update unit 315, and the output unit 316 are realized by, for example, one or more CPUs that execute a program.
  • the parameter storage unit 319 is, for example, a memory.
  • the parameter storage unit 319 may be an auxiliary storage device such as a hard disk.
  • the parameter storage unit 319 may be external to the learning device 31 and configured to be able to communicate with the learning device 31 by wire or wirelessly.
  • the parameter storage unit 319 stores parameters used in the classification performed by the classification unit 317.
  • the learning device 31 may include a storage device that temporarily or non-temporarily stores data.
  • Data used by the classification learning unit 310 are the latent variable vector derived by the encoder 112 and the correct answer information.
  • the correct answer information is information that is desirable as information to be output as a classification result by the classification unit 317 described later. Correct answer information is given as a set with input data. The correct answer information is information to be output when the target indicated in the input data associated with the correct answer information is correctly identified.
  • the classification performed by the classification unit 317 is a multi-class classification that identifies which of the L (L is an arbitrary integer of 2 or more) classes the target belongs to, one of the correct answer information is It may be an L-dimensional vector such that the component value is “1” and the other component values are “0”.
  • Such a vector is also called One-hot data.
  • each component is associated with a class. That is, this One-hot data indicates that the object is classified into the class associated with the component whose value is "1".
  • the classification performed by the classification unit 317 is a binary classification that identifies whether or not the target is a specific object, the information that the correct answer information has a value of “1” or “0” May be.
  • the correct answer information is compared with the classification result of the classification unit 317 in the update of the value of the parameter by the parameter update unit 315 described later.
  • the data acquisition unit 311 may acquire the latent variable vector derived by the encoder 112 by reading the latent variable vector from the latent variable storage unit 118.
  • the conversion function used by the conversion unit 313 is a conversion function of the same type as the conversion unit 113, that is, only the value of the conversion parameter differs at most.
  • the transformation unit 313 may generate a plurality of different latent variable vectors by a plurality of variable transformations using various values of transformation parameters.
  • the classification unit 317 inputs the latent variable vector to the input layer of the neural network using, for example, a neural network, and generates information indicating the classification result as an output.
  • the information indicating the classification result is a multidimensional vector indicating the distribution of the probability (or likelihood) of the object belonging to the class to be classified. .
  • the number of components of the multidimensional vector in such a case is the number of classes to be classified.
  • the information indicating the classification result may be a numerical value indicating the probability that the object is a predetermined recognition object.
  • the information indicating the classification result is data expressed in a form that can be compared with the correct answer information.
  • the structure of the neural network used by the classification unit 317 can be freely designed. For example, there is no limitation on the number of layers, the number of components in the middle layer (if it is a multilayer neural network), and the way in which the components are connected. Further, the activation function used in the neural network used by the classification unit 317 may be any activation function.
  • the classification unit 317 reads out values of parameters (typically, weights and biases) in the neural network to be used from the parameter storage unit 319 and performs classification.
  • parameters typically, weights and biases
  • the parameter updating unit 315 calculates, for one or more sets of information indicating classification results and correct answer information, an error of the information indicating the classification results with respect to the correct answer information.
  • the parameter updating unit 315 may use, for example, a cross entropy as an error function for obtaining an error.
  • the parameter updating unit 315 determines a new parameter value so that the calculated error is smaller.
  • the method for determining the value of the new parameter may be a method adopted in general classifier learning, which is known as a method of optimization of the value of the parameter.
  • the parameter updating unit 315 may calculate the gradient using an error back propagation method, and may use SGD to determine the value of the parameter. Other methods that can be adopted include "RMSprop", "Adagrad”, “Adadelta", "Adam” and the like.
  • the parameter updating unit 315 records the determined new parameter value in the parameter storage unit 319. Thereafter, the classification unit 317 uses the value of the new parameter.
  • the above is the specific procedure of updating.
  • the parameter updating unit 315 may repeatedly update the value of the parameter a predetermined number of times.
  • the predetermined number of times may be determined, for example, as a value received from the user of the learning device 31 via the input interface, a numerical value indicating the predetermined number of times.
  • the output unit 316 outputs the value of the parameter optimized by the parameter updating unit 315 repeatedly updating the value of the parameter.
  • Examples of output destinations of the output by the output unit 316 include a display device, a storage device, and a communication network.
  • the output unit 316 may convert the information so that the display device can display the information.
  • the display device and the storage device described above may be devices outside the learning device 31 or may be components included in the learning device 31.
  • Each process included in the process related to the learning of classification may be performed according to the order of instructions in the program when the process is performed by a device that executes the program.
  • the next process may be performed by notifying the device which has completed the process to the device that executes the next process.
  • each unit that performs processing records, for example, data generated by the respective processing in a storage area included in the learning device 31 or an external storage device.
  • each unit that performs processing may receive data necessary for the respective processing from the unit that generated the data or may read the data from the storage area included in the learning device 31 or an external storage device.
  • the encoder 112 derives a latent variable vector from input data, using parameter values optimized by learning of variable derivation (step S31).
  • the encoder 112 records the derived latent variable vector in the latent variable storage unit 118.
  • the data acquisition unit 311 acquires the latent variable vector derived by the encoder 112 and the correct answer information (step S32).
  • the correct answer information is input to the learning device 31 as a set with the input data. That is, the correct answer information is associated with the input data and the latent variable vector derived from the input data.
  • the converting unit 313 converts the latent variable vector into another latent variable vector (step S33).
  • the classification unit 317 classifies the other latent variable vector (step S34).
  • the parameter updating unit 315 determines whether to end updating of the values of the parameters used for the encoder 112 and the decoder 114.
  • the end of the update is, for example, a case where the number of times the parameter update unit 315 has updated the value of the parameter reaches a predetermined number.
  • the end of the update may be when the error of the output data with respect to the correct data is sufficiently small.
  • the parameter updating unit 315 may determine that the error is sufficiently small, and may determine that the updating is completed. • When the value indicating the error falls below a predetermined reference value • When the error can not be further reduced, or ⁇ When the amount of reduction of the error (that is, the difference between the error immediately before the last update and the error after the update) or the reduction rate (that is, the ratio of the reduction to the current error) falls below a predetermined reference value .
  • the parameter updating unit 315 may calculate the average value or the maximum value of the absolute change amount of the value of each parameter (i.e., the absolute value of the change amount of the parameter value when updating) or the change rate (i.e., the current value). When the average value or the maximum value of the ratio of the absolute change amounts falls below a predetermined reference value, it may be determined that the update is ended.
  • the parameter update unit 315 updates the value of the parameter (step S37), and the classification learning unit 310 performs the processes of step S34 and step S35 again.
  • the classification unit 317 performs classification using the value of the updated parameter.
  • the parameter updating unit 315 compares the classification result newly generated in the process of step S34 with the correct answer information again (step S35), and determines whether the updating of the value of the parameter is finished.
  • the classification learning unit 310 repeats the updating of the parameter value and the classification using the updated parameter value until it is determined that the updating of the parameter is finished.
  • the process of updating parameter values through such repetition is classification learning.
  • the parameter updating unit 315 updates the value of the parameter by learning with the combination of the classification result and the correct answer information as a training data set.
  • step S36 If it is determined that the update of the value of the parameter is completed (YES in step S36), the output unit 316 outputs the value of the parameter (step S38).
  • the classification unit 317 using the value of the updated parameter can output the correct classification result from each of the latent vectors expressing objects of various aspects. Therefore, by combining the encoder 112 and the classification unit 317, it is possible to generate a discriminator capable of identifying objects of various aspects.
  • the learning device may not include the variable derivation unit 110.
  • the learning device is configured to be able to obtain the latent variable vector derived by the encoder configured to derive the latent variable vector mutually convertible by variable transformation for the same object in different aspects. Just do it.
  • FIG. 7 is a block diagram showing the configuration of a learning device 32 according to the second embodiment of the present invention.
  • the learning device 32 includes the configuration included in the classification learning unit 310 in the first embodiment, that is, the data acquisition unit 311, the conversion unit 313, the classification unit 317, the parameter updating unit 315, the output unit 316, and the parameters. And a storage unit 319.
  • the learning device 32 is communicably connected to the encoder 312 by wire or wirelessly.
  • the encoder 312 is, for example, the encoder 112 in the first embodiment.
  • the encoder 112 is configured to derive a latent variable vector using a neural network using values of optimized parameters by learning of variable derivation described in the description of the first embodiment. There is.
  • the learning device 32 can also generate classifiers capable of identifying various aspects of the object.
  • the reason is the same as the reason described in the description of the first embodiment.
  • the encoder 312 may not be the encoder 112 in the first embodiment. Another way of constructing the encoder 312 with the desired function (ie, the function of deriving latent variable vectors that can be converted to each other by variable transformation for the same object in different manners) is described below.
  • the encoder 312 can be generated by performing learning in which various types of targets are correct data and latent variable vectors that can be converted to each other are correct.
  • the output data generated by the decoder 114 in the first embodiment is adopted as the correct solution data
  • the latent variable vector output by the converting unit 113 in the first embodiment is output as the correct solution latent variable vector. May be employed.
  • one of the methods of generating the encoder 312 with the desired function is the following method.
  • a learning device 13 provided with a variable derivation unit 110 as shown in FIG. 8 is prepared.
  • the learning device 13 performs learning of variable derivation described in the first embodiment, using data in which various target TAs are recorded as input data. By doing so, the combination of the encoder 112, the conversion unit 113, and the decoder 114 makes it possible to output the output data in which the various target TAs are recorded.
  • the learning device 13 uses the encoder 112 to derive a latent variable vector from data in which the target TB of an aspect is recorded. Then, the learning device 13 converts the latent variable vector by variable conversion to generate output data, and thereby acquires a set of output data in which the target TB of the unlearned aspect is recorded and the latent variable vector.
  • the encoder 312 performs learning to derive the correct latent variable vector from the data in which the target TB of the unlearned aspect is recorded. This enables the encoder 312 to derive a latent variable vector that can be converted into a latent variable vector that represents the target TB of the learned aspect from the data in which the target TB of the unlearned aspect is recorded.
  • the data that needs to be prepared in the above method is data in which the target TAs of various aspects are respectively recorded, and data in which the target TB of an aspect is recorded. There is no need to prepare data in which the target TB in the unlearned aspect is recorded.
  • FIG. 9 is a block diagram showing the configuration of the learning device 30. As shown in FIG.
  • the learning device 30 includes a data acquisition unit 301, a conversion unit 303, and a parameter update unit 305.
  • the data acquisition unit 301 acquires a first feature amount derived from data in which an identification target is recorded.
  • the first feature quantity is such that, from data in which the same objects in different aspects are respectively recorded, mutually deriving feature quantities that can be mutually transformed by transformation using a transformation parameter that takes a value according to the difference in the aspect It is the feature quantity derived
  • the method for implementing the above encoder is as described above.
  • the feature amount indicates a set of values derived from input data by the encoder.
  • the feature amount may be called information representing an object, representation of data, or the like. Deriving feature quantities may also be referred to as "extracting feature quantities”.
  • the “potential variable vector” in each of the above embodiments corresponds to the “feature amount” in this embodiment.
  • the feature amount may be held in the form of an array, or may be held as a value of a variable given a name.
  • the conversion unit 303 generates a second feature amount by performing conversion using a conversion parameter on the first feature amount acquired by the data acquisition unit 301.
  • the parameter updating unit 305 updates the value of a parameter (hereinafter also referred to as “classification parameter”) used for classification by a classifier (not shown).
  • the classifier is a module configured to perform classification with the feature amount as an input.
  • the classification unit 317 in each of the above embodiments corresponds to this classifier.
  • the classifier may or may not be included in the learning device 30.
  • the learning device 30 and a device having a classifier function may be communicably connected to each other.
  • the classification parameters may be stored by a learning device or may be stored by a device having a classifier function.
  • the classification parameters are, for example, weights and biases generally used in neural networks.
  • the parameter updating unit 305 updates the value of the classification parameter so that the classifier outputs a result indicating the class associated with the identification target as the classification target when the second feature amount is input. That is, the learning device 30 performs learning using, as training data, a set of the second feature amount and the result indicating the class associated with the identification target as the classification destination.
  • To update the value of the classification parameter means, for example, recording a new value of the classification parameter in a storage unit that stores the classification parameter.
  • the parameter updating unit 305 may output the new value of the classification parameter to a device (for example, a storage device, a display device, or an information processing device using a classifier) outside the learning device 30.
  • the data acquisition unit 301 acquires a first feature amount (step S301).
  • the converting unit 303 generates a second feature amount by performing conversion using the conversion parameter on the first feature amount (step S302).
  • the parameter updating unit 305 updates the value of the classification parameter so that the classifier outputs the result indicating the class associated with the identification target as the classification destination when the second feature amount is input (step S303).
  • the learning device 30 even in the case where there are few samples of data in which objects are recorded, it is possible to generate a discriminator capable of identifying objects of various aspects. The reason is that if the classifier uses the updated classification parameter value, the data recorded with the identification target that can be represented by the second feature value is correctly (that is, even if it is not used in learning) It is because it is classified into the class associated with the identification object.
  • the processing of each component may be realized, for example, by the computer system reading and executing a program stored in a computer readable storage medium that causes the computer system to execute the processing.
  • the “computer-readable storage medium” is, for example, a portable medium such as an optical disc, a magnetic disc, a magneto-optical disc, and a nonvolatile semiconductor memory, and a ROM (Read Only Memory) and a hard disc incorporated in a computer system. It is a storage device.
  • the "computer-readable storage medium” is one that can temporarily hold a program, such as volatile memory in a computer system, and one that transmits a program, such as a communication line such as a network or a telephone line.
  • the program may be for realizing a part of the functions described above, and may be capable of realizing the functions described above in combination with a program already stored in the computer system. .
  • the “computer system” is, as an example, a system including a computer 900 as shown in FIG.
  • the computer 900 includes the following configuration. ⁇ One or more CPUs 901 ROM 902 RAM (Random Access Memory) 903 ⁇ Program 904A loaded into RAM 903 and stored information 904B A storage device 905 for storing the program 904A and the stored information 904B . Drive device 907 for reading and writing the storage medium 906 Communication interface 908 connected to communication network 909 ⁇ Input / output interface 910 for data input / output .Bus 911 connecting each component
  • each component of each device in each embodiment is realized by the CPU 901 loading and executing a program 904A that implements the function of the component to the RAM 903.
  • a program 904A for realizing the function of each component of each device is stored in advance in, for example, the storage device 905 or the ROM 902. Then, the CPU 901 reads the program 904A as necessary.
  • the storage device 905 is, for example, a hard disk.
  • the program 904A may be supplied to the CPU 901 via the communication network 909, may be stored in advance in the storage medium 906, may be read by the drive device 907, and may be supplied to the CPU 901.
  • the storage medium 906 is, for example, a portable medium such as an optical disc, a magnetic disc, a magneto-optical disc, and a nonvolatile semiconductor memory.
  • each device may be realized by possible combination of separate computer 900 and program for each component.
  • a plurality of components included in each device may be realized by a possible combination of one computer 900 and a program.
  • each component of each device may be realized by another general purpose or dedicated circuit, a computer or the like, or a combination thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus.
  • each component of each device When a part or all of each component of each device is realized by a plurality of computers, circuits, etc., the plurality of computers, circuits, etc. may be centralized or distributed.
  • a computer, a circuit, etc. may be realized as a form in which each is connected via a communication network, such as a client and server system, a cloud computing system, and the like.
  • An encoder configured to derive mutually transformable feature quantities from data in which identical objects in different modes are respectively recorded, by conversion using conversion parameters taking values according to the difference in the modes.
  • An acquisition unit configured to acquire a first feature value derived from data in which an identification target is recorded;
  • a conversion unit configured to generate a second feature amount by performing conversion using the value of the conversion parameter on the first feature amount;
  • the classification unit configured to perform classification using a feature as input outputs the result indicating as a classification destination a class associated with the identification target when the second feature is input.
  • Parameter updating means for updating the values of classification parameters used for classification by A learning device comprising: [Supplementary Note 2]
  • the conversion means generates a plurality of second feature amounts from the first feature amount by performing a plurality of conversions using values of the different conversion parameters.
  • the parameter updating means updates the value of the classification parameter such that the classification means outputs a result indicating the class associated with the identification target as a classification destination, when any of the plurality of second feature quantities is input.
  • the learning device according to appendix 1.
  • the conversion means performs the conversion to change the arrangement of the components of the first feature amount.
  • the learning device according to Appendix 1 or 2.
  • the data is an image, and the identification target is an object or a person.
  • the learning device according to any one of appendices 1 to 3.
  • the data is an image generated from sensing data by SAR (Synthetic Aperture Radar), and the difference between the modes is a difference due to the condition at the time of sensing by SAR.
  • the learning device according to any one of appendices 1 to 3.
  • the learning device according to any one of appendices 1 to 5, further comprising: the classification unit that performs classification using the second feature amount as an input.
  • the learning device according to any one of appendices 1 to 6, further comprising the encoder.
  • An encoder configured to derive mutually transformable feature quantities from data in which identical objects in different modes are respectively recorded, by conversion using conversion parameters taking values according to the difference in the modes. Acquiring a first feature value derived from data in which an identification target is recorded; A second feature amount is generated by performing conversion using the value of the conversion parameter on the first feature amount.
  • the classification unit configured to perform classification using a feature as input outputs the result indicating as a classification destination a class associated with the identification target when the second feature is input.
  • a plurality of second feature quantities are generated from the first feature quantity by a plurality of transformations respectively using values of the different transformation parameters;
  • the value of the classification parameter is updated such that the classification unit outputs, as a classification destination, a result indicating a class associated with the identification target regardless of which of the plurality of second feature quantities is input.
  • the data is an image, and the identification target is an object or a person.
  • the learning method according to any one of appendices 9 to 11.
  • the data is an image generated from sensing data by SAR (Synthetic Aperture Radar), and the difference between the modes is a difference due to the condition at the time of sensing by SAR.
  • the learning method according to any one of appendices 9 to 11.
  • An encoder configured to derive mutually transformable feature quantities from data in which identical objects in different modes are respectively recorded, by conversion using conversion parameters taking values according to the difference in the modes.
  • the classification unit configured to perform classification using a feature as input outputs the result indicating as a classification destination a class associated with the identification target when the second feature is input. Updating the value of the classification parameter used for classification according to A computer readable storage medium storing a program that causes a computer to execute the program.
  • the conversion processing generates a plurality of second feature amounts from the first feature amount by a plurality of conversions respectively using values of the different conversion parameters.
  • the parameter updating process updates the value of the classification parameter so that the classification unit outputs a result indicating a class associated with the identification target as a classification destination, when any of the plurality of second feature quantities is input.
  • the storage medium according to appendix 15. The conversion process performs the conversion to change the arrangement of the components of the first feature amount.
  • the data is an image, and the identification target is an object or a person.
  • the data is an image generated from sensing data by SAR (Synthetic Aperture Radar), and the difference between the modes is a difference due to the condition at the time of sensing by SAR.
  • SAR Synthetic Aperture Radar
  • the storage medium according to any one of appendices 15-17.

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

対象が記録されたデータのサンプルが少ない場合でも、様々な態様の対象を識別することが可能な識別器を生成できる、学習装置を提供する。一実施態様に係る学習装置は、異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得する取得部と、前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成する変換部と、第2の特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する、パラメータ更新部と、を備える。

Description

学習装置、学習方法、分類方法、および記憶媒体
 本開示は、コンピュータが行う学習の技術に関する。
 データにおいて示された対象の分類を行う、分類器を構築する上で、対象の特徴を良く表す変数を用いることが、分類の精度の向上につながる。入力されたデータから対象の特徴を良く表す変数を導出する方法として、オートエンコーダ(自己符号化器)を使う方法が、良く知られている。
 典型的なオートエンコーダは、入力層、中間層、および出力層からなる。典型的なオートエンコーダは、入力層に入力されるデータと出力層により出力されるデータとの比較に基づき、符号化(すなわち、入力層のデータから中間層のデータへの変換)に用いられる重みおよびバイアスと、復号(すなわち、中間層のデータから出力層のデータへの変換)に用いられる重みおよびバイアスと、を最適な値へと決定する。
 オートエンコーダによる学習の結果決定された重みとバイアスとを用いた符号化によって中間層において出力されるデータは、対象の特徴を良く表す情報とみなすことができる。この中間層において出力されるデータは、一般的には、「特徴量ベクトル」、「特徴ベクトル」、または単に「特徴量」や「特徴」と呼ばれる。本開示では、中間層において出力されるデータを、「潜在変数の値の組」または「潜在変数ベクトル」とも呼ぶ。
 特許文献1は、本願発明に関連する技術を記載する文献である。特許文献1は、画像における対象の大きさ、回転角度、および位置等を、識別を行うために適した状態に変換する(別の言葉では、正規化する)画像処理装置を開示している。正規化するための変換の大きさは、画像が粗視化された後のデータを非線形変換によって空間Fに写像した時のベクトル(写像ベクトル)と、学習サンプルの特徴を表す基底ベクトルを含む部分空間との関係に基づいて決まる係数によって決められる。この技術にオートエンコーダを用いる場合、オートエンコーダの出力層の出力が上記の非線形変換による写像に相当し、中間層の出力が写像ベクトルの部分空間への射影に相当する、ということが、特許文献1には記載されている。
特開2004-62719号公報
 一般的なオートエンコーダにより最適化されたニューラルネットワークにより導出される特徴量ベクトルは、必ずしも、異なる態様をとる同一の対象に対し、互いに関連するようには表されない。そのため、例えば、一般的なオートエンコーダにより最適化されたニューラルネットワークにより導出される特徴量ベクトルを用いて、画像に写る椅子を椅子に分類するための分類器を、図1Aで示される向きで撮影された椅子の画像ばかりを学習用データとして使用した学習により生成したとする。そのような場合、生成した分類器は、図1Bで示される向きや、図1Cで示されるアングルで撮影された椅子を、椅子と識別できないことがある。これは、同一の対象であっても、互いに異なる態様(上記の例では、向きやアングル)で記録されたデータからは、互いに無関係な特徴量ベクトルが導出され得るからである。
 様々な態様をとりうる対象物を正しく識別するためには、一般的には、分類器の学習において様々な態様を網羅した学習用データを用いる必要がある。しかし、様々な態様を網羅した学習用データを用意することは、必ずしも容易ではない。
 特許文献1に記載の技術は、画像を正規化することにより様々な態様をとりうる対象に対する識別の性能を向上させる技術である。しかし、この正規化を行うための関数は、様々な態様で対象が写る画像を学習用データとした学習によって導出される必要がある。なお、対象の識別を行うパターン識別部100は、正規化された画像を識別の対象とするので、学習用データに含まれていない態様をとっている対象を正しく識別する保証はない。
 本発明は、対象が記録されたデータのサンプルが少ない場合でも、様々な態様の対象を識別することが可能な識別器を生成できる、学習装置を提供することを、目的の1つとする。
 本発明の一態様に係る学習装置は、異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得する取得手段と、前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成する変換手段と、特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する、パラメータ更新手段と、を備える。
 本発明の一態様に係る学習方法は、異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得し、前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成し、特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する。
 本発明の一態様に係る記憶媒体は、異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得する取得処理と、
 前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成する変換処理と、特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する、パラメータ更新処理と、をコンピュータに実行させるプログラムを記憶する。上記記憶媒体は、例えば、コンピュータ読み取り可能な、非一時的な記憶媒体である。
 本発明によれば、対象が記録されたデータのサンプルが少ない場合でも、様々な態様の対象を識別することが可能な識別器を生成できる。
対象が記録されたデータの例を示す図である。 別の態様の対象が記録されたデータの例を示す図である。 別の態様の対象が記録されたデータの別の例を示す図である。 本発明の第1の実施形態に係る学習装置の構成を示すブロック図である。 変数変換に用いられる行列の例を示す図である。 第1の実施形態に係る変数導出の学習について説明するための概念図である。 変数導出の学習に係る処理の流れを示すフローチャートである。 識別処理に係る処理の流れを示すフローチャートである。 本発明の第2の実施形態に係る学習装置の構成を示すブロック図である。 所望の機能を持つエンコーダを作成する学習装置の例の構成を示すブロック図である。 本発明の一実施形態に係る学習装置の構成を示すブロック図である。 本発明の一実施形態に係る学習装置による学習方法の処理の流れを示すブロック図である。 本発明の各実施形態の各部を構成するハードウェアの例を示すブロック図である。
 以下、図面を参照しながら、本発明の実施形態を詳細に説明する。
 <<第1の実施形態>>
 まず、本発明の第1の実施形態について説明する。図2は、第1の実施形態に係る学習装置31の構成を示すブロック図である。
 学習装置31は、変数導出の学習と、分類の学習と、の2つの学習を行う。本開示では、変数導出の学習に関わる部を変数導出部110と呼び、分類の学習を行う部を分類学習部310と呼ぶ。
 以下、まず、変数導出部110の構成と動作について説明する。
 [変数導出部110]
 <構成>
 変数導出部110は、データ取得部111と、エンコーダ112と、変換部113と、デコーダ114と、パラメータ更新部115と、パラメータ記憶部119と、を含む。
 データ取得部111と、エンコーダ112と、変換部113と、デコーダ114と、パラメータ更新部115と、は、例えば、プログラムを実行する1つまたは複数のCPU(Central Processing Unit)により実現される。
 パラメータ記憶部119は、例えば、メモリである。パラメータ記憶部119は、ハードディスク等の補助記憶装置でもよい。別の実施形態では、パラメータ記憶部119は学習装置31の外部にあり、有線または無線により学習装置31と通信可能であるように構成されていてもよい。パラメータ記憶部119は、エンコーダ112が行う変換において用いられるパラメータと、デコーダ114が行う変換において用いられるパラメータと、を記憶する。
 なお、変数導出部110は、パラメータ記憶部119とは別に、データを一時的又は非一時的に記憶する記憶装置を備えていてもよい。
 ===データ取得部111===
 データ取得部111は、変数導出部110が使用するデータを取得する。変数導出部110が使用するデータは、入力データ、正解データ、および、入力データと正解データとの関係を示す差異情報である。
 入力データは、変数導出部110による学習の対象が記録されたデータである。理解を容易にするため、本実施形態の説明では、入力データの一例として、光学画像を想定する。光学画像以外の入力データの例は、「補足」の項目で説明する。
 入力データが光学画像である場合、入力データは、対象(例えば、物体および人物等)が写った画像である。入力データは、例えば、画像の各画素の画素値を成分とするベクトルである。縦28画素、横28画素のグレースケールの画像を入力データとする場合、入力データの成分の数は、28×28=784である。
 画像のサイズはどのようなサイズでもよい。画素値は、0から255の整数値でも、0か1かのバイナリの値でも、浮動小数点数でもよい。色の種類は1つでも、2つ以上でもよい。色の種類が複数種類である場合は、その種類の数に比例して、入力データの成分数は増加する。入力データの例として、RGB画像、マルチスペクトルの画像、ハイパースペクトルの画像等が挙げられる。
 データ取得部111は、入力データを、例えば、学習装置31の内部または外部にある記憶装置から受け取ることにより、取得する。学習装置31が、カメラ等、入力データを取得可能なデバイスを含み、データ取得部111はそのデバイスから入力データを受け取ってもよい。
 正解データは、変数導出の学習、具体的には、後述するパラメータ更新部115によるパラメータの値の更新において、使用されるデータである。
 正解データは、入力データにより示される対象が記録されたデータである。少なくとも一つの正解データは、入力データにより示される対象が、入力データにおける態様とは異なる態様で記録された、データである。入力データおよび正解データが画像である場合、態様は「写り方」または「見え方」と言い換えられてもよい。画像における態様の例としては、向き、アングル、姿勢、大きさ、歪み方、色合い、鮮明さ、等が挙げられる。入力データと正解データとの間で異なり得る態様は、予め定義される。つまり、変数導出部110は、少なくとも1つの特定の態様が異なる、入力データと正解データとのセットを扱う。なお、学習装置31は、入力データを、正解データの一つとして扱ってもよい。
 データ取得部111は、正解データを、例えば、学習装置31の内部または外部にある記憶装置から受け取ることにより、取得する。学習装置31が、カメラ等、正解データを取得可能なデバイスを含み、データ取得部111はそのデバイスから正解データを受け取ってもよい。
 あるいは、データ取得部111は、入力データを加工することにより、正解データを生成してもよい。例えば、対象の回転角度を変化される加工や、色合いまたは鮮明さを変化させる既知の技術を用いれば、データ取得部111は、入力データの加工により正解データを生成可能である。
 差異情報は、入力データと正解データとの関係を示す情報である。具体的には、差異情報は、入力データにより示される対象の態様と、正解データにより示される対象の態様と、の間の差異を示す。差異情報は、例えば、差異があるかないか、または差異がどの程度あるか、を示す、パラメータで表されてもよい。
 簡単な例として、入力データが、椅子が写る画像であり、正解データが、その椅子が入力データにおける向きとは異なる向きで撮影された画像であるとする。入力データおよび正解データのセットの例は、図1Aの画像と図1Bの画像とのセット、または図1Aの画像と図1Cの画像とのセット等である。図1Aの画像と図1Bの画像との関係を示す差異情報の例は、回転の角度を示す値(「+60(度)」等)である。図1Aの画像と図1Cの画像との関係を示す差異情報の例は、方位角の変化を示す値(「-20(度)」等)である。
 入力データが光学画像である場合は、差異情報が示す差異の例には、例えば、入力データと比較しての、画像の表示面に垂直な方向を軸とした回転の角度、アングル(撮像を行うデバイスに対する対象の向き)の違い、明度の上がり具合(または下がり具合)、コントラストの違い、ノイズ(雨および霧等の存在、もしくは解像度の低さに由来するノイズ)の多さの違い、および、障害物または付属物または装飾物の有無の違い、等が含まれる。対象が髪および旗等、風になびく物である場合は、風の強さを示す情報が差異情報であってもよい。また、以上に挙げた例と強い関係のあるパラメータが、差異情報として採用されてもよい。入力データと正解データとが別々に取得される場合は、採用される差異情報が示す対象となる態様は、入力データの加工によって変化を表現できる態様である必要はない。
 差異情報は、定量的なパラメータであってもよいし、複数の段階を持つパラメータでもよい。一例として、差異情報が雨の強さを示すパラメータである場合、「降っていない」、「弱い」、「やや強い」、「強い」の4種類の値で表されてもよい。差異情報は、二つの値(たとえば「有」と「無」)のみをとるパラメータでもよい。
 データ取得部111は、差異情報を、例えば、学習装置31の内部または外部にある記憶装置から受け取ることにより、取得する。データ取得部111は、入力データと正解データの関係を把握している、人、または装置から、差異情報の入力を受け付け、入力された差異情報を取得してもよい。データ取得部111は、差異情報を、入力データと正解データとの比較により差異を特定することで、取得してもよい。
 ===エンコーダ112===
 エンコーダ112は、入力データから、潜在変数の値の組を導出する。エンコーダ112は、例えば、ニューラルネットワークを使用して、入力データをニューラルネットワークの入力層に入力し、出力としてn個の値を導出する。nは、ニューラルネットワークの出力層のユニット数である。このn個の値の組を、本開示では潜在変数の値の組、または潜在変数ベクトルと呼ぶ。本実施形態では「ベクトル」という語を用いるが、潜在変数ベクトルは、複数の値の1次元的な配列に限られない。出力する値の数は1個であってもよい。あるいは、潜在変数ベクトルは2次元以上の配列であってもよい。潜在変数ベクトルは、配列の形式以外の形式で学習装置31において保持されてもよい。なお、ニューラルネットワークにより潜在変数ベクトルを導出することは、符号化(エンコード)とも呼ばれる。
 エンコーダ112が使用するニューラルネットワークの構造は自由に設計され得る。例えば、層の数、各層の成分数、成分間の接続の仕方に、制限はない。一例として、エンコーダ112は、成分数が784である入力層と、成分数が512である中間層と、成分数が144である出力層と、から成る、畳み込みニューラルネットワークを使用してもよい。エンコーダ112が出力する値の個数(すなわち、潜在変数ベクトルの成分の数)は、典型的には、入力データにおける成分の数よりも少なくなるように構成される。ただし、エンコーダ112が出力する値の個数は、入力データにおける成分の数と同じか多くなるように構成されてもよい。
 また、エンコーダ112が使用するニューラルネットワークで使われる活性化関数はどのような活性化関数でもよい。活性化関数の例としては、恒等関数、シグモイド関数、ReLU(Rectified Linear Unit)関数、双曲線正接関数、等が挙げられる。
 エンコーダ112は、使用するニューラルネットワークにおけるパラメータ(典型的には、重みおよびバイアス)を、パラメータ記憶部119から読み出して、入力データの符号化を行う。
 ===変換部113===
 変換部113は、エンコーダ112により出力された潜在変数ベクトルを、別の潜在変数ベクトルへと変換する。変換部113が潜在変数ベクトルを変換することを、本開示では変数変換と称す。
 変換部113は、変換関数を用いて、潜在変数ベクトルを変換する。変換部113は、上述の差異情報に応じて異なる変換関数を用いる。
 例えば、変換部113は、差異情報に応じて異なり得る値をとる変換パラメータを用いた変換関数を用いる。変換部113は、差異情報に応じて変換パラメータを決定した後、決定した変換パラメータを用いた変換関数を用いて、潜在変数ベクトルを変換すればよい。
 変換関数の例として、潜在変数ベクトルの成分の配置を変更する関数が挙げられる。例えば、変換関数は、潜在変数ベクトルの成分の配置をシフトする関数である。シフトする量が、変換パラメータによって決められてもよい。なお、成分数がnであるベクトルの成分の配置をk個シフトする操作とは、ベクトルの1番目からn-k番目の成分をk+1番目からn番目に移動させ、n-k番目からn番目にあった成分を1番目からk番目までに移動させる操作である。
 具体的な例として、変換関数は、成分数が144である潜在変数ベクトルの成分の配置を、変換パラメータpの値に基づいてシフトする、関数であるとする。データ取得部111により取得される差異情報は、回転角度θであり、θは0以上360未満の整数のうち5の倍数の値をとるとする。このような場合、変換パラメータpとして、θを5で除した値が定義されてもよい。そうすると、pは0から71の範囲の整数値を取りうるパラメータである。そして、pの2倍の値が、潜在変数ベクトルの成分の配置をシフトさせる量に相当するよう、変換関数が定義されてよい。例えば、40度の回転に相当する変換パラメータpの値は8であり、潜在変数ベクトルの成分の配置を16個シフトすることに対応する。
 潜在変数ベクトルの成分の配置をシフトする変換関数は、例えば、シフトを表す変換行列の乗算として表現できる。潜在変数ベクトルをZ0、潜在変数ベクトルの成分数をn、変換パラメータの値をk、シフトを表す変換行列をSとすると、Sはn×nの行列であり、上記変換関数は次の式で表される。
F(k,Z)=S・Z
 行列Sは、図3に示される行列である。すなわち、行列Sは、1≦i≦n-krであるiについて、第i行、第kr+i列の数値が1であり、1≦j≦krであるjについて、第(n-kr+j)行、第j列の数値が1であり、それ以外の数値が0である行列である。ただし、krは、kがとりうる値の個数をN(k)としたとき、k×n/N(k)で求められる値である。
 変換部113による変換により、成分数がnである、新たな潜在変数ベクトルが生成される。
 変数変換のための関数や行列の作り方は、上記に限られない。例えば、変換部113は、上記の行列Sの代わりに、行列Sにガウシアンフィルタを適用することで生成される行列を用いてもよい。
 変数変換の種類は、上記に説明されたシフト操作に制限されない。例えば、変数変換は、差異情報が示す差異の大きさに応じて減算量が大きくなる、成分値の減算処理でもよい。差異情報が示す差異の大きさに応じた回数実行される、平滑化処理でもよい。変数変換は、所定の成分に対する演算であり、演算の内容または演算を受ける成分の数が、差異情報が示す差異の大きさに依存してもよい。
 変換部113が行う変数変換には、恒等変換が含まれていてもよい。特に、差異情報が差異が無いことを示す場合の変数変換は、恒等変換であってもよい。
 なお、入力データと正解データとの間で異なり得る態様の種類が2種類以上である場合、変換部113は、それぞれの態様に係る差異情報に基づき、それぞれ変数変換を行えばよい。一例として、差異情報が、三次元的な向きの変化を示す2つのパラメータ(α、β)で表される場合、変換部113は、潜在変数ベクトルに、αに依存する変換関数を適用した後、βに依存する変換関数を適用し、新たな潜在変数ベクトルを生成してもよい。また、αに依存する変換関数とβに依存する変換関数を並列で適用してもよい。あるいは、変換部113は、2種類以上の態様の差異のそれぞれの差異情報に基づき、1つの変換関数を決定し、その変換関数を用いて変数変換を実行してもよい。
 ===デコーダ114===
 デコーダ114は、変換部113による変換後の潜在変数ベクトルから、出力データを生成する。デコーダ114は、例えば、ニューラルネットワーク(エンコーダ112が使用するニューラルネットワークとは異なる)を使用して、潜在変数ベクトルをニューラルネットワークの入力層に入力し、出力としてm個の成分からなる出力データを生成する。mは、デコーダ114が使用するニューラルネットワークの出力層のユニット数である。このmは、正解データの成分数と同じ値に設定される。入力データと正解データとが同じ形式で表現されるデータである場合、mは、入力データの成分数、すなわちエンコーダ112の入力層のユニット数に、一致する。ニューラルネットワークにより潜在変数ベクトルから出力データを生成することは、復号(デコード)とも呼ばれる。
 デコーダ114が使用するニューラルネットワークの構造は自由に設計され得る。たとえば、層の数、(多層ニューラルネットワークである場合は)中間層の成分数、成分間の接続の仕方に、制限はない。一例として、デコーダ114は、成分数が144である入力層と、成分数が512である中間層と、成分数が784である出力層と、から成る、ニューラルネットワークを使用してもよい。
 また、デコーダ114が使用するニューラルネットワークで使われる活性化関数はどのような活性化関数でもよい。活性化関数の例としては、恒等関数、シグモイド関数、ReLU関数、双曲線正接関数、等が挙げられる。
 デコーダ114は、使用するニューラルネットワークにおけるパラメータ(典型的には、重みおよびバイアス)の値を、パラメータ記憶部119から読み出して、潜在変数ベクトルの復号を行う。
 ===パラメータ更新部115===
 パラメータ更新部115は、デコーダ114により生成された出力データと、データ取得部111により取得された正解データと、の比較に基づき、エンコーダ112およびデコーダ114に用いられるニューラルネットワークのパラメータの値を更新する。
 パラメータの値の更新の手順の具体例を示す。まず、パラメータ更新部115は、1組以上の、正解データと出力データとのセットについて、正解データに対する出力データの誤差を算出する。パラメータ更新部115は、誤差を求めるための誤差関数として、たとえば平均二乗誤差を用いてもよい。そして、パラメータ更新部115は、算出された誤差がより小さくなるように、新たなパラメータの値を決定する。新たなパラメータの値を決定するための手法は、一般的なオートエンコーダにおいて採用される、パラメータの値の最適化の方法として既知である方法が、用いられればよい。一例として、パラメータ更新部115は、誤差逆伝搬法を用いて勾配を計算し、Stochastic Gradient Decent(SGD)を用いてパラメータの値を決定してもよい。他に採用され得る手法として、「RMSprop」、「Adagrad」、「Adadelta」、「Adam」等が挙げられる。
 そして、パラメータ更新部115は、決定した新たなパラメータの値を、パラメータ記憶部119に記録する。以降、エンコーダ112およびデコーダ114は新たなパラメータの値を使用する。以上が更新の具体的手順である。
 なお、パラメータ更新部115が更新する対象のパラメータの値は、エンコーダ112が使用するニューラルネットワークの重みおよびバイアス、ならびにデコーダ114が使用するニューラルネットワークの重みおよびバイアスである。変数変換に使用される変換パラメータは、パラメータ更新部115が更新する対象のパラメータに含まれない。
 なお、パラメータ更新部115は、所定の回数だけ、パラメータの値の更新を繰り返し行ってもよい。所定の回数は、例えば、学習装置31のユーザから入力インタフェースを介して所定の回数を示す数値の入力を受け取った値に決定されてもよい。
 パラメータ更新部115が誤差を求めるために使用する誤差関数は、自由に設計され得る。パラメータ更新部115は、VAE(Variational AutoEncoder)で使用される誤差関数のように、潜在変数ベクトルの平均と分散の値を考慮した誤差関数を使用してもよい。
 <変数導出の学習に係る処理の概要>
 変数導出部110による変数導出の学習に係る処理の概要を、図4を参照しながら説明する。
 まず、m個のデータ値(x、x、・・・、x)を成分として持つ入力データから、エンコーダ112のニューラルネットワークにより、n個の成分(z、z、・・・、z)を持つ潜在変数ベクトルが導出される。この潜在変数ベクトルは、変換部113による変数変換により、n個の成分(z’、z’、・・・、z’n)を持つ別の潜在変数ベクトルに変換される。この別の潜在変数ベクトルから、デコーダ114のニューラルネットワークにより、m個の成分(y’、y’、・・・、y’)を持つ出力データが生成される。
 こうして生成される出力データと、入力データに対して対象の態様が異なる関係である、m個の成分(y、y、・・・、y)を持つ正解データと、のセットが、訓練用データセットとして、学習に用いられる。
 <変数導出の学習に係る処理の流れ>
 変数導出部110による、変数導出の学習に係る処理の流れを、図5のフローチャートを参照しながら説明する。なお、変数導出の学習に係る処理に含まれる各処理は、各処理がプログラムを実行するデバイスによって実行される場合においては、プログラムの中の命令の順序に従って実行されればよい。各処理が別個のデバイスによって実行される場合においては、処理を完了したデバイスが次の処理を実行するデバイスに通知を行うことで、次の処理が実行されればよい。なお、処理を行う各部は、例えば、めいめいの処理によって生成したデータを、学習装置31に含まれる記憶領域または外部の記憶装置に記録する。また、処理を行う各部は、めいめいの処理に必要なデータを、そのデータを生成した部から受け取るか、上記の学習装置31に含まれる記憶領域または外部の記憶装置から読み出せばよい。
 まず、データ取得部111が、入力データと、正解データと、差異情報とを取得する(ステップS11)。ただし、各種のデータが取得されるタイミングは同時でなくてもよい。データが取得されるタイミングは、そのデータが使用されるステップの処理が行われる前であればいつでもよい。
 次に、エンコーダ112が、入力データを潜在変数ベクトルに変換する(ステップS12)。
 次に、変換部113が、差異情報が示す差異に応じた変換パラメータの値を用いて、潜在変数ベクトルを変換する(ステップS13)。
 次に、デコーダ114が、変換後の潜在変数ベクトルを出力データに変換する(ステップS14)。
 次に、パラメータ更新部115が、エンコーダ112およびデコーダ114に用いられるパラメータの値の更新を終了するかを判定する。
 更新を終了する場合とは、例えば、パラメータ更新部115がパラメータの値の更新を行った回数が、所定の回数に達した場合である。
 別の例として、更新を終了する場合とは、正解データに対する出力データの誤差が十分に小さい場合でもよい。パラメータ更新部115は、例えば、次のような場合に、誤差が十分に小さいと判定し、更新を終了すると判定してもよい。
・誤差を示す値が所定の基準値を下回った場合
・誤差をこれ以上小さくすることができない場合、または、
・誤差の減少量(すなわち、最後に行った更新の直前における誤差と更新後の誤差との差)もしくは減少率(すなわち、現在の誤差に対する減少量の比)が所定の基準値を下回った場合。
 あるいは、パラメータ更新部115は、各パラメータの値の絶対変化量(すなわち、更新する場合のパラメータの値の変化量の絶対値)の平均値もしくは最大値、または変化率(すなわち、現在の値に対する絶対変化量の比)の平均値もしくは最大値が、所定の基準値を下回った場合に、更新を終了すると判定してもよい。
 更新を終了しない場合は(ステップS16においてNO)、パラメータ更新部115はパラメータの値を更新し(ステップS17)、変数導出部110は再びステップS12からステップS14の処理を行う。2回目以降のステップS12およびステップS14の処理では、エンコーダ112およびデコーダ114は、更新されたパラメータの値を用いて、処理を行う。パラメータ更新部115は、ステップS14の処理により新たに生成された出力データを、再び正解データと比較し(ステップS15)、パラメータの値の更新を終了するかを判定する。このように、変数導出部110は、パラメータの更新を終了すると判定されるまで、パラメータの値の更新と、更新されたパラメータの値を用いた出力データの生成と、を繰り返す。このような繰り返しを通してパラメータの値を更新する処理が、変数導出の学習である。パラメータ更新部115は、いわば、出力データと正解データとの組を訓練用データセットとした学習により、パラメータの値を更新する。更新を繰り返し行うことでパラメータの値をより好適な値にすることを、最適化とも呼ぶ。
 パラメータの値の更新を終了すると判定されたら(ステップS16においてYES)、変数導出の学習の処理は終了する。
 <変数導出の学習による効果>
 変数導出部110によれば、同一の対象について、異なる態様の該対象の特徴をそれぞれ表現し、かつ互いに関連性を持つ潜在変数ベクトルを、導出できる。
 上述した具体例に基づくと、変数導出部110が奏する効果の例は次の通りである。
 学習が完了した後の変数導出部110のエンコーダ112、変換部113およびデコーダ114は、変換パラメータに応じて、異なる態様の対象を示す、複数の画像を生成することができる。したがって、エンコーダ112が出力する潜在変数ベクトルは、画像における対象の態様が変化した場合でも、変換によってその変化を表現できる。つまり、エンコーダ112と変換部113との組み合わせによれば、異なる態様の対象の特徴をそれぞれ表現し、かつ互いに関連性を持つ潜在変数ベクトルを、生成できる。
 態様の差異が定量的に表され得る差異である場合、変換部113およびデコーダ114の組は、正解データにない態様が記録されたデータを生成できる可能性がある。例えば、変数導出の学習において、ある態様(「態様SA」とする)の対象が記録されたデータおよび別の態様(「態様SC」とする)の対象が記録されたデータが、それぞれ正解データとして用いられたとする。変換部113は、態様SAから態様SCへの変化に相当する変換パラメータの値の半値を用いた変数変換により、態様SAの対象を表現する潜在変数ベクトルから、態様SAと態様SCの間の態様に相当する態様(「態様SB」とする)の対象を表現する潜在変数ベクトルを生成可能である。デコーダ114がこの潜在変数ベクトルから出力データを生成することにより、態様SBの対象が記録された出力データが生成される可能性がある。
 態様の差異が定量的に表されない差異である場合であっても、変換部113およびデコーダ114の組は、正解データにない態様が記録されたデータを生成できる場合がある。例えば、変数導出の学習において、態様SAのある対象(「対象TA」とする)が記録されたデータ、態様SBの対象TAが記録されたデータ、および態様SAの別の対象(「対象TB」とする)が記録されたデータが、それぞれ正解データとして用いられたとする。この学習により、変換部113およびデコーダ114の組は、潜在変数ベクトルから、態様SAの対象TAが記録されたデータおよび態様SBの対象TAが記録されたデータを生成できる。したがって、変換部113は、態様SAの対象TBが表現された潜在変数ベクトルを変換することにより、態様SBの対象TBを表現する潜在変数ベクトルを導出することができると考えられる。そして、この変換後の潜在変数ベクトルは、デコードにより態様SBの対象TBが記録されたデータを生成することも可能であると期待される。
 態様の差異が定量的に表され得る差異である場合、エンコーダ112は、入力データにない態様の対象を表現する潜在変数ベクトルを導出できる可能性がある。例えば、変数導出の学習において、態様SAの対象が記録されたデータおよび態様SCの対象が記録されたデータがそれぞれ入力データとして用いられたとする。パラメータの値が最適化された後のエンコーダ112に、態様SAと態様SCの間の態様に相当する態様SBの対象が記録されたデータを入力すると、導出される潜在変数ベクトルは、態様SAの対象を表現する潜在変数ベクトルから変数変換を行うことにより生成可能な潜在変数ベクトルに類似する(または一致する)可能性がある。すなわち、エンコーダ112は、学習に使用されていない態様の対象から、その態様とは別の態様を表現する潜在変数ベクトルに変換することが可能な潜在変数ベクトルを導出できる可能性がある。
 態様の差異が定量的に表されない差異である場合であっても、エンコーダ112は、入力データにない態様の対象を表現する潜在変数ベクトルを導出できる場合がある。例えば、変数導出の学習において、態様SAの対象TAが記録されたデータ、態様SBの対象TAが記録されたデータ、および態様SAの対象TBが記録されたデータが、それぞれ入力データとして用いられたとする。この学習により、エンコーダ112は、態様SBの対象TAを表現する潜在変数ベクトルを導出可能になる。したがって、エンコーダ112は、態様SBの対象TBが記録されたデータから、態様SBの対象TBを表現する潜在変数ベクトルを導出することもできると考えられる。そして、この導出される潜在変数ベクトルから、変数変換により態様SAの対象TBを表現する潜在変数ベクトルへと変換することも可能であると期待される。
 以上に述べた通り、変数導出の学習により、エンコーダ112は、異なる態様の同一の対象に対して、変換パラメータを用いた変換により互いに変換可能な潜在変数ベクトルを導出できる可能性がある。
 [補足]
 学習装置31は、対象の態様が異なる2つ以上のデータとそれらのデータの間の差異を示す情報(差異情報)を取得可能であれば、どのようなデータ、対象、および態様の差異を扱ってもよい。
 入力データは光学画像に限られない。入力データは、態様が変化し得る対象を記録し、ニューラルネットワークによって変換され得る変数で表すことが可能なデータであれば、何でもよい。
 入力データの一例は、SARデータである。SARデータは、SAR(Synthetic Aperture Radar;合成開口レーダ)によって取得されるセンシングデータである。SARデータにより記録される対象の例は、地形、構造物、車両、航空機、および船舶である。変化し得る態様の例は、SARデータの取得時の方位角、および俯角である。つまり、SARによるセンシング時の条件に起因する差異が、学習装置31が扱う差異に採用されてもよい。
 例えば、入力データは、センシングデバイスによって取得されるセンシングデータの、時系列データでもよい。
 例えば、入力データは、音データでもよい。音データは、音が記録されたデータである。入力データが音データである場合は、入力データは、具体的には、時間ごとの振幅、または時間窓ごとのスペクトログラムの強度等により表されればよい。
 入力データが音データである場合、対象の例は、人の声、発話内容、音響イベント、および音楽、等である。音響イベントとは、悲鳴やガラスの破砕音等、何らかのイベントの発生を示す音のことである。入力データが音データである場合、異なり得る態様の例は、周波数(音の高さ)、録音場所、エコーの程度、音色、データの再生速度(テンポ)、ノイズの程度、音を発生した物の種類、音を発生した人物、またはその人物の感情の状態、等である。
 [分類学習部310]
 分類学習部310の構成および動作について説明する。
 <構成>
 図2を参照すると、分類学習部310は、データ取得部311と、変換部313と、分類部317と、パラメータ更新部315と、出力部316と、パラメータ記憶部319と、を備える。
 データ取得部311と、変換部313と、分類部317と、パラメータ更新部315と、出力部316と、は、例えば、プログラムを実行する1つまたは複数のCPUにより実現される。
 パラメータ記憶部319は、例えば、メモリである。パラメータ記憶部319は、ハードディスク等の補助記憶装置でもよい。別の実施形態では、パラメータ記憶部319は学習装置31の外部にあり、有線または無線により学習装置31と通信可能であるように構成されていてもよい。パラメータ記憶部319は、分類部317が行う分類において用いられるパラメータを記憶する。
 なお、学習装置31は、パラメータ記憶部319とは別に、データを一時的又は非一時的に記憶する記憶装置を備えていてもよい。
 ===データ取得部311===
 データ取得部311は、分類学習部310が使用するデータを取得する。分類学習部310が使用するデータは、エンコーダ112により導出された潜在変数ベクトルと、正解情報である。
 正解情報は、後述する分類部317が分類結果として出力すべき情報として望ましいとされる情報である。正解情報は入力データとセットで与えられる。正解情報は、正解情報に関連づけられる入力データにおいて示される対象が正しく識別された場合に出力されるべき情報である。
 例えば、分類部317が行う分類が、L個(Lは2以上の任意の整数)のクラスのうち対象がいずれに属するかを識別する多クラス分類である場合、正解情報は、いずれか1つの成分の値が「1」であり、他の成分の値が「0」であるような、L次元のベクトルでもよい。このようなベクトルはOne-hotデータとも呼ばれる。このOne-hotデータにおいて、成分はそれぞれクラスに関連づけられている。つまり、このOne-hotデータは、対象が、値が「1」である成分に関連づけられているクラスに分類されたことを示す。
 また、例えば、分類部317が行う分類が、対象がある特定の物であるか否かを識別する二値分類である場合、正解情報は、「1」か「0」かの値をとる情報でもよい。
 正解情報は、後述するパラメータ更新部315によるパラメータの値の更新において、分類部317の分類結果と比較される。
 データ取得部311は、エンコーダ112により導出された潜在変数ベクトルを、潜在変数記憶部118から読み出すことにより、取得すればよい。
 ===変換部313===
 変換部313は、エンコーダ112により導出された潜在変数ベクトルを、別の潜在変数ベクトルへと変換する。変換部313は、変換部113と同様、変換関数を用いた変数変換を行う。
 変換部313が用いる変換関数は、変換部113と同じ種類の、すなわち、高々変換パラメータの値のみが異なる、変換関数である。
 変換部313は、変換パラメータの様々な値を用いた複数の変数変換により、複数の別の潜在変数ベクトルを生成してもよい。
 ===分類部317===
 分類部317は、変換部313が出力する潜在変数ベクトルに対して、分類を行う。
 分類部317は、例えば、ニューラルネットワークを使用して、潜在変数ベクトルをニューラルネットワークの入力層に入力し、出力として分類結果を示す情報を生成する。
 分類結果を示す情報は、例えば、分類部317が多クラス分類器として使用される場合、対象が分類先のクラスに属する確率(尤度といってもよい)の分布を示す多次元ベクトルである。このような場合の多次元ベクトルの成分の数は、分類先のクラスの個数である。分類部317が二値分類器として使用される場合、分類結果を示す情報は、対象が所定の認識対象である確率を示す数値でもよい。いずれにせよ、分類結果を示す情報は、正解情報と比較可能な形式で表現されたデータである。
 分類部317が使用するニューラルネットワークの構造は自由に設計され得る。たとえば、層の数、(多層ニューラルネットワークである場合は)中間層の成分数、成分間の接続の仕方に、制限はない。また、分類部317が使用するニューラルネットワークで使われる活性化関数はどのような活性化関数でもよい。
 分類部317は、使用するニューラルネットワークにおけるパラメータ(典型的には、重みおよびバイアス)の値を、パラメータ記憶部319から読み出して、分類を行う。
 ===パラメータ更新部315===
 パラメータ更新部315は、分類部317による分類結果を示す情報と、データ取得部311により取得された正解情報と、の比較に基づき、分類部317に用いられるニューラルネットワークのパラメータの値を更新する。
 パラメータの値の更新の手順の具体例を示す。まず、パラメータ更新部315は、1組以上の、分類結果を示す情報と正解情報とのセットについて、分類結果を示す情報の、正解情報に対する誤差を算出する。パラメータ更新部315は、誤差を求めるための誤差関数として、たとえば交差エントロピーを用いてもよい。そして、パラメータ更新部315は、算出された誤差がより小さくなるように、新たなパラメータの値を決定する。新たなパラメータの値を決定するための手法は、一般的な分類器の学習において採用される、パラメータの値の最適化の方法として既知である方法が、用いられればよい。一例として、パラメータ更新部315は、誤差逆伝搬法を用いて勾配を計算し、SGDを用いてパラメータの値を決定してもよい。他に採用され得る手法として、「RMSprop」、「Adagrad」、「Adadelta」、「Adam」等が挙げられる。
 そして、パラメータ更新部315は、決定した新たなパラメータの値を、パラメータ記憶部319に記録する。以降、分類部317は新たなパラメータの値を使用する。以上が更新の具体的手順である。
 なお、パラメータ更新部315は、所定の回数だけ、パラメータの値の更新を繰り返し行ってもよい。所定の回数は、例えば、学習装置31のユーザから入力インタフェースを介して所定の回数を示す数値の入力を受け取った値に決定されてもよい。
 ===出力部316===
 出力部316は、パラメータ更新部315により更新されたパラメータの値の情報を、出力する。例えば、出力部316は、パラメータ更新部315が繰り返しパラメータの値を更新することにより最適化されたパラメータの値を、出力する。出力部316による出力の出力先の例には、表示装置、記憶装置、および通信ネットワークが含まれる。出力部316が情報を表示装置に出力する場合、出力部316は、表示装置が該情報を表示できるよう、情報を変換してもよい。なお、上記した表示装置および記憶装置は、学習装置31の外部のデバイスであってもよいし、学習装置31に含まれる構成要素であってもよい。
 <分類の学習に係る処理の流れ>
 分類学習部310による、分類の学習に係る処理の流れを、図6のフローチャートを参照しながら説明する。なお、分類の学習に係る処理に含まれる各処理は、各処理がプログラムを実行するデバイスによって実行される場合においては、プログラムの中の命令の順序に従って実行されればよい。各処理が別個のデバイスによって実行される場合においては、処理を完了したデバイスが次の処理を実行するデバイスに通知を行うことで、次の処理が実行されればよい。なお、処理を行う各部は、例えば、めいめいの処理によって生成したデータを、学習装置31に含まれる記憶領域または外部の記憶装置に記録する。また、処理を行う各部は、めいめいの処理に必要なデータを、そのデータを生成した部から受け取るか、上記の学習装置31に含まれる記憶領域または外部の記憶装置から読み出せばよい。
 まず、エンコーダ112が、変数導出の学習によって最適化されたパラメータの値を用いて、入力データから潜在変数ベクトルを導出する(ステップS31)。エンコーダ112は、導出した潜在変数ベクトルを潜在変数記憶部118に記録する。
 次に、データ取得部311が、エンコーダ112によって導出された潜在変数ベクトルと正解情報とを取得する(ステップS32)。正解情報は、入力データとセットで学習装置31に入力される。すなわち、正解情報は、入力データ、および、入力データから導出された潜在変数ベクトルに関連づけられている。
 次に、変換部313が、潜在変数ベクトルを別の潜在変数ベクトルに変換する(ステップS33)。
 次に、分類部317が、上記別の潜在変数ベクトルに対して分類を行う(ステップS34)。
 次に、パラメータ更新部315が、エンコーダ112およびデコーダ114に用いられるパラメータの値の更新を終了するかを判定する。
 更新を終了する場合とは、例えば、パラメータ更新部315がパラメータの値の更新を行った回数が、所定の回数に達した場合である。
 別の例として、更新を終了する場合とは、正解データに対する出力データの誤差が十分に小さい場合でもよい。パラメータ更新部315は、例えば、次のような場合に、誤差が十分に小さいと判定し、更新を終了すると判定してもよい。
・誤差を示す値が所定の基準値を下回った場合
・誤差をこれ以上小さくすることができない場合、または、
・誤差の減少量(すなわち、最後に行った更新の直前における誤差と更新後の誤差との差)もしくは減少率(すなわち、現在の誤差に対する減少量の比)が所定の基準値を下回った場合。
 あるいは、パラメータ更新部315は、各パラメータの値の絶対変化量(すなわち、更新する場合のパラメータの値の変化量の絶対値)の平均値もしくは最大値、または変化率(すなわち、現在の値に対する絶対変化量の比)の平均値もしくは最大値が、所定の基準値を下回った場合に、更新を終了すると判定してもよい。
 更新を終了しない場合は(ステップS36においてNO)、パラメータ更新部315はパラメータの値を更新し(ステップS37)、分類学習部310は再びステップS34およびステップS35の処理を行う。2回目以降のステップS34の処理では、分類部317は、更新されたパラメータの値を用いて、分類を行う。パラメータ更新部315は、ステップS34の処理により新たに生成された分類結果を、再び正解情報と比較し(ステップS35)、パラメータの値の更新を終了するかを判定する。このように、分類学習部310は、パラメータの更新を終了すると判定されるまで、パラメータの値の更新と、更新されたパラメータの値を用いた分類とを繰り返す。このような繰り返しを通してパラメータの値を更新する処理が、分類の学習である。パラメータ更新部315は、いわば、分類結果と正解情報との組を訓練用データセットとした学習により、パラメータの値を更新する。
 パラメータの値の更新を終了すると判定されたら(ステップS36においてYES)、出力部316はそのパラメータの値を出力する(ステップS38)。
 <効果>
 以上に説明した分類の学習の結果、更新されたパラメータの値を用いる分類部317は、様々な態様の対象を表現する潜在ベクトルのそれぞれから、正しい分類結果を出力できる。したがって、エンコーダ112と分類部317とを組み合わせることにより、様々な態様の対象を識別することが可能な識別器を生成できる。
 ところで、エンコーダ112を作成するための学習においては、既に述べたように、対象があらゆる態様をとるデータを用意することは必ずしも要求されない。つまり、学習装置31によれば、対象が記録されたデータのサンプルが少ない場合でも、様々な態様の対象を識別することが可能な識別器を生成できる。
 <<第2の実施形態>>
 学習装置は、変数導出部110を備えていなくてもよい。学習装置は、異なる態様の同一の対象に対して、変数変換により互いに変換可能な潜在変数ベクトルを導出するように構成されたエンコーダにより導出された潜在変数ベクトルを取得できるように、構成されていればよい。
 図7は、本発明の第2の実施形態に係る学習装置32の構成を示すブロック図である。学習装置32は、第1の実施形態における分類学習部310に含まれる構成、すなわち、データ取得部311と、変換部313と、分類部317と、パラメータ更新部315と、出力部316と、パラメータ記憶部319と、を備える。学習装置32はエンコーダ312と、有線または無線によって通信可能に接続される。
 エンコーダ312は、例えば、第1の実施形態におけるエンコーダ112である。エンコーダ112は、第1の実施形態の説明で説明された、変数導出の学習により、最適化されたパラメータの値を用いたニューラルネットワークを用いて、潜在変数ベクトルの導出を行うように構成されている。
 学習装置32によっても、様々な態様の対象を識別することが可能な識別器を生成できる。その理由は、第1の実施形態の説明で述べた理由と同じである。
 なお、エンコーダ312は、第1の実施形態におけるエンコーダ112でなくてもよい。所望の機能(すなわち、異なる態様の同一の対象に対して、変数変換により互いに変換可能な潜在変数ベクトルを導出する機能)を持つエンコーダ312を構成するための別の方法を、以下説明する。
 例えば、様々な態様の対象を正解データとして、互いに変換可能な潜在変数ベクトルをそれぞれの正解とする学習を行うことにより、エンコーダ312を生成し得る。この学習において、正解データには、第1の実施形態におけるデコーダ114が生成する出力データが採用され、正解となる潜在変数ベクトルには、第1の実施形態における変換部113が出力する潜在変数ベクトルが採用されてもよい。
 例として、所望の機能を持つエンコーダ312を生成する方法の1つは、次の方法である。まず、図8に示されるような、変数導出部110を備える学習装置13を用意する。学習装置13は、様々な態様の対象TAがそれぞれ記録されたデータを、入力データとして使用して、第1の実施形態で説明される変数導出の学習を行う。そうすることで、エンコーダ112と変換部113とデコーダ114との組み合わせによって、様々な態様の対象TAがそれぞれ記録された出力データが出力できるようになる。次に、学習装置13は、エンコーダ112により、ある態様の対象TBが記録されたデータから、潜在変数ベクトルを導出する。そして、学習装置13は、潜在変数ベクトルを変数変換により変換し、出力データを生成することにより、未学習の態様の対象TBが記録された出力データと潜在変数ベクトルとのセットを取得する。
 上記のセットを用いて、エンコーダ312は、未学習の態様の対象TBが記録されたデータから正しい潜在変数ベクトルを導出するための学習を行う。これにより、エンコーダ312は、未学習の態様の対象TBが記録されたデータから、学習済みの態様の対象TBを表現する潜在変数ベクトルに変換可能な潜在変数ベクトルを導出可能になる。
 上記の方法において用意する必要があるデータは、様々な態様の対象TAがそれぞれ記録されたデータと、ある態様の対象TBが記録されたデータである。未学習の態様の対象TBが記録されたデータは、用意する必要がない。
 <<第3の実施形態>>
 本発明の一実施形態に係る学習装置30について説明する。図9は、学習装置30の構成を示すブロック図である。学習装置30は、データ取得部301と、変換部303と、パラメータ更新部305と、を備える。
 データ取得部301は、識別対象が記録されたデータから導出された、第1の特徴量を取得する。第1の特徴量は、異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、導出された特徴量である。上記エンコーダを実装する方法は既に述べた通りである。
 なお、本実施形態において、特徴量とは、エンコーダにより入力データから導出される、値の組を指す。特徴量は、対象を表す情報、データの表現、等と呼ばれてもよい。特徴量を導出することは、「特徴量を抽出する」と呼ばれることもある。上記各実施形態における、「潜在変数ベクトル」は、本実施形態の「特徴量」に相当する。特徴量が学習装置30において保持される態様は問わない。例えば、特徴量は、配列の形式で保持されていてもよいし、名前が付与された変数の値としてそれぞれ保持されていてもよい。
 変換部303は、データ取得部301が取得した第1の特徴量に対し、変換パラメータを用いた変換を行うことで、第2の特徴量を生成する。
 パラメータ更新部305は、分類器(不図示)による分類に使用されるパラメータ(以下、「分類パラメータ」とも表記)の値を更新する。分類器は、特徴量を入力として分類を行うよう構成されたモジュールである。上記各実施形態の分類部317は、この分類器に相当する。分類器は、学習装置30に含まれていてもよいし、含まれていなくてもよい。学習装置30と分類器の機能を持つ装置とが、互いに通信可能に接続されていてもよい。分類パラメータは、学習装置によって記憶されていてもよいし、分類器の機能を持つ装置によって記憶されていてもよい。なお、分類パラメータは、例えば、ニューラルネットワークにおいて一般的に使用される重みおよびバイアスである。
 パラメータ更新部305は、分類器が、第2の特徴量を入力とした場合に識別対象に関連づけられるクラスを分類先として示す結果を出力するように、分類パラメータの値を更新する。つまり、学習装置30は、第2の特徴量と、識別対象に関連づけられるクラスを分類先として示す結果と、の組を訓練用データとして、学習を行う。
 分類パラメータの値を更新するとは、例えば、分類パラメータを記憶する記憶部に、分類パラメータの新たな値を記録することである。パラメータ更新部305は、分類パラメータの新たな値を、学習装置30の外部の装置(例えば、記憶装置、表示装置または分類器を使用する情報処理装置)に、出力してもよい。
 図10のフローチャートを参照しながら、学習装置30による処理の流れの例を説明する。まず、データ取得部301が、第1の特徴量を取得する(ステップS301)。次に、変換部303が、第1の特徴量に対し、変換パラメータを用いた変換を行うことで、第2の特徴量を生成する(ステップS302)。そして、パラメータ更新部305は、分類器が、第2の特徴量を入力とした場合に識別対象に関連づけられるクラスを分類先として示す結果を出力するように、分類パラメータの値を更新する(ステップS303)。
 学習装置30によれば、対象が記録されたデータのサンプルが少ない場合でも、様々な態様の対象を識別することが可能な識別器を生成できる。その理由は、分類器が更新された分類パラメータの値を用いれば、第2の特徴量により表現され得る、識別対象が記録されたデータが、学習において用いられなかったとしても、正しく(すなわち、識別対象に関連づけられるクラスに)分類されるからである。
 <実施形態の各部を実現するハードウェアの構成>
 以上で説明された本発明の各実施形態において、各装置の各構成要素を示すブロックは、機能単位で示されている。しかし、構成要素を示すブロックは、各構成要素が別個のモジュールにより構成されることを必ずしも意味していない。
 各構成要素の処理は、たとえば、コンピュータシステムが、コンピュータ読み取り可能な記憶媒体により記憶された、その処理をコンピュータシステムに実行させるプログラムを、読み出し、実行することによって、実現されてもよい。「コンピュータ読み取り可能な記憶媒体」は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、および不揮発性半導体メモリ等の可搬媒体、ならびに、コンピュータシステムに内蔵されるROM(Read Only Memory)およびハードディスク等の記憶装置である。「コンピュータ読み取り可能な記憶媒体」は、コンピュータシステム内部の揮発性メモリのようにプログラムを一時的に保持可能なもの、および、ネットワークや電話回線等の通信回線のように、プログラムを伝送するものも含む。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、更に前述した機能をコンピュータシステムにすでに記憶されているプログラムとの組み合わせで実現できるものであってもよい。
 「コンピュータシステム」とは、一例として、図11に示されるようなコンピュータ900を含むシステムである。コンピュータ900は、以下のような構成を含む。
・1つまたは複数のCPU901
・ROM902
・RAM(Random Access Memory)903
・RAM903へロードされるプログラム904Aおよび記憶情報904B
・プログラム904Aおよび記憶情報904Bを格納する記憶装置905
・記憶媒体906の読み書きを行うドライブ装置907
・通信ネットワーク909と接続する通信インタフェース908
・データの入出力を行う入出力インタフェース910
・各構成要素を接続するバス911
 たとえば、各実施形態における各装置の各構成要素は、その構成要素の機能を実現するプログラム904AをCPU901がRAM903にロードして実行することで実現される。各装置の各構成要素の機能を実現するプログラム904Aは、例えば、予め、記憶装置905やROM902に格納される。そして、必要に応じてCPU901がプログラム904Aを読み出す。記憶装置905は、たとえば、ハードディスクである。プログラム904Aは、通信ネットワーク909を介してCPU901に供給されてもよいし、予め記憶媒体906に格納されており、ドライブ装置907に読み出され、CPU901に供給されてもよい。なお、記憶媒体906は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、および不揮発性半導体メモリ等の、可搬媒体である。
 各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個のコンピュータ900とプログラムとの可能な組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータ900とプログラムとの可能な組み合わせにより実現されてもよい。
 また、各装置の各構成要素の一部または全部は、その他の汎用または専用の回路、コンピュータ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
 各装置の各構成要素の一部または全部が複数のコンピュータや回路等により実現される場合には、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 上記実施形態の一部または全部は以下の付記のようにも記載され得るが、以下には限られない。
 <<付記>>
[付記1]
 異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得する取得手段と、
 前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成する変換手段と、
 特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する、パラメータ更新手段と、
 を備える学習装置。
[付記2]
 前記変換手段は、相異なる前記変換パラメータの値をそれぞれ用いた複数の変換により、前記第1の特徴量から複数の第2の特徴量を生成し、
 前記パラメータ更新手段は、前記分類手段が前記複数の第2の特徴量のいずれを入力としても前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類パラメータの値を更新する、
 付記1に記載の学習装置。
[付記3]
 前記変換手段は、前記第1の特徴量の成分の配置を変更する前記変換を行う、
 付記1または2に記載の学習装置。
[付記4]
 前記データは画像であり、前記識別対象は物体または人物である、
 付記1から3のいずれかに記載の学習装置。
[付記5]
 前記データはSAR(Synthetic Aperture Radar)によるセンシングデータから生成される画像であり、前記態様の差異はSARによるセンシング時の条件に起因する差異である、
 付記1から3のいずれかに記載の学習装置。
[付記6]
 前記第2の特徴量を入力として分類を行う前記分類手段をさらに備える、付記1から5のいずれかに記載の学習装置。
[付記7]
 前記エンコーダをさらに備える、付記1から6のいずれかに記載の学習装置。
[付記8]
 付記1から6のいずれかに記載の学習装置により更新された前記分類パラメータの値を用いる前記分類手段により、前記エンコーダを用いて新たなデータから導出される第3の特徴量を、入力として、分類を行う、分類方法。
[付記9]
 異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得し、
 前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成し、
 特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する、
 学習方法。
[付記10]
 相異なる前記変換パラメータの値をそれぞれ用いた複数の変換により、前記第1の特徴量から複数の第2の特徴量を生成し、
 前記分類手段が前記複数の第2の特徴量のいずれを入力としても前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類パラメータの値を更新する、
 付記9に記載の学習方法。
[付記11]
 前記第1の特徴量の成分の配置を変更する前記変換を行う、
 付記9または10に記載の学習方法。
[付記12]
 前記データは画像であり、前記識別対象は物体または人物である、
 付記9から11のいずれかに記載の学習方法。
[付記13]
 前記データはSAR(Synthetic Aperture Radar)によるセンシングデータから生成される画像であり、前記態様の差異はSARによるセンシング時の条件に起因する差異である、
 付記9から11のいずれかに記載の学習方法。
[付記14]
 付記9から13のいずれかに記載の学習方法により更新された前記分類パラメータの値を用いる前記分類手段により、前記エンコーダを用いて新たなデータから導出される第3の特徴量を、入力として、分類を行う、分類方法。
[付記15]
 異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得する取得処理と、
 前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成する変換処理と、
 特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する、パラメータ更新処理と、
 をコンピュータに実行させるプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
[付記16]
 前記変換処理は、相異なる前記変換パラメータの値をそれぞれ用いた複数の変換により、前記第1の特徴量から複数の第2の特徴量を生成し、
 前記パラメータ更新処理は、前記分類手段が前記複数の第2の特徴量のいずれを入力としても前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類パラメータの値を更新する、
 付記15に記載の記憶媒体。
[付記17]
 前記変換処理は、前記第1の特徴量の成分の配置を変更する前記変換を行う、
 付記15または16に記載の記憶媒体。
[付記18]
 前記データは画像であり、前記識別対象は物体または人物である、
 付記15から17のいずれかに記載の記憶媒体。
[付記19]
 前記データはSAR(Synthetic Aperture Radar)によるセンシングデータから生成される画像であり、前記態様の差異はSARによるセンシング時の条件に起因する差異である、
 付記15から17のいずれかに記載の記憶媒体。
 本願発明は以上に説明した実施形態に限定されるものではない。以上に説明した実施形態の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 13、30-32  学習装置
 110  変数導出部
 111  データ取得部
 112  エンコーダ
 113  変換部
 114  デコーダ
 115  パラメータ更新部
 118  潜在変数記憶部
 119  パラメータ記憶部
 310  分類学習部
 301、311  データ取得部
 312  エンコーダ
 303、313  変換部
 305、315  パラメータ更新部
 316  出力部
 317  分類部
 900  コンピュータ
 901  CPU
 902  ROM
 903  RAM
 904A  プログラム
 904B  記憶情報
 905  記憶装置
 906  記憶媒体
 907  ドライブ装置
 908  通信インタフェース
 909  通信ネットワーク
 910  入出力インタフェース
 911  バス

Claims (19)

  1.  異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得する取得手段と、
     前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成する変換手段と、
     特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する、パラメータ更新手段と、
     を備える学習装置。
  2.  前記変換手段は、相異なる前記変換パラメータの値をそれぞれ用いた複数の変換により、前記第1の特徴量から複数の第2の特徴量を生成し、
     前記パラメータ更新手段は、前記分類手段が前記複数の第2の特徴量のいずれを入力としても前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類パラメータの値を更新する、
     請求項1に記載の学習装置。
  3.  前記変換手段は、前記第1の特徴量の成分の配置を変更する前記変換を行う、
     請求項1または2に記載の学習装置。
  4.  前記データは画像であり、前記識別対象は物体または人物である、
     請求項1から3のいずれかに記載の学習装置。
  5.  前記データはSAR(Synthetic Aperture Radar)によるセンシングデータから生成される画像であり、前記態様の差異はSARによるセンシング時の条件に起因する差異である、
     請求項1から3のいずれかに記載の学習装置。
  6.  前記第2の特徴量を入力として分類を行う前記分類手段をさらに備える、請求項1から5のいずれかに記載の学習装置。
  7.  前記エンコーダをさらに備える、請求項1から6のいずれかに記載の学習装置。
  8.  請求項1から6のいずれかに記載の学習装置により更新された前記分類パラメータの値を用いる前記分類手段により、前記エンコーダを用いて新たなデータから導出される第3の特徴量を、入力として、分類を行う、分類方法。
  9.  異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得し、
     前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成し、
     特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する、
     学習方法。
  10.  相異なる前記変換パラメータの値をそれぞれ用いた複数の変換により、前記第1の特徴量から複数の第2の特徴量を生成し、
     前記分類手段が前記複数の第2の特徴量のいずれを入力としても前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類パラメータの値を更新する、
     請求項9に記載の学習方法。
  11.  前記第1の特徴量の成分の配置を変更する前記変換を行う、
     請求項9または10に記載の学習方法。
  12.  前記データは画像であり、前記識別対象は物体または人物である、
     請求項9から11のいずれかに記載の学習方法。
  13.  前記データはSAR(Synthetic Aperture Radar)によるセンシングデータから生成される画像であり、前記態様の差異はSARによるセンシング時の条件に起因する差異である、
     請求項9から11のいずれかに記載の学習方法。
  14.  請求項9から13のいずれかに記載の学習方法により更新された前記分類パラメータの値を用いる前記分類手段により、前記エンコーダを用いて新たなデータから導出される第3の特徴量を、入力として、分類を行う、分類方法。
  15.  異なる態様の同一の対象がそれぞれ記録されたデータから、前記態様の差異に応じた値をとる変換パラメータを用いた変換により互いに変換可能な特徴量をそれぞれ導出するように構成された、エンコーダにより、識別対象が記録されたデータから導出された、第1の特徴量を取得する取得処理と、
     前記第1の特徴量に対し、前記変換パラメータの値を用いた変換を行うことで、第2の特徴量を生成する変換処理と、
     特徴量を入力として分類を行うよう構成された分類手段が、前記第2の特徴量を入力とした場合に前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類手段による分類に使用される分類パラメータの値を更新する、パラメータ更新処理と、
     をコンピュータに実行させるプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
  16.  前記変換処理は、相異なる前記変換パラメータの値をそれぞれ用いた複数の変換により、前記第1の特徴量から複数の第2の特徴量を生成し、
     前記パラメータ更新処理は、前記分類手段が前記複数の第2の特徴量のいずれを入力としても前記識別対象に関連づけられるクラスを分類先として示す結果を出力するように、前記分類パラメータの値を更新する、
     請求項15に記載の記憶媒体。
  17.  前記変換処理は、前記第1の特徴量の成分の配置を変更する前記変換を行う、
     請求項15または16に記載の記憶媒体。
  18.  前記データは画像であり、前記識別対象は物体または人物である、
     請求項15から17のいずれかに記載の記憶媒体。
  19.  前記データはSAR(Synthetic Aperture Radar)によるセンシングデータから生成される画像であり、前記態様の差異はSARによるセンシング時の条件に起因する差異である、
     請求項15から17のいずれかに記載の記憶媒体。
PCT/JP2017/044894 2017-12-14 2017-12-14 学習装置、学習方法、分類方法、および記憶媒体 WO2019116494A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019559490A JP7184801B2 (ja) 2017-12-14 2017-12-14 学習装置、学習方法、および学習プログラム
EP17934746.3A EP3726463A4 (en) 2017-12-14 2017-12-14 LEARNING DEVICE, LEARNING PROCESS, SORTING PROCESS AND RECORDING MEDIA
US16/772,035 US11270163B2 (en) 2017-12-14 2017-12-14 Learning device, learning method, and storage medium
PCT/JP2017/044894 WO2019116494A1 (ja) 2017-12-14 2017-12-14 学習装置、学習方法、分類方法、および記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/044894 WO2019116494A1 (ja) 2017-12-14 2017-12-14 学習装置、学習方法、分類方法、および記憶媒体

Publications (1)

Publication Number Publication Date
WO2019116494A1 true WO2019116494A1 (ja) 2019-06-20

Family

ID=66819132

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/044894 WO2019116494A1 (ja) 2017-12-14 2017-12-14 学習装置、学習方法、分類方法、および記憶媒体

Country Status (4)

Country Link
US (1) US11270163B2 (ja)
EP (1) EP3726463A4 (ja)
JP (1) JP7184801B2 (ja)
WO (1) WO2019116494A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102563953B1 (ko) * 2022-12-20 2023-08-04 국방과학연구소 영상의 잠재특징을 이용한 영상 변환방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121713A (ja) * 1993-10-21 1995-05-12 Kobe Steel Ltd パターン認識方法
JPH1115973A (ja) * 1997-06-23 1999-01-22 Mitsubishi Electric Corp 画像認識装置
JP2004062719A (ja) 2002-07-31 2004-02-26 Fuji Xerox Co Ltd 画像処理装置
JP2013008364A (ja) * 2011-06-22 2013-01-10 Boeing Co:The 画像の表示

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE528068C2 (sv) * 2004-08-19 2006-08-22 Jan Erik Solem Med Jsolutions Igenkänning av 3D föremål
US9031294B2 (en) 2010-07-23 2015-05-12 National Institute Of Advanced Industrial Science And Technology Region segmented image data creating system and feature extracting system for histopathological images
US9700219B2 (en) * 2013-10-17 2017-07-11 Siemens Healthcare Gmbh Method and system for machine learning based assessment of fractional flow reserve
JP2016197389A (ja) 2015-04-03 2016-11-24 株式会社デンソーアイティーラボラトリ 学習システム、学習プログラムおよび学習方法
US10810469B2 (en) * 2018-05-09 2020-10-20 Adobe Inc. Extracting material properties from a single image
US10719706B1 (en) * 2018-06-19 2020-07-21 Architecture Technology Corporation Systems and methods for nested autoencoding of radar for neural image analysis
JP7121713B2 (ja) 2019-09-17 2022-08-18 日立グローバルライフソリューションズ株式会社 洗濯機
US20210295167A1 (en) * 2020-03-23 2021-09-23 Ansys, Inc. Generative networks for physics based simulations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121713A (ja) * 1993-10-21 1995-05-12 Kobe Steel Ltd パターン認識方法
JPH1115973A (ja) * 1997-06-23 1999-01-22 Mitsubishi Electric Corp 画像認識装置
JP2004062719A (ja) 2002-07-31 2004-02-26 Fuji Xerox Co Ltd 画像処理装置
JP2013008364A (ja) * 2011-06-22 2013-01-10 Boeing Co:The 画像の表示

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ASHIHARA, YUTA ET AL.: "Middle layers sharing for transfer learning to predict rotating image in Deep Learning", IPSJ SIG TECHNICAL REPORT, INTELLIGENT SYSTEM (ICS), no. 1, 24 February 2016 (2016-02-24), pages 1 - 8, XP009521008, ISSN: 2188-885X *
See also references of EP3726463A4

Also Published As

Publication number Publication date
EP3726463A1 (en) 2020-10-21
US11270163B2 (en) 2022-03-08
US20210081721A1 (en) 2021-03-18
JPWO2019116494A1 (ja) 2020-11-26
JP7184801B2 (ja) 2022-12-06
EP3726463A4 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
CN110443143B (zh) 多分支卷积神经网络融合的遥感图像场景分类方法
CN110717953B (zh) 基于cnn-lstm组合模型的黑白图片的着色方法和系统
JP2016057918A (ja) 画像処理装置、画像処理方法及びプログラム
JP2008217589A (ja) 学習装置及びパターン認識装置
CN113592991A (zh) 一种基于神经辐射场的图像渲染方法、装置及电子设备
WO2018203549A1 (ja) 信号変更装置、方法、及びプログラム
CN114549894A (zh) 基于嵌入增强和自适应的小样本图像增量分类方法及装置
CN112132167B (zh) 图像生成和神经网络训练方法、装置、设备和介质
JP2005202932A (ja) データを複数のクラスに分類する方法
JP2019016114A (ja) 画像処理装置、学習装置、フォーカス制御装置、露出制御装置、画像処理方法、学習方法、及びプログラム
JP4543644B2 (ja) データ認識装置
WO2020239208A1 (en) Method and system for training a model for image generation
JP7207846B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR20210076691A (ko) 프레임워크 간 뉴럴 네트워크의 학습을 검증하는 방법 및 장치
KR102491057B1 (ko) 이미지 변환 장치 및 방법
CN111046893A (zh) 图像相似性确定方法和装置、图像处理方法和装置
JP6943295B2 (ja) 学習装置、学習方法、および学習プログラム
WO2019116497A1 (ja) 識別装置、識別方法、および記憶媒体
WO2019116494A1 (ja) 学習装置、学習方法、分類方法、および記憶媒体
CN112862758A (zh) 用于检测墙壁顶面的油漆涂抹质量的神经网络的训练方法
KR102512018B1 (ko) 클래스 인지 메모리 네트워크 기반 영상 변환 장치 및 방법
JP2020067954A (ja) 情報処理装置、情報処理方法及びプログラム
US11423598B2 (en) Method, apparatus and computer program for generating an image
US20210224595A1 (en) Computer implemented method and device for classifying data
CN118097108A (zh) 目标检测模型的训练方法、目标检测方法、设备及介质

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019559490

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017934746

Country of ref document: EP

Effective date: 20200714