KR20210064817A - 상이한 딥러닝 모델 간의 전이 학습방법 - Google Patents

상이한 딥러닝 모델 간의 전이 학습방법 Download PDF

Info

Publication number
KR20210064817A
KR20210064817A KR1020190153453A KR20190153453A KR20210064817A KR 20210064817 A KR20210064817 A KR 20210064817A KR 1020190153453 A KR1020190153453 A KR 1020190153453A KR 20190153453 A KR20190153453 A KR 20190153453A KR 20210064817 A KR20210064817 A KR 20210064817A
Authority
KR
South Korea
Prior art keywords
model
source
parameter
target
transfer learning
Prior art date
Application number
KR1020190153453A
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 KR1020190153453A priority Critical patent/KR20210064817A/ko
Publication of KR20210064817A publication Critical patent/KR20210064817A/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
    • G06N3/045Combinations of networks
    • G06N3/0454

Landscapes

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

Abstract

상이한 딥러닝 모델 간의 전이 학습방법을 개시한다.
본 실시예는, 사전에 학습된 소스 모델(source model)의 구조 또는 과제에 대한 제약이 없는 상태에서 다수의 딥러닝(deep learning) 기반 소스 모델로부터 파라미터를 전이(transfer)해 옴으로써, 타겟 모델(target model)에 대한 학습 시간의 단축 및 성능 향상이 가능한 전이 학습방법을 제공한다.

Description

상이한 딥러닝 모델 간의 전이 학습방법{Method for Transfer Learning between Different Deep Learning Models}
본 발명은 상이한 딥러닝 모델 간의 전이 학습방법에 관한 것이다.
이하에 기술되는 내용은 단순히 본 발명과 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
전이 학습(transfer learning)이란 딥러닝(deep learning)의 한 분야로서, 특정 과제(task)에 대한 학습을 마친 모델이 습득한 지식을 이용하여 다른 유사한 과제를 수행하기 위한 모델을 학습시키는 방식을 의미한다. 예컨대, 동물을 분류하도록 학습된 모델을 이용하여 개의 종을 구분하는 모델을 학습시키는 경우, 전이 학습을 기반으로 모델에 대한 신속한 학습 및 성능 향상이 가능해질 수 있다. 전이 학습은 딥러닝 모델을 이용하는 모든 분야에 적용이 가능하며, 특히 학습용 데이터가 부족한 과제에 적용되어야 하는 모델의 학습 과정에 널리 이용되고 있다.
도 7에 도시된 바와 같이 종래의 전이 학습방법으로는 다른 과제를 수행하도록 사전에 학습된(pre-trained) 모델을 그대로 차용하여 새로운 과제를 위한 모델에 적합하도록 정밀 조정(fine-tuning)하는 방법이 존재한다(비특허문헌 1 참조). 사전에 학습된 모델을 정밀 조정하는 방식은 학습된 모델의 전체를 이용하거나 하부의 특징 추출기(feature extractor)를 그대로 차용하기 때문에, 추가적인 학습 시간 및 메모리를 필요 하지 않다는 장점이 있다. 그러나 사전 학습된 모델과 새로운 모델이 서로 동일 구조를 가져야 한다는 단점이 있다.
도 8에 도시된 바와 같이 다른 종래의 기술로는 지식 증류(KD: Knowledge Distillation) 방법이 있다(비특허문헌 2 참조). KD 방법에서는 학습된 모델을 교사(teacher)로, 새로운 모델을 학생(student)으로 정한 후, 학생 모델을 학습시킬 때 교사 모델의 데이터 및 행동 패턴을 함께 이용한다. KD 방법은 교사 모델의 출력 로짓(logit)을 학생 모델의 학습에 이용하므로 상이한 구조의 모델 간 전이가 가능하나, 이전에 학습한 과제와 새로 학습하고자 하는 과제가 상이할 경우 적용이 힘들다는 제약이 따른다.
도 9에 도시된 바와 같이 또다른 종래의 기술로는 L2T-WW(Learning-to-Transfer What and Where) 방법이 있다(비특허문헌 3 참조). L2T-WW 방법에서는 KD를 기본으로 교사 모델의 모든 레이어(layers)의 특징(features)을 학생 모델의 모든 레이어와 연결시킨 후, 학생 모델의 각 레이어가 교사 모델의 모든 레이어으로부터 필요한 지식을 학습한다. 역시 상이한 구조의 모델 간 전이가 가능하나, 모든 레이어를 연결하여 학습하는 과정에서 학습 시간이 심각하게 길어진다는 단점이 존재한다.
따라서, 상이한 구조의 모델 간 전이가 가능하고, 학습 시간에 대한 추가적인 부담이 적으면서도 학습 성능의 향상이 가능한 전이 학습방법이 요구된다.
비특허문헌 1: Yosinski, J., Clune, J., Bengio, Y., & Lipson, H. (2014). How transferable are features in deep neural networks? In Advances in neural information processing systems (pp. 3320-3328). 비특허문헌 2: Hinton, G., Vinyals, O., & Dean, J. (2015). Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531. 비특허문헌 3: Jang, Y., Lee, H., Hwang, S., Shin, J. (2019). Learning what and where to transfer. In International Conference on Machine Learning. 비특허문헌 4: Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.
본 개시는, 사전에 학습된 소스 모델(source model)의 구조 또는 과제에 대한 제약이 없는 상태에서 다수의 딥러닝(deep learning) 기반 소스 모델로부터 파라미터를 전이(transfer)해 옴으로써, 타겟 모델(target model)에 대한 학습 시간의 단축 및 성능 향상이 가능한 전이 학습방법을 제공하는 데 주된 목적이 있다.
본 발명의 실시예에 따르면, 전이 학습(transfer learning)장치의 전이 학습방법에 있어서, 타겟 모델(target model) 측으로 전이할 파라미터(parameters)의 개수를, 소스 과제(source task)에 대한 학습용 데이터를 기반으로 사전에 트레이닝된 소스 모델(source model)에게 지정하는 과정; 상기 파라미터의 중요도(significance)를 기반으로, 상기 소스 모델에게 전달된 개수 이내에서 전이(transfer)할 파라미터를 탐색하는 과정; 및 상기 탐색된 파라미터를 상기 타겟 모델 측으로 전이하는 과정을 포함하는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법을 제공한다.
본 발명의 다른 실시예에 따르면, 소스 과제(source task)에 대한 학습용 데이터를 기반으로 사전에 트레이닝되는 딥러닝(deep learning) 기반 소스 모델(source model)로부터 파라미터(parameters)의 중요도(significance)를 기반으로 상기 파라미터를 전이(transfer)받고, 타겟 과제(target task)에 대한 학습용 데이터를 기반으로 전이 학습(transfer learning)되는 딥러닝 기반 타겟 모델(target model)을 포함하되, 상기 타겟 모델은 특징 추출기(feature extractor) 및 분류기(classifier)를 포함하는 것을 특징으로 하는 전이 학습장치를 제공한다.
본 발명의 다른 실시예에 따르면, 전이 학습방법이 포함하는 각 단계를 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 따르면, 사전에 학습된 소스 모델(source model)의 구조 또는 과제에 대한 제약이 없는 상태에서 다수의 딥러닝(deep learning) 기반 소스 모델로부터 파라미터를 전이(transfer)해 오는 것이 가능한 전이 학습방법을 제공함으로써, 타겟 모델(target model)에 대한 학습 시간의 단축 및 성능 향상이 가능해지는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 전이 학습방법에 대한 개념도이다.
도 1은 본 발명의 일 실시예에 따른 전이 학습방법에 대한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 전이 학습방법의 성능 측정 결과로서, 학습용 데이터의 개수가 클래스 당 50 개인 경우이다.
도 4는 본 발명의 일 실시예에 따른 전이 학습방법의 성능 측정 결과로서, 학습용 데이터의 개수가 클래스 당 100 개인 경우이다.
도 5는 본 발명의 일 실시예에 따른 전이 학습방법의 성능 측정 결과로서, 학습용 데이터의 개수가 클래스 당 250 개인 경우이다.
도 6은 본 발명의 일 실시예에 따른 전이 학습방법의 성능 측정 결과로서, 학습용 데이터의 개수가 클래스 당 500 개인 경우이다.
도 7은 종래의 전이 학습방법에 대한 개념도이다.
도 8은 종래의 전이 학습방법에 대한 다른 개념도이다.
도 9는 종래의 전이 학습방법에 대한 또다른 개념도이다.
이하, 본 발명의 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 실시예들의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 실시예들의 구성요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성요소를 다른 구성요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다.
본 실시예는 상이한 딥러닝 모델 간의 전이 학습방법에 대한 내용을 개시한다. 보다 자세하게는, 사전에 학습된 소스 모델(source model)의 구조 또는 과제에 대한 제약이 없는 상태에서 다수의 딥러닝(deep learning) 기반 소스 모델로부터 타겟 모델(target model) 측으로 파라미터 전이(transfer)가 가능한 전이 학습방법을 제공한다.
본 실시예에서, 딥러닝 기반 모델은 특징 추출기(feature extractor) 및 분류기(classifier)를 포함하는 것으로 가정한다.
본 실시예에서, 전이는 동종 모델 간에 실행되되, 전이가 실행되는 두 모델의 구조는 상이할 수 있는 것으로 가정한다. 예컨대, 상이한 구조의 DNN(Deep Neural Network) 간 또는 상이한 구조의 CNN(Convolutional Neural Network) 간의 전이가 실행되는 것으로 가정한다.
본 실시예에 따른 전이 학습방법은 서버(미도시) 또는 서버에 준하는 연산 능력을 보유하는 프로그램가능 시스템에서 실행되는 것으로 가정한다.
도 1은 본 발명의 일 실시예에 따른 전이 학습방법에 대한 개념도이다.
본 발명의 실시예에 있어서, 전이 학습장치(100)는 소스 과제(source task)를 이용하여 소스 모델(source models)에 대한 사전 학습을 실행한 후, 타겟 과제(target task)에 도움이 되는 파라미터(parameters)를 타겟 모델(target model) 측으로 전이(transfer)시킨다. 전이 학습장치(100)는 복수의 소스 모델(110) 및 하나의 타겟 모델(120)의 전부 또는 일부를 포함한다. 도 1의 도시에는 하나의 소스 모델(110)만이 도시되어 있다. 여기서, 본 실시예에 따른 전이 학습장치(100)에 포함되는 구성요소가 반드시 이에 한정되는 것은 아니다. 예컨대, 전이 학습장치(100) 상에 소스 모델 또는 타겟 모델의 트레이닝을 위한 트레이닝부(미도시)를 추가로 구비하거나, 외부의 트레이닝부와 연동되는 형태로 구현될 수 있다.
소스 모델(110) 및 타겟 모델(120)은 동종의 딥러닝 기반 신경회로망이다. 소스 모델(110) 및 타겟 모델(120) 각각은 특징 추출기(feature extractor) 및 분류기(classifier)를 포함한다. 본 실시예에서는 소스 모델(110)의 복잡도가 타겟 모델(120)보다 더 큰 것으로 가정한다. 여기서 복잡도가 더 크다는 의미는 소스 모델(110)의 특징 추출기가 타겟 모델(120)보다 더 많은 레이어를 포함하거나 분류기가 더 복잡할 수 있다는 의미이다.
소스 모델(110) 또는 타겟 모델(120)의 파라미터는 각 모델의 특징 추출기가 포함하는 레이어 간을 연결시키거나, 특징 추출기의 출력과 분류기를 연결시킨다. 파라미터는 학습용 데이터를 기반으로 트레이닝부에 의하여 업데이트될 수 있다.
본 발명의 다른 실시예에 있어서, 전이 학습장치(100)는 사전에 학습된 소스 모델을 저장하는 소스 모델 풀(source model pool)을 추가로 구비하거나, 외부의 소스 모델 풀과 연동되는 형태로 구현될 수 있다.
본 실시예에서, 트레이닝부는 각 소스 모델(110)의 파라미터를 트레이닝시킨 후, 타겟 과제에 이용 가능한 파라미터를 선별하여 타겟 모델(120) 측으로 전이시킬 수 있다. 또한 전이의 대상이 되는 파라미터는 특징 추출기에 포함된 레이어 간을 연결하는 파라미터인 것으로 가정한다.
이하 도 1 및 도 2를 참조하여, 본 실시예에 따른 전이 학습방법을 설명한다.
도 2는 본 발명의 일 실시예에 따른 전이 학습방법에 대한 순서도이다. 도 2의 (a)는 전이 학습방법에 대한 전체적인 순서도이다. 도 2의 (b)는 전이 학습방법 중, 사전 트레이닝된 소스 모델(110)을 기반으로 타겟 모델(120) 측으로 전이할 파라미터를 탐색하는 단계에 대한 자세한 순서도이다.
트레이닝부는 소스 모델을 사전 트레이닝시킨다(S201). 트레이닝부는 소스 과제의 학습용 데이터를 기반으로 복수의 소스 모델(110)을 사전 트레이닝시킨다.
본 발명의 다른 실시예에 따른 소스 모델 풀이 존재하는 경우, 트레이닝부는 사전 트레이닝(S201 단계) 대신, 전이 학습에 이용하기 위한 소스 모델을 소스 모델 풀에서 선택할 수 있다.
트레이닝부는 타겟 모델 측으로 전이할 파라미터의 개수를 복수의 소스 모델 별로 할당한다(S202). 트레이닝부는 타겟 모델(120)의 각 레이어를 구성하는 파라미터 전체를 사전 트레이닝에 이용되는 복수의 소스 모델(110) 별로 할당함으로써, 할당된 파라미터의 개수 이내에서 타겟 모델(120)이 각 소스 모델(110)로부터 파라미터를 전이받도록 한다. 예컨대, 도 1에 도시된 바와 같이, 타겟 모델(120)의 레이어 1, 2는 소스 모델(110)의 레이어 2, 3의 일부로부터 파라미터를 전이받을 수 있다.
트레이닝부는 소스 모델에 할당된 개수 이내에서 타겟 모델 측으로 전이할 파라미터를 탐색한다(S203). 트레이닝부는 트레이닝된 소스 모델으로부터 중요도(significance)가 높은 노드(node) 및 파라미터를 판별하여, 타겟 모델(120)로 전이할 노드 및 파라미터에 대한 탐색(searching)을 실행한다. 탐색 과정에 대한 자세한 사항은 추후에 설명하기로 한다.
탐색 결과에 의거하여, 트레이닝부는 소스 모델(110)의 파라미터를 타겟 모델 측으로 전이한 후(S204), 남아 있는 소스 모델의 존재 여부를 확인한다(S205). 남아 있는 소스 모델이 존재하는 경우, 다음 소스 모델에 대하여 트레이닝부는 전이할 파라미터를 탐색하는 단계부터 남아 있는 소스 모델(110)의 존재 여부 확인까지의 단계(S203부터 S205까지의 단계)를 반복하여 실행한다.
모든 소스 모델(110)로부터의 파라미터 전이가 마무리되면, 트레이닝부는 전이된 타겟 모델을 기반으로 타겟 과제에 대한 전이 학습을 실행한다(S206). 본 실시예에 있어서, 트레이닝부는 분류기 및 전이된 파라미터를 포함하는 특징 추출기를 모두 트레이닝시킬 수 있다. 또한, 특징 추출기의 파라미터를 고정한 상태에서, 트레이닝부는 분류기의 파라미터만을 업데이트할 수 있다.
이하 전이할 파라미터를 탐색하는 단계(S203)에 대하여 상세히 설명한다. 본 실시예에서는, 파라미터의 중요도를 기반으로 파라미터의 전이 여부를 결정한다. 파라미터이 중요도는 소스 모델이 타겟 과제를 수행함에 있어, 각 파라미터가 지니는 영향을 산정한 것이다.
트레이닝부는 변수를 초기화한다(S211). 여기서 변수(variable) sn(sn은 자연수)은 소스 모델(110)의 레이어의 개수이고, tn(tn은 자연수)은 타겟 모델(120)의 레이어의 개수이다. i는 루프 변수(loop variable)로서 sn으로 초기화되며, 최대 성능(maximum performance)도 적절한 값(예컨대 제로)으로 초기화된다. 전술한 바와 같이 소스 모델(110)의 sn은 타겟 모델(120)의 tn보다 크거나 같다.
트레이닝부는 타겟 모델(120)의 파라미터를 랜덤 값(random values)으로 설정한 후, 타겟 과제의 검증용 데이터를 이용하여 타겟 모델(120)의 검증 정확도(validation accuracy)에 대한 랜덤 성능(random performance)을 측정한다(S212).
사전 트레이닝된 소스 모델에 대하여, 트레이닝부는 소스 모델의 i번째 레이어부터 n(n은 자연수이고 n<=tn) 개까지의 레이어에서 중요도가 높은 파라미터를 타겟 모델 측으로 복사한다(S213). 타겟 모델(120)로 전이하기 위해 소스 모델(110)에게 할당된 파라미터의 개수 이내에서(S201 단계 참조), 소스 모델(110)의 파라미터를 타겟 모델(120)로 복사한다.
여기서, 각 파라미터 및 노드에 대한 중요도는 산정하는 과정은 다음과 같다.
타겟 과제의 학습용 데이터 x를 입력으로 이용하여 소스 모델(110)이 y를 출력한다고 할 때, 원하는 목표값(target value) t와 y 간의 오차(error)를 J(t,y)로 표현한다. J는 사전에 정의된 오차 함수이며 J(t,y)를 최소화하도록 모델의 파라미터를 업데이트할 경우, 소스 모델(110)을 기반으로 타겟 모델(120)을 트레이닝시킬 수 있다. 파라미터
Figure pat00001
의 변화량
Figure pat00002
대비 오차의 변화량
Figure pat00003
이 클 경우, 파라미터의 타겟 과제에 대한 영향력이 클 수 있다. 즉 파라미터의 중요도가 높을 수 있다.
먼저 소스 모델(110) 및 타겟 모델이 DNN(Deep Neural Network)로 구현되는 경우, 중요도를 산정하는 과정을 설명한다. 소스 모델(110)의 k번째 하위 레이어(lower layer)와 (k+1)번째 상위 레이어(higher layer)의 노드(node) 개수가 각각
Figure pat00004
,
Figure pat00005
이고, 두 레이어를 연결하는 파라미터를
Figure pat00006
이라 할 때, k번째 하위 레이어의 i번째 노드
Figure pat00007
의 중요도는 수학식 1로 표현될 수 있다.
Figure pat00008
중요도는 파라미터 자체를 이용하여 산정될 수도 있으며, 노드
Figure pat00009
에 대하여 수학식 2로 표현될 수 있다.
Figure pat00010
소스 모델(110) 및 타겟 모델이 CNN(Convolutional Neural Network)으로 구현되는 경우, 중요도를 산정하는 과정을 설명한다. 하위 레이어 및 상위 레이어 두 층의 채널 개수가 각각
Figure pat00011
,
Figure pat00012
이고, 콘볼루션 커널(convolution kernel)의 크기가 mxn이며, 두 레이어를 연결하는 파라미터
Figure pat00013
의 크기가 (
Figure pat00014
)인 경우, k번째 레이어의 i번째 채널의 중요도는 수학식 3으로 표현될 수 있다.
Figure pat00015
중요도는 파라미터 자체를 이용하여 산정될 수도 있으며, k번째 레이어의 i번째 채널에 대하여 수학식 4로 표현될 수 있다.
Figure pat00016
수학식 1 내지 수학식 4를 이용하여 산정된 중요도를 기반으로, 중요도가 높은 노드 및 파라미터는 타겟 모델(120)로 복사될 수 있다. 반면 중요도가 낮은 노드 및 파라미터는 타겟 모델(120)로 복사되지 않으며, 복사되지 않은 노드는 하위 레이어에 속한 노드에 대한 중요도를 계산할 때 배제될 수 있다.
트레이닝부는 타겟 모델에 대한 성능을 측정한다(S214). 트레이닝부는 타겟 모델(120)의 검증 정확도에 대한 측정 성능(measured performance)을 기 저장된 최대 성능과 비교하여, 측정 성능이 더 큰 경우, 최대 성능을 측정 성능으로 업데이트한다. 또한 최대 성능이 업데이트된 경우, 최대 성능이 측정된 타겟 모델 측으로 복사된 소스 모델의 파라미터 또는 파라미터의 위치를 저장한다.
트레이닝부는 타겟 모델에 대한 초기화를 실행한다(S215).
트레이닝부는 루프 변수 i가 tn보다 큰지 여부를 확인한다(S216). 소스 모델(110)에 아직 파라미터 전이에 이용되지 않은 하위 레이어가 남아 있기 때문에 i가 tn보다 큰 경우, i에서 1을 차감한 후(S217), 타겟 모델(120)에 대한 성능 측정(S213부터 S216까지의 단계) 과정을 반복한다.
루프 변수 i가 tn보다 작거나 같은 경우, 트레이닝부는 최대 성능이 기 산정된 랜덤 성능보다 크거나 같은지의 여부를 확인한다(S218). 최대 성능이 기 산정된 랜덤 성능보다 크거나 같은 경우, 소스 모델(110)의 파라미터를 타겟 모델(120)로 전이하는 단계(S204)가 수행된다.
반면, 최대 성능이 랜덤 성능보다 작은 경우, 파라미터의 전이 단계(S204)가 생략된 채로, 트레이닝부는 남이 있는 소스 모델이 존재하는지를 확인한다(S205). 전이가 실행되지 못하는 타겟 모델(120)의 파라미터는 랜덤 값으로 설정된 채로, 타겟 모델(120)의 전이 학습이 실행될 수 있다.
이하 본 실시예에 따른 전이 학습방법의 효율성을 보이기 위한 실험예에 대하여 설명한다.
비교 대상으로는 KD(Knowledge Distillation) 방법(비특허문헌 2 참조) 및 L2T-WW(Learning-to-Transfer What and Where) 방법(비특허문헌 3 참조)을 이용하였다. 다만 KD 방법을 이용하는 경우, 소스 모델(110)과 타겟 모델(120)의 로짓 차원이 상이하므로, 소스 모델(110)의 최종 로짓이 아닌 특징 추출기의 출력 특징을 이용하여 KD 방법을 구현하였다. 또한 본 실시예에 대하여는, 전이 학습을 이용하는 경우 및 이용하지 않은 경우에 대하여 성능이 측정되었다.
소스 모델(110) 및 타겟 모델(120)로는 CNN 계열의 VGG13(Visual Geometry Group 13) 및 VGG11이 각각 이용되었다(비특허문헌 4 참조). 여기서, 숫자 13 및 11은 콘볼루션 레이어의 개수를 의미하므로, 소스 모델(110)이 타겟 모델(120)보다 더 복잡한 구조를 갖는다.
실험에서는, 20,000 개 이상의 이미지 카테고리(categories)를 포함하는 이미지넷(Imagenet) DB(Database)를 기반으로 소스 모델(110)을 사전 트레이닝하였다. 소스 모델(110)과는 다른 과제를 적용하기 위하여, 10 개의 이미지 클래스를 포함한 STL10 DB를 이용하여 타겟 모델(120)에 대한 전이 학습을 진행하였다.
STL10 DB의 각 클래스는 학습 및 검증(validation)을 위하여 각각 500 개 및 800 개의 이미지를 포함하는데, 학습용 데이터가 부족한 경우를 고려하기 위하여 각 클래스 별로, 50, 100, 250, 500 개의 학습용 이미지를 이용하여 전이 학습을 수행하고, 각 경우에 대한 성능 차이를 비교하였다.
도 3 내지 도 6의 도시 각각은 50, 100, 250, 500 개의 학습용 이미지를 이용했을 경우의 학습 과정에 대한 결과를 나타낸다. 도 3 내지 도 6의 도시에서 가로축은 에폭(epoch)을 의미하는데, STL10을 구성하는 10 개의 클래스를 한차례 스윕(sweep)하여 학습을 진행하는 것을 일 에폭(one epoch)으로 정의한다.
도 3 내지 도 6에서 좌측 도시의 세로축은 트레이닝 과정에서의 타겟 모델의 손실(loss)을 나타내며, 학습에 사용한 이미지 별 손실을 총합한 것이다. 도 3 내지 도 6에서 우측 도시의 세로축은 검증 정확도(validation accuracy)를 나타내며, 트레이닝된 타겟 모델에 대하여 매 에폭마다 클래스 별 검증용 이미지를 기반으로 산정된, 이미지 분류에 대한 정확도이다.
도 3 내지 도 6의 도시에 따르면, 학습용 이미지의 개수와 무관하게, 본 실시예에 따른 전이 학습방법이, 손실 감소 및 검증 정확도 측면에서 가장 빠른 학습 효율을 보였다. 또한 트레이닝이 진행되어, 타겟 모델(120)이 안정되었을 때(예컨대 300 에폭 이후), 본 실시예에 따른 검증 정확도가 비교 대상에 비하여 5 ~ 15 % 이상 우수함을 보였다.
도 3 내지 도 6의 도시에 따르면, 학습용 이미지의 개수와 무관하게, 본 실시예에 따라 전이 학습을 이용하는 모델이, 전이 학습이 배제된 모델에 비하여 손실 및 검증 정확도 측면에서 개선된 학습 효율을 보이고 있음을 확인할 수 있다. 또한 트레이닝이 진행되어, 타겟 모델(120)이 안정되었을 때(예컨대 300 에폭 이후), 전이 학습을 이용하는 모델의 검증 정확도가 전이 학습이 배제된 모델에 비하여 5 ~ 10 % 이상 우수함을 보였다.
도 3 내지 도 6의 도시된 바와 같은 에폭 측면에서의 성능 개선뿐만 아니라, 본 실시예는 각 에폭 별 학습 시간에서도 장점을 보였다. 전이 학습을 이용하지 않는 모델과 비교하여, KD 방법은 2 배에서 3 배의 에폭 당 학습 시간을 소모하였으며, L2T-WW 방법은 100 배 이상의 에폭 당 학습 시간을 소모하였다. 이에 비하여 본 실시예는 초기의 전이 파라미터에 대한 탐색 외에는 전이 학습에 추가적인 계산을 필요로 하지 않는다. 전이 학습에 비하여 전이 파라미터에 대한 탐색은 단순한 과정이므로, 전체적인 전이 학습 시간에 있어서 탐색에 필요한 시간의 영향은 매우 작았다.
이상에서 설명한 바와 같이 본 실시예에 따르면, 사전에 학습된 소스 모델(source model)의 구조 또는 과제에 대한 제약이 없는 상태에서 다수의 딥러닝(deep learning) 기반 소스 모델로부터 파라미터를 전이(transfer)해 오는 것이 가능한 전이 학습방법을 제공함으로써, 타겟 모델(target model)에 대한 학습 시간의 단축 및 성능 향상이 가능해지는 효과가 있다.
본 실시예에 따른 각 순서도에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 순서도에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것이 적용 가능할 것이므로, 순서도는 시계열적인 순서로 한정되는 것은 아니다.
본 명세서에 설명되는 시스템들 및 기법들의 다양한 구현예들은, 디지털 전자 회로, 집적 회로, FPGA(field programmable gate array), ASIC(application specific integrated circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은 프로그래밍가능 시스템 상에서 실행가능한 하나 이상의 컴퓨터 프로그램들로 구현되는 것을 포함할 수 있다. 프로그래밍가능 시스템은, 저장 시스템, 적어도 하나의 입력 디바이스, 그리고 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 이들에게 데이터 및 명령들을 전송하도록 결합되는 적어도 하나의 프로그래밍가능 프로세서(이것은 특수 목적 프로세서일 수 있거나 혹은 범용 프로세서일 수 있음)를 포함한다. 컴퓨터 프로그램들(이것은 또한 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 혹은 코드로서 알려져 있음)은 프로그래밍가능 프로세서에 대한 명령어들을 포함하며 "컴퓨터가 읽을 수 있는 기록매체"에 저장된다.
컴퓨터가 읽을 수 있는 기록매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체는 ROM, CD-ROM, 자기 테이프, 플로피디스크, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등의 비휘발성(non-volatile) 또는 비일시적인(non-transitory) 매체일 수 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송) 및 데이터 전송 매체(data transmission medium)와 같은 일시적인(transitory) 매체를 더 포함할 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.
본 명세서에 설명되는 시스템들 및 기법들의 다양한 구현예들은, 프로그램가능 컴퓨터에 의하여 구현될 수 있다. 여기서, 컴퓨터는 프로그램가능 프로세서, 데이터 저장 시스템(휘발성 메모리, 비휘발성 메모리, 또는 다른 종류의 저장 시스템이거나 이들의 조합을 포함함) 및 적어도 한 개의 커뮤니케이션 인터페이스를 포함한다. 예컨대, 프로그램가능 컴퓨터는 서버, 네트워크 기기, 셋탑 박스, 내장형 장치, 컴퓨터 확장 모듈, 개인용 컴퓨터, 랩탑, PDA(Personal Data Assistant), 클라우드 컴퓨팅 시스템 또는 모바일 장치 중 하나일 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 전이 학습장치 110: 소스 모델
120: 타겟 모델

Claims (15)

  1. 전이 학습(transfer learning)장치의 전이 학습방법에 있어서,
    타겟 모델(target model) 측으로 전이할 파라미터(parameters)의 개수를, 소스 과제(source task)에 대한 학습용 데이터를 기반으로 사전에 트레이닝된 소스 모델(source model)에게 지정하는 과정;
    상기 파라미터의 중요도(significance)를 기반으로, 상기 소스 모델에게 지정된 개수 이내에서 전이(transfer)할 파라미터를 탐색하는 과정; 및
    상기 탐색된 파라미터를 상기 타겟 모델 측으로 전이하는 과정
    을 포함하는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  2. 제1항에 있어서,
    상기 소스 모델 및 상기 타겟 모델 각각은, 특징 추출기(feature extractor) 및 분류기(classifier)를 포함하는 딥러닝(deep learning) 기반의 신경망(neural network)으로 구현되는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  3. 제2항에 있어서,
    상기 소스 모델로부터의 파라미터 전이가 종료된 후, 타겟 과제(target task)에 대한 학습용 데이터를 기반으로 상기 타겟 모델에 대한 전이 학습(transfer learning)을 실행하는 과정을 더 포함하는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  4. 제2항에 있어서,
    상기 전이 학습을 실행하는 과정은,
    상기 타겟 모델의 파라미터 전체를 업데이트하거나, 상기 타겟 모델에 포함된 특징 추출기의 파라미터를 고정한 상태에서 상기 분류기의 파라미터만을 업데이트하는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  5. 제2항에 있어서,
    상기 탐색하는 과정은,
    상기 타겟 모델의 파라미터를 랜덤 값(random values)으로 설정한 후, 상기 타겟 과제에 대한 검증용 데이터를 이용하여, 상기 타겟 모델에 대한 랜덤 성능(random performance)을 측정하는 과정;
    상기 소스 모델에게 지정된 개수 이내에서 상기 중요도를 기반으로 상기 소스 모델의 레이어로부터 상기 타겟 모델의 레이어 측으로 상기 소스 모델의 파라미터를 복사하는 과정;
    상기 랜덤 성능의 측정에 이용한 검증용 데이터를 기반으로, 상기 복사된 파라미터를 포함하는 타겟 모델에 대한 측정 성능(measured performance)을 산정하는 과정; 및
    상기 측정 성능이 상기 랜덤 성능보다 크거나 같은 경우, 상기 복사된 파라미터를 상기 타겟 모델 측으로 전이하는 과정
    을 포함하는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  6. 제5항에 있어서,
    상기 측정 성능이 상기 랜덤 성능보다 작은 경우, 상기 복사된 파라미터는 상기 타겟 모델 측으로 전이되지 않고, 상기 타겟 모델의 해당되는 파라미터는 랜덤 값으로 설정되는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  7. 제5항에 있어서,
    상기 타겟 모델에 대하여 상기 소스 모델의 파라미터를 복사하는 과정 및 상기 측정 성능을 산정하는 과정이 복수 차례 실행되는 경우, 상기 측정 성능은 상기 복수 차례에서 측정된 성능 중 최대 성능(maximum performance)인 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  8. 제5항에 있어서,
    상기 소스 모델의 특징 추출기가 포함하는 상위 레이어 및 하위 레이어에 대하여, 상기 하위 레이어의 하나의 노드(node)와 연결되는, 상기 상위 레이어(higher layer)의 모든 노드(nodes) 간의 파라미터 전체에 대하여, 상기 각 파라미터의 총합 또는 상기 각 파라미터 변화량에 대한 오차 함수(error function)의 변화량의 총합을 이용하여 상기 파라미터의 중요도를 산정하는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  9. 제8항에 있어서,
    상기 오차 함수는,
    상기 타겟 과제의 학습용 데이터에 대한 상기 소스 모델의 출력 및 타겟값(target value)을 기반으로 산정되는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  10. 제2항에 있어서,
    상기 소스 모델의 개수가 복수인 경우,
    타겟 모델 측으로 전이할 파라미터의 개수를, 사전에 트레이닝된 소스 모델 각각에게 할당하는 과정; 및
    상기 파라미터의 중요도를 기반으로, 상기 소스 모델 별로 할당된 개수 이내에서 전이할 파라미터를 탐색하는 과정
    을 더 포함하는 것을 특징으로 하는, 컴퓨터 상에 구현되는 전이 학습방법.
  11. 소스 과제(source task)에 대한 학습용 데이터를 기반으로 사전에 트레이닝되는 딥러닝(deep learning) 기반 소스 모델(source model)로부터 파라미터(parameters)의 중요도(significance)를 기반으로 상기 파라미터를 전이(transfer)받고, 타겟 과제(target task)에 대한 학습용 데이터를 기반으로 전이 학습(transfer learning)되는 딥러닝 기반 타겟 모델(target model)을 포함하되,
    상기 타겟 모델은 특징 추출기(feature extractor) 및 분류기(classifier)를 포함하는 것을 특징으로 하는 전이 학습장치.
  12. 제11항에 있어서,
    상기 소스 모델이 포함하는 상위 레이어 및 하위 레이어에 대하여, 상기 하위 레이어의 하나의 노드(node)와 연결되는, 상기 상위 레이어(higher layer)의 모든 노드(nodes) 간의 파라미터 전체에 대하여, 상기 각 파라미터의 총합 또는 상기 각 파라미터 변화량에 대한 오차 함수(error function)의 변화량의 총합을 이용하여 상기 파라미터의 중요도를 산정하는 것을 특징으로 하는 전이 학습장치.
  13. 제12항에 있어서,
    상기 오차 함수는,
    상기 타겟 과제의 학습용 데이터에 대한 상기 소스 모델의 출력 및 타겟값(target value)을 기반으로 산정되는 것을 특징으로 전이 학습장치.
  14. 제11항에 있어서,
    상기 소스 모델의 개수가 복수인 경우, 상기 타겟 모델이 상기 소스 모델 각각으로부터 상기 소스 모델 별로 할당된 개수 이내에서 상기 파라미터를 전이받는 것을 특징으로 하는 전이 학습장치.
  15. 제1항 내지 제10항 중 어느 한 항에 따른 전이 학습방법이 포함하는 각 단계를 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램.
KR1020190153453A 2019-11-26 2019-11-26 상이한 딥러닝 모델 간의 전이 학습방법 KR20210064817A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190153453A KR20210064817A (ko) 2019-11-26 2019-11-26 상이한 딥러닝 모델 간의 전이 학습방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190153453A KR20210064817A (ko) 2019-11-26 2019-11-26 상이한 딥러닝 모델 간의 전이 학습방법

Publications (1)

Publication Number Publication Date
KR20210064817A true KR20210064817A (ko) 2021-06-03

Family

ID=76396634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190153453A KR20210064817A (ko) 2019-11-26 2019-11-26 상이한 딥러닝 모델 간의 전이 학습방법

Country Status (1)

Country Link
KR (1) KR20210064817A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230027930A (ko) 2021-08-20 2023-02-28 한국전자통신연구원 특징 전이 및 손실 전이를 활용한 딥러닝 모델 생성 방법
KR102623390B1 (ko) * 2023-06-30 2024-01-11 주식회사 에이아이비즈 장비 이상 탐지 모델의 정확도를 유지하기 위한 방법,장치 및 프로그램

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
비특허문헌 1: Yosinski, J., Clune, J., Bengio, Y., & Lipson, H. (2014). How transferable are features in deep neural networks? In Advances in neural information processing systems (pp. 3320-3328).
비특허문헌 2: Hinton, G., Vinyals, O., & Dean, J. (2015). Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531.
비특허문헌 3: Jang, Y., Lee, H., Hwang, S., Shin, J. (2019). Learning what and where to transfer. In International Conference on Machine Learning.
비특허문헌 4: Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230027930A (ko) 2021-08-20 2023-02-28 한국전자통신연구원 특징 전이 및 손실 전이를 활용한 딥러닝 모델 생성 방법
KR102623390B1 (ko) * 2023-06-30 2024-01-11 주식회사 에이아이비즈 장비 이상 탐지 모델의 정확도를 유지하기 위한 방법,장치 및 프로그램

Similar Documents

Publication Publication Date Title
KR102318772B1 (ko) 도메인 분리 뉴럴 네트워크들
CN109783666B (zh) 一种基于迭代精细化的图像场景图谱生成方法
CN111414987B (zh) 神经网络的训练方法、训练装置和电子设备
CN110334742B (zh) 一种用于文档分类的基于强化学习的通过添加虚假节点的图对抗样本生成方法
CN114503121A (zh) 资源约束的神经网络架构搜索
CN111782838A (zh) 图像问答方法、装置、计算机设备和介质
CN109961442B (zh) 神经网络模型的训练方法、装置和电子设备
KR102011788B1 (ko) 계층적 시각 특징을 이용한 시각 질의 응답 장치 및 방법
CN111382868A (zh) 神经网络结构搜索方法和神经网络结构搜索装置
CN112396106B (zh) 内容识别方法、内容识别模型训练方法及存储介质
CN114090780B (zh) 一种基于提示学习的快速图片分类方法
CN116664719B (zh) 一种图像重绘模型训练方法、图像重绘方法及装置
Addanki et al. Placeto: Efficient progressive device placement optimization
KR20210064817A (ko) 상이한 딥러닝 모델 간의 전이 학습방법
CN115018039A (zh) 一种神经网络蒸馏方法、目标检测方法以及装置
CN114491039A (zh) 基于梯度改进的元学习少样本文本分类方法
Santacruz et al. Learning the sub-optimal graph edit distance edit costs based on an embedded model
CN114372505A (zh) 一种无监督网络对齐方法和系统
CN113704495A (zh) 实体对齐方法、装置、电子设备和存储介质
Kirillov et al. Joint M-best-diverse labelings as a parametric submodular minimization
CN110427465B (zh) 一种基于词语知识图谱的内容推荐方法及装置
Venkatraman et al. Learning compositional structures for deep learning: Why routing-by-agreement is necessary
CN115049730B (zh) 零件装配方法、装置、电子设备及存储介质
US9378466B2 (en) Data reduction in nearest neighbor classification
CN116090538A (zh) 一种模型权重获取方法以及相关系统

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination