KR20190040825A - 데이터 처리 방법 및 장치 - Google Patents

데이터 처리 방법 및 장치 Download PDF

Info

Publication number
KR20190040825A
KR20190040825A KR1020170131641A KR20170131641A KR20190040825A KR 20190040825 A KR20190040825 A KR 20190040825A KR 1020170131641 A KR1020170131641 A KR 1020170131641A KR 20170131641 A KR20170131641 A KR 20170131641A KR 20190040825 A KR20190040825 A KR 20190040825A
Authority
KR
South Korea
Prior art keywords
neural network
data
network data
version
machine learning
Prior art date
Application number
KR1020170131641A
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 KR1020170131641A priority Critical patent/KR20190040825A/ko
Publication of KR20190040825A publication Critical patent/KR20190040825A/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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (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)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Abstract

뉴럴 네트워크를 기반으로 제 1 버전의 기계 학습을 수행하는 단계; 제 1 버전의 기계 학습 결과에 따라 생성되는 제 1 뉴럴 네트워크 데이터를 저장하는 단계; 뉴럴 네트워크를 기반으로 제 2 버전의 기계 학습을 수행하는 단계; 및 제 2 버전의 기계 학습 결과 생성되는 제 2 뉴럴 네트워크 데이터 및 제 1 뉴럴 네트워크 데이터를 비교하여, 제 2 뉴럴 네트워크 데이터 중에서 제 1 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터를 저장하는 단계;를 포함하는 데이터 처리 방법 및 데이터 처리 장치를 제공한다.

Description

데이터 처리 방법 및 장치{Apparatus and method for processing data}
본 개시는 뉴럴 네트워크 기반의 데이터 처리 방법 및 장치에 관한 것이다.
뉴럴 네트워크(neural network)는 생물학적 뇌를 모델링한 컴퓨터 과학적 아키텍쳐(computational architecture)를 참조한다. 최근 뉴럴 네트워크(neural network) 기술이 발전함에 따라, 다양한 종류의 전자 시스템에서 뉴럴 네트워크 장치를 사용하여 입력 데이터를 분석하고 유효한 정보를 추출하는 연구가 활발히 진행되고 있다.
본 실시예들에 따르면, 뉴럴 네트워크 기반의 데이터 처리 방법 및 장치를 제공한다.
제 1 측면에 따라, 데이터 처리 방법은, 뉴럴 네트워크를 기반으로 제 1 버전의 기계 학습을 수행하는 단계; 제 1 버전의 기계 학습 결과에 따라 생성되는 제 1 뉴럴 네트워크 데이터를 저장하는 단계; 뉴럴 네트워크를 기반으로 제 2 버전의 기계 학습을 수행하는 단계; 및 제 2 버전의 기계 학습 결과 생성되는 제 2 뉴럴 네트워크 데이터 및 제 1 뉴럴 네트워크 데이터를 비교하여, 제 2 뉴럴 네트워크 데이터 중에서 제 1 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터를 저장하는 단계;를 포함할 수 있다.
또한, 방법은, 제 2 뉴럴 네트워크 데이터에 대한 요청 시, 제 1 뉴럴 네트워크 데이터와 일부 뉴럴 네트워크 데이터를 조합하여, 제 2 뉴럴 네트워크 데이터를 구현하는 단계를 더 포함할 수 있다.
또한, 제 1 버전의 기계 학습을 수행하는 단계는, 제 1 데이터 세트를 이용하여 상기 제 1 버전의 기계 학습을 수행하고, 제 2 버전의 기계 학습을 수행하는 단계는, 제 2 데이터 세트를 이용하여 제 2 버전의 기계 학습을 수행할 수 있다.
또한, 제 2 데이터 세트는, 제 1 데이터 세트의 일부 데이터가 변화된 데이터 세트이거나, 제 1 데이터 세트에 일부 데이터가 추가된 데이터 세트일 수 있다.
또한, 방법은, 제 1 뉴럴 네트워크 데이터를 통해 서로 다른 프레임워크(framework)의 뉴럴 네트워크를 제공할 수 있다.
또한, 제 1 뉴럴 네트워크 데이터는, 제 1 버전으로 기계 학습된 뉴럴 네트워크의 노드 데이터, 및 노드 간 가중치 데이터를 포함하고, 제 2 뉴럴 네트워크 데이터는, 제 2 버전으로 기계 학습된 뉴럴 네트워크의 노드 데이터, 및 노드 간 가중치 데이터를 포함할 수 있다.
제 2 측면에 따라, 데이터 처리 장치는, 컴퓨터 실행가능 명령어(computer executable instruction)를 저장하는 메모리; 및 컴퓨터 실행가능 명령어를 실행함으로써, 뉴럴 네트워크를 기반으로 제 1 버전의 기계 학습을 수행하고, 제 1 버전의 기계 학습 결과에 따라 생성되는 제 1 뉴럴 네트워크 데이터를 상기 메모리에 저장하고, 뉴럴 네트워크를 기반으로 제 2 버전의 기계 학습을 수행하고, 제 2 버전의 기계 학습 결과 생성되는 제 2 뉴럴 네트워크 데이터 및 제 1 뉴럴 네트워크 데이터를 비교하여, 제 2 뉴럴 네트워크 데이터 중에서 제 1 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터를 메모리에 저장하는, 프로세서;를 포함할 수 있다.
제 3 측면에 따라, 전술한 방법을 구현하기 위한 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체가 제공된다.
본 발명의 실시 예들에 따르면, 기계 학습에 따른 데이터 저장 공간을 효율적으로 관리할 수 있다.
또한, 본 발명의 실시 예들에 따르면, 학습 성능이 좋은 프레임워크의 뉴럴 네트워크를 기반으로 기계 학습을 수행하여 뉴럴 네트워크 데이터를 획득할 수 있고, 획득된 뉴럴 네트워크 데이터를 통해 서비스 성능이 좋은 프레임워크의 뉴럴 네트워크를 제공할 수 있다.
본 발명은, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1 은 일 실시예에 따른 데이터 처리 장치를 설명하기 위한 블록도이다.
도 2는 프로세서가 복수의 문장들에 관한 데이터를 수치화된 데이터로 변환하는 실시예를 나타낸다.
도 3은 프로세서가 뉴럴 네트워크를 기반으로 기계 학습을 수행하는 실시예를 나타낸다.
도 4는 프로세서가 제 1 뉴럴 네트워크 데이터와 제 2 뉴럴 네트워크 데이터를 비교하는 실시예를 나타낸다.
도 5는 장치가 버전에 따른 뉴럴 네트워크 데이터를 관리하는 실시예를 나타낸다.
도 6은 장치가 이전 버전의 뉴럴 네트워크 데이터를 이용하여 뉴럴 네트워크 데이터를 구현하는 실시예를 나타낸다.
도 7은 장치가 뉴럴 네트워크 데이터를 통해 서로 다른 프레임워크의 뉴럴 네트워크를 제공하는 실시예를 나타낸다.
도 8은 일 실시예에 따라, 데이터 처리 장치가 수행하는 데이터 처리 방법을 설명하는 도면이다.
이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예를 상세히 설명하기로 한다. 하기 실시예는 기술적 내용을 구체화하기 위한 것일 뿐 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 해당 기술분야의 전문가가 용이하게 유추할 수 있는 것은 권리범위에 속하는 것으로 해석된다.
한편, 본 명세서에서 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 다른 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들 더 포함할 수도 있다는 것을 의미한다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
도 1은 일 실시예에 따른 데이터 처리 장치를 설명하기 위한 블록도이다.
데이터 처리 장치(100)(이하, 장치(100)라고 한다.)는, 메모리(110), 및 프로세서(120)를 포함할 수 있다. 도 1에 도시된 장치(100)는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
메모리(110)는 프로세서(120)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 컴퓨터 실행가능 명령어(computer executable instruction)를 저장할 수 있다. 예를 들어, 컴퓨터 실행가능 명령어는 32비트, 64비트, 또는 그 밖의 비트로 표현 가능할 수 있다.
프로세서(120)는, 장치(100)의 전반적인 동작을 제어한다. 프로세서(120)는 하나 또는 둘 이상의 프로세서를 포함할 수 있다. 즉, 프로세서(120)는 기능 및 역할에 따라, 복수의 프로세서들을 포함하거나, 통합된 형태의 하나의 프로세서를 포함할 수 있다.
프로세서(120)는 뉴럴 네트워크(neural network)에 대한 제 1 버전의 기계 학습을 수행할 수 있다. 구체적으로, 프로세서(120)는 인공 뉴럴 네트워크(Artificial Neural Network)라는 통계 학습 알고리즘을 기반으로, 제 1 데이터 세트를 이용하여 제 1 버전의 기계 학습을 수행할 수 있다. 일 실시예에 따라, 제 1 데이터 세트는 복수의 문장들에 관한 데이터가 될 수 있는바, 프로세서(120)는 복수의 문장들에 관한 데이터를 이용하여, 올바른 문장 내 단어 또는 형태소 간의 연결 관계를 위한 기계 학습을 수행할 수 있다. 다시 말해, 프로세서(120)는 올바른 단어 또는 형태소의 배열을 위해, 복수의 문장들 내에 단어 또는 형태소 간의 연결 관계를 학습할 수 있다.
일 실시예에 따라, 프로세서(120)는 외부로부터 제 1 데이터 세트를 입력 받을 수 있고, 다른 실시예에 따라, 프로세서(120)는 메모리(110)에 저장된 제 1 데이터 세트를 가져올 수 있다. 일 예에 따라, 제 1 데이터 세트는, 복수의 문장들이 벡터화된 수치에 관한 데이터가 될 수 있다. 복수의 문장들에 관한 데이터가 비 수치화된 데이터인 경우, 프로세서(120)는 복수의 문장들에 관한 데이터를 수치화된 데이터로 변환할 수 있다.
도 2는 프로세서가 복수의 문장들에 관한 데이터를 수치화된 데이터로 변환하는 실시예를 나타낸다.
프로세서(120)는 복수의 문장들에 관한 데이터에 기초하여, 복수의 문장들에 포함된 형태소, 단어 등을 인식할 수 있다. 이어서, 프로세서(120)는 복수의 문장들에 포함된 형태소, 단어 등에 대한 데이터를 벡터화된 데이터로 변환할 수 있다.
예를 들어, 도 2에 도시된 바와 같이, 프로세서(120)는 복수의 문장들에 포함된 '감자', '를', '좋은', '나' 등의 형태소 또는 단어에 대한 데이터를 벡터화된 데이터로 변환할 수 있다.
다시 도 1을 참조하면, 프로세서(120)는 제 1 버전의 기계 학습 결과에 따라 생성되는 제 1 뉴럴 네트워크 데이터를 메모리(110)에 저장할 수 있다. 뉴럴 네트워크 데이터는 기계 학습된 뉴럴 네트워크에 관한 데이터를 의미할 수 있다. 일 예에 따라, 뉴럴 네트워크 데이터는, 뉴럴 네트워크 내 노드에 관한 노드 데이터 및 노드 간 가중치에 관한 가중치 데이터를 포함할 수 있다.
도 3은 프로세서가 뉴럴 네트워크를 기반으로 기계 학습을 수행하는 실시예를 나타낸다.
프로세서(120)는 복수의 문장들(310) 내의 형태소 또는 단어를 인식할 수 있고, 형태소 또는 단어를 기준으로 구분한 제 1 데이터(320)를 획득할 수 있다.
프로세서(120)는 제 1 데이터(320)를 이용하여, 뉴럴 네트워크를 기반으로 제 1 버전의 기계 학습을 수행할 수 있다. 프로세서(120)는 제 1 버전의 기계 학습을 수행하여 제 1 뉴럴 네트워크 데이터(340)를 획득할 수 있다. 구체적으로, 프로세서(120)는 제 1 버전으로 기계 학습된 뉴럴 네트워크(330)의 노드 데이터 및 노드 간 가중치 데이터를 제 1 뉴럴 네트워크 데이터(340)로써 획득할 수 있다.
다시 도 1을 참조하면, 프로세서(120)는 뉴럴 네트워크를 기반으로 제 2 버전의 기계 학습을 수행할 수 있다. 제 2 버전의 기계 학습은 제 1 버전의 기계 학습과는 다른 조건에 따른 기계 학습을 의미할 수 있다. 일 예에 따라, 제 2 버전의 기계 학습은 제 1 버전의 제 1 데이터 세트와는 다른 제 2 데이터 세트를 이용하는 기계 학습을 의미할 수 있다. 예를 들어, 제 2 데이터 세트는, 제 1 데이터 세트의 일부 데이터가 변화된 데이터 세트이거나, 제 1 데이터 세트에 일부 데이터가 추가된 데이터 세트일 수 있다. 다른 예에 따라, 제 1 데이터 세트와 제 2 데이터 세트가 동일한 경우, 제 2 버전의 기계 학습은 제 2 데이터 세트에 대해 단어 분리 또는 형태소 분리를 제 1 버전과는 다르게 처리한 기계 학습을 의미할 수 있다.
프로세서(120)는 제 2 버전의 기계 학습을 수행하여 제 2 뉴럴 네트워크 데이터를 획득할 수 있다. 구체적으로, 프로세서(120)는 제 2 버전으로 기계 학습된 뉴럴 네트워크의 노드 데이터 및 노드 간 가중치 데이터를 획득할 수 있다.
프로세서(120)는 제 2 뉴럴 네트워크 데이터와 기 저장된 제 1 뉴럴 네트워크 데이터를 비교할 수 있고, 비교 결과, 프로세서(120)는 제 2 뉴럴 네트워크 데이터에서 제 1 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터를 검출할 수 있다. 구체적으로, 프로세서(120)는 제 1 버전으로 기계 학습된 뉴럴 네트워크의 제 1 노드 데이터 및 제 1 가중치 데이터와 제 2 버전으로 기계 학습된 뉴럴 네트워크의 제 2 노드 데이터 및 제 2 가중치 데이터를 비교할 수 있다. 비교 결과, 프로세서(120)는 제 2 노드 데이터에서 제 1 노드 데이터와 차이가 있는 일부 노드 데이터를 검출할 수 있고, 제 2 가중치 데이터에서 제 1 가중치 데이터와 차이가 있는 일부 가중치 데이터를 검출할 수 있다.
프로세서(120)는 비교 결과 검출된 일부 뉴럴 네트워크 데이터를 메모리(110)에 저장할 수 있다. 즉, 프로세서(120)는 제 2 버전의 기계 학습 결과에 따라 생성되는 제 2 뉴럴 네트워크 데이터 전체를 저장하는 것이 아니라, 제 2 뉴럴 네트워크 데이터 중 일부 뉴럴 네트워크 데이터만을 저장할 수 있다.
또한, 프로세서(120)는, 제 2 뉴럴 네트워크에 대한 요청 시, 기 저장된 제 1 뉴럴 네트워크 데이터 및 일부 뉴럴 네트워크 데이터를 조합하여, 제 2 뉴럴 네트워크 데이터를 구현할 수 있다. 구체적으로, 프로세서(120)는 제 1 뉴럴 네트워크 데이터에 일부 뉴럴 네트워크 데이터를 추가하거나, 일부 뉴럴 네트워크 데이터에 따라 제 1 뉴럴 네트워크 데이터를 변경하여, 제 2 뉴럴 네트워크 데이터를 구현할 수 있다. 따라서, 프로세서(120)는 제 1 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터만을 저장하면서도, 제 2 뉴럴 네트워크 데이터를 구현할 수 있으므로, 이를 통해, 장치(100)는 기계 학습에 따른 데이터 저장 공간을 효율적으로 관리할 수 있다.
마찬가지로, 프로세서(120)는 제 3 버전의 기계 학습 결과에 따라 생성되는 제 3 뉴럴 네트워크 데이터 전체를 저장하는 대신에, 제 3 뉴럴 네트워크 데이터 중에서 제 2 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터를 저장할 수 있다.
도 4는 프로세서가 제 1 뉴럴 네트워크 데이터와 제 2 뉴럴 네트워크 데이터를 비교하는 실시예를 나타낸다.
프로세서(120)는 제 1 버전의 기계 학습을 수행하여 제 1 뉴럴 네트워크 데이터(410)를 획득할 수 있고, 제 1 뉴럴 네트워크 데이터(410)를 메모리(110)에 저장할 수 있다.
프로세서(120)는 제 2 버전의 기계 학습을 수행하여 제 2 뉴럴 네트워크 데이터(420)를 획득할 수 있다. 이어서, 프로세서(120)는 기 저장된 제 1 뉴럴 네트워크 데이터(410)와 제 2 뉴럴 네트워크 데이터(420)를 비교할 수 있고, 비교 결과, 프로세서(120)는 제 2 뉴럴 네트워크 데이터(420)에서 제 1 뉴럴 네트워크 데이터(410)와 차이가 있는 일부 뉴럴 네트워크 데이터(430)를 검출할 수 있다.
구체적으로, 프로세서(120)는 제 1 노드 데이터와 제 2 노드 데이터를 비교할 수 있고, 비교 결과, 프로세서(120)는 두 노드 데이터 간의 차이가 존재하지 않음을 인식할 수 있다. 또한, 프로세서(120)는 제 1 가중치 데이터와 제 2 가중치 데이터를 비교할 수 있고, 비교 결과, 프로세서(120)는 제 2 가중치 데이터에서 제 1 가중치 데이터와 차이가 있는 일부 가중치 데이터(a2 -> n11 = w'12)를 검출할 수 있다.
프로세서(120)는 제 2 뉴럴 네트워크 데이터(420) 전체를 메모리(110)에 저장하는 대신 일부 뉴럴 네트워크 데이터(430)를 메모리(110)에 저장할 수 있다.
도 5는 장치가 버전에 따른 뉴럴 네트워크 데이터를 관리하는 실시예를 나타낸다.
장치(100)는 제 1 버전의 기계 학습 결과에 따라 생성되는 제 1 뉴럴 네트워크 데이터(510)를 저장 및 관리할 수 있다.
장치(100)는 제 2 버전의 기계 학습 결과에 따라 생성되는 제 2 뉴럴 네트워크 데이터 중에서, 제 1 뉴럴 네트워크 데이터(510)와 차이가 있는 일부 뉴럴 네트워크 데이터(520)를 저장 및 관리할 수 있다.
장치(100)는 제 3 버전의 기계 학습 결과에 따라 생성되는 제 3 뉴럴 네트워크 데이터 중에서, 제 2 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터(530)를 저장 및 관리할 수 있다.
도 6은 장치가 이전 버전의 뉴럴 네트워크 데이터를 이용하여 뉴럴 네트워크 데이터를 구현하는 실시예를 나타낸다.
도 5에서 살펴본 바와 같이, 장치(100)는 제 1 뉴럴 네트워크 데이터(510), 일부 뉴럴 네트워크 데이터(520), 및 일부 뉴럴 네트워크 데이터(530)를 저장하고 관리할 수 있다.
장치(100)는, 제 2 뉴럴 네트워크 데이터에 대한 요청 시, 제 1 뉴럴 네트워크 데이터(510) 및 일부 뉴럴 네트워크 데이터(520)를 조합하여, 제 2 뉴럴 네트워크 데이터(610)를 구현할 수 있다. 구체적으로, 장치(100)는, 제 1 뉴럴 네트워크 데이터(510)에 일부 뉴럴 네트워크 데이터(520)를 추가하거나, 일부 뉴럴 네트워크 데이터(520)에 따라 제 1 뉴럴 네트워크 데이터(510)를 변경하여, 제 2 뉴럴 네트워크 데이터(610)를 구현할 수 있다.
또한, 장치(100)는, 제 3 뉴럴 네트워크 데이터에 대한 요청 시, 제 1 뉴럴 네트워크 데이터(510), 일부 뉴럴 네트워크 데이터(520), 및 일부 뉴럴 네트워크 데이터(530)를 조합하여, 제 3 뉴럴 네트워크 데이터(620)를 구현할 수 있다. 구체적으로, 장치(100)는 기 구현된 제 2 뉴럴 네트워크 데이터(610)에 일부 뉴럴 네트워크 데이터(530)를 추가하거나, 일부 뉴럴 네트워크 데이터(530)에 따라 제 2 뉴럴 네트워크 데이터(610)를 변경하여, 제 3 뉴럴 네트워크 데이터(620)를 구현할 수 있다.
다시 도 1을 참조하면, 프로세서(120)는 뉴럴 네트워크 데이터를 통해 서로 다른 프레임워크의 뉴럴 네트워크를 제공할 수 있다. 구체적으로, 프로세서(120)가 제 1 프레임워크의 뉴럴 네트워크를 기반으로 기계 학습을 수행하여 뉴럴 네트워크 데이터를 획득하는 경우, 프로세서(120)는 뉴럴 네트워크 데이터를 제 2 프레임워크의 뉴럴 네트워크에 적합하게 변환할 수 있고, 변환된 뉴럴 네트워크 데이터를 통해 제 2 프레임워크의 뉴럴 네트워크를 제공할 수 있다. 프레임워크의 종류의 예로는, 텐서플로(TensorFlow), 시애노(Theano), 토치(Torch) 등이 될 수 있다.
도 7은 장치가 뉴럴 네트워크 데이터를 통해 서로 다른 프레임워크의 뉴럴 네트워크를 제공하는 실시예를 나타낸다.
장치(100)는 제 1 프레임워크의 뉴럴 네트워크를 기반으로 기계 학습을 수행하여 뉴럴 네트워크 데이터(710)를 획득할 수 있다.
장치(100)는 획득된 뉴럴 네트워크 데이터를 제 1 내지 n 프레임워크 중 어느 하나에 뉴럴 네트워크에 적합하게 변환할 수 있고, 변환된 뉴럴 네트워크 데이터를 통해 제 1 내지 n 프레임워크 중 어느 하나의 뉴럴 네트워크를 제공할 수 있다. 따라서, 장치(100)는, 학습 성능이 좋은 프레임워크의 뉴럴 네트워크를 기반으로 기계 학습을 수행하여 뉴럴 네트워크 데이터를 획득할 수 있고, 획득된 뉴럴 네트워크 데이터를 통해 서비스 성능이 좋은 프레임워크의 뉴럴 네트워크를 제공할 수 있다.
도 8은 일 실시예에 따라, 데이터 처리 장치가 수행하는 데이터 처리 방법을 설명하는 도면이다.
도 8에 도시된 방법은, 도 1의 장치(100)의 각 구성요소에 의해 수행될 수 있고, 중복되는 설명에 대해서는 생략한다.
단계 s810에서, 장치(100)는 뉴럴 네트워크를 기반으로 제 1 버전의 기계 학습을 수행할 수 있다. 장치(100)는 제 1 데이터 세트를 이용하여 제 1 버전의 기계 학습을 수행할 수 있다.
단계 s820에서, 장치(100)는, 제 1 버전의 기계 학습 결과에 따라 생성되는 제 1 뉴럴 네트워크 데이터를 저장할 수 있다.
단계 s830에서, 장치(100)는, 뉴럴 네트워크를 기반으로 제 2 버전의 기계 학습을 수행할 수 있다. 장치(100)는 제 2 데이터 세트를 이용하여 제 2 버전의 기계 학습을 수행할 수 있다.
단계 s840에서, 장치(100)는, 제 2 버전의 기계 학습 결과 생성되는 제 2 뉴럴 네트워크 데이터 및 제 1 뉴럴 네트워크 데이터를 비교하여, 제 2 뉴럴 네트워크 데이터 중에서 제 1 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터를 저장할 수 있다. 구체적으로, 장치(100)는 제 1 버전으로 기계 학습된 뉴럴 네트워크의 제 1 노드 데이터 및 제 1 가중치 데이터와 제 2 버전으로 기계 학습된 뉴럴 네트워크의 제 2 노드 데이터 및 제 2 가중치 데이터를 비교할 수 있다. 비교 결과, 장치(100)는 제 2 노드 데이터에서 제 1 노드 데이터와 차이가 있는 일부 노드 데이터를 검출할 수 있고, 제 2 가중치 데이터에서 제 1 가중치 데이터와 차이가 있는 일부 가중치 데이터를 검출할 수 있다.
또한, 장치(100)는, 제 2 뉴럴 네트워크에 대한 요청 시, 기 저장된 제 1 뉴럴 네트워크 데이터 및 일부 뉴럴 네트워크 데이터를 조합하여, 제 2 뉴럴 네트워크 데이터를 구현할 수 있다.
또한, 장치(100)는 뉴럴 네트워크 데이터를 통해 서로 다른 프레임워크의 뉴럴 네트워크를 제공할 수 있다. 구체적으로, 장치(100)가 제 1 프레임워크의 뉴럴 네트워크를 기반으로 기계 학습을 수행하여 뉴럴 네트워크 데이터를 획득하는 경우, 장치(100)는 뉴럴 네트워크 데이터를 제 2 프레임워크의 뉴럴 네트워크에 적합하게 변환할 수 있고, 변환된 뉴럴 네트워크 데이터를 통해 제 2 프레임워크의 뉴럴 네트워크를 제공할 수 있다.
상기 살펴 본 실시 예들에 따른 서버 또는 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 실시 예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.
본 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (13)

  1. 데이터 처리 방법에 있어서,
    뉴럴 네트워크를 기반으로 제 1 버전의 기계 학습을 수행하는 단계;
    상기 제 1 버전의 기계 학습 결과에 따라 생성되는 제 1 뉴럴 네트워크 데이터를 저장하는 단계;
    뉴럴 네트워크를 기반으로 제 2 버전의 기계 학습을 수행하는 단계; 및
    상기 제 2 버전의 기계 학습 결과 생성되는 제 2 뉴럴 네트워크 데이터 및 상기 제 1 뉴럴 네트워크 데이터를 비교하여, 상기 제 2 뉴럴 네트워크 데이터 중에서 상기 제 1 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터를 저장하는 단계;를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 제 2 뉴럴 네트워크 데이터에 대한 요청 시, 상기 제 1 뉴럴 네트워크 데이터와 상기 일부 뉴럴 네트워크 데이터를 조합하여, 상기 제 2 뉴럴 네트워크 데이터를 구현하는 단계를 더 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 제 1 버전의 기계 학습을 수행하는 단계는,
    제 1 데이터 세트를 이용하여 상기 제 1 버전의 기계 학습을 수행하고,
    상기 제 2 버전의 기계 학습을 수행하는 단계는,
    제 2 데이터 세트를 이용하여 상기 제 2 버전의 기계 학습을 수행하는, 방법.
  4. 제 3 항에 있어서,
    상기 제 2 데이터 세트는,
    상기 제 1 데이터 세트의 일부 데이터가 변화된 데이터 세트이거나, 상기 제 1 데이터 세트에 일부 데이터가 추가된 데이터 세트인, 방법.
  5. 제 1 항에 있어서,
    상기 제 1 뉴럴 네트워크 데이터를 통해 서로 다른 프레임워크(framework)의 뉴럴 네트워크를 제공하는 단계를 더 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 제 1 뉴럴 네트워크 데이터는,
    상기 제 1 버전으로 기계 학습된 뉴럴 네트워크의 노드 데이터, 및 노드 간 가중치 데이터를 포함하고,
    상기 제 2 뉴럴 네트워크 데이터는,
    상기 제 2 버전으로 기계 학습된 뉴럴 네트워크의 노드 데이터, 및 노드 간 가중치 데이터를 포함하는, 방법.
  7. 데이터 처리 장치에 있어서,
    컴퓨터 실행가능 명령어(computer executable instruction)를 저장하는 메모리; 및
    상기 컴퓨터 실행가능 명령어를 실행함으로써, 뉴럴 네트워크를 기반으로 제 1 버전의 기계 학습을 수행하고, 상기 제 1 버전의 기계 학습 결과에 따라 생성되는 제 1 뉴럴 네트워크 데이터를 상기 메모리에 저장하고, 뉴럴 네트워크를 기반으로 제 2 버전의 기계 학습을 수행하고, 상기 제 2 버전의 기계 학습 결과 생성되는 제 2 뉴럴 네트워크 데이터 및 상기 제 1 뉴럴 네트워크 데이터를 비교하여, 상기 제 2 뉴럴 네트워크 데이터 중에서 상기 제 1 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터를 상기 메모리에 저장하는, 프로세서;를 포함하는, 장치.
  8. 제 7 항에 있어서,
    상기 프로세서는,
    상기 제 2 뉴럴 네트워크 데이터에 대한 요청 시, 상기 제 1 뉴럴 네트워크 데이터와 상기 일부 뉴럴 네트워크 데이터를 조합하여, 상기 제 2 뉴럴 네트워크 데이터를 구현하는, 장치.
  9. 제 7 항에 있어서,
    상기 프로세서는,
    제 1 데이터 세트를 이용하여 상기 제 1 버전의 기계 학습을 수행하고, 제 2 데이터 세트를 이용하여 상기 제 2 버전의 기계 학습을 수행하는, 장치.
  10. 제 9 항에 있어서,
    상기 제 2 데이터 세트는,
    상기 제 1 데이터 세트의 일부 데이터가 변화된 데이터 세트이거나, 상기 제 1 데이터 세트에 일부 데이터가 추가된 데이터 세트인, 장치.
  11. 제 7 항에 있어서,
    상기 프로세서는,
    상기 제 1 뉴럴 네트워크 데이터를 통해 서로 다른 프레임워크(framework)의 뉴럴 네트워크를 제공하는, 장치.
  12. 제 7 항에 있어서,
    상기 제 1 뉴럴 네트워크 데이터는,
    상기 제 1 버전으로 기계 학습된 뉴럴 네트워크의 노드 데이터, 및 노드 간 가중치 데이터를 포함하고,
    상기 제 2 뉴럴 네트워크 데이터는,
    상기 제 2 버전으로 기계 학습된 뉴럴 네트워크의 노드 데이터, 및 노드 간 가중치 데이터를 포함하는, 장치.
  13. 데이터 처리 방법을 구현하기 위한 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체에 있어서,
    상기 방법은,
    뉴럴 네트워크를 기반으로 제 1 버전의 기계 학습을 수행하는 단계;
    상기 제 1 버전의 기계 학습 결과에 따라 생성되는 제 1 뉴럴 네트워크 데이터를 저장하는 단계;
    뉴럴 네트워크를 기반으로 제 2 버전의 기계 학습을 수행하는 단계; 및
    상기 제 2 버전의 기계 학습 결과 생성되는 제 2 뉴럴 네트워크 데이터 및 상기 제 1 뉴럴 네트워크 데이터를 비교하여, 상기 제 2 뉴럴 네트워크 데이터 중에서 상기 제 1 뉴럴 네트워크 데이터와 차이가 있는 일부 뉴럴 네트워크 데이터를 저장하는 단계;를 포함하는, 기록 매체.
KR1020170131641A 2017-10-11 2017-10-11 데이터 처리 방법 및 장치 KR20190040825A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170131641A KR20190040825A (ko) 2017-10-11 2017-10-11 데이터 처리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170131641A KR20190040825A (ko) 2017-10-11 2017-10-11 데이터 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20190040825A true KR20190040825A (ko) 2019-04-19

Family

ID=66283550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170131641A KR20190040825A (ko) 2017-10-11 2017-10-11 데이터 처리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20190040825A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210041546A (ko) * 2020-03-27 2021-04-15 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 인과 관계의 판별 방법, 장치, 전자 기기 및 저장 매체
KR20210075825A (ko) * 2019-12-12 2021-06-23 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 시맨틱 표현 모델의 처리 방법, 장치, 전자 기기 및 저장 매체
KR20210156152A (ko) * 2020-06-17 2021-12-24 주식회사 엔씨소프트 개체 간 관계 추출 방법 및 장치
KR20220008768A (ko) * 2020-07-14 2022-01-21 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 다중 모드 사전 훈련 모델 취득 방법, 장치, 전자 기기 및 기록 매체
KR20220070302A (ko) * 2019-10-06 2022-05-30 피디에프 솔루션즈, 인코포레이티드 비정상 장비 트레이스 검출 및 분류

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220070302A (ko) * 2019-10-06 2022-05-30 피디에프 솔루션즈, 인코포레이티드 비정상 장비 트레이스 검출 및 분류
KR20210075825A (ko) * 2019-12-12 2021-06-23 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 시맨틱 표현 모델의 처리 방법, 장치, 전자 기기 및 저장 매체
US11520991B2 (en) 2019-12-12 2022-12-06 Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus, electronic device and storage medium for processing a semantic representation model
KR20210041546A (ko) * 2020-03-27 2021-04-15 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 인과 관계의 판별 방법, 장치, 전자 기기 및 저장 매체
KR20210156152A (ko) * 2020-06-17 2021-12-24 주식회사 엔씨소프트 개체 간 관계 추출 방법 및 장치
KR20220008768A (ko) * 2020-07-14 2022-01-21 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 다중 모드 사전 훈련 모델 취득 방법, 장치, 전자 기기 및 기록 매체

Similar Documents

Publication Publication Date Title
KR20190040825A (ko) 데이터 처리 방법 및 장치
CN110175454B (zh) 一种基于人工智能的智能合约安全漏洞挖掘方法及系统
EP3557452B1 (en) Database state determining method and device, and consistency verifying method and device
JP6804668B2 (ja) ブロックデータ検証方法および装置
CN106796585B (zh) 条件验证规则
US20190188417A1 (en) Data masking systems and methods
Hunter et al. Semiparametric mixtures of regressions
US11256712B2 (en) Rapid design, development, and reuse of blockchain environment and smart contracts
Michael et al. Exact inference on the random‐effects model for meta‐analyses with few studies
IL284340A (en) Editing instructions are machine based
EP4141690A1 (en) Automated transformation of hierarchical data from a source data format to a target data format
US10878039B2 (en) Creating knowledge base of similar systems from plurality of systems
US20090006908A1 (en) System and method for fault mapping of exceptions across programming models
US8914815B2 (en) Automated framework for tracking and maintaining kernel symbol list types
WO2018135515A1 (ja) 情報処理装置、ニューラルネットワークの設計方法及び記録媒体
US20200326952A1 (en) Modification procedure generation device, modification procedure generation method and storage medium for storing modification procedure generation program
Stoican et al. A fault tolerant control scheme based on sensor–actuation channel switching and dwell time
JPWO2013085025A1 (ja) 最小カットセット評価システム、最小カットセット算出方法及びプログラム
CN111126566B (zh) 基于gan模型的异常家具布局数据检测方法
WO2016085443A1 (en) Application management based on data correlations
WO2020230043A1 (en) Feature vector feasibilty estimation
JP5526900B2 (ja) 管理装置、修正候補出力方法および修正候補出力プログラム
JP6760816B2 (ja) アプリケーション開発支援装置およびアプリケーション開発支援方法
KR20200121611A (ko) 서버 및 그 제어 방법
US11676054B2 (en) Computer-readable recording medium recording learning program and learning method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application