KR20190078692A - 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법 - Google Patents

데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법 Download PDF

Info

Publication number
KR20190078692A
KR20190078692A KR1020170171480A KR20170171480A KR20190078692A KR 20190078692 A KR20190078692 A KR 20190078692A KR 1020170171480 A KR1020170171480 A KR 1020170171480A KR 20170171480 A KR20170171480 A KR 20170171480A KR 20190078692 A KR20190078692 A KR 20190078692A
Authority
KR
South Korea
Prior art keywords
data
label
mini
sampling
distribution
Prior art date
Application number
KR1020170171480A
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 KR1020170171480A priority Critical patent/KR20190078692A/ko
Publication of KR20190078692A publication Critical patent/KR20190078692A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/2219Large Object storage; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시예는, 샘플링 대상이 되는 전체 데이터의 라벨 분포를 분석하는 라벨 분석부; 및 상기 전체 데이터의 라벨 분포에 상응하는 각 라벨별 가중치를 결정하고, 상기 전체 데이터에서 상기 각 라벨별 가중치에 기반하여 임의로 미니 배치를 샘플링하는 데이터 샘플링부를 포함하는 것을 특징으로 하는, 데이터 분포를 고려하여 데이터를 샘플링하는 장치를 제공한다.

Description

데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법 {APPARATUS FOR SAMPLING DATA CONSIDERING DATA DISTRIBUTION AND METHOD FOR THE SAME}
본 발명은 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법에 관한 것으로, 다양한 라벨을 가진 데이터를 이용하여 기계 학습을 할 때 모델이 라벨에 대해 편향됨 없이 학습할 수 있도록 데이터의 라벨의 분포를 고려하여 미니 배치를 샘플링하는 장치 및 그 방법에 관한 것이다.
빅데이터 수집 기술의 발전과 기계 학습을 위한 다양한 기법이 등장함에 따라 다양한 분야에서 빅데이터를 이용한 기계 학습 기술을 이용한 어플리케이션이 등장하고 있다. 여기서, 빅데이터는 디지털 환경에서 생성되는 데이터로 그 규모가 방대하고, 생성 주기도 짧고, 형태도 수치 데이터뿐 아니라 문자와 영상 데이터를 포함하는 대규모 데이터를 의미할 수 있다.
수집된 빅데이터를 이용하여 기계 학습을 수행할 때 수집된 빅데이터의 용량에 비하여 이를 처리해야 하는 컴퓨터의 계산 가능한 용량이 현저하게 부족하여 한 번에 빅데이터를 처리하는 것은 불가능하다. 이를 해결하기 위하여 빅데이터를 컴퓨터가 한 번에 계산할 수 있는 용량에 맞추어 여러 개의 미니 배치로 나눈 다음 컴퓨터가 각각의 배치를 순회하면서 기계 학습을 수행하는 방법을 주로 사용한다.
수집된 빅데이터에 포함된 라벨의 숫자에 비하여 미니 배치에 포함된 라벨의 숫자가 부족하거나 빅데이터에 포함된 라벨의 분포와 미니 배치에 포함된 라벨의 분포와 차이가 발생할 경우, 기계 학습에 의해 학습된 모델이 빅데이터에 포함된 라벨을 올바르게 반영하지 못하고 편향이 발생할 수 있다. 학습된 모델에 편향이 발생할 경우 학습된 모델이 사용되는 어플리케이션의 정확도와 강인성을 저하시키는 문제점이 있다. 이를 예방하기 위해서는 주로 학습 과정에서 손실값을 계산할 때 빅데이터에 포함된 라벨의 분포를 고려하여 가중치를 주거나, 미니 배치를 나눌 때 임의로 순서로 빅데이터를 섞는 방법을 사용하지만 빅데이터의 용량과 이를 처리하기 위한 컴퓨터의 계산 용량 차이가 줄어들지 않는 한 이 현상은 존재할 수 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라할 수는 없다.
국내 등록특허공보 제10-1688458호
본 발명의 목적은 학습에 이용될 전체 데이터로부터 균형 잡힌 미니 배치를 샘플링하기 위하여, 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법을 제공하는 것이다.
또한, 본 발명의 목적은 미니 배치의 크기가 전체 데이터의 라벨들을 모두 포함하기에 부족한 경우에 복수의 미니 배치들을 하나의 미니 배치 그룹으로 묶고, 전체 데이터의 분포를 고려하여 미니 배치 그룹을 샘플링하여 이로부터 미니 배치들을 샘플링하는 장치 및 그 방법을 제공하는 것이다.
본 발명의 일 실시예는, 샘플링 대상이 되는 전체 데이터의 라벨 분포를 분석하는 라벨 분석부; 및 상기 전체 데이터의 라벨 분포에 상응하는 각 라벨별 가중치를 결정하고, 상기 전체 데이터에서 상기 각 라벨별 가중치에 기반하여 임의로 미니 배치를 샘플링하는 데이터 샘플링부를 포함하는 것을 특징으로 하는, 데이터 분포를 고려하여 데이터를 샘플링하는 장치를 제공한다.
본 발명에 따르면, 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법에 의해, 학습에 이용될 전체 데이터로부터 균형 잡힌 미니 배치를 샘플링함으로써, 전체 데이터의 크기가 이를 처리하는 컴퓨터의 계산 용량을 크게 상회하더라도 학습된 모델이 전체 데이터의 라벨 분포를 잘 반영하여 정확도 및 강인성을 향상시킬 수 있다.
또한, 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법에 의해, 미니 배치의 크기가 전체 데이터의 라벨들을 모두 포함하기에 부족한 경우에 미니 배치 그룹을 샘플링하고 이로부터 미니 배치들을 샘플링함으로써, 미니 배치의 크기가 작은 경우에 대하여도 전체 데이터의 라벨 분포를 잘 반영할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 전체 데이터와 샘플링된 데이터를 도식화한 도면이다.
도 3은 도 1에 도시된 데이터 분포를 고려하여 데이터를 샘플링하는 장치의 일 예를 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 전체 데이터의 라벨 분포를 분석한 결과를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 전체 데이터, 미니 배치 그룹들 및 미니 배치들을 도식화한 도면이다.
도 6은 본 발명의 일 실시예에 따른 전체 데이터와 미니 배치 그룹의 라벨 분포를 분석한 결과를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 방법을 나타낸 동작 흐름도이다.
도 8은 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 9는 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계의 일 예를 나타낸 동작 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성되어 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는한 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 시스템(1)의 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 시스템(1)에서 데이터 분포를 고려하여 데이터를 샘플링하는 장치(100)는 데이터 제공 장치(200) 및 데이터 분석 장치(300)와 상호 연결된다.
본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 장치(100)는 데이터 제공 장치(200)로부터 분석 및 샘플링의 대상이 되는 전체 데이터를 입력받고, 전체 데이터의 라벨 분포를 분석한다. 그리고, 전체 데이터의 라벨 분포를 고려하여 미니 배치들을 샘플링한다. 여기서, 샘플링된 미니 배치들은 데이터 분석 장치(300)에 전달되어 전체 데이터를 분석하는데 이용될 수 있다.
도 1에서는 데이터 샘플링 장치(100), 데이터 제공 장치(200) 및 데이터 분석 장치(300)가 구분되어 도시되어 있지만, 실시하기에 따라서는 적어도 일부가 하나의 장치에서 모듈을 통하여 기능적으로 구현될 수 있다. 예컨대, 데이터 샘플링 장치(100)와 데이터 제공 장치(200)가 하나의 장치에서 기능적으로 구현되는 것일 수 있다. 마찬가지로, 데이터 샘플링 장치(100), 데이터 제공 장치(200) 및 데이터 분석 장치(300)가 하나의 장치에서 기능적으로 구현될 수 있다.
이때, 미니 배치는 전체 데이터에 대하여 분석을 수행하기 위한 데이터의 단위를 의미할 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 장치(100)는 데이터 제공 장치(200)로부터 분석 및 샘플링의 대상이 되는 전체 데이터를 입력받고, 전체 데이터의 라벨 분포를 분석한다. 그리고, 전체 데이터의 라벨 분포를 고려하여 미니 배치 그룹을 샘플링하고, 미니 배치 그룹으로부터 미니 배치들을 샘플링한다.
이때, 미니 배치 그룹은 적어도 하나 이상의 미니 배치들로 구성될 수 있다.
만약, 미니 배치 그룹이 단 하나의 미니 배치로 구성되는 경우에는, 데이터 샘플링 장치(100)는 미니 배치 그룹을 샘플링하여 미니 배치 그룹으로부터 미니 배치를 샘플링하는 것 대신에, 곧바로 미니 배치를 샘플링할 수 있다.
이때, 미니 배치 그룹은 적어도 전체 데이터의 라벨들을 전부 포함하기에 충분한 크기로 설정될 수 있다. 특히, 미니 배치 그룹은 전체 데이터의 라벨 분포와 유사한 라벨 분포를 갖기에 충분한 크기로 설정될 수 있다.
이에 따라, 전체 데이터로부터 샘플링된 미니 배치들이 전체 데이터와 유사한 라벨 분포를 가질 수 있고, 샘플링된 미니 배치들을 이용하여 학습함으로써 학습된 모델의 편향을 효과적으로 방지할 수 있다.
데이터 제공 장치(100)는 분석 및 샘플링의 대상이 되는 전체 데이터를 제공하는 장치이다.
이때, 전체 데이터는 데이터 제공 장치(100)에 의하여 직접 수집되어 보관된 데이터를 의미할 수도 있고, 다른 데이터 수집 장치에서 수집된 데이터를 수신하여 데이터 제공 장치(100)에 보관된 데이터를 의미할 수 있다.
데이터 분석 장치(300)는 샘플링된 데이터를 이용하여 전체 데이터에 대한 분석을 수행하는 장치를 의미한다. 여기서, 데이터에 대한 분석은 전체 데이터에 대한 기계 학습(Machine Learning)을 의미할 수 있다.
에컨대, 데이터 분석 장치(300)는 범용 컴퓨터로 구현될 수 있다.
도 2는 본 발명의 일 실시예에 따른 전체 데이터와 샘플링된 데이터를 도식화한 도면이다.
도 2를 참조하면, 분석 및 샘플링의 대상이 되는 전체 데이터(2a)는 본 발명의 일 실시예에 따른 데이터 샘플링 장치(도 1의 100 참조)에 입력되고, 데이터 샘플링 장치(100)는 전체 데이터(2a)를 복수 개의 미니 배치들(2b)로 샘플링한다. 여기서, 미니 배치들(2b)은 샘플링의 단위를 의미한다.
도 3은 도 1에 도시된 데이터 분포를 고려하여 데이터를 샘플링하는 장치(100)의 일 예를 나타낸 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 장치(100)는 제어부(110), 통신부(120), 메모리(130), 라벨 분석부(140) 및 데이터 샘플링부(150) 등을 포함한다.
상세히, 제어부(110)는 일종의 중앙처리장치로서 데이터의 분포를 고려하여 데이터를 샘플링하는 전체 과정을 제어한다. 즉, 제어부(110)는 통신부(120), 메모리(130), 라벨 분석부(140) 및 데이터 샘플링부(150) 등을 제어하여 다양한 기능을 제공할 수 있다.
여기서, 제어부(110)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
통신부(120)는 데이터 분포를 고려하여 데이터를 샘플링하는 장치(100)와 데이터 제공 장치(200) 및 데이터 분석 장치(300) 간의 송수신 신호를 전송하는데 필요한 통신 인터페이스를 제공한다.
여기서, 통신부(120)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
이때, 통신부(120)는 데이터 제공 장치(도 1의 200 참조)로부터 샘플링의 대상이 되는 전체 데이터를 수신할 수 있다. 그리고, 전체 데이터는 라벨로서 클래스, 크기, 위치 등의 정보를 포함할 수 있다.
메모리(130)는 제어부(110)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(130)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
라벨 분석부(140)는 전체 데이터의 라벨의 분포를 분석한다.
이때, 라벨 분석부(140)는 전체 데이터의 라벨의 분포를 히스토그램의 형태로 분석할 수 있다. 만약, 전체 데이터의 라벨의 종류가 여러가지일 경우, 라벨의 종류 수만큼이 히스토그램의 차원이 되는 다차원 히스토그램으로 빅데이터 라벨의 분포가 표현될 수 있다. 예컨대, 라벨의 종류가 2가지인 경우, 2차원 히스토그램으로 표현될 수 있다.
이때, 라벨 분석부(140)는 전체 데이터의 특정 종류의 라벨이 불연속적인 원소들로 구성된 경우, 각 라벨 원소들을 하나의 히스토그램의 계급으로 설정할 수 있다. 여기서, 불연속적인 라벨에는 클래스가 포함될 수 있다. 예컨대, 어떤 라벨이 '성별'에 대한 라벨이고, 라벨 원소로서 '남성' 및 '여성'을 포함하는 경우, '남성'과 '여성'을 각각 히스토그램의 계급으로 설정할 수 있다.
이때, 라벨 분석부(140)는 전체 데이터의 특정 종류의 라벨이 연속적인 원소들로 구성된 경우, 해당 라벨의 전체 구간을 복수의 구간으로 분할하여 각각을 계급으로 설정할 수 있다. 여기서, 연속적인 라벨에는 크기, 위치, 점수 등이 포함될 수 있다. 예컨대, 어떤 라벨이 '점수'에 대한 라벨이고, '점수'의 구간이 0 이상 10 이하인 경우, 0 이상 2 이하를 히스토그램의 첫 번째 계급, 2 초과 4 이하를 두 번째 계급, 4 초과 6 이하를 세 번째 계급, 6 초과 8 이하를 네 번째 계급, 그리고 8 초과 10 이하를 다섯 번째 계급으로 설정할 수 있다.
이때, 라벨 분석부(140)는 연속적인 라벨에 대하여 일정한 간격으로 히스토그램의 계급을 구분할 수 있다. 이 경우, 히스토그램의 계수를 나누기 위한 간격은 해당 라벨의 원소들을 그룹화하고, 각 그룹 간의 거리의 최소값으로 정할 수 있다. 예컨대, 라벨의 원소들을 그룹화할 때 K-means 클러스터링(K-means clustering)과 엘보우 메소드(Elbow Method)를 이용할 수 있다. 여기서, 연속적인 라벨에 대한 라벨 분포 히스토그램은 추가적으로 기계 학습 과정에서 라벨의 분포에 의한 학습 편향을 조정하기 위한 손실값의 계산 과정에 필요한 가중치를 구할 때 사용될 수 있다.
이때, 라벨 분석부(140)는 연속적인 라벨에 대하여, 전체 구간 정보를 이용하여 각 계급의 크기가 동일하도록 기설정된 개수만큼의 계급들을 설정할 수 있다. 예컨대, '점수' 라벨의 구간이 0 이상 10 이하이고, 기설정된 계급 숫자가 5개인 경우, 0 이상 2 이하를 히스토그램의 첫 번째 계급, 2 초과 4 이하를 두 번째 계급, 4 초과 6 이하를 세 번째 계급, 6 초과 8 이하를 네 번째 계급, 그리고 8 초과 10 이하를 다섯 번째 계급으로 설정할 수 있다.
이때, 라벨 분석부(140)는 연속적인 라벨에 대하여, 전체 구간 정보를 이용하여 각 계급의 분포가 동일하도록 기설정된 개수만큼의 계급들을 설정할 수 있다. 예컨대, '점수' 라벨의 구간이 0 이상 10 이하이며, 라벨의 분포가 10으로 치우쳐있고, 기설정된 계급 숫자가 5개인 경우, 각 계급의 도수가 동일하도록 0 이상 5 이하를 히스토그램의 첫 번째 계급, 5 초과 7 이하를 두 번째 계급, 7 초과 8.5 이하를 세 번째 계급, 8.5 초과 9.5 이하를 네 번째 계급, 그리고 9.5 초과 10 이하를 다섯 번째 계급으로 설정할 수 있다.
데이터 샘플링부(150)는 전체 데이터의 라벨 분포를 고려하여 데이터를 샘플링한다. 여기서, 샘플링 데이터의 단위는 미니 배치이다. 전체 데이터 중에서 미니 배치로 샘플링된 데이터는 이후 샘플링 대상에서 제외된다.
이때, 데이터 샘플링부(150)는 전체 데이터의 라벨 분포와 상응하는 라벨 분포를 갖는 미니 배치를 샘플링할 수 있다. 즉, 전체 데이터의 라벨 분포와 미니 배치의 라벨 분포는 서로 유사하게 설정될 수 있다.
이때, 데이터 샘플링부(150)는 전체 데이터의 라벨 분포 분석 결과에 따라, 라벨 히스토그램의 계급별 도수로부터 계급별 가중치를 산출하고, 계급별 가중치에 따라 전체 데이터로부터 미니 배치를 샘플링할 수 있다. 여기서, 가중치를 고려한 샘플링 방법은 층화 추출(Stratified Sampling) 기법이 이용될 수 있다. 예컨대, '성별' 라벨에서 '남성'과 '여성'의 분포 비율이 2:1인 경우, '남성'의 가중치를 2/3으로 산출하고 '여성'의 가중치를 1/3으로 산출할 수 있고, 산출된 가중치를 이용하여 미니 배치를 샘플링할 때 '남성'을 '여성'보다 2배 많이 뽑도록 임의 샘플링할 수 있다.
이때, 데이터 샘플링부(150)는 미니 배치의 크기가 전체 데이터의 라벨 분포에 상응하는 라벨 분포를 갖기에 충분하지 못한 경우, 전체 데이터의 라벨 분포와 상응하는 라벨 분포를 갖는 미니 배치 그룹을 샘플링할 수 있다. 즉, 전체 데이터의 라벨 분포와 미니 배치 그룹의 라벨 분포는 서로 유사하게 설정될 수 있다. 그리고, 미니 배치 그룹은 라벨의 종류와 라벨 히스토그램 계급의 숫자에 따라 적어도 하나 이상의 미니 배치들로 샘플링될 수 있다.
이때, 데이터 샘플링부(150)는 1 개의 미니 배치 그룹을 샘플링하여 전체 데이터와 라벨 분포를 비교하고, 라벨 분포의 유사도 또는 오차가 기설정된 조건을 충족하는 경우에만 해당 미니 배치 그룹을 확정하며, 라벨 분포의 유사도 또는 오차가 기설정된 조건을 충족하지 않는 경우 다시 1개의 미니 배치 그룹을 샘플링할 수 있다. 전체 데이터 중에서 미니 배치 그룹으로 확정되어 샘플링된 데이터는 이후 샘플링 대상에서 제외된다.
여기서, 라벨 분포의 유사도 또는 오차는 코싸인 유사도(Cosine Similarity), 히스토그램 인터섹션(Histogram Intersection), 쿨백-라이블러 발산(Kullback-Leibler Divergence), EMD(Earth mover's Distance) 등이나, 이들의 평균이나 이들의 중간값이나, 이들의 조합을 이용하여 계산할 수 있다.
이때, 데이터 샘플링부(150)는 기설정된 개수만큼의 미니 배치 그룹 후보들을 샘플링하여 각각에 대하여 전체 데이터와 라벨 분포를 비교하고, 라벨 분포의 유사도가 가장 높거나 오차가 가장 낮은 미니 배치 그룹 후보를 선택하여 미니 배치 그룹을 확정할 수 있다. 전체 데이터 중에서 미니 배치 그룹으로 확정되어 샘플링된 데이터는 이후 샘플링 대상에서 제외된다.
이때, 데이터 샘플링부(150)는 샘플링된 미니 배치 그룹으로부터 기설정된 개수만큼의 미니 배치들을 샘플링할 수 있다. 예컨대, 1 개의 미니 배치 그룹의 크기가 미니 배치의 크기에 3배인 경우, 1 개의 미니 배치 그룹으로부터 3 개의 미니 배치들을 샘플링할 수 있다.
이때, 데이터 샘플링부(150)는 샘플링된 미니 배치 그룹으로부터 각 라벨의 계급의 도수에 상응하는 가중치를 고려하여 미니 배치들을 임의 샘플링할 수 있다. 특히, 미니 배치 그룹에서 미니 배치들을 샘플링할 때, 마지막 미니 배치 샘플링은 나머지 미니 배치들의 샘플링에서 선택되지 않은 미니 배치 그룹의 데이터로 결정할 수 있다. 예컨대, 미니 배치 그룹에 데이터 1 내지 데이터 6이 포함되고, 미니 배치 그룹으로부터 3개의 미니 배치들을 샘플링하고, 미니 배치 1에 데이터 1 및 2가 샘플링되고, 미니 배치 2에 데이터 3 및 4가 샘플링된 경우, 미니 배치 3은 자동적으로 데이터 5 및 6으로 샘플링될 수 있다.
도 4는 본 발명의 일 실시예에 따른 전체 데이터의 라벨 분포를 분석한 결과를 나타낸 도면이다.
도 4를 참조하면, 분석 및 샘플링의 대상이 되는 전체 데이터(4a)는 본 발명의 일 실시예에 따른 데이터 샘플링 장치(도 1의 100 참조)에 의해 라벨의 분포가 히스토그램(4b)으로 분석될 수 있다.
위에서 설명한 바와 같이, 라벨의 종류가 여러 개일 경우, 라벨의 종류 숫자만큼이 히스토그램의 차원이 될 수 있다. 또한, 불연속적인 라벨에 대하여는 각각의 라벨 원소를 계급으로 설정할 수 있고, 연속적인 라벨에 대하여는 구간을 쪼개어 계급을 설정할 수 있다.
도 5는 본 발명의 일 실시예에 따른 전체 데이터, 미니 배치 그룹들 및 미니 배치들을 도식화한 도면이다.
도 5를 참조하면, 분석 및 샘플링의 대상이 되는 전체 데이터(5a)는 본 발명의 일 실시예에 따른 데이터 샘플링 장치(도 1의 100 참조)에 의해 복수 개의 미니 배치 그룹들(5b)로 샘플링되며, 각 미니 배치 그룹들은 적어도 하나 이상의 미니 배치들(5c)로 샘플링될 수 있다. 미니 배치들(5b)은 샘플링의 단위를 의미한다.
도 6은 본 발명의 일 실시예에 따른 전체 데이터와 미니 배치 그룹의 라벨 분포를 분석한 결과를 나타낸 도면이다.
도 6을 참조하면, 분석 및 샘플링의 대상이 되는 전체 데이터(6a)는 본 발명의 일 실시예에 따른 데이터 샘플링 장치(도 1의 100 참조)에 의해 라벨의 분포가 히스토그램(6b)으로 분석될 수 있다. 또한, 전체 데이터(6a)로부터 샘플링된 미니 라벨 그룹(6c)는 본 발명의 일 실시예에 따른 데이터 샘플링 장치(도 1의 100 참조)에 의해 라벨의 분포가 히스토그램(6d)으로 분석될 수 있다.
도 6에서 확인할 수 있듯이, 미니 배치 그룹(6c)은 라벨 분포(6d)가 전체 데이터(6a)의 라벨 분포(6b)와 유사하도록 샘플링된다.
도 7은 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 방법을 나타낸 동작 흐름도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 방법은 데이터 분포를 고려하여 데이터를 샘플링하는 장치(도 1의 100 참조)가, 샘플링의 대상이 되는 전체 데이터를 입력 받는다(S701). 여기서, 전체 데이터는 데이터 제공 장치(도 1의 200 참조)로부터 수신한 것일 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 방법은 데이터 분포를 고려하여 데이터를 샘플링하는 장치(도 1의 100 참조)가, 전체 데이터의 라벨 분포를 분석한다(S703).
이때, 불연속적인 라벨은 각각의 라벨 원소들을 히스토그램의 계급으로 설정할 수 있고, 연속적인 라벨은 라벨의 구간을 나누어 히스토그램의 계급을 설정할 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 방법은 데이터 분포를 고려하여 데이터를 샘플링하는 장치(도 1의 100 참조)가, 전체 데이터의 라벨 분포를 고려하여 미니 배치 그룹을 샘플링한다(S705). 여기서, 미니 배치 그룹은 전체 데이터의 라벨들을 전부 포함하기에 충분한 크기를 가지며, 적어도 하나 이상의 미니 배치들을 포함한다. 그리고, 미니 배치 그룹은 전체 데이터와 라벨 분포가 유사하도록 샘플링된다.
또한, 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 방법은 데이터 분포를 고려하여 데이터를 샘플링하는 장치(도 1의 100 참조)가, 미니 배치 그룹으로부터 기설정된 수만큼의 미니 배치들을 샘플링한다(S707).
이때, 미니 배치 그룹의 라벨 분포 또는 전체 데이터의 라벨 분포에 따른 라벨 가중치를 기반으로 임의로 미니 배치들을 샘플링할 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 분포를 고려하여 데이터를 샘플링하는 방법은 데이터 분포를 고려하여 데이터를 샘플링하는 장치(도 1의 100 참조)가, 전체 데이터로부터 미니 배치들을 모두 샘플링하였는지 여부를 판단하여 샘플링 종료 여부를 판단한다(S709).
단계(S709)의 판단 결과 샘플링을 종료하는 것으로 판단한 경우, 데이터를 샘플링하는 과정을 종료한다.
단계(S709)의 판단 결과 샘플링을 종료하지 않는 것으로 판단한 경우, 전체 데이터 중에서 샘플링된 데이터는 샘플링 대상에서 제외하고(S711), 다시 단계(S705)로 돌아가 라벨 분포를 고려하여 미니 배치 그룹을 샘플링한다.
도 8은 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)의 일 예를 나타낸 동작 흐름도이다.
도 8을 참조하면, 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)는, 전체 데이터의 각 라벨별 가중치에 기반하여 임의로 미니 배치 그룹을 샘플링한다(S801). 즉, 미니 배치 그룹을 샘플링할 때, 가중치가 높은 라벨을 갖는 데이터는 미니 배치 그룹에 샘플링될 가능성이 높다.
또한, 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)는, 샘플링된 미니 배치 그룹의 라벨 분포를 분석한다(S803).
또한, 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)는, 전체 데이터의 라벨 분포와 미니 배치 그룹의 라벨 분포를 비교한다(S805). 여기서, 라벨 분포의 비교는 전체 데이터의 라벨 분포와 미니 배치 그룹의 라벨 분포의 유사도나 오차를 계산하는 것을 의미할 수 있다.
또한, 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)는, 미니 배치 그룹의 라벨 분포가 전체 데이터의 라벨 분포에 대하여 유사도 조건을 충족하는지 여부를 판단한다(S807).
단계(S807)의 판단 결과 유사도 조건을 충족하는 경우에는, 미니 배치 그룹을 샘플링하는 단계를 종료하고, 미니 배치 그룹에서 미니 배치들을 샘플링하는 단계(S707)로 진행한다.
단계(S807)의 판단 결과 유사도 조건을 충족하지 못하는 경우에는, 다시 단계(S801)로 돌아가 미니 배치 그룹을 새로 샘플링한다.
선택적 실시예에서, 상기 단계들(S801, S803, S805 및 S807)에 있어서, 미니 배치 그룹의 라벨 분포를 분석하는 단계(S803) 및 전체 데이터의 라벨 분포와 미니 배치 그룹의 라벨 분포를 비교하는 단계(S805)는 병렬적으로 수행될 수 있다.
도 9는 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)의 일 예를 나타낸 동작 흐름도이다.
도 9을 참조하면, 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)는, 전체 데이터의 각 라벨별 가중치에 기반하여 임의로 복수의 미니 배치 그룹 후보들을 샘플링한다(S901). 즉, 미니 배치 그룹을 샘플링할 때, 가중치가 높은 라벨을 갖는 데이터는 미니 배치 그룹에 샘플링될 가능성이 높다.
또한, 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)는, 샘플링된 각각의 미니 배치 그룹 후보들의 라벨 분포를 분석한다(S903).
또한, 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)는, 전체 데이터의 라벨 분포와 각 미니 배치 그룹 후보들의 라벨 분포를 비교한다(S905). 여기서, 라벨 분포의 비교는 전체 데이터의 라벨 분포와 각 미니 배치 그룹 후보들의 라벨 분포의 유사도나 오차를 계산하는 것을 의미할 수 있다.
또한, 도 7에 도시된 미니 배치 그룹을 샘플링하는 단계(S705)는, 미니 배치 그룹 후보들 중에서 전체 데이터와 라벨 분포 유사도가 가장 높은 미니 배치 그룹 후보를 선택하여 미니 배치 그룹으로 결정한다(S907).
즉, 여러 미니 배치 그룹의 후보들 중에서 전체 데이터의 라벨 분포를 가장 잘 반영한 미니 배치 그룹을 선택함으로써, 전체 데이터의 라벨 분포를 보다 잘 반영한 미니 배치 그룹을 샘플링할 수 있다.
선택적 실시예에서, 상기 단계들(S901, S903, S905 및 S907)에 있어서, 각 미니 배치 그룹 후보들의 라벨 분포를 분석하는 단계(S903) 및 전체 데이터의 라벨 분포와 각 미니 배치 그룹 후보들의 라벨 분포를 비교하는 단계(S905)는 병렬적으로 수행될 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 실시예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
1: 데이터 분포를 고려하여 데이터를 샘플링하는 시스템
100: 데이터 분포를 고려하여 데이터를 샘플링하는 장치
110: 제어부 120: 통신부
130: 메모리 140: 라벨 분석부
150: 데이터 샘플링부
200: 데이터 제공 장치 300: 데이터 분석 장치

Claims (1)

  1. 샘플링 대상이 되는 전체 데이터의 라벨 분포를 분석하는 라벨 분석부; 및
    상기 전체 데이터의 라벨 분포에 상응하는 각 라벨별 가중치를 결정하고, 상기 전체 데이터에서 상기 각 라벨별 가중치에 기반하여 임의로 미니 배치를 샘플링하는 데이터 샘플링부
    를 포함하는 것을 특징으로 하는, 데이터 분포를 고려하여 데이터를 샘플링하는 장치.
KR1020170171480A 2017-12-13 2017-12-13 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법 KR20190078692A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170171480A KR20190078692A (ko) 2017-12-13 2017-12-13 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170171480A KR20190078692A (ko) 2017-12-13 2017-12-13 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20190078692A true KR20190078692A (ko) 2019-07-05

Family

ID=67225391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170171480A KR20190078692A (ko) 2017-12-13 2017-12-13 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20190078692A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102209121B1 (ko) * 2020-08-24 2021-01-28 클라우드브릭주식회사 딥러닝 머신의 신뢰도 판단 방법
US20220292116A1 (en) * 2021-03-09 2022-09-15 Disney Enterprises, Inc. Constrained Multi-Label Dataset Partitioning for Automated Machine Learning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688458B1 (ko) 2016-04-27 2016-12-23 디아이티 주식회사 깊은 신경망 학습 방법을 이용한 제조품용 영상 검사 장치 및 이를 이용한 제조품용 영상 검사 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688458B1 (ko) 2016-04-27 2016-12-23 디아이티 주식회사 깊은 신경망 학습 방법을 이용한 제조품용 영상 검사 장치 및 이를 이용한 제조품용 영상 검사 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102209121B1 (ko) * 2020-08-24 2021-01-28 클라우드브릭주식회사 딥러닝 머신의 신뢰도 판단 방법
US20220292116A1 (en) * 2021-03-09 2022-09-15 Disney Enterprises, Inc. Constrained Multi-Label Dataset Partitioning for Automated Machine Learning

Similar Documents

Publication Publication Date Title
US20220108178A1 (en) Neural network method and apparatus
US11860902B2 (en) Indexing of large scale patient set
US10387430B2 (en) Geometry-directed active question selection for question answering systems
US11100374B2 (en) Apparatus and method with classification
CN112560829B (zh) 人群数量确定方法、装置、设备及存储介质
KR102476679B1 (ko) 객체 탐지 장치 및 방법
KR102167011B1 (ko) 샘플링 및 적응적으로 변경되는 임계치에 기초하여 뉴럴 네트워크를 학습하는데 이용되는 하드 네거티브 샘플을 추출하는 영상 학습 장치 및 상기 장치가 수행하는 방법
CN111125658B (zh) 识别欺诈用户的方法、装置、服务器和存储介质
KR102249818B1 (ko) 학습 데이터의 분포 특성에 기초하여 학습 데이터를 생성하는 방법 및 장치
CN114170482B (zh) 一种文档预训练模型训练方法、装置、设备及介质
CN110969200A (zh) 基于一致性负样本的图像目标检测模型训练方法及装置
KR102282730B1 (ko) 객체 맞춤형 영상특징 검출 알고리즘 기반의 객체검출 및 자세추정을 수행하는 방법 및 그 시스템
US20210019628A1 (en) Methods, systems, articles of manufacture and apparatus to train a neural network
US11790232B2 (en) Method and apparatus with neural network data input and output control
US20150293951A1 (en) Control method, computer product, and control apparatus
KR20190078692A (ko) 데이터 분포를 고려하여 데이터를 샘플링하는 장치 및 그 방법
US11941376B2 (en) AI differentiation based HW-optimized intelligent software development tools for developing intelligent devices
CN113705276A (zh) 模型构建方法、模型构建装置、计算机设备及介质
CN115062709A (zh) 模型优化方法、装置、设备、存储介质及程序产品
CN116109907B (zh) 目标检测方法、装置、电子设备及存储介质
KR20180002078A (ko) 인공지능을 이용하여 이상 상태를 검출하는 장치 및 방법
CN116958873A (zh) 行人跟踪方法、装置、电子设备及可读存储介质
US20220277194A1 (en) Storage medium and inference method
US20210365790A1 (en) Method and apparatus with neural network data processing
Han et al. Vanishing point detection and line classification with BPSO