KR20220096966A - 학생 친화적 교사 모델 및 학생 모델의 학습을 위한 시스템 및 방법 - Google Patents

학생 친화적 교사 모델 및 학생 모델의 학습을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20220096966A
KR20220096966A KR1020200189861A KR20200189861A KR20220096966A KR 20220096966 A KR20220096966 A KR 20220096966A KR 1020200189861 A KR1020200189861 A KR 1020200189861A KR 20200189861 A KR20200189861 A KR 20200189861A KR 20220096966 A KR20220096966 A KR 20220096966A
Authority
KR
South Korea
Prior art keywords
student
teacher
model
branch
block
Prior art date
Application number
KR1020200189861A
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 삼성전자주식회사
Priority to KR1020200189861A priority Critical patent/KR20220096966A/ko
Priority to US17/460,698 priority patent/US20220207431A1/en
Publication of KR20220096966A publication Critical patent/KR20220096966A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/2163Partitioning the feature space

Landscapes

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

Abstract

교사 모델 및 학생 모델을 학습시키기 위한 컴퓨터로 구현되는(computer-implemented) 방법은, 적어도 하나의 레이어를 각각 포함하는 일련의 교사 블록들로 교사 모델을 분할하는 단계, 일련의 교사 블록들 중 제1 교사 블록이 출력하는 제1 피처(feature)를 수신하는 제1 학생 브랜치(branch)를 생성하는 단계, 교사 모델 및 제1 학생 브랜치의 출력들에 기초하여 교사 모델을 학습시키는 단계, 및 학습된 교사 모델에 기초하여, 적어도 하나의 레이어를 각각 포함하는 일련의 학생 블록들을 포함하는 학생 모델을 학습시키는 단계를 포함할 수 있고, 제1 학생 브랜치는, 적어도 하나의 학생 블록을 포함할 수 있다.

Description

학생 친화적 교사 모델 및 학생 모델의 학습을 위한 시스템 및 방법{SYSTEM AND METHOD FOR TRAINING STUDENT FRIENDLY TEACHER MODEL AND STUDENT MODEL}
본 개시의 기술적 사상은 기계 학습 모델을 학습시키는 것에 관한 것으로서, 자세하게는 학생 친화적 교사 모델 및 학생 모델의 학습을 위한 시스템 및 방법에 관한 것이다.
다양한 분야에서 기계 학습 모델이 활용되고 있다. 기계 학습 모델은, 보다 정확한 결과를 위하여 복잡한 구조를 가질 수 있고, 많은 자원들(resources)을 요구할 수 있다. 이에 따라, 가전 제품, 모바일 폰, 사물인터넷(Internet of Things; IoT) 장치와 같이 한정된 자원들을 가지는 플랫폼에서도 기계 학습 모델을 적용하기 위하여, 모델 압축(compression)이 활용될 수 있다. 모델 압축은 한정된 자원들에서 실행가능하면서도 높은 정확도를 제공하는 경량화된 기계 학습 모델을 제공하는 것이 중요할 수 있다.
본 개시의 기술적 사상은, 향상된 정확도를 제공하는 모델 압축을 위한 시스템 및 방법을 제공한다.
본 개시의 기술적 사상의 일측면에 따라, 교사 모델 및 학생 모델을 학습시키기 위한 시스템은, 명령어들을 저장하는 메모리, 및 메모리에 액세스하고 명령어들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는 명령어들을 실행함으로써, 적어도 하나의 레이어를 각각 포함하는 일련의 교사 블록들로 교사 모델을 분할할 수 있고, 일련의 교사 블록들 중 제1 교사 블록이 출력하는 제1 피처(feature)를 수신하는 제1 학생 브랜치를 생성할 수 있고, 교사 모델 및 제1 학생 브랜치의 출력들에 기초하여 교사 모델을 학습시킬 수 있고, 학습된 교사 모델에 기초하여, 일련의 학생 블록들을 포함하는 학생 모델을 학습시키킬 수 있으며, 제1 학생 브랜치는, 적어도 하나의 학생 블록을 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따라, 교사 모델 및 학생 모델을 학습시키기 위한 컴퓨터로 구현되는(computer-implemented) 방법은, 적어도 하나의 레이어를 각각 포함하는 일련의 교사 블록들로 교사 모델을 분할하는 단계, 일련의 교사 블록들 중 제1 교사 블록이 출력하는 제1 피처(feature)를 수신하는 제1 학생 브랜치(branch)를 생성하는 단계, 교사 모델 및 제1 학생 브랜치의 출력들에 기초하여 교사 모델을 학습시키는 단계, 및 학습된 교사 모델에 기초하여, 적어도 하나의 레이어를 각각 포함하는 일련의 학생 블록들을 포함하는 학생 모델을 학습시키는 단계를 포함할 수 있고, 제1 학생 브랜치는, 적어도 하나의 학생 블록을 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따라, 비일시적 컴퓨터-독출가능 저장 매체는 적어도 하나의 프로세서에 의해서 실행가능한 명령어들을 포함할 수 있고, 명령어들은, 적어도 하나의 프로세서로 하여금 교사 모델 및 학생 모델을 학습시키기 위한 동작들을 수행하도록 할 수 있고, 교사 모델 및 학생 모델을 학습시키기 위한 동작들은, 적어도 하나의 레이어를 각각 포함하는 일련의 교사 블록들로 교사 모델을 분할하는 단계, 일련의 교사 블록들 중 제1 교사 블록이 출력하는 제1 피처(feature)를 수신하는 제1 학생 브랜치(branch)를 생성하는 단계, 교사 모델 및 제1 학생 브랜치의 출력들에 기초하여 교사 모델을 학습시키는 단계, 및 학습된 교사 모델에 기초하여, 적어도 하나의 레이어를 각각 포함하는 일련의 학생 블록들을 포함하는 학생 모델을 학습시키는 단계를 포함할 수 있고, 제1 학생 브랜치는, 적어도 하나의 학생 블록을 포함할 수 있다.
본 개시의 예시적 실시예에 따른 시스템 및 방법에 의하면, 교사 모델은 학생 모델의 구조에 기초하여 학습될 수 있고, 이에 따라 학습된 교사 모델은 학생 모델이 학습하기에 용이한 지식을 제공할 수 있다.
또한, 본 개시의 예시적 실시예에 따른 시스템 및 방법에 의하면, 학생 친화적 교사 모델에 기인하여 학생 모델은 효과적으로 학습될 수 있고, 이에 따라 모델 압축의 효율성이 증대될 수 있다.
또한, 본 개시의 예시적 실시예에 따른 시스템 및 방법에 의하면, 모델 압축의 높은 효율성에 기인하여, 제한된 자원들을 가지는 플랫폼에서도 높은 성능을 제공하는 학생 모델, 즉 기계 학습 모델이 구동될 수 있고, 기계 학습 모델의 활용 범위가 용이하게 확장될 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 설명으로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 모델 압축의 예시를 나타내는 도면이다.
도 2는 비교예에 따른 모델 압축의 예시를 나타내는 도면이다.
도 3은 본 개시의 예시적 실시예에 따라 교사 모델 및 학생 모델의 학습을 위한 방법을 나타내는 순서도이다.
도 4는 본 개시의 예시적 실시예에 따른 모델 압축의 예시를 나타내는 도면이다.
도 5는 본 개시의 예시적 실시예에 따라 교사 모델 및 학생 모델의 학습을 위한 방법을 나타내는 순서도이다.
도 6은 본 개시의 예시적 실시예에 따라 교사 모델을 학습하는 동작을 나타내는 도면이다.
도 7은 본 개시의 예시적 실시예에 따른 모델 압축의 예시를 나타내는 도면이다.
도 8은 본 개시의 예시적 실시예에 따라 교사 모델 및 학생 모델 사이 유사도를 나타내는 도면이다.
도 9는 본 개시의 예시적 실시예에 따른 컴퓨터 시스템을 나타내는 블록도이다.
도 10은 본 개시의 예시적 실시예에 따라 반도체 공정에 의해서 집적 회로가 제조되는 과정을 나타내는 도면이다.
도 11은 본 개시의 예시적 실시예에 따른 장치를 나타내는 블록도이다.
도 1은 본 개시의 예시적 실시예에 따른 모델 압축의 예시를 나타내는 도면이다. 구체적으로, 도 1은 모델 압축의 예시로서 지식 증류(knowledge distillation)에서, 교사 모델(12)에 기초하여 학습 데이터(11)로부터 학생 모델(13)을 학습시키는 동작을 나타낸다.
지식 증류(또는 지식 추출)는 큰 모델의 지식을 작은 모델로 효과적으로 전달하기 위한 기술을 지칭할 수 있다. 도 1에 도시된 바와 같이, 지식 증류에서, 교사 모델(12)은 큰 모델에 대응할 수 있고, 학생 모델(13)은 작은 모델에 대응할 수 있다. 교사 모델(12)은 상대적으로 높은 복잡도(예컨대, 보다 많은 레이어들, 보다 많은 파라미터들, 보다 긴 런타임) 및 높은 정확도를 가질 수 있고, 이에 따라 교사 모델(12)을 실행하는데 많은 자원들(예컨대, 연산 유닛들, 메모리 등)이 요구될 수 있다. 다른 한편으로, 학생 모델(13)은 상대적으로 낮은 복잡도(예컨대, 보다 적은 레이어들, 보다 적은 파라미터들, 보다 짧은 런타임)를 가질 수 있고, 이에 따라 학생 모델(13)은 적은 자원들을 요구할 수 있고 용이하게 활용될 수 있는 한편, 감소된 정확도를 가질 수 있다. 학생 모델(13)은, 가전 제품, 모바일 폰, 사물인터넷(Internet of Things; IoT) 장치 등과 같이 한정된 자원들을 가지는 플랫폼에서 실행하기 위하여 설계될 수 있고, 이에 따라 한정된 자원에서도 높은 정확도를 제공하도록 학습된 학생 모델(13)을 생성하는 것이 중요할 수 있다.
일부 실시예들에서, 교사 모델(12) 및 학생 모델(13)은, 미리 정의된 N개의 클래스들에서 각 클래스에 대한 각각의 스코어를 생성하기 위하여 학습 데이터(11)를 처리할 수 있다(N은 1보다 큰 정수). 학습 데이터(11)는 미리 정의된 클래스들로 분류 가능한 임의의 데이터일 수 있고, 예컨대 이미지들을 포함할 수도 있고, 텍스트 세그먼트들을 포함할 수도 있다. 또한, 교사 모델(12) 및 학생 모델(13) 각각은, 학습 데이터(11)에 기초하여 학습될 수 있는 임의의 구조를 가지는 기계 학습 모델을 지칭할 수 있다. 예를 들면, 교사 모델(12) 및 학생 모델(13) 각각은, 인공 신경망(artificial neural network), 결정 트리(decision tree), 서포트 벡터 머신(support vector machine), 베이즈 네트워크(Bayesian network) 및/또는 유전 알고리즘(genetic algorithm) 등을 포함할 수 있다. 이하에서 교사 모델(12) 및 학생 모델(13)은 인공 신경망을 주로 참조하여 설명될 것이나, 본 개시의 예시적 실시예들이 이에 제한되지 아니하는 점이 유의된다. 인공 신경망은, 비제한적인 예시로서, CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based Deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzmann Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network 등을 포함할 수 있다.
지식 증류는 크게 2개의 단계들(phases)로 구성될 수 있다. 첫 번째 단계에서 교사 모델(12)이 학습 데이터(11) 및 레이블 데이터(LA)에 기초하여 학습될 수 있고, 두 번째 단계에서 학생 모델(13)이 학습 데이터(11), 교사 모델(12) 및 레이블 데이터(LA)에 기초하여 학습될 수 있다. 레이블 데이터(LA)는 학습 데이터(11)에 대응하는 이상적인 결과로서, 학습 데이터(11)에 포함된 입력들이 각각 속하는 클래스들을 나타낼 수 있다. 도 1은 지식 증류의 두 번째 단계에서 학생 모델(13)이 학습되는 동작을 나타낸다. 도 1에 도시된 바와 같이, 교사 모델(12)은 학습 데이터(11)로부터 소프트 출력(qT)을 출력할 수 있고, 학생 모델(13)은 학습 데이터(11)로부터 소프트 출력(qS)을 생성할 수 있다. 소프트 출력은 주어진 입력에 대하여 클래스들 각각에 대한 소프트 스코어들을 포함할 수 있다. 소프트 스코어들은, 입력이 속하는 클래스를 목적으로 하는 하드 스코어와 상이하게, N개의 클래스들에서 스코어 분포를 정의할 수 있다. 예를 들면, 교사 모델(12) 및 학생 모델(13)은 소프트 출력들(qT, qS)을 생성하기 위한 마지막 레이어(소프트맥스 레이어로서 지칭될 수도 있음)를 각각 포함할 수 있고, 소프트 출력에서 클래스 i에 대한 소프트 스코어 qi는 아래 [수학식 1]과 같이 정의될 수 있다.
Figure pat00001
[수학식 1]에서, zi는 마지막 레이어에 수신된, 클래스 i에 대한 이전 레이어의 출력들의 가중 조합(weighted combination)일 수 있고, N은 클래스들의 수일 수 있다. [수학식 1]에서 소프트 스코어는 온도 T에 의해서 부드러워지거나 경직될 수 있고, 온도 T는 학습 단계에서 보다 높은 값을 가질 수 있고, 학습이 완료된 후 보다 낮은 값을 가질 수 있다.
이하에서 도면들을 참조하여 후술되는 바와 같이, 교사 모델(12)은 학생 모델(13)의 구조를 고려하여 학습될 수 있다. 이에 따라 학습된 교사 모델(12)은 학생 모델(13)이 학습하기에 용이한 지식을 제공할 수 있고, 본 명세서에서 학생 친화적 교사 모델로서 지칭될 수 있다. 학습된 교사 모델(12), 즉 학생 친화적 교사 모델에 기인하여, 학생 모델(13)은 효과적으로 학습될 수 있고, 이에 따라 모델 압축의 효율성이 증대될 수 있다. 또한, 모델 압축의 높은 효율성에 기인하여, 제한된 자원들을 가지는 플랫폼에서도 높은 성능을 제공하는 학생 모델(13), 즉 기계 학습 모델이 구동될 수 있고, 기계 학습 모델의 활용 범위가 용이하게 확장될 수 있다.
도 2는 비교예에 따른 모델 압축의 예시를 나타내는 도면이다. 구체적으로, 도 2는 지식 증류의 첫 번째 단계에서 비교예에 따라 교사 모델(22)을 학습하는 동작을 나타낸다.
도 2를 참조하면, 교사 모델(22)은 학생 모델에 독립적으로 학습될 수 있다. 예를 들면, 도 2에 도시된 바와 같이, 학습 데이터(21)가 교사 모델(22)에 제공될 수 있고, 교사 모델(22)은 소프트 출력(qT)을 생성할 수 있다. 교사 모델(22)은 소프트 출력(qT) 및 레이블 데이터(LA) 사이 차이에 기초한 손실 함수(LCE)가 최소화되도록 학습될 수 있다. 일부 실시예들에서, 손실 함수(LCE)는, 소프트 출력(qT) 및 레이블 데이터(LA) 사이 차이에 의존하는 크로스-엔트로피 손실(cross-entropy loss)를 정의할 수 있다. 이에 따라, 교사 모델(22)은 학생 모델에 독립적으로, 레이블 데이터(LA)에 기초하여 최적의 결과를 출력하도록, 즉 교사 모델(22)이 높은 성능을 가지도록 학습될 수 있다.
도 1을 참조하여 전술된 바와 같이, 소프트 출력(qT)이 나타내는 분포는 입력이 속하는 클래스를 식별하기 위하여 생성된 지식을 포함할 수 있다. 학습 모델은 학습된 교사 모델(22)이 생성하는 소프트 출력(qT)에 기초하여 학습될 수 있고, 이에 따라 교사 모델(22)의 지식이 학생 모델에 전달될 수 있다. 그러나, 교사 모델(22)은 학생 모델과 상이한 구조(예컨대, 레이어들의 수, 파라미터들의 수, 피처들(features)의 크기, 비트 폭 등)를 가질 수 있고, 이에 따라 학습된 교사 모델(22)의 높은 성능이 학생 모델의 높은 성능을 보장하지 아니할 수 있다. 그러나, 도면들을 참조하여 후술되는 바와 같이, 교사 모델이 학생 모델의 구조에 기초하여 학습될 수 있고, 학습된 교사 모델, 즉 학생 친화적 교사 모델은 보다 높은 성능의 학생 모델을 제공할 수 있다.
도 3은 본 개시의 예시적 실시예에 따라 교사 모델 및 학생 모델의 학습을 위한 방법을 나타내는 순서도이다. 도 3에 도시된 바와 같이, 교사 모델 및 학생 모델의 학습을 위한 방법은 복수의 단계들(S20, S40, S60, S80)을 포함할 수 있다. 이하에서, 도 3은 도 1을 참조하여 설명될 것이다.
도 3을 참조하면, 단계 S20에서 교사 모델(12)이 일련의 블록들로 분할될 수 있다. 예를 들면, 교사 모델(12)은 복수의 레이어들을 포함할 수 있고, 복수의 레이어들 각각은 이전 레이어가 출력한 피처를 처리함으로써 생성한 피처를 후속 레이어에 제공할 수 있다. 일련의 블록들 각각은 복수의 레이어들 중 적어도 하나를 포함할 수 있고, 후속 블록에 제공되는 피처를 출력할 수 있다. 본 명세서에서, 교사 모델(12)의 적어도 하나의 레이어를 포함하는 블록은 교사 블록으로서 지칭될 수 있고, 이에 따라 교사 모델(12)은 일련의 교사 블록들로 분할될 수 있다. 일부 실시예들에서, 교사 모델(12)은 auto ML에 의해 분할될 수 있다.
일부 실시예들에서, 교사 모델(12)은 학생 모델의 학습에 기초하여 일련의 블록들로 분할될 수 있다. 예를 들면, 도 1을 참조하여 설명된 지식 증류의 두 번째 단계, 즉 학생 모델(13)의 학습에서, 교사 모델(12)의 소프트 출력(qT) 및 학생 모델(13)의 소프트 출력(qS)뿐만 아니라, 교사 모델(12)의 내부 레이어들에서 출력되는 피처들에 기초하여 학습될 수 있다. 교사 모델(12)의 내부 레이어들에서 출력되는 피처들 역시 학습 데이터(11)에 의해서 발생한 지식을 포함할 수 있고, 교사 모델(12)에 근접한 학생 모델(13)을 생성하기 위하여, 교사 모델(12)의 내부에서 출력되는 피처들이 사용될 수 있다. 이를 위하여, 교사 모델(12)은 적어도 하나의 레이어를 각각 포함하는 일련의 블록들로 분할될 수 있고, 도 1에서 교사 모델(12) 및 학생 모델(13) 사이에 도시된 화살표들과 같이, 일련의 블록들 각각이 출력하는 피처들이 학생 모델(13)의 학습에 사용될 수 있다.
단계 S40에서, 적어도 하나의 학생 브랜치가 생성될 수 있다. 학생 브랜치는 교사 모델(12)로부터 분기될 수 있고, 교사 모델(12)로부터 제공된 피처로부터 출력, 예컨대 소프트 출력을 생성할 수 있다. 학생 브랜치는 학생 모델(13)과 유사한 구조를 가질 수 있고, 예컨대 학생 모델(13)에 포함되는 레이어와 동일한 구조의 레이어를 포함할 수 있다. 전술된 교사 모델(12)과 유사하게, 학생 블록(13)은, 교사 모델(12)의 일련의 교사 블록들에 각각 대응하는, 일련의 블록들로 분할될 수 있다. 본 명세서에서, 학생 모델(13)의 적어도 하나의 레이어를 포함하는 블록은 학생 블록으로서 지칭될 수 있고, 이에 따라 학생 모델(13)은 일련의 학생 블록들로 분할될 수 있다. 학생 브랜치는 학생 모델(13)의 적어도 하나의 학생 블록과 동일한 구조의 블록을 포함할 수 있고, 학생 브랜치에 포함된 적어도 하나의 블록은 교사 모델(12)의 적어도 하나의 교사 블록에 대응할 수 있다. 학생 브랜치의 예시들이 도 4를 참조하여 후술될 것이다.
단계 S60에서, 교사 모델(12) 및 적어도 하나의 학생 브랜치의 출력들에 기초하여 교사 모델(12)이 학습될 수 있다. 전술된 바와 같이, 단계 S40에서 생성된 학생 브랜치는 학생 모델(13)과 유사한 구조를 가질 수 있고, 이에 따라, 독립적으로 학습된 도 2의 교사 모델(22)과 상이하게, 학생 브랜치의 출력(예컨대, 소프트 출력)이 교사 모델(12)의 학습에 사용됨으로써 교사 모델(12)은 학생 친화적으로 학습될 수 있다. 일부 실시예들에서, 교사 모델(12)의 학습에 복수의 손실 함수들이 사용될 수 있고, 단계 S60의 예시가 도 5를 참조하여 후술될 것이다.
단계 S80에서, 학습된 교사 모델(12)에 기초하여 학생 모델(13)이 학습될 수 있다. 단계 S60에서 학생 친화적으로 학습된 교사 모델(12)에 기인하여, 학생 모델(13)이 학습하기 용이한 지식(예컨대, 피처)이 교사 모델(12)로부터 학생 모델에 제공될 수 있고, 이에 따라 학습 모델(13)의 성능이 향상될 수 있다. 단계 S80의 예시가 도 7을 참조하여 후술될 것이다.
일부 실시예들에서, 도 3의 방법은 컴퓨터 시스템(예컨대, 도 9의 90)에 의해서 수행될 수 있다. 예를 들면, 컴퓨터 시스템은 메모리 및 적어도 하나의 프로세서를 포함할 수 있고, 적어도 하나의 프로세서는 메모리에 저장된 일련의 명령어들을 실행함으로써 도 3의 방법을 수행할 수 있다. 또한, 일부 실시예들에서, 프로세서에 의해서 실행시 도 3의 방법이 수행되도록 하는 일련의 명령어들이 저장된, 비일시적인(non-transitory) 컴퓨터-독출가능 저장 매체가 제공될 수 있다. 예를 들면, 비일시적 컴퓨터-독출가능 저장 매체는, 플래시 메모리 등과 같은 반도체 메모리 장치를 포함할 수도 있고, CD(compact disc), DVD(digital versatile disc or digital video disc), 블루레이(Blu-ray disc) 등과 같은 광학 디스크, 자기 디스크 등을 포함할 수 있다.
도 4는 본 개시의 예시적 실시예에 따른 모델 압축의 예시를 나타내는 도면이다. 구체적으로, 도 4는 모델 압축의 예시로서 지식 증류에서, 학습 데이터(31)로부터 학생 브랜치를 사용하여 교사 모델(32)을 학습시키는 동작을 나타낸다. 도 5의 예시에서, 교사 모델(32)은 제1 학생 브랜치(33) 및 제2 학생 브랜치(34)에 기초하여 학습될 수 있다.
도 3을 참조하여 전술된 바와 같이, 교사 모델(32)은 복수의 교사 블록들로 분할될 수 있다. 예를 들면, 도 4에 도시된 바와 같이, 교사 모델(32)은 제1 교사 블록(BT1), 제2 교사 블록(BT2) 및 제3 교사 블록(BT3)으로 분할될 수 있고, 제1 교사 블록(BT1), 제2 교사 블록(BT2) 및 제3 교사 블록(BT3)은 적어도 하나의 레이어를 각각 포함할 수 있다. 제1 교사 블록(BT1)은 학습 데이터(31)를 처리함으로써 제1 교사 피처(FT1)를 제2 교사 블록(BT2)에 제공할 수 있고, 제2 교사 블록(BT2)은 제1 교사 피처(FT1)를 처리함으로써 제2 교사 피처(FT2)를 제3 교사 블록(BT3)에 제공할 수 있으며, 제3 교사 블록(BT3)은 제2 교사 피처(FT2)를 처리함으로써 제3 교사 피처(FT3)를 생성할 수 있다. 일부 실시예들에서, 교사 모델(32)은 소프트맥스 레이어를 더 포함할 수 있고, 소프트맥스 레이어는 제3 교사 피처(FT3)로부터 교사 모델(32)의 소프트 출력(qT)을 생성할 수 있다. 일부 실시예들에서, 교사 모델(32)은 도 4에 도시된 바와 상이한 수의 교사 블록들로 분할될 수도 있다.
학생 브랜치는 적어도 하나의 학생 블록을 포함할 수 있다. 예를 들면, 도 4에 도시된 바와 같이, 제1 학생 브랜치(33)는, 제1 학생 블록(BSB1_1) 및 제2 학생 블록(BSB1_2)을 포함할 수 있다. 또한, 제2 학생 브랜치(34)는 제3 학생 블록(BSB2_1)을 포함할 수 있다. 도 4에 도시된 바와 같이, 학생 블록은 교사 블록보다 낮은 복잡도(예컨대, 보다 적은 레이어들의 수, 보다 작은 레이어 크기)를 가질 수 있다. 또한, 도 4에 도시된 바와 같이, 학생 브랜치는 교사 모델(32)에 포함된 교사 블록으로부터 피처, 즉 교사 피처를 수신할 수 있고, 학생 브랜치에 포함된 학생 블록들의 수는 교사 피처를 제공한 교사 블록에 후속하는 교사 블록들의 수와 일치할 수 있다.
도 4를 참조하면, 제1 학생 브랜치(33)는 교사 모델(32)로부터 제1 교사 피처(FT1)를 수신할 수 있고, 제1 교사 피처(FT1)를 처리함으로써 제1 학생 브랜치(33)의 소프트 출력(qSB1)을 생성할 수 있다. 제1 교사 피처(FT1)를 처리하기 위하여, 제1 학생 브랜치(33)는 제1 변환 레이어(T1)를 포함할 수 있다. 도 4에 도시된 바와 같이, 제1 변환 레이어(T1)는 제1 교사 피처(FT1)를 수신할 수 있고, 제1 교사 피처(FT1)를 학생 블록, 즉 제1 학생 블록(BSB1_1)에 의해서 처리가능한 포맷(예컨대, 도 7의 FS1의 포맷)을 가지는 제1 학생 브랜치 피처(FSB1_1)로 변환할 수 있다. 일부 실시예들에서, 제1 변환 레이어(T1)는 콘볼루션 레이어(convolution layer)를 사용하여 제1 교사 피처(FT1)를 제1 학생 브랜치 피처(FSB1_1)로 변환할 수 있다.
제1 학생 블록(BSB1_1)은, 학생 모델에서 제2 교사 블록(BT2)에 대응하는 학생 블록(예컨대, 도 7의 BS2)과 동일한 구조(예컨대, 동일한 레이어들)를 가질 수 있고, 제1 학생 브랜치 피처(FSB1_1)를 처리함으로써 제2 학생 브랜치 피처(FSB1_2)를 출력할 수 있다. 또한, 제2 학생 블록(BSB1_2)은, 학생 모델에서 교사 모델(32)의 제3 교사 블록(BT3)에 대응하는 학생 블록(예컨대, 도 7의 BS3)과 동일한 구조를 가질 수 있고, 제2 학생 브랜치 피처(FSB1_2)를 처리함으로써 제3 학생 브랜치 피처(FSB1_3)를 출력할 수 있다. 이에 따라, 제1 교사 블록(BT1)으로부터 출력된 제1 교사 피처(FT1)는 제1 학생 브랜치(33)에서, 제2 교사 블록(BT2) 및 제3 교사 블록(BT3)에 각각 대응하는 제1 학생 블록(BSB1_1) 및 제2 학생 블록(BSB1_2)에 의해서 처리될 수 있다. 결과적으로, 제1 학생 브랜치(33)의 소프트 출력(qSB1)은, 교사 모델(32) 및 학생 모델 각각에 의해서 부분적으로 처리된 결과에 대응할 수 있다.
도 4를 참조하면, 제2 학생 브랜치(34)는 교사 모델(32)로부터 제2 교사 피처(FT2)를 수신할 수 있고, 제2 교사 피처(FT2)를 처리함으로써 제2 학생 브랜치(34)의 소프트 출력(qSB2)을 생성할 수 있다. 제2 교사 피처(FT2)를 처리하기 위하여, 제2 학생 브랜치(34)는 제2 변환 레이어(T2)를 포함할 수 있다. 도 4에 도시된 바와 같이, 제2 변환 레이어(T2)는 제2 교사 피처(FT2)를 수신할 수 있고, 제2 교사 피처(FT2)를 학생 블록, 즉 제3 학생 블록(BSB2_1)에 의해서 처리가능한 포맷(예컨대, 도 7의 FS2의 포맷)을 가지는 제4 학생 브랜치 피처(FSB2_1)로 변환할 수 있다.
제3 학생 블록(BSB2_1)은, 학생 모델에서 제3 교사 블록(BT3)에 대응하는 학생 블록(예컨대, 도 7의 BS3)과 동일한 구조(예컨대, 동일한 레이어들)를 가질 수 있고, 제4 학생 브랜치 피처(FSB2_1)를 처리함으로써 제5 학생 브랜치 피처(FSB2_2)를 출력할 수 있다. 이에 따라, 제2 교사 블록(BT2)으로부터 출력된 제2 교사 피처(FT2)는 제2 학생 브랜치(34)에서, 제3 교사 블록(BT3)에 대응하는 제3 학생 블록(BSB2_1)에 의해서 처리될 수 있다. 결과적으로, 제2 학생 브랜치(34)의 소프트 출력(qSB2)은, 교사 모델(32) 및 학생 모델 각각에 의해서 부분적으로 처리된 결과에 대응할 수 있다. 본 명세서에서, 교사 모델(32)의 제1 교사 피처(FT1), 제2 교사 피처(FT2) 및 제3 교사 피처(FT3)는 학생 친화적 피처들로서 지칭될 수도 있다.
교사 모델(32)의 소프트 출력(qT)뿐만 아니라, 제1 학생 브랜치(33)의 소프트 출력(qSB1) 및 제2 학생 브랜치(34)의 소프트 출력(qSB2)이 학습에 사용될 수 있다. 이에 따라, 교사 모델(32)의 제1 교사 블록(BT1), 제2 교사 블록(BT2) 및 제3 교사 블록(BT3)의 파라미터들이 학습될 수 있고, 제1 학생 브랜치(33)의 제1 학생 블록(BSB1_1) 및 제2 학생 블록(BSB_2)의 파라미터들이 학습될 수 있으며, 제2 학생 브랜치(34)의 제3 학생 블록(BSB2_1)의 파라미터들이 학습될 수 있다. 전술된 파라미터들은 손실을 줄이는 것을 목적으로, 기울기 하강(gradient decent) 기법과 같은 임의의 기법에 기초하여 학습될 수 있다. 소프트 출력들(qT, qSB1, qSB2)에 기초한 학습의 예시들이 도 5 및 도 6을 참조하여 후술될 것이다.
도 5는 본 개시의 예시적 실시예에 따라 교사 모델 및 학생 모델의 학습을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 5는 도 3의 단계 S60의 예시를 나타낸다. 도 3을 참조하여 전술된 바와 같이, 도 5의 단계 S60'에서 교사 모델 및 적어도 하나의 학생 브랜치의 출력들에 기초하여 교사 모델이 학습될 수 있다. 도 5에 도시된 바와 같이, 단계 S60'은 복수의 단계들(S62, S64, S66)을 포함할 수 있다. 단계 S60'에 포함된 복수의 단계들(S62, S64, S66)은 순차적으로 수행될 수도 있고, 병렬적으로 수행될 수도 있다.
도 5를 참조하면, 단계 S62에서 교사 모델의 출력 및 레이블 데이터 사이 차이에 기초하여 제1 손실 함수가 계산될 수 있다. 예를 들면, 제1 손실 함수는, 교사 모델의 소프트 출력 및 레이블 데이터 사이 차이에 의존하는 크로스-엔트로피 손실을 정의할 수 있다. 교사 모델 및 학생 브랜치는 제1 손실 함수가 감소하는 방향으로 학습될 수 있고, 이에 따라 교사 모델의 성능이 향상될 수 있다.
단계 S64에서, 교사 모델의 출력 및 학생 브랜치의 출력 사이 차이에 기초하여 제2 손실 함수가 계산될 수 있다. 예를 들면, 제2 손실 함수는, 교사 모델의 소프트 출력이 나타내는 소프트 스코어들의 분포 및 학생 브랜치의 소프트 출력이 나타내는 소프트 스코어들의 분포 사이 차이에 기초할 수 있다. 교사 모델 및 학생 브랜치는 제2 손실 함수가 감소하는 방향으로 학습될 수 있고, 이에 따라 교사 모델의 소프트 출력이 나타내는 소프트 스코어들의 분포가 학생 모델의 구조에 영향을 받을 수 있고, 교사 모델이 학생 모델로부터 이질화되는 것이 방지될 수 있다. 일부 실시예들에서, 제2 손실 함수는, 교사 모델의 출력 및 학생 브랜치의 출력 사이 차이에 의존하는 KLD(Kullback-Leibler divergence) 손실을 정의할 수 있다. 도 4를 참조하여 전술된 바와 같이, 교사 모델에 복수의 학생 브랜치들이 연결된 경우, 복수의 학생 브랜치들 각각에 대응하는 제2 손실 함수가 계산될 수 있다.
단계 S66에서, 학생 브랜치의 출력 및 레이블 데이터 사이 차이에 기초하여 제3 손실 함수가 계산될 수 있다. 예를 들면, 제3 손실 함수는, 학생 브랜치의 소프트 출력 및 레이블 데이터 사이 차이에 의존하는 크로스-엔트로피 손실을 정의할 수 있다. 교사 모델 및 학생 브랜치는 제3 손실 함수가 감소하는 방향으로 학습될 수 있고, 이에 따라 추후 학생 모델에 의해서 학습될 교사 피처(또는 학생 친화적 피처)가 학습될 수 있다.
도 6은 본 개시의 예시적 실시예에 따라 교사 모델을 학습하는 동작을 나타내는 도면이다. 구체적으로, 도 6은 도 4의 교사 모델(32)의 소프트 출력(qT), 제1 학생 브랜치(33)의 소프트 출력(qSB1), 제2 학생 브랜치(34)의 소프트 출력(qSB2) 및 레이블 데이터(LA)에 기초하여 계산되는 손실들을 나타낸다. 일부 실시예들에서, 도 6에 도시된 손실들은 도 5의 단계 S60'에서 계산될 수 있고, 이하에서, 도 6은 도 4 및 도 5를 참조하여 설명될 것이다.
교사 모델(32)의 소프트 출력(qT) 및 레이블 데이터(LA) 사이 차이에 기초한 제1 손실(L1)이 계산될 수 있다. 예를 들면, 제1 손실(L1)은 도 5의 단계 S62에서 계산될 수 있고, 크로스-엔트로피 손실에 대응할 수 있다. 도 5를 참조하여 전술된 바와 같이, 제1 손실(L1)은 교사 모델(32)의 성능에 대응할 수 있고, 교사 모델(32)은 제1 손실(L1)이 감소하도록 학습될 수 있다.
교사 모델(32)의 소프트 출력(qT) 및 제1 학생 브랜치(33)의 소프트 출력(qSB1)사이 차이에 기초하여 제2 손실(L2)이 계산될 수 있다. 또한, 교사 모델(32)의 소프트 출력(qT) 및 제2 학생 브랜치(34)의 소프트 출력(qSB2) 사이 차이에 기초하여 제3 손실(L3)이 계산될 수 있다. 예를 들면, 제2 손실(L2) 및 제3 손실(L3)은 도 6의 단계 S64에서 계산될 수 있다. 도 5를 참조하여 전술된 바와 같이, 제2 손실(L2) 및 제3 손실(L3)은 교사 모델(32) 및 학생 모델 사이 이질화 정도에 대응할 수 있고, 교사 모델(32)은 제2 손실(L2) 및 제3 손실(L3)이 감소하도록 학습될 수 있다.
제1 학생 브랜치(33)의 소프트 출력(qSB1) 및 레이블 데이터(LA)에 기초하여 제4 손실(L4)이 계산될 수 있다. 또한, 제2 학생 브랜치(34)의 소프트 출력(qSB2) 및 레이블 데이터(LA)에 기초하여 제5 손실(L5)이 계산될 수 있다. 예를 들면, 제4 손실(L4) 및 제5 손실(L5)은 도 6의 단계 S66에서 계산될 수 있다. 도 5를 참조하여 전술된 바와 같이, 교사 모델(32)은 제4 손실(L4) 및 제5 손실(L5)이 감소하도록 학습될 수 있고, 이에 따라 학생 친화적인 제1 교사 피처(FT1) 및 제2 교사 피처(FT2)가 학습될 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 모델 압축의 예시를 나타내는 도면이다. 구체적으로, 도 1은 학생 친화적으로 학습된 교사 모델(72)에 기초하여 학습 데이터(71)로부터 학생 모델(73)을 학습시키는 동작을 나타낸다.
도 7을 참조하면, 학습된 교사 모델(72)은 학습 데이터(71)를 처리함으로써 소프트 출력(qT)을 생성할 수 있고, 제1 교사 블록(BT1), 제2 교사 블록(BT2) 및 제3 교사 블록(BT3)을 포함할 수 있다. 제1 교사 블록(BT1)은 학습 데이터(71)를 처리함으로써 제1 교사 피처(FT1)를 제2 교사 블록(BT2)에 제공할 수 있고, 제2 교사 블록(BT2)은 제1 교사 피처(FT1)를 처리함으로써 제2 교사 피처(FT2)를 제3 교사 블록(BT3)에 제공할 수 있으며, 제3 교사 블록(BT3)은 제2 교사 피처(FT2)를 처리함으로써 제3 교사 피처(FT3)를 생성할 수 있다.
학생 모델(73)은 학습 데이터(71)를 처리함으로써 소프트 출력(qS)을 생성할 수 있고, 교사 모델(72)의 제1 교사 블록(BT1), 제2 교사 블록(BT2) 및 제3 교사 블록(BT3)에 각각 대응하는, 제1 학생 블록(BS1), 제2 학생 블록(BS2) 및 제3 학생 블록(BS3)을 포함할 수 있다. 제1 학생 블록(BS1)은 학습 데이터(71)를 처리함으로써 제1 학생 피처(FS1)를 제2 학생 블록(BS2)에 제공할 수 있고, 제2 학생 블록(BS2)은 제1 학생 피처(FS1)를 처리함으로써 제2 학생 피처(FS2)를 제3 학생 블록(BS3)에 제공할 수 있으며, 제3 학생 블록(BS3)은 제2 학생 피처(FS2)를 처리함으로써 제3 학생 피처(FS3)를 생성할 수 있다.
학생 모델(73)은, 교사 모델(72)의 소프트 출력(qT), 학생 모델(73)의 소프트 출력(qS), 레이블 데이터에 기초하여 학습될 수 있다. 예를 들면, 학생 모델(73)의 소프트 출력(qS) 및 레이블 데이터 사이 차이에 기초한 손실이 계산될 수 있고, 학생 모델(73)의 소프트 출력(qS) 및 교사 모델(72)의 소프트 출력(qT) 사이 차이에 기초한 손실이 계산될 수 있다. 또한, 학생 모델(73)은, 상호 대응하는 교사 피처 및 학생 피처에 기초하여 학습될 수 있다. 예를 들면, 학생 모델(73)은, 도 7에 도시된 바와 같이, 제1 학생 피처(FS1), 제2 학생 피처(FS2) 및 제3 학생 피처(FS3)가 제1 교사 피처(FT1), 제2 교사 피처(FT2) 및 제3 교사 피처(FT3)에 각각 근접하도록, 학습될 수 있다.
도면들을 참조하여 전술된 바와 같이, 교사 모델(72)은 적어도 하나의 학생 브랜치를 사용하여 학습될 수 있고, 이에 따라 학습된 교사 모델(72)의 소프트 출력(qT)뿐만 아니라 제1 교사 피처(FT1), 제2 교사 피처(FT2) 및 제3 교사 피처(FT3)는 학생 친화적일 수 있다. 도 8을 참조하여 후술되는 바와 같이, 학생 친화적 교사 모델로서 교사 모델(72)에 기초하여 학습된 학생 모델(73)은 개선된 성능을 가질 수 있다.
도 8은 본 개시의 예시적 실시예에 따라 교사 모델 및 학생 모델 사이 유사도를 나타내는 도면이다. 구체적으로, 도 8의 테이블은 학생 모델에 독립적으로 학습된 교사 모델에 기초한(w/o SFTN) 경우 및 도면들을 참조하여 전술된 학생 친화적으로 학습된 교사 모델에 기초한 경우(SFTN) 각각에서 교사 모델 및 학생 모델 사이 유사도를 나타낸다.
도 8을 참조하면, 교사 모델로서 "resnet32x4" 사용될 수 있고, 학생 모델로서 "ShuffleV2"가 사용될 수 있다. 또한, 도 8의 테이블의 최좌측(leftmost) 컬럼에 기재된 학습 데이터를 사용하여 교사 모델 및 학생 모델이 비교될 수 있다. 교사 모델 및 학생 모델 사이 유사도를 측정하기 위한 수치들(metrics) 중, KL(Kullback-Leibler)는 교사 모델의 Cifar100 테스트 세트 출력의 분포 및 학생 모델의 Cifar100 테스트 세트 출력의 분포 사이 차이에 의존할 수 있고, KL의 값이 낮을수록 교사 모델 및 학생 모델이 유사한 것으로 간주될 수 있다. 또한, CKA(Center-Kernel-Alignment)는 교사 모델의 Cifar100 테스트 세트 출력 및 학생 모델의 Cifar100 테스트 세트 출력 사이 유사도에 의존할 수 있고, CKA의 값이 높을수록 교사 모델 및 학생 모델이 유사한 것으로 간주될 수 있다.
도 8에 도시된 바와 같이, 적어도 하나의 학생 브랜치를 사용하여 학습된 교사 모델, 즉 학생 친화적 교사 모델이 사용된 경우(SFTN)가, 학생 모델에 독립적으로 학습된 교사 모델이 사용된 경우(w/o SFTN)보다 낮은 KL 값들 및 높은 CKA 값들을 가질 수 있다. 예를 들면, 학생 친화적 교사 모델이 사용된 경우(SFTN) KL 평균은 약 0.41이고, CKA 평균은 0.95인 한편, 그렇지 아니한 경우(w/o SFTN) KL 평균은 약 0.86이고, CKA 평균은 약 0.89일 수 있다. 이에 따라, 학생 친화적 교사 모델에 기인하여 교사 모델의 지식 및/또는 피처가 학생 모델에 보다 잘 전달되는 것을 확인할 수 있다.
도 9는 본 개시의 예시적 실시예에 따른 컴퓨터 시스템(90)을 나타내는 블록도이다. 일부 실시예들에서, 도 9의 컴퓨터 시스템(90)은 도면들을 참조하여 전술된 교사 모델 및/또는 학생 모델의 학습을 수행할 수 있고, 모델 학습 시스템, 지식 증류 시스템 등으로 지칭될 수 있다.
컴퓨터 시스템(10)은 범용 또는 특수 목적 컴퓨팅 시스템을 포함하는 임의의 시스템을 지칭할 수 있다. 예를 들면, 컴퓨터 시스템(10)은 퍼스널 컴퓨터, 서버 컴퓨터, 랩탑 컴퓨터, 가전 제품 등을 포함할 수 있다. 도 9에 도시된 바와 같이, 컴퓨터 시스템(90)은, 적어도 하나의 프로세서(91), 메모리(92), 스토리지 시스템(93), 네트워크 어댑터(94), 입출력 인터페이스(95) 및 디스플레이(96)를 포함할 수 있다.
적어도 하나의 프로세서(91)는, 컴퓨터 시스템 실행가능 명령어를 포함하는 프로그램 모듈을 실행할 수 있다. 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는, 루틴들, 프로그램들, 객체들, 컴포넌트들, 로직, 데이터 구조 등을 포함할 수 있다. 메모리(92)는 RAM(random access memory)와 같은 휘발성 메모리 형태의 컴퓨터 시스템 판독 가능 매체를 포함할 수 있다. 적어도 하나의 프로세서(91)는 메모리(92)에 액세스할 수 있고, 메모리(92)에 로딩된 명령어들을 실행할 수 있다. 저장 시스템(93)은 비휘발적으로 정보를 저장할 수 있고, 일부 실시예들에서 도면들을 참조하여 전술된 교사 모델 및/또는 학생 모델의 학습을 수행하도록 구성된 프로그램 모듈을 포함하는 적어도 하나의 프로그램 제품을 포함할 수 있다. 프로그램은 비제한적인 예시로서, 운영 체제(operating system), 적어도 하나의 어플리케이션, 기타 프로그램 모듈들 및 프로그램 데이터를 포함할 수 있다.
네트워크 어댑터(94)는, LAN(local area network), WAN(wide area network) 및/또는 공용 네트워크(예컨대, 인터넷) 등에 대한 접속을 제공할 수 있다. 입출력 인터페이스(95)는, 키보드, 포인팅 장치, 오디오 시스템 등과 같은 주변장치와의 통신 채널을 제공할 수 있다. 디스플레이(96)는 사용자가 확인할 수 있도록 다양한 정보를 출력할 수 있다.
일부 실시예들에서, 도면들을 참조하여 전술된 교사 모델 및/또는 학생 모델의 학습은 컴퓨터 프로그램 제품으로 구현될 수 있다. 컴퓨터 프로그램 제품은 적어도 하나의 프로세서(91)가 교사 모델 및/또는 학생 모델의 학습을 수행하게하기 위한 컴퓨터 독출가능 프로그램 명령어들을 포함하는 컴퓨터 독출가능 매체(또는 저장 매체)를 포함할 수 있다. 컴퓨터 독출가능 명령어는 비제한적인 예시로서, 어셈블러 명령어, ISA(instruction set architecture) 명령어, 기계 명령어, 기계 종속 명령어, 마이크로 코드, 펌웨어 명령어, 상태 설정 데이터, 또는 적어도 하나의 프로그래밍 언어로 작성된 소스 코드 또는 객체 코드일 수 있다.
컴퓨터 독출가능 매체는, 적어도 하나의 프로세서(91) 또는 임의의 명령어 실행가능 장치에 의해서 실행되는 명령어들을 비일시적으로 보유하고 저장할 수 있는 임의의 유형의 매체일 수 있다. 컴퓨터 독출가능 매체는, 전자 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치, 또는 이들의 임의의 조합일 수 있으나, 이에 제한되지 아니한다. 예를 들면, 컴퓨터 독출가능 매체는, 휴대용 컴퓨터 디스켓, 하드 디스크, RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable read only memory), 플래시 메모리, SRAM(static random access memory), CD, DVD, 메모리 스틱, 플로피 디스크, 펀치 카드와 같이 기계적으로 인코딩된 장치 또는 이들의 임의의 조합일 수 있다.
도 10은 본 개시의 예시적 실시예에 따라 반도체 공정에 의해서 집적 회로가 제조되는 과정을 나타내는 도면이다. 구체적으로, 도 10의 좌측은 반도체 공정에 의해서 형성되는 구조의 단면도들을 순차적으로 나타내고, 도 10의 우측은 반도체 공정에 의해서 형성되는 구조의 평면도들을 순차적으로 나타낸다. 도 10에 도시된 바와 같이, 집적 회로는 Z축 방향으로 적층되는 복수의 층들에 형성된 패턴들을 포함할 수 있다.
반도체 공정은 집적 회로에 포함된 패턴들을 형성하기 위한 다양한 하위 공정들을 포함할 수 있다. 예를 들면, 반도체 공정은 포토리소그래피(photolithography)를 포함할 수 있고, 포토리소그래피는 광을 사용하여 기하학적인 패턴을 포토마스크(photomask)로부터 감광성(photosensitive) 화학적 포토레지스트(photoresist)에 전사(transferring)함으로써 패턴을 형성하는 공정을 지칭할 수 있다. 포토레지스트는 광이 조사된 부분이 현상액(developer)에 의해서 용해되는 포지티브(positive) 포토레지스트 및 광이 조사되지 아니한 부분이 현상액에 의해서 용해되는 네거티브(negative) 포토레지스트를 포함할 수 있고, 도 10은 포지티브 포토레지스트를 사용하여 산화물(oxide) 층에 "L" 형상을 가지는 제1 패턴(P11)을 형성하기 위한 포토리소그래피의 예시를 나타낸다. 제1 패턴(P11)과 같이, 설계자가 원하는 최적의 형상을 가지는 패턴은 이상적인(ideal) 패턴으로 지칭될 수 있다. 비록 도 10은 산화물 층에 패턴을 형성하는 예시를 도시하나, 다른 층, 예컨대 활성 층, 금속 층 등에도 유사한 방식으로 패턴이 형성될 수 있는 점이 유의된다.
도 10의 좌측을 참조하면, 제1 구조(101)는 순차적으로 적층된 기판, 산화물 층 및 포토레지스트 층을 포함할 수 있다. 예를 들면, 세척된 웨이퍼 상에 산화물 층이 형성될 수 있고, 산화물 층 상에 포지티브 포토레지스트가 도포(application)될 수 있다. 일부 실시예들에서, 포지티브 포토레지스트는 스핀 코팅(spin coating)에 의해서 산화물 층 상에 도포될 수 있다. 일부 실시예들에서, 포토레지스트가 도포된 후, 과잉(excess) 용해제(solvent)를 제거하기 위하여 웨이퍼는 가열될 수 있다.
제1 구조(101) 위로 포토마스크(PM)가 정렬될 수 있고, 정렬된 포토마스크(PM)에 광이 조사됨으로써 제2 구조(102)가 형성될 수 있다. 도 10에 도시된 바와 같이, 포토레지스트 층에서 광에 노출된 포지티브 포토레지스트는 화학적으로 변형될 수 있다. 일부 실시예들에서, 포토마스크(PM)는 레티클(reticle)로서 지칭될 수 있고, 광이 투과될 수 있는 유리 층 상에 또는 유리 층 하에 형성된, 광이 투과하지 아니하는 물질, 예컨대 크롬(Cr)을 포함할 수 있다. 포토마스크(PM)의 개구(opening)를 통과하는 광은 회절(diffraction)할 수 있고, 광의 회절에 기인하는 오류를 보상하기 위하여 OPC(optical proximity correction)가 채용될 수 있다. 예를 들면, 도 10의 우측에 도시된 바와 같이, 제1 패턴(P101)을 형성하기 위하여, OPC가 적용된 제2 패턴(P102)이 포토마스크(PM)에 형성될 수 있고, 제2 패턴(P102)은 제1 패턴(P101)과 상이한 형상을 가질 수 있다. 제2 패턴(P102)은 OPC 등을 고려하여 설계된 형상을 가질 수 있고, 설계(design) 패턴으로서 지칭될 수 있다.
제2 구조(102)에 현상액이 제공될 수 있고, 이에 따라 포토레지스트 층에서 광이 조사된 부분은 현상액에 의해서 용해될 수 있으며, 제2 구조(102)에서 제거될 수 있다. 이에 따라, 도 1에 도시된 바와 같이, 포토레지스트 층에서 제3 패턴(P103)이 형성될 수 있다. 포토레지스트 층에서 광에 의해서 화학적으로 변형된 부분을 현상액을 통해 제거하는 공정은 현상(developing)으로 지칭될 수 있고, 현상이 완료된 구조, 즉 제3 구조(103)는 ADI(after develop inspection) 상태에 있는 것으로 지칭될 수 있고, 제3 패턴(P103)은 ADI 상태의 패턴으로서 지칭될 수 있다. 일부 실시예들에서, 현상액은. 포토레지스트처럼 스피너(spinner)에 의해서 제공될 수 있다.
제3 구조(103)에서 식각(etching)이 수행될 수 있고, 이에 따라 산화물 층에서 포토레지스트에 의해서 보호되지 아니한 부분이 식각될 수 있다. 식각은 습식(wet)(또는 액상(liquid)) 식각 및 건식(dry)(또는 플라즈마(plasma)) 식각을 포함할 수 있고, 포토레지스트에 의해서 보호되지 아니한 최상위 층의 부분을 제거하는데 사용될 수 있다. 식각이 완료된 후, 포토레지스트가 제거될 수 있고, 이에 따라 도 10에 도시된 바와 같이, 산화물 층에서 제4 패턴(P104)이 형성될 수 있다. 포토레지스트를 제거하는 공정은 세척(cleaning)으로 지칭될 수 있고, 세척이 완료된 구조, 즉 제4 구조(104)는 ACI(after clean inspection) 상태에 있는 것으로 지칭될 수 있고, 제4 패턴(P104)은 ACI 상태의 패턴으로서 지칭될 수 있다. 일부 실시예들에서 잔여(residual) 용해제를 제거하기 위하여 웨이퍼는 가열될 수 있다. 전술된 바와 같이, 제3 패턴(P103) 및 제4 패턴(P104)은 하위 공정들에 의해서 실제 형성되는 패턴들에 각각 대응할 수 있고, 물리적(physical) 패턴들로서 지칭될 수 있다.
도 10에 도시된 바와 같이, 하위 공정들이 수행됨에 따라 패턴의 형상이 변화할 수 있고, 이는 패턴의 변형(transformation)으로 모델링될 수 있다. 예를 들면, 이상적인 패턴에 대응하는 제1 패턴(P101)은 OPC가 적용됨으로써 제2 패턴(P102)으로 변형될 수 있고, 제2 패턴(P102)은 조사 및 현상에 의해서 ADI 상태의 제3 패턴(P103)으로 변형될 수 있다. 또한, 제3 패턴(P103)은 식각 및 세척에 의해서 ACI 상태의 제4 패턴(P104)으로 변형될 수 있다. 결과적으로, 제4 패턴(P104)은 이상적인 패턴, 즉 제1 패턴(P101)과 상이한 형상을 가질 수 있고, 제4 패턴(P104)이 제1 패턴(P110)과 가장 유사한 형상을 가지도록, 제2 패턴(P102)의 형상을 판정하는 것이 중요할 수 있다.
포토마스크(PM)를 통과하는 광의 회절에 기인하는 오류를 시뮬레이션함으로써, 포토마스크(PM) 상의 패턴, 즉 제2 패턴(P102)으로부터 ADI 상태의 패턴, 즉 제3 패턴(P103)을 추정하는 것은 ORC(optical rule check)로서 지칭될 수 있다. ORC에 의해서 제3 패턴(P103), 즉 포토레지스트 층의 패턴이 추정될 수 있으나, 시뮬레이션의 정확도뿐만 아니라 식각 및 세척 이후 형성되는 제4 패턴(P104)을 ORC에 의해서 추정하는 것은 한계가 있을 수 있다. OPC 역시 광의 회절에 기인하는 오류를 시뮬레이션함으로써 ADI 상태의 제3 패턴(P103)을 형성하기 위한 제2 패턴(P102)이 추정될 수 있으나, 시뮬레이션의 정확도뿐만 아니라 최종적인 제4 패턴(P104)을 고려하여 제2 패턴(P102)을 추정하는 것은 한계가 있을 수 있다.
일부 실시예들에서, 도면들을 참조하여 전술된 바에 따라 학습된 학생 모델은 반도체 공정을 모델링하는데 사용될 수 있다. 예를 들면, 반도체 공정에 의해서 제조되는 집적 회로의 설계 패턴의 이미지들 및/또는 물리적 패턴의 이미지들이 학습 데이터로서 교사 모델에 제공될 수 있고, 교사 모델이 학생 친화적으로 학습될 수 있다. 또한, 학습된 교사 모델 및 학생 모델에 집적 회로의 설계 패턴의 이미지들 및/또는 물리적 패턴의 이미지들이 학습 데이터로서 제공될 수 있고, 높은 성능을 제공하는 학생 모델이 학습될 수 있다. 이에 따라, 한정된 자원들에 기초하여, 설계 패턴에 의해서 발생하는 다양한 현상들이 정확하게 추정될 수 있고, 물리적 패턴을 유발시킨 다양한 인자들이 정확하게 추정될 수 있다. 결과적으로 집적 회로의 생산성 및 신뢰도가 향상될 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 장치(110)를 나타내는 블록도이다. 일부 실시예들에서, 본 개시의 예시적 실시예에 따라 학습된 학생 모델은 장치(110)에서 실행될 수 있다. 이에 따라, 장치(110)는 한정된 자원들을 사용하여 높은 성능의 기계 학습 모델을 실행할 수 있고, 기계 학습 모델에 기반한 다양하고 유용한 기능들을 용이하게 제공할 수 있다.
도 11을 참조하면, 장치(110)는 적어도 하나의 프로세서(111), 메모리(113), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117)를 포함할 수 있고, 적어도 하나의 프로세서(111), 메모리(113), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117)는 버스(119)를 통해서 상호 통신할 수 있다. 일부 실시예들에서, 적어도 하나의 프로세서(111), 메모리(113), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117)는 하나의 반도체 칩에 포함될 수도 있다. 또한, 일부 실시예들에서, 적어도 하나의 프로세서(111), 메모리(113), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117) 중 적어도 2개는 기판(board)에 장착된 2이상의 반도체 칩들에 각각 포함될 수도 있다.
적어도 하나의 프로세서(111)는 명령어들을 실행할 수 있다. 예를 들면, 적어도 하나의 프로세서(111)는 메모리(113)에 저장된 명령어들을 실행함으로써 운영 체제(operating system)를 실행할 수도 있고, 운영 체제 상에서 실행되는 어플리케이션들을 실행할 수도 있다. 일부 실시예들에서, 적어도 하나의 프로세서(111)는 명령어들을 실행함으로써, AI 가속기(115) 및/또는 하드웨어 가속기(117)에 작업을 지시할 수 있고, AI 가속기(115) 및/또는 하드웨어 가속기(117)로부터 작업의 수행 결과를 획득할 수도 있다. 일부 실시예들에서, 적어도 하나의 프로세서(111)는 특정한 용도를 위하여 커스텀화된 ASIP(Application Specific Instruction set Processor)일 수 있고, 전용의 명령어 세트(instruction set)를 지원할 수도 있다.
메모리(113)는 데이터를 저장하는 임의의 구조를 가질 수 있다. 예를 들면, 메모리(113)는, DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등과 같은 휘발성 메모리 장치를 포함할 수도 있고, 플래시 메모리, RRAM(Resistive Random Access Memory) 등과 같은 비휘발성 메모리 장치를 포함할 수도 있다. 적어도 하나의 프로세서(111), AI(Artificial Intelligence) 가속기(115) 및 하드웨어 가속기(117)는 버스(119)를 통해서 메모리(113)에 데이터(예컨대, 도 2의 IN, IMG_I, IMG_O, OUT)를 저장하거나 메모리(113)로부터 데이터(예컨대, 도 2의 IN, IMG_I, IMG_O, OUT)를 독출할 수 있다.
AI 가속기(115)는 AI 어플리케이션들을 위해 설계된 하드웨어를 지칭할 수 있다. 일부 실시예들에서, AI 가속기(115)는 뉴로모픽(neuromorphic) 구조를 구현하기 위한 NPU(Neural Processing Unit)를 포함할 수 있고, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)로부터 제공된 입력 데이터를 처리함으로써 출력 데이터를 생성할 수 있고, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)에 출력 데이터를 제공할 수 있다. 일부 실시예들에서, AI 가속기(115)는 프로그램가능할 수 있고, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)에 의해서 프로그램될 수 있다.
하드웨어 가속기(117)는 특정 작업을 고속으로 수행하기 위하여 설계된 하드웨어를 지칭할 수 있다. 예를 들면, 하드웨어 가속기(117)는 복조, 변조, 부호화, 복호화 등과 같은 데이터 변환을 고속으로 수행하도록 설계될 수 있다. 하드웨어 가속기(117)는 프로그램가능할 수 있고, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)에 의해서 프로그램될 수 있다.
일부 실시예들에서, AI 가속기(115)는 학생 친화적 교사 모델에 기초하여 학습된 학생 모델을 실행할 수 있다. AI 가속기(115)는 임의의 입력, 예컨대 이미지, 텍스트 세그먼트, 사운드 샘플을 처리함으로써 유용한 정보를 포함하는 출력을 생성할 수 있다. 또한, 일부 실시예들에서 AI 가속기(115)가 실행하는 학생 모델의 적어도 일부는, 적어도 하나의 프로세서(111) 및/또는 하드웨어 가속기(117)에 의해서 실행될 수도 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.

Claims (20)

  1. 교사 모델 및 학생 모델을 학습시키기 위한 시스템으로서,
    명령어들을 저장하는 메모리; 및
    상기 메모리에 액세스하도록 구성되고, 상기 명령어들을 실행함으로써,
    적어도 하나의 레이어를 각각 포함하는 일련의 교사 블록들로 상기 교사 모델을 분할하고,
    상기 일련의 교사 블록들 중 제1 교사 블록이 출력하는 제1 피처(feature)를 수신하는 제1 학생 브랜치를 생성하고,
    상기 교사 모델 및 상기 제1 학생 브랜치의 출력들에 기초하여 상기 교사 모델을 학습시키고,
    학습된 상기 교사 모델에 기초하여, 일련의 학생 블록들을 포함하는 상기 학생 모델을 학습시키도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 제1 학생 브랜치는, 적어도 하나의 학생 블록을 포함하는 것을 특징으로 하는 시스템.
  2. 청구항 1에 있어서,
    상기 제1 학생 브랜치에 포함된 학생 블록들의 수는, 상기 일련의 교사 블록들 중 상기 제1 교사 블록에 후속하는 교사 블록들의 수와 동일한 것을 특징으로 하는 시스템.
  3. 청구항 2에 있어서,
    상기 제1 학생 브랜치는, 상기 일련의 교사 블록들 중 상기 제1 교사 블록에 후속하는 적어도 하나의 교사 블록에 대응하는 상기 적어도 하나의 학생 블록을 포함하는 것을 특징으로 하는 시스템.
  4. 청구항 1에 있어서,
    상기 프로세서는 상기 명령어들을 실행함으로써,
    상기 일련의 교사 블록들 중 제2 교사 블록이 출력하는 제2 피처를 수신하는 제2 학생 브랜치를 생성하고,
    상기 교사 모델의 출력, 상기 제1 학생 브랜치의 출력 및 상기 제2 학생 브랜치의 출력에 기초하여 상기 교사 모델을 학습시키도록 구성되고,
    상기 제2 학생 브랜치는, 적어도 하나의 학생 블록을 포함하는 것을 특징으로 하는 시스템.
  5. 청구항 1에 있어서,
    상기 제1 학생 브랜치는, 상기 제1 피처를 변환하고 변환된 상기 제1 피처를 상기 적어도 하나의 학생 블록에 제공하는, 변환 레이어를 포함하는 것을 특징으로 하는 시스템.
  6. 교사 모델 및 학생 모델을 학습시키기 위한 컴퓨터로 구현되는(computer-implemented) 방법으로서,
    적어도 하나의 레이어를 각각 포함하는 일련의 교사 블록들로 상기 교사 모델을 분할하는 단계;
    상기 일련의 교사 블록들 중 제1 교사 블록이 출력하는 제1 피처(feature)를 수신하는 제1 학생 브랜치(branch)를 생성하는 단계;
    상기 교사 모델 및 상기 제1 학생 브랜치의 출력들에 기초하여 상기 교사 모델을 학습시키는 단계; 및
    학습된 상기 교사 모델에 기초하여, 적어도 하나의 레이어를 각각 포함하는 일련의 학생 블록들을 포함하는 상기 학생 모델을 학습시키는 단계를 포함하고,
    상기 제1 학생 브랜치는, 적어도 하나의 학생 블록을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 청구항 6에 있어서,
    상기 제1 학생 브랜치에 포함된 학생 블록들의 수는, 상기 일련의 교사 블록들 중 상기 제1 교사 블록에 후속하는 교사 블록들의 수와 동일한 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 청구항 7에 있어서,
    상기 제1 학생 브랜치는, 상기 일련의 교사 블록들 중 상기 제1 교사 블록에 후속하는 적어도 하나의 교사 블록에 대응하는 상기 적어도 하나의 학생 블록을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 청구항 6에 있어서,
    상기 일련의 교사 블록들 중 제2 교사 블록이 출력하는 제2 피처를 수신하는 제2 학생 브랜치를 생성하는 단계를 더 포함하고,
    상기 교사 모델을 학습시키는 단계는, 상기 교사 모델의 출력, 상기 제1 학생 브랜치의 출력 및 상기 제2 학생 브랜치의 출력에 기초하고,
    상기 제2 학생 브랜치는, 적어도 하나의 학생 블록을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 청구항 9에 있어서,
    상기 제2 학생 브랜치에 포함된 블록들의 수는, 상기 제1 학생 브랜치에 포함된 블록들의 수와 상이한 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 청구항 6에 있어서,
    상기 제1 학생 브랜치는, 상기 제1 피처를 변환하고 변환된 상기 제1 피처를 상기 적어도 하나의 학생 블록에 제공하는, 변환 레이어를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 청구항 6에 있어서,
    상기 교사 모델을 학습시키는 단계는, 상기 교사 모델의 출력 및 레이블(label) 데이터 사이 차이에 기초하여 제1 손실 함수를 계산하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 청구항 6에 있어서,
    상기 교사 모델을 학습시키는 단계는, 상기 교사 모델의 출력 및 상기 제1 학생 브랜치의 출력 사이 차이에 기초하여 제2 손실 함수를 계산하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 청구항 6에 있어서,
    상기 교사 모델을 학습시키는 단계는, 상기 제1 학생 브랜치의 출력 및 레이블 데이터 사이 차이에 기초하여 제3 손실 함수를 계산하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 청구항 6에 있어서,
    상기 교사 모델을 학습시키는 단계는, 반도체 공정에 의해서 제조되는 집적 회로의 설계 패턴 이미지들 및/또는 물리적 패턴 이미지들을 상기 교사 모델에 제공하는 단계를 포함하고,
    상기 학생 모델을 학습시키는 단계는, 상기 설계 패턴 이미지들 및/또는 상기 물리적 패턴 이미지들을 학습된 상기 교사 모델 및 상기 학생 모델에 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  16. 적어도 하나의 프로세서에 의해서 실행가능한 명령어들을 포함하는 비일시적 컴퓨터-독출가능 저장 매체로서,
    상기 명령어들은, 적어도 하나의 프로세서로 하여금 교사 모델 및 학생 모델을 학습시키기 위한 동작들을 수행하도록 하고,
    상기 교사 모델 및 학생 모델을 학습시키기 위한 동작들은,
    적어도 하나의 레이어를 각각 포함하는 일련의 교사 블록들로 상기 교사 모델을 분할하는 단계;
    상기 일련의 교사 블록들 중 제1 교사 블록이 출력하는 제1 피처(feature)를 수신하는 제1 학생 브랜치(branch)를 생성하는 단계;
    상기 교사 모델 및 상기 제1 학생 브랜치의 출력들에 기초하여 상기 교사 모델을 학습시키는 단계; 및
    학습된 상기 교사 모델에 기초하여, 적어도 하나의 레이어를 각각 포함하는 일련의 학생 블록들을 포함하는 상기 학생 모델을 학습시키는 단계를 포함하고,
    상기 제1 학생 브랜치는, 적어도 하나의 학생 블록을 포함하는 것을 특징으로 하는 비일시적 컴퓨터-독출가능 저장 매체.
  17. 청구항 16에 있어서,
    상기 제1 학생 브랜치에 포함된 학생 블록들의 수는, 상기 일련의 교사 블록들 중 상기 제1 교사 블록에 후속하는 교사 블록들의 수와 동일한 것을 특징으로 하는 비일시적 컴퓨터-독출가능 저장 매체.
  18. 청구항 17에 있어서,
    상기 제1 학생 브랜치는, 상기 일련의 교사 블록들 중 상기 제1 교사 블록에 후속하는 적어도 하나의 교사 블록에 대응하는 상기 적어도 하나의 학생 블록을 포함하는 것을 특징으로 하는 비일시적 컴퓨터-독출가능 저장 매체.
  19. 청구항 16에 있어서,
    상기 교사 모델 및 학생 모델을 학습시키기 위한 동작들은, 상기 일련의 교사 블록들 중 제2 교사 블록이 출력하는 제2 피처를 수신하는 제2 학생 브랜치를 생성하는 단계를 더 포함하고,
    상기 교사 모델을 학습시키는 단계는, 상기 교사 모델의 출력, 상기 제1 학생 브랜치의 출력 및 상기 제2 학생 브랜치의 출력에 기초하고,
    상기 제2 학생 브랜치는, 적어도 하나의 학생 블록을 포함하는 것을 특징으로 하는 비일시적 컴퓨터-독출가능 저장 매체.
  20. 청구항 16에 있어서,
    상기 제1 학생 브랜치는, 상기 제1 피처를 변환하고 변환된 상기 제1 피처를 상기 적어도 하나의 학생 블록에 제공하는, 변환 레이어를 포함하는 것을 특징으로 하는 비일시적 컴퓨터-독출가능 저장 매체.
KR1020200189861A 2020-12-31 2020-12-31 학생 친화적 교사 모델 및 학생 모델의 학습을 위한 시스템 및 방법 KR20220096966A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200189861A KR20220096966A (ko) 2020-12-31 2020-12-31 학생 친화적 교사 모델 및 학생 모델의 학습을 위한 시스템 및 방법
US17/460,698 US20220207431A1 (en) 2020-12-31 2021-08-30 System and method for training student friendly teacher model and student model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200189861A KR20220096966A (ko) 2020-12-31 2020-12-31 학생 친화적 교사 모델 및 학생 모델의 학습을 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20220096966A true KR20220096966A (ko) 2022-07-07

Family

ID=82119321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200189861A KR20220096966A (ko) 2020-12-31 2020-12-31 학생 친화적 교사 모델 및 학생 모델의 학습을 위한 시스템 및 방법

Country Status (2)

Country Link
US (1) US20220207431A1 (ko)
KR (1) KR20220096966A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022183763A (ja) * 2021-05-31 2022-12-13 株式会社東芝 学習装置、方法およびプログラム
CN116110022B (zh) * 2022-12-10 2023-09-05 河南工业大学 基于响应知识蒸馏的轻量化交通标志检测方法及系统

Also Published As

Publication number Publication date
US20220207431A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
KR102184278B1 (ko) 메타학습에 기반한 임의의 목표 데이터셋과 모델 구조로의 전이학습 방법 및 시스템
US11308256B2 (en) Method of post optical proximity correction (OPC) printing verification by machine learning
JP7246392B2 (ja) ニューラルネットワークの関数サブネットワークの同時トレーニング
US9471746B2 (en) Sub-resolution assist feature implementation with shot optimization
JPWO2018051841A1 (ja) モデル学習装置、その方法、及びプログラム
CN113837370B (zh) 用于训练基于对比学习的模型的方法和装置
US20220207431A1 (en) System and method for training student friendly teacher model and student model
US11853660B2 (en) System and method for modeling a semiconductor fabrication process
JP2019159823A (ja) 学習プログラム、学習方法および学習装置
JP2019095600A (ja) 音響モデル学習装置、音声認識装置、それらの方法、及びプログラム
US20210034983A1 (en) Learning device, learning method, and computer program product
Busbridge et al. How to scale your ema
US20230136021A1 (en) Method and system for three-dimensional modeling
CN110376843B (zh) 光刻掩模光学修正的方法、装置及计算机可读存储介质
CN115600090A (zh) 一种模型的所有权验证方法、装置、存储介质及电子设备
JP2023088603A (ja) 機械学習プログラム、機械学習方法および情報処理装置
CN114676835A (zh) 基于模式的神经网络修剪
Karpov et al. Elimination of negative circuits in certain neural network structures to achieve stable solutions
US20240160827A1 (en) Methods of training deep learning models for optical proximity correction, optical proximity correction methods, and methods of manufacturing semiconductor devices using the same
US20240028902A1 (en) Learning apparatus and method
US20220237452A1 (en) Neural network device, information processing device, and computer program product
WO2021176698A1 (ja) 機械学習データ生成プログラム、機械学習プログラム、機械学習データ生成方法、及び抽出装置
Anaya Exploring implementation of n-bit precision binarization convolutional neural networks
CN114781870A (zh) 风控模型训练方法、装置、设备及存储介质
JP2023086030A (ja) ニューラルネットワーク学習装置

Legal Events

Date Code Title Description
A201 Request for examination