WO2021014746A1 - Information processing method, information processing device, and information processing program - Google Patents

Information processing method, information processing device, and information processing program Download PDF

Info

Publication number
WO2021014746A1
WO2021014746A1 PCT/JP2020/020612 JP2020020612W WO2021014746A1 WO 2021014746 A1 WO2021014746 A1 WO 2021014746A1 JP 2020020612 W JP2020020612 W JP 2020020612W WO 2021014746 A1 WO2021014746 A1 WO 2021014746A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
error correction
vector
neural network
label
Prior art date
Application number
PCT/JP2020/020612
Other languages
French (fr)
Japanese (ja)
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 ソニー株式会社
Publication of WO2021014746A1 publication Critical patent/WO2021014746A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • This disclosure relates to information processing methods, information processing devices, and information processing programs.
  • a technique for estimating the category to which the data belongs from the data of the classification problem using a learning model constructed by machine learning such as supervised learning see, for example, Patent Document 1).
  • Machine learning that uses a neural network (deep neural network) as a learning model is often called deep learning.
  • a neural network that handles a classification problem is composed of an arithmetic unit that calculates a feature vector from data and an arithmetic unit that calculates the probability that it belongs to each category of data from the feature vector.
  • this disclosure proposes an information processing method, an information processing device, and an information processing program that can improve the estimation accuracy of the classification problem and reduce the parameters and the amount of calculation of the model.
  • an information processing method uses a neural network to estimate the category to which the input data belongs.
  • the neural network calculates a feature vector from the input data, and based on the feature vector, calculates the probability or score of the category to which the input data belongs by using a decoding operation corresponding to a predetermined error correction coding. To do.
  • Deep learning In the world of machine learning, deep learning technology that learns neural network parameters from a large amount of data is sweeping. In deep learning, parameter learning is realized by repeating parameter updates using a parameter gradient (gradient method) so as to reduce the objective function called loss (loss function).
  • gradient method gradient method
  • loss loss function
  • the label to be derived from the data is the category (class) to which the data belongs, the label will be the category ID (discrete value).
  • a classification problem with a plurality of classes is sometimes called a multi-class classification problem. Multiclass classification problems usually assume that the data is in one of a predetermined class.
  • the neural network calculates a vector (hereinafter, also referred to as a logit vector) representing classiness from the input data.
  • the parameters are learned so as to reduce the error between the classification executed by the neural network and the correct answer.
  • the class to be classified is determined based on the vector representing the class-likeness.
  • a classification problem in which multiple labels are assigned to one piece of data is called a multi-label problem.
  • the data is allowed to be one or more of the predetermined classes.
  • a vector having the same number of dimensions as the number of classes, where the part represented by the label is 1 and the other parts are 0 is referred to as a label vector.
  • the label vector In a normal multi-class problem, the label vector has 1 for only one component and 0 for the others. Such a vector is called a one-hot vector. On the other hand, in the multi-label problem, the label vector has 1 at a plurality of components. Such a vector is called a multi-hot vector.
  • an object of the present disclosure is to provide an information processing method for reducing errors in a classification problem of machine learning.
  • the neural network that estimates the category to which the data belongs from the data is a calculation unit that calculates the feature vector from the data and the calculation that calculates the degree of belonging / non-affiliation (hereinafter referred to as class score, probability) for each category from the feature vector. It consists of parts.
  • an object of the present disclosure is to reduce the parameters and operations of the process of calculating the class score from the feature vector in the deep learning neural network.
  • the error correction code is known as a technique for accurately transmitting information in communication technology.
  • information is binary-encoded between remote locations, further transmitted as a physical signal, and the "original information" is restored from the obtained signal. At this time, an error may occur in the transmitted information due to noise in the transmission of the physical signal.
  • Error correction is one of the techniques for reducing the error of this information.
  • the classification problem is considered to be a problem of restoring a class that is "original information” from "physical signals" such as image data and audio data obtained by converting "information" that represents a class. Then, since the classification error can be considered as an information error, it can be expected that the classification error can be reduced by using the error correction technology. Therefore, the present disclosure provides a method of reducing errors in a classification problem in machine learning by using an error correction technique in the communication field.
  • ECOC Error Correcting Output Code
  • the high-performance decoding method for error correction is not applicable because ECOC uses the Hamming distance for decoding using probability. Therefore, the present disclosure provides a method of reducing errors by using an error correction technique using probability in a classification problem of deep learning.
  • development framework for deep learning In the development of deep learning, it is common to use an application called a development framework that selects and combines function layer groups required for a neural network to be deep-learned and optimization solver groups to be used during learning.
  • the stacking of layers of a neural net is programmed in a script language (for example, Python), or visually programmed via a graphical user interface (GUI).
  • a script language for example, Python
  • GUI graphical user interface
  • the present disclosure provides the following method as a solution to a problem of improving performance by using probabilistic error correction in deep learning.
  • the first solution is a method of combining learning by the ECOC method with probability decoding as run-time error correction.
  • LDPC Low Density Parity Check
  • turbo coding is used as the coding method in order to use probability decoding.
  • LDPC Low Density Parity Check
  • turbo coding is used as the coding method in order to use probability decoding.
  • the maximum posteriori decoding As the actual probability decoding, the maximum posteriori decoding, the BCJR (Bahl Cocke Jelinek Raviv) method, or the thumb product method is used. Furthermore, by preparing a function that realizes these processes as a deep learning layer that can be used in an execution network, it is possible to realize a consistent configuration as a deep learning neural network. This makes it possible to correct errors using probabilities and generate neural networks using frameworks.
  • the second solution is a deep learning layer that allows "error backpropagation" so that the error correction layer by maximum a posteriori decoding, BCJR method, thumb product decoding, etc. in the first solution can be used in the learning network.
  • the computer learns the neural network using error backpropagation.
  • the error correction layer By performing error back propagation through the error correction layer in this way, a coding method corresponding to the reverse processing of error correction is embedded in the parameters of the neural network.
  • the error correction layer is realized only by a combination of functions capable of error back propagation. Then, this combination itself is put together to form an error correction layer again.
  • this disclosure is solved by adding an "error correction layer" to the framework as a method of easily using the error correction technology in the deep learning framework.
  • FIG. 1 is an explanatory diagram of a learning neural network according to the first embodiment of the present disclosure.
  • t shown in FIG. 1 is a label of the classification problem.
  • X is the data of the classification problem.
  • Loss is the value of the loss function.
  • the configuration of the learning neural network shown in FIG. 1 is as follows.
  • Label Binary vectorization (encoded layer) ⁇ Parity vectorization (encoded layer) ⁇ Encoded label.
  • Data ⁇ Feature extraction network (feature extraction layer) ⁇ Logit calculation network (fully connected layer) ⁇ Logit vector. Loss function (loss layer) ⁇ Cross entropy of logit vector and vector with parity.
  • Binary vectorization of labels can be considered, for example, one-hot vectorization, multi-hot vectorization, binary numbering, and the like.
  • binary vectorization can be considered as one-hot vectorization or binary numbering.
  • the binary vectorization is performed as follows.
  • One-hot vector (0,0,0,1,0,0,0,0,0,0,0,0)
  • binary vector (0,0,1,1).
  • multi-hot vectorization can be considered. For example, when the number of classes is 10 and the labels are 3 and 7, the binary vectorization is performed as follows. Multi-hot vector: (0,0,0,1,0,0,0,1,0,0). Further, in the case of a problem including an unknown class, the multi-hot vector is set to 0 vector. Multi-hot vector: (0,0,0,0,0,0,0,0,0,0,0).
  • the binary vector of the label is encoded with parity.
  • the parity is an error check code generated from the original information. Parity is usually a binary code sequence, like the original information.
  • a low density parity check code is connected to a binary-encoded label, and this is used as a label vector with parity. Label vectors with parity are usually multi-hot vectors.
  • the error correction code used for the error correction coding is a low density parity check code (hereinafter, referred to as “parity check code”).
  • a method of connecting the parity check code to the binary vector of the label for example, Hamming coding (LDPC coding) or turbo coding can be considered.
  • LDPC coding Hamming coding
  • turbo coding a turbo code can be used as the error correction code used for the error correction coding.
  • a memory for storing a pair of a generator matrix and a check matrix is prepared.
  • the length of the original code is m
  • the length of the parity code is k
  • n m + k.
  • a matrix as shown in FIG. 2 is used.
  • a matrix represented by the following equation (2) can be considered.
  • the inspection matrix corresponding to the generator matrix shown in FIG. 2 is the matrix shown in FIG.
  • the parity-signed vector c (channel code) can be generated from the binary vector m (message) by the following equation (3).
  • m T G is a matrix product operation
  • mod2 represents the remainder obtained by dividing by two.
  • the vector with parity thus generated is used as the label vector with parity.
  • the parity may be added by the convolutional code or the turbo code.
  • the feature extraction network for calculating the feature amount from the data
  • the same one as the feature extraction vector calculation network of a normal neural network is used.
  • the input data is image or voice
  • a neural network that combines a convolution layer and a nonlinear active layer can be considered.
  • the input data is a symbol string such as a language
  • a neural network that combines an embed layer or the like can be considered.
  • a fully connected network For the neural network that calculates the logit vector (logarithmic odds vector) from the features, for example, a fully connected network (fully connected layer) is used.
  • the number of dimensions of the input vector is the number of dimensions of the feature vector
  • the number of dimensions of the output vector is the number of classes in the fully connected network.
  • the number of dimensions of the output vector of the fully coupled network is the number of dimensions obtained by adding the number of parity to the number of classes.
  • the label is a binary vector
  • the number of dimensions of the output vector of the fully connected network is the dimension obtained by adding the number of parity to the dimension of the binary representation of the number of classes.
  • the feature vector corresponds to the code length of the error correction code used for the error correction coding (message length (original code length) + parity length (parity code length)). It is a vector with a number of dimensions.
  • the loss function is a classification problem, we use the standard cross entropy.
  • the encoded vector is a binary vector, the binary cross entropy is calculated.
  • the value obtained by averaging the samples for each sample represented by the following equation (5) is used as the loss.
  • is a sigmoid function.
  • learning parameters are embedded in the feature extraction network.
  • the training parameters are updated to the trained parameters.
  • FIG. 4 is a flowchart showing an example of the learning algorithm according to the first embodiment of the present disclosure.
  • a learning network is configured (step S101). Subsequently, the label and the data are sampled from the training data set to generate a mini-batch (step S102).
  • step S103 the gradient regarding the parameters of the loss function is obtained (step S103), and the parameters are updated according to the gradient (step S104). Subsequently, it is determined whether or not the predetermined convergence condition is satisfied (step S105).
  • step S105 when the convergence condition is not satisfied (steps S105, No), the process is moved to step S102, the processing of steps S102 to S105 is repeated until the convergence condition is satisfied, and when the convergence condition is satisfied (steps S105, Yes). ), End the process.
  • steps S102 to S105 may be repeated up to a predetermined maximum number of repetitions.
  • the computer executes the learning algorithm shown in FIG. 4 by using the learning neural network shown in FIG. Specifically, the computer converts the label of the classification problem for learning into a binary vector, adds a parity check code to the binary vector, and executes a process of calculating the label vector with parity.
  • the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning. Subsequently, the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity.
  • the computer learns so that the value of the loss function between the logit vector with parity and the label vector with parity is minimized, and executes a process of updating the parameters of the neural network used for label estimation.
  • the label and classification problem data used for learning are vectorized, and a parity check code is further added to machine-learn the neural network parameters.
  • a parity check code is further added to machine-learn the neural network parameters.
  • FIG. 5 is an explanatory diagram of an execution neural network according to the first embodiment of the present disclosure.
  • "x” shown in FIG. 5 is the data of the classification problem.
  • “R” is the estimation result of the label of the classification problem.
  • the configuration of the execution neural network is as follows. Data ⁇ Feature extraction network (feature extraction layer) ⁇ Logit calculation network with parity (fully coupled layer) ⁇ Error correction network (error correction layer) ⁇ Logit vector.
  • the feature extraction network has the same configuration as the feature extraction network of the learning neural network.
  • the logit calculation network with parity has the same configuration as the logit calculation network in the learning neural network.
  • the parameters of these networks the parameters learned in the learning network are used.
  • an error correction network (error correction layer) is newly prepared.
  • An error correction network is a network that calculates a logit vector without parity from a logit vector with parity. This process is a process of calculating the logarithmic odds related to the original code from the logarithmic odds generated from the communication path signal in the error correction network.
  • the decoding operation processing corresponding to this error correction coding posterior distribution maximization decoding (maximum likelihood decoding algorithm), thumb product decoding (sum product algorithm), BCJR decoding (BCJR algorithm), and the like can be considered.
  • the thumb product decoding includes, for example, a probability region thumb product decoding and a logarithmic region thumb product decoding.
  • Logarithmic region thumb-product decoding calculates log odds based on the input channel code and repeats variable node processing and inspection node processing to obtain the log odds of each bit of the "original" parity-coded string. It is an estimation algorithm.
  • FIG. 6 is an image diagram of log-space thumb product decoding according to the first embodiment of the present disclosure.
  • FIG. 7 is an image diagram of a neural network that estimates labels from the classification problem according to the first embodiment of the present disclosure.
  • variable node is shown as a rectangle and the inspection node is shown as a circle. Further, the straight line group connecting the variable node and the inspection node shown in FIGS. 6 and 7 shows a parity inspection matrix.
  • variable node performs the variable node processing described later on the input data and outputs it to the inspection node in the subsequent stage.
  • the inspection node performs the inspection node processing described later using the inspection matrix on the input data and outputs it to the variable node in the subsequent stage.
  • the log odds are calculated by the following equation (6) using the noise intensity and the signal intensity of the Gaussian channel.
  • x j is the intensity of the j-th signal
  • n is the intensity of noise. If you do not know the noise intensity, set a value around 1.
  • variable node processing updates the logarithmic odds based on the following equation (7).
  • ⁇ i has an initial value of 0.
  • the check node process performs a parity check based on the following equation (8). If this process is repeated an appropriate number of times, the log odds rj of the posterior probability of the original parity code is calculated.
  • the log odds vector excluding the parity part corresponds to the log odds of the original code string.
  • this log-space thumb product method is used as an error correction layer.
  • the input vector x of this layer is the logarithmic odds vector h with parity obtained by the equation (4).
  • the output is the posterior probability logarithmic odds vector r obtained after repeating the equations (7) and (8).
  • the output may be a vector obtained by cutting out the number of original classes from this vector.
  • the variance and the like may be calculated for each code at the time of learning, and the noise intensity may be corrected from the variance. ..
  • the probability of the class and the classification result can be estimated.
  • the probability of the class is determined by passing through the sigmoid function.
  • the label can be estimated by discriminating the logarithmic odds and the probability for each class with an appropriate threshold value.
  • the method of estimating the probability and label for each class as described above can be obtained by directly calculating the posterior probability, MAP (Maximum A Posteriori probability) decoding using the calculation result, or BCJR decoding algorithm. realizable.
  • FIG. 8 is an explanatory diagram of the turbo code BCJR decoding algorithm according to the present disclosure. As shown in FIG. 8, in the BCJR decoding algorithm, for example, data interleaving, convolutional code propagation, and logarithmic odds calculation are sequentially repeated.
  • the computer estimates the label from the data of the classification problem by using the execution neural network shown in FIG. Specifically, the computer executes a process of extracting the feature amount of the data from the data of the classification problem.
  • the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity. After that, the computer executes a process of performing error correction of the logit vector with parity based on the parity check code.
  • the computer executes a process of estimating the label of the classification problem based on the logit vector obtained by excluding the parity check code from the logit vector with parity after error correction.
  • the data of the classification problem is vectorized, a parity check code is added, and error correction is performed based on the parity check code to estimate the label. Therefore, the noise, diversity, and parameters of the data It is possible to perform a robust classification for deviations. Therefore, according to the first embodiment, it is possible to improve the estimation accuracy of the label of the classification problem.
  • the second embodiment is an example of using the execution neural network of the first embodiment as a learning neural network.
  • FIG. 9 is an explanatory diagram of the learning neural network according to the second embodiment of the present disclosure.
  • x shown in FIG. 9 is the data of the classification problem.
  • T is the label of the classification problem.
  • H is a feature vector extracted from the data of the classification problem.
  • R is the class score of the label after error correction.
  • the configuration of the learning neural network shown in FIG. 9 is as follows.
  • Data ⁇ Feature extraction network (feature extraction layer) ⁇ Logit calculation network with parity (feature extraction layer) ⁇ Error correction network (error correction layer) ⁇ Logit vector.
  • Label Binary vectorization (only for multi-label problems and problems with unknown class data) Loss function (loss layer) ⁇ Cross entropy between logit vector and label.
  • the feature amount is extracted and the parity check code is added in the feature extraction layer. Therefore, a part of the feature vector input to the error correction layer corresponds to the original code, and a part corresponds to the inspection code (parity).
  • the error correction layer can perform error correction of the original code by, for example, thumb product decoding and BCJR decoding.
  • the difference from the first embodiment is that if the classification problem is a problem other than the multi-label problem or the problem with unknown class data, the parity coding of the label is not performed.
  • the sigmoid cross entropy of Eq. (5) is used in the multi-label problem and the unknown class problem.
  • the softmax cross entropy calculated by the following equation (9) is used.
  • r is a vector obtained by cutting out only the number of classes of the posterior probability logarithmic odds vector r obtained after repeating the equations (7) and (8).
  • t is a label that has not been converted into a binary vector.
  • the parity coding of the label is not performed, but the parity coding information is a process of performing the coding equivalent by transmitting the gradient to the parameter by the error back propagation of the equations (7) and (8).
  • Equations (7) and (8) are both functions capable of error backpropagation of the gradient, that is, a function in which error back propagation is defined.
  • the decoding operation corresponding to the error correction coding is composed of a combination of operations capable of error back propagation.
  • the execution neural network the one having the same configuration as the execution neural network of the first embodiment may be used.
  • the computer learns the parameters of the learning neural network using the learning neural network shown in FIG. Specifically, the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning.
  • the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector to calculate the logit vector with parity, and corrects the error of the logit vector with parity based on the parity check code. To execute.
  • the computer updates the parameters of the neural network used for estimating the label by learning so that the value of the loss function between the logit vector with parity after error correction and the label of the classification problem for learning is minimized. To execute.
  • the second embodiment it is possible to construct a neural network capable of robust classification for data noise, diversity, and parameter deviation without performing binary vectorization of labels used for learning. Can be done.
  • FIG. 10 is an explanatory diagram showing a correspondence relationship between the execution procedure of the classification problem according to the present disclosure and the information communication procedure.
  • the original code before transmission in information communication can be considered as a class in the classification problem.
  • the procedure of coding and modulating the original code in the information communication and transmitting it via the physical layer serving as the transmission path corresponds to the procedure of extracting the feature amount from the data of the classification problem by the feature amount extraction layer.
  • noise may be mixed in the received signal at the physical layer.
  • a phenomenon corresponds to a phenomenon in which noise is mixed in the feature amount.
  • the received signal is demodulated and decoded to correct errors, and the code probability is calculated to eliminate the influence of noise.
  • the feature amount extracted from the data of the classification problem is vectorized, a parity check code is added as in the case of information communication, and the error correction of the feature amount vector is performed by the parity layer which is the error correction layer described above. Go and calculate the class probability.
  • a computer estimates the category to which the input data belongs by using a neural network.
  • the neural network calculates a feature vector from the input data, and based on the feature vector, calculates the probability or score of the category to which the input data belongs by using a decoding operation corresponding to a predetermined error correction coding.
  • the third embodiment describes a method of realizing unsupervised learning in combination with the first embodiment and the second embodiment. Since the execution network is the same as that of the first embodiment and the second embodiment, the description thereof is omitted here.
  • the learning network is a combination of the first embodiment and the second embodiment as follows.
  • FIG. 11 is an explanatory diagram of the learning neural network according to the third embodiment of the present disclosure.
  • “x” shown in FIG. 11 is the data of the classification problem.
  • “Loss” is the value of the loss function.
  • the configuration of the learning network shown in FIG. 11 is as follows. Data ⁇ Feature extraction network (feature extraction layer) ⁇ Logit calculation network with parity (fully coupled layer) ⁇ Error correction network (error correction layer) ⁇ Logit vector (encoding layer) ⁇ Prediction label.
  • Predictive label ⁇ binary vectorization (encoding layer) ⁇ label vectorization with parity (encoding layer). Loss function (loss layer) ⁇ Cross entropy of logit vector with logit and label vector with parity.
  • the correct label is not necessary, and instead the label estimated from the data through error correction is used. Then, a label vector with parity created based on this estimated label is used for loss calculation.
  • the prediction label in the error correction layer it may be calculated as a prediction label with parity. In this case, there is no need to process the predicted label to the label vectorization with parity.
  • FIG. 12 is a flowchart showing an example of the learning algorithm according to the third embodiment of the present disclosure. As shown in FIG. 12, in the learning algorithm according to the third embodiment, first, a learning network is configured (step S201).
  • a mini-batch is sampled from the unlabeled data set (step S202). After that, the mini-batch is input to the learning network, and the logit vector with parity and the prediction label are estimated (step S203).
  • the label vector with parity is calculated from the predicted label (step S204).
  • the logit vector with parity and the label vector with parity are input to the loss function (step S205).
  • the error is back-propagated from the loss to each parameter to update the parameter (step S206).
  • step S207 it is determined whether or not the predetermined convergence condition is satisfied. Then, when the convergence condition is not satisfied (steps S207, No), the process is moved to step S202, the processing of steps S202 to S206 is repeated until the convergence condition is satisfied, and when the convergence condition is satisfied (steps S207, Yes). ), End the process.
  • steps S202 to S206 may be repeated up to a predetermined maximum number of repetitions.
  • the computer executes the learning algorithm shown in FIG. 12 by using the learning neural network shown in FIG. Specifically, the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning.
  • the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity. After that, the computer executes a process of performing error correction of the logit vector with parity based on the parity check code.
  • the computer converts the logit vector with parity after error correction into a binary vector, adds a parity check code to the binary vector, and calculates the label vector with parity.
  • the computer updates the parameters of the neural network used for estimating the label by learning so that the value of the loss function of the logit vector with parity and the label vector with parity after error correction is minimized.
  • the third embodiment it is possible to perform unsupervised learning and to construct a neural network capable of robust classification against data noise, diversity, and parameter deviation.
  • semi-supervised learning is performed by combining supervised learning and unsupervised learning.
  • the supervised learning part is performed by the machine learning described in the first embodiment or the second embodiment
  • the unsupervised learning is performed by the machine learning described in the third embodiment.
  • unsupervised learning self-learning in which a neural network that can be classified correctly by supervised learning is used to generate a label from the data and learn the neural network according to the label. ) Can be realized.
  • FIG. 13 is a flowchart showing an example of the learning algorithm according to the fourth embodiment of the present disclosure. As shown in FIG. 13, in the learning algorithm according to the fourth embodiment, first, the learning network A of the first or second embodiment is configured (step S301).
  • the learning network B of the third embodiment that shares the parameters with the learning network A is configured (step S302).
  • the mini-batch is then sampled from the labeled dataset (step S303).
  • the mini-batch is input to the learning network A to update the parameters of the learning network (step S304).
  • the mini-batch is then sampled from the unlabeled dataset (step S305).
  • the mini-batch is input to the learning network B to update the parameters of the learning network (step S306). Then, it is determined whether or not the predetermined convergence condition is satisfied (step S307).
  • step S307, No when the convergence condition is not satisfied (step S307, No), the process is moved to step S303, the processing of steps S303 to S306 is repeated until the convergence condition is satisfied, and when the convergence condition is satisfied (step S307, Yes). ), End the process.
  • steps S303 to S306 may be repeated up to a predetermined maximum number of repetitions.
  • the fourth embodiment it is possible to perform semi-supervised learning and to construct a neural network capable of robust classification against data noise, diversity, and parameter deviation.
  • Multi-label learning enables weak supervised learning with multiple instances.
  • As an application of weak supervised learning by multiple instances for example, position estimation of a specified object on an image can be considered.
  • the learning network for object position estimation by normal multiple instance learning has the following configuration.
  • Data ⁇ Feature vector calculation network ⁇ Map calculation network by class ⁇ Global max pooling by map ⁇ Logit vector by class.
  • a multi-label (multi-hot vector) is used as the label.
  • the loss function uses the sigmoid cross entropy of the class-specific logit vector and the multi-label vector.
  • the feature vector calculation network uses a network composed of convolution layers as described above.
  • the convolution network is composed of a convolution process in which filters are swept vertically and horizontally in a map (RGB for input data) and a process in which weighted additions are performed between maps.
  • f k, u, and v are input variables (number of input maps K ⁇ vertical ⁇ horizontal tensor), and hm , u, v are output variables (number of output maps M ⁇ vertical ⁇ horizontal tensor).
  • W m, k, p, q are filters having a filter size of P ⁇ Q, which is the number of input maps ⁇ the number of output maps.
  • the class-specific map calculation network is a network that uses this convolution layer to perform convolution with the same number of maps as the number of classes. Maps for each class are expected to be learned to represent the object-likeness of each corresponding object location.
  • This information is information indicating whether or not an object of the specified class exists and where it is.
  • the multi-label information is only information on whether the object exists or not. For this reason, the information on where the object is located is not necessary for the information on whether the object exists or not, so this is removed.
  • Global Max Pooling is a process that takes the maximum value in the map for each map. Applying this to the output of a class-based map (object-likeness map), the score of the place where the object seems to be most is calculated.
  • the learning network will be changed as follows.
  • Data ⁇ Feature vector calculation network ⁇ Map calculation network by class with parity ⁇ Global max pooling by map ⁇ Logit vector by class with parity ⁇ Error correction layer ⁇ Logit vector by class.
  • the label uses a multi-label (multi-hot vector).
  • the loss function uses the sigmoid cross entropy of the class-specific logit vector and the multi-label vector.
  • the computer extracts the features of the data from the data of the classification problem for learning with multiple labels, converts the features into a logit vector, adds a parity check code to the logit vector, and labels the data. Executes the process of calculating the map for each class with parity for each class to which it belongs.
  • the computer After that, the computer performs global max pooling on the map for each class with parity to calculate the logit vector for each class with parity, corrects the error of the logit vector for each class with parity based on the parity check code, and corrects the error for the logit vector for each class. Executes the process of calculating.
  • the computer executes a process of learning to minimize the value of the loss function between the error-corrected class-specific logit vector and the vectors of a plurality of labels and updating the parameters of the neural network used for label estimation. To do. By doing so, it can be expected that the information on whether or not the object exists becomes more robust and the object position estimation is realized with high accuracy. In this way, the computer can estimate the positions of a plurality of specified objects on the image with high accuracy by performing weak supervised learning by multiple instances.
  • the deep learning framework according to the present disclosure is aligned in a lineup so that a coding layer and an error correction layer can be added to a commonly used neural network for classification problems.
  • a coding layer a humming layer, an LDPC layer, a turbo layer and the like can be considered.
  • the humming layer and LDPC layer should be able to input the generator matrix.
  • the turbo layer enables input of the Viterbi encoder configuration and the interleave matrix.
  • a posterior probability layer As the error correction layer, a posterior probability layer, a BCJR layer, a thumb product decoding layer, and the like can be considered. Of these, the BCJR layer and the thumb product layer have iterative processing, so the maximum number of repetitions can be specified.
  • the posterior probability layer should be able to input the generator matrix.
  • the BCJR layer is capable of inputting the Viterbi encoder configuration and the interleave matrix.
  • the thumb product layer allows the parity check matrix corresponding to the generator matrix to be input.
  • FIG. 14 is a schematic explanatory view of the configuration of the information processing apparatus according to the present embodiment.
  • the information processing device 1 shown in FIG. 14 is realized by, for example, a computer such as a GPU (Graphics Processing Unit) or a CPU (Central Processing Unit).
  • a computer such as a GPU (Graphics Processing Unit) or a CPU (Central Processing Unit).
  • the information processing device 1 includes an information processing unit 2 that estimates the label of the classification problem using the neural network 3 whose parameters are machine-learned.
  • the neural network 3 includes a feature extraction layer 31, an LDPC / turbo decoding unit 32, a loss layer 33, and an LDPC / turbo coding unit 34.
  • the data of the classification problem is input, and the feature amount of the data is extracted from the data of the classification problem.
  • the LDPC / turbo decoding unit 32 converts the feature quantity into a logit vector, adds a parity check code to the logit vector to calculate the parity check code, and based on the parity check code, an error in the parity check vector. Functions as a layer for correction.
  • the loss layer estimates the label of the classification problem based on the logit vector with the parity check code removed from the error-corrected logit vector with parity.
  • the label of the classification problem is input from the outside.
  • the LDPC / turbo coding unit 34 functions as a coding layer shown in FIG. 1 by inputting a label of a classification problem from the outside when, for example, the information processing unit 2 performs supervised learning of the first embodiment. Then, the label is encoded and the like is performed.
  • Turbo code and LDPC code encoders and decoders are often already equipped with high-speed hardware for use in communication technology.
  • the LDPC / turbo decoding unit 32 and the LDPC / turbo coding unit 34 are not limited to the execution environment of deep learning, and for example, hardware such as ASIC (Application Specific Integrated Circuit) is adopted to directly calculate. You may.
  • ASIC Application Specific Integrated Circuit
  • the computer executes a process of extracting the feature amount of the data from the data of the classification problem.
  • the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity.
  • the computer executes an error correction process of the logit vector with parity based on the parity check code.
  • the computer performs a process of estimating the label of the classification problem based on the logit vector obtained by excluding the parity check code from the error-corrected logit vector with parity.
  • the computer vectorizes the data of the classification problem, adds a parity check code, corrects the error based on the parity check code, and estimates the label. Therefore, the data noise, diversity, and parameter deviation are dealt with. It is possible to perform a robust classification. Therefore, the computer can improve the estimation accuracy of the label of the classification problem.
  • the computer converts the label of the classification problem for learning into a binary vector, adds a parity check code to the binary vector, and executes a process of calculating the label vector with parity.
  • the computer executes a process of extracting data features from the data of the classification problem for learning.
  • the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity.
  • the computer performs a process of learning to minimize the value of the loss function between the logit vector with parity and the label vector with parity and updating the parameters of the neural network used for label estimation.
  • the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning.
  • the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity.
  • the computer executes an error correction process of the logit vector with parity based on the parity check code.
  • the computer performs the process of learning to minimize the value of the loss function between the error-corrected logit vector with parity and the label of the classification problem for training and updating the parameters of the neural network used to estimate the label. To do.
  • the computer can construct a neural network that can perform robust classification against data noise, diversity, and parameter deviation without performing binary vectorization of labels used for learning.
  • the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning.
  • the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity.
  • the computer executes an error correction process of the logit vector with parity based on the parity check code.
  • the computer converts the logit vector with parity after error correction into a binary vector, adds a parity check code to the binary vector, and executes a process of calculating a label vector with parity.
  • the computer performs a process of learning to minimize the value of the loss function between the error-corrected logit vector with parity and the label vector with parity, and updating the parameters of the neural network used for label estimation.
  • the computer can perform unsupervised learning and can construct a neural network that can perform robust classification against data noise, diversity, and parameter deviation.
  • the computer updates the parameters of the neural network by the information processing method according to the first embodiment or the information processing method according to the second embodiment, and obtains the updated parameters.
  • the process of updating according to the information processing method according to the second embodiment is executed.
  • the computer can perform semi-supervised learning and can construct a neural network that can perform robust classification against data noise, diversity, and parameter deviation.
  • the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning having a plurality of labels.
  • the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating a class-based map with parity for each class to which the label belongs.
  • the computer performs global max pooling on the class-based map with parity to calculate the logit vector for each class with parity.
  • the computer executes a process of calculating an error of the class-specific logit vector with parity based on the parity check code and calculating the class-specific logit vector.
  • the computer performs a process of learning to minimize the value of the loss function between the error-corrected class-based logit vector and the vectors of a plurality of labels and updating the parameters of the neural network used for label estimation.
  • the computer can estimate the positions of a plurality of specified objects on the image with high accuracy by performing weak supervised learning using multiple instances.
  • the computer corrects errors by using a function in which error back propagation is defined.
  • the computer uses a function in which error back propagation is defined to perform error correction on the data of the classification problem, thereby making the neural network parameters the reverse of the error correction. It is possible to embed a coding method corresponding to the processing of.
  • the information processing program causes a computer to execute a process of extracting data features from the data of the classification problem.
  • a computer is made to perform a process of converting a feature quantity into a logit vector, adding a parity check code to the logit vector, and calculating a logit vector with parity.
  • the computer vectorizes the data of the classification problem, adds a parity check code, corrects the error based on the parity check code, and estimates the label. Therefore, the data noise, diversity, and parameter deviation are dealt with. It is possible to perform a robust classification. Therefore, the computer can improve the estimation accuracy of the label of the classification problem.
  • the information processing device 1 has an information processing unit 2 that estimates the label of the classification problem by using the machine-learned neural network 3.
  • the neural network 3 includes a layer that extracts the feature amount of the data from the data of the classification problem, a layer that converts the feature amount into a logit vector, adds a parity check code to the logit vector, and calculates a logit vector with parity, and parity. It has a layer for error correction of a logit vector with parity based on an inspection code.
  • the information processing unit estimates the label of the classification problem based on the logit vector obtained by excluding the parity check code from the logit vector with parity after error correction.
  • the information processing device vectorizes the data of the classification problem, adds a parity check code, corrects an error based on the parity check code, and estimates the label. Therefore, data noise, diversity, and parameter deviations. Can be categorized as robust. Therefore, the information processing device can improve the estimation accuracy of the label of the classification problem.
  • each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of the device is functionally or physically distributed / physically in any unit according to various loads and usage conditions. It can be integrated and configured.
  • FIG. 15 is a hardware configuration diagram showing an example of a computer 1000 that realizes the functions of the information processing device 1.
  • the computer 1000 includes a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600.
  • Each part of the computer 1000 is connected by a bus 1050.
  • the CPU 1100 operates based on the program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 expands the program stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to various programs.
  • the ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 is started, a program that depends on the hardware of the computer 1000, and the like.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100 and data used by the program.
  • the HDD 1400 is a recording medium for recording an information processing program according to the present disclosure, which is an example of program data 1450.
  • the communication interface 1500 is an interface for the computer 1000 to connect to an external network 1550 (for example, the Internet).
  • the CPU 1100 receives data from another device or transmits data generated by the CPU 1100 to another device via the communication interface 1500.
  • the input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000.
  • the CPU 1100 receives data from an input device such as a keyboard or mouse via the input / output interface 1600. Further, the CPU 1100 transmits data to an output device such as a display, a speaker, or a printer via the input / output interface 1600. Further, the input / output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined recording medium (media).
  • the media is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
  • an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable disk)
  • a magneto-optical recording medium such as an MO (Magneto-Optical disk)
  • a tape medium such as a magnetic tape
  • magnetic recording medium such as a magnetic recording medium
  • semiconductor memory for example, an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
  • the CPU 1100 of the computer 1000 realizes the functions of the information processing unit 2 and the like by executing the information processing program loaded on the RAM 1200.
  • the information processing program according to the present disclosure and the data in the storage unit 120 are stored in the HDD 1400.
  • the CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program, but as another example, these programs may be acquired from another device via the external network 1550.
  • the present technology can also have the following configurations.
  • the neural network calculates a feature vector from the input data and Based on the feature vector, the probability or score of the category to which the input data belongs is calculated using a decoding operation corresponding to a predetermined error correction coding.
  • the feature vector is a vector having a number of dimensions corresponding to the code length of the error correction code used for the predetermined error correction coding.
  • (3) The decoding operation corresponding to the predetermined error correction coding is composed of a combination of operations capable of error back propagation.
  • a computer learns the neural network using the backpropagation method.
  • the error correction code used for the predetermined error correction coding is a low density parity check code.
  • the error correction code used for the predetermined error correction coding is a turbo code.
  • the decoding operation corresponding to the predetermined error correction coding is the maximum likelihood decoding algorithm.
  • the decoding operation corresponding to the predetermined error correction coding is the BCJR algorithm.
  • the decoding operation corresponding to the predetermined error correction coding is a thumb product algorithm.
  • the information processing method according to any one of (1) to (6) above.
  • An information processing device that estimates the category to which input data belongs using a neural network.
  • the neural network calculates a feature vector from the input data and Based on the feature vector, the probability or score of the category to which the input data belongs is calculated using a decoding operation corresponding to a predetermined error correction coding.
  • the feature vector is a vector having a number of dimensions corresponding to the code length of the error correction code used for the predetermined error correction coding.
  • the information processing device according to (10) above.
  • the decoding operation corresponding to the predetermined error correction coding is composed of a combination of operations capable of error back propagation.
  • the neural network is learned by using the error back propagation method.
  • the error correction code used for the predetermined error correction coding is a low density parity check code.
  • the error correction code used for the predetermined error correction coding is a turbo code.
  • the decoding operation corresponding to the predetermined error correction coding is the maximum likelihood decoding algorithm.
  • the decoding operation corresponding to the predetermined error correction coding is the BCJR algorithm.
  • the decoding operation corresponding to the predetermined error correction coding is a thumb product algorithm.
  • the neural network calculates a feature vector from the input data and Based on the feature vector, the probability or score of the category to which the input data belongs is calculated using a decoding operation corresponding to a predetermined error correction coding.
  • Information processing device 2 Information processing unit 3
  • Neural network 31 Feature extraction layer 32
  • Loss layer 34 LDPC / Turbo coding unit

Landscapes

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

Abstract

Provided are an information processing method, information processing device, and information processing program which make it possible to improve inference precision for a classification problem and reduce model parameters and the amount of computation. In the information processing method according to the present disclosure, a computer (information processing device 1) uses a neural network (3) to infer the category to which input data belongs. The neural network (3) computes a feature vector from the input data and, on the basis of the feature vector, computes a probability or score for the category to which the input data belongs, using a decoding computation corresponding to prescribed error-correction coding.

Description

情報処理方法、情報処理装置、および情報処理プログラムInformation processing methods, information processing devices, and information processing programs
 本開示は、情報処理方法、情報処理装置、および情報処理プログラムに関する。 This disclosure relates to information processing methods, information processing devices, and information processing programs.
 教師あり学習などの機械学習によって構築された学習モデルを使用して、分類問題のデータからデータが所属するカテゴリを推定する技術がある(例えば、特許文献1参照)。学習モデルとしてニューラルネットワーク(深いニューラルネットワーク)を用いる機械学習は、深層学習ということが多い。分類問題を扱うニューラルネットワークは、データから特徴ベクトルを算出する演算部と、特徴ベクトルからデータの各カテゴリに所属していると推定される確率を算出する演算部で構成される。 There is a technique for estimating the category to which the data belongs from the data of the classification problem using a learning model constructed by machine learning such as supervised learning (see, for example, Patent Document 1). Machine learning that uses a neural network (deep neural network) as a learning model is often called deep learning. A neural network that handles a classification problem is composed of an arithmetic unit that calculates a feature vector from data and an arithmetic unit that calculates the probability that it belongs to each category of data from the feature vector.
特開2009-282686号公報JP-A-2009-228686
 機械学習の分類問題では、データが所属するカテゴリを誤らないようにすることが常に課題である。また、深層学習では、ニューラルネットワークのパラメータや演算を削減することが課題である。 In the classification problem of machine learning, it is always an issue not to mistake the category to which the data belongs. Further, in deep learning, it is an issue to reduce the parameters and operations of the neural network.
 そこで、本開示では、分類問題の推定精度を向上し、モデルのパラメータや演算量を削減できる情報処理方法、情報処理装置、および情報処理プログラムを提案する。 Therefore, this disclosure proposes an information processing method, an information processing device, and an information processing program that can improve the estimation accuracy of the classification problem and reduce the parameters and the amount of calculation of the model.
 本開示によれば、情報処理方法が提供される。情報処理方法では、コンピュータが、ニューラルネットワークを用いて、入力データの所属するカテゴリを推定する。前記ニューラルネットワークは、前記入力データから特徴ベクトルを算出し、前記特徴ベクトルに基づいて、前記入力データが所属するカテゴリの確率またはスコアを、所定の誤り訂正符号化に対応する復号演算を用いて演算する。 According to the present disclosure, an information processing method is provided. In the information processing method, a computer uses a neural network to estimate the category to which the input data belongs. The neural network calculates a feature vector from the input data, and based on the feature vector, calculates the probability or score of the category to which the input data belongs by using a decoding operation corresponding to a predetermined error correction coding. To do.
本開示の第1実施形態に係る学習用ニューラルネットワークの説明図である。It is explanatory drawing of the neural network for learning which concerns on 1st Embodiment of this disclosure. 本開示に係る生成行列の一例を示す図である。It is a figure which shows an example of the generator matrix which concerns on this disclosure. 本開示に係る検査行列の一例を示す図である。It is a figure which shows an example of the inspection matrix which concerns on this disclosure. 本開示の第1実施形態に係る学習アルゴリズムの一例を示すフローチャートである。It is a flowchart which shows an example of the learning algorithm which concerns on 1st Embodiment of this disclosure. 本開示の第1実施形態に係る実行用ニューラルネットワークの説明図である。It is explanatory drawing of the execution neural network which concerns on 1st Embodiment of this disclosure. 本開示の第1実施形態に係る対数領域サムプロダクト復号のイメージ図である。It is an image diagram of the logarithmic region thumb product decoding which concerns on 1st Embodiment of this disclosure. 本開示の第1実施形態に係る分類問題からラベルを推定するニューラルネットワークのイメージ図である。It is an image diagram of the neural network which estimates a label from the classification problem which concerns on 1st Embodiment of this disclosure. 本開示に係るターボ符号のBCJR復号アルゴリズムの説明図である。It is explanatory drawing of BCJR decoding algorithm of the turbo code which concerns on this disclosure. 本開示の第2実施形態に係る学習用ニューラルネットワークの説明図である。It is explanatory drawing of the neural network for learning which concerns on 2nd Embodiment of this disclosure. 本開示に係る分類問題の実行手順と情報通信手順との対応関係を示す説明図である。It is explanatory drawing which shows the correspondence relationship between the execution procedure of the classification problem which concerns on this disclosure and the information communication procedure. 本開示の第3実施形態に係る学習用ニューラルネットワークの説明図である。It is explanatory drawing of the neural network for learning which concerns on 3rd Embodiment of this disclosure. 本開示の第3実施形態に係る学習アルゴリズムの一例を示すフローチャートである。It is a flowchart which shows an example of the learning algorithm which concerns on 3rd Embodiment of this disclosure. 本開示の第4実施形態に係る学習アルゴリズムの一例を示すフローチャートである。It is a flowchart which shows an example of the learning algorithm which concerns on 4th Embodiment of this disclosure. 本実施形態に係る情報処理装置の構成の概要説明図である。It is a schematic explanatory diagram of the structure of the information processing apparatus which concerns on this embodiment. 本実施形態に係る情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。It is a hardware block diagram which shows an example of the computer which realizes the function of the information processing apparatus which concerns on this embodiment.
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。 The embodiments of the present disclosure will be described in detail below with reference to the drawings. In each of the following embodiments, the same parts are designated by the same reference numerals, so that duplicate description will be omitted.
[1.背景]
[1-1.深層学習]
 機械学習の世界では、大量のデータからニューラルネットワークのパラメータを学習する深層学習の技術が席巻している。深層学習は、ロス(ロス関数)と呼ばれる目的関数を小さくするように、パラメータ勾配を用いたパラメータ更新を繰り返すこと(勾配法)で、パラメータの学習を実現している。
[1. background]
[1-1. Deep learning]
In the world of machine learning, deep learning technology that learns neural network parameters from a large amount of data is sweeping. In deep learning, parameter learning is realized by repeating parameter updates using a parameter gradient (gradient method) so as to reduce the objective function called loss (loss function).
[1-2.教師あり学習]
 機械学習の中でも、データと、データから導かれるべき正解とをペアにして学習する技術を教師あり学習と呼ぶ。この「正解」の情報を、機械学習では「ラベル」と呼ぶ。ラベルは、通常は人の手によってデータ一つ一つに付与される。
[1-2. Supervised learning]
Among machine learning, the technique of learning by pairing data and the correct answer to be derived from the data is called supervised learning. This "correct answer" information is called a "label" in machine learning. Labels are usually given to each piece of data by hand.
[1-3.分類問題]
 データから導かれるべきラベルが、データが所属するカテゴリ(クラス)の場合、ラベルは、カテゴリID(離散値)となる。特に、クラスが複数ある分類問題は、多クラス分類問題と呼ぶこともある。多クラス分類問題では、通常、データは予め決められたクラスのどれか一つであることが前提とされる。
[1-3. Classification problem]
If the label to be derived from the data is the category (class) to which the data belongs, the label will be the category ID (discrete value). In particular, a classification problem with a plurality of classes is sometimes called a multi-class classification problem. Multiclass classification problems usually assume that the data is in one of a predetermined class.
 この場合、データ一つに対してクラスのどれかを表すラベルが一つ付与される。深層学習では、ニューラルネットワークは、入力されるデータからクラスらしさを表すベクトル(以下、ロジットベクトルとも呼ぶ)を算出する。 In this case, one label indicating one of the classes is given to one data. In deep learning, the neural network calculates a vector (hereinafter, also referred to as a logit vector) representing classiness from the input data.
 学習時には、ニューラルネットワークで実行した分類と正解との誤差を減らすようにパラメータを学習する。また、分類実行時には、クラスらしさを表すベクトルをもとに、分類先のクラスを決める。 At the time of learning, the parameters are learned so as to reduce the error between the classification executed by the neural network and the correct answer. In addition, when executing classification, the class to be classified is determined based on the vector representing the class-likeness.
[1-4.マルチラベル問題]
 データ一つに対してラベルが複数付与される分類問題は、マルチラベル問題と呼ばれる。この場合、データは、予め決められたクラスのどれか複数であることが許容される。以下では、クラス数と等しい次元数であり、ラベルが表す箇所を1、それ以外を0とするベクトルをラベルベクトルと呼ぶことにする。
[1-4. Multi-label problem]
A classification problem in which multiple labels are assigned to one piece of data is called a multi-label problem. In this case, the data is allowed to be one or more of the predetermined classes. In the following, a vector having the same number of dimensions as the number of classes, where the part represented by the label is 1 and the other parts are 0 is referred to as a label vector.
 通常の多クラス問題では、ラベルベクトルは、成分の一箇所だけが1であり、ほかは0となる。このようなベクトルをワンホットベクトルという。一方、マルチラベル問題では、ラベルベクトルは、成分の複数の箇所が1となる。このようなベクトルをマルチホットベクトルという。 In a normal multi-class problem, the label vector has 1 for only one component and 0 for the others. Such a vector is called a one-hot vector. On the other hand, in the multi-label problem, the label vector has 1 at a plurality of components. Such a vector is called a multi-hot vector.
[1-5.未知クラス分類問題]
 データが、予め決められたクラスのどれにも当てはまらないこともある。このような場合、ラベルベクトルは0ベクトルになる。なお、どれにも当てはまらないクラスというクラスを改めて追加して、多クラス分類問題にしてもよい。
[1-5. Unknown classification problem]
The data may not fit into any of the predetermined classes. In such a case, the label vector becomes a 0 vector. A class called a class that does not apply to any of them may be added again to make a multi-class classification problem.
[2.解決すべき課題]
[2-1.分類精度の向上]
 分類問題では、データが所属するカテゴリを誤らないようにすることが常に課題である。ニューラルネットワークでは、クラスらしさを連続値で表す。しかし、この値は、データのノイズや多様性、パラメータのズレなどに対して、敏感に変動して、変動が大きくなると誤りが生じる。
[2. Problems to be solved]
[2-1. Improvement of classification accuracy]
In the classification problem, it is always a challenge not to mistake the category to which the data belongs. In a neural network, the classiness is expressed by continuous values. However, this value fluctuates sensitively to data noise, diversity, parameter deviation, etc., and an error occurs when the fluctuation becomes large.
 そこで、データのノイズや多様性、パラメータのズレに対してロバストな分類ができる方法が必要である。すなわち、本開示の課題は、機械学習の分類問題で誤りを低減する情報処理方法を提供することである。 Therefore, there is a need for a method that can robustly classify data against noise, diversity, and parameter deviations. That is, an object of the present disclosure is to provide an information processing method for reducing errors in a classification problem of machine learning.
[2-2.モデルの軽量化]
 深層学習では、モデルを構成するニューラルネットのパラメータや演算を減らすことが常に課題である。
[2-2. Model weight reduction]
In deep learning, it is always a challenge to reduce the parameters and operations of the neural networks that make up the model.
 データからデータの所属するカテゴリを推定するニューラルネットは、データから特徴ベクトルを算出する演算部と、特徴ベクトルからカテゴリ別の所属・非所属度合い(以下、クラススコア、確率と呼ぶ)を算出する演算部で構成される。 The neural network that estimates the category to which the data belongs from the data is a calculation unit that calculates the feature vector from the data and the calculation that calculates the degree of belonging / non-affiliation (hereinafter referred to as class score, probability) for each category from the feature vector. It consists of parts.
 このうち、特徴ベクトルからクラススコアを算出する処理は、学習するべきパラメータが多く、それに伴い演算回数も多い。そこで、本開示の課題は、深層学習のニューラルネットにおいて、特徴ベクトルからクラススコアを算出する処理のパラメータや演算を削減することである。 Of these, the process of calculating the class score from the feature vector has many parameters to be learned, and the number of operations is also large accordingly. Therefore, an object of the present disclosure is to reduce the parameters and operations of the process of calculating the class score from the feature vector in the deep learning neural network.
[2-3.誤り訂正]
 誤り訂正符号は、通信技術において情報を正確に伝送するための技術として知られる。通信技術では、遠隔地間で、情報をバイナリ符号化して、さらに物理信号として伝送し、得られた信号から「元の情報」を復元する。このとき、物理信号での伝送におけるノイズによって伝送された情報に誤りが生じることがある。誤り訂正は、この情報の誤りを減らすための技術の一つである。
[2-3. Error correction]
The error correction code is known as a technique for accurately transmitting information in communication technology. In communication technology, information is binary-encoded between remote locations, further transmitted as a physical signal, and the "original information" is restored from the obtained signal. At this time, an error may occur in the transmitted information due to noise in the transmission of the physical signal. Error correction is one of the techniques for reducing the error of this information.
 ここで、分類問題を、クラスを表す「情報」を変換して得た画像データや音声データなどの「物理信号」から、「元の情報」であるクラスを復元する問題と考える。すると、分類誤りは、情報の誤りと考えることができるため、誤り訂正技術を使うことで、分類誤りを減らすことが期待できる。そこで、本開示では、通信分野の誤り訂正技術を用いて機械学習における分類問題で誤りを低減する方法を提供する。 Here, the classification problem is considered to be a problem of restoring a class that is "original information" from "physical signals" such as image data and audio data obtained by converting "information" that represents a class. Then, since the classification error can be considered as an information error, it can be expected that the classification error can be reduced by using the error correction technology. Therefore, the present disclosure provides a method of reducing errors in a classification problem in machine learning by using an error correction technique in the communication field.
[2-4.ECOC(Error Correcting Output Code)]
 機械学習の分類問題で誤り訂正技術を使う先例として、ECOCが知られる。この技術は、多クラス問題をニクラス問題の組み合わせとして解く技術である。この技術では、複数のクラスの組み合わせを正例とするニクラス分類器の分類結果を組み合わせることで、分類結果を頑健にする。
[2-4. ECOC (Error Correcting Output Code)]
ECOC is known as a precedent for using error correction technology in machine learning classification problems. This technique is a technique for solving a multi-class problem as a combination of two-class problems. In this technique, the classification results are made robust by combining the classification results of the Niclass classifier, which is a positive example of the combination of multiple classes.
 しかし、誤り訂正で高性能な復号方法は、確率を使った復号でECOCはハミング距離を使っており、当てはまらない。そこで、本開示では、深層学習の分類問題で確率を用いた誤り訂正技術を用いることで誤りを低減する方法を提供する。 However, the high-performance decoding method for error correction is not applicable because ECOC uses the Hamming distance for decoding using probability. Therefore, the present disclosure provides a method of reducing errors by using an error correction technique using probability in a classification problem of deep learning.
[2-5.深層学習用開発フレームワーク]
 深層学習の開発では、開発フレームワークと呼ばれる深層学習したいニューラルネットワークに必要な関数レイヤ郡や、学習時に利用する最適化ソルバー郡を選択して組み合わせるアプリケーションを利用することが一般的である。
[2-5. Development framework for deep learning]
In the development of deep learning, it is common to use an application called a development framework that selects and combines function layer groups required for a neural network to be deep-learned and optimization solver groups to be used during learning.
 このような開発フレームワークでは、ニューラルネットのレイヤの積み重ねをスクリプト言語(例えば、Pythonなど)でプログラミングしたり、あるいは、グラフィカルユーザーインターフェース(GUI)を介してヴィジュアルプログラミングしたりする。このような深層学習フレームワークでは、未だ、誤り訂正技術を利用するレイヤは提供されていない。このため、本開示では、誤り訂正技術を実現する関数レイヤを提供する。 In such a development framework, the stacking of layers of a neural net is programmed in a script language (for example, Python), or visually programmed via a graphical user interface (GUI). Such a deep learning framework does not yet provide a layer that utilizes error correction technology. Therefore, the present disclosure provides a function layer that realizes an error correction technique.
[3.解決方法]
 本開示では、深層学習において、確率的な誤り訂正を用いて性能を上げる課題に対する解決方法として、以下のような方法を提供する。
[3. Solution]
The present disclosure provides the following method as a solution to a problem of improving performance by using probabilistic error correction in deep learning.
[3-1.エンコード済みラベルの学習]
 第1の解決方法は、ECOCの方法による学習に、実行時の誤り訂正として、確率復号を組み合わせる方法である。
[3-1. Learning Encoded Labels]
The first solution is a method of combining learning by the ECOC method with probability decoding as run-time error correction.
 第1の解決方法では、確率復号を利用するために、符号化方法としてLDPC(Low Density Parity Check)符号化、あるいは、ターボ符号化を利用する。深層学習レイヤとして利用できるように、符号化レイヤとして実装する。 In the first solution, LDPC (Low Density Parity Check) coding or turbo coding is used as the coding method in order to use probability decoding. Implement as a coding layer so that it can be used as a deep learning layer.
 また、実際の確率復号として、最大事後確率復号、あるいは、BCJR(Bahl Cocke Jelinek Raviv)法、もしくは、サムプロダクト法を利用する。さらに、これらの処理を実現する関数を、実行用ネットワークに用いることのできる深層学習レイヤとして用意することで、深層学習のニューラルネットワークとして一貫した構成を実現可能にする。これにより、確率を用いた誤り訂正、およびフレームワークを用いたニューラルネットワークの生成が可能になる。 Also, as the actual probability decoding, the maximum posteriori decoding, the BCJR (Bahl Cocke Jelinek Raviv) method, or the thumb product method is used. Furthermore, by preparing a function that realizes these processes as a deep learning layer that can be used in an execution network, it is possible to realize a consistent configuration as a deep learning neural network. This makes it possible to correct errors using probabilities and generate neural networks using frameworks.
[3-2.誤り訂正レイヤの誤差逆伝搬]
 第2の解決方法は、第1の解決方法における最大事後確率復号、BCJR法、サムプロダクト復号などによる誤り訂正レイヤを、学習用ネットワークでも利用できるように「誤差逆伝搬可能」な深層学習のレイヤとして提供する。かかる深層学習レイヤを用いることで、コンピュータは、ニューラルネットワークを、誤差逆伝搬を用いて学習する。
[3-2. Error back propagation of error correction layer]
The second solution is a deep learning layer that allows "error backpropagation" so that the error correction layer by maximum a posteriori decoding, BCJR method, thumb product decoding, etc. in the first solution can be used in the learning network. Provided as. By using such a deep learning layer, the computer learns the neural network using error backpropagation.
 このように誤り訂正レイヤを介して誤差逆伝搬を行うことで、ニューラルネットワークのパラメータに誤り訂正の逆向きの処理に相当する符号化の方法を埋め込む。誤り訂正レイヤを誤差逆伝搬可能な関数レイヤとして実現するために、誤り訂正レイヤを、誤差逆伝搬可能な関数の組み合わせだけで実現する。そしてこの組み合わせそのものをまとめて、あらためて誤り訂正レイヤとする。 By performing error back propagation through the error correction layer in this way, a coding method corresponding to the reverse processing of error correction is embedded in the parameters of the neural network. In order to realize the error correction layer as a function layer capable of error backpropagation, the error correction layer is realized only by a combination of functions capable of error back propagation. Then, this combination itself is put together to form an error correction layer again.
 また、本開示は、深層学習フレームワークにおいて、誤り訂正技術を簡単に利用する方法として、「誤り訂正レイヤ」をフレームワークに加えることで解決する。このように誤り訂正をフレームワーク内に用意しておくことで開発者は、誤り訂正技術の詳細構成をしらなくても、誤り訂正による性能の向上の効果を享受することが可能になる。 Further, this disclosure is solved by adding an "error correction layer" to the framework as a method of easily using the error correction technology in the deep learning framework. By preparing error correction in the framework in this way, the developer can enjoy the effect of improving the performance by error correction without having to configure the detailed configuration of the error correction technology.
[4.実施形態]
[4-1.第1実施形態]
[4-1-1.エンコード済みラベルを使用した学習]
 第1実施形態は、ラベルをチャンネル符号としてエンコードしたベクトルで用いる例である。図1は、本開示の第1実施形態に係る学習用ニューラルネットワークの説明図である。なお、図1に示す「t」は、分類問題のラベルである。「x」は、分類問題のデータである。「loss」は、ロス関数の値である。
[4. Embodiment]
[4-1. First Embodiment]
[4-1-1. Learning with encoded labels]
The first embodiment is an example in which a label is used as a vector encoded as a channel code. FIG. 1 is an explanatory diagram of a learning neural network according to the first embodiment of the present disclosure. In addition, "t" shown in FIG. 1 is a label of the classification problem. “X” is the data of the classification problem. "Loss" is the value of the loss function.
 図1に示す学習用ニューラルネットワークの構成は、以下のようになっている。ラベル→バイナリベクトル化(符号化レイヤ)→パリティ付きベクトル化(符号化レイヤ)→エンコード済みラベル。データ→特徴抽出ネットワーク(特徴抽出レイヤ)→ロジット計算ネットワーク(全結合レイヤ)→ロジットベクトル。ロス関数(ロスレイヤ)→ロジットベクトルとパリティ付きベクトルのクロスエントロピー。 The configuration of the learning neural network shown in FIG. 1 is as follows. Label → Binary vectorization (encoded layer) → Parity vectorization (encoded layer) → Encoded label. Data → Feature extraction network (feature extraction layer) → Logit calculation network (fully connected layer) → Logit vector. Loss function (loss layer) → Cross entropy of logit vector and vector with parity.
 まず、ラベルに関するネットワーク(符号化レイヤ)について説明する。ラベルに対する最初の処理は、バイナリベクトル化である。ラベルのバイナリベクトル化は、例えば、ワンホットベクトル化、マルチホットベクトル化、二進数化などが考えられる。 First, the network (encoding layer) related to labels will be described. The first thing to do with labels is binary vectorization. Binary vectorization of labels can be considered, for example, one-hot vectorization, multi-hot vectorization, binary numbering, and the like.
 分類問題が多クラス分類の場合のバイナリベクトル化は、ワンホットベクトル化や二進数化が考えられる。例えば、クラス数が10でラベルが3のときは、以下のようにバイナリベクトル化される。ワンホットベクトル:(0,0,0,1,0,0,0,0,0,0)、二進数ベクトル:(0,0,1,1)。 When the classification problem is multi-class classification, binary vectorization can be considered as one-hot vectorization or binary numbering. For example, when the number of classes is 10 and the label is 3, the binary vectorization is performed as follows. One-hot vector: (0,0,0,1,0,0,0,0,0,0), binary vector: (0,0,1,1).
 また、マルチラベル問題の場合は、マルチホットベクトル化が考えられる。例えば、クラス数が10でラベルが3と7の場合は、以下のようにバイナリベクトル化される。マルチホットベクトル:(0,0,0,1,0,0,0,1,0,0)。さらに、未知クラスを含む問題の場合は、マルチホットベクトルを0ベクトルにする。マルチホットベクトル:(0,0,0,0,0,0,0,0,0,0)。 Also, in the case of the multi-label problem, multi-hot vectorization can be considered. For example, when the number of classes is 10 and the labels are 3 and 7, the binary vectorization is performed as follows. Multi-hot vector: (0,0,0,1,0,0,0,1,0,0). Further, in the case of a problem including an unknown class, the multi-hot vector is set to 0 vector. Multi-hot vector: (0,0,0,0,0,0,0,0,0,0).
 続いて、ラベルのバイナリベクトルのパリティ付き符号化を行う。ここで、パリティとは、元の情報から生成する誤り検査符号のことである。通常、パリティも元の情報と同様に、バイナリ符号系列である。本実施形態では、バイナリ符号化されたラベルに、低密度パリティ検査符号を接続し、これをパリティ付きラベルベクトルとする。パリティ付きラベルベクトルは通常マルチホットベクトルである。このように、本開示では、誤り訂正符号化に用いる誤り訂正符号は、低密度パリティ検査符号(以下、「パリティ検査符号」という)である。 Subsequently, the binary vector of the label is encoded with parity. Here, the parity is an error check code generated from the original information. Parity is usually a binary code sequence, like the original information. In the present embodiment, a low density parity check code is connected to a binary-encoded label, and this is used as a label vector with parity. Label vectors with parity are usually multi-hot vectors. As described above, in the present disclosure, the error correction code used for the error correction coding is a low density parity check code (hereinafter, referred to as “parity check code”).
 ラベルのバイナリベクトルへの、パリティ検査符号の接続方法としては、例えば、ハミング符号化(LDPC符号化)やターボ符号化などが考えられる。このように、本開示では、誤り訂正符号化に用いる誤り訂正符号として、ターボ符号を用いることができる。ハミング符号化やLDPC符号化を用いる場合は、生成行列と検査行列のペアを記憶するメモリを用意しておく。 As a method of connecting the parity check code to the binary vector of the label, for example, Hamming coding (LDPC coding) or turbo coding can be considered. As described above, in the present disclosure, a turbo code can be used as the error correction code used for the error correction coding. When Hamming coding or LDPC coding is used, a memory for storing a pair of a generator matrix and a check matrix is prepared.
 生成行列は、もとの符号の長さをm、パリティ符号の長さをk、パリティ付き符号の長さをn=m+kとして、たとえば、以下の式(1)で表されるようなm×n行列Gを使う。
Figure JPOXMLDOC01-appb-M000001
 ここで、Imは、m次元単位行列である。Qは、0か1のみを取るm×k行列である。
In the generator matrix, the length of the original code is m, the length of the parity code is k, and the length of the code with parity is n = m + k. For example, m × as represented by the following equation (1). Use the n matrix G.
Figure JPOXMLDOC01-appb-M000001
Here, Im is an m-dimensional identity matrix. Q is an m × k matrix that takes only 0 or 1.
 また、もとの符号の長さを10、パリティ符号の長さを10とした場合は、例えば、図2に示すような行列を使う。この生成行列とペアとなる検査行列は、以下の式(2)で表されるような行列が考えられる。
Figure JPOXMLDOC01-appb-M000002
 図2に示す生成行列に対応する検査行列は、図3に示すような行列となる。
When the length of the original code is 10 and the length of the parity code is 10, for example, a matrix as shown in FIG. 2 is used. As the inspection matrix paired with this generator matrix, a matrix represented by the following equation (2) can be considered.
Figure JPOXMLDOC01-appb-M000002
The inspection matrix corresponding to the generator matrix shown in FIG. 2 is the matrix shown in FIG.
 生成行列が決まると、バイナリベクトルm(message)からパリティ符号つきベクトルc(channel code)を以下の式(3)で生成できる。
Figure JPOXMLDOC01-appb-M000003
 ここで、mGは行列積演算であり、mod2は、2で割った剰余を表している。本開示の第1実施形態では、このように生成されたパリティ付きベクトルをパリティ付きラベルベクトルとして用いる。なお、ここでは、ハミング符号やLDPC符号でのパリティの付与を説明したが、畳み込み符号やターボ符号で、パリティを付与をしてもよい。
Once the generator matrix is determined, the parity-signed vector c (channel code) can be generated from the binary vector m (message) by the following equation (3).
Figure JPOXMLDOC01-appb-M000003
Here, m T G is a matrix product operation, mod2 represents the remainder obtained by dividing by two. In the first embodiment of the present disclosure, the vector with parity thus generated is used as the label vector with parity. Although the assignment of parity by the Hamming code or LDPC code has been described here, the parity may be added by the convolutional code or the turbo code.
 続いて、データに関する処理を説明する。データから特徴量を算出する特徴抽出ネットワーク(特徴抽出レイヤ)は、通常のニューラルネットワークの特徴抽出ベクトル算出ネットワークと同等のものを用いる。 Next, the processing related to data will be explained. As the feature extraction network (feature extraction layer) for calculating the feature amount from the data, the same one as the feature extraction vector calculation network of a normal neural network is used.
 例えば、入力データが画像や音声であれば、コンボリューション層と非線形活性層を組合せたニューラルネットワークが考えられる。また、入力データが言語などのシンボル列であれば、エンベッド層などを組合せたニューラルネットワークが考えられる。 For example, if the input data is image or voice, a neural network that combines a convolution layer and a nonlinear active layer can be considered. If the input data is a symbol string such as a language, a neural network that combines an embed layer or the like can be considered.
 特徴量からロジットベクトル(対数オッズベクトル)を算出するニューラルネットワークは、たとえば、全結合ネットワーク(全結合レイヤ)を用いる。ここで、通常の分類問題用ニューラルネットワークでは、全結合ネットワークは、入力ベクトルの次元数が、特徴ベクトル次元数、出力ベクトルの次元数が、クラス数である。 For the neural network that calculates the logit vector (logarithmic odds vector) from the features, for example, a fully connected network (fully connected layer) is used. Here, in a normal neural network for classification problems, the number of dimensions of the input vector is the number of dimensions of the feature vector, and the number of dimensions of the output vector is the number of classes in the fully connected network.
 しかし、本開示においては、ラベルがワンホットベクトル、マルチホットベクトルの場合、全結合ネットワークの出力ベクトルの次元数は、クラス数にパリティ数を加算した次元数とする。また、ラベルが二進数ベクトルの場合、全結合ネットワークの出力ベクトルの次元数は、クラス数の二進数表現の次元にパリティ数を加算した次元とする。このように、本開示では、特徴ベクトルは、誤り訂正符号化に用いる誤り訂正符号の符号長(メッセージ長(もとの符号の長さ)+パリティ長(パリティ符号の長さ))に相当する次元数を持つベクトルである。 However, in the present disclosure, when the label is a one-hot vector or a multi-hot vector, the number of dimensions of the output vector of the fully coupled network is the number of dimensions obtained by adding the number of parity to the number of classes. When the label is a binary vector, the number of dimensions of the output vector of the fully connected network is the dimension obtained by adding the number of parity to the dimension of the binary representation of the number of classes. As described above, in the present disclosure, the feature vector corresponds to the code length of the error correction code used for the error correction coding (message length (original code length) + parity length (parity code length)). It is a vector with a number of dimensions.
 なお、特徴量算出ネットワークとロジット算出ネットワークを明確に区別する必要はない。ここでは、入力データからロジットベクトルが計算できるニューラルネットワークが組まれていればよい。この処理を簡略化して書くと以下の式(4)のように書ける。
Figure JPOXMLDOC01-appb-M000004
 ここで、hは、ロジットベクトルを表す。xは、入力データを表す。fθは、ニューラルネットワークの処理を表す。θは、ニューラルネットワークのパラメータを表す。
It is not necessary to clearly distinguish between the feature amount calculation network and the logit calculation network. Here, it suffices if a neural network that can calculate the logit vector from the input data is built. If this process is simplified and written, it can be written as the following equation (4).
Figure JPOXMLDOC01-appb-M000004
Here, h represents a logit vector. x represents the input data. fθ represents the processing of the neural network. θ represents the parameters of the neural network.
 最後に、ロス関数について説明する。ロス関数は分類問題なので、定番であるクロスエントロピーを用いる。ここでは、エンコード済みベクトルがバイナリベクトルなので、バイナリクロスエントロピーを計算する。実際には以下の式(5)で表されるサンプル別ロスをサンプル平均した値をロスとして用いる。
Figure JPOXMLDOC01-appb-M000005
 ここで、σはシグモイド関数である。
Finally, the loss function will be described. Since the loss function is a classification problem, we use the standard cross entropy. Here, since the encoded vector is a binary vector, the binary cross entropy is calculated. Actually, the value obtained by averaging the samples for each sample represented by the following equation (5) is used as the loss.
Figure JPOXMLDOC01-appb-M000005
Here, σ is a sigmoid function.
 学習用ニューラルネットワークでは、特徴量抽出ネットワークに学習パラメータが埋め込まれている。ロス関数を最小化するための学習を行うと、学習パラメータが学習済みパラメータに更新される。 In the learning neural network, learning parameters are embedded in the feature extraction network. When training is performed to minimize the loss function, the training parameters are updated to the trained parameters.
 エンコード済みラベルを使用した学習は、ミニバッチを用いた勾配法や、その派生アルゴリズムであるAdamなどで行う。図4は、本開示の第1実施形態に係る学習アルゴリズムの一例を示すフローチャートである。 Learning using encoded labels is performed by the gradient method using a mini-batch or its derivative algorithm, Adam. FIG. 4 is a flowchart showing an example of the learning algorithm according to the first embodiment of the present disclosure.
 図4に示すように、第1実施形態に係る学習アルゴリズムでは、まず、学習用ネットワークを構成する(ステップS101)。続いて、学習用データセットから、ラベルとデータとをサンプルして、ミニバッチを生成する(ステップS102)。 As shown in FIG. 4, in the learning algorithm according to the first embodiment, first, a learning network is configured (step S101). Subsequently, the label and the data are sampled from the training data set to generate a mini-batch (step S102).
 その後、各ミニバッチに対して、ロスを求め、ロス関数のパラメータに関する勾配を求め(ステップS103)、勾配に応じてパラメータを更新する(ステップS104)。続いて、予め決められた収束条件が成立したか否かを判定する(ステップS105)。 After that, for each mini-batch, the loss is obtained, the gradient regarding the parameters of the loss function is obtained (step S103), and the parameters are updated according to the gradient (step S104). Subsequently, it is determined whether or not the predetermined convergence condition is satisfied (step S105).
 そして、収束条件が成立しない場合(ステップS105,No)、処理をステップS102へ移し、収束条件が成立するまでステップS102からステップS105の処理を繰り返し、収束条件が成立した場合に(ステップS105,Yes)、処理を終了する。 Then, when the convergence condition is not satisfied (steps S105, No), the process is moved to step S102, the processing of steps S102 to S105 is repeated until the convergence condition is satisfied, and when the convergence condition is satisfied (steps S105, Yes). ), End the process.
 なお、ここでは、収束条件が成立するまで、ステップS102からステップS105の処理を繰り返す場合について説明したが、予め定められた繰り返し最大数まで、ステップS102からステップS105の処理を繰り返してもよい。 Although the case where the processes of steps S102 to S105 are repeated until the convergence condition is satisfied has been described here, the processes of steps S102 to S105 may be repeated up to a predetermined maximum number of repetitions.
 上記のように、第1実施形態では、コンピュータが、図1に示す学習用ニューラルネットワークを使用して、図4に示す学習アルゴリズムを実行する。具体的には、コンピュータは、学習用の分類問題のラベルをバイナリベクトルに変換し、バイナリベクトルにパリティ検査符号を付加してパリティ付きラベルベクトルを算出する処理を実行する。 As described above, in the first embodiment, the computer executes the learning algorithm shown in FIG. 4 by using the learning neural network shown in FIG. Specifically, the computer converts the label of the classification problem for learning into a binary vector, adds a parity check code to the binary vector, and executes a process of calculating the label vector with parity.
 また、コンピュータは、学習用の分類問題のデータからデータの特徴量を抽出する処理を実行する。続いて、コンピュータは、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出する処理を実行する。 In addition, the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning. Subsequently, the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity.
 そして、コンピュータは、パリティ付きロジットベクトルとパリティ付きラベルベクトルとのロス関数の値が最小化するように学習してラベルの推定に使用するニューラルネットワークのパラメータを更新する処理を実行する。 Then, the computer learns so that the value of the loss function between the logit vector with parity and the label vector with parity is minimized, and executes a process of updating the parameters of the neural network used for label estimation.
 このように、第1実施形態では、学習に使用するラベルおよび分類問題のデータをベクトル化し、さらにパリティ検査符号を付加してニューラルネットワークのパラメータを機械学習する。これにより、第1実施形態では、データのノイズや多様性、パラメータのズレに対してロバストな分類ができるニューラルネットワークを構築することができる。 As described above, in the first embodiment, the label and classification problem data used for learning are vectorized, and a parity check code is further added to machine-learn the neural network parameters. Thereby, in the first embodiment, it is possible to construct a neural network capable of robust classification with respect to data noise, diversity, and parameter deviation.
[4-1-2.実行用ネットワーク]
 図5は、本開示の第1実施形態に係る実行用ニューラルネットワークの説明図である。なお、図5に示す「x」は、分類問題のデータである。「r」は、分類問題のラベルの推定結果である。
[4-1-2. Network for execution]
FIG. 5 is an explanatory diagram of an execution neural network according to the first embodiment of the present disclosure. In addition, "x" shown in FIG. 5 is the data of the classification problem. “R” is the estimation result of the label of the classification problem.
 図5に示すように、実行用ニューラルネットワークの構成は、以下のようになっている。データ→特徴抽出ネットワーク(特徴抽出レイヤ)→パリティ付きロジット算出ネットワーク(全結合レイヤ)→誤り訂正ネットワーク(誤り訂正レイヤ)→ロジットベクトル。 As shown in FIG. 5, the configuration of the execution neural network is as follows. Data → Feature extraction network (feature extraction layer) → Logit calculation network with parity (fully coupled layer) → Error correction network (error correction layer) → Logit vector.
 ここで、特徴抽出ネットワークは、学習用ニューラルネットワークの特徴抽出ネットワークと同じ構成である。パリティ付きロジット算出ネットワークは、学習用ニューラルネットワークにおけるロジット算出ネットワークと同じ構成である。これらのネットワークのパラメータは、学習用ネットワークで学習されたパラメータを用いる。 Here, the feature extraction network has the same configuration as the feature extraction network of the learning neural network. The logit calculation network with parity has the same configuration as the logit calculation network in the learning neural network. As the parameters of these networks, the parameters learned in the learning network are used.
 実行用ニューラルネットワークでは、誤り訂正ネットワーク(誤り訂正レイヤ)が新たに用意されている。誤り訂正ネットワークは、パリティ付きロジットベクトルからパリティなしロジットベクトルを計算するネットワークである。この処理は、誤り訂正ネットワークにおいて、通信路信号から生成した対数オッズから、元の符号に関する対数オッズを算出する処理である。 In the execution neural network, an error correction network (error correction layer) is newly prepared. An error correction network is a network that calculates a logit vector without parity from a logit vector with parity. This process is a process of calculating the logarithmic odds related to the original code from the logarithmic odds generated from the communication path signal in the error correction network.
 この誤り訂正符号化に対応する復号演算処理としては、事後分布最大化復号(最尤復号アルゴリズム)、サムプロダクト復号(サムプロダクトアルゴリズム)、BCJR復号(BCJRアルゴリズム)などが考えられる。このうち、サムプロダクト復号には、例えば、確率領域サムプロダクト復号と、対数領域サムプロダクト復号とがある。 As the decoding operation processing corresponding to this error correction coding, posterior distribution maximization decoding (maximum likelihood decoding algorithm), thumb product decoding (sum product algorithm), BCJR decoding (BCJR algorithm), and the like can be considered. Among these, the thumb product decoding includes, for example, a probability region thumb product decoding and a logarithmic region thumb product decoding.
 対数領域サムプロダクト復号は、入力された通信路符号をもとに対数オッズを計算し、変数ノード処理と検査ノード処理とを繰り返して、「元の」パリティ付き符号列の各ビットの対数オッズを推定するアルゴリズムである。 Logarithmic region thumb-product decoding calculates log odds based on the input channel code and repeats variable node processing and inspection node processing to obtain the log odds of each bit of the "original" parity-coded string. It is an estimation algorithm.
 図6は、本開示の第1実施形態に係る対数領域サムプロダクト復号のイメージ図である。図7は、本開示の第1実施形態に係る分類問題からラベルを推定するニューラルネットワークのイメージ図である。 FIG. 6 is an image diagram of log-space thumb product decoding according to the first embodiment of the present disclosure. FIG. 7 is an image diagram of a neural network that estimates labels from the classification problem according to the first embodiment of the present disclosure.
 図6および図7には、変数ノードを矩形で示し、検査ノードを円形で示している。また、図6および図7に示す変数ノードと検査ノードとを接続する直線群は、パリティ検査行列を示している。 In FIGS. 6 and 7, the variable node is shown as a rectangle and the inspection node is shown as a circle. Further, the straight line group connecting the variable node and the inspection node shown in FIGS. 6 and 7 shows a parity inspection matrix.
 変数ノードは、入力されるデータに対して後述の変数ノード処理を行って後段の検査ノードへ出力する。検査ノードは、入力されるデータに対し、検査行列を使用して後述の検査ノード処理を行って後段の変数ノードへ出力する。 The variable node performs the variable node processing described later on the input data and outputs it to the inspection node in the subsequent stage. The inspection node performs the inspection node processing described later using the inspection matrix on the input data and outputs it to the variable node in the subsequent stage.
 対数オッズの計算は、ガウス通信路の場合は、ガウス通信路のノイズ強度と信号強度を用いて、以下の式(6)によって計算される。
Figure JPOXMLDOC01-appb-M000006
 ここで、xは、j番目の信号の強度で、nはノイズの強度である。ノイズの強度がわからなければ、1前後の値を設定しておく。
In the case of the Gaussian channel, the log odds are calculated by the following equation (6) using the noise intensity and the signal intensity of the Gaussian channel.
Figure JPOXMLDOC01-appb-M000006
Here, x j is the intensity of the j-th signal, and n is the intensity of noise. If you do not know the noise intensity, set a value around 1.
 変数ノード処理は、以下の式(7)に基づいて、対数オッズの更新を行う。
Figure JPOXMLDOC01-appb-M000007
 ただし、σは初期値0である。
The variable node processing updates the logarithmic odds based on the following equation (7).
Figure JPOXMLDOC01-appb-M000007
However, σ i has an initial value of 0.
 検査ノード処理は、以下の式(8)に基づいて、パリティ検査を行う。
Figure JPOXMLDOC01-appb-M000008
 この処理を適切な回数だけ繰り返し行えば、元のパリティ付き符号の事後確率の対数オッズrjが計算される。パリティ部分を除いた対数オッズベクトルは、元の符号列の対数オッズに対応している。
The check node process performs a parity check based on the following equation (8).
Figure JPOXMLDOC01-appb-M000008
If this process is repeated an appropriate number of times, the log odds rj of the posterior probability of the original parity code is calculated. The log odds vector excluding the parity part corresponds to the log odds of the original code string.
 本開示では、この対数領域サムプロダクト法を誤り訂正レイヤとして用いる。このレイヤの入力ベクトルxは、式(4)で求めたパリティ付き対数オッズベクトルhである。また、出力は、式(7)、(8)を繰り返した後に得た事後確率対数オッズベクトルrである。なお、出力は、このベクトルから元のクラス数分を切り出したベクトルであってもよい。 In this disclosure, this log-space thumb product method is used as an error correction layer. The input vector x of this layer is the logarithmic odds vector h with parity obtained by the equation (4). The output is the posterior probability logarithmic odds vector r obtained after repeating the equations (7) and (8). The output may be a vector obtained by cutting out the number of original classes from this vector.
 また、式(6)では対数オッズがノイズの強度に依存しているので、学習時に、分散などを符号別に計算しておいて、その分散からノイズの強度を補正するような構成にしてもよい。 Further, in the equation (6), since the logarithmic odds depend on the noise intensity, the variance and the like may be calculated for each code at the time of learning, and the noise intensity may be corrected from the variance. ..
 以上のようにして得られた対数オッズベクトルから、クラスの確率や、分類結果を推定することができる。たとえば、マルチラベル分類や未知クラスが生じうる多クラス分類の場合は、クラスの確率は、シグモイド関数を通過することで求められる。また、対数オッズや、クラス別の確率を適切な閾値で判別することで、ラベルを推定できる。 From the logarithmic odds vector obtained as described above, the probability of the class and the classification result can be estimated. For example, in the case of multi-label classification or multi-class classification where unknown classes can occur, the probability of the class is determined by passing through the sigmoid function. In addition, the label can be estimated by discriminating the logarithmic odds and the probability for each class with an appropriate threshold value.
 なお、以上のようにしてクラス別の確率やラベルを推定する方法は、事後確率の直接計算やその計算結果を使ったMAP(Maximum A Posteriori probability)復号、あるいは、BCJR復号アルゴリズムなどを用いても実現できる。 The method of estimating the probability and label for each class as described above can be obtained by directly calculating the posterior probability, MAP (Maximum A Posteriori probability) decoding using the calculation result, or BCJR decoding algorithm. realizable.
 図8は、本開示に係るターボ符号のBCJR復号アルゴリズムの説明図である。図8に示すように、BCJR復号アルゴリズムでは、例えば、データのインターリーブ、畳み込み符号伝搬、対数オッズ計算を順次繰り返す処理を行う。 FIG. 8 is an explanatory diagram of the turbo code BCJR decoding algorithm according to the present disclosure. As shown in FIG. 8, in the BCJR decoding algorithm, for example, data interleaving, convolutional code propagation, and logarithmic odds calculation are sequentially repeated.
 上記のように、第1実施形態では、コンピュータが、図5に示す実行用ニューラルネットワークを使用して、分類問題のデータからラベルを推定する。具体的には、コンピュータは、分類問題のデータから前記データの特徴量を抽出する処理を実行する。 As described above, in the first embodiment, the computer estimates the label from the data of the classification problem by using the execution neural network shown in FIG. Specifically, the computer executes a process of extracting the feature amount of the data from the data of the classification problem.
 続いて、コンピュータは、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出する処理を実行する。その後、コンピュータは、パリティ検査符号に基づいて、パリティ付きロジットベクトルの誤り訂正を行う処理を実行する。 Subsequently, the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity. After that, the computer executes a process of performing error correction of the logit vector with parity based on the parity check code.
 そして、コンピュータは、誤り訂正後のパリティ付きロジットベクトルからパリティ検査符号を除外したロジットベクトルに基づいて、分類問題のラベルを推定する処理を実行する。 Then, the computer executes a process of estimating the label of the classification problem based on the logit vector obtained by excluding the parity check code from the logit vector with parity after error correction.
 このように、第1実施形態では、分類問題のデータをベクトル化してパリティ検査符号を付加し、パリティ検査符号に基づく誤り訂正を行ってラベルを推定するので、データのノイズや多様性、パラメータのズレに対してロバストな分類を行うことができる。したがって、第1実施形態によれば、分類問題のラベルの推定精度を向上させることができる。 As described above, in the first embodiment, the data of the classification problem is vectorized, a parity check code is added, and error correction is performed based on the parity check code to estimate the label. Therefore, the noise, diversity, and parameters of the data It is possible to perform a robust classification for deviations. Therefore, according to the first embodiment, it is possible to improve the estimation accuracy of the label of the classification problem.
[4-2.第2実施形態]
 第2実施形態は、第1実施形態の実行用ニューラルネットワークを学習用ニューラルネットワークとして用いる例である。図9は、本開示の第2実施形態に係る学習用ニューラルネットワークの説明図である。
[4-2. Second Embodiment]
The second embodiment is an example of using the execution neural network of the first embodiment as a learning neural network. FIG. 9 is an explanatory diagram of the learning neural network according to the second embodiment of the present disclosure.
 なお、図9に示す「x」は、分類問題のデータである。「t」は、分類問題のラベルである。「h」は、分類問題のデータから抽出した特徴ベクトルである。「r」は、誤り訂正後のラベルのクラススコアである。 Note that "x" shown in FIG. 9 is the data of the classification problem. "T" is the label of the classification problem. “H” is a feature vector extracted from the data of the classification problem. “R” is the class score of the label after error correction.
 図9に示す学習用ニューラルネットワークの構成は、以下のようになっている。データ→特徴抽出ネットワーク(特徴抽出レイヤ)→パリティ付きロジット算出ネットワーク(特徴抽出レイヤ)→誤り訂正ネットワーク(誤り訂正レイヤ)→ロジットベクトル。ラベル→バイナリベクトル化(マルチラベル問題や未知クラスデータがある問題のみ)ロス関数(ロスレイヤ)→ロジットベクトルとラベルのクロスエントロピー。 The configuration of the learning neural network shown in FIG. 9 is as follows. Data → Feature extraction network (feature extraction layer) → Logit calculation network with parity (feature extraction layer) → Error correction network (error correction layer) → Logit vector. Label → Binary vectorization (only for multi-label problems and problems with unknown class data) Loss function (loss layer) → Cross entropy between logit vector and label.
 なお、第2実施形態では、特徴抽出レイヤにおいて、特徴量の抽出およびパリティ検査符号の付与を行う。このため、誤り訂正レイヤへ入力される特徴ベクトルの一部が元符号に相当し、一部が検査符号(パリティ)に相当する。これにより、誤り訂正レイヤは、例えば、サムプロダクト復号およびBCJR復号によって元符号の誤り訂正を行うことができる。 In the second embodiment, the feature amount is extracted and the parity check code is added in the feature extraction layer. Therefore, a part of the feature vector input to the error correction layer corresponds to the original code, and a part corresponds to the inspection code (parity). As a result, the error correction layer can perform error correction of the original code by, for example, thumb product decoding and BCJR decoding.
 第1実施形態との違いは、分類問題がマルチラベル問題や未知クラスデータがある問題以外の問題の場合に、ラベルのパリティ符号化は行わない点である。ロスは、マルチラベル問題、未知クラス問題では、式(5)のシグモイドクロスエントロピーを用いる。 The difference from the first embodiment is that if the classification problem is a problem other than the multi-label problem or the problem with unknown class data, the parity coding of the label is not performed. For the loss, the sigmoid cross entropy of Eq. (5) is used in the multi-label problem and the unknown class problem.
 また、多クラス問題の場合は、以下の式(9)によって算出されるソフトマックスクロスエントロピーを用いる。
Figure JPOXMLDOC01-appb-M000009
 ここで、rは、式(7)、(8)を繰り返した後に得た事後確率対数オッズベクトルrのうち、クラス数次元分だけを切り出したベクトルである。また、tは、バイナリベクトル化していないラベルである。
In the case of a multi-class problem, the softmax cross entropy calculated by the following equation (9) is used.
Figure JPOXMLDOC01-appb-M000009
Here, r is a vector obtained by cutting out only the number of classes of the posterior probability logarithmic odds vector r obtained after repeating the equations (7) and (8). Further, t is a label that has not been converted into a binary vector.
 この構成の場合は、ラベルのパリティ符号化は行わないが、パリティ符号化の情報は、式(7)、(8)の誤差逆伝搬により勾配がパラメータに伝わることで符号化相当を実施する処理がパラメータに埋め込まれる。式(7)、(8)は、いずれも勾配を誤差逆伝搬することができる関数、つまり、誤差逆伝搬が定義された関数である。このように、誤り訂正符号化に対応する復号演算は、誤差逆伝搬ができる演算の組合せで構成される。実行用ニューラルネットワークは、第1実施形態の実行用ニューラルネットワークと同じ構成のものを用いればよい。 In the case of this configuration, the parity coding of the label is not performed, but the parity coding information is a process of performing the coding equivalent by transmitting the gradient to the parameter by the error back propagation of the equations (7) and (8). Is embedded in the parameter. Equations (7) and (8) are both functions capable of error backpropagation of the gradient, that is, a function in which error back propagation is defined. As described above, the decoding operation corresponding to the error correction coding is composed of a combination of operations capable of error back propagation. As the execution neural network, the one having the same configuration as the execution neural network of the first embodiment may be used.
 上記のように、第2実施形態では、コンピュータが、図9に示す学習用ニューラルネットワークを使用して学習用ニューラルネットワークのパラメータを学習する。具体的には、コンピュータは、学習用の分類問題のデータからデータの特徴量を抽出する処理を実行する。 As described above, in the second embodiment, the computer learns the parameters of the learning neural network using the learning neural network shown in FIG. Specifically, the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning.
 続いて、コンピュータは、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出し、パリティ検査符号に基づいて、パリティ付きロジットベクトルの誤り訂正を行う処理を実行する。 Subsequently, the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector to calculate the logit vector with parity, and corrects the error of the logit vector with parity based on the parity check code. To execute.
 そして、コンピュータは、誤り訂正後のパリティ付きロジットベクトルと学習用の分類問題のラベルとのロス関数の値が最小化するように学習してラベルの推定に使用するニューラルネットワークのパラメータを更新する処理を実行する。 Then, the computer updates the parameters of the neural network used for estimating the label by learning so that the value of the loss function between the logit vector with parity after error correction and the label of the classification problem for learning is minimized. To execute.
 これにより、第2実施形態によれば、学習に使用するラベルのバイナリベクトル化を行わなくても、データのノイズや多様性、パラメータのズレに対してロバストな分類ができるニューラルネットワークを構築することができる。 As a result, according to the second embodiment, it is possible to construct a neural network capable of robust classification for data noise, diversity, and parameter deviation without performing binary vectorization of labels used for learning. Can be done.
 ここで、図10を参照し、本開示に係る分類問題の実行手順と情報通信手順との対応関係について説明する。図10は、本開示に係る分類問題の実行手順と情報通信手順との対応関係を示す説明図である。 Here, with reference to FIG. 10, the correspondence between the execution procedure of the classification problem according to the present disclosure and the information communication procedure will be described. FIG. 10 is an explanatory diagram showing a correspondence relationship between the execution procedure of the classification problem according to the present disclosure and the information communication procedure.
 図10に示すように、情報通信における送信前の元符号は、分類問題におけるクラスと考えることができる。そうすると、情報通信における元符号を通信路符号化変調し、伝送路となる物理レイヤを介して送信する手順は、分類問題のデータから特徴量抽出レイヤによって特徴量を抽出する手順に相当する。 As shown in FIG. 10, the original code before transmission in information communication can be considered as a class in the classification problem. Then, the procedure of coding and modulating the original code in the information communication and transmitting it via the physical layer serving as the transmission path corresponds to the procedure of extracting the feature amount from the data of the classification problem by the feature amount extraction layer.
 ここで、情報通信では、受信信号に物理レイヤでノイズが混入することがある。かかる現象は、分類問題では、特徴量にノイズが混入している現象に相当する。情報通信では、受信信号を復調復号して誤り訂正し、符号確率を算出してノイズによる影響を排除する。 Here, in information communication, noise may be mixed in the received signal at the physical layer. In the classification problem, such a phenomenon corresponds to a phenomenon in which noise is mixed in the feature amount. In information communication, the received signal is demodulated and decoded to correct errors, and the code probability is calculated to eliminate the influence of noise.
 そこで、本開示では、分類問題のデータから抽出する特徴量をベクトル化し、情報通信と同様にパリティ検査符号を付加しておき、前述した誤り訂正レイヤであるパリティレイヤで特徴量ベクトルの誤り訂正を行ってクラス確率を算出する。このように、本開示に係る情報処理方法では、例えば、コンピュータが、ニューラルネットワークを用いて、入力データの所属するカテゴリを推定する。ニューラルネットワークは、入力データから特徴ベクトルを算出し、特徴ベクトルに基づいて、入力データが所属するカテゴリの確率またはスコアを、所定の誤り訂正符号化に対応する復号演算を用いて演算する。これにより、本開示では、分類問題のデータにノイズが含まれる場合であっても、ラベルの推定精度を向上させることができる。 Therefore, in the present disclosure, the feature amount extracted from the data of the classification problem is vectorized, a parity check code is added as in the case of information communication, and the error correction of the feature amount vector is performed by the parity layer which is the error correction layer described above. Go and calculate the class probability. As described above, in the information processing method according to the present disclosure, for example, a computer estimates the category to which the input data belongs by using a neural network. The neural network calculates a feature vector from the input data, and based on the feature vector, calculates the probability or score of the category to which the input data belongs by using a decoding operation corresponding to a predetermined error correction coding. Thereby, in the present disclosure, it is possible to improve the estimation accuracy of the label even when the data of the classification problem contains noise.
[4-3.第3実施形態]
 第3実施形態は、第1実施形態と第2実施形態との組み合わせで、教師なし学習を実現する方法を説明する。ここでは実行用ネットワークは、第1実施形態および第2実施形態と同様なので説明は割愛する。学習用ネットワークは、次のように第1実施形態および第2実施形態の組み合わせとなっている。
[4-3. Third Embodiment]
The third embodiment describes a method of realizing unsupervised learning in combination with the first embodiment and the second embodiment. Since the execution network is the same as that of the first embodiment and the second embodiment, the description thereof is omitted here. The learning network is a combination of the first embodiment and the second embodiment as follows.
 図11は、本開示の第3実施形態に係る学習用ニューラルネットワークの説明図である。なお、図11に示す「x」は、分類問題のデータである。「loss」は、ロス関数の値である。 FIG. 11 is an explanatory diagram of the learning neural network according to the third embodiment of the present disclosure. In addition, "x" shown in FIG. 11 is the data of the classification problem. "Loss" is the value of the loss function.
 図11に示す学習用ネットワークの構成は以下のようになっている。データ→特徴抽出ネットワーク(特徴抽出レイヤ)→パリティ付きロジット算出ネットワーク(全結合レイヤ)→誤り訂正ネットワーク(誤り訂正レイヤ)→ロジットベクトル(符号化レイヤ)→予測ラベル。 The configuration of the learning network shown in FIG. 11 is as follows. Data → Feature extraction network (feature extraction layer) → Logit calculation network with parity (fully coupled layer) → Error correction network (error correction layer) → Logit vector (encoding layer) → Prediction label.
 予測ラベル→バイナリベクトル化(符号化レイヤ)→パリティ付きラベルベクトル化(符号化レイヤ)。ロス関数(ロスレイヤ)→ロジット付きロジットベクトルとパリティ付きラベルベクトルのクロスエントロピー。 Predictive label → binary vectorization (encoding layer) → label vectorization with parity (encoding layer). Loss function (loss layer) → Cross entropy of logit vector with logit and label vector with parity.
 ここでは、正解ラベルは必要なく、かわりにデータから誤り訂正を経て推定したラベルが利用されている。そして、この推定したラベルをもとに作られたパリティ付きラベルベクトルが、ロスの算出に利用されている。 Here, the correct label is not necessary, and instead the label estimated from the data through error correction is used. Then, a label vector with parity created based on this estimated label is used for loss calculation.
 なお、誤り訂正レイヤで予測ラベルを算出する際、パリティ付きの予測ラベルとして算出しても良い。この場合は、予測ラベルからパリティ付きラベルベクトル化への処理が不要である。 When calculating the prediction label in the error correction layer, it may be calculated as a prediction label with parity. In this case, there is no need to process the predicted label to the label vectorization with parity.
 図12は、本開示の第3実施形態に係る学習アルゴリズムの一例を示すフローチャートである。図12に示すように、第3実施形態に係る学習アルゴリズムでは、まず、学習用ネットワークを構成する(ステップS201)。 FIG. 12 is a flowchart showing an example of the learning algorithm according to the third embodiment of the present disclosure. As shown in FIG. 12, in the learning algorithm according to the third embodiment, first, a learning network is configured (step S201).
 続いて、ラベルなしデータセットから、ミニバッチをサンプリングする(ステップS202)。その後、ミニバッチを学習用ネットワークに入力して、パリティ付きロジットベクトルと、予測ラベルとを推定する(ステップS203)。 Subsequently, a mini-batch is sampled from the unlabeled data set (step S202). After that, the mini-batch is input to the learning network, and the logit vector with parity and the prediction label are estimated (step S203).
 続いて、予測ラベルからパリティ付きラベルベクトルを算出する(ステップS204)。その後、ロス関数にパリティ付きロジットベクトルと、パリティ付きラベルベクトルとを入力する(ステップS205)。そして、ロスから各パラメータに誤差を逆伝搬して、パラメータを更新する(ステップS206)。 Subsequently, the label vector with parity is calculated from the predicted label (step S204). After that, the logit vector with parity and the label vector with parity are input to the loss function (step S205). Then, the error is back-propagated from the loss to each parameter to update the parameter (step S206).
 続いて、予め決められた収束条件が成立したか否かを判定する(ステップS207)。そして、収束条件が成立しない場合(ステップS207,No)、処理をステップS202へ移し、収束条件が成立するまでステップS202からステップS206の処理を繰り返し、収束条件が成立した場合に(ステップS207,Yes)、処理を終了する。 Subsequently, it is determined whether or not the predetermined convergence condition is satisfied (step S207). Then, when the convergence condition is not satisfied (steps S207, No), the process is moved to step S202, the processing of steps S202 to S206 is repeated until the convergence condition is satisfied, and when the convergence condition is satisfied (steps S207, Yes). ), End the process.
 なお、ここでは、収束条件が成立するまで、ステップS202からステップS206の処理を繰り返す場合について説明したが、予め定められた繰り返し最大数まで、ステップS202からステップS206の処理を繰り返してもよい。 Although the case where the processes of steps S202 to S206 are repeated until the convergence condition is satisfied has been described here, the processes of steps S202 to S206 may be repeated up to a predetermined maximum number of repetitions.
 上記のように、第3実施形態では、コンピュータが、図11に示す学習用ニューラルネットワークを使用して、図12に示す学習アルゴリズムを実行する。具体的には、コンピュータは、学習用の分類問題のデータからデータの特徴量を抽出する処理を実行する。 As described above, in the third embodiment, the computer executes the learning algorithm shown in FIG. 12 by using the learning neural network shown in FIG. Specifically, the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning.
 続いて、コンピュータは、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出する処理を実行する。その後、コンピュータは、パリティ検査符号に基づいて、パリティ付きロジットベクトルの誤り訂正を行う処理を実行する。 Subsequently, the computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity. After that, the computer executes a process of performing error correction of the logit vector with parity based on the parity check code.
 その後、コンピュータは、誤り訂正後のパリティ付きロジットベクトルをバイナリベクトルに変換し、バイナリベクトルにパリティ検査符号を付加してパリティ付きラベルベクトルを算出する。 After that, the computer converts the logit vector with parity after error correction into a binary vector, adds a parity check code to the binary vector, and calculates the label vector with parity.
 そして、コンピュータは、誤り訂正後のパリティ付きロジットベクトルとパリティ付きラベルベクトルとのロス関数の値が最小化するように学習してラベルの推定に使用するニューラルネットワークのパラメータを更新する。 Then, the computer updates the parameters of the neural network used for estimating the label by learning so that the value of the loss function of the logit vector with parity and the label vector with parity after error correction is minimized.
 これにより、第3実施形態では、教師なし学習を行うことができると共に、データのノイズや多様性、パラメータのズレに対してロバストな分類ができるニューラルネットワークを構築することができる。 Thereby, in the third embodiment, it is possible to perform unsupervised learning and to construct a neural network capable of robust classification against data noise, diversity, and parameter deviation.
[4-4.第4実施形態]
 第4実施形態では、教師あり学習と、教師なし学習とを組み合わせて半教師学習を行う。ここでは、教師あり学習部分を第1実施形態あるいは第2実施形態で説明した機械学習で行い、教師なし学習を第3実施形態で説明した機械学習で行う。
[4-4. Fourth Embodiment]
In the fourth embodiment, semi-supervised learning is performed by combining supervised learning and unsupervised learning. Here, the supervised learning part is performed by the machine learning described in the first embodiment or the second embodiment, and the unsupervised learning is performed by the machine learning described in the third embodiment.
 このようにすると、教師あり学習である程度分類が正しくできるようになったニューラルネットワークを使って、データから自分でラベルを生成して、そのラベルに合わせてニューラルネットワークを学習する教師なし学習(自己学習)が実現できる。 In this way, unsupervised learning (self-learning) in which a neural network that can be classified correctly by supervised learning is used to generate a label from the data and learn the neural network according to the label. ) Can be realized.
 図13は、本開示の第4実施形態に係る学習アルゴリズムの一例を示すフローチャートである。図13に示すように、第4実施形態に係る学習アルゴリズムでは、まず、第1または第2実施形態の学習用ネットワークAを構成する(ステップS301)。 FIG. 13 is a flowchart showing an example of the learning algorithm according to the fourth embodiment of the present disclosure. As shown in FIG. 13, in the learning algorithm according to the fourth embodiment, first, the learning network A of the first or second embodiment is configured (step S301).
 続いて、学習用ネットワークAとパラメータを共有する第3実施形態の学習用ネットワークBを構成する(ステップS302)。その後、ラベルありデータセットから、ミニバッチをサンプリングする(ステップS303)。 Subsequently, the learning network B of the third embodiment that shares the parameters with the learning network A is configured (step S302). The mini-batch is then sampled from the labeled dataset (step S303).
 続いて、ミニバッチを学習用ネットワークAに入力して、学習用ネットワークのパラメータを更新する(ステップS304)。その後、ラベルなしデータセットから、ミニバッチをサンプリングする(ステップS305)。 Subsequently, the mini-batch is input to the learning network A to update the parameters of the learning network (step S304). The mini-batch is then sampled from the unlabeled dataset (step S305).
 続いて、ミニバッチを学習用ネットワークBに入力して、学習用ネットワークのパラメータを更新する(ステップS306)。そして、予め決められた収束条件が成立したか否かを判定する(ステップS307)。 Subsequently, the mini-batch is input to the learning network B to update the parameters of the learning network (step S306). Then, it is determined whether or not the predetermined convergence condition is satisfied (step S307).
 そして、収束条件が成立しない場合(ステップS307,No)、処理をステップS303へ移し、収束条件が成立するまでステップS303からステップS306の処理を繰り返し、収束条件が成立した場合に(ステップS307,Yes)、処理を終了する。 Then, when the convergence condition is not satisfied (step S307, No), the process is moved to step S303, the processing of steps S303 to S306 is repeated until the convergence condition is satisfied, and when the convergence condition is satisfied (step S307, Yes). ), End the process.
 なお、ここでは、収束条件が成立するまで、ステップS303からステップS306の処理を繰り返す場合について説明したが、予め定められた繰り返し最大数まで、ステップS303からステップS306の処理を繰り返してもよい。 Although the case where the processes of steps S303 to S306 are repeated until the convergence condition is satisfied has been described here, the processes of steps S303 to S306 may be repeated up to a predetermined maximum number of repetitions.
 これにより、第4実施形態では、半教師学習を行うことができると共に、データのノイズや多様性、パラメータのズレに対してロバストな分類ができるニューラルネットワークを構築することができる。 Thereby, in the fourth embodiment, it is possible to perform semi-supervised learning and to construct a neural network capable of robust classification against data noise, diversity, and parameter deviation.
[4-5.第5実施形態]
 第1実施形態および第2実施形態によれば、マルチラベル問題の学習が可能になる。マルチラベル学習を用いると、マルチプルインスタンスによる弱教師学習が可能になる。マルチプルインスタンスによる弱教師学習のアプリケーションとして、たとえば、画像上の指定したオブジェクトの位置推定などが考えられる。
[4-5. Fifth Embodiment]
According to the first embodiment and the second embodiment, it is possible to learn the multi-label problem. Multi-label learning enables weak supervised learning with multiple instances. As an application of weak supervised learning by multiple instances, for example, position estimation of a specified object on an image can be considered.
 通常のマルチプルインスタンス学習によるオブジェクト位置推定の学習用ネットワークは、以下のような構成をしている。データ→特徴ベクトル算出ネットワーク→クラス別マップ算出ネットワーク→マップ別グローバルマックスプーリング→クラス別ロジットベクトル。ラベルは、マルチラベル(マルチホットベクトル)を用いる。ロス関数は、クラス別ロジットベクトルとマルチラベルのベクトルのシグモイドクロスエントロピーを用いる。 The learning network for object position estimation by normal multiple instance learning has the following configuration. Data → Feature vector calculation network → Map calculation network by class → Global max pooling by map → Logit vector by class. A multi-label (multi-hot vector) is used as the label. The loss function uses the sigmoid cross entropy of the class-specific logit vector and the multi-label vector.
 ここで、特徴ベクトル算出ネットワークは、入力が画像であることから、前述のようにコンボリューション(畳込み)レイヤで構成されるネットワークを用いる。コンボリューションネットワークは、マップ(入力データならばRGB)内でフィルタを縦×横に掃引する畳み込み処理と、マップ間を重み付き足し合わせする処理で構成される。 Here, since the input is an image, the feature vector calculation network uses a network composed of convolution layers as described above. The convolution network is composed of a convolution process in which filters are swept vertically and horizontally in a map (RGB for input data) and a process in which weighted additions are performed between maps.
 この処理を式で書くと、以下の式(10)のように書ける。
Figure JPOXMLDOC01-appb-M000010
When this process is written by an equation, it can be written as the following equation (10).
Figure JPOXMLDOC01-appb-M000010
 ここで、fk,u,vは入力変数(入力マップ数K×縦×横のテンソル)、hm,u,vは出力変数(出力マップ数M×縦×横のテンソル)である。また、Wm,k,p,qは、入力マップ数x出力マップ数個のフィルタサイズP×Qのフィルタである。 Here, f k, u, and v are input variables (number of input maps K × vertical × horizontal tensor), and hm , u, v are output variables (number of output maps M × vertical × horizontal tensor). Further, W m, k, p, q are filters having a filter size of P × Q, which is the number of input maps × the number of output maps.
 クラス別マップ算出ネットワークは、このコンボリューションレイヤを使って、マップ数がクラス数と同じ個数のコンボリューションを行うネットワークである。クラス数分のマップは、それぞれに対応するオブジェクトの場所別のオブジェクトらしさを表すように学習されることが期待される。 The class-specific map calculation network is a network that uses this convolution layer to perform convolution with the same number of maps as the number of classes. Maps for each class are expected to be learned to represent the object-likeness of each corresponding object location.
 この情報は、指定したクラスのオブジェクトが居るか居ないか、そして、どの場所に居るかを表す情報になる。しかしながら、マルチラベルの情報はオブジェクトが居るか、居ないかの情報しかない。このため、オブジェクトが居るか居ないかの情報に、どの場所に居るかの情報は不要であるから、これを取り除く。 This information is information indicating whether or not an object of the specified class exists and where it is. However, the multi-label information is only information on whether the object exists or not. For this reason, the information on where the object is located is not necessary for the information on whether the object exists or not, so this is removed.
 グローバルマックスプーリングは、各マップで、マップ内の最大値を取る処理である。これをクラス別マップ(オブジェクトらしさマップ)の出力に適用すると、オブジェクトが最も居ると思われる場所のスコアが算出される。 Global Max Pooling is a process that takes the maximum value in the map for each map. Applying this to the output of a class-based map (object-likeness map), the score of the place where the object seems to be most is calculated.
 そして、学習では、オブジェクトが最も居ると思われる場所のスコアについて、ラベルでオブジェクトが居ないとしている場合は、スコアが下がるように、ラベルからオブジェクが居るとしている場合には、スコアが上がるように学習する。 And in learning, for the score of the place where the object seems to be most, if the label says that there is no object, the score will go down, and if the label says that there is an object, the score will go up. learn.
 本開示では、以下のように学習用ネットワークを変更する。データ→特徴ベクトル算出ネットワーク→パリティ付きクラス別マップ算出ネットワーク→マップ別グローバルマックスプーリング→パリティ付きクラス別ロジットベクトル→誤り訂正レイヤ→クラス別ロジットベクトル。 In this disclosure, the learning network will be changed as follows. Data → Feature vector calculation network → Map calculation network by class with parity → Global max pooling by map → Logit vector by class with parity → Error correction layer → Logit vector by class.
 ラベルは、マルチラベル(マルチホットベクトル)を用いる。ロス関数は、クラス別ロジットベクトルとマルチラベルのベクトルのシグモイドクロスエントロピーを用いる。 The label uses a multi-label (multi-hot vector). The loss function uses the sigmoid cross entropy of the class-specific logit vector and the multi-label vector.
 具体的には、コンピュータは、複数のラベルがある学習用の分類問題のデータからデータの特徴量を抽出し、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してラベルが属するクラス毎のパリティ付きクラス別マップを算出する処理を実行する。 Specifically, the computer extracts the features of the data from the data of the classification problem for learning with multiple labels, converts the features into a logit vector, adds a parity check code to the logit vector, and labels the data. Executes the process of calculating the map for each class with parity for each class to which it belongs.
 その後、コンピュータは、パリティ付きクラス別マップについてグローバルマックスプーリングを行ってパリティ付きクラス別ロジットベクトルを算出し、パリティ検査符号に基づいて、パリティ付きクラス別ロジットベクトルの誤り訂正を行ってクラス別ロジットベクトルを算出する処理を実行する。 After that, the computer performs global max pooling on the map for each class with parity to calculate the logit vector for each class with parity, corrects the error of the logit vector for each class with parity based on the parity check code, and corrects the error for the logit vector for each class. Executes the process of calculating.
 そして、コンピュータは、誤り訂正後のクラス別ロジットベクトルと複数のラベルのベクトルとのロス関数の値が最小化するように学習してラベルの推定に使用するニューラルネットワークのパラメータを更新する処理を実行する。このようにすると、オブジェクトが居るか居ないかの情報がよりロバストになり、オブジェクト位置推定が高精度に実現されることが期待できる。このように、コンピュータは、マルチプルインスタンスによる弱教師学習を行うことで、画像上の指定した複数のオブジェクトの位置を高精度に推定することができるようになる。 Then, the computer executes a process of learning to minimize the value of the loss function between the error-corrected class-specific logit vector and the vectors of a plurality of labels and updating the parameters of the neural network used for label estimation. To do. By doing so, it can be expected that the information on whether or not the object exists becomes more robust and the object position estimation is realized with high accuracy. In this way, the computer can estimate the positions of a plurality of specified objects on the image with high accuracy by performing weak supervised learning by multiple instances.
[5.深層学習フレームワーク]
 本開示に係る深層学習フレームワークは、一般的に使用される分類問題用のニューラルネットワークに、符号化レイヤと、誤り訂正レイヤとを追加できるように、ラインナップに揃える。符号化レイヤとしては、ハミングレイヤ、LDPCレイヤ、ターボレイヤなどが考えられる。
[5. Deep Learning Framework]
The deep learning framework according to the present disclosure is aligned in a lineup so that a coding layer and an error correction layer can be added to a commonly used neural network for classification problems. As the coding layer, a humming layer, an LDPC layer, a turbo layer and the like can be considered.
 ハミングレイヤや、LDPCレイヤは、生成行列を入力できるようにしておく。また、ターボレイヤは、ビタビエンコーダの構成やインターリーブ行列を入力できるようにしておく。 The humming layer and LDPC layer should be able to input the generator matrix. In addition, the turbo layer enables input of the Viterbi encoder configuration and the interleave matrix.
 誤り訂正レイヤとしては、事後確率レイヤ、BCJRレイヤ、サムプロダクト復号レイヤなどが考えられる。このうち、BCJRレイヤ、サムプロダクトレイヤは、繰り返し処理があるので、繰り返し最大回数を指定できるようにする。 As the error correction layer, a posterior probability layer, a BCJR layer, a thumb product decoding layer, and the like can be considered. Of these, the BCJR layer and the thumb product layer have iterative processing, so the maximum number of repetitions can be specified.
 また、事後確率レイヤは、生成行列を入力できるようにしておく。BCJRレイヤは、ビタビエンコーダの構成やインターリーブ行列を入力できるようにしておく。サムプロダクトレイヤは、生成行列に対応するパリティ検査行列を入力できるようにしておく。 Also, the posterior probability layer should be able to input the generator matrix. The BCJR layer is capable of inputting the Viterbi encoder configuration and the interleave matrix. The thumb product layer allows the parity check matrix corresponding to the generator matrix to be input.
[6.情報処理装置の構成]
 図14は、本実施形態に係る情報処理装置の構成の概要説明図である。図14に示す情報処理装置1は、例えば、GPU(Graphics Processing Unit)やCPU(Central Processing Unit)などのコンピュータによって実現される。
[6. Information processing device configuration]
FIG. 14 is a schematic explanatory view of the configuration of the information processing apparatus according to the present embodiment. The information processing device 1 shown in FIG. 14 is realized by, for example, a computer such as a GPU (Graphics Processing Unit) or a CPU (Central Processing Unit).
 情報処理装置1は、パラメータが機械学習されたニューラルネットワーク3を使用して分類問題のラベルを推定する情報処理部2を備える。ニューラルネットワーク3は、特徴抽出レイヤ31と、LDPC/ターボ復号部32と、ロスレイヤ33と、LDPC/ターボ符号化部34とを備える。 The information processing device 1 includes an information processing unit 2 that estimates the label of the classification problem using the neural network 3 whose parameters are machine-learned. The neural network 3 includes a feature extraction layer 31, an LDPC / turbo decoding unit 32, a loss layer 33, and an LDPC / turbo coding unit 34.
 特徴抽出レイヤは、分類問題のデータが入力され、分類問題のデータからデータの特徴量を抽出する。LDPC/ターボ復号部32は、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出するレイヤ、およびパリティ検査符号に基づいて、パリティ付きロジットベクトルの誤り訂正を行うレイヤとして機能する。ロスレイヤは、誤り訂正後のパリティ付きロジットベクトルからパリティ検査符号を除外したロジットベクトルに基づいて、分類問題のラベルを推定する。 In the feature extraction layer, the data of the classification problem is input, and the feature amount of the data is extracted from the data of the classification problem. The LDPC / turbo decoding unit 32 converts the feature quantity into a logit vector, adds a parity check code to the logit vector to calculate the parity check code, and based on the parity check code, an error in the parity check vector. Functions as a layer for correction. The loss layer estimates the label of the classification problem based on the logit vector with the parity check code removed from the error-corrected logit vector with parity.
 なお、ロスレイヤは、例えば、情報処理部2が第2実施形態の教師あり学習を行う場合に、外部から分類問題のラベルが入力される。また、LDPC/ターボ符号化部34は、例えば、情報処理部2が第1実施形態の教師あり学習を行う場合に、外部から分類問題のラベルが入力され、図1に示す符号化レイヤとして機能して、ラベルの符号化などを行う。 In the loss layer, for example, when the information processing unit 2 performs supervised learning of the second embodiment, the label of the classification problem is input from the outside. Further, the LDPC / turbo coding unit 34 functions as a coding layer shown in FIG. 1 by inputting a label of a classification problem from the outside when, for example, the information processing unit 2 performs supervised learning of the first embodiment. Then, the label is encoded and the like is performed.
 ターボ符号や、LDPC符号の符号化器や復号器は、通信技術で使うため高速なハードウェアがすでに用意されていることが多い。このため、LDPC/ターボ復号部32やLDPC/ターボ符号化部34は、深層学習の実行環境にとらわれず、例えば、ASIC(Application Specific Integrated Circuit)などのハードウェアを採用して直接算出させるようにしても良い。 Turbo code and LDPC code encoders and decoders are often already equipped with high-speed hardware for use in communication technology. For this reason, the LDPC / turbo decoding unit 32 and the LDPC / turbo coding unit 34 are not limited to the execution environment of deep learning, and for example, hardware such as ASIC (Application Specific Integrated Circuit) is adopted to directly calculate. You may.
[7.効果]
 上記のように、本開示に係る情報処理方法では、コンピュータは、分類問題のデータからデータの特徴量を抽出する処理を実行する。コンピュータは、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出する処理を実行する。コンピュータは、パリティ検査符号に基づいて、パリティ付きロジットベクトルの誤り訂正を行う処理を実行する。コンピュータは、誤り訂正後のパリティ付きロジットベクトルからパリティ検査符号を除外したロジットベクトルに基づいて、分類問題のラベルを推定する処理を実行する。
[7. effect]
As described above, in the information processing method according to the present disclosure, the computer executes a process of extracting the feature amount of the data from the data of the classification problem. The computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity. The computer executes an error correction process of the logit vector with parity based on the parity check code. The computer performs a process of estimating the label of the classification problem based on the logit vector obtained by excluding the parity check code from the error-corrected logit vector with parity.
 このように、コンピュータは、分類問題のデータをベクトル化してパリティ検査符号を付加し、パリティ検査符号に基づく誤り訂正を行ってラベルを推定するので、データのノイズや多様性、パラメータのズレに対してロバストな分類を行うことができる。したがって、コンピュータは、分類問題のラベルの推定精度を向上させることができる。 In this way, the computer vectorizes the data of the classification problem, adds a parity check code, corrects the error based on the parity check code, and estimates the label. Therefore, the data noise, diversity, and parameter deviation are dealt with. It is possible to perform a robust classification. Therefore, the computer can improve the estimation accuracy of the label of the classification problem.
 また、本開示に係る情報処理方法では、コンピュータは、学習用の分類問題のラベルをバイナリベクトルに変換し、バイナリベクトルにパリティ検査符号を付加してパリティ付きラベルベクトルを算出する処理を実行する。コンピュータは、学習用の分類問題のデータからデータの特徴量を抽出する処理を実行する。コンピュータは、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出する処理を実行する。コンピュータは、パリティ付きロジットベクトルとパリティ付きラベルベクトルとのロス関数の値が最小化するように学習してラベルの推定に使用するニューラルネットワークのパラメータを更新する処理を実行する。 Further, in the information processing method according to the present disclosure, the computer converts the label of the classification problem for learning into a binary vector, adds a parity check code to the binary vector, and executes a process of calculating the label vector with parity. The computer executes a process of extracting data features from the data of the classification problem for learning. The computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity. The computer performs a process of learning to minimize the value of the loss function between the logit vector with parity and the label vector with parity and updating the parameters of the neural network used for label estimation.
 これにより、コンピュータは、データのノイズや多様性、パラメータのズレに対してロバストな分類ができるニューラルネットワークを構築することができる。 This allows the computer to build a neural network that can robustly classify data noise, diversity, and parameter deviations.
 また、本開示に係る情報処理方法では、コンピュータは、学習用の分類問題のデータからデータの特徴量を抽出する処理を実行する。コンピュータは、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出する処理を実行する。コンピュータは、パリティ検査符号に基づいて、パリティ付きロジットベクトルの誤り訂正を行う処理を実行する。コンピュータは、誤り訂正後のパリティ付きロジットベクトルと学習用の分類問題のラベルとのロス関数の値が最小化するように学習してラベルの推定に使用するニューラルネットワークのパラメータを更新する処理を実行する。 Further, in the information processing method according to the present disclosure, the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning. The computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity. The computer executes an error correction process of the logit vector with parity based on the parity check code. The computer performs the process of learning to minimize the value of the loss function between the error-corrected logit vector with parity and the label of the classification problem for training and updating the parameters of the neural network used to estimate the label. To do.
 これにより、コンピュータは、学習に使用するラベルのバイナリベクトル化を行わなくても、データのノイズや多様性、パラメータのズレに対してロバストな分類ができるニューラルネットワークを構築することができる。 As a result, the computer can construct a neural network that can perform robust classification against data noise, diversity, and parameter deviation without performing binary vectorization of labels used for learning.
 また、本開示に係る情報処理方法では、コンピュータは、学習用の分類問題のデータからデータの特徴量を抽出する処理を実行する。コンピュータは、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出する処理を実行する。コンピュータは、パリティ検査符号に基づいて、パリティ付きロジットベクトルの誤り訂正を行う処理を実行する。コンピュータは、誤り訂正後のパリティ付きロジットベクトルをバイナリベクトルに変換し、バイナリベクトルにパリティ検査符号を付加してパリティ付きラベルベクトルを算出する処理を実行する。コンピュータは、誤り訂正後のパリティ付きロジットベクトルとパリティ付きラベルベクトルとのロス関数の値が最小化するように学習してラベルの推定に使用するニューラルネットワークのパラメータを更新する処理を実行する。 Further, in the information processing method according to the present disclosure, the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning. The computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating the logit vector with parity. The computer executes an error correction process of the logit vector with parity based on the parity check code. The computer converts the logit vector with parity after error correction into a binary vector, adds a parity check code to the binary vector, and executes a process of calculating a label vector with parity. The computer performs a process of learning to minimize the value of the loss function between the error-corrected logit vector with parity and the label vector with parity, and updating the parameters of the neural network used for label estimation.
 これにより、コンピュータは、教師なし学習を行うことができると共に、データのノイズや多様性、パラメータのズレに対してロバストな分類ができるニューラルネットワークを構築することができる。 As a result, the computer can perform unsupervised learning and can construct a neural network that can perform robust classification against data noise, diversity, and parameter deviation.
 また、本開示に係る情報処理方法では、コンピュータは、第1実施形態に係る情報処理方法、または、第2実施形態に係る情報処理方法によって、ニューラルネットワークのパラメータを更新し、更新後のパラメータを第2実施形態に係る情報処理方法によって更新する処理を実行する。 Further, in the information processing method according to the present disclosure, the computer updates the parameters of the neural network by the information processing method according to the first embodiment or the information processing method according to the second embodiment, and obtains the updated parameters. The process of updating according to the information processing method according to the second embodiment is executed.
 これにより、コンピュータは、半教師学習を行うことができると共に、データのノイズや多様性、パラメータのズレに対してロバストな分類ができるニューラルネットワークを構築することができる。 As a result, the computer can perform semi-supervised learning and can construct a neural network that can perform robust classification against data noise, diversity, and parameter deviation.
 また、本開示に係る情報処理方法では、コンピュータは、複数のラベルがある学習用の分類問題のデータからデータの特徴量を抽出する処理を実行する。コンピュータは、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してラベルが属するクラス毎のパリティ付きクラス別マップを算出する処理を実行する。コンピュータは、パリティ付きクラス別マップについてグローバルマックスプーリングを行ってパリティ付きクラス別ロジットベクトルを算出処理を実行する。コンピュータは、パリティ検査符号に基づいて、パリティ付きクラス別ロジットベクトルの誤り訂正を行ってクラス別ロジットベクトルを算出する処理を実行する。コンピュータは、誤り訂正後のクラス別ロジットベクトルと複数のラベルのベクトルとのロス関数の値が最小化するように学習してラベルの推定に使用するニューラルネットワークのパラメータを更新する処理を実行する。 Further, in the information processing method according to the present disclosure, the computer executes a process of extracting the feature amount of the data from the data of the classification problem for learning having a plurality of labels. The computer converts the feature quantity into a logit vector, adds a parity check code to the logit vector, and executes a process of calculating a class-based map with parity for each class to which the label belongs. The computer performs global max pooling on the class-based map with parity to calculate the logit vector for each class with parity. The computer executes a process of calculating an error of the class-specific logit vector with parity based on the parity check code and calculating the class-specific logit vector. The computer performs a process of learning to minimize the value of the loss function between the error-corrected class-based logit vector and the vectors of a plurality of labels and updating the parameters of the neural network used for label estimation.
 これにより、コンピュータは、マルチプルインスタンスによる弱教師学習を行うことで、画像上の指定した複数のオブジェクトの位置を高精度に推定することができるようになる。 As a result, the computer can estimate the positions of a plurality of specified objects on the image with high accuracy by performing weak supervised learning using multiple instances.
 本開示に係る情報処理方法では、コンピュータは、誤差逆伝搬が定義された関数を使用して誤り訂正を行う。これにより、コンピュータは、教師あり学習を行う場合に、誤差逆伝搬が定義された関数を使用して、分類問題のデータの誤り訂正を行うことで、ニューラルネットワークのパラメータに、誤り訂正の逆向きの処理に相当する符号化の方法を埋め込むことができる。 In the information processing method according to the present disclosure, the computer corrects errors by using a function in which error back propagation is defined. As a result, when performing supervised learning, the computer uses a function in which error back propagation is defined to perform error correction on the data of the classification problem, thereby making the neural network parameters the reverse of the error correction. It is possible to embed a coding method corresponding to the processing of.
 また、本開示に係る情報処理プログラムは、コンピュータに、分類問題のデータからデータの特徴量を抽出する処理を実行させる。コンピュータに、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出する処理を実行させる。コンピュータに、パリティ検査符号に基づいて、パリティ付きロジットベクトルの誤り訂正を行う処理を実行させる。コンピュータに、誤り訂正後のパリティ付きロジットベクトルからパリティ検査符号を除外したロジットベクトルに基づいて、分類問題のラベルを推定する処理を実行させる。 Further, the information processing program according to the present disclosure causes a computer to execute a process of extracting data features from the data of the classification problem. A computer is made to perform a process of converting a feature quantity into a logit vector, adding a parity check code to the logit vector, and calculating a logit vector with parity. Have the computer execute a process of performing error correction of the logit vector with parity based on the parity check code. Have the computer perform a process of estimating the label of the classification problem based on the logit vector obtained by excluding the parity check code from the logit vector with parity after error correction.
 このように、コンピュータは、分類問題のデータをベクトル化してパリティ検査符号を付加し、パリティ検査符号に基づく誤り訂正を行ってラベルを推定するので、データのノイズや多様性、パラメータのズレに対してロバストな分類を行うことができる。したがって、コンピュータは、分類問題のラベルの推定精度を向上させることができる。 In this way, the computer vectorizes the data of the classification problem, adds a parity check code, corrects the error based on the parity check code, and estimates the label. Therefore, the data noise, diversity, and parameter deviation are dealt with. It is possible to perform a robust classification. Therefore, the computer can improve the estimation accuracy of the label of the classification problem.
 また、本開示に係る情報処理装置1は、機械学習されたニューラルネットワーク3を使用して分類問題のラベルを推定する情報処理部2を有する。ニューラルネットワーク3は、分類問題のデータからデータの特徴量を抽出するレイヤと、特徴量をロジットベクトルに変換し、ロジットベクトルにパリティ検査符号を付加してパリティ付きロジットベクトルを算出するレイヤと、パリティ検査符号に基づいて、パリティ付きロジットベクトルの誤り訂正を行うレイヤとを有する。情報処理部は、誤り訂正後のパリティ付きロジットベクトルからパリティ検査符号を除外したロジットベクトルに基づいて、分類問題のラベルを推定する。 Further, the information processing device 1 according to the present disclosure has an information processing unit 2 that estimates the label of the classification problem by using the machine-learned neural network 3. The neural network 3 includes a layer that extracts the feature amount of the data from the data of the classification problem, a layer that converts the feature amount into a logit vector, adds a parity check code to the logit vector, and calculates a logit vector with parity, and parity. It has a layer for error correction of a logit vector with parity based on an inspection code. The information processing unit estimates the label of the classification problem based on the logit vector obtained by excluding the parity check code from the logit vector with parity after error correction.
 このように、情報処理装置は、分類問題のデータをベクトル化してパリティ検査符号を付加し、パリティ検査符号に基づく誤り訂正を行ってラベルを推定するので、データのノイズや多様性、パラメータのズレに対してロバストな分類を行うことができる。したがって、情報処理装置は、分類問題のラベルの推定精度を向上させることができる。 In this way, the information processing device vectorizes the data of the classification problem, adds a parity check code, corrects an error based on the parity check code, and estimates the label. Therefore, data noise, diversity, and parameter deviations. Can be categorized as robust. Therefore, the information processing device can improve the estimation accuracy of the label of the classification problem.
[8.その他]
 また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[8. Others]
Further, among the processes described in each of the above embodiments, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed. It is also possible to automatically perform all or part of the above by a known method. In addition, the processing procedure, specific name, and information including various data and parameters shown in the above document and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each figure is not limited to the illustrated information.
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Further, each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of the device is functionally or physically distributed / physically in any unit according to various loads and usage conditions. It can be integrated and configured.
 また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Further, each of the above-described embodiments and modifications can be appropriately combined as long as the processing contents do not contradict each other.
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。 Further, the effects described in the present specification are merely examples and are not limited, and other effects may be obtained.
[9.ハードウェア構成]
 上述してきた各実施形態に係る情報処理装置1等の情報機器は、例えば図15に示すような構成のコンピュータ1000によって実現される。以下、実施形態に係る情報処理装置1を例に挙げて説明する。図15は、情報処理装置1の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
[9. Hardware configuration]
The information device such as the information processing device 1 according to each of the above-described embodiments is realized by, for example, a computer 1000 having a configuration as shown in FIG. Hereinafter, the information processing device 1 according to the embodiment will be described as an example. FIG. 15 is a hardware configuration diagram showing an example of a computer 1000 that realizes the functions of the information processing device 1. The computer 1000 includes a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600. Each part of the computer 1000 is connected by a bus 1050.
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。 The CPU 1100 operates based on the program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 expands the program stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to various programs.
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。 The ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 is started, a program that depends on the hardware of the computer 1000, and the like.
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。 The HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100 and data used by the program. Specifically, the HDD 1400 is a recording medium for recording an information processing program according to the present disclosure, which is an example of program data 1450.
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。 The communication interface 1500 is an interface for the computer 1000 to connect to an external network 1550 (for example, the Internet). For example, the CPU 1100 receives data from another device or transmits data generated by the CPU 1100 to another device via the communication interface 1500.
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。 The input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000. For example, the CPU 1100 receives data from an input device such as a keyboard or mouse via the input / output interface 1600. Further, the CPU 1100 transmits data to an output device such as a display, a speaker, or a printer via the input / output interface 1600. Further, the input / output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined recording medium (media). The media is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory. Is.
 例えば、コンピュータ1000が実施形態に係る情報処理装置1として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた情報処理プログラムを実行することにより、情報処理部2等の機能を実現する。また、HDD1400には、本開示に係る情報処理プログラムや、記憶部120内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。 For example, when the computer 1000 functions as the information processing device 1 according to the embodiment, the CPU 1100 of the computer 1000 realizes the functions of the information processing unit 2 and the like by executing the information processing program loaded on the RAM 1200. Further, the information processing program according to the present disclosure and the data in the storage unit 120 are stored in the HDD 1400. The CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program, but as another example, these programs may be acquired from another device via the external network 1550.
 なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。 Note that the effects described in the present specification are merely examples and are not limited, and other effects may be obtained.
 なお、本技術は以下のような構成も取ることができる。
(1)
 コンピュータが、ニューラルネットワークを用いて、入力データの所属するカテゴリを推定する情報処理方法であって、
 前記ニューラルネットワークは、前記入力データから特徴ベクトルを算出し、
 前記特徴ベクトルに基づいて、前記入力データが所属するカテゴリの確率またはスコアを、所定の誤り訂正符号化に対応する復号演算を用いて演算する、
処理を実行する
 情報処理方法。
(2)
 前記特徴ベクトルは、前記所定の誤り訂正符号化に用いる誤り訂正符号の符号長に相当する次元数を持つベクトルである、
 前記(1)に記載の情報処理方法。
(3)
 前記所定の誤り訂正符号化に対応する復号演算は、誤差逆伝搬ができる演算の組み合わせで構成される、
 前記(1)または(2)に記載の情報処理方法。
(4)
 コンピュータが、前記ニューラルネットワークを、誤差逆伝搬法を用いて学習する、
 前記(1)~(3)のいずれか一つに記載の情報処理方法。
(5)
 前記所定の誤り訂正符号化に用いる誤り訂正符号は、低密度パリティ検査符号である、
 前記(1)~(4)のいずれか一つに記載の情報処理方法。
(6)
 前記所定の誤り訂正符号化に用いる誤り訂正符号は、ターボ符号である、
 前記(1)~(4)のいずれか一つに記載の情報処理方法。
(7)
 前記所定の誤り訂正符号化に対応する復号演算は、最尤復号アルゴリズムである、
 前記(1)~(6)のいずれか一つに記載の情報処理方法。
(8)
 前記所定の誤り訂正符号化に対応する復号演算は、BCJRアルゴリズムである、
 前記(1)~(6)のいずれか一つに記載の情報処理方法。
(9)
 前記所定の誤り訂正符号化に対応する復号演算は、サムプロダクトアルゴリズムである、
 前記(1)~(6)のいずれか一つに記載の情報処理方法。
(10)
 ニューラルネットワークを用いて、入力データの所属するカテゴリを推定する情報処理装置であって、
 前記ニューラルネットワークは、前記入力データから特徴ベクトルを算出し、
 前記特徴ベクトルに基づいて、前記入力データが所属するカテゴリの確率またはスコアを、所定の誤り訂正符号化に対応する復号演算を用いて演算する、
 情報処理装置。
(11)
 前記特徴ベクトルは、前記所定の誤り訂正符号化に用いる誤り訂正符号の符号長に相当する次元数を持つベクトルである、
 前記(10)に記載の情報処理装置。
(12)
 前記所定の誤り訂正符号化に対応する復号演算は、誤差逆伝搬ができる演算の組み合わせで構成される、
 前記(10)または(11)に記載の情報処理装置。
(13)
 前記ニューラルネットワークを、誤差逆伝搬法を用いて学習する、
 前記(10)~(12)のいずれか一つに記載の情報処理装置。
(14)
 前記所定の誤り訂正符号化に用いる誤り訂正符号は、低密度パリティ検査符号である、
 前記(10)~(13)のいずれか一つに記載の情報処理装置。
(15)
 前記所定の誤り訂正符号化に用いる誤り訂正符号は、ターボ符号である、
 前記(10)~(13)のいずれか一つに記載の情報処理装置。
(16)
 前記所定の誤り訂正符号化に対応する復号演算は、最尤復号アルゴリズムである、
 前記(10)~(15)のいずれか一つに記載の情報処理装置。
(17)
 前記所定の誤り訂正符号化に対応する復号演算は、BCJRアルゴリズムである、
 前記(10)~(15)のいずれか一つに記載の情報処理装置。
(18)
 前記所定の誤り訂正符号化に対応する復号演算は、サムプロダクトアルゴリズムである、
 前記(10)~(15)のいずれか一つに記載の情報処理装置。
(19)
 コンピュータに、ニューラルネットワークを用いて、入力データの所属するカテゴリを推定する処理を実行させる情報処理プログラムであって、
 前記ニューラルネットワークは、前記入力データから特徴ベクトルを算出し、
 前記特徴ベクトルに基づいて、前記入力データが所属するカテゴリの確率またはスコアを、所定の誤り訂正符号化に対応する復号演算を用いて演算する、
処理を実行する
 情報処理プログラム。
The present technology can also have the following configurations.
(1)
An information processing method in which a computer estimates the category to which input data belongs using a neural network.
The neural network calculates a feature vector from the input data and
Based on the feature vector, the probability or score of the category to which the input data belongs is calculated using a decoding operation corresponding to a predetermined error correction coding.
An information processing method that executes processing.
(2)
The feature vector is a vector having a number of dimensions corresponding to the code length of the error correction code used for the predetermined error correction coding.
The information processing method according to (1) above.
(3)
The decoding operation corresponding to the predetermined error correction coding is composed of a combination of operations capable of error back propagation.
The information processing method according to (1) or (2) above.
(4)
A computer learns the neural network using the backpropagation method.
The information processing method according to any one of (1) to (3) above.
(5)
The error correction code used for the predetermined error correction coding is a low density parity check code.
The information processing method according to any one of (1) to (4) above.
(6)
The error correction code used for the predetermined error correction coding is a turbo code.
The information processing method according to any one of (1) to (4) above.
(7)
The decoding operation corresponding to the predetermined error correction coding is the maximum likelihood decoding algorithm.
The information processing method according to any one of (1) to (6) above.
(8)
The decoding operation corresponding to the predetermined error correction coding is the BCJR algorithm.
The information processing method according to any one of (1) to (6) above.
(9)
The decoding operation corresponding to the predetermined error correction coding is a thumb product algorithm.
The information processing method according to any one of (1) to (6) above.
(10)
An information processing device that estimates the category to which input data belongs using a neural network.
The neural network calculates a feature vector from the input data and
Based on the feature vector, the probability or score of the category to which the input data belongs is calculated using a decoding operation corresponding to a predetermined error correction coding.
Information processing device.
(11)
The feature vector is a vector having a number of dimensions corresponding to the code length of the error correction code used for the predetermined error correction coding.
The information processing device according to (10) above.
(12)
The decoding operation corresponding to the predetermined error correction coding is composed of a combination of operations capable of error back propagation.
The information processing device according to (10) or (11).
(13)
The neural network is learned by using the error back propagation method.
The information processing device according to any one of (10) to (12).
(14)
The error correction code used for the predetermined error correction coding is a low density parity check code.
The information processing device according to any one of (10) to (13).
(15)
The error correction code used for the predetermined error correction coding is a turbo code.
The information processing device according to any one of (10) to (13).
(16)
The decoding operation corresponding to the predetermined error correction coding is the maximum likelihood decoding algorithm.
The information processing device according to any one of (10) to (15).
(17)
The decoding operation corresponding to the predetermined error correction coding is the BCJR algorithm.
The information processing device according to any one of (10) to (15).
(18)
The decoding operation corresponding to the predetermined error correction coding is a thumb product algorithm.
The information processing device according to any one of (10) to (15).
(19)
An information processing program that causes a computer to execute a process of estimating the category to which input data belongs using a neural network.
The neural network calculates a feature vector from the input data and
Based on the feature vector, the probability or score of the category to which the input data belongs is calculated using a decoding operation corresponding to a predetermined error correction coding.
An information processing program that executes processing.
 1 情報処理装置
 2 情報処理部
 3 ニューラルネットワーク
 31 特徴抽出レイヤ
 32 LDPC/ターボ復号部
 33 ロスレイヤ
 34 LDPC/ターボ符号化部
1 Information processing device 2 Information processing unit 3 Neural network 31 Feature extraction layer 32 LDPC / Turbo decoding unit 33 Loss layer 34 LDPC / Turbo coding unit

Claims (19)

  1.  コンピュータが、ニューラルネットワークを用いて、入力データの所属するカテゴリを推定する情報処理方法であって、
     前記ニューラルネットワークは、前記入力データから特徴ベクトルを算出し、
     前記特徴ベクトルに基づいて、前記入力データが所属するカテゴリの確率またはスコアを、所定の誤り訂正符号化に対応する復号演算を用いて演算する、
    処理を実行する
     情報処理方法。
    An information processing method in which a computer estimates the category to which input data belongs using a neural network.
    The neural network calculates a feature vector from the input data and
    Based on the feature vector, the probability or score of the category to which the input data belongs is calculated using a decoding operation corresponding to a predetermined error correction coding.
    An information processing method that executes processing.
  2.  前記特徴ベクトルは、前記所定の誤り訂正符号化に用いる誤り訂正符号の符号長に相当する次元数を持つベクトルである、
     請求項1に記載の情報処理方法。
    The feature vector is a vector having a number of dimensions corresponding to the code length of the error correction code used for the predetermined error correction coding.
    The information processing method according to claim 1.
  3.  前記所定の誤り訂正符号化に対応する復号演算は、誤差逆伝搬ができる演算の組み合わせで構成される、
     請求項1に記載の情報処理方法。
    The decoding operation corresponding to the predetermined error correction coding is composed of a combination of operations capable of error back propagation.
    The information processing method according to claim 1.
  4.  コンピュータが、前記ニューラルネットワークを、誤差逆伝搬法を用いて学習する、
     請求項1に記載の情報処理方法。
    A computer learns the neural network using the backpropagation method.
    The information processing method according to claim 1.
  5.  前記所定の誤り訂正符号化に用いる誤り訂正符号は、低密度パリティ検査符号である、
     請求項1に記載の情報処理方法。
    The error correction code used for the predetermined error correction coding is a low density parity check code.
    The information processing method according to claim 1.
  6.  前記所定の誤り訂正符号化に用いる誤り訂正符号は、ターボ符号である、
     請求項1に記載の情報処理方法。
    The error correction code used for the predetermined error correction coding is a turbo code.
    The information processing method according to claim 1.
  7.  前記所定の誤り訂正符号化に対応する復号演算は、最尤復号アルゴリズムである、
     請求項1に記載の情報処理方法。
    The decoding operation corresponding to the predetermined error correction coding is the maximum likelihood decoding algorithm.
    The information processing method according to claim 1.
  8.  前記所定の誤り訂正符号化に対応する復号演算は、BCJRアルゴリズムである、
     請求項1に記載の情報処理方法。
    The decoding operation corresponding to the predetermined error correction coding is the BCJR algorithm.
    The information processing method according to claim 1.
  9.  前記所定の誤り訂正符号化に対応する復号演算は、サムプロダクトアルゴリズムである、
     請求項1に記載の情報処理方法。
    The decoding operation corresponding to the predetermined error correction coding is a thumb product algorithm.
    The information processing method according to claim 1.
  10.  ニューラルネットワークを用いて、入力データの所属するカテゴリを推定する情報処理装置であって、
     前記ニューラルネットワークは、前記入力データから特徴ベクトルを算出し、
     前記特徴ベクトルに基づいて、前記入力データが所属するカテゴリの確率またはスコアを、所定の誤り訂正符号化に対応する復号演算を用いて演算する、
     情報処理装置。
    An information processing device that estimates the category to which input data belongs using a neural network.
    The neural network calculates a feature vector from the input data and
    Based on the feature vector, the probability or score of the category to which the input data belongs is calculated using a decoding operation corresponding to a predetermined error correction coding.
    Information processing device.
  11.  前記特徴ベクトルは、前記所定の誤り訂正符号化に用いる誤り訂正符号の符号長に相当する次元数を持つベクトルである、
     請求項10に記載の情報処理装置。
    The feature vector is a vector having a number of dimensions corresponding to the code length of the error correction code used for the predetermined error correction coding.
    The information processing device according to claim 10.
  12.  前記所定の誤り訂正符号化に対応する復号演算は、誤差逆伝搬ができる演算の組み合わせで構成される、
     請求項10に記載の情報処理装置。
    The decoding operation corresponding to the predetermined error correction coding is composed of a combination of operations capable of error back propagation.
    The information processing device according to claim 10.
  13.  前記ニューラルネットワークを、誤差逆伝搬法を用いて学習する、
     請求項10に記載の情報処理装置。
    The neural network is learned by using the error back propagation method.
    The information processing device according to claim 10.
  14.  前記所定の誤り訂正符号化に用いる誤り訂正符号は、低密度パリティ検査符号である、
     請求項10に記載の情報処理装置。
    The error correction code used for the predetermined error correction coding is a low density parity check code.
    The information processing device according to claim 10.
  15.  前記所定の誤り訂正符号化に用いる誤り訂正符号は、ターボ符号である、
     請求項10に記載の情報処理装置。
    The error correction code used for the predetermined error correction coding is a turbo code.
    The information processing device according to claim 10.
  16.  前記所定の誤り訂正符号化に対応する復号演算は、最尤復号アルゴリズムである、
     請求項10に記載の情報処理装置。
    The decoding operation corresponding to the predetermined error correction coding is the maximum likelihood decoding algorithm.
    The information processing device according to claim 10.
  17.  前記所定の誤り訂正符号化に対応する復号演算は、BCJRアルゴリズムである、
     請求項10に記載の情報処理装置。
    The decoding operation corresponding to the predetermined error correction coding is the BCJR algorithm.
    The information processing device according to claim 10.
  18.  前記所定の誤り訂正符号化に対応する復号演算は、サムプロダクトアルゴリズムである、
     請求項10に記載の情報処理装置。
    The decoding operation corresponding to the predetermined error correction coding is a thumb product algorithm.
    The information processing device according to claim 10.
  19.  コンピュータに、ニューラルネットワークを用いて、入力データの所属するカテゴリを推定する処理を実行させる情報処理プログラムであって、
     前記ニューラルネットワークは、前記入力データから特徴ベクトルを算出し、
     前記特徴ベクトルに基づいて、前記入力データが所属するカテゴリの確率またはスコアを、所定の誤り訂正符号化に対応する復号演算を用いて演算する、
    処理を実行する
     情報処理プログラム。
    An information processing program that causes a computer to execute a process of estimating the category to which input data belongs using a neural network.
    The neural network calculates a feature vector from the input data and
    Based on the feature vector, the probability or score of the category to which the input data belongs is calculated using a decoding operation corresponding to a predetermined error correction coding.
    An information processing program that executes processing.
PCT/JP2020/020612 2019-07-23 2020-05-25 Information processing method, information processing device, and information processing program WO2021014746A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-135619 2019-07-23
JP2019135619 2019-07-23

Publications (1)

Publication Number Publication Date
WO2021014746A1 true WO2021014746A1 (en) 2021-01-28

Family

ID=74194135

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/020612 WO2021014746A1 (en) 2019-07-23 2020-05-25 Information processing method, information processing device, and information processing program

Country Status (1)

Country Link
WO (1) WO2021014746A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180357530A1 (en) * 2017-06-13 2018-12-13 Ramot At Tel-Aviv University Ltd. Deep learning decoding of error correcting codes
WO2019034589A1 (en) * 2017-08-15 2019-02-21 Norwegian University Of Science And Technology A biometric cryptosystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180357530A1 (en) * 2017-06-13 2018-12-13 Ramot At Tel-Aviv University Ltd. Deep learning decoding of error correcting codes
WO2019034589A1 (en) * 2017-08-15 2019-02-21 Norwegian University Of Science And Technology A biometric cryptosystem

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FUKUI, HIROSHI ET AL.: "Random Dropout and Ensemble Inference Networks for Pedestrian Detection and Traffic Sign Recognition", RANDOM DROPOUT ENSEMBLE INFERENCE NETWORKS, vol. 57, 15 March 2016 (2016-03-15), pages 910 - 921, XP009515166, ISSN: 1882-7764 *

Similar Documents

Publication Publication Date Title
US11689223B2 (en) Device-tailored model-free error correction in quantum processors
Lugosch et al. Neural offset min-sum decoding
Liang et al. An iterative BP-CNN architecture for channel decoding
US20210383220A1 (en) Deep neural network ensembles for decoding error correction codes
Be’Ery et al. Active deep decoding of linear codes
KR102136428B1 (en) Method of decoding a correcting code, for example a turbo-code, by analysis of the extended spectrum of the words of the code
CN109361404A (en) A kind of LDPC decoding system and interpretation method based on semi-supervised deep learning network
Ye et al. Circular convolutional auto-encoder for channel coding
CN111402257A (en) Medical image automatic segmentation method based on multi-task collaborative cross-domain migration
CN107451106A (en) Text method and device for correcting, electronic equipment
CN111200441B (en) Polar code decoding method, device, equipment and readable storage medium
WO2019041085A1 (en) Method and device for decoding signal, and storage device
US20180082167A1 (en) Recurrent neural network processing pooling operation
TWI669917B (en) Method for correcting and decoding two-dimensional code, device, electronic equipment, and computer readable medium
US9432054B2 (en) Method for decoding a correcting code with message passing, in particular for decoding LDPC codes or turbo codes
Raviv et al. perm2vec: Graph permutation selection for decoding of error correction codes using self-attention
WO2021014746A1 (en) Information processing method, information processing device, and information processing program
US11574181B2 (en) Fusion of neural networks
Liang et al. Exploiting noise correlation for channel decoding with convolutional neural networks
Teng et al. Convolutional neural network-aided bit-flipping for belief propagation decoding of polar codes
KR102494627B1 (en) Data label correction for speech recognition system and method thereof
CN112953565B (en) Return-to-zero convolutional code decoding method and system based on convolutional neural network
Doan Low-Complexity Decoding of Short Linear Block Codes with Machine Learning
Ji et al. Fault-tolerant quaternary belief propagation decoding based on a neural network
Kamassury et al. Iterative error decimation for syndrome-based neural network decoders

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20843636

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP