KR102465672B1 - 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템 - Google Patents

신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템 Download PDF

Info

Publication number
KR102465672B1
KR102465672B1 KR1020210173479A KR20210173479A KR102465672B1 KR 102465672 B1 KR102465672 B1 KR 102465672B1 KR 1020210173479 A KR1020210173479 A KR 1020210173479A KR 20210173479 A KR20210173479 A KR 20210173479A KR 102465672 B1 KR102465672 B1 KR 102465672B1
Authority
KR
South Korea
Prior art keywords
neural network
initial
index
obtaining
candidate
Prior art date
Application number
KR1020210173479A
Other languages
English (en)
Inventor
권민수
이명제
Original Assignee
주식회사 에너자이(ENERZAi)
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 주식회사 에너자이(ENERZAi) filed Critical 주식회사 에너자이(ENERZAi)
Priority to KR1020210173479A priority Critical patent/KR102465672B1/ko
Priority to KR1020220146747A priority patent/KR20230085842A/ko
Application granted granted Critical
Publication of KR102465672B1 publication Critical patent/KR102465672B1/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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

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

Abstract

본 출원의 일 실시예에 따른 신경망 탐색 방법은, 복수의 신경망들을 포함하는 신경망 세트를 획득하는 단계; 미리 결정된 조건에 기초하여 상기 신경망 세트로부터 초기 신경망 집단을 샘플링하는 단계-상기 미리 결정된 조건은 신경망 공간, 상기 신경망에 포함된 채널 개수 및 레이어 개수 중 적어도 하나와 관련됨-; 간이 데이터셋을 획득하는 단계; 상기 간이 데이터셋을 이용하여 상기 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하는 단계; 상기 적합도 지표에 기초하여 상기 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고, 유전 알고리즘을 이용하여 상기 후보 신경망을 변이시켜 자손 신경망을 생성하는 단계; 및 상기 자손 신경망의 적합도 지표를 연산하는 단계; 및 상기 후보 신경망의 제1 적합도 지표 및 상기 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하는 단계;를 포함한다.

Description

신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템{METHOD FOR, DEVICE FOR, AND SYSTEM FOR SEARCHING A NEURAL NETWORK}
본 출원은 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템에 관한 것이다. 구체적으로 본 출원은 소형 장치(또는 저사양 장치)에서 신경망의 성능을 일정 수준으로 유지하면서도 상대적으로 적은 계산량으로 연산을 수행할 수 있는 신경망의 탐색 방법, 신경망의 탐색 장치, 및 신경망의 탐색 시스템에 관한 것이다.
인공지능 기술이 발전하면서 다양한 산업 분야에서 인공지능 기술들이 활용되고 있다. 특히 영상처리 기술 분야에서 저품질의 이미지로부터 고품질의 이미지를 생성할 수 있는 인공지능 모델들에 대한 개발이 활발하게 연구되고 있다.
종래의 이미지 품질 향상 기술은 더 많은 수의 파라미터나 더 많은 수의 레이어를 포함하는 신경망 모델을 이용하여 이미지 품질을 보다 많이 향상시키기 위한 목적 하에서 연구가 수행되었다. 즉, 종래의 이미지 품질 향상 기술은 신경망 모델의 성능 향상에만 집중해서 개발이 진행되었다. 따라서, 종래의 이미지 품질 향상 모델들은 연산이 복잡하고 계산량이 상당히 요구되었다. 다만, 실제 산업에서 이용되는 소형 장치나 저사양 단말들은 많은 계산량을 처리할 수 있는 고성능 프로세서를 갖춘 경우가 적어 성능 향상만을 집중하여 개발된 종래의 이미지 품질 향상 모델은 실제 산업에서 효율적으로 적용되기 어렵다는 한계가 존재하였다.
이에 소형 장치나 저사양 단말의 사양을 고려하여 소형 장치(또는 저사양 장치)에서도 안정적으로 작동될 수 있는 신경망을 탐색하는 방법, 장치 및 시스템의 개발이 요구된다.
본 발명이 해결하고자 하는 일 과제는, 신경망의 성능을 일정 수준으로 유지하면서도 상대적으로 적은 계산량으로 연산을 수행할 수 있는 신경망의 탐색 방법, 신경망의 탐색 장치, 및 신경망의 탐색 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 출원의 일 실시예에 따른 신경망 탐색 방법은, 복수의 신경망들을 포함하는 신경망 세트를 획득하는 단계; 미리 결정된 조건에 기초하여 상기 신경망 세트로부터 초기 신경망 집단을 샘플링하는 단계-상기 미리 결정된 조건은 신경망 공간, 상기 신경망에 포함된 채널 개수 및 상기 신경망에 포함된 레이어 개수 중 적어도 하나와 관련됨-; 간이 데이터셋을 획득하는 단계; 상기 간이 데이터셋을 이용하여 상기 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하는 단계; 상기 적합도 지표에 기초하여 상기 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고, 유전 알고리즘을 이용하여 상기 후보 신경망을 변이시켜 자손 신경망을 생성하는 단계; 및 상기 자손 신경망의 적합도 지표를 연산하는 단계; 및 상기 후보 신경망의 제1 적합도 지표 및 상기 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하는 단계;를 포함할 수 있다.
본 출원의 일 실시예에 따른 신경망 탐색 장치는, 복수의 신경망들을 포함하는 신경망 세트 또는 복수의 이미지를 포함하는 이미지 세트를 수신하는 송수신부; 상기 이미지 세트에 포함된 이미지를 이용하여 신경망을 훈련시키고 신경망의 성능과 계산량을 연산하여 신경망의 적합도를 연산하도록 구성된 프로세서;를 포함하되, 상기 프로세서는, 상기 신경망 세트를 획득하고, 미리 결정된 조건-상기 미리 결정된 조건은 신경망 공간, 상기 신경망에 포함된 채널 개수 및 상기 신경망에 포함된 레이어 개수 중 적어도 하나와 관련됨-에 기초하여 상기 신경망 세트로부터 초기 신경망 집단을 샘플링하고, 상기 이미지 세트로부터 간이 데이터셋을 획득하고, 상기 간이 데이터셋을 이용하여 상기 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하고, 상기 적합도 지표에 기초하여 상기 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고, 유전 알고리즘을 이용하여 상기 후보 신경망을 변이시켜 자손 신경망을 생성하고, 상기 자손 신경망의 적합도 지표를 연산하고, 상기 후보 신경망의 제1 적합도 지표 및 상기 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하도록 구성될 수 있다.
본 발명의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 출원의 실시예에 따른 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템에 의하면, 상대적으로 적은 용량의 데이터를 포함하는 간이 데이터셋을 이용하여 1차적으로 후보 신경망을 선별하고, 후보 신경망으로부터 변이된 자손 신경망으로부터 2차적으로 선별된 최종 신경망을 완전 데이터셋을 이용하여 훈련시킴으로써, 신경망 탐색에 소요되는 시간 및 리소스를 최소화할 수 있다.
본 출원의 실시예에 따른 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템에 의하면, 유전 알고리즘을 이용하여 후보 신경망의 속성 정보를 가지는 자손 신경망을 생성하고, 최종 신경망의 선별에 자손 신경망의 적합도를 고려함으로써, 계산량 대비 성능이 뛰어난 최종 신경망을 획득할 수 있다.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 출원의 일 실시예에 따른 신경망 탐색 시스템의 개략도이다.
도 2는 본 출원의 일 실시예에 따른 신경망 탐색 장치의 동작들을 나타낸 도면이다.
도 3은 본 출원의 일 실시예에 따른 신경망 탐색 방법을 도시한 순서도이다.
도 4는 본 출원의 일 실시예에 따른 간이 데이터셋을 획득하는 단계를 구체화한 순서도이다.
도 5는 본 출원의 일 실시예에 따른 초기 신경망의 적합도 지표를 연산하는 단계를 구체화한 순서도이다.
도 6은 본 출원의 일 실시예에 따른 초기 신경망의 적합도 지표를 연산하는 일 양상을 도시한 도면이다.
도 7은 본 출원의 일 실시예에 따른 페널티와 관련된 제2 지표를 획득하는 일 양상을 설명하기 위한 도면이다.
도 8은 본 출원의 일 실시예에 따른 자손 신경망을 생성하는 단계를 구체화한 순서도이다.
도 9는 본 출원의 일 실시예에 따른 자손 신경망을 생성하는 일 양상을 도시한 도면이다.
도 10은 본 출원의 일 실시예에 따른 자손 신경망의 제2 적합도 지표를 연산하는 단계를 구체화한 순서도이다.
도 11은 본 출원의 일 실시예에 따른 최종 신경망을 획득하는 단계를 구체화한 순서도이다.
본 출원의 상술한 목적, 특징들 및 장점은 첨부된 도면과 관련된 다음의 상세한 설명을 통해 보다 분명해질 것이다. 다만, 본 출원은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 가질 수 있는 바, 이하에서는 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다.
명세서 전체에 걸쳐서 동일한 참조번호들은 원칙적으로 동일한 구성요소들을 나타낸다. 또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명하며, 이에 대한 중복되는 설명은 생략하기로 한다.
본 출원과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 출원의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 이하의 실시예에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타낸 것으로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
어떤 실시예가 달리 구현 가능한 경우에 특정한 프로세스의 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 프로세스가 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
이하의 실시예에서, 구성 요소 등이 연결되었다고 할 때, 구성 요소들이 직접적으로 연결된 경우뿐만 아니라 구성요소들 중간에 구성 요소들이 개재되어 간접적으로 연결된 경우도 포함한다.
예컨대, 본 명세서에서 구성 요소 등이 전기적으로 연결되었다고 할 때, 구성 요소 등이 직접 전기적으로 연결된 경우뿐만 아니라, 그 중간에 구성 요소 등이 개재되어 간접적으로 전기적 연결된 경우도 포함한다.
본 출원의 일 실시예에 따른 신경망 탐색 방법은, 복수의 신경망들을 포함하는 신경망 세트를 획득하는 단계; 미리 결정된 조건에 기초하여 상기 신경망 세트로부터 초기 신경망 집단을 샘플링하는 단계-상기 미리 결정된 조건은 신경망 공간, 상기 신경망에 포함된 채널 개수 및 상기 신경망에 포함된 레이어 개수 중 적어도 하나와 관련됨-; 간이 데이터셋을 획득하는 단계; 상기 간이 데이터셋을 이용하여 상기 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하는 단계; 상기 적합도 지표에 기초하여 상기 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고, 유전 알고리즘을 이용하여 상기 후보 신경망을 변이시켜 자손 신경망을 생성하는 단계; 및 상기 자손 신경망의 적합도 지표를 연산하는 단계; 및 상기 후보 신경망의 제1 적합도 지표 및 상기 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하는 단계;를 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 자손 신경망을 생성하는 단계는, 제1 후보 신경망 및 상기 제2 후보 신경망을 획득하는 단계; 상기 제1 후보 신경망의 구조를 분석하여 제1 속성 정보를 획득하고 상기 제2 후보 신경망의 구조를 분석하여 제2 속성 정보를 획득하는 단계; 상기 제1 속성 정보와 상기 제2 속성 정보를 비교하고, 상기 비교 결과에 기초하여 상기 제1 속성 정보와 상기 제2 속성 정보가 조합된 조합 속성 정보를 획득하고, 상기 조합 속성 정보를 가지는 상기 자손 신경망을 생성하는 단계; 및 상기 자손 신경망을 상기 초기 신경망 집단에 추가하고, 상기 초기 신경망 집단에 포함된 초기 신경망들 중에서 적어도 일부를 상기 초기 신경망 집단으로부터 제거하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 제1 속성 정보는 제1 후보 신경망의 레이어의 수, 채널의 수, 액티베이션 함수(activation function)의 종류 중 적어도 하나와 관련되며, 상기 제2 속성 정보는 제2 후보 신경망의 레이어의 수, 채널의 수, 액티베이션 함수(activation function)의 종류 중 적어도 하나와 관련될 수 있다.
본 출원의 일 실시예에 따르면, 상기 초기 신경망의 적합도 지표를 연산하는 단계는, 훈련이 완료된 초기 신경망의 성능과 관련된 제1 지표를 획득하는 단계; 계산량 추정 알고리즘을 이용하여 상기 초기 신경망의 계산량을 연산하고, 상기 초기 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제2 지표를 획득하는 단계; 및 상기 제1 지표 및 상기 제2 지표에 기초하여 상기 초기 신경망의 적합도 지표를 연산하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 제2 지표를 획득하는 단계는, 상기 초기 신경망의 계산량이 상기 기준 계산량보다 같거나 작은 경우 페널티를 부여하지 않음을 나타내는 값을 상기 제2 지표에 할당하고, 상기 초기 신경망의 계산량이 상기 기준 계산량보다 큰 경우 상기 초기 신경망의 계산량과 상기 기준 계산량의 차이 값에 기초하여 상기 제2 지표를 연산하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 자손 신경망의 적합도 지표를 연산하는 단계는, 상기 간이 데이터셋을 이용하여 상기 자손 신경망을 훈련시키고, 훈련이 완료된 자손 신경망의 성능과 관련된 제3 지표를 연산하는 단계; 상기 계산량 추정 알고리즘을 이용하여 상기 자손 신경망의 계산량을 연산하고, 상기 자손 신경망의 계산량 및 상기 기준 계산량을 비교하여 페널티와 관련된 제4 지표를 획득하는 단계; 및 상기 제3 지표 및 상기 제4 지표에 기초하여 상기 자손 신경망의 상기 제2 적합도 지표를 연산하는 단계;를 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 최종 신경망을 획득하는 단계는, 상기 제1 적합도 지표 및 상기 제2 적합도 지표를 비교하여 더 큰 적합도 값을 나타내는 신경망을 상기 최종 신경망으로 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 계산량 추정 알고리즘은, 신경망의 레이어의 수 및 채널의 수 중 적어도 하나와 관련된 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하도록 구성될 수 있다.
본 출원의 일 실시예에 따르면, 상기 간이 데이터셋을 획득하는 단계는, 제1 이미지 및 제2 이미지를 포함하는 이미지 쌍을 획득하는 단계; 상기 제1 이미지로부터 제1 이미지 패치(image patch)를 획득하고, 상기 제2 이미지로부터 제2 이미지 패치를 획득하는 단계-상기 제1 이미지 패치의 사이즈와 상기 제2 이미지 패치의 사이즈는 동일함-; 및 상기 제1 이미지 패치 및 상기 제2 이미지 패치를 포함하는 데이터셋을 생성하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 최종 신경망을 획득하는 단계는, 상기 간이 데이터셋의 적어도 일부를 포함하는 완전 데이터셋을 획득하는 단계; 및 상기 완전 데이터셋을 이용하여 상기 최종 신경망을 학습시키는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 성능은 PSNR, SSIM 및 신경망의 정확도(Accuracy) 중 적어도 하나와 관련될 수 있다.
본 출원의 일 실시예에 따르면, 상기 신경망 탐색 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.
본 출원의 일 실시예에 따른 신경망 탐색 장치는, 복수의 신경망들을 포함하는 신경망 세트 또는 복수의 이미지를 포함하는 이미지 세트를 수신하는 송수신부; 상기 이미지 세트에 포함된 이미지를 이용하여 신경망을 훈련시키고 신경망의 성능과 계산량을 연산하여 신경망의 적합도를 연산하도록 구성된 프로세서;를 포함하되, 상기 프로세서는, 상기 신경망 세트를 획득하고, 미리 결정된 조건-상기 미리 결정된 조건은 신경망 공간, 상기 신경망에 포함된 채널 개수 및 상기 신경망에 포함된 레이어 개수 중 적어도 하나와 관련됨-에 기초하여 상기 신경망 세트로부터 초기 신경망 집단을 샘플링하고, 상기 이미지 세트로부터 간이 데이터셋을 획득하고, 상기 간이 데이터셋을 이용하여 상기 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하고, 상기 적합도 지표에 기초하여 상기 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고, 유전 알고리즘을 이용하여 상기 후보 신경망을 변이시켜 자손 신경망을 생성하고, 상기 자손 신경망의 적합도 지표를 연산하고, 상기 후보 신경망의 제1 적합도 지표 및 상기 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하도록 구성될 수 있다.
이하에서는 도 1 내지 도 11을 참고하여 본 출원의 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템에 관하여 설명한다.
도 1은 본 출원의 일 실시예에 따른 신경망 탐색 시스템(10)의 개략도이다. 본 출원의 일 실시예에 따른 신경망 탐색 시스템(10)은 데이터베이스(100) 및 신경망 탐색 장치(1000, 혹은 신경망 탐색 서버, 이하 신경망 탐색 장치로 지칭)를 포함할 수 있다.
데이터베이스(100)는 복수의 신경망들을 포함하는 신경망 세트와 관련된 정보 및 복수의 이미지를 포함하는 이미지 세트에 대한 정보를 저장할 수 있다. 여기서, 신경망 세트와 관련된 정보는 각 신경망의 구조 정보(예컨대, 레이어의 수, 채널의 수, 레이어 간 연결구조)와 파라미터 정보를 포함하여 각 신경망을 실행시키기 위한 임의의 데이터를 포함할 수 있다. 또한, 이미지 세트에 대한 정보는 각 이미지에 대한 픽셀 정보를 포함하여 각 이미지와 관련된 임의의 데이터를 포함할 수 있다. 한편 데이터베이스(100)는 이미지 세트에 포함된 제1 이미지와 제2 이미지가 매칭된 이미지 페어(pair) 별로 이미지 세트를 저장하도록 구성될 수 있다.
신경망 탐색 장치(1000)는 신경망 세트로부터 초기 신경망 집단을 획득하고, 이미지 세트로부터 생성된 간이 데이터셋을 이용하여 초기 신경망 집단에 포함된 신경망을 훈련시킬 수 있다. 또한, 신경망 탐색 장치(1000)는 훈련이 완료된 신경망의 성능과 계산량에 기반하여 신경망의 적합도를 연산할 수 있다. 또한, 신경망 탐색 장치(1000)는 유전 알고리즘을 이용하여 자손 신경망을 생성하고, 자손 신경망의 적합도와 초기 신경망 집단에 포함된 신경망의 적합도를 비교하여 최종 신경망을 획득할 수 있다.
본 출원의 일 실시예에 따른 신경망 탐색 장치(1000)는 송수신부(1100), 메모리(1200), 및 프로세서(1300)를 포함할 수 있다.
신경망 탐색 장치(1000)의 송수신부(1100)는 데이터베이스(100)를 포함하여 임의의 외부 기기 또는 외부 서버와 통신을 수행할 수 있다. 예컨대, 신경망 탐색 장치(1000)는, 송수신부(1100)를 통해, 데이터베이스(100)로부터 신경망 세트를 획득할 수 있다. 또한, 신경망 탐색 장치(1000)는, 송수신부(1100)를 통해, 데이터베이스(100)로부터 임의의 이미지를 포함하는 이미지 세트를 획득할 수 있다. 또한, 신경망 탐색 장치(1000)는, 송수신부(1100)를 통해, 후술할 바에 따라 획득된 자손 신경망이나 후보 신경망의 구조 및/또는 성능과 관련된 각종 데이터를 데이터베이스(100)로 송신할 수 있다.
신경망 탐색 장치(1000)는, 송수신부(1100)를 통해, 네트워크에 접속하여 각종 데이터를 송수신할 수 있다. 송수신부(1100)는 크게 유선 타입과 무선 타입을 포함할 수 있다. 유선 타입과 무선 타입은 각각의 장단점을 가지므로, 경우에 따라서 신경망 탐색 장치(1000)에는 유선 타입과 무선 타입이 동시에 마련될 수도 있다. 여기서, 무선 타입의 경우에는 주로 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식을 이용할 수 있다. 또는, 무선 타입의 경우에는 셀룰러 통신, 예컨대, LTE, 5G 계열의 통신 방식을 이용할 수 있다. 다만, 무선 통신 프로토콜이 상술한 예시에 제한되는 것은 아니며, 임의의 적절한 무선 타입의 통신 방식을 이용하는 것도 가능하다. 유선 타입의 경우에는 LAN(Local Area Network)이나 USB(Universal Serial Bus) 통신이 대표적인 예이며 그 외의 다른 방식도 가능하다.
신경망 탐색 장치(1000)의 메모리(1200)는 각종 정보를 저장할 수 있다. 메모리(1200)에는 각종 데이터가 임시적으로 또는 반영구적으로 저장될 수 있다. 메모리의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 메모리(1200)는 신경망 탐색 장치(1000)에 내장되는 형태나 탈부착 가능한 형태로 제공될 수 있다. 메모리(1200)에는 신경망 탐색 장치(1000)를 구동하기 위한 운용 프로그램(OS: Operating System)이나 신경망 탐색 장치(1000)의 각 구성을 동작시키기 위한 프로그램을 비롯해 신경망 탐색 장치(1000)의 동작에 필요한 각종 데이터가 저장될 수 있다.
프로세서(1300)는 신경망 탐색 장치(1000)의 전반적인 동작을 제어할 수 있다. 예컨대, 프로세서(1300)는 후술할 신경망 세트로부터 초기 신경망 집단을 샘플링하는 동작, 간이 데이터셋을 이용하여 초기 신경망 집단에 포함된 초기 신경망을 훈련시키고 초기 신경망의 적합도 지표를 연산하는 동작, 초기 신경망들의 적합도 지표에 기초하여 후보 신경망을 샘플링하는 동작, 후보 신경망의 속성 정보에 기초하여 자손 신경망을 생성하는 동작, 자손 신경망의 적합도 지표를 연산하는 동작, 후보 신경망의 적합도 지표 및/또는 자손 신경망의 적합도 지표에 기초하여 최종 신경망을 획득하는 동작 등을 포함하여 신경망 탐색 장치(1000)의 전반적인 동작을 제어할 수 있다. 구체적으로 프로세서(1300)는 메모리(1200)로부터 신경망 탐색 장치(1000)의 전반적인 동작을 위한 프로그램을 로딩하여 실행할 수 있다. 프로세서(1300)는 하드웨어나 소프트웨어 또는 이들의 조합에 따라 AP(Application Processor), CPU(Central Processing Unit), MCU(Microcontroller Unit)나 이와 유사한 장치로 구현될 수 있다. 이때, 하드웨어적으로는 전기적 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 제공될 수 있으며, 소프트웨어적으로는 하드웨어적 회로를 구동시키는 프로그램이나 코드 형태로 제공될 수 있다.
이하에서는 도 2 내지 도 11을 참고하여, 본 출원의 일 실시예에 따른 신경망 탐색 방법, 신경망 탐색 장치(1000), 및 신경망 탐색 시스템(10)에 대하여 보다 구체적으로 서술한다.
도 2는 본 출원의 일 실시예에 따른 신경망 탐색 장치(1000)의 동작들을 나타낸 도면이다.
본 출원의 일 실시예에 따른 신경망 탐색 장치(1000)는 데이터베이스(100)로부터 신경망 세트를 획득할 수 있다. 신경망 세트는 복수의 신경망들을 포함할 수 있다.
또한, 신경망 탐색 장치(1000)는 신경망 세트로부터 초기 신경망 집단을 샘플링할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 미리 결정된 조건에 기초하여 신경망 세트로부터 초기 신경망 집단을 샘플링할 수 있다. 예컨대, 미리 결정된 조건은 신경망의 유형과 관련된 신경망 공간(network space), 신경망에 포함된 채널 개수, 및 신경망에 포함된 레이어 개수 중 적어도 하나와 관련될 수 있다.
또한, 신경망 탐색 장치(1000)는 데이터베이스(100)로부터 간이 데이터셋을 획득할 수 있다. 여기서, 간이 데이터셋은 초기 신경망 집단에 포함된 신경망(이하, 초기 신경망)과 후술할 초기 신경망 집단으로부터 생성된 자손 신경망을 훈련시키기 위한 임의의 학습 데이터셋을 의미할 수 있다. 일 예로, 신경망 탐색 장치(1000)는 제1 이미지 및 제2 이미지를 포함하는 이미지 쌍을 획득하고, 제1 이미지와 제2 이미지를 전처리할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 제1 이미지로부터 제1 이미지 패치(image patch)를 획득하고 제2 이미지로부터 제2 이미지 패치를 획득하고, 제1 이미지 패치와 제2 이미지 패치를 포함하는 데이터셋을 생성하도록 구현될 수 있다. 이때, 제1 이미지 패치의 사이즈와 제2 이미지 패치의 실질적으로 동일할 수 있다. 한편, 간이 데이터셋은 후술할 완전 데이터셋보다는 상대적으로 적은 수의 데이터셋을 포함할 수 있다. 예컨대, 완전 데이터셋은 간이 데이터셋의 적어도 일부를 포함할 수 있다. 간이 데이터셋을 획득하는 내용에 대하여는 도 3 및 도 4에서 보다 구체적으로 서술하기로 한다.
또한, 신경망 탐색 장치(1000)는 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련하도록 구현될 수 있다. 구체적으로 신경망 탐색 장치(1000)는 간이 데이터셋을 이용하여 초기 신경망을 학습시킬 수 있다. 예컨대, 신경망 탐색 장치(1000)는 초기 신경망에 간이 데이터셋에 포함된 제1 이미지 패치를 입력하고, 초기 신경망을 통하여 출력되는 출력 값 및 제2 이미지 패치의 차이에 기초하여 초기 신경망에 포함된 임의의 파라미터(또는 임의의 가중치)를 조절할 수 있다.
또한, 신경망 탐색 장치(1000)는 훈련이 완료된 초기 신경망의 적합도 지표를 연산할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 훈련이 완료된 초기 신경망의 성능과 관련된 제1 지표를 연산하고, 초기 신경망의 계산량과 관련된 제2 지표를 연산하고, 제1 지표 및 제2 지표에 기초하여 초기 신경망의 적합도 지표를 연산할 수 있다. 구체적으로, 신경망 탐색 장치(1000)는 PSNR, SSIM, 및 정확도(Accuracy) 등을 포함하여 초기 신경망의 성능을 나타낼 수 있는 임의의 정보에 기초하여 제1 지표를 연산할 수 있다. 또한, 신경망 탐색 장치(1000)는 계산량 추정 알고리즘(또는 미리 설정된 계산량 추정 함수)을 이용하여 초기 신경망의 계산량을 획득하고, 초기 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제2 지표를 연산할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 초기 신경망의 계산량이 기준 계산량보다 같거나 작은 경우 페널티를 부여하지 않음을 나타내는 값을 제2 지표로 획득하고, 초기 신경망의 계산량이 기준 계산량보다 큰 경우 초기 신경망의 계산량과 기준 계산량의 차이에 기초하여 제2 지표를 획득하도록 구현될 수 있다. 이때, 신경망 탐색 장치(1000)는 제1 지표 및 제2 지표에 기초하여 초기 신경망의 적합도 지표를 연산할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 제1 지표에서 제2 지표를 빼는 방식으로 자손 신경망의 적합도 지표를 연산할 수 있다.
한편, 계산량 추정 알고리즘은 신경망의 레이어의 수 및 채널의 수 중 적어도 하나와 관련된 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하도록 구성될 수 있다.
초기 신경망을 훈련시키고, 초기 신경망의 적합도 지표를 연산하는 내용에 대하여는 도 3, 도 5 내지 도 7에서 보다 구체적으로 서술한다.
또한, 본 출원의 일 실시예에 따른 신경망 탐색 장치(1000)는 초기 신경망 집단으로부터 후보 신경망을 샘플링하도록 구현될 수 있다. 구체적으로 신경망 탐색 장치(1000)는 초기 신경망 집단에 포함된 초기 신경망들 각각의 적합도 지표에 기초하여 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링할 수 있다. 일 예로, 신경망 탐색 장치(1000)는 초기 신경망들 각각의 적합도 지표를 비교하여 후보 신경망을 선별할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 적합도 지표에 따라 초기 신경망들을 내림차순으로 정렬하고, 미리 결정된 순위 이내에 대응되는 초기 신경망들을 후보 신경망으로 결정할 수 있다. 다만 이는 예시에 불과하며, 임의의 적절한 방식을 활용하여 초기 신경망 집단으로부터 후보 신경망을 샘플링하도록 신경망 탐색 장치(1000)가 구현될 수 있다.
또한, 본 출원에 따른 신경망 탐색 장치(1000)는 후보 신경망의 속성 정보를 획득하고, 속성 정보에 기초하여 후보 신경망의 적어도 하나 이상의 자손 신경망을 생성하는 동작을 수행할 수 있다. 일 예로, 신경망 탐색 장치(1000)는 유전 알고리즘을 이용하여 후보 신경망을 변이시켜 자손 신경망을 생성할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 제1 후보 신경망의 구조를 분석하여 제1 속성 정보를 획득하고, 제2 후보 신경망의 구조를 분석하여 제2 속성 정보를 획득할 수 있다. 여기서, 제1 속성 정보는 제1 후보 신경망의 레이어 수, 채널의 수, 액티베이션(activation) 함수의 종류, 및/또는 제1 후보 신경망의 구조 정보와 관련될 수 있다. 유사하게 제2 속성 정보는 제2 후보 신경망의 레이어 수, 채널의 수 및/또는 액티베이션 함수의 종류, 및/또는 제2 후보 신경망의 구조 정보와 관련될 수 있다. 또한, 신경망 탐색 장치(1000)는 제1 속성 정보와 제2 속성 정보를 비교하고, 비교 결과에 기초하여 제1 속성 정보와 제2 속성 정보가 조합된 조합 속성 정보를 획득할 수 있다. 또한, 신경망 탐색 장치(1000)는 조합 속성 정보를 가지는 자손 신경망을 생성할 수 있다. 한편, 생성된 자손 신경망은 초기 신경망 집단에 추가될 수 있으며, 초기 신경망 집단에 포함된 초기 신경망들 중에서 적어도 일부는 무작위 도태 방식을 통하여 제거될 수 있다.
자손 신경망을 생성하는 내용과 관련하여, 도 3, 도 8 및 도 9에서 보다 구체적으로 서술한다.
또한, 본 출원의 일 실시예에 따른 신경망 탐색 장치(1000)는 자손 신경망의 적합도 지표를 연산할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 전술한 초기 신경망의 적합도 지표를 연산하는 방법과 유사한 방법을 이용하여 자손 신경망의 적합도 지표를 연산할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 간이 데이터셋을 이용하여 자손 신경망을 훈련시키고, 훈련이 완료된 자손 신경망의 성능과 관련된 제3 지표를 연산하고, 자손 신경망의 계산량과 관련된 제4 지표를 연산하고, 제3 지표 및 제4 지표에 기초하여 자손 신경망의 적합도 지표를 연산할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 훈련이 완료된 자손 신경망의 성능 정보(예, PSNR, SSIM, 및/또는 정확도(Accuracy))에 기초하여 자손 신경망의 성능과 관련된 제3 지표를 연산할 수 있다. 또한, 신경망 탐색 장치(1000)는 전술한 계산량 추정 알고리즘에 기초하여 자손 신경망의 계산량을 획득하고, 자손 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제4 지표를 연산할 수 있다. 예를 들면, 신경망 탐색 장치(1000)는 자손 신경망의 계산량이 기준 계산량보다 같거나 작은 경우 페널티를 부여하지 않음을 나타내는 값을 제3 지표로 획득하고, 자손 신경망의 계산량이 기준 계산량보다 큰 경우 자손 신경망의 계산량과 기준 계산량의 차이에 기초하여 제4 지표를 획득하도록 구현될 수 있다. 이때, 신경망 탐색 장치(1000)는 제3 지표 및 제4 지표에 기초하여 자손 신경망의 적합도 지표를 연산할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 제3 지표에서 제4 지표를 빼는 방식으로 자손 신경망의 적합도 지표를 연산할 수 있다.
자손 신경망을 훈련시키고, 자손 신경망의 적합도 지표를 연산하는 내용에 대하여는 도 3, 및 도 10에서 보다 구체적으로 서술한다.
또한, 본 출원의 일 실시예에 따른 신경망 탐색 장치(1000)는 후보 신경망의 적합도 지표(이하, 제1 적합도 지표) 및 자손 신경망의 적합도 지표(이하, 제2 적합도 지표)를 비교하여 적어도 하나의 최종 신경망을 획득할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 후보 신경망의 제1 적합도 지표와 자손 신경망의 제2 적합도 지표를 비교하여 더 큰 적합도 값을 나타내는 신경망을 최종 신경망으로 결정할 수 있다.
또한, 신경망 탐색 장치(1000)는 결정된 최종 신경망을 훈련시킬 수 있다. 구체적으로 신경망 탐색 장치(1000)는 완전 데이터셋을 획득하고, 완전 데이터셋을 이용하여 최종 신경망을 학습시킬 수 있다. 이때, 완전 데이터셋은 전술한 간이 데이터셋보다 상대적으로 많은 수의 학습 데이터셋을 포함할 수 있다. 예컨대, 완전 데이터셋은 간이 데이터셋의 적어도 일부를 포함할 수 있다. 신경망 탐색 장치(1000)는 완전 데이터셋에 포함된 이미지 패치 쌍을 이용하여 최종 신경망에 포함된 임의의 파라미터(또는 가중치)를 조절하여 최종 신경망을 훈련시킬 수 있다.
최종 신경망을 획득하는 내용에 관하여는 도 3 및 도 11에서 보다 구체적으로 서술한다.
이하에서는 도 3 내지 도 11을 참고하여, 본 출원의 일 실시예에 따른 신경망 탐색 방법에 대하여 구체적으로 서술한다.
도 3은 본 출원의 일 실시예에 따른 신경망 탐색 방법을 도시한 순서도이다. 본 출원의 일 실시예에 따른 신경망 탐색 방법은, 복수의 신경망들을 포함하는 신경망 세트를 획득하는 단계(S1000), 미리 결정된 조건에 기초하여 신경망 세트로부터 초기 신경망 집단을 샘플링하는 단계(S2000), 간이 데이터셋을 획득하는 단계(S3000), 간이데이터셋을 이용하여 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하는 단계(S4000), 적합도 지표에 기초하여 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고, 유전 알고리즘을 이용하여 후보 신경망을 변이시켜 자손 신경망을 생성하는 단계(S5000), 자손 신경망의 적합도 지표를 연산하는 단계(S6000), 후보 신경망의 제1 적합도 지표 및 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하는 단계(S7000)를 포함할 수 있다.
복수의 신경망을 포함하는 신경망 세트를 획득하는 단계(S1000)에서는, 신경망 탐색 장치(1000)는 데이터베이스(100)로부터 신경망 세트를 획득할 수 있다. 이때, 신경망 세트는 복수의 신경망들을 포함할 수 있다.
미리 결정된 조건에 기초하여 신경망 세트로부터 초기 신경망 집단을 샘플링하는 단계(S2000)에서는, 신경망 탐색 장치(1000)는 신경망 세트로부터 초기 신경망 집단을 샘플링할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 미리 결정된 조건에 기초하여 신경망 세트로부터 적어도 하나 이상의 초기 신경망을 포함하는 초기 신경망 집단을 샘플링할 수 있다. 이때, 미리 결정된 조건은 신경망의 유형과 관련된 신경망 공간(network space)에 대한 조건, 및 신경망에 포함된 채널 개수와 레이어의 개수와 관련된 조건 중 적어도 하나와 관련될 수 있다. 예컨대, 신경망 탐색 장치(1000)는 특정 신경망 공간(예컨대, unet 구조의 신경망 공간)과 관련된 미리 결정된 조건에 기초하여 신경망 세트로부터 특정 신경망 공간에 대응되는 적어도 하나의 신경망을 초기 신경망으로 선별할 수 있다. 다른 예로, 신경망 탐색 장치(1000)는 특정 개수 범위로 미리 설정된 채널 개수(또는 레이어 개수)와 관련된 조건에 기초하여 신경망 세트로부터 해당 조건을 만족하는 적어도 하나의 신경망을 초기 신경망으로 선별할 수 있다. 다만, 전술한 미리 결정된 조건들은 예시에 불과하며, 신경망 탐색 장치(1000)는 임의의 적절한 조건을 이용하여 신경망 세트로부터 초기 신경망 집단을 샘플링하도록 구성될 수 있다.
간이 데이터셋을 획득하는 단계(S3000)에서는, 신경망 탐색 장치(1000)는 데이터베이스(100)로부터 간이 데이터셋을 획득할 수 있다. 이때, 간이 데이터셋은 초기 신경망 집단에 포함된 초기 신경망과 후술할 자손 신경망을 훈련시키기 위한 임의의 학습 데이터셋을 포함할 수 있다. 예컨대, 간이 데이터셋은 제1 이미지 및 제2 이미지를 포함하는 이미지 쌍을 포함할 수 있다.
이하에서는 도 4를 참고하여 간이 데이터셋을 획득하는 단계에 대하여 보다 구체적으로 서술한다. 도 4는 본 출원의 일 실시예에 따른 간이 데이터셋을 획득하는 단계(S3000)를 구체화한 순서도이다.
본 출원의 일 실시예에 따른 간이 데이터셋을 획득하는 단계(S3000)는 제1 이미지 및 제2 이미지를 포함하는 이미지 쌍을 획득하는 단계(S3100), 제1 이미지로부터 제1 이미지 패치를 획득하고, 제2 이미지로부터 제2 이미지 패치를 획득하는 단계(S3200), 및 제1 이미지 패치 및 제2 이미지 패치를 포함하는 데이터셋을 생성하는 단계(S3300)를 포함할 수 있다.
제1 이미지 및 제2 이미지를 포함하는 이미지 쌍을 획득하는 단계(S3100)에서는, 신경망 탐색 장치(1000)는 제1 이미지 및 제2 이미지가 매칭된 이미지 쌍을 포함하는 간이 데이터셋을 획득할 수 있다. 이때, 신경망 탐색 장치(1000)는 후술할 바와 같이, 제1 이미지 및 제2 이미지를 전처리하는 동작을 수행할 수 있다.
제1 이미지로부터 제1 이미지 패치를 획득하고, 제2 이미지로부터 제2 이미지 패치를 획득하는 단계(S3200)에서는, 신경망 탐색 장치(1000)는 제1 이미지로부터 제1 사이즈의 제1 이미지 패치를 획득하고, 제2 이미지로부터 제2 사이즈의 제2 이미지 패치를 획득할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 제1 이미지로부터 제1 이미지에 포함된 제1 이미지 패치를 제1 사이즈로 잘라내어 제1 이미지 패치를 획득할 수 있다. 또한, 신경망 탐색 장치(1000)는 제2 이미지로부터 제2 이미지에 포함된 제2 이미지 패치를 제2 사이즈로 잘라내어 제2 이미지 패치를 획득할 수 있다. 이때, 제1 사이즈와 제2 사이즈는 실질적으로 동일할 수 있다. 다만, 이는 예시에 불과하며 제1 이미지 패치의 사이즈와 제2 이미지 패치의 사이즈는 임의의 적절한 크기로 구성될 수 있다.
제1 이미지 패치 및 제2 이미지 패치를 포함하는 데이터셋을 생성하는 단계(S3300)에서는, 신경망 탐색 장치(1000)는 제1 이미지 패치 및 제2 이미지 패치에 기초하여 제1 이미지 패치 및 제2 이미지 패치가 매칭된 데이터셋을 생성할 수 있다. 명세서 전반에서 지칭되는 간이 데이터셋은 SS3300 단계에서 생성된 데이터셋을 포괄하는 의미일 수 있다.
다시 도 3을 참고하면, 본 출원의 일 실시예에 따른 신경망 탐색 방법은 간이 데이터셋을 이용하여 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하는 단계(S4000)를 포함할 수 있다.
간이 데이터셋을 이용하여 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하는 단계(S4000)에서는, 신경망 탐색 장치(1000)는 간이 데이터셋을 이용하여 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 학습시킬 수 있다. 예컨대, 신경망 탐색 장치(1000)는 초기 신경망에 간이 데이터셋에 포함된 제1 이미지 패치를 입력하고, 초기 신경망을 통하여 출력되는 출력 값과 제2 이미지 패치의 차이에 기초하여 초기 신경망에 포함된 임의의 파라미터(또는 임의의 가중치)를 조절함으로써, 초기 신경망을 훈련시킬 수 있다. 한편, 신경망 탐색 장치(1000)는 미리 정의된 학습손실함수에 기초하여 초기 신경망을 학습시키도록 구성될 수 있다. 예컨대, 신경망을 통하여 출력되는 출력 이미지의 픽셀값과 목표하는 타겟 이미지의 픽셀값의 차이와 관련된 학습손실함수가 미리 정의될 수 있다. 이때, 신경망 탐색 장치(1000)는 간이 데이터셋과 미리 정의된 학습 손실 함수를 이용하여 초기 신경망을 훈련시킬 수 있다.
또한, 신경망 탐색 장치(1000)는 평가 데이터와 평가성능지표(예컨대, 정확도, PSNR, SSIM 등을 포함한 성능정보)에 기초하여 학습이 적어도 일부 수행된 초기 신경망을 평가할 수 있다. 초기 신경망의 성능에 대한 평가를 수행함으로써 초기 신경망의 학습의 정밀도를 평가할 수 있으며, 목표하는 성능을 가지도록 초기 신경망을 학습시킬 수 있다.
간이 데이터셋을 이용하여 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하는 단계(S4000)에서는, 신경망 탐색 장치(1000)는 훈련이 완료된 초기 신경망의 적합도 지표를 연산할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 훈련이 완료된 초기 신경망의 성능과 관련된 제1 지표를 연산하고, 초기 신경망의 계산량과 관련된 제2 지표를 연산할 수 있다. 이때, 신경망 탐색 장치(1000)는 제1 지표 및 제2 지표에 기초하여 초기 신경망의 적합도 지표를 연산하도록 구현될 수 있다.
이하에서는 도 5 내지 도 7을 참고하여 초기 신경망의 적합도 지표를 연산하는 일 양상에 대하여 보다 구체적으로 서술한다. 도 5는 본 출원의 일 실시예에 따른 초기 신경망의 적합도 지표를 연산하는 단계(S4000)를 구체화한 순서도이다.
본 출원의 일 실시예에 따른 초기 신경망의 적합도 지표를 연산하는 단계(S4000)는 훈련이 완료된 초기 신경망의 성능과 관련된 제1 지표를 획득하는 단계(S4100), 계산량 추정 알고리즘을 이용하여 초기 신경망의 계산량을 연산하고 초기 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제2 지표를 획득하는 단계(S4200), 및 제1 지표 및 제2 지표에 기초하여 초기 신경망의 적합도 지표를 연산하는 단계(S4300)를 포함할 수 있다.
도 6은 본 출원의 일 실시예에 따른 초기 신경망의 적합도 지표를 연산하는 일 양상을 도시한 도면이다.
훈련이 완료된 초기 신경망의 성능과 관련된 제1 지표를 획득하는 단계(S4100)에서는, 신경망 탐색 장치(1000)는 PSNR, SSIM, 및 정확도(Accuracy) 중 적어도 하나와 관련된 초기 신경망의 성능 정보를 획득하고, 성능 정보에 기초하여 초기 신경망의 성능과 관련된 제1 지표를 연산할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 제1 초기 신경망의 성능 정보(예, PSNR, SSIM, 및/또는 정확도)에 기초하여 제1 초기 신경망의 성능과 관련된 제1 지표를 연산할 수 있다. 유사하게 신경망 탐색 장치(1000)는 제N 초기 신경망의 성능 정보(예, PSNR, SSIM, 및/또는 정확도)에 기초하여 제N 초기 신경망의 성능과 관련된 제1 지표를 연산할 수 있다.
계산량 추정 알고리즘을 이용하여 초기 신경망의 계산량을 연산하고 초기 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제2 지표를 획득하는 단계(S4200)에서는, 신경망 탐색 장치(1000)는 계산량 추정 알고리즘(또는 계산량 추정 함수)에 기초하여 초기 신경망의 계산량을 획득할 수 있다. 이때, 계산량 추정 알고리즘(또는 계산량 추정 함수)은 신경망의 레이어의 수 및 채널의 수 중 적어도 하나와 관련된 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하도록 구성될 수 있다.
도 7은 본 출원의 일 실시예에 따른 페널티와 관련된 제2 지표를 획득하는 일 양상을 설명하기 위한 도면이다.
계산량 추정 알고리즘을 이용하여 초기 신경망의 계산량을 연산하고 초기 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제2 지표를 획득하는 단계(S4200)에서는, 신경망 탐색 장치(1000)는 초기 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 제2 지표를 연산할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 초기 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제2 지표를 연산할 수 있다.
일 예로, 신경망 탐색 장치(1000)는 초기 신경망의 계산량이 기준 계산량보다 같거나 작은 경우(예컨대, 도 7의 제1 구간의 경우), 페널티를 부여하지 않음을 나타내는 값(예컨대, 0)을 제2 지표로 획득할 수 있다.
다른 예로, 초기 신경망의 계산량이 기준 계산량보다 크되 임계 계산량보다는 작은 경우(예컨대, 도 7의 제2 구간의 경우), 신경망 탐색 장치(1000)는 초기 신경망의 계산량과 기준 계산량의 차이에 기초하여 제2 지표를 획득할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 초기 신경망의 계산량과 기준 계산량의 차이에 따라 미리 정의된 함수(예컨대, 선형 함수)에 기초하여 제2 지표를 획득할 수 있다.
또 다른 예로, 신경망 탐색 장치(1000)는 초기 신경망의 계산량이 임계 계산량보다 큰 경우(예컨대, 도 7의 제3 구간의 경우), 최대 페널티에 대응되는 값을 제2 지표로 획득할 수 있다.
이상에서는 도 7을 참고하여 제2 지표를 획득하는 내용에 대하여 설명하였다. 다만 도 7에 도시된 그래프는 설명의 편의를 위한 예시에 불과하며, 임의의 적절한 방법을 이용하여 제2 지표가 연산될 수 있을 것이다.
제1 지표 및 제2 지표에 기초하여 초기 신경망의 적합도 지표를 연산하는 단계(S4300)에서는, 신경망 탐색 장치(1000)는 초기 신경망의 성능과 관련된 제1 지표 및 초기 신경망의 계산량과 관련된 제2 지표에 기초하여 초기 신경망의 적합도 지표를 연산할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 제1 지표에서 페널티와 관련된 제2 지표를 빼는 방식으로 초기 신경망의 적합도 지표를 연산하도록 구성될 수 있다. 예컨대, 신경망 탐색 장치(1000)는 초기 신경망 집단에 포함된 제1 초기 신경망의 성능과 관련된 제1 지표와 제1 초기 신경망의 계산량과 관련된 제2 지표를 기초로 제1 초기 신경망의 적합도 지표를 연산할 수 있다. 다른 예로, 신경망 탐색 장치(1000)는 초기 신경망 집단에 포함된 제N 초기 신경망의 성능과 관련된 제1 지표와 제N 초기 신경망의 계산량과 관련된 제2 지표를 기초로 제N 초기 신경망의 적합도 지표를 연산할 수 있다.
다시 도 3을 참고하면, 본 출원의 일 실시예에 따른 신경망 탐색 방법은, 적합도 지표에 기초하여 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고 유전 알고리즘을 이용하여 후보 신경망을 변이시켜 자손 신경망을 생성하는 단계(S5000)를 포함할 수 있다.
적합도 지표에 기초하여 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고 유전 알고리즘을 이용하여 후보 신경망을 변이시켜 자손 신경망을 생성하는 단계(S5000)에서는, 신경망 탐색 장치(1000)는 초기 신경망 집단으로부터 후보 신경망을 샘플링할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 초기 신경망 집단에 포함된 초기 신경망들의 각각의 적합도 지표에 기초하여 초기 신경망들로부터 적어도 하나 이상의 후보 신경망을 획득할 수 있다. 일 예로, 신경망 탐색 장치(1000)는 제1 초기 신경망의 적합도 지표 내지 제N 초기 신경망의 적합도 지표를 비교하여 후보 신경망을 선별할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 제1 초기 신경망의 적합도 지표 내지 제N 초기 신경망의 적합도 지표를 내림차순으로 정렬하고 미리 결정된 순위 이내에 해당하는 초기 신경망들을 후보 신경망으로 결정할 수 있다. 다만 이는 예시에 불과하며 신경망 탐색 장치(1000)는 임의의 적절한 방식을 통하여 초기 신경망들로부터 적어도 하나의 후보 신경망을 샘플링하도록 구현될 수 있다.
또한, 적합도 지표에 기초하여 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고 유전 알고리즘을 이용하여 후보 신경망을 변이시켜 자손 신경망을 생성하는 단계(S5000)에서는, 신경망 탐색 장치(1000)는 유전 알고리즘(Genetic Algorithm)을 이용하여 후보 신경망을 변이시켜 자손 신경망을 생성할 수 있다. 여기서 유전 알고리즘은 진화의 핵심원리인 자연 선택과 유전자의 개념을 이용한 최적화 기법 중 하나로서, 주어진 문제에 대한 해답을 무작위로 생성한 뒤 해답의 적합도를 기반으로 집단을 진화시켜 좋은 해답을 찾는 기법이다. 한편, 본 명세서에서 지칭되는 유전 알고리즘은 선택(selection) 연산, 교차(crossover) 연산 및/또는 변이(mutation) 연산 중 적어도 하나의 연산과 관련된 임의의 알고리즘을 포괄하는 의미일 수 있다.
구체적으로 적합도 지표에 기초하여 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고 유전 알고리즘을 이용하여 후보 신경망을 변이시켜 자손 신경망을 생성하는 단계(S5000)에서는, 신경망 탐색 장치(1000)는 후보 신경망의 구조를 분석하여 후보 신경망의 속성 정보(예컨대, 레이어의 수, 채널의 수, 액티베이션 함수(activation function)의 종류, 및/또는 신경망의 구조 정보 등)를 획득하고, 후보 신경망의 속성 정보를 기반으로 자손 신경망을 생성할 수 있다.
이하에서는 도 8 및 도 9를 참고하여 본 출원의 일 실시예에 따른 자손 신경망을 생성하는 단계(S5000)에 대하여 보다 구체적으로 설명한다. 도 8은 본 출원의 일 실시예에 따른 자손 신경망을 생성하는 단계(S5000)를 구체화한 순서도이다. 도 9는 본 출원의 일 실시예에 따른 자손 신경망을 생성하는 일 양상을 도시한 도면이다.
본 출원의 일 실시예에 따른 자손 신경망을 생성하는 단계(S5000)는, 제1 후보 신경망 및 제2 후보 신경망을 획득하는 단계(S5100), 제1 후보 신경망의 구조를 분석하여 제1 속성 정보를 획득하고 제2 후보 신경망의 구조를 분석하여 제2 속성 정보를 획득하는 단계(S5200), 제1 속성 정보와 제2 속성 정보를 비교하고, 비교 결과에 기초하여 제1 속성 정보와 제2 속성 정보가 조합된 조합 속성 정보를 획득하고 조합 속성 정보를 가지는 자손 신경망을 생성하는 단계(S5300), 및 자손 신경망을 초기 신경망 집단에 추가하고 초기 신경망 집단에 포함된 초기 신경망들 중에서 적어도 일부를 초기 신경망 집단으로부터 제거하는 단계(S5400)를 포함할 수 있다.
제1 후보 신경망 및 제2 후보 신경망을 획득하는 단계(S5100)에서는, 신경망 탐색 장치(1000)는 샘플링 결과에 기초하여 초기 신경망 집단으로부터 제1 후보 신경망 및 제2 후보 신경망을 획득할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 전술한 바와 같이 초기 신경망의 적합도 지표에 기초하여 초기 신경망 집단으로부터 제1 후보 신경망 및 제2 후보 신경망을 획득할 수 있다.
제1 후보 신경망의 구조를 분석하여 제1 속성 정보를 획득하고 제2 후보 신경망의 구조를 분석하여 제2 속성 정보를 획득하는 단계(S5200)에서는, 신경망 탐색 장치(1000)는 제1 후보 신경망의 구조를 분석하여 제1 후보 신경망의 레이어의 수, 채널의 수, 액티베이션 함수의 종류, 및/또는 제1 후보 신경망의 구조 정보와 관련된 제1 속성정보를 획득하고, 제2 후보 신경망의 구조를 분석하여 제2 후보 신경망의 레이어의 수, 채널의 수, 액티베이션 함수의 종류, 및/또는 제2 후보 신경망의 구조 정보와 관련된 제2 속성 정보를 획득할 수 있다.
제1 속성 정보와 제2 속성 정보를 비교하고, 비교 결과에 기초하여 제1 속성 정보와 제2 속성 정보가 조합된 조합 속성 정보를 획득하고, 조합 속성 정보를 가지는 자손 신경망을 생성하는 단계(S5300)에서는, 신경망 탐색 장치(1000)는 제1 후보 신경망의 제1 속성 정보와 제2 후보 신경망의 제2 속성 정보를 비교하고, 비교 결과에 기초하여 제1 속성 정보와 제2 속성 정보가 조합된 조합 속성 정보를 획득할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 제1 후보 신경망의 제1 속성 정보와 제2 후보 신경망의 제2 속성 정보에 공통으로 포함된 속성에 기초하여 조합 속성 정보를 획득할 수 있다. 또는 신경망 탐색 장치(1000)는 제1 속성 정보와 제2 속성 정보에 각각에 포함된 속성 중에서 상대적으로 뛰어난 속성에 기초하여 조합 속성 정보를 획득할 수 있다. 이때, 신경망 탐색 장치(1000)는 조합 속성 정보에 기반하여 조합 속성 정보를 가지는 자손 신경망을 생성할 수 있다. 다시 말해, 신경망 탐색 장치(1000)는 제1 속성 정보를 가지는 제1 후보 신경망과 제2 속성 정보를 가지는 제2 후보 신경망을 교차하거나 변이시켜 자손 신경망을 생성할 수 있다.
자손 신경망을 초기 신경망 집단에 추가하고 초기 신경망 집단에 포함된 초기 신경망들 중에서 적어도 일부를 초기 신경망 집단으로부터 제거하는 단계(S5400)에서는, 신경망 탐색 장치(1000)는 생성된 자손 신경망을 초기 신경망 집단에 추가할 수 있다. 또한, 신경망 탐색 장치(1000)는 초기 신경망 집단에 포함된 초기 신경망들 중에서 적어도 일부를 제거할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 무작위 도태 방식을 통하여 초기 신경망 집단에 포함된 초기 신경망들 중에서 적어도 일부를 제거할 수 있다. 다른 예로, 신경망 탐색 장치(1000)는 초기 신경망이 생성된 순으로 초기 신경망 집단에 포함된 초기 신경망들 중에서 적어도 일부를 제거할 수 있다. 이를 통하여 초기 신경망 집단의 신경망 수를 일정 수준으로 유지할 수 있어, 후보 신경망을 샘플링하는 데 소요되는 시간 또는 리소스를 일정 수준으로 관리할 수 있다. 또한 좋은 속성들을 나타내는 신경망들을 포함하도록 신경망 집단을 관리하고, 뛰어난 속성을 가지는 개체들로 구성된 신경망 집단으로부터 최종 신경망을 선별함으로써, 계산량 대비 성능이 뛰어난 최종 신경망을 획득할 수 있다.
한편, 본 출원의 일 실시예에 따른 자손 신경망을 생성하는 단계(S5000)는 간이 데이터 셋을 이용하여 갱신된 신경망 집단에 포함된 적어도 하나의 신경망을 훈련시키고, 훈련이 완료된 신경망의 적합도 지표를 연산하는 단계(S5500)를 더 포함할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 초기 신경망 집단에서 자손 신경망이 추가되고 초기 신경망들 중에서 적어도 일부가 제거된 갱신된 신경망 집단에 포함된 적어도 하나의 신경망을 훈련시키고, S4000에서 전술한 바와 같이 훈련이 완료된 신경망의 적합도 지표를 연산하도록 구현될 수 있다. 또한, 신경망 탐색 장치(1000)는 S5000에서 전술한 바와 같이 적합도 지표에 기초하여 갱신된 신경망 집단에 포함된 적어도 하나의 이상의 후보 신경망을 샘플링하고, 샘플링 결과에 따라 적어도 하나 이상의 후보 신경망을 획득하는 동작을 반복적으로 수행하도록 구성될 수 있을 것이다.
다시 도 3을 참고하면 본 출원의 일 실시예에 따른 신경망 탐색 방법은, 자손 신경망의 적합도 지표를 연산하는 단계(S6000)를 포함할 수 있다.
자손 신경망의 적합도 지표를 연산하는 단계(S6000)에서는, 신경망 탐색 장치(1000)는 전술한 초기 신경망들의 적합도 지표를 연산하는 방법을 유추적용하여 자손 신경망의 적합도 지표(이하, 제2 적합도 지표)를 연산할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 간이 데이터셋을 이용하여 자손 신경망을 훈련시키고, 훈련이 완료된 자손 신경망의 제2 적합도 지표를 연산할 수 있다. 이하에서는 도 10을 참고하여 본 출원의 일 실시예에 따른 자손 신경망의 적합도 지표를 연산하는 내용을 보다 구체적으로 서술한다. 전술한 초기 신경망들의 적합도 지표를 연산하는 방법을 유추적용될 수 있으며, 중복되는 세부 실시예는 설명의 편의 상 생략될 수 있으나 이에 제한적으로 해석되지 않는다.
도 10은 본 출원의 일 실시예에 따른 자손 신경망의 적합도 지표를 연산하는 단계(S6000)를 구체화한 순서도이다.
본 출원의 일 실시예에 따른 자손 신경망의 적합도를 연산하는 단계(S6000)는 간이 데이터셋을 이용하여 자손신경망을 훈련시키고, 훈련이 완료된 자손 신경망의 성능과 관련된 제3 지표를 연산하는 단계(S6100), 계산량 추정 알고리즘을 이용하여 자손 신경망의 계산량을 연산하고 자손 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제4 지표를 획득하는 단계(S6200), 및 제3 지표 및 제4 지표에 기초하여 자손 신경망의 제2 적합도 지표를 연산하는 단계(S6300)를 포함할 수 있다.
간이 데이터셋을 이용하여 자손신경망을 훈련시키고, 훈련이 완료된 자손 신경망의 성능과 관련된 제3 지표를 연산하는 단계(S6100)에서는, 신경망 탐색 장치(1000)는 간이 데이터셋을 이용하여 자손 신경망을 학습시킬 수 있다. 예컨대, 신경망 탐색 장치(1000)는 자손 신경망에 간이 데이터셋에 포함된 제3 이미지 패치를 입력하고, 자손 신경망을 통하여 출력되는 출력 값과 제3 이미지 패치와 매칭된 제4 이미지 패치의 차이에 기초하여 자손 신경망에 포함된 임의의 파라미터(또는 임의의 가중치)를 갱신함으로써, 자손 신경망을 훈련시킬 수 있다.
또한, 간이 데이터셋을 이용하여 자손신경망을 훈련시키고, 훈련이 완료된 자손 신경망의 성능과 관련된 제3 지표를 연산하는 단계(S6100)에서는, 신경망 탐색 장치(1000)는 PSNR, SSIM, 및 정확도(Accuracy) 중 적어도 하나와 관련된 자손 신경망의 성능 정보를 획득하고, 성능 정보에 기초하여 자손 신경망의 성능과 관련된 제3 지표를 연산할 수 있다.
계산량 추정 알고리즘을 이용하여 자손 신경망의 계산량을 연산하고 자손 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제4 지표를 획득하는 단계(S6200)에서는, 신경망 탐색 장치(1000)는 계산량 추정 알고리즘(또는 계산량 추정 함수)에 기초하여 자손 신경망의 계산량을 획득할 수 있다. 이때, 계산량 추정 알고리즘(또는 계산량 추정 함수)은, 전술한 바와 같이, 신경망의 레이어의 수 및 채널의 수 중 적어도 하나와 관련된 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하도록 구성될 수 있다.
또한, 신경망 탐색 장치(1000)는 자손 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 제4 지표를 연산할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 자손 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제4 지표를 연산할 수 있다.
일 예로, 신경망 탐색 장치(1000)는 자손 신경망의 계산량이 기준 계산량보다 같거나 작은 경우(예컨대, 도 7의 제1 구간의 경우), 페널티를 부여하지 않음을 나타내는 값(예컨대, 0)을 제4 지표로 획득할 수 있다.
다른 예로, 신경망 탐색 장치(1000)는 자손 신경망의 계산량이 기준 계산량보다 크되 임계 계산량보다는 작은 경우(예컨대, 도 7의 제2 구간의 경우), 자손 신경망의 계산량과 기준 계산량의 차이에 기초하여 제4 지표를 획득할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 자손 신경망의 계산량과 기준 계산량의 차이에 따라 미리 정의된 함수(예컨대, 선형 함수)에 기초하여 제4 지표를 획득할 수 있다.
또 다른 예로, 신경망 탐색 장치(1000)는 자손 신경망의 계산량이 임계 계산량보다 큰 경우(예컨대, 도 7의 제3 구간의 경우), 최대 페널티에 대응되는 값을 제4 지표로 획득할 수 있다.
제3 지표 및 제4 지표에 기초하여 자손 신경망의 제2 적합도 지표를 연산하는 단계(S6300)에서는, 신경망 탐색 장치(1000)는 자손 신경망의 성능과 관련된 제3 지표 및 자손 신경망의 계산량과 관련된 제4 지표에 기초하여 자손 신경망의 제2 적합도 지표를 연산할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 제3 지표에서 페널티와 관련된 제4 지표를 빼는 방식으로 자손 신경망의 제2 적합도 지표를 연산하도록 구성될 수 있다.
다시 도 3을 참고하면 본 출원의 일 실시예에 따른 신경망 탐색 방법은, 후보 신경망의 제1 적합도 지표 및 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하는 단계(S7000)를 포함할 수 있다.
후보 신경망의 제1 적합도 지표 및 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하는 단계(S7000)에서는, 신경망 탐색 장치(1000)는 적어도 하나 이상의 후보 신경망의 제1 적합도 지표 및 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득할 수 있다. 예컨대, 신경망 탐색 장치(1000)는 후보 신경망의 제1 적합도 지표와 자손 신경망의 제2 적합도 지표를 비교하여 더 큰 적합도 값을 나타내는 신경망을 최종 신경망으로 결정할 수 있다. 한편 후보 신경망과 자손 신경망이 각각 복수 개가 존재할 수 있다. 이때, 신경망 탐색 장치(1000)는 후보 신경망들의 각각의 적합도 지표와 자손 신경망의 각각의 적합도 지표를 내림차순으로 정렬하고, 미리 결정된 순위 이내에 해당하는 적어도 하나의 신경망을 최종 신경망으로 결정하도록 구현될 수 있다.
또한, 최종 신경망을 획득하는 단계(S7000)에서는 신경망 탐색 장치(1000)는 최종 신경망을 훈련시킬 수 있다. 다시 말해, 최종 신경망은, 도 11과 관련하여 후술하는 바에 따라, 훈련이 완료된 최종 신경망을 포괄하는 의미일 수 있다.
이하에서는 도 11을 참고하여 본 출원의 일 실시예에 따른 최종 신경망을 획득하는 단계(S7000)에 대하여 보다 구체적으로 설명한다.
도 11은 본 출원의 일 실시예에 따른 최종 신경망을 획득하는 단계(S7000)를 구체화한 순서도이다. 본 출원의 일 실시예에 따른 최종 신경망을 획득하는 단계(S7000)는 간이 데이터셋의 적어도 일부를 포함하는 완전 데이터셋을 획득하는 단계(S7100) 및 완전 데이터셋을 이용하여 최종 신경망을 학습시키는 단계(S7200)를 포함할 수 있다.
간이 데이터셋의 적어도 일부를 포함하는 완전 데이터셋을 획득하는 단계(S7100)에서는, 신경망 탐색 장치(1000)는 데이터베이스(100)로부터 완전 데이터셋을 획득할 수 있다. 이때, 완전 데이터셋은 전술한 간이 데이터셋보다 상대적으로 많은 수의 데이터셋을 포함할 수 있다. 예컨대, 완전 데이터셋은 간이 데이터셋의 적어도 일부를 포함할 수 있다.
완전 데이터셋을 이용하여 최종 신경망을 학습시키는 단계(S7200)에서는, 신경망 탐색 장치(1000)는 완전 데이터셋에 포함된 이미지 패치 쌍을 이용하여 최종 신경망에 포함된 임의의 파라미터(또는 가중치)를 갱신하여 훈련이 완료된 최종 신경망을 획득할 수 있다. 구체적으로 신경망 탐색 장치(1000)는 이미지 패치 쌍에 포함된 일 이미지 패치를 최종 신경망에 입력하고, 최종 신경망을 통하여 출력되는 출력 값과 이미지 패치 쌍에 포함된 다른 이미지 패치 간의 차이에 기초하여 최종 신경망에 포함된 임의의 파라미터(또는 가중치)를 갱신하여 최종 신경망을 학습시킬 수 있다.
본 출원의 실시예에 따른 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템에 의하면, 상대적으로 적은 용량의 데이터를 포함하는 간이 데이터셋을 이용하여 1차적으로 후보 신경망을 선별하고, 후보 신경망으로부터 변이된 자손 신경망으로부터 2차적으로 선별된 최종 신경망을 완전 데이터셋을 이용하여 훈련시킴으로써, 신경망 탐색에 소요되는 시간 및 리소스를 최소화할 수 있다.
본 출원의 실시예에 따른 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템에 의하면, 유전 알고리즘을 이용하여 후보 신경망의 속성 정보를 가지는 자손 신경망을 생성하고, 최종 신경망의 선별에 자손 신경망의 적합도를 고려함으로써, 계산량 대비 성능이 뛰어난 최종 신경망을 획득할 수 있다.
본 출원의 일 실시예에 따른 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템은 소형 기기나 저사양 장치(예컨대, 스마트폰, 카메라) 내에서 안정적으로 작동될 수 있는 이미지 품질 향상과 관련된 신경망을 탐색하는 기술에 이용될 수 있다. 예컨대, 소형기기(예, 스마트폰, 카메라) 내에서 동작하면서 소형기기에서 촬영된 이미지의 품질을 향상시키는 신경망을 탐색하는 기술에 이용될 수 있다. 다른 예로, 소형기기(예, 스마트폰, 카메라) 내에서 동작하면서 소형기기에서 촬영된 이미지의 노이즈(noise)를 제거하는 신경망을 탐색하는 기술에 이용될 수 있다. 또 다른 예로, 소형기기(예, 스마트폰, 카메라) 내에서 동작하면서 어두운 환경에서 촬영된 이미지를 품질을 향상시키는 로우 라이트 이미징(low light imaging)과 관련된 신경망을 탐색하는데 이용될 수 있다. 다만, 이는 예시에 불과하며 본 출원의 일 실시예에 따른 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템은 소형기기에서 동작가능하며, 이미지 품질 향상과 관련된 임의의 신경망(예컨대, 픽셀 수를 높이는 신경망, 디블러링(deblurring)을 위한 신경망)을 탐색하는 기술에 적용될 수 있다.
상술한 신경망 탐색 장치(1000)의 다양한 동작들은 신경망 탐색 장치(1000)의 메모리(1200)에 저장될 수 있으며, 신경망 탐색 장치(1000)의 프로세서(1300)는 메모리(1200)에 저장된 동작들을 수행하도록 제공될 수 있다.
이상에서 실시 형태들에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시 형태에 포함되며, 반드시 하나의 실시 형태에만 한정되는 것은 아니다. 나아가, 각 실시 형태에서 예시된 특징, 구조, 효과 등은 실시 형태들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시 형태들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시 형태를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시 형태의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 즉, 실시 형태에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
10: 신경망 탐색 시스템
100: 데이터베이스
1000: 신경망 탐색 장치

Claims (13)

  1. 신경망의 성능 및 계산량에 기초하여 신경망을 탐색하는 장치가 신경망을 탐색하는 방법에 있어서, 상기 방법은,
    복수의 신경망들을 포함하는 신경망 세트를 획득하는 단계;
    미리 결정된 조건에 기초하여 상기 신경망 세트로부터 초기 신경망 집단을 샘플링하는 단계-상기 미리 결정된 조건은 신경망 공간, 상기 신경망에 포함된 채널 개수 및 상기 신경망에 포함된 레이어 개수 중 적어도 하나와 관련됨-;
    간이 데이터셋을 획득하는 단계;
    상기 간이 데이터셋을 이용하여 상기 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하는 단계;
    상기 적합도 지표에 기초하여 상기 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고, 유전 알고리즘을 이용하여 상기 후보 신경망을 변이시켜 자손 신경망을 생성하는 단계; 및
    상기 자손 신경망의 적합도 지표를 연산하는 단계; 및
    상기 후보 신경망의 제1 적합도 지표 및 상기 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하는 단계;를 포함하되,
    상기 초기 신경망의 적합도 지표를 연산하는 단계는,
    훈련이 완료된 초기 신경망의 성능과 관련된 제1 지표를 획득하는 단계;
    계산량 추정 알고리즘을 이용하여 상기 초기 신경망의 계산량을 연산하고, 상기 초기 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제2 지표를 획득하는 단계; 및
    상기 제1 지표 및 상기 제2 지표에 기초하여 상기 초기 신경망의 적합도 지표를 연산하는 단계;를 더 포함하되,
    상기 계산량 추정 알고리즘은,
    신경망의 레이어의 수 및 채널의 수 중 적어도 하나와 관련된 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하도록 구성되는,
    신경망 탐색 방법.
  2. 제1 항에 있어서,
    상기 자손 신경망을 생성하는 단계는,
    제1 후보 신경망 및 제2 후보 신경망을 획득하는 단계;
    상기 제1 후보 신경망의 구조를 분석하여 제1 속성 정보를 획득하고 상기 제2 후보 신경망의 구조를 분석하여 제2 속성 정보를 획득하는 단계;
    상기 제1 속성 정보와 상기 제2 속성 정보를 비교하고, 상기 비교 결과에 기초하여 상기 제1 속성 정보와 상기 제2 속성 정보가 조합된 조합 속성 정보를 획득하고, 상기 조합 속성 정보를 가지는 상기 자손 신경망을 생성하는 단계; 및
    상기 자손 신경망을 상기 초기 신경망 집단에 추가하고, 상기 초기 신경망 집단에 포함된 초기 신경망들 중에서 적어도 일부를 상기 초기 신경망 집단으로부터 제거하는 단계;를 더 포함하는,
    신경망 탐색 방법.
  3. 제2 항에 있어서,
    상기 제1 속성 정보는 제1 후보 신경망의 레이어의 수, 채널의 수, 액티베이션 함수(activation function)의 종류 중 적어도 하나와 관련되며,
    상기 제2 속성 정보는 제2 후보 신경망의 레이어의 수, 채널의 수, 액티베이션 함수(activation function)의 종류 중 적어도 하나와 관련되는,
    신경망 탐색 방법.
  4. 제1 항에 있어서,
    상기 제2 지표를 획득하는 단계는,
    상기 초기 신경망의 계산량이 상기 기준 계산량보다 같거나 작은 경우 페널티를 부여하지 않음을 나타내는 값을 상기 제2 지표에 할당하고, 상기 초기 신경망의 계산량이 상기 기준 계산량보다 큰 경우 상기 초기 신경망의 계산량과 상기 기준 계산량의 차이 값에 기초하여 상기 제2 지표를 연산하는 단계;를 더 포함하는,
    신경망 탐색 방법.
  5. 제1 항에 있어서,
    상기 자손 신경망의 적합도 지표를 연산하는 단계는,
    상기 간이 데이터셋을 이용하여 상기 자손 신경망을 훈련시키고, 훈련이 완료된 자손 신경망의 성능과 관련된 제3 지표를 연산하는 단계;
    상기 계산량 추정 알고리즘을 이용하여 상기 자손 신경망의 계산량을 연산하고, 상기 자손 신경망의 계산량 및 상기 기준 계산량을 비교하여 페널티와 관련된 제4 지표를 획득하는 단계; 및
    상기 제3 지표 및 상기 제4 지표에 기초하여 상기 자손 신경망의 상기 제2 적합도 지표를 연산하는 단계;를 포함하는,
    신경망 탐색 방법.
  6. 제5 항에 있어서,
    상기 최종 신경망을 획득하는 단계는,
    상기 제1 적합도 지표 및 상기 제2 적합도 지표를 비교하여 더 큰 적합도 값을 나타내는 신경망을 상기 최종 신경망으로 결정하는 단계;를 더 포함하는,
    신경망 탐색 방법.
  7. 제1 항에 있어서,
    상기 간이 데이터셋을 획득하는 단계는,
    제1 이미지 및 제2 이미지를 포함하는 이미지 쌍을 획득하는 단계;
    상기 제1 이미지로부터 제1 이미지 패치(image patch)를 획득하고, 상기 제2 이미지로부터 제2 이미지 패치를 획득하는 단계-상기 제1 이미지 패치의 사이즈와 상기 제2 이미지 패치의 사이즈는 동일함-; 및
    상기 제1 이미지 패치 및 상기 제2 이미지 패치를 포함하는 데이터셋을 생성하는 단계;를 더 포함하는,
    신경망 탐색 방법.
  8. 제1 항에 있어서,
    상기 최종 신경망을 획득하는 단계는,
    상기 간이 데이터셋의 적어도 일부를 포함하는 완전 데이터셋을 획득하는 단계; 및
    상기 완전 데이터셋을 이용하여 상기 최종 신경망을 학습시키는 단계;를 더 포함하는,
    신경망 탐색 방법.
  9. 제1 항에 있어서,
    상기 성능은 PSNR, SSIM 및 신경망의 정확도(Accuracy) 중 적어도 하나와 관련되는,
    신경망 탐색 방법.
  10. 제4 항에 있어서,
    상기 제2 지표를 획득하는 단계는,
    상기 초기 신경망의 계산량이 기준 계산량보다 크되 임계 계산량보다는 작은 경우에는 초기 신경망의 계산량과 상기 기준 계산량의 차이에 따라 미리 정의된 함수에 기초하여 제2 지표를 획득하는 단계;를 더 포함하는,
    신경망 탐색 방법.
  11. 제10 항에 있어서,
    상기 제2 지표를 획득하는 단계는,
    상기 초기 신경망의 계산량이 임계 계산량보다 큰 경우에는 최대 페널티에 대응되는 값을 상기 제2 지표로 획득하는 단계;를 더 포함하는,
    신경망 탐색 방법.
  12. 컴퓨터에 제1 항 내지 제11 항 중 어느 하나의 항에 따른 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  13. 신경망의 성능 및 계산량에 기초하여 신경망을 탐색하는 신경망 탐색 장치에 있어서, 상기 신경망 탐색 장치는,
    복수의 신경망들을 포함하는 신경망 세트 또는 복수의 이미지를 포함하는 이미지 세트를 수신하는 송수신부;
    상기 이미지 세트에 포함된 이미지를 이용하여 신경망을 훈련시키고 신경망의 성능과 계산량을 연산하여 신경망의 적합도를 연산하도록 구성된 프로세서;를 포함하되,
    상기 프로세서는,
    상기 신경망 세트를 획득하고, 미리 결정된 조건-상기 미리 결정된 조건은 신경망 공간, 상기 신경망에 포함된 채널 개수 및 상기 신경망에 포함된 레이어 개수 중 적어도 하나와 관련됨-에 기초하여 상기 신경망 세트로부터 초기 신경망 집단을 샘플링하고, 상기 이미지 세트로부터 간이 데이터셋을 획득하고, 상기 간이 데이터셋을 이용하여 상기 초기 신경망 집단에 포함된 적어도 하나의 초기 신경망을 훈련시키고, 훈련이 완료된 초기 신경망의 적합도 지표를 연산하고, 상기 적합도 지표에 기초하여 상기 초기 신경망 집단으로부터 적어도 하나 이상의 후보 신경망을 샘플링하고, 유전 알고리즘을 이용하여 상기 후보 신경망을 변이시켜 자손 신경망을 생성하고, 상기 자손 신경망의 적합도 지표를 연산하고, 상기 후보 신경망의 제1 적합도 지표 및 상기 자손 신경망의 제2 적합도 지표를 비교하여 적어도 하나의 최종 신경망을 획득하도록 구성되고,
    상기 프로세서는,
    훈련이 완료된 초기 신경망의 성능과 관련된 제1 지표를 획득하고, 계산량 추정 알고리즘을 이용하여 상기 초기 신경망의 계산량을 연산하고, 상기 초기 신경망의 계산량과 미리 설정된 기준 계산량을 비교하여 페널티와 관련된 제2 지표를 획득하고, 상기 제1 지표 및 상기 제2 지표에 기초하여 상기 초기 신경망의 적합도 지표를 연산하도록 구성되고,
    상기 계산량 추정 알고리즘은,
    신경망의 레이어의 수 및 채널의 수 중 적어도 하나와 관련된 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하도록 구성되는,
    신경망 탐색 장치.
KR1020210173479A 2021-12-07 2021-12-07 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템 KR102465672B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210173479A KR102465672B1 (ko) 2021-12-07 2021-12-07 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템
KR1020220146747A KR20230085842A (ko) 2021-12-07 2022-11-07 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210173479A KR102465672B1 (ko) 2021-12-07 2021-12-07 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220146747A Division KR20230085842A (ko) 2021-12-07 2022-11-07 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템

Publications (1)

Publication Number Publication Date
KR102465672B1 true KR102465672B1 (ko) 2022-11-14

Family

ID=84043093

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210173479A KR102465672B1 (ko) 2021-12-07 2021-12-07 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템
KR1020220146747A KR20230085842A (ko) 2021-12-07 2022-11-07 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220146747A KR20230085842A (ko) 2021-12-07 2022-11-07 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템

Country Status (1)

Country Link
KR (2) KR102465672B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101855360B1 (ko) * 2017-12-13 2018-05-09 한국과학기술정보연구원 신경망의 학습 최적화를 위한 신경망 구성 방법 및 장치
US20200167659A1 (en) * 2018-11-27 2020-05-28 Electronics And Telecommunications Research Institute Device and method for training neural network
KR20200140713A (ko) * 2019-06-06 2020-12-16 삼성전자주식회사 이미지 디테일 향상을 위한 신경 네트워크 모델 학습 방법 및 장치
KR20210045845A (ko) * 2019-10-17 2021-04-27 삼성전자주식회사 전자 장치 및 그 동작방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101855360B1 (ko) * 2017-12-13 2018-05-09 한국과학기술정보연구원 신경망의 학습 최적화를 위한 신경망 구성 방법 및 장치
US20200167659A1 (en) * 2018-11-27 2020-05-28 Electronics And Telecommunications Research Institute Device and method for training neural network
KR20200140713A (ko) * 2019-06-06 2020-12-16 삼성전자주식회사 이미지 디테일 향상을 위한 신경 네트워크 모델 학습 방법 및 장치
KR20210045845A (ko) * 2019-10-17 2021-04-27 삼성전자주식회사 전자 장치 및 그 동작방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Krestinskaya et al., "Towards Hardware Optimal Neural Network Selection with Multi-objective Genetic Search", 2020 IEEE International Symposium on Circuits and Systems (ISCAS), (2020.10.14.) 1부.* *

Also Published As

Publication number Publication date
KR20230085842A (ko) 2023-06-14

Similar Documents

Publication Publication Date Title
CN110880036B (zh) 神经网络压缩方法、装置、计算机设备及存储介质
US10535141B2 (en) Differentiable jaccard loss approximation for training an artificial neural network
US9940547B2 (en) Media content analysis system and method
US20220414464A1 (en) Method and server for federated machine learning
JP6182242B1 (ja) データのラベリングモデルに係る機械学習方法、コンピュータおよびプログラム
CN111708876B (zh) 生成信息的方法和装置
WO2018068421A1 (zh) 一种神经网络的优化方法及装置
CN111047563B (zh) 一种应用于医学超声图像的神经网络构建方法
CN109344893B (zh) 一种基于移动终端的图像分类方法
CN110956255A (zh) 难样本挖掘方法、装置、电子设备及计算机可读存储介质
CN112561031A (zh) 基于人工智能的模型搜索方法、装置及电子设备
CN112817563B (zh) 目标属性配置信息确定方法、计算机设备和存储介质
KR20230071060A (ko) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR20210064817A (ko) 상이한 딥러닝 모델 간의 전이 학습방법
CN116415647A (zh) 神经网络架构搜索的方法、装置、设备和存储介质
KR102465672B1 (ko) 신경망 탐색 방법, 신경망 탐색 장치, 및 신경망 탐색 시스템
KR20230071059A (ko) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
CN116361643A (zh) 实现对象推荐的模型训练方法及对象推荐方法及相关装置
WO2022127603A1 (zh) 一种模型处理方法及相关装置
CN115438249A (zh) QoS预测模型构建方法、装置、设备及可读存储介质
CN117010480A (zh) 模型训练方法、装置、设备、存储介质及程序产品
CN115052154A (zh) 一种模型训练和视频编码方法、装置、设备及存储介质
WO2022253454A2 (en) Dimensioning of telecommunication infrastructure
CN111310823A (zh) 目标分类方法、装置和电子系统
KR102571826B1 (ko) 사용자의 검색 정보에 기초하여 웹 페이지를 추천하는 방법, 장치, 및 시스템

Legal Events

Date Code Title Description
GRNT Written decision to grant