KR20190028242A - 뉴럴 네트워크 학습 방법 및 장치 - Google Patents

뉴럴 네트워크 학습 방법 및 장치 Download PDF

Info

Publication number
KR20190028242A
KR20190028242A KR1020170115464A KR20170115464A KR20190028242A KR 20190028242 A KR20190028242 A KR 20190028242A KR 1020170115464 A KR1020170115464 A KR 1020170115464A KR 20170115464 A KR20170115464 A KR 20170115464A KR 20190028242 A KR20190028242 A KR 20190028242A
Authority
KR
South Korea
Prior art keywords
filter
data
learning
size
unit
Prior art date
Application number
KR1020170115464A
Other languages
English (en)
Other versions
KR102532748B1 (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 삼성전자주식회사
Priority to KR1020170115464A priority Critical patent/KR102532748B1/ko
Priority to US16/645,158 priority patent/US11586923B2/en
Priority to PCT/KR2018/010421 priority patent/WO2019050297A1/ko
Publication of KR20190028242A publication Critical patent/KR20190028242A/ko
Application granted granted Critical
Publication of KR102532748B1 publication Critical patent/KR102532748B1/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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 특히, 본 개시는 인공지능 시스템 및 그 응용에 따른 뉴럴 네트워크의 학습 방법으로, 학습 네트워크 모델에 포함된 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터, 특정 부분에 유효값을 갖는 마스킹 필터를 이용하여, 특정 부분에 대응되는 필터의 가중치 정보에 따라 입력 데이터의 특징을 추출하고, 추출된 입력 데이터의 특징을 기초로 학습 네트워크 모델로부터 획득된 출력 데이터와 타겟 데이터를 비교하며, 비교 결과에 기초하여, 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 할 수 있다.

Description

뉴럴 네트워크 학습 방법 및 장치 {METHOD AND DEVICE FOR LEARNING NEURAL NETWORK}
개시된 실시예는 뉴럴 네트워크의 학습 방법, 뉴럴 네트워크의 학습 장치 및 뉴럴 네트워크의 학습 방법을 수행하는 프로그램이 기록된 기록매체에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
개시된 실시예는 학습 네트워크 모델을 구성하는 적어도 하나의 히든 레이어의 필터에서 입력 데이터의 특징을 추출하는 데 이용되는 부분의 크기를 동적으로 변경함으로써, 학습 네트워크 모델의 성능을 향상시킬 수 있는 뉴럴 네트워크 학습 방법, 장치 및 기록매체를 제공할 수 있다.
또한, 다른 실시예에 따라, 학습 네트워크 모델을 구성하는 채널의 개수를 동적으로 변경함으로써, 학습 네트워크 모델의 성능을 향상시킬 수 있는 뉴럴 네트워크 학습 방법, 장치 및 기록매체를 제공할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법은, 학습 네트워크 모델에 포함된 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터, 특정 부분에 유효값을 갖는 마스킹 필터를 이용하여, 특정 부분에 대응되는 필터의 가중치 정보에 따라 입력 데이터의 특징을 추출하는 단계; 추출된 입력 데이터의 특징을 기초로 학습 네트워크 모델로부터 획득된 출력 데이터와 타겟 데이터를 비교하는 단계; 및 비교 결과에 기초하여, 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 하는 단계를 포함할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법은, 그래디언트 디센트(gradient descent) 기법에 기초하여, 상기 출력 데이터와 상기 타겟 데이터의 차이가 기 설정된 임계값 미만이 되는 시점까지, 상기 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 하는 단계를 반복적으로 수행할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법에 있어서, 비교 결과 획득된, 출력 데이터와 상기 타겟 데이터의 차이 정보는 필터의 특정 부분의 크기를 변수로 갖는 함수로 구성될 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법에 있어서, 필터의 특정 부분의 크기는, 마스킹 필터의 중심으로부터의 거리에 따라 결정될 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법에 있어서, 입력 데이터의 특징을 추출하는 단계는, 학습 네트워크 모델에 포함된 특정 개수의 채널 각각의 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터 마스킹 필터를 이용하여, 입력 데이터의 특징을 추출하고, 업데이트 하는 단계는, 비교 결과에 기초하여, 채널의 개수 및 채널 각각에 대한 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 학습 네트워크 모델에 포함된 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터, 특정 부분에 유효값을 갖는 마스킹 필터를 이용하여, 특정 부분에 대응되는 필터의 가중치 정보에 따라 입력 데이터의 특징을 추출하고, 추출된 입력 데이터의 특징을 기초로 학습 네트워크 모델로부터 획득된 출력 데이터와 타겟 데이터를 비교하며, 비교 결과에 기초하여, 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 할 수 있다.
도 1은 일 실시예에 따른 뉴럴 네트워크 학습 방법을 설명하기 위한 개념도이다.
도 2는 일 실시예에 따른 뉴럴 네트워크 학습 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 뉴럴 네트워크 학습 장치가 필터에서 유효값을 갖는 특정 부분의 크기를 거리로서 결정하는 방법을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 뉴럴 네트워크 학습 장치에서 마스킹 필터를 이용하여, 입력 데이터의 특성을 추출하는데 이용되는 필터의 크기를 결정하는 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 뉴럴 네트워크 학습 장치가 마스킹 필터에서 유효값을 갖는 부분의 크기를 결정하는 방법을 설명하기 위한 흐름도이다.
도 6는 일 실시예에 따른 뉴럴 네트워크 학습 장치의 블록도이다.
도 7은 일 실시예에 따른 프로세서를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 데이터 학습부의 블록도이다.
도 9는 일 실시예에 따른 데이터 인식부의 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 특성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 뉴럴 네트워크 학습 방법을 설명하기 위한 개념도이다.
도 1을 참조하면, 뉴럴 네트워크 학습 장치는 입력 레이어, 적어도 하나의 히든 레이어 및 출력 레이어로 구성되는 학습 네트워크 모델을 포함할 수 있다. 여기에서, 히든 레이어는 입력 데이터로부터 특징을 추출하기 위한 가중치 정보들로 구성된 필터(예를 들어, 112)를 포함할 수 있다. 또한, 히든 레이어는 복수의 채널로 구성될 수 있다. 예를 들어, 복수의 채널은 R(Red) 채널, G(Green) 채널, B(Blue) 채널 및 전술한 채널들을 조합한 결과 생성되는 다른 채널들로 구성될 수 있다. 한편, 이는 일 실시예일 뿐, 히든 레이어는 하나의 채널만을 포함할 수 있다. 또한, 히든 레이어를 구성하는 채널 별로 필터(112, 114, 116)가 포함될 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 장치는 히든 레이어에 포함된 필터(예를 들어, 112)에 특정 부분(예를 들어, 125)에만 유효값을 갖는 마스킹 필터(예를 들어, 120)를 적용함으로써, 필터(예를 들어, 112)의 크기를 조절하는 효과를 얻을 수 있다.
예를 들어, 뉴럴 네트워크 학습 장치는 복수의 가중치 값을 갖는 제 1 필터(112)에 1x1 크기의 부분(125)에 유효값을 갖는 마스킹 필터(120)를 적용시킬 수 있다. 여기에서, 제 1 필터(112)의 크기는 5x5이고, 마스킹 필터(120)에서 1x1 크기의 부분(125)을 제외한 다른 부분은 0의 값을 갖는 것으로 가정한다. 유효값은 0이 아닌 값을 의미한다.
한편, 제 1 필터(112)에 마스킹 필터(125)가 적용됨에 따라, 제 1 필터(112)에서 마스킹 필터(120)의 유효값을 갖는 특정 부분(125)에 대응되는 부분의 가중치 만을 입력 데이터로부터 특성을 추출하는데 이용할 수 있다.
또한, 뉴럴 네트워크 학습 장치는 전술한 바와 같이 제 2 필터(114)에 3x3 크기의 부분(135)에 유효값을 갖는 마스킹 필터(130)를 적용시킴으로써, 제 2 필터(114)에서 마스킹 필터(130)의 유효값을 갖는 특정 부분(135)에 대응되는 부분의 가중치 만을 입력 데이터로부터 특성을 추출하는데 이용할 수 있다.
뉴럴 네트워크 학습 장치는 전술한 바와 같이 제 3 필터(116)에 5x5 크기의 부분(145)에 유효값을 갖는 마스킹 필터(140)를 적용시킴으로써, 제 3 필터(116)에서 마스킹 필터(140)의 유효값을 갖는 특정 부분(145)에 대응되는 부분의 가중치 만을 입력 데이터로부터 특성을 추출하는데 이용할 수 있다.
뉴럴 네트워크 학습 장치는 전술한 복수의 필터(112, 114, 116) 및 복수의 마스킹 필터(120, 130, 140)를 통해 추출한 입력 데이터의 특성(150)을 출력하거나, 이를 다른 히든 레이어의 입력으로 적용함으로써, 학습 네트워크 모델을 학습시킬 수 있다.
한편, 뉴럴 네트워크 학습 장치로부터 획득되는 출력 데이터의 정확도를 높이기 위해서는 입력 데이터의 특징을 추출하기 위한 필터의 크기를 조절할 필요가 있다. 일 실시예에 따른 뉴럴 네트워크 학습 장치는 전술한 바와 같이 마스킹 필터(예를 들어, 120)에서 유효값을 갖는 부분(예를 들어, 125)을 조절함으로써 필터의 크기를 조절하는 효과를 얻을 수 있다.
또한, 출력 데이터의 정확도는 입력 데이터에 대해 획득하고자 하는 타겟 데이터와 학습 네트워크 모델로부터 출력된 출력 데이터의 차이에 관한 정보를 기초로 판단될 수 있다. 일 실시예에 따른 뉴럴 네트워크 학습 장치는 타겟 데이터와 출력 데이터 간의 차이에 관한 정보를 마스킹 필터(예를 들어, 120)에서 유효값을 갖는 부분(예를 들어, 125)의 크기를 변수로 갖는 함수 형태로 생성함에 따라, 타겟 데이터와 출력 데이터 간이 차이를 줄일 수 있는 최적의 크기를 결정할 수 있다. 뉴럴 네트워크 학습 장치는 마스킹 필터(예를 들어, 120)에서 유효값을 갖는 부분(예를 들어, 125)의 최적의 기울기를 결정하기 위해, 그래디언트 디센트(gradient descent) 기법을 사용할 수 있다.
또한, 뉴럴 네트워크 학습 장치는 그래디언트 디센트 기법을 적용하기 위해, 마스킹 필터(예를 들어, 120)에서 유효값을 갖는 부분(예를 들어, 125)의 크기를 마스킹 필터(예를 들어, 120)의 중심으로부터의 거리로서 나타낼 수 있다. 유효값을 갖는 부분(예를 들어, 125)의 크기를 마스킹 필터(예를 들어, 120)의 중심으로부터의 거리로 나타냄에 따라, 타겟 데이터와 출력 데이터 간의 차이에 관한 정보는 연속적인 데이터인 거리를 변수로 갖는 함수 형태로 획득될 수 있다.
도 2는 일 실시예에 따른 뉴럴 네트워크 학습 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 뉴럴 네트워크 학습 장치는 학습 네트워크 모델에 포함된 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터 특정 부분에 유효값을 갖는 마스킹 필터를 이용하여, 특정 부분에 대응되는 필터의 가중치 정보에 따라 입력 데이터의 특징을 추출할 수 있다.
일 실시예에 따른 학습 네트워크 모델은 뉴럴 네트워크를 기반으로 하는 학습 모델로서, 입력 레이어, 적어도 하나의 히든 레이어 및 출력 레이어로 구성될 수 있다. 히든 레이어는 입력 데이터로부터 적어도 하나의 특성을 추출하기 위한 가중치로 구성된 필터를 포함할 수 있다.
또한, 적어도 하나의 히든 레이어는 학습 네트워크의 채널 별로 존재할 수 있다. 여기에서, 채널은 예를 들어, R 채널, G 채널 및 B 채널 등이 포함될 수 있다.
한편, 본 명세서에서 입력 데이터의 특징은, 예를 들어, 입력 데이터가 이미지 형태인 경우 입력 이미지를 구성하는 색상, 엣지(edge), 폴리건(polygon), 채도(saturation), 명도(brightness), 색온도, 블러(blur), 선명도(sharpness) 및 명도비(contrast) 등을 포함할 수 있으나, 입력 이미지의 특성이 이에 한정되는 것은 아니다.
단계 S220에서, 뉴럴 네트워크 학습 장치는 추출된 입력 데이터의 특징을 기초로 학습 네트워크 모델로부터 획득된 출력 데이터와 타겟 데이터를 비교할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 장치는 출력 데이터와 타겟 데이터간의 차이에 관한 정보를 손실 함수(loss function)로 획득할 수 있다. 또한, 여기에서, 손실 함수(loss function)는 학습 네트워크를 구성하는 채널의 수 채널 별 레이어에 할당된 필터의 크기에 관한 함수로 표현될 수 있다. 또한, 필터의 크기란 마스킹 필터에서 유효값을 갖는 부분의 크기를 나타낸다.
단계 S230에서, 뉴럴 네트워크 학습 장치는 출력 데이터와 타겟 데이터의 비교 결과에 기초하여 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 장치는 출력 데이터와 타겟 데이터의 비교 결과에 기초하여 획득한 손실 함수의 값을 줄이는 채널의 수 및 마스킹 필터에서 유효값을 갖는 부분의 크기 중 적어도 하나를 결정할 수 있다. 이 때, 손실 함수의 값을 줄이는 방법의 하나로서 그래디언트 디센트 기법이 사용될 수 있다. 또한, 손실 함수는, 예를 들어, 출력 데이터가 타겟 데이터와 일치되는 확률을 1로 만들고 나머지 확률을 0에 가깝게 만들 수 있도록 하는 목적을 수식으로 표현한 것에 해당할 수 있다.
그래디언트 디센트 기법을 이용하기 위해서는, 손실 함수의 변수가 연속적인 변수여야 한다. 한편, 마스킹 필터에서 유효값을 갖는 부분의 크기는 1x1, 3x3 등으로 연속된 값을 갖지 않을 수 있으므로, 뉴럴 네트워크 학습 장치는 마스킹 필터에서 유효값을 갖는 부분의 크기를 거리로 변환할 수 있다. 이에 대해서는, 도 3을 참조하여 보다 구체적으로 후술하도록 한다.
또한, 뉴럴 네트워크 학습 장치는 마스킹 필터에서 유효값을 갖는 특정 부분의 크기 뿐만 아니라, 출력 데이터와 타겟 데이터 간의 차이를 줄일 수 있도록 필터의 가중치 또한 업데이트 할 수 있다. 이 때, 뉴럴 네트워크 학습 장치는 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 최적화하기 위해, 출력 데이터와 타겟 데이터 간의 차이가 수렴될 수 있도록 필터의 가중치에 대한 조건을 설정할 수 있다. 필터의 가중치에 대한 조건은 포워드 프로퍼게이션(forward propagation) 및 백워드 프로퍼게이션(backward propagation) 각각에 대해, 다음의 수학식 1 및 수학식 2와 같이 나타낼 수 있다.
[수학식 1]
Figure pat00001
[수학식 2]
Figure pat00002
상기의 수학식 1에서,
Figure pat00003
은 가중치를 나타내고,
Figure pat00004
은 유효값을 갖는 특정 부분의 크기에 관한 변수를 나타내며,
Figure pat00005
은 포워드 프로퍼게이션에서의 채널의 수 및
Figure pat00006
은 백워드 프로퍼게이션에서의 채널의 수를 나타낸다.
또한, 뉴럴 네트워크 학습 장치는 레이어 별 가중치가 동적으로 변화함에 따라 가중치의 분산(Variance)이 변경되는 것을 방지하기 위해, 가중치에 유효값을 갖는 특정 부분의 크기에 관한 리스케일링 팩터(rescaling factor)인
Figure pat00007
과 채널 수에 관한 리스케일링 팩터
Figure pat00008
을 곱하여 가중치를 조정할 수 있다. 리스케일링 팩터를 고려한 포워드 프로퍼게이션 및 백워드 프로퍼게이션은 각각 다음의 수학식 3 및 수학식 4와 같이 나타낼 수 있다.
[수학식 3]
Figure pat00009
(
Figure pat00010
[수학식 4]
Figure pat00011
(
Figure pat00012
상기의 수학식 3에서,
Figure pat00013
는 레이어
Figure pat00014
의 입력 벡터,
Figure pat00015
은 레이어
Figure pat00016
의 출력 벡터,
Figure pat00017
은 레이어
Figure pat00018
의 바이어스(bias) 벡터,
Figure pat00019
은 레이어
Figure pat00020
의 가중치 행렬,
Figure pat00021
은 레이어
Figure pat00022
의 필터의 크기(마스킹 필터에서 유효값을 갖는 부분의 크기),
Figure pat00023
은 레이어
Figure pat00024
의 입력 채널의 수 및
Figure pat00025
은 레이어
Figure pat00026
의 출력 채널의 수를 나타낼 수 있다.
전술한 바와 같이, 뉴럴 네트워크 학습 장치는 출력 데이터와 타겟 데이터의 차이값이 수렴하도록 가중치에 조건을 설정함으로써, 최적화된 채널의 수 및 마스킹 필터의 유효값을 갖는 부분의 크기 중 적어도 하나를 결정할 수 있다.
도 3은 일 실시예에 따른 뉴럴 네트워크 학습 장치가 필터(300)에서 유효값을 갖는 특정 부분의 크기를 거리(r)로서 결정하는 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 뉴럴 네트워크 학습 장치는 가중치를 갖는 필터(300)의 크기를 결정하기 위해, 필터(300)의 중심으로부터의 거리를 이용할 수 있다. 여기에서, 필터(300)의 크기를 결정하는 것은, 학습 네트워크 모델에 포함된 필터(300) 자체의 크기를 결정하는 것이 아닌, 필터(300)에 적용되는 마스킹 필터에서 유효값을 갖는 부분의 크기를 결정하는 것을 의미한다.
뉴럴 네트워크 학습 장치는 마스킹 필터에서 유효값을 갖는 부분의 크기를 마스킹 필터의 중심으로부터의 거리에 기초하여 결정함으로써, 도 2를 참조하여 전술한 출력 데이터와 타겟 데이터 간의 차이에 관한 손실 함수가 연속적인 값을 갖는 필터의 중심으로부터의 거리를 변수로 포함하도록 설정할 수 있다. 필터 크기인 k와 중심으로부터의 거리 r은 다음의 수학식 5에 기초하여 그 관계가 결정될 수 있다.
[수학식 5]
Figure pat00027
상기의 수학식 5에서,
Figure pat00028
은 절대값 r의 내림값을 나타낸다. 또한, 상기의 수학식 5에서,
Figure pat00029
는 필터 크기인 k의 정수 부분(integer part)을 나타내고,
Figure pat00030
는 소수 부분을 나타낸다.
또한, 필터의 크기인 k와 중심으로부터의 거리 r에 기초하여, 마? 필터의 크기를 다음의 수학식 6에 따라 나타낼 수 있다.
[수학식 6]
Figure pat00031
상기의 수학식 6에서, a, b는 마스크 행렬의 공간적 위치를 나타내고, k는
Figure pat00032
,
Figure pat00033
Figure pat00034
로 나타낼 수 있다. 또한, 상기 수학식 6에서, s는 스케일링 팩터를 나타낸다.
상기 수학식 6에 기초하여 결정된 마스크를 일 실시예에 따른 가중치 행렬에 곱한 결과, 레이어의 출력 데이터는 다음의 수학식 7에 기초하여 획득될 수 있다.
[수학식 7]
Figure pat00035
=[
Figure pat00036
상기의 수학식 7에서
Figure pat00037
엘리먼트-와이즈 곱셈연산을 나타내고, *는 컨볼루션 오퍼레이터를 나타낸다. 또한, 상기의 수학식 7에서,
Figure pat00038
는 거리와 레이어의 스케일링 팩터에 따라 특정되는 마스크를 나타내고,
Figure pat00039
는 레이어
Figure pat00040
의 입력 벡터,
Figure pat00041
은 레이어
Figure pat00042
의 바이어스(bias) 벡터,
Figure pat00043
은 레이어
Figure pat00044
의 가중치 행렬을 나타낸다.
전술한 수학식 7은 필터의 크기와 채널 수를 결정하는 반지름
Figure pat00045
Figure pat00046
에 따라 각각 미분 가능할 수 있다.
도 4는 일 실시예에 따른 뉴럴 네트워크 학습 장치에서 마스킹 필터를 이용하여, 입력 데이터의 특성을 추출하는데 이용되는 필터의 크기를 결정하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 뉴럴 네트워크 학습 장치는 입력 레이어, 적어도 하나의 히든 레이어 및 출력 레이어로 구성되는 학습 네트워크 모델을 포함할 수 있다. 여기에서, 히든 레이어는 입력 데이터로부터 특징을 추출하기 위한 가중치들로 구성된 필터(예를 들어, 412)를 포함할 수 있다. 또한, 히든 레이어는 복수의 채널로 구성될 수 있다. 또한, 히든 레이어를 구성하는 채널 별로 필터(412, 414, 416)가 포함될 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 장치는 히든 레이어에 포함된 필터(예를 들어, 414)에 특정 부분(예를 들어, 435)에만 유효값을 갖는 마스킹 필터(예를 들어, 430)를 적용함으로써, 필터(예를 들어, 414)의 크기를 조절하는 효과를 얻을 수 있다.
예를 들어, 마스킹 필터(430)에서, 유효값을 갖는 부분(435)은 대응되는 필터(416)의 가중치를 통과시킬 수 있다. 이에 따라, 뉴럴 네트워크 학습 장치는 필터(416)의 크기가 마스킹 필터(430)의 유효값을 갖는 부분(435)의 크기로 변경되는 효과를 획득할 수 있다. 마스킹 필터(430)에서 유효값을 갖는 부분(435)을 제외한 나머지 부분은 0의 값을 가질 수 있다.
또한, 일 실시예에 따른 뉴럴 네트워크는 채널 별로 마스킹 필터에서 유효값을 갖는 부분의 크기를 결정할 수 있다. 또한, 다른 실시예에 따라, 뉴럴 네트워크는 출력 데이터와 타겟 데이터 간의 차이를 최소화하기 위해, 최적화된 채널의 개수 또한 결정할 수 있다. 이러한 경우, 출력 데이터와 타겟 데이터 간의 차이에 관한 정보인 손실 함수의 변수에 채널의 개수가 포함될 수 있다.
도 5는 일 실시예에 따른 뉴럴 네트워크 학습 장치가 마스킹 필터에서 유효값을 갖는 부분의 크기를 결정하는 방법을 설명하기 위한 흐름도이다.
단계 S510에서, 뉴럴 네트워크 학습 장치는 학습 네트워크 모델에 포함된 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터 특정 부분에 유효값을 갖는 마스킹 필터를 이용하여, 특정 부분에 대응되는 필터의 가중치 정보에 따라 입력 데이터의 특징을 추출할 수 있다.
한편, 단계 S510은 도 2를 참조하여 전술한 단계 S210과 대응될 수 있다.
단계 S520에서, 뉴럴 네트워크 학습 장치는 추출된 입력 데이터의 특징을 기초로 학습 네트워크 모델로부터 출력 데이터를 획득할 수 있다.
단계 S530에서, 뉴럴 네트워크 학습 장치는 출력 데이터와 타겟 데이터 간의 차이가 기 설정된 임계값 미만인지 여부를 판단할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 장치는 출력 데이터와 타겟 데이터 간의 차이에 관한 정보를 손실 함수로서 나타낼 수 있다. 여기에서, 손실 함수는 학습 네트워크 모델을 구성하는 채널의 개수, 채널 별 필터의 크기 등에 관한 변수를 가질 수 있다.
뉴럴 네트워크 학습 장치는 그래디언트 디센트 기법을 기반으로 출력 데이터와 타겟 데이터 간의 차이를 줄일 수 있는 채널의 개수 및 채널 별 필터의 크기 등을 결정할 수 있다.
단계 S540에서, 뉴럴 네트워크 학습 장치는 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 장치는 업데이트 이후에 획득되는 출력 데이터와 타겟 데이터를 비교하여 획득한 차이가 기 설정된 임계값 미만이 아닌 경우, 단계 S510 내지 단계 S540의 동작을 반복적으로 수행할 수 있다.
단계 S550에서, 뉴럴 네트워크 학습 장치는 마스킹 필터에서 유효값을 갖는 부분의 최적의 크기를 결정할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 장치는 출력 데이터와 타겟 데이터 간의 차이가 기 설정된 임계값 미만이 되는 경우, 학습 네트워크 모델에 설정된 채널의 수 및 마스킹 필터에서 유효값을 갖는 특정 부분의 크기 등이 최적화된 값으로 설정된 것으로 판단하고, 학습을 종료할 수 있다.
도 6는 일 실시예에 따른 뉴럴 네트워크 학습 장치(600)의 블록도이다.
도 6을 참조하면, 뉴럴 네트워크 학습 장치(600)는 프로세서(610) 및 메모리(620)를 포함할 수 있다.
프로세서(610)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따라 프로세서(610)는 도 1 내지 도 5를 참고하여 전술한 뉴럴 네트워크 학습 장치(600)의 동작을 수행할 수 있다.
예를 들어, 프로세서(610)는 학습 네트워크 모델에 포함된 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터 특정 부분에 유효값을 갖는 마스킹 필터를 이용하여, 특정 부분에 대응되는 필터의 가중치 정보에 따라 입력 데이터의 특징을 추출할 수 있다. 또한, 프로세서(610)는 추출된 입력 데이터의 특징을 기초로 학습 네트워크 모델로부터 획득된 출력 데이터와 타겟 데이터를 비교할 수 있다. 프로세서(610)는 출력 데이터와 타겟 데이터 간의 비교 결과에 기초하여, 마스터 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 할 수 있다.
일 실시예에 따른 프로세서(610)는 그래디언트 디센트 기법에 기초하여, 출력 데이터와 타겟 데이터의 차이가 기 설정된 임계값 미만이 되는 시점까지, 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 하는 동작을 반복적으로 수행할 수 있다.
한편, 출력 데이터와 타겟 데이터 간의 차이에 관한 정보는 필터의 특정 부분의 크기를 변수로 갖는 함수로 구성될 수 있다. 또한, 필터의 특정 부분의 크기는 마스킹 필터의 중심으로부터의 거리에 따라 결정될 수 있다.
일 실시예에 따른 프로세서(610)는 학습 네트워크 모델에 포함된 특정 개수의 채널 각각의 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터 마스킹 필터를 이용하여 입력 데이터의 특징을 추출할 수 있다. 프로세서(610)는 추출된 특징을 기초로 획득된 출력 데이터와 타겟 데이터 간의 비교 결과에 기초하여, 채널의 개수 및 채널 각각에 대한 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 할 수 있다.
한편, 프로세서(610)는 프로세서(610) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(610)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(620)는 프로세서(610)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(610)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다. 일 실시예에 따라 메모리(620)는 도 13을 참고하여 후술할 데이터 학습부 및 데이터 인식부가 소프트웨어 모듈로 구성될 수 있다. 또한, 데이터 학습부 및 데이터 인식부는 각각 독립적으로 학습 네트워크 모델을 포함하거나, 하나의 학습 네트워크 모델을 공유할 수 있다.
도 7은 일 실시예에 따른 프로세서(610)를 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시예에 따른 프로세서(610)는 데이터 학습부(710) 및 데이터 인식부(720)를 포함할 수 있다.
데이터 학습부(710)는 입력 데이터의 특성을 추출하기 위한 기준을 학습할 수 있다. 예를 들어, 데이터 학습부(710)는 입력 이미지로부터 적어도 하나의 특성 정보를 추출하기 위한 기준을 학습시킬 수 있다. 여기에서, 학습된 기준에 따라, 데이터 학습부(710)에 포함된 적어도 하나의 레이어의 가중치가 결정될 수 있다.
데이터 인식부(720)는 데이터 학습부(710)를 통해 학습된 기준에 기초하여, 입력 데이터의 특성 정보를 추출하거나, 추출된 특성 정보를 기초로 출력 데이터를 획득할 수 있다. 예를 들어, 데이터 인식부(720)는 입력 이미지로부터 특성 정보를 추출하거나, 추출된 특성 정보를 기초로 입력 이미지에 포함된 객체의 클래스 인식 결과를 출력 데이터로 획득할 수 있다.
데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(710) 및 데이터 인식부(720)는 하나의 뉴럴 네트워크 학습 장치에 탑재될 수도 있으며, 또는 별개의 뉴럴 네트워크 학습 장치에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(710) 및 데이터 인식부(720) 중 하나는 디바이스에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(710) 및 데이터 인식부(720)는 유선 또는 무선으로 통하여, 데이터 학습부(710)가 구축한 모델 정보를 데이터 인식부(720)로 제공할 수도 있고, 데이터 인식부(720)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(710)로 제공될 수도 있다.
한편, 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
도 8은 일 실시예에 따른 데이터 학습부(710)의 블록도이다.
도 8을 참조하면, 일부 실시예에 따른 데이터 학습부(710)는 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850)를 포함할 수 있다. 다만, 이는 일 실시예일 뿐, 전술한 구성 들 보다 적은 구성 요소로 데이터 학습부(710)가 구성되거나, 전술한 구성들 이외에 다른 구성 요소가 추가적으로 데이터 학습부(710)에 포함될 수 있다.
데이터 획득부(810)는 이미지 등을 입력 데이터로 획득할 수 있다. 일 예로, 데이터 획득부(810)는 데이터 학습부(710)를 포함하는 뉴럴 네트워크 학습 장치 또는 데이터 학습부(710)를 포함하는 뉴럴 네트워크 학습 장치와 통신 가능한 외부의 디바이스 또는 서버로부터 적어도 하나의 이미지를 획득할 수 있다.
또한, 데이터 획득부(810)는 도 1 내지 도 4를 참고하여 전술한 학습 네트워크 모델을 이용하여, 이미지에 포함된 객체의 클래스 인식 결과 등의 출력 데이터를 획득할 수 있다.
한편, 일 실시예에 따른 데이터 획득부(810)에서 획득하는 적어도 하나의 입력 이미지는 클래스에 따라 분류된 이미지 중 하나일 수 있다. 예를 들어, 데이터 획득부(810)는 종 별로 분류된 이미지를 기초로 학습을 수행할 수 있다.
전처리부(820)는 이미지의 특성 정보 추출 또는 이미지 내의 객체의 클래스 인식을 위한 학습에 획득된 이미지가 이용될 수 있도록, 획득된 이미지를 전처리할 수 있다. 전처리부(820)는 후술할 모델 학습부(840)가 학습을 위하여 획득된 적어도 하나의 이미지를 이용할 수 있도록, 획득된 적어도 하나의 이미지를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(830)는 전처리된 데이터 중에서 학습에 필요한 이미지를 선택할 수 있다. 선택된 이미지는 모델 학습부(840)에 제공될 수 있다. 학습 데이터 선택부(830)는 설정된 기준에 따라, 전처리된 이미지 중에서 학습에 필요한 이미지를 선택할 수 있다.
모델 학습부(840)는 학습 네트워크 모델 내의 복수의 레이어에서 이미지로부터 어떠한 정보를 이용하여, 특성 정보를 획득하거나, 이미지 내의 객체를 인식하는지에 대한 기준을 학습할 수 있다. 예를 들어, 모델 학습부(840)는 출력 데이터와 타겟 데이터 간의 차이를 줄이기 위한 필터의 크기 및 채널의 수 등을 학습할 수 있다.
다양한 실시예에 따르면, 모델 학습부(840)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 객체의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(840)는, 예를 들어, 학습에 따라 인식된 클래스가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(840)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(840)는 학습된 데이터 인식 모델을 데이터 획득부(810)를 포함하는 뉴럴 네트워크 학습 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(840)는 학습된 데이터 인식 모델을 뉴럴 네트워크 학습 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 뉴럴 네트워크 학습 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 애플리케이션 프로그래밍 인터페이스(API) 및/또는 애플리케이션 프로그램(또는 "애플리케이션") 등을 포함할 수 있다.
모델 평가부(850)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 추가 학습 데이터의 생성 결과, 소정 기준을 만족하지 못하는 경우, 모델 학습부(840)로 하여금 다시 학습하도록 할 수 있다. 예를 들어, 모델 평가부(850)는 출력 데이터와 타겟 데이터의 차이에 관한 정보를 나타내는 손실 함수를 기초로 판단한 결과, 출력 데이터와 타겟 데이터의 차이가 임계값 이상인 경우, 모델 학습부(840)를 구성하는 채널의 개수 및 필터의 크기 등을 다시 결정할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
한편, 학습 네트워크 모델이 복수 개 존재하는 경우, 모델 평가부(750)는 각각의 학습 네트워크 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 학습 네트워크 모델로서 결정할 수 있다.
한편, 데이터 학습부(710) 내의 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 장치 에 탑재될 수도 있다.
또한, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850)는 하나의 뉴럴 네트워크 학습 장치에 탑재될 수도 있으며, 또는 별개의 뉴럴 네트워크 학습 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 일부는 뉴럴 네트워크 학습 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 9는 일 실시예에 따른 데이터 인식부(720)의 블록도이다.
도 9를 참조하면, 일부 실시예에 따른 데이터 인식부(720)는 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950)를 포함할 수 있다.
데이터 획득부(910)는 적어도 하나의 입력 데이터를 획득할 수 있으며, 전처리부(920)는 입력 데이터의 특성 정보 추출 또는 출력 데이터의 획득을 위해, 적어도 하나의 입력 데이터가 이용될 수 있도록 획득된 입력 데이터를 전처리 할 수 있다. 여기에서, 입력 데이터가 이미지 형태인 경우, 출력 데이터는 이미지에 포함된 객체의 인식 결과 등을 포함할 수 있으나, 이는 일 실시예일 뿐, 출력 데이터가 전술한 예에 한정되는 것은 아니다.
전처리부(920)는 후술할 인식 결과 제공부(940)가 이미지의 특성 정보 추출 또는 이미지 내의 객체의 클래스 인식을 위하여 획득된 이미지를 이용할 수 있도록, 획득된 이미지를 기 설정된 포맷으로 가공할 수 있다. 인식 데이터 선택부(930)는 전처리된 데이터 중에서 특성 추출 또는 클래스 인식에 필요한 이미지를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(840)에게 제공될 수 있다.
인식 결과 제공부(940)는 선택된 데이터를 일 실시예에 따른 학습 네트워크 모델에 적용하여 특성 정보를 추출하거나, 출력 데이터를 획득할 수 있다. 예를 들어, 인식 결과 제공부(940)는 선택된 이미지가 입력된 경우, 이미지 내의 객체를 인식할 수 있다.
인식 결과 제공부(940)는 적어도 하나의 이미지 내에 포함된 객체의 클래스를 인식한 결과를 제공할 수 있다.
모델 갱신부(950)는 인식 결과 제공부(940)에 의해 제공되는 출력 데이터에 대한 평가에 기초하여, 학습 네트워크 모델에 포함된 종분류 네트워크 또는 적어도 하나의 특성 추출 레이어의 파라미터, 필터의 크기, 채널의 개수 등이 갱신되도록 평가에 대한 정보를 도 8을 참고하여 전술한 모델 학습부(840)에게 제공할 수 있다.
한편, 데이터 인식부(720) 내의 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는 인공 지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 장치에 탑재될 수도 있다.
또한, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950)는 하나의 뉴럴 네트워크 학습 장치에 탑재될 수도 있으며, 또는 별개의 뉴럴 네트워크 학습 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 일부는 뉴럴 네트워크 학습 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (11)

  1. 학습 네트워크 모델에 포함된 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터, 특정 부분에 유효값을 갖는 마스킹 필터를 이용하여, 상기 특정 부분에 대응되는 필터의 가중치 정보에 따라 입력 데이터의 특징을 추출하는 단계;
    상기 추출된 입력 데이터의 특징을 기초로 상기 학습 네트워크 모델로부터 획득된 출력 데이터와 타겟 데이터를 비교하는 단계; 및
    상기 비교 결과에 기초하여, 상기 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 하는 단계를 포함하는, 뉴럴 네트워크 학습 방법.
  2. 제 1 항에 있어서,
    그래디언트 디센트(gradient descent) 기법에 기초하여, 상기 출력 데이터와 상기 타겟 데이터의 차이가 기 설정된 임계값 미만이 되는 시점까지, 상기 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 하는 단계를 반복적으로 수행하는, 뉴럴 네트워크 학습 방법.
  3. 제 1 항에 있어서,
    상기 비교 결과 획득된, 상기 출력 데이터와 상기 타겟 데이터의 차이 정보는 상기 필터의 특정 부분의 크기를 변수로 갖는 함수로 구성되는, 뉴럴 네트워크 학습 방법.
  4. 제 1 항에 있어서, 상기 필터의 특정 부분의 크기는,
    상기 마스킹 필터의 중심으로부터의 거리에 따라 결정되는, 뉴럴 네트워크 학습 방법.
  5. 제 1 항에 있어서, 상기 입력 데이터의 특징을 추출하는 단계는,
    상기 학습 네트워크 모델에 포함된 특정 개수의 채널 각각의 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터 상기 마스킹 필터를 이용하여, 상기 입력 데이터의 특징을 추출하고,
    상기 업데이트 하는 단계는,
    상기 비교 결과에 기초하여, 상기 채널의 개수 및 채널 각각에 대한 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 하는, 뉴럴 네트워크 학습 방법.
  6. 하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    학습 네트워크 모델에 포함된 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터, 특정 부분에 유효값을 갖는 마스킹 필터를 이용하여, 상기 특정 부분에 대응되는 필터의 가중치 정보에 따라 입력 데이터의 특징을 추출하고,
    상기 추출된 입력 데이터의 특징을 기초로 상기 학습 네트워크 모델로부터 획득된 출력 데이터와 타겟 데이터를 비교하며,
    상기 비교 결과에 기초하여, 상기 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 하는, 뉴럴 네트워크 학습 장치.
  7. 제 6 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 출력 데이터와 상기 타겟 데이터의 차이가 기 설정된 임계값 미만이 되는 시점까지, 상기 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 반복적으로 업데이트 하는, 뉴럴 네트워크 학습 장치.
  8. 제 6 항에 있어서, 상기 업데이트 하는 단계는,
    상기 비교 결과에 기초하여, 상기 출력 데이터와 상기 타겟 데이터의 차이 정보를 획득하는 단계를 포함하고,
    상기 차이 정보는,
    상기 필터의 특정 부분의 크기를 변수로 갖는 함수로 구성되는, 뉴럴 네트워크 학습 장치.
  9. 제 6 항에 있어서, 상기 필터의 특정 부분의 크기는,
    상기 마스킹 필터의 중심으로부터의 거리에 따라 결정되는, 뉴럴 네트워크 학습 장치.
  10. 제 6 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 학습 네트워크 모델에 포함된 특정 개수의 채널 각각의 적어도 하나의 히든 레이어의 가중치 정보로 구성된 필터로부터 상기 마스킹 필터를 이용하여, 상기 입력 데이터의 특징을 추출하고,
    상기 비교 결과에 기초하여, 상기 채널의 개수 및 채널 각각에 대한 마스킹 필터에서 유효값을 갖는 특정 부분의 크기를 업데이트 하는, 뉴럴 네트워크 학습 장치.
  11. 제 1항 내지 제 5항 중 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020170115464A 2017-09-08 2017-09-08 뉴럴 네트워크 학습 방법 및 장치 KR102532748B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170115464A KR102532748B1 (ko) 2017-09-08 2017-09-08 뉴럴 네트워크 학습 방법 및 장치
US16/645,158 US11586923B2 (en) 2017-09-08 2018-09-06 Neural network learning method and device
PCT/KR2018/010421 WO2019050297A1 (ko) 2017-09-08 2018-09-06 뉴럴 네트워크 학습 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170115464A KR102532748B1 (ko) 2017-09-08 2017-09-08 뉴럴 네트워크 학습 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190028242A true KR20190028242A (ko) 2019-03-18
KR102532748B1 KR102532748B1 (ko) 2023-05-16

Family

ID=65635044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170115464A KR102532748B1 (ko) 2017-09-08 2017-09-08 뉴럴 네트워크 학습 방법 및 장치

Country Status (3)

Country Link
US (1) US11586923B2 (ko)
KR (1) KR102532748B1 (ko)
WO (1) WO2019050297A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210026767A (ko) * 2019-09-02 2021-03-10 한국과학기술원 뉴럴 네트워크를 이용한 플래시 메모리의 읽기 기준 전압 추정 방법 및 그 장치
KR102244380B1 (ko) 2020-07-29 2021-04-26 고려대학교 산학협력단 자율 주행 환경에서 큐잉 기반 모델 선택과 광학 흐름을 이용한 사물 인식 방법, 이를 수행하기 위한 기록 매체 및 장치
KR20220003389A (ko) * 2020-07-01 2022-01-10 주식회사 딥브레인에이아이 신경망 기반의 특징점 학습 장치 및 방법
KR20220010436A (ko) * 2020-07-17 2022-01-25 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 다국어 시멘틱 표현 모델의 훈련 방법, 장치, 전자 기기 및 기록 매체
KR102471661B1 (ko) * 2022-05-30 2022-11-28 주식회사 올릭스글로벌 뉴럴 네트워크를 이용한 수출 컨설턴트 매칭 서버와 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7113674B2 (ja) * 2018-06-15 2022-08-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置及び情報処理方法
KR20200052182A (ko) * 2018-11-06 2020-05-14 한국전자통신연구원 딥러닝 모델 압축 및 압축 해제 방법 그리고 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170023708A (ko) * 2015-08-24 2017-03-06 (주)뉴로컴즈 콘볼루션 신경망 컴퓨팅 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593934B2 (en) * 2006-07-28 2009-09-22 Microsoft Corporation Learning a document ranking using a loss function with a rank pair or a query parameter
WO2015016640A1 (ko) * 2013-08-02 2015-02-05 Ahn Byungik 신경망 컴퓨팅 장치 및 시스템과 그 방법
KR102190484B1 (ko) * 2013-11-11 2020-12-11 삼성전자주식회사 인식기 학습 방법 및 장치, 데이터 인식 방법 및 장치
US10387773B2 (en) 2014-10-27 2019-08-20 Ebay Inc. Hierarchical deep convolutional neural network for image classification
KR102486699B1 (ko) * 2014-12-15 2023-01-11 삼성전자주식회사 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치
US10013652B2 (en) 2015-04-29 2018-07-03 Nuance Communications, Inc. Fast deep neural network feature transformation via optimized memory bandwidth utilization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170023708A (ko) * 2015-08-24 2017-03-06 (주)뉴로컴즈 콘볼루션 신경망 컴퓨팅 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210026767A (ko) * 2019-09-02 2021-03-10 한국과학기술원 뉴럴 네트워크를 이용한 플래시 메모리의 읽기 기준 전압 추정 방법 및 그 장치
KR20220003389A (ko) * 2020-07-01 2022-01-10 주식회사 딥브레인에이아이 신경망 기반의 특징점 학습 장치 및 방법
KR20220010436A (ko) * 2020-07-17 2022-01-25 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 다국어 시멘틱 표현 모델의 훈련 방법, 장치, 전자 기기 및 기록 매체
KR102244380B1 (ko) 2020-07-29 2021-04-26 고려대학교 산학협력단 자율 주행 환경에서 큐잉 기반 모델 선택과 광학 흐름을 이용한 사물 인식 방법, 이를 수행하기 위한 기록 매체 및 장치
KR102471661B1 (ko) * 2022-05-30 2022-11-28 주식회사 올릭스글로벌 뉴럴 네트워크를 이용한 수출 컨설턴트 매칭 서버와 그 방법
KR20220163904A (ko) * 2022-05-30 2022-12-12 주식회사 올릭스글로벌 뉴럴 네트워크를 이용한 수출입 글로벌전문가, 바이어 매칭 서버와 그 방법

Also Published As

Publication number Publication date
US11586923B2 (en) 2023-02-21
US20200285965A1 (en) 2020-09-10
WO2019050297A1 (ko) 2019-03-14
KR102532748B1 (ko) 2023-05-16

Similar Documents

Publication Publication Date Title
KR102400017B1 (ko) 객체를 식별하는 방법 및 디바이스
KR102481885B1 (ko) 클래스 인식을 위한 뉴럴 네트워크 학습 방법 및 디바이스
KR102532748B1 (ko) 뉴럴 네트워크 학습 방법 및 장치
KR102593438B1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
KR102532749B1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
KR102641116B1 (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
KR102535411B1 (ko) 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법
KR102387305B1 (ko) 멀티모달 데이터 학습 방법 및 장치
EP3779888B1 (en) Generating candidate images appropriate for image synthesis with an input image
KR20190034021A (ko) 객체를 인식하는 방법 및 장치
US11681912B2 (en) Neural network training method and device
KR20180055708A (ko) 이미지를 처리하는 전자 장치 및 방법
KR20190029083A (ko) 신경망 학습 방법 및 이를 적용한 장치
KR102293791B1 (ko) 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
CN112749737A (zh) 图像分类方法及装置、电子设备、存储介质
US20220366242A1 (en) Information processing apparatus, information processing method, and storage medium
KR101867586B1 (ko) 영상 처리 장치 및 방법
WO2021130856A1 (ja) 物体識別装置、物体識別方法、学習装置、学習方法、及び、記録媒体
KR101910083B1 (ko) 영상 처리 장치 및 방법
US20230419721A1 (en) Electronic device for improving quality of image and method for improving quality of image by using same
US20240153262A1 (en) Device for managing a visual saliency model and control method thereof
KR20210096367A (ko) 제품의 개발을 보조하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
CN116976401A (zh) 模型训练方法、装置、设备、存储介质及程序产品
CN116978080A (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