KR20180022288A - 부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치 - Google Patents

부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치 Download PDF

Info

Publication number
KR20180022288A
KR20180022288A KR1020160107525A KR20160107525A KR20180022288A KR 20180022288 A KR20180022288 A KR 20180022288A KR 1020160107525 A KR1020160107525 A KR 1020160107525A KR 20160107525 A KR20160107525 A KR 20160107525A KR 20180022288 A KR20180022288 A KR 20180022288A
Authority
KR
South Korea
Prior art keywords
neural network
learning
clusters
weights
error value
Prior art date
Application number
KR1020160107525A
Other languages
English (en)
Other versions
KR101887267B1 (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 KR1020160107525A priority Critical patent/KR101887267B1/ko
Publication of KR20180022288A publication Critical patent/KR20180022288A/ko
Application granted granted Critical
Publication of KR101887267B1 publication Critical patent/KR101887267B1/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

Abstract

부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치가 개시된다. 본 발명의 일 실시예에 따른 신경망 학습 방법은 입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 단계; 상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 단계; 상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계; 및 상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계를 포함한다.

Description

부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치 {Neural Networks Training Method Using Subnetwork Training algorithms for multi-class prediction neural networks on high level image recognition}
본 발명은 영상인식 기능이 구비된 신경망 학습 기술에 관한 것으로, 보다 상세하게는 신경망 예를 들어, 회선 신경망(CNN: Convolutional Neural Network)이 영상데이터를 입력 받아 다차원 인식을 수행하여 고차원의 인지기능을 가짐으로써, 다차원 정보를 추출할 수 있는 신경망 학습 방법 및 장치에 관한 것이다.
문자 인식 및 이미지 인식과 같은, 컴퓨터에 관한 특정한 문제는 기계-학습 기술(machine-learning techniques)에 의하여 잘 처리될 수 있음이 알려져 있다. 이러한 기술 중에서 가장 주된 것은 신경망(Neural Networks)을 사용하는 것이다. 신경망은 상호 접속된 뉴런(interconnected "neurons")이란 발상에 기반한 알고리즘의 한 분류이다.
일반적인 신경망에서 뉴런은 데이터 값을 포함하는데, 접속별로 사전 정의된 강도(pre-defiend strength) 및, 각 특정 뉴런에 대한 접속들의 합산이 사전 정의된 문턱값을 넘는지 여부와 같이 접속에 따라 각 데이터 값이 접속된 뉴런의 값에 영향을 미친다. 적절한 접속 강도 및 문턱값을 결정("트레이닝"이라고도 부르는 절차)함으로써, 신경망은 효과적으로 이미지 및 문자를 인식할 수 있다. 그룹 사이의 접속을 보다 명확히 하고, 값의 각 연산에 대한 것으로 만들기 위하여, 뉴런은 주로 "층(layer)"으로 그룹화된다.
회선 신경망의 학습 시간은 많은 시간과 계산량을 필요로 하며 최근 GPGPU(General Purpose Graphic Processing Unit) 사용을 통해 계산량을 병렬화하여 학습시간을 단축시킬 수 있지만 최근 기계학습의 경향인 빅데이터 학습과 더불어 여러 출력 정보(output data: input data를 분석한 정보)를 학습하기엔 턱없이 부족하다. 한 영상 데이터로부터 다차원의 정보를 추출하기 위해서는 다수의 신경망이 필요로 하며, 이들을 학습시킬 때 필요로 하는 시간은 신경망 개수에 비례하게 된다.
따라서, 회선 신경망의 물체 인지기능 및 물체의 다차원 정보를 빠르게 학습 할 수 있는 방법의 필요성이 대두된다.
본 발명의 실시예들은, 부분구조 학습기법과 영상데이터를 이용하여 회선 신경망의 물체 인지기능 및 물체의 다차원 정보를 빠르게 학습 할 수 있는 신경망 학습 방법 및 장치를 제공한다.
본 발명의 실시예들은, 학습에 필요한 회선 신경망의 연산량을 줄여 학습 속도를 향상시키고, 다차원 영상 정보를 인식할 수 있는 신경망 학습 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따른 신경망 학습 방법은 입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 단계; 상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 단계; 상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계; 및 상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계를 포함한다.
상기 업데이트하는 단계는 상기 나누어진 클러스터들 각각에 포함된 가중치들을 상기 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트할 수 있다.
상기 업데이트하는 단계는 상기 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하고, 상기 학습 에러 값이 기준 에러 값 이상인 경우 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.
상기 업데이트하는 단계는 기울기 강하 기법을 이용하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.
상기 신경망 출력 값을 연산하는 단계는 회선 신경망(CNN: Convolutional Neural Network)을 구성하는 가중치들에 기초하여 상기 다차원 정보 각각에 대한 신경망 출력 값을 연산할 수 있다.
본 발명의 다른 일 실시예에 따른 신경망 학습 방법은 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계; 상기 복수의 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계; 및 입력 학습 데이터에 대하여, 상기 복수의 클러스터들 각각에 대한 학습을 통해 상기 신경망을 학습하는 단계를 포함한다.
본 발명의 일 실시예에 따른 신경망 학습 장치는 입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 신경망 연산부; 상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 에러 계산부; 및 상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누고, 상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 가중치 제어부를 포함한다.
상기 가중치 제어부는 상기 나누어진 클러스터들 각각에 포함된 가중치들을 상기 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트할 수 있다.
상기 가중치 제어부는 상기 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하고, 상기 학습 에러 값이 기준 에러 값 이상인 경우 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.
상기 가중치 제어부는 기울기 강하 기법을 이용하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.
상기 신경망 연산부는 회선 신경망(CNN: Convolutional Neural Network)을 구성하는 가중치들에 기초하여 상기 다차원 정보 각각에 대한 신경망 출력 값을 연산할 수 있다.
본 발명의 실시예들에 따르면, 부분구조 학습기법과 영상데이터를 이용하여 회선 신경망의 물체 인지기능 및 물체의 다차원 정보를 빠르게 학습 할 수 있으며, 학습에 필요한 회선 신경망의 연산량을 줄여 학습 속도를 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따르면, 생물학적 학습 기법(Biologically plausible-neighbor 클러스터) 기법과 뇌인지를 모방한 기법을 복합적으로 사용하여 다차원 정보를 추출할 수 있으며, 지능 시스템에 적용하는 경우 작업의 정확도를 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따르면, 지능형 로봇에 적용할 수 있으며, 지능형 로봇에 적용하는 경우 지능형 로봇의 난관점인 비전 인식 문제 뿐만 아니라 로봇이 해결해야 할 작업의 정확성을 극대화시킬 수도 있다.
도 1은 본 발명의 일 실시예에 따른 신경망 학습 방법에 대한 동작 흐름도를 나타낸 것이다.
도 2는 다차원 정보를 추출하는 신경망에서 클러스터를 이용한 부분 학습을 설명하기 위한 예시도를 나타낸 것이다.
도 3은 본 발명에서의 이웃 클러스터를 설명하기 위한 예시도를 나타낸 것이다.
도 4는 학습 데이터에 대한 예들을 나타낸 것이다
도 5는 본 발명에 따른 방법에 의한 학습 에러에 대한 예시도를 나타낸 것이다.
도 6은 기존 학습 방법과 본 발명의 학습 방법에 대한 학습 시간을 비교한 예시도를 나타낸 것이다.
도 7은 본 발명의 일 실시예에 따른 신경망 학습 장치에 대한 구성을 나타낸 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 발명의 실시예들은, 부분구조 학습기법과 영상데이터를 이용하여 회선 신경망의 물체 인지기능 및 물체의 다차원 정보를 빠르게 학습하는 것을 그 요지로 한다.
여기서, 본 발명은 생물학적 학습 기법(Biologically plausible-neighbor 클러스터) 기법과 뇌인지를 모방한 기법을 복합적으로 사용하여 다차원 정보를 추출할 수 있다.
본 발명에 따른 학습 방법 및 장치는 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누고, 나누어진 클러스터들 각각에 포함된 가중치들을 클러스터들 각각에 대하여 순차적으로 업데이트함으로써, 가중치를 업데이트하는데 걸리는 연산량을 줄이고, 이를 통해 학습 속도를 향상시킬 수 있다.
학습 과정에서는, k 번째 RGB카메라 픽셀 자료
Figure pat00001
와 그에 대응되는 클래스 벡터
Figure pat00002
, k번째 자료의 q 번째 값은 1 나머지는 0인 벡터를 하나의 학습자료로 설정하고 여러 개의 인스턴스(
Figure pat00003
)를 가지는 학습데이터베이스를 사용한다.
클래스 벡터는 멀티플 원-핫 인코딩(multiple one-hot encoding) 기법을 기반으로 한다. 예를 들어,
Figure pat00004
은 DB의 3번째 학습자료는 1번째 라벨에서 1번째 물체 종류 및 2번째 라벨에서 2번째 물체 종류에 포함된다는 것을 의미할 수 있다.
물체 종류 및 클래스 벡터 예컨대, 학습에 사용되는 감독벡터(supervised label, target vector)는 사용자에 의해 설정될 수 있으며, 예를 들어, 입력RGB영상이 자동차와 비행기의 두 물체종류를 구별하고 싶을 때 다음과 같이 설정할 수 있다.
예를 들어,
Figure pat00005
의 경우 5번째 학습자료는 자동차를 의미할 수 있고,
Figure pat00006
의 경우 10번째 학습자료는 비행기를 의미할 수 있다.
이러한 두 물체는 기계에 속하므로 기계라는 것을 표현하기 위하여 다음과 같이 설정할 수 있다.
예를 들어,
Figure pat00007
의 경우 5번째 학습자료는 기계를 의미할 수 있고,
Figure pat00008
의 경우 10번째 학습자료는 기계를 의미할 수 있다.
본 발명의 방법과 장치는 신경망의 출력 값을 연산하는 과정, 학습 에러 값을 계산하는 과정 및 가중치를 제어하는 과정을 포함할 수 있으며, 이러한 본 발명에 따른 방법과 장치에 대해 도 1 내지 도 7을 참조하여 설명하면 다음과 같다.
도 1은 본 발명의 일 실시예에 따른 신경망 학습 방법에 대한 동작 흐름도를 나타낸 것이다.
도 1을 참조하면, 본 발명의 실시예에 따른 신경망 학습 방법은 신경망 예를 들어, 회선 신경망을 구성하는 가중치들을 초기화시키고, 학습하고자 하는 학습 데이터 예를 들어, 학습 영상을 입력한다(S110, S120).
여기서, 신경망을 구성하는 가중치들은 신경망을 구성하는 레이어들 예를 들어, 입력 레이어, 히든 레이어, 출력 레이어 등의 레이어들 간을 연결하는 가중치로, 단계 S110은 이러한 가중치들을 미리 결정된 값으로 초기화시키는 것이며, 단계 S120에서 입력되는 학습 데이터는 도 4에 도시된 일 예와 같이, 비행기, 자동차, 배 등 다양한 종류의 영상 데이터가 될 수 있다. 물론, 본 발명에서 입력되는 학습 데이터는 도 4에 도시된 입력 영상으로 한정되지 않으며, 학습하고자 하는 모든 종류의 영상을 포함할 수 있다.
그리고, 도 4의 입력 학습 영상으로부터 학습하고자 하는 학습 라벨은 영상에 포함된 오브젝트의 종류와 그 사용 목적 예를 들어, 비행기의 경우 민간용이냐 군용 등으로 학습되고, 자동차의 경우 민간용, 군용, 화물용 등으로 학습되며, 배의 경우 화물용, 민간용, 군용 등으로 학습될 수 있다 즉, 학습 데이터로부터 다차원 정보를 포함하는 학습 레벨을 학습하고자 하는 것이다.
단계 S120을 통해 입력 학습 데이터가 수신되면 신경망에 대한 피드포워드 연산 과정, 학습 에러 값을 계산하는 과정 그리고, 신경망을 구성하는 가중치들을 복수의 클러스터들로 분할 또는 나누고 나눠진 클러스터들 각각에 대해 순차적으로 가중치를 업데이트하는 과정을 통해 신경망을 학습한다(S130 내지 S160).
여기서, 단계 S120 내지 S160은 계산된 학습 에러 값이 미리 정의된 기준 에러 값보다 작은 경우까지 반복 수행될 수 있다.
이하, 단계 S130 내지 S160에 대해 설명하면 다음과 같다.
신경망에 대한 피드포워드 연산 과정(S130)에 대해 설명하면, 해당 과정은 입력된 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 과정이다.
카메라 장치로부터 입력 받은 RGB영상 I(혹은 HSV 및 CMKY의 칼라 스페이스)로부터 l 번째 회선 계층은 아래 <수학식 1>과 같이 계산될 수 있다.
[수학식 1]
Figure pat00009
여기서, f 는 신경망 활성화 함수를 의미하고,
Figure pat00010
Figure pat00011
은 l-1번째 계층의 m번째 특징맵과 l 번째 계층의 n 번째 특징맵을 연결하는 회선 가중치 행렬을 의미하며,
Figure pat00012
은 n 번째 계층의 l번째 바이어스를 의미할 수 있다.
l 계층의 서브샘플링 계층의 계산은 회선 계층의 출력 값을 이용하여 아래 <수학식 2>와 같이 계산될 수 있다.
[수학식 2]
Figure pat00013
여기서,
Figure pat00014
를 의미하고, i와 j는 회선 계층의 픽셀의 인덱스를 의미하며,
Figure pat00015
Figure pat00016
은 인덱스와 연결된 가중치와 바이어스를 각각 의미할 수 있다.
회선 신경망의 가장 마지막층의 출력 값은 아래 <수학식 3>과 같이 계산될 수 있다.
[수학식 3]
Figure pat00017
여기서,
Figure pat00018
Figure pat00019
는 각각 가중치와 바이어스를 의미하고,
Figure pat00020
는 서브 샘플링 계층 계산으로부터 획득되는 값을 의미할 수 있다.
가장 마지막층의 서브 샘플링 계층의 유닛 예컨대, 신경망 노드는 완전 연결(fully connected)되어 있다. 회선 신경망의 출력층의 활성화 함수는
Figure pat00021
또는
Figure pat00022
를 가질 수 있고, C는 영상을 분류하고자 하는 클래스의 개수 즉, 출력 노드의 개수를 의미한다.
학습 에러 값을 계산하는 과정(S140)에 대해 설명하면, 해당 과정(S140)은 단계 S130에 의해 연산된 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 과정으로, 어느 정도의 가중치를 업데이트시킬 것인지 계산하는 단계일 수 있다.
즉, 학습 에러 값을 계산하는 과정(S140)은 어느 정도의 가중치를 업데이트시킬 것인지를 계산하는 구성으로, 목적 함수의 값을 계산하며, 목적 함수는 아래 <수학식 4>와 같이 정의될 수 있다.
[수학식 4]
Figure pat00023
여기서, Q는 다차원 클래스의 개수를 의미하고,
Figure pat00024
는 q 번째 클래스 라벨의 k 번째 자료의 목적 벡터의 j 번째 값을 의미하며,
Figure pat00025
은 신경망의 출력 노드의 활성화 값을 의미하는 것으로, k 번째 자료를 신경망에 입력했을 때의 값을 의미할 수 있고, k는
Figure pat00026
일 수 있으며, N은 학습 자료의 개수일 수 있고, j는
Figure pat00027
일 수 있으며, C는 영상을 분류하고자 하는 클래스의 개수일 수 있다.
띠라서, 신경망의 출력 노드의 활성화 값은 아래 <수학식 5>와 같이 계산될 수 있다.
[수학식 5]
Figure pat00028
신경망을 구성하는 가중치들을 복수의 클러스터들로 분할 또는 나누고 나눠진 클러스터들 각각에 대해 순차적으로 가중치를 업데이트하는 과정(S150 내지 S160)을 설명하면, 단계 S150은 미리 결정된 기준 또는 규칙에 기초하여 신경망을 구성하는 가중치들을 복수의 클러스터들로 분할하고, 단계 S160은 단계 S150에 의해 분할된 클러스터들 각각에 대하여 클러스터들 각각에 포함된 가중치들을 업데이트하는 과정일 수 있다.
예를 들어, 단계 S150은 가중치들을 10 ~ 20% 단위로 가중치들을 클러스터로 나눌 수 있다.
이러한 단계 S150 내지 S160에 대해 설명하면, 가중치
Figure pat00029
의 학습 규칙은 상기 수학식 4의 목적 함수를 최소화시키며, 가중치 업데이트는 아래 <수학식 6>과 같은 기울기 강하 기법을 사용할 수 있다.
[수학식 6]
Figure pat00030
여기서,
Figure pat00031
는 학습 계수를 의미하는 것으로, 0과 1 사이의 값을 가지며 사용자의 실험 결과에 따른 변수일 수 있으며,
Figure pat00032
은 아래 <수학식 7>과 같이 계산될 수 있다.
[수학식 7]
Figure pat00033
또한, 단계 S150은 이웃 클러스터(neighbor cluster)를 정의하고, 정의된 이웃 클러스터 내의 신경망 가중치만을 업데이트할 수 있다.
여기서, 이웃 클러스터에서 가중치가 업데이트되는 부분은 상위 계층의 노드와 연결된 하위 계층의 인접노드들이며 각 학습epoch당 다른 상위 계층의 노드와 그와 연결된 하위계층의 인접노드들이 이웃 클러스터 안에서 선택될 수 있다.
일 예로, 도 3a에 도시된 입력데이터와 회선가중치 간의 이웃 클러스터는 회선 계층의 유니트와 연결된 입력데이터 유니트 간의 이웃 클러스터를 나타낸 것으로, 굵은선과 가는선은 연결 가중치를 나타내고, 굵은선은 이웃 클러스터에서 가중치가 업데이트되는 부분을 의미한다.
다른 일 예로, 도3b는 서브샘플링 계층과 출력층 계층 간의 이웃 클러스터를 나타낸 것으로, 마찬가지로 에 도시된 굵은선과 가는선은 연결 가중치를 나타내고, 굵은선은 이웃 클러스터에서 가중치가 업데이트되는 부분을 의미한다.
이러한 본 발명은 도 2a에 도시된 바와 같이, 신경망 학습을 통해 다차원 정보 예를 들어, first classification label, second classification label, third classification label를 인식하기 위한 것으로, 굵은 선에 해당하는 클러스터의 학습을 통해 이루어질 수 있다.
이 때, 다차원 정보 예를 들어, first classification label, second classification label, third classification label은 도 2b에 도시된 바와 같이, Alice 또는 Bob에 대한 identification, smile 또는 sod 또는 happy에 대한 facial expression, man 또는 woman에 대한 gender 등을 포함할 수 있으며, 이러한 다차원 정보가 클러스터(도 2b의 굵은 선 부분)를 이용한 부분적인 학습을 통해 인식될 수 있다.
이와 같이, 본 발명에 따른 신경망 학습 방법은 클러스터를 이용하여 영상 데이터의 관련 부분의 부분 가중치만을 학습함으로써, 원하는 다차원 정보를 추출하고 인식할 수 있으며, 복수로 분할된 클러스터들 각각의 가중치들을 클러스터들 각각에 대해 순차적으로 업데이트하기 때문에 학습에 필요한 신경망의 연산량을 줄여 학습 속도를 향상시킬 수 있다.
이러한 본 발명에 따른 방법은 도 5의 epoch에 따른 학습 에러에 도시된 바와 같이, 에러 평균 값(MSE)(파란선)과 에러 분산 값(오렌지선)이 epoch에 따라 감소하는 것을 알 수 있다. 여기서, 도 5는 회선 신경망 구조에서의 epoch에 따른 학습 에러를 도시한 것이다.
또한, 본 발명에 따른 방법은 아래 표 1에서 알 수 있듯이, 기존의 역전달(backpropagation) 기법과 비교하면 다양한 데이터 셋 예를 들어, MNIST, small NORB, cifar-10의 데이터 셋 각각에 대하여 비슷한 정확도를 가지는 것을 알 수 있다.
Figure pat00034
또한, 본 발명에 따른 방법은 기존 학습 방법과 본 발명의 학습 방법에 대한 학습 시간을 비교한 도 7을 통해 알 수 있듯이, 3개의 영상 데이터 셋인 MNIST, small NORB, cifar-10에 대한 학습 시간이 기존의 역전달(backpropagation) 기법에 비하여 많이 감소한 것을 알 수 있으며, 기존 역전달 기법에 비해 학습 속도가 25 ~ 30[%] 증가한 것을 알 수 있다.
이와 같이, 본 발명의 부분 학습을 통해서도 기존 학습 방법과 비슷한 정확도를 가지면서 신경망의 연산량을 줄여 학습 시간을 감소시킴으로써, 학습 정확도를 유지하면서 학습 속도를 향상시킬 수 있다.
도 7은 본 발명의 일 실시예에 따른 신경망 학습 장치에 대한 구성을 나타낸 것으로, 상술한 도 1 내지 도 6의 동작을 수행하는 장치에 대한 구성을 나타낸 것이다.
도 7을 참조하면, 본 발명의 실시예에 따른 신경망 학습 장치(700)는 신경망 연산부(710), 에러 계산부(720) 및 가중치 제어부(730)를 포함한다.
신경망 연산부(710)는 입력 학습 데이터가 수신되면 입력된 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산한다.
이 때, 신경망 연산부(710)는 회선 신경망(CNN)을 구성하는 가중치들을 초기화시킨 후 입력된 학습 데이터에 대하여, CNN을 구성하는 가중치들을 이용하여 다차원 정보 각각에 대한 신경망 출력 값을 연산할 수 있다.
에러 계산부(720)는 연산된 신경망 출력 값에 기초하여 학습 에러 값을 계산한다.
여기서, 에러 계산부(720)는 어느 정도의 가중치를 업데이트시킬 것인지를 계산하는 구성 수단으로, 상술한 수학식 4의 목적 함수 값을 계산할 수 있다.
가중치 제어부(730)는 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누고, 계산된 학습 에러 값에 기초하여 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트한다.
이 때, 가중치 제어부(730)는 나누어진 클러스터들 각각에 포함된 가중치들을 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트할 수 있으며, 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하여 학습 에러 값이 기준 에러 값 이상인 경우 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.
이러한 가중치 제어부(730)는 기울기 강하 기법을 이용하여 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다. 물론, 가중치 제어부(730)는 기울기 강하 기법으로 가중치를 업데이트하는 것만으로 한정하지 않으며, 신경망을 구성하는 가중치들을 업데이트하는 다양한 방법을 적용할 수 있다.
비록, 도 7에서 설명하지 않았더라도, 도 7의 장치는 상술한 도 1 내지 도 6의 동작을 모두 수행할 수 있으며, 도 1 내지 도 6의 내용을 모두 포함할 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (11)

  1. 입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 단계;
    상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 단계;
    상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계; 및
    상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계
    를 포함하는 신경망 학습 방법.
  2. 제1항에 있어서,
    상기 업데이트하는 단계는
    상기 나누어진 클러스터들 각각에 포함된 가중치들을 상기 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트하는 것을 특징으로 하는 신경망 학습 방법.
  3. 제1항에 있어서,
    상기 업데이트하는 단계는
    상기 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하고, 상기 학습 에러 값이 기준 에러 값 이상인 경우 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 것을 특징으로 하는 신경망 학습 방법.
  4. 제1항에 있어서,
    상기 업데이트하는 단계는
    기울기 강하 기법을 이용하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 것을 특징으로 하는 신경망 학습 방법.
  5. 제1항에 있어서,
    상기 신경망 출력 값을 연산하는 단계는
    회선 신경망(CNN: Convolutional Neural Network)을 구성하는 가중치들에 기초하여 상기 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 것을 특징으로 하는 신경망 학습 방법.
  6. 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계;
    상기 복수의 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계; 및
    입력 학습 데이터에 대하여, 상기 복수의 클러스터들 각각에 대한 학습을 통해 상기 신경망을 학습하는 단계
    를 포함하는 신경망 학습 방법.
  7. 입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 신경망 연산부;
    상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 에러 계산부; 및
    상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누고, 상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 가중치 제어부
    를 포함하는 신경망 학습 장치.
  8. 제7항에 있어서,
    상기 가중치 제어부는
    상기 나누어진 클러스터들 각각에 포함된 가중치들을 상기 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트하는 것을 특징으로 하는 신경망 학습 장치.
  9. 제7항에 있어서,
    상기 가중치 제어부는
    상기 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하고, 상기 학습 에러 값이 기준 에러 값 이상인 경우 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 것을 특징으로 하는 신경망 학습 장치.
  10. 제7항에 있어서,
    상기 가중치 제어부는
    기울기 강하 기법을 이용하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 것을 특징으로 하는 신경망 학습 장치.
  11. 제7항에 있어서,
    상기 신경망 연산부는
    회선 신경망(CNN: Convolutional Neural Network)을 구성하는 가중치들에 기초하여 상기 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 것을 특징으로 하는 신경망 학습 장치.
KR1020160107525A 2016-08-24 2016-08-24 부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치 KR101887267B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160107525A KR101887267B1 (ko) 2016-08-24 2016-08-24 부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160107525A KR101887267B1 (ko) 2016-08-24 2016-08-24 부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180022288A true KR20180022288A (ko) 2018-03-06
KR101887267B1 KR101887267B1 (ko) 2018-08-09

Family

ID=61727114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160107525A KR101887267B1 (ko) 2016-08-24 2016-08-24 부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101887267B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002891A (zh) * 2018-03-15 2018-12-14 小蚁科技(香港)有限公司 神经网络的基于特征的选择性控制
KR102038390B1 (ko) 2018-07-02 2019-10-31 한양대학교 산학협력단 고효율 병렬 처리를 위한 인공 신경망 모듈 및 이의 스케쥴링 방법
WO2020071618A1 (ko) * 2018-10-02 2020-04-09 인하대학교 산학협력단 엔트로피 기반 신경망 부분학습 방법 및 시스템
CN111753596A (zh) * 2019-03-29 2020-10-09 商汤集团有限公司 神经网络的训练方法及装置、电子设备和存储介质
KR20220064336A (ko) * 2020-11-11 2022-05-18 딥큐브 엘티디. 클러스터 연결 신경망
US11823056B2 (en) 2019-10-28 2023-11-21 Lunit Inc. Method for training neural network and device thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479570A (en) * 1992-10-06 1995-12-26 Matsushita Electric Industrial Co., Ltd. Learning and recognition machine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479570A (en) * 1992-10-06 1995-12-26 Matsushita Electric Industrial Co., Ltd. Learning and recognition machine

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Vallet, Alexis, and Hiroyasu Sakamoto. "A multi-label convolutional neural network for automatic image annotation." Journal of information processing 23.6, 2015.* *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002891A (zh) * 2018-03-15 2018-12-14 小蚁科技(香港)有限公司 神经网络的基于特征的选择性控制
KR102038390B1 (ko) 2018-07-02 2019-10-31 한양대학교 산학협력단 고효율 병렬 처리를 위한 인공 신경망 모듈 및 이의 스케쥴링 방법
WO2020071618A1 (ko) * 2018-10-02 2020-04-09 인하대학교 산학협력단 엔트로피 기반 신경망 부분학습 방법 및 시스템
CN111753596A (zh) * 2019-03-29 2020-10-09 商汤集团有限公司 神经网络的训练方法及装置、电子设备和存储介质
US11823056B2 (en) 2019-10-28 2023-11-21 Lunit Inc. Method for training neural network and device thereof
KR20220064336A (ko) * 2020-11-11 2022-05-18 딥큐브 엘티디. 클러스터 연결 신경망

Also Published As

Publication number Publication date
KR101887267B1 (ko) 2018-08-09

Similar Documents

Publication Publication Date Title
KR101887267B1 (ko) 부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치
US20200143248A1 (en) Machine learning model training method and device, and expression image classification method and device
US9830709B2 (en) Video analysis with convolutional attention recurrent neural networks
US10460230B2 (en) Reducing computations in a neural network
CN107292352B (zh) 基于卷积神经网络的图像分类方法和装置
Roth et al. Multidimensional density shaping by sigmoids
CN107924491A (zh) 未知类别的检测和用于未知类别的分类器的初始化
US20210012178A1 (en) Systems, methods, and devices for early-exit from convolution
CN110991513B (zh) 一种具有类人连续学习能力的图像目标识别系统及方法
WO2022193497A1 (en) Method and system for graph-based panoptic segmentation
US11568212B2 (en) Techniques for understanding how trained neural networks operate
US11113597B2 (en) Artificial neural network and method of training an artificial neural network with epigenetic neurogenesis
CN110298394B (zh) 一种图像识别方法和相关装置
US11423287B2 (en) Computer for spiking neural network with maximum aggregation
KR102036968B1 (ko) 전문화에 기반한 신뢰성 높은 딥러닝 앙상블 방법 및 장치
CN113825978B (zh) 用于定义路径的方法和设备、存储装置
CN109242106B (zh) 样本处理方法、装置、设备和存储介质
CN114078195A (zh) 分类模型的训练方法、超参数的搜索方法以及装置
CN114358197A (zh) 分类模型的训练方法及装置、电子设备、存储介质
CN114511042A (zh) 一种模型的训练方法、装置、存储介质及电子装置
CN112308145A (zh) 一种分类网络训练方法、分类方法、装置以及电子设备
US20230004816A1 (en) Method of optimizing neural network model and neural network model processing system performing the same
CN117034090A (zh) 模型参数调整、模型应用方法、装置、设备及介质
KR102234917B1 (ko) 신경망 학습을 통한 데이터 처리 장치, 신경망 학습을 통한 데이터 처리 방법, 및 동일 방법을 기록한 기록 매체
US20220383073A1 (en) Domain adaptation using domain-adversarial learning in synthetic data systems and applications

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