KR20210107261A - 잠재 벡터를 이용하여 군집화를 수행하는 방법 및 장치 - Google Patents

잠재 벡터를 이용하여 군집화를 수행하는 방법 및 장치 Download PDF

Info

Publication number
KR20210107261A
KR20210107261A KR1020200021994A KR20200021994A KR20210107261A KR 20210107261 A KR20210107261 A KR 20210107261A KR 1020200021994 A KR1020200021994 A KR 1020200021994A KR 20200021994 A KR20200021994 A KR 20200021994A KR 20210107261 A KR20210107261 A KR 20210107261A
Authority
KR
South Korea
Prior art keywords
learning model
latent vector
latent
clustering
learning
Prior art date
Application number
KR1020200021994A
Other languages
English (en)
Other versions
KR102432854B1 (ko
Inventor
황혜수
천상진
Original Assignee
서울시립대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울시립대학교 산학협력단 filed Critical 서울시립대학교 산학협력단
Priority to KR1020200021994A priority Critical patent/KR102432854B1/ko
Publication of KR20210107261A publication Critical patent/KR20210107261A/ko
Application granted granted Critical
Publication of KR102432854B1 publication Critical patent/KR102432854B1/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

잠재 벡터를 이용하여 군집화를 수행하는 방법은 오토인코더(Autoencoder) 기반의 제 1 학습 모델 및 제 2 학습 모델을 생성하는 단계, 기수집된 학습 데이터를 상기 제 1 학습 모델 및 상기 제 2 학습 모델 각각에 입력하여 상기 제 1 학습 모델 및 상기 제 2 학습 모델을 학습시키는 단계, 입력 데이터를 상기 제 1 학습 모델 중 적어도 일부 및 상기 제 2 학습 모델 중 적어도 일부에 입력하여 잠재 벡터를 각각 도출하는 단계, 상기 각각 도출된 잠재 벡터를 게이트층(Gate Layer)에 기초하여 통합하는 단계 및 상기 통합된 잠재 벡터에 기초하여 군집화를 수행하는 단계를 포함한다.

Description

잠재 벡터를 이용하여 군집화를 수행하는 방법 및 장치{METHOD AND APPARATUS FOR CLUSTERING DATA BY USING LATENT VECTOR}
본 발명은 잠재 벡터를 이용하여 군집화를 수행하는 방법, 장치 및 컴퓨터 프로그램에 관한 것이다.
최근 딥러닝을 이용하여 군집화(Clustering)의 성능을 높이려는 연구가 활발하게 진행되고 있다. DEC(Deep Embedded Clustering)는 원본 데이터를 그대로 이용하여 군집화를 하는 것이 아닌, 원본 데이터의 차원보다 작은 차원을 갖는 특징 공간(feature space)에서 데이터를 잠재 벡터(latent vector)로 나타내고, 이를 군집화하는 방법이다.
DEC는 주어진 데이터를 잠재 벡터로 변환하기 위해 특정 구조의 오토인코더를 사용한다. 이 때, 주어진 실험 데이터 집합에 적합한 구조의 오토인코더를 이용하여 고품질의 잠재 벡터를 생성하는 것은 군집화 성능을 향상시키는데 매우 중요하다. 이는, 실험 데이터 집합에서 최적의 잠재 벡터를 생성하는 오토인코더의 구조가 다름에 따라, 군집화의 성능이 많이 달라질 수 있기 때문이다.
선행기술문헌: 한국공개특허 제2016-0151940호
오토인코더 기반의 제 1 학습 모델 및 제 2 학습 모델을 생성하고, 기수집된 학습 데이터를 제 1 학습 모델 및 제 2 학습 모델 각각에 입력하여 제 1 학습 모델 및 제 2 학습 모델의 학습을 통해 도출된 잠재 벡터를 이용하여 군집화를 수행하도록 하는 방법, 장치 및 컴퓨터 프로그램을 제공하고자 한다.
입력 데이터를 제 1 학습 모델 중 적어도 일부 및 제 2 학습 모델 중 적어도 일부에 입력하여 잠재 벡터를 각각 도출하고, 각각 도출된 잠재 벡터를 게이트층에 기초하여 통합시켜, 통합된 잠재 벡터에 기초하여 군집화를 수행하도록 하는 방법, 장치 및 컴퓨터 프로그램을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 오토인코더(Autoencoder) 기반의 제 1 학습 모델 및 제 2 학습 모델을 생성하는 단계, 기수집된 학습 데이터를 상기 제 1 학습 모델 및 상기 제 2 학습 모델 각각에 입력하여 상기 제 1 학습 모델 및 상기 제 2 학습 모델을 학습시키는 단계, 입력 데이터를 상기 제 1 학습 모델 중 적어도 일부 및 상기 제 2 학습 모델 중 적어도 일부에 입력하여 잠재 벡터를 각각 도출하는 단계, 상기 각각 도출된 잠재 벡터를 게이트층(Gate Layer)에 기초하여 통합하는 단계 및 상기 통합된 잠재 벡터에 기초하여 군집화를 수행하는 단계를 포함하는 군집화 수행 방법을 제공할 수 있다.
본 발명의 다른 실시예는, 오토인코더(Autoencoder) 기반의 제 1 학습 모델 중 적어도 일부, 상기 오토인코더 기반의 제 2 학습 모델 중 적어도 일부 및 상기 제 1 학습 모델 중 적어도 일부로부터 도출된 제 1 잠재 벡터 및 상기 제 2 학습 모델 중 적어도 일부로부터 도출된 제 2 잠재 벡터를 통합하는 게이트층(Gate Layer)을 포함하는 통합 잠재 벡터 생성 모델을 생성하는 모델 생성부, 입력 데이터를 상기 제 1 학습 모델 중 적어도 일부 및 상기 제 2 학습 모델 중 적어도 일부에 입력하여 잠재 벡터를 각각 도출하는 잠재 벡터 도출부, 상기 각각 도출된 잠재 벡터를 상기 게이트층에 기초하여 통합하는 잠재 벡터 통합부 및 상기 통합된 잠재 벡터에 기초하여 군집화를 수행하는 군집화 수행부를 포함하는 군집화 수행 장치를 제공할 수 있다.
본 발명의 또 다른 실시예는, 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 오토인코더(Autoencoder) 기반의 제 1 학습 모델 및 제 2 학습 모델을 생성하고, 기수집된 학습 데이터를 상기 제 1 학습 모델 및 상기 제 2 학습 모델 각각에 입력하여 상기 제 1 학습 모델 및 상기 제 2 학습 모델을 학습하고, 입력 데이터를 상기 제 1 학습 모델 중 적어도 일부 및 상기 제 2 학습 모델 중 적어도 일부에 입력하여 잠재 벡터를 각각 도출하고, 상기 각각 도출된 잠재 벡터를 게이트층(Gate Layer)에 기초하여 통합하고, 상기 통합된 잠재 벡터에 기초하여 군집화를 수행하도록 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 다양한 구조의 오토인코더 기반의 적어도 하나의 학습 모델을 생성하고, 적어도 하나의 학습 모델을 통해 최적의 잠재 벡터를 도출하도록 하는 방법 및 장치를 제공할 수 있다.
잠재 벡터들을 게이트층을 기반으로 통합시키고, 통합 잠재 벡터를 이용하여 군집화를 수행하도록 하는 방법 및 장치를 제공할 수 있다.
최적의 오토인코더를 이용하여 잠재 벡터를 도출함으로써, 군집화의 성능을 향상시키도록 하는 방법 및 장치를 제공할 수 있다.
신경망 모델의 최종 예측 결과를 통합시키는 것이 아닌, 차원이 축소된 복수의 잠재 벡터를 이용하여 통합시킴으로써, 원본 데이터에 생성한 잠재 벡터를 이용하는 다른 도메인에서도 적용 가능한 방법 및 장치를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 군집화 수행 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 제 1 학습 모델 및 제 2 학습 모델을 도시한 예시적인 도면이다.
도 3은 본 발명의 일 실시예에 따른 통합 잠재 벡터를 이용하여 군집화를 수행하는 과정을 설명하기 위한 예시적인 도면이다.
도 4a 내지 도 4d는 본 발명의 성능을 측정하기 위한 실험 결과를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 군집화 수행 장치에서 잠재 벡터를 이용하여 군집화를 수행하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 군집화 수행 장치의 구성도이다. 도 1을 참조하면, 군집화 수행 장치(100)는 모델 생성부(110), 학습부(120), 잠재 벡터 도출부(130), 잠재 벡터 통합부(140) 및 군집화 수행부(150)를 포함할 수 있다.
모델 생성부(110)는 오토인코더(Autoencoder) 기반의 제 1 학습 모델 및 제 2 학습 모델을 생성할 수 있다. 모델 생성부(110)는 2개 이상의 오토인코더 기반의 학습 모델을 생성할 수도 있다.
여기서, 오토인코더란 입력 데이터를 은닉층(Hidden Layer)에 통과시켜 차원을 축소시키고, 이를 다시 은닉층을 통과시킴으로써, 원본 입력 데이터를 생성하도록 하는 비지도 학습 기반 신경망을 말한다.
학습부(120)는 기수집된 학습 데이터를 제 1 학습 모델 및 제 2 학습 모델 각각에 입력하여 제 1 학습 모델 및 제 2 학습 모델을 학습시킬 수 있다. 오토인코더 기반의 제 1 학습 모델 및 제 2 학습 모델을 이용하여 학습하는 과정에 대해서는 도 2를 통해 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 제 1 학습 모델 및 제 2 학습 모델을 도시한 예시적인 도면이다. 도 2를 참조하면, 모델 생성부(110)는 오토인코더 기반의 제 1 학습 모델(210)을 생성하고, 오토인코더 기반의 제 2 학습 모델(220)을 생성할 수 있다.
여기서, 제 1 학습 모델(210) 및 제 2 학습 모델(220)은 인코더층(211, 221)의 노드 개수 및 디코더층(212, 222)의 노드 개수가 서로 다르게 구성될 수 있다. 예를 들어, 제 1 학습 모델(210)의 인코더층(211)은 '500-500-2000'의 노드로 구성되고, 디코더층(212)은 '2000-500-500'의 노드로 구성될 수 있다. 이에 반해, 제 2 학습 모델(220)의 인코더층(221)은 '150-150-500'의 노드로 구성되고, 디코더층(222)은 '500-150-150'의 노드로 구성될 수 있다.
학습부(120)는 군집화에 사용할 초기 잠재 벡터를 생성하기 위해 기수집된 학습 데이터(200)를 제 1 학습 모델(210) 및 제 2 학습 모델(220) 각각에 입력하여 제 1 학습 모델(210) 및 제 2 학습 모델(220)을 학습시킬 수 있다. 이 때, 기수집된 학습 데이터(200)는 동일한 학습 데이터가 제 1 학습 모델(210) 및 제 2 학습 모델(220)에 각각 입력될 수 있다.
제 1 학습 모델(210) 및 제 2 학습 모델(220)은 학습 데이터(200)가 인코더층(211, 221) 및 디코더층(212, 222)을 거쳐 출력되는 데이터(205)가 학습 데이터(200)와 동일해지도록 학습될 수 있다.
제 1 학습 모델(210) 및 제 2 학습 모델(220)의 학습 과정에서 은닉층에 의해 생성되는 잠재 공간 내에 학습 데이터(200)로부터 차원이 축소된 잠재 벡터(213, 223)가 획득될 수 있다. 이때, 제 1 학습 모델(210) 및 제 2 학습 모델(220)에 대하여 충분히 학습이 이루어진 경우, 잠재 벡터(213, 223)는 특정한 값으로 수렴될 수 있다.
예를 들어, 제 1 학습 모델(210)은 학습을 통해 학습 데이터(200)로부터 잠재 공간 내에서 차원이 축소된 잠재 벡터인 'ZA'(213)를 획득하고, 제 2 학습 모델(220)은 학습을 통해 학습 데이터(200)로부터 잠재 공간 내에서 차원이 축소된 잠재 벡터인 'ZB'(223)를 획득할 수 있다. 여기서, 잠재 벡터인 'ZA' (213) 및 'ZB'(223)는 같은 차원일 수 있다.
이러한 과정을 통해, 학습 데이터는 잠재 공간 상의 잠재 벡터인 'ZA' (213) 및 'ZB'(223)로 표현된다.
학습부(120)는 제 1 학습 모델(210) 및 제 2 학습 모델(220)만을 학습시키는 것으로 설명하였으나 이에 한정되는 것은 아니다. 예를 들어, 모델 생성부(110)가 2개 이상의 학습 모델을 생성하는 경우, 학습부(120)는 2개 이상의 학습 모델을 학습시킬 수 있다.
다시 도 1로 돌아와서, 모델 생성부(110)는 오토인코더 기반의 제 1 학습 모델 중 적어도 일부, 오토인코더 기반의 제 2 학습 모델 중 적어도 일부를 이용하여 통합 잠재 벡터 생성 모델을 생성할 수 있다. 마찬가지로, 학습부(120)가 2개 이상의 학습 모델을 학습시킬 경우, 모델 생성부(110)는 2개 이상의 학습 모델 각각의 적어도 일부를 이용하여 통합 잠재 벡터 생성 모델을 생성할 수 있다.
여기서, 제 1 학습 모델 중 적어도 일부 및 제 2 학습 모델 중 적어도 일부는 오토인코더의 인코더일 수 있다.
본 발명에 따르면, 통합 잠재 벡터 생성 모델이 서로 다른 구조를 갖고, 학습의 정도가 다른 제 1 학습 모델의 인코더 및 제 2 학습 모델의 인코더를 포함함으로써, 다양한 특징을 나타낼 수 있는 잠재 벡터가 생성되도록 할 수 있다.
군집화 수행부(150)는 통합 잠재 벡터 생성 모델을 이용하여 군집화를 수행할 수 있다. 통합 잠재 벡터 생성 모델을 이용하여 군집화를 수행하는 과정에 대해서는 도 3을 통해 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 통합 잠재 벡터를 이용하여 군집화를 수행하는 과정을 설명하기 위한 예시적인 도면이다. 도 3을 참조하면, 모델 생성부(110)는 오토인코더 기반의 제 1 학습 모델 중 적어도 일부(310), 오토인코더 기반의 제 2 학습 모델 중 적어도 일부(320) 및 제 1 학습 모델 중 적어도 일부(310)로부터 도출된 제 1 잠재 벡터(311) 및 제 2 학습 모델 중 적어도 일부(320)로부터 도출된 제 2 잠재 벡터(321)를 통합하는 게이트층(330, Gate Layer)을 포함하는 통합 잠재 벡터 생성 모델(300)을 생성할 수 있다.
잠재 벡터 도출부(130)는 입력 데이터(305)를 제 1 학습 모델 중 적어도 일부(310) 및 제 2 학습 모델 중 적어도 일부(320)에 각각 입력하여 잠재 벡터(311, 321)를 각각 도출할 수 있다. 예를 들어, 잠재 벡터 도출부(130)는 입력 데이터(305)를 제 1 학습 모델에 대응하는 인코더에 입력하여 제 1 잠재 벡터(311)를 도출하고, 입력 데이터(305)를 제 2 학습 모델에 대응하는 인코더에 입력하여 제 2 잠재 벡터(321)를 도출할 수 있다.
잠재 벡터 통합부(140)는 각각 도출된 잠재 벡터(311, 321)를 게이트층(330)에 기초하여 통합할 수 있다. 예를 들어, 잠재 벡터 통합부(140)는 제 1 잠재 벡터(311) 및 제 2 잠재 벡터(321)를 게이트층(330)에 각각 입력하고, 게이트층(330)을 통과한 제 1 잠재 벡터(311)에 대해 중요도에 따른 제 1 게이트 점수를 산출하고, 제 2 잠재 벡터(321)에 대해 중요도에 따른 제 2 게이트 점수를 산출할 수 있다. 제 1 게이트 점수는 다음의 수학식 1을 통해 산출될 수 있다.
Figure pat00001
수학식 1을 참조하면, 제 1 게이트 점수(331, G)는 가중치 '
Figure pat00002
'가 부여된 제 1 잠재 벡터(311)인 '
Figure pat00003
', 가중치 '
Figure pat00004
'가 부여된 제 2 잠재 벡터(321)인 '
Figure pat00005
', 편향(bias)에 기초하여 산출될 수 있다. 이 때, 제 2 게이트 점수(332)는 '1-G'의 계산을 통해 산출될 수 있다.
잠재 벡터 통합부(140)는 산출된 제 1 게이트 점수(331) 및 제 2 게이트 점수(332)에 기초하여 제 1 잠재 벡터(311) 및 제 2 잠재 벡터(321)를 통합한 통합 잠재 벡터(340)를 생성할 수 있다. 여기서, 통합 잠재 벡터(340)는 제 1 잠재 벡터(311)의 차원의 수 및 제 2 잠재 벡터(321)의 차원의 수가 합해진 것일 수 있다. 통합 잠재 벡터(340)는 다음의 수학식 2를 통해 산출될 수 있다.
Figure pat00006
수학식 2를 참조하면, 잠재 벡터 통합부(140)는 제 1 게이트 점수(331, G)를 제 1 잠재 벡터(311)인 '
Figure pat00007
'와 요소별로 곱하고, 제 2 게이트 점수(332, 1-G)를 제 2 잠재 벡터(321)인 '
Figure pat00008
'와 요소별로 곱한 후, 이들을 이어붙임으로써, 통합 잠재 벡터(340)인 '
Figure pat00009
'를 생성할 수 있다.
이러한 과정을 거쳐, 오토인코더 기반의 제 1 학습 모델의 인코더를 통해 도출된 잠재 벡터(311) 및 제 2 학습 모델의 인코더를 통해 도출된 잠재 벡터(321)가 군집화에 영향을 미치는 정도에 따라 각각의 게이트 점수(G, 1-G)를 산출하고, 각각의 게이트 점수(G, 1-G)를 이용하여 입력 데이터에 따라 동적으로 제 1 잠재 벡터(311) 및 제 2 잠재 벡터(321)를 통합시켜 두 잠재 벡터의 차원의 합만큼의 차원을 갖는 통합 잠재 벡터(340)인 '
Figure pat00010
'를 생성함으로써, 두 오토인코더의 다양성을 군집화 시 활용할 수 있다.
군집화 수행부(150)는 통합된 잠재 벡터에 기초하여 군집화(350)를 수행할 수 있다. 예를 들어, 군집화 수행부(150)는 초기 잠재 공간 상의 하나의 점으로 표현된 통합 잠재 벡터(340)에 대해 k-means 알고리즘을 이용하여 군집화를 수행할 수 있다. 이 때, k-means란 주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작하며, 자율 학습 알고리즘의 일종으로 레이블이 달려있지 않은 입력 데이터에 레이블을 달아주는 역할을 수행한다.
군집화 수행부(150)는 군집화의 수행 결과에 기초하여 기설정된 군집의 수에 해당하는 적어도 하나의 중심점을 산출할 수 있다.
군집화 수행부(150)는 통합 잠재 벡터 및 적어도 하나의 중심점 간의 유사도를 추정할 수 있다. 유사도는 다음의 수학식 3을 통해 추정될 수 있다.
Figure pat00011
수학식 3을 참조하면, 유사도(
Figure pat00012
)는 통합 잠재 벡터(340)인 '
Figure pat00013
' 및 적어도 하나의 중심점인 '
Figure pat00014
'에 기초하여 스튜던트 t-분포를 통해 추정될 수 있다. 여기서, 스튜던트 t-분포란 정규 분포의 평균을 측정하기 위해 이용되는 분포를 의미한다.
군집화 수행부(150)는 유사도(
Figure pat00015
)에 기초하여 소프트 할당(soft assignment)에 따른 Q 함수를 산출할 수 있다.
군집화 수행부(150)는 추정된 유사도에 기초하여 보조 목표 분포(
Figure pat00016
)를 산출할 수 있다. 보조 목표 분포는 다음의 수학식 4를 통해 산출될 수 있다.
Figure pat00017
군집화 수행부(150)는 Q 함수 및 보조 목표 분포(
Figure pat00018
)에 기초하여 쿨백 라이블러 발산(KL-발산)을 통해 손실함수를 도출할 수 있다. 쿨백 라이블러 발산(KL-발산)이란 두 확률분포(P, Q)의 차이를 계산하는데 이용되는 함수로, 어떤 이상적인 분포에 대해 그 분포를 근사하는 다른 분포를 사용하여 샘플링한 경우에 발생할 수 있는 정보 엔트로피 차이를 계산하는 것을 의미한다. 손실함수는 다음의 수학식 5를 통해 산출될 수 있다.
Figure pat00019
이러한 군집화 수행 장치(100)가 도출한 잠재 벡터를 이용하여 군집화를 수행하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 의해 실행될 수 있다. 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 오토인코더 기반의 제 1 학습 모델 및 제 2 학습 모델을 생성하고, 기수집된 학습 데이터를 제 1 학습 모델 및 제 2 학습 모델 각각에 입력하여 제 1 학습 모델 및 제 2 학습 모델을 학습하고, 입력 데이터를 제 1 학습 모델 중 적어도 일부 및 제 2 학습 모델 중 적어도 일부에 입력하여 잠재 벡터를 각각 도출하고, 각각 도출된 잠재 벡터를 게이트층(Gate Layer)에 기초하여 통합하고, 통합된 잠재 벡터에 기초하여 군집화를 수행하도록 하는 명령어들의 시퀀스를 포함할 수 있다.
도 4a 내지 도 4d는 본 발명의 성능을 측정하기 위한 실험 결과를 나타낸 도면이다.
도 4a는 종래의 DEC 오토인코더 구조를 이용하여 도출된 군집화 정확도를 도시한 도면이다. 종래에는 주어진 데이터를 잠재 벡터로 변환하기 위해 특정한 구조의 DEC(Deep Embedded Clustering) 오토인코더가 주로 이용되었다. 여기서, 주어진 실험 데이터 집합에 적합한 구조의 오토인코더를 이용하여 고품질의 잠재 벡터를 생성하는 것은 군집화 성능을 향상시키는데 매우 중요하다.
도 4a를 참조하면, 서로 다른 구조의 오토인코더가 생성한 두 잠재 벡터의 품질로부터 군집화 성능을 평가하기 위해, DEC의 오토인코더 은닉층의 노드 개수가 다른 모델 A(401) 및 모델 B(402) 간을 비교하였다. 이를 통해, 모델 A(401) 및 모델 B(402)는 주어진 실험 데이터 집합에서 최적의 잠재 벡터를 생성하는 오토인코더의 구조가 다름을 확인할 수 있다.
예를 들어, MNIST(Modified National Institute of Standards and Technology database) 데이터 집합(400)의 경우, 모델 A(401) 및 모델 B(402) 중 모델 B(402)가 군집화 성능이 더 우수한 것을 확인할 수 있다.
그러나 모델 A(401) 및 모델 B(402)를 통합한 통합 모델(403)의 경우, MNIST 데이터 집합에서 가장 높은 군집화 정확도를 보이는 것을 확인할 수 있다.
즉, 서로 다른 구조의 적어도 둘 이상의 오토인코더를 이용하여 도출된 잠재 벡터를 이용하는 경우, 군집화 성능이 더욱 더 향상되는 것을 알 수 있다.
도 4b는 실험 시, 사용된 오토인코더 기반의 학습 모델을 도시한 도면이다.
여기서, 학습 데이터는 MNIST 이미지 데이터가 이용되며, 784차원(28x28 픽셀)의 70,000개의 데이터로 10개의 분류가 존재할 수 있다.
도 4b를 참조하면, 오토인코더 기반의 학습 모델(410)은 각 학습 모델별 노드 개수(411)에 따라 다양하게 구성될 수 있다.
도 4c는 각 오토인코더 기반의 학습 모델의 성능을 도시한 도면이다. 도 4c를 참조하면, 각 학습 모델(410)의 성능 측정을 위해 군집화 알고리즘의 평가에서 주로 이용되는 군집화 정확도(420, ACC)를 비교하였다. 여기서, 각 학습 모델(410)의 학습 방법은 DEC 모델에서 진행한 사전 학습 과정 및 변수 설정과 동일하며, 게이트층에서는
Figure pat00020
,
Figure pat00021
를 '평균: 0', '표준편차: 0.01'인 정규 분포로 초기화하고, 이후 전체 학습 모델을 '학습율: 0.01'로 설정하여 SGD(Stochastic Gradient Descent) 방법으로 최적화되도록 실험 변수를 설정하였다. 실험 수행 환경은 실험 수행 프로그램을 통해 10번을 수행하여 평균을 도출하였다.
실험 결과, DEC의 2.5k 모델이 가장 좋은 성능을 발휘하는 것으로 나타났다.
도 4d는 본 발명의 일 실시예에 따른 통합 잠재 벡터 생성 모델의 성능을 도시한 도면이다. 도 4d는 잠재 벡터를 통합하여 군집화한 학습 모델 중 성능이 높은 상위 5개의 통합 잠재 벡터 생성 모델(430)을 나타내며, 여러 구조를 갖는 학습 모델이 다양하게 통합됨으로써, 기존의 2k 모델보다 우수한 성능을 나타내는 것을 확인할 수 있다.
특히, 3k 모델과 3.5k 모델을 통합한 통합 잠재 벡터 생성 모델(431)의 경우, 약 6.81%의 성능이 향상된 것을 확인할 수 있다.
이를 통해, 학습 모델이 생성하는 잠재 벡터의 중요도에 따라 게이트층을 기반으로 동적으로 입력 데이터에 적합하게 통합됨으로써, 통합 잠재 벡터 생성 모델의 성능이 향상된 것을 확인할 수 있다.
도 5는 본 발명의 일 실시예에 따른 군집화 수행 장치에서 잠재 벡터를 이용하여 군집화를 수행하는 방법의 순서도이다. 도 5에 도시된 군집화 수행 장치(100)에서 잠재 벡터를 이용하여 군집화를 수행하는 방법은 도 1 내지 도 4d에 도시된 실시예에 따라 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 4d에 도시된 실시예에 따라 군집화 수행 장치(100)에서 잠재 벡터를 이용하여 군집화를 수행하는 방법에도 적용된다.
단계 S510에서 군집화 수행 장치(100)는 오토인코더(Autoencoder) 기반의 제 1 학습 모델 및 제 2 학습 모델을 생성할 수 있다.
단계 S520에서 군집화 수행 장치(100)는 기수집된 학습 데이터를 제 1 학습 모델 및 제 2 학습 모델 각각에 입력하여 제 1 학습 모델 및 제 2 학습 모델을 학습시킬 수 있다.
단계 S530에서 군집화 수행 장치(100)는 입력 데이터를 제 1 학습 모델 중 적어도 일부 및 제 2 학습 모델 중 적어도 일부에 입력하여 잠재 벡터를 각각 도출할 수 있다.
단계 S540에서 군집화 수행 장치(100)는 각각 도출된 잠재 벡터를 게이트층(Gate Layer)에 기초하여 통합할 수 있다.
단계 S550에서 군집화 수행 장치(100)는 통합된 잠재 벡터에 기초하여 군집화를 수행할 수 있다.
상술한 설명에서, 단계 S510 내지 S550은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 5를 통해 설명된 군집화 수행 장치에서 잠재 벡터를 이용하여 군집화를 수행하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 5를 통해 설명된 군집화 수행 장치에서 잠재 벡터를 이용하여 군집화를 수행하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 모델 생성부
120: 학습부
130: 잠재 벡터 도출부
140: 잠재 벡터 통합부
150: 군집화 수행부

Claims (10)

  1. 잠재 벡터를 이용하여 군집화를 수행하는 방법에 있어서,
    오토인코더(Autoencoder) 기반의 제 1 학습 모델 및 제 2 학습 모델을 생성하는 단계;
    기수집된 학습 데이터를 상기 제 1 학습 모델 및 상기 제 2 학습 모델 각각에 입력하여 상기 제 1 학습 모델 및 상기 제 2 학습 모델을 학습시키는 단계;
    입력 데이터를 상기 제 1 학습 모델 중 적어도 일부 및 상기 제 2 학습 모델 중 적어도 일부에 입력하여 잠재 벡터를 각각 도출하는 단계;
    상기 각각 도출된 잠재 벡터를 게이트층(Gate Layer)에 기초하여 통합하는 단계; 및
    상기 통합된 잠재 벡터에 기초하여 군집화를 수행하는 단계
    를 포함하는 것인, 군집화 수행 방법.
  2. 제 1 항에 있어서,
    상기 제 1 학습 모델 및 상기 제 2 학습 모델은 인코더층의 노드 개수 및 디코더층의 노드 개수가 서로 다르게 구성된 것인, 군집화 수행 방법.
  3. 제 1 항에 있어서,
    상기 제 1 학습 모델 중 적어도 일부 및 상기 제 2 학습 모델 중 적어도 일부는 상기 오토인코더의 인코더인 것인, 군집화 수행 방법.
  4. 제 3 항에 있어서,
    상기 잠재 벡터를 각각 도출하는 단계는,
    상기 입력 데이터를 상기 제 1 학습 모델에 대응하는 인코더에 입력하여 제 1 잠재 벡터를 도출하는 단계; 및
    상기 입력 데이터를 상기 제 2 학습 모델에 대응하는 인코더에 입력하여 제 2 잠재 벡터를 도출하는 단계
    를 포함하는 것인, 군집화 수행 방법.
  5. 제 4 항에 있어서,
    상기 각각 도출된 잠재 벡터를 게이트층에 기초하여 통합하는 단계는,
    상기 제 1 잠재 벡터 및 제 2 잠재 벡터를 상기 게이트층(Gate Layer)에 각각 입력하는 단계;
    상기 게이트층을 통과한 상기 제 1 잠재 벡터에 대해 제 1 게이트 점수를 산출하고, 상기 제 2 잠재 벡터에 대해 제 2 게이트 점수를 산출하는 단계; 및
    상기 산출된 제 1 게이트 점수 및 제 2 게이트 점수에 기초하여 상기 제 1 잠재 벡터 및 상기 제 2 잠재 벡터를 통합한 통합 잠재 벡터를 생성하는 단계
    를 포함하는 것인, 군집화 수행 방법.
  6. 제 5 항에 있어서,
    상기 통합 잠재 벡터는 상기 제 1 잠재 벡터의 차원의 수 및 상기 제 2 잠재 벡터의 차원의 수가 합해진 것인, 군집화 수행 방법.
  7. 제 5 항에 있어서,
    상기 군집화를 수행하는 단계는,
    초기 잠재 공간 상의 하나의 점으로 표현된 상기 통합 잠재 벡터에 기초하여 군집화를 수행하는 단계; 및
    상기 군집화의 수행 결과에 기초하여 기설정된 군집의 수에 해당하는 적어도 하나의 중심점을 산출하는 단계
    를 포함하는 것인, 군집화 수행 방법.
  8. 제 7 항에 있어서,
    상기 군집화를 수행하는 단계는,
    상기 통합 잠재 벡터 및 상기 적어도 하나의 중심점 간의 유사도를 추정하는 단계를 더 포함하는 것인, 군집화 수행 방법.
  9. 제 8 항에 있어서,
    상기 추정된 유사도에 기초하여 보조 목표 분포를 산출하는 단계;
    상기 유사도에 기초하여 소프트 할당(soft assignment)에 따른 Q 함수를 산출하는 단계; 및
    상기 Q 함수 및 상기 보조 목표 분포에 기초하여 쿨백 라이블러 발산(KL-발산)을 통해 손실함수를 도출하는 단계를 포함하는 것인, 군집화 수행 방법.
  10. 잠재 벡터를 이용하여 군집화를 수행하는 장치에 있어서,
    오토인코더(Autoencoder) 기반의 제 1 학습 모델 중 적어도 일부, 상기 오토인코더 기반의 제 2 학습 모델 중 적어도 일부 및 상기 제 1 학습 모델 중 적어도 일부로부터 도출된 제 1 잠재 벡터 및 상기 제 2 학습 모델 중 적어도 일부로부터 도출된 제 2 잠재 벡터를 통합하는 게이트층(Gate Layer)을 포함하는 통합 잠재 벡터 생성 모델을 생성하는 모델 생성부;
    입력 데이터를 상기 제 1 학습 모델 중 적어도 일부 및 상기 제 2 학습 모델 중 적어도 일부에 입력하여 잠재 벡터를 각각 도출하는 잠재 벡터 도출부;
    상기 각각 도출된 잠재 벡터를 상기 게이트층에 기초하여 통합하는 잠재 벡터 통합부; 및
    상기 통합된 잠재 벡터에 기초하여 군집화를 수행하는 군집화 수행부
    를 포함하는 것인, 군집화 수행 장치.
KR1020200021994A 2020-02-24 2020-02-24 잠재 벡터를 이용하여 군집화를 수행하는 방법 및 장치 KR102432854B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200021994A KR102432854B1 (ko) 2020-02-24 2020-02-24 잠재 벡터를 이용하여 군집화를 수행하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200021994A KR102432854B1 (ko) 2020-02-24 2020-02-24 잠재 벡터를 이용하여 군집화를 수행하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210107261A true KR20210107261A (ko) 2021-09-01
KR102432854B1 KR102432854B1 (ko) 2022-08-16

Family

ID=77779963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200021994A KR102432854B1 (ko) 2020-02-24 2020-02-24 잠재 벡터를 이용하여 군집화를 수행하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102432854B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024058380A1 (ko) * 2022-09-14 2024-03-21 재단법인 아산사회복지재단 지역 차분 프라이버시 기반 적대적 생성 네트워크를 활용한 합성 환자 데이터 생성 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S. Aeldt et al., "Spectral Clustering via Ensemble Deep Autoencoder Learning (SC-EDAE)," arXiv:1901.02291v2 [cs.LG] 12 Jun 2019 (2019.06.12.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024058380A1 (ko) * 2022-09-14 2024-03-21 재단법인 아산사회복지재단 지역 차분 프라이버시 기반 적대적 생성 네트워크를 활용한 합성 환자 데이터 생성 방법 및 장치

Also Published As

Publication number Publication date
KR102432854B1 (ko) 2022-08-16

Similar Documents

Publication Publication Date Title
CN109711254B (zh) 基于对抗生成网络的图像处理方法和装置
CN108875807B (zh) 一种基于多注意力多尺度的图像描述方法
US9721221B2 (en) Skill estimation method in machine-human hybrid crowdsourcing
CN108564129B (zh) 一种基于生成对抗网络的轨迹数据分类方法
US11941527B2 (en) Population based training of neural networks
CN109858392B (zh) 一种用于化妆前后人脸图像自动识别方法
US20210089759A1 (en) Data-driven, photorealistic social face-trait encoding, prediction, and manipulation using deep neural networks
CN111210382B (zh) 图像处理方法、装置、计算机设备和存储介质
JP2022113135A (ja) ニューラルネットワークトレーニング方法及び装置
Shankar et al. Non-parallel emotion conversion using a deep-generative hybrid network and an adversarial pair discriminator
KR102432854B1 (ko) 잠재 벡터를 이용하여 군집화를 수행하는 방법 및 장치
CN105718898A (zh) 基于稀疏无向概率图模型的人脸年龄估计方法、系统
CN115063666A (zh) 解码器的训练方法、目标检测方法、装置以及存储介质
JP6955233B2 (ja) 予測モデル作成装置、予測モデル作成方法、および予測モデル作成プログラム
CN111444937A (zh) 一种基于集成tsk模糊分类器的众包质量提升的方法
US20210192032A1 (en) Dual-factor identification system and method with adaptive enrollment
Tao et al. An efficient and robust cloud-based deep learning with knowledge distillation
CN116976461A (zh) 联邦学习方法、装置、设备及介质
Tun et al. Federated learning with intermediate representation regularization
CN112529772B (zh) 一种零样本设置下的无监督图像转换方法
US20240013357A1 (en) Recognition system, recognition method, program, learning method, trained model, distillation model and training data set generation method
CN113780324A (zh) 数据处理方法、装置、电子设备及存储介质
Wu et al. Learning age semantic factor to enhance group-based representations for cross-age face recognition
JP2020030702A (ja) 学習装置、学習方法及び学習プログラム
Imamverdiyev et al. Analysis of generative adversarial networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant