KR102139729B1 - 전자 장치 및 학습 모델의 재학습 방법 - Google Patents

전자 장치 및 학습 모델의 재학습 방법 Download PDF

Info

Publication number
KR102139729B1
KR102139729B1 KR1020180010936A KR20180010936A KR102139729B1 KR 102139729 B1 KR102139729 B1 KR 102139729B1 KR 1020180010936 A KR1020180010936 A KR 1020180010936A KR 20180010936 A KR20180010936 A KR 20180010936A KR 102139729 B1 KR102139729 B1 KR 102139729B1
Authority
KR
South Korea
Prior art keywords
learning
learning model
neurons
selective
network
Prior art date
Application number
KR1020180010936A
Other languages
English (en)
Other versions
KR20180134739A (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 US16/002,617 priority Critical patent/US11995539B2/en
Publication of KR20180134739A publication Critical patent/KR20180134739A/ko
Application granted granted Critical
Publication of KR102139729B1 publication Critical patent/KR102139729B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Landscapes

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

Abstract

학습 모델의 재학습 방법이 개시된다. 본 재학습 방법은 복수의 뉴런으로 구성되는 학습 모델, 및 신규 태스크를 포함하는 데이터 세트를 입력받는 단계, 복수의 뉴런 중 신규 태스크와 관련된 뉴런을 식별하고, 식별된 뉴런에 대해서 신규 태스크와 관련된 파라미터를 선택적 재학습하는 단계, 및 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 선택적 재학습이 수행된 학습 모델의 크기를 동적으로 확장하여 입력된 학습 모델을 재구성하는 단계를 포함한다.

Description

전자 장치 및 학습 모델의 재학습 방법{ELECTRONIC APPARATUS AND METHOD FOR RE-LEARNING OF TRAINED MODEL THEREOF}
본 개시는 전자 장치 및 학습 모델의 재학습 방법에 관한 것으로, 더욱 상세하기는 새로운 개념을 학습할 때, 새로운 개념에 대응되는 태스크에 대해서만 부분적인 학습을 진행할 수 있는 전자 장치 및 학습 모델 생성 방법에 관한 것이다.
평생 학습(Lifelong learning)은 지속적 학습(continual learning)과 실시간 전이학습의 한 분야로, 새로운 개념이 학습될 때 기존에 배웠던 개념들의 성능을 올리면서 기존에 배웠던 지식을 활용하여 새로운 개념의 학습에도 도움을 주는 것을 이상적인 목표를 갖는다.
기존 시계열에 따른 점진적 학습의 경우, 새로운 개념을 학습할 때 기존에 학습한 개념을 잊어버려 오히려 전체적인 성능을 떨어트리는 문제가 흔하게 발생하며 이를 의미적 전이(semantic drift)라고 하였다.
이러한 문제를 해결하기 위한 종래의 해결 방법으로써, 학습된 기존의 개념들을 유지하면서 네트워크 확장을 통해 새로운 개념을 학습하는 등의 방법이 존재한다. 하지만, 이때, 네트워크는 고정된 크기만큼 확장하여, 계산비용이 급격히 상승하거나, 네트워크 모델의 상황에 능동적으로 대처하지 못하는 한계가 존재하였다.
따라서, 본 개시의 목적은 새로운 개념을 학습할 때, 새로운 개념에 대응되는 태스크에 대해서만 부분적인 학습을 진행할 수 있는 전자 장치 및 학습 모델 생성 방법을 제공하는 데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 개시의 학습 모델의 재학습 방법은, 복수의 뉴런으로 구성되는 학습 모델 및 신규 태스크를 포함하는 데이터 세트를 입력받는 단계, 상기 복수의 뉴런 중 상기 신규 태스크와 관련된 뉴런을 식별하고, 상기 식별된 뉴런에 대해서 상기 신규 태스크와 관련된 파라미터를 선택적 재학습하는 단계, 및 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 상기 선택적 재학습이 수행된 학습 모델의 크기를 동적으로 확장하여 상기 입력된 학습 모델을 재구성하는 단계를 포함한다.
이 경우, 상기 선택적 재학습 단계는 상기 입력된 학습 모델에 대한 손실 함수 및 희소성을 위한 정규화 항을 갖는 목적 함수가 최소화하도록 신규 파라미터 행렬을 산출하고, 상기 산출된 신규 파라미터 행렬을 이용하여 상기 신규 태스크와 관련된 뉴런을 식별할 수 있다.
한편, 상기 선택적 재학습 단계는 상기 식별된 뉴런만으로 구성되는 네트워크 파라미터에 대해서 상기 데이터 세트를 이용하여 신규 파라미터 행렬을 산출하고, 상기 산출된 신규 파라미터 행렬을 상기 학습 모델의 식별된 뉴런에 반영하여 선택적 재학습을 수행할 수 있다.
한편, 상기 입력된 학습 모델을 재구성하는 단계는 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 상기 선택적 재학습이 수행된 학습 모델에 레이어별로 고정된 개수의 뉴런을 추가하고, 그룹 희소성을 이용하여 상기 추가된 뉴런 중 불필요한 뉴런을 제거하여 상기 입력된 학습 모델을 재구성할 수 있다.
이 경우, 상기 입력된 학습 모델을 재구성하는 단계는 상기 입력된 학습 모델에 대한 손실 함수, 희소성을 위한 정규화 항 및 그룹 희소성을 위한 그룹 정규화 항을 갖는 목적 함수를 이용하여 상기 추가된 뉴런 중 불필요한 뉴런을 확인할 수 있다.
한편, 상기 입력된 학습 모델을 재구성하는 단계는 상기 식별된 뉴런의 변화가 기설정된 값을 가지면, 상기 식별된 뉴런을 복제하여 상기 입력된 학습 모델을 확장하고, 상기 식별된 뉴런은 기존의 값을 갖도록 하여 상기 입력된 학습 모델을 재구성할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치는 복수의 뉴런으로 구성되는 학습 모델 및 신규 태스크를 포함하는 데이터 세트가 저장된 메모리, 및 상기 복수의 뉴런 중 상기 신규 태스크와 관련된 뉴런을 식별하여 상기 식별된 뉴런에 대해서 상기 신규 태스크와 관련된 파라미터를 선택적 재학습하고, 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면 상기 선택적 재학습이 수행된 학습 모델의 크기를 동적으로 확장하여 상기 입력된 학습 모델을 재구성하는 프로세서를 포함한다.
이 경우, 상기 프로세서는 상기 입력된 학습 모델에 대한 손실 함수 및 희소성을 위한 정규화 항을 갖는 목적 함수가 최소화하도록 신규 파라미터 행렬을 산출하고, 상기 산출된 신규 파라미터 행렬을 이용하여 상기 신규 태스크와 관련된 뉴런을 식별할 수 있다.
한편, 상기 프로세서는 상기 식별된 뉴런만으로 구성되는 네트워크 파라미터에 대해서 상기 데이터 세트를 이용하여 신규 파라미터 행렬을 산출하고, 상기 산출된 신규 파라미터 행렬을 상기 학습 모델의 식별된 뉴런에 반영하여 선택적 재학습을 수행할 수 있다.
한편, 상기 프로세서는 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 상기 선택적 재학습이 수행된 학습 모델에 레이어별로 고정된 개수의 뉴런을 추가하고, 그룹 희소성을 이용하여 상기 추가된 뉴런 중 불필요한 뉴런을 제거하여 상기 입력된 학습 모델을 재구성할 수 있다.
이 경우, 상기 프로세서는 상기 입력된 학습 모델에 대한 손실 함수, 희소성을 위한 정규화 항 및 그룹 희소성을 위한 그룹 정규화 항을 갖는 목적 함수를 이용하여 상기 추가된 뉴런 중 불필요한 뉴런을 확인할 수 있다.
한편, 상기 입력된 학습 모델을 재구성하는 단계는 상기 식별된 뉴런의 변화가 기설정된 값을 가지면, 상기 식별된 뉴런을 복제하여 상기 입력된 학습 모델을 확장하고, 상기 식별된 뉴런은 기존의 값을 갖도록 하여 상기 입력된 학습 모델을 재구성할 수 있다.
한편, 본 개시의 전자 장치에서의 학습 모델의 재학습 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서, 상기 학습 모델의 재학습 방법은 복수의 뉴런으로 구성되는 학습 모델, 및 신규 태스크를 포함하는 데이터 세트를 입력받는 단계, 상기 복수의 뉴런 중 상기 신규 태스크와 관련된 뉴런을 식별하고, 상기 식별된 뉴런에 대해서 상기 신규 태스크와 관련된 파라미터를 선택적 재학습하는 단계, 및 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 상기 선택적 재학습이 수행된 학습 모델의 크기를 동적으로 확장하여 상기 입력된 학습 모델을 재구성하는 단계를 포함한다.
상술한 바와 같이 본 개시의 다양한 실시 예에 따르면, 즉, 기존에 선행학습 된 네트워크 모델을 기반으로 추가적인 학습을 진행할 경우, 전체적으로 다시 학습을 진행하는 것이 아닌, 해당하는 태스크 단위의 네트워크를 복제, 분할하여 추가적인 부분만 학습을 진행하여 학습시간 및 연산량을 절약할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 간단한 구성을 나타내는 블록도,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 나타내는 블록도,
도 3은 동적 확장 방법을 설명하기 위한 도면,
도 4는 동적 확장 네트워크에서의 증분 학습에 대한 내용을 설명하기 위한 도면,
도 5는 동적 확장 네트워크에서의 증분 학습 알고리즘을 나타내는 도면,
도 6은 선택적 재학습에 대한 알고리즘을 나타내는 도면,
도 7은 동적 확장 방법에 대한 알고리즘을 나타내는 도면,
도 8은 네트워크 분할 및 복제에 대한 알고리즘을 나타내는 도면,
도 9는 각 학습 모델 및 데이터 세트 각각에 대한 평균 태스크당 평균 성능을 나타내는 도면,
도 10은 각 학습 모델 및 데이터 세트 각각에 대한 네트워크 크기의 정확성을 나타내는 도면,
도 11은 선택적 재훈련의 효과를 나타내는 도면,
도 12는 MNIST-Variation 데이터 세트에 대한 시맨틱 드리프트 실험을 나타내는 도면,
도 13은 본 개시의 일 실시 예에 따른 학습 모델 행성 방법을 설명하기 위한 흐름도,
도 14는 본 개시의 일 실시 예에 따라 동적 확장 네트워크의 증분 학습을 설명하기 위한 흐름도,
도 15는 도 14의 선택적 재학습 단계를 설명하기 위한 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다." 또는 "구성되다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 도면을 참조하여 본 개시에 대해 더욱 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 간단한 구성을 나타내는 블록도이다.
도 1을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)로 구성될 수 있다. 여기서 전자 장치(100)는 데이터 연산이 가능한 PC, 노트북 PC, 서버 등일 수 있다.
메모리(110)는 복수의 뉴런으로 구성되는 학습 모델을 저장한다. 여기서 학습 모델은 인공 지능 알고리즘을 이용하여 학습된 모델이다. 그리고 인공 지능 알고리즘은 심층 신경 네트워크(Deep Neural Network, DNN), 심층 합성곱 신경망(Deep Convolution Neural Network), 레지듀얼 네트워크(Residual Network) 등일 수 있다. 이러한 학습 모델은 복수의 레이어, 즉 계층적으로 구성될 수 있다.
메모리(110)는 학습 모델을 재학습하기 위한 학습 데이터 세트를 저장할 수 있으며, 해당 학습 모델을 이용하여 분류 또는 인식하기 위한 데이터를 저장할 수도 있다.
또한, 메모리(110)는 학습 모델을 재학습하는데 필요한 프로그램을 저장하거나, 해당 프로그램에 의하여 재학습된 학습 모델을 저장할 수 있다.
이러한, 메모리(110)는 전자 장치(100) 내의 저장매체 및 외부 저장매체, 예를 들어 USB 메모리를 포함한 Removable Disk, 호스트(Host)에 연결된 저장매체, 네트워크를 통한 웹서버(Web server) 등으로 구현될 수 있다.
프로세서(120)는 전자 장치(100) 내의 각 구성에 대한 제어를 수행한다. 구체적으로, 프로세서(120)는 사용자로부터 부팅 명령이 입력되면, 메모리(110)에 저장된 운영체제를 이용하여 부팅을 수행할 수 있다.
프로세서(120)는 후술할 조작 입력부(140)를 통하여 재학습시킬 학습 모델을 선택받을 수 있으며, 선택된 학습 모델을 재학습하기 위한 각종 파라미터를 조작 입력부(140)를 통하여 입력받을 수 있다. 여기서 입력받는 각종 파라미터는 하이퍼파라미터 등일 수 있다.
각종 정보를 입력받으면, 프로세서(120)는 복수의 뉴런 중 신규 태스크와 관련된 뉴런을 식별한다. 구체적으로, 프로세서(120)는 입력된 학습 모델에 대한 손실 함수 및 희소성을 위한 정규화 항을 갖는 목적 함수가 최소화하도록 신규 파라미터 행렬을 산출하고, 산출된 신규 파라미터 행렬을 이용하여 신규 태스크와 관련된 뉴런을 식별할 수 있다. 여기서 목적 함수는 손실 함수 및 희소성을 위한 정규화 항을 갖는 함수로 수학식 2와 같이 표현될 수 있다. 목적 함수의 구체적인 내용에 대해서는 도 3과 관련하여 후술한다.
그리고 프로세서(120)는 식별된 뉴런에 대해서 신규 태스크와 관련된 파라미터를 선택적 재학습한다. 구체적으로, 프로세서(120)는 후술할 수학식 3과 같은 목적 함수가 최소화하도록 식별된 뉴런만으로 구성되는 네트워크 파라미터에 대해서 데이터 세트를 이용하여 신규 파라미터 행렬을 산출하고, 산출된 신규 파라미터 행렬을 학습 모델의 식별된 뉴런에 반영하여 선택적 재학습을 수행할 수 있다.
그리고 프로세서(120)는 선택적으로 재학습된 학습 데이터를 재구성할 수 있다. 구체적으로, 프로세서(120)는 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 선택적 재학습이 수행된 학습 모델의 크기를 동적으로 확장하여 입력된 학습 모델을 재구성할 수 있다.
보다 구체적으로, 프로세서(120)는 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 선택적 재학습이 수행된 학습 모델에 레이어별로 고정된 개수의 뉴런을 추가하고, 그룹 희소성을 이용하여 추가된 뉴런 중 불필요한 뉴런을 제거하여 입력된 학습 모델을 재구성할 수 있다. 이때, 프로세서(120)는 입력된 학습 모델에 대한 손실 함수, 희소성을 위한 정규화 항 및 그룹 희소성을 위한 그룹 정규화 항을 갖는 수학식 4와 같은 목적 함수를 이용하여 추가된 뉴런 중 불필요한 뉴런을 확인할 수 있다.
또는 프로세서(120)는 후술할 수학식 5를 연산하여 기 식별된 뉴런의 변화를 계산하고, 기식별된 뉴런의 변화가 기설정된 값을 가지면, 식별된 뉴런을 복제하여 입력된 학습 모델을 확장하고, 식별된 뉴런은 기존의 값을 갖도록 하여 입력된 학습 모델을 재구성할 수 있다.
프로세서(120)는 재학습된 학습 모델을 이용하여 비전 인식, 음성 인식, 자연어 처리 등의 각종 처리를 수행할 수 있다. 구체적으로, 학습 모델이 이미지 분류와 관련된 것이었으면, 프로세서(120)는 재학습된 학습 모델과 입력된 이미지를 이용하여 입력된 이미지가 어떠한 것인지를 분류할 수 있다.
이상과 같이 본 실시 예에 따른 전자 장치(100)는 태스크를 확장할 때, 즉 재학습을 수행할 때, 전체 가중치가 아니라 그 태스크에 의미 있는 뉴런만을 재학습하는바, 효율적인 재학습이 가능하다. 또한, 의미있는 뉴런만을 재학습하는바 의미적 전이를 방지할 수 있게 된다.
한편, 이상에서는 전자 장치를 구성하는 간단한 구성에 대해서만 도시하고 설명하였지만, 구현시에는 다양한 구성이 추가로 구비될 수 있다. 이에 대해서는 도 2를 참조하여 이하에서 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 나타내는 블록도이다.
도 2를 참조하면, 전자 장치(100)는 메모리(110), 프로세서(120), 통신부(130), 디스플레이(140) 및 조작 입력부(150)로 구성될 수 있다.
메모리(110) 및 프로세서(120)의 동작에 대해서는 도 1과 관련하여 설명하였는바, 중복 설명은 생략한다.
통신부(130)는 타 전자 장치와 연결되며, 타 전자 장치로부터 학습 모델 및/또는 학습 데이터를 수신할 수 있다. 또한, 통신부(130)는 분류 또는 평가가 필요한 정보를 입력받고, 분류 및 평가 결과를 타 전자 장치에 제공할 수 있다.
이러한 통신부(130)는 전자 장치(100)를 외부 장치와 연결하기 위해 형성되고, 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 단말장치에 접속되는 형태뿐만 아니라, USB(Universal Serial Bus) 포트 또는 무선 통신(예를 들어, WiFi 802.11a/b/g/n, NFC, Bluetooth) 포트를 통하여 접속되는 형태도 가능하다.
디스플레이(140)는 전자 장치(100)에서 제공하는 각종 정보를 표시한다. 구체적으로, 디스플레이(140)는 전자 장치(100)가 제공하는 각종 기능을 선택받기 위한 사용자 인터페이스 창을 표시할 수 있다. 구체적으로, 해당 사용자 인터페이스 창은 재학습을 수행할 학습 모델을 선택받거나, 재학습 과정에 사용될 파라미터를 입력받기 위한 항목을 포함할 수 있다.
이러한 디스플레이(140)는 LCD, CRT, OLED 등과 같은 모니터일 수 있으며, 후술할 조작 입력부(150)의 기능을 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다.
또한, 디스플레이(140)는 학습 모델을 이용하여 테스트 결과에 대한 정보를 표시할 수 있다. 예를 들어, 해당 학습 모델이 이미지를 분류하는 모델이었으면, 디스플레이(140)는 입력된 이미지에 대한 분류 결과를 표시할 수 있다.
조작 입력부(150)는 사용자로부터 재학습을 수행할 학습 데이터 및 재학습 과정에서 수행할 각종 파라미터를 입력받을 수 있다.
이러한 조작 입력부(150)는 복수의 버튼, 키보드, 마우스 등으로 구현될 수 있으며, 상술한 디스플레이(140)의 기능을 동시에 수행할 수 있는 터치 스크린으로도 구현될 수도 있다.
한편, 도 1 및 도 2를 도시하고 설명함에 있어서, 전자 장치(100)에 하나의 프로세서만 포함되는 것으로 설명하였지만, 전자 장치에는 복수의 프로세서가 포함될 수 있으며, 일반적인 CPU 뿐만 아니라 GPU가 활용될 수 있다. 구체적으로, 상술한 최적화 동작은 복수의 GPU를 이용하여 수행될 수 있다.
이하에서는 학습 모델 변경방법에 대해서 자세히 설명한다.
평생 학습(Lifelong learning)은 이전 학습의 한 분야로, 평생 학습의 주요 목적은 이전 태스크의 지식을 활용하여 성능을 향상시키거나 이후 태스크를 위한 모델에서보다 빠른 수렴/학습 속도를 얻는 것이다.
이러한 문제를 해결하기 위한 다양한 접근 방식이 존재한다. 그러나 본 개시에서는 심층 신경 네트워크의 능력을 활용하기 위하여, 심층 학습 상에서 평생 학습을 고려한다. 다행히, 심층 학습에서, 지식을 저장 또는 전이하는 것은 학습된 네트워크 가중치를 통해 간단한 방법으로 수행할 수 있다. 학습된 가중치는 기존 태스크에 대한 지식으로 제공할 수 있으며, 새로운 태스크는 단순히 이들의 가중치를 공유하는 것만으로 영향력을 미칠 수 있다.
따라서, 평생 학습은 심층 신경 네트워크에서의 온라인 학습(online learning) 또는 점진적 학습(incremental learning)의 특수 사례로 간주할 수 있다.
점진적 학습을 수행하는 다양한 방법이 있는데, 가장 단순한 방법은 새로운 학습 데이터로 네트워크를 계속 학습함으로써 네트워크를 새로운 태스크로 점진적으로 미세 조정하는 것이다.
그러나 네트워크를 단순하게 재학습하면 새로운 태스크와 이전 태스크 모두에서 성능이 저하될 수 있다. 만약, 새로운 태스크가 이전의 태스크와 크게 다른 경우, 예를 들어, 이전 태스크는 동물의 이미지를 분류하는 것인데 새로운 태스크는 자동차의 이미지를 분리하는 것이라면, 이전 태스크의 특징 학습은 새로운 태스크 학습에 유용하지 않다. 동시에, 새로운 태스크에 대한 재학습은 원래 태스크에 벗어나서 더는 최적의 태스크가 아니게되어, 기존 태스크에 부정적인 영향을 미치게 된다.
예를 들어, 얼룩말의 줄무니 패턴을 설명하는 특징은 줄무늬 티셔츠 또는 울타리를 분류하는 후천적인 분류 태스크에 대한 의미로 변경하는 것과 같이, 특징을 변경하고, 그것의 의미도 크게 변경할 수 있다.
이에 따라, 심층 신경망의 온라인/증분 학습에서 네트워크를 통하여 지식의 공유가 모든 태스크에 유익하다는 것을 어떻게 보장할 수 있는지를 고려하였다. 최근에 작업들은 큰 파라미터의 변화를 방지하는 정규화의 사용을 제안한다. 그러나 이러한 제안은 새로운 태스크에 대한 좋은 솔루션을 찾아야 하며, 오래된 태스크의 파라미터의 변화를 방지하는 문제가 있다.
따라서, 본 개시에서는 필요한 경우, 네트워크 크기의 확장을 허용하면서, 새로운 태스크 활용을 위하여 각 태스크(t)에서 네트워크를 학습하고, 이전 학습 네트워크에서 대응되는 부분만을 변경시킨다. 이러한 방식으로, 각 태스크(t)는 이전 태스크와 다른 서브네트워크로 사용될 수 있으며, 그것과 관련된 서브네트워크의 상당한 부분을 공유할 수 있다.
한편, 선택적 파라미터 공유 및 동적 레이어 확장을 통해 점진적으로 심층 학습 설정을 수행하기 위해서는 아래와 같은 점이 고려되어야 한다.
1) 학습의 확장성 및 효율성 달성 : 네트워크의 크기가 증가하면 이후 태스크를 통해 훨씬 더 큰 네트워크에 대한 연결이 설정되므로 태스크 당 학습 비용도 점차 증가하게 된다. 따라서, 재훈련의 계산상의 오버 헤드를 낮게 유지할 방법이 요구된다.
2) 네트워크를 확장할 시기와 추가할 뉴런 수 결정 : 기존 네트워크가 새로운 태스크를 충분히 설명하면 네트워크가 크기를 확장할 필요가 없다. 반대로, 태스크가 기존의 것과 매우 다른 경우 많은 뉴런을 추가해야 할 필요가 있다. 따라서, 학습 모델은 필요한 수의 뉴런만 동적으로 추가할 필요가 있다.
3) 의미적 전이(semantic drift) 또는 네트워크가 초기 구성에서 벗어난 초기의 예제/태스크에 대한 성능이 저하되는 격변적 망각(catastrophic forgetting)을 방지할 필요가 있다. 이러한 점에서, 부분적으로는 네트워크를 재학습하고 나중에 학습한 태스크에 적합하게 하고 이전 서브 네트워크와의 연결을 설정하여 이전 태스크에 부정적인 영향을 미칠 수 있는 새로운 뉴런을 추가하기 때문에 잠재적인 의미적 전이의미 이동을 방지하는 메커니즘이 요구된다.
이러한 점을 해결하기 위하여, 본 개시에서는 효율적이고 효과적인 증분 학습 알고리즘과 함께 새로운 차원의 네트워크 모델을 제안한다. 이러한 알고리즘을 Dynamically Expandable Networks (DEN)라고 지칭한다.
평생 학습 시나리오에서 DEN은 모든 이전 태스크에서 배운 네트워크를 최대한 활용하여 새로운 태스크를 예측하는 방법을 효율적으로 배우는 동시에 필요할 때 뉴런을 추가하거나 분할하여 네트워크 크기를 동적으로 늘릴 수 있다. 이러한 알고리즘은 합성곱 네트워크 (convolutional network)를 포함한 일반적인 네트워크에 적용 가능하다.
이하에서는 도 3을 참조하여 종래의 평생 학습 방법과 본 실시 예에 따른 학습 방법을 설명한다.
도 3은 다양한 재학습 모델을 설명하기 위한 도면이다.
도 3a은 Elastic Weight Consolidation과 같은 재학습 모델을 나타낸다. 해당 모델은 원래 모델과의 크 차이를 방지하기 위하여 정규화를 수행하면서 이전 태스크에 대해 학습된 전체 네트워크를 재학습하는 방식이다. 재학습된 단위(unit)와 가중치는 점선으로 표시되었고, 실선으로 되어 있는 부분은 고정된 단위와 가중치를 나타낸다.
도 3b은 Progressive Network와 같은 비 훈련 모델을 나타낸다. 해당 모델은 기존의 태스크에 대한 네트워크 가중치를 유지하면서 새로운 태스크(t)에 대해서 네트워크를 확장한다.
도 3c은 본 개시에 따른 학습 모델을 나타낸다. 본 개시에 따른 학습 모델은 기존의 네트워크를 선택적으로 재학습하여 필요한 경우 크기를 확장하므로 학습시의 최적의 크기를 동적으로 결정한다.
이하에서는 본 개시에 따른 동적으로 확장 가능한 네트워크 증분 학습에 대해서 설명한다.
학습 데이터의 알려지지 않은 분포를 가진 미지의 태스크 수가 모델에 순차적으로 도착하는 평생 학습 시나리오에서 심층 신경망의 증분 훈련 문제를 고려한다. 구체적으로, 연속적인 T 태스크(t = 1, ..., t, ..., T, T는 무한대)에 대한 모델을 학습하는 것이다. 여기서 특정 시점(t)에서 태스크는 학습 데이터(
Figure 112018010221313-pat00001
)에 달려있다.
특정 태스크의 일반화를 위한 방법은 단순화를 위하여, 입력 특징(
Figure 112018010221313-pat00002
)에 대한
Figure 112018010221313-pat00003
를 갖는 바이너리 분류 태스크를 고려할 수 있다. 평생 학습 환경에서 t-1까지의 이전 훈련 데이터 세트가 현재 시간 t에서 사용 가능하지 않다는 것이 주요 태스크이다. 이전 작업에 대한 모델 파라미터만 액세스 가능하다.
시간 t에서 평생 학습 에이전트는 다음과 같은 수학식을 해결하여 모델 파라미터
Figure 112018010221313-pat00004
를 학습하는 것을 목표로 한다.
Figure 112018010221313-pat00005
여기서
Figure 112018010221313-pat00006
은 태스크 특정 손실 함수이고,
Figure 112018010221313-pat00007
는 태스크 t에 대한 파라미터이고,
Figure 112018010221313-pat00008
는 모델
Figure 112018010221313-pat00009
를 적절하게 시행하기 위한 정규화(예를 들어, 엘리먼트-와이즈(element-wise)
Figure 112018010221313-pat00010
놈(norm) )이다. 그리고 L(l=1,2,…,L)은 레이어의 개수, D는 데이터,
Figure 112018010221313-pat00011
:
Figure 112018010221313-pat00012
레이어에서의 t에 대한 가중치 텐서(tensor)이다.
평생 학습의 이러한 태스크를 해결하기 위해 네트워크는 이전 태스크에서 얻은 지식을 최대한 활용하고 누적 지식만으로는 새로운 태스크를 충분히 설명할 수 없을 때 크기를 동적으로 확장할 수 있도록 한다. 구체적으로, 동적으로 네트워크의 크기를 조절해 나가며 최적해를 찾아갈 수 있다. 즉, 기존에 선행학습 된 네트워크 모델을 기반으로 추가적인 학습을 진행할 경우, 전체적으로 다시 학습을 진행하는 것이 아닌, 해당하는 태스크 단위의 네트워크를 복제, 분할하여 추가적인 부분만 학습을 진행하여 학습시간 및 연산량을 절약할 수 있다.
이하에서는 도 4 및 도 5를 참고하여 점진적 학습 과정을 설명한다.
도 4는 동적 확장 네트워크에서의 증분 학습에 대한 내용을 설명하기 위한 도면이고, 도 5는 동적 확장 네트워크에서의 증분 학습 알고리즘을 나타내는 도면이다.
도 4 및 도 5를 참조하면, 먼저, 선택적 재학습을 수행한다. 구체적으로, 신규 태스크와 관련된 뉴런을 식별하고 관련 태스크와 관련된 네트워크 파라미터를 선택적으로 재학습한다. 선택적 재학습의 구체적인 동작은 도 6을 참조하여 후술한다.
그리고 동적으로 네트워크 확장한다. 구체적으로, 선택적 재훈련이 설정된 임계 값 이하의 원하는 손실을 얻지 못하면 그룹 - 희소성 정규화를 사용하여 불필요한 모든 신경을 제거하면서 네트워크 크기를 하향식으로 확장한다. 동적 확장 동작에 대해서는 도 7을 참조하여 후술한다.
그리고 네트워크를 분할하거나 복제한다. 구체적으로, DEN은 각 유닛에 대한 드리프트(drift)
Figure 112018010221313-pat00013
를 계산하여 훈련 도중 원래 값에서 너무 많이 벗어난 유닛을 식별하고 복제한다. 네트워크의 분할 및 복제에 대한 구체적인 동작은 도 8을 참조하여 후술한다.
이하에서는 도 6을 참조하여 선택적 재학습 동작을 설명한다.
도 6은 선택적 재학습에 대한 알고리즘을 나타내는 도면이다.
일련의 태스크에 대해 모델을 훈련시키는 가장 단순한 방법은 새로운 태스크가 도착할 때마다 전체 모델을 재학습하는 것이다. 그러나 이러한 재훈련은 심층 신경 네트워크에 큰 비용이 들게 한다. 따라서 신규 태스크의 영향을 받는 가중치만 재학습하여 모델의 선택적 재학습을 수행하는 것이 바람직하다. 이에 따라, 본 개시에서는 가중치의 희소성을 가속하기 위하여
Figure 112018010221313-pat00014
정규화로 네트워크를 학습한다. 이에 따라, 각 뉴런은 아래의 레이어에서 단지 몇 개의 뉴런에만 연결된다.
Figure 112018010221313-pat00015
여기서,
Figure 112018010221313-pat00016
은 네트워크의
Figure 112018010221313-pat00017
번째 레이어를 나타내며,
Figure 112018010221313-pat00018
은 레이어
Figure 112018010221313-pat00019
에서의 네트워크 파라미터이고,
Figure 112018010221313-pat00020
Figure 112018010221313-pat00021
의 희소성을 위한 엘리먼트-와이즈(element-wise)
Figure 112018010221313-pat00022
놈의 정규화 파라미터로, regularize를 더할 때 그 크기를 정하는데 이용된다. 합성곱 레이어에서, 필터 상에 (2,1)-놈을 적용하여 이전 레이어의 필터만 선택하였다.
Figure 112018010221313-pat00023
-정규화는 뉴런 간의 연결성이 희박하므로 서브 네트워크 연결 신규 태스크에 집중할 수 있다면 계산 오버 헤드를 크게 줄일 수 있다. 이를 위해 새로운 태스크가 모델에 도착하면 다음과 같은 수학식 2를 통해 신경망의 최상위 숨겨진 단위를 사용하여 태스크 t를 예측하기 위한 스파스(sparse) 선형 모델에 적합하게 만든다.
Figure 112018010221313-pat00024
여기서
Figure 112018010221313-pat00025
Figure 112018010221313-pat00026
을 제외한 다른 모든 파라미터 집합을 나타낸다. 즉, 이 최적화를 해결하여 출력부(
Figure 112018010221313-pat00027
)와 레이어 L-1에서 히든 레이어 간의 연결을 얻는다(레이어 L-1까지 다른 모든 파라미터를
Figure 112018010221313-pat00028
으로 고정). 이러한 레이어에서의 스파스 연결을 구축하여, 학습 영향을 받는 네트워크 내의 단위 및 가중치를 식별할 수 있게 된다. 특히, 선택한 노드에서 시작하여 네트워크에서 너비 우선 탐색을 수행하여 경로가 있는 모든 유닛 (및 입력 특징)을 식별할 수 있다. 그 다음, 선택된 서브 네트워크(S)(
Figure 112018010221313-pat00029
)의 가중치들만을 학습할 수 있다.
Figure 112018010221313-pat00030
스파스 연결이 이미 확립되었기 때문에 엘리먼트-와이즈
Figure 112018010221313-pat00031
정규화를 사용한다. 이러한 선택적 재학습은 선택되지 않은 뉴런은 재학습의 영향을 받지 않기 때문에, 계산 오버헤드를 낮추고 부정적인 전이를 회피하는데 도움이된다.
도 6을 참조하면, 먼저, l과 S를 초기화하고, 수학식 2를 이용하여
Figure 112018010221313-pat00032
를 얻는다.
그리고 레이어 L에서의 task t 에 대한 웨이트인
Figure 112018010221313-pat00033
의 i와 Ot 사이의 가중치가 0이 아니면, S에 뉴런 i를 추가한다.
또한,
Figure 112018010221313-pat00034
인 뉴런 S가 존재할 때 S에 뉴런 i를 추가한다.
그리고 수학식 3을 이용하여
Figure 112018010221313-pat00035
를 얻는다.
도 7은 동적 확장 방법에 대한 알고리즘을 나타내는 도면이다.
새로운 태스크가 이전 태스크와 관련성이 높거나 각 태스크에서 얻은 부분적으로 얻게 된 지식이 새로운 태스크를 설명하기에 충분하다면, 선택적 재훈련만으로도 새로운 태스크를 수행하는 데 충분하다.
그러나 학습된 특징이 새로운 태스크를 나타내는 데 충분하지 않다면, 신규 태스크에 필요한 기능을 설명하기 위해 추가 뉴런을 네트워크에 도입해야 한다. 한편, 태스크 난이도를 고려하지 않고, 일정수의 단위를 추가하거나, 반복적인 포워드 패스를 요구하는 것은 성능 및 네트워크 크기 측면에서 바람직하지 않다.
따라서, 본 개시에서는 각 레이어에 얼마나 많은 뉴런을 추가하여야 하는지 동적으로 결정하기 위하여 그룹 스파스 정규화를 사용한다. 네트워크의 레이어를 일정한 수(k)로 확장한다고 가정하면, 두 개의 파라미터 행렬은
Figure 112018010221313-pat00036
Figure 112018010221313-pat00037
와 같이 확장할 수 있다. 그리고 새로운 태스크와 이전 태스크 간의 관련성에 따라 항상
Figure 112018010221313-pat00038
단위를 추가하기를 원하지 않기 때문에 수학식 4와 같이 추가된 파라미터에 그룹 희소 정규화를 수행한다.
Figure 112018010221313-pat00039
여기서
Figure 112018010221313-pat00040
는 각 뉴런에 대한 유입 가중치로 정의 된 그룹이다. 합성곱 레이어는, 각 그룹을 각 합성곱 필터의 활성화 맵으로 정의하였다. 이러한 그룹 희소 정규화는 전체 네트워크의 적정한 뉴런 수를 찾으며, 본 개시에서는 일부 네트워크에서만 이를 적용한다. 도 7은 이러한 알고리즘을 나타낸다.
도 7을 참조하면, 선택적 재학습에서 목표로 하는 손실 값(
Figure 112018010221313-pat00041
)이 기설정된 손실 값(
Figure 112018010221313-pat00042
)보다 크면, 네트워크 크기를 고정적으로 확장하고, 그룹 희소성을 통해 확장된 뉴런 중 불필요한 뉴런을 제거하는 동작을 반복적으로 수행할 수 있다.
도 8은 네트워크 분할 및 복제에 대한 알고리즘을 나타내는 도면이다.
평생 학습에서 중요한 과제는 나중에 학습된 태스크에 의하여 초기 태스크를 잊고 그 결과 성능이 저하되는 의미적 전이, 치명적 망각이다. 의미적 전이를 방지할 수 있는 쉬운 방법은
Figure 112018010221313-pat00043
정규화를 사용하여 원래 값으로부터 너무 많이 벗어나지 않도록 파라미터를 정규화하는 것이다.
Figure 112018010221313-pat00044
여기서
Figure 112018010221313-pat00045
는 현재 태스크이고,
Figure 112018010221313-pat00046
은 l 태스크
Figure 112018010221313-pat00047
에 대해 훈련된 네트워크의 가중치 텐서(tensor)이다. 그리고,
Figure 112018010221313-pat00048
는 정규화 파라미터이다.
Figure 112018010221313-pat00049
정규화는 주어진
Figure 112018010221313-pat00050
정도로 솔루션
Figure 112018010221313-pat00051
Figure 112018010221313-pat00052
에 가깝도록 강제하는 것이다.
Figure 112018010221313-pat00053
가 작다면, 네트워크는 오래된 태스크를 잊어 버리는 동안 새로운 태스크를 더 반영하도록 배울 것이고,
Figure 112018010221313-pat00054
가 크다면,
Figure 112018010221313-pat00055
는 이전 태스크에서 배운 지식을 가능한 한 많이 보존하려고 할 것이다.
Figure 112018010221313-pat00056
정규화를 대신하여, 피셔 정보(Fisher information)로 각 요소를 가중하는 방법도 가능하다. 그럼에도, 태스크의 수가 매우 크거나, 나중의 태스크가 의미적으로 이전 태스크와 차이가 있다면, 이전 및 새로운 태스크 각각에 대한 좋은 솔루션을 찾기에 어렵게 된다.
이러한 경우에는 최적화된 두 개의 다른 태스크를 분리하는 것이 좋은 방법이 된다. 수학식 5를 수행하여, t-1과 t에서 들어오는 가중치 사이의
Figure 112018010221313-pat00057
거리로 각 숨겨진 레이어에서의 의미적 전이의 양(
Figure 112018010221313-pat00058
)을 측정한다.
Figure 112018010221313-pat00059
라면, 우리는 훈련 중에 특징의 의미가 크게 변했다고 생각할 수 있는바, 이 뉴런을 두 개의 복사본으로 나눈다. 이러한 방식은 모든 히든 뉴런에 대해서 병렬적으로 수행될 수 있다. 뉴런을 복제한 이후에, 뉴런은 수학식 5를 이용하여 가중치가 다시 학습될 수 있다. 그러나 초기화 학습으로부터 합리적인 파라미터 초기화에 기초하여 두 번째 학습은 빠르게 수행될 수 있다. 도 8은 이러한 알고리즘을 나타낸다.
도 8을 참조하면, 앞선 동적 네트워크 확장 동작 이후에, 업데이트된 뉴런의 변화가 기준점보다 높으면 해당 뉴런들(B)을 복제하여 네트워크를 확장하고, 업데이트된 뉴런(B)을 이전 단계(A)로 복귀할 수 있다.
한편, 네트워크 확장 및 네트워크 분할 절차 모두에서 네트워크에 추가될 때 학습 단계 t를 저장하는
Figure 112018010221313-pat00060
를 설정하여 새로 추가된 유닛 j를 타임스탬프 처리하여 새로운 개념의 도입으로 인한 의미적 편차를 효과적으로 방지할 수 있다.
구체적으로, 추론시 각 작업은 이전 단계에서 학습 과정에 추가된 새로운 숨겨진 단위를 사용하지 못하도록 단계 t까지 도입된 파라미터만을 사용할 수 있다. 이것은 각 학습 단계까지 학습된 가중치를 수정하는 것보다 유연하다. 초기 학습 과제는 이후 학습 과제에서 배울 수 있지만 학습은 더 잘되지만 분리되지는 못하기 때문에 이점이 있다.
이하에서는 도 9 내지 도 12를 참조하여, 본 개시에 따른 선택적 재학습 방법의 효과에 대해서 설명한다.
이하에서는 본 개시에 따른 선택적 재학습 방법에 적용된 실험 조건의 비교 대상 및 그에 대한 설정 상태를 우선적으로 설명한다.
1) DNN-STL(Singl-Task Learning) :각각의 태스크에 대해 개별적으로 훈련된 기본 심층 신경 네트워크이다.
2) DNN-MTL(Multi-Task Learning) : 한 번에 모든 태스크에 대해 학습된 기본 심층 신경 네트워크이다.
3) DNN-L2 : 기본적인 심층 신경 네트워크로, 각 태스크 t에서 Wt는
Figure 112018010221313-pat00061
로 초기화되고 SGD로 계속 훈련되며,
Figure 112018010221313-pat00062
에 대해서`
Figure 112018010221313-pat00063
정규화된 SGD로 훈련된다.
4) DNN-EWC : 정교화를 위한 탄력적인 가중치 강화로 훈련된 심층 네트워크이다.
5) DNN- 프로그레시브 : 각 태스크에 대한 네트워크 가중치가 나중에 도착한 태스크에 대해 고정된 점진적 네트워크이다.
6) DEN. 본 개시의 재학습 방법이다.
기본 네트워크 설정.
1) 피드 포워드 네트워크 : ReLU 활성화를 갖는 312-128개 각각 갖는 2 레이어 네트워크를 사용하였으며,
Figure 112018010221313-pat00064
의 정규화를 위한
Figure 112018010221313-pat00065
로 0.1을 사용하였다. 그리고 수학식 2의 희소성
Figure 112018010221313-pat00066
Figure 112018010221313-pat00067
로 설정하였다. 그리고 각 태스크에 추가되는 유닛의 수로 k=10을 사용하였으며, 수학식 4에서의 그룹 희소성 정규화 항의
Figure 112018010221313-pat00068
은 0.01을 설정하였으며, 네트워크 분할 및 복제에서의 l2 거리 임계치로
Figure 112018010221313-pat00069
을 설정하였다.
2) 합성곱 네트워크 : 2개의 합성곱 레이어와 3개의 완전 연결 레이어를 ㄱ 갖는 LeNet을 사용하였다. 여기서 l2 정규화로서
Figure 112018010221313-pat00070
로 0.01을 사용하였으며, 희소성을 위하여
Figure 112018010221313-pat00071
를 사용하였으며, 그룹 희소성을 위하여
Figure 112018010221313-pat00072
을 사용하였다. 그리고 네트워크 분할 및 복제를 위한
Figure 112018010221313-pat00073
Figure 112018010221313-pat00074
에 대해서
Figure 112018010221313-pat00075
Figure 112018010221313-pat00076
을 각각 합성곱 레이어 및 완전 연결 레이어에 설정하였다.
모든 모델 및 알고리즘은 Tensorflow 라이브러리를 사용하여 구현하였다. 이하에서는 사용된 데이터 세트들에 대해서 설명한다.
1) MNIST-Variation. 이 데이터 세트는 0에서 9까지의 자필 자릿수로 구성된 62000개의 이미지로 구성된다.
2) CIFAR-10. 이 데이터 세트는 차량 및 동물을 비롯한 일반적인 객체의 60000개의 이미지로 구성된다. 각 클래스에는 6000개의 32x32 이미지가 있으며, 여기에는 5000개의 이미지가 학습에 사용하고 나머지는 테스트에 사용하였다.
3) AWE. 이 데이터 세트는 50 동물의 30475 이미지로 구성된다.
이하에서는 상술한 모델, 데이터 세트를 이용한 정량적 평가를 설명한다. 구체적으로 예측 정확도와 효율 모두에 대해 모델을 검증하였다.
도 9는 각 학습 모델 및 데이터 세트 각각에 대한 평균 태스크당 평균 성능을 나타내는 도면이다. 구체적으로, 도 9a는 MNIST-variation 데이터 세트에 대한 모델별 태스크 수를 나타낸 도면이고, 도 9b는 CIFAR-10 데이터 세트에 대한 모델별 태스크 수를 나타낸 도면, 도 9c는 AWA 데이터 세트에 대한 모델별 태스크 수를 나타낸 도면이다.
도 9를 참조하면, CNN-MTL 및 DNN-STL은 각각 CIFAR-10 및 AWA에서 최고의 성능을 갖는 것을 확인할 수 있다. 한 번에 모든 태스크를 수행할 수 있도록 훈련되었거나 각 태스크에 가장 적합하기 때문에 실적이 좋을 것으로 예상된다.
반면 다른 모델들은 온라인으로 훈련되어 의미론적 표류를 유발할 수 있다. 태스크 수가 적으면 MTL은 다중 태스크 학습을 통한 지식 공유에서 가장 잘 작동하지만 태스크 수가 많으면 STL은 MTL보다 학습 크기가 크기 때문에 더 잘 작동한다.
DEN은 다른 모델과 거의 동일한 성능을 가지며, MNIST-변형과 같은 데이터 세트에서 다른 것들의 성능을 능가함을 확인할 수 있다.
그리고 L2 및 EWC와 같은 정규화와 결합된 재학습 모델은 모든 데이터 세트에서 상대적으로 잘 수행되지 않음을 확인할 수 있다.
점진적 네트워크는 이 두 가지보다 잘 작동하지만, AWA에서는 성능이 상당히 나빠진다. 이는 많은 수의 태스크로 인해 적절한 네트워크 크기를 찾기가 어려울 수 있기 때문이다. 네트워크가 너무 작으면 새로운 태스크를 나타낼 수 있는 충분한 학습 능력을 갖추지 못하고, 너무 크면 과도하게되는 경향이 있다.
이와 같은 도 9를 참조하면, 본 개시에 따른 DEN은 평생학습 방식임에도 새로운 개념을 학습할 때, 독립적 학습(STL)이나 동시 학습(MTL)에 근접한 성능을 모이거나 뒤어난 결과를 보임을 확인할 수 있다.
도 10은 네트워크 크기에 따른 성능 차이를 나타내는 도면이다. 구체적으로, 도 10a은 MNIST-Variation 데이터 세트에서의 학습 모델별 네트워크 크기를 나타내는 도면이고, 도 10b는 CIFAR-10 데이터 세트에서의 학습 모델별 네트워크 크기를 나타내는 도면이고, 도 10c는 AWA 데이터 세트에서의 학습 모델별 네트워크 크기를 나타내는 도면이다.
도 10을 참조하면, 본 개시에 따른 DEN은 프로그레시브 네트워크보다 훨씬 적은 수의 파라미터로 훨씬 더 나은 성능을 얻거나 비슷한 수의 파라미터를 사용하여 훨씬 더 우수한 성능을 가짐을 확인할 수 있다. DEN은 또한 MNIST-Variation, Cigar-10 및 AWA에서 각각 18.0%, 19.1% 및 11:9%의 크기를 사용하여 STL과 동일한 수준의 성능을 얻을 수 있다.
이것은 AWA에서 실질적으로 큰 네트워크를 학습하는 동안 MNIST-Variation에서 매우 컴팩트 한 모델을 배우기 때문에 최적의 크기를 동적으로 찾을 수 있는 것이 DEN의 주요 이점이다. 모든 태스크 (DEN-Finetune)에 대한 DEN 미세 조정은 모든 데이터 집합에서 최상의 성능 모델을 얻는다. DEN은 평생 학습에 유용 할뿐만 아니라 모든 태스크이있을 때 네트워크 크기 예측에도 사용될 수 있다. 첫 번째 장소에서 사용할 수 있다.
또한, 학습된 네트워크의 크기를 사용해 재학습을 했을 때 모든 데이터 세트에서 가장 높은 성능을 보임을 확인할 수 있다. 이를 통해서 본 개시에 따른 학습 모델이 평생 학습 시나리오뿐 아니라 처음부터 복수의 태스크를 한꺼번에 학습할 때 또한 마찬가지로 학습하는 네트워크의 크기 추정에 활용할 수 있음을 확인할 수 있다.
도 11은 선택적 재훈련의 효과를 나타내는 도면이다. 구체적으로, 도 11a는 크기별 처리 시간을 나타낸 도면이고, 도 11b는 AUC를 나타낸 도면, 도 11c는 확장 성능을 나타내는 도면이다.
MNIST-Variation 데이터 세트의 각 태스크에 대한 학습 속도와 정확도를 측정함으로써 선택 학습이 얼마나 효율적이고 효과적인지 검토하였다. 이를 위해 우리는 DNN-Selective라고하는 네트워크 확장 없는 모델을 DNN-L2와 비교하였다.
도 11a 및 도 11b를 참조하면, DNN-Selective는 전체 네트워크에 비해 약간의 정확도 저하를 얻는 반면, 6:51배의 속도 향상을 달성하므로 선택 재학습은 네트워크의 전체 재학습보다 훨씬 효율적임을 확인할 수 있다.
도 11c를 참조하면, DNN-L1은 또한 희소 정규화 없이 훈련된 전체 네트워크보다 우수한 성능을 발휘함을 확인할 수 있다. 왜냐하면, 희소(sparse) 네트워크는 순방향 및 역방향 통과에 대한 계산의 많은 부분을 없애기 때문이다. 그러나 DNN 선택형으로는 효율적이지 않다.
이하에서는 도 12를 참조하여 네트워크 확장 효과에 대해서 검토한다.
도 12는 MNIST-Variation 데이터 세트에 대한 시맨틱 드리프트 실험을 나타내는 도면이다. 구체적으로, 도 12a는 CPU 시간으로 측정된 각 태스크에 대한 학습 시간이고, 도 12b는 비교된 모델의 평균 태스크 당 성능, 도 12c는 확장 성능을 나타낸다.
선택적 재훈련 및 레이어 확장을 수행하지만 네트워크가 분할되지 않은 모델의 변형과 네트워크 확장의 효율성을 모델과 비교한다.
DNN-Dynamic은 DNN-Constant를 포함한 모든 모델보다 월등히 우수한 평균 AUC를 얻는 반면 DNN-Constant보다 네트워크의 크기를 크게 늘린다. 이는 파라미터의 수가 적어지면 학습의 효율성 측면에서 유익 할뿐만 아니라 모델이 초과 적용되지 못하도록 방지하기 때문일 수 있다.
도 12를 참조하면, 태스크 t = 1, t = 4 및 t = 7에 대한 각 학습 단계 t에서 모델의 성능이 어떻게 변하는지를 보여준다.
DNN-L2가 초기 단계에서 학습된 모델의 의미론적 표류를 방지하지만 이후 태스크 (t = 4, 7)에서 성능이 점차적으로 악화함을 확인할 수 있다.
이는 DNN-EWC에서도 공통적으로 나타나는 현상이다. 이러한 결과로 봤을 때, 각 태스크에 이전 태스크와 크게 다른 기능이 필요할 수 있다. MNIST-Variation 데이터 세트. DNN-Progressive는 이전 태스크에 대해 의미론적 드리프트가 없음을 보여 주며, 이전 태스크에 파라미터를 다시 입력하지 않기 때문에 예상된다.
한편, 타임스탬핑(Timestamping)은 시간이 지남에 따라 약간의 성능 저하가 있는 이후 태스크에서 DNN-Progressive보다 효과적이다. 마지막으로 타임스탬프가 적용된 DEN의 전체 모델은 학습 단계에서 성능 저하의 징조를 보이지 않지만 DNN- 프로그레시브보다 월등히 뛰어남을 확인할 수 있다.
이 결과는 DEN이 의미론적 표류를 막는 데 매우 효과적이라는 것을 나타낸다.
평생 학습 시나리오에서의 학습이 진행될 때, 각 태스크 별 성능 변화 추이를 보면 기존 기술(EWC) 의 경우에는 학습하는 오브젝트가 늘어날수록 의미적 전이(semantic drift)현상에 의해 성능이 하락하는 경향을 보이는 반면, 기존 기술인 progressive의 경우 학습하는 오브젝트가 늘어날 때마다 기존 학습된 네트워크를 고정하고 선형적으로 네트워크를 확장하기 때문에, 성능은 유지되나 네트워크의 확장에 따른 계산 시간이 지수적으로 늘어나는 문제를 해결하지 못함. 본 기술은 네트워크의 선택적 확장, 분리, 그리고 재학습 같은 일련의 과정을 통하여 일정한 성능을 유지할 수 있도록 기술화했기 때문에 효율적인 네트워크의 확장을 가능하게 함으로써 계산시간의 증가폭을 최소화하게 된다.
도 13은 본 개시의 일 실시 예에 따른 학습 모델의 재학습 방법을 설명하기 위한 흐름도이다.
복수의 뉴런으로 구성되는 학습 모델 및 신규 태스크를 포함하는 데이터 세트를 입력받는다(S1310).
복수의 뉴런 중 신규 태스크와 관련된 뉴런을 식별하고, 식별된 뉴런에 대해서 신규 태스크와 관련된 파라미터를 선택적 재학습한다(S1320). 구체적으로, 입력된 학습 모델에 대한 손실 함수 및 희소성을 위한 정규화 항을 갖는 목적 함수가 최소화하도록 신규 파라미터 행렬을 산출하고, 산출된 신규 파라미터 행렬을 이용하여 신규 태스크와 관련된 뉴런을 식별한다. 그리고 식별된 뉴런만으로 구성되는 네트워크 파라미터에 대해서 데이터 세트를 이용하여 신규 파라미터 행렬을 산출하고, 산출된 신규 파라미터 행렬을 학습 모델의 식별된 뉴런에 반영하여 선택적 재학습을 수행할 수 있다.
그리고 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 선택적 재학습이 수행된 학습 모델의 크기를 동적으로 확장하여 입력된 학습 모델을 재구성한다(S1330). 구체적으로, 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 선택적 재학습이 수행된 학습 모델에 레이어별로 고정된 개수의 뉴런을 추가하고, 그룹 희소성을 이용하여 추가된 뉴런 중 불필요한 뉴런을 제거하여 입력된 학습 모델을 재구성할 수 있다.
또는 식별된 뉴런의 변화가 기설정된 값을 가지면, 식별된 뉴런을 복제하여 입력된 학습 모델을 확장하고, 식별된 뉴런은 기존의 값을 갖도록 하여 입력된 학습 모델을 재구성할 수 있다.
따라서, 본 실시 예에 따른 학습 모델의 재학습 방법은 태스크를 확장할 때, 즉 재학습을 수행할 때, 전체 가중치가 아니라 그 태스크에 의미있는 뉴런만을 재학습하는바, 효율적인 재학습이 가능하다. 또한, 의미있는 뉴런만을 재학습하는바 의미적 전이를 방지할 수 있게 된다. 도 13과 같은 학습 모델의 재학습 방법은 도 1 또는 도 2의 구성을 가지는 전자 장치상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 전자 장치상에서도 실행될 수 있다.
또한, 상술한 바와 같은 학습 모델의 재학습 방법은 컴퓨터에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상술한 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 방법을 수행하기 위한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
도 14는 본 개시의 일 실시 예에 따라 동적 확장 네트워크의 증분 학습을 설명하기 위한 흐름도이다.
도 14를 참조하면, 먼저, t을 1로 초기화한다.
그리고 t가 T보다 작고(S1410-Y), 1이면(S1420-Y), 수학식 1을 이용하여 W1을 학습한다(S1425).
그리고 선택적 재학습을 수행한다(S1430). 구체적으로, 새 태스크와 관련된 뉴런을 식별하고 관련 태스크와 관련된 네트워크 파라미터를 선택적으로 재학습을 수행할 수 있다. 선택적 재학습의 구체적인 동작은 도 15를 참조하여 후술한다.
그리고 선택적 재학습이 수행된 학습 모델의 손실 값이 기설정된 손실 값을 갖는지를 확인한다(S1435).
그리고 학습 모델의 손실 값이 기설정된 손실 값을 가지면(S1435-Y), 선택적 재훈련이 설정된 임계 값 이하의 원하는 손실을 얻지 못하면 그룹 - 희소성 정규화를 사용하여 불필요한 모든 신경을 제거하면서 네트워크 크기를 하향식으로 확장한다(S1440). 동적 확장 동작에 대해서는 도 16을 참조하여 후술한다.
그리고 식별된 뉴런의 변화가 기설정된 값을 가지면, 네트워크를 분할하거나 복제한다(S1445). 구체적으로, DEN은 각 유닛에 대한 드리프트(drift)
Figure 112018010221313-pat00077
를 계산하여 훈련 도중 원래 값에서 너무 많이 벗어난 유닛을 식별하고 복제할 수 있다. 네트워크의 분할 및 복제에 대한 구체적인 동작은 도 17을 참조하여 후술한다.
이후에 t 값을 증가하고(S1450), 상술한 단계를 T가 될 때까지 반복한다.
따라서, 본 실시 예에 따른 증분 학습은 태스크를 확장할 때, 즉 재학습을 수행할 때, 전체 가중치가 아니라 그 태스크에 의미있는 뉴런만을 재학습하는바, 효율적인 재학습이 가능하다. 또한, 의미있는 뉴런만을 재학습하는바 의미적 전이를 방지할 수 있게 된다. 도 14와 같은 증분 학습은 도 1 또는 도 2의 구성을 가지는 전자 장치상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 전자 장치상에서도 실행될 수 있다.
또한, 상술한 바와 같은 증분 학습은 컴퓨터에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상술한 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
도 15는 도 14의 선택적 재학습 단계를 설명하기 위한 흐름도이다.
도 15를 참조하면, l과 S를 초기화하고, 상술한 수학식 2를 이용하여
Figure 112018010221313-pat00078
를 계산한다(S1510).
그리고 레이어 L에서의 task t 에 대한 웨이트인
Figure 112018010221313-pat00079
의 i와 Ot 사이의 가중치가 0이 아니면(S1520), S(서브네트워크)에 해당 뉴런 i를 추가한다(S1530).
이후에 레이어가 0보다 크고(S1540),
Figure 112018010221313-pat00080
인 뉴런 S가 존재할 때(S1550), S에 뉴런 i를 추가한다(S1560).
이후에 레이어를 상위 레이어로 이동하고(S1570), 상술한 조건 1 및 조건 2를 만족하는 뉴런을 검색하는 동작을 반복적으로 수행한다.
이러한 과정을 레이어 단위로 수행하여, 모든 레이어에 대한 재학습이 필요한 뉴런의 식별이 끝나면(S1550-N), 수학식 3을 이용하여
Figure 112018010221313-pat00081
를 얻는다.
따라서, 본 실시 예에 따른 선택적 재학습은 태스크를 확장할 때, 즉 재학습을 수행할 때, 전체 가중치가 아니라 그 태스크에 의미있는 뉴런만을 재학습하는바, 효율적인 재학습이 가능하다. 또한, 의미있는 뉴런만을 재학습하는바 의미적 전이를 방지할 수 있게 된다. 도 15와 같은 증분 학습은 도 1 또는 도 2의 구성을 가지는 전자 장치상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 전자 장치상에서도 실행될 수 있다.
또한, 상술한 바와 같은 선택적 재학습은 컴퓨터에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상술한 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
이하에서 도 14의 동적 네트워크 확장 단계를 설명한다.
앞선 선택적 재학습에서 목표로 하는 손실 값을 계산한다.
산출된 손실 값이 기준점보다 더 큰 손실 값을 가지면, 네트워크 크기를 고정적으로 확장할 수 있다. 구체적으로 hN을 모든 레이어에 추가할 수 있다.
이후에 수학식 4를 계산하고, 현재 레이어가 0이 아니면, 확장된 뉴런 중 불필요한 뉴런을 제거하는 동작을 반복적으로 수행한다.
그리고 레이어를 상측으로 이동하고, 상술한 계산 동작을 반복하여 뉴런을 최적화하는 동작을 수행할 수 있다.
따라서, 본 실시 예에 따른 동적 네트워크 확장은 보다 정확한 신규 태스크 반영을 위하여, 필요한 경우 동적으로 네트워크를 확장할 수 있다. 또한, 일괄적으로 모든 레이어에 뉴런을 추가하는 것이 아니라 불필요한 뉴런은 삭제하는 동작을 수행한바 최적화된 네트워크 확장이 가능하다. 동적 네트워크 확장은 도 1 또는 도 2의 구성을 가지는 전자 장치상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 전자 장치상에서도 실행될 수 있다.
또한, 상술한 바와 같은 동적 네트워크 확장은 컴퓨터에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상술한 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
이하에서는 도 14의 네트워크 분리 및 복제 단계를 설명하기 위한 흐름도이다.
앞선 동적 네트워크 확장 동작 이후에, Wt L,K를 계산한다.
그리고 모든 히든 뉴런에 대해서 변화(시멘트 드래프트) 양을 계산하고, 계산된 뉴런의 변화량이 기준점보다 높은지를 판단한다.
판단 결과, 계산된 뉴런의 변화량이 기준점(
Figure 112019121333995-pat00082
)보다 높으면, 해당 뉴런들(B)을 복제하여 네트워크를 확장하고, 업데이트된 뉴런(B)을 이전 단계(A)로 복귀할 수 있다.
그리고 모든 히든 뉴런에 대해서 상술한 확인 동작을 반복적으로 수행한다.
따라서, 본 실시 예에 따른 네트워크 분리 및 복제 방법은 뉴런의 변화가 기준 값보다 크면 네트워크를 분리 및 복제하는바 의미적 전이를 방지할 수 있게 된다. 네트워크 분리 및 복제 방법은 도 1 또는 도 2의 구성을 가지는 전자 장치상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 전자 장치상에서도 실행될 수 있다.
또한, 상술한 바와 같은 네트워크 분리 및 복제 방법은 컴퓨터에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상술한 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 전자 장치 110: 메모리
120: 프로세서 130: 통신 인터페이스
140: 디스플레이 150: 조작 입력부

Claims (13)

  1. 전자 장치에서의 학습 모델의 재학습 방법에 있어서,
    상기 전자 장치에서, 복수의 뉴런으로 구성되는 학습 모델 및 신규 태스크를 포함하는 데이터 세트를 입력받는 단계;
    상기 전자 장치에서, 상기 복수의 뉴런 중 상기 신규 태스크와 관련된 뉴런을 식별하고, 상기 식별된 뉴런에 대해서 상기 신규 태스크와 관련된 파라미터를 선택적 재학습하는 단계; 및
    상기 전자 장치에서, 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 상기 선택적 재학습이 수행된 학습 모델의 크기를 동적으로 확장하여 상기 입력된 학습 모델을 재구성하는 단계;를 포함하는 학습 모델 재학습 방법.
  2. 제1항에 있어서,
    상기 선택적 재학습 단계는,
    상기 입력된 학습 모델에 대한 손실 함수 및 희소성을 위한 정규화 항을 갖는 목적 함수가 최소화하도록 신규 파라미터 행렬을 산출하고, 상기 산출된 신규 파라미터 행렬을 이용하여 상기 신규 태스크와 관련된 뉴런을 식별하는 학습 모델 재학습 방법.
  3. 제1항에 있어서,
    상기 선택적 재학습 단계는,
    상기 식별된 뉴런만으로 구성되는 네트워크 파라미터에 대해서 상기 데이터 세트를 이용하여 신규 파라미터 행렬을 산출하고, 상기 산출된 신규 파라미터 행렬을 상기 학습 모델의 식별된 뉴런에 반영하여 선택적 재학습을 수행하는 학습 모델 재학습 방법.
  4. 제1항에 있어서,
    상기 입력된 학습 모델을 재구성하는 단계는,
    선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 상기 선택적 재학습이 수행된 학습 모델에 레이어별로 고정된 개수의 뉴런을 추가하고, 그룹 희소성을 이용하여 상기 추가된 뉴런 중 불필요한 뉴런을 제거하여 상기 입력된 학습 모델을 재구성하는 학습 모델 재학습 방법.
  5. 제4항에 있어서,
    상기 입력된 학습 모델을 재구성하는 단계는,
    상기 입력된 학습 모델에 대한 손실 함수, 희소성을 위한 정규화 항 및 그룹 희소성을 위한 그룹 정규화 항을 갖는 목적 함수를 이용하여 상기 추가된 뉴런 중 불필요한 뉴런을 확인하는 학습 모델 재학습 방법.
  6. 제1항에 있어서,
    상기 입력된 학습 모델을 재구성하는 단계는,
    상기 식별된 뉴런의 변화가 기설정된 값을 가지면, 상기 식별된 뉴런을 복제하여 상기 입력된 학습 모델을 확장하고, 상기 식별된 뉴런은 기존의 값을 갖도록 하여 상기 입력된 학습 모델을 재구성하는 학습 모델 재학습 방법.
  7. 전자 장치에 있어서,
    복수의 뉴런으로 구성되는 학습 모델 및 신규 태스크를 포함하는 데이터 세트가 저장된 메모리; 및
    상기 복수의 뉴런 중 상기 신규 태스크와 관련된 뉴런을 식별하여 상기 식별된 뉴런에 대해서 상기 신규 태스크와 관련된 파라미터를 선택적 재학습하고, 선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면 상기 선택적 재학습이 수행된 학습 모델의 크기를 동적으로 확장하여 상기 메모리에 저장된 학습 모델을 재구성하는 프로세서;를 포함하는 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 메모리에 저장된 학습 모델에 대한 손실 함수 및 희소성을 위한 정규화 항을 갖는 목적 함수가 최소화하도록 신규 파라미터 행렬을 산출하고, 상기 산출된 신규 파라미터 행렬을 이용하여 상기 신규 태스크와 관련된 뉴런을 식별하는 전자 장치.
  9. 제7항에 있어서,
    상기 프로세서는,
    상기 식별된 뉴런만으로 구성되는 네트워크 파라미터에 대해서 상기 데이터 세트를 이용하여 신규 파라미터 행렬을 산출하고, 상기 산출된 신규 파라미터 행렬을 상기 학습 모델의 식별된 뉴런에 반영하여 선택적 재학습을 수행하는 전자 장치.
  10. 제7항에 있어서,
    상기 프로세서는,
    선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 상기 선택적 재학습이 수행된 학습 모델에 레이어별로 고정된 개수의 뉴런을 추가하고, 그룹 희소성을 이용하여 상기 추가된 뉴런 중 불필요한 뉴런을 제거하여 상기 입력된 학습 모델을 재구성하는 전자 장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 메모리에 저장된 학습 모델에 대한 손실 함수, 희소성을 위한 정규화 항 및 그룹 희소성을 위한 그룹 정규화 항을 갖는 목적 함수를 이용하여 상기 추가된 뉴런 중 불필요한 뉴런을 확인하는 전자 장치.
  12. 제7항에 있어서,
    상기 프로세서는,
    상기 식별된 뉴런의 변화가 기설정된 값을 가지면, 상기 식별된 뉴런을 복제하여 상기 메모리에 저장된 학습 모델을 확장하고, 상기 식별된 뉴런은 기존의 값을 갖도록 하여 상기 입력된 학습 모델을 재구성하는 전자 장치.
  13. 전자 장치에서의 학습 모델의 재학습 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서,
    상기 학습 모델의 재학습 방법은,
    복수의 뉴런으로 구성되는 학습 모델, 및 신규 태스크를 포함하는 데이터 세트를 입력받는 단계;
    상기 복수의 뉴런 중 상기 신규 태스크와 관련된 뉴런을 식별하고, 상기 식별된 뉴런에 대해서 상기 신규 태스크와 관련된 파라미터를 선택적 재학습하는 단계; 및
    선택적 재학습이 수행된 학습 모델이 기설정된 손실 값을 가지면, 상기 선택적 재학습이 수행된 학습 모델의 크기를 동적으로 확장하여 상기 입력된 학습 모델을 재구성하는 단계;를 포함하는 컴퓨터 판독가능 기록 매체.

KR1020180010936A 2017-06-09 2018-01-29 전자 장치 및 학습 모델의 재학습 방법 KR102139729B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/002,617 US11995539B2 (en) 2017-06-09 2018-06-07 Electronic apparatus and method for re-learning trained model

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762517442P 2017-06-09 2017-06-09
US62/517,442 2017-06-09

Publications (2)

Publication Number Publication Date
KR20180134739A KR20180134739A (ko) 2018-12-19
KR102139729B1 true KR102139729B1 (ko) 2020-07-31

Family

ID=65009139

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020180010925A KR102102772B1 (ko) 2017-06-09 2018-01-29 전자 장치 및 학습 모델 생성 방법
KR1020180010936A KR102139729B1 (ko) 2017-06-09 2018-01-29 전자 장치 및 학습 모델의 재학습 방법
KR1020180010938A KR102139740B1 (ko) 2017-06-09 2018-01-29 전자 장치 및 학습 모델 최적화 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180010925A KR102102772B1 (ko) 2017-06-09 2018-01-29 전자 장치 및 학습 모델 생성 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020180010938A KR102139740B1 (ko) 2017-06-09 2018-01-29 전자 장치 및 학습 모델 최적화 방법

Country Status (1)

Country Link
KR (3) KR102102772B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230043605A (ko) 2021-09-24 2023-03-31 한국과학기술원 도메인별 최적화를 위한 생성 신경망의 에너지 효율적인 재학습 방법

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163498B1 (ko) * 2018-12-24 2020-10-08 아주대학교산학협력단 신경망의 프루닝-재훈련 장치 및 방법
KR102190100B1 (ko) * 2018-12-27 2020-12-11 (주)아크릴 인공 신경망 학습 방법
CN111435432B (zh) * 2019-01-15 2023-05-26 北京市商汤科技开发有限公司 网络优化方法及装置、图像处理方法及装置、存储介质
WO2020149511A1 (ko) * 2019-01-17 2020-07-23 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR102209646B1 (ko) * 2019-01-31 2021-01-29 경북대학교 산학협력단 채널 상태 정보를 이용한 채널 인지 방법, 이를 수행하기 위한 기록매체 및 장치
KR102209630B1 (ko) * 2019-01-31 2021-01-29 경북대학교 산학협력단 심층 학습을 이용한 무선 통신 환경 적응 방법 및 장치, 그 방법을 수행하기 위한 기록 매체
KR102046113B1 (ko) 2019-03-19 2019-11-18 주식회사 루닛 신경망 학습 방법 및 그 장치
KR102184283B1 (ko) * 2019-03-22 2020-11-30 한국과학기술원 기저학습 오토인코더와 그를 기반으로 하는 추천 시스템을 위한 콘텐츠 정보 활용 방법 및 장치
KR20200144398A (ko) 2019-06-18 2020-12-29 삼성전자주식회사 클래스 증가 학습을 수행하는 장치 및 그의 동작 방법
KR102491202B1 (ko) * 2019-09-10 2023-01-25 주식회사 모빌린트 인공 신경망 연산을 수행하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
KR102382336B1 (ko) * 2019-09-17 2022-04-04 연세대학교 산학협력단 3중 대각행렬식 연산 방법
KR102143192B1 (ko) * 2019-11-12 2020-08-10 주식회사 루닛 신경망 학습 방법 및 그 장치
WO2021125431A1 (ko) * 2019-12-19 2021-06-24 주식회사 노타 분산 평준화를 통한 딥러닝 모델 초기화 방법 및 장치
US10970633B1 (en) * 2020-05-13 2021-04-06 StradVision, Inc. Method for optimizing on-device neural network model by using sub-kernel searching module and device using the same
KR102619539B1 (ko) * 2020-06-22 2023-12-29 한양대학교 산학협력단 다중 gpu 시스템을 위한 신경망의 최적화 방법 및 이를 이용하는 최적화 시스템
KR102390553B1 (ko) * 2020-11-24 2022-04-27 한국과학기술원 연합 학습 방법 및 시스템
KR102480899B1 (ko) * 2021-04-08 2022-12-22 서울대학교산학협력단 다채널 신호를 이용한 모터 고장 진단 방법 및 장치
KR102473941B1 (ko) * 2021-11-30 2022-12-06 주식회사 튜닙 딥러닝 모델 병렬 처리 장치 및 방법
KR102543706B1 (ko) 2022-02-10 2023-06-15 주식회사 노타 신경망 모델을 제공하는 방법 및 이를 수행하는 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016151618A1 (ja) 2015-03-23 2016-09-29 日本電気株式会社 予測モデル更新システム、予測モデル更新方法および予測モデル更新プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3312042B2 (ja) * 1992-07-13 2002-08-05 株式会社リコー 学習機械
KR102199246B1 (ko) * 2014-11-18 2021-01-07 에스케이텔레콤 주식회사 신뢰도 측점 점수를 고려한 음향 모델 학습 방법 및 장치
US10803378B2 (en) * 2017-03-15 2020-10-13 Samsung Electronics Co., Ltd System and method for designing efficient super resolution deep convolutional neural networks by cascade network training, cascade network trimming, and dilated convolutions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016151618A1 (ja) 2015-03-23 2016-09-29 日本電気株式会社 予測モデル更新システム、予測モデル更新方法および予測モデル更新プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kunihito Yamamori 외 2명. Two-Stage Parallel Partial Retraining Scheme for Defective Multi-Layer Neural Networks. 2000년
Vitaly Schetinin. A Learning Algorithm for Evolving Cascade Neural Networks. 2003년

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230043605A (ko) 2021-09-24 2023-03-31 한국과학기술원 도메인별 최적화를 위한 생성 신경망의 에너지 효율적인 재학습 방법

Also Published As

Publication number Publication date
KR102139740B1 (ko) 2020-07-31
KR20180134739A (ko) 2018-12-19
KR20180134740A (ko) 2018-12-19
KR102102772B1 (ko) 2020-05-29
KR20180134738A (ko) 2018-12-19

Similar Documents

Publication Publication Date Title
KR102139729B1 (ko) 전자 장치 및 학습 모델의 재학습 방법
US11995539B2 (en) Electronic apparatus and method for re-learning trained model
CN110892417B (zh) 具有学习教练的异步代理以及在不降低性能的情况下在结构上修改深度神经网络
US11741361B2 (en) Machine learning-based network model building method and apparatus
US20190279075A1 (en) Multi-modal image translation using neural networks
US10699194B2 (en) System and method for mimicking a neural network without access to the original training dataset or the target model
US20190278600A1 (en) Tiled compressed sparse matrix format
US10909455B2 (en) Information processing apparatus using multi-layer neural network and method therefor
US20200242736A1 (en) Method for few-shot unsupervised image-to-image translation
US11392829B1 (en) Managing data sparsity for neural networks
KR102570706B1 (ko) 분류를 위한 강제된 희소성
US11907854B2 (en) System and method for mimicking a neural network without access to the original training dataset or the target model
US11996116B2 (en) Methods and systems for implementing on-device non-semantic representation fine-tuning for speech classification
KR102313626B1 (ko) 신경망을 학습시키는 방법
JP6950756B2 (ja) ニューラルネットワークのランク最適化装置および最適化方法
KR102372487B1 (ko) 입력 데이터의 처리를 위한 최적의 어노말리 감지 모델 결정 방법
US20240220807A1 (en) Training a student neural network to mimic a mentor neural network with inputs that maximize student-to-mentor disagreement
Zhang et al. Adaptive filter pruning via sensitivity feedback
WO2019180314A1 (en) Artificial neural networks
KR20210103912A (ko) 뉴럴 네트워크를 학습시키는 학습 방법 및 장치, 뉴럴 네트워크를 이용한 데이터 처리 방법 및 장치
JP7279225B2 (ja) 破滅的忘却の発生を抑えつつ、転移学習を行う方法、情報処理装置及びプログラム
JP2024521136A (ja) 機械学習モデルのハードウェアを意識したプログレッシブトレーニング
Wang et al. Parameters optimization of classifier and feature selection based on improved artificial bee colony algorithm
US20210192334A1 (en) Selecting computational kernel variants using neural networks
KR20210119208A (ko) 전문가 모사 모델 학습 방법 및 그 학습을 위한 장치

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right