WO2022203127A1 - 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치 - Google Patents

객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치 Download PDF

Info

Publication number
WO2022203127A1
WO2022203127A1 PCT/KR2021/009040 KR2021009040W WO2022203127A1 WO 2022203127 A1 WO2022203127 A1 WO 2022203127A1 KR 2021009040 W KR2021009040 W KR 2021009040W WO 2022203127 A1 WO2022203127 A1 WO 2022203127A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
learning
detection
classification
input
Prior art date
Application number
PCT/KR2021/009040
Other languages
English (en)
French (fr)
Inventor
박영현
정종희
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to CN202180080052.2A priority Critical patent/CN116615724A/zh
Publication of WO2022203127A1 publication Critical patent/WO2022203127A1/ko
Priority to US18/186,101 priority patent/US20230229918A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Definitions

  • the present invention relates to a technique for continuous learning of a neural network model, and more particularly, to a method for continuous learning of an object anomaly detection and state classification model, and an apparatus therefor.
  • Conventional anomaly detection or state analysis methods have been configured and provided in the form of learning data of a normal category for a specific environment, and detecting and analyzing anomalies when data in a form deviating from the normal category is input.
  • the method appropriately performs anomaly detection or state classification after being trained once in a situation in which the environment does not change significantly, but when the environment changes, an error of erroneously judging the normal category data of the changed environment as an abnormal situation may occur.
  • An object of the present invention is to provide a method and an apparatus for continuous learning of object anomaly detection and state classification models.
  • the detection and classification device acquires information about a medium for detecting anomaly from an inspection object. generating, by the detection and classification device, an input value that is a feature vector matrix including a plurality of feature vectors from the noise; Deriving a restored value simulating the input value through a learned detection network, and determining, by the detection classification device, whether a restoration error representing a difference between the input value and the restored value is greater than or equal to a pre-calculated reference value and, when the detection and classification device determines that the restoration error is less than the reference value, storing the input value as normal data.
  • the step of deriving the restored value includes calculating a classification value indicating the probability that the input value belongs to the category of abnormality through the classification network trained to calculate the probability that the detection and classification device belongs to the category of abnormality with respect to the input value. further comprising steps.
  • the detection and classification device determines whether the restoration error is equal to or greater than the reference value, it is determined whether the classification value is equal to or greater than a preset threshold.
  • the method further includes the steps of: determining, by the detection and classification device, if the classification value is greater than or equal to a preset threshold as a result of the determination, the detection unit storing the input value as category data.
  • the method includes the steps of: detecting, by the detection classification device, the occurrence of an event requiring model update; The method further includes learning using the stored normal data, or if more than a preset number of category data is stored, learning the classification network using the stored category data.
  • the learning step includes the steps of: the detection and classification device initializes a detection network; the detection and classification device inputs the stored normal data as an input value for learning into the initialized detection network; Selectively calculating a compressed or uncompressed latent value from an input value; calculating, by the detection and classification device, the restored value from the latent value; calculating a loss that is a difference between , and performing, by the detection and classification device, optimization of updating parameters of the detection network so that the loss is minimized.
  • the learning includes the steps of: initializing the classification network by the detection and classification device; preparing, by the detection and classification device, a label corresponding to the category of the stored category data to provide an input value for learning; inputting an input value for learning into the initialized classification network and calculating, by the detection and classification device, a classification value from the input value for learning by performing an operation in which a weight between a plurality of layers is applied; calculating a classification loss representing a difference between a classification value and the label; and performing, by the learning unit, optimization of updating a parameter of the classification network so that the classification loss is minimized.
  • An apparatus for continuous learning of an object anomaly detection and state classification model for achieving the above object includes a plurality of feature vectors from information on a medium for detecting anomaly from an inspection object A data processing unit for generating an input value that is a feature vector matrix of and a detector configured to determine whether a restoration error indicating a difference between the restoration value and the restoration value is greater than or equal to a pre-calculated reference value, and to store the input value as normal data when the restoration error is less than the reference value.
  • the detector calculates a classification value indicating a probability that the input value belongs to the abnormal state category through a classification network trained to calculate a probability that the input value belongs to the abnormal state category.
  • the detector determines whether the classification value is greater than or equal to a preset threshold when the restoration error is greater than or equal to the reference value, and stores the input value as category data when the classification value is greater than or equal to a preset threshold.
  • the device detects the occurrence of an event requiring model update, and if more than a preset number of normal data is stored as the occurrence of the event is detected, the detection network is trained using the stored normal data, or a preset number of normal data is stored.
  • the method further includes a learning unit for learning the classification network using the stored category data.
  • the learning unit initializes the detection network, inputs the stored normal data as an input value for learning into the initialized detection network, and then the encoder of the detection network selectively compresses or uncompressed latent values from the learning input value. calculating, and when the decoder of the detection network calculates the restored value from the latent value, calculating a loss that is a difference between the restored value and an input value for learning, and updating the parameters of the detection network so that the loss is minimized It is characterized by performing optimization.
  • the learning unit initializes the classification network, prepares an input value for learning by setting a label corresponding to a category of the stored category data, and inputs the learning input value into the initialized classification network, When a classification value is calculated from the input value for learning by performing an operation in which an inter-layer weight is applied, a classification loss representing a difference between the classification value and the label is calculated, and the parameters of the classification network are set to minimize the classification loss. It is characterized in that the update optimization is performed.
  • the learning unit includes an encoder, an autoencoder model including a decoder, an encoder, a decoder, and a discriminator, respectively, as a single adversarial adversarial network (Generative Adversarial Network), single or a plurality of It is characterized in that it includes any one of a generative artificial neural network selectively including an encoder, a decoder, and a classifier.
  • a single adversarial adversarial network Generic Adversarial Network
  • the learning unit generates the mean square loss of the input value and the restored value, or uses the restoration error, and when using the classifier, uses the mean square loss of the discriminator output for the actual input and the generated input as the discrimination error, and the user
  • the restoration error and the discrimination error are set according to the user input.
  • the present invention by continuously collecting learning data and updating a model, it is possible to adaptively detect a state abnormality even in a change of an environment.
  • FIG. 1 is a block diagram for explaining the configuration of an apparatus for object anomaly detection and state classification according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a detailed configuration of an apparatus for object abnormality detection and state classification according to an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining the configuration of a detection network according to an embodiment of the present invention according to an embodiment of the present invention.
  • FIG. 4 is a diagram for explaining the configuration of a classification network according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method of generating an input value according to an embodiment of the present invention.
  • FIG. 6 is a diagram for explaining a method of generating an input value according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a learning method for a detection network for object anomaly detection according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a learning method for a classification network for state classification according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a method for continuous learning of an object anomaly detection and state classification model according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a method for continuous learning of an object anomaly detection and state classification model according to an embodiment of the present invention.
  • the second component may be referred to as the first component, and similarly, the first component may also be referred to as the second component.
  • an element when referred to as being “connected” or “connected” to another element, it means that it is logically or physically connected or can be connected. In other words, it should be understood that a component may be directly connected or connected to another component, but another component may exist in the middle, and may be indirectly connected or connected.
  • embodiments within the scope of the present invention include computer-readable media having or carrying computer-executable instructions or data structures stored thereon.
  • Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer system.
  • Such computer-readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer-executable instructions, computer-readable instructions, or data structures. It may include, but is not limited to, a physical storage medium such as any other medium that can be used to store or convey any program code means in .
  • a “network” is defined as one or more data links that enable the transfer of electronic data between computer systems and/or modules.
  • a network or other communication connection wireless, wireless, or a combination of wired or wireless
  • the connection may be understood as a computer-readable medium.
  • Computer readable instructions include, for example, instructions and data that cause a general purpose computer system or special purpose computer system to perform a particular function or group of functions.
  • the computer executable instructions may be, for example, binary, intermediate format instructions such as assembly language, or even source code.
  • the present invention relates to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers. It can be applied in a network computing environment having various types of computer system configurations including (pager) and the like.
  • the invention may also be practiced in distributed system environments where both local and remote computer systems linked through a network by a wired data link, a wireless data link, or a combination of wired and wireless data links perform tasks.
  • program modules may be located in local and remote memory storage devices.
  • an apparatus for object abnormality detection and state classification according to an embodiment of the present invention.
  • 1 is a block diagram for explaining the configuration of an apparatus for object anomaly detection and state classification according to an embodiment of the present invention.
  • 2 is a block diagram illustrating a detailed configuration of an apparatus for object abnormality detection and state classification according to an embodiment of the present invention.
  • an apparatus 10 (hereinafter, abbreviated as detection and classification apparatus) for object anomaly detection and state classification according to an embodiment of the present invention includes an audio unit 11, an input unit 12, and a display unit 13. , a storage unit 14 and a control unit 15 .
  • the audio unit 11 includes a microphone (MIK) for collecting audio signals such as sound, which is a medium for detecting abnormalities according to an embodiment of the present invention. That is, the audio unit 11 transmits a sound input through the microphone MIK, for example, an audio signal such as noise, to the controller 15 . Also, the audio unit 11 further includes a speaker SPK for outputting an audio signal. The audio unit 11 may output an audio signal through the speaker SPK under the control of the control unit 15 .
  • the detection and classification apparatus 10 is illustrated as including only the audio unit 11 , but the detection and classification apparatus 10 is not limited to the audio unit 11 and includes various sensors as well as the audio unit 11 . It may include a measuring unit (not shown) that includes. That is, the detection and classification device 10 includes various sensors such as an image sensor and a fine dust sensor, and the medium for detecting an abnormality from an inspection target is not limited to noise but can be extended to images, fine dust, and the like.
  • the input unit 12 receives a user's key operation for controlling the detection and classification device 10 , generates an input signal, and transmits the generated input signal to the control unit 15 .
  • the input unit 12 may include any one of a power key, a number key, and a direction key for power on/off, and may be formed as a predetermined function key on one surface of the detection and classification device 10 .
  • the display unit 13 is formed of a touch screen, the functions of various keys of the input unit 12 may be performed on the display unit 13, and when all functions can be performed only with the touch screen, the input unit 12 may be omitted. may be
  • the display unit 13 visually provides a menu of the detection and classification device 10, input data, function setting information, and various other information to the user.
  • the display unit 13 performs a function of outputting various screens such as a boot screen, a standby screen, and a menu screen of the detection and classification device 10 .
  • the display unit 13 may be formed of a liquid crystal display (LCD), an organic light emitting diode (OLED), an active matrix organic light emitting diode (AMOLED), or the like. Meanwhile, the display unit 13 may be implemented as a touch screen. In this case, the display unit 13 may include a touch sensor, and the controller 15 may sense a user's touch input through the touch sensor.
  • the touch sensor may be composed of a touch sensing sensor such as a capacitive overlay, a pressure type, a resistive overlay, or an infrared beam, or may be composed of a pressure sensor. .
  • a touch sensing sensor such as a capacitive overlay, a pressure type, a resistive overlay, or an infrared beam
  • the touch sensor detects a user's touch input, generates a detection signal, and transmits it to the controller 15 .
  • the detection signal may include coordinate data input by the user.
  • the touch sensor may generate a detection signal including coordinate data of the touch position movement path and transmit it to the controller 15 .
  • the storage unit 14 serves to store programs and data necessary for the operation of the detection and classification device 10 , and may be divided into a program area and a data area.
  • the program area may store a program for controlling the overall operation of the detection classification apparatus 10 , an operating system (OS) for booting the detection classification apparatus 10 , an application program, and the like.
  • the data area is an area in which data generated according to the use of the detection and classification device 10 is stored.
  • the storage unit 14 may store various types of data generated according to the operation of the detection and classification device 10 .
  • the control unit 15 may control the overall operation of the detection classification apparatus 10 and a signal flow between internal blocks of the detection classification apparatus 10 , and perform a data processing function of processing data.
  • the controller 15 may be a central processing unit (CPU), an application processing unit (APU), an accelerated processing unit (APU), a graphic processing unit (GPU), a neural processing unit (NPU), or the like.
  • control unit 15 includes a learning unit 100 , a data processing unit 200 , a detection unit 300 , and a notification unit 400 .
  • the learning unit 100 is for deep learning of a detection network (DN: Detection Network) and a classification network (CN: Classification Network) that are a learning model (Deep Learning Model: DLM) according to an embodiment of the present invention.
  • the learning detection network DN and classification network CN are transmitted to the detection unit 300 and executed by the detection unit 300 .
  • the data processing unit 200 generates an input value that is a feature vector matrix including a plurality of feature vectors from the noise received from the audio unit 11 .
  • the generated input value is input to the detector 300 .
  • the data processing unit 200 may generate an input value that is a feature vector command by using information about a medium for detecting an abnormality received from the measurement unit.
  • the detection unit 300 is basically to analyze the noise converted into an input value using the detection network (DN) on which the learning has been completed to detect whether there is an abnormality in the inspection target that emits the noise.
  • the detection unit 300 may be used as an input value for learning used when updating a model according to an environmental change as normal data indicating a normal state or category data belonging to an abnormal state according to the analysis result of the input value. It is possible to classify and store the corresponding data in the storage unit 14 .
  • the notification unit 400 outputs a warning sound through the speaker SPK of the audio unit 11 so that the detected abnormal state is notified when the detection unit 300 detects an abnormality of the test target, and through the display unit 13 . Print a warning message.
  • control unit 13 including the learning unit 100 , the data processing unit 200 , the detection unit 300 , and the notification unit 400 will be described in more detail below.
  • the detection network DN includes an encoder (EN) and a decoder (DE).
  • the detection network DN including the encoder EN and the decoder DE includes a plurality of layers, and the plurality of layers includes a plurality of operations. In addition, a plurality of layers are connected by a weight (w: weight).
  • the calculation result of one layer is weighted and becomes the input of the node of the next layer. That is, one layer of the detection network (DN) receives a weighted value from the previous layer, performs an operation on it, and transfers the operation result to the input of the next layer.
  • the encoder (EN) selectively reduces the dimension of the input value (x) or performs a plurality of operations in which a weight between a plurality of layers is applied without reducing the dimension to obtain a latent vector (Latent).
  • Vector which is a latent value (z)
  • the decoder DE generates a restored value x' by selectively reducing a dimension of the latent value z or performing a plurality of operations in which a weight between a plurality of layers is applied without reducing a dimension. That is, the input value is a feature vector matrix including a plurality of feature vectors, and is two-dimensional (the number of elements of the feature vector X the number of feature vectors).
  • the dimension may be reduced from 2D to 1D.
  • the present invention selectively reduces the dimension or generates the latent value z and the restored value x' from the input value x without reducing the dimension.
  • the encoder EN includes an Enlarge Layer (EL) and at least one Convolution Layer (CL).
  • a pooling layer (PL) may be further included between the convolutional layers CL of the encoder EN.
  • the decoder DE includes at least one convolution layer (CL).
  • a pooling layer PL may be further included between the convolutional layers CL of the decoder DE.
  • the enhancement layer EL selectively reduces a dimension with respect to the input value x, or generates a feature map having a size larger than the input value in order to perform an operation without reducing the dimension.
  • the convolution layer CL generates a feature map by performing a convolution operation and an operation by an activation function.
  • the pooling layer PL generates a feature map by performing a Max Pooling operation.
  • the feature map generated by the last layer of the encoder EN is the latent value z
  • the feature map generated by the last layer of the decoder DE is the restored value x'.
  • CN classification network
  • the classification network CN includes an input layer (IL), at least a pair of alternately repeated convolution layers (CL) and a pooling layer (PL), at least one It may include a fully-connected layer (FL) and an output layer (OL).
  • the deep neural network 400 sequentially includes an input layer (IL), a first convolutional layer (CL1), a first pooling layer (PL1), and a second convolutional layer (PL1). It includes a solution layer CL2 , a second pulling layer PL2 , a fully connected layer FL and an output layer OL.
  • the convolutional layers CL1 and CL2 and the pooling layers PL1 and PL2 include at least one feature map (FM).
  • the feature map FM is derived as a result of receiving a value to which a weight w is applied to the operation result of the previous layer, and performing an operation on the input value.
  • a weight w may be applied through a filter or a kernel w which is a weight matrix of a predetermined size.
  • the first convolution layer CL1 When an input value (a matrix or vector column of a predetermined size) is input to the input layer IL, the first convolution layer CL1 performs convolution ( convolution) operation and an activation function to derive at least one first feature map FM1.
  • the first pooling layer PL1 performs a pooling or sub-sampling operation using a filter or a kernel w on at least one first feature map FM1 of the convolutional layer CL to at least One second feature map FM2 is derived.
  • the second convolution layer CL2 performs a convolution operation using a filter or a kernel w on the second feature map FM2 and an operation by an activation function to perform at least one third feature map ( FM3) is derived.
  • the second pooling layer PL2 performs a pooling or sub-sampling operation using a filter or a kernel w on at least one third feature map FM3 of the second convolution layer CL2.
  • at least one fourth feature map FM4 is derived.
  • the final connection layer FL consists of a plurality of operation nodes.
  • the plurality of operation nodes of the final connection layer FL calculates a plurality of operation values through operation by an activation function with respect to at least one fourth feature map FM4 of the second pooling layer PL2 .
  • the output layer OL includes one or more output nodes.
  • Each of the plurality of operation nodes f1 to fx of the final connection layer FL is connected to an output node of the output layer OL through a channel having a weight w.
  • a plurality of operation values of the plurality of operation nodes are weighted and input to the output node.
  • the output node of the output layer OL calculates a classification value through an activation function operation for a plurality of calculated values to which the weight of the final connection layer FL is applied.
  • the classification value indicates the probability that the input value is data belonging to the category corresponding to the output node.
  • Activation functions used in the above-described convolutional layer (CL), final connection layer (FL) and output layer (OL) are Sigmoid, Hyperbolic tangent (tanh), Exponential Linear Unit (ELU), and ReLU. (Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax, etc. may be exemplified. Any one of these activation functions may be selected and applied to the convolutional layer CL, the final connection layer FL, and the output layer OL.
  • the classification network (CN) includes a plurality of layers.
  • the plurality of layers of the classification network (CN) includes a plurality of operations.
  • the calculation result of each of the plurality of layers is weighted and transmitted to the next layer.
  • the deep neural network 400 may calculate a classification value by performing a plurality of operations to which the weights of a plurality of layers are applied to the input value, and may output the calculated classification value.
  • an input value according to an embodiment of the present invention is an audio signal such as noise.
  • Such an input value may be the audio signal itself or a signal obtained by detecting a feature in the audio signal, but is not limited thereto.
  • an exemplary method of generating an input value will be described.
  • 5 is a flowchart illustrating a method of generating an input value according to an embodiment of the present invention.
  • 6 is a diagram for explaining a method of generating an input value according to an embodiment of the present invention.
  • the audio unit 11 acquires noise generated from the test target through the microphone (MIC) in step S110 and provides it to the data processing unit 200 of the control unit 15 .
  • the noise generated from the inspection target is noise generated from the engine of the vehicle, noise generated by friction between the wheels of the vehicle and the road surface while the vehicle is running, noise generated from production facilities in a factory, home appliances, such as the rear of the refrigerator noise generated by the
  • the data processing unit 200 applies a sliding window w having a predetermined time length (t, for example, 20-40 ms) to the noise n continuously input through the audio unit 11 in step S120, A mel spectrogram (s: mel-spectrogram) indicating the intensity and frequency distribution of the noise (n) according to the mel-scaled in the window (w) unit is extracted.
  • t a predetermined time length
  • s mel-spectrogram
  • the data processing unit 200 calculates a time average for the Mel spectral waveform (s) extracted in step S130 and compresses the Mel spectral waveform (s) into MFCC (Mel-Frequency Cepstral Coefficient) to obtain a feature vector ( v) is created.
  • MFCC Mel-Frequency Cepstral Coefficient
  • the data processing unit 200 determines whether a predetermined number of feature vectors v are generated in step S140 to form a feature vector matrix. For example, it is assumed that the feature vector matrix consists of three feature vectors v.
  • step S140 If it is determined in step S140 that a predetermined number of feature vectors v are not generated, the data processing unit 200 proceeds to step S150 and inputs the generated feature vectors v into the buffer.
  • the buffer has the same size as the number (eg, three) of the feature vectors v constituting the feature vector matrix. These buffers are queue-type buffers, and the first input feature vector (v) is extracted first.
  • step S140 if a predetermined number of feature vectors v are generated as a result of the determination in step S140, the data processing unit 200 proceeds to step S160 and
  • a feature vector matrix (M) is generated by combining a predetermined number of generated feature vectors (v) in a matrix form.
  • the first feature vector matrix M1 may be generated by sequentially combining three feature vectors, that is, the first, second, and third feature vectors v1, v2, and v3.
  • the data processing unit 200 extracts the first input feature vector from the buffer in step S170. For example, if the first feature vector matrix M1 is generated by sequentially combining three feature vectors v1, v2, v3, the first feature vector v1 is extracted.
  • a new feature vector that is, a fourth feature vector v4 is generated, and three feature vectors, ie, the second, third and fourth feature vectors v2, v3 and v4) can be combined to generate a second feature vector matrix M2.
  • the data processing unit 200 may provide the feature vector matrix M generated according to the above-described method as an input value x to the detection unit 300 .
  • DN detection network
  • CN classification network
  • 7 is a flowchart illustrating a learning method for a detection network for object anomaly detection according to an embodiment of the present invention.
  • the learning unit 100 initializes the detection network DN in step S210 . At this time, the learning unit 100 initializes the parameter of the detection network DN, that is, the weight w. You can use the Xavier initializer for initialization.
  • the learning unit 100 prepares an input value x used for learning, that is, an input value x for learning, to the detection network DN initialized in step S220 .
  • the learning input value (x) initially used in the embodiment of the present invention means a feature vector matrix generated from the noise (n) generated from the test object when the test object is normal.
  • This learning input value (x) is the same as the method of generating the input value (x) described above with reference to FIGS. 5 and 6 .
  • the learning input value (x) used when updating the detection network (DN) according to changes in the environment in step S220 uses the normal data stored in the storage unit 14, and how to store this normal data It will be described in more detail below.
  • the learning unit 100 inputs the learning input value (x) to the detection network (DN) initialized in step S230. Then, the detection network (DN) generates a restored value (x') simulating the input value (x) for learning by performing a plurality of calculations to which a plurality of inter-layer weights are applied in step S240. More specifically, the encoder EN of the detection network DN selectively reduces the dimension by performing a plurality of operations in which a plurality of inter-layer weights are applied to the learning input value x, or for learning without reducing the dimension. Calculate the latent value (z) for the input value (x).
  • the decoder DE of the detection network DN performs a plurality of operations in which a plurality of inter-layer weights are applied to the latent value z calculated by the encoder EN, so that the dimension is reduced in the encoder EN. In the case of extending the dimension, otherwise, the restored value (x') is calculated without extending the dimension.
  • the learning unit 100 calculates the restoration loss according to the following equation (1) in step S250.
  • Equation 1 E( ) represents the operation of the encoder EN, and D( ) represents the operation of the decoder DE.
  • Ld in Equation 1 represents a restoration loss.
  • the loss Ld represents the difference between the training input value (x) and the restored value (x').
  • the learning unit 100 performs optimization of updating the weight w of the detection network DN through a back-propagation algorithm so that the restoration loss is minimized in step S260 .
  • Steps S220 to S260 described above may be repeatedly performed so that the weight w is updated repeatedly until the restoration loss calculated using a plurality of different learning input values x becomes less than or equal to a preset target value.
  • the learning unit 100 determines whether the learning is completed by determining whether the restoration loss is equal to or less than a preset target value in step S270 . That is, when the restoration loss is less than or equal to a preset target value, the learning unit 100 determines that learning has been sufficiently performed and determines completion of learning.
  • the learning unit 100 calculates a reference value of the restoration loss of the difference between the input value (x) and the restoration value (x') in step S280 .
  • This reference value is calculated according to the following Equation (2).
  • represents a reference value.
  • each of ⁇ and ⁇ are a plurality of input values for learning (x) and a plurality of input values for learning (x) used in the learning procedure, that is, used for learning of the detection network (DN). It represents the mean and standard deviation of the mean squared error (MSE) between the restored values (x').
  • MSE mean squared error
  • k is a weight for the standard deviation ⁇ , and 1.5 to 3 may be applied. Therefore, when learning is completed, the learning unit 100 calculates the reference value ⁇ and stores it in the storage unit 14 .
  • the learning unit 100 configures an autoencoder model including an encoder and a decoder, or an encoder, a decoder, and a discriminator.
  • the generative neural network basically consists of a single encoder, decoder, and classifier, and includes a function to configure the encoder, decoder, and discriminator in plural forms if necessary. If multiple encoders, decoders, and classifiers are configured, the parameter sharing function between each module can be selectively used.
  • the learning unit 100 basically generates a mean square loss between the input value and the restored value or uses the restoration error.
  • the learning unit 100 when using a classifier, the learning unit 100 basically uses the mean square loss of the discriminator output for the actual input and the generated input as the discrimination error, and if necessary, the restoration error and the discrimination error can be set according to the user input. have.
  • FIG. 8 is a flowchart illustrating a learning method for a classification network for state classification according to an embodiment of the present invention.
  • the learning unit 100 initializes the classification network CN in step S310 . At this time, the learning unit 100 initializes the parameter of the classification network CN, that is, the weight w. You can use the Xavier initializer for initialization.
  • the learning unit 100 prepares an input value for learning with a label set in step S320 .
  • the input value for learning is a feature vector matrix generated from the noise (n) generated by the test object, and at the same time, its category is known. Here, it is preferable that the category is an abnormal state.
  • the learning input value for the classification network (CN) is a feature vector matrix generated from the noise (n) generated by the inspection target in an abnormal state, and the category, for example, the label corresponding to the abnormal state, can be set. have.
  • the learning input value used when updating the classification network CN according to a change in the environment in step S320 may be category data stored in the storage unit 14 . A method of storing such category data will be described in more detail below.
  • the learning unit 100 inputs a learning input value to the classification network CN initialized in step S330. Then, the classification network CN calculates a classification value by performing a plurality of operations in which a plurality of inter-layer weights are applied to the learning input value in step S340. The classification value includes the probability that the learning input value belongs to the category of state anomalies. Next, the learning unit 100 calculates a classification loss through a loss function as in Equation 3 below in step S350.
  • Lc means loss (L2 Loss).
  • i is an index corresponding to the training data.
  • f(xi) is the output value calculated by the classification network (CN) according to the input value xi
  • yi is a label indicating the expected value. That is, yi is a label corresponding to the i-th learning input value xi.
  • f(xi) is an output value calculated by the classification network CN with respect to the i-th input value xi for learning.
  • the learning unit 200 optimizes the modification of the weight w of the machine learning model (MLM) so that the loss that is the difference between the output value and the label of the classification network (CN) machine learning model (MLM) is minimized in step S360.
  • MLM machine learning model
  • CN classification network
  • Step S360 a back-propagation algorithm can be used. Steps S320 to S360 described above are repeatedly performed using a plurality of different input values for learning. This iteration may be performed until the accuracy is calculated through the evaluation index, and a desired accuracy is reached.
  • FIG. 9 is a flowchart illustrating a method for continuous learning of an object anomaly detection and state classification model according to an embodiment of the present invention.
  • the audio unit 11 continuously acquires noise generated from the test subject through the microphone (MIC) in step S410 and provides it to the data processing unit 200 of the control unit 15 . Accordingly, the data processing unit 200 may generate the input value x from the noise n acquired in step S420 .
  • the data processing unit 200 sequentially extracts a plurality of Mel spectral waveform diagrams (s) from the noise (n) in units of the sliding window (w), and extracts A plurality of feature vectors (v: v1, v2, v3, v4, ... vj) are generated by compressing the obtained Mel spectral waveform diagram (s) with MFCC. Then, an input value (x) can be generated by combining a predetermined number of feature vectors (v) to form a feature vector matrix.
  • the detection unit 300 inputs the input value x to the detection network DN in step S430. Then, in step S440, the detection network DN of the detection unit 300 performs a restored value x that simulates the input value x according to a plurality of operations to which the weights learned between a plurality of layers are applied to the input value x. ') is created. That is, the encoder EN selectively reduces the dimension from the input value x by performing a plurality of operations in which a plurality of inter-layer weights are applied on the input value x, or the latent value z without reducing the dimension.
  • the decoder DE expands the dimension when the dimension reduction is performed in the encoder EN by performing a plurality of operations to which a plurality of inter-layer weights are applied, otherwise the latent value z without dimension expansion ), a restored value (x') is calculated.
  • the classification network CN of the detector 300 in step S440 performs a plurality of calculations to which the weights learned between a plurality of layers are applied to the input value xi, and the classification value f(xi) ) can be calculated.
  • the restoration error representing the difference between the input value (x) and the restored value (x') is greater than or equal to the reference value ( ⁇ ) determined according to the above-mentioned equation (2) determine whether or not
  • Equation 4 ⁇ represents a reference value. Also, x denotes an input value and x' denotes a restored value.
  • step S450 if the restoration error is less than the reference value ⁇ , the detector 300 proceeds to step S460 and determines that the input value x is normal data that is data in a normal state, and the input value x ) as normal data. This means that a label indicating a normal state is assigned to the input value (x) as a label and stored.
  • step S450 if the restoration error is greater than or equal to the reference value ( ⁇ ), the detection unit 300 determines that there is an abnormality in the object to be examined, and determines whether the classification value is greater than or equal to a preset threshold in step S470 to determine
  • the detector 300 determines that the input value is category data in step S480, and stores the input value x as category data belonging to the category of the abnormal state. This means that a label indicating an abnormal state is assigned to the input value (x) as a label and stored.
  • the notification unit 400 outputs a warning sound through the audio unit 11 so that the abnormal state detected in step S490 is notified, and the display unit 13 ), you can perform the error notification process that outputs a warning message.
  • the learning unit 100 may detect the occurrence of an event requiring model update in step S510 .
  • an event refers to a state in which an update cycle arrives, a user input occurs, or a state in which a predetermined number or more of input values for learning are accumulated and stored.
  • the learning unit 100 Upon detecting the event, the learning unit 100 checks whether more than a preset number of normal data is stored in step S520, and checks whether more than a preset number of category data is stored in step S530.
  • the learning unit 100 detects using the stored normal data and the stored category data in step S540
  • the model can be updated by training the network (DN) and classification network (CN).
  • the learning unit 100 may cancel the model update in step S550. .
  • the detection network (DN) and the classification network (CN) are updated together.
  • the learning unit 100 individually detects network (DN) using the stored normal data. You can update the model individually by learning
  • the learning unit 100 may individually update the model by learning the classification network CN using the category data.
  • the present invention periodically updates a model in response to a changing environment, it can automatically or semi-automatically adapt and respond to changes in the environment. Moreover, since the data is automatically collected and labeled according to the change of the environment, the cost of collecting the training data is reduced.
  • the method according to an embodiment of the present invention may be provided in the form of a computer-readable medium suitable for storing computer program instructions and data.
  • a computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination, and includes all types of recording devices in which data readable by a computer system is stored.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, compact disk read only memory (CD-ROM), and optical recording media such as DVD (Digital Video Disk).
  • Stores program instructions such as Magneto-Optical Media, ROM (Read Only Memory), RAM (Random Access Memory), Flash memory, etc.
  • the computer-readable recording medium is distributed in a computer system connected through a network, so that the computer-readable code can be stored and executed in a distributed manner.
  • functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention pertains.
  • the present invention relates to a method and apparatus for continuous learning of object anomaly detection and state classification model, and the present invention detects state anomalies adaptively even in changes in the environment by continuously collecting learning data and updating the model can do. Therefore, the present invention has industrial applicability because it has sufficient potential for marketing or business, as well as to the extent that it can be clearly implemented in reality.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법은 탐지분류장치가 검사 대상으로부터 이상을 검출하기 위한 매개체에 대한 정보를 취득하는 단계와, 탐지분류장치가 매개체에 대한 정보로부터 복수의 특징 벡터를 포함하는 특징벡터행렬인 입력값을 생성하는 단계와, 탐지분류장치가 입력값에 대해 입력값을 모사하는 복원값을 생성하도록 학습된 탐지망을 통해 입력값을 모사하는 복원값을 도출하는 단계와, 탐지분류장치가 입력값과 복원값의 차이를 나타내는 복원 오차가 기 산출된 기준치 이상인지 여부를 판단하는 단계와, 탐지분류장치가 판단 결과, 복원오차가 기준치 미만이면, 입력값을 정상 데이터로 저장하는 단계를 포함한다.

Description

객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치
본 발명은 신경망 모델에 대한 지속 학습을 위한 기술에 관한 것으로, 더욱 상세하게는, 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치에 관한 것이다.
종래의 이상 탐지 또는 상태 분석 방법은 특정 환경에 대한 정상 범주의 데이터를 학습, 정상 범주에서 벗어나는 형태의 데이터가 입력되면 이상현상을 탐지 및 분석하는 형태로 구성 및 제공되어왔다. 해당 방법은 환경의 변화가 크게 발생하지 않는 상황에서는 한 번 학습된 후 이상 탐지 또는 상태 분류를 적절히 수행하지만 환경이 변할 경우 변화된 환경의 정상 범주 데이터를 이상 상황으로 오판하는 오류가 발생할 수 있다.
본 발명의 목적은 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치를 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법은 탐지분류장치가 검사 대상으로부터 이상을 검출하기 위한 매개체에 대한 정보를 취득하는 단계와, 상기 탐지분류장치가 상기 소음으로부터 복수의 특징 벡터를 포함하는 특징벡터행렬인 입력값을 생성하는 단계와, 상기 탐지분류장치가 상기 입력값에 대해 입력값을 모사하는 복원값을 생성하도록 학습된 탐지망을 통해 상기 입력값을 모사하는 복원값을 도출하는 단계와, 상기 탐지분류장치가 상기 입력값과 상기 복원값의 차이를 나타내는 복원 오차가 기 산출된 기준치 이상인지 여부를 판단하는 단계와, 상기 탐지분류장치가 상기 판단 결과, 상기 복원오차가 상기 기준치 미만이면, 상기 입력값을 정상 데이터로 저장하는 단계를 포함한다.
상기 복원값을 도출하는 단계는 상기 탐지분류장치가 상기 입력값에 대해 상태 이상의 범주에 속할 확률을 산출하도록 학습된 분류망을 통해 상기 입력값이 상태 이상의 범주에 속할 확률을 나타내는 분류값을 산출하는 단계를 더 포함한다.
상기 방법은 상기 복원 오차가 기 산출된 기준치를 초과하는지 여부를 판단하는 단계 후, 상기 탐지분류장치가 상기 판단 결과, 상기 복원오차가 상기 기준치 이상이면, 상기 분류값이 기 설정된 임계치 이상인지 여부를 판별하는 단계와, 상기 탐지분류장치가 상기 판별 결과, 상기 분류값이 기 설정된 임계치 이상이면, 상기 탐지부가 상기 입력값을 범주 데이터로 저장하는 단계를 더 포함한다.
상기 방법은 상기 탐지분류장치가 모델 갱신이 요구되는 이벤트의 발생을 감지하는 단계와, 상기 탐지분류장치가 상기 이벤트의 발생을 감지함에 따라 기 설정된 수 이상의 정상 데이터가 저장되어 있으면, 상기 탐지망을 저장된 정상 데이터를 이용하여 학습시키거나, 기 설정된 수 이상의 범주 데이터가 저장되어 있으면, 상기 분류망을 저장된 범주 데이터를 이용하여 학습시키는 단계를 더 포함한다.
상기 학습시키는 단계는 상기 탐지분류장치가 탐지망을 초기화하는 단계와, 상기 탐지분류장치가 학습용 입력값으로 상기 저장된 정상 데이터를 상기 초기화된 탐지망에 입력하는 단계와, 상기 탐지분류장치가 상기 학습용 입력값으로부터 선택적으로 압축되거나, 압축되지 않은 잠재값을 산출하는 단계와, 상기 탐지분류장치가 상기 잠재값으로부터 상기 복원값을 산출하는 단계와, 상기 탐지분류장치가 상기 복원값과 학습용 입력값과의 차이인 손실을 산출하는 단계와, 상기 탐지분류장치가 상기 손실이 최소가 되도록 상기 탐지망의 파라미터를 갱신하는 최적화를 수행하는 단계를 포함한다.
상기 방법은 상기 학습시키는 단계 후, 상기 탐지분류장치가 수학식 θ=μ+(k×σ)에 따라 상기 기준치를 산출하는 단계를 더 포함하며, 상기 μ는 상기 탐지망의 학습에 사용된 복수의 학습용 입력값과 복수의 학습용 입력값에 대응하는 복수의 복원값 간의 평균제곱손실의 평균이고, 상기 σ는 상기 복수의 학습용 입력값과 상기 복수의 학습용 입력값에 대응하는 상기 복수의 복원값 간의 평균제곱손실의 표준 편차이고, 상기 k는 상기 표준편차에 대한 가중치인 것을 특징으로 한다.
상기 학습시키는 단계는 상기 탐지분류장치가 분류망을 초기화하는 단계와, 상기 탐지분류장치가 상기 저장된 범주 데이터의 범주에 해당하는 레이블을 설정함으로써 학습용 입력값을 마련하는 단계와 상기 탐지분류장치가 상기 학습용 입력값을 상기 초기화된 분류망에 입력하는 단계와 상기 탐지분류장치가 복수의 계층 간 가중치가 적용되는 연산을 수행하여 상기 학습용 입력값으로부터 분류값을 산출하는 단계와, 상기 탐지분류장치가 상기 분류값과 상기 레이블의 차이를 나타내는 분류 손실을 산출하는 단계와, 상기 학습부가 상기 분류 손실이 최소가 되도록 상기 분류망의 파라미터를 갱신하는 최적화를 수행하는 단계를 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 장치는 검사 대상으로부터 이상을 검출하기 위한 매개체에 대한 정보로부터 복수의 특징 벡터를 포함하는 특징벡터행렬인 입력값을 생성하는 데이터처리부와, 상기 입력값에 대해 입력값을 모사하는 복원값을 생성하도록 학습된 탐지망을 통해 상기 입력값을 모사하는 복원값을 도출하고, 상기 입력값과 상기 복원값의 차이를 나타내는 복원 오차가 기 산출된 기준치 이상인지 여부를 판단하여 상기 복원오차가 상기 기준치 미만이면, 상기 입력값을 정상 데이터로 저장하는 탐지부를 포함한다.
상기 탐지부는 상기 입력값에 대해 상태 이상의 범주에 속할 확률을 산출하도록 학습된 분류망을 통해 상기 입력값이 상태 이상의 범주에 속할 확률을 나타내는 분류값을 산출하는 것을 특징으로 한다.
상기 탐지부는 상기 복원오차가 상기 기준치 이상이면, 상기 분류값이 기 설정된 임계치 이상인지 여부를 판별하고, 상기 분류값이 기 설정된 임계치 이상이면, 상기 입력값을 범주 데이터로 저장하는 것을 특징으로 한다.
상기 장치는 모델 갱신이 요구되는 이벤트의 발생을 감지하고, 상기 이벤트의 발생을 감지함에 따라 기 설정된 수 이상의 정상 데이터가 저장되어 있으면, 상기 탐지망을 저장된 정상 데이터를 이용하여 학습시키거나, 기 설정된 수 이상의 범주 데이터가 저장되어 있으면, 상기 분류망을 저장된 범주 데이터를 이용하여 학습시키는 학습부를 더 포함한다.
상기 학습부는 탐지망을 초기화하고, 학습용 입력값으로 상기 저장된 정상 데이터를 상기 초기화된 탐지망에 입력한 후, 상기 탐지망의 인코더가 상기 학습용 입력값으로부터 선택적으로 압축되거나, 압축되지 않은 잠재값을 산출하고, 상기 탐지망의 디코더가 상기 잠재값으로부터 상기 복원값을 산출하면, 상기 복원값과 학습용 입력값과의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 탐지망의 파라미터를 갱신하는 최적화를 수행하는 것을 특징으로 한다.
상기 학습부는 수학식 θ=μ+(k×σ)에 따라 상기 기준치를 산출하고, 상기 μ는 상기 탐지망의 학습에 사용된 복수의 학습용 입력값과 복수의 학습용 입력값에 대응하는 복수의 복원값 간의 평균제곱손실의 평균이고, 상기 σ는 상기 복수의 학습용 입력값과 상기 복수의 학습용 입력값에 대응하는 상기 복수의 복원값 간의 평균제곱손실의 표준 편차이고, 상기 k는 상기 표준편차에 대한 가중치인 것을 특징으로 한다.
상기 학습부는 상기 분류망을 초기화하고, 상기 저장된 범주 데이터의 범주에 해당하는 레이블을 설정함으로써 학습용 입력값을 마련하고, 상기 학습용 입력값을 초기화된 분류망에 입력한 후, 상기 분류망이 복수의 계층 간 가중치가 적용되는 연산을 수행하여 상기 학습용 입력값으로부터 분류값을 산출하면, 상기 분류값과 상기 레이블의 차이를 나타내는 분류 손실을 산출하고, 상기 분류 손실이 최소가 되도록 상기 분류망의 파라미터를 갱신하는 최적화를 수행하는 것을 특징으로 한다.
상기 학습부는 인코더(Encoder), 디코더(Decoder)를 포함하는 오토인코더(Autoencoder) 모델, 인코더, 디코더, 분별자(Discriminator)를 각각 단일로 포함하는 적대적생성신경망(Generative Adversarial Network), 단일 또는 복수의 인코더, 디코더, 분별자를 선택적으로 포함하는 생성형 인공신경망 중 어느 하나를 포함하는 것을 특징으로 한다.
상기 학습부는 입력값과 복원값의 평균제곱 손실을 생성하거나, 복원 오차를 이용하고, 상기 분별자를 이용하는 경우, 실제 입력과 생성 입력에 대한 분별자 출력의 평균제곱 손실을 분별 오차로 이용하고, 사용자 입력이 입력된 경우, 복원 오차와 분별 오차를 상기 사용자 입력에 따라 설정하는 것을 특징으로 한다.
본 발명은 본 발명은 지속적으로 학습 데이터를 수집하고, 모델을 갱신함으로써 환경의 변화에도 적응적으로 상태 이상을 검출할 수 있다.
도 1은 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류를 위한 장치의 구성을 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류를 위한 장치의 세부적인 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 본 발명의 실시예에 따른 탐지망의 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 본 발명의 실시예에 따른 분류망의 구성을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 입력값을 생성하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 입력값을 생성하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 객체 이상 탐지를 위한 탐지망에 대한 학습 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시예에 따른 상태 분류를 위한 분류망에 대한 학습 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법을 설명하기 위하 흐름도이다.
도 10은 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법을 설명하기 위한 흐름도이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.
이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.
아울러, 본 발명은 퍼스널 컴퓨터, 랩톱 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 적용될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.
먼저, 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류를 위한 장치에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류를 위한 장치의 구성을 설명하기 위한 블록도이다. 도 2는 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류를 위한 장치의 세부적인 구성을 설명하기 위한 블록도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류를 위한 장치(10, 이하, 탐지분류장치로 축약함)는 오디오부(11), 입력부(12), 표시부(13), 저장부(14) 및 제어부(15)를 포함한다.
오디오부(11)는 본 발명의 실시예에 따른 이상을 검출하기 위한 매개체인 소리와 같은 오디오 신호를 수집하기 위한 마이크(MIK)를 포함한다. 즉, 오디오부(11)는 마이크(MIK)를 통해 입력되는 소리, 예컨대, 소음과 같은 오디오 신호를 제어부(15)로 전달한다. 또한, 오디오부(11)는 오디오 신호를 출력하기 위한 스피커(SPK)를 더 포함한다. 오디오부(11)는 제어부(15)의 제어에 따라 오디오 신호를 스피커(SPK)를 통해 출력할 수 있다. 한편 도면에서는 탐지분류장치(10)가 오디오부(11)만을 포함하는 것으로 도시되고 있으나, 탐지분류장치(10)는 오디오부(11)로 한정하지 않고 오디오부(11)뿐 만 아니라 각종 센서를 포함하는 측정부(미도시)를 포함할 수 있다. 즉 탐지분류장치(10)는 이미지센서, 미세먼지센서 등 다양한 센서를 포함하여 검사 대상으로부터 이상을 검출하기 위한 매개체를 소음에 한정하지 않고 이미지, 미세먼지 등으로 확장할 수 있다.
입력부(12)는 탐지분류장치(10)를 제어하기 위한 사용자의 키 조작을 입력 받고 입력 신호를 생성하여 제어부(15)로 전달한다. 입력부(12)는 전원 on/off를 위한 전원 키, 숫자 키, 방향키 중 어느 하나를 포함할 수 있으며, 탐지분류장치(10)의 일면에 소정의 기능키로 형성될 수 있다. 표시부(13)가 터치스크린으로 이루어진 경우, 입력부(12)의 각 종 키들의 기능이 표시부(13)에서 이루어질 수 있으며, 터치스크린만으로 모든 기능을 수행할 수 있는 경우, 입력부(12)는 생략될 수도 있다.
표시부(13)는 탐지분류장치(10)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. 표시부(13)는 탐지분류장치(10)의 부팅 화면, 대기 화면, 메뉴 화면 등의 각종 화면을 출력하는 기능을 수행한다. 이러한 표시부(13)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다. 한편, 표시부(13)는 터치스크린으로 구현될 수 있다. 이러한 경우, 표시부(13)는 터치센서를 포함하며, 제어부(15)는 터치센서를 통해 사용자의 터치 입력을 감지할 수 있다. 터치센서는 정전용량 방식(capacitive overlay), 압력식, 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 발명의 터치센서로 이용될 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(15)로 전송한다. 이러한 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함될 수 있다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(15)로 전송할 수 있다.
저장부(14)는 탐지분류장치(10)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 탐지분류장치(10)의 전반적인 동작을 제어하는 프로그램 및 탐지분류장치(10)를 부팅시키는 운영체제(OS, Operating System), 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 탐지분류장치(10)의 사용에 따라 발생하는 데이터가 저장되는 영역이다. 또한, 저장부(14)는 탐지분류장치(10)의 동작에 따라 발생되는 각 종 데이터 등을 저장할 수 있다.
제어부(15)는 탐지분류장치(10)의 전반적인 동작 및 탐지분류장치(10)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어부(15)는 CPU(Central Processing Unit), APU(Application Processing Unit), APU(Accelerated Processing Unit), GPU(graphic processing unit), NPU(Neural Processing Unit) 등이 될 수 있다.
도 2를 참조하면, 제어부(15)는 학습부(100), 데이터처리부(200), 탐지부(300) 및 통지부(400)를 포함한다.
학습부(100)는 본 발명의 실시예에 따른 학습 모델(Deep Learning Model: DLM)인 탐지망(DN: Detection Network) 및 분류망(CN: Classification Network)을 학습(deep learning)시키기 위한 것이다. 학습이 완료된 탐지망(DN) 및 분류망(CN)은 탐지부(300)에 전달되고, 탐지부(300)에서 실행된다.
데이터처리부(200)는 오디오부(11)로부터 수신되는 소음으로부터 복수의 특징 벡터를 포함하는 특징벡터행렬인 입력값을 생성한다. 생성된 입력값은 탐지부(300)에 입력된다. 여기서 오디오부(11)를 포괄하는 측정부가 구비된 경우, 데이터처리부(200)는 측정부로부터 수신된 이상을 검출하기 위한 매개체에 대한 정보를 이용하여 특징벡터행령인 입력값을 생성할 수 있다.
탐지부(300)는 기본적으로, 학습이 완료된 탐지망(DN)을 이용하여 입력값으로 변환된 소음을 분석하여 해당 소음을 발산하는 검사 대상의 이상 여부를 탐지하기 위한 것이다. 특히, 탐지부(300)는 환경 변화에 따라 모델을 갱신할 때 사용하는 학습용 입력값으로 이용할 수 있도록 입력값에 대한 분석 결과에 따라 정상 상태를 나타내는 정상 데이터 혹은 이상 상태의 범주에 속하는 범주 데이터로 분류하여 해당 데이터를 저장부(14)에 저장할 수 있다.
통지부(400)는 탐지부(300)가 검사 대상의 이상을 탐지하면, 탐지된 이상 상태가 알려지도록 오디오부(11)의 스피커(SPK)를 통해 경고음을 출력하고, 표시부(13)를 통해 경고 메시지를 출력한다.
전술한 학습부(100), 데이터처리부(200), 탐지부(300) 및 통지부(400)를 포함하는 제어부(13)의 동작에 대해서는 아래에서 더 상세하게 설명될 것이다.
다음으로, 본 발명의 실시예에 따른 탐지망(DN)의 구성에 대해서 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 본 발명의 실시예에 따른 탐지망의 구성을 설명하기 위한 도면이다. 도 3을 참조하면, 탐지망(DN)은 인코더(encoder: EN) 및 디코더(decoder: DE)를 포함한다.
이러한 인코더(EN) 및 디코더(DE)를 포함하는 탐지망(DN)은 복수의 계층을 포함하며, 복수의 계층은 복수의 연산을 포함한다. 또한, 복수의 계층 간은 가중치(w: weight)로 연결된다. 어느 하나의 계층의 연산 결과는 가중치가 적용되어 다음 계층 노드의 입력이 된다. 즉, 탐지망(DN)의 어느 한 계층은 이전 계층으로부터 가중치를 적용한 값을 입력 받고, 이에 대한 연산을 수행하고, 그 연산 결과를 다음 계층의 입력으로 전달한다.
인코더(EN)는 입력값(x)이 입력되면, 입력값(x)에 대해 선택적으로 차원을 축소하거나, 차원의 축소 없이 복수의 계층 간의 가중치가 적용되는 복수의 연산을 수행하여 잠재 벡터(Latent Vector)인 잠재값(z)을 산출하여 출력한다. 디코더(DE)는 잠재값(z)에 대해 선택적으로 차원을 축소하거나, 차원의 축소 없이 복수의 계층 간의 가중치가 적용되는 복수의 연산을 수행하여 복원값(x')을 생성한다. 즉, 입력값은 복수의 특징벡터를 포함하는 특징벡터행렬이며, 2차원(특징 벡터의 원소의 수 Ⅹ 특징 벡터의 수)의 데이터이다. 만약, 완전연결층과 같은 계층을 사용하는 경우, 2차원에서 1차원으로 차원이 축소될 수 있다. 하지만, 본 발명은 이러한 선택적으로 차원을 축소하거나, 차원의 축소 없이 입력값(x)으로부터 잠재값(z) 및 복원값(x')을 생성한다.
인코더(EN)는 확장층(Enlarge Layer: EL) 및 적어도 하나의 컨벌루션층(Convolution Layer: CL)을 포함한다. 인코더(EN)의 컨벌루션층(CL) 사이에 풀링층(Pooling Layer: PL)이 더 포함될 수 있다. 디코더(DE)는 적어도 하나의 컨벌루션층(Convolution Layer: CL)을 포함한다. 디코더(DE)의 컨벌루션층(CL) 사이에 풀링층(PL)이 더 포함될 수 있다.
확장층(EL)은 입력값(x)에 대해 선택적으로 차원을 축소하거나, 차원의 축소 없이 연산을 수행하기 위해 입력값 보다 확장된 크기의 특징 지도(feature map)를 생성한다. 컨벌루션층(CL)은 컨벌루션(Convolution) 연산 및 활성화함수에 의한 연산을 수행하여 특징 지도를 생성한다. 풀링층(PL)은 최대 풀링(Max Pooling) 연산을 수행하여 특징 지도를 생성한다.
인코더(EN)의 마지막 계층이 생성한 특징 지도가 잠재값(z)이며, 디코더(DE)의 마지막 계층이 생성한 특징 지도가 복원값(x')이 된다.
다음으로, 본 발명의 실시예에 따른 분류망(CN)의 구성에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 본 발명의 실시예에 따른 분류망의 구성을 설명하기 위한 도면이다.
도 4를 참조하면, 분류망(CN)은 입력층(input layer: IL), 교번으로 반복되는 적어도 한 쌍의 컨벌루션층(convolution layer: CL)과 풀링층(pooling layer: PL), 적어도 하나의 완전연결층(fully-connected layer: FL) 및 출력층(output layer: OL)을 포함할 수 있다. 도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 심층신경망(400)은 순차로 입력층(IL), 제1 컨볼루션층(CL1), 제1 풀링층(PL1), 제2 컨볼루션층(CL2), 제2 풀링층(PL2), 완전연결층(FL) 및 출력층(OL)을 포함한다.
컨볼루션층(CL1, CL2) 및 풀링층(PL1, PL2)은 적어도 하나의 특징맵(FM: Feature Map)으로 구성된다. 특징맵(FM)은 이전 계층의 연산 결과에 대해 가중치(w)를 적용한 값을 입력 받고, 입력 받은 값에 대한 연산을 수행한 결과로 도출된다. 이러한 가중치(w)는 소정 크기의 가중치 행렬인 필터 혹은 커널(w)을 통해 적용될 수 있다.
입력층(IL)에 입력값(소정 크기의 행렬 혹은 벡터열)이 입력되면, 제1 컨볼루션층(CL1)은 입력층(IL)의 입력값에 대해 필터 혹은 커널(w)를 이용한 컨벌루션(convolution) 연산 및 활성화함수에 의한 연산을 수행하여 적어도 하나의 제1 특징맵(FM1)을 도출한다. 이어서, 제1 풀링층(PL1)은 컨볼루션층(CL)의 적어도 하나의 제1 특징맵(FM1)에 대해 필터 혹은 커널(w)을 이용한 풀링(pooling 또는 sub-sampling) 연산을 수행하여 적어도 하나의 제2 특징맵(FM2)을 도출한다. 이어서, 제2 컨볼루션층(CL2)은 제2 특징맵(FM2)에 대해 필터 혹은 커널(w)를 이용한 컨벌루션(convolution) 연산 및 활성화함수에 의한 연산을 수행하여 적어도 하나의 제3 특징맵(FM3)을 도출한다. 이어서, 제2 풀링층(PL2)은 제2 컨볼루션층(CL2)의 적어도 하나의 제3 특징맵(FM3)에 대해 필터 혹은 커널(w)을 이용한 풀링(pooling 또는 sub-sampling) 연산을 수행하여 적어도 하나의 제4 특징맵(FM4)을 도출한다.
완결연결층(FL)은 복수의 연산노드로 이루어진다. 완결연결층(FL)의 복수의 연산노드는 제2 풀링층(PL2)의 적어도 하나의 제4 특징맵(FM4)에 대해 활성화함수에 의한 연산을 통해 복수의 연산값을 산출한다.
출력층(OL)은 하나 이상의 출력노드를 포함한다. 완결연결층(FL)의 복수의 연산노드(f1 내지 fx) 각각은 가중치(w: weight)를 가지는 채널로 출력층(OL)의 출력노드와 연결된다. 다른 말로, 복수의 연산노드의 복수의 연산값은 가중치가 적용되어 출력노드에 입력된다. 이에 따라, 출력층(OL)의 출력노드는 완결연결층(FL)의 가중치가 적용되는 복수의 연산값에 대해 활성화함수에 의한 연산을 통해 분류값을 산출한다. 분류값은 입력값이 출력노드에 대응하는 범주에 속한 데이터일 확률을 나타낸다.
전술한 컨벌루션층(CL), 완결연결층(FL) 및 출력층(OL)에서 사용되는 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다. 컨벌루션층(CL), 완결연결층(FL) 및 출력층(OL)에 이러한 활성화함수 중 어느 하나를 선택하여 적용할 수 있다.
정리하면, 전술한 바와 같이, 분류망(CN)은 복수의 계층을 포함한다. 또한, 분류망(CN)의 복수의 계층은 복수의 연산을 포함한다. 복수의 계층 각각의 연산 결과는 가중치가 적용되어 다음 계층으로 전달된다. 이에 따라, 심층신경망(400)은 입력값에 대해 복수의 계층의 가중치가 적용되는 복수의 연산을 수행하여 분류값을 산출하고, 산출된 분류값을 출력할 수 있다.
다음으로, 본 발명의 실시예에 따른 입력값은 소음 등의 오디오 신호이다. 이러한 입력값은 오디오 신호 자체 혹은 오디오 신호에서 특징을 검출한 신호가 될 수 있으나, 이에 한정하지 않는다. 그러면, 예시적으로 입력값을 생성하는 방법에 대해서 설명하기로 한다. 도 5는 본 발명의 일 실시예에 따른 입력값을 생성하는 방법을 설명하기 위한 흐름도이다. 도 6은 본 발명의 일 실시예에 따른 입력값을 생성하는 방법을 설명하기 위한 도면이다.
도 5 및 도 6을 참조하면, 오디오부(11)는 S110 단계에서 마이크(MIC)를 통해 검사 대상으로부터 발생하는 소음을 취득하여 제어부(15)의 데이터처리부(200)에 제공한다. 여기서, 검사 대상으로부터 발생하는 소음은 차량의 엔진으로부터 발생하는 소음, 차량 주행 중 차량의 바퀴와 노면의 마찰에 의해 발생하는 소음, 공장의 생산 설비로부터 발생하는 소음, 가전 제품, 예컨대, 냉장고의 후면에서 발생하는 소음 등을 예시할 수 있다.
데이터처리부(200)는 S120 단계에서 오디오부(11)를 통해 지속적으로 입력되는 소음(n)에 대해 소정 시간 길이(t, 예컨대, 20~40ms)를 가지는 슬라이딩 윈도우(w)를 적용하여, 슬라이딩 윈도우(w) 단위로 멜 스케일(mel-scaled)에 따른 소음(n)의 강도와 주파수 분포를 나타내는 멜분광파형도(s: mel-spectrogram)를 추출한다.
그런 다음, 데이터처리부(200)는 S130 단계에서 추출된 멜분광파형도(s)에 대해 시간 평균을 산출하여 멜분광파형도(s)를 MFCC(Mel-Frequency Cepstral Coefficient)로 압축하여 특징 벡터(v)를 생성한다.
데이터처리부(200)는 S140 단계에서 소정 수의 특징 벡터(v)가 생성되어 특징벡터행렬을 구성할 수 있는지 여부를 판단한다. 예컨대, 특징벡터행렬은 3개의 특징 벡터(v)로 이루어진다고 가정한다.
S140 단계의 판단 결과, 소정 수의 특징 벡터(v)가 생성되지 않은 경우, 데이터처리부(200)는 S150 단계로 진행하여 버퍼에 생성된 특징벡터(v)를 입력한다. 여기서, 버퍼는 특징벡터행렬을 구성하는 특징벡터(v)의 수(예컨대, 3개)와 동일한 크기를 가진다. 이러한 버퍼는 큐(Queue) 형식의 버퍼이며, 가장 처음 입력된 특징벡터(v)가 가장 먼저 추출된다.
반면, S140 단계의 판단 결과, 소정 수의 특징 벡터(v)가 생성된 경우, 데이터처리부(200)는 S160 단계로 진행하여
생성된 소정 수의 특징 벡터(v)를 행렬 형식으로 결합하여 특징벡터행렬(M)을 생성한다. 예컨대, 도 5에 도시된 바와 같이, 순차로 3개의 특징 벡터, 즉, 제1, 제2 및 제3 특징벡터(v1, v2, v3)를 결합하여 제1 특징벡터행렬(M1)을 생성할 수 있다.
다음으로, 데이터처리부(200)는 S170 단계에서 버퍼에서 가장 처음 입력된 특징 벡터를 추출한다. 예컨대, 순차로 3개의 특징 벡터(v1, v2, v3)를 결합하여 제1 특징벡터행렬(M1)을 생성하였다면, 제1 특징벡터(v1)가 추출된다.
그런 다음, 전술한 S120 단계 내지 S160 단계를 반복한다. 이에 따라, 예컨대, 도 5에 도시된 바와 같이, 새로운 특징벡터, 즉, 제4 특징벡터(v4)가 생성되고, 3개의 특징벡터, 즉, 제2, 제3 및 제4 특징벡터(v2, v3, v4)를 결합하여 제2 특징벡터행렬(M2)을 생성할 수 있다.
데이터처리부(200)는 전술한 바와 같은 방법에 따라 생성된 특징벡터행렬(M)을 입력값(x)으로 탐지부(300)에 제공할 수 있다.
다음으로, 본 발명의 실시예에 따른 탐지망(DN) 및 분류망(CN)에 대한 학습 방법에 대해 설명하기로 한다. 먼저, 본 발명의 실시예에 따른 탐지망(DN)에 대한 학습 방법에 대해 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 객체 이상 탐지를 위한 탐지망에 대한 학습 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 학습부(100)는 S210 단계에서 탐지망(DN)을 초기화한다. 이때, 학습부(100)는 탐지망(DN)의 파라미터, 즉, 가중치(w)를 초기화한다. 초기화를 위해 Xavier 초기화기(initializer)를 사용할 수 있다.
초기화가 완료되면, 학습부(100)는 S220 단계에서 초기화된 탐지망(DN)에 학습을 위해 사용되는 입력값(x), 즉, 학습용 입력값(x)을 마련한다. 본 발명의 실시예에서 초기에 사용되는 학습용 입력값(x)은 검사 대상이 정상인 경우에 검사 대상에서 발생한 소음(n)으로부터 생성된 특징벡터행렬을 의미한다. 이러한 학습용 입력값(x)은 앞서, 도 5 및 도 6을 참조하여 설명된 입력값(x)을 생성하는 방법과 동일하다. 특히, S220 단계에서 환경의 변화에 따라 탐지망(DN)을 갱신할 때 사용되는 학습용 입력값(x)은 저장부(14)에 저장된 정상 데이터를 사용하며, 이러한 정상 데이터를 저장하는 방법에 대해서는 아래에서 더 상세하게 설명될 것이다.
다음으로, 학습부(100)는 S230 단계에서 초기화된 탐지망(DN)에 학습용 입력값(x)을 입력한다. 그러면, 탐지망(DN)은 S240 단계에서 복수의 계층 간 가중치가 적용되는 복수의 연산을 수행하여 학습용 입력값(x)을 모사하는 복원값(x')을 생성한다. 보다 자세히 설명하면, 탐지망(DN)의 인코더(EN)는 학습용 입력값(x)에 대해 복수의 계층 간 가중치가 적용되는 복수의 연산을 수행하여 선택적으로 차원을 축소하거나, 차원의 축소 없이 학습용 입력값(x)에 대한 잠재값(z)을 산출한다. 그리고 탐지망(DN)의 디코더(DE)는 인코더(EN)가 산출한 잠재값(z)에 대해 복수의 계층 간 가중치가 적용되는 복수의 연산을 수행하여 인코더(EN)에서 차원이 축소가 이루어진 경우 차원을 확장하고, 그렇지 않은 경우 차원의 확장 없이 복원값(x')을 산출한다.
그런 다음, 학습부(100)는 S250 단계에서 다음의 수학식 1에 따라 복원 손실을 산출한다.
Figure PCTKR2021009040-appb-M000001
수학식 1에서 E( )는 인코더(EN)의 연산을 나타내며, D( )는 디코더(DE)의 연산을 나타낸다. 수학식 1의 Ld는 복원 손실을 나타낸다. 손실 Ld는 학습용 입력값(x)과 복원값(x')의 차이를 나타낸다.
다음으로, 학습부(100)는 S260 단계에서 복원 손실이 최소화되도록 역전파(Back-propagation) 알고리즘을 통해 탐지망(DN)의 가중치(w)를 갱신하는 최적화를 수행한다.
전술한 S220 단계 내지 S260 단계는 서로 다른 복수의 학습용 입력값(x)을 이용하여 산출되는 복원 손실이 기 설정된 목표치 이하가 될 때까지 반복하여 가중치(w)가 갱신되도록 반복 수행될 수 있다. 이를 위하여, 학습부(100)는 S270 단계에서 복원 손실이 기 설정된 목표치 이하인지 여부를 판별하여 학습 완료 여부를 판단한다. 즉, 학습부(100)는 복원 손실이 기 설정된 목표치 이하인 경우, 학습이 충분히 이루어진 것으로 판단하여 학습 완료를 결정한다.
학습이 완료되면, 학습부(100)는 S280 단계에서 입력값(x)과 복원값(x')과의 차이의 복원 손실의 기준치를 산출한다. 이러한 기준치는 다음의 수학식 2에 따라 산출된다.
Figure PCTKR2021009040-appb-M000002
수학식 2에서, θ는 기준치를 나타낸다. 수학식 2에서, μ 및 σ 각각은 학습 절차에서 사용된, 즉, 탐지망(DN)의 학습에 사용된 복수의 학습용 입력값(x)과 복수의 학습용 입력값(x)에 대응하는 복수의 복원값(x') 간의 평균제곱손실(Mean Squared Error: MSE)의 평균 및 표준 편차를 나타낸다. 또한, k는 표준편차 σ에 대한 가중치이며, 1.5 내지 3을 적용할 수 있다. 따라서 학습부(100)는 학습이 종료되면, 기준치(θ)를 산출하여 저장부(14)에 저장한다.
상술된 바와 같이 탐지망(DN)을 구성하기 위해 학습부(100)는 인코더(Encoder), 디코더(Decoder)를 포함하는 오토인코더(Autoencoder) 모델을 구성하거나, 인코더, 디코더, 분별자(Discriminator)를 포함하는 적대적생성신경망(Generative Adversarial Network)를 구성하거나, 단일 또는 복수의 인코더, 디코더, 분별자를 선택적으로 포함하는 생성형 인공신경망을 구성한다. 여기서 생성형 인공신경망은 기본적으로 단일 인코더, 디코더, 분별자를 구성하고, 필요에 따라 인코더, 디코더, 분별자를 복수 형태로 구성할 수 있는 기능을 포함한다. 만약 복수의 인코더, 디코더, 분별자를 구성하는 경우, 각 모듈 간 파라미터 공유 기능을 선택적으로 이용할 수 있다.
예를 들어 학습부(100)는 기본적으로 입력값과 복원값의 평균제곱 손실을 생성하거나 복원 오차를 이용한다. 또한 분별자를 이용하는 경우, 학습부(100)는 기본적으로 실제 입력과 생성 입력에 대한 분별자 출력의 평균제곱 손실을 분별 오차로 이용하고, 필요시 복원 오차와 분별 오차를 사용자 입력에 따라 설정될 수 있다.
다음으로, 먼저, 본 발명의 실시예에 따른 분류망(CN)에 대한 학습 방법에 대해 설명하기로 한다. 도 8은 본 발명의 실시예에 따른 상태 분류를 위한 분류망에 대한 학습 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 학습부(100)는 S310 단계에서 분류망(CN)을 초기화한다. 이때, 학습부(100)는 분류망(CN)의 파라미터, 즉, 가중치(w)를 초기화한다. 초기화를 위해 Xavier 초기화기(initializer)를 사용할 수 있다.
이어서, 학습부(100)는 S320 단계에서 레이블이 설정된 학습용 입력값을 마련한다. 학습용 입력값은 검사 대상에서 발생한 소음(n)으로부터 생성된 특징벡터행렬이며, 동시에, 그 범주가 알려진 것이다. 여기서, 해당 범주는 이상 상태인 것이 바람직하다. 정리하면, 분류망(CN)에 대한 학습용 입력값은 이상 상태인 검사 대상에서 발생한 소음(n)으로부터 생성된 특징벡터행렬이며, 그 범주, 예컨대, 이상 상태에 해당하는 레이블이 설정된 값이 될 수 있다. 특히, S320 단계에서 환경의 변화에 따라 분류망(CN)을 갱신할 때 사용되는 학습용 입력값은 저장부(14)에 저장된 범주 데이터가 될 수 있다. 이러한 범주 데이터를 저장하는 방법에 대해서는 아래에서 더 상세하게 설명될 것이다.
다음으로, 학습부(100)는 S330 단계에서 초기화된 분류망(CN)에 학습용 입력값을 입력한다. 그러면, 분류망(CN)은 S340 단계에서 학습용 입력값에 대해 복수의 계층 간 가중치가 적용되는 복수의 연산을 수행하여 분류값을 산출한다. 분류값은 학습용 입력값이 상태 이상의 범주에 속할 확률을 포함한다. 이어서, 학습부(100)는 S350 단계에서 다음의 수학식 3와 같은 손실 함수를 통해 분류 손실을 산출한다.
Figure PCTKR2021009040-appb-M000003
수학식 3에서, Lc은 손실(L2 Loss)을 의미한다. i는 학습 데이터에 대응하는 인덱스이다. f(xi)은 입력값(xi)에 따라 분류망(CN)이 산출한 출력값이고, yi는 기댓값을 나타내는 레이블이다. 즉, yi는 i번째 학습용 입력값(xi)에 대응하는 레이블이다. 또한, f(xi)은 i번째 학습용 입력값(xi)에 대해 분류망(CN)이 산출한 출력값이다.
이어서, 학습부(200)는 S360 단계에서 분류망(CN)기계학습모델(MLM)의 출력값과 레이블의 차이인 손실이 최소가 되도록 기계학습모델(MLM)의 가중치(w)를 수정하는 최적화를 수행한다. 이러한 최적화를 위해 역전파(Back-propagation) 알고리즘을 이용할 수 있다. 전술한 S320 단계 내지 S360 단계는 복수의 서로 다른 복수의 학습용 입력값을 이용하여 반복하여 수행된다. 이러한 반복은 평가 지표를 통해 정확도를 산출하고, 원하는 정확도에 도달할 때까지 이루어질 수 있다.
전술한 바와 같은 절차에 따라 탐지망(DN) 및 분류망(CN)에 대한 학습이 완료되면 탐지망(DN) 및 분류망(CN)을 이용하여 이상 여부를 탐지할 수 있다. 더욱이, 본 발명은 이러한 탐지 절차 중 학습용 입력값을 지속하여 저장할 수 있다. 이러한 방법에 대해서 설명하기로 한다. 도 9는 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법을 설명하기 위하 흐름도이다.
도 9를 참조하면, 오디오부(11)는 S410 단계에서 마이크(MIC)를 통해 검사 대상으로부터 발생하는 소음을 지속적으로 취득하여 제어부(15)의 데이터처리부(200)에 제공한다. 이에 따라, 데이터처리부(200)는 S420 단계에서 취득된 소음(n)으로부터 입력값(x)을 생성할 수 있다. 일례로, 도 5 및 도 6을 참조로 설명된 바와 같이, 데이터처리부(200)는 소음(n)에서 슬라이딩 윈도우(w) 단위로 순차로 복수의 멜분광파형도(s)를 추출하고, 추출된 멜분광파형도(s)을 MFCC로 압축하여 복수의 특징 벡터(v: v1, v2, v3, v4, …vj)를 생성한다. 그런 다음, 소정 수의 특징벡터(v)를 결합하여 특징벡터행렬을 구성함으로써 입력값(x)을 생성할 수 있다.
탐지부(300)는 S430 단계에서 입력값(x)을 탐지망(DN)에 입력한다. 그러면, S440 단계에서 탐지부(300)의 탐지망(DN)은 입력값(x)에 대해 복수의 계층 간 학습된 가중치가 적용된 복수의 연산에 따라 입력값(x)을 모사하는 복원값(x')을 생성한다. 즉, 인코더(EN)는 입력값(x)에 대해 복수의 계층 간 가중치가 적용되는 복수의 연산을 수행하여 입력값(x)으로부터 선택적으로 차원을 축소하거나, 차원의 축소 없이 잠재값(z)을 산출하고, 디코더(DE)는 복수의 계층 간 가중치가 적용되는 복수의 연산을 수행하여 인코더(EN)에서 차원의 축소가 이루어진 경우 차원을 확장하고, 그렇지 않은 경우 차원의 확장 없이 잠재값(z)으로부터 복원값(x')을 산출한다. 더욱이, 복원값의 산출과 동시에 S440 단계에서 탐지부(300)의 분류망(CN)은 입력값(xi)에 대해 복수의 계층 간 학습된 가중치가 적용된 복수의 연산을 수행하여 분류값 f(xi)을 산출할 수 있다.
탐지부(300)는 S450 단계에서 다음의 수학식 4에 따라 입력값(x)과 복원값(x')과의 차이를 나타내는 복원 오차가 전술한 수학식 2에 따라 결정되는 기준치(θ) 이상인지 여부를 판단한다.
Figure PCTKR2021009040-appb-M000004
수학식 4에서, θ는 기준치를 나타낸다. 또한, x는 입력값 그리고 x'는 복원값을 나타낸다.
S450 단계의 판단 결과, 복원 오차가 기준치(θ) 미만이면, 탐지부(300)는 S460 단계로 진행하여 입력값(x)이 정상 상태에서의 데이터인 정상 데이터인 것으로 판단하고, 입력값(x)을 정상 데이터로 저장한다. 이는 입력값(x)에 레이블로 정상 상태를 나타내는 레이블이 부여되어 저장되는 것을 의미한다.
반면, S450 단계의 판단 결과, 복원 오차가 기준치(θ) 이상이면, 탐지부(300)는 검사 대상에 검사 대상에 이상이 있는 것으로 판정하고, S470 단계에서 분류값이 기 설정된 임계치 이상인지 여부를 판별한다.
S470 단계의 판별 결과, 분류값이 임계치 이상이면, 탐지부(300)는 S480 단계에서 입력값을 범주 데이터인 것으로 판단하고, 입력값(x)을 이상 상태의 범주에 속하는 범주 데이터로 저장한다. 이는 입력값(x)에 레이블로 이상 상태를 나타내는 레이블이 부여되어 저장되는 것을 의미한다.
더욱이, 탐지부(300)가 검사 대상에 이상이 있는 것으로 판정함에 따라, 통지부(400)는 S490 단계에서 탐지된 이상 상태가 알려지도록 오디오부(11)를 통해 경고음을 출력하고, 표시부(13)를 통해 경고 메시지를 출력하는 이상 통지 프로세스를 수행할 수 있다.
전술한 바와 같이, 저장되는 정상 데이터 및 범주 데이터는 학습용 입력값으로 사용될 수 있다. 이에 따라, 본 발명은 도 9와 같은 이상 탐지 프로세스에 의해 저장되는 학습용 입력값을 이용하여 탐지망(DN) 및 분류망(CN)을 지속적으로 학습시킬 수 있다. 이러한 방법에 대해서 설명하기로 한다. 도 10은 본 발명의 실시예에 따른 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 학습부(100)는 S510 단계에서 모델 갱신이 요구되는 이벤트의 발생을 감지할 수 있다. 이러한 이벤트는 갱신 주기가 도래하거나, 사용자의 입력에 의한 것이거나, 소정 수 이상의 학습용 입력값이 누적되어 저장된 상태를 의미한다.
이벤트를 감지함에 따라 학습부(100)는 S520 단계에서 기 설정된 수 이상의 정상 데이터가 저장되어 있는지 여부를 확인하고, S530 단계에서 기 설정된 수 이상의 범주 데이터가 저장되어 있는지 여부를 확인한다.
전술한 바와 같은 확인에 따라, 기 설정된 수 이상의 정상 데이터가 저장되어 있고, 기 설정된 수 이상의 범주 데이터가 저장되어 있으면, 학습부(100)는 S540 단계에서 저장된 정상 데이터 및 저장된 범주 데이터를 이용하여 탐지망(DN) 및 분류망(CN)을 학습시켜 모델을 갱신할 수 있다.
반면, 전술한 바와 같은 확인에 따라, 기 설정된 수 이상의 정상 데이터가 저장되어 있지 않거나, 기 설정된 수 이상의 범주 데이터가 저장되어 있지 않으면, 학습부(100)는 S550 단계에서 모델 갱신을 취소할 수 있다.
한편, 전술한 도 10을 참조로 하는 실시예에서는 탐지망(DN) 및 분류망(CN)을 함께 갱신하는 것으로 설명되었다. 하지만, 본 발명의 대안적인 실시예에 따르면, 전술한 바와 같은 확인에 따라, 기 설정된 수 이상의 정상 데이터가 저장되어 있다면, 학습부(100)는 저장된 정상 데이터를 이용하여 개별적으로 탐지망(DN)을 학습시킴으로써 개별적으로 모델을 갱신할 수 있다. 또한, 기 설정된 수 이상의 범주 데이터가 저장되어 있으면, 학습부(100)는 개별적으로 범주 데이터를 이용하여 분류망(CN)을 학습시켜 개별적으로 모델을 갱신할 수 있다.
이러한 본 발명은 변화하는 환경에 대응하여 주기적으로 모델을 갱신하는 형태이기 때문에 환경 변화에 대해 자동 또는 반자동으로 적응 및 대응할 수 있다. 더욱이, 환경 변화에 따라 데이터를 자동으로 수집하고, 라벨링하기 때문에 학습 데이터를 수집하는 비용의 절감된다.
본 발명의 실시 예에 따른 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이러한, 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media) 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안 되며, 오히려 특정한 발명의 특정한 실시 형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시 형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시 형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시 형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 명세서에서 설명한 주제의 특정한 실시 형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부 도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현 예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
본 발명은 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치에 관한 것으로서, 본 발명은 지속적으로 학습 데이터를 수집하고, 모델을 갱신함으로써 환경의 변화에도 적응적으로 상태 이상을 검출할 수 있다. 따라서 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.

Claims (17)

  1. 탐지분류장치가 검사 대상으로부터 이상을 검출하기 위한 매개체에 대한 정보를 취득하는 단계;
    상기 탐지분류장치가 상기 매개체에 대한 정보로부터 복수의 특징 벡터를 포함하는 특징벡터행렬인 입력값을 생성하는 단계;
    상기 탐지분류장치가 상기 입력값에 대해 입력값을 모사하는 복원값을 생성하도록 학습된 탐지망을 통해 상기 입력값을 모사하는 복원값을 도출하는 단계;
    상기 탐지분류장치가 상기 입력값과 상기 복원값의 차이를 나타내는 복원 오차가 기 산출된 기준치 이상인지 여부를 판단하는 단계;
    상기 탐지분류장치가 상기 판단 결과, 상기 복원오차가 상기 기준치 미만이면, 상기 입력값을 정상 데이터로 저장하는 단계;
    를 포함하는 것을 특징으로 하는
    지속적인 학습을 위한 방법.
  2. 제1항에 있어서,
    상기 복원값을 도출하는 단계는
    상기 탐지분류장치가 상기 입력값에 대해 상태 이상의 범주에 속할 확률을 산출하도록 학습된 분류망을 통해 상기 입력값이 상태 이상의 범주에 속할 확률을 나타내는 분류값을 산출하는 단계;
    를 더 포함하는 것을 특징으로 하는
    지속적인 학습을 위한 방법.
  3. 제2항에 있어서,
    상기 복원 오차가 기 산출된 기준치를 초과하는지 여부를 판단하는 단계 후,
    상기 탐지분류장치가 상기 판단 결과, 상기 복원오차가 상기 기준치 이상이면, 상기 분류값이 기 설정된 임계치 이상인지 여부를 판별하는 단계;
    상기 탐지분류장치가 상기 판별 결과, 상기 분류값이 기 설정된 임계치 이상이면, 상기 탐지부가 상기 입력값을 범주 데이터로 저장하는 단계;
    를 더 포함하는 것을 특징으로 하는
    지속적인 학습을 위한 방법.
  4. 제3항에 있어서,
    상기 탐지분류장치가 모델 갱신이 요구되는 이벤트의 발생을 감지하는 단계; 및
    상기 탐지분류장치가 상기 이벤트의 발생을 감지함에 따라 기 설정된 수 이상의 정상 데이터가 저장되어 있으면, 상기 탐지망을 저장된 정상 데이터를 이용하여 학습시키거나, 기 설정된 수 이상의 범주 데이터가 저장되어 있으면, 상기 분류망을 저장된 범주 데이터를 이용하여 학습시키는 단계;
    를 더 포함하는 것을 특징으로 하는
    지속적인 학습을 위한 방법.
  5. 제4항에 있어서,
    상기 학습시키는 단계는
    상기 탐지분류장치가 탐지망을 초기화하는 단계;
    상기 탐지분류장치가 학습용 입력값으로 상기 저장된 정상 데이터를 상기 초기화된 탐지망에 입력하는 단계;
    상기 탐지분류장치가 상기 학습용 입력값으로부터 선택적으로 압축되거나, 압축되지 않은 잠재값을 산출하는 단계;
    상기 탐지분류장치가 상기 잠재값으로부터 상기 복원값을 산출하는 단계;
    상기 탐지분류장치가 상기 복원값과 학습용 입력값과의 차이인 손실을 산출하는 단계; 및
    상기 탐지분류장치가 상기 손실이 최소가 되도록 상기 탐지망의 파라미터를 갱신하는 최적화를 수행하는 단계;
    를 포함하는 것을 특징으로 하는
    지속적인 학습을 위한 방법.
  6. 제5항에 있어서,
    상기 학습시키는 단계 후,
    상기 탐지분류장치가 수학식 θ=μ+(k×σ)에 따라 상기 기준치를 산출하는 단계;
    를 더 포함하며,
    상기 μ는 상기 탐지망의 학습에 사용된 복수의 학습용 입력값과 복수의 학습용 입력값에 대응하는 복수의 복원값 간의 평균제곱손실의 평균이고,
    상기 σ는 상기 복수의 학습용 입력값과 상기 복수의 학습용 입력값에 대응하는 상기 복수의 복원값 간의 평균제곱손실의 표준 편차이고,
    상기 k는 상기 표준편차에 대한 가중치인 것을 특징으로 하는
    지속적인 학습을 위한 방법.
  7. 제4항에 있어서,
    상기 학습시키는 단계는
    상기 탐지분류장치가 분류망을 초기화하는 단계;
    상기 탐지분류장치가 상기 저장된 범주 데이터의 범주에 해당하는 레이블을 설정함으로써 학습용 입력값을 마련하는 단계;
    상기 탐지분류장치가 상기 학습용 입력값을 상기 초기화된 분류망에 입력하는 단계;
    상기 탐지분류장치가 복수의 계층 간 가중치가 적용되는 연산을 수행하여 상기 학습용 입력값으로부터 분류값을 산출하는 단계;
    상기 탐지분류장치가 상기 분류값과 상기 레이블의 차이를 나타내는 분류 손실을 산출하는 단계;
    상기 탐지분류장치가 상기 분류 손실이 최소가 되도록 상기 분류망의 파라미터를 갱신하는 최적화를 수행하는 단계;
    를 포함하는 것을 특징으로 하는
    지속적인 학습을 위한 방법.
  8. 제1항 내지 제7항 중 어느 한 항의 상기 지속적인 학습을 위한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  9. 검사 대상으로부터 이상을 검출하기 위한 매개체에 대한 정보로부터 복수의 특징 벡터를 포함하는 특징벡터행렬인 입력값을 생성하는 데이터처리부; 및
    상기 입력값에 대해 입력값을 모사하는 복원값을 생성하도록 학습된 탐지망을 통해 상기 입력값을 모사하는 복원값을 도출하고, 상기 입력값과 상기 복원값의 차이를 나타내는 복원 오차가 기 산출된 기준치 이상인지 여부를 판단하여 상기 복원오차가 상기 기준치 미만이면, 상기 입력값을 정상 데이터로 저장하는 탐지부;
    를 포함하는 것을 특징으로 하는
    지속적인 학습을 위한 장치.
  10. 제9항에 있어서,
    상기 탐지부는
    상기 입력값에 대해 상태 이상의 범주에 속할 확률을 산출하도록 학습된 분류망을 통해 상기 입력값이 상태 이상의 범주에 속할 확률을 나타내는 분류값을 산출하는 것을 특징으로 하는
    지속적인 학습을 위한 장치.
  11. 제10항에 있어서,
    상기 탐지부는
    상기 복원오차가 상기 기준치 이상이면, 상기 분류값이 기 설정된 임계치 이상인지 여부를 판별하고, 상기 분류값이 기 설정된 임계치 이상이면, 상기 입력값을 범주 데이터로 저장하는 것을 특징으로 하는
    지속적인 학습을 위한 장치.
  12. 제11항에 있어서,
    모델 갱신이 요구되는 이벤트의 발생을 감지하고,
    상기 이벤트의 발생을 감지함에 따라 기 설정된 수 이상의 정상 데이터가 저장되어 있으면, 상기 탐지망을 저장된 정상 데이터를 이용하여 학습시키거나, 기 설정된 수 이상의 범주 데이터가 저장되어 있으면, 상기 분류망을 저장된 범주 데이터를 이용하여 학습시키는 학습부;
    를 더 포함하는 것을 특징으로 하는
    지속적인 학습을 위한 장치.
  13. 제12항에 있어서,
    상기 학습부는
    탐지망을 초기화하고, 학습용 입력값으로 상기 저장된 정상 데이터를 상기 초기화된 탐지망에 입력한 후,
    상기 탐지망의 인코더가 상기 학습용 입력값으로부터 선택적으로 압축되거나, 압축되지 않은 잠재값을 산출하고, 상기 탐지망의 디코더가 상기 잠재값으로부터 상기 복원값을 산출하면,
    상기 복원값과 학습용 입력값과의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 탐지망의 파라미터를 갱신하는 최적화를 수행하는
    것을 특징으로 하는
    지속적인 학습을 위한 장치.
  14. 제13항에 있어서,
    상기 학습부는
    수학식 θ=μ+(k×σ)에 따라 상기 기준치를 산출하고,
    상기 μ는 상기 탐지망의 학습에 사용된 복수의 학습용 입력값과 복수의 학습용 입력값에 대응하는 복수의 복원값 간의 평균제곱손실의 평균이고,
    상기 σ는 상기 복수의 학습용 입력값과 상기 복수의 학습용 입력값에 대응하는 상기 복수의 복원값 간의 평균제곱손실의 표준 편차이고,
    상기 k는 상기 표준편차에 대한 가중치인 것을 특징으로 하는
    지속적인 학습을 위한 장치.
  15. 제12항에 있어서,
    상기 학습부는
    상기 분류망을 초기화하고, 상기 저장된 범주 데이터의 범주에 해당하는 레이블을 설정함으로써 학습용 입력값을 마련하고, 상기 학습용 입력값을 초기화된 분류망에 입력한 후,
    상기 분류망이 복수의 계층 간 가중치가 적용되는 연산을 수행하여 상기 학습용 입력값으로부터 분류값을 산출하면,
    상기 분류값과 상기 레이블의 차이를 나타내는 분류 손실을 산출하고, 상기 분류 손실이 최소가 되도록 상기 분류망의 파라미터를 갱신하는 최적화를 수행하는 것을 특징으로 하는
    지속적인 학습을 위한 장치.
  16. 제13항에 있어서,
    상기 학습부는
    인코더(Encoder), 디코더(Decoder)를 포함하는 오토인코더(Autoencoder) 모델,
    인코더, 디코더, 분별자(Discriminator)를 각각 단일로 포함하는 적대적생성신경망(Generative Adversarial Network),
    단일 또는 복수의 인코더, 디코더, 분별자를 선택적으로 포함하는 생성형 인공신경망 중 어느 하나를 포함하는 것을 특징으로 하는
    지속적인 학습을 위한 장치.
  17. 제16항에 있어서,
    상기 학습부는
    입력값과 복원값의 평균제곱 손실을 생성하거나, 복원 오차를 이용하고,
    상기 분별자를 이용하는 경우, 실제 입력과 생성 입력에 대한 분별자 출력의 평균제곱 손실을 분별 오차로 이용하고,
    사용자 입력이 입력된 경우, 복원 오차와 분별 오차를 상기 사용자 입력에 따라 설정하는 것을 특징으로 하는
    지속적인 학습을 위한 장치.
PCT/KR2021/009040 2021-03-26 2021-07-14 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치 WO2022203127A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180080052.2A CN116615724A (zh) 2021-03-26 2021-07-14 连续学习对象异常检测和状态分类模型的方法及其设备
US18/186,101 US20230229918A1 (en) 2021-03-26 2023-03-17 Method and Apparatus for Continuous Learning of Object Anomaly Detection and State Classification Model

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210039511A KR20220134180A (ko) 2021-03-26 2021-03-26 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치
KR10-2021-0039511 2021-03-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/186,101 Continuation US20230229918A1 (en) 2021-03-26 2023-03-17 Method and Apparatus for Continuous Learning of Object Anomaly Detection and State Classification Model

Publications (1)

Publication Number Publication Date
WO2022203127A1 true WO2022203127A1 (ko) 2022-09-29

Family

ID=83395866

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/009040 WO2022203127A1 (ko) 2021-03-26 2021-07-14 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치

Country Status (4)

Country Link
US (1) US20230229918A1 (ko)
KR (1) KR20220134180A (ko)
CN (1) CN116615724A (ko)
WO (1) WO2022203127A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240075081A (ko) 2022-11-21 2024-05-29 연세대학교 산학협력단 약지도 학습 기반 비디오 이상 감지 장치 및 방법
KR20240076459A (ko) 2022-11-22 2024-05-30 연세대학교 산학협력단 관계형 임베딩을 이용한 비디오 이상 상황 감지 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338848A (ja) * 1998-05-26 1999-12-10 Ffc:Kk データ異常検出装置
KR101348817B1 (ko) * 2013-01-11 2014-01-08 연세대학교 산학협력단 인공신경망을 이용한 오류 계측값 추정 방법 및 시스템
KR101644998B1 (ko) * 2015-12-22 2016-08-02 엑스브레인 주식회사 Convolutional Neural Network를 이용하여 비정상 입력 데이터를 검출하는 방법 및 장치
US20170330099A1 (en) * 2016-05-11 2017-11-16 Misys International Banking Systems Limited Systems and methods for automated data input error detection
JP2018088105A (ja) * 2016-11-29 2018-06-07 ホーチキ株式会社 監視システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102094712B1 (ko) 2018-06-07 2020-03-30 고려대학교 세종산학협력단 소리 정보를 이용한 전력용 변압기의 이상 상황 탐지

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338848A (ja) * 1998-05-26 1999-12-10 Ffc:Kk データ異常検出装置
KR101348817B1 (ko) * 2013-01-11 2014-01-08 연세대학교 산학협력단 인공신경망을 이용한 오류 계측값 추정 방법 및 시스템
KR101644998B1 (ko) * 2015-12-22 2016-08-02 엑스브레인 주식회사 Convolutional Neural Network를 이용하여 비정상 입력 데이터를 검출하는 방법 및 장치
US20170330099A1 (en) * 2016-05-11 2017-11-16 Misys International Banking Systems Limited Systems and methods for automated data input error detection
JP2018088105A (ja) * 2016-11-29 2018-06-07 ホーチキ株式会社 監視システム

Also Published As

Publication number Publication date
US20230229918A1 (en) 2023-07-20
KR20220134180A (ko) 2022-10-05
CN116615724A (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
WO2019098414A1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
WO2022203127A1 (ko) 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치
WO2019074195A1 (ko) 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2022055100A1 (ko) 이상 탐지 방법 및 이를 위한 장치
WO2020005049A1 (ko) 인공 신경망의 학습 방법
WO2019216732A1 (ko) 전자 장치 및 이의 제어 방법
WO2022005091A1 (ko) 골 연령 판독 방법 및 장치
WO2019093599A1 (ko) 사용자 관심 정보 생성 장치 및 그 방법
WO2020004815A1 (ko) 데이터의 어노말리 감지 방법
WO2020071854A1 (en) Electronic apparatus and control method thereof
WO2021235682A1 (en) Method and device for performing behavior prediction by using explainable self-focused attention
WO2022265292A1 (ko) 비정상 데이터 검출 방법 및 장치
WO2023106890A1 (ko) 전자 장치 및 그 제어 방법
WO2023085717A1 (ko) 클러스터링을 기반으로 하는 레이블링을 수행하기 위한 장치, 이상 탐지를 위한 장치 및 이를 위한 방법
WO2021080033A1 (ko) 음성 분석 방법 및 장치
WO2022075678A2 (ko) 의사 정상 데이터를 이용한 자가 감독 학습 기반의 차량 이상징후 탐지 장치 및 방법
WO2022191361A1 (ko) 무압축 합성곱 신경망 기반 소리 이상 탐지 장치 및 방법
WO2021141210A1 (en) Electronic apparatus and controlling method thereof
WO2019198900A1 (en) Electronic apparatus and control method thereof
WO2022139327A1 (en) Method and apparatus for detecting unsupported utterances in natural language understanding
WO2022139170A1 (ko) 의료 영상 기반의 병변 분석 방법
WO2022131476A1 (ko) 인공지능 모델을 변환하는 전자 장치 및 그 동작 방법
WO2021230470A1 (ko) 전자 장치 및 그 제어 방법
WO2022039494A1 (ko) 단말의 모델을 갱신하는 서버 및 그 동작 방법

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180080052.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21933355

Country of ref document: EP

Kind code of ref document: A1