KR102180051B1 - 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
KR102180051B1
KR102180051B1 KR1020180150061A KR20180150061A KR102180051B1 KR 102180051 B1 KR102180051 B1 KR 102180051B1 KR 1020180150061 A KR1020180150061 A KR 1020180150061A KR 20180150061 A KR20180150061 A KR 20180150061A KR 102180051 B1 KR102180051 B1 KR 102180051B1
Authority
KR
South Korea
Prior art keywords
deep learning
output layer
early
layer
network
Prior art date
Application number
KR1020180150061A
Other languages
Korean (ko)
Other versions
KR20200068104A (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

본 발명에 따른 조기 추론 기반의 심층학습 장치는, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 다중 출력 수집부와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 출력층 위치 추론부와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하고, 상기 구성된 신규 심층학습 네트워크를 학습하는 네트워크 학습부를 포함할 수 있다.The deep learning device based on early inference according to the present invention includes a multiple output collection unit that collects intermediate output values from all layers of a previously learned deep learning network, and an additional output layer by clustering the collected intermediate output values for each layer. An output layer location inferring unit for inferring a location, and a network learning unit configured to configure a new deep learning network by connecting an output layer to the inferred additional output layer location, and learn the configured 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 in more detail, based on early inference that can connect the output layers only between layers with relatively high accuracy by grasping the effective location and number of additional output layers with low complexity. It relates to a deep learning device and method thereof.

알려진 바와 같이, 기존의 심층학습(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 relatively high complexity.

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

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

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

도 1은 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 첫 번째 방식을 설명하기 위한 개념도이다.1 is a conceptual diagram illustrating a first method of determining a location of an additional output layer according to an existing 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 number of output layers increases, it has high complexity in both the learning and inference stages. there is a problem.

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

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

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

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

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

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

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

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

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

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

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

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

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

본 발명의 상기 다중 출력 수집부는, 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.The multi-output collection unit of the present invention may learn a deep learning network without an additional output layer, and multiply 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 a location of an additional output layer inferred by the output layer location inference unit to 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 of the present invention comprises a partitioning method, a hierarchical method, a density-based method, a grid-based method, and the collected intermediate output values. Clustering can be done through any of the model-based methods.

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

본 발명의 상기 계층 방법은, 버취 알고리즘(BIRCH algorithm) 또는 카멜레온 알고리즘(Chameleon algorithm)일 수 있다.The layered 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 location inference unit of the present invention determines whether clusters of all classifications exist-the classification of the cluster is a classification that occupies the largest proportion among the classifications of the input values of elements included in the cluster-and all the clusters are each The position of the additional output layer may be inferred according to a condition that satisfies whether the classification of the input value in the cluster of is satisfied whether or not an element that is the classification of the cluster exists in a certain ratio or more.

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

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

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

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

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

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

본 발명의 실시 예에 따르면, 추가적인 출력층의 효과적인 위치와 수를 저 복잡도로 파악하고 이를 이용하여 정확도가 상대적으로 높은 층 사이에만 출력층을 연결함으로써, 기존 심층학습의 정확도를 최대한 유지하면서도 조기 추론을 가능케하는 저 복잡도 학습을 실현할 수 있다.According to an embodiment of the present invention, by identifying the effective location 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 the existing deep learning as much as possible. It can realize low complexity learning.

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

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the 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 these embodiments make the disclosure of the present invention 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 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 the intention or custom of users or operators. 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 technology concept for performing deep learning based on early inference according to an embodiment of the present invention.

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

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

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

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

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

여기에서, 본 발명에 따른 조기 추론 기반의 심층학습 모델은 다양한 분야, 예컨대 행동 인식 분야, 비전 인식 분야, 얼굴 검출 분야, 표정 검출 분야, 홍채 인식 분야 등에 이용될 수 있다.Here, the deep learning model based on early inference 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, an expression detection field, an iris recognition field, and the like.

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

도 4를 참조하면, 다중 출력 수집부(402)는 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하고, 이 수집된 모든 층의 중간 출력값들을 출력층 위치 추론부(404)로 전달하는 등의 기능을 제공할 수 있다.Referring to FIG. 4, the multiple output collection unit 402 collects intermediate output values from all layers of the deep learning network that have been previously learned, and transfers 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 multiple output collection unit 402 may collect intermediate output values of all layers by putting a sufficient number of inputs including all classifications into the learned deep learning network through multiple outputs.

또한, 다중 출력 수집부(402)는 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.In addition, the multiple output collection unit 402 learns a deep learning network without an additional output layer, and multiplex outputs 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 the position of the additional output layer (position inference step), and this A function such as transmitting the inferred additional output layer position to the network learning unit 406 may be provided.

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

그리고, 출력층 위치 추론부(404)는, 예컨대 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(Model-based method) 중 어느 한 방법을 이용하여 수집된 중간 출력값들을 클러스터링할 수 있다.And, the output layer position inference unit 404, for example, a partition method (Partitional method), a hierarchical method (Hierarchical method), a density-based method (Density-based method), a grid-based method (Grid-based method), a model-based method You can cluster the collected intermediate output values by using any one of the (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 segmentation 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, a DBSCAN algorithm or a DENCLUE algorithm, and the grid-based method may be, for example, a STING algorithm, and the model-based method is, for example, an EM algorithm (Expectation-Maximization algorithm) or It may be a neural network algorithm.

도 5는 본 발명의 실시예에 따라 다중 출력 수집부(402)를 통해 모든 층의 중간 출력값들을 수집하는 원리를 설명하기 위한 개념도이다.5 is a conceptual diagram illustrating a 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, Blue, (r 0 , Red), (g 0 , Green), (b 0 , Blue), etc. are input and trained deep neural networks (DN, N When 0 ) is present, if the intermediate output from the n-th layer is expressed as (Red, n, r n ) (assuming that the intermediate output in the form of r n is generated from the n layer for the Red output), it is collected and It is possible to determine whether to connect an additional (additional) output layer by classifying by layer.

예컨대, 중간 출력이 가능한 모든 곳에서, (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 ) can be collected, such a collection A sufficient number can be performed for all classifications.

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

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

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

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

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

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

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

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

도 8은 본 발명의 실시예에 따라 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 개념을 설명하기 위한 예시도이다.8 is an exemplary view illustrating 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, if it is inferred that the output layers connected to Layer 1 and Layer 3 are effective through clustering in the output layer location inferring unit 404, a deep learning network in which Layer 1 and Layer 3 output layers are additionally connected may be configured.

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

다음에, 상술한 바와 같은 구성을 갖는 본 실시예에 따른 심층학습 장치를 이용하여 조기 추론을 기반으로 심층학습을 수행하는 일련의 과정들에 대하여 상세하게 설명한다.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 configuration as described above will be described in detail.

도 9는 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 주요 과정을 도시한 순서도이다.9 is a flow chart showing a main process of performing deep learning based on early inference 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 previously learned deep learning network, that is, inputs a sufficient number including all classifications through multiple outputs to the learned deep learning network. To collect the median output values of all layers (step 902).

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

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

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

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

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

이때, 출력층 위치 추론부(404)에서는, 예컨대 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(Model-based method) 중 어느 한 방법을 이용하여 수집된 중간 출력값들을 클러스터링할 수 있다.At this time, the output layer location inference unit 404 includes, for example, a partitional method, a hierarchical method, a density-based method, a grid-based method, and a model-based method. You can cluster the collected intermediate output values by using any one of the (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 position 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 position 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 the output layer to the location of the additional output layer inferred by the output layer location inference unit 404 to the deep learning network without an additional output layer.

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

삭제delete

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

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

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

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 적어도 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or each step may represent a module, segment, or part of code including at least one or more executable instructions for executing the specified logical function(s). It should also be noted that in some alternative embodiments, functions mentioned in blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially simultaneously, or the blocks or steps may sometimes be performed in the 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, various substitutions, modifications, and changes, etc., within the scope not departing from the essential characteristics of the present invention. It will be easy to see that this is possible. That is, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments.

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

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

Claims (16)

기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 다중 출력 수집부와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 출력층 위치 추론부와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하고, 상기 구성된 신규 심층학습 네트워크를 학습하는 네트워크 학습부
를 포함하는 조기 추론 기반의 심층학습 장치.
A multiple output collection unit that collects intermediate output values from all layers of the previously learned deep learning network,
An output layer location inference unit for inferring an additional output layer location by clustering the collected intermediate output values for each layer,
A network learning unit for configuring a new deep learning network by connecting an output layer to the inferred additional output layer location, and learning the configured new deep learning network
Deep learning device based on early reasoning comprising a.
제 1 항에 있어서,
상기 다중 출력 수집부는,
추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력하는
조기 추론 기반의 심층학습 장치.
The method of claim 1,
The multiple output collection unit,
Learning a deep learning network without an additional output layer, and multiplying the learned output values for each layer of the deep learning network in the form of classification, layer, and output values for all layers and classifications.
Deep learning device based on early reasoning.
제 1 항에 있어서,
상기 네트워크 학습부는,
추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성하는
조기 추론 기반의 심층학습 장치.
The method of claim 1,
The network learning unit,
Configuring the new deep learning network by connecting the output layer to the location of the additional output layer inferred by the output layer location inference unit to the 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) 중 어느 한 방법을 통해 클러스터링하는
조기 추론 기반의 심층학습 장치.
The method of claim 1,
The output layer location inference unit,
The collected intermediate output values are divided into a partitional 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 layered method,
BIRCH algorithm or 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
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
Deep learning device based on early reasoning.
제 1 항에 있어서,
상기 출력층 위치 추론부는,
모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와,
상기 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부
를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론하는
조기 추론 기반의 심층학습 장치.
The method of claim 1,
The output layer location inference unit,
Whether there are clusters of all classifications-the classification of the cluster is a classification that occupies the largest proportion among the classifications of the input values of elements included in the cluster; and,
For all the clusters, whether or not there are more than a certain percentage of the element whose classification of the input value is the classification of the cluster in each cluster.
To infer the position of the additional output layer according to the condition that satisfies
Deep learning device based on early reasoning.
조기 추론 기반의 심층학습 장치가 수행하는 초기 추론 기반의 심층학습 방법으로서,
기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와,
상기 구성된 신규 심층학습 네트워크를 학습하는 단계
를 포함하는 조기 추론 기반의 심층학습 방법.
As a deep learning method based on early reasoning performed by the deep learning device based on early reasoning,
Collecting intermediate output values from all layers of the previously learned deep learning network,
Inferring an additional output layer location by clustering the collected intermediate output values for each layer; and
Configuring a new deep learning network by connecting an output layer to the inferred additional output layer location;
Learning the constructed new deep learning network
Early inference-based deep learning method including a.
제 11 항에 있어서,
상기 수집하는 단계는,
추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력하는
조기 추론 기반의 심층학습 방법.
The method of claim 11,
The collecting step,
Learning a deep learning network without an additional output layer, and multiplying the learned output values for each layer of the deep learning network in the form of classification, layer, and output values for all layers and classifications.
Deep learning method based on early reasoning.
제 11 항에 있어서,
상기 구성하는 단계는,
추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론 단계에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성하는
조기 추론 기반의 심층학습 방법.
The method of claim 11,
The configuring step,
Configuring the new deep learning network by connecting the output layer to the additional output layer location inferred in the output layer location inference step to a deep learning network without an additional output layer
Deep learning method based on early reasoning.
제 11 항에 있어서,
상기 추론하는 단계는,
모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와,
상기 모든 분류의 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부
를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론하는
조기 추론 기반의 심층학습 방법.
The method of claim 11,
The inferring step,
Whether there are clusters of all classifications-the classification of the cluster is a classification that occupies the largest proportion among the classifications of the input values of elements included in the cluster; and,
In the clusters of all the classifications, whether or not there is a certain percentage or more of an element that is the classification of the input value in each cluster.
To infer the position of the additional output layer according to the condition that satisfies
Deep learning method based on early reasoning.
기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와,
상기 구성된 신규 심층학습 네트워크를 학습하는 단계
를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
Collecting intermediate output values from all layers of the previously learned deep learning network,
Inferring an additional output layer location by clustering the collected intermediate output values for each layer; and
Configuring 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 that causes the processor to perform the deep learning method based on early inference, including.
기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와,
상기 구성된 신규 심층학습 네트워크를 학습하는 단계
를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
Collecting intermediate output values from all layers of the previously learned deep learning network,
Inferring an additional output layer location by clustering the collected intermediate output values for each layer; and
Configuring 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 the deep learning method based on early inference including 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 KR20200068104A (en) 2020-06-15
KR102180051B1 true 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
KR20200068104A (en) 2020-06-15

Similar Documents

Publication Publication Date Title
Usama et al. Unsupervised machine learning for networking: Techniques, applications and research challenges
CN106777013A (en) Dialogue management method and apparatus
WO2020224297A1 (en) Method and device for determining computer-executable integrated model
US20220083863A1 (en) System and method for teaching compositionality to convolutional neural networks
US20190340507A1 (en) Classifying data
CN109933804A (en) Merge the keyword abstraction method of subject information and two-way LSTM
CN109150564A (en) A kind of prediction technique and device for cell fault warning
EP1903479B1 (en) Method and system for data classification using a self-organizing map
CN104348829A (en) Network security situation sensing system and method
CN108596240B (en) Image semantic segmentation method based on discriminant feature network
Heo et al. Graph neural network based service function chaining for automatic network control
US10769157B2 (en) Method and system for mapping attributes of entities
CN110046279A (en) Prediction technique, medium, device and the calculating equipment of video file feature
KR102180051B1 (en) Apparatus and method for executing deep learning based on early inference
Gezici et al. Explainable AI for software defect prediction with gradient boosting classifier
Malialis et al. Data augmentation on-the-fly and active learning in data stream classification
CN112085164A (en) Area recommendation network extraction method based on anchor-frame-free network
CN115294406B (en) Method and system for multi-modal interpretable classification based on attributes
Jiang et al. Training sample selection for deep learning of distributed data
CN113283243B (en) Entity and relationship combined extraction method
CN113010888B (en) Neural network backdoor attack defense method based on key neurons
Abbas et al. Cloud Services Ranking by measuring Multiple Parameters using AFIS
US11636677B2 (en) Systems, devices and methods for distributed hierarchical video analysis
Vela et al. Examples of machine learning algorithms for optical network control and management
CN114022698A (en) Multi-tag behavior identification method and device based on binary tree structure

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