KR20200068104A - Apparatus and method for executing deep learning based on early inference - Google Patents

Apparatus and method for executing deep learning based on early inference Download PDF

Info

Publication number
KR20200068104A
KR20200068104A KR1020180150061A KR20180150061A KR20200068104A KR 20200068104 A KR20200068104 A KR 20200068104A KR 1020180150061 A KR1020180150061 A KR 1020180150061A KR 20180150061 A KR20180150061 A KR 20180150061A KR 20200068104 A KR20200068104 A KR 20200068104A
Authority
KR
South Korea
Prior art keywords
deep learning
output layer
early
network
reasoning
Prior art date
Application number
KR1020180150061A
Other languages
Korean (ko)
Other versions
KR102180051B1 (en
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 KR1020180150061A priority Critical patent/KR102180051B1/en
Publication of KR20200068104A publication Critical patent/KR20200068104A/en
Application granted granted Critical
Publication of KR102180051B1 publication Critical patent/KR102180051B1/en

Links

Images

Classifications

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

Abstract

The present invention relates to an early inference based deep learning device capable of determining the effective position and number of additional output layers with low complexity and connecting an output layer only between relatively high accuracy layers by using the same, and a method thereof. The early inference based deep learning device according to the present invention can comprise: a multi-output collection part collecting intermediate output values in all layers of a pre-learned deep learning network; an output layer position inference part clustering the collected intermediate output values for each layer to infer an additional output layer position; and a network learning part that forms a new deep learning network by connecting an output layer to the inferred additional output layer position, and learns the formed new deep learning network.

Description

조기 추론 기반의 심층학습 장치 및 그 방법{APPARATUS AND METHOD FOR EXECUTING DEEP LEARNING BASED ON EARLY INFERENCE}Deep learning device based on early reasoning and its method {APPARATUS AND METHOD FOR EXECUTING DEEP LEARNING BASED ON EARLY INFERENCE}

본 발명은 심층학습(Deep learning) 기법에 관한 것으로, 더욱 상세하게는 추가적인 출력층의 효과적인 위치와 수를 저 복잡도로 파악하고 이를 이용하여 정확도가 상대적으로 높은 층 사이에만 출력층을 연결할 수 있는 조기 추론 기반의 심층학습 장치 및 그 방법에 관한 것이다.The present invention relates to a deep learning technique, and more specifically, based on early inference that an effective location and number of additional output layers can be grasped with low complexity and the output layers can be connected only between layers with relatively high accuracy by using them. In-depth learning device and method.

알려진 바와 같이, 기존의 심층학습(Deep learning) 기법은 하나의 입력층과 여러 개의 은닉층과 하나의 출력층으로 구성되어 있으며, 이러한 심층학습은 심층학습의 높은 정확도로 인해 다양한 분야에서 널리 사용되고 있다.As is known, the existing deep learning technique is composed of one input layer, several hidden layers, and one output layer, and such deep learning is widely used in various fields due to the high accuracy of deep learning.

그러나, 기존의 심층학습 기법은 상대적으로 높은 복잡도로 인해 모바일 환경에서 사용하기가 어렵다는 문제가 있다.However, the existing deep learning technique has a problem that it is difficult to use in a mobile environment due to its relatively high complexity.

이를 해결하기 위한 하나의 방법으로 조기 추론이 가능한 심층학습이 제시되고 있는데, 이러한 조기 추론이 가능한 심층학습은 기존의 심층학습 네트워크에 추가적인 출력층을 연결하는 방식이다.In order to solve this, in-depth learning capable of early reasoning is proposed, and in-depth learning capable of early reasoning is a method of connecting an additional output layer to an existing deep learning network.

이때, 출력층의 숫자와 위치는 몇 개든, 어디든 가능하지만 위치와 수에 따라 정확도와 학습 단계와 추론 단계에서의 복잡도가 달라지게 되는데, 이를 위해 높은 정확도와 학습 단계와 추론 단계에서 낮은 복잡도를 가지도록 추가적인 출력층의 숫자와 위치를 정하는 새로운 기법이 필요하다.At this time, the number and location of the output layer can be any number, anywhere, but the accuracy and complexity in the learning and inference stages vary depending on the location and number. For this, high accuracy and low complexity in the learning and inference stages are required. New techniques are needed to determine the number and location of additional output layers.

기존의 방식에 따라 추가적인 출력층의 위치를 정하는 기본적인 방식으로는 다음과 같은 두가지 방식이 있다.There are two basic methods for positioning the additional output layer according to the existing method.

도 1은 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 첫 번째 방식을 설명하기 위한 개념도이다.1 is a conceptual diagram illustrating a first method of positioning an additional output layer according to a conventional method.

도 1을 참조하면, 기존의 첫 번째 방식은 각 층(Layer)의 모든 가능한 위치에 출력층(Output layer)을 연결하는 방식인 것으로, 출력층이 늘어난 만큼 학습 단계와 추론 단계 모두에서 높은 복잡도를 가지게 되는 문제가 있다.Referring to FIG. 1, the first conventional method is a method of connecting an output layer to all possible positions of each layer, and as the output layer is increased, it has high complexity in both the learning step and the inference step. there is a problem.

또한, 기존의 첫 번째 방식은 정확도가 낮은 부분에서도 출력층이 생기기 때문에 전체적인 정확도가 낮아지게 되는 문제가 있다.In addition, the existing first method has a problem in that the overall accuracy is lowered because the output layer is generated even in a portion with low accuracy.

도 2는 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 두 번째 방식을 설명하기 위한 일예의 개념도이다.2 is a conceptual diagram of an example for explaining a second method of positioning an additional output layer according to an existing method.

도 2를 참조하면, 기존의 두 번째 방식의 일예는 출력층(Output layer)이 연결 가능한 곳에 하나의 입력층(Input)에 대응하는 출력층을 하나씩 연결하여 학습하고 테스트하여 정확도를 판단하는 방식인 것으로, 정확도가 높으면 그 위치를 출력층을 연결할 위치로 선정할 수 있으며, 이러한 방식은 모든 출력층이 연결 가능한 곳에 대하여 진행할 수 있다.Referring to FIG. 2, an example of the existing second method is a method of determining accuracy by learning, testing, and connecting output layers corresponding to one input layer one by one where an output layer can be connected. If the accuracy is high, the location can be selected as a location to connect the output layer, and this method can be performed where all the output layers can be connected.

다른 예로써, 기존의 심층 학습 네트워크에서 이전 단계에서 선택된 곳(예컨대, 도 2에서 선택된 layer1의 다음과 layer3의 다음)에 출력층(Output layer)을 연결하고, 이후 최종 학습을 다시 진행하는 방식이 있다.As another example, in an existing deep learning network, there is a method of connecting an output layer to a place selected in the previous step (eg, after layer1 selected in FIG. 2 and next to layer3), and then performing final learning again. .

상술한 바와 같은 두 번째 방식은 어느 층 사이에 출력층을 설치해야 정확도가 높은 지를 알아내서 연결하는 방식으로 정확도의 감소는 미미하다.The second method as described above is a method in which an output layer is installed between the layers to find out and connect the high accuracy, so the reduction in accuracy is negligible.

그에 반해, 출력층이 연결 가능한 모든 곳에 출력층을 하나씩 연결하면서 학습을 시키고 테스트를 하여 효과적인 출력층을 찾아낸 후에 마지막에 한번더 학습을 함으로써 이전 방식보다 학습 단계에서 높은 복잡도를 가지는 문제가 있다.On the other hand, there is a problem in that the output layer is connected to the output layer one by one where it can be connected to, and after learning and testing, it finds an effective output layer, and then learns at the end to have a higher complexity in the learning stage than the previous method.

특히, 은닉층의 수가 많은 심층학습의 특성상 추가적인 출력층이 연결될 수 있는 곳이 많기 때문에 학습단계에서 추가적인 출력층이 없는 심층학습에 비해서 상대적으로 상당히 큰 복잡도를 갖게 되는 문제가 있다.In particular, due to the nature of deep learning, which has a large number of hidden layers, there are many places where additional output layers can be connected, so there is a problem in that the learning stage has a relatively large complexity compared to deep learning without an additional output layer.

한국등록특허 제10-1897962호(공고일: 2018. 10. 31.)Korean Registered Patent No. 10-1897962 (Announcement date: October 31, 2018)

본 발명은 추가적인 출력층의 효과적인 위치와 수를 저 복잡도로 파악하고 이를 이용하여 정확도가 상대적으로 높은 층 사이에만 출력층을 연결할 수 있는 조기 추론 기반의 심층학습 장치 및 그 방법을 제공하고자 한다.The present invention seeks to provide an apparatus for deep learning based on early reasoning and a method for grasping the effective location and number of additional output layers with low complexity and using them to connect the output layers only between relatively high accuracy layers.

본 발명은 저 복잡도 학습을 실현할 수 있는 조기 추론 기반의 심층학습 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체를 제공하고자 한다.The present invention is to provide a computer readable recording medium storing a computer program that allows a processor to perform an early reasoning-based deep learning method capable of realizing low complexity learning.

본 발명은 저 복잡도 학습을 실현할 수 있는 조기 추론 기반의 심층학습 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공하고자 한다.The present invention is to provide a computer program stored in a computer-readable recording medium so that the processor can perform an early reasoning-based deep learning method capable of realizing low-complexity learning.

본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to those mentioned above, and another problem to be solved that is not mentioned can be clearly understood by those of ordinary skill to which the present invention belongs from the following descriptions. will be.

본 발명은, 일 관점에 따라, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 다중 출력 수집부와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 출력층 위치 추론부와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하고, 상기 구성된 신규 심층학습 네트워크를 학습하는 네트워크 학습부를 포함하는 조기 추론 기반의 심층학습 장치를 제공할 수 있다.According to an aspect of the present invention, a multi-output collection unit that collects intermediate output values from all layers of a pre-trained deep learning network and clusters the collected intermediate output values for each layer to infer additional output layer locations It is possible to provide an early inference-based deep learning apparatus including an output layer position inference unit and a network learning unit configured to connect the output layer to the inferred additional output layer position to configure a new deep learning network, and to learn the constructed new deep learning network. have.

본 발명의 상기 다중 출력 수집부는, 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.The multi-output collecting unit of the present invention can learn a deep learning network without an additional output layer, and multi-output the learned output values for each layer of the deep learning network in the form of classification, layers, and output values for all layers and classifications. have.

본 발명의 상기 네트워크 학습부는, 추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성할 수 있다.The network learning unit of the present invention may configure the new deep learning network by connecting an output layer to an additional output layer location inferred by the output layer location inference unit in a deep learning network without an additional output layer.

본 발명의 상기 출력층 위치 추론부는, 수집된 상기 중간 출력값들을 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(Model-based method) 중 어느 한 방법을 통해 클러스터링할 수 있다.The output layer position inference unit according to the present invention divides the collected intermediate output values by a partitioning method, a hierarchical method, a density-based method, and a grid-based method. It can be clustered through any of the model-based methods.

본 발명의 상기 분할 방법은, k-평균 알고리즘(k-means algorithm) 또는 Nearest 최근접 이웃 알고리즘(Neighbor algorithm)일 수 있다.The segmentation method of the present invention may be a k-means algorithm or a Nearest Neighbor algorithm.

본 발명의 상기 계층 방법은, 버취 알고리즘(BIRCH algorithm) 또는 카멜레온 알고리즘(Chameleon algorithm)일 수 있다.The hierarchical method of the present invention may be a BIRCH algorithm or a Chameleon algorithm.

본 발명의 상기 덴서티 기반 방법은, DBSCAN 알고리즘 또는 DENCLUE 알고리즘일 수 있다.The density-based method of the present invention may be a DBSCAN algorithm or a DENCLUE algorithm.

본 발명의 상기 그리드 기반 방법은, 스팅 알고리즘(STING algorithm)일 수 있다.The grid-based method of the present invention may be a sting algorithm.

본 발명의 상기 모델 기반 방법은, EM 알고리즘(Expectation-Maximization algorithm) 또는 뉴럴 네트워크 알고리즘(Neural Network algorithm)일 수 있다.The model-based method of the present invention may be an EM algorithm (Expectation-Maximization algorithm) or a neural network algorithm.

본 발명의 상기 출력층 위치 추론부는, 모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와, 상기 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론할 수 있다.The output layer position inference unit of the present invention determines whether or not all the clusters of the classification exist-the classification of the cluster is the classification that occupies the largest proportion of the classification of input values of elements included in the cluster, and all the clusters are respectively The position of the additional output layer may be inferred according to a condition that satisfies whether or not an element in which the classification of the input value is classified in the cluster of the cluster exists in a certain ratio or more.

본 발명은, 다른 관점에 따라, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와, 상기 구성된 신규 심층학습 네트워크를 학습하는 단계를 포함하는 조기 추론 기반의 심층학습 방법을 제공할 수 있다.According to another aspect of the present invention, collecting intermediate output values at all layers of a pre-trained deep learning network, and clustering the collected intermediate output values for each layer to infer additional output layer locations, It is possible to provide an early reasoning-based deep learning method comprising connecting the output layer to the inferred additional output layer position to construct a new deep learning network, and learning the constructed new deep learning network.

본 발명의 상기 수집하는 단계는, 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.In the collecting step of the present invention, a deep learning network without an additional output layer is trained, and output values for each layer classification of the learned deep learning network can be multiplexed in the form of classification, layers, and output values for all layers and classifications. have.

본 발명의 상기 구성하는 단계는, 추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성할 수 있다.The constructing step of the present invention may configure the new deep learning network by connecting an output layer to an additional output layer location inferred by the output layer location inference unit in a deep learning network without an additional output layer.

본 발명의 상기 추론하는 단계는, 모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와, 상기 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론할 수 있다.The inferring step of the present invention, whether or not all the clusters of the classifications exist-the classification of the clusters is the classification that occupies the largest proportion of the input values of the elements included in the cluster, and whether all the clusters are each The position of the additional output layer may be inferred according to a condition that satisfies whether or not an element in which the classification of the input value is classified in the cluster of the cluster exists in a certain ratio or more.

본 발명은, 또 다른 관점에 따라, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와, 상기 구성된 신규 심층학습 네트워크를 학습하는 단계를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체를 제공할 수 있다.According to another aspect of the present invention, collecting intermediate output values from all layers of a pre-trained deep learning network, and clustering the collected intermediate output values for each layer to infer additional output layer locations, , A computer program that allows a processor to perform an early reasoning-based deep learning method comprising the step of constructing a new deep learning network by connecting an output layer to the inferred additional output layer location, and learning the constructed new deep learning network. This stored computer readable recording medium can be provided.

본 발명은, 또 다른 관점에 따라, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와, 상기 구성된 신규 심층학습 네트워크를 학습하는 단계를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.According to another aspect of the present invention, collecting intermediate output values from all layers of a pre-trained deep learning network, and clustering the collected intermediate output values for each layer to infer additional output layer locations, A computer that enables a processor to perform an early reasoning-based deep learning method comprising the step of constructing a new deep learning network by connecting an output layer to the inferred additional output layer position, and learning the constructed new deep learning network. It is possible to provide a computer program stored in a readable recording medium.

본 발명의 실시 예에 따르면, 추가적인 출력층의 효과적인 위치와 수를 저 복잡도로 파악하고 이를 이용하여 정확도가 상대적으로 높은 층 사이에만 출력층을 연결함으로써, 기존 심층학습의 정확도를 최대한 유지하면서도 조기 추론을 가능케하는 저 복잡도 학습을 실현할 수 있다.According to an embodiment of the present invention, by grasping the effective position and number of additional output layers with low complexity and using them to connect the output layers only between layers with relatively high accuracy, early inference is possible while maintaining the accuracy of existing deep learning as much as possible. The low complexity learning can be realized.

도 1은 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 첫 번째 방식을 설명하기 위한 개념도이다.
도 2는 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 두 번째 방식을 설명하기 위한 일예의 개념도이다.
도 3은 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 기술 개념을 설명하기 위한 개념도이다.
도 4는 본 발명의 실시예에 따른 조기 추론 기반의 심층학습 장치에 대한 블록 구성도이다.
도 5는 본 발명의 실시예에 따라 다중 출력 수집부를 통해 모든 층의 중간 출력값들을 수집하는 원리를 설명하기 위한 개념도이다.
도 6은 도 5를 통해 수집된 중간 출력값들을 각 층별로 클러스터링한 결과를 보여주는 예시도이다.
도 7은 본 발명의 실시예에 따라 클러스터링을 통해 추가 출력층의 위치를 찾는 개념을 설명하기 위한 개념도이다.
도 8은 본 발명의 실시예에 따라 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 개념을 설명하기 위한 예시도이다.
도 9는 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 주요 과정을 도시한 순서도이다.
1 is a conceptual diagram illustrating a first method of positioning an additional output layer according to a conventional method.
2 is a conceptual diagram of an example for explaining a second method of positioning an additional output layer according to an existing method.
3 is a conceptual diagram for explaining a technical concept of performing deep learning based on early reasoning according to an embodiment of the present invention.
4 is a block diagram of an early inference-based deep learning apparatus according to an embodiment of the present invention.
5 is a conceptual diagram illustrating the principle of collecting intermediate output values of all layers through a multiple output collection unit according to an embodiment of the present invention.
6 is an exemplary view showing a result of clustering the intermediate output values collected through FIG. 5 for each layer.
7 is a conceptual diagram illustrating the concept of finding the location of an additional output layer through clustering according to an embodiment of the present invention.
8 is an exemplary diagram for explaining a concept of configuring a new deep learning network by connecting an output layer to a location of an additional output layer according to an embodiment of the present invention.
9 is a flowchart illustrating a main process of performing deep learning based on early reasoning according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various forms, and only the embodiments allow the disclosure of the present invention to be complete, and those skilled in the art to which the present invention pertains. It is provided to fully inform the person of the scope of the invention, and the scope of the invention is only defined by the claims.

본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, detailed descriptions of well-known functions or configurations will be omitted except when actually necessary in describing the embodiments of the present invention. In addition, terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to a user's or operator's intention or practice. Therefore, the definition should be made based on the contents throughout this specification.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 기술 개념을 설명하기 위한 개념도이다.3 is a conceptual diagram for explaining a technical concept of performing deep learning based on early reasoning according to an embodiment of the present invention.

도 3을 참조하면, 1단계에서는 학습된 추가적인 학습층이 없는 기존 심층학습 네트워크(즉, 조기 출력이 없는 심층학습 네트워크)에서 입력을 넣고 출력층이 아닌 모든 층에서의 중간 출력값을 수집하는 데, 이와 같이 모든 층에서의 중간 출력값을 수집하는 것을 다중 출력값 수집이라 정의할 수 있다.Referring to FIG. 3, in step 1, inputs are input from an existing deep learning network (ie, a deep learning network without an early output) without additional learning layers, and intermediate output values from all layers other than the output layer are collected. Similarly, collecting the intermediate output values from all layers can be defined as collecting multiple output values.

다음에, 2단계에서는 상술한 1단계에서 다중 출력을 통해 수집한 중간 출력값들을 각 층별로 클러스터링하는데, 이러한 클러스터링 후에 클러스터링된 클러스터들의 구성 요소(출력값)의 입력값의 분류를 참고하여 각 층에 추가 출력층(추가적인 출력층)을 연결하는 것이 효과적인지 아닌지의 여부를 판단할 수 있다.Next, in step 2, the intermediate output values collected through multiple outputs in step 1 above are clustered for each layer, and added to each layer by referring to the classification of input values of components (output values) of clustered clusters after such clustering. It is possible to determine whether it is effective or not to connect the output layer (additional output layer).

그리고, 3단계에서는 2단계를 통해 판단한 효과적인 추가 출력층 위치에 출력층을 연결한 신규 심층학습 네트워크를 구성하고 학습할 수 있다.In addition, in step 3, a new deep learning network in which the output layer is connected to an effective additional output layer location determined through step 2 can be constructed and learned.

상술한 바와 같은 본 발명의 심층학습 기법은 추가적인 출력층의 위치 및 그 수에 제한이 없으며, 효과적인 출력층을 찾지 못하면 추가적인 출력층을 연결하지 않을 수 있다. 또한, 모든 층이 추가적인 출력층이 효과적이면 모든 층에 추가적인 출력층을 연결할 수 있다.The deep learning technique of the present invention as described above is not limited in the position and number of additional output layers, and if an effective output layer is not found, additional output layers may not be connected. In addition, if all layers have an additional output layer, an additional output layer can be connected to all layers.

본 발명의 심층학습 기법에서는 기본적인 방식의 출력층을 하나씩 연결에 가면서 하나씩 학습하는 단계를 다중 출력을 통해 모든 층의 중간 출력값을 수집하고 클러스터링함으로써, 복잡도를 효과적으로 낮출 수 있다.In the in-depth learning technique of the present invention, it is possible to effectively lower the complexity by collecting and clustering the intermediate output values of all the layers through multiple outputs in the step of learning the output layers of the basic method one by one in connection.

여기에서, 본 발명에 따른 조기 추론 기반의 심층학습 모델은 다양한 분야, 예컨대 행동 인식 분야, 비전 인식 분야, 얼굴 검출 분야, 표정 검출 분야, 홍채 인식 분야 등에 이용될 수 있다.Here, the early inference-based deep learning model according to the present invention may be used in various fields, such as a behavior recognition field, a vision recognition field, a face detection field, a facial expression detection field, and an iris recognition field.

도 4는 본 발명의 실시예에 따른 조기 추론 기반의 심층학습 장치에 대한 블록 구성도로서, 다중 출력 수집부(402), 출력층 위치 추론부(404) 및 네트워크 학습부(406) 등을 포함할 수 있다.4 is a block diagram of an early inference-based deep learning apparatus according to an embodiment of the present invention, and includes a multi-output collection unit 402, an output layer location inference unit 404, a network learning unit 406, and the like. You can.

도 4를 참조하면, 다중 출력 수집부(402)는 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하고, 이 수집된 모든 층의 중간 출력값들을 출력층 위치 추론부(404)로 전달하는 등의 기능을 제공할 수 있다.Referring to FIG. 4, the multi-output collection unit 402 collects intermediate output values from all layers of the pre-trained deep learning network, transfers the intermediate output values of all the collected layers to the output layer location inference unit 404, etc. Can provide the function of

즉, 다중 출력 수집부(402)는 다중 출력을 통해 모든 분류를 포함하는 충분한 숫자의 입력을 학습된 심층학습 네트워크에 넣어 모든 층의 중간 출력값들을 수집할 수 있다.That is, the multi-output collecting unit 402 may collect a sufficient number of inputs including all classifications through the multi-output into a learned deep learning network to collect intermediate output values of all layers.

또한, 다중 출력 수집부(402)는 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.In addition, the multi-output collection unit 402 may learn a deep learning network without an additional output layer, and multi-output the output values for each layer of the learned deep learning network in the form of classification, layers, and output values for all layers and classifications. have.

다음에, 출력층 위치 추론부(404)는 다중 출력 수집부(402)를 통해 수집된 중간 출력값들을 각 층별로 클러스터링(clustering)하여(클러스터링 단계) 추가 출력층 위치를 추론하고(위치 추론 단계), 이 추론된 추가 출력층 위치를 네트워크 학습부(406)로 전달하는 등의 기능을 제공할 수 있다.Next, the output layer position inference unit 404 clusters the intermediate output values collected through the multiple output collection unit 402 for each layer (clustering step) to infer an additional output layer position (position inference step), and A function such as transferring the inferred additional output layer location to the network learning unit 406 may be provided.

여기에서, 출력층 위치 추론부(404)는 모든 분류의 클러스터가 존재하는 지의 - 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와, 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부를 만족시키는 조건에 따라 추가 출력층 위치를 추론할 수 있다.Here, the output layer location inference unit 404 determines whether all the clusters of the classification exist-the classification of the cluster is the classification that occupies the largest proportion of the input values of the elements included in the cluster, and whether or not all the clusters are respectively It is possible to infer the position of the additional output layer according to a condition that satisfies whether or not an element in which the classification of the input value is classified in the cluster exists in a certain ratio or more.

그리고, 출력층 위치 추론부(404)는, 예컨대 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(Model-based method) 중 어느 한 방법을 이용하여 수집된 중간 출력값들을 클러스터링할 수 있다.In addition, the output layer location inference unit 404 includes, for example, a partitioning method, a hierarchical method, a density-based method, a grid-based method, and a model-based method. The collected intermediate output values can be clustered using any one of (Model-based method).

여기에서 분할 방법은, 예컨대 k-평균 알고리즘(k-means algorithm) 또는 최근접 이웃 알고리즘(Nearest Neighbor algorithm)일 수 있고, 계층 방법은, 예컨대 버취 알고리즘(BIRCH algorithm) 또는 카멜레온 알고리즘(Chameleon algorithm)일 수 있으며, 덴서티 기반 방법은, 예컨대 DBSCAN 알고리즘 또는 DENCLUE 알고리즘일 수 있고, 그리드 기반 방법은, 예컨대 스팅 알고리즘(STING algorithm)일 수 있으며, 모델 기반 방법은, 예컨대 EM 알고리즘(Expectation-Maximization algorithm) 또는 뉴럴 네트워크 알고리즘(Neural Network algorithm)일 수 있다.Here, the partitioning method may be, for example, a k-means algorithm or a nearest neighbor algorithm, and the hierarchical method may be, for example, a BIRCH algorithm or a Chameleon algorithm. The density-based method may be, for example, the DBSCAN algorithm or the DENCLUE algorithm, the grid-based method may be, for example, the STING algorithm, and the model-based method may be, for example, the EM algorithm (Expectation-Maximization algorithm) or It may be a neural network algorithm.

도 5는 본 발명의 실시예에 따라 다중 출력 수집부(402)를 통해 모든 층의 중간 출력값들을 수집하는 원리를 설명하기 위한 개념도이다.5 is a conceptual diagram illustrating the principle of collecting intermediate output values of all layers through the multiple output collection unit 402 according to an embodiment of the present invention.

도 5를 참조하면, 예컨대 Red, Green, Blue를 분류하기 위하여 (r0, Red), (g0, Green), (b0, Blue) 등을 입력으로 넣고 트레이닝시킨 딥뉴럴 네트워크(DN, N0)가 존재할 때, 이의 n 번째 계층에서의 중간 출력을 (Red, n, rn)으로 표현하면(Red 출력에 대해 n 계층에서 rn 형태의 중간 출력이 나온다고 가정할 때), 이를 수집하고 계층별로 분류하여 추가(추가적인) 출력층을 연결할지의 여부를 판단할 수 있다.Referring to FIG. 5, for example, in order to classify Red, Green, and Blue, (r 0 , Red), (g 0 , Green), (b 0 , Blue), etc. are input and trained as a deep neural network (DN, N). When 0 ) is present, expressing the intermediate output in its n-th layer as (Red, n, r n ) (assuming that the n-output in the n-layer is in the middle of the r n form), collect it and It is possible to classify each layer to determine whether to connect additional (additional) output layers.

예컨대, 중간 출력이 가능한 모든 곳에서, (Red, 1, r1), (Red, 2, r2), (Red, 3, r3), (Green, 1, g 1 ), (Green, 2, g2), (Green, 3, g3), (Blue, 1, b1), (Blue, 2, b2), (Blue, 3, b3)로 수집될 수 있는데, 이와 같은 수집은 충분한 수만큼 모든 분류에 대해 수행될 수 있다.For example, wherever intermediate output is possible, (Red, 1, r 1 ), (Red, 2, r 2 ), (Red, 3, r 3 ), (Green, 1, g 1 ), (Green, 2 , g 2 ), (Green, 3, g 3 ), (Blue, 1, b 1 ), (Blue, 2, b 2 ), (Blue, 3, b 3 ). A sufficient number can be performed for all classifications.

도 6은 도 5를 통해 수집된 중간 출력값들을 각 층별로 클러스팅한 결과를 보여주는 예시도이다.6 is an exemplary view showing a result of clustering the intermediate output values collected through FIG. 5 for each layer.

즉, 출력층 위치 추론부(404)가 클러스터링을 통해 추가 출력층의 위치를 추론하는 단계는 앞선 클러스터링 단계를 통해 분류된 클러스터들을 이용하여 어느 층에 추가 출력층을 연결하는 것이 효과적인지를 판단하기 위한 단계이다.That is, the step of inferring the location of the additional output layer through the clustering by the output layer location inference unit 404 is a step for determining which layer is effective to connect the additional output layer using clusters classified through the previous clustering step.

이때, 추가 출력층을 연결하기 위한 효과적인 층은 다음의 조건을 만족해야 한다.At this time, the effective layer for connecting the additional output layer must satisfy the following conditions.

첫째, 각 층에서 모든 분류의 클러스터가 존재해야 하며, 이때 각 클러스터별 가장 많이 차지하는 입력값의 분류를 그 클러스터의 분류라 한다.First, clusters of all classifications must exist in each layer, and the classification of the input value that occupies the most by each cluster is called the classification of the cluster.

둘째, 각 층의 각 클러스터는 입력값의 분류가 그 클러스터의 분류인 요소가 일정이상(α)의 비율을 차지해야 한다.Second, in each cluster of each layer, the factor in which the classification of the input value is the classification of the cluster should occupy a ratio of more than a certain ( α ).

도 7은 α=80%일 때의 예시로 도 6의 클러스터를 이용하여 위의 효과적인 층을 찾는 조건을 계산하고, 이를 통해 효과적인 추가 출력층의 위치를 구하는 방식을 나타낸다. 예컨대, 첫 번째 층만 두 조건을 모두 만족하여 효과적인 위치가 된다.FIG. 7 shows a method of calculating the conditions of finding the effective layer above using the cluster of FIG. 6 as an example when α=80% , and thereby obtaining the location of the effective additional output layer. For example, only the first layer satisfies both conditions to be an effective location.

다시 도 4 참조하면, 네트워크 학습부(406)는 출력층 위치 추론부(404)를 통해 추론된 효과적인 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하고, 구성된 신규 심층학습 네트워크를 학습하는 등의 기능을 제공할 수 있다.Referring again to FIG. 4, the network learning unit 406 configures a new deep learning network by connecting the output layer to the location of an effective additional output layer inferred through the output layer location inference unit 404, and learns the constructed new deep learning network. And the like.

또한, 네트워크 학습부(406)는 추가 출력층이 없는 심층학습 네트워크에 출력층 위치 추론부(404)에서 추론한 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성할 수 있다.In addition, the network learning unit 406 may configure a new deep learning network by connecting an output layer to an additional output layer location inferred by the output layer location inference unit 404 in a deep learning network without an additional output layer.

즉, 네트워크 학습부(406)는 출력층 위치 추론부(404)에서 클러스터링을 통해 추론한 추가 출력층의 효과적인 위치를 이용하여 신규 심층학습 네트워크를 구성 및 학습할 수 있다.That is, the network learning unit 406 may construct and learn a new deep learning network by using the effective location of the additional output layer inferred through clustering in the output layer location inference unit 404.

도 8은 본 발명의 실시예에 따라 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 개념을 설명하기 위한 예시도이다.8 is an exemplary diagram for explaining a concept of configuring a new deep learning network by connecting an output layer to a location of an additional output layer according to an embodiment of the present invention.

도 8을 참조하면, 출력층 위치 추론부(404)에서의 클러스터링을 통해 Layer1과 Layer3과 연결된 출력층이 효과적인 것으로 추론되면, Layer1과 Layer3 출력층이 추가적으로 연결된 심층학습 네트워크를 구성할 수 있다.Referring to FIG. 8, when it is inferred that the output layers connected to Layer 1 and Layer 3 are effective through clustering in the output layer location inference unit 404, a deep learning network in which the Layer 1 and Layer 3 output layers are additionally connected may be configured.

여기에서, 추가적인 출력층이 연결 가능한 모든 곳에 대하여 하나씩 연결하고 학습하는 단계를 각 층별 클러스터링 단계로 스케일다운 함으로서, 복잡도를 효과적으로 줄일 수 있다.Here, it is possible to effectively reduce the complexity by scaling down the step of connecting and learning one by one for every place where an additional output layer can be connected to the clustering step for each layer.

다음에, 상술한 바와 같은 구성을 갖는 본 실시예에 따른 심층학습 장치를 이용하여 조기 추론을 기반으로 심층학습을 수행하는 일련의 과정들에 대하여 상세하게 설명한다.Next, a series of processes for performing deep learning based on early inference using the deep learning apparatus according to the present embodiment having the above-described configuration will be described in detail.

도 9는 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 주요 과정을 도시한 순서도이다.9 is a flowchart illustrating a main process of performing deep learning based on early reasoning according to an embodiment of the present invention.

도 9를 참조하면, 다중 출력 수집부(402)에서는 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집, 즉 다중 출력을 통해 모든 분류를 포함하는 충분한 숫자의 입력을 학습된 심층학습 네트워크에 넣어 모든 층의 중간 출력값들을 수집한다(단계 902).Referring to FIG. 9, the multi-output collection unit 402 collects intermediate output values from all layers of the pre-trained deep learning network, that is, inputs a sufficient number of inputs including all classifications through the multi-output to the learned deep learning network. To collect the intermediate output values of all layers (step 902).

이때, 다중 출력 수집부(402)에서는 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.At this time, the multi-output collection unit 402 can learn a deep learning network without an additional output layer, and output the output values for each layer of the learned deep learning network in the form of classification, layers, and output values for all layers and classifications. have.

다음에, 출력층 위치 추론부(404)에서는 다중 출력 수집부(402)를 통해 수집된 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론한다(단계 904).Next, in the output layer position inference unit 404, the intermediate output values collected through the multiple output collection unit 402 are clustered for each layer to infer additional output layer positions (step 904).

여기에서, 출력층 위치 추론부(404)는 아래의 조건 (1) 및 (2)를 만족시키는 지의 여부에 따라 추가 출력층의 위치를 추론할 수 있다.Here, the output layer position inference unit 404 may infer the position of the additional output layer according to whether the following conditions (1) and (2) are satisfied.

(1) 모든 분류의 클러스터가 존재하는 지의 - 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부(1) Whether all the classification clusters exist-The classification of the cluster is the classification that occupies the largest proportion of the input values of the elements included in the cluster-

(2) 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부(2) In all clusters, whether or not there is a certain percentage of elements in each cluster whose input classification is the cluster classification

이때, 출력층 위치 추론부(404)에서는, 예컨대 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(Model-based method) 중 어느 한 방법을 이용하여 수집된 중간 출력값들을 클러스터링할 수 있다.In this case, the output layer position inference unit 404 includes, for example, a partitioning method, a hierarchical method, a density-based method, a grid-based method, and a model-based method. The collected intermediate output values can be clustered using any one of (Model-based method).

그리고, 네트워크 학습부(406)에서는 출력층 위치 추론부(404)를 통해 추론된 효과적인 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성한다(단계 906). 즉, 클러스터링을 통해 추론한 추가 출력층의 효과적인 위치를 이용하여 신규 심층학습 네트워크를 구성한다.Then, the network learning unit 406 configures a new deep learning network by connecting the output layer to the location of the effective additional output layer inferred through the output layer location inference unit 404 (step 906). That is, a new deep learning network is constructed using the effective location of the additional output layer inferred through clustering.

이때, 네트워크 학습부(406)에서는 추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부(404)에서 추론한 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성할 수 있다.In this case, the network learning unit 406 may configure a new deep learning network by connecting an output layer to an additional output layer location inferred by the output layer location inference unit 404 in a deep learning network without an additional output layer.

즉, 네트워크 학습부(406)는 출력층 위치 추론부(404)에서 클러스터링을 통해 추론한 추가 출력층의 효과적인 위치를 이용하여 신규 심층학습 네트워크를 구성할 수 있다.That is, the network learning unit 406 may construct a new deep learning network by using the effective location of the additional output layer inferred through clustering in the output layer location inference unit 404.

이후, 네트워크 학습부(406)에서는 구성된 신규 심층학습 네트워크를 학습한다(단계 908).Thereafter, the network learning unit 406 learns the new deep learning network configured (step 908).

한편, 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.Meanwhile, combinations of each block of the block diagram and each step of the flowchart may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, so that instructions performed through a computer or other programmable data processing equipment processor may be used in each block or flowchart of the block diagram. In each step, means are created to perform the functions described.

이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리 등에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.These computer program instructions can also be stored in a computer readable or computer readable memory or the like that can be oriented to a computer or other programmable data processing equipment to implement a function in a particular way, so the computer readable or computer readable memory The instructions stored in it are also possible to produce an article of manufacture containing instructions means for performing the functions described in each block or flowchart step of the block diagram.

그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. In addition, since computer program instructions may be mounted on a computer or other programmable data processing equipment, a series of operation steps are performed on a computer or other programmable data processing equipment to generate a process executed by the computer to generate a computer or other program. It is also possible for instructions to perform possible data processing equipment to provide steps for executing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 적어도 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Further, each block or each step may represent a module, segment, or portion of code that includes at least one executable instruction for executing the specified logical function(s). It should also be noted that in some alternative embodiments it is possible that the functions mentioned in blocks or steps occur out of order. For example, two blocks or steps shown in succession may in fact be executed substantially simultaneously, or it is also possible that the blocks or steps are sometimes performed in reverse order depending on the corresponding function.

이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains may have various substitutions, modifications, changes, etc. without departing from the essential characteristics of the present invention. You will easily see this possible. That is, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but are intended to illustrate, and the scope of the technical spirit of the present invention is not limited by these embodiments.

따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the protection scope of the present invention should be interpreted by the claims that will be described later, and all technical ideas within the equivalent range should be interpreted as being included in the scope of the present invention.

402 : 다중 출력 수집부
404 : 출력층 위치 추론부
406 : 네트워크 학습부
402: multiple output collection unit
404: output layer position inference unit
406: Network Learning Department

Claims (16)

기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 다중 출력 수집부와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 출력층 위치 추론부와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하고, 상기 구성된 신규 심층학습 네트워크를 학습하는 네트워크 학습부
를 포함하는 조기 추론 기반의 심층학습 장치.
A multi-output collection unit that collects intermediate output values at all layers of the pre-trained deep learning network;
An output layer position inference unit for inferring additional output layer positions by clustering the collected intermediate output values for each layer;
A network learning unit that configures a new deep learning network by connecting an output layer to the inferred additional output layer location, and learns the constructed new deep learning network.
Early learning-based deep learning device comprising a.
제 1 항에 있어서,
상기 다중 출력 수집부는,
추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력하는
조기 추론 기반의 심층학습 장치.
According to claim 1,
The multiple output collection unit,
Learning a deep learning network without an additional output layer, and multiply outputting output values for each layer classification of the learned deep learning network in the form of classification, layers, and output values for all layers and classifications
Deep learning device based on early reasoning.
제 1 항에 있어서,
상기 네트워크 학습부는,
추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성하는
조기 추론 기반의 심층학습 장치.
According to claim 1,
The network learning unit,
Constructing the new deep learning network by connecting an output layer to an additional output layer location inferred by the output layer location inference unit in a deep learning network without an additional output layer
Deep learning device based on early reasoning.
제 1 항에 있어서,
상기 출력층 위치 추론부는,
수집된 상기 중간 출력값들을 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(Model-based method) 중 어느 한 방법을 통해 클러스터링하는
조기 추론 기반의 심층학습 장치.
According to claim 1,
The output layer position inference unit,
The collected intermediate output values are divided into a partitioning method, a hierarchical method, a density-based method, a grid-based method, and a model-based method. Clustering through either method
Deep learning device based on early reasoning.
제 4 항에 있어서,
상기 분할 방법은,
k-평균 알고리즘(k-means algorithm) 또는 Nearest 최근접 이웃 알고리즘(Neighbor algorithm)인
조기 추론 기반의 심층학습 장치.
The method of claim 4,
The division method,
k-means algorithm or Nearest nearest neighbor algorithm.
Deep learning device based on early reasoning.
제 4 항에 있어서,
상기 계층 방법은,
버취 알고리즘(BIRCH algorithm) 또는 카멜레온 알고리즘(Chameleon algorithm)인
조기 추론 기반의 심층학습 장치.
The method of claim 4,
The layering method,
The Birch algorithm (BIRCH algorithm) or Chameleon algorithm (Chameleon algorithm)
Deep learning device based on early reasoning.
제 4 항에 있어서,
상기 덴서티 기반 방법은,
DBSCAN 알고리즘 또는 DENCLUE 알고리즘인
조기 추론 기반의 심층학습 장치.
The method of claim 4,
The density-based method,
DBSCAN algorithm or DENCLUE algorithm
Deep learning device based on early reasoning.
제 4 항에 있어서,
상기 그리드 기반 방법은,
스팅 알고리즘(STING algorithm)인
조기 추론 기반의 심층학습 장치.
The method of claim 4,
The grid-based method,
Sting algorithm (STING algorithm)
Deep learning device based on early reasoning.
제 4 항에 있어서,
상기 모델 기반 방법은,
EM 알고리즘(Expectation-Maximization algorithm) 또는 뉴럴 네트워크 알고리즘(Neural Network algorithm)인
조기 추론 기반의 심층학습 장치.
The method of claim 4,
The model-based method,
EM algorithm (Expectation-Maximization algorithm) or neural network algorithm (Neural Network algorithm)
Deep learning device based on early reasoning.
제 1 항에 있어서,
상기 출력층 위치 추론부는,
모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와,
상기 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부
를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론하는
조기 추론 기반의 심층학습 장치.
According to claim 1,
The output layer position inference unit,
Whether or not all the classification clusters exist-the classification of the cluster is the classification that occupies the largest proportion of the input value of the elements included in the cluster, and
Whether all of the clusters have a certain percentage or more of the elements in which the classification of the input values in each cluster is a classification of the cluster.
To infer the location of the additional output layer according to the condition satisfying
Deep learning device based on early reasoning.
기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와,
상기 구성된 신규 심층학습 네트워크를 학습하는 단계
를 포함하는 조기 추론 기반의 심층학습 방법.
Collecting intermediate output values at all layers of the pre-trained deep learning network,
Clustering the collected intermediate output values for each layer to infer an additional output layer location;
Constructing a new deep learning network by connecting an output layer to the inferred additional output layer location;
Learning the constructed new deep learning network
In-depth learning method based on early reasoning comprising a.
제 11 항에 있어서,
상기 수집하는 단계는,
추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력하는
조기 추론 기반의 심층학습 방법.
The method of claim 11,
The collecting step,
Learning a deep learning network without an additional output layer, and multiply outputting output values for each layer classification of the learned deep learning network in the form of classification, layers, and output values for all layers and classifications
In-depth learning method based on early reasoning.
제 11 항에 있어서,
상기 구성하는 단계는,
추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성하는
조기 추론 기반의 심층학습 방법.
The method of claim 11,
The step of configuring,
Constructing the new deep learning network by connecting an output layer to an additional output layer location inferred by the output layer location inference unit in a deep learning network without an additional output layer
In-depth learning method based on early reasoning.
제 11 항에 있어서,
상기 추론하는 단계는,
모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와,
상기 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부
를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론하는
조기 추론 기반의 심층학습 방법.
The method of claim 11,
The reasoning step,
Whether or not all the classification clusters exist-the classification of the cluster is the classification that occupies the largest proportion of the input value of the elements included in the cluster, and
Whether all of the clusters have a certain percentage or more of the elements in which the classification of the input values in each cluster is a classification of the cluster.
To infer the location of the additional output layer according to the condition satisfying
In-depth learning method based on early reasoning.
기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와,
상기 구성된 신규 심층학습 네트워크를 학습하는 단계
를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
Collecting intermediate output values at all layers of the pre-trained deep learning network,
Clustering the collected intermediate output values for each layer to infer an additional output layer location;
Constructing a new deep learning network by connecting an output layer to the inferred additional output layer location;
Learning the constructed new deep learning network
A computer-readable recording medium storing a computer program for causing the processor to perform an in-depth learning method based on early reasoning.
기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와,
상기 구성된 신규 심층학습 네트워크를 학습하는 단계
를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
Collecting intermediate output values at all layers of the pre-trained deep learning network,
Clustering the collected intermediate output values for each layer to infer an additional output layer location;
Constructing a new deep learning network by connecting an output layer to the inferred additional output layer location;
Learning the constructed new deep learning network
A computer program stored in a computer-readable recording medium so that the processor can perform an early reasoning-based deep learning method comprising a.
KR1020180150061A 2018-11-28 2018-11-28 Apparatus and method for executing deep learning based on early inference KR102180051B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180150061A KR102180051B1 (en) 2018-11-28 2018-11-28 Apparatus and method for executing deep learning based on early inference

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180150061A KR102180051B1 (en) 2018-11-28 2018-11-28 Apparatus and method for executing deep learning based on early inference

Publications (2)

Publication Number Publication Date
KR20200068104A true KR20200068104A (en) 2020-06-15
KR102180051B1 KR102180051B1 (en) 2020-11-17

Family

ID=71081551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180150061A KR102180051B1 (en) 2018-11-28 2018-11-28 Apparatus and method for executing deep learning based on early inference

Country Status (1)

Country Link
KR (1) KR102180051B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036939A (en) * 2013-08-15 2015-02-23 富士ゼロックス株式会社 Feature extraction program and information processing apparatus
US20180218495A1 (en) * 2017-02-02 2018-08-02 International Business Machines Corporation Systems and methods for automatic detection of architectural distortion in two dimensional mammographic images
KR101897962B1 (en) 2017-11-27 2018-10-31 한국인터넷진흥원 Method for performing machine learning for neural network model and apparatus thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015036939A (en) * 2013-08-15 2015-02-23 富士ゼロックス株式会社 Feature extraction program and information processing apparatus
US20180218495A1 (en) * 2017-02-02 2018-08-02 International Business Machines Corporation Systems and methods for automatic detection of architectural distortion in two dimensional mammographic images
KR101897962B1 (en) 2017-11-27 2018-10-31 한국인터넷진흥원 Method for performing machine learning for neural network model and apparatus thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BranchyNet: Fast Inference via Early Exiting from Deep Neural Networks. Surat Teerapittayanon, Bradley McDanel, H.T. Kung. 2016 23rd International Conference on Pattern Recognition (ICPR). 2016.12.8. *

Also Published As

Publication number Publication date
KR102180051B1 (en) 2020-11-17

Similar Documents

Publication Publication Date Title
KR102570278B1 (en) Apparatus and method for generating training data used to training student model from teacher model
Nguyen et al. Combining neural networks and log-linear models to improve relation extraction
CN110247910B (en) Abnormal flow detection method, system and related components
US20220083863A1 (en) System and method for teaching compositionality to convolutional neural networks
WO2018052587A1 (en) Method and system for cell image segmentation using multi-stage convolutional neural networks
EP3271873A1 (en) Sample selection for retraining classifiers
US20190340507A1 (en) Classifying data
CN113283599B (en) Attack resistance defense method based on neuron activation rate
Kim et al. Tcav: Relative concept importance testing with linear concept activation vectors
Heo et al. Graph neural network based service function chaining for automatic network control
CN113614778A (en) Image analysis system and method of using the same
Zhang et al. A view-reduction based multi-view TSK fuzzy system and its application for textile color classification
CN109783626A (en) Problem generation method, intelligent Answer System, medium and computer system
D’Alterio et al. Constrained interval type-2 fuzzy classification systems for explainable AI (XAI)
CN116337448A (en) Method, device and storage medium for diagnosing faults of transfer learning bearing based on width multi-scale space-time attention
Amorim et al. Interpreting deep learning models for ordinal problems.
CN113221935B (en) Image recognition method and system based on environment perception depth convolution neural network
WO2022087120A1 (en) Method and system for cognitive information processing using representation learning and decision learning on data
KR102180051B1 (en) Apparatus and method for executing deep learning based on early inference
CN112085164A (en) Area recommendation network extraction method based on anchor-frame-free network
Taneja et al. Predictive analytics on IoT
CN115587616A (en) Network model training method and device, storage medium and computer equipment
CN115019342A (en) Endangered animal target detection method based on class relation reasoning
Tsopze et al. Towards a generalization of decompositional approach of rule extraction from multilayer artificial neural network
Abbas et al. Cloud Services Ranking by measuring Multiple Parameters using AFIS

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant