KR20200100302A - 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들 - Google Patents

신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들 Download PDF

Info

Publication number
KR20200100302A
KR20200100302A KR1020190018400A KR20190018400A KR20200100302A KR 20200100302 A KR20200100302 A KR 20200100302A KR 1020190018400 A KR1020190018400 A KR 1020190018400A KR 20190018400 A KR20190018400 A KR 20190018400A KR 20200100302 A KR20200100302 A KR 20200100302A
Authority
KR
South Korea
Prior art keywords
neural network
parameter
target task
parameters
important
Prior art date
Application number
KR1020190018400A
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 KR1020190018400A priority Critical patent/KR20200100302A/ko
Priority to US16/691,762 priority patent/US20200265307A1/en
Publication of KR20200100302A publication Critical patent/KR20200100302A/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/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/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/044Recurrent networks, e.g. Hopfield networks
    • 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

Landscapes

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

Abstract

일 실시예에 따른 신경망 기반의 데이터 처리 방법은 타겟 태스크 및 타겟 태스크를 위한 입력 데이터를 수신하고, 복수의 태스크들을 위한 신경망에 포함된 제1 파라미터들 중 타겟 태스크에 대응하여 기 저장된 제2 파라미터를 획득하고, 신경망의 제1 파라미터들 중 일부의 값을 제2 파라미터의 값으로 설정함으로써, 신경망을 타겟 태스크에 적응시키며, 타겟 태스크에 적응된 신경망을 이용하여 입력 데이터를 처리한다.

Description

신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들{DATA PROCESSING METHOD BASED ON NEURAL NETWORK, TRAINING METHOD OF NEURAL NETWORK, AND APPARATUSES THEREOF}
아래의 실시예들은 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들에 관한 것이다.
인공 신경망 기술은 인간 두뇌의 신경망을 모사하는 방식으로 개발되었다. 하지만, 인공 신경망 기술은 트레이닝 방법에 있어 생물학적 신경망(Biological Neural Network)과는 크게 다른 방향으로 발전되었다. 예를 들어, 단일 신경망으로 다양한 태스크(Task)들을 트레이닝하는 경우, 인간의 뇌는 새로운 지식을 트레이닝하고도 예전 지식을 보유한다. 이와 달리, 인공 신경망은 단일 신경망에서 순차 트레이닝하는 경우, 이전에 트레이닝한 태스크에 대한 지식은 잊어버리고 가장 최근의 지식만을 기억하는 재앙적 망각(Catastrophic Forgetting) 문제를 겪을 수 있다.
일 측에 따르면, 신경망 기반의 데이터 처리 방법은 타겟 태스크 및 상기 타겟 태스크를 위한 입력 데이터를 수신하는 단계; 복수의 태스크들을 위한 신경망에 포함된 제1 파라미터들 중 상기 타겟 태스크에 대응하여 기 저장된 제2 파라미터를 획득하는 단계; 상기 신경망의 제1 파라미터들 중 일부의 값을 상기 제2 파라미터의 값으로 설정함으로써, 상기 신경망을 상기 타겟 태스크에 적응시키는 단계; 및 상기 타겟 태스크에 적응된 신경망을 이용하여 상기 입력 데이터를 처리하는 단계를 포함한다.
상기 제2 파라미터는 상기 신경망에 포함된 복수의 뉴런들 중 상기 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 상기 중요 뉴런의 인덱스, 상기 신경망에 포함된 복수의 시냅스들 중 상기 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 상기 중요 시냅스의 인덱스 중 적어도 하나를 포함할 수 있다.
상기 제2 파라미터는 상기 신경망에 포함된 복수의 필터들 중 상기 타겟 태스크를 위한 중요 필터에 대응하는 파라미터, 및 상기 중요 필터의 인덱스 중 적어도 하나를 포함할 수 있다.
상기 타겟 태스크 및 상기 입력 데이터를 수신하는 단계는 상기 입력 데이터를 수신하는 단계; 및 상기 입력 데이터에 기초하여 상기 타겟 태스크를 추정하는 단계를 포함할 수 있다.
상기 신경망을 상기 타겟 태스크에 적응시키는 단계는 상기 복수의 태스크들에 적용되는 상기 제1 파라미터들에 기초하여, 상기 신경망을 초기화하는 단계; 및 상기 타겟 태스크에 적용되는 상기 제2 파라미터에 기초하여, 상기 초기화된 신경망을 갱신하는 단계를 포함할 수 있다.
상기 타겟 태스크는 상기 복수의 태스크들 중 어느 하나에 해당할 수 있다.
일 측에 따르면, 신경망 트레이닝 방법은 제1 태스크를 위한 트레이닝 데이터에 기초하여, 복수의 파라미터들을 포함하는 신경망을 트레이닝 시키는 단계; 상기 복수의 파라미터들의 중요도들에 기초하여, 상기 복수의 파라미터들 중 제2 파라미터를 추출하는 단계; 상기 제2 파라미터의 값을 저장하는 단계; 상기 제2 파라미터의 중요도를 갱신하는 단계; 및 제2 태스크를 위한 트레이닝 데이터 및 상기 갱신된 중요도에 기초하여 상기 신경망을 트레이닝 시키는 단계를 포함한다.
상기 제2 파라미터들의 중요도를 갱신하는 단계는 상기 제2 파라미터들에 대응하는 중요도 매트릭스의 요소 값들을 제1 논리 값으로 설정함으로써 상기 제2 파라미터의 중요도를 갱신하는 단계를 포함할 수 있다.
상기 신경망 트레이닝 방법은 상기 복수의 파라미터들의 중요도들을 산출하는 단계를 더 포함할 수 있다.
상기 복수의 파라미터들의 중요도들을 산출하는 단계는 미리 정해진 중요도 매트릭스에 기초하여, 상기 복수의 파라미터들의 중요도들을 산출하는 단계를 포함할 수 있다.
상기 제2 파라미터는 상기 신경망에 포함된 복수의 뉴런들 중 상기 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 상기 중요 뉴런의 인덱스, 상기 신경망에 포함된 복수의 시냅스들 중 상기 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 상기 중요 시냅스의 인덱스 중 적어도 하나를 포함할 수 있다.
일 측에 따르면, 신경망 기반의 데이터 처리 장치는 타겟 태스크 및 상기 타겟 태스크를 위한 입력 데이터를 수신하는 통신 인터페이스; 복수의 태스크들을 위한 신경망에 포함된 제1 파라미터들 중 상기 타겟 태스크에 대응하는 제2 파라미터를 저장하는 메모리; 및 상기 메모리에 기 저장된 제2 파라미터를 획득하고, 상기 신경망의 제1 파라미터들 중 일부의 값을 상기 제2 파라미터의 값으로 설정함으로써, 상기 신경망을 상기 타겟 태스크에 적응시키며, 상기 타겟 태스크에 적응된 신경망을 이용하여 상기 입력 데이터를 처리하는 프로세서를 포함한다.
상기 제2 파라미터는 상기 신경망에 포함된 복수의 뉴런들 중 상기 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 상기 중요 뉴런의 인덱스, 상기 신경망에 포함된 복수의 시냅스들 중 상기 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 상기 중요 시냅스의 인덱스 중 적어도 하나를 포함할 수 있다.
상기 제2 파라미터는 상기 신경망에 포함된 복수의 필터들 중 상기 타겟 태스크를 위한 중요 필터에 대응하는 파라미터, 및 상기 중요 필터의 인덱스 중 적어도 하나를 포함할 수 있다.
상기 통신 인터페이스는 상기 입력 데이터를 수신하고, 상기 프로세서는 상기 입력 데이터에 기초하여 상기 타겟 태스크를 추정할 수 있다.
상기 프로세서는 상기 복수의 태스크들에 적용되는 상기 제1 파라미터들에 기초하여, 상기 신경망을 초기화하고, 상기 타겟 태스크에 적용되는 상기 제2 파라미터에 기초하여, 상기 초기화된 신경망을 갱신할 수 있다.
상기 타겟 태스크는 상기 복수의 태스크들 중 어느 하나에 해당할 수 있다.
일 측에 따르면, 신경망 트레이닝 장치는 제1 태스크를 위한 트레이닝 데이터에 기초하여, 복수의 파라미터들을 포함하는 신경망을 트레이닝 시키고, 상기 복수의 파라미터들의 중요도들에 기초하여, 상기 복수의 파라미터들 중 제2 파라미터를 추출하고, 상기 제2 파라미터의 중요도를 갱신하며, 제2 태스크를 위한 트레이닝 데이터 및 상기 갱신된 중요도에 기초하여 상기 신경망을 트레이닝 시키는 프로세서; 및 상기 제2 파라미터의 값을 저장하는 메모리를 포함한다.
상기 프로세서는 상기 제2 파라미터들에 대응하는 중요도 매트릭스의 요소 값들을 제1 논리 값으로 설정함으로써 상기 제2 파라미터의 중요도를 갱신할 수 있다.
상기 프로세서는 상기 복수의 파라미터들의 중요도들을 산출할 수 있다.
상기 프로세서는 미리 정해진 중요도 매트릭스에 기초하여, 상기 복수의 파라미터들의 중요도들을 산출할 수 있다.
상기 제2 파라미터는 상기 신경망에 포함된 복수의 뉴런들 중 상기 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 상기 중요 뉴런의 인덱스, 상기 신경망에 포함된 복수의 시냅스들 중 상기 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 상기 중요 시냅스의 인덱스 중 적어도 하나를 포함할 수 있다.
도 1은 일 실시예에 따른 신경망 기반의 데이터 처리 방법을 나타낸 흐름도.
도 2는 일 실시예에 따른 제2 파라미터를 이용하여 신경망을 타겟 태스크에 적응시키는 과정을 설명하기 위한 도면.
도 3은 일 실시예에 따른 신경망 트레이닝 방법을 나타낸 흐름도.
도 4는 일 실시예에 따른 신경망 트레이닝 방법을 설명하기 위한 도면.
도 5는 일 실시예에 따른 신경망의 복수의 파라미터들의 중요도들을 산출하는 과정을 설명하기 위한 도면.
도 6은 일 실시예에 따른 제2 파라미터를 메모리에 저장하는 방법 및 제2 파라미터를 메모리로부터 추출하는 방법을 설명하기 위한 도면.
도 7은 일 실시예에 따른 신경망 기반의 데이터 처리 장치의 블록도.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 신경망 기반의 데이터 처리 방법을 나타낸 흐름도이다. 도 1을 참조하면, 일 실시예에 따른 데이터 처리 장치는 타겟 태스크 및 타겟 태스크를 위한 입력 데이터를 수신한다(110). '타겟 태스크(target task)'는 데이터 처리 장치가 신경망에 기반하여 수행하고자 하는 태스크에 해당할 수 있다. 타겟 태스크는 신경망에서 트레이닝된 복수의 태스크들 중 어느 하나에 해당할 수 있다. 이때, 복수의 태스크들은 예를 들어, 신경망에 입력되는 입력 데이터의 유형, 신경망으로부터 출력되는 출력 데이터의 유형, 신경망을 통해 제공되는 서비스의 유형, 신경망에 의해 적응되는 도메인 등과 같이 태스크들 간에 서로 일정 유사성, 및/또는 공통점을 가질 수 있다. 복수의 태스크들은 예를 들어, 음성 인식, 영상 인식, 및 검색 등을 포함할 수 있으나, 반드시 이에 한정되는 것은 아니다. 복수의 태스크들은 신경망을 구비하는 장치 및/또는 로봇 등에 의해 수행될 수 있는 어떠한 태스크라도 포함할 수 있다.
데이터 처리 장치는 전술한 바와 같이 입력된 타겟 태스크를 직접 수신할 수도 있고, 또는 입력 데이터로부터 타겟 태스크를 추정할 수도 있다. 예를 들어, 입력 데이터가 셀프 빨래방의 영상이라고 하자. 이 경우, 데이터 처리 장치는 셀프 빨래방의 영상에 기초하여 타겟 태스크를 추정할 수 있다. 데이터 처리 장치는 입력 데이터로부터 파악되는 주변 환경을 통해 해당 장소가 셀프 빨래방임을 인식할 수 있다. 데이터 처리 장치는 인식된 장소에 적합한 타겟 태스크(예를 들어, 빨래 수행 등)를 추정할 수 있다.
데이터 처리 장치는 복수의 태스크들을 위한 신경망에 포함된 제1 파라미터들 중 타겟 태스크에 대응하여 기 저장된 제2 파라미터를 획득한다(120). 복수의 태스크들을 위한 신경망은 예를 들어, 심층 신경망(Deep Neural Network; DNN)일 수도 있고, 컨볼루션 신경망(Convolutional Neural Network; CNN) 또는 순환 신경망(Recurrent Neural Network; RNN)일 수도 있다. 복수의 태스크들을 위한 신경망은 예를 들어, 복수의 뉴런들 및 복수의 시냅스들을 포함하는 단일 신경망일 수 있다.
'제1 파라미터(들)'는 신경망에서 트레이닝된 복수의 태스크들 중 타겟 태스크를 수행하기 이전의 순차적인 트레이닝에 의해 신경망에 포함된 파라미터들일 수 있다. '제2 파라미터'는 타겟 태스크에 대응하여 저장된 파라미터일 수 있다. 제2 파라미터는 예를 들어, 신경망에 포함된 복수의 뉴런들 중 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 중요 뉴런의 인덱스, 신경망에 포함된 복수의 시냅스들 중 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 중요 시냅스의 인덱스 등을 포함할 수 있다.
'중요 뉴런' 및/또는 '중요 시냅스'는 예를 들어, 신경망에 포함된 복수의 뉴런들 및/또는 복수의 시냅들 중 미리 정해진 중요도 매트릭스에 기초하여 산출된 중요도가 미리 설정된 기준보다 큰 값을 가지는 뉴런 및/또는 시냅스에 해당할 수 있다. 중요도 매트릭스는 예를 들어, 신경망의 순차 트레이닝에 따라 신경망의 파라미터들의 중요도를 나타낼 수 있다. 중요도 매트릭스는 예를 들어, 피셔 정보 매트릭스(Fisher Information Matrix)일 수 있다. 중요 뉴런 및/또는 중요 시냅스는 하나일 수도 있고, 복수 개일 수도 있다. 여기서, 중요 뉴런에 대응하는 파라미터 및/또는 중요 시냅스에 대응하는 파라미터는 예를 들어, 중요 뉴런 및/또는 중요 시냅스에 대응하는 가중치(Weight) 값 및/또는 바이어스(Bias) 값일 수 있다. 예를 들어, 신경망이 도 5의 (b)에 도시된 것과 같은 컨볼루션 신경망(CNN)인 경우, 제2 파라미터는 심층 신경망에 포함된 복수의 필터들(filters) 중 타겟 태스크를 위한 중요 필터에 대응하는 파라미터, 및 중요 필터의 인덱스 중 적어도 하나를 포함할 수 있다. '제2 파라미터'는 중요 파라미터라고 부를 수도 있다.
제2 파라미터에 대한 정보는 타겟 태스크에 대응하여 메모리 유닛 등에 저장될 수 있다. 제2 파라미터에 대한 정보는 예를 들어, 제2 파라미터의 위치 정보 및 제2 파라미터의 값 등을 포할 수 있다.
데이터 처리 장치는 신경망의 제1 파라미터들 중 일부의 값을 제2 파라미터의 값으로 설정함으로써, 신경망을 타겟 태스크에 적응시킨다(130). 데이터 처리 장치는 예를 들어, 복수의 태스크들에 적용되는 제1 파라미터들에 기초하여, 신경망을 초기화할 수 있다. 데이터 처리 장치는 타겟 태스크에 적용되는 제2 파라미터에 기초하여, 초기화된 신경망을 갱신할 수 있다.
예를 들어, 신경망에서 기 트레이닝된 태스크들 중 어느 하나의 태스크(예를 들어, 타겟 태스크)를 수행해야 하는 경우, 일 실시예에 따른 데이터 처리 장치는 신경망의 파라미터들(제1 파라미터들) 중 일부 파라미터를 제2 파라미터에 의해 갱신함으로써 타겟 태스크 및/또는 타겟 태스크 이외의 태스크에 대하여도 안정적인 처리 성능을 보장할 수 있다. 일 실시예에 따른 데이터 처리 장치는 지속적인 트레이닝을 수행하는 단일 신경망에 기반한 다양한 응용 분야에서의 데이터 처리에 활용될 수 있다. 데이터 처리 장치가 제2 파라미터를 이용하여 신경망을 타겟 태스크에 적응시키는 과정은 아래의 도 2를 참조하여 보다 구체적으로 설명한다.
데이터 처리 장치는 타겟 태스크에 적응된 신경망을 이용하여 입력 데이터를 처리한다(140).
도 2는 일 실시예에 따른 제2 파라미터를 이용하여 신경망을 타겟 태스크에 적응시키는 과정을 설명하기 위한 도면이다. 도 2를 참조하면, 복수의 뉴런들 및 복수의 시냅스들을 포함하는 신경망(210)에서 K번째 태스크에 대한 트레이닝이 완료된 이후, 이전에 트레이닝한 P 번째 태스크가 타겟 태스크로 입력된 경우의 동작이 도시된다.
예를 들어, 신경망(210)에서 태스크 A, 태스크 B, 태스크 P 등과 같이 다양한 태스크들을 거쳐 K번째 태스크에 대한 트레이닝이 완료되고, 데이터 처리 장치가 이전에 트레이닝한 태스크 P를 수행하려 한다고 가정하자. 태스크 A는 음식을 분류하는 태스크이고, 태스크 B는 사람을 분류하는 태스크이며, 태스크 P는 자동차 브랜드를 분류하는 태스크일 수 있다.
이때, K번째 태스크에 대한 트레이닝이 완료된 상황에서 신경망(210)에 포함된 파라미터들은
Figure pat00001
와 같이 나타낼 수 있다.
입력 데이터로 XX 자동차의 사진이 수신되고, 타겟 태스크로 태스크 P가 수신된 경우, 데이터 처리 장치는 메모리 유닛(230)으로부터 태스크 P에 대응하여 기 저장된 파라미터(중요 파라미터)(220)에 대한 정보를 획득할 수 있다. 이 때, 메모리 유닛(230)에는 각 태스크 별 중요 뉴런 및 중요 시냅스에 대응하는 중요 파라미터(220)의 값들 및 신경망(210)에서의 중요 파라미터(220)의 위치에 관한 정보가 저장될 수 있다. 데이터 처리 장치는 메모리 유닛(230)에 저장된 정보를 통해 신경망(210)의 어느 부분, 다시 말해 어느 뉴런, 어느 시냅스의 파라미터 값을 갱신할 것일지를 판별할 수 있다.
데이터 처리 장치는 수행하고자 하는 태스크 P에 대응하여 메모리 유닛(230)에 저장된 정보(예를 들어, 타겟 태스크에 대응하는 중요 파라미터(220)의 값, 중요 파라미터(220)의 위치 등)를 로드(Load)할 수 있다. 데이터 처리 장치는 신경망(210)의 파라미터들 중 일부의 값을 메모리 유닛(230)으로부터 로드한 태스크 P에 대응하는 중요 파라미터(220)의 값으로 갱신함으로써 신경망(210)을 타겟 태스크에 적응시킬 수 있다.
신경망(210)의 파라미터들 중 일부의 값을 태스크 P에 대응하는 중요 파라미터(220)의 값으로 갱신함에 따라 태스크 P에 적응된 신경망(210)에 포함된 파라미터는
Figure pat00002
와 같이 변경되 될 수 있다.
일 실시예에 따른 데이터 처리 장치는 메모리 유닛(230)에 저장된 중요 뉴런 및 중요 시냅스에 대응하는 파라미터, 다시 말해 중요 파라미터(220)를 활용하여 과거에 트레이닝한 다양한 태스크에 대해서도 잘 동작하는 신경망(210)을 구축할 수 있다. 데이터 처리 장치는 타겟 태스크에 대응하는 중요 파라미터(220)에 의해 신경망(210)의 파라미터 일부를 대체하여 입력 데이터를 처리함으로써 과거에 트레이닝한 태스크에 대해서도 높은 처리 성능을 유지할 수 있다.
도 3은 일 실시예에 따른 신경망 트레이닝 방법을 나타낸 흐름도이다. 도 3을 참조하면, 일 실시예에 따른 트레이닝 장치는 제1 태스크를 위한 트레이닝 데이터에 기초하여, 복수의 파라미터들을 포함하는 신경망을 트레이닝 시킨다(310).
트레이닝 장치는 복수의 파라미터들의 중요도들에 기초하여, 복수의 파라미터들 중 제2 파라미터를 추출한다(320). 트레이닝 장치는 예를 들어, 미리 정해진 중요도 매트릭스에 기초하여 복수의 파라미터들의 중요도들을 산출할 수 있다. 트레이닝 장치는 복수의 파라미터들의 중요도들에 기초하여 복수의 파라미터들 중 제2 파라미터를 추출할 수 있다. 트레이닝 장치는 예를 들어, 중요도 매트릭스의 요소(element) 값들의 합(sum)에 의해 복수의 파라미터들의 중요도들을 산출할 수 있다.
트레이닝 장치는 제2 파라미터의 값을 저장한다(330). 이때, 제2 파라미터는 예를 들어, 신경망에 포함된 복수의 뉴런들 중 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 중요 뉴런의 인덱스, 신경망에 포함된 복수의 시냅스들 중 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 중요 시냅스의 인덱스 등을 포함할 수 있다.
트레이닝 장치는 제2 파라미터의 중요도를 갱신한다(340). 트레이닝 장치는 예를 들어, 제2 파라미터에 대응하는 중요도 매트릭스의 요소 값을 제1 논리 값(예를 들어, '0')으로 설정함으로써 제2 파라미터의 중요도를 갱신할 수 있다. 또는 트레이닝 장치는 제2 파라미터에 대응하는 중요도 매트릭스의 요소 값을, 중요도 매트릭스의 요소 값들 중 최소값 또는 그 밖의 다양한 실수 값으로 설정할 수도 있다.
트레이닝 장치는 제2 태스크를 위한 트레이닝 데이터 및 갱신된 중요도에 기초하여 신경망을 트레이닝 시킨다(350). 트레이닝 장치는 예를 들어, 제2 파라미터들에 대응하는 중요도 매트릭스의 요소 값이 미리 설정된 기준값보다 클수록 대응하는 제2 파라미터 값의 변화가 작아지도록 설계된 손실 함수(loss function)를 기초로, 신경망을 트레이닝 시킬 수 있다.
도 4는 일 실시예에 따른 신경망 트레이닝 방법을 설명하기 위한 도면이다. 도 4를 참조하면, 신경망의 파라미터(들)를 메모리 유닛(405)에 갱신하는 과정이 도시된다.
예를 들어, K번째 트레이닝 태스크가 완료되면(410), 트레이닝 장치는 각 뉴런 및/또는 시냅스에 대한 중요도, 다시 말해 신경망의 각 파라미터에 대한 중요도를 산출(또는 측정)할 수 있다(420).
단계(410)에서, K번째 트레이닝 태스크가 완료된 경우, 신경망의 파라미터들은 예를 들어,
Figure pat00003
와 같이 표현될 수 있다.
단계(420)에서, 트레이닝 장치는 예를 들어, 피셔 정보 매트릭스(Fisher Information Matrix) 등과 같은 중요도 매트릭스를 통해 신경망의 파라미터들에 대한 중요도를 산출(또는 측정)할 수 있다. 여기서, 피셔 정보 매트릭스는 어떤 확률 변수의 관측값으로부터, 확률 변수의 분포의 매개 변수에 대해 유추할 수 있는 정보의 양을 나타낸 매트릭스일 수 있다. 예를 들어, 피셔 정보 매트릭스는 예를 들어,
Figure pat00004
와 같이 산출(또는 측정)될 수 있다. 트레이닝 장치는 예를 들어, 피셔 정보 매트릭스에 의한 정보의 양이 미리 설정된 기준보다 많을수록 해당 파라미터에 대한 중요도를 높은 값으로 산출(또는 측정)할 수 있다. 트레이닝 장치는 피셔 정보 매트릭스에 의한 정보의 양이 미리 설정된 기준보다 작을수록 해당 파라미터에 대한 중요도를 낮은 값으로 산출(또는 측정)할 수 있다.
예를 들어, 신경망 A의 모든 파라미터들을 W라는 1차원 벡터로 표현한다고 하자. 신경망 A의 모든 파라미터들은 W = [w11, w12, .. , w21, w22, .. , wNM]와 같은 벡터로 표현될 수 있다. 또한, 피셔 정보 매트릭스는 예를 들어, NM x NM 크기의 대각 행렬로 얻어질 수 있다. 이 때, 신경망 A에서 해당 파라미터 각각에 해당하는 중요도는 피셔 정보 매트릭스에 대응할 수 있다. 따라서, 트레이닝 장치는 예를 들어,
Figure pat00005
와 같이 각 파라미터에 해당하는 피셔 정보 매트릭스의 값들의 합을 통해 각 파라미터 별 중요도를 산출할 수 있다. 여기서, 각 파라미터 별 중요도는 뉴런 별 중요도 및/또는 시냅스 별 중요도를 포함하는 의미로 이해될 수 있다.
일 실시예에 따른 트레이닝 장치가 신경망의 각 파라미터에 대한 중요도를 산출하는 방법은 아래의 도 5를 참조하여 구체적으로 설명한다.
트레이닝 장치는 단계(420)에서 산출한 파라미터들의 중요도를 기초로 파라미터들 중 중요 파라미터를 추출하여 메모리 유닛(405)에 저장할 수 있다(430). 트레이닝 장치는 예를 들어, 단계(420)에서 산출한 파라미터들 중 정해진 개수만큼의 중요 파라미터의 값(들)을 메모리 유닛(405)에 저장할 수 있다. 예를 들어, 신경망의 파라미터들 중 파라미터
Figure pat00006
의 중요도가 K번째 태스크에 대응하여 가장 높게 산출되었다고 하자. 트레이닝 장치는 가장 높은 중요도 값을 갖는 파라미터
Figure pat00007
를 K번째 태스크에 대응하는 중요 파라미터로 결정할 수 있다. 트레이닝 장치는 K번째 태스크에 대응하여 중요 파라미터
Figure pat00008
의 값 및 중요 파라미터
Figure pat00009
의 위치 정보(예를 들어, 중요 파라미터
Figure pat00010
에 대응하는 뉴런의 인덱스 및/또는 시냅스의 인덱스)를 메모리 유닛(405)에 저장할 수 있다.
또는 예를 들어, 신경망의 두 번째 뉴런이 K번째 태스크에 대응하는 중요 뉴런으로 판단된 경우, 트레이닝 장치는 신경망의 두 번째 뉴런에 대응하는 w21, w22, ??.. , w2M 의 벡터값을 위치 정보와 함께 메모리 유닛(405)에 저장할 수 있다.
트레이닝 장치는 중요도 매트릭스
Figure pat00011
에서 중요 파라미터
Figure pat00012
에 대응하는 중요도 값을 갱신할 수 있다(440).
트레이닝 장치는 중요 파라미터
Figure pat00013
에 대응하는 중요도 매트릭스
Figure pat00014
의 요소 값을 예를 들어, 0으로 설정함으로써 K.번째 태스크에 대응하는 중요도 매트릭스를
Figure pat00015
와 같이 갱신할 수 있다. 실시예에 따라서, 트레이닝 장치는 중요도 매트릭스의 요소 값을 0 이 아닌 중요도 매트릭스의 요소 값들 중 최소값으로 설정할 수도 있다.
트레이닝 장치는 갱신된 중요도 매트릭스를 이용하여 K+1번째 트레이닝 태스크를 수행할 수 있다(450).
일 실시예에 따른 트레이닝 장치는 전술한 것과 같은 방식으로 K 번째 태스크에 대응하는 중요도 매트릭스의 요소 값을 갱신함으로써 K+1 번째 태스크에서의 신경망의 트레이닝 능력을 증대시킬 수 있다. 다시 말해, 트레이닝 장치는 K 번째 태스크에 대응하는 중요도 매트릭스의 요소 값을 0으로 설정함으로써 해당 신경망의 크기가 무한정 커지는 것을 방지하는 한편, 해당 신경망이 새로운 태스크인 K+1 번째 태스크를 트레이닝할 수 있는 용량(capacity)을 갖도록 할 수 있다.
이때, K번째 태스크에 대응하여 갱신된 중요도 매트릭스는 예를 들어, 아래의 수학식 1과 같이 K+1 번째 태스크의 트레이닝 시에 로스(loss) 함수(L total(θ))로써 활용될 수 있다.
Figure pat00016
여기서, θ는 해당 신경망의 전체 파라미터(예를 들어, 제1 파라미터)를 나타내고, K는 태스크의 인덱스를 나타내며,
Figure pat00017
는 K번째 태스크에서의 중요도 매트릭스를 나타낼 수 있다. 여기서, (i,i)는
Figure pat00018
내 대각 원소들을 지시할 수 있다.
또한,
Figure pat00019
는 K+1번째 태스크에서 i 번째 파라미터의 값을 나타낼 수 있다. 또한,
Figure pat00020
는 K번째 태스크에서 i 번째 파라미터의 값을 나타낼 수 있다.
예를 들어, 트레이닝 시에 로스 함수로 계산되는 비용이 작아지는 방향으로 파라미터들이 갱신될 수 있다. 중요도가 높은 파라미터일수록 로스 함수에 큰 영향을 주며, 중요도가 높은 파라미터일수록
Figure pat00021
Figure pat00022
사이의 차이가 작아야 로스 함수로 계산되는 비용이 작아질 수 있다. 이로 인하여, 중요도가 높은 파라미터일수록 이전 태스크의 값을 유지하도록 트레이닝이 진행될 수 있다. 실시예들에 따르면, 이전 태스크에서 중요도가 높은 파라미터의 값이 별도로 저장하고, 해당하는 파라미터의 중요도가 다른 파라미터들에 비하여 낮게 설정될 수 있다.
도 5는 일 실시예에 따른 신경망의 복수의 파라미터들의 중요도들을 산출하는 과정을 설명하기 위한 도면이다. 도 5의 (a)를 참조하면, 심층 신경망(DNN)(510)이 도시되고, 도 5의 (b)를 참조하면, 컨볼루션 신경망(CNN)(530)이 도시된다.
일 실시예에 따른 트레이닝 장치는 신경망에 포함된 개별 뉴런 및/또는 개별 시냅스에 대한 중요도를 측정할 수 있다. 트레이닝 장치는 예를 들어, 신경망에 포함된 어느 하나의 시냅스(또는 어느 하나의 뉴런)의 연결을 제거한 후, 아래의 수학식 2와 같이 제거한 시냅스를 제외한 나머지 시냅스들(또는 제거한 뉴런을 제외한 나머지 뉴런들)에 의한 중요도를 산출할 수 있다.
Figure pat00023
L A,B (θ)는 태스크 A가 기 트레이닝된 상황에서 새로운 태스크 B를 트레이닝하기 위한 로스 함수이다. L A,B (θ)는 새로운 태스크 B의 로스 함수 L B (θ)에 관한 제1 텀과 태스크 A에서 기 트레이닝된 파라미터의 중요도에 기반한 차이에 관한 제2 텀을 포함한다. 여기서,
Figure pat00024
는 태스크 A 에서의 중요도를 나타내고,
Figure pat00025
는 태스크 A의 트레이닝에 따라 결정된 신경망의 i 번째 파라미터의 값을 나타낸다. θ i 는 현재 트레이닝 중인 i번째 파라미터를 나타낸다.
L A,A ' (θ)는 태스크 A에서 특정 파라미터 p (예를 들어, 특정 시냅스)를 제거한 태스크 A'를 트레이닝 하기 위한 로스 함수이다. 여기서,
Figure pat00026
는 태스크 A'의 현재 반복 시에 신경망의 i 번째 파라미터의 값을 나타낸다. L A,A ' (θ)L A,B (θ) 내에서 태스크 B에 관한 항목을 태스크 A'에 관한 항목으로 치환함으로써 유도될 수 있다.
Figure pat00027
은 태스크 A에서 특정 파라미터 p를 제거하기 전과 후의 로스의 변화량을 나타낸다. 여기서,
Figure pat00028
는 태스크 A에서 특정 파라미터 p의 중요도를 나타내고,
Figure pat00029
는 태스크 A의 특정 파라미터 P를 나타낸다.
트레이닝 장치는 전술한 것과 같이 신경망에 포함된 각각의 개별 뉴런 또는 각각의 개별 시냅스의 연결을 하나씩 제거해 봄으로써 신경망의 복수의 파라미터들의 중요도를 산출할 수 있다. 예를 들어,
Figure pat00030
를 이용하여 각 파라미터(예를 들어, 각 시냅스)의 중요도가 산출될 수 있다.
이러한 신경망의 파라미터들의 중요도를 산출하는 방법은 해당 신경망의 종류에 따라 달라질 수 있다. 예를 들어, 신경망이 도 5의 (a)에 도시된 심층 신경망(DNN)(510)으로 구성된 경우, 심층 신경망(DNN)(510)의 복수의 파라미터들의 중요도는 전술한 수학식 2에 의해 산출될 수 있다.
이와 달리, 신경망이 도 5의 (b)에 도시된 컨볼루션 신경망(CNN)(530)으로 구성된 경우, 컨볼루션 신경망(CNN)(530)의 복수의 파라미터들의 중요도는 아래의 수학식 3에 의해 산출될 수 있다.
Figure pat00031
이러한 차이점은 심층 신경망(DNN)(510)의 구조와 컨볼루션 신경망(CNN)(530)의 구조의 차이에 따른 것이다.
심층 신경망(510)이 복수의 뉴런들 및 복수의 시냅스들로 구성되는 것과 달리, 컨볼루션 신경망(CNN)(530)은 복수의 필터들로 구성될 수 있다. 이에 따라, 컨볼루션 신경망(CNN)(530)에서 중요 파라미터는 신경망에 포함된 복수의 필터들 중 타겟 태스크를 위한 중요 필터에 대응하는 파라미터, 및 중요 필터의 인덱스를 포함할 수 있다.
도 6은 일 실시예에 따른 제2 파라미터를 메모리에 저장하는 방법 및 제2 파라미터를 메모리로부터 추출하는 방법을 설명하기 위한 도면이다. 도 6의 (a)를 참조하면, 일 실시예에 따른 트레이닝 장치가 제2 파라미터, 다시 말해 중요 파라미터를 메모리(610)에 저장하는 과정이 도시된다. 전술한 것과 같이, 중요 파라미터는 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터일 수도 있고, 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터일 수도 있다.
예를 들어, 파라미터들의 전체 개수가 N 개(Q1, Q2, Q3, .. , QN)인 신경망에서 1 번째 태스크에 대한 트레이닝이 완료되었다고 하자. 또한, 표(630)에 기재된 것과 같이 N개의 파라미터들(Q1, Q2, Q3, .. , QN) 중 2번 파라미터(Q2)와 6번 파라미터(Q6)가 1 번째 태스크에 대응한 중요 파라미터들로 결정되었다고 하자.
트레이닝 장치는 중요 파라미터들(Q2, Q6)의 값을 메모리(610)에 저장할 수 있다. 이때, 트레이닝 장치는 중요 파라미터들의 값 이외에도, 예를 들어, 중요 뉴런의 인덱스, 또는 중요 시냅스의 인덱스 등과 같이 중요 파라미터들을 찾기 위한 위치 정보를 함께 메모리(610)에 저장할 수 있다.
이후, 트레이닝 장치는 표(630)와 같이 중요 파라미터들(Q2, Q6)에 대응하는 중요도 매트릭스의 요소 값을 0으로 설정함으로써 1번째 태스크에 대응하는 중요도 매트릭스를 갱신할 수 있다. 트레이닝 장치는 갱신된 중요도 매트릭스를 이용하여 2번째 태스크를 수행할 수 있다.
전술한 것과 마찬가지 방법으로 트레이닝 장치는 K번째 태스크에 대응하여 결정된 중요 파라미터들(예를 들어, 3번 파라미터(Q3)와 8번 파라미터(Q8))의 값을 메모리(610)에 저장할 수 있다.
예를 들어, L번째 태스크까지 트레이닝이 완료되었다고 하면, 메모리(610)에는 L번째 태스크에 대응하는 중요 파라미터(들)의 값 및 위치 정보가 저장될 수 있다.
트레이닝 장치는 각 태스크에 대응하는 중요 파라미터들을 도 6의 (a)에 도시된 것과 같이 하나의 메모리(610)에 저장할 수도 있고, 실시예에 따라서, 각 태스크 별 메모리에 별도로 저장할 수도 있다.
도 6의 (b)를 참조하면, 일 실시예에 따른 데이터 처리 장치가 메모리(610)로부터 제2 파라미터를 추출하는 과정이 도시된다. 예를 들어, 신경망에서 L번째 태스크까지 수행되었고, 현재 수행하고자 하는 타겟 태스크가 이전에 트레이닝했던 K번째 태스크라고 하자.
이 경우, 데이터 처리 장치는 메모리(610)로부터 K번째 태스크에 대응하여 저장된 정보를 추출할 수 있다. 데이터 처리 장치는 예를 들어, K번째 태스크에 대응하여 메모리(610)에 저장된 중요 파라미터들(3번 파라미터(Q3)와 6번 파라미터(Q8))의 값을 획득할 수 있다. 데이터 처리 장치는 중요도 매트릭스에서 L번째 태스크에 대응하는 3번 파라미터(Q3)와 8번 파라미터(Q8)의 값을, 메모리(610)에 저장되었던 3번 파라미터(Q3)와 8번 파라미터(Q8)의 값으로 갱신할 수 있다.
일 실시예에서는 메모리(610)에서 태스크에 대응하여 저장된 중요 파라미터의 값을 통해 신경망의 파라미터를 갱신함으로써 특정 태스크에 대한 신경망의 성능이 안정적으로 유지되도록 할 수 있다. 이를 통해, 데이터 처리 장치는 이전에 트레이닝한 태스크에 대한 지식은 잊어버리고, 가장 최근의 지식만을 기억하는 재앙적 망각 문제를 해결할 수 있다.
도 7은 일 실시예에 따른 신경망 기반의 데이터 처리 장치의 블록도이다. 도 7을 참조하면, 일 실시예에 따른 데이터 처리 장치(700)는 프로세서(710), 통신 인터페이스(730) 및 메모리(750)를 포함한다. 프로세서(710), 통신 인터페이스(730) 및 메모리(750)는 통신 버스(705)를 통해 서로 통신할 수 있다.
프로세서(710)는 메모리(750)에 기 저장된 제2 파라미터를 획득한다. 프로세서(710)는 신경망의 제1 파라미터들 중 일부의 값을 제2 파라미터의 값으로 설정함으로써, 신경망을 타겟 태스크에 적응시킨다. 프로세서(710)는 타겟 태스크에 적응된 신경망을 이용하여 입력 데이터를 처리한다.
통신 인터페이스(730)는 타겟 태스크 및 타겟 태스크를 위한 입력 데이터를 수신한다.
메모리(750)는 복수의 태스크들을 위한 신경망에 포함된 제1 파라미터들 중 타겟 태스크에 대응하는 제2 파라미터를 저장한다. 데이터 처리 장치(700)는 별도의 메모리(미도시)에 의해 제1 파라미터들에 대한 정보(예를 들어, 제1 파라미터들의 값 등)를 저장할 수 있다.
또한, 프로세서(710)는 도 1 내지 도 6을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(710)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(710)는 프로그램을 실행하고, 데이터 처리 장치(700)를 제어할 수 있다. 프로세서(710)에 의하여 실행되는 프로그램 코드는 메모리(750)에 저장될 수 있다.
메모리(750)는 상술한 프로세서(710)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(750)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(750)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(750)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (23)

  1. 타겟 태스크 및 상기 타겟 태스크를 위한 입력 데이터를 수신하는 단계;
    복수의 태스크들을 위한 신경망에 포함된 제1 파라미터들 중 상기 타겟 태스크에 대응하여 기 저장된 제2 파라미터를 획득하는 단계;
    상기 신경망의 제1 파라미터들 중 일부의 값을 상기 제2 파라미터의 값으로 설정함으로써, 상기 신경망을 상기 타겟 태스크에 적응시키는 단계; 및
    상기 타겟 태스크에 적응된 신경망을 이용하여 상기 입력 데이터를 처리하는 단계
    를 포함하는, 신경망 기반의 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 제2 파라미터는
    상기 신경망에 포함된 복수의 뉴런들 중 상기 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 상기 중요 뉴런의 인덱스, 상기 신경망에 포함된 복수의 시냅스들 중 상기 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 상기 중요 시냅스의 인덱스 중 적어도 하나를 포함하는, 신경망 기반의 데이터 처리 방법.
  3. 제1항에 있어서,
    상기 제2 파라미터는
    상기 신경망에 포함된 복수의 필터들 중 상기 타겟 태스크를 위한 중요 필터에 대응하는 파라미터, 및 상기 중요 필터의 인덱스 중 적어도 하나를 포함하는, 신경망 기반의 데이터 처리 방법.
  4. 제1항에 있어서,
    상기 타겟 태스크 및 상기 입력 데이터를 수신하는 단계는
    상기 입력 데이터를 수신하는 단계; 및
    상기 입력 데이터에 기초하여 상기 타겟 태스크를 추정하는 단계
    를 포함하는, 신경망 기반의 데이터 처리 방법.
  5. 제1항에 있어서,
    상기 신경망을 상기 타겟 태스크에 적응시키는 단계는
    상기 복수의 태스크들에 적용되는 상기 제1 파라미터들에 기초하여, 상기 신경망을 초기화하는 단계; 및
    상기 타겟 태스크에 적용되는 상기 제2 파라미터에 기초하여, 상기 초기화된 신경망을 갱신하는 단계
    를 포함하는, 신경망 기반의 데이터 처리 방법.
  6. 제1항에 있어서,
    상기 타겟 태스크는
    상기 복수의 태스크들 중 어느 하나에 해당하는, 신경망 기반의 데이터 처리 방법.
  7. 제1 태스크를 위한 트레이닝 데이터에 기초하여, 복수의 파라미터들을 포함하는 신경망을 트레이닝 시키는 단계;
    상기 복수의 파라미터들의 중요도들에 기초하여, 상기 복수의 파라미터들 중 제2 파라미터를 추출하는 단계;
    상기 제2 파라미터의 값을 저장하는 단계;
    상기 제2 파라미터의 중요도를 갱신하는 단계; 및
    제2 태스크를 위한 트레이닝 데이터 및 상기 갱신된 중요도에 기초하여 상기 신경망을 트레이닝 시키는 단계
    를 포함하는, 신경망 트레이닝 방법.
  8. 제7항에 있어서,
    상기 제2 파라미터들의 중요도를 갱신하는 단계는
    상기 제2 파라미터들에 대응하는 중요도 매트릭스의 요소 값들을 제1 논리 값으로 설정함으로써 상기 제2 파라미터의 중요도를 갱신하는 단계
    를 포함하는, 신경망 트레이닝 방법.
  9. 제7항에 있어서,
    상기 복수의 파라미터들의 중요도들을 산출하는 단계
    를 더 포함하는, 신경망 트레이닝 방법.
  10. 제9항에 있어서,
    상기 복수의 파라미터들의 중요도들을 산출하는 단계는
    미리 정해진 중요도 매트릭스에 기초하여, 상기 복수의 파라미터들의 중요도들을 산출하는 단계
    를 포함하는, 신경망 트레이닝 방법.
  11. 제7항에 있어서,
    상기 제2 파라미터는
    상기 신경망에 포함된 복수의 뉴런들 중 상기 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 상기 중요 뉴런의 인덱스, 상기 신경망에 포함된 복수의 시냅스들 중 상기 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 상기 중요 시냅스의 인덱스 중 적어도 하나를 포함하는, 신경망 트레이닝 방법.
  12. 하드웨어와 결합되어 제1항 내지 제11항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  13. 타겟 태스크 및 상기 타겟 태스크를 위한 입력 데이터를 수신하는 통신 인터페이스;
    복수의 태스크들을 위한 신경망에 포함된 제1 파라미터들 중 상기 타겟 태스크에 대응하는 제2 파라미터를 저장하는 메모리; 및
    상기 메모리에 기 저장된 제2 파라미터를 획득하고, 상기 신경망의 제1 파라미터들 중 일부의 값을 상기 제2 파라미터의 값으로 설정함으로써, 상기 신경망을 상기 타겟 태스크에 적응시키며, 상기 타겟 태스크에 적응된 신경망을 이용하여 상기 입력 데이터를 처리하는 프로세서
    를 포함하는, 신경망 기반의 데이터 처리 장치.
  14. 제13항에 있어서,
    상기 제2 파라미터는
    상기 신경망에 포함된 복수의 뉴런들 중 상기 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 상기 중요 뉴런의 인덱스, 상기 신경망에 포함된 복수의 시냅스들 중 상기 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 상기 중요 시냅스의 인덱스 중 적어도 하나를 포함하는, 신경망 기반의 데이터 처리 장치.
  15. 제13항에 있어서,
    상기 제2 파라미터는
    상기 신경망에 포함된 복수의 필터들 중 상기 타겟 태스크를 위한 중요 필터에 대응하는 파라미터, 및 상기 중요 필터의 인덱스 중 적어도 하나를 포함하는, 신경망 기반의 데이터 처리 장치.
  16. 제13항에 있어서,
    상기 통신 인터페이스는
    상기 입력 데이터를 수신하고,
    상기 프로세서는
    상기 입력 데이터에 기초하여 상기 타겟 태스크를 추정하는, 신경망 기반의 데이터 처리 장치.
  17. 제13항에 있어서,
    상기 프로세서는
    상기 복수의 태스크들에 적용되는 상기 제1 파라미터들에 기초하여, 상기 신경망을 초기화하고, 상기 타겟 태스크에 적용되는 상기 제2 파라미터에 기초하여, 상기 초기화된 신경망을 갱신하는, 신경망 기반의 데이터 처리 장치.
  18. 제13항에 있어서,
    상기 타겟 태스크는
    상기 복수의 태스크들 중 어느 하나에 해당하는, 신경망 기반의 데이터 처리 장치.
  19. 제1 태스크를 위한 트레이닝 데이터에 기초하여, 복수의 파라미터들을 포함하는 신경망을 트레이닝 시키고, 상기 복수의 파라미터들의 중요도들에 기초하여, 상기 복수의 파라미터들 중 제2 파라미터를 추출하고, 상기 제2 파라미터의 중요도를 갱신하며, 제2 태스크를 위한 트레이닝 데이터 및 상기 갱신된 중요도에 기초하여 상기 신경망을 트레이닝 시키는 프로세서; 및
    상기 제2 파라미터의 값을 저장하는 메모리
    를 포함하는, 신경망 트레이닝 장치.
  20. 제19항에 있어서,
    상기 프로세서는
    상기 제2 파라미터들에 대응하는 중요도 매트릭스의 요소 값들을 제1 논리 값으로 설정함으로써 상기 제2 파라미터의 중요도를 갱신하는, 신경망 트레이닝 장치.
  21. 제19항에 있어서,
    상기 프로세서는
    상기 복수의 파라미터들의 중요도들을 산출하는, 신경망 트레이닝 장치.
  22. 제21항에 있어서,
    상기 프로세서는
    미리 정해진 중요도 매트릭스에 기초하여, 상기 복수의 파라미터들의 중요도들을 산출하는, 신경망 트레이닝 장치.
  23. 제19항에 있어서,
    상기 제2 파라미터는
    상기 신경망에 포함된 복수의 뉴런들 중 상기 타겟 태스크를 위한 중요 뉴런에 대응하는 파라미터, 상기 중요 뉴런의 인덱스, 상기 신경망에 포함된 복수의 시냅스들 중 상기 타겟 태스크를 위한 중요 시냅스에 대응하는 파라미터, 및 상기 중요 시냅스의 인덱스 중 적어도 하나를 포함하는, 신경망 트레이닝 장치.
KR1020190018400A 2019-02-18 2019-02-18 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들 KR20200100302A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190018400A KR20200100302A (ko) 2019-02-18 2019-02-18 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들
US16/691,762 US20200265307A1 (en) 2019-02-18 2019-11-22 Apparatus and method with multi-task neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190018400A KR20200100302A (ko) 2019-02-18 2019-02-18 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들

Publications (1)

Publication Number Publication Date
KR20200100302A true KR20200100302A (ko) 2020-08-26

Family

ID=72043408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190018400A KR20200100302A (ko) 2019-02-18 2019-02-18 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들

Country Status (2)

Country Link
US (1) US20200265307A1 (ko)
KR (1) KR20200100302A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022235789A1 (en) * 2021-05-07 2022-11-10 Hrl Laboratories, Llc Neuromorphic memory circuit and method of neurogenesis for an artificial neural network
WO2023043108A1 (ko) * 2021-09-15 2023-03-23 주식회사 사피온코리아 아키텍처 확장을 통한 신경망의 유효 정밀도 향상 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210559B1 (en) * 2018-10-23 2021-12-28 Hrl Laboratories, Llc Artificial neural networks having attention-based selective plasticity and methods of training the same
US11455531B2 (en) * 2019-10-15 2022-09-27 Siemens Aktiengesellschaft Trustworthy predictions using deep neural networks based on adversarial calibration

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089576B2 (en) * 2015-07-28 2018-10-02 Microsoft Technology Licensing, Llc Representation learning using multi-task deep neural networks
DE202017007641U1 (de) * 2016-07-18 2024-01-24 Deepmind Technologies Limited Training von maschinellen Lernmodellen auf mehrere maschinelle Lernaufgaben
US11645508B2 (en) * 2017-06-09 2023-05-09 Korea Advanced Institute Of Science And Technology Electronic apparatus and method for generating trained model
US11232344B2 (en) * 2017-10-31 2022-01-25 General Electric Company Multi-task feature selection neural networks
US10853725B2 (en) * 2018-05-18 2020-12-01 Deepmind Technologies Limited Neural networks with relational memory
US11210559B1 (en) * 2018-10-23 2021-12-28 Hrl Laboratories, Llc Artificial neural networks having attention-based selective plasticity and methods of training the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022235789A1 (en) * 2021-05-07 2022-11-10 Hrl Laboratories, Llc Neuromorphic memory circuit and method of neurogenesis for an artificial neural network
US11574679B2 (en) 2021-05-07 2023-02-07 Hrl Laboratories, Llc Neuromorphic memory circuit and method of neurogenesis for an artificial neural network
WO2023043108A1 (ko) * 2021-09-15 2023-03-23 주식회사 사피온코리아 아키텍처 확장을 통한 신경망의 유효 정밀도 향상 방법 및 장치

Also Published As

Publication number Publication date
US20200265307A1 (en) 2020-08-20

Similar Documents

Publication Publication Date Title
KR20200100302A (ko) 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들
KR101997975B1 (ko) 신경망 시스템을 이용한 정보의 장기, 단기, 및 하이브리드 기억을 위한 방법
US11620529B2 (en) Method of continual-learning of data sets and apparatus thereof
KR102582194B1 (ko) 선택적 역전파
US11586909B2 (en) Information processing method, information processing apparatus, and computer readable storage medium
KR20210032140A (ko) 뉴럴 네트워크에 대한 프루닝을 수행하는 방법 및 장치
KR102532748B1 (ko) 뉴럴 네트워크 학습 방법 및 장치
JP6950756B2 (ja) ニューラルネットワークのランク最適化装置および最適化方法
CN113825978B (zh) 用于定义路径的方法和设备、存储装置
CN110110794B (zh) 基于特征函数滤波的神经网络参数更新的图像分类方法
CN112101547B (zh) 一种对网络模型的剪枝方法、装置、电子设备及存储介质
US20160239736A1 (en) Method for dynamically updating classifier complexity
CN114511042A (zh) 一种模型的训练方法、装置、存储介质及电子装置
JP7031741B2 (ja) モデル学習装置、方法及びプログラム
CN114358274A (zh) 训练用于图像识别的神经网络的方法和设备
CN110889316B (zh) 一种目标对象识别方法、装置及存储介质
KR102597184B1 (ko) 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
CN112884160B (zh) 一种元学习方法及相关装置
CN114548395A (zh) 神经网络的能量高效和存储高效的训练
KR20220166716A (ko) 퓨샷 모방을 위한 시연 조건부 보강 학습
KR102365270B1 (ko) 희소 신경망 생성 방법 및 이를 위한 시스템
CN114548297A (zh) 基于领域自适应的数据分类方法、装置、设备及介质
Zhang et al. Improved deep deterministic policy gradient algorithm based on prioritized sampling
Neagoe et al. Ant colony optimization for logistic regression and its application to wine quality assessment
KR102494952B1 (ko) 분산 평준화를 통한 딥러닝 모델 초기화 방법 및 장치