KR20220038907A - 생성적 대립 신경망(gan) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치 - Google Patents

생성적 대립 신경망(gan) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치 Download PDF

Info

Publication number
KR20220038907A
KR20220038907A KR1020200121279A KR20200121279A KR20220038907A KR 20220038907 A KR20220038907 A KR 20220038907A KR 1020200121279 A KR1020200121279 A KR 1020200121279A KR 20200121279 A KR20200121279 A KR 20200121279A KR 20220038907 A KR20220038907 A KR 20220038907A
Authority
KR
South Korea
Prior art keywords
neural network
generative
learning
data
gan
Prior art date
Application number
KR1020200121279A
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 KR1020200121279A priority Critical patent/KR20220038907A/ko
Priority to US17/077,077 priority patent/US20220092411A1/en
Publication of KR20220038907A publication Critical patent/KR20220038907A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of 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/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계, 및 구분자(Discriminator) 신경망과 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계를 포함하되, 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계는, 생성자 신경망의 디코더 신경망을 사전 학습된 초기 상태로 고정한 상태에서 생성적 대립 신경망(GAN)을 학습시키는 단계를 포함한다.

Description

생성적 대립 신경망(GAN) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치{DATA PREDICTION METHOD BASED ON GENERATIVE ADVERSARIAL NETWORK AND APPARATUS IMPLEMENTING THE SAME METHOD}
본 발명은 생성적 대립 신경망(GAN) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치에 관한 것으로서, 보다 자세하게는, 생성적 대립 신경망을 이용하여 데이터를 예측하기 위한 생성적 대립 신경망 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치에 관한 것이다.
생성적 대립 신경망(GAN: Generative Adversarial Network)은 실제와 가까운 이미지, 동영상, 및 음성 등을 자동으로 만들어 내는 기계학습 방식의 하나로, 생성자 신경망(Generator Neural Network)과 구분자 신경망(Discriminator Neural Network)이 서로 경쟁하며 실제와 유사한 결과물을 만들어 낸다.
그러나, 생성적 대립 신경망(GAN)은 구분자 신경망 대비 생성자 신경망의 학습 속도가 느리기 때문에, 종종 생성자 신경망의 학습이 제대로 이루어지지 않는 문제점이 있다.
한편, 결측치를 보정하기 위한 방법으로, 기존에는 결측치가 있는 데이터 행을 삭제하거나, 평균값 또는 임의의 값으로 대체하는 방법, 또는 기계학습을 이용하여 결측치를 예측하는 방법 등이 사용되었다. 이러한 방법들은 정보 손실 및 데이터 왜곡 현상을 일으켜 데이터 분석을 어렵게 만드는 문제점이 있다.
또한, 생성적 대립 신경망(GAN)을 이용한 결측치의 보정 기술로서 생성적 대립 대체 신경망(GAIN)이 사용되고 있는데, 생성적 대립 신경망(GAN)의 고질적인 문제인 생성자 신경망과 구분자 신경망 간 학습 속도의 차이로 인해 학습된 결과를 신뢰하기 어렵다.
따라서, 생성적 대립 신경망(GAN)을 이용하여 결측치를 보정하는 경우에 있어, 정보 손실을 최소화하면서도 보정 결과를 신뢰할 수 있는 보정 방법이 요구된다.
공개특허공보 제10-2020-0052439호(2020.05.15. 공개)
본 발명이 해결하고자 하는 기술적 과제는, 생성적 대립 신경망(GAN: Generative Adversarial Network)에 기반한 데이터 예측에 있어, 생성자 신경망과 구분자 신경망 간의 학습 속도의 차이를 줄여 학습 실패를 방지할 수 있는 생성적 대립 신경망 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 생성적 대립 신경망(GAN)에 기반하여 결측치를 보정함에 있어, 결측치의 보정 시 발생되는 정보 손실 및 데이터 왜곡 현상을 최소화하면서 보정 결과를 신뢰할 수 있는 생성적 대립 신경망(GAN) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 생성적 대립 신경망(GAN)에 기반하여 결측치를 보정함에 있어, 보정된 데이터의 신뢰도를 평가하여 보정 중 발생하는 정보 손실 및 오염을 측정할 수 있는 생성적 대립 신경망(GAN) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계, 및 구분자(Discriminator) 신경망과 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계를 포함하되, 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계는, 생성자 신경망의 디코더 신경망을 사전 학습된 초기 상태로 고정한 상태에서 생성적 대립 신경망(GAN)을 학습시키는 단계를 포함한다.
일 실시예로서, 상기 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계는, 원본 데이터 중 사전 학습을 위한 제1데이터셋을 이용하여 상기 오토인코더를 학습시키는 단계를 포함할 수 있다.
일 실시예로서, 상기 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계는, 범주형 변수와 연속형 변수에 각각에 대해 상기 오토인코더의 디코더 신경망을 분리하여 학습시키는 단계를 포함할 수 있다.
일 실시예로서, 상기 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계는, 상기 디코더 신경망의 각 레이어에 포함된 복수의 노드 각각에 있어, 상기 범주형 변수 및 상기 연속형 변수 중 어느 하나의 타입에 대응하는 데이터를 입력 데이터로 처리하는 단계를 포함할 수 있다.
일 실시예로서, 상기 구분자(Discriminator) 신경망과 상기 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계는, 상기 제1데이터셋과 다른 제2데이터셋을 이용하여 상기 오토인코더의 인코더를 학습한 결과에 기반하여 상기 생성자 신경망을 학습시키는 단계를 포함할 수 있다.
일 실시예로서, 상기 생성자 신경망의 디코더 신경망을 상기 사전 학습된 초기 상태로 고정한 상태에서 상기 생성적 대립 신경망(GAN)을 학습시키는 단계는, 상기 오토인코더의 디코더를 초기 상태로 고정하여 상기 생성자 신경망의 디코더 신경망으로 사용하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 결측치가 포함되지 않은 제1데이터셋을 이용하여 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계, 및 결측치가 포함된 제2데이터셋을 이용하여 구분자(Discriminator) 신경망과 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계를 포함하되, 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계는, 생성자 신경망의 디코더 신경망을 사전 학습된 초기 상태로 고정한 상태에서 생성적 대립 신경망(GAN)을 학습시키는 단계를 포함한다.
일 실시예로서, 상기 제1데이터셋으로서, 원본 데이터 중 결측치가 포함되지 않은 데이터가 포함되고, 상기 제2데이터셋으로서, 상기 원본 데이터 중 결측치가 포함된 데이터에서 상기 결측치를 기 정의된 초기값으로 대체한 데이터가 포함될 수 있다.
일 실시예로서, 상기 제2데이터셋에 포함된 결측치가 연속형 변수인 경우, 상기 결측치는 평균값으로 대체되고, 상기 결측치가 범주형 변수인 경우, 상기 결측치는 최빈값으로 대체될 수 있다.
일 실시예로서, 상기 결측치가 포함되지 않은 제1데이터셋을 이용하여 상기 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계는, 상기 제1데이터셋의 범주형 변수와 연속형 변수에 각각에 대해 상기 오토인코더의 디코더 신경망을 분리하여 학습시키는 단계를 포함할 수 있다.
일 실시예로서, 상기 결측치가 포함된 제2데이터셋을 이용하여 상기 구분자(Discriminator) 신경망과 상기 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계는, 상기 제2데이터셋을 이용하여 상기 오토인코더의 인코더를 학습한 결과에 기반하여 상기 생성자 신경망을 학습시키는 단계를 포함할 수 있다.
일 실시예로서, 상기 생성자 신경망의 디코더 신경망을 상기 사전 학습된 초기 상태로 고정한 상태에서 상기 생성적 대립 신경망(GAN)을 학습시키는 단계는, 상기 오토인코더의 디코더를 초기 상태로 고정하여 상기 생성자 신경망의 디코더 신경망으로 사용하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 결측치가 포함되지 않은 제1데이터셋과 결측치가 포함된 제2데이터셋을 이용하여, 생성자(Generator) 신경망과 구분자(Discriminator) 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 학습시키는 단계, 및 학습된 생성적 대립 신경망(GAN)의 생성자 신경망에서 출력된 상기 제2데이터셋의 결측치의 보정값과, 학습된 생성적 대립 신경망(GAN)의 구분자 신경망에서 출력된 결측치의 보정값에 대한 신뢰도 점수와, 제1데이터셋을 포함하는 보정후 데이터를 얻는 단계를 포함한다.
일 실시예로서, 상기 결측치가 포함되지 않은 제1데이터셋과 결측치가 포함된 제2데이터셋을 이용하여, 생성자(Generator) 신경망과 구분자(Discriminator) 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 학습시키는 단계는, 상기 제1데이터셋을 이용하여 상기 생성자 신경망을 사전 학습시키는 단계를 포함할 수 있다.
일 실시예로서, 상기 학습된 생성적 대립 신경망(GAN)의 생성자 신경망에서 출력된 상기 제2데이터셋의 결측치의 보정값과, 상기 학습된 생성적 대립 신경망(GAN)의 구분자 신경망에서 출력된 상기 결측치의 보정값에 대한 신뢰도 점수와, 상기 제1데이터셋을 포함하는 보정후 데이터를 얻는 단계는, 상기 생성자 신경망의 학습 동안 상기 제2데이터셋의 결측치들을 업데이트하는 과정을 기 설정된 횟수만큼 반복함에 의해 상기 결측치의 보정값이 출력되는 단계를 포함할 수 있다.
일 실시예로서, 상기 학습된 생성적 대립 신경망(GAN)의 생성자 신경망에서 출력된 상기 제2데이터셋의 결측치의 보정값과, 상기 학습된 생성적 대립 신경망(GAN)의 구분자 신경망에서 출력된 상기 결측치의 보정값에 대한 신뢰도 점수와, 상기 제1데이터셋을 포함하는 보정후 데이터를 얻는 단계는, 상기 출력된 상기 결측치의 보정값에 대한 신뢰도 점수에 기초하여 상기 구분자 신경망의 추가 학습 여부를 결정하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 데이터 예측 장치는, 하나 이상의 프로세서, 외부장치와 통신하는 통신 인터페이스, 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 컴퓨터 프로그램은, 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 동작, 및 구분자(Discriminator) 신경망과 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하고, 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 동작은, 생성자 신경망의 디코더 신경망을 사전 학습된 초기 상태로 고정한 상태에서 생성적 대립 신경망(GAN)을 학습시키는 동작을 포함할 수 있다.
일 실시예로서, 상기 구분자(Discriminator) 신경망과 상기 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 동작은, 상기 오토인코더의 인코더를 학습한 결과에 기반하여 상기 생성자 신경망을 학습시키는 동작을 포함할 수 있다.
일 실시예로서, 상기 생성자 신경망의 디코더 신경망을 상기 사전 학습된 초기 상태로 고정한 상태에서 상기 생성적 대립 신경망(GAN)을 학습시키는 동작은, 상기 오토인코더의 디코더를 초기 상태로 고정하여 상기 생성자 신경망의 디코더 신경망으로 사용하는 동작을 포함할 수 있다.
도 1 및 도 2는 본 발명의 실시예를 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 예측 장치의 구성도이다.
도 4는 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.
도 5 및 도 6은 본 발명의 다른 실시예에 따른 생성적 대립 신경망(GAN) 기반의 데이터 예측 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 또 다른 실시예에 따른 생성적 대립 신경망(GAN) 기반의 데이터 예측 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 또 다른 실시예에 따른 데이터 결측치 보정 방법을 설명하기 위한 순서도이다.
도 9는 본 발명의 몇몇 실시예에 따른 생성적 대립 신경망(GAN)에 기반하여 데이터 예측을 수행하는 전 과정을 도시한 순서도이다.
도 10은 본 발명의 몇몇 실시예에 따른 사전 학습을 위한 오토인코더의 구조를 도시한 예이다.
도 11은 본 발명의 몇몇 실시예에 따른 생성적 대립 신경망(GAN) 중 생성자 신경망의 구조를 도시한 예이다.
도 12 및 도 13은 본 발명의 몇몇 실시예에 따른 생성적 대립 신경망(GAN)의 전체 학습 구조를 도시한 예이다.
도 14 및 도 15는 본 발명의 몇몇 실시예에 따른 결측치를 포함하는 데이터셋과 생성적 대립 신경망(GAN)에 기반하여 결측치가 보정된 데이터셋의 예이다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1 및 도 2는 본 발명의 실시예를 설명하기 위한 개념도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 데이터 예측 장치(1000)는 생성적 대립 신경망(GAN)(10)에 기반하여 데이터를 예측한다.
도시된 예에서, 데이터 예측 장치(1000)는 생성자 신경망(2)과 구분자 신경망(3)을 포함하는 생성적 대립 신경망(GAN)(10)을 이용하여 입력되는 데이터에 대한 예측 데이터를 출력한다.
일 실시예로서, 데이터 예측 장치(1000)는 오토인코더(Auto Encoder) 구조를 기반으로 생성자 신경망(2)을 사전 학습시킬 수 있다. 데이터 예측 장치(1000)는 구분자 신경망(3)과 사전 학습된 생성자 신경망(2)을 포함하여 구성되는 생성적 대립 신경망(GAN)(10)을 전이 학습 방식으로 학습시킬 수 있다.
이 때, 데이터 예측 장치(1000)는 전이 학습을 수행함에 있어, 생성자 신경망(2)의 디코더 신경망(22)을 사전 학습된 초기 상태로 고정한 상태에서 생성적 대립 신경망(GAN)(10)을 학습시킬 수 있다.
상기와 같이, 본 발명의 실시예에 따른 데이터 예측 장치에 의하면, 생성적 대립 신경망(GAN)에 기반한 데이터 예측에 있어, 생성자 신경망의 학습 속도를 높여, 생성자 신경망과 구분자 신경망 사이의 학습 속도의 차이를 줄임으로써 학습 실패를 방지할 수 있다.
도 2를 참조하면, 본 발명의 실시예에 따른 데이터 예측 장치(1000)는 제1데이터셋(31)을 이용하여 인코더(11)와 디코더(12)를 포함하는 오토인코더(1) 구조를 기반으로 생성자 신경망(2)을 사전 학습시킬 수 있다.
일 실시예로서, 데이터 예측 장치(1000)는 오토인코더(1) 구조에 기반하여 생성자 신경망(2)의 사전 학습이 완료되면, 제2데이터셋(32)을 이용하여 사전 학습된 생성자 신경망(2)을 전이 학습 방식으로 학습시킬 수 있다.
이 때, 데이터 예측 장치(1000)는 전이 학습을 수행함에 있어, 오토인코더(1)의 인코더(11)를 초기값으로 사용하여 생성자 신경망(2)의 인코더 신경망(21)을 학습시킬 수 있다.
또한, 데이터 예측 장치(1000)는 생성자 신경망(2)의 디코더 신경망(22)을 추가 학습하는 과정 없이, 사전 학습된 오토인코더(1)의 디코더(12)를 초기 상태로 고정하여 생성자 신경망(2)의 디코더 신경망(22)로 사용할 수 있다. 이 경우, 디코더 신경망(22)을 학습하는 과정이 생략되므로, 인코더 신경망(21)의 학습에 의해 차원이 축소되어 학습 효율을 높일 수 있다.
상기와 같은 구조에 의해 데이터 예측 장치(1000)는 생성자 신경망(2)에 제2데이터셋(32)을 입력하고, 생성자 신경망(2)을 학습시킨 결과로서, 생성자 신경망(2)에서 출력되는 예측 데이터(33)를 얻을 수 있다.
일 실시예로서, 데이터 예측 장치(1000)는 제1데이터셋(31)과 생성자 신경망(2)에서 출력된 예측 데이터(33)를 이용하여 구분자 신경망(3)을 학습시킬 수 있다. 즉, 데이터 예측 장치(1000)는 구분자 신경망(3)에 제1데이터셋(31)과 예측 데이터(33)를 입력하고, 구분자 신경망(3)을 학습시킨 결과로서, 예측 데이터(33)가 실제 데이터인 제1데이터셋(31)과 구별되는지 여부에 관한 확률 값을 얻을 수 있다.
다른 실시예로서, 데이터 예측 장치(1000)는 제1데이터셋(31)을 이용하여 학습된 오토인코더(1)의 인코더(11)에서 출력된 데이터와, 제2데이터셋(32)을 이용하여 전이 학습 방식으로 학습된 생성자 신경망(2)의 인코더 신경망(21)에서 출력된 데이터를 이용하여 구분자 신경망(3)을 학습시킬 수 있다. 이 경우, 데이터 예측 장치(1000)는 구분자 신경망(3)에 오토인코더(1)의 인코더(11)에서 출력된 데이터와 생성자 신경망(2)의 인코더 신경망(21)에서 출력된 데이터를 입력하고, 구분자 신경망(3)을 학습시킨 결과로서, 생성자 신경망(2)에서 출력된 데이터가 오토인코더(1)의 인코더(11)에서 출력된 데이터와 구별되는지 여부에 관한 확률 값을 얻을 수 있다.
상기와 같이, 본 발명의 실시예에 따른 데이터 예측 장치(1000)는 생성적 대립 신경망(GAN)(10)에 기반하여 데이터 예측을 수행할 수 있고, 예측된 데이터가 실제와 구별되는지에 대한 정보를 제공해줄 수 있다. 또한, 데이터 예측 장치(1000)는 생성적 대립 신경망(GAN)(10)에 기반하여 데이터 예측을 수행하는 과정에서 생성자 신경망이 구분자 신경망에 의해 학습 속도가 느린 문제점을 해결하여 제대로 된 학습을 수행하도록 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 데이터 예측 장치의 구성도이다.
도 3을 참조하면, 본 발명의 실시예에 따라 데이터 예측 장치(1000)는 사용자 단말(20)로부터 수신되는 데이터 분석 요청을 처리하여, 그 결과를 제공한다.
데이터 예측 장치(1000)는 고정식 컴퓨팅 장치로서, 사용자 단말(20) 및 데이터 저장부(30)와 네트워크를 통해 연결된다. 데이터 예측 장치(1000)는 사용자 단말(10)로부터 수신되는 데이터 예측 요청에 대해, 데이터 저장부(30)에 저장되어 있는 데이터를 이용하여 데이터 예측을 위한 분석을 수행한다. 데이터 예측 장치(1000)는 통계 분석 및 인공지능 알고리즘을 실행 가능한 머신 러닝(Machine Learning) 전용 장치로 구현될 수 있다.
사용자 단말(20)은 예컨대, 개인용 데스크탑 PC와 같은 고정식 컴퓨팅 장치, 스마트 폰, 태블릿 PC, 랩톱 PC, PDA 등과 같은 이동식 컴퓨팅 장치 중 어느 하나일 수 있다. 사용자 단말(20)는 데이터 예측 장치(1000)로 데이터 저장부(30)에 저장된 데이터에 대한 데이터 분석을 요청하고, 데이터 예측 장치(1000)로부터 제공되는 데이터 분석 결과를 이용하여 의사 결정을 하는 관리자 또는 직원의 단말기로 구현될 수 있다.
데이터 저장부(30)는 데이터 예측 장치(1000)와 네트워크로 연결되어 있는 별도의 외부 장치 또는 DB 서버로 구현될 수 있고, 다양한 분야의 비즈니스 환경에서 발생되는 데이터를 저장할 수 있다.
이 때, 데이터 저장부(30)에 저장되는 데이터는 적어도 하나의 연속형 변수와 범주형 변수로 이루어진 데이터셋(data set)을 포함할 수 있다. 여기서, 연속형 변수 및 범주형 변수 각각은 데이터 분석 또는 예측을 위한 입력 변수로 사용될 수 있다.
또한, 데이터 저장부(30)에 저장되는 데이터는 입력 오류, 무응답 등 여러 가지 요인으로 인해 발생되는 결측치(missing value)를 포함할 수 있다.
데이터 예측 장치(1000)는 일정 주기 단위로 데이터 저장부(30)로부터 데이터를 전송받거나, 사용자 단말(20)로부터 요청이 발생할 때마다 데이터 저장부(30)로 필요한 데이터를 요청할 수도 있다.
데이터 예측 장치(1000)는 데이터 저장부(30)로부터 전송받은 데이터를 이용하여 데이터 예측을 위한 분석을 수행하고, 이에 따른 분석 결과를 사용자 단말(20)로 제공할 수 있다.
데이터 예측 장치(1000)는 데이터 분석 시 사용하는 연속형 변수 및 범주형 변수와 관련된 변수 정보, 데이터 예측을 위해 생성하는 분석 모델에 관한 정보, 및 분석 모델의 학습 결과에 기초하여 제공되는 결과 정보 등 데이터 분석과 관련된 모든 정보들을 저장할 수 있다.
일 실시예로서, 데이터 예측 장치(1000)는 사용자 단말(20)의 요청에 따라 데이터 저장부(30)로부터 제공된 데이터 및 전처리 과정을 통해 가공된 데이터를 이용하여 생성적 대립 신경망(GAN)을 학습시키고, 학습된 생성적 대립 신경망(GAN)에서 출력되는 예측 결과를 얻을 수 있다.
여기서, 데이터 예측 장치(1000)는 생성적 대립 신경망(GAN)을 학습시키는 과정에서, 오토인코더 구조를 기반으로 하는 생성자 신경망을 사전 학습시키고, 구분자 신경망과 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시킬 수 있다.
이 때, 생성자 신경망의 디코더 신경망은 사전 학습된 초기 상태로 고정한 상태에서 생성적 대립 신경망(GAN)을 학습시킬 수 있다.
상기와 같이 본 발명의 실시예에 따른 데이터 예측 장치(1000)의 구성에 의해, 생성적 대립 신경망(GAN)에 기반한 데이터 예측에 있어, 구분자 신경망에 비해 생성자 신경망의 학습 속도가 느린 문제를 해결하여 최적의 학습이 이루어지도록 할 수 있다.
도 4는 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다. 도 4에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(101), 버스(107), 네트워크 인터페이스(102), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램(105)을 로드(load)하는 메모리(103)와, 컴퓨터 프로그램(105)를 저장하는 스토리지(104)를 포함할 수 있다. 다만, 도 4에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 4에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(101)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 로직(또는 모듈)이 메모리(103) 상에 구현될 수 있다. 메모리(103)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(107)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(107)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(102)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 네트워크 인터페이스(102)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(104)는 하나 이상의 컴퓨터 프로그램(105)을 비임시적으로 저장할 수 있다. 스토리지(104)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(105)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 프로세서(101)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(105)은 인코더(11) 및 디코더(12)를 포함하는 오토인코더(1) 구조를 기반으로 하는 생성자 신경망(2)을 사전 학습시키는 동작, 및 구분자 신경망(3)과 사전 학습된 생성자 신경망(2)을 포함하여 구성되는 생성적 대립 신경망(GAN)(10)을 전이 학습 방식으로 학습시키는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다.
일 실시예로서, 구분자 신경망(3)과 사전 학습된 생성자 신경망(2)을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습 방식으로 학습시키는 동작은, 오토인코더(1)의 인코더(11)를 학습한 결과에 기반하여 생성자 신경망(2)을 학습시키는 동작을 포함할 수 있다.
일 실시예로서, 생성자 신경망(2)의 디코더 신경망(21)을 사전 학습된 초기 상태로 고정한 상태에서 생성적 대립 신경망(GAN)(10)을 학습시키는 동작은, 오토인코더(1)의 디코더(12)를 초기 상태로 고정하여 생성자 신경망(2)의 디코더 신경망(22)으로 사용하는 동작을 포함할 수 있다.
상기와 같이, 본 발명의 실시예에 따른 컴퓨팅 장치(100)에 의하면, 생성적 대립 신경망(GAN)에 기반한 데이터 예측에 있어, 구분자 신경망에 비해 생성자 신경망의 학습 속도가 느린 점을 해결하여 학습 속도의 차이를 줄임에 의해 학습 실패를 방지할 수 있다.
도 5 및 도 6은 본 발명의 다른 실시예에 따른 생성적 대립 신경망(GAN) 기반의 데이터 예측 방법을 설명하기 위한 순서도이다.
본 실시예에 따른 데이터 예측 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 데이터 예측 장치(1000)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 프로그램 개발 환경을 구비한 컴퓨팅 장치이거나, 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.
도 5 및 도 6을 참조하면, 먼저, 동작 S51에서, 인코더(11)와 디코더(12)를 포함하는 오토인코더(1) 구조를 기반으로 하는 생성자 신경망(2)이 사전 학습된다.
여기서, 동작 S51은, 원본 데이터(300) 중 사전 학습을 위한 제1데이터셋(31)을 이용하여 오토인코더(1)가 학습되는 동작 S511을 포함할 수 있다.
일 실시예로서, 동작 S511은, 제1데이터셋(31)의 범주형 변수와 연속형 변수에 각각에 대해 오토인코더(1)의 디코더 신경망(12)이 분리되어 학습되는 동작을 포함할 수 있다. 이 때, 디코더 신경망(12)의 각 레이어에 포함된 복수의 노드 각각은, 범주형 변수 및 연속형 변수 중 어느 하나의 타입에 대응하는 데이터를 입력 데이터로 처리할 수 있다.
다음으로, 동작 S52에서, 구분자 신경망(3)과 사전 학습된 생성자 신경망(2)을 포함하여 구성되는 생성적 대립 신경망(GAN)(10)이 전이 학습(transfer learning) 방식으로 학습된다. 이 때, 생성적 대립 신경망(GAN)(10) 중 학습된 생성자 신경망(2)으로부터 실제 데이터와 유사한 예측 데이터가 출력되고, 학습된 구분자 신경망(3)으로부터 예측 데이터가 실제 데이터와 구별되는지 여부에 관한 정보가 출력될 수 있다.
일 실시예로서, 동작 S52는, 제1데이터셋(31)과 다른 제2데이터셋(32)을 이용하여 오토인코더(1)의 인코더(11)를 학습한 결과에 기반하여 생성자 신경망(2)이 학습되는 동작 S521을 포함할 수 있다. 즉, 생성적 대립 신경망(GAN)(10)을 학습시키기 이전에, 제1데이터셋(31)을 이용하여 오토인코더(1)의 인코더(11)를 학습시키고, 사전 학습된 오토인코더(1)를 전이하여 생성자 신경망(2)을 구성할 수 있다.
또한, 동작 S52는, 오토인코더(1)의 디코더(12)를 초기 상태로 고정하여 생성자 신경망(2)의 디코더 신경망(22)으로 사용되는 동작 S522를 포함할 수 있다.
즉, 오토인코더(1)를 학습한 결과를 전이하여 생성자 신경망(2)을 구성함에 있어, 생성자 신경망(2)의 인코더 신경망(21)은 사전 학습된 오토인코더(1)의 인코더(11)를 초기값으로 사용하여 학습을 수행하고, 생성자 신경망(2)의 디코더 신경망(22)은 사전 학습된 오토인코더(1)의 디코더(12)를 초기 상태로 고정하여 사용함에 의해 학습을 수행하지 않을 수 있다.
상기와 같은 실시예에 따라, 생성적 대립 신경망(GAN)(10)에 기반한 데이터 예측에 있어, 생성자 신경망(2)과 구분자 신경망(3) 간의 학습 속도의 차이를 줄여 학습 실패를 방지하는 효과가 있다. 즉, 생성자 신경망(2)을 사전 학습시키는 과정을 추가함에 의해, 생성자 신경망(2)의 학습 속도를 개선하여 구분자 신경망(3)과 학습 속도에 있어 균형을 맞추어 학습의 정확도를 높일 수 있다.
도 7은 본 발명의 또 다른 실시예에 따른 생성적 대립 신경망(GAN) 기반의 데이터 예측 방법을 설명하기 위한 순서도이다. 본 실시예에 따른 데이터 예측 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 데이터 예측 장치(1000)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 프로그램 개발 환경을 구비한 컴퓨팅 장치이거나, 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.
도 7을 참조하면, 먼저, 동작 S71에서, 결측치가 포함되지 않은 제1데이터셋(31)을 이용하여 인코더(11) 및 디코더(12)를 포함하는 오토인코더(1) 구조를 기반으로 하는 생성자 신경망(2)이 사전 학습된다. 일 실시예로서, 동작 S71에 있어, 제1데이터셋(31)의 범주형 변수와 연속형 변수에 각각에 대해 오토인코더(1)의 디코더 신경망(12)이 분리되어 학습될 수 있다.
다음으로, 동작 S72에서, 결측치가 포함된 제2데이터셋(32)을 이용하여 구분자 신경망(3)과 사전 학습된 생성자 신경망(2)을 포함하여 구성되는 생성적 대립 신경망(GAN)(10)이 전이 학습 방식으로 학습된다. 이 때, 동작 S72는, 제2데이터셋(32)을 이용하여 오토인코더(1)의 인코더(11)가 학습된 결과에 기반하여 생성자 신경망(2)의 인코더 신경망(21)이 학습되는 동작과, 오토인코더(1)의 디코더(12)가 초기 상태로 고정되어 생성자 신경망(2)의 디코더 신경망(22)으로 사용되는 동작을 포함할 수 있다.
여기서, 제1데이터셋(31)은, 원본 데이터(300) 중 결측치가 포함되지 않은 데이터가 포함되고, 제2데이터셋(32)은, 원본 데이터 중 결측치가 포함된 데이터에서 결측치를 기 정의된 초기값으로 대체한 데이터가 포함될 수 있다. 이 때, 제2데이터셋(32)에 포함된 결측치가 연속형 변수인 경우, 결측치는 평균값으로 대체되고, 결측치가 범주형 변수인 경우, 결측치는 최빈값으로 대체될 수 있다.
상기와 같이 결측치를 포함한 데이터를 이용하여 생성적 대립 신경망(GAN)을 학습함에 있어, 결측치를 포함하지 않은 데이터를 이용하여 사전 학습된 오토인코더(1)를 생성자 신경망(2)에 적용하여 전이 학습을 수행하도록 함에 의해, 구분자 신경망(3)에 비해 느린 생성자 신경망(2)의 학습 속도를 높일 수 있다.
도 8은 본 발명의 또 다른 실시예에 따른 데이터 결측치 보정 방법을 설명하기 위한 순서도이다. 본 실시예에 따른 데이터 예측 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 데이터 예측 장치(1000)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 프로그램 개발 환경을 구비한 컴퓨팅 장치이거나, 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.
도 8을 참조하면, 먼저 동작 S81에서, 결측치가 포함되지 않은 제1데이터셋(31)과 결측치가 포함된 제2데이터셋(32)을 이용하여, 생성자 신경망(2)과 구분자 신경망(3)을 포함하여 구성되는 생성적 대립 신경망(GAN)(10)이 학습된다. 이 때, 동작 S81은, 제1데이터셋(31)을 이용하여 생성자 신경망(2)이 사전 학습되는 동작을 포함할 수 있다.
다음으로, 동작 S82에서, 학습된 생성적 대립 신경망(GAN)(10)의 생성자 신경망(2)에서 출력된 제2데이터셋(32)의 결측치의 보정값과, 학습된 생성적 대립 신경망(GAN)(10)의 구분자 신경망(3)에서 출력된 결측치의 보정값에 대한 신뢰도 점수와, 제1데이터셋(31)을 포함하는 보정후 데이터가 획득된다.
일 실시예로서, 동작 S82는, 생성자 신경망(2)의 학습 동안 제2데이터셋(32)의 결측치들이 업데이트되는 과정이 기 설정된 횟수만큼 반복됨에 의해 결측치의 보정값이 출력되는 동작을 포함할 수 있다.
또한, 동작 S82에 있어, 생성자 신경망(2)에서 출력되는 제2데이터셋(32)의 결측치의 보정값과 제1데이터셋(31)을 이용하여 구분자 신경망(3)이 학습되고, 학습된 구분자 신경망(3)으로부터 결측치의 보정값이 실제 데이터와 구별되는지 여부에 대한 확률 값이 출력될 수 있다. 이로부터 결측치의 보정 결과에 대한 신뢰도 점수(reliability score)가 계산될 수 있다.
예로서, 결측치의 보정 결과에 대한 신뢰도 점수는, 결측치가 없는 제1데이터셋(31)과 제2데이터셋(32)의 결측치의 보정값의 두 확률 분포 간 차이를 이용하여 계산될 수 있다.
일 실시예로서, 동작 S82는, 구분자 신경망(3)에서 출력된 결측치의 보정값에 대한 신뢰도 점수에 기초하여 구분자 신경망(3)의 추가 학습 여부가 결정될 수 있다. 즉, 결측치의 보정값에 대한 신뢰도 점수가 낮은 경우, 결측치의 보정값이 실제 데이터와 유사하지 않게 예측된 것으로 판단하여, 구분자 신경망(3)의 추가 학습을 수행할 수 있다. 반면, 결측치의 보정값에 대한 신뢰도 점수가 높은 경우, 결측치의 보정값이 실제 데이터와 유사하게 예측된 것으로 판단하여, 추가 학습을 수행하지 않을 수 있다.
상기와 같이, 본 발명의 실시예에 따른 데이터 결측치 보정 방법에 의하면, 생성적 대립 신경망(GAN)에 기반하여 결측치를 보정함에 있어, 보정된 데이터의 신뢰도를 평가하여 보정 중 발생하는 정보 손실 및 오염을 정량적으로 측정할 수 있다. 또한, 보정된 데이터의 신뢰도 평가에 의해, 최적의 학습을 통해 보다 정확한 데이터를 활용하여 데이터 분석이 이루어지도록 할 수 있다.
도 9는 본 발명의 몇몇 실시예에 따른 생성적 대립 신경망(GAN)에 기반하여 데이터 예측을 수행하는 전 과정을 도시한 순서도이다. 도9는 도 7과 도8을 참조하여 설명한 실시예와 관련하여, 결측치가 포함된 데이터를 이용하여 생성적 대립 신경망(GAN)을 학습하는 전 과정을 포함한다.
도 9를 참조하면, 동작 S91에서, 데이터 전처리를 통해 원본 데이터(300)로부터 제1데이터셋(31)과 제2데이터셋(32)이 추출된다.
이 때, 데이터 전처리는, 원본 데이터(300)에 포함된 연속형 변수에 대한 정규화 처리와, 범주형 변수에 대한 원-핫 인코딩(One-hot encoding) 처리를 포함할 수 있다. 여기서, 정규화 처리는, 연속형 변수에 해당하는 데이터를 평균이 0이고 분산이 1인 동일한 단위를 갖도록 변환하는 것이다. 정규화 처리를 통해 여러 개의 연속형 데이터들을 동일한 단위로 비교하는 것이 가능해진다.
원-핫 인코딩(One-hot encoding)은 범주형 변수를 이진 벡터로 표시하는 것으로, 가변수라 칭하기도 한다. 예로서, 원-핫 인코딩(One-hot encoding)은 범주형 변수를 정수인 1과 0의 이진형 벡터로 표시함에 있어, 해당되지 않는 항목은 False값인 0으로, 해당하는 항목은 True 값인 1로 표시하도록 한다.
일 실시예로서, 제1데이터셋(31)은 원본 데이터(300) 중 결측치가 포함되지 않은 데이터일 수 있고, 제2데이터셋(32)은 원본 데이터(300) 중 결측치가 포함된 데이터일 수 있다.
동작 S91에 있어, 제2데이터셋(32)은 데이터 전처리를 통해 결측치가 기 정의된 초기값으로 대체될 수 있다. 예로서, 결측치가 연속형 변수의 관측치에 해당하는 경우, 결측치는 평균값 또는 숫자 영(0)으로 대체될 수 있고, 결측치가 범주형 변수의 관측치에 해당하는 경우, 결측치는 최빈값으로 대체될 수 있다.
다음으로, 사전 학습 과정으로서, 동작 S92와 동작 S93이 수행된다. 동작 S92에서, 오토인코더(1)의 인코더(11)가 학습되고, 동작 S93에서, 오토인코더(1)의 디코더(12)가 학습된다. 이 때, 오토인코더(1)의 인코더(11) 및 디코더(12)는 업데이트 횟수가 기 설정된 최대 반복수에 도달할 때까지 학습이 반복적으로 수행될 수 있다.
다음으로, 생성적 대립 신경망(GAN)의 생성자 신경망(2)의 학습 과정으로서, 동작 S94와 동작 S93이 수행된다. 동작 S94에서, 동작 S92에서 학습된 오토인코더(1)의 인코더(11)의 학습 결과를 전이하여 생성자 신경망(2)의 인코더 신경망(21)이 학습된다. 이 때, 생성자 신경망(2)의 인코더 신경망(21)은 동작 S92에서 사전 학습된 인코더(11)를 초기값으로 설정하여 학습이 수행될 수 있다.
한편, 생성자 신경망(2)의 디코더 신경망(22)은 동작 S93에서 학습된 디코더(12)를 초기 상태로 고정하여 사용할 수 있다. 즉, 디코더 신경망(22)은 동작 S93에서 사전 학습된 디코더(12)를 그대로 사용하고, 추가 학습을 수행하지 않는다.
생성자 신경망(2)의 학습 과정으로서, 동작 S94와 동작 S93이 수행되면, 학습된 생성자 신경망(2)에서 제2데이터셋(32)에 대한 예측 데이터(33)가 출력된다. 여기서, 예측 데이터(33)는 제2데이터셋(32)의 결측치에 대한 보정값일 수 있다.
이 때, 생성자 신경망(2)을 학습 시, 생성자 신경망(2)의 가중치(weights)는 손실 에러(reconstruction error)를 감소시키는 방향으로 업데이트되고, 손실 에러가 임계치 미만일 경우, 아다마르 곱(Hadamard Product)을 이용하여 제2데이터셋(32)의 예측 데이터(33)가 업데이트된다. 이 때, 생성자 신경망(2)은 업데이트 횟수가 기 설정된 최대 반복수에 도달할 때까지 반복적으로 학습될 수 있다. 이와 같은 과정에 의해, 예측 데이터(33)에 해당하는 결측치의 보정값이 업데이트될 수 있다.
다음으로, 동작 S95에서, 동작 S94에 의해 생성자 신경망(2)의 인코더 신경망(21)에서 출력된 데이터와 동작 S92에 의해 오토인코더(1)의 인코더(11)에서 출력된 데이터를 이용하여 구분자 신경망(3)이 학습된다. 동작 S95에 있어, 구분자 신경망(3)을 학습 시, 구분자 신경망(3)의 가중치(weights)는 판별 에러(discriminator error)를 감소시키는 방향으로 업데이트되고, 이를 통해 생성자 신경망(2)의 인코더 신경망(21)에서 출력된 데이터가 오토인코더(1)의 인코더(11)에서 출력된 데이터와 구별되는지 여부에 대한 정보가 출력된다.
동작 S96에서는, 동작 S95에서 출력되는 정보를 이용하여 예측 데이터(33)에 대한 신뢰도 점수가 계산된다. 예로서, 예측 데이터(33)에 대한 신뢰도 점수는, 결측치가 없는 제1데이터셋(31)과 결측치의 보정값을 포함하는 예측 데이터(33)의 두 확률 분포 간 차이를 이용하여 계산될 수 있다.
마지막으로 동작 S70에서, 생성적 대립 신경망(GAN)의 학습에 의한 최종 결과로서, 예측 데이터(33)에 포함된 결측치의 보정값과, 신뢰도 점수, 및 정상 데이터인 제1데이터셋(31)이 획득된다.
이로부터, 생성적 대립 신경망(GAN)의 학습을 통해 획득된 최종 결과는 데이터 분석 시 활용될 수 있다.
도 10은 본 발명의 몇몇 실시예에 따른 사전 학습을 위한 오토인코더의 구조를 도시한 예이다. 도 10을 참조하면, 본 발명의 실시예에 따른 데이터 예측 장치(1000)는 사전 학습 과정으로서, 원본 데이터(300)에서 추출된 제1데이터셋(31)을 이용하여 오토인코더(1)를 학습시킬 수 있다. 여기서, 제1데이터셋(31)은 결측치가 포함되지 않은 데이터일 수 있다.
이 때, 제1데이터셋(31)의 추출 시, 원본 데이터(300)에 대한 전처리 과정으로서 연속형 변수에 대한 정규화 처리 및 범주형 변수에 대한 원-핫 인코딩(One-hot encoding) 처리가 수행될 수 있다.
오토인코더(1)는 제1데이터셋(31)의 차원을 축소시키는 인코더 신경망(11)과, 축소된 차원을 복구시키는 디코더 신경망(12)을 포함하여 구성될 수 있다.
도시된 예에서, 제1데이터셋(31)이 인코더 신경망(11)에 입력되면, 학습된 인코더 신경망(11)으로부터 차원이 축소된 데이터가 출력되고, 출력된 데이터는 잠재 레이어(latent layer)(81)를 통해 디코더 신경망(12)으로 입력될 수 있다.
디코더 신경망(12)은 잠재 레이어(81)와 출력 레이어(84)를 연결하는 복수의 레이어를 포함할 수 있다. 예로서, 디코더 신경망(12)은 변수의 타입이 범주형인 경우, 예컨대, 학습의 기본이 되는 덴스 레이어(dense layer)(821)와, 클래스 분류를 위해 추가되는 활성화 레이어(822) 등을 포함할 수 있다. 여기서, 활성화 레이어(822)는 클래스 분류를 위해 예컨대 시그모이드(sigmoid), 소프트맥스(sodtmax) 등의 활성화 함수를 사용할 수 있다.
일 실시예로서, 디코더 신경망(12)은 입력되는 데이터를 변수의 타입에 따라 분리하여 학습할 수 있다. 예로서, 변수의 타입을 범주형 변수(categorical variable)(82)와 연속형 변수(numerical variable)(83)로 구분하고, 각 타입의 변수에 대해 디코더 신경망(12)을 분리하여 학습시킬 수 있다.
일 실시예로서, 변수의 타입이 범주형 변수(82)인 경우, 디코더 신경망(12)을 구성하는 복수의 레이어 각각에 포함된 노드들 중 기 설정된 적어도 하나의 노드를 포함하는 제1노드 그룹에 의해 학습되고, 변수의 타입이 연속형 변수(83)인 경우, 복수의 레이어 각각에 포함된 노드들 중 제1노드 그룹에 속하지 않는 노드들을 포함하는 제2노드 그룹에 의해 학습될 수 있다.
이에 따라, 잠재 레이어(81)를 통해 입력된 범주형 변수(82)는 제1노드 그룹에 의한 학습을 통해 차원이 복구된 결과가 출력 레이어(84)로 출력될 수 있다. 마찬가지로, 잠재 레이어(81)를 통해 입력된 연속형 변수(83)는 제2노드 그룹에 의한 학습을 통해 차원이 복구된 결과가 출력 레이어(84)로 출력될 수 있다.
상기와 같이, 제1데이터셋을 이용하여 오토인코더(1)의 인코더 신경망(11)과 디코더 신경망(12)을 학습하는 과정은 신경망의 업데이트 횟수가 기 설정된 최대 반복수에 도달할 때까지 수행될 수 있다. 이로부터, 오토인코더 구조에 기반하여 생성적 대립 신경망(GAN)을 학습하기 위한 사전 학습이 완료될 수 있다.
도 11은 본 발명의 몇몇 실시예에 따른 생성적 대립 신경망(GAN) 중 생성자 신경망의 구조를 도시한 예이다.
도 11을 참조하면, 본 발명의 실시예에 따른 데이터 예측 장치(1000)는 생성적 대립 신경망(GAN)(10)의 학습 과정으로서, 원본 데이터(300)에서 추출된 제2데이터셋(32)을 이용하여 생성자 신경망(2)을 학습시킬 수 있다. 여기서, 제2데이터셋(32)은 결측치가 포함된 데이터일 수 있다.
이 때, 제2데이터셋(32)은 결측치가 포함된 데이터인 경우, 결측치를 기 정의된 초기값으로 대체하여 학습 데이터로 사용될 수 있다. 예로서, 결측치가 연속형 변수의 관측치에 해당하는 경우, 결측치는 평균값으로 대체되고, 결측치가 범주형 변수의 관측치체 해당하는 경우, 결측치는 최빈값으로 대체될 수 있다.
도시된 예에서, 초기의 생성자 신경망(2)은 제1데이터셋(31)을 이용하여 사전 학습된 오코인코더(1)의 인코더 신경망(11)을 전이하는 방식으로 구성될 수 있다. 즉, 생성자 신경망(2)의 학습은 인코더 신경망(21)에 한정되어 적용되고, 인코더 신경망(21)은 사전 학습된 인코더 신경망(11)을 초기값으로 설정하여 학습될 수 있다. 이 때, 디코더 신경망(22)은 학습 과정 없이, 사전 학습된 디코더 신경망(12)을 초기 상태로 고정하여 사용될 수 있다. 이와 같이, 본 발명의 실시예에 따른 데이터 예측 장치(1000)는 인코더 신경망(21) 만을 학습시키고, 디코더 신경망(22)은 사전 학습된 초기 상태로 고정함에 의해, 학습 대상 차원을 축소하여 학습 효율을 높일 수 있다.
일 실시예로서, 생성자 신경망(2)의 가중치(weights)는 손실 에러(reconstruction error)를 감소기키는 방향으로 업데이트될 수 있다. 이 때, 상기 손실 에러가 임계치 미만일 경우, 아다마르 곱(Hadamard Product)을 이용하여 제2데이터셋(32)에 대한 예측 데이터(33)가 업데이트될 수 있다. 아다마르 곱(Hadamard Product)은 동일한 차원의 두 행렬의 각 성분을 곱하는 연산으로, 대용량 데이터 분석에 효과적인 연산 기법이다.
예측 데이터(33)는 제2데이터셋(32)을 이용하여 기 설정된 최대 반복수 만큼 생성자 신경망(2)의 학습이 이루어진 후 출력 레이어(92)를 통해 출력될 수 있다. 여기서, 예측 데이터(33)는 제2데이터셋(32)에 포함된 결측치에 대한 보정값일 수 있다.
상기와 같은 본 발명의 실시예에 따라, 제2데이터셋(32)은 생성자 신경망(2)의 인코더 신경망(21)로 입력되어 학습되고, 학습된 인코더 신경망(21)에서 차원이 축소된 데이터가 출력될 수 있다. 또한, 출력된 데이터는 잠재 레이어(91)를 통해 디코더 신경망(22)으로 입력되고, 디코더 신경망(22)으로부터 제2데이터셋(32)에 대한 예측 데이터(33)가 출력 레이어(92)를 통해 출력될 수 있다.
이와 같이, 사전 학습된 오토인코더(1)의 인코더(11)에 기반하여 생성자 신경망(2)에 대한 전이 학습이 완료되면, 학습된 생성자 신경망(2)에서 결측치를 포함하는 제2데이터셋(32)에 대한 예측 데이터(33)로서 결측치의 보정값이 출력될 수 있다.
도 12는 본 발명의 몇몇 실시예에 따른 생성적 대립 신경망(GAN)의 전체 학습 구조를 도시한 예이다.
도 12를 참조하면, 본 발명의 실시예에 따른 데이터 예측 장치(1000)는 생성적 대립 신경망(GAN)(10)의 학습 과정으로서, 생성자 신경망(2)에서 출력된 예측 데이터(33)와 제1데이터셋(31)을 이용하여 구분자 신경망(3)을 학습시킬 수 있다. 여기서, 예측 데이터(33)는 결측치에 대한 보정값일 수 있다.
도시된 예에서, 생성자 신경망(2)에서 출력되는 제2데이터셋(32)의 결측치의 보정값과 제1데이터셋(31)을 이용하여 구분자 신경망(3)이 학습되고, 학습된 구분자 신경망(3)으로부터 결측치의 보정값이 실제 데이터와 구별되는지 여부에 대한 확률 값이 출력(93)될 수 있다. 이로부터 결측치의 보정 결과에 대한 신뢰도 점수(reliability score)가 계산될 수 있다.
예로서, 결측치의 보정 결과에 대한 신뢰도 점수는, 결측치가 없는 제1데이터셋(31)과 제2데이터셋(32)의 결측치의 보정값의 두 확률 분포 간 차이를 이용하여 계산될 수 있다.
일 실시예로서, 구분자 신경망(3)에서 출력된 결측치의 보정값에 대한 신뢰도 점수에 기초하여 구분자 신경망(3)의 추가 학습 여부가 결정될 수 있다. 즉, 결측치의 보정값에 대한 신뢰도 점수가 낮은 경우, 결측치의 보정값이 실제 데이터와 유사하지 않게 예측된 것으로 판단되어, 구분자 신경망(3)의 추가 학습이 수행될 수 있다. 반면, 결측치의 보정값에 대한 신뢰도 점수가 높은 경우, 결측치의 보정값이 실제 데이터와 유사하게 예측된 것으로 판단되어, 추가 학습이 수행되지 않을 수 있다.
상기와 같이, 본 발명의 실시예에 따른 방법에 의하면, 생성적 대립 신경망(GAN)(10)에 기반하여 결측치를 보정함에 있어, 생성자 신경망(2)을 오토인코더(1)의 인코더(11)에 기반하여 사전 학습 및 전이 학습을 수행함에 의해 생성자 신경망(2)과 구분자 신경망(3) 간의 학습 속도의 차이를 줄일 수 있다. 이에 따라, 생성적 대립 신경망(GAN)(10)의 학습이 제대로 이루어져 신뢰할 만한 결측치의 보정 결과를 얻을 수 있다.
도 13은 본 발명의 몇몇 실시예에 따른 생성적 대립 신경망(GAN)의 전체 학습 구조를 도시한 예이다. 도 13을 참조하면, 본 발명의 실시예에 따른 데이터 예측 장치(1000)는 생성적 대립 신경망(GAN)(10)의 학습 과정으로서, 생성자 신경망(2)의 인코더 신경망(22)에서 출력된 데이터와 오토인코더(1)의 인코더(11)에서 출력된 데이터를 이용하여 구분자 신경망(3)을 학습시킬 수 있다.
도시된 예에서, 생성자 신경망(2)의 인코더 신경망(22)에서 출력된 데이터와 오토인코더(1)의 인코더(11)에서 출력된 데이터가 잠재 레이어(91, 81)를 통해 구분자 신경망(3)으로 입력되고, 구분자 신경망(3)을 학습시킨 결과로서 생성자 신경망(2)의 인코더 신경망(21)에서 출력된 데이터가 오토인코더(1)의 인코더(11)에서 출력된 데이터와 구별되는지 여부에 대한 확률 값이 출력(93)될 수 있다.
일 실시예로서, 구분자 신경망(3)의 학습 결과로부터 생성자 신경망(2)의 학습을 통해 출력되는 결과에 대한 신뢰도 점수(reliability score)가 계산될 수 있다. 예로서, 신뢰도 점수는, 결측치가 없는 제1데이터셋(31)를 이용하여 학습된 오토인코더(1)의 인코더(11)에서 출력된 데이터와 제2데이터셋(32)를 이용하여 학습된 생성자 신경망(2)의 인코더 신경망(22)에서 출력된 데이터의 두 확률 분포 간 차이를 이용하여 계산될 수 있다.
일 실시예로서, 구분자 신경망(3)에서 출력된 신뢰도 점수에 기초하여 구분자 신경망(3)의 추가 학습 여부가 결정될 수 있다. 즉, 신뢰도 점수가 낮은 경우, 생성자 신경망(2)에서 출력되는 결과 데이터가 실제 데이터와 유사하지 않게 예측된 것으로 판단되어, 구분자 신경망(3)의 추가 학습이 수행될 수 있다. 반면, 신뢰도 점수가 높은 경우, 생성자 신경망(2)에서 출력되는 결과 데이터가 실제 데이터와 유사하게 예측된 것으로 판단되어, 추가 학습이 수행되지 않을 수 있다.
상기와 같이, 본 발명의 실시예에 따른 방법에 의하면, 생성적 대립 신경망(GAN)(10)에 기반하여 데이터를 예측함에 있어, 생성자 신경망(2)을 오토인코더(1)의 인코더(11)에 기반하여 사전 학습 및 전이 학습을 수행함에 의해 생성자 신경망(2)과 구분자 신경망(3) 간의 학습 속도의 차이를 줄일 수 있다. 이에 따라, 생성적 대립 신경망(GAN)(10)의 학습이 제대로 이루어져 신뢰할 만한 결측치의 보정 결과를 얻을 수 있다.
도 14 및 도 15는 본 발명의 몇몇 실시예에 따른 결측치를 포함하는 데이터셋과 생성적 대립 신경망(GAN)에 기반하여 결측치가 보정된 데이터셋의 예이다. 도 14를 참조하면, 본 발명의 실시예에 따른 데이터 예측 장치(1000)에 의하면, 결측치를 포함하고 있는 데이터셋(321)에 대해 사전 학습된 오토인코더(1)의 인코더(11)를 생성자 신경망(2)으로 이용하는 생성적 대립 신경망(GAN)(10)의 학습을 수행함에 의해, 결측치가 보정된 데이터셋(331)을 얻을 수 있다.
이 때, 생성적 대립 신경망(GAN)(10)의 구분자 신경망(3)의 학습 결과로부터 데이터셋(331)에 포함된 결측치의 보정값들이 실제 데이터와 유사하게 예측된 것인지에 관한 신뢰도 점수가 계산될 수 있다. 즉, 구분자 신경망(3)의 학습 결과로부터 얻어지는 신뢰도 점수가 높은 경우, 데이터셋(331)에 포함된 결측치의 보정값들이 실제 데이터와 유사하게 예측된 것으로 판단할 수 있다.
지금까지 도 1 내지 도 15를 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (19)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계; 및
    구분자(Discriminator) 신경망과 상기 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계를 포함하되,
    상기 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계는,
    상기 생성자 신경망의 디코더 신경망을 상기 사전 학습된 초기 상태로 고정한 상태에서 상기 생성적 대립 신경망(GAN)을 학습시키는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  2. 제 1항에 있어서,
    상기 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계는,
    원본 데이터 중 사전 학습을 위한 제1데이터셋을 이용하여 상기 오토인코더를 학습시키는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  3. 제2 항에 있어서,
    상기 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계는,
    범주형 변수와 연속형 변수에 각각에 대해 상기 오토인코더의 디코더 신경망을 분리하여 학습시키는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  4. 제3 항에 있어서,
    상기 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계는,
    상기 디코더 신경망의 각 레이어에 포함된 복수의 노드 각각에 있어, 상기 범주형 변수 및 상기 연속형 변수 중 어느 하나의 타입에 대응하는 데이터를 입력 데이터로 처리하는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  5. 제2 항에 있어서,
    상기 구분자(Discriminator) 신경망과 상기 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계는,
    상기 제1데이터셋과 다른 제2데이터셋을 이용하여 상기 오토인코더의 인코더를 학습한 결과에 기반하여 상기 생성자 신경망을 학습시키는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  6. 제1 항에 있어서,
    상기 생성자 신경망의 디코더 신경망을 상기 사전 학습된 초기 상태로 고정한 상태에서 상기 생성적 대립 신경망(GAN)을 학습시키는 단계는,
    상기 오토인코더의 디코더를 초기 상태로 고정하여 상기 생성자 신경망의 디코더 신경망으로 사용하는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  7. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    결측치가 포함되지 않은 제1데이터셋을 이용하여 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계; 및
    결측치가 포함된 제2데이터셋을 이용하여 구분자(Discriminator) 신경망과 상기 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계를 포함하되,
    상기 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계는,
    상기 생성자 신경망의 디코더 신경망을 상기 사전 학습된 초기 상태로 고정한 상태에서 상기 생성적 대립 신경망(GAN)을 학습시키는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  8. 제7 항에 있어서,
    상기 제1데이터셋으로서, 원본 데이터 중 결측치가 포함되지 않은 데이터가 포함되고,
    상기 제2데이터셋으로서, 상기 원본 데이터 중 결측치가 포함된 데이터에서 상기 결측치를 기 정의된 초기값으로 대체한 데이터가 포함되는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  9. 제8 항에 있어서,
    상기 제2데이터셋에 포함된 결측치가 연속형 변수인 경우, 상기 결측치는 평균값으로 대체되고, 상기 결측치가 범주형 변수인 경우, 상기 결측치는 최빈값으로 대체되는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  10. 제7 항에 있어서,
    상기 결측치가 포함되지 않은 제1데이터셋을 이용하여 상기 인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 단계는,
    상기 제1데이터셋의 범주형 변수와 연속형 변수에 각각에 대해 상기 오토인코더의 디코더 신경망을 분리하여 학습시키는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  11. 제7 항에 있어서,
    상기 결측치가 포함된 제2데이터셋을 이용하여 상기 구분자(Discriminator) 신경망과 상기 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 단계는,
    상기 제2데이터셋을 이용하여 상기 오토인코더의 인코더를 학습한 결과에 기반하여 상기 생성자 신경망을 학습시키는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  12. 제7 항에 있어서,
    상기 생성자 신경망의 디코더 신경망을 상기 사전 학습된 초기 상태로 고정한 상태에서 상기 생성적 대립 신경망(GAN)을 학습시키는 단계는,
    상기 오토인코더의 디코더를 초기 상태로 고정하여 상기 생성자 신경망의 디코더 신경망으로 사용하는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  13. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    결측치가 포함되지 않은 제1데이터셋과 결측치가 포함된 제2데이터셋을 이용하여, 생성자(Generator) 신경망과 구분자(Discriminator) 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 학습시키는 단계; 및
    상기 학습된 생성적 대립 신경망(GAN)의 생성자 신경망에서 출력된 상기 제2데이터셋의 결측치의 보정값과, 상기 학습된 생성적 대립 신경망(GAN)의 구분자 신경망에서 출력된 상기 결측치의 보정값에 대한 신뢰도 점수와, 상기 제1데이터셋을 포함하는 보정후 데이터를 얻는 단계를 포함하는,
    데이터 결측치 보정 방법.
  14. 제13 항에 있어서,
    상기 결측치가 포함되지 않은 제1데이터셋과 결측치가 포함된 제2데이터셋을 이용하여, 생성자(Generator) 신경망과 구분자(Discriminator) 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 학습시키는 단계는,
    상기 제1데이터셋을 이용하여 상기 생성자 신경망을 사전 학습시키는 단계를 포함하는,
    생성적 대립 신경망(GAN) 기반의 데이터 예측 방법.
  15. 제13 항에 있어서,
    상기 학습된 생성적 대립 신경망(GAN)의 생성자 신경망에서 출력된 상기 제2데이터셋의 결측치의 보정값과, 상기 학습된 생성적 대립 신경망(GAN)의 구분자 신경망에서 출력된 상기 결측치의 보정값에 대한 신뢰도 점수와, 상기 제1데이터셋을 포함하는 보정후 데이터를 얻는 단계는,
    상기 생성자 신경망의 학습 동안 상기 제2데이터셋의 결측치들을 업데이트하는 과정을 기 설정된 횟수만큼 반복함에 의해 상기 결측치의 보정값이 출력되는 단계를 포함하는,
    데이터 결측치 보정 방법.
  16. 제13 항에 있어서,
    상기 학습된 생성적 대립 신경망(GAN)의 생성자 신경망에서 출력된 상기 제2데이터셋의 결측치의 보정값과, 상기 학습된 생성적 대립 신경망(GAN)의 구분자 신경망에서 출력된 상기 결측치의 보정값에 대한 신뢰도 점수와, 상기 제1데이터셋을 포함하는 보정후 데이터를 얻는 단계는,
    상기 출력된 상기 결측치의 보정값에 대한 신뢰도 점수에 기초하여 상기 구분자 신경망의 추가 학습 여부를 결정하는 단계를 포함하는,
    데이터 결측치 보정 방법.
  17. 하나 이상의 프로세서;
    외부장치와 통신하는 통신 인터페이스;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    인코더 및 디코더를 포함하는 오토인코더(auto encoder) 구조를 기반으로 하는 생성자(Generator) 신경망을 사전 학습(pre-training) 시키는 동작, 및
    구분자(Discriminator) 신경망과 상기 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하고,
    상기 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 동작은,
    상기 생성자 신경망의 디코더 신경망을 상기 사전 학습된 초기 상태로 고정한 상태에서 상기 생성적 대립 신경망(GAN)을 학습시키는 동작을 포함하는,
    데이터 예측 장치.
  18. 제17 항에 있어서,
    상기 구분자(Discriminator) 신경망과 상기 사전 학습된 생성자 신경망을 포함하여 구성되는 생성적 대립 신경망(GAN)을 전이 학습(transfer learning) 방식으로 학습시키는 동작은,
    상기 오토인코더의 인코더를 학습한 결과에 기반하여 상기 생성자 신경망을 학습시키는 동작을 포함하는,
    데이터 예측 장치.
  19. 제17 항에 있어서,
    상기 생성자 신경망의 디코더 신경망을 상기 사전 학습된 초기 상태로 고정한 상태에서 상기 생성적 대립 신경망(GAN)을 학습시키는 동작은,
    상기 오토인코더의 디코더를 초기 상태로 고정하여 상기 생성자 신경망의 디코더 신경망으로 사용하는 동작을 포함하는,
    데이터 예측 장치.

KR1020200121279A 2020-09-21 2020-09-21 생성적 대립 신경망(gan) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치 KR20220038907A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200121279A KR20220038907A (ko) 2020-09-21 2020-09-21 생성적 대립 신경망(gan) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치
US17/077,077 US20220092411A1 (en) 2020-09-21 2020-10-22 Data prediction method based on generative adversarial network and apparatus implementing the same method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200121279A KR20220038907A (ko) 2020-09-21 2020-09-21 생성적 대립 신경망(gan) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치

Publications (1)

Publication Number Publication Date
KR20220038907A true KR20220038907A (ko) 2022-03-29

Family

ID=80740585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200121279A KR20220038907A (ko) 2020-09-21 2020-09-21 생성적 대립 신경망(gan) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치

Country Status (2)

Country Link
US (1) US20220092411A1 (ko)
KR (1) KR20220038907A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115115102A (zh) * 2022-06-21 2022-09-27 南通大学 一种基于bp神经网络和条件生成对抗网络的汽油辛烷值损失预测及优化方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201718756D0 (en) * 2017-11-13 2017-12-27 Cambridge Bio-Augmentation Systems Ltd Neural interface
US20220405386A1 (en) * 2021-06-18 2022-12-22 EMC IP Holding Company LLC Privacy preserving ensemble learning as a service
US20230146676A1 (en) * 2021-11-05 2023-05-11 Lemon Inc. Portrait stylization framework to control the similarity between stylized portraits and original photo
CN114925808B (zh) * 2022-04-15 2023-10-10 北京理工大学 一种基于云网端资源中不完整时间序列的异常检测方法
CN116977667B (zh) * 2023-08-01 2024-01-26 中交第二公路勘察设计研究院有限公司 一种基于改进gain的隧道变形数据填补方法
CN116776228B (zh) * 2023-08-17 2023-10-20 合肥工业大学 一种电网时序数据解耦自监督预训练方法与系统
CN117113359B (zh) * 2023-09-05 2024-03-19 四川大学 一种基于对抗迁移学习的预训练漏洞修复方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200052439A (ko) 2018-10-29 2020-05-15 삼성에스디에스 주식회사 딥러닝 모델의 최적화 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10388002B2 (en) * 2017-12-27 2019-08-20 Facebook, Inc. Automatic image correction using machine learning
US20190258953A1 (en) * 2018-01-23 2019-08-22 Ulrich Lang Method and system for determining policies, rules, and agent characteristics, for automating agents, and protection
US20200242511A1 (en) * 2019-01-30 2020-07-30 Oracle International Corporation Dynamic Data Selection for a Machine Learning Model

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200052439A (ko) 2018-10-29 2020-05-15 삼성에스디에스 주식회사 딥러닝 모델의 최적화 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Unbalanced GANs: Pre-training the Generator of Generative Adversarial Network using Variational Autoencoder", https://arxiv.org/abs/2002.02112, (2020.02.06)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115115102A (zh) * 2022-06-21 2022-09-27 南通大学 一种基于bp神经网络和条件生成对抗网络的汽油辛烷值损失预测及优化方法

Also Published As

Publication number Publication date
US20220092411A1 (en) 2022-03-24

Similar Documents

Publication Publication Date Title
KR20220038907A (ko) 생성적 대립 신경망(gan) 기반의 데이터 예측 방법, 그리고 이를 구현하기 위한 장치
US12001954B2 (en) Method of performing learning of deep neural network and apparatus thereof
JP6182242B1 (ja) データのラベリングモデルに係る機械学習方法、コンピュータおよびプログラム
US20190164057A1 (en) Mapping and quantification of influence of neural network features for explainable artificial intelligence
US20180018555A1 (en) System and method for building artificial neural network architectures
US20230196202A1 (en) System and method for automatic building of learning machines using learning machines
US12015526B2 (en) Mixed-precision neural networks
US20230108920A1 (en) System and method for providing robust artificial intelligence inference in edge computing devices
US9536206B2 (en) Method and apparatus for improving resilience in customized program learning network computational environments
KR20210068707A (ko) 신경망을 학습시키는 방법
CN112966754B (zh) 样本筛选方法、样本筛选装置及终端设备
JP2016218513A (ja) ニューラルネットワーク及びそのためのコンピュータプログラム
CN110781686A (zh) 一种语句相似度计算方法、装置及计算机设备
CN113434683A (zh) 文本分类方法、装置、介质及电子设备
JP2023552048A (ja) ハードウェアアクセラレータのためのニューラルアーキテクチャスケーリング
CN117172256B (zh) 基于模块化设置的实验室管理方法及系统
KR20220155785A (ko) 챗봇 운영 방법 및 장치
US11688175B2 (en) Methods and systems for the automated quality assurance of annotated images
CN116468105A (zh) 一种自适应域外数据集的分类模型训练方法和装置
CN108460453B (zh) 一种用于ctc训练的数据处理方法、装置及系统
US20140250034A1 (en) Method and apparatus for improving resilience in customized program learning network computational environments
WO2022162839A1 (ja) 学習装置、学習方法、及び、記録媒体
JP2023046213A (ja) 破滅的忘却の発生を抑えつつ、転移学習を行う方法、情報処理装置及びプログラム
CN113627538A (zh) 训练非对称生成对抗网络产生图像的方法及电子装置
US20240290065A1 (en) Method for multimodal embedding and system therefor