KR102180051B1 - 조기 추론 기반의 심층학습 장치 및 그 방법 - Google Patents
조기 추론 기반의 심층학습 장치 및 그 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
본 발명에 따른 조기 추론 기반의 심층학습 장치는, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 다중 출력 수집부와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 출력층 위치 추론부와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하고, 상기 구성된 신규 심층학습 네트워크를 학습하는 네트워크 학습부를 포함할 수 있다.
Description
본 발명은 심층학습(Deep learning) 기법에 관한 것으로, 더욱 상세하게는 추가적인 출력층의 효과적인 위치와 수를 저 복잡도로 파악하고 이를 이용하여 정확도가 상대적으로 높은 층 사이에만 출력층을 연결할 수 있는 조기 추론 기반의 심층학습 장치 및 그 방법에 관한 것이다.
알려진 바와 같이, 기존의 심층학습(Deep learning) 기법은 하나의 입력층과 여러 개의 은닉층과 하나의 출력층으로 구성되어 있으며, 이러한 심층학습은 심층학습의 높은 정확도로 인해 다양한 분야에서 널리 사용되고 있다.
그러나, 기존의 심층학습 기법은 상대적으로 높은 복잡도로 인해 모바일 환경에서 사용하기가 어렵다는 문제가 있다.
이를 해결하기 위한 하나의 방법으로 조기 추론이 가능한 심층학습이 제시되고 있는데, 이러한 조기 추론이 가능한 심층학습은 기존의 심층학습 네트워크에 추가적인 출력층을 연결하는 방식이다.
이때, 출력층의 숫자와 위치는 몇 개든, 어디든 가능하지만 위치와 수에 따라 정확도와 학습 단계와 추론 단계에서의 복잡도가 달라지게 되는데, 이를 위해 높은 정확도와 학습 단계와 추론 단계에서 낮은 복잡도를 가지도록 추가적인 출력층의 숫자와 위치를 정하는 새로운 기법이 필요하다.
기존의 방식에 따라 추가적인 출력층의 위치를 정하는 기본적인 방식으로는 다음과 같은 두가지 방식이 있다.
도 1은 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 첫 번째 방식을 설명하기 위한 개념도이다.
도 1을 참조하면, 기존의 첫 번째 방식은 각 층(Layer)의 모든 가능한 위치에 출력층(Output layer)을 연결하는 방식인 것으로, 출력층이 늘어난 만큼 학습 단계와 추론 단계 모두에서 높은 복잡도를 가지게 되는 문제가 있다.
또한, 기존의 첫 번째 방식은 정확도가 낮은 부분에서도 출력층이 생기기 때문에 전체적인 정확도가 낮아지게 되는 문제가 있다.
도 2는 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 두 번째 방식을 설명하기 위한 일예의 개념도이다.
도 2를 참조하면, 기존의 두 번째 방식의 일예는 출력층(Output layer)이 연결 가능한 곳에 하나의 입력층(Input)에 대응하는 출력층을 하나씩 연결하여 학습하고 테스트하여 정확도를 판단하는 방식인 것으로, 정확도가 높으면 그 위치를 출력층을 연결할 위치로 선정할 수 있으며, 이러한 방식은 모든 출력층이 연결 가능한 곳에 대하여 진행할 수 있다.
다른 예로써, 기존의 심층 학습 네트워크에서 이전 단계에서 선택된 곳(예컨대, 도 2에서 선택된 layer1의 다음과 layer3의 다음)에 출력층(Output layer)을 연결하고, 이후 최종 학습을 다시 진행하는 방식이 있다.
상술한 바와 같은 두 번째 방식은 어느 층 사이에 출력층을 설치해야 정확도가 높은 지를 알아내서 연결하는 방식으로 정확도의 감소는 미미하다.
그에 반해, 출력층이 연결 가능한 모든 곳에 출력층을 하나씩 연결하면서 학습을 시키고 테스트를 하여 효과적인 출력층을 찾아낸 후에 마지막에 한번더 학습을 함으로써 이전 방식보다 학습 단계에서 높은 복잡도를 가지는 문제가 있다.
특히, 은닉층의 수가 많은 심층학습의 특성상 추가적인 출력층이 연결될 수 있는 곳이 많기 때문에 학습단계에서 추가적인 출력층이 없는 심층학습에 비해서 상대적으로 상당히 큰 복잡도를 갖게 되는 문제가 있다.
본 발명은 추가적인 출력층의 효과적인 위치와 수를 저 복잡도로 파악하고 이를 이용하여 정확도가 상대적으로 높은 층 사이에만 출력층을 연결할 수 있는 조기 추론 기반의 심층학습 장치 및 그 방법을 제공하고자 한다.
본 발명은 저 복잡도 학습을 실현할 수 있는 조기 추론 기반의 심층학습 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체를 제공하고자 한다.
본 발명은 저 복잡도 학습을 실현할 수 있는 조기 추론 기반의 심층학습 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공하고자 한다.
본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.
본 발명은, 일 관점에 따라, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 다중 출력 수집부와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 출력층 위치 추론부와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하고, 상기 구성된 신규 심층학습 네트워크를 학습하는 네트워크 학습부를 포함하는 조기 추론 기반의 심층학습 장치를 제공할 수 있다.
본 발명의 상기 다중 출력 수집부는, 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.
본 발명의 상기 네트워크 학습부는, 추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성할 수 있다.
본 발명의 상기 출력층 위치 추론부는, 수집된 상기 중간 출력값들을 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(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)일 수 있다.
본 발명의 상기 출력층 위치 추론부는, 모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와, 상기 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론할 수 있다.
본 발명은, 다른 관점에 따라, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와, 상기 구성된 신규 심층학습 네트워크를 학습하는 단계를 포함하는 조기 추론 기반의 심층학습 방법을 제공할 수 있다.
본 발명의 상기 수집하는 단계는, 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.
본 발명의 상기 구성하는 단계는, 추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성할 수 있다.
본 발명의 상기 추론하는 단계는, 모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와, 상기 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론할 수 있다.
본 발명은, 또 다른 관점에 따라, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와, 상기 구성된 신규 심층학습 네트워크를 학습하는 단계를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체를 제공할 수 있다.
본 발명은, 또 다른 관점에 따라, 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와, 수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와, 상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와, 상기 구성된 신규 심층학습 네트워크를 학습하는 단계를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
본 발명의 실시 예에 따르면, 추가적인 출력층의 효과적인 위치와 수를 저 복잡도로 파악하고 이를 이용하여 정확도가 상대적으로 높은 층 사이에만 출력층을 연결함으로써, 기존 심층학습의 정확도를 최대한 유지하면서도 조기 추론을 가능케하는 저 복잡도 학습을 실현할 수 있다.
도 1은 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 첫 번째 방식을 설명하기 위한 개념도이다.
도 2는 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 두 번째 방식을 설명하기 위한 일예의 개념도이다.
도 3은 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 기술 개념을 설명하기 위한 개념도이다.
도 4는 본 발명의 실시예에 따른 조기 추론 기반의 심층학습 장치에 대한 블록 구성도이다.
도 5는 본 발명의 실시예에 따라 다중 출력 수집부를 통해 모든 층의 중간 출력값들을 수집하는 원리를 설명하기 위한 개념도이다.
도 6은 도 5를 통해 수집된 중간 출력값들을 각 층별로 클러스터링한 결과를 보여주는 예시도이다.
도 7은 본 발명의 실시예에 따라 클러스터링을 통해 추가 출력층의 위치를 찾는 개념을 설명하기 위한 개념도이다.
도 8은 본 발명의 실시예에 따라 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 개념을 설명하기 위한 예시도이다.
도 9는 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 주요 과정을 도시한 순서도이다.
도 2는 기존의 방식에 따라 추가적인 출력층의 위치를 정하는 두 번째 방식을 설명하기 위한 일예의 개념도이다.
도 3은 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 기술 개념을 설명하기 위한 개념도이다.
도 4는 본 발명의 실시예에 따른 조기 추론 기반의 심층학습 장치에 대한 블록 구성도이다.
도 5는 본 발명의 실시예에 따라 다중 출력 수집부를 통해 모든 층의 중간 출력값들을 수집하는 원리를 설명하기 위한 개념도이다.
도 6은 도 5를 통해 수집된 중간 출력값들을 각 층별로 클러스터링한 결과를 보여주는 예시도이다.
도 7은 본 발명의 실시예에 따라 클러스터링을 통해 추가 출력층의 위치를 찾는 개념을 설명하기 위한 개념도이다.
도 8은 본 발명의 실시예에 따라 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 개념을 설명하기 위한 예시도이다.
도 9는 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 주요 과정을 도시한 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.
도 3은 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 기술 개념을 설명하기 위한 개념도이다.
도 3을 참조하면, 1단계에서는 학습된 추가적인 학습층이 없는 기존 심층학습 네트워크(즉, 조기 출력이 없는 심층학습 네트워크)에서 입력을 넣고 출력층이 아닌 모든 층에서의 중간 출력값을 수집하는 데, 이와 같이 모든 층에서의 중간 출력값을 수집하는 것을 다중 출력값 수집이라 정의할 수 있다.
다음에, 2단계에서는 상술한 1단계에서 다중 출력을 통해 수집한 중간 출력값들을 각 층별로 클러스터링하는데, 이러한 클러스터링 후에 클러스터링된 클러스터들의 구성 요소(출력값)의 입력값의 분류를 참고하여 각 층에 추가 출력층(추가적인 출력층)을 연결하는 것이 효과적인지 아닌지의 여부를 판단할 수 있다.
그리고, 3단계에서는 2단계를 통해 판단한 효과적인 추가 출력층 위치에 출력층을 연결한 신규 심층학습 네트워크를 구성하고 학습할 수 있다.
상술한 바와 같은 본 발명의 심층학습 기법은 추가적인 출력층의 위치 및 그 수에 제한이 없으며, 효과적인 출력층을 찾지 못하면 추가적인 출력층을 연결하지 않을 수 있다. 또한, 모든 층이 추가적인 출력층이 효과적이면 모든 층에 추가적인 출력층을 연결할 수 있다.
본 발명의 심층학습 기법에서는 기본적인 방식의 출력층을 하나씩 연결에 가면서 하나씩 학습하는 단계를 다중 출력을 통해 모든 층의 중간 출력값을 수집하고 클러스터링함으로써, 복잡도를 효과적으로 낮출 수 있다.
여기에서, 본 발명에 따른 조기 추론 기반의 심층학습 모델은 다양한 분야, 예컨대 행동 인식 분야, 비전 인식 분야, 얼굴 검출 분야, 표정 검출 분야, 홍채 인식 분야 등에 이용될 수 있다.
도 4는 본 발명의 실시예에 따른 조기 추론 기반의 심층학습 장치에 대한 블록 구성도로서, 다중 출력 수집부(402), 출력층 위치 추론부(404) 및 네트워크 학습부(406) 등을 포함할 수 있다.
도 4를 참조하면, 다중 출력 수집부(402)는 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하고, 이 수집된 모든 층의 중간 출력값들을 출력층 위치 추론부(404)로 전달하는 등의 기능을 제공할 수 있다.
즉, 다중 출력 수집부(402)는 다중 출력을 통해 모든 분류를 포함하는 충분한 숫자의 입력을 학습된 심층학습 네트워크에 넣어 모든 층의 중간 출력값들을 수집할 수 있다.
또한, 다중 출력 수집부(402)는 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.
다음에, 출력층 위치 추론부(404)는 다중 출력 수집부(402)를 통해 수집된 중간 출력값들을 각 층별로 클러스터링(clustering)하여(클러스터링 단계) 추가 출력층 위치를 추론하고(위치 추론 단계), 이 추론된 추가 출력층 위치를 네트워크 학습부(406)로 전달하는 등의 기능을 제공할 수 있다.
여기에서, 출력층 위치 추론부(404)는 모든 분류의 클러스터가 존재하는 지의 - 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와, 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부를 만족시키는 조건에 따라 추가 출력층 위치를 추론할 수 있다.
그리고, 출력층 위치 추론부(404)는, 예컨대 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(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)일 수 있다.
도 5는 본 발명의 실시예에 따라 다중 출력 수집부(402)를 통해 모든 층의 중간 출력값들을 수집하는 원리를 설명하기 위한 개념도이다.
도 5를 참조하면, 예컨대 Red, Green, Blue를 분류하기 위하여 (r0, Red), (g0, Green), (b0, Blue) 등을 입력으로 넣고 트레이닝시킨 딥뉴럴 네트워크(DN, N0)가 존재할 때, 이의 n 번째 계층에서의 중간 출력을 (Red, n, rn)으로 표현하면(Red 출력에 대해 n 계층에서 rn 형태의 중간 출력이 나온다고 가정할 때), 이를 수집하고 계층별로 분류하여 추가(추가적인) 출력층을 연결할지의 여부를 판단할 수 있다.
예컨대, 중간 출력이 가능한 모든 곳에서, (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)로 수집될 수 있는데, 이와 같은 수집은 충분한 수만큼 모든 분류에 대해 수행될 수 있다.
도 6은 도 5를 통해 수집된 중간 출력값들을 각 층별로 클러스팅한 결과를 보여주는 예시도이다.
즉, 출력층 위치 추론부(404)가 클러스터링을 통해 추가 출력층의 위치를 추론하는 단계는 앞선 클러스터링 단계를 통해 분류된 클러스터들을 이용하여 어느 층에 추가 출력층을 연결하는 것이 효과적인지를 판단하기 위한 단계이다.
이때, 추가 출력층을 연결하기 위한 효과적인 층은 다음의 조건을 만족해야 한다.
첫째, 각 층에서 모든 분류의 클러스터가 존재해야 하며, 이때 각 클러스터별 가장 많이 차지하는 입력값의 분류를 그 클러스터의 분류라 한다.
둘째, 각 층의 각 클러스터는 입력값의 분류가 그 클러스터의 분류인 요소가 일정이상(α)의 비율을 차지해야 한다.
도 7은 α=80%일 때의 예시로 도 6의 클러스터를 이용하여 위의 효과적인 층을 찾는 조건을 계산하고, 이를 통해 효과적인 추가 출력층의 위치를 구하는 방식을 나타낸다. 예컨대, 첫 번째 층만 두 조건을 모두 만족하여 효과적인 위치가 된다.
다시 도 4 참조하면, 네트워크 학습부(406)는 출력층 위치 추론부(404)를 통해 추론된 효과적인 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하고, 구성된 신규 심층학습 네트워크를 학습하는 등의 기능을 제공할 수 있다.
또한, 네트워크 학습부(406)는 추가 출력층이 없는 심층학습 네트워크에 출력층 위치 추론부(404)에서 추론한 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성할 수 있다.
즉, 네트워크 학습부(406)는 출력층 위치 추론부(404)에서 클러스터링을 통해 추론한 추가 출력층의 효과적인 위치를 이용하여 신규 심층학습 네트워크를 구성 및 학습할 수 있다.
도 8은 본 발명의 실시예에 따라 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 개념을 설명하기 위한 예시도이다.
도 8을 참조하면, 출력층 위치 추론부(404)에서의 클러스터링을 통해 Layer1과 Layer3과 연결된 출력층이 효과적인 것으로 추론되면, Layer1과 Layer3 출력층이 추가적으로 연결된 심층학습 네트워크를 구성할 수 있다.
여기에서, 추가적인 출력층이 연결 가능한 모든 곳에 대하여 하나씩 연결하고 학습하는 단계를 각 층별 클러스터링 단계로 스케일다운 함으로서, 복잡도를 효과적으로 줄일 수 있다.
다음에, 상술한 바와 같은 구성을 갖는 본 실시예에 따른 심층학습 장치를 이용하여 조기 추론을 기반으로 심층학습을 수행하는 일련의 과정들에 대하여 상세하게 설명한다.
도 9는 본 발명의 실시예에 따라 조기 추론을 기반으로 심층학습을 수행하는 주요 과정을 도시한 순서도이다.
도 9를 참조하면, 다중 출력 수집부(402)에서는 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집, 즉 다중 출력을 통해 모든 분류를 포함하는 충분한 숫자의 입력을 학습된 심층학습 네트워크에 넣어 모든 층의 중간 출력값들을 수집한다(단계 902).
이때, 다중 출력 수집부(402)에서는 추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력할 수 있다.
다음에, 출력층 위치 추론부(404)에서는 다중 출력 수집부(402)를 통해 수집된 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론한다(단계 904).
여기에서, 출력층 위치 추론부(404)는 아래의 조건 (1) 및 (2)를 만족시키는 지의 여부에 따라 추가 출력층의 위치를 추론할 수 있다.
(1) 모든 분류의 클러스터가 존재하는 지의 - 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부
(2) 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부
이때, 출력층 위치 추론부(404)에서는, 예컨대 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(Model-based method) 중 어느 한 방법을 이용하여 수집된 중간 출력값들을 클러스터링할 수 있다.
그리고, 네트워크 학습부(406)에서는 출력층 위치 추론부(404)를 통해 추론된 효과적인 추가 출력층의 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성한다(단계 906). 즉, 클러스터링을 통해 추론한 추가 출력층의 효과적인 위치를 이용하여 신규 심층학습 네트워크를 구성한다.
이때, 네트워크 학습부(406)에서는 추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부(404)에서 추론한 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성할 수 있다.
즉, 네트워크 학습부(406)는 출력층 위치 추론부(404)에서 클러스터링을 통해 추론한 추가 출력층의 효과적인 위치를 이용하여 신규 심층학습 네트워크를 구성할 수 있다. 이후, 네트워크 학습부(406)에서는 구성된 신규 심층학습 네트워크를 학습한다(단계 908).
삭제
한편, 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리 등에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 적어도 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
402 : 다중 출력 수집부
404 : 출력층 위치 추론부
406 : 네트워크 학습부
404 : 출력층 위치 추론부
406 : 네트워크 학습부
Claims (16)
- 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 다중 출력 수집부와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 출력층 위치 추론부와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하고, 상기 구성된 신규 심층학습 네트워크를 학습하는 네트워크 학습부
를 포함하는 조기 추론 기반의 심층학습 장치. - 제 1 항에 있어서,
상기 다중 출력 수집부는,
추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력하는
조기 추론 기반의 심층학습 장치. - 제 1 항에 있어서,
상기 네트워크 학습부는,
추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론부에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성하는
조기 추론 기반의 심층학습 장치. - 제 1 항에 있어서,
상기 출력층 위치 추론부는,
수집된 상기 중간 출력값들을 분할 방법(Partitional method), 계층 방법(Hierarchical method), 덴서티 기반 방법(Density-Based method), 그리드 기반 방법(Grid-based method), 모델 기반 방법(Model-based method) 중 어느 한 방법을 통해 클러스터링하는
조기 추론 기반의 심층학습 장치. - 제 4 항에 있어서,
상기 분할 방법은,
k-평균 알고리즘(k-means algorithm) 또는 Nearest 최근접 이웃 알고리즘(Neighbor algorithm)인
조기 추론 기반의 심층학습 장치. - 제 4 항에 있어서,
상기 계층 방법은,
버취 알고리즘(BIRCH algorithm) 또는 카멜레온 알고리즘(Chameleon algorithm)인
조기 추론 기반의 심층학습 장치. - 제 4 항에 있어서,
상기 덴서티 기반 방법은,
DBSCAN 알고리즘 또는 DENCLUE 알고리즘인
조기 추론 기반의 심층학습 장치. - 제 4 항에 있어서,
상기 그리드 기반 방법은,
스팅 알고리즘(STING algorithm)인
조기 추론 기반의 심층학습 장치. - 제 4 항에 있어서,
상기 모델 기반 방법은,
EM 알고리즘(Expectation-Maximization algorithm) 또는 뉴럴 네트워크 알고리즘(Neural Network algorithm)인
조기 추론 기반의 심층학습 장치. - 제 1 항에 있어서,
상기 출력층 위치 추론부는,
모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와,
상기 모든 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부
를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론하는
조기 추론 기반의 심층학습 장치. - 조기 추론 기반의 심층학습 장치가 수행하는 초기 추론 기반의 심층학습 방법으로서,
기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와,
상기 구성된 신규 심층학습 네트워크를 학습하는 단계
를 포함하는 조기 추론 기반의 심층학습 방법. - 제 11 항에 있어서,
상기 수집하는 단계는,
추가 출력층이 없는 심층학습 네트워크를 학습하고, 학습된 상기 심층학습 네트워크의 각 층별 분류별 출력값을 모든 층과 분류에 대해 분류, 층, 출력값의 형태로 다중 출력하는
조기 추론 기반의 심층학습 방법. - 제 11 항에 있어서,
상기 구성하는 단계는,
추가 출력층이 없는 심층학습 네트워크에 상기 출력층 위치 추론 단계에서 추론한 추가 출력층 위치에 출력층을 연결하여 상기 신규 심층학습 네트워크를 구성하는
조기 추론 기반의 심층학습 방법. - 제 11 항에 있어서,
상기 추론하는 단계는,
모든 분류의 클러스터가 존재하는 지의 - 상기 클러스터의 분류는 클러스터에 포함된 요소의 입력값의 분류 중 가장 많은 비율을 차지하는 분류임 - 여부와,
상기 모든 분류의 클러스터는 각각의 클러스터 안에 입력값의 분류가 그 클러스터의 분류인 요소가 일정 비율이상 존재하는 지의 여부
를 만족시키는 조건에 따라 상기 추가 출력층 위치를 추론하는
조기 추론 기반의 심층학습 방법. - 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와,
상기 구성된 신규 심층학습 네트워크를 학습하는 단계
를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체. - 기 학습된 심층학습 네트워크의 모든 층에서 중간 출력값들을 수집하는 단계와,
수집된 상기 중간 출력값들을 각 층별로 클러스터링(clustering)하여 추가 출력층 위치를 추론하는 단계와,
상기 추론된 추가 출력층 위치에 출력층을 연결하여 신규 심층학습 네트워크를 구성하는 단계와,
상기 구성된 신규 심층학습 네트워크를 학습하는 단계
를 포함하는 조기 추론 기반의 심층학습 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180150061A KR102180051B1 (ko) | 2018-11-28 | 2018-11-28 | 조기 추론 기반의 심층학습 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180150061A KR102180051B1 (ko) | 2018-11-28 | 2018-11-28 | 조기 추론 기반의 심층학습 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200068104A KR20200068104A (ko) | 2020-06-15 |
KR102180051B1 true KR102180051B1 (ko) | 2020-11-17 |
Family
ID=71081551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180150061A KR102180051B1 (ko) | 2018-11-28 | 2018-11-28 | 조기 추론 기반의 심층학습 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102180051B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015036939A (ja) | 2013-08-15 | 2015-02-23 | 富士ゼロックス株式会社 | 特徴抽出プログラム及び情報処理装置 |
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 (ko) | 2017-11-27 | 2018-10-31 | 한국인터넷진흥원 | 신경망 모델을 위한 기계 학습 방법 및 그 장치 |
-
2018
- 2018-11-28 KR KR1020180150061A patent/KR102180051B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015036939A (ja) | 2013-08-15 | 2015-02-23 | 富士ゼロックス株式会社 | 特徴抽出プログラム及び情報処理装置 |
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 (ko) | 2017-11-27 | 2018-10-31 | 한국인터넷진흥원 | 신경망 모델을 위한 기계 학습 방법 및 그 장치 |
Non-Patent Citations (1)
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 (ko) | 2020-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Usama et al. | Unsupervised machine learning for networking: Techniques, applications and research challenges | |
CN110247910B (zh) | 一种异常流量的检测方法、***及相关组件 | |
Malone et al. | Data mining using rule extraction from Kohonen self-organising maps | |
US20220083863A1 (en) | System and method for teaching compositionality to convolutional neural networks | |
US20190340507A1 (en) | Classifying data | |
CN109933804A (zh) | 融合主题信息与双向lstm的关键词抽取方法 | |
CN104217216A (zh) | 生成检测模型的方法和设备、用于检测目标的方法和设备 | |
CN108228728B (zh) | 一种参数化的论文网络节点表示学习方法 | |
EP1903479B1 (en) | Method and system for data classification using a self-organizing map | |
US11113600B2 (en) | Translating sensor input into expertise | |
TW201942814A (zh) | 物件分類方法、裝置、伺服器及儲存媒體 | |
CN108596240B (zh) | 一种基于判别特征网络的图像语义分割方法 | |
Heo et al. | Graph neural network based service function chaining for automatic network control | |
US10769157B2 (en) | Method and system for mapping attributes of entities | |
CN116337448A (zh) | 基于宽度多尺度时空注意力的迁移学习轴承故障诊断方法、装置及存储介质 | |
Fan et al. | A two-layer Wang-Mendel fuzzy approach for predicting the residuary resistance of sailing yachts | |
Malialis et al. | Data augmentation on-the-fly and active learning in data stream classification | |
KR102180051B1 (ko) | 조기 추론 기반의 심층학습 장치 및 그 방법 | |
CN113221935A (zh) | 基于环境感知深度卷积神经网络的图像识别方法及*** | |
CN109871469B (zh) | 基于动态图元的小簇人群识别方法 | |
CN115294406B (zh) | 基于属性的多模态可解释分类的方法与*** | |
CN115906927A (zh) | 基于人工智能的数据访问分析方法、***及云平台 | |
Abbas et al. | Cloud Services Ranking by measuring Multiple Parameters using AFIS | |
CN114022698A (zh) | 一种基于二叉树结构的多标签行为识别方法及装置 | |
KR102119941B1 (ko) | 객체 인식을 위한 자가 학습 장치 및 방법 |
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 |