WO2019098414A1 - 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치 - Google Patents

약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치 Download PDF

Info

Publication number
WO2019098414A1
WO2019098414A1 PCT/KR2017/013003 KR2017013003W WO2019098414A1 WO 2019098414 A1 WO2019098414 A1 WO 2019098414A1 KR 2017013003 W KR2017013003 W KR 2017013003W WO 2019098414 A1 WO2019098414 A1 WO 2019098414A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
image
network model
activation map
source
Prior art date
Application number
PCT/KR2017/013003
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 US16/758,089 priority Critical patent/US20200327409A1/en
Priority to PCT/KR2017/013003 priority patent/WO2019098414A1/ko
Priority to KR1020207002482A priority patent/KR102532749B1/ko
Publication of WO2019098414A1 publication Critical patent/WO2019098414A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models

Definitions

  • the disclosed embodiment relates to a hierarchical learning method of a neural network based on weak map learning, a hierarchical learning apparatus based on weak map learning and a hierarchical learning apparatus based on weak map learning, Media.
  • AI Artificial intelligence
  • AI is a computer system that implements human-level intelligence. Unlike existing Rule-based smart systems, AI is a system in which machines learn, judge and become smart. Artificial intelligence systems are increasingly recognized and improving their understanding of user preferences as they are used, and existing rule-based smart systems are gradually being replaced by deep-run-based artificial intelligence systems.
  • Artificial intelligence technology consists of element technologies that utilize deep learning and machine learning.
  • Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself.
  • Element technology is a technology that simulates functions such as recognition and judgment of human brain using machine learning algorithms such as deep learning. Understanding, reasoning / prediction, knowledge representation, and motion control.
  • Linguistic understanding is a technology for recognizing, applying, and processing human language / characters, including natural language processing, machine translation, dialogue system, query response, speech recognition / synthesis, and the like.
  • Visual understanding is a technology for recognizing and processing objects as human vision, including object recognition, object tracking, image search, human recognition, scene understanding, spatial understanding, and image enhancement.
  • Inference prediction is a technique for judging and logically inferring and predicting information, including knowledge / probability based reasoning, optimization prediction, preference base planning, and recommendation.
  • Knowledge representation is a technology for automating human experience information into knowledge data, including knowledge building (data generation / classification) and knowledge management (data utilization).
  • the motion control is a technique for controlling the autonomous travel of the vehicle and the motion of the robot, and includes motion control (navigation, collision, traveling), operation control (behavior control), and the like.
  • a hierarchical learning method and apparatus for a neural network based on weak map learning there is provided a hierarchical learning method and apparatus for a neural network based on weak map learning.
  • the technical problem to be solved by this embodiment is not limited to the above-mentioned technical problems, and other technical problems can be deduced from the following embodiments.
  • a hierarchical learning method for a neural network comprising: applying a source learning image to a first learning network model configured to learn semantic segmentation, map; Applying the source learning image to a second learning network model configured to learn semantic segmentation to generate a second activation map; Calculating a loss from labeled data of the source learning image based on the first activation map and the second activation map; And updating the weights of the plurality of network nodes constituting the first learning network model and the second learning network model based on the loss.
  • a hierarchical learning method of a neural network wherein the second learning network model performs learning on a remaining region of the source learning image excluding an image region deduced from the first learning network . ≪ / RTI >
  • updating the weights of the plurality of network nodes is performed when the loss is smaller than a predetermined threshold, and the loss is less than the predetermined threshold If not, the method may further comprise applying the source learning image to a third learning network model configured to perform semantic segmentation.
  • the labeled data may include an image-level annotation of the source learning image.
  • the semantic segmentation may be a result of estimating objects in the source learning image in pixel units.
  • the method further includes generating semantic segmentation for the source learning image by combining the first activation map and the second activation map can do.
  • the first learning network model and the second learning network model may be models including a fully convolutional network (FCN).
  • FCN fully convolutional network
  • a hierarchical learning apparatus of a neural network comprises: a memory for storing one or more instructions; And at least one processor executing the one or more instructions stored in the memory, wherein the at least one processor applies a source learning image to a first learning network model configured to learn semantic segmentation, 1 activation map, applying the source learning image to a second learning network model configured to learn semantic segmentation to generate a second activation map, and generating a first activation map and a second activation map, Calculating a loss from the labeled data of the source learning image based on the loss and calculating a weight of a plurality of network nodes constituting the first learning network model and the second learning network model based on the loss, Lt; / RTI >
  • a hierarchical learning apparatus for a neural network wherein the second learning network model performs learning on a remaining region of the source learning image excluding an image region deduced from the first learning network . ≪ / RTI >
  • updating of weights of the plurality of network nodes is performed when the loss is smaller than a predetermined threshold, and the loss is smaller than the predetermined threshold
  • the at least one processor may apply the source learning image to a third learning network model configured to perform semantic segmentation.
  • the labeled data may include an image-level annotation of the source learning image.
  • the semantic segmentation may be a result obtained by estimating objects in the source learning image in pixel units.
  • the at least one processor can combine the first activation map and the second activation map to generate a semantic segmentation for the source learning image have.
  • the first learning network model and the second learning network model may be models including a fully convolutional network (FCN).
  • FCN fully convolutional network
  • a computer-readable recording medium includes a recording medium on which a program for causing a computer to execute the above-described method is recorded.
  • the accurate position of the object as well as the size, range, and boundary of the object can be effectively estimated to improve the recognition accuracy of the semantic segmentation.
  • 1 is a diagram for explaining semantic segmentation.
  • FIG. 2 is a diagram of a fully convolutional network (FCN).
  • 3 is a diagram showing a labeling method used in weakly-supervised learning.
  • FIG. 4 is a diagram schematically illustrating a learning method of semantic segmentation using a single learning network model.
  • FIG. 5 is a diagram illustrating a learning method of semantic segmentation using a hierarchical learning network model according to an embodiment.
  • FIG. 6 is a diagram illustrating that activation maps generated at each layer of the neural network are combined to produce a semantic segmentation according to one embodiment.
  • FIG. 7 is a flowchart illustrating a hierarchical learning method of a neural network according to an embodiment.
  • FIGS. 8 and 9 are block diagrams of a hierarchical learning apparatus of a neural network according to an embodiment.
  • FIG. 10 is a diagram for explaining a processor according to an embodiment.
  • FIG. 11 is a block diagram of a data learning unit according to an embodiment.
  • FIG. 12 is a block diagram of a data recognition unit according to an embodiment.
  • the present disclosure relates to a hierarchical learning method and apparatus for neural networks based on weak map learning.
  • this disclosure relates to a hierarchical learning method and apparatus for neural networks for pixel level image recognition.
  • Neural networks can be designed to simulate human brain structures on a computer.
  • the neural network may include an artificial intelligence neural network model or a deep learning network model developed from a neural network model.
  • Examples of various types of deep learning networks include a full convolutional network (FCN), a convolutional neural network (CNN), a recurrent neural network (RNN), a deep biling network Deep Belief Network (DBN), and Restricted Boltzman Machine (RBM).
  • FCN full convolutional network
  • CNN convolutional neural network
  • RNN recurrent neural network
  • DBN deep biling network Deep Belief Network
  • RBM Restricted Boltzman Machine
  • a learning network model that utilizes the structure of a neural network includes a plurality of weighted network nodes that simulate a neuron of a human neural network. At this time, the network nodes of the neural network form links with other network nodes.
  • the plurality of network nodes may be designed to simulate synaptic activity in which a neuron sends and receives signals via synapses.
  • the neural network model based on the map learning can be a model of modeling the function from the training data.
  • map learning a labeled sample (data with target output value) is used for training.
  • the map learning algorithm receives a series of learning data and a corresponding target output value, finds an error through learning to compare the actual output value with the target output value for the input data, and corrects the model based on the result .
  • Map learning can be divided into Regression, Classification, Detection, and Semantic Segmentation depending on the type of output.
  • the function derived from the map learning algorithm is used again to predict new results.
  • the neural network model based on map learning optimizes the parameters of the neural network model through learning of a large number of learning data.
  • 1 is a diagram for explaining semantic segmentation.
  • the output 110 shown in FIG. 1 represents object detection, and the output 120 represents a semantic segmentation.
  • Detection refers to a technique for checking whether or not a specific object exists in an image.
  • an object corresponding to 'person' and an object corresponding to 'bag' in the result 110 may be represented through a rectangular area called a bounding box.
  • the bounding box can display the position information of the object. Therefore, the detection may include not only checking whether the object exists, but also identifying the position information of the object.
  • Semantic segmentation is a technique for separating objects in a meaningful unit by performing estimation on a pixel-by-pixel basis, unlike a detection technique for simply checking the existence and position of an object using a bounding box or the like. That is, the semantic segmentation may be a technique of distinguishing, on a pixel-by-pixel basis, each object constituting an image in an image input to the learning model. For example, in the result 120, objects corresponding to 'sky', 'forest', 'water', 'person', 'grass', etc. can be distinguished on a pixel basis.
  • the result 120 in which the objects are distinguished on a pixel basis is also referred to as semantic segmentation.
  • FCN Fully Convolutional Network
  • FIG. 2 is a diagram of a fully convolutional network (FCN).
  • a source learning image 210 there is shown a source learning image 210, a full convolution network 220, an activation map 230 output from the full convolution network 220, and labeled data 240 of the source learning image .
  • a network for general classification includes a plurality of hidden layers, with a fully connected layer at the end of these networks.
  • a network including a complete connection layer has an aspect that is not suitable for generation of semantic segmentation.
  • the full connection layer only accepts inputs of fixed size.
  • the second reason is that the result output through the complete connection layer no longer includes the position information of the object, which is a serious problem because the position information (or spatial information) of the object must be known for the element of segmentation.
  • the complete convolutional network 220 shown in FIG. 2 can maintain the position information of the object by transforming the fully connected layer into the 1x1 convolution form. Therefore, in the full convolution network 220, which is a network made up only of a convolution layer, it can be freed from constraints on the size of the input, and since the location information of the object is not lost, it can be suitable for generating the semantic segmentation.
  • Convolution layers within the full convolution network 220 may be used to extract " features " such as borders, line colors, etc. from complex input data.
  • Each convolution layer can receive data, process data input to the layer, and generate data output from the layer.
  • the data output from the convolution layer is data generated by convolving the input image with one or more filters or one or more kernels.
  • the initial convolutional layers of the full convolutional network 220 may be operated to extract low level features such as edges or gradients from the input.
  • the following convolution layers can extract gradually more complex features such as eyes, nose, and so on.
  • the data output from each convolution layer is called an activation map or a feature map.
  • the full convolution network 220 may perform other processing operations than the operation of applying the convolution kernel to the activation map. Examples of such other processing operations may include, but are not limited to, operations such as pooling, resampling, and the like.
  • the size of the activation map is reduced. Semantic segmentation involves pixel-by-pixel estimation of an object. Therefore, in order to estimate pixel-by-pixel, the result of the reduced size activation map must be increased by the size of the source learning image 210.
  • the size of the activation map 230 which is finally output in the full convolution network 220, may be the same as the size of the source learning image 210.
  • a series of processes in which the complete convolutional network 220 receives the source learning image 210 and outputs the activation map 230 is referred to as forward inference.
  • Losses can be calculated by comparing the activation map 230 output from the full convolution network 220 with the labeled data 240 of the source learning image.
  • the losses may be propagated back to the convolution layers through a back propagation technique. Based on the back propagated losses, the connection weights in the convolutional layers can be updated.
  • the method of calculating the loss is not limited to a specific method, but may include, for example, hinge loss, square loss, softmax loss, cross-entropy loss, Absolute Loss, Insensitive Loss, and the like can be used according to the purpose.
  • the method of learning through the back propagation algorithm starts from the input layer and compares the y value with the reference label value, The value is transmitted in the direction of the input layer and the weights of the nodes constituting the learning network are updated according to the calculated loss.
  • the training data set provided to the full convolution network 220 is called ground truth data and is also referred to as labeled data 240.
  • the label can represent the class of the object.
  • a learning model having optimized parameters is generated, and when unlabeled data is input to the generated model, (I.e., the label) that is to be determined.
  • the label of the training data set provided in the full convolution network 220 may be manually annotated by a person.
  • the hierarchical learning method of the neural network according to the disclosed embodiment is based on weakly-supervised learning. Therefore, the labeling method used in weak map learning will be described with reference to FIG.
  • 3 is a diagram showing a labeling method used in weakly-supervised learning.
  • the image-level labeling scheme 340 may be the simplest and most efficient labeling scheme.
  • the image-level labeling scheme 340 may be much less expensive than the pixel-level labeling scheme because it is sufficient to indicate which class is present in the source learning image. In this way, learning semantic segmentation with only class information (i.e., image level annotation) existing in the source learning image is called semantic segmentation based on weak-map learning.
  • FIG. 4 is a diagram schematically illustrating a learning method of semantic segmentation using a single learning network model.
  • FIG. 4 there is shown a source learning image 410, a single learning network model 420 configured with a full convolution network, and an activation map 430 output from a single learning network model.
  • the single learning network model 420 estimates the class, position, size, range, boundary, etc. of an object existing in the source learning image 410 based on the output activation map 430.
  • the single learning network model 420 is provided with only the image-level labeled data in the learning process, it is learned to concentrate on the most characteristic signal of the object and solve the classification problem. Accordingly, the activation map 430 output from the single learning network model 420 is activated only in the most characteristic region of the object.
  • Such an activation map 430 has a disadvantage in that it can not accurately estimate the size, range, and boundaries of the object, although the estimation performance of the object position is good. Since the single learning network model 420 focuses on the local characteristics of the object (e.g., the cats ear, the wheels of the car, etc.) rather than focusing on the global features of the object.
  • FIG. 5 is a diagram illustrating a learning method of semantic segmentation using a hierarchical learning network model according to an embodiment.
  • the hierarchical learning apparatus of the neural network can use a plurality of learning network models hierarchically and repetitively.
  • a plurality of learning network models according to an embodiment may be a model including a full convolution network.
  • a source learning image 510 a source learning image 510, a first learning network model 520 configured with a full convolution network, a second learning network model 530, a third learning network model 540, The first activation map 525 outputted from the model 520 and the second activation map 535 outputted from the second learning network model 530 and the third activation map outputted from the third learning network model 540 545 are shown.
  • the first learning network model 520, the second learning network model 530, and the third learning network model 540 are network models set to learn semantic segmentation, all of which are labeled with the same image-level Data is used.
  • the hierarchical learning apparatus of the neural network uses the image-level labeled data to learn that the first learning network model 520 solves the classification problem. Specifically, the hierarchical learning apparatus of the neural network calculates loss (loss_a) from the labeled data of the source learning image 510 based on the first activation map 525 output from the first learning network model 520 . The hierarchical learning apparatus of the neural network according to an embodiment can learn the first learning network model 520 when the loss_a is less than a preset threshold value. The hierarchical learning apparatus of the neural network according to one embodiment can proceed to the next step when the loss_a is not smaller than a preset threshold value.
  • the first activation map 525 output from the first learning network model 520 is output to the second learning network model 520 together with the source learning image 510 when the loss_a according to the embodiment is not smaller than the predetermined threshold. (530).
  • the second learning network model 530 according to one embodiment can be learned to solve the classification problem based on the source learning image 510 and the first activation map 525. [ At this time, the second learning network model 530 can receive information on the location and area where the first learning network model 520 deduced the object. Therefore, the second learning network model 530 learns from the source learning image 510 the remaining regions excluding the image region deduced from the first learning network model 520, and outputs the second activation map 535 Can be output. That is, the second activation map 535 may be different in position, size, range, and boundary of the activated region compared to the first activation map 525.
  • the hierarchical learning apparatus of the neural network may calculate loss_b from the labeled data of the source learning image 510 based on the first activation map 525 and the second activation map 535 have.
  • the hierarchical learning apparatus of the neural network according to an embodiment can learn the first learning network model 520 and the second learning network model 530 when the loss_b is smaller than a preset threshold value.
  • the hierarchical learning apparatus of the neural network according to one embodiment can proceed to the next step when the loss_b is not smaller than a preset threshold value.
  • the hierarchical learning apparatus of the neural network can determine whether to extend the layer by comparing the loss calculated in each layer with a threshold value.
  • the hierarchical learning apparatus of the neural network according to an embodiment learns the association between the signal of the previous layer and the signal of the next layer, thereby outputting different activation maps between the layers.
  • the hierarchical learning apparatus of the neural network according to an embodiment may store the output (i.e., activation map) of the learning network model of the previous hierarchy and newly learn the learning network model of the next hierarchy.
  • the third learning network model 540 includes a first activation map 525 output from the first learning network model 520 and a second activation network model 524 output from the second learning network model 520 together with the source learning image 510.
  • the second activation map 535 outputted from the second activation map 530 can be input.
  • the third learning network model 540 according to the embodiment can also perform the learning by concentrating on an area different from the area of the object concentrated in the first learning network model 520 and the second learning network model 530 .
  • the hierarchical learning apparatus of the neural network can extend the learning network model to x (x is an integer of 1 or more) hierarchy, and can expand the hierarchy according to the degree of loss (loss_x) Can be determined.
  • a plurality of learning network models may generate an activation map for each layer.
  • each activation map generated in each layer may be activated in different areas of the object.
  • the hierarchical learning apparatus of the neural network according to an embodiment may combine all the activation maps in each layer to generate a final activation map covering the entire area of the object.
  • the hierarchical learning apparatus of the neural network according to an embodiment can generate the semantic segmentation based on the generated final activation map.
  • FIG. 6 is a diagram illustrating that activation maps generated at each layer of the neural network are combined to produce a semantic segmentation according to one embodiment.
  • a first activation map 525, a second activation map 535, and a third activation map 545 are shown.
  • the hierarchical learning apparatus of the neural network according to an embodiment can generate the final activation map 600 by combining the outputs of the learning network models of the respective layers. Since the hierarchical learning apparatus of the neural network according to the embodiment can expand the learning network model to an arbitrary number of hierarchies, the number of activation maps should be interpreted not to be limited to the number shown in Fig.
  • FIG. 7 is a flowchart illustrating a hierarchical learning method of a neural network according to an embodiment.
  • the hierarchical learning device of the neural network may generate a first activation map by applying a source learning image to a first learning network model configured to learn semantic segmentation.
  • the hierarchical learning apparatus of the neural network may apply the source learning image to the second learning network model set to learn the semantic segmentation to generate the second activation map.
  • the hierarchical learning apparatus of the neural network may calculate a loss from the labeled data of the source learning image, based on the first activation map and the second activation map.
  • the hierarchical learning apparatus of the neural network may update the weights of the plurality of network nodes constituting the first learning network model and the second learning network model based on the calculated loss.
  • FIGS. 8 and 9 are block diagrams of a hierarchical learning apparatus of a neural network according to an embodiment.
  • a hierarchical learning apparatus 800 (hereinafter, " learning apparatus ") of a neural network may include a processor 810 and a memory 820.
  • Learning device 800 may include fewer or more components than processor 810 and memory 820, although this is only an example.
  • the learning apparatus 900 may further include a communication unit 830 and an output unit 840 in addition to the processor 810 and the memory 820.
  • the learning apparatus 800 may include a plurality of processors.
  • the processor 810 may include one or more cores (not shown) and a connection path (e.g., a bus, etc.) to transmit and receive signals to and / or from a graphics processing unit (not shown) .
  • a connection path e.g., a bus, etc.
  • the processor 810 may perform operations of the hierarchical learning apparatus of the neural network described above with reference to Figures 5-7.
  • processor 810 may apply a source learning image to a first learning network model configured to learn semantic segmentation to generate a first activation map.
  • Processor 810 may apply a source learning image to a second learning network model configured to learn semantic segmentation to generate a second activation map.
  • the processor 810 may calculate losses from the labeled data of the source learning image based on the first activation map and the second activation map.
  • the processor 810 may update the weights of the plurality of network nodes constituting the first learning network model and the second learning network model based on the loss.
  • the processor 810 may apply the source learning image to a third learning network model configured to perform semantic segmentation if the loss is not less than a predetermined threshold.
  • the processor 810 may combine the first activation map and the second activation map to generate a semantic segmentation for the source learning image.
  • the processor 810 may include a random access memory (RAM) (not shown) and a read-only memory (ROM) for temporarily and / or permanently storing signals (or data) , Not shown).
  • the processor 810 may be implemented as a system-on-chip (SoC) including at least one of a graphics processing unit, a RAM, and a ROM.
  • SoC system-on-chip
  • the memory 820 may store programs (one or more instructions) for processing and control of the processor 810. Programs stored in the memory 820 can be divided into a plurality of modules according to functions. According to one embodiment, the memory 810 may be configured with a data learning unit and a data recognition unit software module, which will be described later with reference to FIG. Further, the data learning unit and the data recognition unit may independently include a learning network model or may share one learning network model.
  • the communication unit 830 may include one or more components for communicating with external servers and other external devices.
  • the communication unit 830 can receive activation maps obtained from the server using learning network models stored in the server.
  • the communication unit 830 can transmit the activation maps generated using the learning network models to the server.
  • the output unit 840 may output the generated activation maps and the semantic segmentation.
  • the learning device 800 may be, for example, a PC, a laptop, a cell phone, a micro server, a GPS (global positioning system) device, a smart phone, a wearable terminal, an electronic book terminal, Non-mobile computing device.
  • the learning apparatus 800 may include all kinds of devices having a data processing function.
  • FIG. 10 is a diagram for explaining a processor 810 according to an embodiment.
  • a processor 810 may include a data learning unit 1010 and a data recognition unit 1020.
  • the data learning unit 1010 can learn a criterion for generating an activation map or a semantic segmentation from the source learning image. According to the learned criterion, the weight of at least one layer included in the data learning unit 1010 can be determined.
  • the data recognition unit 1020 can extract the activation map or the semantic segmentation based on the learned criterion through the data learning unit 1010 or recognize the class of the object included in the image.
  • At least one of the data learning unit 1010 and the data recognition unit 1020 may be fabricated in at least one hardware chip form and mounted on a neural network learning device.
  • at least one of the data learning unit 1010 and the data recognition unit 1020 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be a conventional general-purpose processor Or an application processor) or a graphics-only processor (e.g., a GPU) and may be mounted on the various neural network learning devices described above.
  • AI artificial intelligence
  • a graphics-only processor e.g., a GPU
  • the data learning unit 1010 and the data recognition unit 1020 may be mounted on one neural network learning device, or may be mounted on separate neural network learning devices, respectively.
  • one of the data learning unit 1010 and the data recognizing unit 1020 may be included in the device, and the other may be included in the server.
  • the data learning unit 1010 and the data recognition unit 1020 may provide the model information constructed by the data learning unit 1010 to the data recognition unit 1020 via wired or wireless communication, 1020 may be provided to the data learning unit 1010 as additional learning data.
  • At least one of the data learning unit 1010 and the data recognition unit 1020 may be implemented as a software module.
  • the software module may be a computer-readable, And may be stored in non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS operating system
  • OS operating system
  • FIG. 11 is a block diagram of a data learning unit 1010 according to an embodiment.
  • a data learning unit 1010 includes a data obtaining unit 1110, a preprocessing unit 1120, a learning data selecting unit 1130, a model learning unit 1140, 1150).
  • the data learning unit 1010 may be configured with fewer components than the above-described configurations, or other components other than the above-described configurations may be additionally included in the data learning unit 1010.
  • the data acquisition unit 1110 can acquire the source learning image.
  • the data acquiring unit 1110 may acquire at least one image from an external device or server capable of communicating with a neural network learning device including the data learning unit 1010 or the neural network learning device including the data learning unit 1010, Can be obtained.
  • the data acquiring unit 1110 may acquire activation maps using the learning network models described above with reference to Figs. 5 to 7.
  • At least one image acquired by the data acquisition unit 1110 may be one of images classified according to a class.
  • the data acquisition unit 1110 can perform learning based on images classified by species.
  • the preprocessing unit 1120 can preprocess the acquired image so that the acquired image can be used for learning of characteristic information extraction of an image or class recognition of an object in an image.
  • the preprocessing unit 1120 may process the acquired at least one image into a predetermined format so that the model learning unit 1140 may use at least one image obtained for learning.
  • the learning data selection unit 1130 can select an image required for learning from the preprocessed data.
  • the selected image may be provided to the model learning unit 1140.
  • the learning data selecting unit 1130 can select an image required for learning from among the preprocessed images according to a set criterion.
  • the model learning unit 1140 can learn a criterion for using the information from the image at a plurality of layers in the learning network model to acquire the characteristic information or recognize the object in the image. For example, in order to generate a semantic segmentation close to the labeled data, the model learning unit 1140 may determine which characteristic information should be extracted from the source learning image or which semantic segmentation is to be generated based on the extracted characteristic information You can learn about standards.
  • the model learning unit 1140 can determine a data recognition model in which the input learning data and the basic learning data are highly relevant, have.
  • the basic learning data may be pre-classified according to the type of data, and the data recognition model may be pre-built for each data type.
  • the basic learning data may be pre-classified by various criteria such as an area where the learning data is generated, a time at which the learning data is generated, a size of the learning data, a genre of the learning data, a creator of the learning data, .
  • model learning unit 1140 can learn the data generation model through reinforcement learning using feedback as to whether the recognized class is correct according to learning, for example.
  • the model learning unit 1140 can store the learned data generation model.
  • the model learning unit 1140 can store the learned data generation model in the memory of the neural network learning device including the data acquisition unit 1110.
  • the model learning unit 1140 may store the learned data generation model in a memory of a server connected to the neural network learning device via a wired or wireless network.
  • the memory in which the learned data generation model is stored may also store, for example, instructions or data associated with at least one other component of the neural network learning device.
  • the memory may also store software and / or programs.
  • the program may include, for example, a kernel, a middleware, an application programming interface (API) and / or an application program (or " application ").
  • the model evaluation unit 1150 inputs evaluation data to the data generation model and, if the result of generation of the additional learning data output from the evaluation data does not satisfy the predetermined criterion, allows the model learning unit 1140 to learn again have.
  • the evaluation data may be predetermined data for evaluating the data generation model.
  • the evaluation data may include a difference between the activation map and the labeled data generated based on the learning network model.
  • the model evaluating unit 1150 can evaluate whether each learning network model satisfies a predetermined criterion, and determine a model satisfying a predetermined criterion as a final learning network model.
  • At least one of the data acquiring unit 1110, the preprocessing unit 1120, the learning data selecting unit 1130, the model learning unit 1140, and the model evaluating unit 1150 in the data learning unit 1010 includes at least one And can be mounted on a neural network learning device.
  • at least one of the data acquisition unit 1110, the preprocessor 1120, the learning data selection unit 1130, the model learning unit 1140, and the model evaluation unit 1150 may be an artificial intelligence (AI) Or may be implemented as part of a conventional general purpose processor (e.g., a CPU or an application processor) or a graphics dedicated processor (e.g., a GPU) and loaded on the various neural network learning devices described above .
  • AI artificial intelligence
  • a conventional general purpose processor e.g., a CPU or an application processor
  • a graphics dedicated processor e.g., a GPU
  • the data acquisition unit 1110, the preprocessing unit 1120, the learning data selection unit 1130, the model learning unit 1140, and the model evaluation unit 1150 may be mounted on one neural network learning device, Or may be mounted on separate neural network learning devices, respectively.
  • some of the data acquisition unit 1110, the preprocessing unit 1120, the learning data selection unit 1130, the model learning unit 1140, and the model evaluation unit 1150 are included in the neural network learning device, Some may be included in the server.
  • At least one of the data acquisition unit 1110, the preprocessing unit 1120, the learning data selection unit 1130, the model learning unit 1140, and the model evaluation unit 1150 may be implemented as a software module.
  • At least one of the data acquiring unit 1110, the preprocessing unit 1120, the learning data selecting unit 1130, the model learning unit 1140, and the model evaluating unit 1150 is a software module (or a program including an instruction) Module), the software module may be stored in a computer-readable, readable non-transitory computer readable media.
  • the at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS Operating System
  • some of the software modules may be provided by a predetermined application.
  • FIG. 12 is a block diagram of a data recognition unit 1020 according to an embodiment.
  • a data recognition unit 1020 includes a data acquisition unit 1210, a preprocessing unit 1220, a recognition data selection unit 1230, a recognition result providing unit 1240, 1250 < / RTI >
  • the data acquiring unit 1210 may acquire at least one image necessary for extracting characteristic information of an image or recognizing an object in an image, and the preprocessor 1220 may acquire at least one image for extracting characteristic information of the image, Processing the acquired image so that at least one image that has been acquired can be used.
  • the preprocessing unit 1220 may process the acquired image into a predetermined format so that the recognition result providing unit 1240 to be described later can use the acquired image for extracting characteristic information of the image or class of the object in the image .
  • the recognition data selection unit 1230 can select an image for characteristic extraction or class recognition from the preprocessed data. The selected data may be provided to the recognition result providing unit 1240.
  • the recognition result providing unit 1240 may apply the selected image to the learning network model according to an embodiment to extract characteristic information of the image or recognize an object in the image.
  • a method of recognizing an object by inputting at least one image into the learning network model may correspond to the method described above with reference to FIGS.
  • the recognition result providing unit 1240 may provide a result of recognizing the class of the object included in at least one image.
  • the model update unit 1250 updates the parameter of the species classification network or the at least one characteristic extraction layer included in the learning network model based on the evaluation of the class recognition result of the object in the image provided by the recognition result providing unit 1240 Etc. to the model learning unit 1140 described above with reference to FIG.
  • At least one of the data acquiring unit 1210, the preprocessing unit 1220, the recognition data selecting unit 1230, the recognition result providing unit 1240 and the model updating unit 1250 in the data recognizing unit 1020 may be at least It can be manufactured in one hardware chip form and mounted on a neural network learning device.
  • at least one of the data acquisition unit 1210, the preprocessing unit 1220, the recognition data selection unit 1230, the recognition result providing unit 1240, and the model updating unit 1250 may be a dedicated hardware chip for artificial intelligence Or may be built into a variety of neural network learning devices, such as those described above, that are fabricated as part of a conventional general purpose processor (e.g., a CPU or an application processor) or a graphics dedicated processor (e.g., a GPU).
  • a conventional general purpose processor e.g., a CPU or an application processor
  • a graphics dedicated processor e.g., a GPU
  • the data acquiring unit 1210, the preprocessing unit 1220, the recognition data selecting unit 1230, the recognition result providing unit 1240, and the model updating unit 1250 may be installed in one neural network learning device, Or separate neural network learning devices, respectively.
  • some of the data acquiring unit 1210, the preprocessing unit 1220, the recognition data selecting unit 1230, the recognition result providing unit 1240, and the model updating unit 1250 are included in the neural network learning device, Some of the rest can be included in the server.
  • At least one of the data acquisition unit 1210, the preprocessing unit 1220, the recognition data selection unit 1230, the recognition result providing unit 1240, and the model updating unit 1250 may be implemented as a software module.
  • At least one of the data acquisition unit 1210, the preprocessing unit 1220, the recognition data selection unit 1230, the recognition result providing unit 1240 and the model updating unit 1250 may be a software module (or an instruction) Program modules), the software modules may be stored in a computer-readable, readable non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • some of the at least one software module may be provided by an operating system (OS), and some of the software modules may be provided by a predetermined application.
  • the apparatus may include a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, a key, Or the like, and the like.
  • Methods implemented with software modules or algorithms may be stored on a computer readable recording medium as computer readable codes or program instructions executable on the processor.
  • the computer-readable recording medium may be a magnetic storage medium such as a read-only memory (ROM), a random-access memory (RAM), a floppy disk, a hard disk, ), And a DVD (Digital Versatile Disc).
  • the computer-readable recording medium may be distributed over networked computer systems so that computer readable code can be stored and executed in a distributed manner.
  • the medium is readable by a computer, stored in a memory, and executable on a processor.
  • This embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented in a wide variety of hardware and / or software configurations that perform particular functions. For example, embodiments may include integrated circuit components such as memory, processing, logic, look-up tables, etc., that may perform various functions by control of one or more microprocessors or other control devices Can be employed. Similar to how components may be implemented with software programming or software components, the present embodiments may be implemented in a variety of ways, including C, C ++, Java (" Java), an assembler, and the like. Functional aspects may be implemented with algorithms running on one or more processors. In addition, the present embodiment can employ conventional techniques for electronic environment setting, signal processing, and / or data processing. Terms such as “mechanism”, “element”, “means”, “configuration” may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.

Landscapes

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

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 특히, 본 개시는 인공지능 시스템 및 그 응용에 따른 뉴럴 네트워크의 계층적 학습 방법으로, 시멘틱 세그멘테이션을 생성하도록 설정된 제 1 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 1 활성화 맵을 생성하고, 시멘틱 세그멘테이션을 생성하도록 설정된 제 2 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 2 활성화 맵을 생성하고, 제 1 활성화 맵 및 제 2 활성화 맵에 기초하여, 소스 학습 이미지의 라벨링된 데이터로부터 손실을 산출하고, 손실에 기초하여 제 1 학습 네트워크 모델 및 제 2 학습 네트워크 모델을 구성하는 복수의 네트워크 노드들의 가중치를 업데이트할 수 있다.

Description

약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
개시된 실시예는 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법, 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 장치 및 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법을 수행하는 프로그램이 기록된 기록매체에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
다양한 실시예들에 따라 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치를 제공한다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
상술한 기술적 과제를 해결하기 위한 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법은, 시멘틱 세그멘테이션(semantic segmentation)을 학습하도록 설정된 제 1 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 1 활성화 맵(activation map)을 생성하는 단계; 시멘틱 세그멘테이션을 학습하도록 설정된 제 2 학습 네트워크 모델에 상기 소스 학습 이미지를 적용하여 제 2 활성화 맵을 생성하는 단계; 상기 제 1 활성화 맵 및 상기 제 2 활성화 맵에 기초하여, 상기 소스 학습 이미지의 라벨링된(labeled) 데이터로부터 손실(loss)을 산출하는 단계; 및 상기 손실에 기초하여 상기 제 1 학습 네트워크 모델 및 상기 제 2 학습 네트워크 모델을 구성하는 복수의 네트워크 노드들의 가중치를 업데이트하는 단계를 포함한다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법에 있어서, 상기 제 2 학습 네트워크 모델은, 상기 소스 학습 이미지 중에서 상기 제 1 학습 네트워크로부터 추론된 이미지 영역을 제외한 나머지 영역을 대상으로 학습을 수행하도록 설정될 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법에 있어서, 상기 복수의 네트워크 노드들의 가중치를 업데이트하는 단계는, 상기 손실이 미리 정해진 임계치보다 작은 경우에 수행되고, 상기 손실이 상기 미리 정해진 임계치보다 작지 않은 경우, 상기 방법은 시멘틱 세그멘테이션을 수행하도록 설정된 제 3 학습 네트워크 모델에 상기 소스 학습 이미지를 적용하는 단계를 더 포함할 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법에 있어서, 상기 라벨링된 데이터는 상기 소스 학습 이미지에 대한 이미지-레벨(image-level)의 주석(annotation)을 포함할 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법에 있어서, 상기 시멘틱 세그멘테이션은, 상기 소스 학습 이미지 내의 오브젝트(object)들을 픽셀 단위로 추정한 결과물일 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법에 있어서, 상기 방법은, 상기 제 1 활성화 맵 및 상기 제 2 활성화 맵을 조합하여 상기 소스 학습 이미지에 대한 시멘틱 세그멘테이션을 생성하는 단계를 더 포함할 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법에 있어서, 상기 제 1 학습 네트워크 모델 및 상기 제 2 학습 네트워크 모델은 완전 컨볼루션 네트워크(Fully Convolutional Network; FCN)를 포함하는 모델일 수 있다.
일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 시멘틱 세그멘테이션(semantic segmentation)을 학습하도록 설정된 제 1 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 1 활성화 맵(activation map)을 생성하고, 시멘틱 세그멘테이션을 학습하도록 설정된 제 2 학습 네트워크 모델에 상기 소스 학습 이미지를 적용하여 제 2 활성화 맵을 생성하고, 상기 제 1 활성화 맵 및 상기 제 2 활성화 맵에 기초하여, 상기 소스 학습 이미지의 라벨링된(labeled) 데이터로부터 손실(loss)을 산출하고, 상기 손실에 기초하여 상기 제 1 학습 네트워크 모델 및 상기 제 2 학습 네트워크 모델을 구성하는 복수의 네트워크 노드들의 가중치를 업데이트한다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치에 있어서, 상기 제 2 학습 네트워크 모델은, 상기 소스 학습 이미지 중에서 상기 제 1 학습 네트워크로부터 추론된 이미지 영역을 제외한 나머지 영역을 대상으로 학습을 수행하도록 설정될 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치에 있어서, 상기 복수의 네트워크 노드들의 가중치의 업데이트는, 상기 손실이 미리 정해진 임계치보다 작은 경우에 수행되고, 상기 손실이 상기 미리 정해진 임계치보다 작지 않은 경우, 상기 적어도 하나의 프로세서는 시멘틱 세그멘테이션을 수행하도록 설정된 제 3 학습 네트워크 모델에 상기 소스 학습 이미지를 적용할 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치에 있어서, 상기 라벨링된 데이터는 상기 소스 학습 이미지에 대한 이미지-레벨(image-level)의 주석(annotation)을 포함할 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치에 있어서, 상기 시멘틱 세그멘테이션은, 상기 소스 학습 이미지 내의 오브젝트(object)들을 픽셀 단위로 추정한 결과물일 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치에 있어서, 상기 적어도 하나의 프로세서는, 상기 제 1 활성화 맵 및 상기 제 2 활성화 맵을 조합하여 상기 소스 학습 이미지에 대한 시멘틱 세그멘테이션을 생성할 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치에 있어서, 상기 제 1 학습 네트워크 모델 및 상기 제 2 학습 네트워크 모델은 완전 컨볼루션 네트워크(Fully Convolutional Network; FCN)를 포함하는 모델일 수 있다.
일 실시예에 따른 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체를 포함한다.
이미지-레벨의 라벨링된 데이터를 이용한 시멘틱 세그멘테이션 학습 과정에서 오브젝트의 정확한 위치는 물론, 오브젝트의 크기, 범위 및 경계까지 효과적으로 추정하여 시멘틱 세그멘테이션의 인식 정확도를 높일 수 있다.
도 1은 시멘틱 세그멘테이션(semantic segmentation)을 설명하기 위한 도면이다.
도 2는 완전 컨볼루션 네트워크(Fully Convolutional Network; FCN)을 도식화한 도면이다.
도 3은 약한 지도 학습(weakly-supervised learning)에서 이용되는 라벨링 방식을 나타내는 도면이다.
도 4는 단일의 학습 네트워크 모델을 이용한 시멘틱 세그멘테이션의 학습 방법을 개략적으로 나타낸 도면이다.
도 5는 일 실시예에 따른 계층적 학습 네트워크 모델을 이용한 시멘틱 세그멘테이션의 학습 방법을 나타낸 도면이다.
도 6은 일 실시예에 따른 시멘틱 세그멘테이션을 생성하기 위해 뉴럴 네트워크의 각 레이어에서 생성된 활성화 맵들이 조합됨을 나타내는 도면이다.
도 7은 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법을 나타내는 흐름도이다.
도 8 및 도 9는 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치의 블록도이다.
도 10은 일 실시예에 따른 프로세서를 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 데이터 학습부의 블록도이다.
도 12는 일 실시예에 따른 데이터 인식부의 블록도이다.
개시된 실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 개시는 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치에 관한 것이다. 특히, 본 개시는 픽셀 레벨의 이미지 인식을 위한 뉴럴 네트워크의 계층적 학습 방법 및 장치에 관한 것이다.
뉴럴 네트워크(Neural Network)는 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있다. 뉴럴 네트워크는, 인공 지능 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 네트워크 모델을 포함할 수 있다. 다양한 종류의 딥 러닝 네트워크를 예로 들면, 완전 컨볼루션 네트워크(Fully Convolutional Network; FCN), 컨볼루션 뉴럴 네트워크(Convolutional Neural Network; CNN), 회귀 뉴럴 네트워크(Recurrent Neural Network; RNN), 딥 빌리프 네트워크(Deep Belief Network; DBN), 제한된 볼츠만 기계(Restricted Boltzman Machine; RBM) 방식 등이 있으나, 이에 제한되지 않는다.
뉴럴 네트워크의 구조를 이용하는 학습 네트워크 모델은 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함한다. 이 때, 뉴럴 네트워크의 네트워크 노드들은 다른 네트워크 노드들과의 연결들(links)을 형성한다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 시냅틱(synaptic) 활동을 모의하도록 설계될 수 있다.
지도 학습(supervised learning)이란, 알고리즘을 통해 정해진 답을 찾는 것이 목적이다. 따라서, 지도 학습에 기초한 뉴럴 네트워크 모델은 훈련용 데이터(training data)로부터 함수를 추론해내는 형태의 모델일 수 있다. 지도 학습에서는 트레이닝에 라벨링된 샘플(labeled sample; 목표 출력 값이 있는 데이터)을 사용한다.
지도 학습 알고리즘은 일련의 학습 데이터와 그에 상응하는 목표 출력 값을 수신하고, 입력되는 데이터에 대한 실제 출력 값과 목표 출력 값을 비교하는 학습을 통해 오류를 찾아내고, 해당 결과를 근거로 모델을 수정하게 된다. 지도 학습은 결과물의 형태에 따라 다시 회귀(Regression), 분류(Classification), 검출(Detection), 시멘틱 세그멘테이션(Semantic Segmentation) 등으로 나뉠 수 있다. 지도 학습 알고리즘을 통해 도출된 함수는 다시 새로운 결과값을 예측하는데 사용된다. 이처럼, 지도 학습에 기초한 뉴럴 네트워크 모델은 수많은 학습 데이터의 학습을 통해, 뉴럴 네트워크 모델의 파라미터를 최적화하게 된다.
도 1은 시멘틱 세그멘테이션(semantic segmentation)을 설명하기 위한 도면이다.
도 1을 참조하면, 지도 학습의 두 가지 결과물이 도시된다. 도 1에 도시된 결과물(110)은 오브젝트 검출(object detection)을 나타내고, 결과물(120)은 시멘틱 세그멘테이션을 나타낸다.
검출이란, 이미지에서 특정 대상이 있는지 여부를 확인하는 기술을 말한다. 예를 들어, 결과물(110)에서 '사람'에 해당되는 오브젝트와 '가방'에 해당하는 오브젝트가 바운딩 박스(bounding box)라고 부르는 사각형의 영역을 통해 나타내어질 수 있다. 이 때, 바운딩 박스는 오브젝트의 위치 정보까지도 나타낼 수 있다. 따라서, 검출은 오브젝트가 존재하는지 여부만을 가리는 것이 아니라, 오브젝트의 위치 정보까지 확인하는 기술을 포함할 수 있다.
시멘틱 세그멘테이션이란, 단순하게 바운딩 박스 등을 이용하여 오브젝트의 존재 여부 및 위치를 확인하는 검출 기술과는 달리, 픽셀 단위의 추정을 수행하여 의미 있는 단위로 오브젝트를 분리하는 기술을 의미한다. 즉, 시멘틱 세그멘테이션은 학습 모델에 입력된 이미지 내에서 이미지를 구성하는 각각의 오브젝트들을 픽셀 단위로 구별하는 기술일 수 있다. 예를 들어, 결과물(120)에서 '하늘', '숲', '물', '사람', '잔디' 등에 해당되는 오브젝트가 픽셀 단위로 구별될 수 있다. 오브젝트가 픽셀 단위로 구별된 결과물(120)을 시멘틱 세그멘테이션이라고 부르기도 한다.
시멘틱 세그멘테이션을 통해 이미지 내에 무엇(what)이 있는지(즉, 시멘틱)를 확인할 수 있을 뿐만 아니라 대상의 위치, 크기, 범위 및 경계(즉, 세그멘테이션)까지 정확하게 파악할 수 있다. 그러나, 시멘틱이라는 요소와 세그멘테이션이라는 요소는 성질상 지향하는 바가 다르기 때문에 상기 두 요소들을 조화롭게 해결해야 시멘틱 세그멘테이션의 성능이 향상될 수 있다. 시멘틱 세그멘테이션을 생성하기 위한 네트워크 학습 모델은 꾸준하게 제안되어 왔다. 최근 들어, 분류(classification)를 위한 학습 네트워크 모델의 일부 레이어의 구조를 변형한 완전 컨볼루션 네트워크(Fully Convolutional Network; FCN)가 향상된 성능을 나타내고 있다. 이하에서는, 도 2를 참조하여 완전 컨볼루션 네트워크에 대해 설명하기로 한다.
도 2는 완전 컨볼루션 네트워크(Fully Convolutional Network; FCN)을 도식화한 도면이다.
도 2를 참조하면, 소스 학습 이미지(210), 완전 컨볼루션 네트워크(220), 완전 컨볼루션 네트워크(220)에서 출력되는 활성화 맵(230) 및 소스 학습 이미지의 라벨링된 데이터(240)가 도시된다.
일반적인 분류(classification)를 위한 네트워크는 복수의 히든 레이어를 포함하며, 이들 네트워크의 마지막 단에는 완전 연결 레이어(fully connected layer)가 존재한다. 그런데, 이처럼 완전 연결 레이어를 포함하는 네트워크는 시멘틱 세그멘테이션의 생성에 부적합한 측면이 있다. 첫 번째 이유로, 완전 연결 레이어는 고정된 크기의 입력만을 받아들이는 문제가 있다. 두 번째 이유로는, 완전 연결 레이어를 통해 출력된 결과물은 더 이상 오브젝트의 위치 정보를 포함하지 않게 되는데, 세그멘테이션이라는 요소를 위해서는 오브젝트의 위치 정보(또는 공간 정보)를 알아야 하므로 이는 심각한 문제로 작용한다.
도 2에 도시된 완전 컨볼루션 네트워크(220)는 완전 연결 레이어를 1x1 컨볼루션 형태로 변형함으로써 오브젝트의 위치 정보를 유지시킬 수 있다. 따라서, 컨볼루션 레이어만으로 이루어진 네트워크인 완전 컨볼루션 네트워크(220)에서는 입력의 크기에 대한 제약에서 자유로워질 수 있으며, 오브젝트의 위치 정보가 사라지지 않으므로 시멘틱 세그멘테이션 생성에 적합할 수 있다.
완전 컨볼루션 네트워크(220) 내의 컨볼루션 레이어들은 복잡한 입력 데이터로부터 테두리, 선 색 등과 같은 "특징들(features)"을 추출하기 위해 이용될 수 있다. 각각의 컨볼루션 레이어는 데이터를 수신할 수 있고, 해당 레이어에 입력되는 데이터를 처리하여 해당 레이어에서 출력되는 데이터를 생성할 수 있다. 컨볼루션 레이어에서 출력되는 데이터는, 입력 이미지를 하나 이상의 필터 또는 하나 이상의 커널(Kernel)과 컨볼루션하여 생성한 데이터이다. 완전 컨볼루션 네트워크(220)의 초기 컨볼루션 레이어들은 입력으로부터 에지들 또는 그레디언트들과 같은 낮은 레벨의 특징들을 추출하도록 동작될 수 있다. 다음 컨볼루션 레이어들은 눈, 코 등과 같은 점진적으로 더 복잡한 특징들을 추출할 수 있다. 각각의 컨볼루션 레이어에서 출력되는 데이터는 활성화 맵(activation map) 또는 특징 맵(feature map)이라고 부른다. 한편, 완전 컨볼루션 네트워크(220)는 활성화 맵에 컨볼루션 커널을 적용하는 연산 이외에 다른 프로세싱 연산들을 수행할 수 있다. 이와 같은 다른 프로세싱 연산들의 예들은, 풀링(pooling), 리샘플링 등의 연산들을 포함할 수 있으나, 이에 제한되지 않는다.
소스 학습 이미지(210)가 완전 컨볼루션 네트워크(220) 내의 여러 단계의 레이어를 거치면, 활성화 맵의 크기가 줄어들게 된다. 시멘틱 세그멘테이션은 오브젝트에 대한 픽셀 단위의 추정이 수반되므로, 픽셀 단위의 추정을 하려면 줄어든 크기의 활성화 맵의 결과를 소스 학습 이미지(210)의 크기만큼 다시 키우는 과정을 거쳐야 한다. 1x1 컨볼루션 연산을 통해 얻어진 스코어(score) 값을 소스 학습 이미지(210)의 크기로 확대하는 방법에는 여러 가지가 있다. 예를 들어, 이진 선형 보간(bilinear interpolation) 기법, 디컨볼루션(deconvolution) 기법, 스킵 레이어(skip layer) 기법 등을 통해 크기가 줄어든 활성화 맵의 디테일(detail)을 보강하는 방법이 있으나, 이에 제한되지 않는다. 따라서, 완전 컨볼루션 네트워크(220)에서 최종적으로 출력되는 활성화 맵(230)의 크기는 소스 학습 이미지(210)의 크기와 동일해질 수 있다. 완전 컨볼루션 네트워크(220)가 소스 학습 이미지(210)를 입력받아 활성화 맵(230)을 출력하는 일련의 과정을 '선방향 추론(forward inference)'이라고 한다.
완전 컨볼루션 네트워크(220)에서 출력되는 활성화 맵(230)은 소스 학습 이미지의 라벨링된 데이터(240)와 비교됨으로써 손실(loss)들이 계산될 수 있다. 손실들은 역 전파(back propagation) 기법을 통하여 컨볼루션 레이어들로 역 전파될 수 있다. 역 전파된 손실들에 기초하여, 컨볼루션 레이어들 내 연결 가중치들이 업데이트될 수 있다. 손실을 계산하는 방법은 특정 방식에 국한되지 않으며, 예를 들어, 힌지 손실(Hinge Loss), 스퀘어 손실(Square Loss), 소프트맥스 손실(Softmax Loss), 크로스-엔트로피 손실(Cross-entropy Loss), 절대 손실(Absolute Loss), 인센시티브 손실(Insensitive Loss) 등이 목적에 따라 사용될 수 있다.
역 전파 알고리즘을 통한 학습(즉, '역방향 학습(backward learning)')을 하는 방법은 입력 레이어에서 시작하여 출력 레이어를 통해 y 값을 얻었을 때 기준 라벨 값과 비교하여 오답일 경우 다시 출력 레이어에서 입력 레이어 방향으로 값을 전달하며 계산된 손실에 따라 학습 네트워크를 구성하는 노드들의 가중치들을 업데이트 하는 방식이다. 이 때, 완전 컨볼루션 네트워크(220)에 제공되는 훈련용 데이터 셋은 실지 검증(ground truth) 데이터라고 하며, 라벨링된 데이터(240)라고 부르기도 한다. 라벨은 해당 객체(object)의 클래스(class)를 나타낼 수 있다.
완전 컨볼루션 네트워크(220)가 소스 학습 이미지(210)를 이용한 학습 과정을 수행하고 나면 최적화된 파라미터를 가지는 학습 모델이 생성되며, 생성된 모델에 라벨링되지 않은 데이터를 입력하였을 때 입력된 데이터에 상응하는 결과 값(즉, 라벨)을 예측할 수 있게 된다.
한편, 완전 컨볼루션 네트워크(220)에 제공되는 훈련용 데이터 셋의 라벨은 사람에 의해 수동으로 표식(annotate)된 것일 수 있다. 개시된 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법은 약한 지도 학습(weakly-supervised learning)을 기반으로 한다. 따라서, 약한 지도 학습에서 이용되는 라벨링 방식에 대해 도 3을 참조하여 설명하기로 한다.
도 3은 약한 지도 학습(weakly-supervised learning)에서 이용되는 라벨링 방식을 나타내는 도면이다.
시멘틱 세그멘테이션을 완전 감독(fully-supervised) 방식으로 학습하는 방법에서는, 소스 학습 이미지의 모든 픽셀이 어떤 클래스에 해당하는지에 대한 주석(annotation)이 달리며, 이와 같이 픽셀-레벨(pixel-level)로 주석이 달린 데이터는 실지 검증(ground truth) 데이터로 사용된다. 하지만 픽셀 단위로 주석을 다는 것은 비효율적이며 높은 비용이 요구된다.
도 3을 참조하면, 바운딩 박스를 이용한 라벨링 방식(310), 스크리블(scribble)을 이용한 라벨링 방식(320), 포인트(point)를 이용한 라벨링 방식(330), 이미지-레벨(image-level)의 라벨링 방식(340) 등이 도시된다. 다양한 라벨링 방식들 중에서 이미지-레벨의 라벨링 방식(340)이 가장 단순하고 효율적인 라벨링 방식일 수 있다. 이미지-레벨의 라벨링 방식(340)은 소스 학습 이미지에 어떤 클래스가 존재하는지만을 나타내면 충분하므로 픽셀-레벨(pixel-level)의 라벨링 방식에 비해 훨씬 적은 비용이 든다. 이와 같이, 소스 학습 이미지에 존재하는 클래스 정보(즉, 이미지 레벨 주석)만을 가지고 시멘틱 세그멘테이션을 학습하는 것을 약한-지도 학습에 기초한 시멘틱 세그멘테이션이라고 한다.
한편, 픽셀-레벨의 주석 없이 이미지-레벨의 주석만을 사용하면서 오브젝트(352, 354)의 클래스와 위치, 범위, 경계 등을 효과적으로 추정하여 시멘틱 세그멘테이션(350)의 정확도를 높이기 위한 실시예들이 이하 개시된다.
도 4는 단일의 학습 네트워크 모델을 이용한 시멘틱 세그멘테이션의 학습 방법을 개략적으로 나타낸 도면이다.
도 4를 참조하면, 소스 학습 이미지(410), 완전 컨볼루션 네트워크로 구성된 단일 학습 네트워크 모델(420) 및 단일 학습 네트워크 모델에서 출력되는 활성화 맵(430)이 도시된다.
약한 지도 학습 과정에서, 단일 학습 네트워크 모델(420)은 출력된 활성화 맵(430)을 기초로 소스 학습 이미지(410)에 존재하는 오브젝트의 클래스, 위치, 크기, 범위, 경계 등을 추정한다. 그러나, 단일 학습 네트워크 모델(420)은 학습 과정에서 이미지-레벨의 라벨링된 데이터만을 제공받기 때문에, 오브젝트의 가장 특징적인 신호에만 집중하여 분류 문제를 풀도록 학습된다. 따라서, 단일 학습 네트워크 모델(420)에서 출력되는 활성화 맵(430)은 오브젝트의 가장 특징적인 영역에서만 활성화된다. 이와 같은 활성화 맵(430)은 오브젝트의 위치에 대한 추정 성능은 좋으나, 오브젝트의 크기, 범위 및 경계는 정확히 추정하지 못한다는 단점이 있다. 단일 학습 네트워크 모델(420)이 오브젝트의 전역적인(global) 특징에 집중하기보다는 오브젝트의 국부적인(local) 특징(예를 들어, 고양이의 귀, 자동차의 바퀴 등)에 집중하기 때문이다.
한편, 단일 학습 네트워크 모델(420)을 이용한 학습 시 오브젝트의 전역적인 특징에 대한 추정 성능이 저하되는 문제를 해결하기 위해, 다양한 시도가 제안되어 왔다. 예를 들어, 이미지에 통계적으로 전경(foreground)과 배경(background)의 픽셀 수 비율을 사전에 가정하고, 활성화 맵(430)이 가정된 비율만큼 확장되도록 제약을 주는 방식이 있다. 그러나, 이 경우 이미지 내에 존재하는 오브젝트의 하이-레벨(high-level) 시멘틱이 고려되지 않으므로 오브젝트의 실제 크기, 범위 및 경계에 상관없이 세그멘테이션 출력이 확장되는 문제점이 있다.
따라서, 이미지-레벨의 라벨링된 데이터를 이용한 시멘틱 세그멘테이션 학습 과정에서 오브젝트의 정확한 위치는 물론, 오브젝트의 크기, 범위 및 경계까지 효과적으로 추정하여 시멘틱 세그멘테이션의 인식 정확도를 높이기 위한 방법이 이하에서 제안된다.
도 5는 일 실시예에 따른 계층적 학습 네트워크 모델을 이용한 시멘틱 세그멘테이션의 학습 방법을 나타낸 도면이다.
일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는, 복수의 학습 네트워크 모델을 계층적 및 반복적으로 사용할 수 있다. 일 실시예에 따른 복수의 학습 네트워크 모델은 완전 컨볼루션 네트워크를 포함하는 모델일 수 있다.
도 5를 참조하면, 소스 학습 이미지(510), 완전 컨볼루션 네트워크로 구성된 제 1 학습 네트워크 모델(520), 제 2 학습 네트워크 모델(530), 제 3 학습 네트워크 모델(540), 제 1 학습 네트워크 모델(520)에서 출력되는 제 1 활성화 맵(525), 제 2 학습 네트워크 모델(530)에서 출력되는 제 2 활성화 맵(535) 및 제 3 학습 네트워크 모델(540)에서 출력되는 제 3 활성화 맵(545)이 도시된다.
일 실시예에 따른 제 1 학습 네트워크 모델(520), 제 2 학습 네트워크 모델(530) 및 제 3 학습 네트워크 모델(540)은 시멘틱 세그멘테이션을 학습하도록 설정된 네트워크 모델로서, 모두 동일한 이미지-레벨의 라벨링된 데이터를 사용한다.
이하에서, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치의 훈련(training) 단계에 대해 설명하기로 한다.
일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는 이미지-레벨의 라벨링된 데이터를 이용하여 제 1 학습 네트워크 모델(520)이 분류 문제를 풀도록 학습시킨다. 구체적으로, 뉴럴 네트워크의 계층적 학습 장치는 제 1 학습 네트워크 모델(520)에서 출력된 제 1 활성화 맵(525)에 기초하여 소스 학습 이미지(510)의 라벨링된 데이터로부터 손실(loss_a)을 산출할 수 있다. 일 실시에에 따른 뉴럴 네트워크의 계층적 학습 장치는 손실(loss_a)이 미리 설정된 임계치보다 작은 경우 제 1 학습 네트워크 모델(520)을 학습시킬 수 있다. 일 실시에에 따른 뉴럴 네트워크의 계층적 학습 장치는 손실(loss_a)이 미리 설정된 임계치보다 작지 않은 경우 다음 단계로 진행할 수 있다.
일 실시예에 따른 손실(loss_a)이 미리 설정된 임계치보다 작지 않은 경우, 제 1 학습 네트워크 모델(520)에서 출력된 제 1 활성화 맵(525)은 소스 학습 이미지(510)와 함께 제 2 학습 네트워크 모델(530)에 입력될 수 있다. 일 실시예에 따른 제 2 학습 네트워크 모델(530)은 소스 학습 이미지(510)와 제 1 활성화 맵(525)을 기초로 분류 문제를 풀도록 학습될 수 있다. 이 때, 제 2 학습 네트워크 모델(530)은 제 1 학습 네트워크 모델(520)이 오브젝트를 추론한 위치 및 영역에 대한 정보를 입력받을 수 있다. 따라서, 제 2 학습 네트워크 모델(530)은 소스 학습 이미지(510) 중에서 제 1 학습 네트워크 모델(520)로부터 추론된 이미지 영역을 제외한 나머지 영역을 대상으로 학습을 수행하여 제 2 활성화 맵(535)을 출력할 수 있다. 즉, 제 2 활성화 맵(535)은 제 1 활성화 맵(525)과 비교하여 활성화된 영역의 위치, 크기, 범위 및 경계가 상이할 수 있다.
일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는 제 1 활성화 맵(525) 및 제 2 활성화 맵(535)에 기초하여 소스 학습 이미지(510)의 라벨링된 데이터로부터 손실(loss_b)을 산출할 수 있다. 일 실시에에 따른 뉴럴 네트워크의 계층적 학습 장치는 손실(loss_b)이 미리 설정된 임계치보다 작은 경우 제 1 학습 네트워크 모델(520) 및 제 2 학습 네트워크 모델(530)을 학습시킬 수 있다. 일 실시에에 따른 뉴럴 네트워크의 계층적 학습 장치는 손실(loss_b)이 미리 설정된 임계치보다 작지 않은 경우 다음 단계로 진행할 수 있다.
이처럼, 일 실시에에 따른 뉴럴 네트워크의 계층적 학습 장치는 각 계층에서 산출된 손실을 임계치와 비교하여 계층의 확장 여부를 결정할 수 있다. 그리고, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는, 이전 계층의 신호와 다음 계층의 신호 사이의 연관성을 학습하여 계층 간에 서로 다른 활성화 맵을 출력시킬 수 있다. 이를 위해, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는, 이전 계층(hierachy)의 학습 네트워크 모델의 출력(즉, 활성화 맵)을 저장하고 다음 계층의 학습 네트워크 모델을 새로이 학습할 수 있다.
동일한 방식으로, 일 실시예에 따른 제 3 학습 네트워크 모델(540)은 소스 학습 이미지(510)와 함께 제 1 학습 네트워크 모델(520)에서 출력된 제 1 활성화 맵(525) 및 제 2 학습 네트워크 모델(530)에서 출력된 제 2 활성화 맵(535)을 입력받을 수 있다. 일 실시예에 따른 제 3 학습 네트워크 모델(540) 역시 제 1 학습 네트워크 모델(520)과 제 2 학습 네트워크 모델(530)에서 집중한 오브젝트의 영역과는 다른 영역에 집중하여 학습을 수행할 수 있다.
일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는, 학습 네트워크 모델을 x(x는 1이상의 정수)개의 계층으로 확장할 수 있으며, 각 계층에서의 손실(loss_x)가 줄어드는 정도에 따라 계층의 확장 여부를 결정할 수 있다.
이하에서, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치의 테스팅(testing) 단계에 대해 설명하기로 한다.
일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치에 임의의 이미지를 입력하면 복수의 학습 네트워크 모델(예를 들어, 제 1 학습 네트워크 모델(520), 제 2 학습 네트워크 모델(530), 제 3 학습 네트워크 모델(540) 등)이 각 계층마다 활성화 맵을 생성할 수 있다. 이 때, 각 계층에서 생성된 각각의 활성화 맵은 오브젝트의 서로 다른 영역에서 활성화된 것일 수 있다. 그 후, 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는 각 계층에서 모든 활성화 맵들을 조합하여 오브젝트의 전체 영역을 커버(cover)하는 최종 활성화 맵을 생성할 수 있다. 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는 생성된 최종 활성화 맵에 기초하여 시멘틱 세그멘테이션을 생성할 수 있다.
도 6은 일 실시예에 따른 시멘틱 세그멘테이션을 생성하기 위해 뉴럴 네트워크의 각 레이어에서 생성된 활성화 맵들이 조합됨을 나타내는 도면이다.
도 6을 참조하면, 제 1 활성화 맵(525), 제 2 활성화 맵(535) 및 제 3 활성화 맵(545)이 도시된다.
일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는, 각 계층의 학습 네트워크 모델의 출력들을 조합하여 최종 활성화 맵(600)을 생성할 수 있다. 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치는, 학습 네트워크 모델을 임의의 개수의 계층으로 확장할 수 있으므로, 활성화 맵의 개수는 도 6에 도시된 개수에 한정되지 않는 것으로 해석되어야 한다.
도 7은 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 방법을 나타내는 흐름도이다.
단계 S710에서, 뉴럴 네트워크의 계층적 학습 장치는 시멘틱 세그멘테이션을 학습하도록 설정된 제 1 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 1 활성화 맵을 생성할 수 있다.
단계 S720에서, 뉴럴 네트워크의 계층적 학습 장치는 시멘틱 세그멘테이션을 학습하도록 설정된 제 2 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 2 활성화 맵을 생성할 수 있다.
단계 S730에서, 뉴럴 네트워크의 계층적 학습 장치는 제 1 활성화 맵 및 제 2 활성화 맵에 기초하여, 소스 학습 이미지의 라벨링된 데이터로부터 손실을 산출할 수 있다.
단계 S740에서, 뉴럴 네트워크의 계층적 학습 장치는 산출된 손실에 기초하여 제 1 학습 네트워크 모델 및 제 2 학습 네트워크 모델을 구성하는 복수의 네트워크 노드들의 가중치를 업데이트할 수 있다.
도 8 및 도 9는 일 실시예에 따른 뉴럴 네트워크의 계층적 학습 장치의 블록도이다.
도 8을 참조하면, 뉴럴 네트워크의 계층적 학습 장치(800, 이하, "학습 장치")는 프로세서(810) 및 메모리(820)를 포함할 수 있다. 다만, 이는 일 실시예일 뿐, 학습 장치(800)는 프로세서(810) 및 메모리(820) 보다 더 적거나 더 많은 구성 요소를 포함할 수 있다. 예를 들어, 도 9를 참조하면, 다른 실시예에 따른 학습 장치(900)는 프로세서(810) 및 메모리(820) 이외에 통신부(830) 및 출력부(840)를 더 포함할 수 있다. 또한, 다른 예에 따라, 학습 장치(800)는 복수의 프로세서들을 포함할 수도 있다.
프로세서(810)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따라 프로세서(810)는 도 5 내지 도 7을 참고하여 전술한 뉴럴 네트워크의 계층적 학습 장치의 동작을 수행할 수 있다.
예를 들어, 프로세서(810)는 시멘틱 세그멘테이션을 학습하도록 설정된 제 1 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 1 활성화 맵을 생성할 수 있다. 프로세서(810)는 시멘틱 세그멘테이션을 학습하도록 설정된 제 2 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 2 활성화 맵을 생성할 수 있다. 프로세서(810)는 제 1 활성화 맵 및 제 2 활성화 맵에 기초하여, 소스 학습 이미지의 라벨링된 데이터로부터 손실을 산출할 수 있다. 프로세서(810)는 손실에 기초하여 제 1 학습 네트워크 모델 및 제 2 학습 네트워크 모델을 구성하는 복수의 네트워크 노드들의 가중치를 업데이트할 수 있다.
또한, 프로세서(810)는 손실이 미리 정해진 임계치보다 작지 않은 경우, 시멘틱 세그멘테이션을 수행하도록 설정된 제 3 학습 네트워크 모델에 소스 학습 이미지를 적용할 수 있다.
또한, 프로세서(810)는 제 1 활성화 맵 및 제 2 활성화 맵을 조합하여 소스 학습 이미지에 대한 시멘틱 세그멘테이션을 생성할 수 있다.
한편, 프로세서(810)는 프로세서(810) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(810)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(820)는 프로세서(810)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(820)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다. 일 실시예에 따라 메모리(810)는 도 10을 참고하여 후술할 데이터 학습부 및 데이터 인식부가 소프트웨어 모듈로 구성될 수 있다. 또한, 데이터 학습부 및 데이터 인식부는 각각 독립적으로 학습 네트워크 모델을 포함하거나, 하나의 학습 네트워크 모델을 공유할 수 있다.
통신부(830)는 외부 서버 및 기타 외부 장치와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 통신부(830)는 서버에 저장된 학습 네트워크 모델들을 이용하여 획득된 활성화 맵들을 서버로부터 수신할 수 있다. 또한, 통신부(830)는 학습 네트워크 모델들을 이용하여 생성된 활성화 맵들을 서버에 전송할 수 있다.
출력부(840)는 생성된 활성화 맵들 및 시멘틱 세그멘테이션을 출력할 수 있다.
한편, 학습 장치(800)는 예를 들어, PC, 랩톱, 휴대폰, 마이크로 서버, GPS(global positioning system) 장치, 스마트 폰, 웨어러블 단말기, 전자책 단말기, 가전기기, 자동차 내의 전자 장치 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있다. 그러나, 이에 제한되지 않으며, 학습 장치(800)는 데이터 프로세싱 기능을 구비한 모든 종류의 기기를 포함할 수 있다.
도 10은 일 실시예에 따른 프로세서(810)를 설명하기 위한 도면이다.
도 10을 참조하면, 일 실시예에 따른 프로세서(810)는 데이터 학습부(1010) 및 데이터 인식부(1020)를 포함할 수 있다.
데이터 학습부(1010)는 소스 학습 이미지로부터 활성화 맵 또는 시멘틱 세그멘테이션을 생성하기 위한 기준을 학습할 수 있다. 학습된 기준에 따라, 데이터 학습부(1010)에 포함된 적어도 하나의 레이어의 가중치가 결정될 수 있다.
데이터 인식부(1020)는 데이터 학습부(1010)를 통해 학습된 기준에 기초하여, 활성화 맵 또는 시멘틱 세그멘테이션을 추출하거나, 이미지에 포함된 오브젝트의 클래스를 인식할 수 있다.
데이터 학습부(1010) 및 데이터 인식부(1020) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 디바이스에 탑재될 수 있다. 예를 들어, 데이터 학습부(1010) 및 데이터 인식부(1020) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있다.
이 경우, 데이터 학습부(1010) 및 데이터 인식부(1020)는 하나의 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있으며, 또는 별개의 뉴럴 네트워크 학습 디바이스에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1010) 및 데이터 인식부(1020) 중 하나는 디바이스에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1010) 및 데이터 인식부(1020)는 유선 또는 무선으로 통하여, 데이터 학습부(1010)가 구축한 모델 정보를 데이터 인식부(1020)로 제공할 수도 있고, 데이터 인식부(1020)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1010)로 제공될 수도 있다.
한편, 데이터 학습부(1010) 및 데이터 인식부(1020) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1010) 및 데이터 인식부(1020) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
도 11은 일 실시예에 따른 데이터 학습부(1010)의 블록도이다.
도 11을 참조하면, 일부 실시예에 따른 데이터 학습부(1010)는 데이터 획득부(1110), 전처리부(1120), 학습 데이터 선택부(1130), 모델 학습부(1140) 및 모델 평가부(1150)를 포함할 수 있다. 다만, 이는 일 실시예일 뿐, 전술한 구성 들 보다 적은 구성 요소로 데이터 학습부(1010)가 구성되거나, 전술한 구성들 이외에 다른 구성 요소가 추가적으로 데이터 학습부(1010)에 포함될 수 있다.
데이터 획득부(1110)는 소스 학습 이미지를 획득할 수 있다. 일 예로, 데이터 획득부(1110)는 데이터 학습부(1010)를 포함하는 뉴럴 네트워크 학습 디바이스 또는 데이터 학습부(1010)를 포함하는 뉴럴 네트워크 학습 디바이스와 통신 가능한 외부의 디바이스 또는 서버로부터 적어도 하나의 이미지를 획득할 수 있다.
또한, 데이터 획득부(1110)는 도 5 내지 도 7을 참고하여 전술한 학습 네트워크 모델들을 이용하여, 활성화 맵들을 획득할 수도 있다.
한편, 일 실시예에 따른 데이터 획득부(1110)에서 획득하는 적어도 하나의 이미지는 클래스에 따라 분류된 이미지 중 하나일 수 있다. 예를 들어, 데이터 획득부(1110)는 종 별로 분류된 이미지를 기초로 학습을 수행할 수 있다.
전처리부(1120)는 이미지의 특성 정보 추출 또는 이미지 내의 객체의 클래스 인식을 위한 학습에 획득된 이미지가 이용될 수 있도록, 획득된 이미지를 전처리할 수 있다. 전처리부(1120)는 후술할 모델 학습부(1140)가 학습을 위하여 획득된 적어도 하나의 이미지를 이용할 수 있도록, 획득된 적어도 하나의 이미지를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(1130)는 전처리된 데이터 중에서 학습에 필요한 이미지를 선택할 수 있다. 선택된 이미지는 모델 학습부(1140)에 제공될 수 있다. 학습 데이터 선택부(1130)는 설정된 기준에 따라, 전처리된 이미지 중에서 학습에 필요한 이미지를 선택할 수 있다.
모델 학습부(1140)는 학습 네트워크 모델 내의 복수의 레이어에서 이미지로부터 어떠한 정보를 이용하여, 특성 정보를 획득하거나, 이미지 내의 객체를 인식하는지에 대한 기준을 학습할 수 있다. 예를 들어, 모델 학습부(1140)는 라벨링된 데이터에 근접한 시멘틱 세그멘테이션의 생성을 위하여, 소스 학습 이미지로부터 어떠한 특성 정보를 추출해야 하는지 또는 추출된 특성 정보로부터 어떠한 기준에 따라 시멘틱 세그멘테이션을 생성할 지에 대한 기준을 학습할 수 있다.
다양한 실시예에 따르면, 모델 학습부(1140)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 객체의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1140)는, 예를 들어, 학습에 따라 인식된 클래스가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 생성 모델을 학습시킬 수 있다.
또한, 데이터 생성 모델이 학습되면, 모델 학습부(1140)는 학습된 데이터 생성 모델을 저장할 수 있다. 이 경우, 모델 학습부(1140)는 학습된 데이터 생성 모델을 데이터 획득부(1110)를 포함하는 뉴럴 네트워크 학습 디바이스의 메모리에 저장할 수 있다. 또는, 모델 학습부(1140)는 학습된 데이터 생성 모델을 뉴럴 네트워크 학습 디바이스와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 생성 모델이 저장되는 메모리는, 예를 들면, 뉴럴 네트워크 학습 디바이스의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 애플리케이션 프로그래밍 인터페이스(API) 및/또는 애플리케이션 프로그램(또는 "애플리케이션") 등을 포함할 수 있다.
모델 평가부(1150)는 데이터 생성 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 추가 학습 데이터의 생성 결과, 소정 기준을 만족하지 못하는 경우, 모델 학습부(1140)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 생성 모델을 평가하기 위한 기 설정된 데이터일 수 있다. 여기에서, 평가 데이터는 학습 네트워크 모델을 기반으로 생성된 활성화 맵과 라벨링된 데이터 간의 차이 등을 포함할 수 있다.
한편, 학습 네트워크 모델이 복수 개 존재하는 경우, 모델 평가부(1150)는 각각의 학습 네트워크 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 학습 네트워크 모델로서 결정할 수 있다.
한편, 데이터 학습부(1010) 내의 데이터 획득부(1110), 전처리부(1120), 학습 데이터 선택부(1130), 모델 학습부(1140) 및 모델 평가부(1150) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 디바이스에 탑재될 수 있다. 예를 들어, 데이터 획득부(1110), 전처리부(1120), 학습 데이터 선택부(1130), 모델 학습부(1140) 및 모델 평가부(1150) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 디바이스 에 탑재될 수도 있다.
또한, 데이터 획득부(1110), 전처리부(1120), 학습 데이터 선택부(1130), 모델 학습부(1140) 및 모델 평가부(1150)는 하나의 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있으며, 또는 별개의 뉴럴 네트워크 학습 디바이스들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1110), 전처리부(1120), 학습 데이터 선택부(1130), 모델 학습부(1140) 및 모델 평가부(1150) 중 일부는 뉴럴 네트워크 학습 디바이스에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1110), 전처리부(1120), 학습 데이터 선택부(1130), 모델 학습부(1140) 및 모델 평가부(1150) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1110), 전처리부(1120), 학습 데이터 선택부(1130), 모델 학습부(1140) 및 모델 평가부(1150) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 12는 일 실시예에 따른 데이터 인식부(1020)의 블록도이다.
도 12를 참조하면, 일부 실시예에 따른 데이터 인식부(1020)는 데이터 획득부(1210), 전처리부(1220), 인식 데이터 선택부(1230), 인식 결과 제공부(1240) 및 모델 갱신부(1250)를 포함할 수 있다.
데이터 획득부(1210)는 이미지의 특성 정보 추출 또는 이미지 내의 객체 인식에 필요한 적어도 하나의 이미지를 획득할 수 있으며, 전처리부(1220)는 이미지의 특성 정보 추출 또는 이미지 내의 객체의 클래스 인식을 위해 획득된 적어도 하나의 이미지가 이용될 수 있도록, 획득된 이미지를 전처리할 수 있다. 전처리부(1220)는 후술할 인식 결과 제공부(1240)가 이미지의 특성 정보 추출 또는 이미지 내의 객체의 클래스 인식을 위하여 획득된 이미지를 이용할 수 있도록, 획득된 이미지를 기 설정된 포맷으로 가공할 수 있다. 인식 데이터 선택부(1230)는 전처리된 데이터 중에서 특성 추출 또는 클래스 인식에 필요한 이미지를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1240)에게 제공될 수 있다.
인식 결과 제공부(1240)는 선택된 이미지를 일 실시예에 따른 학습 네트워크 모델에 적용하여 이미지의 특성 정보를 추출하거나, 이미지 내의 객체를 인식할 수 있다. 학습 네트워크 모델에 적어도 하나의 이미지를 입력하여 객체를 인식하는 방법은 도 5 내지 7을 참고하여 전술한 방법과 대응될 수 있다.
인식 결과 제공부(1240)는 적어도 하나의 이미지 내에 포함된 객체의 클래스를 인식한 결과를 제공할 수 있다.
모델 갱신부(1250)는 인식 결과 제공부(1240)에 의해 제공되는 이미지 내의 객체의 클래스 인식 결과에 대한 평가에 기초하여, 학습 네트워크 모델에 포함된 종분류 네트워크 또는 적어도 하나의 특성 추출 레이어의 파라미터 등이 갱신되도록 평가에 대한 정보를 도 11을 참고하여 전술한 모델 학습부(1140)에게 제공할 수 있다.
한편, 데이터 인식부(1020) 내의 데이터 획득부(1210), 전처리부(1220), 인식 데이터 선택부(1230), 인식 결과 제공부(1240) 및 모델 갱신부(1250) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 디바이스에 탑재될 수 있다. 예를 들어, 데이터 획득부(1210), 전처리부(1220), 인식 데이터 선택부(1230), 인식 결과 제공부(1240) 및 모델 갱신부(1250) 중 적어도 하나는 인공 지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있다.
또한, 데이터 획득부(1210), 전처리부(1220), 인식 데이터 선택부(1230), 인식 결과 제공부(1240) 및 모델 갱신부(1250)는 하나의 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있으며, 또는 별개의 뉴럴 네트워크 학습 디바이스들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1210), 전처리부(1220), 인식 데이터 선택부(1230), 인식 결과 제공부(1240) 및 모델 갱신부(1250) 중 일부는 뉴럴 네트워크 학습 디바이스에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1210), 전처리부(1220), 인식 데이터 선택부(1230), 인식 결과 제공부(1240) 및 모델 갱신부(1250) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1210), 전처리부(1220), 인식 데이터 선택부(1230), 인식 결과 제공부(1240) 및 모델 갱신부(1250) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
상기 살펴 본 실시예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.

Claims (15)

  1. 시멘틱 세그멘테이션(semantic segmentation)을 학습하도록 설정된 제 1 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 1 활성화 맵(activation map)을 생성하는 단계;
    시멘틱 세그멘테이션을 학습하도록 설정된 제 2 학습 네트워크 모델에 상기 소스 학습 이미지를 적용하여 제 2 활성화 맵을 생성하는 단계;
    상기 제 1 활성화 맵 및 상기 제 2 활성화 맵에 기초하여, 상기 소스 학습 이미지의 라벨링된(labeled) 데이터로부터 손실(loss)을 산출하는 단계; 및
    상기 손실에 기초하여 상기 제 1 학습 네트워크 모델 및 상기 제 2 학습 네트워크 모델을 구성하는 복수의 네트워크 노드들의 가중치를 업데이트하는 단계를 포함하는, 뉴럴 네트워크의 계층적 학습 방법.
  2. 제 1 항에 있어서,
    상기 제 2 학습 네트워크 모델은, 상기 소스 학습 이미지 중에서 상기 제 1 학습 네트워크 모델로부터 추론된 이미지 영역을 제외한 나머지 영역을 대상으로 학습을 수행하도록 설정된, 뉴럴 네트워크의 계층적 학습 방법.
  3. 제 1 항에 있어서,
    상기 복수의 네트워크 노드들의 가중치를 업데이트하는 단계는, 상기 손실이 미리 정해진 임계치보다 작은 경우에 수행되고,
    상기 손실이 상기 미리 정해진 임계치보다 작지 않은 경우, 상기 방법은 시멘틱 세그멘테이션을 수행하도록 설정된 제 3 학습 네트워크 모델에 상기 소스 학습 이미지를 적용하는 단계를 더 포함하는, 뉴럴 네트워크의 계층적 학습 방법.
  4. 제 1 항에 있어서,
    상기 라벨링된 데이터는 상기 소스 학습 이미지에 대한 이미지-레벨(image-level)의 주석(annotation)을 포함하는, 뉴럴 네트워크의 계층적 학습 방법.
  5. 제 1 항에 있어서,
    상기 시멘틱 세그멘테이션은, 상기 소스 학습 이미지 내의 오브젝트(object)들을 픽셀 단위로 추정한 결과물인, 뉴럴 네트워크의 계층적 학습 방법.
  6. 제 1 항에 있어서,
    상기 방법은,
    상기 제 1 활성화 맵 및 상기 제 2 활성화 맵을 조합하여 상기 소스 학습 이미지에 대한 시멘틱 세그멘테이션을 생성하는 단계를 더 포함하는, 뉴럴 네트워크의 계층적 학습 방법.
  7. 제 1 항에 있어서,
    상기 제 1 학습 네트워크 모델 및 상기 제 2 학습 네트워크 모델은 완전 컨볼루션 네트워크(Fully Convolutional Network; FCN)를 포함하는 모델인, 뉴럴 네트워크의 계층적 학습 방법.
  8. 하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    시멘틱 세그멘테이션(semantic segmentation)을 학습하도록 설정된 제 1 학습 네트워크 모델에 소스 학습 이미지를 적용하여 제 1 활성화 맵(activation map)을 생성하고,
    시멘틱 세그멘테이션을 학습하도록 설정된 제 2 학습 네트워크 모델에 상기 소스 학습 이미지를 적용하여 제 2 활성화 맵을 생성하고,
    상기 제 1 활성화 맵 및 상기 제 2 활성화 맵에 기초하여, 상기 소스 학습 이미지의 라벨링된(labeled) 데이터로부터 손실(loss)을 산출하고,
    상기 손실에 기초하여 상기 제 1 학습 네트워크 모델 및 상기 제 2 학습 네트워크 모델을 구성하는 복수의 네트워크 노드들의 가중치를 업데이트하는, 뉴럴 네트워크의 계층적 학습 장치.
  9. 제 8 항에 있어서,
    상기 제 2 학습 네트워크 모델은, 상기 소스 학습 이미지 중에서 상기 제 1 학습 네트워크 모델로부터 추론된 이미지 영역을 제외한 나머지 영역을 대상으로 학습을 수행하도록 설정된, 뉴럴 네트워크의 계층적 학습 장치.
  10. 제 8 항에 있어서,
    상기 복수의 네트워크 노드들의 가중치의 업데이트는, 상기 손실이 미리 정해진 임계치보다 작은 경우에 수행되고,
    상기 손실이 상기 미리 정해진 임계치보다 작지 않은 경우, 상기 적어도 하나의 프로세서는 시멘틱 세그멘테이션을 수행하도록 설정된 제 3 학습 네트워크 모델에 상기 소스 학습 이미지를 적용하는, 뉴럴 네트워크의 계층적 학습 장치.
  11. 제 8 항에 있어서,
    상기 라벨링된 데이터는 상기 소스 학습 이미지에 대한 이미지-레벨(image-level)의 주석(annotation)을 포함하는, 뉴럴 네트워크의 계층적 학습 장치.
  12. 제 8 항에 있어서,
    상기 시멘틱 세그멘테이션은, 상기 소스 학습 이미지 내의 오브젝트(object)들을 픽셀 단위로 추정한 결과물인, 뉴럴 네트워크의 계층적 학습 장치.
  13. 제 8 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제 1 활성화 맵 및 상기 제 2 활성화 맵을 조합하여 상기 소스 학습 이미지에 대한 시멘틱 세그멘테이션을 생성하는, 뉴럴 네트워크의 계층적 학습 장치.
  14. 제 8 항에 있어서,
    상기 제 1 학습 네트워크 모델 및 상기 제 2 학습 네트워크 모델은 완전 컨볼루션 네트워크(Fully Convolutional Network; FCN)를 포함하는 모델인, 뉴럴 네트워크의 계층적 학습 장치.
  15. 제 1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2017/013003 2017-11-16 2017-11-16 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치 WO2019098414A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/758,089 US20200327409A1 (en) 2017-11-16 2017-11-16 Method and device for hierarchical learning of neural network, based on weakly supervised learning
PCT/KR2017/013003 WO2019098414A1 (ko) 2017-11-16 2017-11-16 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
KR1020207002482A KR102532749B1 (ko) 2017-11-16 2017-11-16 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2017/013003 WO2019098414A1 (ko) 2017-11-16 2017-11-16 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2019098414A1 true WO2019098414A1 (ko) 2019-05-23

Family

ID=66539061

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/013003 WO2019098414A1 (ko) 2017-11-16 2017-11-16 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치

Country Status (3)

Country Link
US (1) US20200327409A1 (ko)
KR (1) KR102532749B1 (ko)
WO (1) WO2019098414A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021133001A1 (ko) * 2019-12-26 2021-07-01 주식회사 픽스트리 시멘틱 이미지 추론 방법 및 장치
CN113313716A (zh) * 2020-02-27 2021-08-27 北京车和家信息技术有限公司 一种自动驾驶语义分割模型的训练方法及装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443232B1 (en) * 2018-11-23 2022-09-13 Amazon Technologies, Inc. Active learning-based data labeling service using an augmented manifest
CN111666960B (zh) * 2019-03-06 2024-01-19 南京地平线机器人技术有限公司 图像识别方法、装置、电子设备及可读存储介质
KR102605657B1 (ko) * 2020-07-08 2023-11-29 한국전자통신연구원 심층 신경회로에서의 데이터 변환 장치 및 방법
KR102537947B1 (ko) 2020-10-16 2023-05-26 연세대학교 산학협력단 약한 지도학습 기반 객체 위치 검출 방법 및 장치
CN112418404A (zh) * 2020-12-01 2021-02-26 策拉人工智能科技(云南)有限公司 一种人工智能会计神经网络深度学习训练方法
KR102352942B1 (ko) * 2021-01-13 2022-01-19 셀렉트스타 주식회사 객체 경계정보의 주석을 입력하는 방법 및 장치
KR102559616B1 (ko) * 2021-02-10 2023-07-27 주식회사 빔웍스 약지도 딥러닝 인공 지능을 이용한 유방 초음파 진단 방법 및 시스템
KR102579927B1 (ko) 2021-04-23 2023-09-19 동국대학교 산학협력단 그룹 확장 컨벌루션 모듈 기반 시멘틱 분할 네트워크 시스템 및 방법
KR102343056B1 (ko) * 2021-07-08 2021-12-24 주식회사 인피닉 어노테이션을 위한 이미지의 데이터 로드를 감축시키는 방법
KR102358235B1 (ko) * 2021-07-12 2022-02-08 주식회사 몰팩바이오 세그멘테이션 모듈이 포함된 gan 기반의 가상 병리 데이터 생성 장치
WO2023019444A1 (zh) * 2021-08-17 2023-02-23 华为技术有限公司 语义分割模型的优化方法和装置
KR102389369B1 (ko) * 2021-12-08 2022-04-21 전북대학교산학협력단 인공신경망 학습을 위한 반자동 정밀영역 레이블 획득 장치 및 방법
CN115063639B (zh) * 2022-08-11 2022-12-09 小米汽车科技有限公司 生成模型的方法、图像语义分割方法、装置、车辆及介质
KR102563758B1 (ko) * 2022-12-30 2023-08-09 고려대학교 산학협력단 3차원 모델을 활용한 시멘틱 세그멘테이션 학습 데이터 생성 장치
CN117078923A (zh) * 2023-07-19 2023-11-17 苏州大学 面向自动驾驶环境的语义分割自动化方法、系统及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160072768A (ko) * 2014-12-15 2016-06-23 삼성전자주식회사 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치
US20170213112A1 (en) * 2016-01-25 2017-07-27 Adobe Systems Incorporated Utilizing deep learning for automatic digital image segmentation and stylization

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10210613B2 (en) * 2016-05-12 2019-02-19 Siemens Healthcare Gmbh Multiple landmark detection in medical images based on hierarchical feature learning and end-to-end training
WO2018035805A1 (en) * 2016-08-25 2018-03-01 Intel Corporation Coupled multi-task fully convolutional networks using multi-scale contextual information and hierarchical hyper-features for semantic image segmentation
US11200483B2 (en) * 2016-08-30 2021-12-14 Lunit Inc. Machine learning method and apparatus based on weakly supervised learning
KR101879207B1 (ko) * 2016-11-22 2018-07-17 주식회사 루닛 약한 지도 학습 방식의 객체 인식 방법 및 장치
US10957045B2 (en) * 2016-12-12 2021-03-23 University Of Notre Dame Du Lac Segmenting ultrasound images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160072768A (ko) * 2014-12-15 2016-06-23 삼성전자주식회사 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치
US20170213112A1 (en) * 2016-01-25 2017-07-27 Adobe Systems Incorporated Utilizing deep learning for automatic digital image segmentation and stylization

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HENGSHUANG ZHAO: "ICNet for Real-Time Semantic Segmentation on High-Resolution Images", 27 April 2017 (2017-04-27) - 7 October 2018 (2018-10-07), XP047498245 *
HYO-EUN KIM ET AL.: "Deconvolutional Feature Stacking for Weakly-Supervised Semantic Segmentation", ARXIV.ORG, 12 March 2016 (2016-03-12), XP055609728 *
SANGHEUM HWANG ET AL.: "Self-Transfer Learning for Fully Weakly Supervised Object Localization", ARXIV.ORG, 4 February 2016 (2016-02-04), XP080681467 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021133001A1 (ko) * 2019-12-26 2021-07-01 주식회사 픽스트리 시멘틱 이미지 추론 방법 및 장치
CN113313716A (zh) * 2020-02-27 2021-08-27 北京车和家信息技术有限公司 一种自动驾驶语义分割模型的训练方法及装置
CN113313716B (zh) * 2020-02-27 2024-03-01 北京车和家信息技术有限公司 一种自动驾驶语义分割模型的训练方法及装置

Also Published As

Publication number Publication date
US20200327409A1 (en) 2020-10-15
KR102532749B1 (ko) 2023-05-16
KR20200074940A (ko) 2020-06-25

Similar Documents

Publication Publication Date Title
WO2019098414A1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
WO2018212494A1 (ko) 객체를 식별하는 방법 및 디바이스
WO2019050247A2 (ko) 클래스 인식을 위한 뉴럴 네트워크 학습 방법 및 디바이스
WO2019098449A1 (ko) 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2019098418A1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
JP2018097807A (ja) 学習装置
US20200410338A1 (en) Multimodal data learning method and device
WO2019050297A1 (ko) 뉴럴 네트워크 학습 방법 및 장치
CN110633632A (zh) 一种基于循环指导的弱监督联合目标检测和语义分割方法
CN107247952B (zh) 基于深层监督的循环卷积神经网络的视觉显著性检测方法
WO2019093599A1 (ko) 사용자 관심 정보 생성 장치 및 그 방법
WO2020246655A1 (ko) 상황 인지 방법 및 이를 수행하는 장치
WO2018212584A2 (ko) 딥 뉴럴 네트워크를 이용하여 문장이 속하는 클래스를 분류하는 방법 및 장치
WO2021235682A1 (en) Method and device for performing behavior prediction by using explainable self-focused attention
CN111008622B (zh) 一种图像对象检测方法、装置以及计算机可读存储介质
CN113065634A (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
WO2020141907A1 (ko) 키워드에 기초하여 이미지를 생성하는 이미지 생성 장치 및 이미지 생성 방법
CN116681961A (zh) 基于半监督方法和噪声处理的弱监督目标检测方法
WO2022139327A1 (en) Method and apparatus for detecting unsupported utterances in natural language understanding
WO2018084473A1 (ko) 신경망 학습에 기반한 입력 처리 방법 및 이를 위한 장치
CN114120074A (zh) 基于语义增强的图像识别模型的训练方法和训练装置
Meena Deshpande License plate detection and recognition using yolo v4
WO2019059460A1 (ko) 영상 처리 장치 및 방법
CN116152519B (zh) 一种基于图像的特征提取方法及设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17932035

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

Country of ref document: EP

Kind code of ref document: A1