KR20200063041A - 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법 및 장치 - Google Patents

아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법 및 장치 Download PDF

Info

Publication number
KR20200063041A
KR20200063041A KR1020190128678A KR20190128678A KR20200063041A KR 20200063041 A KR20200063041 A KR 20200063041A KR 1020190128678 A KR1020190128678 A KR 1020190128678A KR 20190128678 A KR20190128678 A KR 20190128678A KR 20200063041 A KR20200063041 A KR 20200063041A
Authority
KR
South Korea
Prior art keywords
neural network
network model
candidate
learning
candidate solution
Prior art date
Application number
KR1020190128678A
Other languages
English (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 US16/696,061 priority Critical patent/US20200167659A1/en
Publication of KR20200063041A publication Critical patent/KR20200063041A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 기본 신경망 모델을 가변길이 문자열 형태로 표현한 후보해를 변형하여 후보해 집합을 생성하는 단계; 상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하는 단계; 목표 유효 성능을 만족하는 제 1 후보해가 나타내는 신경망 모델을 제 1 신경망 모델로 선정하는 단계; 상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하는 단계; 목표 유효 성능을 만족하는 제 2 후보해가 나타내는 신경망 모델을 최종 신경망 모델로 선정하는 단계를 포함하는, 신경망 학습 방법을 개시한다.

Description

아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법 및 장치{METHOD AND APPARATUS FOR LEARNING A NEURAL NETWORK USING UNSUPERVISED ARCHITECTURE VARIATION AND SUPERVISED SELECTIVE ERROR PROPAGATION}
본 발명은 비지도 학습 및 지도 학습을 이용한 신경망 학습 방법 및 장치에 관한 것으로, 더욱 상세하게는 비정제된 데이터 또는 매우 고차원의 특성을 갖는 데이터를 효율적으로 훈련하는 신경망 학습 방법 및 장치에 관한 것이다.
컴퓨터 비전 분야에서 큰 성과를 보여주고 있는 신경망 기반의 심화학습(Deep Learning) 방법론은 자연어 처리, 음성 합성, 지식 전이, 멀티모달(Multimodal) 학습, 자동화 기계학습(Automated Machine Learning; AutoML) 등의 영역으로 빠르게 확장되고 있다.
특히, 딥 러닝 방법 중에서 합성곱 신경망(Convolution Neural Network; CNN)을 이용한 이미지 분류, 객체 인식, 세그멘테이션(Segmentation) 서비스 분야는 이미 인간의 지능과 유사하거나 더 뛰어난 수준에 도달했다. 또한, 종래 딥 러닝 방법과는 전혀 다른 기술적 사상을 기반으로 한 인공지능 대표 알고리즘인 강화학습(Reinforcement Learning), 생성적 적대 신경망(Generative Adversarial Networks; GAN)등을 포함하는 딥 러닝 방법으로 변화하고 있다.
전술한 바와 같은 기술적 진보에 기반하여 원시 데이터의 정제 및 분석을 통한 새로운 통찰력을 획득하여 서비스에 신속하게 반영하는 것이 곧 기업 생산성으로 직결되도록 산업 패러다임이 변화하고 있으나, 현재의 딥 러닝 방법은 학습 연산량 및 신경망 모델 크기 측면에서 기술적 한계를 드러내고 있다.
첫 번째로 과도한 매개변수화(Over Parameterization)가 문제된다. 즉, 제조 공정을 운용하는 기업, 인터넷 서비스 사업자, 사물 인터넷 서비스 제공자 등은 거대 데이터를 실시간으로 발생시키는 시스템을 운용하고 있는 바, 효율적인 데이터 분석을 위해서는 대단위 규모 분석을 지원하는 별도의 신경 네트워크 구조 및 관련 기법을 고안해야 하나, 종래 학습 기법은 데이터 특성간의 상관 관계 해석이 어려운 고차원 데이터의 표현력을 습득하기 위해 기하급수적으로 증가하는 특성을 갖는 하이퍼파라미터(Hyperparameter)를 훈련시켜야 하는 문제가 있다.
두 번째로 데이터 의존성(Data Dependency)이 문제된다. 즉, 최근 각광받는 신경 네트워크 기반의 데이터 분석 기법들은 특정 데이터 도메인에서만 그 추론의 효과를 인정받고 있고, 데이터 종속형 특수 신경망들은 대부분 지도학습을 기반으로 하고 있어 정답(Labeled Data)이 미비한 데이터의 경우 사실상 학습이 불가능한 구조적 단점이 존재한다.
마지막으로 전반적인 계산(Computational Overhead) 상 문제점이 존재한다. 즉, 경사하강 기반 오류 역전파 기법은 깊은 신경망 상에서의 학습에 가장 널리 사용되는 보편적인 가중치 학습 알고리즘이나, 훈련시 가장 큰 컴퓨팅 자원을 요구하고, 학습 모델 병렬화가 어려운 구조를 갖고 있다. 또한, 경사하강 기반 오류 역전파 기법은 인간의 뇌 신경망이 실제로는 비대칭적으로 학습된다는 현상을 고려하지 않은 형태로 모사한 기법으로, 두뇌의 동작 메커니즘이 정확히 반영되지 못하고 있다. 또한, 오류 역전파시 입력 층으로 갈수록 학습이 잘 수행되지 못하는 문제도 존재한다.
전술한 바와 같은 딥 러닝 방법의 기술적 한계를 해결하기 위해 이진화(Banalization), 가지치기(Pruning), 드랍아웃(Drop-out), 양자화(Quantization) 등의 모델 압축 기법들이 제안된 바 있으나, 이는 신경망이 목표 데이터 측면에서 원하는 수준의 표현력을 획득하도록 토폴로지 구성을 최적화하기 보다는 가중치의 단순화, 뉴런(Neuron) 간의 연결 삭제 등과 같은 단편적인 방법에 의존하고 있어, 딥 러닝 방법의 기술적 한계를 근본적으로 극복하지 못하고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 목표 데이터의 주요 특징을 훼손시키지 않으면서 신경망 훈련의 효율(연산량, 학습 시간, 모델 크기, 하이퍼파라미터 개수 등) 및 추론의 정확도(손실 값 등)를 효과적으로 개선할 수 있는 아키텍처 변이에 기반한 비지도 학습 및 선택적 오류 전파에 기반한 지도 학습을 이용한 신경망 학습 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 과도한 매개변수화(Over Parameterization)로 인해 긴 학습 시간을 요구하는 대형 신경망 모델 문제, 특정 목표 데이터에 종속된 특수 신경망 모델의 서비스 적용 한계성, 가장 큰 훈련 연산량을 요구하는 오류 역전파 기반 가중치 갱신 기법의 단점, 기존 신경망 모델 압축 기법의 낮은 구조적 자유도로 인한 인공지능 신경망 모델 경량화 저해와 같은 주요한 기술적 과제를 해결하기 위한 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예 따른 신경망 학습 방법은, 기본 신경망 모델을 가변길이 문자열 형태로 표현한 후보해를 변형하여 후보해 집합을 생성하는 단계; 상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하는 단계; 목표 유효 성능을 만족하는 제 1 후보해가 나타내는 신경망 모델을 제 1 신경망 모델로 선정하는 단계; 상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하는 단계; 목표 유효 성능을 만족하는 제 2 후보해가 나타내는 신경망 모델을 최종 신경망 모델로 선정하는 단계를 포함할 수 있다.
본 발명에 따른 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법은, 아키텍처 변이 기반의 비지도 학습을 실시함으로써 데이터 정보의 일관성을 확보할 수 있게 한다. 즉, 훈련 데이터의 심화 표현력(Deep Representation)을 학습하기 위한 전처리 단계로서, 정답이 포함되지 않은 비정제 훈련 데이터에 대해서도 해당 데이터의 주요 특징을 학습할 수 있게 한다. 따라서, 데이터 사전 분류(Clustering), 이상 값(Outlier) 제거 또는 차원 축소(Dimension Reduction)가 가능하다.
또한, 아키텍처 변이 기반의 비지도 학습을 실시함으로써 학습 가속화 및 신경망 모델 구조 최적화를 가능하게 한다. 즉, 신경망 모델을 병렬 처리하여 학습함으로써 학습을 가속화할 수 있고, 비정제 훈련 데이터의 특징을 가중치뿐만 아니라 신경망 구조로서 표현되도록 학습할 수 있다.
본 발명에 따른 아케틱처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법은, 선택적 오류 전파 기반의 지도 학습을 실시함으로써 지도 학습 연산 경량화를 가능하게 한다. 즉, 정답이 포함된 정제 훈련 데이터가 주어질 경우, 학습 오류에 큰 영향을 미치는 가중치 행렬 값이 우선적으로 학습에 반영되어 가중치 행렬이 갱신되도록 함으로써, 지도학습의 연산 경량화에 기여할 수 있고, 동시에 학습의 정확도를 높일 수 있다.
도1은 본 발명의 일 실시예에 따른 신경망 학습 장치를 설명하기 위한 개념도이다.
도2는 본 발명의 일 실시예에 따른 정교한 조정신경망 학습 방법을 신경망 구조 및 데이터 훈련의 관점에서 설명하기 위한 개념도이다.
도3은 본 발명의 일 실시예에 따른 비정제 훈련 데이터를 이용한 아키텍처 변이 기반 비지도 신경망 학습 방법의 동작 순서도이다.
도4는 본 발명의 일 실시예에 따른 비지도 신경망 학습 방법에서 신경망 모델을 1차원 가변길이 문자열 형태로 인코딩하는 방법을 설명하기 위한 개념도이다.
도5는 본 발명의 일 실시예에 따른 비지도 신경망 학습 방법에서 1차 아키텍처 변이 기반 학습 방법을 설명하기 위한 개념도이다.
도6은 본 발명의 일 실시예에 따른 비지도 신경망 학습 방법에서 2차 아키텍처 변이 기반 학습 방법을 설명하기 위한 개념도이다.
도7은 2차 아키텍쳐 변이를 통해 새로운 특성을 갖는 후보해에 기반하여 구성된 새로운 후보해 집합을 설명하기 위한 개념도이다.
도8은 본 발명의 일 실시예에 따른 정제된 훈련 데이터를 이용한 선택적 오류 전파 기반 지도 신경망 학습 방법의 동작 순서도이다.
도9는 본 발명의 일 실시예에 따른 정제된 훈련 데이터를 이용한 선택적 오류 전파 기반 지도 신경망 학습 방법을 설명하기 위한 개념도이다.
도10은 본 발명의 일 실시예에 따른 신경망 학습 방법의 동작 순서도이다.
도11은 본 발명의 다른 실시예에 따른 신경망 학습 장치의 블록 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도1은 본 발명의 일 실시예에 따른 신경망 학습 장치를 설명하기 위한 개념도이다.
본 발명의 일 실시예에 따른 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 장치(1000)는 학습 준비부(1100), 비지도 학습부(1200), 지도 학습부(1300) 및 추론부(1400)로 구성될 수 있으며, 학습 장치를 구성하는 각 개별 부서는 단일한 물리 시스템 또는 상이한 시스템 상에서 실행되어 운용될 수 있다.
한편, 비정제 훈련 데이터 집합(1010)은 정답(Label)을 포함하지 않았거나 일부 데이터에 대한 정답만을 포함하는 훈련용 데이터를 의미할 수 있다. 따라서, 비정제 훈련 데이터 집합은 지도 학습에 기반한 훈련에는 사용될 수 없다.
또한, 기본 신경망 모델 저장소(1020)는 목표 응용 서비스에서 필요로 하는 데이터 분석에 활용될 수 있는 기본 또는 공통 신경망 모델을 저장 관리하는 개체(Entity)를 의미할 수 있다.
또한, 정제된 훈련 데이터 집합(1030)은 정답(Label)을 포함하는 훈련용 데이터를 의미할 수 있다. 또한, 정제된 훈련 데이터에 집합(1030)은 큰 규모의 데이터이면서 정답 제공의 정도가 작은 경우 또는 작은 규모의 데이터이면서 대다수의 데이터가 정답을 제공하는 경우도 포함될 수 있다. 따라서, 정제된 훈련 데이터 집합은 지도 학습에 기반한 훈련에 사용될 수 있다. 또한, 정제 훈련 데이터 집합은 추론부(1400)에서 이용할 정제된 훈련 데이터를 저장하고 관리할 수 있다.
한편, 학습 준비부(1100)는 데이터 요구사항 분석 모듈(1110) 및 신경망 모델 초기화 모듈(1120)로 구성될 수 있다.
여기서, 데이터 요구사항 분석 모듈(1110)은 비정제 훈련 데이터 집합(1010)으로부터 취득한 데이터 유형(예를 들어, 이미지, 텍스트, 음성, 시계열 데이터 등), 특성(Features) 또는 목표 응용 서비스에서 요구하는 추론의 목적 등을 분석할 수 있다.
또한, 신경망 모델 초기화 모듈(1120)은 저장된 신경망 모델에 대한 구조를 해석하는 기능, 해석된 결과를 기반으로 디코딩(Decoding)하여 신경망 구조를 구성하는 기능, 디코딩 된 결과물을 메모리 상의 프로세스 인스턴스(Instance) 형태로 적재하는 일련의 기능을 수행할 수 있다.
한편, 비지도 학습부(1200)는 비지도 학습된 신경망 모델 저장소(1210), 신경망 후보해 관리 모듈(1220), 신경망 구조 및 가중치 평가 모듈(1230), 후보해 병렬 배치 모듈(1240) 및 쎄타 변이 학습 모듈(1250)로 구성될 수 있다.
여기서, 비지도 학습된 신경망 모델 저장소(1210)는 아키텍처 변이 기반 비지도 학습을 통해 최종적으로 획득한 신경망 모델을 저장 및 관리할 수 있고, 비지도 학습부(1200)의 외부에 위치하도록 구성될 수 있다.
또한, 신경망 모델 후보해 관리 모듈(1220)은 상기 신경망 모델 초기화 모듈(1120)로부터 수신한 기본 신경망 모델을 해석한 것에 기반하여 신경망 구조 및 수치적 특성을 파악할 수 있다. 또한, 1차원 벡터 형상의 가변길이 문자열로 신경망 모델을 인코딩하여 후보해를 생성하고, 해당 후보해 상에 임의적으로 변경을 가하여 다수의 후보해를 생성하여 초기 후보해 집합을 산출할 수 있다.
또한, 신경망 구조 및 가중치 평가 모듈(1230)은 후보해 집합에 속하는 개별 후보해의 성능을 평가하여 신경망 학습 장치의 목표 유효 성능이 만족할 경우 비지도 학습된 신경망 모델 저장소(1210)에 해당 후보해를 전달할 수 있다. 이때 전달되는 후보해를 최적해라고 명명할 수 있다. 한편, 신경망 구조 및 가중치 평가 모듈은 개별 후보해의 성능을 평가하기 위해 비정제 훈련 데이터를 후보해가 구성하는 신경망 모델에 입력 전파(Feed Forwarding)하는 기능을 포함할 수 있다.
또한, 후보해 병렬 배치 모듈(1240)은 멀티 쓰레딩(Multi-threading), 멀티 코어(Multi-Core), 멀티 지피유(Multi-GPU), 멀티 머신(Multi-Machine) 등의 처리 기법을 이용하여 후보해 집합의 일부 또는 개별 후보해를 배포하는 기능을 수행할 수 있다.
또한, 쎄타 변이 학습 모듈(1250)은 기본 신경망 구조 및 가중치를 1차원 가변길이 문자열 형태의 후보해로 인코딩하고 변이시키는 기능을 수행할 수 있고, 쎄타 변이 학습 모듈에 의하여 변이되어 획득된 새로운 후보해들은 신경망 모델 후보해 관리 모듈(1220)로 전달될 수 있다. 여기서, 쎄타는 최종 획득한 신경망 토폴로지 구조, 가중치 및 편향치 값들을 통칭하는 용어로서 전술한 값들의 조합이 주어진 비정제 훈련 데이터를 얼마나 잘 표현하고 있는지 여부를 결정할 수 있다.
한편, 지도 학습부(1300)는 의사 역 가중치 초기화 모듈(1310), 오류 전파 경로 설정 모듈(1320), 정제 데이터 입력 처리 모듈(1330), 목표 성능 평가 모듈(1340) 및 가중치 갱신 및 저장 모듈(1350)로 구성될 수 있다.
여기서, 의사 역 가중치 초기화 모듈(1310)은 비지도 학습된 신경망 모델 저장소(1210)로부터 획득한 신경망 모델을 해석할 수 있고, 가중치 갱신을 위해 이용할 의사 역 가중치를 구성하거나 초기화할 수 있다.
또한, 오류 전파 경로 설정 모듈(1320)은 비지도 학습된 신경망 모델 저장소(1210)로부터 획득한 신경망 모델로부터 개별 가중치 행렬의 밀도 값을 계산할 수 있고, 밀도 값에 따라 가중치 행렬의 중요도를 차등화할 수 있다. 따라서, 상대적으로 중요도가 높은 가중치 행렬이 위치한 계층을 식별할 수 있고, 가중치 갱신을 위한 오류 전파시 해당 계층을 분기점으로 설정할 수 있다.
또한, 정제 데이터 입력 처리 모듈(1330)은 정제 훈련 데이터 집합(1030)으로부터 데이터를 획득할 수 있고, 신경망 모델에 적합한 형태로 데이터 형상 및 구조를 변경하는 등의 가공 처리를 수행할 수 있다. 또한, 입력 데이터를 신경망 모델에 입력 전파(Feed Forwarding)하는 기능을 수행할 수 있다.
또한, 목표 성능 평가 모듈(1340)는 신경망 모델의 출력 계층에서 발생한 오류 즉, 예측 값과 정답의 차이를 계산할 수 있고, 신경망 학습 장치의 목표 성능 만족 여부를 확인할 수 있다. 따라서, 신경망 학습 장치의 목표 성능이 충족되었다고 판단된 경우, 추론부의 지도 학습된 신경망 모델 저장소(1410)로 학습이 완료된 신경망 모델을 전달할 수 잇다.
또한, 가중치 갱신 및 저장 모듈(1350)은 상기 설정된 의사 역 가중치 행렬과 오류 전파의 분기 계층에 기반하여 신경망 모델의 출력 계층에서 발생한 오류를 출력 계층에서 입력 계층 쪽으로 역으로 전파할 수 있고, 각 계층의 가중치 행렬이 오류를 유발하는데 기여한 정도(오류 차분 값)를 계산할 수 있다. 이어서, 계층 별 오류 차분 값을 이용하여, 각 계층의 가중치 행렬의 갱신값을 산출함으로써 새롭게 갱신된 가중치 행렬을 생성할 수 있다.
한편, 추론부(1400)는 지도 학습된 신경망 모델 저장소(1410), 응용 서비스 추론 모듈(1420) 및 추론 및 성능 모니터링 모듈(1430)로 구성될 수 있다.
여기서, 지도 학습된 신경망 모델 저장소(1410)는 지도 학습 서브 시스템(1300)에 의해서 학습이 완료된 신경망 모델을 저장하고 관리할 수 있다.
또한, 응용 서비스 추론 모듈(1420)은 지도 학습된 신경망 모델 저장소로부터 획득한 신경망 모델 및 정제 훈련 데이터 집합으로부터 획득한 데이터를 이용하여 응용 서비스의 요구에 맞는 추론을 수행할 수 있다. 예를 들어, 응용 서비스의 요구에 맞는 추론은 데이터 분류, 식별, 변환, 예측 등이 될 수 있다.
또한, 추론 및 성능 모니터링 모듈(1430)은 추론의 결과를 실시간 확인하여, 제 3의 개체(1500)로 전달하거나, 결과를 누적하는 등의 기능을 수행할 수 있다.
한편, 제 3의 개체(1500)는 상기 추론부(1400) 로부터 획득된 추론 결과 및 성능 지표를 이용하는 외부 개체를 의미할 수 있다. 예를 들어, 제3의 개체는 외부 시스템, 목표 응용 서비스, 서비스 관리자, 서비스 이용자 등이 될 수 있다.
상기 부서 및 모듈은 여러 시스템 구성 중 고려될 수 있는 하나의 예시이며 목표 데이터의 종류, 서비스 운영방침, 컴퓨팅 자원의 구성 현황 등에 따라 통상의 관련 연구자나 개발자가 고려할 수 있는 여타의 기능 장치들이 병합 또는 연동의 형태로 추가될 수 있다.
도2는 본 발명의 일 실시예에 따른 정교한 조정신경망 학습 방법을 신경망 구조 및 데이터 훈련의 관점에서 설명하기 위한 개념도이다.
도 2를 참조하여, 본 발명을 살펴보면 본 발명의 일 실시예에 따른 신경망 학습 방법은 이미지 분류를 위한 기본 신경망 모델을 생성하는 단계(S200)를 포함할 수 있다. 한편, 이미지 분류를 위한 기본 신경망 모델은 목표 응용 서비스에서 요구하는 영역(Domain)의 데이터를 기반으로 추론 기능을 수행하는데 이용된 종래의 신경망 모델 또는 유사 추론을 수행하는데 유용한 신경망 모델을 의미할 수 있다. 또한, 신경망 모델은 완전 연결 신경망(Fully-connected Neural Network), 방향성 비순환 그래프(Directed Acyclic Graph), 스타 그래프(Star Graph), 랜덤 그래프(Random Graph), 합성곱 신경망(Convolutional Neural Network), 순환 신경망(Recurrent Neural Network) 등과 같은 다양한 신경망 구조를 수용할 수 있다. 한편, 기본 신경망 모델이 주어지지 않은 경우, 신경망을 구성하는 전체 뉴런 수가 적고 깊이가 얕으며 가중치 연결이 적은 형태의 임의로 초기화된 신경망 모델이 이용될 수 있다.
이어서, 본 발명의 일 실시예에 따른 신경망 학습 방법은 아키텍처 변이 기반 비지도 학습 단계(S210)를 포함할 수 있다. 더욱 구체적으로는, 훈련되지 않은 기본 신경망 모델에 비정제 훈련 데이터를 입력함으로써 유사한 특성을 갖는 데이터들을 군집화할 수 있고, 단순히 가중치 변형을 통해 비정제 훈련 데이터 간의 상관성을 분석하는 것이 아니라 신경망 구조 변이를 통해 데이터의 주요 특징을 학습할 수 있다. 이와 같은 비지도 학습을 통해 지도 학습이 가속화될 수 있다. 또한, 유효성 평가 함수(Fitness Function)는 목표 유효 성능 수치를 계산할 수 있다.
또한, 본 발명의 일 실시예에 따른 신경망 학습 방법은 선택적 오류 전파 기반 지도 학습 단계(S220)를 포함할 수 있다. 여기서, 선택적 오류 전파 기반 지도 학습 단계는 정제된 훈련 데이터 및 아키텍처 변이 기반 비지도 학습된 신경망 모델을 기반으로 이미지 분류의 정확도를 높이기 위한 훈련을 수행하는 단계를 포함할 수 있다. 한편, 손실 함수(Loss Function)는 목표 유효 성능 수치를 계산하는 오류 평가 함수를 의미할 수 있다.
또한, 본 발명의 일 실시예에 따른 신경망 학습 방법은 훈련이 완료된 신경망을 이용하여 추론하는 단계(S230)를 포함할 수 있다. 여기서, 추론하는 단계는 신규 훈련 데이터 및 선택적 오류 전파 기반 지도 심화 학습된 신경망 모델을 기반으로 이미지 분류 목적의 추론을 수행하는 단계를 포함할 수 있다.
도 3은 본 발명의 일 실시예에 따른 비정제 훈련 데이터를 이용한 아키텍처 변이 기반 비지도 신경망 학습 방법의 동작 순서도이다.
도 3은, 도1의 비지도 학습부(1200) 및 도2의 아키텍처 변이 기반 비지도 학습 단계(S210)에서 수행되는 비정제 훈련 데이터를 이용한 아키텍처 변이 기반 비지도 신경망 학습 방법을 구체적으로 설명하기 위한 동작 순서도이다.
본 발명의 일 실시예에 따른 신경망 학습 방법은 비정제 훈련 데이터를 획득하는 단계(S1000)를 포함할 수 있고, 목표 응용 서비스에서 추론 목적에 부합되는 기본 신경망 모델을 획득하는 단계(S1100)를 포함할 수 있다. 다만, 적합한 기본 신경망 모델이 존재하지 않을 경우, 간단한 구조를 갖는 임의의 신경망 모델을 형성하여 활용할 수 있다.
또한, 유효성 평가 함수를 선정하는 단계(S1110)를 포함할 수 있다. 예를 들어, 변이된 신경망 모델이 주어진 데이터를 잘 표현하고 있는지를 평가 기준으로 유효성 평가 함수를 선정할 수 있다. 또한, 지도 학습에서 주로 사용되는 손실 함수를 유효성 평가 함수로 이용할 수도 있다. 또한, 훈련 반복 횟수도 학습 지속 또는 중단의 지표로서 활용될 수 있다. 또한, 여러 지표들을 조합하여 유효성 평가 함수를 구성할 수도 있다. 결과적으로, 유효성 평가 함수를 어떻게 정의하느냐에 아키텍처 변이의 방향성이 설정될 수 있다. 즉, 유효성 평가 함수는 신경망 모델의 구조 변경 및 가중치 갱신의 제약 조건이 될 수 있다.
또한, 아키텍처 변이 기반 비지도 신경망 학습 수행시 병렬 처리의 정도를 결정하는 단계(S1120)를 포함할 수 있다. 아키텍처 변이 기반 비지도 학습시 병렬 처리를 가능하게 함으로써 비지도 학습의 가속화를 가능하게 할 수 있다. 예를 들어, 병렬 처리는 멀티 코어, 그래픽 처리장치(Graphic Processing Unit; GPU), 또는 복수의 컴퓨팅 자원에 의해 수행될 수 있다. 여기서, 상기 복수의 컴퓨팅 자원은 노드 또는 병령 노드라고 명명할 수 있다.
여기서, 비지도 학습의 가속화를 위해 병렬 처리의 정도(Degree Of Parallelism; DOP)를 구체적으로 결정하는 단계(S1130)를 포함할 수 있다. 한편, DOP의 크기가 2 이상으로 설정된 경우라면 분할된 후보해 집합을 배포하는 단계(S1140)를 진행할 수 있고, DOP의 크기가 2 미만으로 설정된 경우라면 비정제 훈련 데이터 입력 및 개별 후보해를 평가하는 단계(S1300)를 진행할 수 있다.
또한, 기본 신경망 모델 구조를 분석하고, 신경망 학습에 필요한 가중치가 주어지지 않은 경우 임의의 가중치 값으로 초기화하고, 신경망 구조와 초기화된 가중치를 이용하여 가변길이 문자열 형태의 후보해를 생성하는 단계(S1200)를 포함할 수 있다.
또한, 신경망 구조와 초기화된 가중치를 이용하여 획득한 최초의 후보해를 이용하여 복수의 후보해들을 생성하는 단계(S1210)를 포함할 수 있다. 이때, 추가 후보해들은 최초 후보해의 임의의 연결 구조를 추가 또는 삭제하거나, 가중치 값을 변경하는 등과 같은 방법으로 생성될 수 있다. 즉, 복수의 후보해들을 생성하는 단계를 통해 기본 신경망 모델과는 조금씩 상이한 구조 또는 가중치 값들로 형성된 다수의 신경망 모델이 확보될 수 있고, 생성된 전체 후보해들을 후보해 집합이라고 명명할 수 있다.
또한, 생성된 후보해 집합의 크기(후보해의 개수)가 기 설정된 개수만큼 생성되었는지 여부를 확인하는 단계(S1220)를 포함할 수 있다. 여기서, 기 설정된 개수만큼 후보해 집합이 구성되었다면 다음 단계를 진행할 수 있고, 기 설정된 개수만큼 후보해 집합이 구성되지 않았다면 임의의 연결 구조를 추가하거나 삭제하고, 가중치 값을 임의의 값으로 초기화하여 후보해를 생성하는 단계(S1200)를 반복 수행할 수 있다. 이어서, DOP의 크기가 2 이상으로 설정되어 적어도 둘 이상의 병렬 노드 상에서 비지도 학습을 수행해야 하는 경우, 전체 후보해 집합을 이용할 병렬 노드 개수만큼 분할하여 배포하는 단계를 포함할 수 있다. 이때, 각 병렬 노드에 배포된 후보해 집합을 후보해 서브 집합(Subset)으로 명명할 수 있다.
또한, DOP의 크기가 2 미만으로 설정된 경우, 개별 후보해는 신경망의 뉴런 간 연결구조 및 가중치 정보를 포함하고 있는 바 전체 또는 일부 후보해 집합에 속한 개별 후보해가 구성하는 하나의 신경망 모델에 비정제 훈련 데이터를 입력 전파(Feed Forwarding)하여 결과 및 성능 지표를 산출하는 단계(S1300)를 포함할 수 있다. 여기서, 결과 및 관련 성능 지표는 상기 유효성 평가 함수에 따라 정량적으로 계산될 수 있다. 한편, 비정제 훈련 데이터의 입력은 특정 배치(Batch) 단위로 분할되어 입력될 수 있다.
또한, 유효성 평가 함수 및 유효 성능 지표를 산출하여 유효 성능을 만족시키는 후보해가 후보해 집합에 하나 이상 존재하는지 여부를 확인하는 단계(S1400)를 포함할 수 있다. 여기서, 유효 성능을 만족하는 후보해가 하나 이상 존재한다면, 해당 후보해를 최적 신경망으로 지정(S1500)하고 1차적으로 학습을 종료할 수 있다. 한편, 유효 성능을 만족하는 후보해는 하나 이상 확보될 수 있고, 최적의 후보해 및 관련 결과는 저장 및 관리될 수 있다. 또한, 유효 성능을 만족하는 후보해가 존재하지 않는 경우, 전체 병렬 노드에 저장된 전체 후보해 집합으로부터 개별 후보해를 선택하는 단계(S1310)가 진행될 수 있다.
여기서, 전체 병렬 노드에 저장된 전체 후보해 집합으로부터 개별 후보해를 선택하는 단계(S1310)를 구체적으로 살펴보면, 다수의 병렬 노드(DOP가 2 이상이도록 설정된 경우)들에 분포되어 있거나, 단일 병렬 노드(DOP가 1로 설정된 경우)에 저장된 전체 후보해 집합으로부터 두 개의 후보해를 확률적으로 선택하는 단계를 포함할 수 있다. 확률적 선택을 위한 방법으로는 높은 유효 성능 지표를 갖는 후보해의 선택 확률이 높도록 설정될 수 있다. 또한, 후보해 집합으로부터 특정 개수만큼 임의로 후보해들을 선택하고, 그 중에서 가장 높은 유효 성능 지표를 갖는 후보해를 선택하는 방법을 이용하여 두 개의 후보해를 최종적으로 지정할 수 있다. 또한, 선택된 두 개의 후보해는 각각 가변길이 문자열 형태의 1차원 벡터 형상으로 인코딩될 수 있다. 한편, 병렬 노드는 병렬 처리를 수행하는 컴퓨팅 자원을 의미할 수 있다.
또한, 상기 전체 병렬 노드에 저장된 전체 후보해 집합으로부터 개별 후보해를 선택하는 단계(S1310)에서 선택된 두 개의 후보해를 병합(1차 아키텍처 변이)하여 1차 변이된 후보해 하나를 획득하는 단계(S1320)를 포함할 수 있다. 한편, 병합은 상기 두 개의 후보해로부터 또 다른 특성을 갖는 신규 신경망 모델을 생성하는 기능이라 할 수 있다. 여기서, 특성이라 함은 신경망 모델의 토폴로지(Topology) 및 표현력(Representation)을 의미할 수 있다. 특히, 1차 아키텍처 변이는 주어진 비정제 훈련 데이터의 특성을 가장 잘 표현할 수 있는 신경망 구조 및 가중치 값들을 탐색함에 있어 후보해의 다양성(Diversity)을 높여 전체 탐색 공간 상에서 전역 탐색이 가능하도록 할 수 있다.
또한, 1차 변이된 신규 후보해를 2차 아키텍처 변이 수행하여 2차 변이된 후보해를 획득하는 단계(S1330)를 포함할 수 있다. 여기서, 2차 아키텍처 변이에 의해 1차 변이된 신규 후보해는 특성 변화가 발생할 수 있다. 한편, 2차 아키텍처 변이 과정은 가중치 수정, 뉴런 간 연결 제거, 뉴런 간 연결 추가, 뉴런 제거, 뉴런 추가와 같이 구분될 수 있고 확률적 선택에 의해 개별적으로 또는 조합하여 수행될 수 있다.
구체적으로 살펴보면, 가중치 수정이란, 신경망을 구성하는 개별 계층 간에는 반드시 주어진 데이터의 표현력을 정량적으로 습득하기 위한 가중치 행렬이 존재하므로 신규 후보해의 특정 개수만큼 임의 가중치 값들을 변경함으로써 주어진 비정제 훈련 데이터의 표현력 학습 강도를 계층 또는 뉴런 별로 조정하는 것을 의미할 수 있다.
한편, 뉴런 간 연결 제거란, 각기 다른 계층에 존재하는 두 뉴런 사이의 연결을 제거하는 것이 비정제 훈련 데이터의 표현력을 학습하는데 있어 두 뉴런 간의 상관 관계가 없다는 것을 의미할 수 있고, 학습에 필요하지 않은 파라미터들을 제거함으로써 학습에 요구되는 연산량 및 메모리를 경량화시킬 수 있는 것을 의미할 수 있다.
한편, 뉴런 간 연결 추가란, 상기 뉴런 간 연결 제거와 달리 비정제 훈련 데이터의 표현력을 학습 구조로 확장하는 2차 아키텍처 변이 방법을 의미할 수 있다. 예를 들어, 첫 번째 계층에 속한 뉴런에서 세 번째 계층에 속한 뉴런으로 신규 연결을 추가할 경우, 두 번째 계층에 상기 두 뉴런 간의 연결을 중계하는 별도의 새로운 뉴런이 추가될 수 있다. 또한, 세 뉴런 간의 연결 강도를 결정하는 가중치 값들이 임의로 초기화되어 주어질 수 있다.
한편, 뉴런 제거란, 2차 아키텍처 변이 방법에서 새로운 후보해에서 특정 개수만큼 뉴런을 제거함으로써 신경망 모델을 축소하는 기능을 수행하는 것을 의미할 수 있다. 또한, 뉴런이 삭제되면 해당 뉴런과 관련된 연결이 모두 소실될 수 있다. 또한, 특정 뉴런의 삭제로 인해 연결을 모두 잃은 제 3의 뉴런이 발생한다면 해당 뉴런은 추가적으로 제거될 수 있다.
한편, 뉴런 추가란, 2차 아키텍처 변이 방법에서 새로운 후보해를 대상으로 특정 개수의 뉴런을 임의 계층에 추가하는 것을 의미할 수 있다. 또한, 임의의 가중치로 초기화된 연결을 갖는 형태로 신규 뉴런이 추가되거나, 아무런 연결이 존재하지 않는 형태로 신규 뉴런이 추가될 수 있다.
또한, 기 정한 후보해 집합 크기만큼 새로운 후보해 개수가 1차 아키텍처 변이 및 2차 아키텍처 변이 방법을 수행하여 확보되었는지 여부를 확인하는 단계(S1340)를 포함할 수 있다. 여기서, 기 정한 후보해 집합 크기와 동일한 새로운 후보해 집합이 획득되었다면 신경망 모델에 비정제 훈련 데이터를 입력하여 결과 및 성능 지표를 산출하는 단계(S1300)를 수행할 수 있고, 기 정한 후보해 집합 크기보다 새로운 후보해 개수가 적은 경우 두 개의 임의 후보해를 선택하고 추출하여 1차 아키텍처 변이 및 2차 아키텍처 변이 과정을 거쳐 추가적으로 새로운 후보해를 획득하는 단계(S1310, S1320, S1330, S1340)들을 반복하여 수행할 수 있다.
전술한 내용은 논리적으로 단일한 쓰레드, 프로세스, 물리적으로 독립된 CPU 코어, GPU 코어 또는 별도의 컴퓨팅 기기에 의해 병렬적으로 수행될 수 있다.
도 4는 본 발명의 일 실시예에 따른 비지도 신경망 학습 방법에서 신경망 모델을 1차원 가변길이 문자열 형태로 인코딩하는 방법을 설명하기 위한 개념도이다.
도4를 참조하면, 기본 신경망 모델은 세 개의 뉴런(뉴런 1, 2, 3)으로 구성된 입력 계층(Layer) 1, 네 개의 뉴런(뉴런 4, 5, 6, 7)으로 구성된 은닉(Hidden) 계층 2, 두 개의 뉴런(뉴런 8, 9)으로 구성된 출력(Output) 계층 3으로 구성될 수 있다.
한편, 입력 계층과 은닉 계층 사이에는 가중치 행렬이 존재할 수 있고, 은닉 계층과 출력 계층 사이에도 가중치 행렬이 존재할 수 있다. 예를 들어, 뉴런1과 뉴런4를 연결하는 가중치 값은 a일 수 있고, 뉴런2와 뉴런6을 연결하는 가중치 값은 g일 수 있다. 여기서, 하이폰(-)으로 표기된 요소 값은 두 뉴런 간의 연결이 존재하지 않는 것을 의미할 수 있다. 또한, 알파벳 소문자로 표기된 a 내지 t는 임의의 부동 소수점 값을 의미할 수 있다.
또한, 상기 기본 신경망 모델은 신경망 구조, 뉴런 연결 관계, 가중치 행렬이라는 세 가지 요소로 구성될 수 있고, 후보해 인코딩 스키마는 세 가지 요소를 모두 반영할 수 있어야 한다. 따라서, 수학식 1과 같이, 인코딩 된 후보해(Encoded Candidate Solution)의 i번째 후보해(Si)는 신경망 구조를 문자열로 표기한 Ni와 뉴런의 연결관계 및 가중치 행렬을 문자열로 표기한 Ci 로 표현될 수 있다.
Figure pat00001
또한, 기본 신경망의 구조는 1차원 벡터 형상의 가변길이 문자열로 표기(Ni)할 수 있다. 예를 들어, (1, 1)에서 첫 번째 1은 뉴런 1을 의미할 수 있고, 두 번째 1은 입력 계층을 의미할 수 있다. 또한, (5, 2)에서 5는 뉴런 5를 의미할 수 있고, 2는 은닉 계층을 의미할 수 있다. 즉, 은닉 계층에 뉴런 5가 존재함을 의미할 수 있다. 즉, 특정 계층에 속하는 뉴런은 수학식 2와 같이, (뉴런 색인 번호, 계층 색인 번호) 형식의 2-튜플(2-Tuple)로 정의될 수 있고, 각 튜플은 세미콜론(Semicolon)을 구분자(Delimiter)로 이용할 수 있다.
Figure pat00002
또한, 기본 신경망의 연결관계 및 가중치 행렬은 1차원 벡터 형상의 가변길이 문자열로 표기(Ci)할 수 있다. 예를 들어, (1,4,a)는 뉴런 1과 뉴런 4 사이에 연결이 존재하며, 연결의 강도를 나타내는 가중치 값이 a라는 것을 의미할 수 있다. 또한, (6,8,q)는 뉴런 6과 뉴런 8이 연결되어 있으며, 연결의 강도를 나타내는 가중치 값이 r이라는 것을 의미할 수 있다. 즉, 임의 두 뉴런 간의 연결 및 연결강도는 수학식 3과 같이, (뉴런, 뉴런, 가중치 값) 형식의 3-튜플로 정의될 수 있고, 각 튜플은 세미콜론을 이용하여 구분될 수 있다.
Figure pat00003
전술한 후보해 인코딩 방법은 가중치만을 고려하였으나, 편향치를 고려한 형태의 인코딩 방법으로 용이하게 확장될 수 있다.
도5는 본 발명의 일 실시예에 따른 비지도 신경망 학습 방법에서 1차 아키텍처 변이 기반 학습 방법을 설명하기 위한 개념도이다.
도5를 살펴보면, i 번째 후보해 집합(Pi, 5000)에서i는 도 3의 비정제된 훈련 데이터를 입력하고 개별 후보해를 평가하는 단계(S1300)부터 새로운 후보해 집합을 획득하는 단계(S1340)를 반복하여 획득한 후보해 집합의 세대(Generation) 횟수(Index)를 의미할 수 있다. 한편, i 값은 1보다 크고 임의 설정된 임계치 T보다 작은 수로 가정할 수 있다. 여기서, 도 5 및 수학식 4에 나타낸 X는 1차 아키텍처 변이를 나타내는 병합 기호일 수 있다.
또한, 후보해 1(5010)은 전체 병렬 노드로부터 후보해 집합에 속한 개별 후보해를 선택하는 단계(S1310)를 거쳐 선택된 첫 번째 후보해를 의미할 수 있다. 또한, 후보해 1을 i 번 째 후보해 집합에 속하는 x 번 째 후보해(Si x)라고 표현할 수 있다.
또한, 후보해 2(5020)는 전체 병렬 노드들로부터 후보해 집합에 속한 개별 후보해를 선택하는 단계(S1310)를 거쳐 선택된 두 번째 후보해를 의미할 수 있다. 또한, 후보해 2를 i 번 째 후보해 집합에 속하는 y 번 째 후보해(Si y)라고 표현할 수 있다.
또한, 도 5를 살펴보면, 상기 후보해1을 신경망 모델로 도시화(5011)하고, 상기 후보해2를 신경망 모델로 도시화(5021)한 것을 기반으로 두 후보해를 1차 아키텍처 변이(병합)하여 생성한 신규 후보해(5031)를 도시화하고 있다. 즉, 수학식 4와 같이 후보해 1과 후보해 2를 병합하여 신규 후보해를 도출할 수 있다. 여기서, 신규 후보해는 i+1번 째 후보해 집합을 구성하는 k 번째 후보해라고 가정할 수 있다.
Figure pat00004
또한, 후보해1 및 후보해 2는 수학식 5, 수학식6과 같이 후보해 인코딩 스키마에 따라 1차원 가변길이 문자열 형상으로 표현될 수 있다.
Figure pat00005
Figure pat00006
또한, 도 5를 살펴보면, 문자열 형상으로 표현한 후보해1(5012) 및 후보해2(5022)를 병합하여 도출한 신규 후보해(5032)를 신경망 모델의 뉴런 연결관계를 고려하여 인코딩한 것을 도시화하고 있다. 한편, 도 5는 수학식 5 및 수학식 6과 달리 후보해 1(5012), 후보해 2(5022) 및 신규 후보해(5032)의 병합을 통한 1차 아키텍처 변이 과정을 약식으로 도시화한다, 후보해 1 및 후보해2를 병합하는 것을 구체적으로 살펴보면, 동일 뉴런 연결이 존재하는 경우 예를 들어, (1,4)는 뉴런 1과 뉴런 4가 연결되어 있음을 의미할 수 있으며, 두 후보해에 동일하게 (1,4) 연결이 존재함을 확인할 수 있다. 이 경우, 임의로 둘 중 하나의 후보해를 선택하여 신규 후보해의 첫 번째 요소(Element)를 구성할 수 있다. 이와 같은 방법으로 두 후보해에 동일하게 존재하는 뉴런 연결 (1,6), (1,7), (2,6), (2,7), (4,8), (4,9), (6,8), (6,9), (7,9)을 신규 후보해에 반영할 수 있다.
또한, 뉴런 연결이 한 후보해에만 존재하는 경우 예를 들어, (1,5)는 후보해 1에만 존재하므로, 그대로 신규 후보해의 두 번째 요소로 반영할 수 있다. 또한, (2,4), (3,4), (3,5), (3,7), (5,9), (7,8), (8,10), (9,10)도 동일한 방법으로 단순 병합되어 신규 후보해를 구성할 수 있다.
또한, 뉴런 연결이 없는 경우 예를 들어, 두 후보해 모두 (5,8) 뉴런 연결을 제공하지 않으므로 신규 후보해에 반영될 내용이 없는 것으로 간주할 수 있다.
상기와 같은 후보해 병합을 통해 최종 1차 변이된 신규 후보해를 획득할 수 있고 신규 후보해는 수학식 7과 같이 표현될 수 있다. 따라서, 1차 아키텍처 변이를 통해 구조 및 가중치가 모두 변이된 새로운 특성을 갖는 후보해(Si+1 k)가 획득될 수 있다.
Figure pat00007
도6은 본 발명의 일 실시예에 따른 비지도 신경망 학습 방법에서 2차 아키텍처 변이 기반 학습 방법을 설명하기 위한 개념도이다.
도6을 참조하면, 2차 아키텍처 변이는 가중치 수정, 뉴런 간 연결 제거, 뉴런 간 연결 추가, 뉴런 제거, 뉴런 추가와 같이 구분될 수 있고, 후보해의 특성을 변경 처리하고자 할 때, 단독으로 또는 조합하여 적용될 수 있다. 또한, 2차 아키텍처 변이는 신경망 모델의 수치적 특성 변경 및 구조적 특성 변경 모두를 반영하여 적용될 수 있다.
또한, 1차 아키텍처 변이를 통해 획득한 신규 후보해(Si+1 k)에서 2차 아키텍처 변이의 한 방식인 가중치 수정을 수행하여 산출한 후보해(Si+1 k1)를 신경망 형태로 도시화(5031) 할 수 있다. 먼저, 가중치 수정은 기 정의한 확률 값에 따라 복수개의 뉴런 연결을 선택하여 가중치 값들을 변경할 수 있다. 또한, 랜덤 샘플링 (Random Sampling) 방법을 이용하여 임의 가중치 값들을 변경할 수 있다.
한편, 수학식 8은 1차 아키텍처 변이를 통해 획득한 신규 후보해(Si+1 k)에서 임의의 가중치 값을 4-포인트 가중치 변이 방식을 적용하여 변경한 경우를 나타낸 것이다. 여기서, Mwm은 가중치 수정(Weight Modification; WM) 함수를 의미할 수 있다. 따라서, 상기 수학식 7과 수학식8을 비교하면, 가중치 행렬이 (2,7,1.2)에서 (2,7,1.35)로 변경되어 가중치가 수정된 것을 알 수 있고, 또한, (5,9,3.12)에서 (5,9,2.97)로, (7,8,2.1)에서 (7,8,2.01)로 (8,10,0.65)에서 (8,10,0.942)로 각 뉴런 연결의 가중치 값이 수정된 것을 확인할 수 있다. 여기서, 가중치 수정 적용 전의 후보해와 적용 후의 후보해를 구분하기 위해 아래첨자 k와 k1을 각각 구분하여 사용할 수 있다. 한편, 가중치 수정의 자유도를 제한하기 위해 기존 가중치 값 대비 최소 또는 최대 변경 폭을 설정할 수 있다. 또한, 기존 신규 후보해의 뉴런 구조를 표현하는 Ni+1 k 의 경우 가중치 수정으로 인한 영향을 받지 않으므로 그대로 유지되나, 적용 후의 뉴런 구조를 나타내므로 수학식 9와 같이 Ni+1 k1으로 표현될 수 있다. 결과적으로, 수학식 10과 같이 신규 후보해에 가중치 수정을 적용하여 변이된 후보해 Si+1 k1을 획득할 수 있다.
Figure pat00008
Figure pat00009
Figure pat00010
또한, 변이된 후보해 Si+1 k1를 대상으로 2차 아키텍처 변이의 한 방식인 뉴런 간 연결 제거를 수행하여, 획득한 후보해 Si+1 k2 를 신경망 형태로 도시화(5041) 할 수 있다. 즉, 후보해 Si+1 k1에서 입력 계층의 뉴런 2와 첫 번째 은닉 계층의 뉴런 6 간의 연결을 제거하면, 수학식 11과 같이 새로운 뉴런 연결 구조를 표현하는 1차원 벡터 Ci+1 k2 가 도출될 수 있다. 여기서, 뉴런 간 연결 제거 적용 전의 후보해와 적용 후의 후보해를 구분하기 위해 아래첨자 k1와 k2를 각각 구분하여 사용할 수 있다.
따라서, 수학식 11에서 수학식 8과 비교하여 가중치 행렬 (2,6,0.2)이 삭제됨으로써 뉴런 연결이 삭제된 것을 확인할 수 있다. 한편, Mcr은 연결 제거(Connection Removal; CR) 함수를 의미할 수 있다. 또한, 뉴런 2는 (2,4,2.2), (2,7,1.35)와 같은 연결 구조를 유지하고, 뉴런 6은 (1,6,2.77), (6,8,0.2), (6,9,0.56)와 같은 연결 구조를 유지하고 있으므로 뉴런 연결 제거로 인해 뉴런 연결이 삭제되지 않는 것을 알 수 있다. 또한, 후보해 Si+1 k1의 뉴런 구조를 표현하는 Ni+1 k1 의 경우 뉴런 연결 제거로 인한 영향을 받지 않으므로 그대로 유지되나, 뉴런 연결 제거 적용 후의 뉴런 구조를 나타내므로 수학식 12와 같이 Ni+1 k2으로 표현될 수 있다. 결과적으로, 수학식 13과 같이 후보해 Si+1 k1 에 뉴런 간 연결 제거를 적용하여 변이된 후보해 Si+1 k2을 획득할 수 있다.
Figure pat00011
Figure pat00012
Figure pat00013
또한, 후보해 Si+1 k2 를 대상으로 2차 아키텍처 변이의 한 방식인 뉴런 간 연결 추가를 수행하여, 획득한 후보해 Si+1 k3 를 신경망 형태로 도시화(5051)할 수 있다. 즉, 후보해 Si+1 k2 에서 입력 계층의 뉴런 3과 첫 번째 은닉 계층의 뉴런 6 간의 연결을 추가하면, 수학식 14와 같이 새로운 연결 구조를 표현하는 1차원 벡터 Ci+1 k3 가 도출될 수 있다. 한편, 뉴런 간 연결 추가 적용 전의 후보해와 적용 후의 후보해를 구분하기 위해 아래첨자 k2와 k3를 각각 구분하여 사용할 수 있다. 수학식 14에서 수학식 11과 비교하여 가중치 행렬 (3,6,0.892)이 추가되어 뉴런 연결이 추가된 것을 확인할 수 있다. 여기서, Mca는 연결 추가(Connection Addition; CA) 함수를 의미할 수 있다. 또한, 후보해 Si+1 k2 의 뉴런 구조를 표현하는 Ni+1 k2 의 경우 뉴런 연결 추가로 인한 영향을 받지 않으므로 그대로 유지되나, 뉴런 연결 추가 적용 후의 뉴런 구조를 나타내므로 수학식 15와 같이 Ni+1 k3으로 표현될 수 있다. 결과적으로, 수학식 16과 같이 후보해 Si+1 k2 에 뉴런 간 연결 추가를 적용하여 변이된 후보해 Si+1 k3을 획득할 수 있다.
Figure pat00014
Figure pat00015
Figure pat00016
또한, 후보해 Si+1 k3 를 대상으로 2차 아키텍처 변이의 한 방식인 뉴런 제거를 수행하여, 획득한 후보해 S i+1 k4 를 신경망 형태로 도시화(5061)할 수 있다. 즉, 후보해 Si+1 k3 에서 첫 번째 은닉 계층의 뉴런 7을 제거하면, 수학식 17에서 수학식 14와 비교하여 가중치 행렬 (1,7,0.2), (2,7,1.35), (3,7,3.2), (7,8,2.01) (7,9,0.23)이 삭제됨으로써 뉴런 연결 관계가 소실된 새로운 Ci+1 k4 가 도출될 수 있다. 한편, 뉴런 제거 적용 전의 후보해와 적용 후의 후보해를 구분하기 위해 아래첨자 k3와 k4를 각각 구분하여 사용할 수 있다. 여기서, Mnr은 뉴런 제거(Neuron Removal; NR) 함수를 의미할 수 있다. 또한, 수학식 18에서 수학식 7과 비교하여, 뉴런 7이 제거됨에 따라 후보해 Si+1 k3 의 신경망 모델 구조(Ni+1 k3)에서 (7,2) 튜플이 삭제된 형태로 후보해 Si+1 k4 의 신경망 모델 구조(Ni+1 k4)가 산출될 수 있다. 결과적으로, 수학식 19와 같이 후보해 Si+1 k3 에 뉴런 제거를 적용하여 변이된 후보해 Si+1 k4을 획득할 수 있다.
Figure pat00017
Figure pat00018
Figure pat00019
또한, 상기 서술한 뉴런 간 연결 추가와 달리 비연속적 계층에 존재하는 뉴런 간 연결 추가에 대해 도시화(5071, 5081)할 수 있다. 특히, 후보해 Si+1 k4를 대상으로 2차 아키텍처 변이의 한 방식인 뉴런 간 연결 추가를 수행 시 신경망 모델 상에서의 새로운 연결 관계를 도시화(5071)할 수 있다.
또한, 후보해 Si+1 k4 에서 첫 번째 은닉 계층의 뉴런 4와 출력 계층의 뉴런 10 사이에 새로운 뉴런 연결을 추가하면, 두 번째 은닉 계층의 새로운 뉴런 11이 추가된 것을 도시화(5081)할 수 있다, 따라서, 수학식 20과 같이 (11,3) 튜플이 추가된 형태로 후보해 Si+1 k5 의 신경망 모델 구조(Ni+1 k5)가 도출될 수 있고 뉴런의 구조적 변화로 인하여, 첫 번째 은닉 계층의 뉴런 4와 두 번째 은닉 계층의 뉴런 11 사이에 연결이 형성될 수 있고, 두 번째 은닉 계층의 뉴런 11과 출력 계층의 뉴런 10 사이에 연결이 형성될 수 있다. 따라서, 가중치 행렬 (4,11,1.2) 및 (11,10,0.78)을 포함한 형태의 Ci+1 k5 가 수학식 21과 같이 산출될 수 있다. 결과적으로, 수학식 22와 같이 후보해 Si+1 k4 에 뉴런 간 연결 추가를 적용하여 변이된 후보해 Si+1 k5을 획득할 수 있다. 한편, 뉴런 간 연결 추가 적용 전의 후보해와 적용 후의 후보해를 구분하기 위해 아래첨자 k4와 k5를 각각 구분하여 사용할 수 있다.
Figure pat00020
Figure pat00021
Figure pat00022
한편, 비연속적 계층에 존재하는 뉴런 간 연결 추가로 인하여 신규 뉴런이 생성되는 경우에 대해서 설명하였으나, 뉴런 연결 추가 없이 뉴런 자체를 신규로 추가하는 2차 아키텍처 변이 역시 적용될 수 있다.
도7은 2차 아키텍쳐 변이를 통해 새로운 특성을 갖는 후보해에 기반하여 구성된 새로운 후보해 집합을 설명하기 위한 개념도이다.
도7을 참고하면, 전술한 2차 아키텍처 변이 방법을 통해 뉴런 구조 및 가중치가 모두 변이된 새로운 특성을 갖는 후보해 Si+1 k5 가 획득될 수 있고, 후보해 Si+1 k5 는 새로운 후보해 집합 Pi+1을 구성하는 하나의 후보해가 될 수 있다. 한편, 새로운 후보해들이 충분히 산출되면, 새로운 후보해 집합 Pi+1을 구성할 수 있다.
또한, 도 7은 임의의 후보해를 1차원 가변길이 문자열로 표현할 수 있는 벡터(배열)로 도시화한 것이다. 한편, 각 벡터 상에서 색상은 개별 후보해 간 구조적 또는 표현력 측면에서 특성이 상이함을 의미할 수 있다.
도 8은 본 발명의 일 실시예에 따른 정제된 훈련 데이터를 이용한 선택적 오류 전파 기반 지도 신경망 학습 방법의 동작 순서도이다.
도8은, 도 1의 지도 학습부(1300) 및 도2의 선택적 오류 전파 기반 지도 학습 단계(S220)에서 수행되는 정제된 훈련 데이터를 이용한 선택적 오류 전파 기반 지도 신경망 학습 방법을 구체적으로 설명하기 위한 동작 순서도이다.
본 발명의 일 실시예에 따른 신경망 학습 방법은 먼저, 비지도 학습이 완료된 최적의 신경망 모델을 획득하는 단계를 포함할 수 있다. 예를 들어, 획득한 최적의 신경망 모델은 토폴로지 구조 및 가중치 값들로 구성될 수 있다.
또한, 목표 응용 서비스는 획득한 최적의 신경망 모델에 대한 심화학습을 요청하는 단계를 포함할 수 있다. 따라서, 목표 응용 서비스는 최적의 신경망 모델의 가중치 값들이 정교하게 조정(Fine-Tuning)되도록 요청할 수 있다.
또한, 목표 응용 서비스의 추론 목적에 부합되는 정제된 훈련 데이터를 획득하는 단계(S2000)를 포함할 수 있다.
또한, 정제된 훈련 데이터를 이용하여 신경망 모델의 가중치를 정교하게 갱신하기 위해 선택적 오류 전파시 이용할 의사 역 가중치 행렬(Pseudo Reverse Weight Matrix)을 각 계층별로 설정하는 단계(S2100)를 포함할 수 있다. 이때, 의사 역 가중치 행렬의 개별 값들은 부동 소수점 형식을 가지며, 임의적으로 초기화될 수 있다.
또한, 비지도 학습이 완료된 1차 신경망의 각 계층 간 가중치 밀도를 계산하는 단계(S2200)를 포함할 수 있다.
여기서, 가중치 행렬 밀도는 주어진 훈련 데이터의 표현력을 학습하는데 기여한 정도를 상대적으로 나타내는 정량적 수치를 의미할 수 있다. 예를 들어, 사분위수 범위(Interquartile Range)를 이용하여 상대적으로 중요도가 높은 계층과 낮은 계층을 구분할 수 있다. 또한, 가중치 행렬을 구성하는 모든 요소의 평균 또는 총합이 가중치 행렬 밀도로써 활용될 수 있다. 한편, 가중치 행렬 밀도를 산출하면서 각 계층간의 연결 정도를 파악함으로써 활성화된 계층을 구분하는데 기여할 수 있다.
또한, 상대적으로 높은 밀도 값을 갖는 계층을 식별하고, 해당 계층을 선택적 오류 전파의 분기점으로 지정하는 단계(S2210)를 포함할 수 있다. 예를 들어, 상위 10%에 속하는 밀도 값을 갖는 계층을 선택적 오류 전파의 분기점으로 지정하는 것과 같은 방식을 이용할 수 있다. 한편, 입력 계층, 복수의 은닉 계층, 및 출력 계층의 순서로 구성되는 신경망 모델에서 오류 전파 경로는 출력 계층에서 입력 계층 방향으로 설정될 수 있다.
또한, 정제된 훈련 데이터를 신경망 모델에 입력 전파(Feed Forwarding)하여 결과를 확인하는 단계(S2220)를 포함할 수 있다. 한편, 정제된 훈련 데이터의 입력은 특정 배치(Batch) 단위로 분할되어 입력될 수 있다. 여기서, 정제된 훈련 데이터는 전체 또는 일부 정답만을 제공하는 훈련 데이터를 의미할 수 있다.
또한, 정제된 훈련 데이터를 신경망 모델에 입력하여 나타난 결과를 이용하여 손실 함수 값을 산출하는 단계(S2230)를 포함할 수 있다. 예를 들어, 손실 함수는 교차 엔트로피 오차 함수, 평균 제곱 오차 함수 등이 이용될 수 있다. 또한, 신경망 학습 장치의 목표 응용 서비스에 적합한 별도의 정의 함수가 손실 값을 평가하는 목적으로써 활용될 수 있다.
또한, 정제된 훈련 데이터에 기반한 지도 학습을 위해 기 설정된 목표 유효 성능을 만족하는지 여부를 확인하는 단계(S2300)를 포함할 수 있다.
구체적으로는, 신경망 모델에 정제된 훈련 데이터를 입력한 결과를 손실 함수를 이용하여 평가하고, 목표한 유효 손실 값을 달성했는지 여부를 확인하는 단계(S2310)를 포함할 수 있다. 여기서, 신규 획득한 손실 값이 목표 손실 값 보다 작거나 같은 경우를 유효한 성능을 획득한 것으로 판단한다. 또한, 목표 손실 값을 달성한 경우 유효 성능을 만족하는 신경망 모델을 최적의 신경망 모델로 지정하고, 지도 학습을 종료할 수 있다.
또한, 목표 손실 값을 달성하지 못한 경우, 선택적 오류 전파 경로를 따라 각 계층의 오류 차분 값을 계산하는 단계(S2240)를 포함할 수 있다. 여기서, 오류 차분 값은 예측 값에서 정답을 뺀(Substraction) 값을 의미할 수 있고, 전체 오류에서 해당 계층이 상기 오류를 유발하는데 상대적으로 얼마나 기여했는지를 나타내는 지표를 의미할 수 있다.
또한, 초기화된 계층별 의사 역 가중치 행렬, 설정된 선택적 오류 전파 경로, 계산된 각 계층의 오류 차분 값을 이용하여 계층 간의 가중치 행렬 값들을 정교하게 조정하는 단계(S2250)를 포함할 수 있다. 여기서, 계층별 의사 역 가중치 행렬은 한번 초기화되면 변경되지 않을 수 있다. 이어서, 신경망의 각 계층 간 가중치 밀도를 계산하는 단계(S2200)로 이동하여 목표 손실 값을 달성할 때까지 선택적 오류 전파 기반 신경망 학습을 반복 수행할 수 있다.
부가적으로, 선택적 오류 전파 기반 신경망 학습 방법은, 양자화, 이진화 등의 기법을 적용하여 데이터 특징 차원축소 및 모델 크기 압축의 효율을 더욱 높일 수 있다. 한편, 정제된 훈련 데이터에 대한 학습을 미니 배치(mini-Batch)의 형태로 수행할 수 있고, 배치 정규화(Batch-normalization)나 드랍아웃(Drop-Out)과 같은 정규화 기법을 적용하여 과적합 문제를 해결할 수 있다. 또한, 지도 학습은 시그모이드(Sigmoid), 소프트맥스(Softmax), 정류 선형 유닛(Rectified Linear Units; ReLU), 누출정류 선형 유닛(Leaky ReLU), 쌍곡 정점(hyperbolic tangent; tanh), 익스퍼넨셜 선형 유닛(Exponential Linear Units; ELU) 등과 같은 다양한 종류의 활성 함수가 적용될 수 있다. 또한, 파라미터 서버(Parameter Server)를 별도로 두어 선택적 오류 전파 과정을 분산하여 수행함으로써, 심화 학습의 속도를 가속화할 수 있다.
도9는 본 발명의 일 실시예에 따른 정제된 훈련 데이터를 이용한 선택적 오류 전파 기반 지도 신경망 학습 방법을 설명하기 위한 개념도이다.
도9를 참고하면, 한 개의 입력 계층 0, 다섯 개의 은닉 계층 1 내지 5, 및 한 개의 출력 계층 6으로 구성된 신경망 모델을 나타내고, 가중치 행렬 w1 내지 w6 은 각 계층에 존재하는 뉴런 간의 연결 강도를 정량적으로 나타내는 수치를 나타낸다.
한편, 정제된 훈련 데이터가 입력 계층으로부터 첫 번째 은닉 계층으로 입력 전파(Feed Forwarding)되는 과정6은 수학식 23과 같이 표현될 수 있다.
Figure pat00023
여기서, x는 정제된 훈련 데이터로부터 획득한 입력 값, b1 은 첫 번째 은닉 계층의 편향치, a1은 첫 번째 은닉 계층을 통해 도출된 출력 값을 의미할 수 있다. 한편, 개별 계층에서 도출된 출력 값 (a1)은 비선형적 데이터 표현력을 학습시키기 위해 활성함수(f)를 이용하여 수학식 24와 같이 최종 출력 값(h1)을 산출할 수 있다.
Figure pat00024
정제된 훈련 데이터가 입력 계층으로부터 첫 번째 은닉 계층으로 전파되는 과정을 수학식으로 나타낸 것과 같은 방식으로 나머지 은닉 계층들 및 출력 계층에 대한 입력 값 전파를 수학식으로 나타내면, 수학식 25 내지29와 같이 이전 입력 값, 가중치 및 편향치로 표현된 가중합의 형태로 표현될 수 있다.
Figure pat00025
Figure pat00026
Figure pat00027
Figure pat00028
Figure pat00029
또한, 출력 계층의 최종 출력(
Figure pat00030
)은 신경망 모델과 정제된 훈련 데이터를 통해 획득한 예측 값을 의미하며, 정답(y)과의 비교를 통해 오류(e)를 계산하는데 이용될 수 있다. 즉, 수학식 30과 같이 정답과 예측 값의 차이를 계산하여 오류 값을 알 수 있다. 한편, 신경망 학습 성능을 평가하기 위해 손실 함수(fL)및 예측 값을 이용하여 손실 값(L)을 수학식 31과 같이 계산할 수 있다.
Figure pat00031
Figure pat00032
한편, 수학식 32와 같이 오류(e)는 출력 계층의 활성함수 입력 값(ay)에 대비하여 손실 값(L) 이 얼마나 변화하였는지 평가함으로써 산출할 수 있다. 여기서, δ는 오류 차분 값을 의미할 수 있다.
Figure pat00033
또한, 출력 계층 6부터 첫 번째 은닉 계층 1까지 선택적 오류 전파시 사용할 의사 역 가중치 행렬(μ5, μ4, μ3, μ2, μ1)을 설정할 수 있다. 또한, 가중치 행렬 w1 내지 w6의 밀도를 각각 계산할 수 있다.
또한, 네 번째 은닉 계층 4가 손실 값에 미치는 영향이 상대적으로 크다고 가정하고, 가중치 행렬 w3 과 w4 의 업데이트를 위한 오류 전파의 경로가 은닉 계층3 및 은닉 계층 2에 분기되도록 지정할 수 있다.
한편, 손실 값에 미치는 영향이 상대적으로 작은 은닉 계층 간에는 오류가 우측 계층에서 좌측 계층으로 단순 역 전파되는 형태로 가중치 행렬 w2, w5 이 갱신될 수 있다. 또한, 출력 계층 6에서 다섯 번째 은닉 계층 5는 분기 없이 단순 역 전파 형태로 w6이 갱신될 수 있다.
또한, 다섯 번째 은닉 계층 5부터 첫 번째 은닉 계층1 방향으로 각 계층간 가중치 행렬 값이 출력 계층에서 산출된 오류에 얼마나 영향을 미치고 있는지 차례대로 계산할 수 있다. 여기서, 오류에 대한 계층별 영향의 정도를 해당 계층의 오류 차분 값 δa5, δa4, δa3, δa2, δa1 이라 정의할 수 있다. 따라서, 각 계층의 오류 차분 값은 수학식 33 내지37과 같이 산출될 수 있다.
먼저, 수학식 33을 참고하면, 출력 계층과 다섯 번째 은닉 계층간의 오류 전파는 단순 역 전파의 형태가 되고, 다섯 번째 은닉 계층의 출력 값(a5)이 오류에 미치는 영향의 정도를 계산한 결과가 다섯 번째 은닉 계층의 오류 차분 값(δa5)이 될 수 있다. 한편, 여기서, 는 요소별 곱하기(Element-Wise Multiplication) 연산자를 의미할 수 있으며, f’는 활성함수의 도함수(Derivative)를 의미할 수 있다.
특히, 수학식 35 및 36을 참고하면, 두 번째 및 세 번째 은닉 계층은 네 번째 은닉 계층의 오류 차분 값(δa4)을 기반으로 두 은닉 계층의 오류 차분 값 (δa2) 및 (δa3)을 계산하고 있음을 알 수 있다. 따라서, 정제된 훈련 데이터를 학습하여 가중치 행렬을 튜닝(Tuning)하는데 있어 출력 계층의 오류를 기반으로 가중치 행렬 w3과 w4 이 가진 데이터 표현력의 정도를 조정하기보다 학습에 있어 영향력이 크다고 평가된 네 번째 은닉 계층의 오류 차분 값을 이용함으로써 정확한 학습을 수행할 수 있다. 여기서, ∂는 편미분(Partial Derivative)를 의미할 수 있다.
Figure pat00034
Figure pat00035
Figure pat00036
Figure pat00037
Figure pat00038
또한, 가중치 행렬 w1 내지w6의 갱신 값δw1 내지δw6 이 다음 수학식 38 내지 43에 의해 결정될 수 있다. 여기서, T는 전치 행렬(Transposed Matrix)를 의미할 수 있다.
Figure pat00039
Figure pat00040
Figure pat00041
Figure pat00042
Figure pat00043
Figure pat00044
이어서, 가중치 행렬 w1 내지w6 은 수학식 44와 같이 갱신될 수 있다. 여기서, i는 가중치 행렬의 식별 번호를 의미할 수 있고, 도9를 참고하면, i는 1 내지 6 사이의 값을 가질 수 있다. 한편, η는 가중치 행렬의 갱신 값에 영향을 미치는 환경 변수로 고려될 수 있다.
Figure pat00045
한편, 계층별 의사 역 가중치 행렬 설정, 가중치 행렬 밀도 측정, 선택적 오류 전파 경로 지정, 정제된 훈련 데이터 입력, 손실함수 평가, 선택적 오류 전파 및 가중치 행렬 업데이트와 관련한 처리 방법은 목표 손실 값 달성시까지 반복 수행될 수 있다.
도 10은 본 발명의 일 실시예에 따른 신경망 학습 방법의 동작 순서도이다.
본 발명의 일 실시예에 따른 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법은 먼저, 정답(Label)이 부여되지 않은 비정제 훈련 데이터를 획득하는 단계(S1000)를 포함할 수 있다.
이어서, 상기 비정제 훈련 데이터에 기반한 추론 결과를 이용하여, 목표 응용 서비스를 위한 기본 신경망 모델을 요청하고 획득하는 단계(S1100)를 포함할 수 있다. 여기서, 기본 신경망 모델이 주어지지 않는 경우, 임의로 생성된 작은 규모의 신경망을 활용할 수 있다.
이어서, 기본 신경망 모델의 모든 가중치를 초기화하고, 신경망의 구조와 가중치 값을 표현할 수 있는 형태의 가변길이 문자열 스키마(schema)를 이용하여 변이된 형태의 후보해를 다수 생성하는 단계(S1200)를 포함할 수 있다. 여기서, 생성한 복수의 후보해들을 후보해 집합으로 명명할 수 있다.
이어서, 아키텍처 변이 과정을 통해 후보해들의 구조 및 가중치 값을 변화시켜 다른 유형의 후보해 집합을 생성하고, 비정제 훈련 데이터를 개별 후보해가 구성하는 신경망 모델에 입력하여 목표 유효 성능 지표를 산출하는 단계(S1300)를 포함할 수 있다. 여기서, 특정 크기로 분할된 후보해의 일부 집합 또는 개별 후보해는 각기 다른 컴퓨팅 자원 상에서 병렬로 처리될 수 있다.
이어서, 비정제 훈련 데이터를 대상으로 하는 비지도 학습을 위해 기 설정된 신경망 학습 장치의 목표 성능 수치를 만족하는 후보해가 하나 이상 존재하는지 여부를 확인하는 단계(S1400)를 포함할 수 있다. 여기서, 신경망 학습 장치의 목표 유효 성능을 만족하는 후보해가 존재한다면, 해당 후보해를 기반으로 비지도 학습이 완료된 1차 신경망을 구성하고, 신경망 학습 장치의 목표 유효 성능을 만족하는 후보해가 존재하지 않는다면 상기 아키텍처 변이 과정을 통해 변이된 후보해 집합을 생성하는 단계(S1300)를 반복 수행할 수 있다.
또한, 정답이 부여된 정제 훈련 데이터를 획득하는 단계(S2000)를 포함할 수 있다.
이어서, 지도 학습 기반의 2차 가중치를 정교하게 조정하기(Fine-Tuning) 위해 선택적 오류 전파에 사용될 의사 역 가중치를 설정하는 단계(S2100)를 포함할 수 있다.
이어서, 비지도 학습이 완료된 1차 신경망의 각 계층 간 가중치 밀도를 계산하고, 상대적으로 높은 밀도 수치를 갖는 가중치 행렬의 우측 계층을 오류 전파의 분기점으로 지정하는 단계(S2200)를 포함할 수 있다.
이어서, 정제된 훈련 데이터를 입력하여 지도 학습을 수행하는 중 기 설정된 신경망 학습 장치의 목표 유효 성능을 만족하는지 여부를 확인하는 단계를 포함할 수 있다. 여기서, 신경망 학습 장치의 목표 유효 성능을 만족하도록 가중치 값들이 갱신되었다면 지도 학습된 2차 신경망을 최종적으로 획득하고, 신경망 학습 장치의 목표 유효 성능을 만족하도록 가중치 값들이 갱신되지 않았다면 상기 정제된 훈련 데이터 입력 및 선택적 오류 전파를 통하여 지도 학습 기반의 2차 가중치를 갱신하는 단계(S2300)를 반복 수행할 수 있다.
또한, 상기 비정제 훈련 데이터 및 정제된 훈련 데이터와 동일하거나 유사한 도메인(Domain)에 속하는 신규 훈련 데이터를 획득하는 단계(S3000)를 포함할 수 있다. 이어서, 상기 신규 훈련 데이터와 상기 획득한 2차 신경망을 이용하여 목표 응용 서비스에서 요구하는 유형의 추론을 수행하는 단계(S3100)를 포함할 수 있다. 이어서, 추론 결과 및 추론 성능의 지표를 획득하고 확인하는 단계(S3200)를 포함할 수 있다.
도 11은 본 발명의 다른 실시예에 따른 신경망 학습 장치의 블록 구성도이다.
본 발명의 일 실시예에 따른 신경망 학습 장치(1000)는 적어도 하나의 프로세서(1001), 상기 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리(1002) 및 네트워크와 연결되어 통신을 수행하는 송수신 장치(1003)를 포함할 수 있다.
신경망 학습 장치(1000)는 또한, 입력 인터페이스 장치(1004), 출력 인터페이스 장치(1005), 저장 장치(1006) 등을 더 포함할 수 있다. 신경망 학습 장치(1000)에 포함된 각각의 구성 요소들은 버스(Bus)(1007)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(1001)는 메모리(1002) 및 저장 장치(1006) 중에서 적어도 하나에 저장된 프로그램 명령(Program Command)을 실행할 수 있다. 프로세서(1001)는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(1002) 및 저장 장치(1006) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(1002)는 읽기 전용 메모리(Read Only Memory, ROM) 및 랜덤 액세스 메모리(Random Access Memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
저장 장치(1006)는 또한, 비지도 학습 결과로 생성된 최적의 신경망 모델 및 지도 학습 결과로 생성된 최적의 신경망 모델을 저장할 수 있다.
여기서, 적어도 하나의 명령은 기본 신경망 모델을 가변길이 문자열 형태로 표현한 후보해를 변형시켜 후보해 집합을 생성하도록 하는 명령; 상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하도록 하는 명령; 목표 유효 성능을 만족하는 제 1 후보해가 나타내는 신경망 모델을 제 1 신경망 모델로 선정하도록 하는 명령; 상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하도록 하는 명령; 및 목표 유효 성능을 만족하는 제 2 후보해가 나타내는 신경망 모델을 최종 신경망 모델로 선정하도록 하는 명령을 포함할 수 있다.
여기서, 기본 신경망 모델을 가변길이 문자열 형태로 표현한 후보해는, 뉴런의 연결관계 및 뉴런 간 연결강도와 관련된 가중치를 표현한 가중치 행렬과 신경망 구조를 표현한 행렬을 포함할 수 있다.
또한, 상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하도록 하는 명령은, 병렬 처리 정도(Degree of Parallelism; DOP)에 기반하여 아키텍처 변이 기반 비지도 학습을 병렬로 수행할 수 있다.
또한, 상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하도록 하는 명령은, 상기 후보해 집합 중에서 두 개의 후보해를 병합하여 제 1 후보해를 획득하도록 하는 명령을 포함할 수 있다.
또한, 상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하도록 하는 명령은, 가중치 수정, 뉴런 간 연결 제거, 뉴런 간 연결 추가, 뉴런 제거 또는 뉴런 추가 중 적어도 하나의 아키텍처 변이 방법을 수행하여 제 1 후보해를 획득하도록 하는 명령을 포함할 수 있다.
또한, 상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하도록 하는 명령은, 가중치 행렬의 정교한 조정(Fine-Tuning)을 위해 의사 역 가중치 행렬(Pseudo Reverse Weight Matrix)을 설정하도록 하는 명령을 포함할 수 있다.
또한, 상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하도록 하는 명령은, 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하도록 하는 명령을 포함할 수 있다.
여기서, 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하도록 하는 명령은, 사분위수 범위(Interquartile Range)를 이용하여 가중치 행렬 밀도를 분석하도록 하는 명령을 포함할 수 있다.
또한, 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하도록 하는 명령은, 가중치 행렬을 구성하는 가중치들의 평균 또는 총합을 이용하여 가중치 행렬 밀도를 분석하도록 하는 명령을 포함할 수 있다.
또한, 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하도록 하는 명령은, 상기 선택적 오류 전파 기반 지도 학습의 경로를 따라 추출한 제 1 신경망 모델의 오류 차분 값에 기반하여 가중치 행렬을 갱신하도록 하는 명령을 포함할 수 있다.
한편, 목표 응용 서비스는 프로세서(1001)에 의해서 구동될 수 있으며, 데이터 추론 기능을 수행해야 하는 것으로 가정할 수 있다. 여기서, 프로세서라 함은 원시 데이터 취득원 또는 원시 데이터를 취득할 수 있는 단말 장치에 물리적으로 인접한 컴퓨팅 기기를 의미할 수 있다. 따라서, 외부의 먼 곳에 위치한 별도의 컴퓨팅 장치들에 비해 신속하게 데이터를 확보하여 분석할 수 있다.
또한, 프로세서는 송수신 장치(1003)로부터 해당 데이터 도메인 추론에 적합한 기본 신경망 모델을 요청하여 다운로드 할 수 있고, 기본 신경망 모델을 1차 벡터 형상의 가변길이 문자열로 인코딩한 후, 구조적 또는 수치적 변경을 추가하여 특성이 다른 다수의 후보해를 생성하여 초기 후보해 집합을 구성할 수 있다.
또한, 초기 후보해 집합은 일정 크기의 서브집합으로 분할되어 프로세서 집합으로 전달될 수 있고, 개별 프로세서는 초기 후보해 서브집합 상에 1차 및 2차 아키텍처 변이 방법을 적용하여 우수한 데이터 표현력을 내포할 수 있는 새로운 후보해 집합을 생성할 수 있다. 또한, 신규 생성된 후보해 집합은 프로세서로 취합되어 평가될 수 있다.
한편, 본 발명은 기 설정한 유효 목표 성능이 만족될 때까지 후보해 집합을 생성하도록 반복 수행되며, 최종적으로 프로세서는 아키텍처 변이 기반 비지도 학습 기반 학습된 신경망 모델을 최적해로 획득할 수 있다. 또한, 목표 응용 서비스는 정답이 제공되지 않는 신규 데이터가 획득될 경우, 아키텍처 변이 기반 비지도 학습된 최적해를 이용하여 성근(Coarse-grained) 추론을 신속하게 수행할 수 있다. 한편, 비지도 병렬 학습은 프로세서만을 이용하여 온로딩(Onloading) 형태로 수행될 수 있다.
또한, 프로세서는 최적해의 형태로 인코딩된 신경망 모델을 송수신 장치로 전달한다. 송수신 장치는 프로세서를 통해 정답을 포함하고 있는 정제된 훈련 데이터가 확보되면, 가중치를 정교하게 조정(Fine-Tuning)하기 위해 선택적 오류 전파 기법의 지도 학습을 수행하여 신경망 모델을 최종적으로 산출할 수 있다. 한편, 선택적 오류 전파 기법의 지도 학습은 컴퓨팅 파워의 도움을 받는 오프로딩(Offloading) 형태로 수행될 수 있다.
또한, 선택적 오류 전파 기반 지도 학습된 신경망 모델은 프로세서로 배포되어, 프로세서 상에서 신규 획득한 훈련 데이터를 정교하게 추론(Fine-grained)할 수 있다. 따라서, 목표 응용 서비스는 적절한 데이터 분석 결과를 획득할 수 있다.
또한, 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습이 모두 송수신 장치를 통해서 수행되는 형태로 구축 및 운용될 수 있다. 또한, 모든 학습 과정이 프로세서 간 협업을 통해서 이뤄질 수도 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(Flash Memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(Compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(Interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 기본 신경망 모델을 가변길이 문자열 형태로 표현한 후보해를 변형하여 후보해 집합을 생성하는 단계;
    상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하는 단계;
    목표 유효 성능을 만족하는 제 1 후보해가 나타내는 신경망 모델을 제 1 신경망 모델로 선정하는 단계;
    상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하는 단계;
    목표 유효 성능을 만족하는 제 2 후보해가 나타내는 신경망 모델을 최종 신경망 모델로 선정하는 단계를 포함하는, 신경망 학습 방법.
  2. 청구항 1에 있어서,
    상기 기본 신경망 모델을 가변길이 문자열 형태로 표현한 후보해는,
    뉴런의 연결관계 및 뉴런 간 연결강도와 관련된 가중치를 표현한 가중치 행렬과 신경망 구조를 표현한 행렬을 포함하는, 신경망 학습 방법.
  3. 청구항 1에 있어서,
    상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하는 단계는,
    병렬 처리 정도(Degree of Parallelism; DOP)에 기반하여 아키텍처 변이 기반 비지도 학습을 병렬로 수행하는, 신경망 학습 방법.
  4. 청구항 1에 있어서,
    상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하는 단계는,
    상기 후보해 집합 중에서 두 개의 후보해를 병합하여 제 1 후보해를 획득하는 단계를 포함하는, 신경망 학습 방법.
  5. 청구항 1에 있어서,
    상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하는 단계는,
    가중치 수정, 뉴런 간 연결 제거, 뉴런 간 연결 추가, 뉴런 제거 또는 뉴런 추가 중 적어도 하나의 아키텍처 변이 방법을 수행하여 제 1 후보해를 획득하는 단계를 포함하는, 신경망 학습 방법.
  6. 청구항 1에 있어서,
    상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하는 단계는,
    가중치 행렬의 정교한 조정(Fine-Tuning)을 위해 의사 역 가중치 행렬(Pseudo Reverse Weight Matrix)을 설정하는 단계를 포함하는, 신경망 학습 방법.
  7. 청구항 1에 있어서,
    상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하는 단계는,
    제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하는 단계를 포함하는, 신경망 학습 방법.
  8. 청구항 7에 있어서,
    상기 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하는 단계는,
    사분위수 범위(Interquartile Range)를 이용하여 가중치 행렬 밀도를 분석하는 단계를 포함하는, 신경망 학습 방법.
  9. 청구항 7에 있어서,
    상기 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하는 단계는,
    가중치 행렬을 구성하는 가중치들의 평균 또는 총합을 이용하여 가중치 행렬 밀도를 분석하는 단계를 포함하는, 신경망 학습 방법.
  10. 청구항 7 에 있어서,
    상기 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하는 단계는,
    상기 선택적 오류 전파 기반 지도 학습의 경로를 따라 추출한 제 1 신경망 모델의 오류 차분 값에 기반하여 가중치 행렬을 갱신하는 단계를 포함하는, 신경망 학습 방법.
  11. 프로세서; 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함하고,
    상기 적어도 하나의 명령은,
    기본 신경망 모델을 가변길이 문자열 형태로 표현한 후보해를 변형시켜 후보해 집합을 생성하도록 하는 명령;
    상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하도록 하는 명령;
    목표 유효 성능을 만족하는 제 1 후보해가 나타내는 신경망 모델을 제 1 신경망 모델로 선정하도록 하는 명령;
    상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하도록 하는 명령; 및
    목표 유효 성능을 만족하는 제 2 후보해가 나타내는 신경망 모델을 최종 신경망 모델로 선정하도록 하는 명령을 포함하는, 신경망 학습 장치.
  12. 청구항 11에 있어서,
    상기 기본 신경망 모델을 가변길이 문자열 형태로 표현한 후보해는,
    뉴런의 연결관계 및 뉴런 간 연결강도와 관련된 가중치를 표현한 가중치 행렬과 신경망 구조를 표현한 행렬을 포함하는, 신경망 학습 장치.
  13. 청구항 11에 있어서,
    상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하도록 하는 명령은,
    병렬 처리 정도(Degree of Parallelism; DOP)에 기반하여 아키텍처 변이 기반 비지도 학습을 병렬로 수행하는, 신경망 학습 장치.
  14. 청구항 11에 있어서,
    상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하도록 하는 명령은,
    상기 후보해 집합 중에서 두 개의 후보해를 병합하여 제 1 후보해를 획득하도록 하는 명령을 포함하는, 신경망 학습 장치.
  15. 청구항 11에 있어서,
    상기 후보해 집합 중에서 선정된 복수의 후보해에 대해 아키텍쳐 변이 기반 기반 비지도 학습을 수행하여 제 1 후보해를 획득하도록 하는 명령은,
    가중치 수정, 뉴런 간 연결 제거, 뉴런 간 연결 추가, 뉴런 제거 또는 뉴런 추가 중 적어도 하나의 아키텍처 변이 방법을 수행하여 제 1 후보해를 획득하도록 하는 명령을 포함하는, 신경망 학습 장치.
  16. 청구항 11에 있어서,
    상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하도록 하는 명령은,
    가중치 행렬의 정교한 조정(Fine-Tuning)을 위해 의사 역 가중치 행렬(Pseudo Reverse Weight Matrix)을 설정하도록 하는 명령을 포함하는, 신경망 학습 장치.
  17. 청구항 11에 있어서,
    상기 제 1 신경망 모델에 대해 선택적 오류 전파 기반 지도 학습을 수행하여 제 2 후보해를 획득하도록 하는 명령은,
    제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하도록 하는 명령을 포함하는, 신경망 학습 장치.
  18. 청구항 17에 있어서,
    상기 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하도록 하는 명령은,
    사분위수 범위(Interquartile Range)를 이용하여 가중치 행렬 밀도를 분석하도록 하는 명령을 포함하는, 신경망 학습 장치.
  19. 청구항 17에 있어서,
    상기 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하도록 하는 명령은,
    가중치 행렬을 구성하는 가중치들의 평균 또는 총합을 이용하여 가중치 행렬 밀도를 분석하도록 하는 명령을 포함하는, 신경망 학습 장치.
  20. 청구항 17에 있어서,
    상기 제 1 신경망 모델의 가중치 행렬 밀도를 분석하여 선택적 오류 전파 기반 지도 학습의 경로를 설정하도록 하는 명령은,
    상기 선택적 오류 전파 기반 지도 학습의 경로를 따라 추출한 제 1 신경망 모델의 오류 차분 값에 기반하여 가중치 행렬을 갱신하도록 하는 명령을 포함하는, 신경망 학습 장치.
KR1020190128678A 2018-11-27 2019-10-16 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법 및 장치 KR20200063041A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/696,061 US20200167659A1 (en) 2018-11-27 2019-11-26 Device and method for training neural network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180148859 2018-11-27
KR1020180148859 2018-11-27

Publications (1)

Publication Number Publication Date
KR20200063041A true KR20200063041A (ko) 2020-06-04

Family

ID=71080717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190128678A KR20200063041A (ko) 2018-11-27 2019-10-16 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20200063041A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022145689A1 (ko) * 2020-12-30 2022-07-07 재단법인 아산사회복지재단 전자의무기록에서의 다변량 결측값 대체 방법
KR102461998B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR102461997B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022145689A1 (ko) * 2020-12-30 2022-07-07 재단법인 아산사회복지재단 전자의무기록에서의 다변량 결측값 대체 방법
KR102461998B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR102461997B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템

Similar Documents

Publication Publication Date Title
US20210365826A1 (en) Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers
US11829880B2 (en) Generating trained neural networks with increased robustness against adversarial attacks
US20200167659A1 (en) Device and method for training neural network
CN110263227B (zh) 基于图神经网络的团伙发现方法和系统
US20200265301A1 (en) Incremental training of machine learning tools
Le A tutorial on deep learning part 1: Nonlinear classifiers and the backpropagation algorithm
US20200242736A1 (en) Method for few-shot unsupervised image-to-image translation
US20210264209A1 (en) Method for generating anomalous data
KR20200063041A (ko) 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법 및 장치
US20220383127A1 (en) Methods and systems for training a graph neural network using supervised contrastive learning
CN114519469A (zh) 一种基于Transformer框架的多变量长序列时间序列预测模型的构建方法
KR20210068707A (ko) 신경망을 학습시키는 방법
US20230196022A1 (en) Techniques For Performing Subject Word Classification Of Document Data
US11721325B1 (en) Method for generating learning data for speech recognition error detection
CN115605876A (zh) 边消息传递神经网络
CN116594748A (zh) 针对任务的模型定制处理方法、装置、设备和介质
Jiang et al. An intelligent recommendation approach for online advertising based on hybrid deep neural network and parallel computing
Teji et al. Predicting missing links in gene regulatory networks using network embeddings: A qualitative assessment of selective embedding techniques
JP7427011B2 (ja) センサ入力信号からのコグニティブ・クエリへの応答
WO2023078009A1 (zh) 一种模型权重获取方法以及相关系统
KR102457893B1 (ko) 딥러닝 기반의 강수량 예측 방법
Elinas et al. Addressing over-smoothing in graph neural networks via deep supervision
KR102437285B1 (ko) 모호한 라벨을 이용한 객체 예측 모델 학습 방법
Dinov Deep Learning, Neural Networks
He et al. Machine-Learning the Landscape