KR101887267B1 - Neural Networks Training Method Using Subnetwork Training algorithms for multi-class prediction neural networks on high level image recognition - Google Patents

Neural Networks Training Method Using Subnetwork Training algorithms for multi-class prediction neural networks on high level image recognition Download PDF

Info

Publication number
KR101887267B1
KR101887267B1 KR1020160107525A KR20160107525A KR101887267B1 KR 101887267 B1 KR101887267 B1 KR 101887267B1 KR 1020160107525 A KR1020160107525 A KR 1020160107525A KR 20160107525 A KR20160107525 A KR 20160107525A KR 101887267 B1 KR101887267 B1 KR 101887267B1
Authority
KR
South Korea
Prior art keywords
neural network
learning
clusters
weights
error value
Prior art date
Application number
KR1020160107525A
Other languages
Korean (ko)
Other versions
KR20180022288A (en
Inventor
조성호
박정국
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020160107525A priority Critical patent/KR101887267B1/en
Publication of KR20180022288A publication Critical patent/KR20180022288A/en
Application granted granted Critical
Publication of KR101887267B1 publication Critical patent/KR101887267B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Abstract

부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치가 개시된다. 본 발명의 일 실시예에 따른 신경망 학습 방법은 입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 단계; 상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 단계; 상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계; 및 상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계를 포함한다.A partial structure learning technique and a neural network learning method and apparatus using image data are disclosed. The neural network learning method according to an embodiment of the present invention includes: calculating neural network output values for each of multi-dimensional information set in advance based on weights constituting a neural network, with respect to input learning data; Calculating a learning error value based on the neural network output value; Dividing the weights constituting the neural network into a plurality of clusters; And updating the weights included in each of the divided clusters based on the calculated learning error value.

Description

부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치 {Neural Networks Training Method Using Subnetwork Training algorithms for multi-class prediction neural networks on high level image recognition}[0001] The present invention relates to a neural network learning method and a neural network learning method and apparatus using image data,

본 발명은 영상인식 기능이 구비된 신경망 학습 기술에 관한 것으로, 보다 상세하게는 신경망 예를 들어, 회선 신경망(CNN: Convolutional Neural Network)이 영상데이터를 입력 받아 다차원 인식을 수행하여 고차원의 인지기능을 가짐으로써, 다차원 정보를 추출할 수 있는 신경망 학습 방법 및 장치에 관한 것이다.The present invention relates to a neural network learning technique equipped with an image recognition function, and more particularly, to a neural network learning technique in which a neural network, for example, a CNN (Convolutional Neural Network) receives image data and performs multidimensional recognition, And to a neural network learning method and apparatus capable of extracting multi-dimensional information.

문자 인식 및 이미지 인식과 같은, 컴퓨터에 관한 특정한 문제는 기계-학습 기술(machine-learning techniques)에 의하여 잘 처리될 수 있음이 알려져 있다. 이러한 기술 중에서 가장 주된 것은 신경망(Neural Networks)을 사용하는 것이다. 신경망은 상호 접속된 뉴런(interconnected "neurons")이란 발상에 기반한 알고리즘의 한 분류이다.It is known that certain problems with computers, such as character recognition and image recognition, can be handled well by machine-learning techniques. The most important of these techniques is the use of neural networks. Neural networks are a class of algorithms based on the idea of interconnected "neurons".

일반적인 신경망에서 뉴런은 데이터 값을 포함하는데, 접속별로 사전 정의된 강도(pre-defiend strength) 및, 각 특정 뉴런에 대한 접속들의 합산이 사전 정의된 문턱값을 넘는지 여부와 같이 접속에 따라 각 데이터 값이 접속된 뉴런의 값에 영향을 미친다. 적절한 접속 강도 및 문턱값을 결정("트레이닝"이라고도 부르는 절차)함으로써, 신경망은 효과적으로 이미지 및 문자를 인식할 수 있다. 그룹 사이의 접속을 보다 명확히 하고, 값의 각 연산에 대한 것으로 만들기 위하여, 뉴런은 주로 "층(layer)"으로 그룹화된다.In a typical neural network, a neuron contains data values, including pre-defiend strength for each connection, and whether or not the sum of connections for each particular neuron exceeds a pre-defined threshold, The value affects the value of the connected neuron. By determining appropriate connection strengths and thresholds (also referred to as "training"), the neural network can effectively recognize images and characters. Neurons are grouped mainly into "layers" so as to make connections between the groups more definite and for each operation of the value.

회선 신경망의 학습 시간은 많은 시간과 계산량을 필요로 하며 최근 GPGPU(General Purpose Graphic Processing Unit) 사용을 통해 계산량을 병렬화하여 학습시간을 단축시킬 수 있지만 최근 기계학습의 경향인 빅데이터 학습과 더불어 여러 출력 정보(output data: input data를 분석한 정보)를 학습하기엔 턱없이 부족하다. 한 영상 데이터로부터 다차원의 정보를 추출하기 위해서는 다수의 신경망이 필요로 하며, 이들을 학습시킬 때 필요로 하는 시간은 신경망 개수에 비례하게 된다.The learning time of the circuit neural network requires a lot of time and calculation amount. Recently, it is possible to shorten the learning time by parallelizing the calculation amount by using GPGPU (General Purpose Graphic Processing Unit) It is incomprehensible to learn information (output data). In order to extract multi-dimensional information from one image data, many neural networks are needed, and the time required to learn them is proportional to the number of neural networks.

따라서, 회선 신경망의 물체 인지기능 및 물체의 다차원 정보를 빠르게 학습 할 수 있는 방법의 필요성이 대두된다.Therefore, there is a need for a method for rapidly learning object recognition function and multidimensional information of an object of a circuit neural network.

본 발명의 실시예들은, 부분구조 학습기법과 영상데이터를 이용하여 회선 신경망의 물체 인지기능 및 물체의 다차원 정보를 빠르게 학습 할 수 있는 신경망 학습 방법 및 장치를 제공한다.Embodiments of the present invention provide a neural network learning method and apparatus capable of rapidly learning object recognition functions of a circuit neural network and multidimensional information of objects using partial structure learning techniques and image data.

본 발명의 실시예들은, 학습에 필요한 회선 신경망의 연산량을 줄여 학습 속도를 향상시키고, 다차원 영상 정보를 인식할 수 있는 신경망 학습 방법 및 장치를 제공한다.Embodiments of the present invention provide a neural network learning method and apparatus capable of improving learning speed by reducing the amount of computation of a circuit neural network required for learning and recognizing multidimensional image information.

본 발명의 일 실시예에 따른 신경망 학습 방법은 입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 단계; 상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 단계; 상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계; 및 상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계를 포함한다.The neural network learning method according to an embodiment of the present invention includes: calculating neural network output values for each of multi-dimensional information set in advance based on weights constituting a neural network, with respect to input learning data; Calculating a learning error value based on the neural network output value; Dividing the weights constituting the neural network into a plurality of clusters; And updating the weights included in each of the divided clusters based on the calculated learning error value.

상기 업데이트하는 단계는 상기 나누어진 클러스터들 각각에 포함된 가중치들을 상기 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트할 수 있다.The updating may sequentially update the weights included in each of the divided clusters for each of the divided clusters.

상기 업데이트하는 단계는 상기 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하고, 상기 학습 에러 값이 기준 에러 값 이상인 경우 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.The updating may determine whether the computed learning error value is greater than or equal to a predefined reference error value and update the weights included in each of the divided clusters if the learning error value is greater than or equal to a reference error value.

상기 업데이트하는 단계는 기울기 강하 기법을 이용하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.The updating may update the weights included in each of the divided clusters using a slope descent technique.

상기 신경망 출력 값을 연산하는 단계는 회선 신경망(CNN: Convolutional Neural Network)을 구성하는 가중치들에 기초하여 상기 다차원 정보 각각에 대한 신경망 출력 값을 연산할 수 있다.The step of calculating the neural network output value may calculate a neural network output value for each of the multi-dimensional information based on weights constituting a convolutional neural network (CNN).

본 발명의 다른 일 실시예에 따른 신경망 학습 방법은 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계; 상기 복수의 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계; 및 입력 학습 데이터에 대하여, 상기 복수의 클러스터들 각각에 대한 학습을 통해 상기 신경망을 학습하는 단계를 포함한다.According to another aspect of the present invention, there is provided a neural network learning method comprising: dividing weights constituting a neural network into a plurality of clusters; Updating the weights included in each of the plurality of clusters; And learning the neural network through learning for each of the plurality of clusters with respect to input learning data.

본 발명의 일 실시예에 따른 신경망 학습 장치는 입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 신경망 연산부; 상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 에러 계산부; 및 상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누고, 상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 가중치 제어부를 포함한다.The neural network learning apparatus according to an embodiment of the present invention includes a neural network operation unit for calculating a neural network output value for each of multi-dimensional information set in advance based on weights constituting a neural network, with respect to input learning data; An error calculation unit for calculating a learning error value based on the neural network output value; And a weight control unit for dividing the weights constituting the neural network into a plurality of clusters, and updating weights included in each of the divided clusters based on the calculated learning error value.

상기 가중치 제어부는 상기 나누어진 클러스터들 각각에 포함된 가중치들을 상기 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트할 수 있다.The weight control unit may update the weights included in each of the divided clusters sequentially for each of the divided clusters.

상기 가중치 제어부는 상기 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하고, 상기 학습 에러 값이 기준 에러 값 이상인 경우 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.The weight control unit may determine whether the computed learning error value is greater than or equal to a predetermined reference error value and update the weights included in the divided clusters if the learning error value is greater than or equal to the reference error value.

상기 가중치 제어부는 기울기 강하 기법을 이용하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.The weight control unit may update the weights included in each of the divided clusters using a slope descent technique.

상기 신경망 연산부는 회선 신경망(CNN: Convolutional Neural Network)을 구성하는 가중치들에 기초하여 상기 다차원 정보 각각에 대한 신경망 출력 값을 연산할 수 있다.The neural network operation unit may calculate a neural network output value for each of the multi-dimensional information based on weights constituting a Convolutional Neural Network (CNN).

본 발명의 실시예들에 따르면, 부분구조 학습기법과 영상데이터를 이용하여 회선 신경망의 물체 인지기능 및 물체의 다차원 정보를 빠르게 학습 할 수 있으며, 학습에 필요한 회선 신경망의 연산량을 줄여 학습 속도를 향상시킬 수 있다.According to embodiments of the present invention, it is possible to rapidly learn the object recognition function of the circuit neural network and the multidimensional information of the object using the partial structure learning technique and the image data, and to improve the learning speed by reducing the computational amount of the circuit neural network required for learning .

또한, 본 발명의 실시예들에 따르면, 생물학적 학습 기법(Biologically plausible-neighbor 클러스터) 기법과 뇌인지를 모방한 기법을 복합적으로 사용하여 다차원 정보를 추출할 수 있으며, 지능 시스템에 적용하는 경우 작업의 정확도를 향상시킬 수 있다. Also, according to embodiments of the present invention, it is possible to extract multi-dimensional information using a combination of a biologically plausible-neighbor cluster technique and a technique that imitates brain perception, and when applied to an intelligent system, Accuracy can be improved.

또한, 본 발명의 실시예들에 따르면, 지능형 로봇에 적용할 수 있으며, 지능형 로봇에 적용하는 경우 지능형 로봇의 난관점인 비전 인식 문제 뿐만 아니라 로봇이 해결해야 할 작업의 정확성을 극대화시킬 수도 있다.In addition, according to the embodiments of the present invention, it is possible to apply to an intelligent robot, and when applied to an intelligent robot, it is possible to maximize the accuracy of a task to be solved by a robot as well as a vision recognition problem, which is an aspect of an intelligent robot.

도 1은 본 발명의 일 실시예에 따른 신경망 학습 방법에 대한 동작 흐름도를 나타낸 것이다.
도 2는 다차원 정보를 추출하는 신경망에서 클러스터를 이용한 부분 학습을 설명하기 위한 예시도를 나타낸 것이다.
도 3은 본 발명에서의 이웃 클러스터를 설명하기 위한 예시도를 나타낸 것이다.
도 4는 학습 데이터에 대한 예들을 나타낸 것이다
도 5는 본 발명에 따른 방법에 의한 학습 에러에 대한 예시도를 나타낸 것이다.
도 6은 기존 학습 방법과 본 발명의 학습 방법에 대한 학습 시간을 비교한 예시도를 나타낸 것이다.
도 7은 본 발명의 일 실시예에 따른 신경망 학습 장치에 대한 구성을 나타낸 것이다.
1 is a flowchart illustrating an operation of a neural network learning method according to an embodiment of the present invention.
2 is a diagram illustrating an example of a partial learning using a cluster in a neural network for extracting multi-dimensional information.
3 illustrates an exemplary diagram for explaining a neighbor cluster in the present invention.
Fig. 4 shows examples of learning data
Figure 5 shows an example of learning error by the method according to the invention.
FIG. 6 is a diagram illustrating an example of comparison of learning time between the existing learning method and the learning method of the present invention.
FIG. 7 illustrates a configuration of a neural network learning apparatus according to an embodiment of the present invention.

이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. In addition, the same reference numerals shown in the drawings denote the same members.

본 발명의 실시예들은, 부분구조 학습기법과 영상데이터를 이용하여 회선 신경망의 물체 인지기능 및 물체의 다차원 정보를 빠르게 학습하는 것을 그 요지로 한다.Embodiments of the present invention are based on the fact that the object recognition function of the circuit neural network and the multi-dimensional information of the object are rapidly learned using the partial structure learning technique and the image data.

여기서, 본 발명은 생물학적 학습 기법(Biologically plausible-neighbor 클러스터) 기법과 뇌인지를 모방한 기법을 복합적으로 사용하여 다차원 정보를 추출할 수 있다.Here, the present invention can extract multidimensional information using a combination of a biologically plausible-neighbor cluster technique and a technique that mimics brain perception.

본 발명에 따른 학습 방법 및 장치는 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누고, 나누어진 클러스터들 각각에 포함된 가중치들을 클러스터들 각각에 대하여 순차적으로 업데이트함으로써, 가중치를 업데이트하는데 걸리는 연산량을 줄이고, 이를 통해 학습 속도를 향상시킬 수 있다.The learning method and apparatus according to the present invention divides the weights constituting the neural network into a plurality of clusters and sequentially updates the weights included in the divided clusters for each of the clusters, thereby reducing the amount of computation required to update the weights , Which can improve learning speed.

학습 과정에서는, k 번째 RGB카메라 픽셀 자료

Figure 112016082261617-pat00001
와 그에 대응되는 클래스 벡터
Figure 112016082261617-pat00002
, k번째 자료의 q 번째 값은 1 나머지는 0인 벡터를 하나의 학습자료로 설정하고 여러 개의 인스턴스(
Figure 112016082261617-pat00003
)를 가지는 학습데이터베이스를 사용한다.In the learning process, the kth RGB camera pixel data
Figure 112016082261617-pat00001
And its corresponding class vector
Figure 112016082261617-pat00002
, the q-th value of the k-th data is 1, and the rest is 0 (zero).
Figure 112016082261617-pat00003
) Is used.

클래스 벡터는 멀티플 원-핫 인코딩(multiple one-hot encoding) 기법을 기반으로 한다. 예를 들어,

Figure 112016082261617-pat00004
은 DB의 3번째 학습자료는 1번째 라벨에서 1번째 물체 종류 및 2번째 라벨에서 2번째 물체 종류에 포함된다는 것을 의미할 수 있다.The class vector is based on a multiple one-hot encoding technique. E.g,
Figure 112016082261617-pat00004
May mean that the third learning material of the DB is included in the first object type in the first label and in the second object type in the second label.

물체 종류 및 클래스 벡터 예컨대, 학습에 사용되는 감독벡터(supervised label, target vector)는 사용자에 의해 설정될 수 있으며, 예를 들어, 입력RGB영상이 자동차와 비행기의 두 물체종류를 구별하고 싶을 때 다음과 같이 설정할 수 있다.The object type and the class vector, for example, the supervised label (target vector) used for learning, can be set by the user. For example, when an input RGB image wants to distinguish between two types of objects As shown in FIG.

예를 들어,

Figure 112016082261617-pat00005
의 경우 5번째 학습자료는 자동차를 의미할 수 있고,
Figure 112016082261617-pat00006
의 경우 10번째 학습자료는 비행기를 의미할 수 있다.E.g,
Figure 112016082261617-pat00005
In the case of the 5th learning material, it could mean a car,
Figure 112016082261617-pat00006
, The tenth learning material can mean an airplane.

이러한 두 물체는 기계에 속하므로 기계라는 것을 표현하기 위하여 다음과 같이 설정할 수 있다.Since these two objects belong to the machine, they can be set as follows to represent the machine.

예를 들어,

Figure 112016082261617-pat00007
의 경우 5번째 학습자료는 기계를 의미할 수 있고,
Figure 112016082261617-pat00008
의 경우 10번째 학습자료는 기계를 의미할 수 있다.E.g,
Figure 112016082261617-pat00007
, The fifth learning material may be a machine,
Figure 112016082261617-pat00008
, The tenth learning material may mean a machine.

본 발명의 방법과 장치는 신경망의 출력 값을 연산하는 과정, 학습 에러 값을 계산하는 과정 및 가중치를 제어하는 과정을 포함할 수 있으며, 이러한 본 발명에 따른 방법과 장치에 대해 도 1 내지 도 7을 참조하여 설명하면 다음과 같다.The method and apparatus of the present invention may include a process of calculating an output value of a neural network, a process of calculating a learning error value, and a process of controlling a weight, and the method and apparatus according to the present invention will be described with reference to Figs. 1 to 7 The following will be described.

도 1은 본 발명의 일 실시예에 따른 신경망 학습 방법에 대한 동작 흐름도를 나타낸 것이다.1 is a flowchart illustrating an operation of a neural network learning method according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 신경망 학습 방법은 신경망 예를 들어, 회선 신경망을 구성하는 가중치들을 초기화시키고, 학습하고자 하는 학습 데이터 예를 들어, 학습 영상을 입력한다(S110, S120).Referring to FIG. 1, a neural network learning method according to an embodiment of the present invention initializes weights constituting a neural network, for example, a circuit neural network, and inputs learning data to be learned, for example, a learning image (S110, S120 ).

여기서, 신경망을 구성하는 가중치들은 신경망을 구성하는 레이어들 예를 들어, 입력 레이어, 히든 레이어, 출력 레이어 등의 레이어들 간을 연결하는 가중치로, 단계 S110은 이러한 가중치들을 미리 결정된 값으로 초기화시키는 것이며, 단계 S120에서 입력되는 학습 데이터는 도 4에 도시된 일 예와 같이, 비행기, 자동차, 배 등 다양한 종류의 영상 데이터가 될 수 있다. 물론, 본 발명에서 입력되는 학습 데이터는 도 4에 도시된 입력 영상으로 한정되지 않으며, 학습하고자 하는 모든 종류의 영상을 포함할 수 있다.Here, the weights constituting the neural network are weights connecting the layers constituting the neural network, for example, the input layer, the hidden layer and the output layer. In step S110, these weights are initialized to predetermined values , The learning data input in step S120 may be various types of image data such as an airplane, an automobile, and a ship, as shown in an example shown in FIG. Of course, the learning data input in the present invention is not limited to the input image shown in FIG. 4, and may include all kinds of images to be learned.

그리고, 도 4의 입력 학습 영상으로부터 학습하고자 하는 학습 라벨은 영상에 포함된 오브젝트의 종류와 그 사용 목적 예를 들어, 비행기의 경우 민간용이냐 군용 등으로 학습되고, 자동차의 경우 민간용, 군용, 화물용 등으로 학습되며, 배의 경우 화물용, 민간용, 군용 등으로 학습될 수 있다 즉, 학습 데이터로부터 다차원 정보를 포함하는 학습 레벨을 학습하고자 하는 것이다.The learning labels to be learned from the input learning image of FIG. 4 are learned by the types of objects included in the image and the purpose of use thereof, for example, in the case of airplanes, for civilian use or military use. In the case of automobiles, . In the case of ship, it can be learned by cargo, civilian, military, etc. In other words, it is aimed to learn learning level including multidimensional information from learning data.

단계 S120을 통해 입력 학습 데이터가 수신되면 신경망에 대한 피드포워드 연산 과정, 학습 에러 값을 계산하는 과정 그리고, 신경망을 구성하는 가중치들을 복수의 클러스터들로 분할 또는 나누고 나눠진 클러스터들 각각에 대해 순차적으로 가중치를 업데이트하는 과정을 통해 신경망을 학습한다(S130 내지 S160).When the input learning data is received in step S120, a feed forward calculation process for the neural network, a process for calculating a learning error value, and a process for dividing or dividing the weights constituting the neural network into a plurality of clusters, The neural network is learned (S130 to S160).

여기서, 단계 S120 내지 S160은 계산된 학습 에러 값이 미리 정의된 기준 에러 값보다 작은 경우까지 반복 수행될 수 있다.Here, steps S120 to S160 may be repeated until the calculated learning error value is smaller than a predefined reference error value.

이하, 단계 S130 내지 S160에 대해 설명하면 다음과 같다.Hereinafter, steps S130 to S160 will be described as follows.

신경망에 대한 피드포워드 연산 과정(S130)에 대해 설명하면, 해당 과정은 입력된 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 과정이다.The feedforward operation process (S130) for the neural network is a process of calculating a neural network output value for each of the multidimensional information set in advance based on the weights constituting the neural network with respect to the input learning data.

카메라 장치로부터 입력 받은 RGB영상 I(혹은 HSV 및 CMKY의 칼라 스페이스)로부터 l 번째 회선 계층은 아래 <수학식 1>과 같이 계산될 수 있다.The lth line layer from the RGB image I (or the color space of HSV and CMKY) received from the camera device can be calculated as shown in Equation (1) below.

[수학식 1][Equation 1]

Figure 112016082261617-pat00009
Figure 112016082261617-pat00009

여기서, f 는 신경망 활성화 함수를 의미하고,

Figure 112016082261617-pat00010
Figure 112016082261617-pat00011
은 l-1번째 계층의 m번째 특징맵과 l 번째 계층의 n 번째 특징맵을 연결하는 회선 가중치 행렬을 의미하며,
Figure 112016082261617-pat00012
은 n 번째 계층의 l번째 바이어스를 의미할 수 있다.Here, f means a neural network activation function,
Figure 112016082261617-pat00010
Wow
Figure 112016082261617-pat00011
Denotes a circuit weighting matrix connecting the m-th feature map of the (l-1) -th layer and the n-th feature map of the l-th layer,
Figure 112016082261617-pat00012
May denote the lth bias of the nth layer.

l 계층의 서브샘플링 계층의 계산은 회선 계층의 출력 값을 이용하여 아래 <수학식 2>와 같이 계산될 수 있다.The calculation of the lth sub-sampling layer can be calculated as Equation (2) below using the output value of the circuit layer.

[수학식 2]&Quot; (2) &quot;

Figure 112016082261617-pat00013
Figure 112016082261617-pat00013

여기서,

Figure 112016082261617-pat00014
를 의미하고, i와 j는 회선 계층의 픽셀의 인덱스를 의미하며,
Figure 112016082261617-pat00015
Figure 112016082261617-pat00016
은 인덱스와 연결된 가중치와 바이어스를 각각 의미할 수 있다.here,
Figure 112016082261617-pat00014
I &amp; j denotes an index of a pixel in the line layer,
Figure 112016082261617-pat00015
Wow
Figure 112016082261617-pat00016
May mean a weight and a bias associated with the index, respectively.

회선 신경망의 가장 마지막층의 출력 값은 아래 <수학식 3>과 같이 계산될 수 있다.The output value of the last layer of the circuit neural network can be calculated as Equation (3) below.

[수학식 3]&Quot; (3) &quot;

Figure 112016082261617-pat00017
Figure 112016082261617-pat00017

여기서,

Figure 112016082261617-pat00018
Figure 112016082261617-pat00019
는 각각 가중치와 바이어스를 의미하고,
Figure 112016082261617-pat00020
는 서브 샘플링 계층 계산으로부터 획득되는 값을 의미할 수 있다.here,
Figure 112016082261617-pat00018
Wow
Figure 112016082261617-pat00019
Quot; means a weight and a bias, respectively,
Figure 112016082261617-pat00020
May mean a value obtained from the subsampling layer computation.

가장 마지막층의 서브 샘플링 계층의 유닛 예컨대, 신경망 노드는 완전 연결(fully connected)되어 있다. 회선 신경망의 출력층의 활성화 함수는

Figure 112016082261617-pat00021
또는
Figure 112016082261617-pat00022
를 가질 수 있고, C는 영상을 분류하고자 하는 클래스의 개수 즉, 출력 노드의 개수를 의미한다.The unit of the subsampling layer of the last layer, for example the neural network node, is fully connected. The activation function of the output layer of the circuit neural network is
Figure 112016082261617-pat00021
or
Figure 112016082261617-pat00022
And C denotes the number of classes to classify images, that is, the number of output nodes.

학습 에러 값을 계산하는 과정(S140)에 대해 설명하면, 해당 과정(S140)은 단계 S130에 의해 연산된 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 과정으로, 어느 정도의 가중치를 업데이트시킬 것인지 계산하는 단계일 수 있다.The process S140 of calculating the learning error value is a process of calculating a learning error value based on the neural network output value calculated in step S130. Lt; / RTI &gt;

즉, 학습 에러 값을 계산하는 과정(S140)은 어느 정도의 가중치를 업데이트시킬 것인지를 계산하는 구성으로, 목적 함수의 값을 계산하며, 목적 함수는 아래 <수학식 4>와 같이 정의될 수 있다.That is, in the step of calculating the learning error value (S140), the degree of the weight to be updated is calculated, and the value of the objective function is calculated. The objective function can be defined as Equation (4) below .

[수학식 4] &Quot; (4) &quot;

Figure 112016082261617-pat00023
Figure 112016082261617-pat00023

여기서, Q는 다차원 클래스의 개수를 의미하고,

Figure 112016082261617-pat00024
는 q 번째 클래스 라벨의 k 번째 자료의 목적 벡터의 j 번째 값을 의미하며,
Figure 112016082261617-pat00025
은 신경망의 출력 노드의 활성화 값을 의미하는 것으로, k 번째 자료를 신경망에 입력했을 때의 값을 의미할 수 있고, k는
Figure 112016082261617-pat00026
일 수 있으며, N은 학습 자료의 개수일 수 있고, j는
Figure 112016082261617-pat00027
일 수 있으며, C는 영상을 분류하고자 하는 클래스의 개수일 수 있다. Here, Q denotes the number of multi-dimensional classes,
Figure 112016082261617-pat00024
Denotes the j-th value of the k-th data of the q-th class label,
Figure 112016082261617-pat00025
Is the activation value of the output node of the neural network, which can be the value when the kth data is input to the neural network,
Figure 112016082261617-pat00026
, N may be the number of learning materials, j may be
Figure 112016082261617-pat00027
And C may be the number of classes to classify the image.

띠라서, 신경망의 출력 노드의 활성화 값은 아래 <수학식 5>와 같이 계산될 수 있다.The activation value of the output node of the neural network can be calculated as shown in Equation (5) below.

[수학식 5]&Quot; (5) &quot;

Figure 112016082261617-pat00028
Figure 112016082261617-pat00028

신경망을 구성하는 가중치들을 복수의 클러스터들로 분할 또는 나누고 나눠진 클러스터들 각각에 대해 순차적으로 가중치를 업데이트하는 과정(S150 내지 S160)을 설명하면, 단계 S150은 미리 결정된 기준 또는 규칙에 기초하여 신경망을 구성하는 가중치들을 복수의 클러스터들로 분할하고, 단계 S160은 단계 S150에 의해 분할된 클러스터들 각각에 대하여 클러스터들 각각에 포함된 가중치들을 업데이트하는 과정일 수 있다.In step S150, a process of dividing or dividing the weights constituting the neural network into a plurality of clusters and sequentially updating weights for each of the divided clusters will be described. In step S150, the neural network is configured based on a predetermined criterion or rule. Dividing the weights into a plurality of clusters, and step S160 may be a process of updating the weights included in each of the clusters for each of the clusters divided by step S150.

예를 들어, 단계 S150은 가중치들을 10 ~ 20% 단위로 가중치들을 클러스터로 나눌 수 있다.For example, the step S150 may divide the weights into clusters in units of 10 to 20%.

이러한 단계 S150 내지 S160에 대해 설명하면, 가중치

Figure 112016082261617-pat00029
의 학습 규칙은 상기 수학식 4의 목적 함수를 최소화시키며, 가중치 업데이트는 아래 <수학식 6>과 같은 기울기 강하 기법을 사용할 수 있다.Describing these steps S150 to S160,
Figure 112016082261617-pat00029
The learning rule of Equation (4) minimizes the objective function of Equation (4), and the gradient updating method such as Equation (6) below can be used for weight updating.

[수학식 6]&Quot; (6) &quot;

Figure 112016082261617-pat00030
Figure 112016082261617-pat00030

여기서,

Figure 112016082261617-pat00031
는 학습 계수를 의미하는 것으로, 0과 1 사이의 값을 가지며 사용자의 실험 결과에 따른 변수일 수 있으며,
Figure 112016082261617-pat00032
은 아래 <수학식 7>과 같이 계산될 수 있다.here,
Figure 112016082261617-pat00031
Is a learning coefficient, which has a value between 0 and 1 and can be a variable according to the user's experimental result,
Figure 112016082261617-pat00032
Can be calculated as shown in Equation (7) below.

[수학식 7]&Quot; (7) &quot;

Figure 112016082261617-pat00033
Figure 112016082261617-pat00033

여기서, sj (k)는 k번째 학습 데이터에 대한 j 번째 라벨의 값을 의미하고, oj (k, q)는 k번째 학습 데이터가 신경망에 입력되었을 때 q번째 라벨 또는 클래스의 j번째 신경망 출력 값을 의미하고, qi,j는 가중치

Figure 112018007012799-pat00042
를 의미하고, L은 출력층을 의미하고, f는 신경망 활성화 함수를 의미할 수 있다.Here, s j (k) is the k-th and the mean value of the j-th label of the learning data, o j (k, q) is the q th label or class j-th neural networks when the k-th learning data is input to the neural network Output value, qi , j denotes a weight value
Figure 112018007012799-pat00042
, L denotes the output layer, and f denotes the neural network activation function.

또한, 단계 S150은 이웃 클러스터(neighbor cluster)를 정의하고, 정의된 이웃 클러스터 내의 신경망 가중치만을 업데이트할 수 있다.Also, step S150 may define a neighbor cluster and update only the neural network weights in the defined neighbor cluster.

여기서, 이웃 클러스터에서 가중치가 업데이트되는 부분은 상위 계층의 노드와 연결된 하위 계층의 인접노드들이며 각 학습epoch당 다른 상위 계층의 노드와 그와 연결된 하위계층의 인접노드들이 이웃 클러스터 안에서 선택될 수 있다.In this case, the portion of the neighbor cluster in which the weight is updated is the neighbor nodes of the lower layer connected to the nodes of the upper layer, and the node of another higher layer and the neighbor nodes of the lower layer connected thereto can be selected in the neighbor cluster per learning epoch.

일 예로, 도 3a에 도시된 입력데이터와 회선가중치 간의 이웃 클러스터는 회선 계층의 유니트와 연결된 입력데이터 유니트 간의 이웃 클러스터를 나타낸 것으로, 굵은선과 가는선은 연결 가중치를 나타내고, 굵은선은 이웃 클러스터에서 가중치가 업데이트되는 부분을 의미한다.For example, the neighbor cluster between the input data and the line weights shown in FIG. 3A shows neighboring clusters between the input data units connected to the unit of the line layer, the bold line and the thin line represent the connection weight, and the bold line represents the weight Is updated.

다른 일 예로, 도3b는 서브샘플링 계층과 출력층 계층 간의 이웃 클러스터를 나타낸 것으로, 마찬가지로 에 도시된 굵은선과 가는선은 연결 가중치를 나타내고, 굵은선은 이웃 클러스터에서 가중치가 업데이트되는 부분을 의미한다.3B shows a neighbor cluster between the subsampling layer and the output layer. Likewise, the bold line and thin line represent connection weights, and the bold line represents a portion where weights are updated in neighboring clusters.

이러한 본 발명은 도 2a에 도시된 바와 같이, 신경망 학습을 통해 다차원 정보 예를 들어, first classification label, second classification label, third classification label를 인식하기 위한 것으로, 굵은 선에 해당하는 클러스터의 학습을 통해 이루어질 수 있다.As shown in FIG. 2A, the present invention recognizes multidimensional information such as a first classification label, a second classification label, and a third classification label through learning of a neural network. .

이 때, 다차원 정보 예를 들어, first classification label, second classification label, third classification label은 도 2b에 도시된 바와 같이, Alice 또는 Bob에 대한 identification, smile 또는 sod 또는 happy에 대한 facial expression, man 또는 woman에 대한 gender 등을 포함할 수 있으며, 이러한 다차원 정보가 클러스터(도 2b의 굵은 선 부분)를 이용한 부분적인 학습을 통해 인식될 수 있다.At this time, the multidimensional information, for example, the first classification label, the second classification label, and the third classification label may be a facial expression for identification, smile or sod or happy, man or woman for Alice or Bob, Gender, etc., and such multidimensional information can be recognized through partial learning using clusters (bold lines in FIG. 2B).

이와 같이, 본 발명에 따른 신경망 학습 방법은 클러스터를 이용하여 영상 데이터의 관련 부분의 부분 가중치만을 학습함으로써, 원하는 다차원 정보를 추출하고 인식할 수 있으며, 복수로 분할된 클러스터들 각각의 가중치들을 클러스터들 각각에 대해 순차적으로 업데이트하기 때문에 학습에 필요한 신경망의 연산량을 줄여 학습 속도를 향상시킬 수 있다.As described above, the neural network learning method according to the present invention can extract and recognize desired multi-dimensional information by learning only the partial weight of the relevant part of the image data using the clusters. The weight of each of the plurality of divided clusters can be divided into clusters Since each of them is sequentially updated, the learning speed can be improved by reducing the amount of computation of the neural network required for learning.

이러한 본 발명에 따른 방법은 도 5의 epoch에 따른 학습 에러에 도시된 바와 같이, 에러 평균 값(MSE)(파란선)과 에러 분산 값(오렌지선)이 epoch에 따라 감소하는 것을 알 수 있다. 여기서, 도 5는 회선 신경망 구조에서의 epoch에 따른 학습 에러를 도시한 것이다.As shown in the learning error according to the epoch of FIG. 5, the method according to the present invention shows that the error mean value MSE (blue line) and the error variance value (orange line) decrease with the epoch. Here, FIG. 5 shows learning errors according to epochs in the circuit neural network structure.

또한, 본 발명에 따른 방법은 아래 표 1에서 알 수 있듯이, 기존의 역전달(backpropagation) 기법과 비교하면 다양한 데이터 셋 예를 들어, MNIST, small NORB, cifar-10의 데이터 셋 각각에 대하여 비슷한 정확도를 가지는 것을 알 수 있다. The method according to the present invention is similar to the conventional backpropagation method, as shown in Table 1 below. For each data set of MNIST, small NORB, and cifar-10, . &Lt; / RTI &gt;

Figure 112016082261617-pat00034
Figure 112016082261617-pat00034

또한, 본 발명에 따른 방법은 기존 학습 방법과 본 발명의 학습 방법에 대한 학습 시간을 비교한 도 7을 통해 알 수 있듯이, 3개의 영상 데이터 셋인 MNIST, small NORB, cifar-10에 대한 학습 시간이 기존의 역전달(backpropagation) 기법에 비하여 많이 감소한 것을 알 수 있으며, 기존 역전달 기법에 비해 학습 속도가 25 ~ 30[%] 증가한 것을 알 수 있다.7, the learning time for MNIST, small NORB, and cifar-10, which are three image data sets, is compared with learning time of the learning method of the present invention. It can be seen that the learning rate is decreased by 25 ~ 30 [%] compared with the conventional backpropagation technique.

이와 같이, 본 발명의 부분 학습을 통해서도 기존 학습 방법과 비슷한 정확도를 가지면서 신경망의 연산량을 줄여 학습 시간을 감소시킴으로써, 학습 정확도를 유지하면서 학습 속도를 향상시킬 수 있다.As described above, the learning speed can be improved while maintaining the learning accuracy by reducing the amount of computation of the neural network with the accuracy similar to that of the existing learning method and reducing the learning time through the partial learning of the present invention.

도 7은 본 발명의 일 실시예에 따른 신경망 학습 장치에 대한 구성을 나타낸 것으로, 상술한 도 1 내지 도 6의 동작을 수행하는 장치에 대한 구성을 나타낸 것이다.FIG. 7 illustrates a configuration of a neural network learning apparatus according to an embodiment of the present invention, and shows a configuration of an apparatus for performing the operations of FIGS. 1 to 6 described above.

도 7을 참조하면, 본 발명의 실시예에 따른 신경망 학습 장치(700)는 신경망 연산부(710), 에러 계산부(720) 및 가중치 제어부(730)를 포함한다.7, a neural network learning apparatus 700 according to an embodiment of the present invention includes a neural network operation unit 710, an error calculation unit 720, and a weight control unit 730.

신경망 연산부(710)는 입력 학습 데이터가 수신되면 입력된 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산한다.When the input learning data is received, the neural network operation unit 710 calculates a neural network output value for each of the multidimensional information set in advance based on the weights constituting the neural network with respect to the input learning data.

이 때, 신경망 연산부(710)는 회선 신경망(CNN)을 구성하는 가중치들을 초기화시킨 후 입력된 학습 데이터에 대하여, CNN을 구성하는 가중치들을 이용하여 다차원 정보 각각에 대한 신경망 출력 값을 연산할 수 있다.In this case, the neural network operation unit 710 may initialize the weights constituting the CNN, and then calculate the neural network output values for each of the multi-dimensional information using the weights constituting the CNN with respect to the input learning data .

에러 계산부(720)는 연산된 신경망 출력 값에 기초하여 학습 에러 값을 계산한다.The error calculator 720 calculates a learning error value based on the computed neural network output value.

여기서, 에러 계산부(720)는 어느 정도의 가중치를 업데이트시킬 것인지를 계산하는 구성 수단으로, 상술한 수학식 4의 목적 함수 값을 계산할 수 있다.Here, the error calculator 720 may calculate the objective function value of Equation (4) as a constituent means for calculating how much weight to update.

가중치 제어부(730)는 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누고, 계산된 학습 에러 값에 기초하여 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트한다.The weight control unit 730 divides the weights constituting the neural network into a plurality of clusters and updates weights included in each of the clusters divided based on the calculated learning error value.

이 때, 가중치 제어부(730)는 나누어진 클러스터들 각각에 포함된 가중치들을 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트할 수 있으며, 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하여 학습 에러 값이 기준 에러 값 이상인 경우 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다.In this case, the weight control unit 730 may sequentially update the weight values included in the divided clusters for each of the divided clusters, and determine whether the calculated learning error value is equal to or greater than a predetermined reference error value, And update the weights included in each of the divided clusters if the error value is greater than or equal to the reference error value.

이러한 가중치 제어부(730)는 기울기 강하 기법을 이용하여 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트할 수 있다. 물론, 가중치 제어부(730)는 기울기 강하 기법으로 가중치를 업데이트하는 것만으로 한정하지 않으며, 신경망을 구성하는 가중치들을 업데이트하는 다양한 방법을 적용할 수 있다.The weight control unit 730 may update the weights included in each of the clusters divided using the gradient descent method. Of course, the weight control unit 730 is not limited to updating the weights by the slope descending method, and various methods of updating the weights constituting the neural network may be applied.

비록, 도 7에서 설명하지 않았더라도, 도 7의 장치는 상술한 도 1 내지 도 6의 동작을 모두 수행할 수 있으며, 도 1 내지 도 6의 내용을 모두 포함할 수 있다.Although not illustrated in FIG. 7, the apparatus of FIG. 7 may perform all of the operations of FIGS. 1 through 6 described above and may include all of the contents of FIGS.

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the systems, devices, and components described in the embodiments may be implemented in various forms such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array ), A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to embodiments may be implemented in the form of a program instruction that may be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (11)

신경망 연산부에서 입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 단계;
에러 계산부에서 상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 단계;
가중치 제어부에서 상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계; 및
상기 가중치 제어부에서 상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계
를 포함하고,
상기 업데이트하는 단계는
상기 클러스터들 각각에 대하여, 상위 계층의 노드와 연결된 하위 계층의 인접 노드들을 이웃 클러스터로 정의하고, 상기 정의된 이웃 클러스터에 포함된 가중치만을 업데이트하는 신경망 학습 방법.
Calculating a neural network output value for each of the preset multi-dimensional information based on weights constituting the neural network with respect to the input learning data in the neural network operation unit;
Calculating a learning error value based on the neural network output value in an error calculation unit;
Dividing the weights constituting the neural network into a plurality of clusters in a weight control unit; And
Updating the weights included in each of the divided clusters based on the calculated learning error value in the weight control unit
Lt; / RTI &gt;
The updating step
Defining neighbors of a lower layer connected to a node of an upper layer as a neighbor cluster for each of the clusters and updating only the weights included in the defined neighbor cluster.
제1항에 있어서,
상기 업데이트하는 단계는
상기 나누어진 클러스터들 각각에 포함된 가중치들을 상기 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트하는 것을 특징으로 하는 신경망 학습 방법.
The method according to claim 1,
The updating step
Wherein the weights included in each of the divided clusters are sequentially updated for each of the divided clusters.
제1항에 있어서,
상기 업데이트하는 단계는
상기 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하고, 상기 학습 에러 값이 기준 에러 값 이상인 경우 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 것을 특징으로 하는 신경망 학습 방법.
The method according to claim 1,
The updating step
Determining whether the computed learning error value is greater than or equal to a predefined reference error value, and updating the weights included in each of the divided clusters if the learning error value is greater than or equal to a reference error value.
제1항에 있어서,
상기 업데이트하는 단계는
기울기 강하 기법을 이용하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 것을 특징으로 하는 신경망 학습 방법.
The method according to claim 1,
The updating step
And the weights included in each of the divided clusters are updated using a slope descent technique.
제1항에 있어서,
상기 신경망 출력 값을 연산하는 단계는
회선 신경망(CNN: Convolutional Neural Network)을 구성하는 가중치들에 기초하여 상기 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 것을 특징으로 하는 신경망 학습 방법.
The method according to claim 1,
The step of computing the neural network output value
Wherein the neural network output value for each of the multi-dimensional information is calculated based on weights constituting a convolutional neural network (CNN).
신경망 학습 장치에서 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누는 단계;
상기 신경망 학습 장치에서 상기 복수의 클러스터들 각각에 포함된 가중치들을 업데이트하는 단계; 및
상기 신경망 학습 장치에서 입력 학습 데이터에 대하여, 상기 복수의 클러스터들 각각에 대한 학습을 통해 상기 신경망을 학습하는 단계
를 포함하고,
상기 업데이트하는 단계는
상기 클러스터들 각각에 대하여, 상위 계층의 노드와 연결된 하위 계층의 인접 노드들을 이웃 클러스터로 정의하고, 상기 정의된 이웃 클러스터에 포함된 가중치만을 업데이트하는 신경망 학습 방법.
Dividing weights constituting a neural network into a plurality of clusters in a neural network learning apparatus;
Updating the weights included in each of the plurality of clusters in the neural network learning apparatus; And
Learning the neural network through learning for each of the plurality of clusters with respect to input learning data in the neural network learning apparatus
Lt; / RTI &gt;
The updating step
Defining neighbors of a lower layer connected to a node of an upper layer as a neighbor cluster for each of the clusters and updating only the weights included in the defined neighbor cluster.
입력 학습 데이터에 대하여, 신경망을 구성하는 가중치들에 기초하여 미리 설정된 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 신경망 연산부;
상기 신경망 출력 값에 기초하여 학습 에러 값을 계산하는 에러 계산부; 및
상기 신경망을 구성하는 가중치들을 복수의 클러스터들로 나누고, 상기 계산된 학습 에러 값에 기초하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 가중치 제어부
를 포함하고,
상기 가중치 제어부는
상기 클러스터들 각각에 대하여, 상위 계층의 노드와 연결된 하위 계층의 인접 노드들을 이웃 클러스터로 정의하고, 상기 정의된 이웃 클러스터에 포함된 가중치만을 업데이트하는 신경망 학습 장치.
A neural network operation unit for calculating a neural network output value for each of the multidimensional information set in advance based on the weights constituting the neural network with respect to the input learning data;
An error calculation unit for calculating a learning error value based on the neural network output value; And
Dividing the weights constituting the neural network into a plurality of clusters and updating the weights included in each of the divided clusters based on the calculated learning error value,
Lt; / RTI &gt;
The weight control unit
Defining neighbors of the lower layer connected to the nodes of the upper layer as neighboring clusters and updating only the weights included in the neighboring cluster defined for each of the clusters.
제7항에 있어서,
상기 가중치 제어부는
상기 나누어진 클러스터들 각각에 포함된 가중치들을 상기 나누어진 클러스터들 각각에 대하여 순차적으로 업데이트하는 것을 특징으로 하는 신경망 학습 장치.
8. The method of claim 7,
The weight control unit
And sequentially updates the weights included in each of the divided clusters for each of the divided clusters.
제7항에 있어서,
상기 가중치 제어부는
상기 계산된 학습 에러 값이 미리 정의된 기준 에러 값 이상인지 판단하고, 상기 학습 에러 값이 기준 에러 값 이상인 경우 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 것을 특징으로 하는 신경망 학습 장치.
8. The method of claim 7,
The weight control unit
Wherein the determining unit determines whether the calculated learning error value is equal to or greater than a predetermined reference error value and updates weight values included in each of the divided clusters when the learning error value is equal to or greater than a reference error value.
제7항에 있어서,
상기 가중치 제어부는
기울기 강하 기법을 이용하여 상기 나누어진 클러스터들 각각에 포함된 가중치들을 업데이트하는 것을 특징으로 하는 신경망 학습 장치.
8. The method of claim 7,
The weight control unit
And the weights included in each of the divided clusters are updated using a slope descent technique.
제7항에 있어서,
상기 신경망 연산부는
회선 신경망(CNN: Convolutional Neural Network)을 구성하는 가중치들에 기초하여 상기 다차원 정보 각각에 대한 신경망 출력 값을 연산하는 것을 특징으로 하는 신경망 학습 장치.
8. The method of claim 7,
The neural network operation unit
And calculates a neural network output value for each of the multi-dimensional information based on weights constituting a convolutional neural network (CNN).
KR1020160107525A 2016-08-24 2016-08-24 Neural Networks Training Method Using Subnetwork Training algorithms for multi-class prediction neural networks on high level image recognition KR101887267B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160107525A KR101887267B1 (en) 2016-08-24 2016-08-24 Neural Networks Training Method Using Subnetwork Training algorithms for multi-class prediction neural networks on high level image recognition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160107525A KR101887267B1 (en) 2016-08-24 2016-08-24 Neural Networks Training Method Using Subnetwork Training algorithms for multi-class prediction neural networks on high level image recognition

Publications (2)

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

Family

ID=61727114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160107525A KR101887267B1 (en) 2016-08-24 2016-08-24 Neural Networks Training Method Using Subnetwork Training algorithms for multi-class prediction neural networks on high level image recognition

Country Status (1)

Country Link
KR (1) KR101887267B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190286988A1 (en) * 2018-03-15 2019-09-19 Ants Technology (Hk) Limited Feature-based selective control of a neural network
KR102038390B1 (en) 2018-07-02 2019-10-31 한양대학교 산학협력단 Artificial neural network module and scheduling method thereof for highly effective parallel processing
KR102120443B1 (en) * 2018-10-02 2020-06-08 인하대학교 산학협력단 Entropy-based neural networks partial learning method and system
CN111753596A (en) * 2019-03-29 2020-10-09 商汤集团有限公司 Neural network training method and device, electronic equipment and storage medium
KR102166835B1 (en) 2019-10-28 2020-10-16 주식회사 루닛 Method for Training Neural Network and Device Thereof
US11164084B1 (en) * 2020-11-11 2021-11-02 DeepCube LTD. Cluster-connected neural network

Family Cites Families (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.*

Also Published As

Publication number Publication date
KR20180022288A (en) 2018-03-06

Similar Documents

Publication Publication Date Title
KR101887267B1 (en) Neural Networks Training Method Using Subnetwork Training algorithms for multi-class prediction neural networks on high level image recognition
US9830709B2 (en) Video analysis with convolutional attention recurrent neural networks
KR102563752B1 (en) Training method for neural network, recognition method using neural network, and devices thereof
EP3289529B1 (en) Reducing image resolution in deep convolutional networks
US10460230B2 (en) Reducing computations in a neural network
CN107292352B (en) Image classification method and device based on convolutional neural network
Roth et al. Multidimensional density shaping by sigmoids
CN110991513B (en) Image target recognition system and method with continuous learning ability of human-like
US11113597B2 (en) Artificial neural network and method of training an artificial neural network with epigenetic neurogenesis
WO2022193497A1 (en) Method and system for graph-based panoptic segmentation
CN110298394B (en) Image recognition method and related device
CN113825978B (en) Method and device for defining path and storage device
US11568212B2 (en) Techniques for understanding how trained neural networks operate
CN113496247A (en) Estimating an implicit likelihood of generating a countermeasure network
CN109242106B (en) Sample processing method, device, equipment and storage medium
KR102369413B1 (en) Image processing apparatus and method
US20230004816A1 (en) Method of optimizing neural network model and neural network model processing system performing the same
Khan et al. Bridgeout: stochastic bridge regularization for deep neural networks
CN114091597A (en) Countermeasure training method, device and equipment based on adaptive group sample disturbance constraint
CN111104831A (en) Visual tracking method, device, computer equipment and medium
CN117034090A (en) Model parameter adjustment and model application methods, devices, equipment and media
US20220383073A1 (en) Domain adaptation using domain-adversarial learning in synthetic data systems and applications
CN115761343A (en) Image classification method and image classification device based on continuous learning
Wang et al. Adaptive normalized risk-averting training for deep neural networks
Zheng et al. Minimal support vector machine

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