KR102461997B1 - 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템 - Google Patents

신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템 Download PDF

Info

Publication number
KR102461997B1
KR102461997B1 KR1020210156728A KR20210156728A KR102461997B1 KR 102461997 B1 KR102461997 B1 KR 102461997B1 KR 1020210156728 A KR1020210156728 A KR 1020210156728A KR 20210156728 A KR20210156728 A KR 20210156728A KR 102461997 B1 KR102461997 B1 KR 102461997B1
Authority
KR
South Korea
Prior art keywords
neural network
model
candidate
target
reference model
Prior art date
Application number
KR1020210156728A
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 KR1020210156728A priority Critical patent/KR102461997B1/ko
Priority to KR1020220140604A priority patent/KR20230071059A/ko
Application granted granted Critical
Publication of KR102461997B1 publication Critical patent/KR102461997B1/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/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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

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

Abstract

본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법은, 학습이 완료된 기준 모델에 대한 데이터를 획득하는 단계; 상기 기준 모델의 네트워크 스페이스 정보 및 상기 기준 모델을 압축하기 위한 압축률 정보를 획득하는 단계; 상기 기준 모델에 대한 데이터에 기초하여, 상기 기준 모델의 성능 지표 또는 상기 기준 모델의 기준 계산량을 포함하는 프로파일 정보를 획득하는 단계; 상기 압축률 정보 및 상기 기준 계산량에 기초하여 목표 계산량을 연산하는 단계; 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하는 단계; 상기 후보 신경망의 구조에 기초하여 상기 후보 신경망의 후보 계산량을 연산하는 단계; 및 상기 목표 계산량 및 상기 후보 계산량에 기초하여 상기 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계;를 포함한다.

Description

신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템{METHOD FOR, DEVICE FOR, AND SYSTEM FOR LIGHTNENING OF NEURAL NETWORK MODEL}
본 출원은 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템에 관한 것이다. 구체적으로 본 출원은 학습이 완료된 신경망 모델을 소형 장치(또는 저사양 장치)에 최적화하기 위한 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템에 관한 것이다.
인공지능 기술이 발전하면서 다양한 산업 분야에서 인공지능 기술들이 활용되고 있다. 특히 영상처리 기술 분야에서 저품질의 이미지로부터 고품질의 이미지를 생성할 수 있는 인공지능 모델들에 대한 개발이 활발하게 연구되고 있다.
종래의 이미지 품질 향상 기술은 더 많은 수의 파라미터나 더 많은 수의 레이어를 포함하는 신경망 모델을 이용하여 이미지 품질을 보다 많이 향상시키기 위한 목적 하에서 연구가 수행되었다. 즉, 종래의 이미지 품질 향상 기술은 신경망 모델의 성능 향상에만 집중해서 개발이 진행되었다. 따라서, 종래의 이미지 품질 향상 모델들은 연산이 복잡하고 계산량이 상당히 요구되었다. 다만, 실제 산업에서 이용되는 소형 장치나 저사양 단말들은 많은 계산량을 처리할 수 있는 고성능 프로세서를 갖춘 경우가 적어 성능 향상만을 집중하여 개발된 종래의 이미지 품질 향상 모델은 실제 산업에서 효율적으로 적용되기 어렵다는 한계가 존재하였다.
이에 소형 장치나 저사양 단말의 사양을 고려하여 학습이 완료된 신경망 모델을 경량화하기 위한 신경망 모델의 경량화 방법, 장치 및 시스템의 개발이 요구된다.
본 발명이 해결하고자 하는 일 과제는, 학습이 완료된 신경망 모델을 소형 장치에 최적화하기 위한 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치 및 신경망 모델의 경량화 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법은, 학습이 완료된 기준 모델에 대한 데이터를 획득하는 단계; 상기 기준 모델의 네트워크 스페이스 정보 및 상기 기준 모델을 압축하기 위한 압축률 정보를 획득하는 단계; 상기 기준 모델에 대한 데이터에 기초하여, 상기 기준 모델의 성능 지표 또는 상기 기준 모델의 기준 계산량을 포함하는 프로파일 정보를 획득하는 단계; 상기 압축률 정보 및 상기 기준 계산량에 기초하여 목표 계산량을 연산하는 단계; 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하는 단계; 상기 후보 신경망의 구조에 기초하여 상기 후보 신경망의 후보 계산량을 연산하는 단계; 및 상기 목표 계산량 및 상기 후보 계산량에 기초하여 상기 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계;를 포함할 수 있다.
본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법은, 학습이 완료된 기준 모델에 대한 데이터를 획득하는 단계; 상기 기준 모델의 네트워크 스페이스 정보 및 상기 기준 모델을 압축하기 위한 압축률 정보를 획득하는 단계; 상기 기준 모델에 대한 데이터에 기초하여, 상기 기준 모델의 성능 지표 또는 상기 기준 모델의 기준 계산량을 포함하는 프로파일 정보를 획득하는 단계; 상기 압축률 정보 및 상기 기준 계산량에 기초하여 목표 계산량을 연산하는 단계; 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하는 단계; 상기 후보 신경망의 구조에 기초하여 상기 후보 신경망의 후보 계산량을 연산하는 단계; 및 상기 목표 계산량 및 상기 후보 계산량에 기초하여 상기 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계;를 포함하되, 상기 타겟 모델을 획득하는 단계는, 상기 목표 계산량 및 상기 후보 계산량에 기초하여 적어도 하나의 후보 모델을 획득하는 단계-상기 후보 모델은 입력 레이어, 히든 레이어, 출력 레이어를 포함하고, 상기 히든 레이어는 제1 캔디데이트 블록 및 제2 캔디데이트 블록을 포함하는 제1 레이어, 상기 입력 레이어와 상기 제1 캔디데이트 블록 간의 연결관계와 관련된 제1 가중치, 및 상기 입력 레이어와 상기 제2 캔디데이트 블록 간의 연결관계와 관련된 제2 가중치를 포함함-; 및 상기 입력 레이어를 통하여 입력 이미지를 상기 후보 모델에 입력하는 단계, 상기 출력 레이어를 통하여 출력 이미지를 획득하는 단계, 상기 출력 이미지와 타겟 이미지의 성능 지표를 비교하여 상기 히든 레이어에 포함된 상기 제1 가중치 및 상기 제2 가중치를 갱신하는 단계, 및 상기 제1 가중치 및 상기 제2 가중치를 비교하여 상기 제1 캔디데이트 블록과 상기 제2 캔디데이트 블록 중에서 하나를 상기 제1 레이어의 제1 대상 캔디데이트 블록으로 결정하는 단계;를 포함하는 상기 후보 모델의 캔디데이트 블록을 선택하는 단계를 포함할 수 있다.
본 발명의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 출원의 실시예에 따른 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템에 의하면, 학습이 완료된 기준 모델을 소형 장치나 저사양 장치의 사양을 고려하여 경량화하여 타겟 모델을 획득하고 학습시킴으로써, 소형 장치 등에 최적화된 신경망 모델을 획득할 수 있다.
본 출원의 실시예에 따른 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템에 의하면, 일정 수준 이상의 성능 지표를 나타내면서도 목표하는 계산량에 근접하도록 경량화된 신경망 모델을 획득할 수 있다.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 출원의 일 실시예에 따른 신경망 모델의 경량화 시스템의 개략도이다.
도 2는 본 출원의 일 실시예에 따른 신경망 모델의 경량화 시스템의 동작들을 나타낸 도면이다.
도 3은 본 출원의 일 실시예에 따른 서버의 타겟 모델을 획득하는 동작을 구체적으로 설명하기 위한 도면이다.
도 4는 본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법을 도시한 순서도이다.
도 5는 본 출원의 일 실시예에 따른 기준 모델의 프로파일 정보를 획득하는 단계를 구체화한 순서도이다.
도 6은 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 단계를 구체화한 순서도이다.
도 7은 본 출원의 일 실시예에 따른 신경망 세트를 획득하는 단계를 구체화한 순서도이다.
도 8은 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 일 양상을 도시한 도면이다.
도 9는 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 양상들을 도시한 도면이다.
도 10은 본 출원의 제2 실시예에 따른 목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계를 구체화한 순서도이다.
도 11은 본 출원의 제2 실시예에 따른 후보 모델의 캔디데이트 블록을 선택하는 단계를 구체화한 순서도이다.
도 12는 본 출원의 제2 실시예에 따른 후보 모델의 캔디데이트 블록을 선택하는 일 양상을 도시한 도면이다.
본 출원의 상술한 목적, 특징들 및 장점은 첨부된 도면과 관련된 다음의 상세한 설명을 통해 보다 분명해질 것이다. 다만, 본 출원은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 가질 수 있는 바, 이하에서는 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다.
명세서 전체에 걸쳐서 동일한 참조번호들은 원칙적으로 동일한 구성요소들을 나타낸다. 또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명하며, 이에 대한 중복되는 설명은 생략하기로 한다.
본 출원과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 출원의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 이하의 실시예에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타낸 것으로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
어떤 실시예가 달리 구현 가능한 경우에 특정한 프로세스의 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 프로세스가 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
이하의 실시예에서, 구성 요소 등이 연결되었다고 할 때, 구성 요소들이 직접적으로 연결된 경우뿐만 아니라 구성요소들 중간에 구성 요소들이 개재되어 간접적으로 연결된 경우도 포함한다.
예컨대, 본 명세서에서 구성 요소 등이 전기적으로 연결되었다고 할 때, 구성 요소 등이 직접 전기적으로 연결된 경우뿐만 아니라, 그 중간에 구성 요소 등이 개재되어 간접적으로 전기적 연결된 경우도 포함한다.
본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법은, 학습이 완료된 기준 모델에 대한 데이터를 획득하는 단계; 상기 기준 모델의 네트워크 스페이스 정보 및 상기 기준 모델을 압축하기 위한 압축률 정보를 획득하는 단계; 상기 기준 모델에 대한 데이터에 기초하여, 상기 기준 모델의 성능 지표 또는 상기 기준 모델의 기준 계산량을 포함하는 프로파일 정보를 획득하는 단계; 상기 압축률 정보 및 상기 기준 계산량에 기초하여 목표 계산량을 연산하는 단계; 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하는 단계; 상기 후보 신경망의 구조에 기초하여 상기 후보 신경망의 후보 계산량을 연산하는 단계; 및 상기 목표 계산량 및 상기 후보 계산량에 기초하여 상기 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계;를 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 타겟 모델을 획득하는 단계는, 상기 목표 계산량과 상기 후보 계산량을 비교하여 상기 목표 계산량과의 차이가 미리 설정된 값 이내인 상기 후보 계산량을 가질 것으로 연산된 상기 후보 신경망을 상기 타겟 모델로 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 타겟 모델을 획득하는 단계는, 상기 후보 신경망들을 상기 후보 계산량과 상기 목표 계산량의 차이를 기준으로 오름차순으로 정렬하는 단계; 상기 후보 신경망들의 정렬 결과에 기초하여 미리 결정된 순위 내에 속하는 후보 신경망의 레이턴시(latency)를 측정하는 단계; 및 상기 후보 신경망의 레이턴시(latency)에 기초하여 상기 타겟 모델을 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 신경망 세트를 획득하는 단계는, 상기 네트워크 스페이스 정보에 기초하여 상기 신경망 데이터베이스에 포함된 신경망들을 필터링하는 단계; 및 상기 필터링 결과에 기초하여 상기 네트워크 스페이스 정보에 대응되는 네트워크 스페이스로 정의되는 적어도 하나의 신경망을 상기 신경망 세트로 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 신경망 세트를 획득하는 단계는, 미리 정의된 관계식에 기초하여 상기 신경망 데이터베이스에 포함된 신경망들을 필터링하는 단계; 및 상기 필터링 결과에 기초하여 상기 미리 정의된 관계식을 만족하는 적어도 하나의 신경망을 상기 신경망 세트로 결정하는 단계;를 더 포함하되, 상기 미리 정의된 관계식은 신경망에 포함된 채널 개수 및 신경망에 포함된 레이어의 개수를 변수로 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 미리 정의된 관계식은, 하기의 수식 1일 수 있다: (수식 1) 채널 개수 = C * 레이어의 수, 여기에서, C는 신경망의 속도 대비 성능이 미리 결정된 값 이상이도록 사전 실험을 통해 결정된 상수이다.
본 출원의 일 실시예에 따르면, 상기 프로파일 정보를 획득하는 단계는, 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하는 계산량 추정 모델을 획득하는 단계-상기 신경망의 구조 정보는 레이어 개수 정보 및 채널 개수 정보와 관련된 것임-; 및 상기 계산량 추정 모델을 이용하여 상기 기준 모델의 상기 기준 계산량을 획득하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 네트워크 스페이스 정보는 u-net, EDSR, RCAN, RDN 중 적어도 하나와 관련될 수 있다.
본 출원의 일 실시예에 따르면, 상기 성능 지표는 PSNR, SSIM 및 상기 기준 모델의 정확도(Accuracy) 중 적어도 하나와 관련될 수 있다.
본 출원의 일 실시예에 따르면, 상기 신경망 모델의 경량화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.
본 출원의 일 실시예에 따른 신경망 모델의 경량화 장치는, 학습이 완료된 기준 모델에 대한 데이터, 상기 기준 모델의 네트워크 스페이스 정보 또는 상기 기준 모델을 압축하기 위한 압축률 정보를 수신하는 송수신부; 및 학습이 완료된 기준 모델에 대한 데이터, 상기 기준 모델의 네트워크 스페이스 정보 또는 상기 기준 모델을 압축하기 위한 압축률 정보에 기초하여 상기 기준 모델을 경량화하도록 구성된 프로세서;를 포함하되, 상기 프로세서는, 학습이 완료된 기준 모델에 대한 데이터를 획득하고, 상기 기준 모델의 네트워크 스페이스 정보 및 상기 기준 모델을 압축하기 위한 압축률 정보를 획득하고, 상기 기준 모델에 대한 데이터에 기초하여, 상기 기준 모델의 성능 지표 또는 상기 기준 모델의 기준 계산량을 포함하는 프로파일 정보를 획득하고, 상기 압축률 정보 및 상기 기준 계산량에 기초하여 목표 계산량을 연산하고, 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하고, 상기 후보 신경망의 구조에 기초하여 상기 후보 신경망의 후보 계산량을 연산하고, 상기 목표 계산량 및 상기 후보 계산량에 기초하여 상기 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하도록 구성될 수 있다.
본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법은, 학습이 완료된 기준 모델에 대한 데이터를 획득하는 단계; 상기 기준 모델의 네트워크 스페이스 정보 및 상기 기준 모델을 압축하기 위한 압축률 정보를 획득하는 단계; 상기 기준 모델에 대한 데이터에 기초하여, 상기 기준 모델의 성능 지표 또는 상기 기준 모델의 기준 계산량을 포함하는 프로파일 정보를 획득하는 단계; 상기 압축률 정보 및 상기 기준 계산량에 기초하여 목표 계산량을 연산하는 단계; 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하는 단계; 상기 후보 신경망의 구조에 기초하여 상기 후보 신경망의 후보 계산량을 연산하는 단계; 및 상기 목표 계산량 및 상기 후보 계산량에 기초하여 상기 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계;를 포함하되, 상기 타겟 모델을 획득하는 단계는, 상기 목표 계산량 및 상기 후보 계산량에 기초하여 적어도 하나의 후보 모델을 획득하는 단계-상기 후보 모델은 입력 레이어, 히든 레이어, 출력 레이어를 포함하고, 상기 히든 레이어는 제1 캔디데이트 블록 및 제2 캔디데이트 블록을 포함하는 제1 레이어, 상기 입력 레이어와 상기 제1 캔디데이트 블록 간의 연결관계와 관련된 제1 가중치, 및 상기 입력 레이어와 상기 제2 캔디데이트 블록 간의 연결관계와 관련된 제2 가중치를 포함함-; 및 상기 입력 레이어를 통하여 입력 이미지를 상기 후보 모델에 입력하는 단계, 상기 출력 레이어를 통하여 출력 이미지를 획득하는 단계, 상기 출력 이미지와 타겟 이미지의 성능 지표를 비교하여 상기 히든 레이어에 포함된 상기 제1 가중치 및 상기 제2 가중치를 갱신하는 단계, 및 상기 제1 가중치 및 상기 제2 가중치를 비교하여 상기 제1 캔디데이트 블록과 상기 제2 캔디데이트 블록 중에서 하나를 상기 제1 레이어의 제1 대상 캔디데이트 블록으로 결정하는 단계;를 포함하는 상기 후보 모델의 캔디데이트 블록을 선택하는 단계를 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 히든 레이어는 상기 제1 대상 캔디데이트 블록과 상기 제2 레이어의 상기 제3 캔디데이트 블록 간의 연결관계와 관련된 제3 가중치, 및 상기 제1 대상 캔디데이트 블록과 상기 제2 레이어의 상기 제4 캔디데이트 블록 간의 연결관계와 관련된 제4 가중치를 더 포함하되, 상기 후보 모델의 캔디데이트 블록을 선택하는 단계는, 상기 출력 이미지와 상기 타겟 이미지의 성능 지표를 비교하여 상기 히든 레이어에 포함된 상기 제3 가중치 및 상기 제4 가중치를 갱신하는 단계, 및 상기 제3 가중치 및 상기 제4 가중치를 비교하여 상기 제3 캔디데이트 블록과 상기 제4 캔디데이트 블록 중에서 하나를 상기 제2 레이어의 제2 대상 캔디데이트 블록으로 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 히든 레이어는 제5 캔디데이트 블록 및 제6 캔디데이트 블록을 포함하는 제3 레이어, 상기 제5 캔디데이트 블록과 상기 출력 레이어 간의 연결관계와 관련된 제5 가중치, 및 상기 제6 캔디데이트 블록과 상기 출력 레이어 간의 연결관계와 관련된 제6 가중치를 더 포함하고, 상기 후보 모델의 캔디데이트 블록을 선택하는 단계는, 상기 출력 이미지와 상기 타겟 이미지의 성능 지표를 비교하여 상기 히든 레이어에 포함된 상기 제5 가중치 및 상기 제6 가중치를 갱신하는 단계, 및 상기 제5 가중치 및 상기 제6 가중치를 비교하여 상기 제5 캔디데이트 블록과 상기 제6 캔디데이트 블록 중에서 하나를 상기 제3 레이어의 제3 대상 캔디데이트 블록으로 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 타겟 모델을 획득하는 단계는, 상기 목표 계산량과 상기 후보 계산량을 비교하여 상기 목표 계산량과의 차이가 미리 설정된 값 이내인 상기 후보 계산량을 가질 것으로 연산된 상기 후보 신경망을 상기 타겟 모델로 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 타겟 모델을 획득하는 단계는, 상기 후보 신경망들을 상기 후보 계산량과 상기 목표 계산량의 차이를 기준으로 오름차순으로 정렬하는 단계; 상기 후보 신경망들의 정렬 결과에 기초하여 미리 결정된 순위 내에 속하는 후보 신경망의 레이턴시를 측정하는 단계; 및 상기 후보 신경망의 레이턴시에 기초하여 상기 타겟 모델을 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 신경망 세트를 획득하는 단계는, 상기 네트워크 스페이스 정보에 기초하여 상기 신경망 데이터베이스에 포함된 신경망들을 필터링하는 단계; 및 상기 필터링 결과에 기초하여 상기 네트워크 스페이스 정보에 대응되는 네트워크 스페이스로 정의되는 적어도 하나의 신경망을 상기 신경망 세트로 결정하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 프로파일 정보를 획득하는 단계는, 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하는 계산량 추정 모델을 획득하는 단계-상기 신경망의 구조 정보는 레이어 개수 정보 및 채널 개수 정보와 관련된 것임-; 및 상기 계산량 추정 모델을 이용하여 상기 기준 모델의 상기 기준 계산량을 획득하는 단계;를 더 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 네트워크 스페이스 정보는 u-net, EDSR, RCAN, RDN 중 적어도 하나를 포함할 수 있다.
본 출원의 일 실시예에 따르면, 상기 성능 지표는 PSNR, SSIM 및 상기 기준 모델의 정확도(Accuracy) 중 적어도 하나와 관련될 수 있다.
본 출원의 일 실시예에 따르면, 상기 신경망 모델의 경량화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.
본 출원의 일 실시예에 따른 신경망 모델의 경량화 장치는, 학습이 완료된 기준 모델에 대한 데이터, 상기 기준 모델의 네트워크 스페이스 정보 또는 상기 기준 모델을 압축하기 위한 압축률 정보를 수신하는 송수신부; 및 학습이 완료된 기준 모델에 대한 데이터, 상기 기준 모델의 네트워크 스페이스 정보 또는 상기 기준 모델을 압축하기 위한 압축률 정보에 기초하여 상기 기준 모델을 경량화하도록 구성된 프로세서;를 포함하되, 상기 프로세서는, 학습이 완료된 기준 모델에 대한 데이터를 획득하고, 상기 기준 모델의 네트워크 스페이스 정보 및 상기 기준 모델을 압축하기 위한 압축률 정보를 획득하고, 상기 기준 모델에 대한 데이터에 기초하여, 상기 기준 모델의 성능 지표 또는 상기 기준 모델의 기준 계산량을 포함하는 프로파일 정보를 획득하고, 상기 압축률 정보 및 상기 기준 계산량에 기초하여 목표 계산량을 연산하고, 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하고, 상기 후보 신경망의 구조에 기초하여 상기 후보 신경망의 후보 계산량을 연산하고, 상기 목표 계산량 및 상기 후보 계산량에 기초하여 상기 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하도록 구성되되,상기 프로세서는, 상기 목표 계산량 및 상기 후보 계산량에 기초하여 적어도 하나의 후보 모델-상기 후보 모델은 입력 레이어, 히든 레이어, 출력 레이어를 포함하고, 상기 히든 레이어는 제1 캔디데이트 블록 및 제2 캔디데이트 블록을 포함하는 제1 레이어, 상기 입력 레이어와 상기 제1 캔디데이트 블록 간의 연결관계와 관련된 제1 가중치, 및 상기 입력 레이어와 상기 제2 캔디데이트 블록 간의 연결관계와 관련된 제2 가중치를 포함함-을 획득하고, 상기 입력 레이어를 통하여 입력 이미지를 상기 후보 모델에 입력하는 단계, 상기 출력 레이어를 통하여 출력 이미지를 획득하는 단계, 상기 출력 이미지와 타겟 이미지의 성능 지표를 비교하여 상기 히든 레이어에 포함된 상기 제1 가중치 및 상기 제2 가중치를 갱신하는 단계, 및 상기 제1 가중치 및 상기 제2 가중치를 비교하여 상기 제1 캔디데이트 블록과 상기 제2 캔디데이트 블록 중에서 하나를 상기 제1 레이어의 제1 대상 캔디데이트 블록으로 결정하여 상기 후보 모델의 캔디데이트 블록을 선택함으로써, 상기 타겟 모델을 획득하도록 구성될 수 있다.
이하에서는 도 1 내지 도 13을 참고하여 본 출원의 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치 및 신경망 모델의 경량화 시스템에 관하여 설명한다.
도 1은 본 출원의 일 실시예에 따른 신경망 모델의 경량화 시스템(10)의 개략도이다. 본 출원의 일 실시예에 따른 신경망 모델의 경량화 시스템(10)은 제1 장치(100), 제2 장치(200) 및 서버(1000, 혹은 신경망 모델 경량화 장치, 이하 서버로 지칭)를 포함할 수 있다.
제1 장치(100)는 신경망 모델을 훈련시키고, 학습이 완료된 신경망 모델을 획득할 수 있다. 또한 제1 장치(100)는 학습이 완료된 신경망 모델(기준 모델)을 서버(1000)로 송신할 수 있다. 여기서 제1 장치(100)는 후술할 제2 장치(200)보다 사양이 높거나 상대적으로 많은 계산량을 처리할 수 있는 프로세서를 포함하는 임의의 장치를 의미할 수 있다.
제2 장치(200)는 서버(1000)로부터 타겟 모델을 획득할 수 있다. 이때, 타겟 모델은 학습이 완료된 기준 모델이 경량화된 모델일 수 있다. 여기서, 제2 장치(200)는 전술할 제1 장치(100)보다 사양이 낮거나 상대적으로 적은 계산량을 처리할 수 있는 프로세서를 포함하는 임의의 장치를 의미할 수 있다.
본 출원의 일 실시예에 따른 서버(1000)는 기준 모델에 대한 데이터와 기준 모델을 압축하기 위한 압축률 정보에 기초하여 타겟 모델을 획득할 수 있다. 예컨대, 서버(1000)는 기준 모델에 대한 데이터로부터 기준 모델의 프로파일 정보(예, 기준 모델의 기준 계산량, 기준 모델의 성능 지표 등)를 연산하고, 기준 모델의 프로파일 정보와 압축률 정보를 이용하여 목표 계산량을 획득할 수 있다. 또한, 서버(1000)는 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하고, 각 후보 신경망의 계산량을 연산할 수 있으며, 연산된 계산량과 목표 계산량에 기초하여 신경망 세트 중에서 타겟 모델을 획득할 수 있다. 서버(1000)의 신경망 모델의 경량화 동작에 대하여는 도 2 내지 도 12에서 보다 구체적으로 서술하기로 한다.
본 출원의 일 실시예에 따른 서버(1000)는 송수신부(1100), 메모리(1200), 및 프로세서(1300)를 포함할 수 있다.
서버(1000)의 송수신부(1100)는 제1 장치(100) 및/또는 제2 장치(200)를 포함하여 임의의 외부 기기와 통신을 수행할 수 있다. 예컨대, 서버(1000)는, 송수신부(1100)를 통해, 제1 장치(100)로부터 학습이 완료된 신경망 모델(기준 모델)과 관련된 임의의 데이터를 획득할 수 있다. 또한 서버(1000)는 송수신부(1100)를 통하여, 기준 모델을 경량화하여 획득한 타겟 모델과 관련된 임의의 데이터를 제2 장치(200)로 송신할 수 있다. 또한, 서버(1000)는, 송수신부(1100)를 통해, 임의의 외부 장치로부터 기준 모델을 압축하기 위한 압축률 정보 및/또는 기준 모델의 네트워크 스페이스 정보 등을 수신할 수 있다.
서버(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 내지 도 12를 참고하여, 본 출원의 일 실시예에 따른 신경망 모델의 경량화 시스템(10)에 대하여 보다 구체적으로 서술한다.
도 2는 본 출원의 일 실시예에 따른 신경망 모델의 경량화 시스템(10)의 동작들을 나타낸 도면이다.
본 출원의 일 실시예에 따른 서버(1000)는 제1 장치(100)를 통하여 학습이 완료된 기준 모델 및 기준 모델에 대한 데이터를 획득할 수 있다. 구체적으로 서버(1000)는 학습이 완료된 기준 모델의 네트워크 유형 및/또는 기준 모델의 구조 데이터, 기준 모델에 포함된 노드의 파라미터(또는 가중치) 데이터 및/또는 노드별 가중치 사이즈(예컨대, 가중치 행렬 크기)를 포함하여 기준 모델을 실행시키기 위한 임의의 데이터를 획득할 수 있다.
본 출원의 일 실시예에 따른 서버(1000)는 기준 모델을 압축하기 위한 압축률 정보를 획득할 수 있다. 구체적으로 기준 모델은 제1 장치(100)에서 학습이 완료되어 제1 장치(100)의 컴퓨팅 환경에 최적화된 신경망 모델일 수 있다. 반면, 기준 모델은 제1 장치(100)와는 상이한 컴퓨팅 환경(예컨대, 낮은 성능)을 가지는 제2 장치(200)에서는 최적화되지 않았을 가능성이 높다. 따라서, 서버(1000)는 후술할 바와 같이, 기준 모델을 압축하여 제2 장치(200)의 컴퓨팅 환경에 최적화된 타겟 모델을 획득할 수 있다. 이때, 서버(1000)는 기준 모델을 압축하기 위한 압축률 정보를 획득할 수 있다.
또한, 본 출원의 일 실시예에 따른 서버(1000)는 기준 모델의 네트워크 스페이스 정보를 획득할 수 있다. 예컨대, 서버(1000)는 기준 모델의 네트워크 유형에 기초하여 네트워크 스페이스 정보(예컨대, u-net, EDSR, RCAN, RDN 등)를 획득할 수 있다.
또한, 본 출원의 일 실시예에 따른 서버(1000)는 기준 모델에 대한 데이터에 기초하여 기준 모델의 프로파일 정보를 측정하거나 추정할 수 있다.
일 예로, 서버(1000)는 기준 모델에 대한 데이터에 기초하여 기준 모델의 성능을 측정할 수 있다. 구체적으로 서버(1000)는 기준 모델에 대한 데이터에 기초하여, 기준 모델을 통하여 획득될 이미지의 퀄리티와 관련된 성능 지표(예컨대, PSNR, SSIM 및/또는 기준 모델의 정확도(Accuracy))을 측정할 수 있다.
다른 예로, 서버(1000)는 기준 모델에 대한 데이터(예, 기준 모델의 구조 데이터)에 기초하여 기준 모델의 계산량(또는 복잡도, 연산 속도)를 연산할 수 있다. 구체적으로 서버(1000)는 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하는 계산량 추정 모델을 이용하여, 기준 모델의 계산량을 연산할 수 있다. 이때, 신경망의 구조 정보는 신경망에 포함된 레이어의 개수 정보 및/또는 채널의 개수 정보 중 적어도 하나와 관련될 수 있다. 다시 말해, 서버(1000)는 계산량 추정 모델을 통하여, 기준 모델에 포함된 레이어의 개수 정보 및/또는 채널의 개수 정보로부터 기준 모델의 계산량(이하, 기준 계산량)을 추정할 수 있다.
또한, 본 출원의 일 실시예에 따른 서버(1000)는 기준 모델의 프로파일 정보, 기준 모델의 네트워크 스페이스 정보 및/또는 압축률 정보에 기초하여 적어도 하나의 후보 신경망들을 포함하는 신경망 세트 중에서 타겟 모델을 획득하는 동작(P1)을 수행할 수 있다. 구체적으로 서버(1000)는 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득할 수 있다. 또한, 서버(1000)는 후보 신경망의 구조 정보에 기초하여 후보 신경망의 계산량(이하, 후보 계산량)을 연산하거나 추정할 수 있으며, 기준 모델의 기준 계산량과 압축률 정보에 기초하여 목표 계산량을 연산할 수 있다. 또한, 서버(1000)는 목표 계산량과 각 후보 신경망의 후보 계산량에 기초하여 신경망 세트 중에서 타겟 모델을 결정할 수 있다.
이하에서는 도 3을 참고하여 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 동작(P1)에 대하여 보다 구체적으로 서술한다.
도 3은 본 출원의 일 실시예에 따른 서버(1000)의 타겟 모델을 획득하는 동작(P1)을 구체적으로 설명하기 위한 도면이다.
본 출원의 일 실시예에 따른 서버(1000)는 기준 모델의 기준 계산량과 압축률 정보에 기초하여 목표 계산량을 연산할 수 있다. 예컨대, 기준 모델의 기준 계산량이 제1 값(예, 100)을 가지며, 압축률 정보가 제2 값(예, 0.5)이라면, 제1 값과 제2 값을 곱하여 목표 계산량을 제3 값(예, 50)으로 연산할 수 있다. 이와 관련하여는 도 5에서 보다 구체적으로 서술한다.
본 출원의 일 실시예에 따른 서버(1000)는 신경망 데이터베이스로부터 적어도 하나 이상의 후보 신경망을 포함하는 신경망 세트를 획득할 수 있다. 예컨대, 서버(1000)는 기준 모델의 네트워크 스페이스 정보에 기초하여 신경망 데이터베이스에서 적어도 하나의 후보 신경망을 포함하는 신경망 세트를 획득할 수 있다. 구체적으로 서버(1000)는 기준 모델이 제1 네트워크 스페이스(예, 유넷(u-net))로 정의된 신경망 모델임을 나타내는 네트워크 스페이스 정보를 이용하여, 신경망 데이터베이스에 포함된 신경망 모델들을 필터링하고, 제1 네트워크 스페이스(예, 유넷(u-net))에 대응되는 네트워크 스페이스로 정의되는 적어도 하나의 신경망을 후보 신경망으로 결정할 수 있다. 이와 관련하여는 도 7에서 보다 구체적으로 서술한다.
본 출원의 일 실시예에 따른 서버(1000)는 신경망 세트에 포함된 각 후보 신경망의 계산량(이하, 후보 계산량)을 연산하는 동작을 수행할 수 있다. 예컨대, 서버(1000)는 후보 신경망의 구조 정보에 기초하여 후보 신경망의 후보 계산량을 추정하거나 연산할 수 있다. 구체적으로 서버(1000)는 전술한 계산량 추정 모델을 이용하여 후보 신경망의 후보 계산량을 연산할 수 있다. 이때, 계산량 추정 모델은 신경망의 구조 정보(예컨대, 레이어의 수, 채널의 개수(예컨대, 입력 채널 수, 출력 채널 수))에 기초하여 신경망의 계산량을 연산할 수 있기 때문에, 후보 신경망의 구조 정보(예컨대, 후보 신경망의 레이어의 수, 입력 채널의 수 및/또는 출력 채널의 수)를 이용하여 후보 신경망의 후보 계산량을 연산할 수 있다.
본 출원의 일 실시예에 따른 서버(1000)는 목표 계산량과 각 후보 신경망의 후보 계산량에 기초하여 타겟 모델을 결정할 수 있다.
일 예로, 서버(1000)는 목표 계산량에 근접하는 후보 계산량을 가질 것으로 연산된 후보 신경망을 타겟 모델로 결정할 수 있다. 예컨대, 서버(1000)는 목표 계산량과 후보 계산량의 차이가 미리 결정된 값 이내인 적어도 하나의 후보 신경망을 타겟 모델로 결정할 수 있다. 다른 예를 들어, 서버(1000)는 목표 계산량과 후보 계산량의 차이를 기준으로 후보 신경망에 순위를 부여하고, 부여된 순위가 미리 결정된 순위 이내인 적어도 하나의 후보 신경망을 타겟 모델로 결정할 수 있다.
다른 예로, 서버(1000)는 목표 계산량 및 후보 신경망의 후보 계산량에 기초하여 선택된 후보 신경망을 후보 모델로 획득하고, 후보 모델의 성능 지표를 고려하여 후보 모델의 구조를 결정하는 동작을 수행할 수 있다. 구체적으로 서버(1000)는 후보 모델의 입력 레이어를 통하여 입력 이미지를 후보 모델에 입력하고, 출력 레이어를 통하여 출력되는 출력 이미지를 획득하고, 출력 이미지와 목표하는 퀄리티를 가지는 타겟 이미지의 성능 지표를 비교하여 후보 모델에 포함된 임의의 캔디데이트 블록들 간의 연결관계를 나타내는 가중치를 갱신하고, 가중치 갱신 결과에 기초하여 후보 모델의 대상 캔디데이트 블록을 결정할 수 있다.
타겟 모델을 결정하는 내용과 관련하여는, 도 6 내지 도 12와 관련하여 보다 자세히 서술한다.
다시 도 2를 참고하면, 본 출원의 일 실시예에 따른 서버(1000)는 타겟 모델을 학습시키는 동작을 수행할 수 있다. 구체적으로 서버(1000)는 학습 세트, 러닝 레이트(learning rate) 정보 및/또는 최대 에포크(maximum epoch) 정보를 포함하는 입력 데이터를 획득하고, 입력 데이터에 기초하여 타겟 모델을 훈련시킬 수 있다. 여기서 러닝 레이트는 신경망 모델의 훈련 시 입력 데이터와 출력 데이터 간의 변화의 정도를 정의하는 변수를 의미한다. 또한, 최대 에포크는 신경망 모델의 훈련 시 훈련의 반복 정도를 정의하는 변수이다.
보다 구체적으로 서버(1000)는 학습 세트, 러닝 레이트 정보 및/또는 최대 에포크 정보를 타겟 모델에 입력하고, 타겟 모델을 통하여 출력되는 출력 데이터(예, 출력 이미지)와 목표하는 성능 지표를 가지는 타겟 데이터(예, 목표하는 품질의 타겟 이미지)의 차이에 기초하여 타겟 모델에 포함된 임의의 가중치나 파라미터를 갱신하여 타겟 모델을 훈련시킬 수 있다.
또한, 서버(1000)는 학습이 완료된 타겟 모델을 제2 장치(200)로 송신할 수 있다. 이때, 학습이 완료된 타겟 모델은 제2 장치(200)의 컴퓨팅 환경에 대하여 최적화된 신경망 모델일 수 있다. 구체적으로 압축률 정보는 제2 장치(200)의 성능이나 컴퓨팅 환경에 의존하는 정보일 수 있으며, 타겟 모델은 압축률 정보를 고려하여 획득되었기 때문에, 타겟 모델은 제2 장치(200)의 컴퓨팅 환경에 적합하게 학습될 수 있다.
이하에서는 도 4 내지 도 12를 참고하여, 본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법에 대하여 구체적으로 서술한다.
도 4는 본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법을 도시한 순서도이다. 본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법은 학습이 완료된 기준 모델에 대한 데이터를 획득하는 단계(S1000), 기준 모델의 네트워크 스페이스 정보 및 기준 모델을 압축하기 위한 압축률 정보를 획득하는 단계(S2000), 기준 모델에 대한 데이터에 기초하여 기준 모델의 프로파일 정보를 획득하는 단계(S3000), 및 타겟 모델을 획득하는 단계(S4000)를 포함할 수 있다.
학습이 완료된 기준 모델에 대한 데이터를 획득하는 단계(S1000)에서는, 서버(1000)는, 학습이 완료된 기준 모델 및 기준 모델에 대한 데이터를 획득할 수 있다. 구체적으로 서버(1000)는 학습이 완료된 기준 모델의 네트워크 유형 및/또는 기준 모델의 구조 데이터, 기준 모델에 포함된 노드의 파라미터(또는 가중치) 데이터를 포함하여 기준 모델을 실행시키기 위한 임의의 데이터를 획득할 수 있다.
기준 모델의 네트워크 스페이스 정보 및 기준 모델을 압축하기 위한 압축률 정보를 획득하는 단계(S2000)에서는, 서버(1000)는 기준 모델을 압축하기 위한 압축률 정보를 획득할 수 있다. 예컨대, 서버(1000)는 타겟 모델이 실행될 제2 장치(200)의 컴퓨팅 환경(또는 컴퓨팅 사양, 성능)을 고려한 압축률 정보를 획득할 수 있다.
또한, 기준 모델의 네트워크 스페이스 정보 및 기준 모델을 압축하기 위한 압축률 정보를 획득하는 단계(S2000)에서는, 서버(1000)는 기준 모델의 네트워크 스페이스 정보를 획득할 수 있다. 예컨대, 서버(1000)는 기준 모델의 네트워크 유형 데이터에 기초하여 기준 모델의 네트워크 스페이스 정보를 획득할 수 있다. 이때, 네트워크 스페이스 정보는 u-net, EDSR, RCAN, RDN 중 적어도 하나와 관련될 수 있다.
기준 모델에 대한 데이터에 기초하여 기준 모델의 프로파일 정보를 획득하는 단계(S3000)에서는, 서버(1000)는 기준 모델의 데이터(예, 기준 모델의 구조 데이터, 기준 모델의 네트워크 유형 등)에 기초하여 기준 모델의 성능 지표 및/또는 기준 모델의 계산량을 포함하는 기준 모델의 프로파일 정보를 연산할 수 있다.
일 예로, 서버(1000)는 기준 모델에 대한 데이터에 기초하여 기준 모델의 성능을 측정할 수 있다. 구체적으로 서버(1000)는 기준 모델에 대한 데이터에 기초하여, 기준 모델을 통하여 획득될 이미지의 퀄리티와 관련된 성능 지표(예컨대, PSNR, SSIM 및/또는 기준 모델의 정확도(Accuracy))을 측정할 수 있다. 다른 예로, 서버(1000)는 기준 모델에 대한 구조 데이터에 기초하여 기준 모델의 기준 계산량(또는 복잡도, 연산 속도)를 연산할 수 있다.
이하에서는 도 5를 참고하여 본 출원의 일 실시예에 따른 기준 모델의 프로파일 정보를 획득하는 단계(S3000)에 대하여 구체적으로 서술한다. 도 5는 본 출원의 일 실시예에 따른 기준 모델의 프로파일 정보를 획득하는 단계(S3000)를 구체화한 순서도이다.
본 출원의 일 실시예에 따른 기준 모델의 프로파일 정보를 획득하는 단계(S3000)는 계산량 추정 모델을 획득하는 단계(S3100) 및 계산량 추정 모델을 이용하여 기준 모델의 기준 계산량을 획득하는 단계(S3200)를 포함할 수 있다.
계산량 추정 모델을 획득하는 단계(S3100)에서는, 서버(1000)는 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하는 계산량 추정 모델 및/또는 계산량 추정 모델을 실행하기 위한 임의의 데이터를 획득할 수 있다. 여기서 신경망 모델의 구조 정보는 전술한 바와 같이 신경망에 포함된 레이어의 개수 정보 및/또는 채널의 개수 정보 중 적어도 하나와 관련될 수 있다. 또한, 계산량 추정 모델은 신경망의 구조 정보(예컨대, 신경망의 레이어의 수, 입력 채널의 수 및/또는 출력 채널의 수)에 기초하여 신경망의 계산량을 예측하는 임의의 알고리즘을 활용할 수 있다. 예컨대, 계산량 추정 모델은 신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하는 임의의 함수일 수 있다. 다른 예를 들어, 계산량 추정 모델은 신경망의 구조 정보를 입력 받아 신경망의 계산량을 출력하도록 학습된 임의의 인공지능 모델일 수 있다.
계산량 추정 모델을 이용하여 기준 모델의 기준 계산량을 획득하는 단계(S3200)에서는, 서버(1000)는 계산량 추정 모델을 이용하여 기준 모델의 기준 계산량을 획득할 수 있다. 구체적으로 계산량 추정 모델은 기준 모델의 구조 데이터(예컨대, 기준 모델의 레이어의 개수, 입력 채널 수 및/또는 출력 채널 수)로부터 기준 모델의 기준 계산량을 연산할 수 있다. 전술한 바와 같이 계산량 추정 모델은 임의의 신경망의 구조 정보(예컨대, 레이어의 수, 채널의 개수(예컨대, 입력 채널 수, 출력 채널 수))에 기초하여 신경망의 계산량을 연산할 수 있기 때문에, 계산량 추정 모델은 기준 모델의 구조 정보(예컨대, 기준 모델의 레이어의 수, 입력 채널의 수 및/또는 출력 채널의 수)에 기초하여 기준 신경망의 기준 계산량을 연산할 수 있다.
다시 도 4를 참고하면, 본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법은 타겟 모델을 획득하는 단계(S4000)를 포함할 수 있다.
본 출원의 일 실시예에 따른 타겟 모델을 획득하는 단계(S4000)에서는, 서버(1000)는 기준 모델의 프로파일 정보, 기준 모델의 네트워크 스페이스 정보 및/또는 압축률 정보에 기초하여 적어도 하나의 후보 신경망들을 포함하는 신경망 세트 중에서 타겟 모델을 결정할 수 있다.
일 실시예에 따르면, 서버(1000)는 기준 모델의 프로파일 정보(예, 기준 모델의 기준 계산량)과 압축률 정보를 이용하여 목표 계산량을 산출하고, 후보 신경망의 구조 정보를 이용하여 신경망 세트에 포함된 후보 신경망의 계산량(후보 계산량)을 연산하고, 후보 계산량과 목표 계산량을 비교하여 신경망 세트 중에서 타겟 모델을 결정할 수 있다.
다른 실시예에 따르면, 서버(1000)는 전술한 바와 같이 각 후보 신경망의 후보 계산량과 목표 계산량을 비교하여 신경망 세트 중에서 후보 모델을 결정하고, 후보 모델의 성능 지표를 고려하여 후보 모델을 구성하는 레이어의 캔디데이트 블록을 결정하는 동작을 수행할 수 있다.
이하에서는 도 6 내지 도 12를 참고하여 본 출원의 실시예들에 따른 타겟 모델을 획득하는 방법에 대하여 보다 구체적으로 서술한다. 구체적으로 도 6 내지 도 9를 참고하여 제1 실시예에 따른 타겟 모델을 획득하는 방법을 설명하며, 도 6, 도 10 내지 도 12를 참고하여 제2 실시예에 따른 타겟 모델을 획득하는 방법에 대하여 설명한다.
도 6은 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 단계(S4000)를 구체화한 순서도이다. 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 단계(4000)는 압축률 정보 및 프로파일 정보에 기초하여 목표 계산량을 연산하는 단계(S4100), 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하는 단계(S4200), 후보 신경망의 구조 정보에 기초하여 후보 신경망의 후보 계산량을 연산하는 단계(S4300), 및 목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계(S4400)를 포함할 수 있다.
압축률 정보 및 프로파일 정보에 기초하여 목표 계산량을 연산하는 단계(S4100)에서는, 서버(1000)는 압축률 정보와 기준 모델의 프로파일 정보(예, 기준 계산량)에 기초하여 타겟 모델을 결정하는 데 기준이 되는 목표 계산량을 연산할 수 있다. 예컨대, 기준 모델의 기준 계산량이 제1 값(예, 100)을 가지며, 압축률 정보가 제2 값(예, 0.5)이라면, 서버(1000)는 제1 값과 제2 값을 곱하여 목표 계산량을 제3 값(예, 50)으로 연산할 수 있다.
이상에서는 압축률 정보를 이용하여 목표 계산량을 연산하는 내용을 중심으로 서술하였다. 다만, 이는 예시에 불과하며, 서버(1000)는 기준 모델의 기준 계산량에 기초하여 기준 계산량에 대하여 미리 결정된 비율(예, 기준 계산량/n)을 목표 계산량으로 결정할 수 있다.
신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하는 단계(S4200)에서는, 서버(1000)는 신경망 데이터베이스로부터 복수의 후보 신경망들을 포함하는 신경망 세트를 획득할 수 있다. 구체적으로 서버(1000)는 기준 모델의 네트워크 스페이스 정보에 기반하여 신경망 데이터베이스에 포함된 신경망들 중에서 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득할 수 있다. 이하에서는 도 7을 참고하여 본 출원의 일 실시예에 따른 신경망 세트를 획득하는 단계(S4200)를 보다 구체적으로 서술한다.
도 7은 본 출원의 일 실시예에 따른 신경망 세트를 획득하는 단계(S4200)를 구체화한 순서도이다. 본 출원의 일 실시예에 따른 신경망 세트를 획득하는 단계(S4200)는 네트워크 스페이스 정보에 기초하여 신경망 데이터베이스에 포함된 신경망들을 필터링하는 단계(S4210) 및 필터링 결과에 기초하여 네트워크 스페이스 정보에 대응되는 네트워크 스페이스로 정의되는 적어도 하나의 신경망을 신경망 세트로 결정하는 단계(S4220)를 포함할 수 있다.
네트워크 스페이스 정보에 기초하여 신경망 데이터베이스에 포함된 신경망들을 필터링하는 단계(S4210)에서는, 서버(1000)는 기준 모델의 네트워크 유형과 관련된 네트워크 스페이스 정보에 기초하여 신경망 데이터베이스에 포함된 신경망들을 필터링할 수 있다. 구체적으로 서버(1000)는 기준 모델이 제1 네트워크 스페이스(예, 유넷(u-net))로 정의된 신경망 모델임을 나타내는 네트워크 스페이스 정보를 이용하여, 신경망 데이터베이스에 포함된 신경망 모델들 중에서 제1 네트워크 스페이스에 대응되지 않는 신경망들은 필터링할 수 있다.
필터링 결과에 기초하여 네트워크 스페이스 정보에 대응되는 네트워크 스페이스로 정의되는 적어도 하나의 신경망을 신경망 세트로 결정하는 단계(S4220)에서는, 서버(1000)는 필터링 결과에 기초하여 신경망 데이터베이스로부터 네트워크 스페이스 정보에 대응되는 네트워크 스페이스로 정의되는 적어도 하나의 신경망을 후보 신경망으로 결정할 수 있다. 구체적으로, 서버(1000)는 기준 모델이 제1 네트워크 스페이스(예, 유넷(u-net))로 정의된 신경망 모델임을 나타내는 네트워크 스페이스 정보를 이용하여, 제1 네트워크 스페이스(예, 유넷(u-net))에 대응되는 네트워크 스페이스로 정의되는 적어도 하나의 신경망을 후보 신경망으로 결정할 수 있다.
다시 도 6을 참고하면, 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 단계(S4000)는 후보 신경망의 구조 정보에 기초하여 후보 신경망의 후보 계산량을 연산하는 단계(S4300) 및 목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계(S4400)를 포함할 수 있다.
후보 신경망의 구조에 기초하여 후보 신경망의 후보 계산량을 연산하는 단계(S4300)에서는, 서버(1000)는 신경망 세트에 포함된 적어도 하나의 후보 신경망의 구조 정보(예컨대, 후보 신경망에 포함된 레이어 개수 및/또는 후보 신경망에 포함된 채널 개수 등)에 기초하여 후보 신경망의 후보 계산량을 연산할 수 있다. 구체적으로 서버(1000)는 전술한 계산량 추정 모델을 이용하여 후보 신경망의 후보 계산량을 추정할 수 있다. 전술한 바와 같이 계산량 추정 모델은 임의의 신경망의 구조 정보(예컨대, 레이어의 수, 채널의 개수(예컨대, 입력 채널 수, 출력 채널 수))에 기초하여 신경망의 계산량을 연산할 수 있기 때문에, 계산량 추정 모델은 후보 신경망의 구조 정보(예컨대, 후보 신경망의 레이어의 수, 입력 채널의 수 및/또는 출력 채널의 수)에 기초하여 후보 신경망의 후보 계산량을 연산할 수 있다.
목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계(S4400)에서는, 서버(1000)는 목표 계산량과 후보 신경망의 후보 계산량을 비교하여 적어도 하나의 후보 신경망들 중에서 타겟 모델을 결정할 수 있다.
이하에서는 도 8 및 도 9를 참고하여 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 양상에 대하여 구체적으로 설명한다. 도 8은 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 일 양상을 도시한 도면이다. 도 9는 본 출원의 일 실시예에 따른 타겟 모델을 획득하는 양상들을 도시한 도면이다.
일 실시예에 따르면, 서버(1000)는 전술한 바와 같이, 계산량 추정 모델을 이용하여 기준 모델에 대한 구조 데이터로부터 기준 모델의 기준 계산량을 연산할 수 있다. 또한, 서버(1000)는 전술한 바와 같이, 기준 계산량과 압축률 정보에 기반하여 타겟 모델을 결정하는 데 기준이 되는 목표 계산량을 연산할 수 있다.
또한, 서버(1000)는 전술한 바와 같이 계산량 추정 모델을 이용하여 각 후보 신경망의 구조 정보로부터 후보 신경망의 후보 계산량을 연산할 수 있다. 예컨대, 제1 후보 신경망은 제1 구조 정보를 가지고 있을 수 있으며, 서버(1000)는 계산량 추정 모델을 이용하여 제1 후보 신경망의 제1 구조 정보로부터 제1 후보 계산량을 연산할 수 있다. 유사하게 제N 후보 신경망은 제N 구조 정보를 가지고 있을 수 있으며, 서버(1000)는 계산량 추정 모델을 이용하여 제N 후보 신경망의 제N 구조 정보로부터 제N 후보 계산량을 연산할 수 있다. 이때, 서버(1000)는 각 후보 신경망의 후보 계산량과 목표 계산량을 비교하여 복수의 후보 신경망들 중에서 타겟 모델을 결정할 수 있다.
일 예에 따르면, 서버(1000)는 목표 계산량과 각 후보 계산량 간의 차이 값을 연산하고, 목표 계산량과 각 후보 계산량 간의 차이 값이 미리 설정된 값 이내인 후보 신경망을 타겟 모델로 결정할 수 있다. 구체적으로 제N 후보 신경망의 제N 후보 계산량은 목표 계산량과 제N 값의 차이를 나타낼 수 있다. 이때, 서버(1000)는 제N 값이 미리 설정된 값 이내인 경우에는 제N 후보 신경망을 타겟 모델로 결정할 수 있다.
다른 예에 따르면, 서버(1000)는 목표 계산량과 후보 계산량 간의 차이에 기초하여 후보 신경망에 순위를 부여하고, 부여된 순위에 기초하여 복수의 후보 신경망들 중에서 타겟 모델을 결정할 수 있다. 구체적으로 서버(1000)는 부여된 순위가 미리 결정된 순위 이내에 해당하는 적어도 하나의 후보 신경망을 타겟 모델로 결정할 수 있다. 예컨대, 서버(1000)는 목표 계산량과 후보 계산량의 차이값을 기준으로 오름차순으로 후보 신경망들을 정렬하고, 각 후보 신경망에 순위를 부여할 수 있다. 이때, 서버(1000)는 후보 신경망의 순위가 미리 설정된 순위 이내인 적어도 하나의 후보 신경망을 타겟 모델로 결정할 수 있다.
또 다른 예에 따르면, 서버(1000)는 전술한 목표 계산량과 후보 계산량 간의 차이에 기초하여 후보 신경망들 중에서 선택된 각 신경망의 레이턴시(latency)를 측정하고, 측정된 레이턴시에 기초하여 타겟 모델을 결정하는 동작을 추가적으로 수행할 수 있다. 구체적으로 기준 모델이 제1 레이턴시(예, 100초)를 나타낸다면, 타겟 모델은 제1 레이턴시와 압축률 정보(예, 0.5)를 곱한 값(예, 50초)으로 레이턴시가 측정되는 것이 이상적이다. 다만, 전술한 후보 계산량은 계산량 추정 모델을 통하여 '추정'한 값이기에 보다 정밀한 타겟 모델 선정을 위하여 서버(1000)는 후보 신경망의 레이턴시를 추가적으로 측정하도록 구현될 수 있다. 이때, 서버(1000)는 레이턴시가 목표하는 레이턴시(예, 50초)에 근접하는 후보 신경망을 타겟 모델로 결정하도록 구현될 수 있다.
다만 상술한 타겟 모델을 결정하는 내용은 예시에 불과하며, 서버(1000)는 임의의 적절한 방법을 이용하여 후보 신경망들 중에서 목표 계산량에 근접하면서도 일정 수준 이상의 성능 지표(예, PSNR 등)을 나타내는 타겟 모델을 획득하도록 구현될 수 있다.
또한, 이상에서는 압축률 정보를 이용하여 목표 계산량을 계산하고, 목표 계산량에 기초하여 타겟 모델을 획득하는 내용을 중심으로 서술하였다. 다만 이는 예시에 불과하다. 예컨대, 서버(1000)는 사전 실험을 통하여 미리 정의된 관계식(예, 레이어 개수와 채널 개수 간의 비율)을 이용하여 타겟 모델을 결정할 수 있다. 구체적으로 서버(1000)는 신경망 세트의 후보 신경망 중에서 미리 정의된 관계식, 예컨대, 채널 개수 = c * 레이어 개수의 함수(c는 상수이며, 신경망의 속도 대비 성능이 미리 결정된 값 이상이도록 사전 실험을 통하여 결정될 수 있음)를 만족하는 적어도 하나의 신경망을 선별할 수 있다. 또한, 서버(1000)는 전술한 바와 같이 선별된 신경망의 계산량을 연산하고, 연산된 계산량과 목표 계산량(예컨대, 기준 계산량의 미리 결정된 비율로 설정된 목표 계산량)을 비교하여 선별된 신경망 중에서 타겟 모델을 획득하도록 구현될 수도 있다.
본 실시예에 따르면, 목표하는 계산량과 근접하는 계산량을 처리할 수 있는 타겟 모델을 획득하고 타겟 모델을 학습(예, 이미지 품질 향상 학습)시킴으로써, 소형 장치나 저사양 장치의 컴퓨팅 사양에 최적화된 신경망 모델을 획득할 수 있다는 유리한 효과를 제공할 수 있다.
이하에서는 도 10 내지 도 12를 참고하여 본 출원의 제2 실시예에 따른 목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 방법에 대하여 보다 구체적으로 서술한다. 한편, 전술한 타겟 모델을 결정하는 제1 실시예에 대한 내용은 이하의 제2 실시예에 대하여 유추적용될 수 있으며, 중복되는 내용은 생략하기로 한다.
본 출원의 제2 실시예에 따르면, 서버(1000)는 전술한 제1 실시예에 따라 목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 모델을 획득하고, 후보 모델의 캔디데이터 블록을 결정할 수 있다. 본 실시예에 따르면 계산량 뿐만 아니라, 후보 모델의 성능을 최대화하는 후보 모델의 캔디데이트 블록을 결정할 수 있다. 따라서, 본 실시예에 따르면 일정 수준 이상의 성능을 발휘하면서도 목표하는 계산량에 부합하는 타겟 모델을 보다 정교하게 획득할 수 있다.
도 10은 본 출원의 제2 실시예에 따른 목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계(S4400)를 구체화한 순서도이다. 본 출원의 일 실시예에 따른 목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계(S4400)는 목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 모델을 획득하는 단계(S4410), 및 후보 모델의 캔디데이트 블록을 선택하는 단계(S4420)를 포함할 수 있다.
목표 계산량 및 후보 계산량에 기초하여 적어도 하나의 후보 모델을 획득하는 단계(S4410)에서는, 서버(1000)는 전술한 바와 같이 목표 계산량과 각 후보 신경망의 후보 계산량에 기초하여 적어도 하나 이상의 후보 모델을 획득할 수 있다. 예컨대, 서버(1000)는 목표 계산량과 후보 계산량의 차이가 미리 설정된 값 이내인 후보 신경망을 후보 모델로 획득할 수 있다. 다른 예를 들어, 서버(1000)는 목표 계산량과 후보 계산량의 차이에 기초하여 부여된 순위가 미리 설정된 순위 이내인 후보 신경망을 후보 모델로 획득할 수 있다.
또 다른 예를 들어, 서버(1000)는 후보 신경망의 레이턴시가 목표하는 레이턴시에 근접하는 후보 신경망을 후보 모델로 획득할 수 있다. 예컨대, 기준 모델의 레이턴시가 제1 값으로 측정되고, 기준 모델을 1/2로 압축하여 타겟 모델을 획득하는 경우에는 타겟 모델의 레이턴시는 제1 값의 1/2이 되는 것이 이상적이다. 따라서 서버(1000)는 각 후보 신경망의 레이턴시를 측정하고, 측정된 레이턴시가 목표하는 레이턴시에 근접하는 후보 신경망을 후보 모델로 획득할 있다.
후보 모델의 캔디데이트 블록을 선택하는 단계(S4420)에서는, 서버(1000)는 후보 모델을 구성하는 캔디데이터 블록을 결정할 수 있다. 구체적으로 후보 모델은 입력 레이어, 출력 레이어, 및 입력 레이어와 출력 레이어를 연결하는 히든 레이어(hidden layer)를 포함할 수 있다. 또한 히든 레이어는 적어도 하나의 레이어를 포함할 수 있다. 예컨대, 히든 레이어는 입력 레이어와 연결된 제1 레이어, 제1 레이어와 연결된 제2 레이어 및/또는 출력 레이어와 연결된 제3 레이어를 포함할 수 있다. 이때, 제1 레이어, 제2 레이어 및/또는 제3 레이어 각각은 복수의 캔디데이트 블록을 포함할 수 있다. 이때, 서버(1000)는 각 레이어의 복수의 캔디데이트 블록 중에서 적어도 하나의 캔디데이트 블록을 해당 레이어의 대상 캔디데이터 블록으로 결정하는 동작을 수 있다.
이하에서는 도 11 및 도 12를 참고하여 본 출원의 일 실시예에 따른 후보 모델의 캔디데이트 블록을 선택하는 방법에 대하여 보다 구체적으로 서술한다. 도 11은 본 출원의 일 실시예에 따른 후보 모델의 캔디데이트 블록을 선택하는 단계(S4420)를 구체화한 순서도이다. 도 12는 본 출원의 일 실시예에 따른 후보 모델의 캔디데이트 블록을 선택하는 일 양상을 도시한 도면이다.
본 출원의 일 실시예에 따른 후보 모델의 캔디데이트 블록을 선택하는 단계(S4420)는 입력 레이어를 통하여 입력 이미지를 후보 모델에 입력하는 단계(S4422), 출력 레이어를 통하여 출력 이미지를 획득하는 단계(S4424), 출력 이미지와 타겟 이미지의 성능 지표를 비교하여 히든 레이어에 포함된 제1 가중치 및 제2 가중치를 갱신하는 단계(S4426), 및 제1 가중치 및 제2 가중치를 비교하여 대상 캔디데이트 블록을 결정하는 단계(S4428)를 포함할 수 있다.
입력 레이어를 통하여 입력 이미지를 후보 모델에 입력하는 단계(S4422)에서는 서버(1000)는 입력 레이어를 통하여 입력 이미지를 후보 모델에 입력할 수 있다. 이때, 입력 이미지를 수신한 후보 모델은 후보 모델에 포함된 히든 레이어의 캔디데이트 블록들의 초기 가중치와 캔디데이트 블록 간의 연결관계와 관련된 초기 가중치에 기초하여 출력 레이어를 통하여 출력 이미지를 출력할 수 있다.
전술한 바와 같이 후보 모델의 히든 레이어는 적어도 하나의 레이어를 포함할 수 있다. 예컨대, 히든 레이어는 입력 레이어와 연결된 제1 레이어, 제1 레이어와 연결된 제2 레이어 및/또는 출력 레이어와 연결된 제3 레이어를 포함할 수 있다. 또한, 제1 레이어는 제1 캔디데이트 블록(CB1) 및 제2 캔디데이트 블록(CB2)을 포함할 수 있으며, 제2 레이어는 제3 캔디데이트 블록(CB3) 및 제4 캔디데이트 블록(CB4)를 포함할 수 있다. 또한, 제3 레이어는 제5 캔디데이트 블록(CB5) 및 제6 캔디데이트 블록(CB6)를 포함할 수 있다 또한, 후보 모델의 히든 레이어는 입력 레이어와 제1 레이어의 제1 캔디데이트 블록(CB1) 간의 연결관계와 관련된 제1 가중치값(
Figure 112021131470889-pat00001
1) 및 입력 레이어와 제1 레이어의 제2 캔디데이트 블록(CB2) 간의 연결관계와 관련된 제2 가중치값(
Figure 112021131470889-pat00002
2)을 포함할 수 있다. 또한, 후보 모델의 히든 레이어는 제1 레이어의 임의의 캔디데이트 블록(예, 제1 캔디데이트 블록(CB1))과 제2 레이어의 제3 캔디데이트 블록(CB3) 간의 연결관계와 관련된 제3 가중치값(
Figure 112021131470889-pat00003
3) 및 제1 레이어의 제1 캔디데이트 블록(CB1)과 제2 레이어의 제4 캔디데이트 블록(CB4) 간의 연결관계와 관련된 제4 가중치값(
Figure 112021131470889-pat00004
4)을 포함할 수 있다. 또한, 후보 모델의 히든 레이어는 출력 레이어와 제3 레이어의 제5 캔디데이트 블록(CB5) 간의 연결관계와 관련된 제5 가중치값(
Figure 112021131470889-pat00005
5) 및 출력 레이어와 제3 레이어의 제6 캔디데이트 블록(CB6) 간의 연결관계와 관련된 제6 가중치값(
Figure 112021131470889-pat00006
6)을 포함할 수 있다.
여기서, 후보 모델은 각 캔디데이트 블록에 설정된 초기 가중치, 입력 레이어와 제1 레이어에 포함된 캔디데이트 블록 간의 연결관계를 나타내는 초기 가중치, 제1 레이어에 포함된 임의의 캔디데이트 볼록과 제2 레이어에 포함된 임의의 캔디데이트 블록 간의 연결관계를 나타내는 초기 가중치 및/또는 제3 레이어에 포함된 임의의 캔디데이트 블록과 출력 레이어 간의 연결관계를 나타내는 초기 가중치에 따라, 입력 이미지로부터 출력 레이어를 통하여 출력 이미지를 출력할 수 있다.
출력 레이어를 통하여 출력 이미지를 획득하는 단계(S4424)에서는, 서버(1000)는 후보 모델의 출력 레이어를 통하여 출력된 출력 이미지를 획득할 수 있다.
출력 이미지와 타겟 이미지의 성능 지표를 비교하여 히든 레이어에 포함된 제1 가중치 및 제2 가중치를 갱신하는 단계(S4426)에서는, 서버(1000)는 출력 이미지의 성능 지표(예, PSNR, SSIM 등)와 목표하는 퀄리티를 가지는 타겟 이미지의 성능 지표(예, PSNR, SSIM 등)를 비교하여 히든 레이어에 포함된 하나의 캔디데이트 블록과 다른 캔디데이트 블록 간의 연결관계를 나타내는 가중치를 갱신할 수 있다.
예컨대, 서버(1000)는 출력 이미지의 성능 지표와 타겟 이미지의 성능 지표를 비교하여 입력 레이어와 제1 레이어에 포함된 제1 캔디데이트 블록(CB1) 간의 연결관계와 관련된 제1 가중치값(
Figure 112021131470889-pat00007
1) 및 입력 레이어와 제1 레이어에 포함된 제2 캔디데이트 블록(CB2) 간의 연결관계와 관련된 제2 가중치값(
Figure 112021131470889-pat00008
2)을 갱신할 수 있다.
다른 예로, 서버(1000)는 출력 이미지의 성능 지표와 타겟 이미지의 성능 지표를 비교하여 제1 레이어의 임의의 캔디데이트 블록(예, 제1 캔디데이트 블록(CB1))과 제2 레이어에 포함된 제3 캔디데이트 블록(CB3) 간의 연결관계와 관련된 제3 가중치값(
Figure 112021131470889-pat00009
3) 및 제1 레이어의 임의의 캔디데이트 블록(예, 제1 캔디데이트 블록(CB1))과 제2 레이어에 포함된 제4 캔디데이트 블록(CB4) 간의 연결관계와 관련된 제4 가중치값(
Figure 112021131470889-pat00010
4)을 갱신할 수 있다.
또 다른 예로, 서버(1000)는 출력 이미지의 성능 지표와 타겟 이미지의 성능 지표를 비교하여 출력 레이어와 제3 레이어에 포함된 제5 캔디데이트 블록(CB5) 간의 연결관계와 관련된 제5 가중치값(
Figure 112021131470889-pat00011
5) 및 출력 레이어와 제3 레이어에 포함된 제6 캔디데이트 블록(CB6) 간의 연결관계와 관련된 제6 가중치값(
Figure 112021131470889-pat00012
6)을 갱신할 수 있다.
또한 서버(1000)는 출력 이미지의 성능 지표와 타겟 이미지의 성능 지표의 차이가 최소가 되도록 히든 레이어에 포함된 가중치들을 갱신하는 동작을 반복하여 수행할 수 있다.
제1 가중치 및 제2 가중치를 비교하여 대상 캔디데이트 블록을 결정하는 단계(S4428)에서는, 서버(1000)는 갱신된 히든 레이어의 가중치들을 비교하여 대상 캔디데이트 블록을 결정할 수 있다. 구체적으로 서버(1000)는 임의의 레이어에 포함된 하나의 캔디데이트 블록과 관련된 제1 가중치와 다른 캔디데이트 블록과 관련된 제2 가중치를 비교하여 해당 레이어의 대상 캔디데이트 블록을 결정할 수 있다.
예컨대, 서버(1000)는 입력 레이어와 제1 레이어의 제1 캔디데이트 블록(CB1) 간의 제1 가중치값(
Figure 112021131470889-pat00013
1) 및 입력 레이어와 제1 레이어의 제2 캔디데이트 블록(CB1) 간의 제2 가중치값(
Figure 112021131470889-pat00014
2)을 비교하여 제1 캔디데이트 블록(CB1)과 제2 캔디데이트 블록(CB2) 중에서 하나를 제1 레이어의 대상 캔디데이트 블록으로 결정할 수 있다. 구체적으로 서버(1000)은 제1 가중치값(
Figure 112021131470889-pat00015
1)과 제2 가중치값(
Figure 112021131470889-pat00016
2)을 비교하여 더 큰 값에 대응되는 캔디데이트 블록을 제1 레이어의 제1 대상 캔디데이트 블록으로 결정할 수 있다.
다른 예로, 서버(1000)는 제1 레이어의 제1 대상 캔디데이트 블록(예, 제1 캔디데이트 블록(CB1))과 제2 레이어의 제3 캔디데이트 블록(CB3) 간의 제3 가중치값(
Figure 112021131470889-pat00017
3) 및 제1 레이어의 제1 대상 캔디데이트 블록(예, 제1 캔디데이트 블록(CB1))과 제2 레이어의 제4 캔디데이트 블록(CB4) 간의 제4 가중치값(
Figure 112021131470889-pat00018
4)을 비교하여 제3 캔디데이트 블록(CB3)과 제4 캔디데이트 블록(CB4) 중에서 하나를 제2 레이어의 대상 캔디데이트 블록으로 결정할 수 있다. 구체적으로 서버(1000)은 제3 가중치값(
Figure 112021131470889-pat00019
3)과 제4 가중치값(
Figure 112021131470889-pat00020
4)을 비교하여 더 큰 값에 대응되는 캔디데이트 블록을 제2 레이어의 제2 대상 캔디데이트 블록으로 결정할 수 있다.
또 다른 예를 들면, 서버(1000)는 출력 레이어와 제3 레이어의 제5 캔디데이트 블록(CB5) 간의 제5 가중치값(
Figure 112021131470889-pat00021
5) 및 출력 레이어와 제3 레이어의 제6 캔디데이트 블록(CB6) 간의 제6 가중치값(
Figure 112021131470889-pat00022
6)을 비교하여 제5 캔디데이트 블록(CB5)과 제6 캔디데이트 블록(CB6) 중에서 하나를 제3 레이어의 대상 캔디데이트 블록으로 결정할 수 있다. 구체적으로 서버(1000)은 제5 가중치값(
Figure 112021131470889-pat00023
5)과 제6 가중치값(
Figure 112021131470889-pat00024
6)을 비교하여 더 큰 값에 대응되는 캔디데이트 블록을 제3 레이어의 제3 대상 캔디데이트 블록으로 결정할 수 있다.
서버(1000)는 각 레이어의 대상 캔디데이트 블록을 결정하여 목표하는 계산량에 근접하면서도 목표하는 타겟 이미지의 성능 지표와 근접하는 출력 이미지를 출력할 수 있는 구조를 가진 타겟 모델을 획득할 수 있다.
본 실시예에 따르면 일정 수준 이상의 성능을 발휘하면서도 목표하는 계산량에 부합하는 타겟 모델을 정교하게 획득할 수 있다. 따라서 기준 모델을 경량화하여, 소형 장치나 저사양 장치의 한계 계산량에 부합하면서도 일정 수준의 성능 지표를 나타낼 수 있는 신경망 모델을 획득할 수 있다는 유리한 효과를 제공할 수 있다.
다시 도 4를 참고하면, 도 4에서는 도시하지 않았으나 본 출원의 일 실시예에 따른 신경망 모델의 경량화 방법은 타겟 모델을 학습하는 단계를 더 포함할 수 있다. 타겟 모델을 학습하는 단계에서는 서버(1000)는 학습 세트, 러닝 레이트(learning rate) 정보, 및/또는 최대 에포크(maximum epoch) 정보를 포함하는 입력 데이터를 획득하고, 입력 데이터에 기초하여 타겟 모델을 훈련시킬 수 있다. 여기서 러닝 레이트는 신경망 모델의 훈련 시 신경망 모델에 포함된 파라미터(또는 가중치)의 변화의 정도를 정의하는 변수를 의미한다. 또한, 최대 에포크는 신경망 모델의 훈련 시 훈련의 반복 정도를 정의하는 변수이다. 구체적으로, 서버(1000)는 학습 세트, 러닝 레이트 정보 및/또는 최대 에포크 정보를 타겟 모델에 입력하고, 타겟 모델을 통하여 출력되는 출력 데이터(예, 출력 이미지)와 목표하는 성능 지표를 가지는 기준 데이터(예, 목표하는 품질의 타겟 이미지)의 차이에 기초하여 타겟 모델에 포함된 임의의 가중치나 파라미터를 갱신하여 타겟 모델을 훈련시킬 수 있다.
일 예로, 타겟 모델을 학습하는 단계에서는 타겟 모델은 슈퍼 네트워크의 일부를 구성하는 서브 넷(subnet)으로 훈련될 수 있다. 구체적으로 슈퍼 네트워크는 서브 넷(subnet)을 구성하는 타겟 모델 및 서브 넷과 연결된 플러그넷(plugnet)으로 구성될 수 있다. 이때, 서버(1000)는 학습 세트를 기반으로 슈퍼 네트워크를 학습시키고, 슈퍼 네트워크의 일부를 구성하는 서브 넷을 추출함으로써 최종적으로 학습이 완료된 타겟 모델을 획득할 수 있다.
본 출원의 실시예에 따른 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템에 의하면, 학습이 완료된 기준 모델을 소형 장치나 저사양 장치의 사양을 고려하여 경량화하여 타겟 모델을 획득하고 학습시킴으로써, 소형 장치 등에 최적화된 신경망 모델을 획득할 수 있다.
또한 본 출원의 실시예에 따른 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템에 의하면, 일정 수준 이상의 성능 지표를 나타내면서도 목표하는 계산량에 근접하도록 경량화된 신경망 모델을 획득할 수 있다.
본 출원의 실시예에 따라 학습이 완료된 타겟 모델은 소형 단말에 탑재되어 소형 단말에서 촬영된 저품질의 이미지를 고품질의 이미지로 변환하는 기술에 이용될 수 있다. 또한, 본 출원의 실시예에 따라 학습이 완료된 타겟 모델은 저사양의 컴퓨터에 탑재되어 저사양의 전자현미경에서 획득한 저품질의 이미지를 고품질의 이미지로 변환하는 기술에 이용될 수 있다. 또한, 본 출원의 일 실시예에 따라 학습이 완료된 타겟 모델은 저사양의 컴퓨터에 탑재되어 저품질의 의료 영상을 고품질의 의료영상을 변환하는 기술에 이용될 수 있다. 다만 상술한 내용은 예시에 불과하며, 본 출원의 실시예에 따른 신경망 모델의 경량화 방법, 장치, 시스템은 저사양의 임의의 장치에 적용되어 이미지의 품질을 향상시키는 임의의 기술에 적용될 수 있을 것이다.
상술한 서버(1000)의 다양한 동작들은 서버(1000)의 메모리(1200)에 저장될 수 있으며, 서버(1000)의 프로세서(1300)는 메모리(1200)에 저장된 동작들을 수행하도록 제공될 수 있다.
이상에서 실시 형태들에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시 형태에 포함되며, 반드시 하나의 실시 형태에만 한정되는 것은 아니다. 나아가, 각 실시 형태에서 예시된 특징, 구조, 효과 등은 실시 형태들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시 형태들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시 형태를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시 형태의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 즉, 실시 형태에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
10: 신경망 모델 경량화 시스템
100: 제1 장치
200: 제2 장치
1000: 서버

Claims (11)

  1. 학습이 완료된 신경망 모델을 획득하고 학습이 완료된 신경망 모델을 경량화하는 서버가 신경망 모델을 경량화하는 방법에 있어서, 상기 방법은,
    학습이 완료된 기준 모델에 대한 데이터를 획득하는 단계;
    상기 기준 모델의 네트워크 스페이스 정보 및 상기 기준 모델을 압축하기 위한 압축률 정보를 획득하는 단계;
    상기 기준 모델에 대한 데이터에 기초하여, 상기 기준 모델의 성능 지표 또는 상기 기준 모델의 기준 계산량을 포함하는 프로파일 정보를 획득하는 단계;
    상기 압축률 정보 및 상기 기준 계산량에 기초하여 목표 계산량을 연산하는 단계;
    신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하는 단계;
    상기 후보 신경망의 구조에 기초하여 상기 후보 신경망의 후보 계산량을 연산하는 단계; 및
    상기 목표 계산량 및 상기 후보 계산량에 기초하여 상기 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하는 단계;를 포함하는,
    신경망 모델의 경량화 방법.
  2. 제1 항에 있어서,
    상기 타겟 모델을 획득하는 단계는,
    상기 목표 계산량과 상기 후보 계산량을 비교하여 상기 목표 계산량과의 차이가 미리 설정된 값 이내인 상기 후보 계산량을 가질 것으로 연산된 상기 후보 신경망을 상기 타겟 모델로 결정하는 단계;를 더 포함하는,
    신경망 모델의 경량화 방법.
  3. 제1 항에 있어서,
    상기 타겟 모델을 획득하는 단계는,
    상기 후보 신경망들을 상기 후보 계산량과 상기 목표 계산량의 차이를 기준으로 오름차순으로 정렬하는 단계;
    상기 후보 신경망들의 정렬 결과에 기초하여 미리 결정된 순위 내에 속하는 후보 신경망의 레이턴시(latency)를 측정하는 단계; 및
    상기 후보 신경망의 레이턴시(latency)에 기초하여 상기 타겟 모델을 결정하는 단계;를 더 포함하는,
    신경망 모델의 경량화 방법.
  4. 제1 항에 있어서,
    상기 신경망 세트를 획득하는 단계는,
    상기 네트워크 스페이스 정보에 기초하여 상기 신경망 데이터베이스에 포함된 신경망들을 필터링하는 단계; 및
    상기 필터링 결과에 기초하여 상기 네트워크 스페이스 정보에 대응되는 네트워크 스페이스로 정의되는 적어도 하나의 신경망을 상기 신경망 세트로 결정하는 단계;를 더 포함하는,
    신경망 모델의 경량화 방법.

  5. 제1 항에 있어서,
    상기 신경망 세트를 획득하는 단계는,
    미리 정의된 관계식에 기초하여 상기 신경망 데이터베이스에 포함된 신경망들을 필터링하는 단계; 및
    상기 필터링 결과에 기초하여 상기 미리 정의된 관계식을 만족하는 적어도 하나의 신경망을 상기 신경망 세트로 결정하는 단계;를 더 포함하되,
    상기 미리 정의된 관계식은 신경망에 포함된 채널 개수 및 신경망에 포함된 레이어의 개수를 변수로 포함하는,
    신경망 모델의 경량화 방법.
  6. 제5 항에 있어서,
    상기 미리 정의된 관계식은,
    하기의 수식 1인 신경망 모델의 경량화 방법:
    (수식 1)
    채널 개수 = C * 레이어의 수
    여기에서, C는 신경망의 속도 대비 성능이 미리 결정된 값 이상이도록 사전 실험을 통해 결정된 상수이다.
  7. 제1 항에 있어서,
    상기 프로파일 정보를 획득하는 단계는,
    신경망의 구조 정보에 기초하여 신경망의 계산량을 연산하는 계산량 추정 모델을 획득하는 단계-상기 신경망의 구조 정보는 레이어 개수 정보 및 채널 개수 정보와 관련된 것임-; 및
    상기 계산량 추정 모델을 이용하여 상기 기준 모델의 상기 기준 계산량을 획득하는 단계;를 더 포함하는,
    신경망 모델의 경량화 방법.
  8. 제1 항에 있어서,
    상기 네트워크 스페이스 정보는 u-net, EDSR, RCAN, RDN 중 적어도 하나와 관련되는,
    신경망 모델의 경량화 방법.
  9. 제1 항에 있어서,
    상기 성능 지표는 PSNR, SSIM 및 상기 기준 모델의 정확도(Accuracy) 중 적어도 하나와 관련되는,
    신경망 모델의 경량화 방법.
  10. 컴퓨터에 제1 항 내지 제9 항 중 어느 하나의 항에 따른 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  11. 학습이 완료된 신경망 모델을 경량화하는 신경망 모델 경량화 장치에 있어서, 상기 신경망 모델 경량화 장치는,
    학습이 완료된 기준 모델에 대한 데이터, 상기 기준 모델의 네트워크 스페이스 정보 또는 상기 기준 모델을 압축하기 위한 압축률 정보를 수신하는 송수신부; 및
    학습이 완료된 기준 모델에 대한 데이터, 상기 기준 모델의 네트워크 스페이스 정보 또는 상기 기준 모델을 압축하기 위한 압축률 정보에 기초하여 상기 기준 모델을 경량화하도록 구성된 프로세서;를 포함하되,
    상기 프로세서는,
    학습이 완료된 기준 모델에 대한 데이터를 획득하고, 상기 기준 모델의 네트워크 스페이스 정보 및 상기 기준 모델을 압축하기 위한 압축률 정보를 획득하고, 상기 기준 모델에 대한 데이터에 기초하여, 상기 기준 모델의 성능 지표 또는 상기 기준 모델의 기준 계산량을 포함하는 프로파일 정보를 획득하고,
    상기 압축률 정보 및 상기 기준 계산량에 기초하여 목표 계산량을 연산하고, 신경망 데이터베이스로부터 적어도 하나의 후보 신경망들을 포함하는 신경망 세트를 획득하고, 상기 후보 신경망의 구조에 기초하여 상기 후보 신경망의 후보 계산량을 연산하고, 상기 목표 계산량 및 상기 후보 계산량에 기초하여 상기 적어도 하나의 후보 신경망들 중에서 타겟 모델을 획득하도록 구성된,
    신경망 모델 경량화 장치.
KR1020210156728A 2021-11-15 2021-11-15 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템 KR102461997B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210156728A KR102461997B1 (ko) 2021-11-15 2021-11-15 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR1020220140604A KR20230071059A (ko) 2021-11-15 2022-10-27 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210156728A KR102461997B1 (ko) 2021-11-15 2021-11-15 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220140604A Division KR20230071059A (ko) 2021-11-15 2022-10-27 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템

Publications (1)

Publication Number Publication Date
KR102461997B1 true KR102461997B1 (ko) 2022-11-04

Family

ID=84045359

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210156728A KR102461997B1 (ko) 2021-11-15 2021-11-15 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR1020220140604A KR20230071059A (ko) 2021-11-15 2022-10-27 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220140604A KR20230071059A (ko) 2021-11-15 2022-10-27 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템

Country Status (1)

Country Link
KR (2) KR102461997B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102586869B1 (ko) * 2023-02-27 2023-10-10 주식회사 노타 인공지능 기반의 모델의 벤치마크 결과를 제공하기 위한 방법 및 디바이스
US12026078B1 (en) 2023-02-27 2024-07-02 Nota, Inc. Device and method for providing benchmark result of artificial intelligence based model

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132528A1 (en) * 2015-11-06 2017-05-11 Microsoft Technology Licensing, Llc Joint model training
US10229356B1 (en) * 2014-12-23 2019-03-12 Amazon Technologies, Inc. Error tolerant neural network model compression
KR20200052444A (ko) * 2018-10-30 2020-05-15 삼성전자주식회사 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들
KR20200063041A (ko) * 2018-11-27 2020-06-04 한국전자통신연구원 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법 및 장치
KR20200063970A (ko) * 2018-11-28 2020-06-05 한국전자통신연구원 신경망 재구성 방법 및 장치
KR20210045845A (ko) * 2019-10-17 2021-04-27 삼성전자주식회사 전자 장치 및 그 동작방법
US20210124881A1 (en) * 2019-10-24 2021-04-29 Beijing Xiaomi Intelligent Technology Co., Ltd. Neural network model compresesion method, corpus translation method and device
JP2021521505A (ja) * 2018-05-07 2021-08-26 グーグル エルエルシーGoogle LLC 包括的機械学習サービスを提供するアプリケーション開発プラットフォームおよびソフトウェア開発キット
WO2021195643A1 (en) * 2021-05-03 2021-09-30 Innopeak Technology, Inc. Pruning compression of convolutional neural networks

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10229356B1 (en) * 2014-12-23 2019-03-12 Amazon Technologies, Inc. Error tolerant neural network model compression
US20170132528A1 (en) * 2015-11-06 2017-05-11 Microsoft Technology Licensing, Llc Joint model training
JP2021521505A (ja) * 2018-05-07 2021-08-26 グーグル エルエルシーGoogle LLC 包括的機械学習サービスを提供するアプリケーション開発プラットフォームおよびソフトウェア開発キット
KR20200052444A (ko) * 2018-10-30 2020-05-15 삼성전자주식회사 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들
KR20200063041A (ko) * 2018-11-27 2020-06-04 한국전자통신연구원 아키텍처 변이 기반 비지도 학습 및 선택적 오류 전파 기반 지도 학습을 이용한 신경망 학습 방법 및 장치
KR20200063970A (ko) * 2018-11-28 2020-06-05 한국전자통신연구원 신경망 재구성 방법 및 장치
KR20210045845A (ko) * 2019-10-17 2021-04-27 삼성전자주식회사 전자 장치 및 그 동작방법
US20210124881A1 (en) * 2019-10-24 2021-04-29 Beijing Xiaomi Intelligent Technology Co., Ltd. Neural network model compresesion method, corpus translation method and device
WO2021195643A1 (en) * 2021-05-03 2021-09-30 Innopeak Technology, Inc. Pruning compression of convolutional neural networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102586869B1 (ko) * 2023-02-27 2023-10-10 주식회사 노타 인공지능 기반의 모델의 벤치마크 결과를 제공하기 위한 방법 및 디바이스
KR102601240B1 (ko) * 2023-02-27 2023-11-10 주식회사 노타 인공지능 기반의 모델의 벤치마크 결과를 제공하기 위한 방법 및 디바이스
JP7398072B1 (ja) 2023-02-27 2023-12-14 ノタ、インコーポレイテッド 人工知能基盤のモデルのベンチマーク結果を提供するための方法及びデバイス(device and method for providing benchmark result of artificial intelligence based model)
US12026078B1 (en) 2023-02-27 2024-07-02 Nota, Inc. Device and method for providing benchmark result of artificial intelligence based model

Also Published As

Publication number Publication date
KR20230071059A (ko) 2023-05-23

Similar Documents

Publication Publication Date Title
KR102461998B1 (ko) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
CN110929047B (zh) 关注邻居实体的知识图谱推理方法和装置
CN110163344B (zh) 神经网络训练方法、装置、设备和存储介质
US20180357541A1 (en) Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same
CN112765560B (zh) 设备健康状态评估方法、装置、终端设备和存储介质
JP2022519469A (ja) 画像品質評価方法及び装置
CN111612153A (zh) 训练模型的方法和装置
CN110969250A (zh) 一种神经网络训练方法及装置
CN110956202B (zh) 基于分布式学习的图像训练方法、系统、介质及智能设备
KR102461997B1 (ko) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
CN107508866A (zh) 减小移动设备端神经网络模型更新的传输消耗的方法
CN114330699A (zh) 神经网络结构搜索方法及装置
CN112513886A (zh) 信息处理方法、信息处理装置和信息处理程序
CN105894522A (zh) 一种多失真立体图像质量客观评价方法
US20220295311A1 (en) Network parameter configuration method and apparatus
CN113054651A (zh) 一种网络拓扑优化方法、装置以及系统
JP2021165962A (ja) 情報処理装置、学習方法、学習モデルおよびプログラム
CN110610140B (zh) 人脸识别模型的训练方法、装置、设备及可读存储介质
KR102445230B1 (ko) 태스크 모델 및 자연어 처리 모델의 학습 방법, 및 이를 수행하는 학습 장치
CN111539517A (zh) 基于图结构矩阵特征向量的图卷积神经网络生成方法
CN112308201A (zh) 神经网络量化方法、装置、芯片、电子设备及板卡
KR20230126631A (ko) 임베디드 장치에서 실행될 신경망 모델 최적화 방법, 신경망 모델 최적화 장치, 및 신경망 모델 최적화 시스템
WO2022252694A1 (zh) 神经网络优化方法及其装置
CN113297310B (zh) 一种物联网中区块链分片验证者选取的方法
KR20230126630A (ko) 임베디드 장치에서 실행될 신경망 모델 최적화 방법, 신경망 모델 최적화 장치, 및 신경망 모델 최적화 시스템

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant