KR20210119298A - 적대적 지식 증류법으로 데이터 프리 네트워크 양자화 및 압축을 위한 방법 및 장치 - Google Patents

적대적 지식 증류법으로 데이터 프리 네트워크 양자화 및 압축을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210119298A
KR20210119298A KR1020210030747A KR20210030747A KR20210119298A KR 20210119298 A KR20210119298 A KR 20210119298A KR 1020210030747 A KR1020210030747 A KR 1020210030747A KR 20210030747 A KR20210030747 A KR 20210030747A KR 20210119298 A KR20210119298 A KR 20210119298A
Authority
KR
South Korea
Prior art keywords
output
generator
network
data
teacher
Prior art date
Application number
KR1020210030747A
Other languages
English (en)
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 KR20210119298A publication Critical patent/KR20210119298A/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/088Non-supervised learning, e.g. competitive learning
    • 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
    • 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/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

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

Abstract

방법 및 시스템이 제공된다. 방법은 생성기에서 랜덤 입력을 수신하는 단계, 생성기에서 수신된 랜덤 입력의 합성 출력을 생성하는 단계, 교사 네트워크에서 합성 출력을 수신하는 단계, 학생 네트워크에서 합성 출력을 수신하는 단계, 교사 네트워크의 출력과 학생 네트워크의 출력 사이의 최대 거리를 최소화하는 단계 및 생성기를 제한하는 단계를 포함한다.

Description

적대적 지식 증류법으로 데이터 프리 네트워크 양자화 및 압축을 위한 방법 및 장치{METHOD AND APPARATUS FOR DATA-FREE NETWORK QUANTIZATION AND COMPRESSION WITH ADVERSARIAL KNOWLEDGE DISTILLATION}
본 개시 내용은 일반적으로 지식 증류(knowledge distillation)법을 사용하는 신경망(neural network)에 관한 것이다.
심층 학습은 현재 다양한 컴퓨터 비전 작업에서 많은 성능 혁신을 주도하고 있다. 심층 학습의 최첨단 성능은 초과 매개 변수화된 심층 신경망과 함께 제공되어 매우 큰 데이터세트에 대해 학습될 때 대상 작업에 대해 데이터의 유용한 표현(특징)을 자동으로 추출할 수 있다.
확률적 경사 하강법에 의한 심층 신경망의 최적화 프레임워크는 그래픽 처리 장치(GPU)와 같은 매트릭스/텐서 계산에 특화된 하드웨어 장치를 사용하여, 최근 역 전파 기술로 매우 빠르고 효율적이 되었다. 초과 매개 변수화의 이점은 심층 학습의 큰 성공의 핵심 요소인 것으로 경험적으로 나타났지만, 일단 잘 학습된 고정밀의 모델이 발견되면 다양한 추론 플랫폼에 대한 배포에는 다양한 요구 사항과 과제에 직면하게 된다.
특히 모바일 또는 에지 장치와 같은 리소스가 제한된 플랫폼에 사전 학습된 모델을 배포하려면, 계산 비용과 메모리 요구 사항은 효율적인 추론을 위해 신중하게 고려할 필요가 있는 중요한 요소가 된다. 따라서 네트워크 압축이라고도 하는, 모델 압축은 효율적인 추론 모델 개발을 위한 중요한 절차이다.
본 발명이 해결하고자 하는 과제는 오리지널 학습 데이터의 손실에 액세스할 수 없는 경우, 적대적 학습을 통해 최악의 경우(최대 손실)에 대한 가능한 손실을 최소화하는 방법 및 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
일 실시 예에 따르면, 방법은 생성기에서 랜덤 입력을 수신하는 단계, 상기 생성기에서 상기 수신된 랜덤 입력의 합성 출력을 생성하는 단계, 교사 네트워크에서 상기 합성 출력을 수신하는 단계, 학생 네트워크에서 상기 합성 출력을 수신하는 단계; 상기 교사 네트워크의 출력과 상기 학생 네트워크의 출력 사이의 최대 거리를 최소화하는 단계, 및 상기 생성기를 제한하는 단계를 포함한다.
일 실시 예에 따르면, 시스템은 메모리, 및 생성기에서 랜덤 입력을 수신하고, 상기 생성기에서 상기 수신된 랜덤 입력의 합성 출력을 생성하고, 교사 네트워크에서 상기 합성 출력을 수신하고, 학생 네트워크에서 상기 합성 출력을 수신하고, 상기 교사 네트워크의 출력과 상기 학생 네트워크의 출력 사이의 최대 거리를 최소화하고, 상기 생성기를 제한하도록 구성된 프로세서를 포함한다.
본 개시 내용의 특정 실시 예의 상기 및 다른 측면, 특징 및 이점은 첨부 도면과 함께 취해진 다음의 상세한 설명으로부터 더 명백해질 것이다.
도 1은 일 실시 예에 따른, 데이터 프리 적대적 KD 네트워크(data-free adversrial KD network)을 도시하는 도면이다.
도 2a는 일 실시 예에 따른, 데이터 프리 적대적 지식 증류법(data-free adversarial knowledge distillation )을 도시하는 흐름도이다.
도 2b는 일 실시 예에 따른, 데이터 프리 적대적 지식 증류법의 알고리즘을 도시한 도면이다.
도 3은 일 실시 예에 따른, 데이터 프리 적대적 KD 네트워크를 도시하는 도면이다.
도 4는 일 실시 예에 따른 네트워크 환경에서 전자 장치를 도시하는 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명한다. 동일한 구성 요소는 서로 다른 도면에 도시되어 있지만 동일한 참조 번호로 지정될 것임을 유의해야 한다. 이하의 설명에서, 상세한 구성 및 구성 요소와 같은 특정 세부 사항은 단지 본 개시의 실시 예의 전반적인 이해를 돕기 위해 제공된다. 따라서, 본 발명의 범위를 벗어나지 않고 본 명세서에서 설명된 실시 예의 다양한 변경 및 수정이 이루어질 수 있음은 당업자에게 자명할 것이다. 또한, 잘 알려진 기능 및 구성에 대한 설명은 명확성과 간결성을 위해 생략되었다. 이하에서 설명하는 용어는 본 발명의 기능을 고려하여 정의된 용어로, 사용자, 사용자의 의도 또는 관습에 따라 다를 수 있다. 따라서 용어의 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 개시는 다양한 변형 및 다양한 실시 예를 가질 수 있으며, 그 중 실시 예는 첨부된 도면을 참조하여 상세하게 후술된다. 그러나, 본 개시는 실시 예들에 제한되지 않고, 본 개시의 범위 내에서 모든 수정, 등가물 및 대안을 포함한다는 것을 이해해야 한다.
제 1, 제 2 등의 서수를 포함하는 용어는 다양한 요소를 설명하기 위해 사용될 수 있지만, 구조적 요소는 용어에 의해 제한되지 않는다. 이 용어는 한 요소를 다른 요소와 구별하는 데만 사용된다. 예를 들어, 본 개시 내용의 범위를 벗어나지 않는 한, 제 1 구조적 요소는 제 2 구조적 요소로 지칭될 수 있다. 유사하게, 제 2 구조적 요소는 또한 제 1 구조적 요소로 지칭될 수 있다. 본 명세서에서 사용되는 용어 "및/또는"은 하나 이상의 관련 항목의 임의의 및 모든 조합을 포함한다.
본 명세서에서 사용되는 용어는 본 발명의 다양한 실시 예를 설명하기 위해 사용된 것일뿐 본 발명을 제한하려는 의도는 아니다. 단수형은 문맥에서 달리 명시하지 않는한 복수형을 포함한다. 본 명세서에서 "포함하다" 또는 "갖는다"라는 용어는 특징, 번호, 단계, 동작, 구조적 요소, 부분 또는 이들의 조합의 존재를 나타내며, 하나 이상의 다른 특징, 숫자, 단계, 작업, 구조적 요소, 부품 또는 이들의 조합이 추가된 존재 또는 가능성을 배제하지 않는다.
다르게 정의되지 않는 한, 본 명세서에서 사용되는 모든 용어는 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에서 정의된 용어와 같은 용어는 해당 분야의 문맥상의 의미와 동일한 의미로 해석되어야 하며, 본 명세서에서 명확하게 정의되지 않는한 이상적이거나 지나치게 형식적인 의미로 해석되어서는 안된다.
일 실시 예에 따른 전자 장치는 다양한 유형의 전자 장치 중 하나일 수 있다. 전자 장치는, 예를 들어, 휴대용 통신 장치 (예를 들어, 스마트 폰), 컴퓨터, 휴대용 멀티미디어 장치, 휴대용 의료 장치, 카메라, 웨어러블 장치 또는 가전 제품을 포함할 수 있다. 본 개시의 일 실시 예에 따르면, 전자 장치는 상술한 것에 한정되지 않는다.
본 명세서에서 사용되는 용어는 본 발명을 한정하려는 의도가 아니라 해당 실시 예에 대한 다양한 변경, 등가물 또는 대체물을 포함하고자 하는 것이다. 첨부된 도면의 설명과 관련하여, 유사하거나 관련된 요소를 지칭하기 위해 유사한 참조 번호가 사용될 수 있다. 항목에 해당하는 명사의 단수 형태는 관련 문맥에서 달리 명시하지 않는 한, 하나 이상의 사물을 포함할 수 있다. 본 명세서에 사용된 바와 같이, "A 또는 B", "A 및 B 중 하나 이상", "A 또는 B 중 하나 이상", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B 또는 C 중 적어도 하나"와 같은 각 문구는 해당 문구 중 하나에 함께 열거된 항목의 가능한 모든 조합을 포함할 수 있다.
본 명세서에서 사용되는 바와 같이, "제 1", "제 2", "첫 번째" 및 "두 번째"와 같은 용어는 해당 구성 요소를 다른 구성 요소와 구별하기 위해 사용될 수 있지만 다른 측면(예를 들어, 중요도 또는 주문)에서 구성 요소를 제한하려는 의도는 없다. 요소(예를 들어, 제 1 요소)가 "작동적으로" 또는 "연통적으로"라는 용어의 유무에 관계없이, 다른 요소에 대해 "에 결합된", "에 연결된", "와 연결된" 또는 "와 연결된" 것으로 지칭되는 경우, 이는 요소가 다른 요소와 직접(예를 들어, 유선), 무선으로 또는 제 3 요소를 통해 결합될 수 있음을 나타낸다.
본 명세서에서 사용되는 바와 같이, "모듈"이라는 용어는 하드웨어, 소프트웨어 또는 펌웨어로 구현된 단위를 포함할 수 있으며, 예를 들어 "로직", "로직 블록", "부" 및 "회로"와 같은 다른 용어와 상호 교환적으로 사용될 수 있다. 모듈은 하나 이상의 기능을 수행하도록 구성된 단일 통합 구성 요소 또는 최소 단위 또는 그 일부일 수 있다. 예를 들어, 일 실시 예에 따르면, 모듈은 주문형 집적 회로(ASIC)의 형태로 구현될 수 있다.
모델 압축은 보다 효율적인 아키텍처의 네트워크에 대해 가중치 프루닝(weight pruning), 네트워크 양자화 및 증류법과 같은 다양한 방법을 포함한다. 가중치 프루닝 및 네트워크 양자화는 네트워크 아키텍처를 변경하지 않고도 컴퓨팅 비용과 스토리지/메모리 크기를 줄인다. 가중치 프루닝은 중복 가중치를 0으로 설정하여 이를 완전히 제거함으로써 모델을 압축하고, 이로 인해 프루닝된 가중치에 대한 계산과 기억을 건너뛸 수 있다.
네트워크 양자화는 양자화를 통해 가중치 및 활성화를 위한 메모리 공간을 줄이고 일반적으로 압축을 위한 무손실 소스 코딩이 이어진다. 또한 컨볼루션 계층과 완전 연결 계층은 8 비트 고정 소수점 연산과 같은 저 정밀 고정 소수점 연산으로 구현되어, 지연 시간을 줄이고 전력 효율성을 높일 수 있다. 반면에 네트워크 아키텍처는 대상 플랫폼에서 구현하기가 더 간단하고 쉽도록 수정할 수 있다. 예를 들어, 계층 수 및/또는 각 계층의 채널 수를 줄일 수 있다. 기존의 공간 영역 컨볼루션은 MobileNet에서와 같이 보다 효율적인 깊이방향 분리 가능한 컨볼루션(depth-wise separable convolution)으로 대체될 수 있다.
지식 증류법(KD)은 대규모 사전 학습된 "교사" 모델의 지도하에 소규모 "학생" 네트워크를 학습시키기 위한 지식 전달 프레임워크이다. 기존 모델 압축 접근 방식(KD 포함)에서의 한 가지 문제는 이들이 압축 절차 중에 원본 학습 데이터가 액세스 가능하다는 강력한 가정하에서 개발되었다는 것이다.
데이터세트가 커질수록, 데이터세트 배포는 더 비싸고 어려워진다. 또한, 데이터 개인 정보 보호 및 보안이 심층 학습의 주요 관심사 중 하나로 부상했으며, 보안 및 개인 정보 보호와 관련된 규정 및 규정 준수 요건은 의료 및 생체 메트릭 데이터의 경우에서와 같이, 오리지널 모델 트레이너에 의한 데이터 공유와 모델 컴프레서에 의한 데이터 수집을 복잡하게 만든다. 따라서 원본 또는 대체 데이터 세트에 액세스하지 않고 사전 학습된 모델을 압축해야 할 필요성이 있다.
본 시스템 및 방법은 오리지널 학습 데이터의 손실에 액세스할 수 없는 경우, 적대적 학습을 통해 최악의 경우(최대 손실)에 대한 가능한 손실을 최소화하는, 적대적 지식 증류 프레임워크를 포함한다. 메타데이터가 주어지면, 시스템과 방법은 이를 활용하여 생성기가 적대적 학습 프레임워크에서 최소화할 수 있는 보조 손실을 제공한다. 공유할 새로운 메타데이터를 만드는 추가 노력을 피하기 위해, 배치(batch) 정규화 계층에 저장된 통계값을 사용하여 생성기를 제한하여 원본 학습 데이터를 모방한 합성 샘플을 생성한다. 시스템 및 방법은 다중 생성기를 사용하여 다양한 합성 샘플을 사용한다. 시스템과 방법은 또한 여러 학생에 대해 동시에 적대적인 KD를 수행할 수 있다.
데이터 프리 적대적 지식 증류(data-free adversarial knowledge distillation)를 위한 시스템 및 방법은 교사와 학생 출력 사이의 Kullback-Leibler(KL) 발산의 최대치를 최소화할 수 있다. 생성기가 적대적 이미지를 생성하도록 학습하는 최대화 단계에서, 시스템 및 방법은 교사의 배치 정규화 계층으로부터의 통계값을 일치(match)시키고, 각 샘플의 출력 범주 분포(소프트맥스(softmax) 출력)에 대해 작은 엔트로피를 권장하고, 각 배치에 대해 평균화된 출력 범주 분포(소프트맥스 출력)에 대해 큰 엔트로피를 권장하여 생성기가 원본 데이터와 유사한 합성 이미지를 생성하도록 제한한다. 시스템 및 방법은 두 가우스 분포의 KL 발산을 사용하여 입력된 배치 정규화 계층의 평균과 분산을 일치시킨다. KD의 최소화 단계에서, 중간 계층 출력은 교사와 학생 소프트맥스 출력 간의 KL 발산을 최소화하는 것 외에도 선택적으로 일치시킬 수 있다.
본 시스템 및 방법은 적대적 지식 증류법에서 다양한 합성 이미지를 생성하기 위해 다중 생성기와 다중 학생을 사용하며, 학생이 양자화된 교사가 되도록 하여 적대적 지식 증류법으로 데이터 프리 네트워크 양자화를 수행하며, 학생이 더 작은 크기의 네트워크가 되도록 하여 적대적 지식 증류법으로 데이터 프리 네트워크 압축을 수행한다.
랜덤 메타데이터가 주어지면, 시스템 및 방법은 이를 활용하여 생성기가 적대적 학습 프레임워크에서 충족할 추가의 제약 조건을 제공한다. 공유할 새로운 메타데이터를 작성하려는 추가 노력을 피하기 위해서, 시스템과 방법은 배치 정규화 계층에 저장된 통계값을 사용하여 원본 학습 데이터를 모방하는 합성 샘플을 생성하도록 생성기를 학습시킨다. 생성기에 대해 보조 손실을 추가하면 시스템 및 방법이 생성기를 제한하여 교사에서 원본 데이터와 유사한 통계값을 산출하는 합성 이미지를 생성하고, 이는 미니맥스(minmax) 최적화가 원본 데이터와 매우 다른 적대적 샘플을 피하는 데 도움이 되며 더 나은 증류 성능으로 이어지게 한다 (원본 데이터 세트에 가깝지 않은 "나쁜" 예제에 대한 모델의 피팅으로 인한 손실을 감소시킴).
시스템 및 방법은 생성기를 제한하기 위해 배치 정규화 통계값을 사용한다. 또한, 평균과 분산을 일치시키기 위해서, 시스템 및 방법은 척도 (즉, 표준 편차)로 정규화된 거리 측정치인 두 가우스 분포의 KL 발산을 사용한다.
로버스트 최적화는 최적화 문제에서 데이터 불확실성을 해결하는 최적화의 하위 분야이다. 이 프레임워크에서, 목적 및 제약의 기능은 "불확실성 세트"라고 하는 특정 세트에 속하는 것으로 가정된다. 목표는 제약 조건이 무엇이든 실행 가능하고, 최악의 경우의 목적 기능에 최적인 결정을 내리는 것이다. 데이터가 제공되지 않으면, 데이터 프리 KD의 문제는 로버스트 최적화 문제로 표현되는 반면, 불확실성 세트는 그 배치 정규화 계층에서 통계값을 사용하여 사전 학습된 교사를 기반으로 제한될 수 있다.
사전 학습된 모델을 속이는 합성 데이터를 생성하는 것은 적대적 공격의 문제와 밀접한 관련이 있다. 적대적 공격에는 두 가지 접근 방식이 있다. 첫째, 이미지 영역에서 직접 적대적 이미지를 생성하고 두 번째는 생성기를 사용하여 적대적 이미지를 생성하는 것이다.
일련의 컨볼루션 계층을 포함하는 생성기 네트워크는 이전과 같이 이미지 생성을 위해 부과될 수 있는 정규화기로 사용될 수 있다. 따라서 생성기 없이 합성 이미지를 얻기 위해 사용되는 이전 정규화를 추가하는 대신 생성기가 사용된다.
적대적 학습은 생산적 적대 신경망(GAN)에서 사용된다. 모드 붕괴는 GAN에서 잘 알려진 문제 중 하나이다. 모드 붕괴를 극복하는 간단하지만 효과적인 방법은 다중 생성기 및/또는 다중 판별자를 도입하는 것이다. 여러 생성기 및/또는 여러 학생 (학생이 판별자 역할을 할 수 있음)을 사용하면 다양한 샘플을 생성하고 데이터 프리 KD 네트워크에서의 과잉 적합을 방지하는 데 도움이 된다.
도 1은 일 실시 예에 따른 데이터 프리 적대적 KD 네트워크를 도시하는 도면이다. 네트워크(100)는 생성기(102), 학생(104) 및 교사(106)를 포함한다. 교사(106)는 컨볼루션 층(110), 배치 정규화 층(112), 정류된 선형 유닛(ReLU)층(114) 및 소프트맥스 층(116)을 포함한다. 네트워크는 교사(106)와 학생(104) 출력 사이의 KL 발산의 최대치를 최소화한다. 생성기(102)가 적대적 이미지를 생성하도록 학습시키기 위한 최대화 단계에서, 생성기(102)는 교사(106)의 배치 정규화 층(112)으로부터의 통계값을 일치시킴으로써 원본 데이터와 유사한 합성 이미지를 생성하도록 제한된다.
도 2a는 일 실시 예에 따른 데이터 프리 적대적 지식 증류법을 도시하는 흐름도(200)이다. 도 2b는 일 실시 예에 따른, 데이터 프리 적대적 지식 증류법의 알고리즘을 도시한 도면이다.
도 2a를 참조하면, 202에서 시스템은 생성기에서 랜덤 입력을 수신한다. 204에서 시스템은 생성기를 사용하여 수신된 랜덤 입력의 합성 출력을 생성한다. 합성 출력은 교사를 학습시키기 위해 사용된 원본 데이터와 유사할 수 있다. 206에서 시스템은 교사 네트워크와 학생 네트워크에서 합성 출력을 수신한다. 208에서 시스템은 교사 네트워크의 출력과 학생 네트워크의 출력 사이의 최대 거리를 최소화한다. 거리는 KL 발산일 수 있다. 210에서 시스템은 생성기를 제한한다. 생성기는 적어도 하나의 배치 정규화 계층의 평균 및 분산을 일치시킴으로써 제한될 수 있다.
KD 데이터 프리 모델 압축이 이하 설명된다.
Figure pat00001
는 분류를 위한 일반 비선형 신경망으로, 레이블 집합 C에 대한 입력 x의 레이블 y에 대해 범주적 확률 분포
Figure pat00002
를 산출하도록 설계된다 (즉,
Figure pat00003
). y는 입력 x에 대해 집합 C에 대한 원-핫(one-hot) 인코딩된 실측 레이블 y이다. 네트워크
Figure pat00004
는 다음 수학식 1에서와 같이 확률 분포 p(x, y)의, 학습 데이터 세트라고 하는, 레이블 지정 데이터세트로 사전 학습된다.
Figure pat00005
여기서
Figure pat00006
는 실제로 학습 데이터 세트에 대한 경험적 기대 값이고, D는 Kullback-Leibler(KL) 발산을 나타낸다. KL 발산의 최소치는 분포 p(x, y)가 주어지면 교차 엔트로피의 최소치와 동일하다.
"학생"이라고 하는 또 다른 신경망
Figure pat00007
는 "교사"라고 하는 사전 학습된 네트워크
Figure pat00008
보다 작고 덜 복잡할 수 있다. 학생은 또한 입력 x에 대한 범주형 확률 분포의 추정치를 생성하므로,
Figure pat00009
이 된다. KD는 수학식 2에서와 같이 학생을 최적화할 것을 제안한다:
Figure pat00010
여기서
Figure pat00011
이다. 온도 매개 변수는 단순화를 위해 생략되었으며, 수학식 2의 제 2 KL 발산 항에서,
Figure pat00012
Figure pat00013
에 대한 소프트맥스 이전에 적용될 수 있다.
수학식 2에서 볼 수 있듯이, 원본 KD는 p(x, y)에 대한 기대치에 대해 학습 데이터 세트가 주어진다는 가정하에 개발되었다. 그러나 대용량 데이터 세트를 공유하는 것은 비용이 많이 들고 개인 정보 보호 및 보안 문제로 인해 불가능한 경우도 있다. 따라서 학습 데이터 세트에 접근 가능하지 않고 사전 학습된 교사만 제공되는 상황에서 KD의 방법을 고안하는 것이 흥미롭다.
로버스트 최적화는 최적화를 위한 학습 데이터 세트가 제공되지 않을 때 생기는 상황과 유사한, 데이터 불확실성 하에서 적대적 학습을 통해 최악의 시나리오(최대 손실)에 대한 가능한 손실을 최소화할 것을 제안한다. KD에서 로버스트 미니-맥스 최적화 (적대적 학습이라고 함)를 채택하기 위해서, KD에 대한 입력에 대한 합성 적대적 데이터를 생성하는 데 사용되는 생성기 네트워크
Figure pat00014
가 도입된다. 그런 다음 미니맥스 접근 방식을 사용하여 데이터 프리 적대적 KD는 다음 수학식 3에 의해 제공된다:
Figure pat00015
α ≥0인 경우,
Figure pat00016
는 사전 학습된 교사가 생성기 출력을 기반으로 제공할 수 있는 생성기에 대한 추가 또는 보조 손실이다. 수학식 3에서
Figure pat00017
는 202 단계에 해당하고,
Figure pat00018
Figure pat00019
는 206 단계에 해당하고, 미니맥스 연산은 단계 208에 해당하며,
Figure pat00020
는 단계 210에 해당한다. 수학식 2와 수학식 1을 비교하면, 지상 실측 정보 라벨과 관련된 제 1 KL 발산 항은 수학식 4에서와 같이, 생략된다.
Figure pat00021
Figure pat00022
이도록 학습 데이터를 정확하게 모방하도록 최적화된 생성기
Figure pat00023
가 있는 경우, 수학식 4는 수학식 5가 된다:
Figure pat00024
그러나, 원본 학습 데이터에 액세스할 수 없으며, 최적의 생성기
Figure pat00025
는 구할 수 없다. 대신에,
Figure pat00026
Figure pat00027
의 상한은 수학식 3의 미니맥스 문제를 해결하여 최소화되어, 생성기가 원본 학습 데이터와 유사한 데이터를 생성할 수 있도록 생성기에 보조 손실
Figure pat00028
를 갖는 제약 조건을 제공한다.
다음의 세 가지 보조 손실 항은 생성기가 가능한 한 교사에 기초한 원본 데이터와 유사한 "양호한" 적대적 샘플을 생성하도록 하기 위해 수학식 3의 최대화 단계에서 생성기에 대해 고려된다. 제 1 항은 배치 정규화 통계값을 포함한다. 배치 정규화 계층은 계층 입력의 평균과 분산을 포함하며, 생성기 출력이 원본 학습 데이터와 유사한지 확인하기 위한 프록시로 사용될 수 있다. 두 가우스 분포의 KL 발산은 배치 정규화 계층(원본 데이터에서 얻은)에 저장된 평균 및 분산과 생성기 출력으로 얻은 경험적 통계값을 일치시키는 데 사용될 수 있다.
또 다른 보조 손실 항은 인스턴스 범주형 엔트로피를 포함한다. 교사가 정확한 분류를 위해 충분히 잘 학습된 경우, 생성기 출력은 교사의 범주별 분포 출력(즉, 소프트맥스 출력)이 적은 엔트로피를 산출할 때만 (하나의 범주에 대한 확률이 높아야 하고; 하나의 범주가 확률이 1인 경우 엔트로피가 0으로 최소화됨) 관심이 있다. 즉, 샘플링된 각 z에 대한
Figure pat00029
에 대해 작은 엔트로피가 필요하다.
제 3 보조 손실 항은 배치 범주형 엔트로피를 포함한다. 각 클래스가 비슷한 확률로 데이터세트에 나타난다고 가정하면, 배치에 대해 평균화된 범주형 확률 분포는 엔트로피가
Figure pat00030
로 최대화되는 균일한 분포의 경향을 가져야 한다. 즉,
Figure pat00031
에는 높은 엔트로피가 필요하다.
Figure pat00032
Figure pat00033
은 채널 c에 대한 배치 정규화 계층 l에 저장된 평균 및 분산을 나타낸다.
Figure pat00034
Figure pat00035
은 생성기
Figure pat00036
로부터 합성 샘플에 대해 계산되는 대응 평균 및 분산이다. 생성기에 대한 보조 손실
Figure pat00037
은 수학식 6으로 주어진다:
Figure pat00038
여기서 H는 엔트로피이고
Figure pat00039
는 두 가우시안 분포의 KL 발산이고, 이는 수학식 7로 나타낼 수 있다.
Figure pat00040
수학식 3에서
Figure pat00041
인 경우, 이 계획은 적대적인 믿음의 일치로 축소된다. 보조 손실을 추가하면 생성기는 제한되므로 교사에서 원본 데이터와 유사한 통계값을 산출하는 합성 이미지를 생성하고, 이는 미니맥스 최적화가 원본 데이터와 매우 다른 적대적 샘플을 피하는 데 도움이 되며 더 나은 증류 성능으로 이어지게 한다. 시스템 및 방법은 배치 정규화 통계값을 활용하여 생성기를 제한한다. 평균과 분산을 일치시키기 위해, 두 가우스 분포의 KL 발산이 사용되며, 이는 척도에 의해 정규화된거리 측정치이다.
시스템 및 방법은 생성된 샘플의 다양성을 증가시키기 위해 데이터 프리 KD 프레임워크에서 다중 생성기를 학습시킨다. 여러 판별기를 사용하면 GAN에서 모드 붕괴 문제를 줄일 수 있다. 교사와 학생 간의 평균 KL 발산 차이는 미니맥스 최적화에서 최대화된다. 평균을 취하면 확률적 경사 하강법을 사용하는 미니맥스 최적화의 노이즈를 줄일뿐만 아니라, 생성기를 조정하여 평균적으로 모든 학생과 신통치 않게 일치하는 양호한 적대적 샘플을 생성한다. 여러 생성기와 여러 학생이 있는 최종 목표는 다음 수학식 8에 의해 제공된다.
Figure pat00042
여기서
Figure pat00043
는 i번째 학생이고,
Figure pat00044
는 j 번째 생성기이고 이때
Figure pat00045
Figure pat00046
이다.
워밍업 단계에서, 생성기는 보조 손실을 최소화하도록 학습되어 그 출력은 교사에게 공급될 때 배치 정규화 통계 및 엔트로피 제약 조건과 일치한다. 이 사전 학습 절차는 데이터 프리 KD의 초기 단계에서 신뢰할 수 없는 샘플 생성을 줄인다. 또한 생성기 보다 학생을 더 자주 업데이트하면 미니맥스 최적화에서 로컬 최대 값으로 떨어질 가능성이 줄어든다. 최소화 단계에서, 중간 계층 출력을 추가로 일치시킬 수 있다. 데이터 프리 네트워크 양자화는 학생이 교사의 양자화된 버전이 되도록 하여 구현된다. 이러한 알고리즘은 도 2b와 같이 정리될 수 있다.
도 3은 일 실시 예에 따른 데이터 프리 적대적 KD 네트워크를 도시하는 도면이다.
네트워크(300)는 생성기(302), 학생 백본 네트워크(304), 제 1 교사 백본 네트워크(306) 및 제 2 교사 백본 네트워크(308)를 포함한다. 네트워크(300)는 또한 판별기(310), 제 1 소프트맥스 층(314)을 갖는 제 1 완전 연결 층(312), 및 제 2 소프트맥스 층(318)을 갖는 제 2 완전 연결 층(316)을 포함한다.
대안적인 실시 예로서, 시스템 및 방법은 배치 정규화 계층으로부터의 통계값에 추가하여 또는 대신하여, 원본 모델 트레이너 또는 데이터 소유자로부터 제공되는 랜덤 메타데이터를 사용할 수 있다. 예를 들어, 일부 중간 계층에서 특징 맵의 평균 및 공분산은 오리지널 모델 소유자가 수집할 수 있으며 모델의 압축 및/또는 양자화를 위한 메타데이터로 제공될 수 있다.
메타데이터가 제공되면, 메타데이터에 저장된 통계값과 생성기 출력의 통계값을 일치시키는 GAN이 생성될 수 있다. 예를 들어, 마지막 완전 연결된 계층 입력 특성 맵을 가우스 혼합으로 모델링하고 메타데이터 저장소를 가우스 혼합 매개 변수로 만들 수 있다. 그런 다음 GAN은 교사에서 메타데이터에서와 동일한 분포를 생성하도록 학습된다.
도 3에서, N은 생성기(302)에 대한 랜덤 입력을 나타낸다. 생성기(302)는 랜덤 입력 N으로부터 합성 이미지
Figure pat00047
를 생성한다. 합성 이미지
Figure pat00048
가 교사(306) 및 학생(304)에게 공급될 때,
Figure pat00049
Figure pat00050
가 각각 마지막 완전 연결 계층(312 및 316)에 대한 입력 특징 맵으로서 결과된다. 메타데이터는 Z에 대한 가우스 혼합 매개 변수를 저장하며, 여기서 Z는 원본 학습 데이터 X로 얻은 입력 특성 맵이다. 원본 데이터와 유사한 합성 데이터를 생성하기 위해, 교사(308)의 통계값은 수학식 9를 최소화하여 일치된다.
Figure pat00051
이는 수학식 10의 미니맥스 최적화를 사용하여 GAN에 의해 수행될 수 있다.
Figure pat00052
이 프레임워크에서, 생성기 출력으로부터의 교사 특징 맵이 메타데이터에 저장된 것과 유사한 통계값을 갖는지를 평가하는 판별기(310)가 도입된다. GAN을 학습시킨 후, 생성기(302)는 합성 데이터를 생성하고 이를 KD에 사용하는 데 사용된다. 보조 손실 항은 Jensen-Shannon(JS) 발산과 같이, 메타데이터가 제공될 때 메타데이터까지의 거리를 포함할 수 있다.
도 4는 일 실시 예에 따른 네트워크 환경(400)에서의 전자 장치(401)의 블록도를 예시한다. 도 4를 참조하여, 네트워크 환경(400) 내의 전자 장치(401)는 제1 네트워크(498)(예를 들어, 근거리 무선 통신 네트워크)를 통해 다른 전자 장치(402)와 통신할 수 있고, 또는 제2 네트워크(499)(예를 들어, 장거리 무선 통신 네트워크)를 통해 다른 전자 장치(404) 또는 서버(408)와 통신할 수 있다. 전자 장치(401)는 또한 서버(408)를 통해 전자 장치(404)와 통신할 수 있다.
전자 장치(401)는 프로세서(420), 메모리(430), 입력 장치(450), 음향 출력 장치(455), 디스플레이 장치(460), 오디오 모듈(470), 센서 모듈(476), 인터페이스(477), 햅틱 모듈(479), 카메라 모듈(480), 전력 관리 모듈(488), 배터리(489), 통신 모듈(490), 가입자 식별 모듈(SIM)(496) 또는 안테나 모듈(497)를 포함한다. 일 실시 예에서, 구성 요소 중 적어도 하나(예를 들어, 디스플레이 장치(460) 또는 카메라 모듈(480))는 전자 장치(401)에서 생략되거나, 하나 이상의 다른 구성 요소는 전자 장치(401)에 추가될 수 있다.
일 실시 예에서, 구성 요소 중 일부는 단일 집적 회로(IC)로 구현될 수 있다. 예를 들어, 센서 모듈(476)(예를 들어, 지문 센서, 홍채 센서 또는 조도 센서)은 디스플레이 장치(460)(예를 들어, 디스플레이)에 내장될 수 있다.
프로세서(420)는 예를 들어, 소프트웨어(예를 들어, 프로그램(440))를 실행하여 프로세서(420)과 연결된 전자 장치(401)의 적어도 하나의 다른 구성 요소(예를 들어, 하드웨어 또는 소프트웨어 구성 요소)를 제어할 수 있으며, 다양한 데이터 처리 또는 계산을 수행할 수 있다.
데이터 처리 또는 계산의 적어도 일부로서, 프로세서(420)는 휘발성 메모리(432)의 다른 구성 요소(예를 들어, 센서 모듈(476) 또는 통신 모듈(490))로부터 수신된 명령 또는 데이터를 로드할 수 있으며, 휘발성 메모리(432)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비 휘발성 메모리(434)에 저장한다. 프로세서(420)는 메인 프로세서(421)(예를 들어, 중앙 처리 장치(CPU) 또는 애플리케이션 프로세서(AP)), 및 메인 프로세서(421)와 독립적으로 또는 함께 동작할 수 있는 보조 프로세서(423)(예를 들어, 그래픽 처리 장치(GPU), 이미지 신호 프로세서(ISP)), 센서 허브 프로세서 또는 통신 프로세서(CP))를 포함할 수 있다.
추가적으로 또는 대안적으로, 보조 프로세서(423)는 메인 프로세서(421)보다 적은 전력을 소비하거나 특정 기능을 실행하도록 구성될 수 있다. 보조 프로세서(423)는 메인 프로세서(421)와 별개로 구현될 수도 있고, 그 일부로 구현될 수도 있다.
보조 프로세서(423)는 메인 프로세서(421)가 비활성(예를 들어, 슬립) 상태에 있는 동안 메인 프로세서(421) 대신에, 또는 메인 프로세서(421)가 활성 상태(예를 들어, 애플리케이션 실행중)에 있는 동안 메인 프로세서(421)와 함께, 전자 장치(401)의 구성 요소 중 적어도 하나의 구성 요소(예를 들어, 디스플레이 장치(460), 센서 모듈(476) 또는 통신 모듈(490))와 관련된 기능 또는 상태 중 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(423)(예를 들어, ISP 또는 CP)는 보조 프로세서(423)와 기능적으로 관련된 다른 구성 요소(예를 들어, 카메라 모듈(480) 또는 통신 모듈(490))의 일부로 구현될 수 있다.
메모리(430)는 전자 장치(401)의 적어도 하나의 구성 요소(예를 들어, 프로세서(420) 또는 센서 모듈(476))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 다양한 데이터는 예를 들어, 소프트웨어(예를 들어, 프로그램(440)) 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(430)는 휘발성 메모리(432) 또는 비휘발성 메모리(434)를 포함할 수 있다.
프로그램(440)은 소프트웨어로서 메모리(430)에 저장될 수 있으며, 예를 들어, 운영 체제(OS)(442), 미들웨어(444) 또는 애플리케이션(446)을 포함할 수 있다.
입력 장치(450)는 전자 장치(401)의 외부(예를 들어, 사용자)로부터 전자 장치(401)의 다른 구성 요소(예를 들어, 프로세서(420))에 의해 사용될 명령 또는 데이터를 수신할 수 있다. 입력 장치(450)는 예를 들어, 마이크, 마우스 또는 키보드를 포함할 수 있다.
음향 출력 장치(455)는 전자 장치(401)의 외부로 음향 신호를 출력할 수 있다. 음향 출력 장치(455)는 예를 들어, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음과 같은 일반적인 용도로 사용될 수 있으며, 수신기는 수신 전화를 수신하는 데 사용될 수 있다. 일 실시 예에 따르면, 수신기는 스피커와 분리되거나 스피커의 일부로 구현될 수 있다.
디스플레이 장치(460)는 전자 장치(401)의 외부(예를 들어, 사용자)에게 시각적으로 정보를 제공할 수 있다. 디스플레이 장치(460)는, 예를 들어, 디스플레이, 홀로그램 장치 또는 프로젝터 및 제어 회로를 포함하여 디스플레이, 홀로그램 장치 및 프로젝터 중 대응하는 것을 제어할 수 있다. 일 실시 예에 따르면, 디스플레이 장치(460)는 터치를 감지하도록 구성된 터치 회로, 또는 터치에 의해 발생하는 힘의 강도를 측정하도록 구성된 센서 회로(예를 들어, 압력 센서)를 포함할 수 있다.
오디오 모듈(470)은 소리를 전기적 신호로 변환하거나 그 반대로 변환할 수 있다. 일 실시 예에 따르면, 오디오 모듈(470)은 입력 장치(450)을 통해 사운드를 획득하거나, 사운드를 음향 출력 장치(455) 또는 외부 전자 장치(402)의 헤드폰을 통해 전자 장치(401)와 직접(예를 들어, 유선) 또는 무선으로 출력한다.
센서 모듈(476)은 전자 장치(401)의 동작 상태(예를 들어, 전원 또는 온도) 또는 전자 장치(401) 외부의 환경 상태(예를 들어, 사용자의 상태)를 감지하고, 다음에 검출된 상태에 대응하는 전기 신호 또는 데이터 값을 생성한다. 센서 모듈(476)은, 예를 들어 제스처 센서, 자이로 센서, 대기압 센서, 자기 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, 적외선(IR) 센서, 생체 인식 센서, 온도 센서, 습도 센서 또는 조도 센서일 수 있다.
인터페이스(477)는 전자 장치(401)가 외부 전자 장치(402)와 직접(예를 들어, 유선) 또는 무선으로 연결되는 데 사용될 하나 이상의 지정된 프로토콜을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(477)는 예를 들어, 고 해상도 멀티미디어 인터페이스(HDMI), 범용 직렬 버스(USB) 인터페이스, 시큐어 디지털(SD) 카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(478)는 전자 장치(401)가 외부 전자 장치(402)와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시 예에 따르면, 연결 단자(478)는 예를 들어, HDMI 커넥터, USB 커넥터, SD 카드 커넥터 또는 오디오 커넥터(예를 들어, 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(479)은 전기적 신호를 기계적 자극(예를 들어, 진동 또는 움직임) 또는 촉감 또는 운동 감각을 통해 사용자가 인식할 수 있는 전기적 자극으로 변환할 수 있다. 일 실시 예에 따르면, 햅틱 모듈(479)은 예를 들어, 모터, 압전 소자 또는 전기 자극기를 포함할 수 있다.
카메라 모듈(480)은 정지 영상 또는 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(480)은 하나 이상의 렌즈, 이미지 센서, ISP 또는 플래시를 포함할 수 있다.
전력 관리 모듈(488)은 전자 장치(401)에 공급되는 전력을 관리할 수 있다. 전력 관리 모듈(488)은 예를 들어, 전력 관리 집적 회로(PMIC)의 적어도 일부로 구현될 수 있다.
배터리(489)는 전자 장치(401)의 적어도 하나의 구성 요소에 전원을 공급할 수 있다. 일 실시 예에 따르면, 배터리(489)는 예를 들어, 충전이 불가능한 1 차 전지, 충전 가능한 2 차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(490)은 전자 장치(401)과 외부 전자 장치(예를 들어, 전자 장치(402), 전자 장치(404) 또는 서버(408)) 간의 직접적인(예를 들어, 유선) 통신 채널 또는 무선 통신 채널 설정을 지원하고, 설정된 통신 채널을 통해 통신을 수행하는 것을 지원할 수 있다. 통신 모듈(490)은 프로세서(420)(예를 들어, AP)와 독립적으로 동작할 수 있는 하나 이상의 CP를 포함할 수 있으며, 직접(예를 들어, 유선) 통신 또는 무선 통신을 지원한다. 일 실시 예에 따르면, 통신 모듈(490)은 무선 통신 모듈(492)(예를 들어, 셀룰러 통신 모듈, 근거리 무선 통신 모듈 또는 글로벌 항법 위성 시스템(GNSS) 통신 모듈) 또는 유선 통신 모듈(494)(예를 들어, 근거리 통신망(LAN) 통신 모듈 또는 전력선 통신(PLC) 모듈)를 포함할 수 있다. 이러한 통신 모듈 중 해당하는 모듈은 제1 네트워크(498)(예를 들어, BluetoothTM, Wi-Fi 다이렉트, 또는 적외선 데이터 협회(IrDA) 표준과 같은 단거리 통신 네트워크)) 또는 제2 네트워크(499)(예를 들어, 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예를 들어, LAN 또는 광역 네트워크(WAN))와 같은 장거리 통신 네트워크)를 통해 외부 전자 장치와 통신할 수 있다. 이러한 다양한 유형의 통신 모듈은 단일 구성 요소(예를 들어, 단일 IC)로 구현될 수 있으며, 서로 분리된 여러 구성 요소(예를 들어, 다수의 IC)로 구현될 수 있다. 무선 통신 모듈(492)는 가입자 식별 모듈(496)에 저장된 가입자 정보(예를 들어, 국제 모바일 가입자 신원(IMSI))를 사용하여, 제1 네트워크(498) 또는 제2 네트워크(499)와 같은 통신 네트워크에서 전자 장치(401)를 식별하고 인증할 수 있다.
안테나 모듈(497)은 전자 장치(401)의 외부(예를 들어, 외부 전자 장치)와 신호 또는 전원을 송수신할 수 있다. 안테나 모듈(497)은 하나 이상의 안테나를 포함할 수 있으며, 이중에서, 제1 네트워크(498) 또는 제2 네트워크(499)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나를 통신 모듈(490)(예를 들어, 무선 통신 모듈(492))에 의해 선택할 수 있다. 그러면 선택된 적어도 하나의 안테나를 통해 통신 모듈(490)과 외부 전자 장치간에 신호 또는 전력이 송수신될 수 있다.
상기 설명한 구성 요소 중 적어도 일부는 주변 장치 간 통신 방식(예를 들어, 버스, 범용 입력 및 출력(GPIO), 직렬 주변 장치 인터페이스(SPI) 또는 모바일 산업 프로세서 인터페이스(MIPI))를 통해 상호 결합되어 그 사이에서 신호(예를 들어, 명령 또는 데이터)를 통신할 수 있다.
명령 또는 데이터는 제2 네트워크(499)와 결합된 서버(408)를 통해 전자 장치(401)와 외부 전자 장치(404) 사이에서 송수신될 수 있다. 각각의 전자 장치(402, 304)는 전자 장치(401)와 동일한 유형 또는 이와 다른 유형의 장치일 수 있다. 전자 장치(401)에서 실행될 동작의 전부 또는 일부는 외부 전자 장치(402, 304, 308) 중 하나 이상에서 실행될 수 있다. 예를 들어, 전자 장치(401)가 자동으로 또는 사용자 또는 다른 장치의 요청에 따라, 기능 또는 서비스를 수행해야 하는 경우, 전자 장치(401)는 기능 또는 서비스를 실행하는 대신에, 또는 그에 추가하여, 하나 이상의 외부 전자 장치에 기능 또는 서비스의 적어도 일부를 수행하도록 요청할 수 있다. 요청을 수신한 하나 이상의 외부 전자 장치는 요청된 기능 또는 서비스의 적어도 일부, 또는 요청과 관련된 추가 기능 또는 추가 서비스를 수행할 수 있으며, 수행의 결과를 전자 장치(401)로 전달한다. 전자 장치(401)는 결과를, 요청에 대한 응답의 적어도 일부로서, 결과의 추가 처리를 포함하거나 포함하지 않고 제공할 수 있다. 이를 위해, 예를 들어 클라우드 컴퓨팅, 분산 컴퓨팅 또는 클라이언트-서버 컴퓨팅 기술이 사용될 수 있다.
일 실시 예는 기계(예를 들어, 전자 장치(401))에 의해 판독 가능한 저장 매체(예를 들어, 내부 메모리(436) 또는 외부 메모리(438))에 저장된 하나 이상의 명령을 포함하는 소프트웨어(예를 들어, 프로그램(440))로 구현될 수 있다. 예를 들어, 전자 장치(401)의 프로세서는 저장 매체에 저장된 하나 이상의 명령어 중 적어도 하나를 호출하여, 이것을 프로세서의 제어하에서 하나 이상의 다른 구성 요소를 사용하거나 사용하지 않고 실행할 수 있다. 따라서, 호출된 적어도 하나의 명령에 따라 적어도 하나의 기능을 수행하도록 기계가 작동될 수 있다. 하나 이상의 명령어는 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행 가능한 코드를 포함할 수 있다. 기계 판독 가능 저장 매체는 비 일시적 저장 매체의 형태로 제공될 수 있다. 용어 "비일시적"은 저장 매체가 유형의 장치이며, 신호(예를 들어, 전자파)를 포함하지 않음을 나타내지만, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 위치와 데이터가 저장 매체에 일시적으로 저장되는 위치를 구별하지 않는다.
일 실시 예에 따르면, 본 개시의 방법은 컴퓨터 프로그램 제품에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 판매자와 구매자 사이에서 상품으로 거래될 수 있다. 컴퓨터 프로그램 제품은 기계 판독 가능 저장 매체(예를 들어, 컴팩트 디스크 ROM(CD-ROM))의 형태로 배포될 수 있거나, 애플리케이션 스토어(예를 들어, Play StoreTM)를 통해 온라인으로 배포(예를 들어, 다운로드 또는 업로드)되거나, 두 사용자 장치(예를 들어, 스마트 폰) 간에 직접 배포될 수 있다. 온라인으로 배포되는 경우, 컴퓨터 프로그램 제품의 적어도 일부는 제조업체 서버의 메모리, 애플리케이션 스토어의 서버 또는 릴레이 서버와 같은, 기계 판독 가능 저장 매체에 일시적으로 생성되거나 적어도 일시적으로 저장될 수 있다.
일 실시 예에 따르면, 전술한 구성 요소들 각각(예를 들어, 모듈 또는 프로그램)은 단일 엔티티 또는 다중 엔티티를 포함할 수 있다. 전술한 구성 요소 중 하나 이상은 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 대안적으로 또는 추가적으로, 복수의 구성 요소(예를 들어, 모듈 또는 프로그램)가 단일 구성 요소로 통합될 수 있다. 이 경우, 통합된 구성 요소는 이들이 통합 전에 복수의 구성 요소 중 대응하는 것에 의해 수행되므로, 동일하거나 유사한 방식으로 복수의 구성 요소들 각각의 하나 이상의 기능을 여전히 수행할 수 있다. 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 작업은 순차적으로, 병렬로, 반복적으로 또는 경험적으로 수행될 수 있거나, 하나 이상의 작업은 다른 순서로 실행 또는 생략되거나, 하나 이상의 다른 작업이 추가될 수 있다.
본 개시의 상세한 설명에서는 본 개시의 특정 실시 예를 설명하였으나, 본 개시는 본 개시의 범위를 벗어나지 않고 다양한 형태로 변형될 수 있다. 따라서, 본 개시의 범위는 설명된 실시 예에 의해서만 결정되는 것이 아니라, 첨부된 청구 범위 및 그 균등물에 기초하여 결정되어야 한다.

Claims (20)

  1. 생성기에서 랜덤 입력을 수신하는 단계;
    상기 생성기에서 상기 수신된 랜덤 입력의 합성 출력을 생성하는 단계;
    교사 네트워크에서 상기 합성 출력을 수신하는 단계;
    학생 네트워크에서 상기 합성 출력을 수신하는 단계;
    상기 교사 네트워크의 출력과 상기 학생 네트워크의 출력 사이의 최대 거리를 최소화하는 단계; 및
    상기 생성기를 제한하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 생성기를 제한하는 단계는 보조 손실 항(auxiliary loss term)을 기반으로 수행되는, 방법.
  3. 제 2 항에 있어서,
    상기 보조 손실 항은 메타데이터가 제공될 때 상기 메타데이터까지의 거리를 포함하는, 방법.
  4. 제 3 항에 있어서,
    상기 메타데이터는 상기 교사 네트워크에서 원본 학습 데이터로 얻은 특징 맵을 설명하는 가우스 혼합 매개 변수(Gaussian mixture parameter)인, 방법.
  5. 제 2 항에 있어서,
    상기 보조 손실 항은 상기 교사 네트워크의 적어도 하나의 배치(batch) 정규화 계층으로부터의 일치(match)된 통계값을 포함하는, 방법.
  6. 제 5 항에 있어서,
    상기 생성기를 제한하는 단계는 상기 적어도 하나의 배치 정규화 계층의 평균과 분산을 일치시키는 단계를 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 적어도 하나의 배치 정규화 계층의 상기 평균과 상기 분산을 일치시키는 단계는 두 가우스 분포의 KL 발산을 사용하여 수행되는, 방법.
  8. 제 2 항에 있어서,
    상기 보조 손실 항은 인스턴스 범주형 엔트로피를 포함하는, 방법.
  9. 제 2 항에 있어서,
    상기 보조 손실 항은 배치 범주형 엔트로피를 포함하는, 방법.
  10. 제 1 항에 있어서,
    상기 교사 네트워크의 출력과 상기 학생 네트워크의 출력 사이의 상기 최대 거리를 최소화하는 단계는 중간 계층 출력을 일치시키는 단계를 포함하는, 방법.
  11. 메모리; 및
    생성기에서 랜덤 입력을 수신하고,
    상기 생성기에서 상기 수신된 랜덤 입력의 합성 출력을 생성하고,
    교사 네트워크에서 상기 합성 출력을 수신하고,
    학생 네트워크에서 상기 합성 출력을 수신하고,
    상기 교사 네트워크의 출력과 상기 학생 네트워크의 출력 사이의 최대 거리를 최소화하고,
    상기 생성기를 제한하도록 구성된 프로세서를 포함하는, 시스템.
  12. 제 11 항에 있어서,
    상기 프로세서는 상기 생성기를 보조 손실 항을 기반으로 제한하도록 구성되는, 시스템.
  13. 제 12 항에 있어서,
    상기 보조 손실 항은 메타데이터가 제공될 때 상기 메타데이터까지의 거리를 포함하는, 시스템.
  14. 제 13 항에 있어서,
    상기 메타데이터는 상기 교사 네트워크에서 원본 학습 데이터로 얻은 특징 맵을 설명하는 가우스 혼합 매개 변수인, 시스템.
  15. 제 12 항에 있어서,
    상기 보조 손실 항은 상기 교사 네트워크의 적어도 하나의 배치(batch) 정규화 계층으로부터의 일치된 통계값을 포함하는, 시스템.
  16. 제 15 항에 있어서,
    상기 프로세서는 상기 적어도 하나의 배치 정규화 계층의 평균과 분산을 일치시켜 상기 생성기를 제한하도록 구성되는, 시스템.
  17. 제 16 항에 있어서,
    상기 적어도 하나의 배치 정규화 계층의 상기 평균과 상기 분산을 일치시키는 단계는 두 가우스 분포의 KL 발산을 사용하여 수행되는, 시스템.
  18. 제 12 항에 있어서,
    상기 보조 손실 항은 인스턴스 범주형 엔트로피를 포함하는, 시스템.
  19. 제 12 항에 있어서,
    상기 보조 손실 항은 배치 범주형 엔트로피를 포함하는, 시스템.
  20. 제 11 항에 있어서,
    상기 프로세서는 상기 교사 네트워크의 출력과 상기 학생 네트워크의 출력 사이의 상기 최대 거리를 최소화하는 단계는 중간 계층 출력을 일치시키는 단계를 포함하도록 구성되는, 시스템.
KR1020210030747A 2020-03-23 2021-03-09 적대적 지식 증류법으로 데이터 프리 네트워크 양자화 및 압축을 위한 방법 및 장치 KR20210119298A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062993258P 2020-03-23 2020-03-23
US62/993,258 2020-03-23
US17/021,686 2020-09-15
US17/021,686 US20210295173A1 (en) 2020-03-23 2020-09-15 Method and apparatus for data-free network quantization and compression with adversarial knowledge distillation

Publications (1)

Publication Number Publication Date
KR20210119298A true KR20210119298A (ko) 2021-10-05

Family

ID=77748037

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210030747A KR20210119298A (ko) 2020-03-23 2021-03-09 적대적 지식 증류법으로 데이터 프리 네트워크 양자화 및 압축을 위한 방법 및 장치

Country Status (3)

Country Link
US (1) US20210295173A1 (ko)
KR (1) KR20210119298A (ko)
CN (1) CN113435568A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102442928B1 (ko) 2022-03-25 2022-09-15 주식회사 애자일소다 신경망 모델의 경량화 장치 및 방법
KR20240113235A (ko) 2023-01-13 2024-07-22 국민대학교산학협력단 인간의 감정 판단 장치 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11599794B1 (en) * 2021-10-20 2023-03-07 Moffett International Co., Limited System and method for training sample generator with few-shot learning
CN114095447B (zh) * 2021-11-22 2024-03-12 成都中科微信息技术研究院有限公司 一种基于知识蒸馏与自蒸馏的通信网络加密流量分类方法
WO2024007036A2 (en) * 2022-07-01 2024-01-04 Mindsigns Health Inc. Automated seizure detection
CN116958644B (zh) * 2023-06-07 2024-06-11 中国人民解放军国防科技大学 一种基于特征一致性约束的图像分类对抗样本防御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9103349D0 (en) * 1991-02-18 1991-04-03 King Reginald A Artificial neural network systems
JP2018068752A (ja) * 2016-10-31 2018-05-10 株式会社Preferred Networks 機械学習装置、機械学習方法及びプログラム
US10915817B2 (en) * 2017-01-23 2021-02-09 Fotonation Limited Method of training a neural network
WO2019018693A2 (en) * 2017-07-19 2019-01-24 Altius Institute For Biomedical Sciences METHODS OF ANALYZING MICROSCOPIC IMAGES USING AUTOMATIC LEARNING
US11410029B2 (en) * 2018-01-02 2022-08-09 International Business Machines Corporation Soft label generation for knowledge distillation
US20190259474A1 (en) * 2018-02-17 2019-08-22 Regeneron Pharmaceuticals, Inc. Gan-cnn for mhc peptide binding prediction
US10963748B1 (en) * 2018-08-31 2021-03-30 Snap Inc. Generative neural network distillation
CN110045335A (zh) * 2019-03-01 2019-07-23 合肥工业大学 基于生成对抗网络的雷达目标航迹识别方法和装置
US11586930B2 (en) * 2019-04-16 2023-02-21 Microsoft Technology Licensing, Llc Conditional teacher-student learning for model training

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102442928B1 (ko) 2022-03-25 2022-09-15 주식회사 애자일소다 신경망 모델의 경량화 장치 및 방법
KR20240113235A (ko) 2023-01-13 2024-07-22 국민대학교산학협력단 인간의 감정 판단 장치 및 방법

Also Published As

Publication number Publication date
CN113435568A (zh) 2021-09-24
US20210295173A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
KR20210119298A (ko) 적대적 지식 증류법으로 데이터 프리 네트워크 양자화 및 압축을 위한 방법 및 장치
US11423312B2 (en) Method and apparatus for universal pruning and compression of deep convolutional neural networks under joint sparsity constraints
US20220138633A1 (en) Method and apparatus for incremental learning
US20220067582A1 (en) Method and apparatus for continual few-shot learning without forgetting
US20230237355A1 (en) Method and apparatus for stochastic inference between multiple random variables via common representation
US20220058507A1 (en) Method and apparatus for federated learning
US11094072B2 (en) System and method for providing single image depth estimation based on deep neural network
US12100412B2 (en) Transformer with Gaussian weighted self-attention for speech enhancement
US20230214713A1 (en) Method and apparatus for communication efficient federated learning with global model compression
US20230050573A1 (en) System and method for unsupervised learning of segmentation tasks
CN113255823A (zh) 无监督域适应的方法及装置
US20230334318A1 (en) Method and apparatus for data efficient semantic segmentation
US20220319499A1 (en) Electronic device for processing user utterance and controlling method thereof
US11556768B2 (en) Optimization of sparsified neural network layers for semi-digital crossbar architectures
KR20220050039A (ko) 채널의 시간 변화를 고려한 압축 감지 기반 채널 복구
TW202137040A (zh) 無資料對抗式知識蒸餾的方法及系統
US20220092383A1 (en) System and method for post-training quantization of deep neural networks with per-channel quantization mode selection
US20240355320A1 (en) Systems and methods for training artificial neural networks
KR102720577B1 (ko) 콘볼루션 뉴럴 네트워크 모델 구축 방법 및 시스템
US20230156317A1 (en) Electronic device for obtaining image at user-intended moment and method for controlling the same
US20230214646A1 (en) Method and system for searching deep neural network architecture
US20240036527A1 (en) Electronic device and computer readable storage medium for control recommendation
US20230244951A1 (en) Sustainable continual learning with detection and knowledge repurposing of similar tasks

Legal Events

Date Code Title Description
A201 Request for examination