KR20220067740A - 사용자가 요청하는 전문화된 경량 신경망 모델을 실시간으로 생성하는 방법 및 장치 - Google Patents

사용자가 요청하는 전문화된 경량 신경망 모델을 실시간으로 생성하는 방법 및 장치 Download PDF

Info

Publication number
KR20220067740A
KR20220067740A KR1020200154285A KR20200154285A KR20220067740A KR 20220067740 A KR20220067740 A KR 20220067740A KR 1020200154285 A KR1020200154285 A KR 1020200154285A KR 20200154285 A KR20200154285 A KR 20200154285A KR 20220067740 A KR20220067740 A KR 20220067740A
Authority
KR
South Korea
Prior art keywords
model
neural network
learning
expert
learned
Prior art date
Application number
KR1020200154285A
Other languages
English (en)
Other versions
KR102574434B9 (ko
KR102574434B1 (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 인하대학교 산학협력단
Priority to KR1020200154285A priority Critical patent/KR102574434B1/ko
Publication of KR20220067740A publication Critical patent/KR20220067740A/ko
Application granted granted Critical
Publication of KR102574434B1 publication Critical patent/KR102574434B1/ko
Publication of KR102574434B9 publication Critical patent/KR102574434B9/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
    • 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

Landscapes

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

Abstract

사용자가 요청하는 전문화된 경량 신경망 모델을 실시간으로 생성하는 방법 및 장치가 개시된다. 일 실시예에 따른 신경망 모델 생성 방법은, 기 학습된 신경망 모델로부터 분류된 각각의 원시 태스크들(primitive task)을 위한 전문가 컴포넌트들을 학습하여 풀을 형성하는 전처리 단계; 및 상기 형성된 풀에 기초하여 사용자로부터 요청된 복합 태스크를 수행하기 위한 전문가 컴포넌트들을 사용자에게 전달하는 서비스 단계를 포함할 수 있다.

Description

사용자가 요청하는 전문화된 경량 신경망 모델을 실시간으로 생성하는 방법 및 장치{METHOD AND APPARATUS FOR REALTIME CONSTRUCTION OF SPECIALIZED AND LIGHTWEIGHT NEURAL NETWORKS FOR QUERIED TASKS}
아래의 설명은 신경망 모델을 생성하는 기술에 관한 것이다.
종래의 증류 기법은 기존의 사전 학습된 대형 신경망인 선생(teacher) 모델의 예측 확률 값을 이용하여 상대적으로 크기가 작은 모델인 학생(student) 모델을 학습하는 기법이다. 지식 증류기법을 통해 학습되는 학생 모델은 선생 모델보다 더 작은 파라미터를 사용하여 선행 모델과 유사한 성능을 낼 수 있기 때문에 신경망 압축 기법으로 활용되고 있다. 이후, 지식 증류기법 기반의 압축 방법들이 활발하게 연구되고 있지만 대부분 선생 모델이 학습한 모든 태스크를 다루는 압축된 학생 모델을 효율적으로 학습하는 것에 초점을 두고 있다.
최근 신경망의 사이즈 및 추론 시간(inference time)을 줄이기 위해 신경망 모델 전문화(model specialization)에 대한 연구가 활발이 이루어지고 있다. 이는 전체 태스크에 대해 일반화된 모델을 생성하지 않고 필요로 하는 부분 태스크들에 대한 소형 모델을 생성하는 것에 목적이 있다. 일례로, 우선 전체 태스크에 대해 일반화된 모델을 기존의 압축기법들을 통해 압축한 이후, 특정 부분 태스크들에 대한 데이터만을 추출하여 압축된 일반화 모델의 출력층(output layer)을 재학습하여 전문화된 모델을 생성한다. 다른 예로서, 입력으로 전문화를 원하는 특정 부분 태스크들에 대한 샘플 데이터와 전체 태스크에 대해 사전 학습된 일반화된 모델을 받고 일반화된 모델을 사용해 샘플 데이터의 정답 레이블을 생성한다. 이후 다양한 소형 신경망 구조를 전문화된 모델의 후보군으로 두고 샘플 데이터를 통해 학습한 후 최적의 신경망을 선택하는 방법이다. 이러한 방법들은 모델 전문화를 위한 데이터와 추가적인 학습 과정이 필요하다.
서로 다른 태스크를 학습한 모델들을 하나로 병합하는 분야는 최근 주목받고 있는 분야 중 하나이다. 상기 서로 다른 태스크를 학습한 모델들을 하나로 병합하는 방법은 모두 지식 증류기법을 확장하여 서로 다른 태스크를 학습한 모델들의 예측 결과값을 하나의 결과값으로 통합하고 그 결과값을 이용하여 하나의 병합된 모델을 생성하는 방법이다. 이러한 방법들은 병합을 위해 추가적인 학습 과정이 필요하다.
기존 모델 전문화 방법과 모델 병합 방법들은 사용자가 요구하는 태스크를 위한 모델을 제공하는 모델 쿼리 서비스에 사용될 수 있지만 추가적인 학습 과정이 필요하기 때문에 사용자가 요청하는 복합 태스크(composite task)를 위한 모델을 실시간으로 제공하는데 제약사항이 있다.
전처리 단계에서 의미적 유사도를 기준으로 나누어진 가장 작은 단위의 원시 태스크(primitive task)에 대한 전문가 컴포넌트를 학습한 후에 서비스 단계에서 사용자가 요청하는 복합 태스크(composite task)를 수행하기 위해 필요한 전문가 컴포넌트들을 추가적인 학습없이 병합하여 사용자에게 전달할 수 있는 실시간 모델 쿼리 서비스 프레임워크를 제공할 수 있다.
신경망 모델 생성 방법은, 기 학습된 신경망 모델로부터 분류된 각각의 원시 태스크들(primitive task)을 위한 전문가 컴포넌트들을 학습하여 풀을 형성하는 전처리 단계; 및 상기 형성된 풀에 기초하여 사용자로부터 요청된 복합 태스크를 수행하기 위한 전문가 컴포넌트들을 사용자에게 전달하는 서비스 단계를 포함할 수 있다.
상기 전처리 단계는, 전문가 컴포넌트들이 공유하는 특징 추출기(feature extractor)를 학습하고, 상기 특징 추출기를 학습함에 따라 전문가 컴포넌트들을 학습하는 단계를 포함할 수 있다.
상기 전처리 단계는, 지식 증류기법을 사용하여 기 학습된 모델을 선생 모델로 두고, 기 설정된 크기 이하의 학생 모델에 대한 학습을 진행하고, 상기 학생 모델의 학습을 위한 제1 손실함수를 도출하는 단계를 포함하고, 상기 제1 손실함수를 사용하여 학습된 학생 모델은 선생 모델이 학습한 전체 태스크를 다루는 모델이고, 상기 학습된 학생 모델의 l(l>1)번째 레이어까지 공유되는 특징 추출기를 컴포넌트로 사용할 수 있다.
상기 전처리 단계는, 기 학습된 모델이 다루는 전체 태스크를 유사도를 기준으로 구분함에 따라 획득된 가장 작은 단위의 원시 태스크에 대한 전문가 컴포넌트들을 학습하는 단계를 포함하고, 상기 원시 태스크를 위한 모델은, 공유되는 특징 추출기와 전문가 컴포넌트로 구성되고, 원시 태스크를 위한 모델을 학습할 때 공유되는 특징 추출기는 학습되지 않고, 전문가 컴포넌트만이 학습될 수 있다.
상기 전처리 단계는, 상기 원시 태스크를 위한 모델을 학습하는 제2 손실함수를 도출하고, 상기 도출된 제2 손실함수를 통해 학습된 전문가 컴포넌트와 제1 손실함수를 통해 학습한 공유되는 특징 추출기를 전문가 풀에 저장하는 단계를 포함하고, 상기 원시 태스크를 위한 모델을 학습하는 손실함수는, 선생 모델이 학습한 전체 태스크 중 일부 태스크만을 다루는 학생 모델을 학습하기 위하여 사용될 수 있다.
상기 서비스 단계는, 상기 사용자로부터 요청된 복합 태스크를 수행하는 모델을 생성하여 사용자에게 전달하는 단계를 포함할 수 있다.
상기 서비스 단계는, 형성된 풀에 기초하여 사용자로부터 요청된 복합 태스크를 수행하기 위한 전문가 컴포넌트들을 추출하고, 상기 추출된 전문가 컴포넌트들을 공유되는 특징 추출기의 뒤에 부가함으로써 결합시키고, 상기 결합을 통해 병합된 모델을 사용자에게 전달하는 단계를 포함할 수 있다.
신경망 모델 생성 시스템은, 기 학습된 신경망 모델로부터 분류된 각각의 원시 태스크들(primitive task)을 위한 전문가 컴포넌트들을 학습하여 풀을 형성하는 전처리부; 및 상기 형성된 풀에 기초하여 사용자로부터 요청된 복합 태스크를 수행하기 위한 전문가 컴포넌트들을 사용자에게 전달하는 서비스부를 포함할 수 있다.
실시간 모델 쿼리 서비스 프레임워크를 통해 학습과정 없이 사용자에게 제공하는 모델의 크기를 축소시키고, 추론 속도를 감소시킬 수 있다.
전처리 단계 이후에 추가적인 학습과정과 데이터 없이 사용자가 요청하는 부분 태스크에 대한 전문화된 모델을 실시간으로 생성할 수 있다.
도 1은 일 실시예에 따른 신경망 모델 생성 시스템에서 전처리 동작을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 신경망 모델 생성 시스템에서 사용자로부터 요청된 복합 태스크를 수행하는 모델을 사용자에게 전달하는 서비스 동작을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 신경망 모델 생성 시스템에서 특징 추출기를 학습하는 동작을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 신경망 모델 생성 시스템에서 전문가 컴포넌트를 학습하는 동작을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 신경망 모델 생성 시스템에서 서비스 동작을 보다 상세하게 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 신경망 모델 생성 시스템에서 원시 태스크를 위한 모델의 성능을 비교한 것을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 신경망 모델 생성 시스템의 구성을 설명하기 위한 블록도이다.
도 8은 일 실시예에 따른 신경망 모델 생성 시스템에서 신경망 모델 생성 방법을 설명하기 위한 흐름도이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
실시예에서는 학습과정 없이 사용자가 필요로 하는 태스크를 수행하는 경량화 모델을 즉각적으로 생성하고 사용자에게 전달하는 실시간 모델 쿼리 서비스 프레임워크를 제공하는 동작을 설명하기로 한다. 상세하게는, 전처리 단계에서 수많은 태스크(task)를 수행하도록 기 학습된 신경망 모델(Neural Network)로부터 의미적 유사도를 기준으로 나누어진 가장 작은 단위의 원시 태스크(Primitive task)들에 대한 각각의 전문가 컴포넌트들을 추출하여 풀(pool)을 형성한다. 이후, 서비스 단계에서 사용자가 요청한 복합 태스크(composite task)를 수행하기 위해 필요한 전문가 컴포넌트들을 추가적인 학습없이 병합하여 사용자에게 전달한다.
도 1은 일 실시예에 따른 신경망 모델 생성 시스템에서 전처리 동작을 설명하기 위한 도면이다.
신경망 모델 생성 시스템은 전문가 컴포넌트들을 학습하기 위한 전처리 단계(preprocessing phase)와 사용자가 요청한 복합 태스크(composite task)를 수행하는 모델, M(Q)를 사용자에게 전달하는 서비스 단계(service phase)로 나누어 접근할 수 있다. 신경망 모델 생성 시스템은 전처리 단계에서 우선 기존의 지식 증류기법을 사용해 모든 전문가 컴포넌트(expert component)들이 공통으로 사용하는 특징 추출기(feature extractor)를 학습하게 된다. 이후, 기존에 학습된 신경망 모델로부터 각각의 원시 태스크들(primitive task)을 위한 전문가 컴포넌트들을 학습하여 풀(pool)을 형성하게 된다.
도 2는 일 실시예에 따른 신경망 모델 생성 시스템에서 사용자로부터 요청된 복합 태스크를 수행하는 모델을 사용자에게 전달하는 서비스 동작을 설명하기 위한 도면이다.
도 2를 참고하면, 신경망 모델 생성 시스템은 서비스 단계에서 사용자가 요청한 복합 태스크를 수행하기 위해 필요한 전문가 컴포넌트들을 풀(pool)에서 가져온 후, 추가적인 학습없이 병합하여 사용자에게 전달하게 된다.
도 3은 일 실시예에 따른 신경망 모델 생성 시스템에서 특징 추출기를 학습하는 동작을 설명하기 위한 도면이다.
전문가 컴포넌트들을 학습하기 위한 전처리 단계에 대하여 보다 상세하게 설명하기로 한다. 도 3을 참고하면, 공유되는 특징 추출기를 학습하는 것을 설명하기 위한 도면이다. 신경망 모델 생성 시스템은 전처리 단계에서 우선 전문가 컴포넌트들이 공통적으로 사용하는 특징 추출기를 학습할 수 있다. 공유되는 특징 추출기를 사용하는 것은 전문가 컴포넌트들을 병합해서 생성하는 모델의 크기를 줄이는데 목적이 있다. 이를 위해 신경망 모델 생성 시스템은 기존의 지식 증류기법을 이용하여 기존에 학습된 모델을 선생 모델로 두고, 상대적으로 크기가 작은 학생 모델의 학습을 진행할 수 있다. 학생 모델의 학습을 위한 손실함수는 다음과 같다.
수학식 1:
Figure pat00001
수학식 1에서,
Figure pat00002
는 소프트맥스(softmax) 함수이고, T는 지식 증류를 위한 하이퍼파라미터, t는 선생 모델의 출력 로짓(output logit) 값이고, s는 학생 모델의 출력 로짓 값이고,
Figure pat00003
는 Kullback-Leibler divergence이다. 수학식 1의 손실함수를 사용하여 학습된 학생 모델은 선생 모델이 학습한 전체 태스크를 다루는 모델이다. 실시예에서는 학습된 학습 모델의 l(l>1)번째 레이어까지 공유되는 특징 추출기를 컴포넌트로 사용할 수 있다.
도 4는 일 실시예에 따른 신경망 모델 생성 시스템에서 전문가 컴포넌트를 학습하는 동작을 설명하기 위한 도면이다.
신경망 모델 생성 시스템은 특징 추출기를 학습한 후, 전문가 컴포넌트를 학습할 수 있다. 이때, 특징 추출기란 이미지의 일반적인 특성을 추출하기 위한 신경망의 앞쪽 레이어를 의미하고, 전문가 컴포넌트란 각각의 원시 태스크들에 전문화된 컴포넌트들을 의미한다. 실시예에서 성능 평가에 사용된 분류 평가에서는 특징 추출기가 추출한 특성을 입력으로 받고 각각의 원시 태스크들에 대한 분류를 수행하는 컴포넌트를 의미한다.
기존에 학습된 모델이 다루는 전체 태스크를 의미적 유사도를 기준으로 구분하였을 때, 가작 작은 단위의 원시 태스크의 수를 n개로 정의할 수 있다. 이때, n개의 원시 태스크 각각을 위한 n개의 전문가 컴포넌트를 학습하게 된다. 원시 태스크 Hi를 위한 모델을 M(Hi)라고 했을 때, M(Hi)는 공유되는 특징 추출기와 전문가 컴포넌트로 구성될 수 있다. 이때, 원시 태스크란, 기존에 학습된 모델이 학습한 전체 태스크를 의미적 유사도를 기준으로 분류하였을 때, 가장 작은 단위의 태스크 집합을 의미한다. 기호 Hi는 i번째 원시 태스크를 의미한다.
M(Hi)를 학습할 때는 공유되는 특징 추출기는 학습되지 않고 전문가 컴포넌트만을 학습할 수 있다. M(Hi)를 학습하는 전체 손실함수는 다음과 같다.
수학식 2:
Figure pat00004
수학식 2에서
Figure pat00005
Figure pat00006
Figure pat00007
의 비율을 조절하는 하이퍼파라미터이다. 기존의 지식 증류기법에서
Figure pat00008
를 사용하여 선생 모델의 전체 태스크를 다루는 학생 모델을 생성하였다면, 실시예에서 제시하는 손실함수인
Figure pat00009
는 선생 모델이 학습한 전체 태스크 중 일부 태스크만을 다루는 학생 모델을 학습하기 위하여 사용될 수 있다. 기존의 지식 증류기법은 비특허문헌 <Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. "Distilling the knowledge in a neural network."arXiv preprint arXiv:1503.02531(2015).>에 개시된 바 있다.
Figure pat00010
를 구성하는 두 가지 손실함수인
Figure pat00011
Figure pat00012
은 다음과 같다.
수학식 3:
Figure pat00013
손실함수
Figure pat00014
에서
Figure pat00015
는 M(Hi)의 출력 로짓(output logit) 값이며,
Figure pat00016
는 기존에 학습된 모델의 출력 로짓 값인 t에서 원시 태스크 Hi와 관련있는 로짓 값만을 추출한 서브 로짓(sub-logit)이다. 이때,
Figure pat00017
는 특정 태스크를 위한 모델을 의미한다. 예를 들면, M(Q)는 복합 태스크 Q를 위한 모델을 의미하고, M(Hi)는 원시 태스크 Hi를 위한 모델을 의미한다.
실시예에서 제안하는
Figure pat00018
를 사용함으로써 각각의 원시 태스크(primitive task) Hi를 위한 전문가 컴포넌트를 학습할 수 있다.
수학식 4:
Figure pat00019
손실함수
Figure pat00020
의 역할은 각 M(Hi)들의 출력 로짓 값인
Figure pat00021
들의 스케일(scale)을 맞춰 주는 것이다. 이에 따라, 전문가 컴포넌트들을 병합할 때 학습없이 단지 전문가 컴포넌트들을 옆에 붙여주는 것만으로 병합이 가능하다.
실시예에서 제안하는
Figure pat00022
를 통해 학습된 전문가 컴포넌트와
Figure pat00023
를 통해 학습한 공유되는 특징 추출기를 전문가 풀(Pool of Experts)에 저장할 수 있다. 전문가 풀이란 특징 추출기와 전문가 컴포넌트가 저장된 데이터베이스를 의미한다.
도 5는 일 실시예에 따른 신경망 모델 생성 시스템에서 서비스 동작을 보다 상세하게 설명하기 위한 도면이다.
신경망 모델 생성 시스템은 서비스 단계에서 사용자가 처리를 요청하는 복합 태스크(composite task)를 수행하는 모델을 생성하고, 생성된 복합 태스크를 수행하는 모델을 사용자에게 전달할 수 있다. 복합 태스크(Q)란 사용자가 필요로 하는 태스크 집합으로써, 원시 태스크 1개 이상이 결합된 태스크를 의미한다.
이를 위해 전문가 컴포넌트 풀에서 사용자가 요청한 복합 태스크를 수행하는데 필요한 전문가 컴포넌트들을 가져온 후, 공유되는 특징 추출기의 뒤에 붙여줌으로써 결합할 수 있다. 이와 같이 병합된 모델을 사용자에게 전달함으로써 서비스가 이루어질 수 있다.
신경망 모델 생성 시스템은 추가적인 학습없이 사용자가 요청하는 부분 태스크를 수행하는 모델을 생성하여 전달함으로써, 임의의 부분 태스크를 수행하는 전문화 모델을 실시간으로 전달할 수 있다.
도 6은 일 실시예에 따른 신경망 모델 생성 시스템에서 원시 태스크를 위한 모델의 성능을 비교한 것을 설명하기 위한 도면이다.
표 1은 신경망 모델 중 하나인 WRN을 기반으로 전처리 단계를 진행하였을 때, 각각의 원시 태스크 Hi를 위한 모델 M(Hi)의 성능을 비교한 것이다. 동일한 FLOPs와 Params를 가지는 모델에 대해 실험을 진행하였을 때, 기존의 지식 증류기법(KD)이나 처음부터 학습하는 방식(Scratch), 전이 학습(Transfer)을 사용한 경우보다 실시예에서 제안한 전처리 방법(CKD)을 사용했을 때 정확도가 더 높은 것을 확인할 수 있다.
표 1:
Figure pat00024
표 2는 표 1과 같이 신경망 모델 WRN을 기반으로 사용자로부터 복합 태스크 Q에 대한 쿼리가 주어졌을 때 해당 태스크에 전문화된 모델 M(Q)를 생성해내는 실험의 결과를 비교한 것이다. 다시 말해서, 서비스 단계의 결과를 의미한다.
표 2:
Figure pat00025
표 1에서 언급한 기존의 지식증류 기법(KD), 처음부터 학습하는 방식(Scratch), 전이 학습(Transfer) 외에도 지식 증류 기반의 방식(SD, UHC)을 함께 비교할 수 있다. 실시예에서 제안한 실시간 모델 쿼리 서비스 프레임워크(PoE)는 학습 과정이 전혀 없음에도 불구하고 대부분의 실험에서 다른 비교군보다 높은 정확도를 보이는 것을 확인할 수 있다(CKD는 표1의 CKD와 동일하며, 실시예에 따른 전처리 단계에서 제시한 모델 전문화 방법을 사용하여 모델을 생성한 결과이며 학습 과정이 필요하다). 또한, 도 6은 각각의 비교군들이 최고의 성능(표 2에서 제시된 성능)에 도달하는 데까지 필요한 학습시간의 평균을 나타낸 그래프이며, 실시예에서 제시한 실시간 모델 쿼리 서비스 프레임워크(PoE)는 학습에 시간이 필요하지 않으며, 그 외의 비교군들은 표 2에서 제시한 정확도에 도달하기까지 수분이 걸리는 것을 확인할 수 있다.
실시예에 따른 신경망 모델 생성 시스템은 실시간 모델 쿼리 서비스 프레임워크를 통해 학습과정 없이 사용자에게 제공하는 모델의 분류(classification) 성능 평가를 실시한 결과, 전처리 단계에서 사용된 수많은 태스크를 수행하는 기 학습된 신경망 모델과 유사한 성능을 내지만, 모델의 크기가 매우 작고 추론 속도가 감소하는 결과를 확인할 수 있다. 또한, 모델을 생성하는데 실시예에서 제안된 방법은 학습 시간이 필요하지 않지만, 비교군들을 유사한 성능을 내는 모델을 생성하기 위해 시간이 오래 소요됨을 확인할 수 있다.
도 7은 일 실시예에 따른 신경망 모델 생성 시스템의 구성을 설명하기 위한 블록도이고, 도 8은 일 실시예에 따른 신경망 모델 생성 시스템에서 신경망 모델 생성 방법을 설명하기 위한 흐름도이다.
신경망 모델 생성 시스템(100)의 프로세서는 전처리부(710) 및 서비스부(720)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 신경망 모델 생성 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 8의 신경망 모델 생성 방법이 포함하는 단계들(810 내지 820)을 수행하도록 신경망 모델 생성 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서는 신경망 모델 생성 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 신경망 모델 생성 시스템에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 신경망 모델 생성 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 전처리부(710) 및 서비스부(720) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(810 내지 820)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.
단계(810)에서 전처리부(710)는 기 학습된 신경망 모델로부터 분류된 각각의 원시 태스크들(primitive task)을 위한 전문가 컴포넌트들을 학습하여 풀을 형성할 수 있다. 전처리부(710)는 전문가 컴포넌트들이 공유하는 특징 추출기(feature extractor)를 학습하고, 특징 추출기를 학습함에 따라 전문가 컴포넌트들을 학습할 수 있다. 전처리부(710)는 지식 증류기법을 사용하여 기 학습된 모델을 선생 모델로 두고, 기 설정된 크기 이하의 학생 모델에 대한 학습을 진행하고, 학생 모델의 학습을 위한 제1 손실함수를 도출할 수 있다. 이때, 제1 손실함수를 사용하여 학습된 학생 모델은 선생 모델이 학습한 전체 태스크를 다루는 모델이고, 학습된 학생 모델의 l(l>1)번째 레이어까지 공유되는 특징 추출기를 컴포넌트로 사용할 수 있다. 전처리부(710)는 기 학습된 모델이 다루는 전체 태스크를 유사도를 기준으로 구분함에 따라 획득된 가장 작은 단위의 원시 태스크에 대한 전문가 컴포넌트들을 학습할 수 있다. 이때, 원시 태스크를 위한 모델은, 공유되는 특징 추출기와 전문가 컴포넌트로 구성되고, 원시 태스크를 위한 모델을 학습할 때 공유되는 특징 추출기는 학습되지 않고, 전문가 컴포넌트만이 학습될 수 있다. 전처리부(710)는 원시 태스크를 위한 모델을 학습하는 제2 손실함수를 도출하고, 도출된 제2 손실함수를 통해 학습된 전문가 컴포넌트와 제1 손실함수를 통해 학습한 공유되는 특징 추출기를 전문가 풀에 저장할 수 있다. 이때, 원시 태스크를 위한 모델을 학습하는 손실함수는, 선생 모델이 학습한 전체 태스크 중 일부 태스크만을 다루는 학생 모델을 학습하기 위하여 사용될 수 있다.
단계(820)에서 서비스부(720)는 형성된 풀에 기초하여 사용자로부터 요청된 복합 태스크를 수행하기 위한 전문가 컴포넌트들을 사용자에게 전달할 수 있다. 서비스부(720)는 사용자로부터 요청된 복합 태스크를 수행하는 모델을 생성하여 사용자에게 전달할 수 있다. 서비스부(720)는 형성된 풀에 기초하여 사용자로부터 요청된 복합 태스크를 수행하기 위한 전문가 컴포넌트들을 추출하고, 추출된 전문가 컴포넌트들을 공유되는 특징 추출기의 뒤에 부가함으로써 결합시키고, 결합을 통해 병합된 모델을 사용자에게 전달할 수 있다.
일 실시예에 따른 신경망 모델 생성 시스템은 선생 모델이 학습한 모든 태스크 중 사용자가 요청한 복합 태스크만을 다루는 전문화된 학생 모델을 생성하는 것이라는 점에서 기존 지식 증류기법과는 차이가 있다.
일 실시예에 따른 신경망 모델 생성 시스템은 전처리 단계 이후에 추가적인 학습과정과 데이터 없이 사용자가 요청하는 부분 태스크에 대한 전문화된 모델을 실시간으로 생성할 수 있다.
일 실시예에 따른 신경망 모델 생성 시스템은 서비스 단계에서 전문가 컴포넌트들을 하나의 모델로 병합하기 위한 추가적인 학습 시간이 필요하지 않다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (8)

  1. 신경망 모델 생성 방법에 있어서,
    기 학습된 신경망 모델로부터 분류된 각각의 원시 태스크들(primitive task)을 위한 전문가 컴포넌트들을 학습하여 풀을 형성하는 전처리 단계; 및
    상기 형성된 풀에 기초하여 사용자로부터 요청된 복합 태스크를 수행하기 위한 전문가 컴포넌트들을 사용자에게 전달하는 서비스 단계
    를 포함하는 신경망 모델 생성 방법.
  2. 제1항에 있어서,
    상기 전처리 단계는,
    전문가 컴포넌트들이 공유하는 특징 추출기(feature extractor)를 학습하고, 상기 특징 추출기를 학습함에 따라 전문가 컴포넌트들을 학습하는 단계
    를 포함하는 신경망 모델 생성 방법.
  3. 제2항에 있어서,
    상기 전처리 단계는,
    지식 증류기법을 사용하여 기 학습된 모델을 선생 모델로 두고, 기 설정된 크기 이하의 학생 모델에 대한 학습을 진행하고, 상기 학생 모델의 학습을 위한 제1 손실함수를 도출하는 단계
    를 포함하고,
    상기 제1 손실함수를 사용하여 학습된 학생 모델은 선생 모델이 학습한 전체 태스크를 다루는 모델이고, 상기 학습된 학생 모델의 l(l>1)번째 레이어까지 공유되는 특징 추출기를 컴포넌트로 사용하는
    신경망 모델 생성 방법.
  4. 제2항에 있어서,
    상기 전처리 단계는,
    기 학습된 모델이 다루는 전체 태스크를 유사도를 기준으로 구분함에 따라 획득된 가장 작은 단위의 원시 태스크에 대한 전문가 컴포넌트들을 학습하는 단계
    를 포함하고,
    상기 원시 태스크를 위한 모델은, 공유되는 특징 추출기와 전문가 컴포넌트로 구성되고, 원시 태스크를 위한 모델을 학습할 때 공유되는 특징 추출기는 학습되지 않고, 전문가 컴포넌트만이 학습되는
    신경망 모델 생성 방법.
  5. 제4항에 있어서,
    상기 전처리 단계는,
    상기 원시 태스크를 위한 모델을 학습하는 제2 손실함수를 도출하고, 상기 도출된 제2 손실함수를 통해 학습된 전문가 컴포넌트와 제1 손실함수를 통해 학습한 공유되는 특징 추출기를 전문가 풀에 저장하는 단계
    를 포함하고,
    상기 원시 태스크를 위한 모델을 학습하는 손실함수는, 선생 모델이 학습한 전체 태스크 중 일부 태스크만을 다루는 학생 모델을 학습하기 위하여 사용되는
    신경망 모델 생성 방법.
  6. 제1항에 있어서,
    상기 서비스 단계는,
    상기 사용자로부터 요청된 복합 태스크를 수행하는 모델을 생성하여 사용자에게 전달하는 단계
    를 포함하는 신경망 모델 생성 방법.
  7. 제6항에 있어서,
    상기 서비스 단계는,
    형성된 풀에 기초하여 사용자로부터 요청된 복합 태스크를 수행하기 위한 전문가 컴포넌트들을 추출하고, 상기 추출된 전문가 컴포넌트들을 공유되는 특징 추출기의 뒤에 부가함으로써 결합시키고, 상기 결합을 통해 병합된 모델을 사용자에게 전달하는 단계
    를 포함하는 신경망 모델 생성 방법.
  8. 신경망 모델 생성 시스템에 있어서,
    기 학습된 신경망 모델로부터 분류된 각각의 원시 태스크들(primitive task)을 위한 전문가 컴포넌트들을 학습하여 풀을 형성하는 전처리부; 및
    상기 형성된 풀에 기초하여 사용자로부터 요청된 복합 태스크를 수행하기 위한 전문가 컴포넌트들을 사용자에게 전달하는 서비스부
    를 포함하는 신경망 모델 생성 시스템.
KR1020200154285A 2020-11-18 2020-11-18 사용자가 요청하는 전문화된 경량 신경망 모델을 실시간으로 생성하는 방법 및 장치 KR102574434B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200154285A KR102574434B1 (ko) 2020-11-18 2020-11-18 사용자가 요청하는 전문화된 경량 신경망 모델을 실시간으로 생성하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200154285A KR102574434B1 (ko) 2020-11-18 2020-11-18 사용자가 요청하는 전문화된 경량 신경망 모델을 실시간으로 생성하는 방법 및 장치

Publications (3)

Publication Number Publication Date
KR20220067740A true KR20220067740A (ko) 2022-05-25
KR102574434B1 KR102574434B1 (ko) 2023-09-04
KR102574434B9 KR102574434B9 (ko) 2023-12-08

Family

ID=81800684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200154285A KR102574434B1 (ko) 2020-11-18 2020-11-18 사용자가 요청하는 전문화된 경량 신경망 모델을 실시간으로 생성하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102574434B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024039048A1 (ko) * 2022-08-16 2024-02-22 주식회사 맨드언맨드 편집된 인공 신경망을 이용한 데이터 처리 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Junho Yim et al., "A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning," 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)(2017.07.21.)* *
Yi-Min Chou et al., "Unifying and MergingWell-trained Deep Neural Networks for Inference Stage," arXiv:1805.04980v1 [cs.CV] 14 May 2018 (2018.05.14.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024039048A1 (ko) * 2022-08-16 2024-02-22 주식회사 맨드언맨드 편집된 인공 신경망을 이용한 데이터 처리 방법

Also Published As

Publication number Publication date
KR102574434B9 (ko) 2023-12-08
KR102574434B1 (ko) 2023-09-04

Similar Documents

Publication Publication Date Title
Liu et al. Scalable sentiment classification for big data analysis using naive bayes classifier
US20200097820A1 (en) Method and apparatus for classifying class, to which sentence belongs, using deep neural network
US20210295103A1 (en) Utilizing machine learning models, position based extraction, and automated data labeling to process image-based documents
US20140067738A1 (en) Training Deep Neural Network Acoustic Models Using Distributed Hessian-Free Optimization
Liu et al. Multistage fusion with forget gate for multimodal summarization in open-domain videos
US20180129930A1 (en) Learning method based on deep learning model having non-consecutive stochastic neuron and knowledge transfer, and system thereof
CN111695349A (zh) 文本匹配方法和文本匹配系统
US20220245109A1 (en) Methods and systems for state navigation
US20190228297A1 (en) Artificial Intelligence Modelling Engine
JP2018022496A (ja) 自然言語処理装置に用いられるトレーニングデータを作成する方法と機器
Dai et al. A survey on dialog management: Recent advances and challenges
KR20220073088A (ko) 자원이 제약된 모바일 기기에서 동적 데이터 변환에 적응하기 위한 전문화된 경량 신경망 교체 방법 및 장치
Cheng et al. A survey on deep neural network pruning-taxonomy, comparison, analysis, and recommendations
KR102574434B1 (ko) 사용자가 요청하는 전문화된 경량 신경망 모델을 실시간으로 생성하는 방법 및 장치
Hu et al. Toward aStandard Model'of Machine Learning
Rostami et al. Transfer learning via representation learning
KR102445932B1 (ko) 지식 증류 기반의 멀티모달 매핑 정보를 활용한 이미지 생성 기법
Yuan et al. LLM Inference Unveiled: Survey and Roofline Model Insights
US11501071B2 (en) Word and image relationships in combined vector space
WO2021012040A1 (en) Methods and systems for state navigation
Fujimori et al. Modality-specific learning rate control for multimodal classification
CN111259673A (zh) 一种基于反馈序列多任务学习的法律判决预测方法及系统
KR20180023351A (ko) 뉴스 요약을 생성하는 방법 및 장치
WO2023147140A1 (en) Routing to expert subnetworks in mixture-of-experts neural networks
CN114548297A (zh) 基于领域自适应的数据分类方法、装置、设备及介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]