KR20190086134A - 인공 신경망을 구성하는 복수의 학습 모델 중 최적 학습 모델 선택 방법 및 장치 - Google Patents

인공 신경망을 구성하는 복수의 학습 모델 중 최적 학습 모델 선택 방법 및 장치 Download PDF

Info

Publication number
KR20190086134A
KR20190086134A KR1020180004294A KR20180004294A KR20190086134A KR 20190086134 A KR20190086134 A KR 20190086134A KR 1020180004294 A KR1020180004294 A KR 1020180004294A KR 20180004294 A KR20180004294 A KR 20180004294A KR 20190086134 A KR20190086134 A KR 20190086134A
Authority
KR
South Korea
Prior art keywords
learning
block
child
model
value
Prior art date
Application number
KR1020180004294A
Other languages
English (en)
Other versions
KR102086815B1 (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 KR1020180004294A priority Critical patent/KR102086815B1/ko
Publication of KR20190086134A publication Critical patent/KR20190086134A/ko
Application granted granted Critical
Publication of KR102086815B1 publication Critical patent/KR102086815B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 측면에 따른 인공 신경망을 구성하는 복수의 학습 모델 중 최적의 학습 모델을 선택하는 방법은, 상기 인공 신경망을 구성하는 복수의 학습 블록들을 부모-자식 노드 관계를 갖는 트리구조로 배치하는 단계; 복수의 학습 블록을 포함하여 이루어지고, 각 학습 블록의 연결 경로가 상이한 각 학습 모델에 대하여 개별적으로 선행 학습을 수행하여 각 학습 모델에 대한 학습 인자를 설정하는 선행 학습 단계; 각 학습 모델에 대하여 본 학습을 수행하고, 검증 데이터를 적용하여 각 학습 모델에 대한 학습 결과를 평가하는 단계; 및 상기 평가 결과에 기초하여 최적의 학습 모델을 선택하는 단계를 포함한다. 이때, 선행 학습 단계는 상기 인공 신경망에서 설정할 수 있는 모든 학습 모델에 대하여 적어도 1회 이상은 선행 학습을 수행하는 것이다.

Description

인공 신경망을 구성하는 복수의 학습 모델 중 최적 학습 모델 선택 방법 및 장치{METHOD AND APPARATUS FOR SELECTING OPTIAML TRAINING MODEL FROM VARIOUS TARINING MODELS INCLUDED IN NEURAL NETWORK}
본 발명은 인공 신경망을 구성하는 복수의 학습 모델 중 최적의 학습 모델을 선택하는 방법 및 장치에 관한 것이다.
현재 딥러닝(deep learning)이라 불리는 기계학습 기술을 구성하는 다중 신경망 모델의 내부 동작 원리는 명확하게 밝혀지지 않는 것으로 알려져 있다. 그렇지만 최근의 실험 결과들을 볼 때, 기계학습 기술 중에서 딥러닝이 가장 우수하다는 것에 대해서는 상당수의 관련 연구자들이 동의하는 부분이다. 딥러닝을 가능하게 하는 신경망 모델의 내부 동작원리는 수치적으로 해석하는 것이 불가능하기 때문에, 수많은 딥러닝 신경망 모델들은 선험적 지식과 수학적 휴리스틱(Heuristics)을 바탕으로, 하이퍼파라미터(Hyperparameter)들과 모델의 구조를 수차례 바꿔가며 최적의 근사해를 찾는 방법을 사용하고 있다. 그 중 하이퍼파라미터(Hyperparameter)들은 여러 선험적 실험들을 바탕으로 이미 기본값(default)이 어느 정도 정립되어 있지만, 학습 모델의 경우 적용하고자 하는 문제의 범주, 입출력 데이터의 종류, 적용 환경(platform)에 따라 다른 구조를 사용해야 한다. 최적의 모델구조를 찾는 데에 있어서 실험 가능한 모든 경우들을 실험한 뒤 비교하면 가장 최적에 가까운 근사해가 나올 수 있겠지만, 모든 경우의 수를 비교실험 하는 것은 상당히 많은 작업 시간이 소요되어물리적으로 어려운 일이다. 이에 휴리스틱(Heuristics)을 바탕으로 최적의 근사해를 찾기 위해 가능한 모든 경우들을 효율적으로 학습 및 비교실험 할 수 있는 방법이 필요하게 되었다.
대한민국 등록특허 제 10-680055 호(발명의 명칭: 결합적 클러스터링 기법과 앙상블 모델링 기법을 이용한 인공신경망 모델 개발 방법)
본 발명의 일 실시예는 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 다양한 종류의 딥러닝 신경망 모델들 중 최적의 학습 모델을 선택할 수 있도록 하는 방법 및 장치를 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 측면에 따른 인공 신경망을 구성하는 복수의 학습 모델 중 최적의 학습 모델을 선택하는 방법은 상기 인공 신경망을 구성하는 복수의 학습 블록들을 부모-자식 노드 관계를 갖는 트리구조로 배치하는 단계; 복수의 학습 블록을 포함하여 이루어지고, 각 학습 블록의 연결 경로가 상이한 각 학습 모델에 대하여 개별적으로 선행 학습을 수행하여 각 학습 모델에 대한 학습 인자를 설정하는 선행 학습 단계; 및 각 학습 모델에 대하여 본 학습을 수행하고, 검증 데이터를 적용하여 각 학습 모델에 대한 학습 결과를 평가하는 단계; 상기 평가 결과에 기초하여 최적의 학습 모델을 선택하는 단계를 포함한다. 이때, 선행 학습 단계는 상기 인공 신경망에서 설정할 수 있는 모든 학습 모델에 대하여 적어도 1회 이상은 선행 학습을 수행하는 것이다.
본 발명의 다른 측면에 따른 인공 신경망을 구성하는 복수의 학습 모델 중 최적의 학습 모델을 선택하는 학습 모델 선택 장치는 학습 모델 선택 프로그램을 저장하는 메모리, 데이터 입출력을 수행하는 데이터 입출력 모듈 및 상기 메모리에 저장된 학습 모델 선택 프로그램을 실행하는 프로세서를 포함하되, 상기 학습 모델 선택 프로그램은 상기 프로세서에 의하여 구동되어, 상기 인공 신경망을 구성하는 복수의 학습 블록들을 부모-자식 노드 관계를 갖는 트리구조로 배치하는 과정, 복수의 학습 블록을 포함하여 이루어지고, 각 학습 블록의 연결 경로가 상이한 각 학습 모델에 대하여 개별적으로 선행 학습을 수행하여 각 학습 모델에 대한 학습 인자를 설정하는 선행 학습 과정, 각 학습 모델에 대하여 본 학습을 수행하고, 검증 데이터를 적용하여 각 학습 모델에 대한 학습 결과를 평가하는 과정, 상기 평가 결과에 기초하여 최적의 학습 모델을 선택하는 과정을 수행한다. 이때, 선행 학습 과정은 상기 인공 신경망에서 설정할 수 있는 모든 학습 모델에 대하여 적어도 1회 이상은 선행 학습을 수행하는 것이다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 복수의 학습 모델 중 최적의 학습 모델을 선택하는데 소요되는 리소스 낭비를 최소화할 수 있다. 예를 들어, 기존의 방법의 경우 각각의 모델이 최적해로 수렴하는 데에 평균적으로 n번의 학습횟수가 필요하다고 했을 때, m개의 모델을 학습하고 비교하려면 n*m번의 비용이 소요된다. 하지만 본 발명에 따르면, 초기 동등한 확률로 임의 경로로 학습을 시작한 뒤, 일정 수준의 학습 결과가 중첩되면 점점 가장 성능이 좋은 경로로 학습이 진행되므로 학습 성능이 뒤쳐지는 모델에 대해서 n번까지 학습을 진행할 필요가 없게되고, 따라서 최적의 학습 모델을 찾는 데에 많은 비용이 절감될 수 있다. 또한 공유된 경로를 사용할 경우 진화 연산(evolutionary computation)에서 말하는 돌연변이(mutation)의 원리 또한 기대할 수 있다. 낮은 확률로 새로운 경로를 탐험하면서 공유되는 경로의 학습인자(weights)를 전혀 다른 방향으로 갱신(update) 함으로써 기존에 한 쪽으로 쏠려가던 학습인자(weights)가 지역 최적(local optima)에 빠지는 것을 방지해 줄수 있는 효과도 기대할 수 있다. 이로써 기존의 단일 모델을 집중적으로 깊게 학습하는 것보다 더 유연하고 폭넓은 선택을 취할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 학습 모델 선택 장치를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 학습 모델 선택 방법을 도시한 순서도이다.
도 3은 본 발명의 일 실시예에 따라 학습 블록들을 트리 구조로 배치한 예를 도시한 도면이다.
도 4는 본 발명의 일 실예에 따른 학습 모델 선행 학습 방법을 도시한 도면이다.
도 5는 본 발명의 일 실예에 따른 학습 모델 선행 학습 방법을 도시한 도면이다.
도 6은 본 발명의 일 실예에 따른 학습 모델 선행 학습 방법을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 학습 모델 평가 과정을 도시한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 평가함수 노드의 구성을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 학습 모델 학습 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 학습 모델에 대한 평가 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 최적 학습 모델 선정 과정을 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해 도면에서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한, 도면을 참고하여 설명하면서, 같은 명칭으로 나타낸 구성일지라도 도면에 따라 도면 번호가 달라질 수 있고, 도면 번호는 설명의 편의를 위해 기재된 것에 불과하고 해당 도면 번호에 의해 각 구성의 개념, 특징, 기능 또는 효과가 제한 해석되는 것은 아니다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)' 또는 '모듈'이란, 하드웨어 또는 소프트웨어에 의해 실현되는 유닛(unit), 양방을 이용하여 실현되는 유닛을 포함하며, 하나의 유닛이 둘 이상의 하드웨어를 이용하여 실현되어도 되고, 둘 이상의 유닛이 하나의 하드웨어에 의해 실현되어도 된다.
도 1은 본 발명의 일 실시예에 따른 학습 모델 선택 장치를 도시한 도면이다.
도 1에 도시한 바와 같이, 학습 모델 선택 장치(100)는 데이터 입출력모듈(110), 메모리(120), 프로세서(130)를 포함한다.
데이터 입출력모듈(110)은 통신 모듈을 통해 데이터를 수신 또는 송신하는 기능을 수행할 수 있다. 데이터 입출력 모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
메모리(120)에는 복수의 학습 모델 중 최적의 학습 모델을 선택하는 학습 모델 선택 프로그램이 저장된다. 해당 프로그램은 프로세서에 의하여 구동되어, 인공 신경망을 구성하는 복수의 학습 블록들을 부모-자식 노드 관계를 갖는 트리구조로 배치하는 단계; 복수의 학습 블록을 포함하여 이루어지고, 각 학습 블록의 연결 경로가 상이한 각 학습 모델에 대하여 개별적으로 선행 학습을 수행하여 각 학습 모델에 대한 학습 인자를 설정하는 선행 학습 단계; 각 학습 모델에 대하여 검증 데이터를 적용하여 학습 결과를 평가하는 단계; 및 평가 결과에 기초하여 최적의 학습 모델을 선택하는 단계를 포함한다. 이때, 선행 학습 단계는 상기 인공 신경망에서 설정할 수 있는 모든 학습 모델에 대하여 적어도 1회 이상은 선행 학습을 수행한다.
또한, 메모리(120)는 프로세서(130)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(120)는 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치외에 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
프로세서(130)는 메모리(120)에 저장된 학습 모델 선택 프로그램을 실행한다. 프로세서(130)는 일종의 중앙처리장치로서 학습 모델 선택을 수행하는 전체 과정을 제어한다. 프로세서(130)가 수행하는 각 단계에 대해서는 후술하기로 한다. 여기서, 프로세서(130)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array), GPU(graphics processing unit) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 2는 본 발명의 일 실시예에 따른 학습 모델 선택 방법을 도시한 순서도이고, 도 3은 본 발명의 일 실시예에 따라 학습 블록들을 트리 구조로 배치한 예를 도시한 도면이고, 도 4 내지 도 6은 본 발명의 일 실예에 따른 학습 모델 선행 학습 방법을 도시한 도면이다.
먼저, 인공 신경망을 구성하는 복수의 학습 블록들을 부모-자식 노드 관계를 갖는 트리구조로 배치한다(S210).
일반적으로, 인공 신경망을 구성하는 각각의 레이어는 입력 레이어, 출력 레이어 외에 하나 이상의 히든 레이어를 포함하며, 이때 각각의 레이어는 하나 이상의 학습 블록이 배치되고, 학습 블록 내에는 복수의 단계에 데이터 처리 모듈들이 포함되어, 학습 동작 또는 데이터 처리 동작을 수행한다. 이때, 본 발명에서는 각 레이어에 배치된 알고리즘의 집합을 하나의 학습 블록이라 칭한다.
예를 들어, 도 3과 같이 인공 신경망은 복수의 레이어(310, 320, 300)가 계층 구조를 이루게 되며, 각 레이어에는 하나 이상의 학습 블록(310, 322, 324, 332, 334, 336, 338)이 배치된다. 예를 들어, 도시된 바와 같은 CNN 인공 신경망 모델의 경우 최대 풀링(max pooing), 평균 풀링(average pooling) 과 같은 여러 풀링 모듈을 사용하고 있으며, 이를 위한 데이터 처리 알고리즘들이 각각의 학습 블록내에 배치된다.
그리고, 본 발명에서는 인공 신경망을 구성하는 각각의 레이어를 순차적으로 계층 구조로 배치하여, 복수의 학습블록들이 서로 부모 자식 관계를 갖도록 트리구조로 배치한다. 즉, 도 3에서와 같이 입력 레이어의 학습블록(310)을 최상위 계층에 배치하고, 그 하부 레이어(320)의 학습블록(322, 324)이 각각 학습블록(310)과 부모 자식 관계를 갖도록 배치한다.
이때, 각 계층별로 동일 계층에 위치한 학습블록들간의 분기 지점에 평가함수 노드(340, 350, 360)를 배치한다. 평가함수 노드(340, 350, 360)에는 각 평가함수 노드가 참조된 횟수 및 해당 평가함수 노드가 연결 경로에 포함되는 각 학습 모델에 대한 평가값이 저장된다. 평가함수 노드안에는 학습 검증 결과에 대한 평가값이 있으며, 전방향 학습시 이 평가값과 경로참조횟수를 조합하여 평가함수를 만들어 경로의 성능을 평가한다. 평가값은 역전파(backpropagation) 단계에서 성능 검증 결과와 해당 경로를 학습한 횟수를 조합하여 갱신한다. 하위 경로를 결정할 때는 전체 학습 진행 횟수 대비 현재 위치의 평가 함수를 참조한 비율에 따라 평가함수에 근거한 우수한 경로를 이용(exploit)할 지, 혹은 성능이 더 좋아질 지도 모르는 미지의 임의의 경로를 탐험(explore)할 지를 결정한다. 경로선택 시 선택된 경로가 자주 참조되지 않았던 경로라면 학습인자들이 한 방향으로 쏠렸을 것으로 생각하여 해당 경로로 1회 이상의 학습을 진행할 수도 있다. 학습 횟수가 중첩될수록 우수한 성능을 가지고 자주 참조되던 경로가 계속해서 선택될 것이고, 학습 인자들은 해당 모델을 따라 학습된다.
그리고, 또 다른 하부 레이어(330)의 학습블록(332, 334)이 각각 학습블록(322)과 부모 자식 관계를 갖도록 배치되고, 학습블록(336, 338)이 각각 학습블록(324)과 부모 자식 관계를 갖도록 배치된다. 좀더 상세히 설명하면, 인공 신경망 모델은 입력 레이어로서 기능하며, 입력 데이터에 대하여 합성곱(Convolution) 연산을 수행하고, 자동 정규화(Batch normalization)를 처리하는 제 1 학습 블록(320), 제 1 학습 블록(320)의 자식 노드로서 연결되고, 최대 풀링 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 2 학습 블록(322), 제 1 학습 블록(320)의 자식 노드로서 연결되고, 제 2 학습 블록(322)과 동일 계층에 위치하며, 평균 풀링 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 3 학습 블록(324), 제 2 학습 블록(322)의 자식 노드로서 연결되고, 최대 풀링 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 4 학습 블록(332), 제 2 학습 블록(322)의 자식 노드로서 연결되고, 제 4 학습 블록(332)과 동일 계층에 위치하며 평균 풀링 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 5 학습 블록(334), 제 3 학습 블록(324)의 자식 노드로서 연결되고, 최대 풀링 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 6 학습 블록(336) 및 제 3 학습 블록(324)의 자식 노드로서 연결되고, 제 5 학습 블록(334)과 동일 계층에 위치하며 평균 풀링 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 7 학습 블록(338)을 포함한다. 이때, 제 1 학습 블록(310), 제 2 학습 블록(322) 및 제 3 학습 블록(324)의 연결 지점에 제 1 평가 함수 노드(340)가 배치되고, 제 2 학습 블록(322), 제 4 학습 블록(332) 및 제 5 학습 블록(334)의 연결 지점에 제 2 평가 함수 노드(350)가 배치되며, 제 3 학습 블록(324), 제 6 학습 블록(336) 및 제 7 학습 블록(338)의 연결 지점에 제 3 평가 함수 노드(360)가 배치된다.
그리고, 이러한 트리구조로 배치된 인공 신경망 모델에서 각각의 학습 블록을 연결하는 과정을 통해 서로 다른 학습 모델이 특정될 수 있다. 예를 들면, 제 1 학습 블록(310), 제 2 학습 블록(322) 및 제 4 학습 블록(332)이 순차적으로 연결된 학습 모델이 특정되거나, 제 1 학습 블록(310), 제 3 학습 블록(324) 및 제 7 학습 블록(338)이 연결된 학습 모델이 특정될 수 있다. 즉, 트리 구조 상에서 최하위 레이어를 구성하는 학습 블록의 개수에 해당하는 학습 모델이 후보로서 선정된다.
한편, 본 발명에서는 몬테카를로 방법에 따라 복수의 시뮬레이션을 무한히 반복하여 어떤 값으로 결과가 수렴하는 원리를 활용한다. 즉, 몬테카를로 방법에 따라, 앞서 설명한 과정을 통해 특정된 학습 모델들에 대하여 각 학습 모델을 학습 및 평가하는 시뮬레이션을 진행한다. 이때, 학습 모델 경로를 선택하는 정책은 평가함수를 기초로 탐험 및 이용(explore and exploit) 방법을 적용하여 학습 결과가 좋았던 경로의 평가함수에 가중치를 더해 탐색 비중을 점진적으로 향상시키는 방법을 사용한다.
다시 도 2를 참조하면, 각 학습 블록의 연결 경로가 상이한 각 학습 모델에 대하여 개별적으로 선행 학습을 수행하여 각 학습 모델에 대한 학습 인자를 설정하는 선행 학습 단계를 수행한다(S220).
앞서 설명한 바와 같이, 인공 신경망 모델을 구성하는 복수의 학습 블록을 각각 연결하여 복수의 학습 모델을 특정할 수 있으며, 본 발명에서는 이들에 대하여 소정의 선행학습을 수행하고, 학습 인자(weights, bias)를 설정하는 과정을 수행하며, 이를 기반으로 추후 최적의 학습 모델을 선택하고자 한다.
기계학습의 특성상 학습 초기에는 학습 인자들의 값이 불안정하기 때문에 학습 초반의 학습 성능 평가 결과를 신뢰하기가 어렵다. 따라서 각 경로에 대해 아주 적은 수의 선행학습(pre-train)을 진행하여 학습 초기 학습 인자들에 대한 안정성을 높임으로써 각 경로의 학습 결과에 대한 신뢰성을 향상시킨다. 이러한 선행학습 방법으로는, 모든 경로에 대해 공유되지 않은 고유의 모델을 구성하여 초기 학습인자(weight)를 선행학습하고 시뮬레이션 모델에 적용하는 방법, 공유된 경로를 그대로 사용하며 같은 수의 학습 회수를 적용하여 선행학습하는 방법, 공유된 경로가 앞서 선행학습한 경로에 피팅(fitting)될 것을 감안해 나중에 선행학습되는 경로에 대해서 선행학습 횟수를 늘리는 방법 등이 있다. 혹은 아예 공유 경로를 사용하지 않고, 매 학습마다 처음부터 끝까지 경로를 한번에 평가하고 하나의 완성된 모델 경로를 구성하여 선택된 경로에 따른 모델의 학습인자들을 불러와서 학습하고 다시 저장하는 방법도 있다.
이러한 선행 학습을 수행하는 방법에 대해서 상세히 설명하도록 한다.
도 4는 첫번째 선행학습 방법을 도시한 것으로서, 연결 경로에 따라 결정되는 개별적인 학습 모델에 대하여 서로 독립적으로 선행학습을 수행하는 방법을 나타낸다.
도시된 바와 같이, 하나의 학습 모델(380)을 특정하고, 독립적인 선행 학습을k번 수행한 뒤 최종 검증(validation) 결과를 해당 학습 모델(380)에 포함된 평가 함수 노드(340, 350)에 평가결과를 각각 갱신한다. 각 학습 모델별로 독립적인 선행학습이 종료되면, 현재 학습 횟수는 인공 신경망 모델 트리의 리프노드의 수만큼 증가되고, 각 평가함수노드(340, 3350, 360)의 참조횟수는 해당 노드의 하위에 존재하는 모든 하위 분기 경로 수만큼 증가된다. 예를 들어, 도 4의 인공 신경망 모델 트리의 경우, 총 4개의 학습 모델을 고려할 수 있다. 즉, 제 1 학습 블록(310), 제 2 학습 블록(322) 및 제 4 학습 블록(332)으로 이루어진 학습 모델, 제 1 학습 블록(310), 제 2 학습 블록(322) 및 제 5 학습 블록(334)으로 이루어진 학습 모델, 제 1 학습 블록(310), 제 3 학습 블록(324) 및 제 5 학습 블록(336)으로 이루어진 학습 모델 및 제 1 학습 블록(310), 제 3 학습 블록(324) 및 제 6 학습 블록(338)으로 이루어진 학습 모델이 특정될 수 있다.
예를 들어, 각 학습 모델 별로의 1회의 독립적인 선행학습(303)이 끝나면, 현재 학습 진행 횟수는 4가 되고, 입력 블록 다음에 위치한 제 1 평가함수노드(340)의 참조횟수는 4회, 두 번째 수준에 위치한 평가함수노드(350)들의 참조횟수는 각각 2회가 된다.
도 5는 두번째 선행학습 방법을 도시한 것으로서, 연결 경로에 따라 결정되는 개별적인 학습 모델에 대하여 선행학습을 수행하되, 동일한 학습 블록을 공유하는 각각의 학습 모델은 학습 인자를 공유하도록 선행학습을 수행한다. 이때, 도시된 바와 같이, 제 4 내지 제 7 학습 블록(332~338)의 경우 상위 레이어에 위치한 학습 블록을 공유하게 되므로, 해당 공유 블록(510)의 학습 인자가 공유된 상태로 학습을 수행한다. 이때, 학습 모델별로 학습 횟수를 상이하게 조절할 수 있다. 즉,개별적인 학습 모델에 대하여 미리 설정된 횟수(k)에 소정의 변수(c)를 곱한 값에 따라 서로 상이한 횟수의 선행학습을 하도록 학습 횟수를 조절할 수 있다.
변수(C)는 공유되는 경로(510)의 학습인자들이 이전에 선행학습된 모델에 대해 적합(fitting)되었을 것을 고려하여 나중에 학습될수록 C의 크기를 증가시키거나 감소시켜가며 선행학습을 진행한다. 각 경로에 대해 C*k번 선행학습을 하는 동안 모든 경로의 모델들은 학습인자를 갱신(512)함으로써 학습인자들을 안정화 시킨다.
한편, 도시된 방법은 각 모델들의 학습인자를 안정적으로 초기화하기 위한 작업이므로 학습횟수나 경로참조횟수, 평가값은 모두 갱신되지 않는다. 선행학습 이후 본 학습이 진행될 때는 선행학습을 진행한 학습인자들로 초기화를 하되, 모든 경로는 한번도 참조되지 않은 상태로 고려된다.
도 6은 세번째 선행학습 방법을 도시한 것으로서, 연결 경로에 따라 결정되는 개별적인 학습 모델에 대하여 선행학습을 수행하되, 동일한 학습 블록을 공유하는 각각의 학습 모델은 학습 인자를 공유하도록 선행학습을 수행한다. 이때, 도시된 바와 같이, 제 4 내지 제 7 학습 블록(332~338)의 경우 상위 레이어에 위치한 학습 블록을 공유하게 되므로, 해당 공유 블록(610)의 학습 인자가 공유된 상태로 학습을 수행한다. 이때, 각각의 학습 모델에 대해서는 동일한 횟수 만큼 k 번씩 선행 학습을 수행하게 된다. 즉, 공유되는 경로(610)의 학습 인자에 대하여 어떠한 전제나 고려사항을 두지 않고 동일한 횟수 만큼 학습을 수행한다.
위와 같이 설명한 선행학습 방법은 인공 신경망 모델을 구성하는 모든 자식 학습 블록들이 1회 이상 참조될 수 있도록 하며, 만약 참조횟수가 0인 자식 학습 블록이 있다면, 자식 학습 블록들에 대하여 무작위로 한 경로를 선택해서 선행학습을 수행하도록 한다. 도면을 참조하여 상세히 설명하도록 한다.
도 7은 본 발명의 일 실시예에 따른 학습 모델 평가 과정을 도시한 순서도이고, 도 8은 본 발명의 일 실시예에 따른 평가함수 노드의 구성을 설명하기 위한 도면이고, 도 9는 본 발명의 일 실시예에 따른 학습 모델 학습 과정을 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 선행 학습이 종료된 이후에는 각 학습 모델에 대하여 본 학습을 수행하고, 평가 과정을 수행한다. 이때, 각 학습 모델에 대한 본 학습의 진행과정에서 트리의 분기점에 도달하면, 분기점에 배치된 평가 함수 노드에 진입한다(S710).
도 8에 도시된 바와 같이, 평가 함수 노드에는 전체 학습 횟수(801, Total Epoch), 현재 학습 횟수(802, Current Epoch)에 대한 정보가 저장된다. 이러한 전체 학습 횟수(801)나 현재 학습 횟수(802) 값은 평가 함수 노드를 관리하는 외부 객체에서 전달하는 값이다.
이때, 전체 학습 횟수(801)는 학습을 총 몇번 진행할 지를 나타내는 값이고, 현재 학습 횟수(802)는 현재까지 학습된 횟수를 나타내는 값이다. 이때, 전체 학습 횟수(801)는 사용자에 의하여 설정되는 값으로서 변경 가능한 수치이다. 또한 평가 함수 노드에는 현재까지 해당 평가함수노드가 포함된 현재 경로가 참조된 횟수(804), 현재 까지 해당 평가 함수노드와 연결된 자식 경로들이 참조된 횟수(805) 및 각 자식 경로들의 평가값(806)이 저장된다. 이때, 자식 경로들이 참조된 횟수(805)는 해당 평가 함수노드를 경유하는 학습 모델에 대하여 학습이 수행된 횟수를 의미한다. 또한, 자식 경로들의 평가값(806)은 해당 경로를 학습한 뒤 역전파 단계에서 검증(validation) 데이터의 미니 배치(mini batch)에 대한 평균 정확도(accuracy)의 평균값에 기초하여 산출된다..
아래의 수학식은 평가값(806)을 산출하기 위한 것이다.
[수학식 1]
Figure pat00001
평가값(evaluation function)은 검증 데이터의 미니 배치(mini batch)들의 정확도(validation accuracy of the child path)와 현재 경로의 참조 횟수(Rc)의 비율을 통해 산출된다. 이때, 최근 n회 학습 검증 결과를 합산하고 이에 대한 평균을 산출한다. 만약, 해당 경로에 학습 횟수가 미리 설정된 값인 n 회(n은 상수임)를 넘지 않은 경우 현재까지 학습한 현재 경로의 참조 횟수(Rc)를 기초로 검증 결과들의 정확도에 대하여 평균값을 산출하고, n회를 초과하는 경우에는 n회에 기초하여 평균값을 산출한다.
이러한 정보를 바탕으로, 분기점 이후에 연결된 자식 학습 블록들이 모두 학습되었는지를 확인할 수 있으며(S720), 만약 학습되지 않은 자식 학습 블록이 존재하는 경우에는 참조횟수 0인 학습 블록을 선택하여 학습을 수행하도록 한다(S730).
도 9를 참조하면, 입력 블록 이후 최초로 만나는 분기점의 평가 함수 노드(940)를 통해, 제 3 학습 블록(924)이 학습되지 않았음을 확인할 수 있고, 이에 제 3 학습 블록(924)에 대하여 학습을 수행한다. 이를 통해 제 1 학습 블록(910)과 제 2 학습 블록(922)으로 이루어진 학습 모델과 제 1 학습 블록(910)과 제 3 학습 블록(924)으로 이루어진 학습 모델에 대해서는 적어도 1회 이상의 학습이 완료된다.
앞선 단계에서, 자식 학습 블록이 모두 1회 이상 참조된 것으로 판단되면 엡실론 정책 평가 단계(S740)를 수행한다.
다시 도 9를 참조하면, 단계(S730)의 수행에 의하여 제 1 내지 제3 학습 블록에 대한 학습이 모두 완료된 후 , 다시 분기점의 평가 함수 노드(940)에 도달하면, 자식 학습 블록(922, 924)이 모두 학습되었으므로, 엡실론 정책 평가 단계(S740)를 통해 학습 경로를 결정한다. 0 초과 1 미만의 랜덤 값(Rand)을 선정하고, 이 값이 엡실론(epsilon) 값보다 작은 경우에는 평가값이 가장 큰 경로를 선택하고(S750), 랜덤 값이 엡실론 값보다 큰 경우에는 무작위로 경로를 선택한다(S760). 예를 들어, 제 2 학습 블록(922)과 제 3 학습 블록(924)에 대한 학습이 1회 이상 완료된 경우에는 엡실론 정책 평가를 통해 특정 학습 블록이 선정된다.
이때, 엡실론은 적게 참조된 경로에 대해서 너무 낮은 값의 엡실론을 갖지 않도록 가변하여 설정되며, 구체적인 산출방법은 아래 수학식과 같다.
[수학식 2]
Figure pat00002
Figure pat00003
이때, Ec는 현재학습 횟수, Et는 전체 학습 횟수, Rc는 현재참조 횟수를 각각 나타낸다.
C는 협업상수(Coordinator)로서, 위와 같이, 자식 경로의 개수를 4로 나눈 값부터 자식 경로의 개수를 2로 나눈 값 사이이며 기본 값은 최소값으로 설정될 수 있다.
D는 부식상수로서 0과 1 사이의 값을 가지며 기본값은 0.9로 설정될 수 있다.
수학식 2의 엡실론 값의 하한을 조절하기 위해서는 덧셈 연산(+) 왼쪽 항을 사용하며, 자주 참조된 경로일수록 탐험(explore)보다는 이용(exploit)을 많이 사용하도록 하기 위해서는 덧셈 연산(+) 오른쪽 항을 사용한다. 이 때, 자주 참조되었을 때도 일정수준의 탐험(explore)이 가능하도록 엡실론의 상한을 정하기 위한 부식상수(D)를 곱해준다.
이후, 하위 분기를 만나게 되면, 다시 해당 분기점에 연결된 자식 학습 블록이 참조되었는지를 확인하는 단계(S720)를 반복한다. 예를 들어, 도 9와 같이 제 3 학습 블록(924)의 하부에 위치한 분기에 도달한 경우, 제 6 및 제 7 학습 블록(936, 938)은 아직 학습이 진행되지 않았으므로, 무작외로 학습 블록을 선택하여 학습을 수행하도록 한다.
이러한 과정을 통해 전체 학습 모델에 대해서 1회 이상의 학습이 수행될 수 있다. 한편, 적게 참조된 경로를 경유하는 학습 모델을 학습할 때는 학습 인자가 이전에 학습된 경로에 의해 적합(fitting)되었을 것을 고려해 1회 이상 연속적으로 학습을 진행할 수도 있다.
다시 도 2를 참조하면, 각 학습 모델에 대하여 검증 데이터를 적용하여 학습 결과를 평가하는 단계를 수행한다(S230).
학습 결과를 판단하는 데에는 학습에 쓰인 데이터외에 별도로 마련된 검증 데이터(validation set)를 사용하여 학습 결과에 대한 판단을 진행한다. 앞선 단계에서 설명한 바와 같이, 학습 초기에는 아직 시뮬레이션 해보지 않은 하위 경로들의 평가치를 가늠할 수 없으므로 어떤 평가함수노드의 모든 자식 경로들이 최소 1번의 시뮬레이션을 거치지 않았다면 임의적으로 가보지 않은 하위 경로를 시뮬레이션 한다. 이후 해당 노드에서 모든 자식 경로들이 최소 1번 이상 시뮬레이션 된 이후에 평가함수를 이용한 탐험 및 이용 알고리즘을 사용한다.
도 10은 본 발명의 일 실시예에 따른 학습 모델에 대한 평가 과정을 설명하기 위한 도면이다.
도 10은 역전파 단계에서 평가함수노드를 갱신하는 과정을 나타내는 예시도이다.
제 4 학습 블록(932)이 선택되는 경로에 따라 학습 모델이 특정되고, 학습이 완료된 다음 검증(validation) 데이터의 미니 배치(mini batch)로 검증을 진행한다. 평가값은 앞서 소개한 바와 같이, 검증 데이터의 미니 배치들의 정확도(validation accuracy of the child path)와 현재 경로의 참조 횟수(Rc)의 비율을 통해 산출된다. 도면에서는 하나의 분기에 대해서만 역전파 과정이 적용되고 있으나, 이는 한 구역을 확대한 예시일 뿐이며, 해당 평가 함수 노드를 경유하는 모든 경로에 의하여 특정되는 모든 학습 모델들에 대하여 평가 절차가 진행된다.
다시 도 2를 참조하면, 학습 결과 평가 결과에 기초하여 최적의 학습 모델을 선정한다(S240). 예를 들면, 각 분기점에 위치한 평가 함수 노드별로 평가 결과에 기초하여 최적의 경로를 각각 설정하며, 이를 최하위 노드에 위치한 학습 블록 까지 진행하여 최적의 경로를 선정하고, 해당 경로에 의하여 특정되는 학습 모델을 최적의 학습 모델로 선정한다. 그리고, 선정된 학습 모델의 학습인자 및 모델을 저장한다.
도 11은 본 발명의 일 실시예에 따른 최적 학습 모델 선정 과정을 설명하기 위한 도면이다.
도시된 바와 같이, 최상위에 위치한 평가함수노드(940)에 도달하면, 평가 결과가 가장 좋은 경로를 통해 하위에 위치한 평가함수노드(950)에 도달하고, 더 이상 평가함수노드가 나타나지 않는 경우에는 평가 결과가 가장 좋은 경로에 위치한 학습 블록(932)를 선정하여, 최적의 학습 모델을 특정한다.
이상에서 설명한 본 발명의 실시예에 따른 최적의 학습 모델 선택 방법은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 이러한 기록 매체는 컴퓨터 판독 가능 매체를 포함하며, 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함하며, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 조사 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
또한, 본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수도 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 학습 모델 선택 장치 110: 데이터 입출력 모듈
120: 메모리 130: 프로세서

Claims (15)

  1. 인공 신경망을 구성하는 복수의 학습 모델 중 최적의 학습 모델을 선택하는 방법에 있어서,
    상기 인공 신경망을 구성하는 복수의 학습 블록들을 부모-자식 노드 관계를 갖는 트리구조로 배치하는 단계;
    복수의 학습 블록을 포함하여 이루어지고, 각 학습 블록의 연결 경로가 상이한 각 학습 모델에 대하여 개별적으로 선행 학습을 수행하여 각 학습 모델에 대한 학습 인자를 설정하는 선행 학습 단계;
    각 학습 모델에 대하여 본 학습을 수행하고, 검증 데이터를 적용하여 각 학습 모델에 대한 학습 결과를 평가하는 단계; 및
    상기 평가 결과에 기초하여 최적의 학습 모델을 선택하는 단계를 포함하되,
    상기 선행 학습 단계는 상기 인공 신경망에서 설정할 수 있는 모든 학습 모델에 대하여 적어도 1회 이상은 선행 학습을 수행하는 것인 최적 학습 모델 선택 방법.
  2. 제 1 항에 있어서,
    상기 트리구조로 배치하는 단계는
    각 계층별로 동일 계층에서의 분기 지점에 평가함수 노드를 배치하는 단계를 포함하고,
    평가함수 노드에는 각 평가함수 노드가 참조된 횟수 및 해당 평가함수 노드가 상기 연결 경로에 포함되는 각 학습 모델에 대한 평가값이 저장되는 것인 최적 학습 모델 선택 방법.
  3. 제 1 항에 있어서,
    상기 선행 학습 단계는 상기 연결 경로에 따라 결정되는 개별적인 학습 모델에 대하여 서로 독립적으로 선행학습을 수행하는 것인 최적 학습 모델 선택 방법.
  4. 제 1 항에 있어서,
    상기 선행 학습 단계는 상기 연결 경로에 따라 결정되는 개별적인 학습 모델에 대하여 선행학습을 수행하되, 동일한 학습 블록을 공유하는 각각의 학습 모델은 학습 인자를 공유하도록 선행학습을 수행하는 것인 최적 학습 모델 선택 방법.
  5. 제 4 항에 있어서,
    상기 선행 학습 단계는 상기 개별적인 학습 모델에 대하여 미리 설정된 횟수 만큼 동일한 횟수의 선행학습을 수행하거나, 상기 개별적인 학습 모델에 대하여 상기 미리 설정된 횟수에 소정의 변수를 곱한 값에 따라 서로 상이한 횟수의 선행학습을 수행하는 것인 최적 학습 모델 선택 방법.
  6. 제 1 항에 있어서,
    상기 학습 결과를 평가하는 단계는
    트리의 분기점에 도달하면 분기점에 배치된 평가함수노드의 정보를 기초로, 모든 자식 학습 블록들이 참조되었는지 확인하는 단계 및
    참조되지 않은 자식 학습 블록이 있는 경우 해당 블록을 우선적으로 학습하는 단계를 포함하는 최적 학습 모델 선택 방법.
  7. 제 6 항에 있어서,
    상기 학습 결과를 평가하는 단계는
    참조되지 않은 자식 학습 블록이 없는 경우 엡실론 정책 평가 단계에 따라 랜덤값을 지정하고, 랜덤값이 엡실론 값보다 큰 경우 자식 학습 블록들중 임의 자식 학습 블록을 선택하고, 랜덤값이 엡실론값보다 작은 경우 평가값이 가장 큰 경로에 위치한 자식 학습 블록을 선택하는 단계를 더 포함하되,
    상기 평가값은 아래 수학식 1에 따라 특정된 평가함수(Evaluation function)에 의하여 산출되는 것이고, 상기 엡실론 값은 아래 수학식 2에 따라 산출되는 것인 최적 학습 모델 선택 방법.
    [수학식 1]
    Figure pat00004

    (validation accuracy of the child path: 검증 결과에 의하여 산출된 자식 경로의 정확도이고,
    Rc: 현재 경로의 참조 횟수이며,
    n: 미리 정의된 참조 횟수임.)
    [수학식 2]
    Figure pat00005

    (Ec: 현재학습 횟수, Et: 전체 학습 횟수, Rc: 현재참조 횟수이고,
    C는 협업상수로서, 자식 경로의 개수를 4로 나눈 값부터 자식 경로의 개수를 2로 나눈 값 사이의 값이며,
    D는 부식상수로서 0과 1 사이의 값을 가짐.)
  8. 제 2 항에 있어서,
    상기 각 학습 모델은
    입력 레이어로서 기능하며, 입력 데이터에 대하여 합성곱(Convolution) 연산을 수행하고, 자동 정규화(Batch normalization)를 처리하는 제 1 학습 블록,
    상기 제 1 학습 블록의 자식 노드로서 연결되고, 최대 풀링(max pooling) 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 2 학습 블록,
    상기 제 1 학습 블록의 자식 노드로서 연결되고, 상기 제 2 학습 블록과 동일 계층에 위치하며, 평균 풀링(average pooling) 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 3 학습 블록,
    상기 제 2 학습 블록의 자식 노드로서 연결되고, 최대 풀링(max pooling) 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 4 학습 블록,
    상기 제 2 학습 블록의 자식 노드로서 연결되고, 상기 제 4 학습 블록과 동일 계층에 위치하며 평균 풀링(average pooling) 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 5 학습 블록,
    상기 제 3 학습 블록의 자식 노드로서 연결되고, 최대 풀링(max pooling) 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 6 학습 블록 및
    상기 제 3 학습 블록의 자식 노드로서 연결되고, 상기 제 5 학습 블록과 동일 계층에 위치하며 평균 풀링(average pooling) 처리, 합성곱 연산 및 자동 정규화 처리를 순차적으로 수행하는 제 7 학습 블록을 포함하며,
    상기 제 1 학습 블록, 제 2 학습 블록 및 제 3 학습 블록의 연결 지점에 제 1 평가 함수 노드가 배치되고, 상기 제 2 학습 블록, 제 4 학습 블록 및 제 5 학습 블록의 연결 지점에 제 2 평가 함수 노드가 배치되며, 상기 제 3 학습 블록, 제 6 학습 블록 및 제 7 학습 블록의 연결 지점에 제 3 평가 함수 노드가 배치되는 것인 최적 학습 모델 선택 방법.
  9. 인공 신경망을 구성하는 복수의 학습 모델 중 최적의 학습 모델을 선택하는 학습 모델 선택 장치에 있어서,
    학습 모델 선택 프로그램을 저장하는 메모리,
    데이터 입출력을 수행하는 데이터 입출력 모듈 및
    상기 메모리에 저장된 학습 모델 선택 프로그램을 실행하는 프로세서를 포함하되,
    상기 학습 모델 선택 프로그램은 상기 프로세서에 의하여 구동되어, 상기 인공 신경망을 구성하는 복수의 학습 블록들을 부모-자식 노드 관계를 갖는 트리구조로 배치하는 과정, 복수의 학습 블록을 포함하여 이루어지고, 각 학습 블록의 연결 경로가 상이한 각 학습 모델에 대하여 개별적으로 선행 학습을 수행하여 각 학습 모델에 대한 학습 인자를 설정하는 선행 학습 과정, 각 학습 모델에 대하여 본 학습을 수행하고, 검증 데이터를 적용하여 각 학습 모델에 대한 학습 결과를 평가하는 과정, 상기 평가 결과에 기초하여 최적의 학습 모델을 선택하는 과정을 수행하되, 상기 선행 학습 과정은 상기 인공 신경망에서 설정할 수 있는 모든 학습 모델에 대하여 적어도 1회 이상은 선행 학습을 수행하는 것인 학습 모델 선택 장치.
  10. 제 9 항에 있어서,
    상기 트리구조로 배치하는 과정은
    각 계층별로 동일 계층에서의 분기 지점에 평가함수 노드를 배치하는 것을 특징으로 하고, 평가함수 노드에는 각 평가함수 노드가 참조된 횟수 및 해당 평가함수 노드가 상기 연결 경로에 포함되는 각 학습 모델에 대한 평가값이 저장되는 것인 학습 모델 선택 장치.
  11. 제 9 항에 있어서,
    상기 선행 학습 과정은 상기 연결 경로에 따라 결정되는 개별적인 학습 모델에 대하여 서로 독립적으로 선행학습을 수행하는 것인 학습 모델 선택 장치.
  12. 제 9 항에 있어서,
    상기 선행 학습 과정은 상기 연결 경로에 따라 결정되는 개별적인 학습 모델에 대하여 선행학습을 수행하되, 동일한 학습 블록을 공유하는 각각의 학습 모델은 학습 인자를 공유하도록 선행학습을 수행하는 것인 학습 모델 선택 장치.
  13. 제 12 항에 있어서,
    상기 선행 학습 과정은 상기 개별적인 학습 모델에 대하여 미리 설정된 횟수 만큼 동일한 횟수의 선행학습을 수행하거나, 상기 개별적인 학습 모델에 대하여 상기 미리 설정된 횟수에 소정의 변수를 곱한 값에 따라 서로 상이한 횟수의 선행학습을 수행하는 것인 학습 모델 선택 장치.
  14. 제 9 항에 있어서,
    상기 학습 결과를 평가하는 과정은
    트리의 분기점에 도달하면 분기점에 배치된 평가함수노드의 정보를 기초로, 모든 자식 학습 블록들이 참조되었는지 확인하는 과정 및
    참조되지 않은 자식 학습 블록이 있는 경우 해당 블록을 우선적으로 학습하는 과정을 수행하는 학습 모델 선택 장치.
  15. 제 9 항에 있어서,
    상기 학습 결과를 평가하는 과정은
    참조되지 않은 자식 학습 블록이 없는 경우 엡실론 정책 평가 단계에 따라 랜덤값을 지정하고, 랜덤값이 엡실론 값보다 큰 경우 자식 학습 블록들중 임의 자식 학습 블록을 선택하고, 랜덤값이 엡실론값보다 작은 경우 평가값이 가장 큰 경로에 위치한 자식 학습 블록을 선택하는 과정을 더 포함하되,
    상기 평가값은 아래 수학식1에 따라 특정된 평가함수(Evaluation function)에 의하여 산출되는 것이고, 상기 엡실론 값은 아래 수학식 2에 따라 산출되는 것인 학습 모델 선택 장치.
    [수학식 1]
    Figure pat00006

    (validation accuracy of the child path: 검증 결과에 의하여 산출된 자식 경로의 정확도이고,
    Rc: 현재 경로의 참조 횟수이며,
    n: 미리 정의된 참조 횟수임.)
    [수학식 2]
    Figure pat00007

    (Ec: 현재학습 횟수, Et: 전체 학습 횟수, Rc: 현재참조 횟수이고,
    C는 협업상수로서, 자식 경로의 개수를 4로 나눈 값부터 자식 경로의 개수를 2로 나눈 값 사이의 값이며,
    D는 부식상수로서 0과 1 사이의 값을 가짐.)
KR1020180004294A 2018-01-12 2018-01-12 인공 신경망을 구성하는 복수의 학습 모델 중 최적 학습 모델 선택 방법 및 장치 KR102086815B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180004294A KR102086815B1 (ko) 2018-01-12 2018-01-12 인공 신경망을 구성하는 복수의 학습 모델 중 최적 학습 모델 선택 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180004294A KR102086815B1 (ko) 2018-01-12 2018-01-12 인공 신경망을 구성하는 복수의 학습 모델 중 최적 학습 모델 선택 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190086134A true KR20190086134A (ko) 2019-07-22
KR102086815B1 KR102086815B1 (ko) 2020-03-09

Family

ID=67469034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180004294A KR102086815B1 (ko) 2018-01-12 2018-01-12 인공 신경망을 구성하는 복수의 학습 모델 중 최적 학습 모델 선택 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102086815B1 (ko)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102122232B1 (ko) * 2019-12-31 2020-06-15 주식회사 알고리마 멀티 태스크를 위한 신경망 자동 생성 장치 및 방법
KR20200098904A (ko) * 2019-02-13 2020-08-21 아주대학교산학협력단 학습 모델 생성 장치 및 방법
WO2021040791A1 (en) * 2019-08-23 2021-03-04 Landmark Graphics Corporation Probability distribution assessment for classifying subterranean formations using machine learning
KR102235588B1 (ko) * 2019-12-09 2021-04-02 한국로봇융합연구원 다중 계층을 포함하는 인공지능 모델의 계층별 추론 분류 성능 평가 방법 및 평가 장치
WO2021080149A1 (ko) * 2019-10-22 2021-04-29 삼성전자 주식회사 스케일러블 딥 러닝 네트워크를 구동하는 전자 장치, 사용자 단말 및 방법
WO2021086065A1 (en) * 2019-11-01 2021-05-06 Samsung Electronics Co., Ltd. Electronic device and operating method thereof
KR20210080756A (ko) * 2019-12-23 2021-07-01 주식회사 제로원에이아이 인공지능 모델의 분산 학습 기법
KR20210092482A (ko) * 2020-01-16 2021-07-26 주식회사 에이젠글로벌 인공지능을 이용한 사기거래 탐지 시스템 및 사기거래 탐지 방법
KR20210119772A (ko) * 2020-03-25 2021-10-06 한전케이디엔주식회사 챗봇 서비스를 위한 자연어 처리 관리 시스템 및 그 방법
WO2022085958A1 (ko) * 2020-10-21 2022-04-28 삼성전자 주식회사 전자 장치 및 그 동작방법
KR20220055549A (ko) * 2020-10-26 2022-05-04 동아대학교 산학협력단 뇌질환 판단을 위한 딥러닝 기반의 pet 영상 분류 장치 및 그 방법
CN114442566A (zh) * 2020-11-05 2022-05-06 财团法人资讯工业策进会 行为推荐装置、行为推荐方法及其计算机存储介质
WO2022115659A1 (en) * 2020-11-30 2022-06-02 Getac Technology Corporation Artificial intelligence (ai) trained data model selection
US11468671B2 (en) 2020-11-30 2022-10-11 Getac Technology Corporation Sentiment analysis for situational awareness
US11477616B2 (en) 2020-11-30 2022-10-18 Getac Technology Corporation Safety detection controller
US11540027B2 (en) 2020-11-30 2022-12-27 Getac Technology Corporation Performant ad hoc data ingestion
US11575574B2 (en) 2020-11-30 2023-02-07 Getac Technology Corporation Heterogeneous cross-cloud service interoperability
US11605288B2 (en) 2020-11-30 2023-03-14 Whp Workflow Solutions, Inc. Network operating center (NOC) workspace interoperability
US11604773B2 (en) 2020-11-30 2023-03-14 Whp Workflow Solutions, Inc. Hierarchical data ingestion in a universal schema
US11630677B2 (en) 2020-11-30 2023-04-18 Whp Workflow Solutions, Inc. Data aggregation with self-configuring drivers
WO2023128320A1 (ko) * 2020-12-29 2023-07-06 (주)심플랫폼 인공지능 검증 시스템 및 방법
US11720414B2 (en) 2020-11-30 2023-08-08 Whp Workflow Solutions, Inc. Parallel execution controller for partitioned segments of a data model
KR102622569B1 (ko) * 2022-12-20 2024-01-09 (주)위세아이텍 지능형 제조 설비 제어 장치 및 그의 제어 방법
US11977993B2 (en) 2020-11-30 2024-05-07 Getac Technology Corporation Data source correlation techniques for machine learning and convolutional neural models

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240033201A (ko) 2022-09-04 2024-03-12 한국시스템보증(주) 딥러닝 복수 모델 검증 및 모델 합성 자동화 시스템
KR20240037502A (ko) 2022-09-15 2024-03-22 주식회사 소이넷 최적 경량화 자동산출 방법
KR20240044150A (ko) 2022-09-28 2024-04-04 주식회사 소이넷 최적조합 도출을 통한 추론모델 가속성능 향상방법
KR20240044067A (ko) 2022-09-28 2024-04-04 주식회사 소이넷 추론모델 가속성능 향상방법
KR20240051444A (ko) 2022-10-13 2024-04-22 주식회사 소이넷 임계치 설정에 따른 추론성능 가속화방법
KR20240051443A (ko) 2022-10-13 2024-04-22 주식회사 소이넷 목적 및 환경 기반 최적 디바이스 추천 서비스
WO2024106751A1 (ko) * 2022-11-15 2024-05-23 주식회사 인비전랩 인공지능 모델 자동생성 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100680055B1 (ko) 2000-04-19 2007-02-07 엘지전자 주식회사 플라즈마 디스플레이 패널의 구동장치
JP2011227838A (ja) * 2010-04-23 2011-11-10 Kyoto Univ 予測装置及びその学習装置並びにそれらのコンピュータプログラム
US20160132787A1 (en) * 2014-11-11 2016-05-12 Massachusetts Institute Of Technology Distributed, multi-model, self-learning platform for machine learning
KR20160094426A (ko) * 2013-12-05 2016-08-09 도쿄엘렉트론가부시키가이샤 제조 공정들을 학습하고/하거나 최적화하기 위한 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100680055B1 (ko) 2000-04-19 2007-02-07 엘지전자 주식회사 플라즈마 디스플레이 패널의 구동장치
JP2011227838A (ja) * 2010-04-23 2011-11-10 Kyoto Univ 予測装置及びその学習装置並びにそれらのコンピュータプログラム
KR20160094426A (ko) * 2013-12-05 2016-08-09 도쿄엘렉트론가부시키가이샤 제조 공정들을 학습하고/하거나 최적화하기 위한 시스템 및 방법
US20160132787A1 (en) * 2014-11-11 2016-05-12 Massachusetts Institute Of Technology Distributed, multi-model, self-learning platform for machine learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Roger Bermudez-Chacon 외 2명. Automatic problem-specific hyperparameter optimization and model selection for supervised machine learning. 2015년 *

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200098904A (ko) * 2019-02-13 2020-08-21 아주대학교산학협력단 학습 모델 생성 장치 및 방법
US11954567B2 (en) 2019-08-23 2024-04-09 Landmark Graphics Corporation Probability distribution assessment for classifying subterranean formations using machine learning
WO2021040791A1 (en) * 2019-08-23 2021-03-04 Landmark Graphics Corporation Probability distribution assessment for classifying subterranean formations using machine learning
GB2599881B (en) * 2019-08-23 2023-06-14 Landmark Graphics Corp Probability distribution assessment for classifying subterranean formations using machine learning
GB2599881A (en) * 2019-08-23 2022-04-13 Landmark Graphics Corp Probability distribution assessment for classifying subterranean formations using machine learning
WO2021080149A1 (ko) * 2019-10-22 2021-04-29 삼성전자 주식회사 스케일러블 딥 러닝 네트워크를 구동하는 전자 장치, 사용자 단말 및 방법
US11475878B2 (en) 2019-11-01 2022-10-18 Samsung Electronics Co., Ltd. Electronic device and operating method thereof
WO2021086065A1 (en) * 2019-11-01 2021-05-06 Samsung Electronics Co., Ltd. Electronic device and operating method thereof
US11942077B2 (en) 2019-11-01 2024-03-26 Samsung Electronics Co., Ltd. Electronic device and operating method thereof
KR102235588B1 (ko) * 2019-12-09 2021-04-02 한국로봇융합연구원 다중 계층을 포함하는 인공지능 모델의 계층별 추론 분류 성능 평가 방법 및 평가 장치
WO2021117921A1 (ko) * 2019-12-09 2021-06-17 한국로봇융합연구원 다중 계층을 포함하는 인공지능 모델의 계층별 추론 분류 성능 평가 방법 및 평가 장치
KR20210080756A (ko) * 2019-12-23 2021-07-01 주식회사 제로원에이아이 인공지능 모델의 분산 학습 기법
KR102122232B1 (ko) * 2019-12-31 2020-06-15 주식회사 알고리마 멀티 태스크를 위한 신경망 자동 생성 장치 및 방법
KR20210092482A (ko) * 2020-01-16 2021-07-26 주식회사 에이젠글로벌 인공지능을 이용한 사기거래 탐지 시스템 및 사기거래 탐지 방법
KR20220088836A (ko) * 2020-01-16 2022-06-28 주식회사 에이젠글로벌 인공지능을 이용한 사기거래 탐지 시스템 및 사기거래 탐지 방법
KR20210119772A (ko) * 2020-03-25 2021-10-06 한전케이디엔주식회사 챗봇 서비스를 위한 자연어 처리 관리 시스템 및 그 방법
WO2022085958A1 (ko) * 2020-10-21 2022-04-28 삼성전자 주식회사 전자 장치 및 그 동작방법
KR20220055549A (ko) * 2020-10-26 2022-05-04 동아대학교 산학협력단 뇌질환 판단을 위한 딥러닝 기반의 pet 영상 분류 장치 및 그 방법
CN114442566A (zh) * 2020-11-05 2022-05-06 财团法人资讯工业策进会 行为推荐装置、行为推荐方法及其计算机存储介质
US11604773B2 (en) 2020-11-30 2023-03-14 Whp Workflow Solutions, Inc. Hierarchical data ingestion in a universal schema
US11720414B2 (en) 2020-11-30 2023-08-08 Whp Workflow Solutions, Inc. Parallel execution controller for partitioned segments of a data model
US11605288B2 (en) 2020-11-30 2023-03-14 Whp Workflow Solutions, Inc. Network operating center (NOC) workspace interoperability
WO2022115659A1 (en) * 2020-11-30 2022-06-02 Getac Technology Corporation Artificial intelligence (ai) trained data model selection
US11630677B2 (en) 2020-11-30 2023-04-18 Whp Workflow Solutions, Inc. Data aggregation with self-configuring drivers
US11540027B2 (en) 2020-11-30 2022-12-27 Getac Technology Corporation Performant ad hoc data ingestion
US11990031B2 (en) 2020-11-30 2024-05-21 Getac Technology Corporation Network operating center (NOC) workspace interoperability
US11575574B2 (en) 2020-11-30 2023-02-07 Getac Technology Corporation Heterogeneous cross-cloud service interoperability
US11977993B2 (en) 2020-11-30 2024-05-07 Getac Technology Corporation Data source correlation techniques for machine learning and convolutional neural models
US11874690B2 (en) 2020-11-30 2024-01-16 Getac Technology Corporation Hierarchical data ingestion in a universal schema
US11477616B2 (en) 2020-11-30 2022-10-18 Getac Technology Corporation Safety detection controller
US11468671B2 (en) 2020-11-30 2022-10-11 Getac Technology Corporation Sentiment analysis for situational awareness
WO2023128320A1 (ko) * 2020-12-29 2023-07-06 (주)심플랫폼 인공지능 검증 시스템 및 방법
KR102622569B1 (ko) * 2022-12-20 2024-01-09 (주)위세아이텍 지능형 제조 설비 제어 장치 및 그의 제어 방법

Also Published As

Publication number Publication date
KR102086815B1 (ko) 2020-03-09

Similar Documents

Publication Publication Date Title
KR20190086134A (ko) 인공 신경망을 구성하는 복수의 학습 모델 중 최적 학습 모델 선택 방법 및 장치
KR102611938B1 (ko) 신경망을 사용한 통합 회로 플로어 플랜 생성
US8700548B2 (en) Optimization technique using evolutionary algorithms
CN108875955B (zh) 基于参数服务器的梯度提升决策树的实现方法及相关设备
CN110276442B (zh) 一种神经网络架构的搜索方法及装置
US10984319B2 (en) Neural architecture search
US11521066B2 (en) Method and apparatus for partitioning deep neural networks
CN112487168B (zh) 知识图谱的语义问答方法、装置、计算机设备及存储介质
KR102190103B1 (ko) 인공 신경망의 상용화 서비스 제공 방법
CN112784362A (zh) 一种用于无人机辅助边缘计算的混合优化方法及系统
CN111612528A (zh) 用户分类模型的确定方法、装置、设备及存储介质
CN114144794A (zh) 电子装置及用于控制电子装置的方法
US20150091909A1 (en) Systems And Methods For Distance Approximation In Graphs
CN110738362A (zh) 一种基于改进的多元宇宙算法构建预测模型的方法
KR20230024950A (ko) 최적 파라미터 결정 방법 및 시스템
Müller et al. Accelerating noisy VQE optimization with Gaussian processes
KR102190105B1 (ko) 인공 신경망의 파라미터 셋을 결정하는 방법
CN116245142A (zh) 用于深度神经网络的混合精度量化的系统和方法
KR20220032861A (ko) 하드웨어에서의 성능을 고려한 뉴럴 아키텍처 서치 방법 빛 장치
EP4339832A1 (en) Method for constructing ai integrated model, and inference method and apparatus of ai integrated model
KR20080024126A (ko) 검색 알고리즘을 위한 제약된 조사
JP2024504179A (ja) 人工知能推論モデルを軽量化する方法およびシステム
KR20220134627A (ko) 하드웨어-최적화된 신경 아키텍처 검색
CN113128677A (zh) 模型生成方法和装置
KR20200080813A (ko) 인공 신경망 학습 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant