KR20230038136A - 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템 - Google Patents

가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템 Download PDF

Info

Publication number
KR20230038136A
KR20230038136A KR1020227041865A KR20227041865A KR20230038136A KR 20230038136 A KR20230038136 A KR 20230038136A KR 1020227041865 A KR1020227041865 A KR 1020227041865A KR 20227041865 A KR20227041865 A KR 20227041865A KR 20230038136 A KR20230038136 A KR 20230038136A
Authority
KR
South Korea
Prior art keywords
neural network
backbone
knowledge distillation
student
teacher
Prior art date
Application number
KR1020227041865A
Other languages
English (en)
Other versions
KR102597184B1 (ko
Inventor
박한철
김태호
Original Assignee
주식회사 노타
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 노타 filed Critical 주식회사 노타
Publication of KR20230038136A publication Critical patent/KR20230038136A/ko
Application granted granted Critical
Publication of KR102597184B1 publication Critical patent/KR102597184B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Vaporization, Distillation, Condensation, Sublimation, And Cold Traps (AREA)

Abstract

가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템을 개시한다. 일실시예에 따른 지식 증류 방법은, 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하는 단계 및 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하는 단계를 포함할 수 있다. 이때, 지식 증류를 수행하는 단계는, 입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 단계를 포함할 수 있다.

Description

가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
아래의 설명은 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 그 시스템에 관한 것이다.
리소스 크기가 상대적으로 작은 온 디바이스(on-device, 일례로 스마트 폰, 지능형 소형 가전 기기 등)에 심층 신경망 모델을 적재하기 위해서는 모델 경량화가 필수적으로 수반된다. 경량화 기법 중 하나로 사용되는 신경망 가지치기(neural network pruning) 기법은 특정 태스크를 수행하는데 있어 신경망에 수반된 잉여 뉴런을 제거함으로써 모델의 크기를 줄이는 기법이다. 가지치기 기법은 일반적으로 각 뉴런의 중요도 점수를 측정하고, 주어진 기준(일례로, 중요도 점수의 임계치, 신경망 레이어 별 가지치기 비율 등)에 따라 중요도가 상대적으로 낮은 뉴런을 제거한 후, 손실된 성능을 복원하기 위한 재 학습의 순서로 진행된다.
신경망은 크게 입력된 샘플로부터 주어진 태스크(분류(classification), 객체 탐지(object detection), 이미지 객체 영역 분할(image segmentation) 등)를 수행하기 위한 자질정보(특징(features))를 추출하는 백본(backbone) 신경망과, 백본 신경망의 자질정보를 입력으로 하여 주어진 태스크를 수행하는 헤드(head) 신경망으로 구성되어 있다. 헤드 신경망에 대한 가지치기 방법은 태스크를 수행하기 위해 사용되는 알고리즘 또는 구조에 특화되어 있거나, 상대적인 연구 비중이 낮아 상황에 따라 가지치기 적용이 불가능한 경우가 많은 반면, 백본 신경망의 경우 알고리즘이 아닌 신경망 내부의 독립적인 레이어의 유형에 따라 상대적으로 다양한 방법들이 적용될 수 있어 일반적으로 가지치기 적용이 가능하다. 따라서 일반적으로 가지치기는 주로 백본 신경망을 주요 대상으로 한다.
한편, 지식 증류 방법은 일반화 성능이 좋은 교사 신경망(teacher neural network)의 지식(일례로, 신경망의 출력, 신경망 레이어들의 자질정보 등)을 추출하고, 상대적으로 일반화 성능이 낮은 학생 신경망(student neural network)이 해당 지식을 모방하게 하여 학생 신경망의 일반화 성능을 개선시키는 학습 방법론이다. 일반적으로 더 큰 크기의 신경망(over-parameterized neural network)의 일반화 성능이 작은 크기의 신경망보다 우수하기 때문에, 큰 신경망의 지식을 일반화 성능이 상대적으로 낮은 학생 신경망에 전달하여 큰 성능 저하 없이 모델을 경량화 시키는 과정에 사용될 수 있다. 특히 지식 증류 기법을 통해 학생 신경망의 일반화 성능을 목표 수준 이상으로 더 개선시킬 수 있다면, 개선된 정도만큼 성능 저하 현상이 수반되는 가지치기를 추가적으로 수행할 수 있으므로, 경량화의 정도를 더욱 개선시킬 수 있다.
가지치기 이후 지식 증류를 통한 성능 복원에 주로 일반적인 지식 증류 방법((예: 신경망의 출력, 신경망 레이어들의 자질정보를 이용)만이 사용되었으며, 가지치기 된 신경망이 교사 신경망의 행동을 더욱 모방할 수 있는 특화된 방법론들에 대해서는 논의가 부족한 상황이다.
가지치기 이후의 신경망 성능 복원을 위한 재 학습시 기존에 제안된 일반적인 지식 증류 방법이 아닌, 가지치기 된 신경망의 특징을 활용하여 교사 신경망의 행동을 더 다양하게 모방하여 성능 복원 정도를 개선시킬 수 있는 지식 증류 방법 및 시스템을 제공한다.
적어도 하나의 프로세서를 포함하는 컴퓨터 장치에 의해 수행되는 지식 증류 방법에 있어서, 상기 적어도 하나의 프로세서에 의해, 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하는 단계를 포함하고, 상기 지식 증류를 수행하는 단계는, 입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 단계를 포함하는 것을 특징으로 하는 지식 증류 방법을 제공한다.
일측에 따르면, 상기 가지치기를 수행하는 단계는, 상기 원본 신경망과 상기 지식 증류에 의해 생성된 학생 신경망이 동일한 헤드 신경망을 공유하고, 상기 학생 신경망의 각 레이어가 상기 원본 신경망의 레이어의 적어도 일부의 파라미터를 공유하도록 상기 백본 신경망에 대한 가지치기를 수행하는 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 자질정보를 증류하는 단계는, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 손실함수를 이용하여 상기 자질정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 자질정보를 증류하는 단계는, 상기 교사 백본 신경망의 출력을 변환 없이 상기 학생 백본 신경망에 전달하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 자질정보를 증류하는 단계는, 상기 원본 신경망의 중간 레이어에서의 출력을 제외한 상기 교사 백본 신경망의 최종 출력만을 상기 학생 백본 신경망에 전달하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류를 수행하는 단계는, 입력의 변화에 따른 상기 교사 백본 신경망의 출력의 변화량(gradient) 정보를 상기 학생 백본 신경망으로 증류하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 출력의 변화량 정보를 증류하는 단계는, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 손실함수를 이용하여 상기 변화량 정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 출력의 변화량 정보를 증류하는 단계는, 학습 데이터의 샘플 중에서 불확실성에 기반하여 선정된 샘플들의 집합을 입력받아, 상기 집합에 포함된 샘플에 대한 상기 교사 백본 신경망의 출력의 변화량 정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 불확실성에 기반하여 선정된 샘플들은 상기 학습 데이터의 샘플들 중 상기 원본 신경망의 태스크 손실함수의 값이 큰 r(상기 r은 실수)%의 샘플들을 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류를 수행하는 단계는, 학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행하는 단계는, 컷믹스 데이터 증강(CutMix data augmentation) 기법을 통해 불확실성이 임계값 이상인 샘플을 생성하여 상기 교사 백본 신경망과 상기 학생 백본 신경망간의 지식 증류를 수행하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류를 수행하는 단계는, 상기 학생 백본 신경망의 학습을 수행하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 학생 백본 신경망의 학습을 수행하는 단계는, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값과 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값간의 가중합으로 형성되는 백본 신경망에 대한 손실값이 수렴될 때까지, 상기 학생 백본 신경망을 학습하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류 방법은 상기 가지치기가 수행된 백본 신경망 및 상기 원본 신경망의 헤드 신경망을 포함하는 전체 신경망에 대한 지식 증류를 수행하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 전체 신경망에 대해 지식 증류를 수행하는 단계는, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값 및 태스크 손실함수의 제3 손실값간의 가중합으로 형성되는 전체 손실값이 수렴될 때까지, 상기 전체 신경망을 학습하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류 방법은 상기 지식 증류를 통해 학습이 완료된 학생 신경망에 대해서, 상기 학생 신경망의 헤드 신경망에 대한 가지치기가 가능한 경우, 상기 헤드 신경망에 대한 추가적인 가지치기를 수행하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 지식 증류 방법은 상기 헤드 신경망에 대한 추가적인 가지치기가 수행된 학생 신경망을 재학습하는 단계를 더 포함할 수 있다.
컴퓨터 장치와 결합되어 상기 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
상기 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체를 제공한다.
컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하고, 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하고, 상기 지식 증류를 수행하기 위해, 상기 적어도 하나의 프로세서에 의해, 입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질 및/또는 변화량 정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
가지치기 이후의 신경망 성능 복원을 위한 재 학습시 기존에 제안된 일반적인 지식 증류 방법이 아닌, 가지치기 된 신경망의 특징을 활용하여 교사 신경망의 행동을 더 다양하게 모방하여 성능 복원 정도를 개선시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따른 지식 증류 시스템의 내부 구성의 예를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 지식 증류 방법의 예를 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 있어서, 백본 신경망에 대한 지식 증류의 과정의 예를 도시한 흐름도이다.
도 5는 관측되지 않은 샘플에 대해서 학생 신경망이 교사가 표현하는 함수와 상이한 함수를 학습한 예를 도시한 그래프이다.
발명의 실시를 위한 최선의 형태
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시예들에 따른 딥러닝 모델 경량화 시스템은 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 딥러닝 모델 경량화 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 딥러닝 모델 경량화 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 컴퓨터 장치(Computer device, 100)는 도 1에 도시된 바와 같이, 메모리(Memory, 110), 프로세서(Processor, 120), 통신 인터페이스(Communication interface, 130) 그리고 입출력 인터페이스(I/O interface, 140)를 포함할 수 있다. 메모리(110)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(110)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(100)에 포함될 수도 있다. 또한, 메모리(110)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(110)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(110)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(130)를 통해 메모리(110)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(Network, 160)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(100)의 메모리(110)에 로딩될 수 있다.
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(110) 또는 통신 인터페이스(130)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어 프로세서(120)는 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(130)은 네트워크(160)를 통해 컴퓨터 장치(100)가 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(100)의 프로세서(120)가 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(130)의 제어에 따라 네트워크(160)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(160)를 거쳐 컴퓨터 장치(100)의 통신 인터페이스(130)를 통해 컴퓨터 장치(100)로 수신될 수 있다. 통신 인터페이스(130)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(120)나 메모리(110)로 전달될 수 있고, 파일 등은 컴퓨터 장치(100)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(140)는 입출력 장치(I/O device, 150)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(140)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(150)는 컴퓨터 장치(100)와 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 장치(100)는 도 1의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(100)는 상술한 입출력 장치(150) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
도 2는 본 발명의 일실시예에 따른 지식 증류 시스템의 내부 구성의 예를 도시한 블록도이고, 도 3은 본 발명의 일실시예에 따른 지식 증류 방법의 예를 도시한 흐름도이다. 또한, 도 4는 본 발명의 일실시예에 있어서, 백본 신경망에 대한 지식 증류의 과정의 예를 도시한 흐름도이다.
본 실시예에 따른 지식 증류 시스템(200)은 적어도 하나의 컴퓨터 장치(100)에 의해 구현될 수 있다. 도 2의 지식 증류 시스템(200)은 가지치기부(210), 지식 증류부(220) 및 재학습부(230)를 포함할 수 있다. 이때, 가지치기부(210), 지식 증류부(220) 및 재학습부(230)는 지식 증류 시스템(200)을 구현하는 컴퓨터 장치(100)의 프로세서(120)가 컴퓨터 프로그램의 제어에 따라 동작하는 기능의 기능적 표현(functional expression)일 수 있다. 일례로, 컴퓨터 장치(100)의 프로세서(120)는 메모리(110)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(120)는 컴퓨터 장치(100)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(100)가 도 3의 방법이 포함하는 단계들(310 내지 350)을 수행하도록 컴퓨터 장치(100)를 제어할 수 있다. 이때, 각 단계들(310 내지 350)의 수행을 위한 프로세서(120)의 기능적 표현으로서 가지치기부(210), 지식 증류부(220) 및 재학습부(230)가 사용될 수 있다.
단계(310)에서 가지치기부(210)는 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행할 수 있다. 이때 백본 신경망에 대한 가지치기 방식은 특정 방법에 국한되지 않고 다양한 방식이 사용될 수 있다. 일례로, 합성곱 신경망(convolutional neural network, CNN)을 백본 신경망으로 포함하는 신경망 모델의 경우, 백본 신경망의 각 레이어의 채널들을 제거하는 가지치기 방식을 사용하여 신경망 모델을 경량화 할 수 있다.
단계(320)에서 지식 증류부(220)는 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행할 수 있다. 일례로, 가지치기가 수행되지 않은 원본 백복 신경망을 교사 백본 신경망으로, 상기 교사 백본 신경망으로부터 가지치기가 수행된 경량화된 신경망을 학생 백본 신경망으로 설정할 수 있다.
이때, 교사 백본 신경망에 대한 가지치기의 수행 결과로 발생되는 학생 백본 신경망은 학생 신경망과 교사 신경망이 동일한 헤드 신경망을 공유하게 되는 특징 1과 학생 신경망의 각 레이어가 교사 신경망 레이어의 적어도 일부의 파라미터를 공유하는 특징 2를 포함할 수 있다. 다시 말해, 지식 증류부(220)는 교사 신경망(원본 신경망)과 학생 신경망(지식 증류에 의해 생성될 신경망)이 동일한 헤드 신경망을 공유하고, 학생 신경망의 각 레이어가 교사 신경망의 레이어의 적어도 일부의 파라미터를 공유하도록 백본 신경망에 대한 가지치기를 수행할 수 있다.
도 4를 참조하면, 도 4의 단계들(410 내지 440)이 백본 신경망에 대한 지식 증류를 위해 도 3의 단계(320)에 포함되어 지식 증류부(220)에 의해 수행될 수 있다.
단계(410)에서 지식 증류부(220)는 입력에 대한 교사 백본 신경망의 자질정보를 학생 백본 신경망으로 증류할 수 있다. 상술한 특징 1에 따라 학생 신경망과 교사 신경망은 동일한 헤드 신경망을 공유하기 때문에 학습 데이터에 대해서 학생 백본 신경망의 출력 표현이 교사 백본 신경망의 출력 표현과 일치할 경우 유사한 일반화 성능을 얻을 수 있다. 이를 위해서 지식 증류 시 두 신경망(학생 신경망 및 교사 신경망)의 백본 출력의 거리를 줄이는 손실함수가 아래 수학식 1과 같이 사용될 수 있다.
[수학식 1]
Figure pct00001
여기서 'o'는 입력에 대한 백본 신경망의 출력 자질정보(특징(features))를 의미할 수 있으며, 't' 및 's'는 각각 교사 신경망 및 학생 신경망에 대한 출력임을 의미할 수 있다. 일례로, "ot"는 교사 백본 신경망의 출력 자질정보를, "os"는 학생 백본 신경망의 출력 자질정보를 각각 의미할 수 있다. 또한, '||.||n'는 노름(norm)을 의미할 수 있다. 일례로, n이 2이면 유클리디안 노름(Euclidean norm)을 의미할 수 있다. 이러한 수학식 1은 거리 계산 함수의 하나의 예시일 뿐 이에 한정되는 것은 아니다.
종래의 지식 증류 방식은 교사 신경망과 학생 신경망간의 출력 차원이 다르기 때문에, 교사 신경망의 출력을 더 작은 차원으로 비선형 변환하여 전달함으로써, 정보 손실이 발생할 수 있으나, 본 실시예에 따른 지식 증류 방법에서는 교사 신경망의 출력(교사 백본 신경망의 출력)을 변환 없이 직접 학생 백본 신경망에 전달하는 방식으로 자질정보를 증류함으로써 가지치기가 수행된 학생 신경망이 교사 신경망의 행동을 더욱 유사하게 모방할 수 있다.
또한, 종래의 지식 증류 방식은 다수의 중간 레이어에서의 출력들도 함께 전달하였으나, 가지치기 된 신경망은 레이어의 표현 능력이 저하되기 때문에 이를 모두 수용하기 어려울 수 있으며, 결과적으로 중간 레이어에 대한 제약이 교사 신경망의 백본과 동일한 학생 신경망 백본 출력을 만들기 어려울 수 있다. 따라서 본 실시예에 따른 지식 증류 방법에서는 백본에 대한 최종 출력만 전달하여 중간 레이어의 결과에 대한 제약을 없애고 최대한 자유도를 높임으로써 중간 결과물에 관계없이 백본 신경망의 출력을 동일하게 할 수 있다. 이는 또한 가지치기가 수행된 학생 신경망이 교사 신경망의 행동을 더욱 유사하게 모방할 수 있게 도와줄 수 있다.
단계(420)에서 지식 증류부(220)는 입력의 변화에 따른 교사 백본 신경망의 출력의 변화량(gradient) 정보를 학생 백본 신경망으로 증류할 수 있다. 지식 증류는 학습 샘플들에 대해서만 진행되기 때문에 관측되지 않은 샘플에 대해서 학생 신경망은 교사 신경망이 표현하는 함수와 상이한 함수를 학습할 수 있다. 도 5는 관측되지 않은 샘플에 대해서 학생 신경망이 교사가 표현하는 함수와 상이한 함수를 학습한 예를 도시한 그래프이다.
지식 증류에 사용되지 않은 샘플들에 대해서도 교사와 동일한 출력이 유지될 수 있는 한 가지 방법으로 본 실시예에 따른 지식 증류 방법에서는 입력 변화에 따른 교사 백본 신경망의 출력 변화량(gradient)이 학생 백본 신경망에 대해서도 동일할 수 있도록 기울기 매칭(gradient matching)을 수행할 수 있다. 기울기 매칭이 수행되면 입력에 대한 작은 변화(학습 시 사용되지 않은 샘플)에 대해서 교사 신경망 및 학생 신경망이 거의 동일한 백본 출력을 가질 수 있어 가지치기가 수행된 학생 신경망이 교사 신경망의 행동을 더욱 유사하게 모방할 수 있게 도와줄 수 있다. 기울기 매칭은 두 신경망(학생 신경망 및 교사 신경망)의 파라미터가 유사할수록 더 쉽게 학습될 수 있다. 따라서, 두 신경망의 파라미터의 차이가 클수록 기울기 매칭이 특정 학습 기간내에 이뤄질 수 없다. 그러나, 특징 2에서 서술된 바와 같이, 본 실시예에 따른 지식 증류 방법에서는 학생 신경망의 각 레이어가 교사 신경망의 레이어의 일부 파라미터를 공유하기 때문에 가지치기가 수행된 학생 신경망은 파라미터를 공유하지 않은 신경망과 비교했을 때 동일한 학습 기간내에 기울기 매칭의 정도가 높아 질 수 있다.
기울기 매칭은 일례로 아래 수학식 2의 손실함수를 통해 수행될 수 있다.
[수학식 2]
Figure pct00002
여기서, 'o'는 입력에 대한 백본 신경망의 출력 자질정보(특징(features))를 의미할 수 있으며, 't' 및 's'는 각각 교사 신경망 및 학생 신경망에 대한 출력임을 의미할 수 있다. 일례로, "ot"는 교사 백본 신경망의 출력 자질정보를, "os"는 학생 백본 신경망의 출력 자질정보를 각각 의미할 수 있다. 또한, '||.||n'는 노름(norm)을 의미할 수 있다. 일례로, n이 2이면 유클리디안 노름(Euclidean norm)을 의미할 수 있다. 이러한 수학식 2 역시 거리 계산 함수의 하나의 예시일 뿐 이에 한정되는 것은 아니다.
데이터의 양이 증가하면 학습 시 기울기 매칭의 정도가 낮아지므로, 본 실시예에 따른 지식 증류 방법에서는 이를 해결하기 위해 불확실성이 높은 샘플에 대해서만 기울기 매칭을 수행하는 방식을 사용할 수 있다. 불확실성이 높은 샘플의 예시는 분류 문제에서 입력에 대한 클래스의 분포의 엔트로피가 낮아 확실하게 특정 클래스로 분류하지 못하는 케이스가 될 수 있다. 불확실성이 낮은 샘플의 경우 학생 신경망과 교사 신경망 모두 정답을 맞출 수 있도록 학습될 수 있으나, 불확실성이 높은 샘플은 그렇지 못할 수 있다. 따라서, 불확실성이 높은 샘플에 대해서 일반화 성능이 더 좋다고 알려진 교사 모델의 행동을 학생 모델이 모방하도록 하여 학생 모델의 성능을 개선할 수 있다. 보다 구체적인 예로, 학습 데이터에 대해서 교사 모델의 태스크 손실함수(일례로, 분류 문제를 위한 크로스 엔트로피(cross-entropy))의 값이 큰 r%의 학습 샘플이 불확실성이 높은 샘플의 예시가 될 수 있다. 본 실시예에 따른 지식 증류 방법에서는 불확실성이 높은 샘플에 대한 기울기 매칭을 위해 수학식 2 대신 아래 수학식 3을 사용할 수 있다.
[수학식 3]
Figure pct00003
여기서 "U"는 교사 신경망을 통해 불확실성이 높다고 판단된 샘플들의 집합을 의미할 수 있다. 일례로, 학습 데이터의 샘플 중 원본 신경망(교사 신경망)의 태스크 손실함수의 값이 임계값 이상인 샘플들이 집합 "U"에 포함될 수 있다.
단계(430)에서 지식 증류부(220)는 학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행할 수 있다. 앞서 설명한 바와 같이 지식 증류는 학습 샘플에 대해서만 진행되기 때문에 학습 샘플에서 관찰되지 않은 데이터에 대해서는 교사 신경망 모델과 다른 백본 출력을 생성할 수 있다. 여기서 학습 데이터(또는 학습 샘플)에서 관찰되지 않은 데이터는 교사 신경망 모델의 학습과 지식 증류시 모두 사용되지 않았던 데이터를 의미할 수 있다. 또한 기울기 매칭은 입력의 작은 변화에 대해서만 출력 일치성을 보장하기 때문에 큰 변화에 대해서는 여전히 출력이 일치하지 않을 수 있다. 이러한 문제를 해결하기 위해 본 실시예에 따른 지식 증류 방법에서는 컷믹스 데이터 증강(CutMix data augmentation) 기법을 통해 불확실성이 높은 샘플을 생성하여 교사 백본 신경망과 학생 백본 신경망간의 지식 증류를 진행할 수 있다. 이미 설명한 바와 같이 불확실성이 높은 샘플에 대해 교사 신경망의 우수한 처리 능력을 모방하는 것이 성능 개선에 크게 기여할 수 있기 때문에 본 실시예에 따른 지식 증류 방법에서는 관측되지 않은 데이터 생성시 상술한 컷믹스 데이터 증강을 사용할 수 있다.
컷믹스 데이터 증강 기법을 사용하기 위해 우선 신경망이 각 입력에 대한 클래스가 어떤 클래스와 혼동을 많이 하는지를 교사 신경망의 출력을 통해 확인할 수 있다. 이는 전혀 관계가 없는 클래스 간에서는 불확실성이 발생되기 어렵다는 점에서 샘플 사용의 효율성을 위해 수행될 수 있다. 이때, 컷믹스를 통해 혼동되는 클래스 사이의 일부 데이터를 섞을 수 있다. 예를 들어, 이미지 분류의 경우 고양이의 몸과 강아지의 머리에 해당하는 패치를 결합하여 객체 탐지의 경우 정답 바운딩 박스(bounding box)내에서 상기 예시와 같은 패치 결합을 수행함으로써 컷믹스가 수행될 수 있다.
단계(440)에서 지식 증류부(220)는 학생 백본 신경망의 학습을 수행할 수 있다. 학습 초기부터 헤드를 포함한 모든 신경망을 학습할 경우 헤드의 파라미터 값이 크게 변하여 백본 출력을 일치시키는 의미를 상실할 수 있다. 이를 위해 본 실시예에 따른 지식 증류 방법에서는 백본을 우선 학습시키는 방식을 사용할 수 있다. 학생 백본 신경망에 대한 학습은 학생 백본 신경망이 아래 수학식 4에 따라 수렴될 때까지 진행될 수 있다.
[수학식 4]
Figure pct00004
여기서, 'α'와 'β'는 각 손실함수에 대한 가중치일 수 있다. 다시 말해, 지식 증류부(220)는 교사 백본 신경망 및 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값(Lfeature) 및 교사 백본 신경망 및 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값(Lgrad)간의 가중합으로 형성되는 전체 손실(Lbackbonl)값이 수렴될 때까지, 학생 백본 신경망을 학습할 수 있다.
단계(330)에서 지식 증류부(220)는 가지치기가 수행된 백본 신경망 및 원본 신경망의 헤드 신경망을 포함하는 전체 신경망에 대한 지식 증류를 수행할 수 있다. 전술된 단계에서의 지식 증류를 통해, 학습 샘플 및 관측되지 않은 샘플에 대해서 학생 신경망의 백본으로부터의 자질정보가 교사 신경망의 자질정보와 거의 일치해졌다면, 학생 신경망의 헤드가 태스크를 더 잘 해결할 수 있도록 아래 수학식 5와 같이 태스크 손실함수를 추가하여 학습을 진행할 수 있다.
[수학식 5]
Figure pct00005
여기서, 'Ltast'는 주어진 태스크에 대한 손실함수(일례로, 분류 문제를 위한 크로스 엔트로피)일 수 있으며, 마찬가지로 'α', 'β', 'γ'는 각 손실함수에 대한 가중치일 수 있다. 이때, 'α', 'β'는 앞서 수학식 4의 가중치와 동일할 수도 있고, 동일하지 않을 수도 있다. 다시 말해, 지식 증류부(220)는 교사 백본 신경망 및 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값(Lfeature), 교사 백본 신경망 및 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값(Lgrad) 및 태스크 손실함수의 제3 손실값(Ltask)간의 가중합으로 형성되는 전체 손실값(Ltotal)이 수렴될 때까지, 전체 신경망을 학습할 수 있다.
단계(340)에서 가지치기부(210)는 학습이 완료된 학생 신경망에 대해서 헤드 신경망에 대한 가지치기가 가능한 경우, 추가적인 헤드 신경망 가지치기를 수행하여 추가적인 모델 압축을 수행할 수 있다.
단계(350)에서 재학습부(230)는 헤드 신경망 가지치기 이후 성능 복원을 위한 재학습을 수행할 수 있다. 이때 재학습 방식은 특정 학습 방식으로 제한되지 않고 다양한 학습 방식들 중 어느 하나 이상을 통해 수행될 수 있다.
이처럼, 본 발명의 실시예들에 따르면, 가지치기 이후의 신경망 성능 복원을 위한 재 학습시 기존에 제안된 일반적인 지식 증류 방법이 아닌, 가지치기 된 신경망의 특징을 활용하여 교사 신경망의 행동을 더 다양하게 모방하여 성능 복원 정도를 개선시킬 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
발명의 실시를 위한 형태
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 적어도 하나의 프로세서를 포함하는 컴퓨터 장치에 의해 수행되는 지식 증류 방법에 있어서,
    상기 적어도 하나의 프로세서에 의해, 경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하는 단계
    를 포함하고,
    상기 지식 증류를 수행하는 단계는,
    입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 단계
    를 포함하는 것
    을 특징으로 하는 지식 증류 방법.
  2. 제1항에 있어서,
    상기 가지치기를 수행하는 단계는,
    상기 원본 신경망과 상기 지식 증류에 의해 생성된 학생 신경망이 동일한 헤드 신경망을 공유하고, 상기 학생 신경망의 각 레이어가 상기 원본 신경망의 레이어의 적어도 일부의 파라미터를 공유하도록 상기 백본 신경망에 대한 가지치기를 수행하는 것을 특징으로 하는 지식 증류 방법.
  3. 제1항에 있어서,
    상기 자질정보를 증류하는 단계는,
    상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 손실함수를 이용하여 상기 자질정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 하는 지식 증류 방법.
  4. 제1항에 있어서,
    상기 자질정보를 증류하는 단계는,
    상기 교사 백본 신경망의 출력을 변환 없이 상기 학생 백본 신경망에 전달하는 것을 특징으로 하는 지식 증류 방법.
  5. 제1항에 있어서,
    상기 자질정보를 증류하는 단계는,
    상기 원본 신경망의 중간 레이어에서의 출력을 제외한 상기 교사 백본 신경망의 최종 출력만을 상기 학생 백본 신경망에 전달하는 것을 특징으로 하는 지식 증류 방법.
  6. 제1항에 있어서,
    상기 지식 증류를 수행하는 단계는,
    입력의 변화에 따른 상기 교사 백본 신경망의 출력의 변화량(gradient) 정보를 상기 학생 백본 신경망으로 증류하는 단계
    를 더 포함하는 것을 특징으로 하는 지식 증류 방법.
  7. 제6항에 있어서,
    상기 출력의 변화량 정보를 증류하는 단계는,
    상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 손실함수를 이용하여 상기 변화량 정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 하는 지식 증류 방법.
  8. 제6항에 있어서,
    상기 출력의 변화량 정보를 증류하는 단계는,
    학습 데이터의 샘플 중에서 불확실성에 기반하여 선정된 샘플들의 집합을 입력받아, 상기 집합에 포함된 샘플에 대한 상기 교사 백본 신경망의 출력의 변화량 정보를 상기 학생 백본 신경망으로 증류하는 것을 특징으로 하는 지식 증류 방법.
  9. 제8항에 있어서,
    상기 불확실성에 기반하여 선정된 샘플들은 상기 학습 데이터의 샘플들 중 상기 원본 신경망의 태스크 손실함수의 값이 큰 r(상기 r은 실수)%의 샘플들을 포함하는 것을 특징으로 하는 지식 증류 방법.
  10. 제1항에 있어서,
    상기 지식 증류를 수행하는 단계는,
    학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행하는 단계
    를 더 포함하는 것을 특징으로 하는 지식 증류 방법.
  11. 제10항에 있어서,
    상기 학습 데이터에서 관측되지 않은 데이터에 대한 지식 증류를 수행하는 단계는,
    컷믹스 데이터 증강(CutMix data augmentation) 기법을 통해 불확실성이 임계값 이상인 샘플을 생성하여 상기 교사 백본 신경망과 상기 학생 백본 신경망간의 지식 증류를 수행하는 것을 특징으로 하는 지식 증류 방법.
  12. 제1항에 있어서,
    상기 지식 증류를 수행하는 단계는,
    상기 학생 백본 신경망의 학습을 수행하는 단계
    를 더 포함하는 것을 특징으로 하는 지식 증류 방법.
  13. 제12항에 있어서,
    상기 학생 백본 신경망의 학습을 수행하는 단계는,
    상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값과 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값간의 가중합으로 형성되는 백본 신경망에 대한 손실값이 수렴될 때까지, 상기 학생 백본 신경망을 학습하는 것을 특징으로 하는 지식 증류 방법.
  14. 제1항에 있어서,
    상기 가지치기가 수행된 백본 신경망 및 상기 원본 신경망의 헤드 신경망을 포함하는 전체 신경망에 대한 지식 증류를 수행하는 단계
    를 더 포함하는 지식 증류 방법.
  15. 제14항에 있어서,
    상기 전체 신경망에 대해 지식 증류를 수행하는 단계는,
    상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력간의 거리를 줄이는 제1 손실함수의 제1 손실값, 상기 교사 백본 신경망 및 상기 학생 백본 신경망의 백본 출력의 기울기간의 거리를 줄이는 제2 손실함수의 제2 손실값 및 태스크 손실함수의 제3 손실값간의 가중합으로 형성되는 전체 손실값이 수렴될 때까지, 상기 전체 신경망을 학습하는 것을 특징으로 하는 지식 증류 방법.
  16. 제1항에 있어서,
    상기 지식 증류를 통해 학습이 완료된 학생 신경망에 대해서, 상기 학생 신경망의 헤드 신경망에 대한 가지치기가 가능한 경우, 상기 헤드 신경망에 대한 추가적인 가지치기를 수행하는 단계
    를 더 포함하는 지식 증류 방법.
  17. 제16항에 있어서,
    상기 헤드 신경망에 대한 추가적인 가지치기가 수행된 학생 신경망을 재학습하는 단계
    를 더 포함하는 지식 증류 방법.
  18. 컴퓨터 장치와 결합되어 제1항 내지 제17항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  19. 제1항 내지 제17항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체.
  20. 컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서에 의해,
    경량화를 위한 신경망 모델이 포함하는 백본 신경망에 대한 가지치기를 수행하고,
    가지치기가 수행된 백본 신경망에 대한 지식 증류를 수행하고,
    상기 지식 증류를 수행하기 위해, 상기 적어도 하나의 프로세서에 의해,
    입력에 대한 원본 신경망의 백본 신경망인 교사 백본 신경망의 자질정보를 상기 가지치기가 수행된 백본 신경망인 학생 백본 신경망으로 증류하는 것
    을 특징으로 하는 컴퓨터 장치.
KR1020227041865A 2021-08-30 2021-08-30 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템 KR102597184B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2021/011609 WO2023033194A1 (ko) 2021-08-30 2021-08-30 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20230038136A true KR20230038136A (ko) 2023-03-17
KR102597184B1 KR102597184B1 (ko) 2023-11-03

Family

ID=85412549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227041865A KR102597184B1 (ko) 2021-08-30 2021-08-30 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR102597184B1 (ko)
WO (1) WO2023033194A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117474914B (zh) * 2023-12-27 2024-04-12 湖南大学 一种基于轻量化神经网络的飞机蒙皮表面缺陷检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Nima Aghli et al., Combining Weight Pruning and Knowledge Distillation For CNN Compression, 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, 3185-3192pages (2021. 6. 19.)* *

Also Published As

Publication number Publication date
KR102597184B1 (ko) 2023-11-03
WO2023033194A1 (ko) 2023-03-09

Similar Documents

Publication Publication Date Title
US11620529B2 (en) Method of continual-learning of data sets and apparatus thereof
US9619749B2 (en) Neural network and method of neural network training
JP2020091922A (ja) 畳み込みニューラルネットワークにおける構造学習
CN109690576A (zh) 在多个机器学习任务上训练机器学习模型
KR20200022739A (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
CN113366494A (zh) 用于少样本无监督图像到图像转换的方法
KR20210032140A (ko) 뉴럴 네트워크에 대한 프루닝을 수행하는 방법 및 장치
KR102293791B1 (ko) 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
US11846513B2 (en) Method for defining a path
CN114139637B (zh) 多智能体信息融合方法、装置、电子设备及可读存储介质
US20180314963A1 (en) Domain-independent and scalable automated planning system using deep neural networks
CN110782043A (zh) 模型优化方法、装置、存储介质及服务器
US9436912B1 (en) Symmetric schema instantiation method for use in a case-based reasoning system
KR20220073088A (ko) 자원이 제약된 모바일 기기에서 동적 데이터 변환에 적응하기 위한 전문화된 경량 신경망 교체 방법 및 장치
KR20200100302A (ko) 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들
EP3855388A1 (en) Image processing device and operation method thereof
KR102597184B1 (ko) 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
KR20210069467A (ko) 뉴럴 네트워크의 학습 방법 및 장치와 뉴럴 네트워크를 이용한 인증 방법 및 장치
CN113625753A (zh) 一种由专家规则引导神经网络学习无人机机动飞行的方法
CN113052257A (zh) 一种基于视觉转换器的深度强化学习方法及装置
KR102644593B1 (ko) 지능형 디바이스 개발을 위한 ai 분화 기반의 하드웨어 정보에 최적의 지능형 소프트웨어 개발도구
KR20220166716A (ko) 퓨샷 모방을 위한 시연 조건부 보강 학습
CN114548297A (zh) 基于领域自适应的数据分类方法、装置、设备及介质
Galashov et al. Importance weighted policy learning and adaptation
Guo et al. A deep reinforcement learning approach for autonomous car racing

Legal Events

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