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

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

Info

Publication number
KR102532749B1
KR102532749B1 KR1020207002482A KR20207002482A KR102532749B1 KR 102532749 B1 KR102532749 B1 KR 102532749B1 KR 1020207002482 A KR1020207002482 A KR 1020207002482A KR 20207002482 A KR20207002482 A KR 20207002482A KR 102532749 B1 KR102532749 B1 KR 102532749B1
Authority
KR
South Korea
Prior art keywords
learning
activation map
network model
image
hierarchical
Prior art date
Application number
KR1020207002482A
Other languages
English (en)
Other versions
KR20200074940A (ko
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 삼성전자주식회사
Publication of KR20200074940A publication Critical patent/KR20200074940A/ko
Application granted granted Critical
Publication of KR102532749B1 publication Critical patent/KR102532749B1/ko

Links

Images

Classifications

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

Abstract

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

Description

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

Claims (15)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
KR20200074940A KR20200074940A (ko) 2020-06-25
KR102532749B1 true KR102532749B1 (ko) 2023-05-16

Family

ID=66539061

Family Applications (1)

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

Country Status (3)

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

Families Citing this family (18)

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

Family Cites Families (7)

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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hyo-Eun Kim and Sangheum Hwang, "Deconvolutional Feature Stacking for Weakly-Supervised Semantic Segmentation," arXiv:1602.04984v3 [cs.CV] (2016.03.12.)*

Also Published As

Publication number Publication date
US20200327409A1 (en) 2020-10-15
KR20200074940A (ko) 2020-06-25
WO2019098414A1 (ko) 2019-05-23

Similar Documents

Publication Publication Date Title
KR102532749B1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
KR102481885B1 (ko) 클래스 인식을 위한 뉴럴 네트워크 학습 방법 및 디바이스
KR102593438B1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
KR102400017B1 (ko) 객체를 식별하는 방법 및 디바이스
KR102535411B1 (ko) 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법
US20210397876A1 (en) Similarity propagation for one-shot and few-shot image segmentation
KR102387305B1 (ko) 멀티모달 데이터 학습 방법 및 장치
EP3447727B1 (en) A method, an apparatus and a computer program product for object detection
KR20190113119A (ko) 합성곱 신경망을 위한 주의집중 값 계산 방법
KR102548732B1 (ko) 신경망 학습 방법 및 이를 적용한 장치
KR102607208B1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
KR102532748B1 (ko) 뉴럴 네트워크 학습 방법 및 장치
KR102306658B1 (ko) 이종 도메인 데이터 간의 변환을 수행하는 gan의 학습 방법 및 장치
JP7295282B2 (ja) 適応的ハイパーパラメータセットを利用したマルチステージ学習を通じて自律走行自動車のマシンラーニングネットワークをオンデバイス学習させる方法及びこれを利用したオンデバイス学習装置
US20230419113A1 (en) Attention-based deep reinforcement learning for autonomous agents
Yan Computational Methods for Deep Learning: Theory, Algorithms, and Implementations
EP3627403A1 (en) Training of a one-shot learning classifier
CN111008622B (zh) 一种图像对象检测方法、装置以及计算机可读存储介质
Ciamarra et al. Forecasting future instance segmentation with learned optical flow and warping
Zhan et al. From Body Parts Responses to Underwater Human Detection: A Deep Learning Approach
CN113033212B (en) Text data processing method and device
Kind-Trueller et al. The Deep Learning Method for Image Segmentation to Improve the Efficiency of Data Processing Without Compromising the Accuracy of an Autonomous Driving Country-Road Pilot System After Image Classification
CN111373417B (zh) 与基于度量学习的数据分类相关的设备及其方法
US20230419721A1 (en) Electronic device for improving quality of image and method for improving quality of image by using same
CN115362446A (zh) 用于少样本相似性确定和分类的交叉变换器神经网络系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant