KR20200095951A - Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템 - Google Patents

Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템 Download PDF

Info

Publication number
KR20200095951A
KR20200095951A KR1020190013975A KR20190013975A KR20200095951A KR 20200095951 A KR20200095951 A KR 20200095951A KR 1020190013975 A KR1020190013975 A KR 1020190013975A KR 20190013975 A KR20190013975 A KR 20190013975A KR 20200095951 A KR20200095951 A KR 20200095951A
Authority
KR
South Korea
Prior art keywords
parameter
channel
channels
architecture
input
Prior art date
Application number
KR1020190013975A
Other languages
English (en)
Other versions
KR102211604B1 (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 KR1020190013975A priority Critical patent/KR102211604B1/ko
Priority to US16/281,582 priority patent/US11687784B2/en
Publication of KR20200095951A publication Critical patent/KR20200095951A/ko
Application granted granted Critical
Publication of KR102211604B1 publication Critical patent/KR102211604B1/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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • 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
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

인공지능 시스템 및 학습 모델 검색 방법이 개시된다. 인공지능 시스템의 학습 모델 검색 방법은 제1 노드에 포함된 연산자가 제1 채널을 입력받는 단계, 제1 노드에 포함된 연산자가 입력된 제1 채널 각각에 대응되는 제1 파라미터와 입력된 제1 채널을 연산하여 제1 파라미터의 가중치에 대응하는 제1 파라미터 가중치 인덱스를 도출하는 단계, 제1 채널과 타 채널을 조합하여 제2 채널 그룹을 생성하여 출력하는 단계, 제2 노드에 포함된 연산자 제2 채널 그룹에 포함된 제2 채널을 입력받는 단계 및 제2 노드에 포함된 연산자가 입력된 제2 채널에 대응되는 제2 파라미터와 입력된 제2 채널을 연산하여 제2 파라미터의 가중치에 대응하는 제2 파라미터 가중치 인덱스를 도출하는 단계를 포함한다.

Description

GPU 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템{GPU-based AI system using channel-level architecture search for deep neural networks}
본 개시는 인공지능 시스템 및 학습 모델 생성 방법에 관한 것으로, 더욱 상세하게는 더 많은 경우의 수에 대한 최적의 네트워크를 검색하는 인공지능 시스템 및 학습 모델 생성 방법에 관한 것이다.
현재까지 존재하는 DNN의 작업을 위한 디자인은 굉장히 많은 하이퍼파라미터(hyperparameter)를 다뤄야하는 전문적인 작업이며, 많은 경험과 지식을 필요로 한다. 따라서, 인공지능 모델의 아키텍처 검색(architecture search)은 해결하기 어려운 점이 있다.
근래에 이르러 딥뉴럴 네트워크 모델의 발전 방향은 특정 작업에 대해 얼마나 효율적인 모델을 설계할 수 있는가에서 수동적인 방법으로는 고려되지 못할 수 있는 서치스페이스(search space)까지 찾아볼 수 있는 하이퍼파라미터(hyperparameter) 자동 검색이 기존 수동적인 설계 방법에 비해 얼마나 경쟁력이 있는가로 변화되고 있다.
현재까지 개발된 기존 기술의 특징을 아키텍처 설계의 방법은 단일 작업 수동 아키텍처, 단일 작업 자동 아키텍처 등으로 구분할 수 있다. 기존 기술은 큰 단위로 검색을 진행하기 때문에 일반화 에러(generalization error)가 낮은 아키텍처를 형성하기 어려운 점이 있다.
따라서, 더 작은 단위로 검색을 진행하여 일반화 에러를 낮출 수 있는 효율적인 인공지능 시스템에 대한 필요성이 존재한다.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 본 개시의 목적은 작업의 난이도나 학습 데이터의 양을 사전에 정의하지 않고도 채널 단위의 아키텍처 검색 과정을 통해 정밀한 구조를 자동 검색하고 학습하는 인공지능 시스템 및 학습 모델 검색 방법을 제공하는 것이다.
본 개시의 일 실시 예에 따른 인공지능 시스템의 학습 모델 검색 방법은 제1 노드에 포함된 복수의 연산자(operator) 각각이 적어도 하나의 제1 채널 그룹에 포함된 복수의 채널 중 채널 단위로 복수의 제1 채널을 입력받는 단계, 상기 제1 노드에 포함된 각각의 복수의 연산자가 상기 입력된 복수의 제1 채널 각각에 대응되는 각각의 제1 파라미터와 상기 입력된 제1 채널을 연산하여 상기 각각의 제1 파라미터의 가중치에 대응하는 각각의 제1 파라미터 가중치 인덱스를 도출하는 단계, 상기 복수의 제1 채널 중 적어도 하나의 제1 채널과 타 채널을 조합하여 적어도 하나의 제2 채널 그룹을 생성하여 출력하는 단계, 제2 노드에 포함된 복수의 연산자 각각이 상기 생성된 적어도 하나의 제2 채널 그룹에 포함된 복수의 채널 중 채널 단위로 복수의 제2 채널을 입력받는 단계 및 상기 제2 노드에 포함된 각각의 복수의 연산자가 상기 입력된 복수의 제2 채널 각각에 대응되는 각각의 제2 파라미터와 상기 입력된 제2 채널을 연산하여 상기 각각의 제2 파라미터의 가중치에 대응하는 각각의 제2 파라미터 가중치 인덱스를 도출하는 단계를 포함한다.
한편, 상기 제1 파라미터 및 상기 제2 파라미터 각각은 복수의 가중치를 포함하고, 상기 제1 파라미터 가중치 인덱스를 도출하는 단계는 각각의 제1 파라미터에 대한 상기 복수의 가중치의 절대값을 합산하고, 상기 각각의 제1 파라미터의 합산된 절대값에 기초하여 상기 제1 파라미터 가중치 인덱스를 도출하고, 상기 제2 파라미터 가중치 인덱스를 도출하는 단계는 각각의 제2 파라미터에 대한 수정된 복수의 가중치의 절대값을 합산하고, 상기 각각의 제2 파라미터의 합산된 절대값에 기초하여 상기 제2 파리미터 가중치 인덱스를 도출할 수 있다.
그리고, 인공지능 시스템의 학습 모델 검색 방법은 상기 복수의 제1 파라미터 중 상기 제1 파라미터 가중치 인덱스가 가장 높은 제1 파라미터를 제1 아키텍처 파라미터로 식별하고, 상기 복수의 제2 파라미터 중 상기 제2 파라미터 가중치 인덱스가 가장 높은 제2 파라미터를 제2 아키텍처 파라미터로 식별하는 단계를 더 포함할 수 있다.
그리고, 인공지능 시스템의 학습 모델 검색 방법은 상기 복수의 제1 파라미터 중 상기 식별된 제1 아키텍처 파라미터 외의 제1 파라미터를 제거하고, 상기 복수의 제2 파라미터 중 상기 식별된 제2 아키텍처 파라미터 외의 제2 파라미터를 제거하는 단계를 더 포함할 수 있다.
또한, 인공지능 시스템의 학습 모델 검색 방법은 상기 제1 채널 그룹에 포함된 복수의 채널 중 상기 식별된 제1 아키텍처 파라미터에 대응되는 제1 채널만을 입력받는 단계, 상기 제1 아키텍처 파라미터에 대응되는 제1 채널과 상기 제1 아키텍처 파라미터를 연산하여 상기 제1 아키텍처 파라미터의 가중치의 오차를 수정하는 단계, 상기 제1 아키텍처 파라미터에 대응되는 제1 채널과 타 채널을 조합하여 하나의 제2 채널 그룹을 생성하여 출력하는 단계, 상기 제2 채널 그룹에 포함된 복수의 채널 중 상기 식별된 제2 아키텍처 파라미터에 대응되는 제2 채널만을 입력받는 단계 및 상기 제2 아키텍처 파라미터에 대응되는 제2 채널과 상기 제2 아키텍처 파라미터를 연산하여 상기 제2 아키텍처 파라미터의 가중치의 오차를 수정하는 단계를 더 포함할 수 있다.
또한, 상기 채널 단위로 복수의 제1 채널을 입력받는 단계는 상기 복수의 연산자 중 제1 연산자가 상기 적어도 하나의 제1 채널 그룹의 채널 각각으로부터 상기 제1 연산자에 포함된 상기 제1 파라미터의 개수에 대응되는 개수의 채널을 입력받을 수 있다.
한편, 상기 타 채널은 상기 제1 노드에서 연산에 사용된 제1 채널 및 상기 제1 노드의 이전 노드에서 연산되지 않은 채널 중 적어도 하나의 채널을 포함할 수 있다.
그리고, 상기 제1 파라미터는 입력되는 채널의 개수에 대응되는 열 및 출력되는 채널의 개수에 대응되는 행의 커널을 포함할 수 있다.
본 개시의 일 실시 예에 따른 인공지능 시스템은 복수의 채널을 포함하는 적어도 하나의 제1 채널 그룹을 입력받는 입력 인터페이스 및 복수의 셀을 포함하는 프로세서를 포함하고, 상기 복수의 셀 각각은 복수의 노드를 포함하며, 상기 프로세서는 제1 노드에 포함된 복수의 연산자(operator) 각각이 적어도 하나의 제1 채널 그룹에 포함된 복수의 채널 중 채널 단위로 복수의 제1 채널을 입력받고, 상기 제1 노드에 포함된 각각의 복수의 연산자가 상기 입력된 복수의 제1 채널 각각에 대응되는 각각의 제1 파라미터와 상기 입력된 제1 채널을 연산하여 상기 각각의 제1 파라미터의 가중치에 대응하는 각각의 제1 파라미터 가중치 인덱스를 도출하며, 상기 복수의 제1 채널 중 적어도 하나의 제1 채널과 타 채널을 조합하여 적어도 하나의 제2 채널 그룹을 생성하여 출력하고, 제2 노드에 포함된 복수의 연산자 각각이 상기 생성된 적어도 하나의 제2 채널 그룹에 포함된 적어도 하나의 복수의 채널 중 채널 단위로 복수의 제2 채널을 입력받으며, 상기 제2 노드에 포함된 각각의 복수의 연산자가 상기 입력된 복수의 제2 채널 각각에 대응되는 각각의 제2 파라미터와 상기 입력된 제2 채널을 연산하여 상기 각각의 제2 파라미터의 가중치에 대응하는 각각의 제2 파라미터 가중치 인덱스를 도출한다.
그리고, 상기 프로세서는 상기 복수의 제1 파라미터 중 상기 제1 파라미터 가중치 인덱스가 가장 높은 제1 파라미터를 제1 아키텍처 파라미터로 식별하고, 상기 복수의 제2 파라미터 중 상기 제2 파라미터 가중치 인덱스가 가장 높은 제2 파라미터를 제2 아키텍처 파라미터로 식별할 수 있다.
또한, 상기 프로세서는 상기 복수의 제1 파라미터 중 상기 식별된 제1 아키텍처 파라미터 외의 제1 파라미터를 제거하고, 상기 복수의 제2 파라미터 중 상기 식별된 제2 아키텍처 파라미터 외의 제2 파라미터를 제거할 수 있다.
또한, 상기 프로세서는 상기 제1 채널 그룹에 포함된 복수의 채널 중 상기 식별된 제1 아키텍처 파라미터에 대응되는 제1 채널만을 입력받고, 상기 제1 아키텍처 파라미터에 대응되는 제1 채널과 상기 제1 아키텍처 파라미터를 연산하여 상기 제1 아키텍처 파라미터의 가중치의 오차를 수정하며, 상기 제1 아키텍처 파라미터에 대응되는 제1 채널과 타 채널을 조합하여 하나의 제2 채널 그룹을 생성하여 출력하고, 상기 제2 채널 그룹에 포함된 복수의 채널 중 상기 식별된 제2 아키텍처 파라미터에 대응되는 제2 채널만을 입력받으며, 상기 제2 아키텍처 파라미터에 대응되는 제2 채널과 상기 제2 아키텍처 파라미터를 연산하여 상기 제2 아키텍처 파라미터의 가중치의 오차를 수정할 수 있다.
한편, 상기 프로세서의 복수의 연산자 중 제1 연산자는 상기 적어도 하나의 제1 채널 그룹의 채널 각각으로부터 상기 제1 연산자에 포함된 상기 제1 파라미터의 개수에 대응되는 개수의 채널을 입력받을 수 있다.
그리고, 상기 타 채널은 상기 제1 노드에서 연산에 사용된 제1 채널 및 상기 제1 노드의 이전 노드에서 연산되지 않은 채널 중 적어도 하나의 채널을 포함할 수 있다.
또한, 상기 제1 파라미터는 입력되는 채널의 개수에 대응되는 열 및 출력되는 채널의 개수에 대응되는 행의 커널을 포함할 수 있다.
이상 설명한 바와 같이, 본 개시의 다양한 실시 예에 따르면, 인공지능의 학습 모델 검색 방법 및 인공지능 시스템은 채널 단위로 학습 모델을 검색할 수 있다.
그리고, 인공지능의 학습 모델 검색 방법 및 인공지능 시스템은 각 연산자별로 희박성(sparsity)을 다양하게 자유롭게 조절할 수 있고, 거대한 검색 영역에 대해 하나의 단일 모델(one-shot model)로 최적 학습 모델을 도출할 수 있다.
또한, 인공지능의 학습 모델 검색 방법 및 인공지능 시스템은 학습 모델의 크기를 다양하게 조절할 수 있고, 일반화 에러를 줄일 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 개시의 일 실시 예에 따른 인공지능 시스템의 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 인공지능 시스템의 세부 블록도이다.
도 3a 및 도 3b는 본 개시의 일 실시 예에 따른 학습 모델을 검색하는 과정을 설명하는 도면이다.
도 4a 및 도 4b는 본 개시의 일 실시 예에 따른 검색된 최적 모델을 설명하는 도면이다.
도 5는 본 개시의 일 실시 예에 따른 인공지능의 학습 모델 검색 방법의 흐름도이다.
도 6은 본 개시의 일 실시 예에 따른 가중치 분석 과정의 흐름도이다.
이하에서는 첨부된 도면을 참조하여 다양한 실시 예를 보다 상세하게 설명한다. 본 명세서에 기재된 실시 예는 다양하게 변형될 수 있다. 특정한 실시 예가 도면에서 묘사되고 상세한 설명에서 자세하게 설명될 수 있다. 그러나, 첨부된 도면에 개시된 특정한 실시 예는 다양한 실시 예를 쉽게 이해하도록 하기 위한 것일 뿐이다. 따라서, 첨부된 도면에 개시된 특정 실시 예에 의해 기술적 사상이 제한되는 것은 아니며, 발명의 사상 및 기술 범위에 포함되는 모든 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이러한 구성요소들은 상술한 용어에 의해 한정되지는 않는다. 상술한 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
한편, 본 명세서에서 사용되는 구성요소에 대한 "모듈" 또는 "부"는 적어도 하나의 기능 또는 동작을 수행한다. 그리고, "모듈" 또는 "부"는 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합에 의해 기능 또는 동작을 수행할 수 있다. 또한, 특정 하드웨어에서 수행되어야 하거나 적어도 하나의 제어부에서 수행되는 "모듈" 또는 "부"를 제외한 복수의 "모듈들" 또는 복수의 "부들"은 적어도 하나의 모듈로 통합될 수도 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, 반드시 A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
그 밖에도, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다. 한편, 각 실시 예는 독립적으로 구현되거나 동작될 수도 있지만, 각 실시 예는 조합되어 구현되거나 동작될 수도 있다.
도 1은 본 개시의 일 실시 예에 따른 인공지능 시스템의 블록도이고, 도 2는 본 개시의 일 실시 예에 따른 인공지능 시스템의 세부 블록도이다. 도 1 및 도 2를 참조하여 설명한다.
도 1을 참조하면, 인공지능 시스템(100)은 입력 인터페이스(110) 및 프로세서(120)를 포함한다.
입력 인터페이스(110)는 학습 데이터, 평가 데이터 등을 입력받는다. 입력된 학습 데이터 및 평가 데이터는 메모리(140)에 저장될 수 있다. 그리고, 메모리에는 기본 구조의 학습 모델(ConnecomeNet 모델)이 저장될 수 있다. 메모리(140)는 GPU 메모리보다 큰 규모의 데이터를 포함할 수 있다.
도 2를 참조하면, 프로세서(120)는 채널 레벨 아키텍처 검색 모듈(121), 멀티 GPU 병렬 처리 모듈(122), 입력 및 평가 데이터 로딩 모듈(123) 및 ConnecomeNet 로딩 모듈(124)을 포함할 수 있다. 프로세서(120)는 입력된 학습 데이터 및 기본 구조의 학습 모델에 기초하여 최적의 학습 모델을 검색할 수 있다. 한편, 인공지능 시스템(100)은 학습 과정의 빠른 연산과 병렬 처리를 위해 GPU(130)를 포함할 수 있다. GPU(130)는 복수의 개별 GPU(130a, ..., 130m)를 포함할 수 있다. 기본 구조의 학습 모델은 복수의 셀을 포함하고, 각 셀은 복수의 노드를 포함할 수 있다. 개별 GPU(130a, ..., 130m)는 개별 셀 또는 개별 노드에 대한 데이터 처리를 수행할 수 있다.
GPU(130)는 프로세서(120)와 별개로 구현될 수 있지만, 넓은 의미에서 프로세서(120)의 일부분으로 볼 수도 있다. 본 개시의 프로세서(120)는 물리적으로 별개로 구현될 수 있는 GPU(130)를 포함하는 개념으로 설명한다.
입력 및 평가 데이터 로딩 모듈(123)은 입력된 학습 데이터를 프로세서(120)에 로딩할 수 있다. 입력된 학습 데이터는 기존에 만들어진 학습 데이터일 수 있다.
ConnecomeNet 로딩 모듈(124)은 셀과 노드를 포함하는 기본 구조의 학습 모델(예, one-shot model)을 로딩할 수 있다. 채널 레벨 아키텍처 검색 모듈(121), 멀티 GPU 병렬 처리 모듈(122) 및 ConnecomeNet 로딩 모듈(124)은 학습 데이터를 이용해서 뉴럴 네트워크의 연산을 진행할 수 있다. 인공지능 시스템(100)은 상술한 모듈에서 추론한 결과를 평가 데이터를 이용하여 옳은 결과인지 판단할 수 있다.
본 개시의 상술한 학습 과정은 수퍼바이즈드 러닝(supervised learning)이라고 한다. 그리고, 입력된 학습 데이터를 이용하여 도출된 결과와 평가 데이터를 비교하여 그 차이를 수치화한 것이 로스(loss)이다. 로스를 이용해서 각 뉴런이 정답에 어느 정도 영향을 미쳤고, 어떻게 수정되어야 하는지에 대한 데이터가 그래디언트 데이터이다.
상술한 데이터는 GPU(130)(또는, 프로세서(120))에 스트리밍될 수 있다. 학습 데이터는 용량이 매우 클 수 있기 때문에 모든 학습 데이터가 GPU에 로딩될 수 없을 수 있다. 따라서, 학습 데이터는 개별 GPU(130a, ..., 130m) 각각에 미니 배치(Mini-batch) 단위로 스트리밍될 수 있다. ConnecomeNet 로딩 모듈(124)은 메모리(140)에서 GPU(130)로 학습 데이터의 로딩 과정을 수행할 수 있다. 복수의 GPU(130a, ..., 130m)는 로딩된 학습데이터와 뉴럴 네트워크를 병렬 처리할 수 있다. 이 경우, 개별 GPU(130a, ..., 130m)는 다중 코어 및 GPU 메모리를 포함할 수 있고, 프로세서(120)를 통해 전달되는 학습 데이터, 평가 데이터, 기본 구조의 학습 모델을 이용하여 뉴럴 네트워크를 추론할 수 있다. 멀티 GPU 병렬 처리 모듈(122)는 각 GPU(130a, ..., 130m)의 전체 작업을 관리할 수 있다.
채널 레벨 아키텍처 검색 모듈(121)은 채널 단위로 정밀하게 최적의 딥 뉴럴 네트워크 아키텍처를 검색하는 인공지능 시스템(100)의 추론 자동화와 모델 아키텍처 자동화 동작을 수행할 수 있다. 본 개시에서 입력 채널은 검색할 수 있는 가장 작은 단위이고, 채널간 연결의 조합을 통해 모델의 아키텍처가 최종적으로 구성될 수 있다. 최종분류기는 ConnecomeNet 모델 내에 ConnecomeNet 유닛을 통과한 출력 피처들이 모이는 최종 단계로 각 작업마다 하나씩 배치될 수 있다. 최종분류기를 통해 추론이 완료될 수 있다.
아래에서는 인공지능 학습 모델의 검색 과정에 대해 설명한다.
도 3a는 본 개시의 일 실시 예에 따른 학습 모델을 검색하는 방법을 설명하는 도면이다. 도 3a에는 가중치 분석을 수행하는 모델의 모식도가 도시되어 있고, 도 3b에는 채널 레벨 아키텍처 검색 전(또는, 가중치 분석 과정)의 연산 과정을 설명하는 도면이 도시되어 있다. 도 3a 및 도 3b를 참조하여 가중치 분석 과정을 설명한다.
본 개시의 인공지능 시스템은 가중치 분석 과정, 채널 레벨 아키텍처 검색 과정 및 재학습 과정을 순차적으로 수행할 수 있다. 가중치 분석 과정은 입력 데이터 및 평가 데이터에 기초하여 기본적인 단일 모델(one-shot model)의 파라미터의 가중치를 수정하는 과정일 수 있다. 채널 레벨 아키텍처 검색 과정은 수정된 파라미터 가중치를 비교하여 최고 가중치를 가지는 파라미터만 남겨두고 나머지 파라미터를 제거하여 최적 학습 모델을 생성(또는, 검색)하는 과정일 수 있다. 재학습 과정은 생성된 최적 학습 모델의 가중치의 오차를 수정하는 과정일 수 있다. 아래에서는 각 과정에 대해 자세히 설명한다.
본 개시의 인공지능 시스템은 입력 채널 단위를 조합하여 큰 검색 영역(search space)를 모두 표현할 수 있는 하나의 단일 모델(one-shot model)을 학습하고 최적 모델을 도출할 수 있는 아키텍처를 구성하기 위한 입력 채널 인덱스 도출 과정이 필요하다. 인덱스 도출은 가중치 분석 과정에서 수행될 수 있고, 인공지능 시스템은 가중치 분석 과정을 통해 단일 모델 내 파라미터를 사전에 정의된 epoch만큼 학습한 후 단일 모델 내 각 가중치를 비교 분석할 수 있다. 인공지능 시스템은 복수의 셀을 포함할 수 있고, 하나의 셀은 복수의 노드를 포함할 수 있으며, 각 노드는 복수의 연산자(operator)를 포함할 수 있다.
일 실시 예로서, 도 3a에 도시된 바와 같이, 하나의 셀(300)은 두 개의 노드(310, 320)를 포함할 수 있다. 제1 노드(310)는 제1 및 제2 연산자(311, 312)를 포함할 수 있고, 제2 노드(320)는 제3 및 제4 연산자(321, 322)를 포함할 수 있다. 하나의 입력 채널 그룹(10)은 두 개의 채널(11, 12)를 포함할 수 있다. 그리고, 하나의 출력 채널 그룹(50)도 두 개의 채널을 포함할 수 있다.
입력 채널 그룹(10) 중 하나의 채널(11)은 제2 연산자(312)로 입력될 수 있다. 도 3a에서는 하나의 입력 채널 그룹(10)이 도시되어 있으나, 입력 채널 그룹은 복수 개 존재할 수 있다. 제2 연산자(312)는 두 개의 채널에 대응되는 파라미터(21, 22)를 포함하므로 두 개의 채널을 입력받을 수 있다. 즉, 입력 채널 그룹(10)의 두 개의 채널(11, 12)이 모두 제2 연산자(312)로 입력될 수 있고, 복수 개의 입력 채널 그룹 중 조합되어 임의의 2개의 채널이 제2 연산자(312)로 입력될 수도 있다. 만일, 입력 채널 그룹(10)의 두 개의 채널(11, 12)가 제2 연산자(312)로 입력된 경우, 제2 연산자(312)는 입력된 두 개의 채널(11, 12)에 대응되는 두 개의 파라미터(21, 22)와 연산을 수행할 수 있다. 예를 들어, 두 개의 파라미터 중 제1 파라미터(21)는 제1 입력 채널(11)에 대응될 수 있고, 제2 파라미터(22)는 제2 입력 채널(12)에 대응될 수 있다. 제2 연산자(312)는 입력 채널과 대응되는 파라미터 간의 연산을 수행하며 학습을 통해 가중치를 변경하고 변경된 가중치에 따라 인덱스를 도출할 수 있다. 그리고, 제2 연산자(312)는 입력된 제1 채널(11, 12)을 연산하여 출력 채널 그룹(30)을 생성할 수 있다. 제2 연산자(311)도 유사하게 입력된 제1 채널(11, 12)을 연산하여 출력 채널 그룹(40)을 생성할 수 있다. 도 3a에서는 제1 입력 채널 그룹(10)이 하나인 경우가 도시되어 있으나, 제1 입력 채널 그룹(10)은 복수 개 존재할 수 있고, 제1 연산자(311)와 제2 연산자(312)는 서로 다른 복수의 제1 채널을 입력받을 수도 있다.
인공지능 시스템은 복수의 제1 채널 중 하나의 제1 채널과 타 채널을 조합하여 제2 채널 그룹(50)을 생성할 수 있다. 예를 들어, 타 채널은 제1 노드(310)에서 연산에 사용된 제1 채널일 수 있고, 이전 노드에서 연산되지 않은 채널 또는 이전 셀에서는 연산된 채널일 수도 있다. 제2 채널 그룹(50)에 포함된 개별 채널은 제2 노드(320)에 포함된 제3 연산자(321) 및 제4 연산자(322)로 입력될 수 있다. 또한, 제2 노드(320)에 입력될 제2 채널 그룹(50)은 복수 개 존재할 수 있다.도 3a에 도시된 바와 같이, 복수의 입력 채널 그룹(F1, Fc-1) 중 조합된 두 개의 채널이 각각 제2 노드(320)의 제3 연산자(321) 및 제4 연산자(322)로 입력될 수 있다. 제2 노드(320)에서 제2 채널을 입력받고 입력 채널과 대응되는 파라미터 간의 연산을 수행하며 학습을 통해 가중치를 변경하고 변경된 가중치에 따라 인덱스를 도출하는 과정은 상술한 제1 노드(310)에서의 연산 과정과 유사하다. 제2 노드(320)에서 출력된 출력 채널 그룹은 다음 노드 또는 다음 셀(400)로 전달될 수 있다.
도 3b를 참조하면, 연산자는 동일한 채널 개수를 가진 하나의 출력 채널 그룹을 가지고 각 출력 채널은 동일한 입력 채널과 연결될 수 있다. 연산자(312)는 입력 채널 및 출력 채널에 대응되는 파라미터(20)를 포함할 수 있다. 파라미터(20)는 입력 채널에 포함되는 채널의 개수에 대응되는 열 및 출력 채널 그룹에 포함되는 채널의 개수에 대응되는 행의 커널(21a, 21b, 22a, 22b)를 포함할 수 있다. 연산자에 포함된 파라미터(20)와 연산을 위해 입력 채널 그룹(10) 내의 입력 채널들도 파라미터의 커널과 대응되도록 커널 형태(11a, 11b, 12a, 12b)로 구성될 수 있다.
입력 채널 그룹(10)의 하나의 채널에 대응되는 하나의 파라미터(21)는 높은 가중치를 가질 수 있다. 높은 가중치를 가지는 파라미터(21)가 아키텍처 파라미터가 될 수 있다. 그리고, 나머지 파라미터는 제거될 수 있다.
도 4a는 본 개시의 일 실시 예에 따른 검색된 최적 모델을 설명하는 도면이다. 도 4a에는 채널 레벨 아키텍처 검색 과정 수행 후 재학습 과정을 수행하는 모델의 모식도가 도시되어 있고, 도 4b에는 채널 레벨 아키텍처 검색 후의 연산 과정을 설명하는 도면이 도시되어 있다. 도 4a 및 도 4b를 참조하여 채널 레벨 아키텍처 검색 과정 및 재학습 과정을 설명한다.
상술한 바와 같이, 각 연산자는 복수의 파라미터를 포함할 수 있고, 복수의 파라미터 각각은 가중치 인덱스를 부여받을 수 있다. 인공지능 시스템은 하나의 연산자에 포함된 복수의 파라미터 중 파라미터 가중치 인덱스가 가장 높은 하나의 파라미터를 아키텍처 파라미터로 식별할 수 있다. 한편, 각각의 파라미터는 복수의 가중치를 가질 수 있는데, 인공지능 시스템은 각각의 파라미터에 포함된 복수의 가중치의 절대값을 합산하고, 합산된 절대값에 기초하여 가중치 인덱스를 도출할 수 있다. 그리고, 인공지능 시스템은 각각의 파라미터에 대응되는 도출된 가중치 인덱스를 비교하여 가장 큰 가중치 인덱스에 대응되는 파라미터를 아키텍처 파라미터로 식별할 수 있다. 인공지능 시스템은 각 연산자에 대해 식별된 아키텍처 파라미터 외의 파라미터를 제거할 수 있다.
상술한 과정은 채널 레벨 아키텍처 검색 과정으로 제1 노드(310) 및 제2 노드(320)(또는, 다른 노드 및 다른 셀도 포함)에서 동일한 방식으로 수행될 수 있다.
도 4a에 도시된 모델의 기본적인 데이터 처리 과정은 도 3a에서 설명한 바와 유사하다. 다만, 도 4a에는 아키텍처 파라미터 이외의 파라미터는 제거되었기 때문에 도 3a의 기본 학습 모델보다 간단한 구조가 도시되어 있다. 도 4a에 도시된 최적 모델은 아키텍처 파라미터만 포함하고 있으므로 각 노드(또는, 각 연산자)는 아키텍처 파라미터에 대응되는 채널만 입력받을 수 있다. 즉, 각 노드로 입력되는 채널(11)이 현저히 적기 때문에 기존의 입력 채널 그룹을 그대로 입력으로 사용하던 모델과 다르게 하나의 입력 채널(11)만이 제1 노드로 입력될 수 있다. 또한, 제1 노드(310)에서 출력된 채널(41) 또는 이전 노드(또는, 이전 셀)로부터 전달되는 채널(12)만 제2 채널 그룹(50)으로 생성될 수 있고, 제2 노드(320)에 포함된 아키텍처 파라미터에 대응되는 채널만이 제2 노드(320)로 입력될 수 있다.
즉, 제1 노드(310)의 각 연산자(311, 312)는 제1 채널 그룹(Fc-1)에 포함된 복수의 채널 중 상기 식별된 제1 아키텍처 파라미터에 대응되는 제1 채널(11)만을 입력받을 수 있다. 그리고, 인공지능 시스템은 제1 아키텍처 파라미터에 대응되는 제1 채널(11)과 제1 아키텍처 파라미터를 연산하여 제1 아키텍처 파라미터의 가중치의 오차를 수정할 수 있다. 인공지능 시스템은 제1 노드(310)를 통해 두 개의 채널 그룹이 생성될 수 있는데, 두 개의 채널 그룹을 add 연결로 연산을 하면 두 개의 채널 그룹과 동일한 채널 수를 가진 제2 채널 그룹(50)을 생성하여 출력할 수 있다.
제2 노드(320)의 각 연산자(321, 322)는 제2 채널 그룹(50)에 포함된 복수의 채널 중 식별된 제2 아키텍처 파라미터에 대응되는 제2 채널(12, 41)만을 입력받을 수 있다. 그리고, 인공지능 시스템은 제2 아키텍처 파라미터에 대응되는 제2 채널(12, 41)과 제2 아키텍처 파라미터를 연산하여 제2 아키텍처 파라미터의 가중치의 오차를 수정할 수 있다.
상술한 과정은 재학습 과정으로 재학습 과정이 종료되면 최적의 학습 모델이 생성될 수 있다.
도 4b를 참조하면, 연산자는 하나의 파라미터(1)를 포함할 수 있고, 입력 채널(3)도 하나일 수 있다. 한편, 출력 채널이 두 개인 경우, 파라미터(1)는 출력 채널에 대응될 수 있도록 각각 두 개의 커널(1a, 1b)를 포함할 수 있고, 입력 채널(3)도 파라미터(1)에 대응되도록 두 개의 커널 형태(3a, 3b)로 구성될 수 있다. 연산자는 제거 대상 채널을 제거한 후 아키텍처 파라미터에 대응되는 채널에 대해서만 연산을 수행할 수 있다. 도 4b에는 하나의 입력 채널(3)과 두 개의 출력 채널의 실시 예가 도시되어 있으나, 입력 채널 및 출력 채널의 개수는 다양하게 설정될 수 있다.
즉, 도 4a 및 도 4b에 도시된 예는 일 실시 예이며, 경우에 따라 인공지능 시스템은 가중치가 가장 큰 파라미터 순서로 기 설정된 개수의 아키텍처 파라미터를 식별하고, 나머지 파라미터는 제거할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 인공지능의 학습 모델 검색 방법의 흐름도이다.
인공지능 시스템에 기본 구조의 학습 모델이 로딩되면 인공지능 시스템은 복수의 셀을 포함할 수 있다. 그리고, 셀은 복수의 노드를 포함할 수 있고, 노드는 복수의 연산자(operator)를 포함할 수 있다.
인공지능 시스템은 제1 노드에 포함된 복수의 연산자 각각이 적어도 하나의 제1 채널 그룹에 포함된 복수의 채널 중 채널 단위로 복수의 제1 채널을 입력받는다(S510). 제1 채널 그룹은 제1 노드로 입력되는 입력 채널 그룹일 수 있다. 제1 채널 그룹은 복수 개 존재할 수 있고, 제1 채널 그룹은 복수 개의 제1 채널을 포함할 수 있다. 인공지능 시스템은 적어도 하나의 제1 채널 그룹 각각으로부터 제1 노드에 포함된 파라미터의 개수에 대응되는 개수의 채널을 채널 단위로 입력받을 수 있다. 예를 들어, 제1 채널 그룹이 두 개 존재하고, 각각의 제1 채널 그룹에 두 개의 채널을 포함할 수 있다. 따라서, 입력 채널은 제1 내지 제4 채널까지 네 개가 존재할 수 있다. 그리고, 제1 노드에는 두 개의 채널에 대응되는 파라미터가 포함될 수 있다. 따라서, 제1 노드는 제1 채널 내지 제4 채널 중에서 6개(4C2)의 가능한 조합 중 하나의 조합으로 채널을 입력받을 수 있다.
인공지능 시스템은 제1 노드에 포함된 각각의 복수의 연산자가 입력된 복수의 제1 채널에 대응되는 각각의 제1 파라미터와 입력된 제1 채널을 연산하여 각각의 제1 파라미터의 가중치에 대응하는 각각의 제1 파라미터 가중치 인덱스를 도출한다(S520). 예를 들어, 제1 파라미터 및 제2 파라미터 각각은 복수의 가중치를 포함할 수 있다. 인공지능 시스템은 각각의 제1 파라미터에 대한 복수의 가중치의 절대값을 합산하고, 각각의 제1 파라미터의 합산된 절대값에 기초하여 제1 파라미터 가중치 인덱스를 도출할 수 있다. 그리고, 인공지능 시스템은 유사하게 각각의 제2 파라미터에 대한 복수의 가중치의 절대값을 합산하고, 각각의 제2 파라미터의 합산된 절대값에 기초하여 제2 파라미터 가중치 인덱스를 도출할 수 있다.
인공지능 시스템은 복수의 제1 채널 중 적어도 하나의 제1 채널과 타 채널을 조합하여 적어도 하나의 제2 채널 그룹을 생성하여 출력할 수 있다(S530). 생성된 제2 채널 그룹은 제2 노드의 입력 채널 그룹일 수 있다. 한편, 타 채널은 제1 노드에서 연산에 사용된 제1 채널 및 제1 노드의 이전 노드에서 연산되지 않은 채널 중 적어도 하나의 채널을 포함할 수 있다.
인공지능 시스템은 제2 노드에 포함된 복수의 연산자 각각이 생성된 적어도 하나의 제2 채널 그룹에 포함된 복수의 채널 중 채널 단위로 복수의 제2 채널을 입력받는다(S540). 제2 노드가 제2 채널을 입력받는 과정은 상술한 제1 노드가 제1 채널을 입력받는 과정과 유사할 수 있다.
인공지능 시스템은 제2 노드에 포함된 각각의 복수의 연산자가 입력된 복수의 제2 채널 각각에 대응되는 각각의 제2 파라미터와 입력된 제2 채널을 연산하여 각각의 제2 파라미터의 가중치에 대응하는 각각의 제2 파라미터 가중치 인덱스를 도출한다(S550). 제2 파라미터 가중치 인덱스를 도출하는 과정은 상술한 제1 파라미터 가중치 인덱스를 도출하는 과정과 유사할 수 있다.
한편, 인공지능 시스템은 상술한 과정 이후 채널 레벨 아키텍처 검색 과정 및 재학습 과정을 수행할 수 있다.
즉, 인공지능 시스템은 복수의 제1 파라미터 중 제1 파라미터 가중치 인덱스가 가장 높은 제1 파라미터를 제1 아키텍처 파라미터로 식별하고, 복수의 제2 파라미터 중 제2 파라미터 가중치 인덱스가 가장 높은 제2 파라미터를 제2 아키텍처 파라미터로 식별할 수 있다. 인공지능 시스템은 복수의 제1 파라미터 중 식별된 제1 아키텍처 파라미터 외의 제1 파라미터를 제거하고, 복수의 제2 파라미터 중 식별된 제2 아키텍처 파라미터 외의 제2 파라미터를 제거할 수 있다. 인공지능 시스템은 채널 레벨 아키텍처 검색 과정 이후 재학습 과정을 수행할 수 있다.
인공지능 시스템은 제1 채널 그룹에 포함된 복수의 채널 중 상기 식별된 제1 아키텍처 파라미터에 대응되는 제1 채널만을 입력받고, 제1 아키텍처 파라미터에 대응되는 제1 채널과 제1 아키텍처 파라미터를 연산하여 제1 아키텍처 파라미터의 가중치의 오차를 수정할 수 있다. 그리고, 인공지능 시스템은 제1 아키텍처 파라미터에 대응되는 제1 채널과 타 채널을 조합하여 하나의 제2 채널 그룹을 생성하여 출력할 수 있다.
인공지능 시스템은 제2 채널 그룹에 포함된 복수의 채널 중 식별된 제2 아키텍처 파라미터에 대응되는 제2 채널만을 입력받고, 제2 아키텍처 파라미터에 대응되는 제2 채널과 제2 아키텍처 파라미터를 연산하여 제2 아키텍처 파라미터의 가중치의 오차를 수정할 수 있다.
한편, 제1 파라미터는 하나의 제1 채널 그룹에 포함되는 제1 채널의 개수에 대응되는 열의 커널과 하나의 제2 채널 그룹에 포함되는 제2 채널의 개수에 대응되는 행의 커널을 포함할 수 있다. 또한, 제2 파라미터도 입력 채널 그룹에 포함되는 채널의 개수에 대응되는 열의 커널과 출력 채널 그룹에 포함되는 채널의 개수에 대응되는 행의 커널을 포함할 수 있다.
작업을 학습하고 수행하기 위해 L2-정규화(L2-regularization)과 함께 사전에 정의된 epoch 횟수(예: 630 epoch)을 진행하는 학습 과정은 L2-학습(L2-training)이라고 부를 수 있다. 그리고, 학습을 사전에 정의된 epoch 횟수(예: 150 epoch)를 진행한 후, 채널에 1대1로 대응되는 파라미터의 가중치 간 크기를 분석하는 과정은 가중치 분석 과정이라고 부를 수 있다. 가중치 분석 과정의 결과물로 입력 채널 그룹 중 중요한 입력 채널에 대한 인덱스가 도출될 수 있다.
도출된 인덱스에 대한 채널 단위의 아키텍처 검색은 채널 레벨 아키텍처 검색 과정이라고 부를 수 있다. 최종적으로 도출된 최적화 모델에 대해 L2-학습(L2-training)이 진행된 후 인공지능 시스템의 학습이 종료될 수 있다.
본 개시에서 제1 및 제2 노드, 제1 및 제2 채널 그룹, 제1 및 제2 채널 등은 물리적으로 하나를 의미하는 것이 아니라 동일 단계에 포함되는 복수의 구성을 포함할 수 있다. 즉, 제1 및 제2 채널 그룹은 복수 개 존재할 수 있고, 제1 및 제2 채널도 복수 개 존재할 수 있다.
또한, 상술한 바와 같이 입력 데이터, 평가 데이터 및 기본 구조의 학습 모델 등은 개별 GPU로 로딩되어 개별 GPU에서 처리될 수도 있다.
도 7은 본 개시의 일 실시 예에 따른 가중치 분석 과정의 흐름도이다.
도 7을 참조하면, 인공지능 시스템은 입력 데이터 및 파라미터를 입력받을 수 있다. 그리고, 인공지능 시스템은 모델 내 모든 셀에 대한 연산자를 초기화할 수 있다(S610). D는 입력 데이터를 의미하고, 파라미터 Wj는 아키텍처가 결정될 단위인 한 채널에 대응되는 파라미터를 의미한다. j는 하나의 파라미터에 대한 인덱스를 의미한다.
인공지능 시스템의 단일 모델은 총 p 개의 파라미터를 포함할 수 있고, 연산자는 총 L 개를 포함할 수 있다. 가중치 분석은 셀 단위나 노드 단위에 대한 고려가 필요하지 않으므로 연산자를 구분하기 위한 셀이나 노드 개념을 제외하면 인공지능 시스템의 모델은 마치 모델 자체가 연산자로만 구성된 것처럼 하나의 인덱스 단위로 구분될 수 있다.
인공지능 시스템은 단일 모델을 학습할 수 있다(S620). e는 사전에 정의된 하이퍼파라미터이다.
인공지능 시스템은 파라미터의 L1-norm을 Nj에 할당할 수 있다(S630). 인공지능 시스템은 Nj에 기초하여 가장 높은 가중치 인덱스를 가지는 아키텍처 파라미터를 식별할 수 있다(S640). 파라미터 그룹의 크기는 (OC × IC × kernel height × kernel width) 이고, 하나의 파라미터의 크기는 (OC × kernel height × kernel width)일 수 있다. 도 3a의 경우, 총 p개의 Wj 중에서 제2 연산자가 2개의 Wj를 가지고, 제2 연산자에서의 k가 1인 예가 도시되어 있다. k는 사전에 정의된 하이퍼파라미터이다. 만일, 제2 연산자가 W3과 W4를 가진다면 인공지능 시스템은 N3과 N4와 비교하는데, N3이 더 크면 인덱스 3을 I에 추가할 수 있다.
인공지능 시스템은 모든 연산자에 대해 상술한 과정이 진행되면 저장된 인덱스 I를 반환하는데, I의 각 요소는 아키텍처 파라미터에 1:1 대응될 수 있다. I는 Nj 중에서 사전에 정의된 수만큼 가중치가 크다고 식별된 파라미터에 대한 중요 인덱스이며, I에 1대1로 대응하는 채널과 파라미터만 남기고 제거하는 과정이 채널 레벨 아키텍처 검색 과정일 수 있다.
가중치 분석 과정 이후 채널 레벨 아키텍처 검색 과정이 수행될 수 있다. 도 3을 참조하면, F(c-1)은 이전 셀의 출력 채널 그룹이고, F1은 제1 노드의 출력 채널 그룹일 수 있다. 제3 연산자 및 제4 연산자에는 각각 F(c-1) 및 F1이 입력될 수 있다. 연산자는 2개의 입력 채널 그룹을 가지는 상태가 되는데, 채널 레벨 아키텍처 검색 과정은 가중치 분석 과정에서 도출된 인덱스 I에 대응되지 않는 채널들을 제거하여 최적의 모델을 도출할 수 있다.
채널 레벨 아키텍처 검색 이후 인공지능 시스템은 희박성(sparsity)과 연산 비용 측면에서 장점을 가질 수 있다. 도 3a에서 일반적인 방식인 경우, 제3 연산자(321)가 입력받을 수 있는 채널은 모두 2개일 수 있지만, 본 개시의 시스템은 1개의 채널(41)만이 제3 연산자(321)로 입력될 수 있으므로 최적 모델의 희박성이 증가할 수 있다. 또한, 모델이 동일한 수의 연산자를 포함할 때 입력 채널과 출력 채널 간 연결이 희박(sparse)할수록 모델의 일반화 에러(generalization error)가 낮아질 수 있다. 희박성은 구현에 따라 다를 수 있지만, 한 가지 예로서, 256 채널의 입력 채널 그룹이 네 개의 브랜치(branch)로 나누어 연산되는 경우, 64 채널로 나누어 연산되면 75%의 희박성이 보장될 수 있다.
그리고, 연산 밀도가 높을수록 병렬 처리에 유리할 수 있다. 본 개시의 인공지능 시스템은 최적 모델에서 채널 간 그룹 연결은 희박하게 만들어 모델의 일반화 에러를 낮추면서도 연산 자체는 밀도있게 처리되기 때문에 병렬 처리에 유리할 수 있다. 연산 밀도가 높아질 수 있는 이유는 도 3a와 도 4a를 통해 설명될 수 있다. 도 3a의 모델이 도 4a와 동일한 연산을 하려면 연산자는 총 네 개가 필요하고, 입력 채널 그룹에 포함된 입력 채널은 오직 한 개인 상태(다른 입력 채널은 0)에서 입력 채널과 대응되는 파라미터도 한 개이어야 하므로 다른 파라미터는 모두 0이 되어야 한다. 또한, 4개의 입력 채널과 4개의 파라미터 간 연산이 수행되어야 하므로 불필요한 연산이 많은 희박한 상태라고 할 수 있다. 도 5의 모델의 경우, 연산자의 파라미터 및 입력 채널이 모두 1개만 존재하므로 필요한 연산만 수행되어 연산 밀도가 높은 상태라고 볼 수 있다.
본 개시에서 수행될 수 있는 메모리 복사 연산의 경우, 기존 기술에서도 유사하게 발생하므로 메모리 복사 연산에 대한 비용은 다른 기존 기술과 유사할 수 있다.
본 개시의 인공지능 시스템은 더 큰 검색 영역(search space)에 대한 아키텍처 검색을 단일 모델을 이용하여 한 번에 최적 모델을 도출할 수 있다. 즉, 기존 기술을 바탕으로 검색 영역을 정의하면 도 3a에서 제1 연산자 연결(Fc-1) × 제2 연산자 연결(Fc-1) × 제3 연산자 연결(Fc-1, F1) × 제4 연산자 연결(Fc-1, Fc)가 되고, 경우의 수는 1×1×2×2 = 4이지만, 채널 단위로 입력받는 본 개시의 인공지능 시스템의 검색 영역은 2×2×4×4 = 64로 훨씬 큰 검색 영역을 가질 수 있다.
본 개시의 인공지능 시스템이 상술한 큰 검색 영역에 대한 검색에 유리한 이유는 controller RNN이나 genetic algorithm을 사용하지 않으므로 각 연산자가 선택할 연결에 대한 구조(architecture)를 각 경우의 수에 대해 각각 child model을 생성하여 학습하고, 검색 필요 없이 단일 모델을 이용해 한 번에 검색을 완료하기 때문이다.
상술한 차이는 셀 내의 연산자의 수가 많을수록 더 커진다. 연산자의 수가 많을 수록, 입력 채널 그룹이 커질수록 본 개시의 인공지능 시스템의 검색 영역은 기하급수적으로 커질 수 있다.
또한, 입력 채널의 효율적인 사용 측면에서 본 개시의 장점을 설명한다. 기존 기술의 경우, 입력 채널 그룹 단위로 연결을 형성하기 때문에 시스템은 입력 채널 그룹 2개 중 50%의 입력 채널 그룹과 연결될 수 있다. 하나의 연산자에서 희박성은 언제나 50%의 입력 채널 그룹과 연결될 수 밖에 없다. 따라서, 기존 기술의 시스템은 피처(feature)를 유용하게 사용할 수 없다.
반면에, 본 개시의 시스템은 채널 단위로 데이터를 입력받기 때문에 4개의 입력 채널을 받을 수 있는 경우, 1개만 받으면 25%, 2개를 받으면 50%, 3개를 받으면 75%, 4개를 받으면 100%로 총 네 가지 경우의 수를 가질 수 있고, 다양한 경우의 수에 대응하여 효율적인 희박성을 구성할 수 있다.
상술한 다양한 실시 예에 따른 인공지능 시스템의 학습 모델 검색 방법은 컴퓨터 프로그램 제품으로 제공될 수도 있다. 컴퓨터 프로그램 제품은 S/W 프로그램 자체 또는 S/W 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)를 포함할 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 인공지능 시스템
110: 입력 인터페이스 120: 프로세서

Claims (15)

  1. 제1 노드에 포함된 복수의 연산자(operator) 각각이 적어도 하나의 제1 채널 그룹에 포함된 복수의 채널 중 채널 단위로 복수의 제1 채널을 입력받는 단계;
    상기 제1 노드에 포함된 각각의 복수의 연산자가 상기 입력된 복수의 제1 채널 각각에 대응되는 각각의 제1 파라미터와 상기 입력된 제1 채널을 연산하여 상기 각각의 제1 파라미터의 가중치에 대응하는 각각의 제1 파라미터 가중치 인덱스를 도출하는 단계;
    상기 복수의 제1 채널 중 적어도 하나의 제1 채널과 타 채널을 조합하여 적어도 하나의 제2 채널 그룹을 생성하여 출력하는 단계;
    제2 노드에 포함된 복수의 연산자 각각이 상기 생성된 적어도 하나의 제2 채널 그룹에 포함된 복수의 채널 중 채널 단위로 복수의 제2 채널을 입력받는 단계; 및
    상기 제2 노드에 포함된 각각의 복수의 연산자가 상기 입력된 복수의 제2 채널 각각에 대응되는 각각의 제2 파라미터와 상기 입력된 제2 채널을 연산하여 상기 각각의 제2 파라미터의 가중치에 대응하는 각각의 제2 파라미터 가중치 인덱스를 도출하는 단계;를 포함하는 인공지능 시스템의 학습 모델 검색 방법.
  2. 제1항에 있어서,
    상기 제1 파라미터 및 상기 제2 파라미터 각각은,
    복수의 가중치를 포함하고,
    상기 제1 파라미터 가중치 인덱스를 도출하는 단계는,
    각각의 제1 파라미터에 대한 상기 복수의 가중치의 절대값을 합산하고, 상기 각각의 제1 파라미터의 합산된 절대값에 기초하여 상기 제1 파라미터 가중치 인덱스를 도출하고,
    상기 제2 파라미터 가중치 인덱스를 도출하는 단계는,
    각각의 제2 파라미터에 대한 상기 복수의 가중치의 절대값을 합산하고, 상기 각각의 제2 파라미터의 합산된 절대값에 기초하여 상기 제2 파라미터 가중치 인덱스를 도출하는, 인공지능 시스템의 학습 모델 검색 방법.
  3. 제1항에 있어서,
    상기 복수의 제1 파라미터 중 상기 제1 파라미터 가중치 인덱스가 가장 높은 제1 파라미터를 제1 아키텍처 파라미터로 식별하고, 상기 복수의 제2 파라미터 중 상기 제2 파라미터 가중치 인덱스가 가장 높은 제2 파라미터를 제2 아키텍처 파라미터로 식별하는 단계;를 더 포함하는 인공지능 시스템의 학습 모델 검색 방법.
  4. 제3항에 있어서,
    상기 복수의 제1 파라미터 중 상기 식별된 제1 아키텍처 파라미터 외의 제1 파라미터를 제거하고, 상기 복수의 제2 파라미터 중 상기 식별된 제2 아키텍처 파라미터 외의 제2 파라미터를 제거하는 단계;를 더 포함하는 인공지능 시스템의 학습 모델 검색 방법.
  5. 제4항에 있어서,
    상기 제1 채널 그룹에 포함된 복수의 채널 중 상기 식별된 제1 아키텍처 파라미터에 대응되는 제1 채널만을 입력받는 단계;
    상기 제1 아키텍처 파라미터에 대응되는 제1 채널과 상기 제1 아키텍처 파라미터를 연산하여 상기 제1 아키텍처 파라미터의 가중치의 오차를 수정하는 단계;
    상기 제1 아키텍처 파라미터에 대응되는 제1 채널과 타 채널을 조합하여 하나의 제2 채널 그룹을 생성하여 출력하는 단계;
    상기 제2 채널 그룹에 포함된 복수의 채널 중 상기 식별된 제2 아키텍처 파라미터에 대응되는 제2 채널만을 입력받는 단계; 및
    상기 제2 아키텍처 파라미터에 대응되는 제2 채널과 상기 제2 아키텍처 파라미터를 연산하여 상기 제2 아키텍처 파라미터의 가중치의 오차를 수정하는 단계;를 더 포함하는 인공지능 시스템의 학습 모델 검색 방법.
  6. 제1항에 있어서,
    상기 채널 단위로 복수의 제1 채널을 입력받는 단계는,
    상기 복수의 연산자 중 제1 연산자가 상기 적어도 하나의 제1 채널 그룹의 채널 각각으로부터 상기 제1 연산자에 포함된 상기 제1 파라미터의 개수에 대응되는 개수의 채널을 입력받는, 인공지능 시스템의 학습 모델 검색 방법.
  7. 제1항에 있어서,
    상기 타 채널은,
    상기 제1 노드에서 연산에 사용된 제1 채널 및 상기 제1 노드의 이전 노드에서 연산되지 않은 채널 중 적어도 하나의 채널을 포함하는, 인공지능 시스템의 학습 모델 검색 방법.
  8. 제1항에 있어서,
    상기 제1 파라미터는,
    입력되는 채널의 개수에 대응되는 열 및 출력되는 채널의 개수에 대응되는 행의 커널을 포함하는, 인공지능 시스템의 학습 모델 검색 방법.
  9. 복수의 채널을 포함하는 적어도 하나의 제1 채널 그룹을 입력받는 입력 인터페이스; 및
    복수의 셀을 포함하는 프로세서;를 포함하고,
    상기 복수의 셀 각각은 복수의 노드를 포함하며,
    상기 프로세서는,
    제1 노드에 포함된 복수의 연산자(operator) 각각이 적어도 하나의 제1 채널 그룹에 포함된 복수의 채널 중 채널 단위로 복수의 제1 채널을 입력받고, 상기 제1 노드에 포함된 각각의 복수의 연산자가 상기 입력된 복수의 제1 채널 각각에 대응되는 각각의 제1 파라미터와 상기 입력된 제1 채널을 연산하여 상기 각각의 제1 파라미터의 가중치에 대응하는 각각의 제1 파라미터 가중치 인덱스를 도출하며, 상기 복수의 제1 채널 중 적어도 하나의 제1 채널과 타 채널을 조합하여 적어도 하나의 제2 채널 그룹을 생성하여 출력하고, 제2 노드에 포함된 복수의 연산자 각각이 상기 생성된 적어도 하나의 제2 채널 그룹에 포함된 적어도 하나의 복수의 채널 중 채널 단위로 복수의 제2 채널을 입력받으며, 상기 제2 노드에 포함된 각각의 복수의 연산자가 상기 입력된 복수의 제2 채널 각각에 대응되는 각각의 제2 파라미터와 상기 입력된 제2 채널을 연산하여 상기 각각의 제2 파라미터의 가중치에 대응하는 각각의 제2 파라미터 가중치 인덱스를 도출하는, 인공지능 시스템.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 복수의 제1 파라미터 중 상기 제1 파라미터 가중치 인덱스가 가장 높은 제1 파라미터를 제1 아키텍처 파라미터로 식별하고, 상기 복수의 제2 파라미터 중 상기 제2 파라미터 가중치 인덱스가 가장 높은 제2 파라미터를 제2 아키텍처 파라미터로 식별하는, 인공지능 시스템.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 복수의 제1 파라미터 중 상기 식별된 제1 아키텍처 파라미터 외의 제1 파라미터를 제거하고, 상기 복수의 제2 파라미터 중 상기 식별된 제2 아키텍처 파라미터 외의 제2 파라미터를 제거하는, 인공지능 시스템.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 제1 채널 그룹에 포함된 복수의 채널 중 상기 식별된 제1 아키텍처 파라미터에 대응되는 제1 채널만을 입력받고, 상기 제1 아키텍처 파라미터에 대응되는 제1 채널과 상기 제1 아키텍처 파라미터를 연산하여 상기 제1 아키텍처 파라미터의 가중치의 오차를 수정하며, 상기 제1 아키텍처 파라미터에 대응되는 제1 채널과 타 채널을 조합하여 하나의 제2 채널 그룹을 생성하여 출력하고, 상기 제2 채널 그룹에 포함된 복수의 채널 중 상기 식별된 제2 아키텍처 파라미터에 대응되는 제2 채널만을 입력받으며, 상기 제2 아키텍처 파라미터에 대응되는 제2 채널과 상기 제2 아키텍처 파라미터를 연산하여 상기 제2 아키텍처 파라미터의 가중치의 오차를 수정하는, 인공지능 시스템.
  13. 제9항에 있어서,
    상기 프로세서의 복수의 연산자 중 제1 연산자는,
    상기 적어도 하나의 제1 채널 그룹의 채널 각각으로부터 상기 제1 연산자에 포함된 상기 제1 파라미터의 개수에 대응되는 개수의 채널을 입력받는, 인공지능 시스템.
  14. 제9항에 있어서,
    상기 타 채널은,
    상기 제1 노드에서 연산에 사용된 제1 채널 및 상기 제1 노드의 이전 노드에서 연산되지 않은 채널 중 적어도 하나의 채널을 포함하는, 인공지능 시스템.
  15. 제9항에 있어서,
    상기 제1 파라미터는,
    입력되는 채널의 개수에 대응되는 열 및 출력되는 채널의 개수에 대응되는 행의 커널을 포함하는, 인공지능 시스템.
KR1020190013975A 2019-02-01 2019-02-01 Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템 KR102211604B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190013975A KR102211604B1 (ko) 2019-02-01 2019-02-01 Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템
US16/281,582 US11687784B2 (en) 2019-02-01 2019-02-21 GPU-based artificial intelligence system using channel-level architecture search for deep neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190013975A KR102211604B1 (ko) 2019-02-01 2019-02-01 Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템

Publications (2)

Publication Number Publication Date
KR20200095951A true KR20200095951A (ko) 2020-08-11
KR102211604B1 KR102211604B1 (ko) 2021-02-04

Family

ID=71837558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190013975A KR102211604B1 (ko) 2019-02-01 2019-02-01 Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템

Country Status (2)

Country Link
US (1) US11687784B2 (ko)
KR (1) KR102211604B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114079546B (zh) * 2020-08-12 2024-05-28 深圳市中兴微电子技术有限公司 信道信息的处理方法、装置、设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544280A (en) * 1993-06-07 1996-08-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Unipolar terminal-attractor based neural associative memory with adaptive threshold
US10572824B2 (en) * 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
KR101594915B1 (ko) 2014-01-23 2016-02-17 서울대학교산학협력단 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법 및 매니코어 클러스터 시스템
US20170357911A1 (en) 2014-12-18 2017-12-14 Asml Netherlands B.V. Feature search by machine learning
US10332028B2 (en) 2015-08-25 2019-06-25 Qualcomm Incorporated Method for improving performance of a trained machine learning model
US10664766B2 (en) * 2016-01-27 2020-05-26 Bonsai AI, Inc. Graphical user interface to an artificial intelligence engine utilized to generate one or more trained artificial intelligence models
US20180357543A1 (en) * 2016-01-27 2018-12-13 Bonsai AI, Inc. Artificial intelligence system configured to measure performance of artificial intelligence over time
FR3050855B1 (fr) * 2016-04-27 2019-05-03 Commissariat A L'energie Atomique Et Aux Energies Alternatives Dispositif et procede de calcul de convolution d'un reseau de neurones convolutionnel
US11644834B2 (en) * 2017-11-10 2023-05-09 Nvidia Corporation Systems and methods for safe and reliable autonomous vehicles

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Pruning Convolutional Neural Networks for Resource Efficient Inference* *
Understanding and Simplifying One-Shot Architecture Search* *

Also Published As

Publication number Publication date
KR102211604B1 (ko) 2021-02-04
US20200250536A1 (en) 2020-08-06
US11687784B2 (en) 2023-06-27

Similar Documents

Publication Publication Date Title
US20210342699A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
US20200210847A1 (en) Ensembling of neural network models
US20210390416A1 (en) Variable parameter probability for machine-learning model generation and training
US12001954B2 (en) Method of performing learning of deep neural network and apparatus thereof
US9619749B2 (en) Neural network and method of neural network training
US11074503B2 (en) Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm
KR20160063965A (ko) 뉴럴 네트워크 구조 확장 방법, 디멘션 리덕션 방법, 및 그 방법을 이용한 장치
Chen et al. Multiobjective tracking control design of T–S fuzzy systems: Fuzzy Pareto optimal approach
US9536206B2 (en) Method and apparatus for improving resilience in customized program learning network computational environments
US20240095535A1 (en) Executing a genetic algorithm on a low-power controller
Guo et al. Dynamic Fuzzy Logic Control of Genetic Algorithm Probabilities.
KR102211604B1 (ko) Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템
US20220108156A1 (en) Hardware architecture for processing data in sparse neural network
Richardson et al. Strengthened Circle and Popov Criteria for the stability analysis of feedback systems with ReLU neural networks
Sathasivam et al. Hybrid Discrete Hopfield Neural Network based Modified Clonal Selection Algorithm for VLSI Circuit Verification.
CN109697511B (zh) 数据推理方法、装置及计算机设备
Kommenda et al. Genetic programming with data migration for symbolic regression
Aho et al. Rule ensembles for multi-target regression
US9336498B2 (en) Method and apparatus for improving resilience in customized program learning network computational environments
JP7563495B2 (ja) 学習装置、学習方法、及び、プログラム
KR20200002248A (ko) 뉴럴 네트워크 하드웨어
KR20200002245A (ko) 뉴럴 네트워크 하드웨어
US20230206048A1 (en) Crossbar-based neuromorphic computing apparatus capable of processing large input neurons and method using the same
Abdou et al. Trade-off between diversity and convergence in multi-objective genetic algorithms
US20230289563A1 (en) Multi-node neural network constructed from pre-trained small networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)