KR102248975B1 - 심층 콘볼루션 신경망의 학습 방법 및 그 장치 - Google Patents

심층 콘볼루션 신경망의 학습 방법 및 그 장치 Download PDF

Info

Publication number
KR102248975B1
KR102248975B1 KR1020190085593A KR20190085593A KR102248975B1 KR 102248975 B1 KR102248975 B1 KR 102248975B1 KR 1020190085593 A KR1020190085593 A KR 1020190085593A KR 20190085593 A KR20190085593 A KR 20190085593A KR 102248975 B1 KR102248975 B1 KR 102248975B1
Authority
KR
South Korea
Prior art keywords
neural network
convolutional neural
deep convolutional
learning
classification
Prior art date
Application number
KR1020190085593A
Other languages
English (en)
Other versions
KR20210009059A (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 KR1020190085593A priority Critical patent/KR102248975B1/ko
Publication of KR20210009059A publication Critical patent/KR20210009059A/ko
Application granted granted Critical
Publication of KR102248975B1 publication Critical patent/KR102248975B1/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
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

본 발명은 베이지안(Bayesian) 확률 분포와 목적 함수(objective function)를 통해 감쇠 매개변수에 대한 분석을 공식화하여 계산 효율을 향상시키는 심층 콘볼루션 신경망의 학습 방법 및 그 장치에 관한 것으로, 심층 콘볼루션 신경망(DCNN)의 가중치 감쇠(Weight decay) 값을 초기화하는 단계, 베이지안(Bayesian) 확률 분포와 관련하여 상기 심층 콘볼루션 신경망(DCNN)에서 도출되는 상기 가중치 감쇠 값을 이용하여 상기 심층 콘볼루션 신경망을 학습하는 단계 및 상기 심층 콘볼루션 신경망에 테스트 데이터(validation data)를 입력하여 테스트 에러 값을 출력하는 단계를 포함한다.

Description

심층 콘볼루션 신경망의 학습 방법 및 그 장치{LEARNING METHOD OF DEEP CONVOLUTIONAL NEURAL NETWORK AND THE APPARATUS THEREOF}
본 발명은 심층 콘볼루션 신경망의 학습 방법 및 그 장치에 관한 것으로, 보다 상세하게는 베이지안(Bayesian) 확률 분포와 목적 함수(objective function)를 통해 감쇠 매개변수에 대한 분석을 공식화하여 계산 효율을 향상시키는 기술에 관한 것이다.
콘볼루션 신경망(Convolutional Neural Network; CNN)은 심층 학습 기법에 기초하여 훈련 가능한 가중치의 심층을 다수 포함한다. 심층을 강력하게 표현하기 때문에 콘볼루션 신경망은 손으로 쓴 숫자 인식, 물체 분류 및 탐지, 지능형 시스템을 포함한 데이터 분석과 같은 어플리케이션의 필수적인 부분을 차지한다. 이는 콘볼루션 신경망이 신경망(NN)의 속성을 가지고 있기 때문이며, 훈련 용량은 단순히 층을 쌓거나 숨겨진 노드를 더 추가함으로써 확장되어 입력 - 출력 쌍의 데이터를 결합하는 결과가 된다. 이러한 속성은 최근 연구가 신경망(NN)을 광범위하게 채용한 이유를 제공하나, 이는 필연적으로 신경망의 일반화 능력을 산출하는데 많은 수의 모델 매개변수 또는 네트워크 가중치 크기에서 발생될 수 있다.
이전의 신경망(NN) 작업에서는 얕은 피드 포워드(feed forward) 네트워크에서 효율적인 해결책을 제시하였으나, 이는 많은 수의 가중치를 가진 신경망에게는 사실상 불가능하게 된다.
신경망(NN)에서 일반화를 개선하는 실질적인 방법은 목적 함수에 가중치 감쇠 매개변수를 추가하는 것(즉, 네트워크 가중치의 정규화)이다. 다만, 일반적으로 감쇠 매개변수를 결정하는 절차는 수치 시험에 기초하는데, 이는 시험 횟수가 증가할 때 높은 계산 비용을 필요로 하는 문제가 존재한다.
또한, 심층 학습에서 일반화 문제를 해결하기 위한 대안적 접근법으로서, 무작위로 노드 및 연결을 제거하여 학습하면 과적합(overfitting)을 방지하고 심층 신경망(NN)에서 일반화 오류를 줄일 수 있으며, 최근에는 드롭아웃(dropout)같은 기법도 제안되었다. 다만, 이러한 방법은 높은 계산 비용을 필요로 하는 신경망(NN) 층을 선택하는 것과 관련하여 자체 매개변수(예를 들면, 드랍 확률)를 결정해야 한다.
따라서, 본 발명은 감쇠 매개변수의 중요성을 고려하여 감쇠 매개변수의 효율적인 결정 프로세스를 확립하고자 한다.
본 발명의 목적은 감쇠 값(decay parameter)을 결정하는 계산 비용을 줄임으로써, 근사치를 통해 심층 콘볼루션 신경망(DCNN)을 신속하게 조사하여 작은 일반화 오류를 산출하고자 한다.
또한, 본 발명의 목적은 베이지안(Bayesian) 방법을 통해 가중치 감쇠 값을 결정하여 다량의 신경망(NN) 가중치로 인한 비볼록형(Nonconvexity)문제를 해결하고자 한다.
본 발명의 실시예에 따른 분류 신경망 학습 방법은 심층 콘볼루션 신경망(DCNN)의 가중치 감쇠(Weight decay) 값을 초기화하는 단계, 베이지안(Bayesian) 확률 분포와 관련하여 상기 심층 콘볼루션 신경망(DCNN)에서 도출되는 상기 가중치 감쇠 값을 이용하여 상기 심층 콘볼루션 신경망을 학습하는 단계 및 상기 심층 콘볼루션 신경망에 테스트 데이터(validation data)를 입력하여 테스트 에러 값을 출력하는 단계를 포함한다.
상기 초기화하는 단계는 상기 가중치 감쇠 값을 ‘0’으로 초기화할 수 있다.
상기 심층 콘볼루션 신경망을 학습하는 단계는 상기 심층 콘볼루션 신경망을 학습하는 도중에 출력되는 상기 심층 콘볼루션 신경망의 최종 층에서의 출력 정보 및 산출되는 상기 가중치 감쇠 값을 입력으로 하여 상기 심층 콘볼루션 신경망을 학습할 수 있다.
상기 심층 콘볼루션 신경망을 학습하는 단계는 상기 가중치 감쇠 값을 결정하는 상기 심층 콘볼루션 신경망을 훈련하기 위해 상기 베이지안 확률 분포와 관련된 두 개의 매개변수를 포함한 멀티클래스 분류 단계를 포함할 수 있다.
상기 멀티클래스 분류 단계는 상기 출력 정보 및 상기 가중치 감쇠 값을 획득하기 위해 상기 두 개의 매개변수를 모델링할 수 있다.
상기 에러 값을 출력하는 단계는 학습된 상기 심층 콘볼루션 신경망에 상기 테스트 데이터를 입력 후, 상기 테스트 에러 값을 산출하며, 상기 산출된 테스트 에러 값을 출력할 수 있다.
본 발명의 실시예에 따른 분류 신경망 학습 장치는 심층 콘볼루션 신경망(DCNN)의 가중치 감쇠(Weight decay) 값을 초기화하는 초기화부, 베이지안(Bayesian) 확률 분포와 관련하여 상기 심층 콘볼루션 신경망(DCNN)에서 도출되는 상기 가중치 감쇠 값을 이용하여 상기 심층 콘볼루션 신경망을 학습하는 학습부 및 상기 심층 콘볼루션 신경망에 테스트 데이터(validation data)를 입력하여 테스트 에러 값을 출력하는 출력부를 포함한다.
상기 초기화부는 상기 가중치 감쇠 값을 ‘0’으로 초기화할 수 있다.
상기 학습부는 상기 심층 콘볼루션 신경망을 학습하는 도중에 출력되는 상기 심층 콘볼루션 신경망의 최종 층에서의 출력 정보 및 산출되는 상기 가중치 감쇠 값을 입력으로 하여 상기 심층 콘볼루션 신경망을 학습할 수 있다.
상기 학습부는 상기 가중치 감쇠 값을 결정하는 상기 심층 콘볼루션 신경망을 훈련하기 위해 상기 베이지안 확률 분포와 관련된 두 개의 매개변수를 포함한 멀티클래스 분류 과정을 포함할 수 있다.
상기 학습부는 상기 출력 정보 및 상기 가중치 감쇠 값을 획득하기 위해 상기 두 개의 매개변수를 모델링하는 상기 멀티클래스 분류 과정을 수행할 수 있다.
상기 출력부는 학습된 상기 심층 콘볼루션 신경망에 상기 테스트 데이터를 입력 후, 상기 테스트 에러 값을 산출하며, 상기 산출된 테스트 에러 값을 출력할 수 있다.
본 발명의 실시예에 따르면, 감쇠 값(decay parameter)을 결정하는 계산 비용을 줄임으로써, 근사치를 통해 심층 콘볼루션 신경망(DCNN)을 신속하게 조사하여 작은 일반화 오류를 산출할 수 있다.
또한, 본 발명의 실시예에 따르면, 베이지안(Bayesian) 방법을 통해 가중치 감쇠 값을 결정하여 다량의 신경망(NN) 가중치로 인한 비볼록형(Nonconvexity)문제를 해결할 수 있다.
도 1은 본 발명의 실시예에 따른 분류 신경망 학습 방법의 동작 흐름도를 도시한 것이다.
도 2는 기존의 접근법과 본 발명의 실시예에 따른 분류 신경망 학습 방법을 이용하여 학습 시간을 비교한 결과 그래프를 도시한 것이다.
도 3은 기존의 접근법과 본 발명의 실시예에 따른 분류 신경망 학습 방법을 이용하여 성능을 비교한 결과 표를 도시한 것이다.
도 4는 본 발명의 실시예에 따른 분류 신경망 학습 장치의 세부 구성을 블록도로 도시한 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
또한, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 시청자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시예에 따른 분류 신경망 학습 방법의 동작 흐름도를 도시한 것이다.
도 1을 참조하면, 단계 110에서, 심층 콘볼루션 신경망(DCNN)의 가중치 감쇠(Weight decay) 값을 초기화한다. 단계 110은 가중치 감쇠 값을 ‘0’으로 설정할 수 있다.
이후에 단계 120에서, 베이지안(Bayesian) 확률 분포와 관련하여 심층 콘볼루션 신경망(DCNN)에서 도출되는 가중치 감쇠 값을 이용하여 심층 콘볼루션 신경망을 학습한다.
예를 들면, 단계 121은 심층 콘볼루션 신경망을 학습하는 도중에 출력되는 심층 콘볼루션 신경망의 최종 층에서의 출력 정보 및 산출되는 가중치 감쇠 값을 입력으로 하여 심층 콘볼루션 신경망을 학습할 수 있다. 이 때, 상기 출력 정보는 신경망 학습 중 출력되는 정보를 일컫으며, 학습 정보일 수 있다.
단계 120은 가중치 감쇠 값을 결정하는 심층 콘볼루션 신경망을 훈련하기 위해 베이지안 확률 분포와 관련된 두 개의 매개변수를 포함한 멀티클래스 분류 단계(미도시)를 포함할 수 있다. 이 때, 상기 멀티클래스 분류 단계는 출력 정보 및 가중치 감쇠 값을 획득하기 위해 두 개의 매개변수를 모델링할 수 있다.
본 발명의 실시예에 따른 분류 신경망 학습 방법의 단계 130 및 단계 140에서, 심층 콘볼루션 신경망에 테스트 데이터(validation data)를 입력하여 테스트 에러 값을 출력한다.
단계 130은 전술한 바에 의해 학습된 심층 콘볼루션 신경망에 테스트 데이터를 입력 후, 테스트 에러 값을 산출하며, 단계 140은 산출된 테스트 에러 값을 출력할 수 있다. 이에, 본 발명의 실시예에 따른 분류 신경망 학습 방법은 계산시간을 최소화할 수 있다.
이하에서는 단계 122의 계산부를 통해 본 발명의 실시예에 따른 심층 콘볼루션 신경망의 학습 과정에 대해 보다 상세히 설명하고자 한다.
우선 본 발명의 기초가 되는 SRM(Structural Risk Minimization)의 공식을 간략히 설명하면, 페널티 함수
Figure 112019072642432-pat00001
에 라그랑지 승수를 사용하여 이하의 [수학식 1]을 통해 SRM의 F에서 함수 f의 피팅 용량을 제한한다.
[수학식 1]
Figure 112019072642432-pat00002
여기서,
Figure 112019072642432-pat00003
는 L2-norm을 나타내고,
Figure 112019072642432-pat00004
는 Sp의 가중치 감쇠 매개변수 또는 가중치 감쇠(Weight decay) 값을 나타낸다. 이 때의 목표는 최소한의 페널티 위험
Figure 112019072642432-pat00005
을 생성하는 함수 f를 포함하는 최적의 서브셋
Figure 112019072642432-pat00006
을 선택하는 것이다. 학습 모델에 적용되는 SRM 원칙은 내포된 집합의 모든 가설이 유한 VC 치수를 가져야 하기 때문에 본 발명에서는 부분 선형 활성화 기능을 가진 CNN이 유한 VC 치수를 가지고 있음을 뒷받침한다. 따라서, 본 발명은 SRM 원칙을 사용하여 작업을 분석할 수 있다.
고정된 아키텍처(예를 들면, 층 및 숨겨진 노드의 고정된 수)를 가진 CNN 클래스는 일련의 함수
Figure 112019072642432-pat00007
로 표현된다. 여기서, f는 CNN이고, x는 입력 데이터, w는 W의 CNN 가중치 벡터를 나타낸다. CNN은 캐스케이드 함수로 구성되어 있으며, 그 출력은 하기의 [수학식 2]와 같이 피드 포워드(feed forward) 단계로부터 획득된다.
[수학식 2]
Figure 112019072642432-pat00008
여기서,
Figure 112019072642432-pat00009
는 최종 층이고,
Figure 112019072642432-pat00010
이며,
Figure 112019072642432-pat00011
는 l번째 콘볼루션 계층을 나타낸다. 또한,
Figure 112019072642432-pat00012
는 유한한 VC 치수를 가진 네트워크의 활성화 함수(예를 들면, 정류된 선형 단위 활성화 함수 ReLU, a(x) = max{0,x})를 나타낸다.
Figure 112019072642432-pat00013
는 풀링(pulling) 계층 및 최종 층
Figure 112019072642432-pat00014
에서의 활성화인 c-차원 벡터이다. 따라서,
Figure 112019072642432-pat00015
이고, 각 요소는 하기의 [수학식 3]과 같이 소프트맥스 기능을 통해 획득된다.
[수학식 3]
Figure 112019072642432-pat00016
이 때,
Figure 112019072642432-pat00017
에서
Figure 112019072642432-pat00018
를 나타낸다. 또한,
Figure 112019072642432-pat00019
Figure 112019072642432-pat00020
을 각각 L번째 계층(최종 층)의 k번째 출력 노드와 연결된 CNN 가중치의 열(column) 벡터, L-1번째 계층에 숨겨진 활성화의 열 벡터라 가정하면, l번째 콘볼루션 계층
Figure 112019072642432-pat00021
은 열 벡터의
Figure 112019072642432-pat00022
필터 가중치
Figure 112019072642432-pat00023
를 갖는다.
총 CNN 가중치는 열 벡터
Figure 112019072642432-pat00024
로 표현된다. CNN을 훈련하기 위한 샘플 집합은 D =
Figure 112019072642432-pat00025
이며, 여기서 x(i)와 t(i)는 i번째 샘플에서의 입력 이미지 데이터와 대상 라벨을 나타낸다.
이에 따라서,
Figure 112019072642432-pat00026
는 입력 이미지 x(i)가 포함되는 클래스 라벨에 대한 원-핫(one-hot) 인코딩으로 표현된다.
본 발명의 실시예에 따른 분류 신경망 학습 방법은 [수학식 1]을 이용한 베이지안(Bayesian) 프레임워크를 사용하며, [수학식 2]를 이용한 목적 함수를 최소화하여 훈련할 수 있다.
[수학식 4]
Figure 112019072642432-pat00027
여기서,
Figure 112019072642432-pat00028
및 fk는 각각 [수학식 3]의 지표 함수와 k번째 CNN 출력을 나타낸다.
Figure 112019072642432-pat00029
는 CNN의 피팅 능력을 제어하고, CNN 가중치의 크기를 제한하는 매개변수이며, 본 발명은 이를 최소화하기 위해 적절한 값을 선택해야 한다.
본 발명은 [수학식 4]의 매개변수
Figure 112019072642432-pat00030
값을 결정하는 [수학식 3]의 CNN을 동시에 훈련하기 위해, 확률 분포와 관련된 두 개의 매개변수
Figure 112019072642432-pat00031
Figure 112019072642432-pat00032
를 가진 멀티클래스 분류 방법을 제안한다. 이는 신경망(NN) 및 서포트벡터 머신에 성공적으로 적용되는 증거 프레임워크와 관련이 있다. 본 발명은 목적 함수에서 가중 학습 정보를 얻고 다른 하나는 CNN 가중치에 대한 정보를 얻기 위해 두 가지 매개변수를 모델링한다. 이 때, CNN 가중치는 하기의 [수학식 5]와 같이
Figure 112019072642432-pat00033
에 의해 매개변수화된 확률 함수를 따르는 것으로 가정한다.
[수학식 5]
Figure 112019072642432-pat00034
여기서,
Figure 112019072642432-pat00035
이고,
Figure 112019072642432-pat00036
는 w의 요소를 나타낸다.
[수학식 4]의 오른쪽 첫 번째 항에 대한 확률 함수는 이하에서 상세히 기술한다. 멀티클래스 분류 문제에 대해서는 확률론적 기계학습에서 일반화된 베르누이 분포(즉, 범주형 분포)를 일반적으로 가정한다. 감쇠 매개변수의 본질적 관계를 고려하여, 하기의 [수학식 6]과 같이
Figure 112019072642432-pat00037
에 의해 매개변수화된 CNN 출력에 의한 베르누이 분포의 일반화 가능성을 제안한다.
[수학식 6]
Figure 112019072642432-pat00038
여기서,
Figure 112019072642432-pat00039
를 나타내고,
Figure 112019072642432-pat00040
를 나타낸다.
따라서, 훈련 세트
Figure 112019072642432-pat00041
의 함수로서 우도(likelihood) 항은 하기의 [수학식 7]과 같이 평가될 수 있다.
[수학식 7]
Figure 112019072642432-pat00042
이 때, CNN을 훈련시키기 위해, 설정 D와 매개변수
Figure 112019072642432-pat00043
Figure 112019072642432-pat00044
에 모두 주어진 w의 후방 분포는 하기의 [수학식 8]에 의한 베이지안(Bayesian) 공식에 따른다.
[수학식 8]
Figure 112019072642432-pat00045
[수학식 8]에서, 공동 확률 함수
Figure 112019072642432-pat00046
는 하기의 [수학식 9]와 같이 평가된다.
[수학식 9]
Figure 112019072642432-pat00047
여기서,
Figure 112019072642432-pat00048
이고, W는 CNN 가중치의 수를 나타내며, [수학식 9]의 음수 로그는 하기의 [수학식 10]과 같다.
[수학식 10]
Figure 112019072642432-pat00049
w와 관련하여 [수학식 10]을 최소화하는 것은 [수학식 4]를 최소화하는 것과 같다는 점에 유의한다. w의 후방은 최대
Figure 112019072642432-pat00050
Figure 112019072642432-pat00051
에서 매우 급격하다고 가정한다. 확률 함수는 하기의 [수학식 11]과 같이 한계화된다.
[수학식 11]
Figure 112019072642432-pat00052
이 때, 확률 함수 p(w|D)는
Figure 112019072642432-pat00053
Figure 112019072642432-pat00054
에 의한 영향을 받으며, 본 발명은 베이즈 규칙(Bayes rule)을 사용하여 매개변수의 사후 분포를 하기의 [수학식 12]와 같이 유도한다.
[수학식 12]
Figure 112019072642432-pat00055
여기서,
Figure 112019072642432-pat00056
는 하기의 [수학식 13]과 같이 근사화되는
Figure 112019072642432-pat00057
에 의존한다.
[수학식 13]
Figure 112019072642432-pat00058
확률 함수
Figure 112019072642432-pat00059
는 하기의 [수학식 14]와 같이
Figure 112019072642432-pat00060
를 도출하는 로컬 지점 w* 주위의 테일러(Taylor) 확장과 함께 가우시안(Gaussian) 근사치를 활용하여 평가된다.
[수학식 14]
Figure 112019072642432-pat00061
여기서, H는 [수학식 10]에서의 헤시안(Hessian) 행렬을 나타내고, det(.)는 행렬 결정체를 나타낸다. 근사치는 [수학식 10]의 구배가 작을 때 정확해진다.
이하의 [수학식 15]를 이용하여 [수학식 14]의 극 값과 관련된 매개변수
Figure 112019072642432-pat00062
값을 획득할 수 있다.
[수학식 15]
Figure 112019072642432-pat00063
또한, 하기의 [수학식 16]을 이용하여
Figure 112019072642432-pat00064
에 대한 분석 해결책을 제공할 수 있다.
[수학식 16]
Figure 112019072642432-pat00065
여기서,
Figure 112019072642432-pat00066
이며,
Figure 112019072642432-pat00067
및 W는 각각 [수학식 10]의 헤시안(Hassian) 행렬 고유값 및 CNN 가중치 수를 나타낸다.
즉,
Figure 112019072642432-pat00068
= W-
Figure 112019072642432-pat00069
이며, tr(.)은 행렬의 trace(대각합)을 나타낸다.
Figure 112019072642432-pat00070
의 분석적 해결책에 대해서는
Figure 112019072642432-pat00071
의 값을 갖는
Figure 112019072642432-pat00072
에 의해 매개변수화된 밀도 함수를 도입하여
Figure 112019072642432-pat00073
이 되며, 매개변수
Figure 112019072642432-pat00074
의 값은 하기의 [수학식 17]에 의해 산출된다.
[수학식 17]
Figure 112019072642432-pat00075
여기서,
Figure 112019072642432-pat00076
Figure 112019072642432-pat00077
의 값을 가지며, 매개변수
Figure 112019072642432-pat00078
는 하기의 [수학식 18]에 의해 선택된다.
[수학식 18]
Figure 112019072642432-pat00079
여기서, [.]는 실링(ceiling) 연산자를 나타내며,
Figure 112019072642432-pat00080
Figure 112019072642432-pat00081
이고,
Figure 112019072642432-pat00082
이며,
Figure 112019072642432-pat00083
는 하기의 [수학식 19]와 같이 헤시안(Hessian) 행렬 고유값을 나타낸다.
[수학식 19]
Figure 112019072642432-pat00084
이 때,
Figure 112019072642432-pat00085
값은
Figure 112019072642432-pat00086
과 동일하다는 점에 주의해야 한다. [수학식 16]과 [수학식 18]의 각 도출과정은 로그 결정요소의 편도함수를 사용하면 간단하다.
Figure 112019072642432-pat00087
Figure 112019072642432-pat00088
의 두 가지 해결책으로 IIM에 제안된 목적 함수, [수학식 9]의 음 로그 유사성은 하기의 [수학식 20]과 같이 공식화된다.
[수학식 20]
Figure 112019072642432-pat00089
여기서, [수학식 9]의
Figure 112019072642432-pat00090
는 w와 무관하기 때문에 생략한다. 심층 CNN은 훈련 가능한 가중치가 많기 때문에 [수학식 16]과 [수학식 18]의 헤시안(Hessian) 행렬의 trace를 계산하는 것은 사실상 불가능하다. 따라서, 본 발명은 제시된 문제를 해결하기 위한 방법을 제안한다.
[수학식 16] 및 [수학식 18]의 역 헤시안(Hessian) 행렬의 trace를 계산하려면 CNN 가중치 제곱 수에 비례하는 메모리 측면의 비용이 필요하다. 예를 들어, CNN이 100,000개의 가중치(W=100,000)를 가지고 있다면, 구현에는 대량의 메모리 O(1010)가 필요하다. 따라서, 이하에서는 역 헤시안(Hessian) 행렬의 trace를 대략적으로 나타내는 방법을 설명하고자 한다. 행렬
Figure 112019072642432-pat00091
이 하기의 [수학식 21]에 의해 [수학식 16] 및 [수학식 18]에 정의된 정확한 헤시안(Hessian)의 근사치라 가정할 수 있다.
[수학식 21]
Figure 112019072642432-pat00092
이 때,
Figure 112019072642432-pat00093
를 나타내고,
Figure 112019072642432-pat00094
Figure 112019072642432-pat00095
를 요소로 하는 W차원 헤시안(Hessian) 행렬을 나타내며,
Figure 112019072642432-pat00096
는 w에 대한 m번째 구배요소를 나타낸다.
f가 [수학식 3]에서 획득할 수 있는 CNN 출력일 때,
Figure 112019072642432-pat00097
이며, w*는 CNN 가중치를 나타낸다. 또한,
Figure 112019072642432-pat00098
Figure 112019072642432-pat00099
와 같이 n번째 요소를 제외하고 모두 0으로 구성된 W차원 포인트를 나타내며,
Figure 112019072642432-pat00100
값은 일정하게 10-5로 설정될 수 있다.
m과 n은 CNN 가중치의 지수를 나타내고, I는 아이덴티티 행렬을 나타낸다.
대칭 행렬
Figure 112019072642432-pat00101
은 정확한 헤시안(Hessian) 행렬과의 유사한 근사치 사이의 오차가
Figure 112019072642432-pat00102
이기 때문에 작은 근사치 오류를 포함할 수 있다. 헤시안(Hessian)
Figure 112019072642432-pat00103
는 양정치 행렬(positive definite)이 아닐 수 있으므로 대각 행렬
Figure 112019072642432-pat00104
을 적용하여 양정치 행렬(positive definite)을 만들 수 있다.
본 발명은 s-가중치 집합 sw를 정의하여 trace 근사치 META를 제안한다. 이 방법은 빠르고 실현 가능하며, 동시에 [수학식 21]의 trace에 대한 조건부 구속을 가진다. 본 발명은 trace 근사치를 위한 볼록 대각 행렬 원리를 구축한다.
본 발명은 계산 효율성 향상을 위해 s-가중치 설정 sw를 하기와 같이 정의한다.
정의 1: s-가중치 설정 sw는 CNN 가중치에 할당되는 지수들의 서브셋으로, 여기서 sw의 각 요소는 헤시안(Hessian) 행렬
Figure 112019072642432-pat00105
의 블록 대각 행렬 행 또는 열 지수이다.
정의 1를 [수학식 21]에 적용하여 사용한다.
매개변수
Figure 112019072642432-pat00106
를 IIM&META에 의해 획득하면, [수학식 20]에 제안된 목적 함수는 역전파 과정 또는 그 변형으로 최소화할 수 있다. 일반적인 학습 방법은 CNN 객관적 기능을 반복적으로 최적화하므로, 본 발명의 실시예에 따라 제안된 방법은 매개변수
Figure 112019072642432-pat00107
Figure 112019072642432-pat00108
의 해결책을 동시에 얻어 반복적으로 최소화할 수 있다.
도 2는 기존의 접근법과 본 발명의 실시예에 따른 분류 신경망 학습 방법을 이용하여 학습 시간을 비교한 결과 그래프를 도시한 것이고, 도 3은 기존의 접근법과 본 발명의 실시예에 따른 분류 신경망 학습 방법을 이용하여 성능을 비교한 결과 표를 도시한 것이다.
도 2를 참조하면, 본 발명의 실시예에 따라 제안된 기법(IIM&META)이 기존의 기법들(예를 들면, GRID, DROPOUT) 보다 시간이 훨씬 적게 걸리는 것을 알 수 있다.
또한, 도 3을 참조하면, 기존의 기법들(예를 들면, GRID, DROPOUT)과 본 발명의 실시예에 따라 제안된 기법(IIM&META)을 통한 학습된 신경망의 성능인 분류 정확도가 비슷한 것을 알 수 있다.
즉, 전술한 실험 결과에 기반하여 본 발명의 실시예에 따른 심층 콘볼루션 신경망의 학습 방법 및 그 장치는 성능이 좋은 거대 신경망(large-scale neural networks or deep neural networks)을 빠른 시간 내에 학습할 수 있으며, 1년 걸리는 거대 신경망의 학습시간을 약 1달 내지 2달로 단축 가능할 수 있다. 이 때, 거대 신경망이란 깊은 신경망을 뜻하거나 신경망 가중치의 정보량이 기가바이트(Gigabyte) 급을 나타낸다. 일반적으로, 깊은 신경망은 은닉층 개수가 3개 이상인 경우를 일컫는다.
이러한 장점으로, 본 발명은 동일한 시간에 더 높은 성능의 신경망 구조를 획득할 수 있다.
도 4는 본 발명의 실시예에 따른 분류 신경망 학습 장치의 세부 구성을 블록도로 도시한 것이다.
도 4를 참조하면, 본 발명의 실시예에 따른 분류 신경망 학습 장치는 베이지안(Bayesian) 확률 분포와 목적 함수(objective function)를 통해 감쇠 매개변수에 대한 분석을 공식화하여 계산 효율을 향상시킨다.
이를 위해, 본 발명의 실시예에 따른 분류 신경망 학습 장치(400)는 초기화부(410), 학습부(420) 및 출력부(430)를 포함한다.
초기화부(410)는 심층 콘볼루션 신경망(DCNN)의 가중치 감쇠(Weight decay) 값을 초기화한다. 초기화부(410)는 가중치 감쇠 값을 ‘0’으로 설정할 수 있다.
이후에 학습부(420)는 베이지안(Bayesian) 확률 분포와 관련하여 심층 콘볼루션 신경망(DCNN)에서 도출되는 가중치 감쇠 값을 이용하여 심층 콘볼루션 신경망을 학습한다.
예를 들면, 학습부(420)는 심층 콘볼루션 신경망을 학습하는 도중에 출력되는 심층 콘볼루션 신경망의 최종 층에서의 출력 정보 및 산출되는 가중치 감쇠 값을 입력으로 하여 심층 콘볼루션 신경망을 학습할 수 있다. 이 때, 상기 출력 정보는 신경망 학습 중 출력되는 정보를 일컫으며, 학습 정보일 수 있다.
학습부(420)는 가중치 감쇠 값을 결정하는 심층 콘볼루션 신경망을 훈련하기 위해 베이지안 확률 분포와 관련된 두 개의 매개변수를 포함한 멀티클래스 분류 과정을 포함할 수 있다. 이 때, 학습부(420)는 출력 정보 및 가중치 감쇠 값을 획득하기 위해 두 개의 매개변수를 모델링하는 멀티클래스 분류 과정을 수행할 수 있다.
출력부(430)는 심층 콘볼루션 신경망에 테스트 데이터(validation data)를 입력하여 테스트 에러 값을 출력한다.
출력부(430)는 학습된 심층 콘볼루션 신경망에 테스트 데이터를 입력 후, 테스트 에러 값을 산출하며, 산출된 테스트 에러 값을 출력할 수 있다. 이에, 본 발명의 실시예에 따른 분류 신경망 학습 장치(400)는 계산시간을 최소화할 수 있다.
비록, 도 4의 장치에서 그 설명이 생략되었더라도, 본 발명에 따른 장치는 상기 도 1 내지 도 3에서 설명한 모든 내용을 포함할 수 있다는 것은 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 (12)

  1. 초기화부, 학습부 및 출력부를 포함하는 분류 신경망 학습 장치에 의해 수행되는 분류 신경망 학습 방법에 있어서,
    상기 초기화부가 심층 콘볼루션 신경망(DCNN)의 가중치 감쇠(Weight decay) 값을 초기화하는 단계;
    상기 학습부가 베이지안(Bayesian) 확률 분포와 관련하여 상기 심층 콘볼루션 신경망(DCNN)에서 도출되는 상기 가중치 감쇠 값을 이용하여 상기 심층 콘볼루션 신경망을 학습하는 단계; 및
    상기 출력부가 상기 심층 콘볼루션 신경망에 테스트 데이터(validation data)를 입력하여 테스트 에러 값을 출력하는 단계
    를 포함하는 분류 신경망 학습 방법.
  2. 제1항에 있어서,
    상기 초기화하는 단계는
    상기 초기화부가 상기 가중치 감쇠 값을 ‘0’으로 초기화하는, 분류 신경망 학습 방법.
  3. 제1항에 있어서,
    상기 심층 콘볼루션 신경망을 학습하는 단계는
    상기 학습부가 상기 심층 콘볼루션 신경망을 학습하는 도중에 출력되는 상기 심층 콘볼루션 신경망의 최종 층에서의 출력 정보 및 산출되는 상기 가중치 감쇠 값을 입력으로 하여 상기 심층 콘볼루션 신경망을 학습하는, 분류 신경망 학습 방법.
  4. 제3항에 있어서,
    상기 심층 콘볼루션 신경망을 학습하는 단계는
    상기 학습부가 상기 가중치 감쇠 값을 결정하는 상기 심층 콘볼루션 신경망을 훈련하기 위해 상기 베이지안 확률 분포와 관련된 두 개의 매개변수를 포함한 멀티클래스 분류 단계를 포함하는, 분류 신경망 학습 방법.
  5. 제4항에 있어서,
    상기 멀티클래스 분류 단계는
    상기 학습부가 상기 출력 정보 및 상기 가중치 감쇠 값을 획득하기 위해 상기 두 개의 매개변수를 모델링하는 것을 특징으로 하는, 분류 신경망 학습 방법.
  6. 제1항에 있어서,
    상기 에러 값을 출력하는 단계는
    상기 출력부가 학습된 상기 심층 콘볼루션 신경망에 상기 테스트 데이터를 입력 후, 상기 테스트 에러 값을 산출하며, 상기 산출된 테스트 에러 값을 출력하는, 분류 신경망 학습 방법.
  7. 심층 콘볼루션 신경망(DCNN)의 가중치 감쇠(Weight decay) 값을 초기화하는 초기화부;
    베이지안(Bayesian) 확률 분포와 관련하여 상기 심층 콘볼루션 신경망(DCNN)에서 도출되는 상기 가중치 감쇠 값을 이용하여 상기 심층 콘볼루션 신경망을 학습하는 학습부; 및
    상기 심층 콘볼루션 신경망에 테스트 데이터(validation data)를 입력하여 테스트 에러 값을 출력하는 출력부
    를 포함하는 분류 신경망 학습 장치.
  8. 제7항에 있어서,
    상기 초기화부는
    상기 가중치 감쇠 값을 ‘0’으로 초기화하는, 분류 신경망 학습 장치.
  9. 제7항에 있어서,
    상기 학습부는
    상기 심층 콘볼루션 신경망을 학습하는 도중에 출력되는 상기 심층 콘볼루션 신경망의 최종 층에서의 출력 정보 및 산출되는 상기 가중치 감쇠 값을 입력으로 하여 상기 심층 콘볼루션 신경망을 학습하는, 분류 신경망 학습 장치.
  10. 제9항에 있어서,
    상기 학습부는
    상기 가중치 감쇠 값을 결정하는 상기 심층 콘볼루션 신경망을 훈련하기 위해 상기 베이지안 확률 분포와 관련된 두 개의 매개변수를 포함한 멀티클래스 분류 과정을 포함하는, 분류 신경망 학습 장치.
  11. 제10항에 있어서,
    상기 학습부는
    상기 출력 정보 및 상기 가중치 감쇠 값을 획득하기 위해 상기 두 개의 매개변수를 모델링하는 상기 멀티클래스 분류 과정을 수행하는 것을 특징으로 하는, 분류 신경망 학습 장치.
  12. 제7항에 있어서,
    상기 출력부는
    학습된 상기 심층 콘볼루션 신경망에 상기 테스트 데이터를 입력 후, 상기 테스트 에러 값을 산출하며, 상기 산출된 테스트 에러 값을 출력하는, 분류 신경망 학습 장치.
KR1020190085593A 2019-07-16 2019-07-16 심층 콘볼루션 신경망의 학습 방법 및 그 장치 KR102248975B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190085593A KR102248975B1 (ko) 2019-07-16 2019-07-16 심층 콘볼루션 신경망의 학습 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190085593A KR102248975B1 (ko) 2019-07-16 2019-07-16 심층 콘볼루션 신경망의 학습 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20210009059A KR20210009059A (ko) 2021-01-26
KR102248975B1 true KR102248975B1 (ko) 2021-05-07

Family

ID=74310253

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190085593A KR102248975B1 (ko) 2019-07-16 2019-07-16 심층 콘볼루션 신경망의 학습 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102248975B1 (ko)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Bayesian Weight Decay on Bounded Approximation for Deep Convolutional Neural Networks. 조성호, 박정국. IEEE. 2019.01.16.
On different facets of regularization theory. Z Chen, S Haykin - Neural Computation, 2002 - MIT Press.
Regularization parameter estimation for feedforward neural networks. P Guo, MR Lyu, CLP Chen - IEEE Transactions on Systems …, 2003 - ieeexplore.ieee.org
Regularization theory and neural networks architectures. F Girosi, M Jones, T Poggio - Neural computation, 1995 - MIT Press

Also Published As

Publication number Publication date
KR20210009059A (ko) 2021-01-26

Similar Documents

Publication Publication Date Title
US11604956B2 (en) Sequence-to-sequence prediction using a neural network model
US11093826B2 (en) Efficient determination of optimized learning settings of neural networks
US20190130273A1 (en) Sequence-to-sequence prediction using a neural network model
US20200265301A1 (en) Incremental training of machine learning tools
Yao et al. Policy gradient based quantum approximate optimization algorithm
CN110956260A (zh) 神经架构搜索的系统和方法
EP3295381B1 (en) Augmenting neural networks with sparsely-accessed external memory
WO2020081229A1 (en) Automatic feature subset selection using feature ranking and scalable automatic search
Umlauft et al. Learning stable Gaussian process state space models
US11775610B2 (en) Flexible imputation of missing data
US11416654B2 (en) Analysis apparatus using learned model and method therefor
CN112184508A (zh) 一种用于图像处理的学生模型的训练方法及装置
US20200286095A1 (en) Method, apparatus and computer programs for generating a machine-learning system and for classifying a transaction as either fraudulent or genuine
Kamada et al. A structural learning method of restricted Boltzmann machine by neuron generation and annihilation algorithm
US20190138929A1 (en) System and method for automatic building of learning machines using learning machines
JP7178513B2 (ja) ディープラーニングに基づく中国語単語分割方法、装置、記憶媒体及びコンピュータ機器
Makantasis et al. Rank-r fnn: A tensor-based learning model for high-order data classification
CN112925909B (zh) 一种考虑局部不变性约束的图卷积文献分类方法及系统
US20200265307A1 (en) Apparatus and method with multi-task neural network
Cook et al. Robust airfoil optimization and the importance of appropriately representing uncertainty
KR102366302B1 (ko) 준 지도 학습을 위한 오토인코더 기반 그래프 설계
KR102248975B1 (ko) 심층 콘볼루션 신경망의 학습 방법 및 그 장치
US20230229570A1 (en) Graph machine learning for case similarity
WO2021143686A1 (zh) 神经网络定点化方法、装置、电子设备及可读存储介质
US20220318684A1 (en) Sparse ensembling of unsupervised models

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right