WO2018092957A1 - Method, device and program for determining for re-learning with respect to input value in neural network model - Google Patents
Method, device and program for determining for re-learning with respect to input value in neural network model Download PDFInfo
- Publication number
- WO2018092957A1 WO2018092957A1 PCT/KR2016/013431 KR2016013431W WO2018092957A1 WO 2018092957 A1 WO2018092957 A1 WO 2018092957A1 KR 2016013431 W KR2016013431 W KR 2016013431W WO 2018092957 A1 WO2018092957 A1 WO 2018092957A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input value
- neural network
- network model
- learning
- clustering
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/091—Active learning
Definitions
- the present invention relates to a method, apparatus and program for determining whether to relearn unknown data in neural networks.
- the neural network model is a supervised learning algorithm conceived from neuronal structures in biology.
- the basic principle of neural network modeling is to interconnect several neurons to predict the optimal output for the input. From a statistical point of view, the neural network model can be viewed as a projective tracking regression that takes a nonlinear function on the linear combination of input variables.
- the multi-layer neural network model includes an input layer, a hidden layer, and an output layer.
- the input layer is composed of nodes corresponding to each input variable, and the number of nodes is equal to the number of input variables.
- the hidden layer processes the linear combination of variable values from the input layer as a nonlinear function such as a sigmoid function, and delivers it to the output layer or another hidden layer. (Recently, a chain rule is applied in the back propagation. The problem of vanishing gradient dilution occurs in ReLU instead of sigmoid function.
- the output layer is a node corresponding to the output variable. In the classification model, as many output nodes as the number of classes are generated.
- FIG. 2 is a schematic diagram showing a calculation process at a node. As shown in Figure 2, the computation actually occurs at each node, which is mathematically designed to simulate the processes occurring in the neurons that make up the human neural network.
- a node receives a stimulus above a certain magnitude, it responds.
- the magnitude of the response is roughly proportional to the product of the input value plus the node's coefficients (or weights), except for the bias value.
- a node receives multiple inputs and has as many coefficients as the number of inputs. Thus, by adjusting this coefficient, different weights can be given to different inputs.
- the final multiplications are added together and the sum is entered into the activation function.
- the result of the active function corresponds to the output of the node, which is ultimately used for classification or regression analysis.
- Each layer of the neural network model consists of at least one node, and whether each node is activated or deactivated depends on the input value.
- the input data is the input of the first layer (input layer), after which the output of each layer is again the input of the next layer. All coefficients change little by little over the course of the lesson, reflecting which input each node counts as important. And the 'training' of the neural network model is the process of updating this coefficient.
- RBM is used as a component of DBN (Deep Belief Network), and overfitting by effectively pre-training each layer of feedforward neural network to be learned through unsupervised Restricted Boltzmann machine (RBM).
- DBN Deep Belief Network
- RBM Restricted Boltzmann machine
- FIG. 3 is a schematic diagram showing a drop-out method. As shown in FIG. 3, the drop-out method uses about 50% of the neurons instead of all the neurons in the hidden layer at each learning. It is known that in one deep learning, several small neural networks are ensembleed, and the ensemble is greatly reduced in overfitting. In addition, since neurons having similar weights are reduced, the neurons that make duplicate judgments are reduced, and thus the neurons can be efficiently used.
- ReLU Rectified Linear Unit
- 4 is a graph showing the ReLU activity function.
- the conventional sigmoid function causes an error to disappear every time the gradient descent is performed in several layers. As the extremes go through several layers, the sigmoid function becomes less Gradient, causing the weight not to update.
- the ReLU function is not limited to [0,1] like sigmoid, and because of its unlimited range, it can be considered more expressive. In addition, there are many unnecessary values among the output values of each node. In this case, all values should be calculated when using sigmoid function.
- ReLU function can reduce the amount of computation and improve computing speed. Regularization can be improved by the ReLU function.
- the posture is different for each user, so that specific unknown pressure distribution data can be clearly classified by the cut off value.
- difficult input values pressure distribution data
- the pressure distribution data is input to the neural network model in time series while the user is sitting, so that the pressure distribution data in the unrefined state may be significantly input and learned. In the case of back propagation up to such unknown pressure distribution data, the predictability of the model can be significantly reduced.
- the posture information output from the pressure distribution data passing through the neural network model should be learned differently for each user. That is, even if the same pressure distribution data is displayed, the user A may be in a bent posture, and the user B may be in a correct posture. This is because the user's body type and posture are different.
- back propagation is frequently used for image analysis mainly using CNN, natural language analysis mainly using Recurrent Neural Network (RNN), image caption, and automatic translation.
- RNN Recurrent Neural Network
- input values that are difficult to classify are often used for relearning, which often hinders the performance of the model.
- An object of the present invention is to use the input value in the neural network model to re-learn the neural network model to update the weight, and use the input for re-learning such as back propagation of the neural network model using unsupervised learning such as clustering.
- the present invention provides a method, apparatus and program for determining whether to re-learn input values in a neural network model that selects a value and updates a centroid of a cluster to which the corresponding input value belongs to improve the performance of the neural network model.
- An object of the present invention is a method for determining whether to relearn input values in a neural network model performed by a computing device, wherein the computing device performs clustering on a training set used for learning a previously learned neural network model.
- Training set clustering step An input value plotting step of the computing device plotting an input value input to the neural network model to a clustering distribution of the training set; An input value classification step of determining, by the computing device, whether the input value is included in a specific cluster which is one of clustering distributions of the training set; An input value for determining, by the computing device, whether or not to re-learn the input value or the re-learning weight based on a distance between the input value and a centroid of the specific cluster or a probability that the input value is included in the specific cluster Determining whether to relearn; And a neural network model relearning step, wherein the computing device re-learns the neural network model based on the re-learning weight or the re-learning weight of the input value determined in the re-learning of the input value. This can be achieved by providing a method for determining whether to relearn input values in the model.
- the computing device may determine a centroid of the particular cluster based on relearning or relearning weight of the input value determined in the re-learning of the input value.
- the cluster center value updating step of updating may be further included.
- clustering may be performed by performing linear mapping through K-means, spectral clustering or N-cut or non-linear mapping based on an auto encoder.
- the receiving unit for receiving an input value
- a neural network model computing processor that receives the input value from the receiver, includes a neural network model that has been learned, and calculates an output value by applying the received input value to the neural network model
- a clustering processor configured to generate clustering information by receiving the input value from the receiving unit and clustering a training set used for learning the neural network model among the input values;
- the clustering processor receives the clustering information, and re-learning the input value based on a probability of the input value received at the receiving unit being included in a specific cluster or a distance from a centeroid of a specific cluster of the clustering information.
- a re-learning determination processor for determining whether or not a re-learning weight applied to the input value; And re-learning whether the input value is re-learned or the re-learning weights, and re-learning the neural network model of the neural network model computing processor to update the neural network model of the neural network model computing processor. It can be achieved by providing an apparatus for determining re-learning of input values in a neural network model including a learning processor.
- the relearning processor may update a centeroid of a specific cluster of the clustering information.
- the clustering processor may be characterized by performing clustering by performing linear mapping or auto encoder based non-linear mapping through K-means, spectral clustering or N-cut.
- Another object of the present invention is to perform clustering on a training set used for learning a neural network model that has been learned in a program stored in a recording medium that performs a re-learning method for input values in a neural network model.
- Training set clustering step Plotting an input value inputted to the neural network model to a clustering distribution of the training set;
- An input value classification step of determining whether the input value is included in a specific cluster which is one of clustering distributions of the training set; Determining whether to re-learn the input value or re-learning weight based on the distance between the input value and the centroid of the specific cluster or the probability that the input value is included in the specific cluster.
- a neural network model relearning step of re-learning the neural network model based on re-learning or re-learning weight of the input value determined in the re-learning whether the input value is re-learned. It can be achieved by providing
- the present invention has the following effects.
- the neural network model is overfitting on too random training data, thereby preventing the weight itself of the model from being incorrectly learned.
- 1 is a schematic diagram showing the structure of a multilayer neural network model (deep learning or deep neural network model),
- FIG. 2 is a schematic diagram showing a calculation process at a node
- FIG. 3 is a schematic diagram showing a drop-out method
- FIG. 5 is a diagram illustrating a re-learning method for input values in a neural network model according to an embodiment of the present invention.
- step S14 illustrates an example of determining whether to relearn an input value in step S14 according to an embodiment of the present invention.
- step S15 illustrates an example of cluster-centric updating of a training set in step S15 according to an embodiment of the present invention.
- FIG. 8 is a schematic diagram showing an apparatus for determining re-learning of input values in a neural network model
- FIG 9 illustrates a posture classification system using pressure distribution information according to an embodiment of the present invention.
- FIG. 11 is a flowchart illustrating a posture classification method using pressure distribution information according to an embodiment of the present invention
- FIG. 12 is a graph of an experimental result of a posture classification method using pressure distribution information according to an embodiment of the present invention.
- 13 is a graph showing the results of an experiment on a posture classification method using pressure distribution information of a conventional relearning method
- FIG. 14 is a graph comparing average accuracy of a posture classification method using a pressure distribution information and a conventional method according to an embodiment of the present invention.
- the present invention is configured to receive inputs from a user's client from a device for generating inputs (e.g., near field communication), send inputs from a user client to a computing server, and compute the inputs into a neural network model at the computing server.
- a device for generating inputs e.g., near field communication
- the subject of computing may be a user client or a computing server
- the subject of computing is referred to as a computing device in the present invention.
- FIG. 5 illustrates a re-learning method for the input value in the neural network model according to an embodiment of the present invention.
- a re-learning method for input values may include a neural network model learning step, an input value input step, an output value output step, an input value classification step, and an input value.
- Re-learning determination step, input value re-learning step may be included.
- the re-learning method for input values may be performed by a computing server or a client.
- the neural network model training step (S10) is a step of learning weights of the neural network model using a training data set for which labeling or tagging of attribute values is completed.
- the neural network model may include not only an existing artificial neural network (ANN) but also CNN, RNN, and the like.
- the neural network model according to an embodiment of the present invention may be a classification model.
- Input value input step S11 is a step of inputting a specific input value which is a test set or an actual data set to an input layer of the neural network model.
- the output value output step S12 is a step in which a specific input value input in S11 to the neural network model passes through a hidden layer and is output from an output layer.
- the specific input value is weighted by the neural network model and output as a matrix or vector output value having specific property values for the predetermined properties.
- the input value classification step S13 is a step of classifying the training set of S10 by clustering or the like and plotting the input value of S11.
- PCA analysis is performed with two or three attributes on the training set and input values, or K-means, spectral clustering, linear mapping through N-cut, and non-linear mapping based on Auto encoder. Can be clustered by
- the input value classification step S13 may be specifically performed as a training set clustering step, an input value floating step, and an input value classification step.
- the training set clustering step is a step in which a computing device such as a user client or a server performs clustering on a training set used for learning a neural network model that has been previously learned.
- the input plotting step is a step in which a computing device such as a user client or a server plots an input value input to the neural network model into a clustering distribution of the training set.
- the input value classification step is a step in which a computing device such as a user client or a server determines whether the input value is included in a specific cluster which is one of the clustering distributions of the training set.
- K-means clustering is representative of distance-based clustering that can be used in S13. K-means assumes that data belonging to the same cluster is 'close' to each other. At this time, there is one 'center' for each cluster, and 'how close to each center' is defined as cost. K-means is an algorithm that finds clusters that reduce the cost as defined. If the formula is written, the following equation is obtained.
- Equation 1 there are n data and k clusters.
- b j means 'center' of the j th cluster
- w ij is a binary variable having 1 or 0 if the i th data belongs to the j th cluster.
- the following condition is a constraint that must be assigned to one cluster for each data.
- the K-means algorithm is an algorithm that repeats the calculation until b and w no longer change while continuously updating b and w. Unfortunately, K-means does not converge to the global optimum, but converges to the local optimum, which is very vulnerable to initialization. So k-means clustering tends not to be used for data preprocessing of neural network models.
- clustering is used to determine whether or not to re-learn the input value instead of using clustering as a process of preprocessing the input value by unsupervised learning. Therefore, local minimum can help to improve neural network model performance.
- GMM Gaussian Mixture Model
- GMM's performance measure is a log likelihood function.
- the goal is to find a parameter that gives the largest probability of data X for a given parameter.
- the log likelihood is defined as ln p (X
- the parameter ⁇ consists of the average ⁇ j of each Gaussian, the covariance ⁇ j, and the probability ⁇ j that each data belongs to each Gaussian. Therefore, if the multinomial Gaussian distribution of xi for a given ⁇ j, ⁇ j is defined as N (xi
- the most popular algorithm used to solve GMM is EM algorithm.
- the EM algorithm for solving the GMM first calculates the expectation by updating the information (e.g. z) on which cluster each data belongs to, and then uses the updated information to determine the most log likelihood of the remaining values. Find the parameters to maximize ( ⁇ , ⁇ , ⁇ ). If you run the algorithm, it will find a better value each time iteration passes.
- the re-learning of input value determination step (S14) determines whether or not an input value can be included in each cluster classified in S13, and if the input value is included in a specific cluster, inputs it back into the training set, and input value If it is not included in this particular cluster, it is vanished. That is, the step of determining whether to re-learn the corresponding input value based on the distance or the probability (or probability distribution) in the centroid of the specific cluster.
- it is possible to determine whether the output value is included in a specific cluster by setting a specific cut off value based on distance in case of K-means clustering, and based on probability distribution in case of GMM (Gaussian Mixture Model). For example, whether the input value is included in a specific cluster may be determined based on whether or not it corresponds to a specific ⁇ .
- FIG. 6 illustrates an example of determining whether to relearn an input value at step S14 according to an embodiment of the present invention.
- whether the input value corresponds to a specific cluster of the clustered training set determines whether to relearn the input value.
- the input value a may be classified as being included in the cluster A, and thus it is determined to relearn, and the input value b is not classified in the clusters A and B, so it is determined not to be relearned.
- the input value relearning step (S15) is a step of re-learning the input value determined to be relearned in S 14 by a method such as back propagation on the neural network model.
- the input determined to be relearned by S15 is included in the training set of S10, and the centroid of each cluster of S13 is updated.
- an attribute of a specific cluster is enhanced (different from other users' data) for each user. This helps to build a customized neural network model in the following embodiments.
- FIG. 7 is a diagram illustrating cluster-based updating of a training set in step S15 according to an embodiment of the present invention. As shown in FIG. 7, the center of the cluster is updated by the input value to be relearned, and as the iteration is performed, the performance improvement of the neural network model may occur.
- the re-learning method for input values may be configured by a computer program stored in a recording medium to be performed by a computing device.
- the method of re-learning whether or not an input value belongs to a specific cluster according to the distance or probability with respect to the center value (centeroid) of the specific cluster of the input value in step S14. It can be performed by defining a value called re-learning weights for the target and re-learning by applying the re-learning weights to the input values.
- re-learning weights are assigned to input values, and all of them are put in a training set to be relearned. Vanishing an input value that is not included in a particular cluster according to one embodiment of the present invention may correspond to giving a re-learning weight of zero to the input value in another embodiment of the present invention.
- FIG. 8 is a schematic diagram illustrating an apparatus for determining re-learning of input values in a neural network model.
- the apparatus for determining re-learning of an input value in the neural network model may include a receiver 100 and a processor.
- An apparatus for determining re-learning of input values in a neural network model according to an embodiment of the present invention may include various types of computing devices.
- the apparatus for determining re-learning of input values may be a server or a client.
- the input value received as a training set can be trained using ANN including CNN, RNN, etc. Based on this, the input value received later as a test set is applied to the neural network model to improve the performance of the model. Can be verified Subsequently, when an input value, which is an actual data set, is applied to the neural network model, an output value corresponding to the same is output.
- the receiver 100 may obtain an input value composed of a scalar value, a vector value, or the like as a training set, a test set, or an actual data set.
- the receiver 100 may be implemented by various communication technologies, and may receive an input value input as a neural network model.
- the processor may include a sampling processor 101, a neural network model computing processor 102, a neural network model training processor 103, a data preprocessor 104, a clustering processor 105, a relearning determination processor 106, a relearning processor ( 107, a storage processor 108.
- the sampling processor 101 is configured to sample at least some of the input values and divide the training set into a training set and a test set.
- the neural network model computing processor 102 is configured to derive an output value by inputting input values divided into test sets in the sampling processor 101 to the neural network model that has been learned.
- the neural network model computing processor 102 is configured to calculate an output value by applying an input value to the neural network model that has been learned by the receiver 100 when an actual data set is input as an input value.
- the neural network model training processor 103 uses a data set divided into a training set in the sampling processor 101 or a training set including input values determined to be relearned among input values input to the neural network model computing processor 102. It is configured to update and learn the weight of the neural network model.
- the data preprocessing processor 104 may perform a process of converting or converting the input value into matrix data.
- the clustering processor 105 is a configuration for clustering a training set to determine whether an input value of a test set or an actual data set is included in a specific cluster.
- Re-learning determination processor 106 determines to re-learn that input if it is included in a particular cluster, and not to relearn that input if it is not included in a particular cluster. Configuration. According to another embodiment of the present invention, the re-learning determination processor 106 may be configured to relearn the input value by weighting it according to how close the input value is to a specific cluster.
- the relearning processor 107 inserts the input value determined to be relearned into the training set, updates the weight of the neural network model by a model learning method such as back propagation, and updates the center of the cluster including the input value. Configuration.
- the storage processor 108 is configured to store input values determined not to be relearned in the server.
- an apparatus for determining re-learning of input values in a neural network model will be described based on a pressure sensing device and a method using pressure distribution information.
- the scope of the present invention is not limited to posture classification using pressure distribution information, and may include those applied to general applications solved by ANN such as image caption and search using natural image information, natural language analysis, and the like.
- the posture classification system using the pressure distribution information includes a pressure sensing device 1, a pressure distribution sensor, a transceiver 100, a power supply unit, a server 6, a DB 7, and a user client 8. ) May be included.
- the pressure sensing device 1 is mounted at the user's seating position and is configured to sense and output a pressure distribution when the user sits on the pressure sensing device.
- the pressure sensing device 1 may include a pressure distribution sensor 2, a transmitter 3, a power supply 4, and a controller 5.
- the pressure distribution sensor 2 may refer to a configuration in which a plurality of piezoelectric sensors or pressure sensors configured in a flat or curved surface at a user's seating position are distributed in a lattice form.
- pressure values generated by each piezoelectric sensor or pressure sensor may be converted to generate pressure distribution information formed of image or matrix data.
- the transmitter 3 is configured to transmit the pressure distribution information generated by the pressure distribution sensor 2 to the server 6 or the user client 8 at a specific time interval requested by the controller 5.
- the transmitter 3 transmits the pressure distribution information to the user client 8, it can transmit by near field communication, such as BLE.
- the power supply unit 4 is configured to supply power to the pressure distribution sensor 2, the transmission unit 3, and the control unit 5.
- the control part 5 is a structure which controls the sensing duration of the pressure distribution sensor 2, transmission of the pressure distribution information of the transmitter 3, etc.
- FIG. 1 is a structure which controls the sensing duration of the pressure distribution sensor 2, transmission of the pressure distribution information of the transmitter 3, etc.
- the server 6 receives the pressure distribution information directly from the pressure sensing device 1 or through the user client 8, and receives the label information for the specific pressure distribution information from the user client 8 for training. It constructs a set, the neural network model is trained using the training set, and the posture information of the user is classified using the neural network model and outputted to the user client 8.
- the DB 7 is connected to the server 6 to store the pressure distribution information received from the pressure sensing device 1 in chronological order, and connect the label information input from the user client 8 to the corresponding pressure distribution information. It is a configuration to save.
- the user client 8 is connected to the server 6 and receives the pressure distribution information from the server 6 or inputs label information (in which position it is sitting) to the server 6 for the specific pressure distribution information. It is configured to transmit and display the posture information of the user classified by the server 6.
- the pressure distribution information may be directly received by the pressure sensing device 1.
- the received pressure distribution information may be transmitted to the server 6 to classify and predict the posture information of the user using a neural network model.
- the neural network model can be computed directly at the user client 8.
- the received pressure distribution information 30 may be encoded and displayed, or the posture information 31 of the classified user may be transmitted and displayed.
- the posture classification method using the pressure distribution information includes a pressure distribution information generation step S20, a pressure distribution information transmission step S21, and a posture information output step S22. ),
- Pressure distribution information generation step (S20) is a step of generating the pressure distribution information according to the user's seating in the pressure sensing device (1).
- the pressure distribution information transmitting step S21 is a step in which the pressure sensing device 1 transmits the pressure distribution information to the user client 8 using short-range communication.
- the posture information output step S22 is a step of applying the neural network model learned by using the pressure distribution information received from the user client 8 as a test set, and outputting the posture information.
- the pressure distribution information transmitting step S23 is a step of transmitting the pressure distribution information to the server 6 in the user client 8.
- Pressure distribution information plotting step (S24) is a step of plotting the pressure distribution information received in the cluster information of the training set clustered on the basis of distance or probability in the server (6).
- the re-learning determination step (S25) is a step of determining whether or not re-learning through whether or not the pressure distribution information is included in the specific cluster in the server (6).
- the re-learning step (S26) is a step of re-learning the weight of the neural network model by the back propagation method on the pressure distribution information determined to be re-learned by the server 6.
- the weight updating step S27 is a step of transmitting the weight of the neural network model retrained by the server 6 to the user client 8.
- the cluster update step (S28) is a step of updating the centroid of the cluster in the cluster information of the training set by using the pressure distribution information determined by the server 6 to relearn.
- the re-learning weight may be determined in the pressure distribution information in S25.
- the re-learning weight may be defined to determine how far (distance or probability) the corresponding pressure distribution information is from the centroid of a particular cluster.
- the weight of the neural network model may be re-learned in the state where the re-learning weight is applied to the pressure distribution information in S26. For example, if a specific input is included in a specific cluster, a weight of 1 affects the relearning of the neural network model, and if a particular input is not included in a particular cluster, a weight of 0 is used to affect the neural network model relearning. Can be.
- 12 is a graph showing an experiment result of a posture classification method using pressure distribution information according to an embodiment of the present invention.
- the X axis represents evolution
- FIG. 12 according to an embodiment of the present invention, it can be seen that classification accuracy of 80% or more comes out in all postures after evolution 3.
- FIG. 13 is a graph of an experiment result of a posture classification method using pressure distribution information of a conventional relearning method. As shown in FIG. 13, when re-learning all data including noise without re-learning according to an embodiment of the present invention, it can be seen that classification accuracy of 80% or more appears in all postures after evolution 6. have.
- FIG. 14 is a graph comparing average accuracy of a posture classification method using a pressure distribution information and a conventional method according to an embodiment of the present invention.
- "noised” means an existing method
- “cleaned” means a method including a re-learning determining step according to an embodiment of the present invention.
- the model in accordance with an embodiment of the present invention shows a much faster rise in accuracy.
- the performance according to the embodiment of the present invention can produce a better performance with less evolutionary data than before.
- According to an embodiment of the present invention according to an embodiment of the present invention is guaranteed an average of 80% accuracy since evolution 1, and according to the conventional method can be confirmed that the average of 80% accuracy since evolution 3 is guaranteed.
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 신경망 모델(Neural Networks)에서 미지의 데이터에 대한 재학습 여부 결정 방법, 장치 및 프로그램에 관한 것이다. The present invention relates to a method, apparatus and program for determining whether to relearn unknown data in neural networks.
신경망 모델(Neural Network model)은 생물학에서의 뉴런 구조로부터 착안된 지도 학습(supervised learning) 알고리즘이다. 신경망 모델의 기본적인 작동 원리는 여러 개의 뉴런들을 상호 연결하여 입력값에 대한 최적의 출력값을 예측하는 것이다. 통계적인 관점에서 보면 신경망 모델은 입력 변수의 선형 결합에 비선형 함수를 취하는 사영추적회귀로 볼 수 있다. The neural network model is a supervised learning algorithm conceived from neuronal structures in biology. The basic principle of neural network modeling is to interconnect several neurons to predict the optimal output for the input. From a statistical point of view, the neural network model can be viewed as a projective tracking regression that takes a nonlinear function on the linear combination of input variables.
도 1은 다층 신경망 모델(딥러닝 또는 심층 신경망 모델)의 구조를 도시한 모식도이다. 도 1에 도시된 바와 같이 다층 신경망 모델은 입력층(input layer), 은닉층(hidden layer), 출력층(output layer)으로 구성된다. 입력층은 각 입력변수에 대응되는 노드로 구성되며, 노드의 수는 입력변수의 개수와 같다. 은닉층은 입력층으로부터 전달되는 변수값들의 선형 결합을 시그모이드 함수와 같은 비선형 함수로 처리하여 출력층 또는 다른 은닉층에 전달하는 역할을 한다(최근에는 Back propagation에서 chain rule을 적용하면서 error가 앞단의 layer에서 희석되는 vanishing gradient 문제가 발생되어 시그모이드 함수 대신, ReLU를 일반적으로 이용한다). 출력층은 출력 변수에 대응되는 노드로서 분류 모형에서는 클래스의 수만큼 출력 노드가 생성된다. 1 is a schematic diagram showing the structure of a multilayer neural network model (deep learning or deep neural network model). As shown in FIG. 1, the multi-layer neural network model includes an input layer, a hidden layer, and an output layer. The input layer is composed of nodes corresponding to each input variable, and the number of nodes is equal to the number of input variables. The hidden layer processes the linear combination of variable values from the input layer as a nonlinear function such as a sigmoid function, and delivers it to the output layer or another hidden layer. (Recently, a chain rule is applied in the back propagation. The problem of vanishing gradient dilution occurs in ReLU instead of sigmoid function. The output layer is a node corresponding to the output variable. In the classification model, as many output nodes as the number of classes are generated.
도 2는 노드에서의 계산 과정을 도시한 모식도이다. 도 2에 도시된 바와 같이, 각각의 노드에서는 실제로 연산이 일어나는데, 이 연산 과정은 인간의 신경망을 구성하는 뉴런에서 일어나는 과정을 모사하도록 수학적으로 설계되어있다. 노드는 일정 크기 이상의 자극을 받으면 반응을 하는데, 그 반응의 크기는 바이어스(bias) 값을 제외하고 입력 값과 노드의 계수(또는 가중치, weights)를 곱한 값과 대략 비례한다. 일반적으로 노드는 여러 개의 입력을 받으며 입력의 개수만큼 계수를 가지고 있다. 따라서 이 계수를 조절함으로써 여러 입력에 다른 가중치를 부여할 수 있다. 최종적으로 곱한 값들은 전부 더해지고 그 합은 활성 함수(activation function)의 입력으로 들어가게 된다. 활성 함수의 결과가 노드의 출력에 해당하며 이 출력값이 궁극적으로 분류나 회귀 분석에 쓰이게 된다. 신경망 모델의 각 층은 적어도 하나의 노드로 이루어져 있으며 입력값에 따라 각 노드의 활성화/비활성화 여부가 결정된다. 입력 데이터는 첫 번째 층(입력층, input layer)의 입력이 되며 그 이후엔 각 층의 출력이 다시 다음 층의 입력이 된다. 모든 계수는 학습 과정에서 계속 조금씩 변하는데, 결과적으로 각 노드가 어떤 입력을 중요하게 여기는지를 반영한다. 그리고 신경망 모델의 '학습(training)'은 이 계수를 업데이트하는 과정이다.2 is a schematic diagram showing a calculation process at a node. As shown in Figure 2, the computation actually occurs at each node, which is mathematically designed to simulate the processes occurring in the neurons that make up the human neural network. When a node receives a stimulus above a certain magnitude, it responds. The magnitude of the response is roughly proportional to the product of the input value plus the node's coefficients (or weights), except for the bias value. In general, a node receives multiple inputs and has as many coefficients as the number of inputs. Thus, by adjusting this coefficient, different weights can be given to different inputs. The final multiplications are added together and the sum is entered into the activation function. The result of the active function corresponds to the output of the node, which is ultimately used for classification or regression analysis. Each layer of the neural network model consists of at least one node, and whether each node is activated or deactivated depends on the input value. The input data is the input of the first layer (input layer), after which the output of each layer is again the input of the next layer. All coefficients change little by little over the course of the lesson, reflecting which input each node counts as important. And the 'training' of the neural network model is the process of updating this coefficient.
다층 신경망 모델, 즉 딥러닝에서 가장 문제되는 것은 과적합(overfitting) 문제이다. 과적합(Overfitting)은 주어진 데이터의 양에 비해 모델의 복잡도(complexity)가 높으면 발생하게 된다. 안타깝게도 신경망(neural network)이 깊어질수록 모델의 복잡도는 exponential하게 증가하게 된다. 그렇기 때문에 거의 무한한 표현형을 학습할 수 있는 deep network가 좋다는 것을 다들 알고 있음에도 불구하고, 너무나 과적합(overfitting)이 심하게 발생하기 때문에 Marvin Minsky 교수의 1969년 Perceptrons 이론에 의해 neural network 연구가 멈추게 된 것이다. 하지만, 2007~2008년 즈음하여 과적합을 막기 위한 새로운 initialization 방법인 RBM(Restricted Boltzmann Machine)과 CNN(Convolutional Neural Network)이 제안되면서, 다시 딥러닝 연구가 활발하게 진행되었다. The most problematic in multilayer neural network models, namely deep learning, is the overfitting problem. Overfitting occurs when the complexity of the model is high compared to the amount of data given. Unfortunately, as the neural network deepens, the complexity of the model increases exponentially. Thus, despite the fact that everybody knows a good deep network for learning almost infinite phenotypes, the overfitting is so bad that neural network research was stopped by Marvin Minsky's 1969 Perceptrons theory. However, as a new initialization method to prevent overfitting was proposed in 2007-2008, deep learning research was actively conducted again, due to the proposed RBM (Restricted Boltzmann Machine) and CNN (Convolutional Neural Network).
특히, RBM은 DBN(Deep Belief Network)을 구성하는 요소로 이용되고, unsupervised RBM(restricted Boltzmann machine)을 통해 학습시킬 feedforward neural network의 각 층을 효과적으로 사전훈련(pre-training)하여 과적합(overfitting)을 방지할 수 있는 수준의 initialize point를 잡았고, 이를 다시 supervised back propagation를 사용하는 형태로 학습을 진행한다.In particular, RBM is used as a component of DBN (Deep Belief Network), and overfitting by effectively pre-training each layer of feedforward neural network to be learned through unsupervised Restricted Boltzmann machine (RBM). We've got a level of initialize point that prevents this from happening, and then we're learning in the form of using supervised back propagation.
하지만, NIPS 2006에 발표된 Bengio 교수 연구팀의 Greedy layer-wise training of deep networks 연구와 NIPS 2007에 발표된 Hinton 교수 연구팀의 A fast learning algorithm for deep belief nets 두 논문을 통해 제안되었던 RBM과 DBN 같은 unsupervised pretraining method들은 최근 실무에서 사용되지는 않는다. 지금은 데이터가 충분히 많을 경우 이런 방식으로 weight를 initialization하는 것보다 random initialization의 성능이 훨씬 우수하다는 것이 알려져 있기 때문이다. Random initialization의 일환으로 Drop-out이라는 개념이 소개되었고, 최근에는 대부분이 Drop-out 방식을 이용하고 있다. However, unsupervised pretraining, such as RBM and DBN, was proposed in two papers by Professor Bengio's team published in NIPS 2006, Greedy layer-wise training of deep networks, and Hinton's team published in NIPS 2007. The methods are not used in recent practice. This is because it is now known that random initialization performs much better than initializing weights this way if there is enough data. As part of random initialization, the concept of drop-out was introduced, and recently, most of them use the drop-out method.
도 3은 Drop-out 방식을 도시한 모식도이다. 도 3에 도시된 바와 같이, Drop-out 방식은 매 학습시 은닉층에서 모든 neuron을 사용하는 것이 아니라 50% 정도의 neuron을 사용한다. 하나의 딥러닝에서 여러 개의 작은 neural network이 앙상블(ensemble)되어진 효과가 있고, 앙상블은 과적합이 크게 줄어든다고 알려져 있다. 또한, 비슷한 weight를 갖는 뉴런들이 줄어들게 되어서 중복된 판단을 하는 뉴런들이 줄어들게 되어 뉴런을 효율적으로 사용가능한 장점이 있다.3 is a schematic diagram showing a drop-out method. As shown in FIG. 3, the drop-out method uses about 50% of the neurons instead of all the neurons in the hidden layer at each learning. It is known that in one deep learning, several small neural networks are ensembleed, and the ensemble is greatly reduced in overfitting. In addition, since neurons having similar weights are reduced, the neurons that make duplicate judgments are reduced, and thus the neurons can be efficiently used.
또한, 최근에는 ReLU(Rectified Linear Unit) 라는 활성함수(activation function)로 느린 학습시간과 과적합 문제 등을 해결하고 있다. 도 4는 ReLU 활성함수를 도시한 그래프이다. 도 4에 도시된 바와 같이, 기존의 sigmoid 함수는 기울기 하강(Gradient Descent)를 여러 층으로 해나갈 때마다 error가 소멸되는 문제가 발생한다. 여러 층을 지나 극한으로 갈수록 sigmoid 함수는 Gradient(기울기)가 작아져서 weight가 업데이트되지 않는 문제가 발생하는 것이다. 그런데 활성함수로 ReLU 함수를 사용시, 기울기가 0 또는 1로 학습되는 경우에 100%로 error가 전파되어 이러한 문제가 해소되게 된다. ReLU 함수는 sigmoid 처럼 [0,1]로 제한되는 것이 아니고 그 범위가 무제한이기 때문에 좀 더 확실한 표현력을 가진다고 볼 수 있다. 또한, 각 노드의 출력값 중 필요 없는 값들이 많다. 이럴 때, sigmoid 함수 사용시 모든 값에 대한 계산을 해야하는데, ReLU 함수는 상당 부분의 연산량을 줄일 수 있어 컴퓨팅 속도가 개선되는 효과가 발생된다. ReLU 함수에 의해 정규화(Regularization)가 향상될 수 있다.Recently, an activation function called ReLU (Rectified Linear Unit) has been used to solve slow learning time and overfitting problems. 4 is a graph showing the ReLU activity function. As shown in FIG. 4, the conventional sigmoid function causes an error to disappear every time the gradient descent is performed in several layers. As the extremes go through several layers, the sigmoid function becomes less Gradient, causing the weight not to update. However, when using the ReLU function as an active function, when the slope is learned to be 0 or 1, the error is propagated to 100% and this problem is solved. The ReLU function is not limited to [0,1] like sigmoid, and because of its unlimited range, it can be considered more expressive. In addition, there are many unnecessary values among the output values of each node. In this case, all values should be calculated when using sigmoid function. ReLU function can reduce the amount of computation and improve computing speed. Regularization can be improved by the ReLU function.
하지만, ANN에서 back propagation을 수행할 때(BPN, back propagation neural network), 분류되지 않은 미지의 데이터를 전부 다시 트레이닝 세트로 활용하게 되면 parameter learning 과정에서 모델이 왜곡될 가능성이 많아지게 된다. 이는 global minimum을 찾지 못하고 지역 최소해(local minima)에 빠지는 문제와 별개로, 신경망 모델이 지나치게 랜덤한 트레이닝 데이터에 overfitting 되면서 모델의 weight 자체가 잘못 학습되는 것이 문제이다. 이러한 문제는 특히, 시계열적으로 정제되지 않은 데이터가 입력되어서 사용자별로 신경망 모델을 학습시켜야 하는 경우에 문제되며, RBM, CNN, Drop-out, ReLU의 방식으로는 완전히 해결될 수 없다.However, when back propagation is performed in ANN (BPN, back propagation neural network), if the unclassified unknown data is used as a training set again, the model is more likely to be distorted during parameter learning. Apart from the problem of not finding a global minimum and falling into a local minima, the weight of the model is incorrectly trained as the neural network model is overfitting on too random training data. This problem is particularly a problem when neural network models need to be trained for each user by inputting unrefined data in time series, and cannot be completely solved by RBM, CNN, Drop-out, and ReLU methods.
예를 들어, 복수 개의 행과 열을 지니는 평면으로 분포된 압력센서에 의해 사용자의 앉은 자세를 판별하는 경우에는 사용자들 마다 자세가 달라서, 특정 미지의 압력분포 데이터가 cut off value에 의해 명확히 분류되기 어려운 입력값(압력분포 데이터)을 나타내는 경우가 많다. 특히, 사용자가 앉는 동안 시계열적으로 압력분포 데이터가 신경망 모델에 입력되게 되어서, 정제되지 않은 상태의 압력분포 데이터도 상당히 입력되어 학습될 가능성이 있다. 이러한 미지의 압력분포 데이터까지 back propagation하는 경우, 모델의 예측 가능성이 현저히 떨어질 수 있다.For example, when the user's sitting posture is determined by a pressure sensor distributed in a plane having a plurality of rows and columns, the posture is different for each user, so that specific unknown pressure distribution data can be clearly classified by the cut off value. Often, difficult input values (pressure distribution data) are displayed. In particular, the pressure distribution data is input to the neural network model in time series while the user is sitting, so that the pressure distribution data in the unrefined state may be significantly input and learned. In the case of back propagation up to such unknown pressure distribution data, the predictability of the model can be significantly reduced.
또한, 복수개의 행과 열을 지니는 평면으로 분포된 압력센서에 의해 사용자의 앉은 자세를 판별하는 경우에는 압력분포 데이터가 신경망 모델을 지나서 출력되는 자세 정보가 사용자마다 다르게 나타나도록 학습되어야 한다. 즉, 같은 압력분포 데이터를 보이더라도, 사용자 A의 경우에는 구부정한 자세일 수 있고, 사용자 B의 경우에는 바른 자세일 수 있는 것이다. 이는 사용자마다 체형과 자세가 다르기 때문이다.In addition, when the sitting posture of the user is determined by a pressure sensor distributed in a plane having a plurality of rows and columns, the posture information output from the pressure distribution data passing through the neural network model should be learned differently for each user. That is, even if the same pressure distribution data is displayed, the user A may be in a bent posture, and the user B may be in a correct posture. This is because the user's body type and posture are different.
또는, CNN이 주로 이용되는 이미지 분석, RNN(Recurrent Neural Network)이 주로 이용되는 자연어 분석, 이미지 캡션, 자동 번역의 경우에도, back propagation이 자주 이용된다. 하지만, 명확하게 분류되기 어려운 입력값이 재학습에 이용되면서 모델의 성능을 저해하는 경우가 많이 있다.Alternatively, back propagation is frequently used for image analysis mainly using CNN, natural language analysis mainly using Recurrent Neural Network (RNN), image caption, and automatic translation. However, input values that are difficult to classify are often used for relearning, which often hinders the performance of the model.
따라서 본 발명은 상기 제시된 문제점을 개선하기 위하여 창안되었다.Accordingly, the present invention has been devised to remedy the problems presented above.
본 발명의 목적은, 신경망 모델에서 입력값을 이용하여 신경망 모델을 재학습시켜서 가중치 업데이트 시키는 경우, 클러스터링과 같은 unsupervised learning을 이용하여 신경망 모델의 역전파 알고리즘(back propagation)과 같은 재학습에 이용할 입력값을 선정하고, 해당 입력값이 속하는 클러스터의 중심값(centroid)를 업데이트하여 신경망 모델의 성능을 향상시키는 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법, 장치 및 프로그램을 제공하는데에 있다.An object of the present invention is to use the input value in the neural network model to re-learn the neural network model to update the weight, and use the input for re-learning such as back propagation of the neural network model using unsupervised learning such as clustering. The present invention provides a method, apparatus and program for determining whether to re-learn input values in a neural network model that selects a value and updates a centroid of a cluster to which the corresponding input value belongs to improve the performance of the neural network model.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.Hereinafter, specific means for achieving the object of the present invention will be described.
본 발명의 목적은, 컴퓨팅 장치에 의해 수행되는 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법에 있어서, 상기 컴퓨팅 장치가, 기학습된 신경망 모델의 학습에 이용된 트레이닝 세트에 대한 클러스터링을 수행하는 트레이닝 세트 클러스터링 단계; 상기 컴퓨팅 장치가, 상기 신경망 모델에 입력되는 입력값을 상기 트레이닝 세트의 클러스터링 분포에 플로팅(plotting)하는 입력값 플로팅 단계; 상기 컴퓨팅 장치가, 상기 입력값이 상기 트레이닝 세트의 클러스터링 분포 중 하나인 특정 클러스터에 포함되는지 여부를 판단하는 입력값 분류 단계; 상기 컴퓨팅 장치가, 상기 입력값과 상기 특정 클러스터의 중심값(centroid) 사이의 거리 또는 상기 입력값이 상기 특정 클러스터에 포함될 확률을 토대로 상기 입력값의 재학습 여부 또는 재학습 가중치를 결정하는 입력값 재학습 여부 결정 단계; 및 상기 컴퓨팅 장치가, 상기 입력값 재학습 여부 결정 단계에서 결정된 상기 입력값의 재학습 여부 또는 재학습 가중치를 기초로 상기 신경망 모델을 재학습을 수행하는 신경망 모델 재학습 단계;를 포함하는, 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법을 제공하여 달성될 수 있다.SUMMARY OF THE INVENTION An object of the present invention is a method for determining whether to relearn input values in a neural network model performed by a computing device, wherein the computing device performs clustering on a training set used for learning a previously learned neural network model. Training set clustering step; An input value plotting step of the computing device plotting an input value input to the neural network model to a clustering distribution of the training set; An input value classification step of determining, by the computing device, whether the input value is included in a specific cluster which is one of clustering distributions of the training set; An input value for determining, by the computing device, whether or not to re-learn the input value or the re-learning weight based on a distance between the input value and a centroid of the specific cluster or a probability that the input value is included in the specific cluster Determining whether to relearn; And a neural network model relearning step, wherein the computing device re-learns the neural network model based on the re-learning weight or the re-learning weight of the input value determined in the re-learning of the input value. This can be achieved by providing a method for determining whether to relearn input values in the model.
또한, 상기 신경망 모델 재학습 단계 이후에, 상기 컴퓨팅 장치가, 상기 입력값 재학습 여부 결정 단계에서 결정된 상기 입력값의 재학습 여부 또는 재학습 가중치를 기초로 상기 특정 클러스터의 중심값(centroid)를 업데이트하는 클러스터 중심값 업데이트 단계;를 더 포함할 수 있다.In addition, after the neural network model relearning step, the computing device may determine a centroid of the particular cluster based on relearning or relearning weight of the input value determined in the re-learning of the input value. The cluster center value updating step of updating may be further included.
또한, 상기 트레이닝 세트 클러스터링 단계 및 상기 입력값 플로팅 단계에서는, K-means, spectral clustering 또는 N-cut을 통한 linear mapping 또는 Auto encoder 기반의 non-linear mapping을 수행하여 클러스터링하는 것을 특징으로 할 수 있다.Further, in the training set clustering step and the input value floating step, clustering may be performed by performing linear mapping through K-means, spectral clustering or N-cut or non-linear mapping based on an auto encoder.
본 발명의 다른 목적은, 입력값을 수신하는 수신부; 상기 수신부에서 상기 입력값을 수신하고, 기학습된 신경망 모델을 포함하며, 상기 신경망 모델에 수신된 상기 입력값을 적용하여 출력값을 계산하는 신경망 모델 컴퓨팅 프로세서; 상기 수신부에서 상기 입력값을 수신하고, 상기 입력값 중 상기 신경망 모델의 학습에 이용된 트레이닝 세트를 클러스터링하여 클러스터링 정보를 생성하는 클러스터링 프로세서; 상기 클러스터링 프로세서에서 상기 클러스터링 정보를 수신하고, 상기 수신부에서 수신되는 상기 입력값이 상기 클러스터링 정보의 특정 클러스터의 중심값(centeroid)과의 거리 또는 특정 클러스터에 포함될 확률을 기초로 상기 입력값의 재학습 여부 또는 상기 입력값에 적용되는 재학습 가중치를 결정하는 재학습 여부 결정 프로세서; 및 상기 재학습 여부 결정 프로세서에서 상기 입력값의 재학습 여부 또는 상기 재학습 가중치를 수신하고, 상기 신경망 모델 컴퓨팅 프로세서의 상기 신경망 모델을 재학습하여 상기 신경망 모델 컴퓨팅 프로세서의 상기 신경망 모델을 업데이트하는 재학습 프로세서;를 포함하는 신경망 모델에서 입력값에 대한 재학습 여부 결정장치를 제공하여 달성될 수 있다.Another object of the present invention, the receiving unit for receiving an input value; A neural network model computing processor that receives the input value from the receiver, includes a neural network model that has been learned, and calculates an output value by applying the received input value to the neural network model; A clustering processor configured to generate clustering information by receiving the input value from the receiving unit and clustering a training set used for learning the neural network model among the input values; The clustering processor receives the clustering information, and re-learning the input value based on a probability of the input value received at the receiving unit being included in a specific cluster or a distance from a centeroid of a specific cluster of the clustering information. A re-learning determination processor for determining whether or not a re-learning weight applied to the input value; And re-learning whether the input value is re-learned or the re-learning weights, and re-learning the neural network model of the neural network model computing processor to update the neural network model of the neural network model computing processor. It can be achieved by providing an apparatus for determining re-learning of input values in a neural network model including a learning processor.
또한, 상기 재학습 프로세서는, 상기 클러스터링 정보의 특정 클러스터의 중심값(centeroid)을 업데이트하는 것을 특징으로 할 수 있다.The relearning processor may update a centeroid of a specific cluster of the clustering information.
또한, 상기 클러스터링 프로세서는, K-means, spectral clustering 또는 N-cut을 통한 linear mapping 또는 Auto encoder 기반의 non-linear mapping을 수행하여 클러스터링하는 것을 특징으로 할 수 있다.In addition, the clustering processor may be characterized by performing clustering by performing linear mapping or auto encoder based non-linear mapping through K-means, spectral clustering or N-cut.
본 발명의 다른 목적은, 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법을 컴퓨터 상에서 수행하는 기록매체에 저장된 프로그램에 있어서, 기학습된 신경망 모델의 학습에 이용된 트레이닝 세트에 대한 클러스터링을 수행하는 트레이닝 세트 클러스터링 단계; 상기 신경망 모델에 입력되는 입력값을 상기 트레이닝 세트의 클러스터링 분포에 플로팅(plotting)하는 입력값 플로팅 단계; 상기 입력값이 상기 트레이닝 세트의 클러스터링 분포 중 하나인 특정 클러스터에 포함되는지 여부를 판단하는 입력값 분류 단계; 상기 입력값과 상기 특정 클러스터의 중심값(centroid) 사이의 거리 또는 상기 입력값이 상기 특정 클러스터에 포함될 확률을 토대로 상기 입력값의 재학습 여부 또는 재학습 가중치를 결정하는 입력값 재학습 여부 결정 단계; 및 상기 입력값 재학습 여부 결정 단계에서 결정된 상기 입력값의 재학습 여부 또는 재학습 가중치를 기초로 상기 신경망 모델을 재학습을 수행하는 신경망 모델 재학습 단계;를 컴퓨터 상에서 수행하는 기록매체에 저장된 프로그램을 제공하여 달성할 수 있다.Another object of the present invention is to perform clustering on a training set used for learning a neural network model that has been learned in a program stored in a recording medium that performs a re-learning method for input values in a neural network model. Training set clustering step; Plotting an input value inputted to the neural network model to a clustering distribution of the training set; An input value classification step of determining whether the input value is included in a specific cluster which is one of clustering distributions of the training set; Determining whether to re-learn the input value or re-learning weight based on the distance between the input value and the centroid of the specific cluster or the probability that the input value is included in the specific cluster. ; And a neural network model relearning step of re-learning the neural network model based on re-learning or re-learning weight of the input value determined in the re-learning whether the input value is re-learned. It can be achieved by providing
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.As described above, the present invention has the following effects.
첫째, 본 발명의 일실시예에 따르면, 시계열적으로 정제되지 않은 데이터가 입력되는 경우에도, 사용자별로 신경망 모델을 학습시킬 수 있는 효과가 발생된다.First, according to an embodiment of the present invention, even when data that is not purified in time series is input, an effect of learning a neural network model for each user is generated.
둘째, 본 발명의 일실시예에 따르면, 신경망 모델이 지나치게 랜덤한 트레이닝 데이터에 overfitting 되면서 모델의 weight 자체가 잘못 학습되는 것을 방지할 수 있는 효과가 있다.Second, according to one embodiment of the present invention, the neural network model is overfitting on too random training data, thereby preventing the weight itself of the model from being incorrectly learned.
셋째, 본 발명의 일실시예에 따르면, 재학습되기로 결정된 입력값이 속하는 클러스터의 중심값(centroid)를 업데이트하여 신경망 모델의 성능을 개인에 맞게 향상시킬 수 있는 효과가 있다.Third, according to an embodiment of the present invention, it is possible to improve the performance of the neural network model to an individual by updating a centroid of a cluster to which an input value determined to be relearned belongs.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.The following drawings, which are attached to this specification, illustrate preferred embodiments of the present invention, and together with the detailed description thereof, serve to further understand the technical spirit of the present invention. It should not be interpreted.
도 1은 다층 신경망 모델(딥러닝 또는 심층 신경망 모델)의 구조를 도시한 모식도,1 is a schematic diagram showing the structure of a multilayer neural network model (deep learning or deep neural network model),
도 2는 노드에서의 계산 과정을 도시한 모식도,2 is a schematic diagram showing a calculation process at a node;
도 3은 Drop-out 방식을 도시한 모식도,3 is a schematic diagram showing a drop-out method;
도 4는 ReLU 활성함수를 도시한 그래프,4 is a graph showing the ReLU activity function,
도 5는 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법을 도시한 것,5 is a diagram illustrating a re-learning method for input values in a neural network model according to an embodiment of the present invention.
도 6은 본 발명의 일실시예에 따른 S14 단계에서 입력값에 대한 재학습 여부를 결정하는 예시를 도시한 것,6 illustrates an example of determining whether to relearn an input value in step S14 according to an embodiment of the present invention.
도 7은 본 발명의 일실시예에 따른 S15 단계에서 트레이닝 세트의 클러스터 중심의 업데이트를 도시한 예시,7 illustrates an example of cluster-centric updating of a training set in step S15 according to an embodiment of the present invention.
도 8은 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치를 도시한 모식도,8 is a schematic diagram showing an apparatus for determining re-learning of input values in a neural network model;
도 9는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 시스템을 도시한 것,9 illustrates a posture classification system using pressure distribution information according to an embodiment of the present invention.
도 10은 본 발명의 일실시예에 따른 자세 분류 시스템의 사용자 클라이언트에 디스플레이 되는 화면의 예,10 is an example of a screen displayed on the user client of the posture classification system according to an embodiment of the present invention,
도 11은 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법을 도시한 흐름도,11 is a flowchart illustrating a posture classification method using pressure distribution information according to an embodiment of the present invention;
도 12는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법의 실험결과 그래프,12 is a graph of an experimental result of a posture classification method using pressure distribution information according to an embodiment of the present invention;
도 13은 기존의 재학습 방법의 압력분포 정보를 이용한 자세 분류 방법의 실험 결과 그래프,13 is a graph showing the results of an experiment on a posture classification method using pressure distribution information of a conventional relearning method;
도 14는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법과 기존 방법의 평균 정확도 비교 그래프이다.14 is a graph comparing average accuracy of a posture classification method using a pressure distribution information and a conventional method according to an embodiment of the present invention.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in describing in detail the principle of operation of the preferred embodiment of the present invention, if it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, the same reference numerals are used for parts having similar functions and functions throughout the drawings. Throughout the specification, when a particular part is connected to another part, this includes not only the case where it is directly connected, but also the case where it is indirectly connected with another element in between. In addition, the inclusion of a specific component does not exclude other components unless specifically stated otherwise, it means that may further include other components.
아래의 상세한 설명에서는 사용자의 클라이언트에서 신경망 모델에 입력값을 넣어 컴퓨팅을 수행하는 것을 전제로 기재되었다. 하지만, 본 발명의 범위는 이에 한정되지 않는다. 본 발명은 입력값의 생성 디바이스로부터 사용자의 클라이언트에서 입력값을 받고(예를 들면, 근거리 통신), 사용자 클라이언트에서 컴퓨팅 서버로 입력값을 송신하여 컴퓨팅 서버에서 입력값을 신경망 모델에 넣어 컴퓨팅하도록 구성될 수도 있다. 즉, 컴퓨팅의 주체는 사용자 클라이언트가 될 수도 있고, 컴퓨팅 서버가 될수도 있으므로, 이를 본 명에서에서는 컴퓨팅 장치로 통일한다.In the following detailed description, it is assumed that computing is performed by putting input values into a neural network model in a user's client. However, the scope of the present invention is not limited thereto. The present invention is configured to receive inputs from a user's client from a device for generating inputs (e.g., near field communication), send inputs from a user client to a computing server, and compute the inputs into a neural network model at the computing server. May be That is, since the subject of computing may be a user client or a computing server, the subject of computing is referred to as a computing device in the present invention.
신경망 모델에서 입력값에 대한 재학습 여부 결정 방법Determining Whether to Relearn Inputs in Neural Network Models
본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법과 관련하여, 도 5는 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법을 도시한 것이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법은 신경망 모델 학습 단계, 입력값 입력 단계, 출력값 출력 단계, 입력값 분류 단계, 입력값 재학습 여부 결정 단계, 입력값 재학습 단계를 포함할 수 있다. 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법은 컴퓨팅 서버 또는 클라이언트에서 수행될 수 있다.Regarding the re-learning method for input values in the neural network model according to an embodiment of the present invention, FIG. 5 illustrates a re-learning method for the input value in the neural network model according to an embodiment of the present invention. will be. As shown in FIG. 5, in the neural network model according to an embodiment of the present invention, a re-learning method for input values may include a neural network model learning step, an input value input step, an output value output step, an input value classification step, and an input value. Re-learning determination step, input value re-learning step may be included. In the neural network model according to an embodiment of the present invention, the re-learning method for input values may be performed by a computing server or a client.
신경망 모델 학습 단계(S10)는 속성값에 대한 레이블링(labeling, 또는 tagging)이 완료된 트레이닝 세트(training data set)를 이용하여 신경망 모델의 가중치를 학습시키는 단계이다. 이때, 신경망 모델은 기존의 ANN(artificial neural network)뿐만 아니라 CNN, RNN 등을 포함할 수 있다. 특히, 본 발명의 일실시예에 따른 신경망 모델은 분류 모델일 수 있다.The neural network model training step (S10) is a step of learning weights of the neural network model using a training data set for which labeling or tagging of attribute values is completed. In this case, the neural network model may include not only an existing artificial neural network (ANN) but also CNN, RNN, and the like. In particular, the neural network model according to an embodiment of the present invention may be a classification model.
입력값 입력 단계(S11)는 신경망 모델의 입력층(input layer)에 테스트 세트이거나 실제 데이터 세트인 특정 입력값을 입력하는 단계이다. Input value input step S11 is a step of inputting a specific input value which is a test set or an actual data set to an input layer of the neural network model.
출력값 출력 단계(S12)는 신경망 모델에 S11에서 입력된 특정 입력값이 은닉층(hidden layer)를 지나 출력층(output layer)에서 출력되는 단계이다. S12에서는 특정 입력값이 신경망 모델에 의해 가중되면서 기설정된 속성들에 대한 특정 속성값을 갖는 행렬 또는 벡터 형태의 출력값으로 출력될 수 있다.The output value output step S12 is a step in which a specific input value input in S11 to the neural network model passes through a hidden layer and is output from an output layer. In S12, the specific input value is weighted by the neural network model and output as a matrix or vector output value having specific property values for the predetermined properties.
입력값 분류 단계(S13)는 S10의 트레이닝 세트를 클러스터링 등의 방법으로 분류하고, S11의 입력값을 플로팅(plotting)하는 단계이다. 이때, 클러스터링 이전에 트레이닝 세트와 입력값에 대해 2~3개의 속성으로 PCA 분석을 선행적으로 수행하거나, K-means, spectral clustering, N-cut을 통한 linear mapping, Auto encoder 기반의 non-linear mapping를 수행하여 클러스터링할 수 있다. The input value classification step S13 is a step of classifying the training set of S10 by clustering or the like and plotting the input value of S11. At this time, prior to clustering, PCA analysis is performed with two or three attributes on the training set and input values, or K-means, spectral clustering, linear mapping through N-cut, and non-linear mapping based on Auto encoder. Can be clustered by
입력값 분류 단계(S13)는 구체적으로 트레이닝 세트 클러스터링 단계, 입력값 플로팅 단계, 입력값 분류 단계로 수행될 수 있다. 트레이닝 세트 클러스터링 단계는 사용자 클라이언트나 서버와 같은 컴퓨팅 장치가 기학습된 신경망 모델의 학습에 이용된 트레이닝 세트에 대한 클러스터링을 수행하는 단계이다. 입력값 플로팅 단계는 사용자 클라이언트나 서버와 같은 컴퓨팅 장치가 상기 신경망 모델에 입력되는 입력값을 상기 트레이닝 세트의 클러스터링 분포에 플로팅(plotting)하는 단계이다. 입력값 분류 단계는 사용자 클라이언트나 서버와 같은 컴퓨팅 장치가 입력값이 트레이닝 세트의 클러스터링 분포 중 하나인 특정 클러스터에 포함되는지 여부를 판단하는 단계이다. The input value classification step S13 may be specifically performed as a training set clustering step, an input value floating step, and an input value classification step. The training set clustering step is a step in which a computing device such as a user client or a server performs clustering on a training set used for learning a neural network model that has been previously learned. The input plotting step is a step in which a computing device such as a user client or a server plots an input value input to the neural network model into a clustering distribution of the training set. The input value classification step is a step in which a computing device such as a user client or a server determines whether the input value is included in a specific cluster which is one of the clustering distributions of the training set.
트레이닝 세트의 클러스터링은 거리 기반 또는 확률(혹은 확률분포) 기반으로 수행할 수 있다. S13에서 이용될 수 있는 거리 기반의 클러스터링으로는 K-means 클러스터링이 대표적이다. K-means는 같은 클러스터에 속한 데이터는 서로 '가깝다' 라고 가정한다. 이때 각각의 클러스터마다 '중심'이 하나씩 존재하고, 각각의 데이터가 그 중심과 '얼마나 가까운가'를 cost로 정의한다. K-means는 이렇게 정의된 cost를 가장 줄이는 클러스터를 찾는 알고리즘이다. 수식으로 적으면 다음 수학식과 같다.Clustering of a training set may be performed based on distance or probability (or probability distribution). K-means clustering is representative of distance-based clustering that can be used in S13. K-means assumes that data belonging to the same cluster is 'close' to each other. At this time, there is one 'center' for each cluster, and 'how close to each center' is defined as cost. K-means is an algorithm that finds clusters that reduce the cost as defined. If the formula is written, the following equation is obtained.
수학식 1은 데이터는 n개 있으며 클러스터는 k개 있는 경우이다. 이때, bj는 j 번째 클러스터의 '중심'을 의미하며, wij는 i 번째 데이터가 j 번째 클러스터에 속하면 1, 아니면 0을 가지는 binary variable이다. 또한, 뒤에 붙는 조건은 반드시 각 데이터 별로 한 개의 클러스터에 assign이 되어야 한다는 constraint이다. K-means 알고리즘은 이렇게 b와 w를 alternative하게 계속 update하면서 b와 w가 더 이상 바뀌지 않을 때까지 계산을 반복하는 알고리즘이다. 안타깝게도 K-means는 global optimum에 수렴하지 않고 local한 optimum에 수렴하므로 initialization에 매우 취약하다는 단점이 존재한다. 그래서 신경망 모델의 데이터 전처리를 위해 k-means 클러스터링이 이용되지 않는 경향이 있다. 하지만, 본 발명의 일실시예에 따른 입력값에 대한 재학습 여부 결정 방법에서는 입력값을 unsupervised learning에 의해 전처리하는 과정으로 클러스터링을 이용하는 것이 아니라, 입력값에 대해 재학습 여부를 결정하는데 클러스터링을 이용하므로 local minimum으로도 신경망 모델의 성능 향상에 도움을 줄 수 있다.In
[규칙 제91조에 의한 정정 16.12.2016]
S13에서 이용될 수 있는 확률 혹은 확률 분포 기반의 클러스터링에는 GMM(Gaussian Mixture Model)이 대표적이다. Gaussian Mixture Model, Mixture of Gaussian, GMM, 혹은 MoG는 데이터가 'Gaussian'의 'Mixture'로 구성이 되어있다고 가정한다. 보통 GMM이라고 많이 부르며, 가장 optimal한 GMM을 찾는 알고리즘을 의미한다. 즉, 데이터가 k개의 Gaussian으로 구성되어 있다고 했을 때, 가장 데이터를 잘 설명하는 k개의 평균과 covariance를 찾는 알고리즘이다. [Revision 16.12.2016 under Rule 91]
A Gaussian Mixture Model (GMM) is typical for probability or probability distribution based clustering that can be used in S13. Gaussian Mixture Model, Mixture of Gaussian, GMM, or MoG assumes that the data consists of 'Mixture' of 'Gaussian'. Usually called GMM, it means the algorithm to find the most optimal GMM. In other words, if the data consists of k Gaussians, the algorithm finds the k averages and covariances that best describe the data.
[규칙 제91조에 의한 정정 16.12.2016]
[Revision 16.12.2016 under Rule 91]
GMM의 performance measure는 log likelihood function이다. 즉, 주어진 parameter에 대해 데이터 X의 확률을 가장 크게 만드는 parameter를 찾는 것이 목표가 된다. log likelihood는 ln p(X|θ)로 정의가 된다. parameter θ는 각각의 Gaussian의 평균 μj, covariance Σj, 그리고 각각의 데이터가 각각의 Gaussian에 속할 확률 πj로 구성된다. 따라서 주어진 μj,Σj에 대한 xi의 multinomial Gaussian distribution을 N(xi|μj,Σj)라고 정의한다면 log likelihood function은 다음 수학식과 같이 기술할 수 있다.GMM's performance measure is a log likelihood function. In other words, the goal is to find a parameter that gives the largest probability of data X for a given parameter. The log likelihood is defined as ln p (X | θ). The parameter θ consists of the average μj of each Gaussian, the covariance Σj, and the probability πj that each data belongs to each Gaussian. Therefore, if the multinomial Gaussian distribution of xi for a given μj, Σj is defined as N (xi | μj, Σj), the log likelihood function can be described as the following equation.
GMM을 풀기 위해서 사용되는 알고리즘 중 가장 유명한 알고리즘으로는 EM 알고리즘이 존재한다. GMM을 풀기 위한 EM 알고리즘은, 먼저 각각의 데이터가 어느 클러스터에 속할지에 대한 정보(예를 들어, z)를 업데이트 하여 expectation을 계산하고, 다음으로 업데이트 된 정보들을 사용해 나머지 값들로 가장 log likelihood를 최대화하는 parameter들을 (μ,Σ,π를) 찾아낸다. 알고리즘을 돌리면 iteration이 지날 때 마다 점점 좋은 값을 찾아준다. The most popular algorithm used to solve GMM is EM algorithm. The EM algorithm for solving the GMM first calculates the expectation by updating the information (e.g. z) on which cluster each data belongs to, and then uses the updated information to determine the most log likelihood of the remaining values. Find the parameters to maximize (μ, Σ, π). If you run the algorithm, it will find a better value each time iteration passes.
입력값 재학습 여부 결정 단계(S14)는 S13에서 분류된 각각의 클러스터에 입력값이 포함될 수 있는지 아닌지에 대해 결정하고, 입력값이 특정 클러스터에 포함되는 경우 이를 다시 트레이닝 세트로 입력하며, 입력값이 특정 클러스터에 포함되지 않는 경우 이를 버리는(vanish) 단계이다. 즉, 특정 클러스터의 중심값(centroid)에서의 거리 또는 확률(혹은 확률 분포)을 토대로 해당 입력값의 재학습 여부를 결정하는 단계이다. 이때, 재학습 여부의 결정에서는 K-means 클러스터링의 경우에는 거리 기반으로 특정 cut off value를 설정하여 출력값이 특정 클러스터에 포함되는지 여부를 결정할 수 있고, GMM(Gaussian Mixture Model)의 경우에는 확률 분포 기반으로 특정 σ에 해당되는지 여부를 통해 입력값이 특정 클러스터에 포함되는지 여부를 결정할 수 있다.The re-learning of input value determination step (S14) determines whether or not an input value can be included in each cluster classified in S13, and if the input value is included in a specific cluster, inputs it back into the training set, and input value If it is not included in this particular cluster, it is vanished. That is, the step of determining whether to re-learn the corresponding input value based on the distance or the probability (or probability distribution) in the centroid of the specific cluster. In this case, in the case of re-learning, it is possible to determine whether the output value is included in a specific cluster by setting a specific cut off value based on distance in case of K-means clustering, and based on probability distribution in case of GMM (Gaussian Mixture Model). For example, whether the input value is included in a specific cluster may be determined based on whether or not it corresponds to a specific σ.
도 6은 본 발명의 일실시예에 따른 S14 단계에서 입력값에 대한 재학습 여부를 결정하는 예시를 도시한 것이다. 도 6에 도시된 바와 같이, 클러스터링 된 트레이닝 세트의 특정 클러스터에 입력값이 해당되는지 여부를 통해 입력값에 대한 재학습 여부를 결정하게 된다. 예를 들어, 도 6에서 입력값 a는 클러스터 A에 포함되는 것으로 분류될 수 있으므로 재학습하기로 결정되고, 입력값 b는 클러스터 A, B 어디에도 분류되지 않으므로 재학습하지 않기로 결정된다.6 illustrates an example of determining whether to relearn an input value at step S14 according to an embodiment of the present invention. As shown in FIG. 6, whether the input value corresponds to a specific cluster of the clustered training set determines whether to relearn the input value. For example, in FIG. 6, the input value a may be classified as being included in the cluster A, and thus it is determined to relearn, and the input value b is not classified in the clusters A and B, so it is determined not to be relearned.
입력값 재학습 단계(S15)는 S14에서 재학습하기로 결정된 입력값에 대해 해당 신경망 모델에 대해 Back propagation 등의 방법으로 재학습을 수행하는 단계이다. 본 발명의 일실시예에 따르면 S15에 의해 재학습하기로 결정된 입력값은 S10의 트레이닝 세트에 포함되게 되며, S13의 각각의 클러스터의 중심(centroid)은 업데이트되게 된다. S14, S15를 통한 클러스터 중심의 업데이트에 의해 재학습이 반복(iteration)될수록 특정 클러스터의 속성이 각각의 사용자에 맞게 강화(다른 사용자의 데이터와 구별)되는 효과가 발생된다. 이는 이하의 실시예에서 사용자 맞춤형 신경망 모델의 구축에 도움을 준다. The input value relearning step (S15) is a step of re-learning the input value determined to be relearned in
도 7은 본 발명의 일실시예에 따른 S15 단계에서 트레이닝 세트의 클러스터 중심의 업데이트를 도시한 예시이다. 도 7에 도시된 바와 같이, 재학습하기로 한 입력값에 의해 클러스터의 중심이 업데이트되어, iteration을 수행할수록 신경망 모델의 성능 향상이 발생될 수 있다.7 is a diagram illustrating cluster-based updating of a training set in step S15 according to an embodiment of the present invention. As shown in FIG. 7, the center of the cluster is updated by the input value to be relearned, and as the iteration is performed, the performance improvement of the neural network model may occur.
본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법은, 컴퓨팅 장치에 의해 수행될 수 있도록 기록매체에 저장되는 컴퓨터 프로그램으로 구성될 수 있다. In the neural network model according to an embodiment of the present invention, the re-learning method for input values may be configured by a computer program stored in a recording medium to be performed by a computing device.
본 발명의 다른 실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법은, S14 단계에서 입력값의 특정 클러스터의 중심값(centeroid)과의 거리 또는 확률에 따라 입력값이 특정 클러스터에 속하는지에 대해 재학습 가중치라는 값을 정의하고, 재학습 가중치를 입력값에 적용하여 재학습하는 방식으로 수행될 수 있다. 이러한 본 발명의 다른 실시예에 따르면 입력값에 재학습 가중치를 부여하여 모두 트레이닝 세트에 넣어서 재학습하게 된다. 본 발명의 일실시예에 따라 특정 클러스터에 포함되지 않는 입력값을 버리는(vanash)하는 것은 본 발명의 다른 실시예에서는 입력값에 0의 재학습 가중치를 부여하는 것으로 대응될 수 있다. In the neural network model according to another embodiment of the present invention, the method of re-learning whether or not an input value belongs to a specific cluster according to the distance or probability with respect to the center value (centeroid) of the specific cluster of the input value in step S14. It can be performed by defining a value called re-learning weights for the target and re-learning by applying the re-learning weights to the input values. According to another exemplary embodiment of the present invention, re-learning weights are assigned to input values, and all of them are put in a training set to be relearned. Vanishing an input value that is not included in a particular cluster according to one embodiment of the present invention may correspond to giving a re-learning weight of zero to the input value in another embodiment of the present invention.
신경망 모델에서 입력값에 대한 재학습 여부 결정 장치Device for determining re-learning of input value in neural network model
본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치와 관련하여, 도 8은 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치를 도시한 모식도이다. 도 8에 도시된 바와 같이, 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치는 수신부(100)와 프로세서를 포함할 수 있다. Regarding the apparatus for determining re-learning of input values in a neural network model according to an embodiment of the present invention, FIG. 8 is a schematic diagram illustrating an apparatus for determining re-learning of input values in a neural network model. As shown in FIG. 8, the apparatus for determining re-learning of an input value in the neural network model may include a
본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치는 다양한 종류의 컴퓨팅 장치가 포함될 수 있다. 예를 들어, 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치는 서버 또는 클라이언트일 수 있다. 이 경우, 트레이닝 세트로서 수신되는 입력값에 대해 CNN, RNN 등을 포함하는 ANN을 이용하여 학습할 수 있고, 이를 기초로 하여 추후 테스트 세트로서 수신되는 입력값을 신경망 모델에 적용하여 모델의 성능을 검증할 수 있다. 이후, 실제 데이터 세트인 입력값을 신경망 모델에 적용하면 이에 맞는 출력값이 출력되게 된다.An apparatus for determining re-learning of input values in a neural network model according to an embodiment of the present invention may include various types of computing devices. For example, in the neural network model according to an embodiment of the present invention, the apparatus for determining re-learning of input values may be a server or a client. In this case, the input value received as a training set can be trained using ANN including CNN, RNN, etc. Based on this, the input value received later as a test set is applied to the neural network model to improve the performance of the model. Can be verified Subsequently, when an input value, which is an actual data set, is applied to the neural network model, an output value corresponding to the same is output.
수신부(100)는 스칼라값 또는 벡터값 등으로 구성된 입력값을 트레이닝 세트, 테스트 세트 또는 실제 데이터 세트로서 획득할 수 있다. 수신부(100)는 다양한 통신 기술로 구현 가능하며, 신경망 모델로 입력되는 입력값을 수신할 수 있다. The
프로세서는 샘플링 프로세서(101), 신경망 모델 컴퓨팅 프로세서(102), 신경망 모델 트레이닝 프로세서(103), 데이터 전처리 프로세서(104), 클러스터링 프로세서(105), 재학습 여부 결정 프로세서(106), 재학습 프로세서(107), 저장 프로세서(108)를 포함할 수 있다. The processor may include a
샘플링 프로세서(101)는 입력값 중 적어도 일부를 샘플링하여 트레이닝 세트 및 테스트 세트로 구분하는 구성이다. The
신경망 모델 컴퓨팅 프로세서(102)는 샘플링 프로세서(101)에서 테스트 세트로 구분된 입력값을 기학습된 신경망 모델에 입력하여 출력값을 도출하는 구성이다. 또한, 신경망 모델 컴퓨팅 프로세서(102)는 수신부(100)에서 실제 데이터 세트가 입력값으로 입력되는 경우, 기학습된 신경망 모델에 입력값을 적용하여 출력값을 계산하는 구성이다. The neural network
신경망 모델 트레이닝 프로세서(103)는 샘플링 프로세서(101)에서 트레이닝 세트로 구분된 데이터 세트나, 신경망 모델 컴퓨팅 프로세서(102)에 입력된 입력값 중 재학습하기로 결정된 입력값을 포함하는 트레이닝 세트를 이용하여 신경망 모델의 가중치를 업데이트, 학습하는 구성이다. The neural network
데이터 전처리 프로세서(104)는, 상기 입력값이 획득되면 입력값을 행렬 형태의 데이터로 변환하거나 변환하도록 지원하는 프로세스를 수행할 수 있다. When the input value is obtained, the
클러스터링 프로세서(105)는, 트레이닝 세트를 클러스터링하여 테스트 세트나 실제 데이터 세트의 입력값이 특정 클러스터에 포함되는지를 판단하기 위한 구성이다. The
재학습 여부 결정 프로세서(106)는, 입력값이 특정 클러스터에 포함되는 경우 해당 입력값을 재학습하기로 결정하고, 입력값이 특정 클러스터에 포함되지 않는 경우 해당 입력값을 재학습하지 않기로 결정하는 구성이다. 본 발명의 다른 실시예에 따르면, 재학습 여부 결정 프로세서(106)는 입력값이 특정 클러스터에 얼마나 가까운지에 따라 가중치를 부여하여 해당 입력값을 재학습하도록 구성될 수 있다.
재학습 프로세서(107)는, 재학습하기로 결정된 입력값을 다시 트레이닝 세트로 넣어, back propagation 등의 모델 학습 방법으로 신경망 모델의 가중치를 업데이트하고, 해당 입력값이 포함되는 클러스터의 중심을 업데이트하는 구성이다. The relearning
저장 프로세서(108)는, 재학습하지 않기로 결정된 입력값을 서버에 저장하는 구성이다.The
이하에서는 압력분포 정보를 이용한 압력 센싱 장치 및 방법을 토대로 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치를 설명하도록 한다. 본 발명의 범위는 압력분포 정보를 이용한 자세 분류에 한정되지 않고, 이미지 정보를 이용한 이미지 캡션 및 검색, 자연어 분석 등과 같은 ANN으로 해결되는 일반적인 application에 적용되는 것을 포함할 수 있다.Hereinafter, an apparatus for determining re-learning of input values in a neural network model according to an embodiment of the present invention will be described based on a pressure sensing device and a method using pressure distribution information. The scope of the present invention is not limited to posture classification using pressure distribution information, and may include those applied to general applications solved by ANN such as image caption and search using natural image information, natural language analysis, and the like.
압력분포 정보를 이용한 자세 분류 시스템 및 장치Posture classification system and device using pressure distribution information
도 9는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 시스템을 도시한 것이다. 도 9에 도시된 바와 같이 압력분포 정보를 이용한 자세 분류 시스템은 압력 센싱 장치(1, 압력분포 센서, 송수신부(100), 전원부 포함), 서버(6), DB(7), 사용자 클라이언트(8)를 포함할 수 있다.9 illustrates a posture classification system using pressure distribution information according to an embodiment of the present invention. As shown in FIG. 9, the posture classification system using the pressure distribution information includes a
압력 센싱 장치(1)는 사용자의 착석위치에 장착되어 사용자가 압력 센싱 장치 위에 앉았을 때, 압력분포를 센싱하여 출력하는 구성이다. 압력 센싱 장치(1)는 압력분포 센서(2), 송신부(3), 전원부(4), 제어부(5)를 포함할 수 있다. The
압력분포 센서(2)는 사용자의 착석 위치에 평면 또는 곡면으로 구성되는 복수개의 압전센서 또는 압력센서가 격자 형태로 분포된 구성을 의미할 수 있다. 압력분포 센서(2)에서는 각각의 압전센서 또는 압력센서에서 생성된 압력값이 컨버팅되어 이미지 또는 행렬 데이터로 형성된 압력분포 정보가 생성될 수 있다. The
송신부(3)는 압력분포 센서(2)에서 생성된 압력분포 정보를 제어부(5)가 요청한 특정 시간 간격에 따라 서버(6) 또는 사용자 클라이언트(8)에 송신하는 구성이다. 송신부(3)가 압력분포 정보를 사용자 클라이언트(8)로 송신하는 경우에는 BLE 등의 근거리 통신으로 송신할 수 있다.The
전원부(4)는 압력분포 센서(2), 송신부(3), 제어부(5)에 전원을 공급하는 구성이다. The
제어부(5)는 압력분포 센서(2)의 센싱 duration, 송신부(3)의 압력분포 정보 송신 등을 제어하는 구성이다.The
서버(6)는 압력 센싱 장치(1)에서 직접, 또는 사용자 클라이언트(8)를 통해 압력분포 정보를 수신하고, 사용자 클라이언트(8)에서 특정 압력분포 정보에 대한 레이블(label) 정보를 수신하여 트레이닝 세트를 구성하며, 해당 트레이닝 세트를 이용하여 신경망 모델을 학습하고, 해당 신경망 모델을 이용하여 사용자의 자세 정보를 분류하여 사용자 클라이언트(8)에 출력하는 구성이다.The
DB(7)는 서버(6)와 연결되어, 압력 센싱 장치(1)에서 수신되는 압력분포 정보를 시계열 순으로 저장하고, 사용자 클라이언트(8)에서 입력되는 레이블 정보를 해당 압력분포 정보에 연결하여 저장하는 구성이다.The
사용자 클라이언트(8)는 서버(6)와 연결되어, 서버(6)에서 압력분포 정보를 수신하거나, 특정 압력분포 정보에 대해 레이블 정보(현재 어떤 자세로 앉아 있는지)를 입력하여 서버(6)로 송신하고, 서버(6)에서 분류된 사용자의 자세 정보를 송신받아 디스플레이하는 구성이다. 본 발명의 일실시예에 따라 사용자 클라이언트(8)가 서버(6)와 압력 센싱 장치(1)의 Access Point 역할을 수행하는 경우에는, 압력분포 정보를 압력 센싱 장치(1)에서 직접 수신할 수 있고, 수신된 압력분포 정보를 서버(6)에 송신하여 신경망 모델을 이용해 사용자의 자세 정보를 분류, 예측할 수 있다. 또는, 사용자 클라이언트(8)의 컴퓨팅 파워가 충분한 경우, 사용자 클라이언트(8)에서 직접 신경망 모델을 컴퓨팅할 수 있다.The
도 10은 본 발명의 일실시예에 따른 자세 분류 시스템의 사용자 클라이언트에 디스플레이 되는 화면의 예를 도시한 것이다. 도 10에 도시된 바와 같이, 수신된 압력분포 정보(30)를 인코딩하여 디스플레이하거나, 분류된 사용자의 자세 정보(31)를 송신받아 디스플레이 할 수 있다. 10 illustrates an example of a screen displayed on a user client of a posture classification system according to an embodiment of the present invention. As shown in FIG. 10, the received
압력분포 정보를 이용한 자세 분류 방법Posture classification method using pressure distribution information
도 11은 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법을 도시한 흐름도이다. 도 11의 흐름도는 신경망 모델의 컴퓨팅은 사용자 클라이언트(8)에서 이루어지고, 재학습 여부 결정 및 클러스터 업데이트는 서버(6)에서 이루어지는 경우를 도시하고 있다. 도 11에 도시된 바와 같이, 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법은, 압력분포 정보 생성단계(S20), 압력분포 정보 송신 단계(S21), 자세 정보 출력 단계(S22), 출력된 자세 정보 송신 단계(S23), 압력분포 정보 플로팅 단계(S24), 재학습 여부 결정 단계(S25), 재학습 단계(S26), 가중치 업데이트 단계(S27), 클러스터 업데이트 단계(S28)를 포함할 수 있다. 11 is a flowchart illustrating a posture classification method using pressure distribution information according to an embodiment of the present invention. The flowchart of FIG. 11 shows a case where the computing of the neural network model is performed at the
압력분포 정보 생성단계(S20)는 압력 센싱 장치(1)에서 사용자의 착석에 따른 압력분포 정보를 생성하는 단계이다. Pressure distribution information generation step (S20) is a step of generating the pressure distribution information according to the user's seating in the pressure sensing device (1).
압력분포 정보 송신 단계(S21)는 압력 센싱 장치(1)에서 사용자 클라이언트(8)에 압력분포 정보를 근거리 통신을 이용하여 송신하는 단계이다. The pressure distribution information transmitting step S21 is a step in which the
자세 정보 출력 단계(S22)는 사용자 클라이언트(8)에서 수신한 압력분포 정보를 테스트 세트로 하여 기학습된 신경망 모델을 적용하고, 자세 정보를 출력하는 단계이다.The posture information output step S22 is a step of applying the neural network model learned by using the pressure distribution information received from the
압력분포 정보 송신 단계(S23)는 사용자 클라이언트(8)에서 압력분포 정보를 서버(6)에 송신하는 단계이다. The pressure distribution information transmitting step S23 is a step of transmitting the pressure distribution information to the
압력분포 정보 플로팅 단계(S24)는 서버(6)에서 거리 또는 확률 기반으로 클러스터링 된 트레이닝 세트의 클러스터 정보에 수신된 압력분포 정보를 플로팅하는 단계이다.Pressure distribution information plotting step (S24) is a step of plotting the pressure distribution information received in the cluster information of the training set clustered on the basis of distance or probability in the server (6).
재학습 여부 결정 단계(S25)는 서버(6)에서 압력분포 정보가 특정 클러스터에 포함되는지 여부를 통해 재학습 여부를 결정하는 단계이다. The re-learning determination step (S25) is a step of determining whether or not re-learning through whether or not the pressure distribution information is included in the specific cluster in the server (6).
재학습 단계(S26)는 서버(6)에서 재학습하기로 결정한 압력분포 정보에 대해 Back propagation 등의 방법으로 신경망 모델의 가중치를 재학습하는 단계이다. The re-learning step (S26) is a step of re-learning the weight of the neural network model by the back propagation method on the pressure distribution information determined to be re-learned by the
가중치 업데이트 단계(S27)는 서버(6)에서 재학습되어 업데이트된 신경망 모델의 가중치를 사용자 클라이언트(8)에 송신하는 단계이다. The weight updating step S27 is a step of transmitting the weight of the neural network model retrained by the
클러스터 업데이트 단계(S28)는 서버(6)가 재학습하기로 결정한 압력분포 정보를 이용하여 트레이닝 세트의 클러스터 정보에서 클러스터의 중심(centroid)를 업데이트하는 단계이다.The cluster update step (S28) is a step of updating the centroid of the cluster in the cluster information of the training set by using the pressure distribution information determined by the
본 발명의 다른 실시예에 따르면, S25에서 압력분포 정보에 재학습 가중치가 결정될 수 있다. 재학습 가중치는 해당 압력분포 정보가 특정 클러스터의 중심값(centroid)에 얼마나 떨어져있는지(거리 또는 확률)로 결정되도록 정의될 수 있다. 또한, 본 발명의 다른 실시예에 따르면 S26에서 압력분포 정보에 재학습 가중치가 적용된 상태에서 신경망 모델의 가중치를 재학습될 수 있다. 예를 들어, 특정 입력값이 특정 클러스터에 포함되면 1의 가중치로 신경망 모델의 재학습에 영향을 주고, 특정 입력값이 특정 클러스터에 포함되지 않으면 0의 가중치로 신경망 모델 재학습에 영향을 주도록 구성될 수 있다.According to another embodiment of the present invention, the re-learning weight may be determined in the pressure distribution information in S25. The re-learning weight may be defined to determine how far (distance or probability) the corresponding pressure distribution information is from the centroid of a particular cluster. In addition, according to another embodiment of the present invention, the weight of the neural network model may be re-learned in the state where the re-learning weight is applied to the pressure distribution information in S26. For example, if a specific input is included in a specific cluster, a weight of 1 affects the relearning of the neural network model, and if a particular input is not included in a particular cluster, a weight of 0 is used to affect the neural network model relearning. Can be.
도 12는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법의 실험결과 그래프를 도시한 것이다. 도 12에서 X축은 evolution, Y축은 accuracy(%)를 나타내고 있다. 도 12는 64개의 압력센서를 설치한 의자에 9개의 자세를 학습한 모델을 이용한 실험예이고, evolution n에서의 입력값을 이용하여 본 발명의 일실시예에 따라 모델에 재학습을 시킨 뒤, evolution n+1을 실험한 것이다. 도 12에 도시된 바와 같이, 본 발명의 일실시예에 따르면 evolution 3 이후부터 모든 자세에서 80% 이상의 분류 정확도가 나오는 것을 확인할 수 있다.12 is a graph showing an experiment result of a posture classification method using pressure distribution information according to an embodiment of the present invention. In FIG. 12, the X axis represents evolution, and the Y axis represents accuracy (%). 12 is an experimental example using a model in which nine postures are learned in a chair provided with 64 pressure sensors, and after re-learning the model according to an embodiment of the present invention using an input value of evolution n, This is an experiment of
도 13은 기존의 재학습 방법의 압력분포 정보를 이용한 자세 분류 방법의 실험 결과 그래프이다. 도 13에 도시된 바와 같이, 본 발명의 일실시예에 따른 재학습 여부 결정이 없이 노이즈를 포함한 데이터 전부를 재학습하는 경우, evolution 6 이후부터 모든 자세에서 80% 이상의 분류 정확도가 나오는 것을 확인할 수 있다. FIG. 13 is a graph of an experiment result of a posture classification method using pressure distribution information of a conventional relearning method. As shown in FIG. 13, when re-learning all data including noise without re-learning according to an embodiment of the present invention, it can be seen that classification accuracy of 80% or more appears in all postures after
도 14는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법과 기존 방법의 평균 정확도 비교 그래프이다. 도 14에서 "noised"는 기존의 방법을 의미하고, "cleaned"는 본 발명의 일실시예에 따라 재학습 여부 결정 단계를 포함하는 방법을 의미한다. 도 14에 도시된 바와 같이, 본 발명의 일실시예에 따른 경우의 모델이 훨씬 더 빠른 정확도 상승을 보여주는 것을 확인할 수 있다. 즉, 본 발명의 일실시예에 따른 경우가 기존보다 더 적은 evolution data로도 더 좋은 성능을 내는 모델을 만들 수 있다는 점을 확인할 수 있다. 도 14에 따르면 본 발명의 일실시예에 따르는 경우 evolution 1 이후부터 평균 80%의 정확도가 보장되고, 기존의 방법에 따르는 경우 evolution 3 이후부터 평균 80%의 정확도가 보장되는 것을 확인할 수 있다. 14 is a graph comparing average accuracy of a posture classification method using a pressure distribution information and a conventional method according to an embodiment of the present invention. In FIG. 14, "noised" means an existing method, and "cleaned" means a method including a re-learning determining step according to an embodiment of the present invention. As shown in Figure 14, it can be seen that the model in accordance with an embodiment of the present invention shows a much faster rise in accuracy. In other words, it can be seen that the case in which the performance according to the embodiment of the present invention can produce a better performance with less evolutionary data than before. According to an embodiment of the present invention according to an embodiment of the present invention is guaranteed an average of 80% accuracy since
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 청구범위에 의하여 나타내어지며, 청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.As described above, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features. Therefore, the above-described embodiments are to be understood in all respects as illustrative and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and it should be construed that all changes or modifications derived from the meaning and scope and equivalent concept of the claims are included in the scope of the present invention.
Claims (7)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/KR2016/013431 WO2018092957A1 (en) | 2016-11-21 | 2016-11-21 | Method, device and program for determining for re-learning with respect to input value in neural network model |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/KR2016/013431 WO2018092957A1 (en) | 2016-11-21 | 2016-11-21 | Method, device and program for determining for re-learning with respect to input value in neural network model |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018092957A1 true WO2018092957A1 (en) | 2018-05-24 |
Family
ID=62146434
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2016/013431 Ceased WO2018092957A1 (en) | 2016-11-21 | 2016-11-21 | Method, device and program for determining for re-learning with respect to input value in neural network model |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2018092957A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111678679A (en) * | 2020-05-06 | 2020-09-18 | 内蒙古电力(集团)有限责任公司电力调度控制分公司 | Circuit breaker fault diagnosis method based on PCA-BPNN |
| CN113177627A (en) * | 2021-01-11 | 2021-07-27 | 联合微电子中心(香港)有限公司 | Optimization system, retraining system, and method thereof, and processor and readable medium |
| US20230038415A1 (en) * | 2020-02-07 | 2023-02-09 | Fanuc Corporation | Diagnosis device |
| CN116170328A (en) * | 2022-12-16 | 2023-05-26 | 中国电信股份有限公司 | Method and device for bandwidth prediction of graphic coding |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020184569A1 (en) * | 2001-04-25 | 2002-12-05 | O'neill Michael | System and method for using neural nets for analyzing micro-arrays |
| KR20050007306A (en) * | 2002-04-19 | 2005-01-17 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | Processing mixed numeric and/or non-numeric data |
| KR20080078292A (en) * | 2007-02-23 | 2008-08-27 | 재단법인서울대학교산학협력재단 | Progressive Pattern Classification Method Based on Region Density Representation |
| KR20080086449A (en) * | 2005-12-19 | 2008-09-25 | 마이크로소프트 코포레이션 | A system that facilitates analysis of handwriting, a machine implementation method that facilitates providing handwriting recognition, and a machine implementation system that facilitates analysis of writing |
| KR101251873B1 (en) * | 2012-12-20 | 2013-04-10 | 동국대학교 산학협력단 | Method for controlling building air conditioning system by using intelligent control algorithm |
-
2016
- 2016-11-21 WO PCT/KR2016/013431 patent/WO2018092957A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020184569A1 (en) * | 2001-04-25 | 2002-12-05 | O'neill Michael | System and method for using neural nets for analyzing micro-arrays |
| KR20050007306A (en) * | 2002-04-19 | 2005-01-17 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | Processing mixed numeric and/or non-numeric data |
| KR20080086449A (en) * | 2005-12-19 | 2008-09-25 | 마이크로소프트 코포레이션 | A system that facilitates analysis of handwriting, a machine implementation method that facilitates providing handwriting recognition, and a machine implementation system that facilitates analysis of writing |
| KR20080078292A (en) * | 2007-02-23 | 2008-08-27 | 재단법인서울대학교산학협력재단 | Progressive Pattern Classification Method Based on Region Density Representation |
| KR101251873B1 (en) * | 2012-12-20 | 2013-04-10 | 동국대학교 산학협력단 | Method for controlling building air conditioning system by using intelligent control algorithm |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230038415A1 (en) * | 2020-02-07 | 2023-02-09 | Fanuc Corporation | Diagnosis device |
| CN111678679A (en) * | 2020-05-06 | 2020-09-18 | 内蒙古电力(集团)有限责任公司电力调度控制分公司 | Circuit breaker fault diagnosis method based on PCA-BPNN |
| CN113177627A (en) * | 2021-01-11 | 2021-07-27 | 联合微电子中心(香港)有限公司 | Optimization system, retraining system, and method thereof, and processor and readable medium |
| CN113177627B (en) * | 2021-01-11 | 2024-05-10 | 联合微电子中心有限责任公司 | Optimization system, retraining system, method thereof, processor and readable medium |
| CN116170328A (en) * | 2022-12-16 | 2023-05-26 | 中国电信股份有限公司 | Method and device for bandwidth prediction of graphic coding |
| CN116170328B (en) * | 2022-12-16 | 2025-03-28 | 中国电信股份有限公司 | Method and device for predicting bandwidth used in graphics coding |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102031982B1 (en) | A posture classifying apparatus for pressure distribution information using determination of re-learning of unlabeled data | |
| Liang et al. | Exploring adversarial attack in spiking neural networks with spike-compatible gradient | |
| Akrout et al. | Deep learning without weight transport | |
| Mohandes et al. | Arabic sign language recognition using the leap motion controller | |
| CN114090780B (en) | A fast image classification method based on cue learning | |
| Patwary et al. | Sensitivity analysis on initial classifier accuracy in fuzziness based semi-supervised learning | |
| US20080005048A1 (en) | Multi-layer developmental network having in-place learning | |
| WO2019027208A1 (en) | Training method for artificial neural network | |
| Wang et al. | Robust CSI-based human activity recognition with augment few shot learning | |
| KR20160102690A (en) | Neural network training method and apparatus, and recognizing method | |
| WO2018092957A1 (en) | Method, device and program for determining for re-learning with respect to input value in neural network model | |
| WO2018212584A2 (en) | Method and apparatus for classifying class, to which sentence belongs, using deep neural network | |
| CN114419379A (en) | System and method for improving fairness of deep learning model based on antagonistic disturbance | |
| Leung et al. | On the selection of weight decay parameter for faulty networks | |
| Musakulova et al. | Synthesis of the backpropagation error algorithm for a multilayer neural network with nonlinear synaptic inputs | |
| KR101880547B1 (en) | Method for extracting a feature vector of video using similarity measure | |
| Barreto et al. | A self-organizing NARX network and its application to prediction of chaotic time series | |
| Rahman et al. | Continual learning in sensor-based human activity recognition with dynamic mixture of experts | |
| WO2020189704A1 (en) | Neural network device, neural network system, processing method, and recording medium | |
| JP2021099702A (en) | Learning device, learning method, and learnt model | |
| Shatnawi et al. | Face recognition using eigen-faces and extension neural network | |
| Xiao et al. | Training artificial neural networks by generalized likelihood ratio method: An effective way to improve robustness | |
| WO2022086063A1 (en) | Method and device for calculating style information on social network service account | |
| WO2021137320A1 (en) | Apparatus for classifying abnormal data using artificial neural network | |
| JP5458791B2 (en) | Associative memory device, associative memory method, and program |
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: 16921987 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: 16921987 Country of ref document: EP Kind code of ref document: A1 |