KR102031982B1 - 언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치 - Google Patents

언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치

Info

Publication number
KR102031982B1
KR102031982B1 KR1020170084646A KR20170084646A KR102031982B1 KR 102031982 B1 KR102031982 B1 KR 102031982B1 KR 1020170084646 A KR1020170084646 A KR 1020170084646A KR 20170084646 A KR20170084646 A KR 20170084646A KR 102031982 B1 KR102031982 B1 KR 102031982B1
Authority
KR
South Korea
Prior art keywords
data
learning
neural network
input value
cluster
Prior art date
Application number
KR1020170084646A
Other languages
English (en)
Other versions
KR20190004429A (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 KR1020170084646A priority Critical patent/KR102031982B1/ko
Publication of KR20190004429A publication Critical patent/KR20190004429A/ko
Application granted granted Critical
Publication of KR102031982B1 publication Critical patent/KR102031982B1/ko

Links

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/04Architecture, e.g. interconnection topology

Landscapes

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

Abstract

본 발명은 신경망 모델(Neural Networks)에서 미지의 데이터에 대한 재학습 여부 결정 방법, 장치 및 컴퓨터 프로그램에 관한 것이다. 이를 위하여, 기학습된 신경망 모델의 학습에 이용된 트레이닝 세트에 대한 클러스터링을 수행하는 트레이닝 세트 클러스터링 단계; 신경망 모델에 입력되는 입력값을 트레이닝 세트의 클러스터링 분포에 플로팅(plotting)하는 입력값 플로팅 단계; 입력값이 트레이닝 세트의 클러스터링 분포 중 하나인 특정 클러스터에 포함되는지 여부를 판단하는 입력값 분류 단계; 입력값과 특정 클러스터의 중심값(centroid) 사이의 거리 또는 입력값이 특정 클러스터에 포함될 확률을 토대로 입력값의 재학습 여부 또는 재학습 가중치를 결정하는 입력값 재학습 여부 결정 단계; 및 입력값 재학습 여부 결정 단계에서 결정된 입력값의 재학습 여부 또는 재학습 가중치를 기초로 모델을 재학습을 수행하는 신경망 모델 재학습 단계;를 포함하는, 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법을 제공할 수 있다. 이에 따르면, 시계열적으로 정제되지 않은 데이터가 입력되는 경우에도, 사용자별로 신경망 모델을 학습시킬 수 있는 효과가 발생된다.

Description

언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치{A posture classifying apparatus for pressure distribution information using determination of re-learning of unlabeled data}
본 발명은 신경망 모델(Neural Networks)에서 미지의 데이터에 대한 재학습 여부 결정 방법, 장치 및 프로그램에 관한 것이다.
신경망 모델(Neural Network model)은 생물학에서의 뉴런 구조로부터 착안된 지도 학습(supervised learning) 알고리즘이다. 신경망 모델의 기본적인 작동 원리는 여러 개의 뉴런들을 상호 연결하여 입력값에 대한 최적의 출력값을 예측하는 것이다. 통계적인 관점에서 보면 신경망 모델은 입력 변수의 선형 결합에 비선형 함수를 취하는 사영추적회귀로 볼 수 있다.
도 1은 다층 신경망 모델(딥러닝 또는 심층 신경망 모델)의 구조를 도시한 모식도이다. 도 1에 도시된 바와 같이 다층 신경망 모델은 입력층(input layer), 은닉층(hidden layer), 출력층(output layer)으로 구성된다. 입력층은 각 입력변수에 대응되는 노드로 구성되며, 노드의 수는 입력변수의 개수와 같다. 은닉층은 입력층으로부터 전달되는 변수값들의 선형 결합을 시그모이드 함수와 같은 비선형 함수로 처리하여 출력층 또는 다른 은닉층에 전달하는 역할을 한다(최근에는 Back propagation에서 chain rule을 적용하면서 error가 앞단의 layer에서 희석되는 vanishing gradient 문제가 발생되어 시그모이드 함수 대신, ReLU를 일반적으로 이용한다). 출력층은 출력 변수에 대응되는 노드로서 분류 모형에서는 클래스의 수만큼 출력 노드가 생성된다.
도 2는 노드에서의 계산 과정을 도시한 모식도이다. 도 2에 도시된 바와 같이, 각각의 노드에서는 실제로 연산이 일어나는데, 이 연산 과정은 인간의 신경망을 구성하는 뉴런에서 일어나는 과정을 모사하도록 수학적으로 설계되어있다. 노드는 일정 크기 이상의 자극을 받으면 반응을 하는데, 그 반응의 크기는 바이어스(bias) 값을 제외하고 입력 값과 노드의 계수(또는 가중치, weights)를 곱한 값과 대략 비례한다. 일반적으로 노드는 여러 개의 입력을 받으며 입력의 개수만큼 계수를 가지고 있다. 따라서 이 계수를 조절함으로써 여러 입력에 다른 가중치를 부여할 수 있다. 최종적으로 곱한 값들은 전부 더해지고 그 합은 활성 함수(activation function)의 입력으로 들어가게 된다. 활성 함수의 결과가 노드의 출력에 해당하며 이 출력값이 궁극적으로 분류나 회귀 분석에 쓰이게 된다. 신경망 모델의 각 층은 적어도 하나의 노드로 이루어져 있으며 입력값에 따라 각 노드의 활성화/비활성화 여부가 결정된다. 입력 데이터는 첫 번째 층(입력층, input layer)의 입력이 되며 그 이후엔 각 층의 출력이 다시 다음 층의 입력이 된다. 모든 계수는 학습 과정에서 계속 조금씩 변하는데, 결과적으로 각 노드가 어떤 입력을 중요하게 여기는지를 반영한다. 그리고 신경망 모델의 '학습(training)'은 이 계수를 업데이트하는 과정이다.
다층 신경망 모델, 즉 딥러닝에서 가장 문제되는 것은 과적합(overfitting) 문제이다. 과적합(Overfitting)은 주어진 데이터의 양에 비해 모델의 복잡도(complexity)가 높으면 발생하게 된다. 안타깝게도 신경망(neural network)이 깊어질수록 모델의 복잡도는 exponential하게 증가하게 된다. 그렇기 때문에 거의 무한한 표현형을 학습할 수 있는 deep network가 좋다는 것을 다들 알고 있음에도 불구하고, 너무나 과적합(overfitting)이 심하게 발생하기 때문에 Marvin Minsky 교수의 1969년 Perceptrons 이론에 의해 neural network 연구가 멈추게 된 것이다. 하지만, 2007~2008년 즈음하여 과적합을 막기 위한 새로운 initialization 방법인 RBM(Restricted Boltzmann Machine)과 CNN(Convolutional Neural Network)이 제안되면서, 다시 딥러닝 연구가 활발하게 진행되었다.
특히, RBM은 DBN(Deep Belief Network)을 구성하는 요소로 이용되고, unsupervised RBM(restricted Boltzmann machine)을 통해 학습시킬 feedforward neural network의 각 층을 효과적으로 사전훈련(pre-training)하여 과적합(overfitting)을 방지할 수 있는 수준의 initialize point를 잡았고, 이를 다시 supervised back propagation를 사용하는 형태로 학습을 진행한다.
하지만, NIPS 2006에 발표된 Bengio 교수 연구팀의 Greedy layer-wise training of deep networks 연구와 NIPS 2007에 발표된 Hinton 교수 연구팀의 A fast learning algorithm for deep belief nets 두 논문을 통해 제안되었던 RBM과 DBN 같은 unsupervised pretraining method들은 최근 실무에서 사용되지는 않는다. 지금은 데이터가 충분히 많을 경우 이런 방식으로 weight를 initialization하는 것보다 random initialization의 성능이 훨씬 우수하다는 것이 알려져 있기 때문이다. Random initialization의 일환으로 Drop-out이라는 개념이 소개되었고, 최근에는 대부분이 Drop-out 방식을 이용하고 있다.
도 3은 Drop-out 방식을 도시한 모식도이다. 도 3에 도시된 바와 같이, Drop-out 방식은 매 학습시 은닉층에서 모든 neuron을 사용하는 것이 아니라 50% 정도의 neuron을 사용한다. 하나의 딥러닝에서 여러 개의 작은 neural network이 앙상블(ensemble)되어진 효과가 있고, 앙상블은 과적합이 크게 줄어든다고 알려져 있다. 또한, 비슷한 weight를 갖는 뉴런들이 줄어들게 되어서 중복된 판단을 하는 뉴런들이 줄어들게 되어 뉴런을 효율적으로 사용가능한 장점이 있다.
또한, 최근에는 ReLU(Rectified Linear Unit) 라는 활성함수(activation function)로 느린 학습시간과 과적합 문제 등을 해결하고 있다. 도 4는 ReLU 활성함수를 도시한 그래프이다. 도 4에 도시된 바와 같이, 기존의 sigmoid 함수는 기울기 하강(Gradient Descent)를 여러 층으로 해나갈 때마다 error가 소멸되는 문제가 발생한다. 여러 층을 지나 극한으로 갈수록 sigmoid 함수는 Gradient(기울기)가 작아져서 weight가 업데이트되지 않는 문제가 발생하는 것이다. 그런데 활성함수로 ReLU 함수를 사용시, 기울기가 0 또는 1로 학습되는 경우에 100%로 error가 전파되어 이러한 문제가 해소되게 된다. ReLU 함수는 sigmoid 처럼 [0,1]로 제한되는 것이 아니고 그 범위가 무제한이기 때문에 좀 더 확실한 표현력을 가진다고 볼 수 있다. 또한, 각 노드의 출력값 중 필요 없는 값들이 많다. 이럴 때, sigmoid 함수 사용시 모든 값에 대한 계산을 해야하는데, ReLU 함수는 상당 부분의 연산량을 줄일 수 있어 컴퓨팅 속도가 개선되는 효과가 발생된다. ReLU 함수에 의해 정규화(Regularization)가 향상될 수 있다.
대한민국 공개특허 10-2016-0034814, 삼성전자주식회사, 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템, 2016.03.30.
하지만, ANN에서 back propagation을 수행할 때(BPN, back propagation neural network), 분류되지 않은 미지의 데이터를 전부 다시 트레이닝 세트로 활용하게 되면 parameter learning 과정에서 모델이 왜곡될 가능성이 많아지게 된다. 이는 global minimum을 찾지 못하고 지역 최소해(local minima)에 빠지는 문제와 별개로, 신경망 모델이 지나치게 랜덤한 트레이닝 데이터에 overfitting 되면서 모델의 weight 자체가 잘못 학습되는 것이 문제이다. 이러한 문제는 특히, 시계열적으로 정제되지 않은 데이터가 입력되어서 사용자별로 신경망 모델을 학습시켜야 하는 경우에 문제되며, RBM, CNN, Drop-out, ReLU의 방식으로는 완전히 해결될 수 없다.
예를 들어, 복수 개의 행과 열을 지니는 평면으로 분포된 압력센서에 의해 사용자의 앉은 자세를 판별하는 경우에는 사용자들 마다 자세가 달라서, 특정 미지의 압력분포 데이터가 cut off value에 의해 명확히 분류되기 어려운 입력값(압력분포 데이터)을 나타내는 경우가 많다. 특히, 사용자가 앉는 동안 시계열적으로 압력분포 데이터가 신경망 모델에 입력되게 되어서, 정제되지 않은 상태의 압력분포 데이터도 상당히 입력되어 학습될 가능성이 있다. 이러한 미지의 압력분포 데이터까지 back propagation하는 경우, 모델의 예측 가능성이 현저히 떨어질 수 있다.
또한, 복수개의 행과 열을 지니는 평면으로 분포된 압력센서에 의해 사용자의 앉은 자세를 판별하는 경우에는 압력분포 데이터가 신경망 모델을 지나서 출력되는 자세 정보가 사용자마다 다르게 나타나도록 학습되어야 한다. 즉, 같은 압력분포 데이터를 보이더라도, 사용자 A의 경우에는 구부정한 자세일 수 있고, 사용자 B의 경우에는 바른 자세일 수 있는 것이다. 이는 사용자마다 체형과 자세가 다르기 때문이다.
또는, CNN이 주로 이용되는 이미지 분석, RNN(Recurrent Neural Network)이 주로 이용되는 자연어 분석, 이미지 캡션, 자동 번역의 경우에도, back propagation이 자주 이용된다. 하지만, 명확하게 분류되기 어려운 입력값이 재학습에 이용되면서 모델의 성능을 저해하는 경우가 많이 있다.
따라서 본 발명은 상기 제시된 문제점을 개선하기 위하여 창안되었다.
본 발명의 목적은, 신경망 모델에서 입력값을 이용하여 신경망 모델을 재학습시켜서 가중치 업데이트 시키는 경우, 클러스터링과 같은 unsupervised learning을 이용하여 신경망 모델의 역전파 알고리즘(back propagation)과 같은 재학습에 이용할 입력값을 선정하고, 해당 입력값이 속하는 클러스터의 중심값(centroid)를 업데이트하여 신경망 모델의 성능을 향상시키는 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법, 장치 및 프로그램을 제공하는데에 있다.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.
본 발명의 목적은, 컴퓨팅 장치에 의해 수행되는 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법에 있어서, 상기 컴퓨팅 장치가, 기학습된 신경망 모델의 학습에 이용된 트레이닝 세트에 대한 클러스터링을 수행하는 트레이닝 세트 클러스터링 단계; 상기 컴퓨팅 장치가, 상기 신경망 모델에 입력되는 입력값을 상기 트레이닝 세트의 클러스터링 분포에 플로팅(plotting)하는 입력값 플로팅 단계; 상기 컴퓨팅 장치가, 상기 입력값이 상기 트레이닝 세트의 클러스터링 분포 중 하나인 특정 클러스터에 포함되는지 여부를 판단하는 입력값 분류 단계; 상기 컴퓨팅 장치가, 상기 입력값과 상기 특정 클러스터의 중심값(centroid) 사이의 거리 또는 상기 입력값이 상기 특정 클러스터에 포함될 확률을 토대로 상기 입력값의 재학습 여부 또는 재학습 가중치를 결정하는 입력값 재학습 여부 결정 단계; 및 상기 컴퓨팅 장치가, 상기 입력값 재학습 여부 결정 단계에서 결정된 상기 입력값의 재학습 여부 또는 재학습 가중치를 기초로 상기 신경망 모델을 재학습을 수행하는 신경망 모델 재학습 단계;를 포함하는, 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법을 제공하여 달성될 수 있다.
또한, 상기 신경망 모델 재학습 단계 이후에, 상기 컴퓨팅 장치가, 상기 입력값 재학습 여부 결정 단계에서 결정된 상기 입력값의 재학습 여부 또는 재학습 가중치를 기초로 상기 특정 클러스터의 중심값(centroid)를 업데이트하는 클러스터 중심값 업데이트 단계;를 더 포함할 수 있다.
또한, 상기 트레이닝 세트 클러스터링 단계 및 상기 입력값 플로팅 단계에서는, K-means, spectral clustering 또는 N-cut을 통한 linear mapping 또는 Auto encoder 기반의 non-linear mapping을 수행하여 클러스터링하는 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 입력값을 수신하는 수신부; 상기 수신부에서 상기 입력값을 수신하고, 기학습된 신경망 모델을 포함하며, 상기 신경망 모델에 수신된 상기 입력값을 적용하여 출력값을 계산하는 신경망 모델 컴퓨팅 프로세서; 상기 수신부에서 상기 입력값을 수신하고, 상기 입력값 중 상기 신경망 모델의 학습에 이용된 트레이닝 세트를 클러스터링하여 클러스터링 정보를 생성하는 클러스터링 프로세서; 상기 클러스터링 프로세서에서 상기 클러스터링 정보를 수신하고, 상기 수신부에서 수신되는 상기 입력값이 상기 클러스터링 정보의 특정 클러스터의 중심값(centeroid)과의 거리 또는 특정 클러스터에 포함될 확률을 기초로 상기 입력값의 재학습 여부 또는 상기 입력값에 적용되는 재학습 가중치를 결정하는 재학습 여부 결정 프로세서; 및 상기 재학습 여부 결정 프로세서에서 상기 입력값의 재학습 여부 또는 상기 재학습 가중치를 수신하고, 상기 신경망 모델 컴퓨팅 프로세서의 상기 신경망 모델을 재학습하여 상기 신경망 모델 컴퓨팅 프로세서의 상기 신경망 모델을 업데이트하는 재학습 프로세서;를 포함하는 신경망 모델에서 입력값에 대한 재학습 여부 결정장치를 제공하여 달성될 수 있다.
또한, 상기 재학습 프로세서는, 상기 클러스터링 정보의 특정 클러스터의 중심값(centeroid)을 업데이트하는 것을 특징으로 할 수 있다.
또한, 상기 클러스터링 프로세서는, K-means, spectral clustering 또는 N-cut을 통한 linear mapping 또는 Auto encoder 기반의 non-linear mapping을 수행하여 클러스터링하는 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법을 컴퓨터 상에서 수행하는 기록매체에 저장된 프로그램에 있어서, 기학습된 신경망 모델의 학습에 이용된 트레이닝 세트에 대한 클러스터링을 수행하는 트레이닝 세트 클러스터링 단계; 상기 신경망 모델에 입력되는 입력값을 상기 트레이닝 세트의 클러스터링 분포에 플로팅(plotting)하는 입력값 플로팅 단계; 상기 입력값이 상기 트레이닝 세트의 클러스터링 분포 중 하나인 특정 클러스터에 포함되는지 여부를 판단하는 입력값 분류 단계; 상기 입력값과 상기 특정 클러스터의 중심값(centroid) 사이의 거리 또는 상기 입력값이 상기 특정 클러스터에 포함될 확률을 토대로 상기 입력값의 재학습 여부 또는 재학습 가중치를 결정하는 입력값 재학습 여부 결정 단계; 및 상기 입력값 재학습 여부 결정 단계에서 결정된 상기 입력값의 재학습 여부 또는 재학습 가중치를 기초로 상기 신경망 모델을 재학습을 수행하는 신경망 모델 재학습 단계;를 컴퓨터 상에서 수행하는 기록매체에 저장된 프로그램을 제공하여 달성할 수 있다.
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.
첫째, 본 발명의 일실시예에 따르면, 시계열적으로 정제되지 않은 데이터가 입력되는 경우에도, 사용자별로 신경망 모델을 학습시킬 수 있는 효과가 발생된다.
둘째, 본 발명의 일실시예에 따르면, 신경망 모델이 지나치게 랜덤한 트레이닝 데이터에 overfitting 되면서 모델의 weight 자체가 잘못 학습되는 것을 방지할 수 있는 효과가 있다.
셋째, 본 발명의 일실시예에 따르면, 재학습되기로 결정된 입력값이 속하는 클러스터의 중심값(centroid)를 업데이트하여 신경망 모델의 성능을 개인에 맞게 향상시킬 수 있는 효과가 있다.
넷째, 본 발명의 일실시예에 따르면, 사용자의 자중에 의한 압력분포 만으로 사용자의 자세를 예측하거나 분류할 수 있게 되므로, 뎁스 카메라나 3D 스캐너 등의 별도의 외부 장비가 없어도 자세를 실시간으로 분석할 수 있게 되는 효과가 발생된다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 다층 신경망 모델(딥러닝 또는 심층 신경망 모델)의 구조를 도시한 모식도,
도 2는 노드에서의 계산 과정을 도시한 모식도,
도 3은 Drop-out 방식을 도시한 모식도,
도 4는 ReLU 활성함수를 도시한 그래프,
도 5는 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법을 도시한 것,
도 6은 본 발명의 일실시예에 따른 S14 단계에서 입력값에 대한 재학습 여부를 결정하는 예시를 도시한 것,
도 7은 본 발명의 일실시예에 따른 S15 단계에서 트레이닝 세트의 클러스터 중심의 업데이트를 도시한 예시,
도 8은 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치를 도시한 모식도,
도 9는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 시스템을 도시한 것,
도 10은 본 발명의 일실시예에 따른 자세 분류 시스템의 사용자 클라이언트에 디스플레이 되는 화면의 예,
도 11은 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법을 도시한 흐름도,
도 12는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법의 실험결과 그래프,
도 13은 기존의 재학습 방법의 압력분포 정보를 이용한 자세 분류 방법의 실험 결과 그래프,
도 14는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법과 기존 방법의 평균 정확도 비교 그래프,
도 15는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 장치의 인공신경망 모델을 도시한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
아래의 상세한 설명에서는 사용자의 클라이언트에서 신경망 모델에 입력값을 넣어 컴퓨팅을 수행하는 것을 전제로 기재되었다. 하지만, 본 발명의 범위는 이에 한정되지 않는다. 본 발명은 입력값의 생성 디바이스로부터 사용자의 클라이언트에서 입력값을 받고(예를 들면, 근거리 통신), 사용자 클라이언트에서 컴퓨팅 서버로 입력값을 송신하여 컴퓨팅 서버에서 입력값을 신경망 모델에 넣어 컴퓨팅하도록 구성될 수도 있다. 즉, 컴퓨팅의 주체는 사용자 클라이언트가 될 수도 있고, 컴퓨팅 서버가 될수도 있으므로, 이를 본 명에서에서는 컴퓨팅 장치로 통일한다.
신경망 모델에서 입력값에 대한 재학습 여부 결정 방법
본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법과 관련하여, 도 5는 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법을 도시한 것이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법은 신경망 모델 학습 단계, 입력값 입력 단계, 출력값 출력 단계, 입력값 분류 단계, 입력값 재학습 여부 결정 단계, 입력값 재학습 단계를 포함할 수 있다. 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법은 컴퓨팅 서버 또는 클라이언트에서 수행될 수 있다.
신경망 모델 학습 단계(S10)는 속성값에 대한 레이블링(labeling, 또는 tagging)이 완료된 트레이닝 세트(training data set)를 이용하여 신경망 모델의 가중치를 학습시키는 단계이다. 이때, 신경망 모델은 기존의 ANN(artificial neural network)뿐만 아니라 CNN, RNN 등을 포함할 수 있다. 특히, 본 발명의 일실시예에 따른 신경망 모델은 분류 모델일 수 있다.
입력값 입력 단계(S11)는 신경망 모델의 입력층(input layer)에 테스트 세트이거나 실제 데이터 세트인 특정 입력값을 입력하는 단계이다.
출력값 출력 단계(S12)는 신경망 모델에 S11에서 입력된 특정 입력값이 은닉층(hidden layer)를 지나 출력층(output layer)에서 출력되는 단계이다. S12에서는 특정 입력값이 신경망 모델에 의해 가중되면서 기설정된 속성들에 대한 특정 속성값을 갖는 행렬 또는 벡터 형태의 출력값으로 출력될 수 있다.
입력값 분류 단계(S13)는 S10의 트레이닝 세트를 클러스터링 등의 방법으로 분류하고, S11의 입력값을 플로팅(plotting)하는 단계이다. 이때, 클러스터링 이전에 트레이닝 세트와 입력값에 대해 2~3개의 속성으로 PCA 분석을 선행적으로 수행하거나, K-means, spectral clustering, N-cut을 통한 linear mapping, Auto encoder 기반의 non-linear mapping를 수행하여 클러스터링할 수 있다.
입력값 분류 단계(S13)는 구체적으로 트레이닝 세트 클러스터링 단계, 입력값 플로팅 단계, 입력값 분류 단계로 수행될 수 있다. 트레이닝 세트 클러스터링 단계는 사용자 클라이언트나 서버와 같은 컴퓨팅 장치가 기학습된 신경망 모델의 학습에 이용된 트레이닝 세트에 대한 클러스터링을 수행하는 단계이다. 입력값 플로팅 단계는 사용자 클라이언트나 서버와 같은 컴퓨팅 장치가 상기 신경망 모델에 입력되는 입력값을 상기 트레이닝 세트의 클러스터링 분포에 플로팅(plotting)하는 단계이다. 입력값 분류 단계는 사용자 클라이언트나 서버와 같은 컴퓨팅 장치가 입력값이 트레이닝 세트의 클러스터링 분포 중 하나인 특정 클러스터에 포함되는지 여부를 판단하는 단계이다.
트레이닝 세트의 클러스터링은 거리 기반 또는 확률(혹은 확률분포) 기반으로 수행할 수 있다. S13에서 이용될 수 있는 거리 기반의 클러스터링으로는 K-means 클러스터링이 대표적이다. K-means는 같은 클러스터에 속한 데이터는 서로 '가깝다' 라고 가정한다. 이때 각각의 클러스터마다 '중심'이 하나씩 존재하고, 각각의 데이터가 그 중심과 '얼마나 가까운가'를 cost로 정의한다. K-means는 이렇게 정의된 cost를 가장 줄이는 클러스터를 찾는 알고리즘이다. 수식으로 적으면 다음 수학식 1과 같다.
수학식 1은 데이터는 n개 있으며 클러스터는 k개 있는 경우이다. 이때, bj는 j 번째 클러스터의 '중심'을 의미하며, wij는 i 번째 데이터가 j 번째 클러스터에 속하면 1, 아니면 0을 가지는 binary variable이다. 또한, 뒤에 붙는 조건은 반드시 각 데이터 별로 한 개의 클러스터에 assign이 되어야 한다는 constraint이다. K-means 알고리즘은 이렇게 b와 w를 alternative하게 계속 update하면서 b와 w가 더 이상 바뀌지 않을 때까지 계산을 반복하는 알고리즘이다. 안타깝게도 K-means는 global optimum에 수렴하지 않고 local한 optimum에 수렴하므로 initialization에 매우 취약하다는 단점이 존재한다. 그래서 신경망 모델의 데이터 전처리를 위해 k-means 클러스터링이 이용되지 않는 경향이 있다. 하지만, 본 발명의 일실시예에 따른 입력값에 대한 재학습 여부 결정 방법에서는 입력값을 unsupervised learning에 의해 전처리하는 과정으로 클러스터링을 이용하는 것이 아니라, 입력값에 대해 재학습 여부를 결정하는데 클러스터링을 이용하므로 local minimum으로도 신경망 모델의 성능 향상에 도움을 줄 수 있다.
S13에서 이용될 수 있는 확률 혹은 확률 분포 기반의 클러스터링에는 GMM(Gaussian Mixture Model)이 대표적이다. Gaussian Mixture Model, Mixture of Gaussian, GMM, 혹은 MoG는 데이터가 'Gaussian'의 'Mixture'로 구성이 되어있다고 가정한다. 보통 GMM이라고 많이 부르며, 가장 optimal한 GMM을 찾는 알고리즘을 의미한다. 즉, 데이터가 k개의 Gaussian으로 구성되어 있다고 했을 때, 가장 데이터를 잘 설명하는 k개의 평균과 covariance를 찾는 알고리즘이다. 아래 표 1은 3개의 Gaussian으로 구성되어있다고 가정하고 그 Gaussian 분포들을 찾은 결과이다.
3개의 gaussian으로 가정된 클러스터링
GMM의 performance measure는 log likelihood function이다. 즉, 주어진 parameter에 대해 데이터 X의 확률을 가장 크게 만드는 parameter를 찾는 것이 목표가 된다. log likelihood는 ln p(X|θ)로 정의가 된다. parameter θ는 각각의 Gaussian의 평균 μj, covariance Σj, 그리고 각각의 데이터가 각각의 Gaussian에 속할 확률 πj로 구성된다. 따라서 주어진 μj,Σj에 대한 xi의 multinomial Gaussian distribution을 N(xi|μj,Σj)라고 정의한다면 log likelihood function은 다음 수학식 2와 같이 기술할 수 있다.
GMM을 풀기 위해서 사용되는 알고리즘 중 가장 유명한 알고리즘으로는 EM 알고리즘이 존재한다. GMM을 풀기 위한 EM 알고리즘은, 먼저 각각의 데이터가 어느 클러스터에 속할지에 대한 정보(예를 들어, z)를 업데이트 하여 expectation을 계산하고, 다음으로 업데이트 된 정보들을 사용해 나머지 값들로 가장 log likelihood를 최대화하는 parameter들을 (μ,Σ,π를) 찾아낸다. 알고리즘을 돌리면 iteration이 지날 때 마다 점점 좋은 값을 찾아준다.
입력값 재학습 여부 결정 단계(S14)는 S13에서 분류된 각각의 클러스터에 입력값이 포함될 수 있는지 아닌지에 대해 결정하고, 입력값이 특정 클러스터에 포함되는 경우 이를 다시 트레이닝 세트로 입력하며, 입력값이 특정 클러스터에 포함되지 않는 경우 이를 버리는(vanish) 단계이다. 즉, 특정 클러스터의 중심값(centroid)에서의 거리 또는 확률(혹은 확률 분포)을 토대로 해당 입력값의 재학습 여부를 결정하는 단계이다. 이때, 재학습 여부의 결정에서는 K-means 클러스터링의 경우에는 거리 기반으로 특정 cut off value를 설정하여 출력값이 특정 클러스터에 포함되는지 여부를 결정할 수 있고, GMM(Gaussian Mixture Model)의 경우에는 확률 분포 기반으로 특정 σ에 해당되는지 여부를 통해 입력값이 특정 클러스터에 포함되는지 여부를 결정할 수 있다.
도 6은 본 발명의 일실시예에 따른 S14 단계에서 입력값에 대한 재학습 여부를 결정하는 예시를 도시한 것이다. 도 6에 도시된 바와 같이, 클러스터링 된 트레이닝 세트의 특정 클러스터에 입력값이 해당되는지 여부를 통해 입력값에 대한 재학습 여부를 결정하게 된다. 예를 들어, 도 6에서 입력값 a는 클러스터 A에 포함되는 것으로 분류될 수 있으므로 재학습하기로 결정되고, 입력값 b는 클러스터 A, B 어디에도 분류되지 않으므로 재학습하지 않기로 결정된다.
입력값 재학습 단계(S15)는 S14에서 재학습하기로 결정된 입력값에 대해 해당 신경망 모델에 대해 Back propagation 등의 방법으로 재학습을 수행하는 단계이다. 본 발명의 일실시예에 따르면 S15에 의해 재학습하기로 결정된 입력값은 S10의 트레이닝 세트에 포함되게 되며, S13의 각각의 클러스터의 중심(centroid)은 업데이트되게 된다. S14, S15를 통한 클러스터 중심의 업데이트에 의해 재학습이 반복(iteration)될수록 특정 클러스터의 속성이 각각의 사용자에 맞게 강화(다른 사용자의 데이터와 구별)되는 효과가 발생된다. 이는 이하의 실시예에서 사용자 맞춤형 신경망 모델의 구축에 도움을 준다.
도 7은 본 발명의 일실시예에 따른 S15 단계에서 트레이닝 세트의 클러스터 중심의 업데이트를 도시한 예시이다. 도 7에 도시된 바와 같이, 재학습하기로 한 입력값에 의해 클러스터의 중심이 업데이트되어, iteration을 수행할수록 신경망 모델의 성능 향상이 발생될 수 있다.
본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법은, 컴퓨팅 장치에 의해 수행될 수 있도록 기록매체에 저장되는 컴퓨터 프로그램으로 구성될 수 있다.
본 발명의 다른 실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법은, S14 단계에서 입력값의 특정 클러스터의 중심값(centeroid)과의 거리 또는 확률에 따라 입력값이 특정 클러스터에 속하는지에 대해 재학습 가중치라는 값을 정의하고, 재학습 가중치를 입력값에 적용하여 재학습하는 방식으로 수행될 수 있다. 이러한 본 발명의 다른 실시예에 따르면 입력값에 재학습 가중치를 부여하여 모두 트레이닝 세트에 넣어서 재학습하게 된다. 본 발명의 일실시예에 따라 특정 클러스터에 포함되지 않는 입력값을 버리는(vanash)하는 것은 본 발명의 다른 실시예에서는 입력값에 0의 재학습 가중치를 부여하는 것으로 대응될 수 있다.
신경망 모델에서 입력값에 대한 재학습 여부 결정 장치
본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치와 관련하여, 도 8은 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치를 도시한 모식도이다. 도 8에 도시된 바와 같이, 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치(10)는 수신부(100)와 프로세서를 포함할 수 있다.
본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치(10)는 다양한 종류의 컴퓨팅 장치가 포함될 수 있다. 예를 들어, 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치(10)는 서버 또는 클라이언트일 수 있다. 이 경우, 트레이닝 세트로서 수신되는 입력값에 대해 CNN, RNN 등을 포함하는 ANN을 이용하여 학습할 수 있고, 이를 기초로 하여 추후 테스트 세트로서 수신되는 입력값을 신경망 모델에 적용하여 모델의 성능을 검증할 수 있다. 이후, 실제 데이터 세트인 입력값을 신경망 모델에 적용하면 이에 맞는 출력값이 출력되게 된다.
수신부(100)는 스칼라값 또는 벡터값 등으로 구성된 입력값을 트레이닝 세트, 테스트 세트 또는 실제 데이터 세트로서 획득할 수 있다. 수신부(100)는 다양한 통신 기술로 구현 가능하며, 신경망 모델로 입력되는 입력값을 수신할 수 있다.
프로세서는 샘플링 프로세서(101), 신경망 모델 컴퓨팅 프로세서(102), 신경망 모델 트레이닝 프로세서(103), 데이터 전처리 프로세서(104), 클러스터링 프로세서(105), 재학습 여부 결정 프로세서(106), 재학습 프로세서(107), 저장 프로세서(108)를 포함할 수 있다.
샘플링 프로세서(101)는 입력값 중 적어도 일부를 샘플링하여 트레이닝 세트 및 테스트 세트로 구분하는 구성이다.
신경망 모델 컴퓨팅 프로세서(102)는 샘플링 프로세서(101)에서 테스트 세트로 구분된 입력값을 기학습된 신경망 모델에 입력하여 출력값을 도출하는 구성이다. 또한, 신경망 모델 컴퓨팅 프로세서(102)는 수신부(100)에서 실제 데이터 세트가 입력값으로 입력되는 경우, 기학습된 신경망 모델에 입력값을 적용하여 출력값을 계산하는 구성이다.
신경망 모델 트레이닝 프로세서(103)는 샘플링 프로세서(101)에서 트레이닝 세트로 구분된 데이터 세트나, 신경망 모델 컴퓨팅 프로세서(102)에 입력된 입력값 중 재학습하기로 결정된 입력값을 포함하는 트레이닝 세트를 이용하여 신경망 모델의 가중치를 업데이트, 학습하는 구성이다.
데이터 전처리 프로세서(104)는, 상기 입력값이 획득되면 입력값을 행렬 형태의 데이터로 변환하거나 변환하도록 지원하는 프로세스를 수행할 수 있다.
클러스터링 프로세서(105)는, 트레이닝 세트를 클러스터링하여 테스트 세트나 실제 데이터 세트의 입력값이 특정 클러스터에 포함되는지를 판단하기 위한 구성이다.
재학습 여부 결정 프로세서(106)는, 입력값이 특정 클러스터에 포함되는 경우 해당 입력값을 재학습하기로 결정하고, 입력값이 특정 클러스터에 포함되지 않는 경우 해당 입력값을 재학습하지 않기로 결정하는 구성이다. 본 발명의 다른 실시예에 따르면, 재학습 여부 결정 프로세서(106)는 입력값이 특정 클러스터에 얼마나 가까운지에 따라 가중치를 부여하여 해당 입력값을 재학습하도록 구성될 수 있다.
재학습 프로세서(107)는, 재학습하기로 결정된 입력값을 다시 트레이닝 세트로 넣어, back propagation 등의 모델 학습 방법으로 신경망 모델의 가중치를 업데이트하고, 해당 입력값이 포함되는 클러스터의 중심을 업데이트하는 구성이다.
저장 프로세서(108)는, 재학습하지 않기로 결정된 입력값을 서버에 저장하는 구성이다.
이하에서는 압력분포 정보를 이용한 압력 센싱 장치 및 방법을 토대로 본 발명의 일실시예에 따른 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치를 설명하도록 한다. 본 발명의 범위는 압력분포 정보를 이용한 자세 분류에 한정되지 않고, 이미지 정보를 이용한 이미지 캡션 및 검색, 자연어 분석 등과 같은 ANN으로 해결되는 일반적인 application에 적용되는 것을 포함할 수 있다.
압력분포 정보를 이용한 자세 분류 시스템 및 장치
도 9는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 시스템을 도시한 것이다. 도 9에 도시된 바와 같이 압력분포 정보를 이용한 자세 분류 시스템은 압력 센싱 장치(1, 압력분포 센서, 송수신부(100), 전원부 포함), 서버(6), DB(7), 사용자 클라이언트(8)를 포함할 수 있다.
압력 센싱 장치(1)는 사용자의 착석위치에 장착되어 사용자가 압력 센싱 장치 위에 앉았을 때, 압력분포를 센싱하여 출력하는 구성이다. 압력 센싱 장치(1)는 압력분포 센서(2), 송신부(3), 전원부(4), 제어부(5)를 포함할 수 있다.
압력분포 센서(2)는 사용자의 착석 위치에 평면 또는 곡면으로 구성되는 복수개의 압전센서 또는 압력센서가 격자 형태로 분포된 구성을 의미할 수 있다. 압력분포 센서(2)에서는 각각의 압전센서 또는 압력센서에서 생성된 압력값이 컨버팅되어 이미지 또는 행렬 데이터로 형성된 압력분포 정보가 생성될 수 있다.
송신부(3)는 압력분포 센서(2)에서 생성된 압력분포 정보를 제어부(5)가 요청한 특정 시간 간격에 따라 서버(6) 또는 사용자 클라이언트(8)에 송신하는 구성이다. 송신부(3)가 압력분포 정보를 사용자 클라이언트(8)로 송신하는 경우에는 BLE 등의 근거리 통신으로 송신할 수 있다.
전원부(4)는 압력분포 센서(2), 송신부(3), 제어부(5)에 전원을 공급하는 구성이다.
제어부(5)는 압력분포 센서(2)의 센싱 duration, 송신부(3)의 압력분포 정보 송신 등을 제어하는 구성이다.
서버(6)는 압력 센싱 장치(1)에서 직접, 또는 사용자 클라이언트(8)를 통해 압력분포 정보를 수신하고, 사용자 클라이언트(8)에서 특정 압력분포 정보에 대한 레이블(label) 정보를 수신하여 트레이닝 세트를 구성하며, 해당 트레이닝 세트를 이용하여 신경망 모델을 학습하고, 해당 신경망 모델을 이용하여 사용자의 자세 정보를 분류하여 사용자 클라이언트(8)에 출력하는 구성이다.
DB(7)는 서버(6)와 연결되어, 압력 센싱 장치(1)에서 수신되는 압력분포 정보를 시계열 순으로 저장하고, 사용자 클라이언트(8)에서 입력되는 레이블 정보를 해당 압력분포 정보에 연결하여 저장하는 구성이다.
사용자 클라이언트(8)는 서버(6)와 연결되어, 서버(6)에서 압력분포 정보를 수신하거나, 특정 압력분포 정보에 대해 레이블 정보(현재 어떤 자세로 앉아 있는지)를 입력하여 서버(6)로 송신하고, 서버(6)에서 분류된 사용자의 자세 정보를 송신받아 디스플레이하는 구성이다. 본 발명의 일실시예에 따라 사용자 클라이언트(8)가 서버(6)와 압력 센싱 장치(1)의 Access Point 역할을 수행하는 경우에는, 압력분포 정보를 압력 센싱 장치(1)에서 직접 수신할 수 있고, 수신된 압력분포 정보를 서버(6)에 송신하여 신경망 모델을 이용해 사용자의 자세 정보를 분류, 예측할 수 있다. 또는, 사용자 클라이언트(8)의 컴퓨팅 파워가 충분한 경우, 사용자 클라이언트(8)에서 직접 신경망 모델을 컴퓨팅할 수 있다.
도 10은 본 발명의 일실시예에 따른 자세 분류 시스템의 사용자 클라이언트에 디스플레이 되는 화면의 예를 도시한 것이다. 도 10에 도시된 바와 같이, 수신된 압력분포 정보(30)를 인코딩하여 디스플레이하거나, 분류된 사용자의 자세 정보(31)를 송신받아 디스플레이 할 수 있다.
압력분포 정보를 이용한 자세 분류 방법
도 11은 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법을 도시한 흐름도이다. 도 11의 흐름도는 압력분포 정보의 생성은 압력 센싱 장치(1)에서 이루어지고, 신경망 모델의 컴퓨팅은 사용자 클라이언트(8)에서 이루어지고, 재학습 여부 결정 및 클러스터 업데이트는 서버(6)에서 이루어지는 경우를 도시하고 있다. 도 11에 도시된 바와 같이, 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법은, 압력분포 정보 생성단계(S20), 압력분포 정보 송신 단계(S21), 자세 정보 출력 단계(S22), 출력된 자세 정보 송신 단계(S23), 압력분포 정보 플로팅 단계(S24), 재학습 여부 결정 단계(S25), 재학습 단계(S26), 가중치 업데이트 단계(S27), 클러스터 업데이트 단계(S28)를 포함할 수 있다.
압력분포 정보 생성단계(S20)는 압력 센싱 장치(1)에서 사용자의 착석에 따른 압력분포 정보를 생성하는 단계이다.
압력분포 정보 송신 단계(S21)는 압력 센싱 장치(1)에서 사용자 클라이언트(8)에 압력분포 정보를 근거리 통신을 이용하여 송신하는 단계이다.
자세 정보 출력 단계(S22)는 사용자 클라이언트(8)에서 수신한 압력분포 정보를 테스트 세트로 하여 기학습된 신경망 모델을 적용하고, 자세 정보를 출력하는 단계이다.
압력분포 정보 송신 단계(S23)는 사용자 클라이언트(8)에서 압력분포 정보를 서버(6)에 송신하는 단계이다.
압력분포 정보 플로팅 단계(S24)는 서버(6)에서 거리 또는 확률 기반으로 클러스터링 된 트레이닝 세트의 클러스터 정보에 수신된 압력분포 정보를 플로팅하는 단계이다.
재학습 여부 결정 단계(S25)는 서버(6)에서 압력분포 정보가 특정 클러스터에 포함되는지 여부를 통해 재학습 여부를 결정하는 단계이다.
재학습 단계(S26)는 서버(6)에서 재학습하기로 결정한 압력분포 정보에 대해 Back propagation 등의 방법으로 신경망 모델의 가중치를 재학습하는 단계이다.
가중치 업데이트 단계(S27)는 서버(6)에서 재학습되어 업데이트된 신경망 모델의 가중치를 사용자 클라이언트(8)에 송신하는 단계이다.
클러스터 업데이트 단계(S28)는 서버(6)가 재학습하기로 결정한 압력분포 정보를 이용하여 트레이닝 세트의 클러스터 정보에서 클러스터의 중심(centroid)를 업데이트하는 단계이다.
본 발명의 다른 실시예에 따르면, S25에서 압력분포 정보에 재학습 가중치가 결정될 수 있다. 재학습 가중치는 해당 압력분포 정보가 특정 클러스터의 중심값(centroid)에 얼마나 떨어져있는지(거리 또는 확률)로 결정되도록 정의될 수 있다. 또한, 본 발명의 다른 실시예에 따르면 S26에서 압력분포 정보에 재학습 가중치가 적용된 상태에서 신경망 모델의 가중치를 재학습될 수 있다. 예를 들어, 특정 입력값이 특정 클러스터에 포함되면 1의 가중치로 신경망 모델의 재학습에 영향을 주고, 특정 입력값이 특정 클러스터에 포함되지 않으면 0의 가중치로 신경망 모델 재학습에 영향을 주도록 구성될 수 있다.
도 12는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법의 실험결과 그래프를 도시한 것이다. 도 12에서 X축은 evolution, Y축은 accuracy(%)를 나타내고 있다. 도 12는 64개의 압력센서를 설치한 의자에 9개의 자세를 학습한 모델을 이용한 실험예이고, evolution n에서의 입력값을 이용하여 본 발명의 일실시예에 따라 모델에 재학습을 시킨 뒤, evolution n+1을 실험한 것이다. 도 12에 도시된 바와 같이, 본 발명의 일실시예에 따르면 evolution 3 이후부터 모든 자세에서 80% 이상의 분류 정확도가 나오는 것을 확인할 수 있다.
도 13은 기존의 재학습 방법의 압력분포 정보를 이용한 자세 분류 방법의 실험 결과 그래프이다. 도 13에 도시된 바와 같이, 본 발명의 일실시예에 따른 재학습 여부 결정이 없이 노이즈를 포함한 데이터 전부를 재학습하는 경우, evolution 6 이후부터 모든 자세에서 80% 이상의 분류 정확도가 나오는 것을 확인할 수 있다.
도 14는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 방법과 기존 방법의 평균 정확도 비교 그래프이다. 도 14에서 "noised"는 기존의 방법을 의미하고, "cleaned"는 본 발명의 일실시예에 따라 재학습 여부 결정 단계를 포함하는 방법을 의미한다. 도 14에 도시된 바와 같이, 본 발명의 일실시예에 따른 경우의 모델이 훨씬 더 빠른 정확도 상승을 보여주는 것을 확인할 수 있다. 즉, 본 발명의 일실시예에 따른 경우가 기존보다 더 적은 evolution data로도 더 좋은 성능을 내는 모델을 만들 수 있다는 점을 확인할 수 있다. 도 14에 따르면 본 발명의 일실시예에 따르는 경우 evolution 1 이후부터 평균 80%의 정확도가 보장되고, 기존의 방법에 따르는 경우 evolution 3 이후부터 평균 80%의 정확도가 보장되는 것을 확인할 수 있다.
[인공신경망 모델]
도 15는 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 장치의 인공신경망 모델을 도시한 흐름도이다. 도 15에 도시된 바와 같이, 본 발명의 일실시예에 따른 압력분포 정보를 이용한 자세 분류 장치는 크게 클러스터 중심 파이프라인(20), 재학습 여부 결정 장치(10), 인공신경망 파이프라인(21)을 포함할 수 있다.
클러스터 중심 파이프라인(20)은 교정 모듈(203)과 클러스터 중심 업데이트 모듈(204)을 포함할 수 있고, 레이블드 데이터(200, labeled data)와 세미 레이블드 데이터(201, semi-labeled data)를 수신하여 encoder(210)의 초기화/decoder(213)의 업데이트 및 클러스터 중심 초기화 및 업데이트를 수행하는 파이프라인이다.
레이블드 데이터(200)는 자세 정보와 이미 매칭된 압력분포 정보를 의미한다. 인공신경망 파이프라인(21)을 supervised learning 시키기 위한 데이터 세트이다.
세미 레이블드 데이터(201)는 특정 사용자가 자신의 자세와 압력분포 정보를 매칭한 데이터이다. 본 발명의 일실시예에 따르면 세미 레이블드 데이터(201)는 특정 사용자가 클러스터 중심 파이프라인(20)에 입력하는 캘리브레이션 데이터(calibration data)일 수 있고, 최종적으로 분류되는 자세 정보의 일부에 대해 사용자에 의해 레이블링 될 수 있다.
교정 모듈(203)은 레이블드 데이터(200)와 세미 레이블드 데이터(201)의 분포상 차이를 최소화하는 방향으로 레이블드 데이터(200) 또는 세미 레이블드 데이터(201)를 교정(calibration)하여 교정 정보를 생성하는 모듈이다. 교정 모듈(203)은 레이블드 데이터와 세미 레이블드 데이터의 차이를 최소화하는 방향으로 레이블드 데이터(200) 또는 세미 레이블드 데이터(201)를 교정(calibration)하여 생성된 교정 정보를 토대로 encoder(210)의 가중치를 초기화하며 클러스터 중심 업데이트 모듈(204)의 클러스터 중심을 초기화하게 된다. 본 발명의 일실시예에 따르면 교정 모듈(203)에 의해 클러스터링 중심 파이프라인(20)과 인공신경망 파이프라인(21)이 각각 세미 레이블드 데이터(201)에 의해 사용자에게 맞춤형으로 초기화될 수 있는 효과가 발생된다.
클러스터 중심 업데이트 모듈(204)은 교정 모듈(203)에서 생성된 교정 정보를 토대로 레이블드 데이터(200)의 클러스터 중심(cluster centroid)을 초기화하고, 재학습 여부 결정장치(10)에서 재학습하기로 결정된 언레이블드 데이터(202)를 토대로 레이블드 데이터(200)의 클러스터 중심을 업데이트하며, 업데이트된 레이블드 데이터의 클러스터 중심을 토대로 인공신경망 파이프라인을 업데이트(재학습)하는 모듈이다.
인공신경망 파이프라인(21)은 사용자에 의해 입력되는 언레이블드 데이터(202, unlabeled data)를 수신하여 기학습된 인공신경망을 지나 해당 언레이블드 데이터(202)를 기반으로 분류된 자세 정보를 자세 출력 데이터(214)로 출력(추론, inference)하는 파이프라인을 의미한다. 본 발명의 일실시예에 따른 인공신경망 파이프라인(21)은 인코더(210, encoder), 잠재변수부(211, Latent variable), 특징추출부(212, extracted feature), 디코더(213, decoder)를 포함할 수 있다.
언레이블드 데이터(202)는 사용자에 의해 입력되는 자세 정보와 매칭 또는 자세 정보로 분류되지 않은 압력분포 정보를 의미할 수 있다.
인코더(210)는 Convolution Neural Network과 같은 인공 신경망의 인코더를 의미할 수 있다.
잠재변수부(211)는 인코더(210)의 결과에서 특징추출부에서 빠진 임의의 노이즈 (정규분포화된)를 의미할 수 있다.
특징추출부(212)는 인코더(210)에 의해 출력되는 분류된 특징인 자세 정보를 의미할 수 있고 이는 사용자에게 자세 구별을 알려주는 역할을 할 수 있다.
디코더(213)는 잠재변수와 추출된 자세와 관련된 특징 정보를 토대로 압력분포 데이터를 새롭게 생성하거나 재현하기 위해 디코딩하는 Convolution Neural Network을 의미할 수 있다.
자세 생성 데이터(214)는 인공신경망 파이프라인(21)에 있는 특징추출부를 훈련시키기 위한 가상의 사용자 자세 압력분포를 의미할 수 있다.
재학습 여부 결정장치(10)는 언레이블드 데이터(202), 잠재변수부(211)의 잠재변수, 특징추출부(212)의 자세 정보, 클러스터 중심 업데이트 모듈(204)의 클러스터 중심을 토대로 언레이블드 데이터(202)의 재학습 여부를 결정하는 장치이다. 본 발명의 일실시예에 따른 재학습 여부 결정장치(10)에 의해 재학습되기로 결정된 입력값이 속하는 클러스터의 중심값(centroid)를 업데이트하여 신경망 모델의 성능을 개인에 맞게 향상시킬 수 있는 효과가 있다.
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 청구범위에 의하여 나타내어지며, 청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.
1: 압력 센싱 장치
2: 압력분포 센서
3: 송수신부
4: 전원부
5: 제어부
6: 서버
7: DB
8: 사용자 클라이언트
10: 신경망 모델에서 입력값에 대한 재학습 여부 결정 장치
20: 클러스터 중심 파이프라인
21: 인공신경망 파이프라인
100: 수신부
101: 샘플링 프로세서
102: 신경망 모델 테스트 프로세서
103: 신경망 모델 트레이닝 프로세서
104: 데이터 전처리 프로세서
105: 클러스터링 프로세서
106: 재학습 여부 결정 프로세서
107: 재학습 프로세서
108: 저장 프로세서
200: 레이블드 데이터
201: 세미 레이블드 데이터
202: 언레이블드 데이터
203: 교정 모듈
204: 클러스터 중심 업데이트 모듈
210: 인코더
211: 잠재변수부
212: 특징추출부
213: 디코더
214: 자세 생성 데이터

Claims (5)

  1. 사용자의 착석에 따라 압력 센싱 장치에서 생성되고 특정 자세가 레이블링(Labeling)되지 않은 압력분포 정보인 언레이블드 데이터(Unlabeled data)를 입력받고, 인코딩되어 분류된 자세 정보를 출력부인 특징추출부에서 출력하는 인코더;
    상기 자세 정보에 대해 임의의 노이즈를 잠재변수로 적용하는 잠재변수부;
    상기 잠재변수부에서 상기 잠재변수가 적용된 상기 자세 정보를 입력받고, 상기 잠재변수가 적용된 상기 자세 정보를 기초로 상기 사용자에 대한 가상의 자세 압력분포인 자세 생성 데이터를 출력하는 디코더;
    상기 사용자의 착석에 따라 상기 압력 센싱 장치에서 생성되고 상기 사용자에 의해 특정 자세로 레이블링(Labeling) 된 압력분포 정보인 세미 레이블드 데이터(Semi-labeled data)를 수신하고, 특정 자세가 레이블링되어 기저장된 압력분포 정보인 레이블드 데이터(Labeled data)와 상기 세미 레이블드 데이터의 분포상 차이를 최소화 하는 방향으로 상기 레이블드 데이터 또는 상기 세미 레이블드 데이터를 교정하여 교정 정보를 생성하며, 상기 교정 정보를 기초로 상기 인코더의 가중치를 초기화하는 교정 모듈;
    상기 교정 정보를 토대로 상기 레이블드 데이터의 클러스터 중심(cluster centroid)을 초기화하고, 상기 언레이블드 데이터를 토대로 상기 레이블드 데이터의 상기 클러스터 중심을 업데이트하며, 업데이트된 상기 레이블드 데이터의 상기 클러스터 중심을 토대로 상기 인코더 및 상기 디코더를 업데이트하는 클러스터 중심 업데이트 모듈; 및
    상기 언레이블드 데이터, 상기 잠재변수, 상기 자세 정보 및 상기 클러스터 중심을 토대로 상기 언레이블드 데이터의 재학습 여부를 결정하는 재학습 여부 결정 모듈;
    를 포함하고,
    상기 자세 생성 데이터는 상기 인코더의 학습(Training)에 이용되며,
    상기 재학습 여부 결정 모듈에서의 상기 언레이블드 데이터에 대한 재학습 여부 결정은, 상기 클러스터 중심 업데이트 모듈에 의해 상기 레이블드 데이터의 상기 클러스터 중심이 업데이트 되고, 상기 언레이블드 데이터를 상기 레이블드 데이터의 클러스터링 분포에 플로팅(plotting) 하며, 상기 언레이블드 데이터가 상기 레이블드 데이터의 상기 클러스터링 분포 중 하나인 특정 클러스터에 포함되는지 여부를 판단하고, 상기 언레이블드 데이터와 상기 특정 클러스터의 중심값(centroid) 사이의 거리를 토대로 상기 언레이블드 데이터의 재학습 여부 또는 재학습 가중치를 결정하며,
    상기 클러스터 중심 업데이트 모듈은, 상기 재학습 여부 결정 모듈에서 상기 재학습 여부 또는 상기 재학습 가중치에 의해 재학습하기로 결정된 상기 언레이블드 데이터를 토대로 상기 레이블드 데이터의 상기 클러스터 중심을 업데이트하는 것을 특징으로 하는,
    언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
KR1020170084646A 2017-07-04 2017-07-04 언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치 KR102031982B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170084646A KR102031982B1 (ko) 2017-07-04 2017-07-04 언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170084646A KR102031982B1 (ko) 2017-07-04 2017-07-04 언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치

Publications (2)

Publication Number Publication Date
KR20190004429A KR20190004429A (ko) 2019-01-14
KR102031982B1 true KR102031982B1 (ko) 2019-10-14

Family

ID=65027825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170084646A KR102031982B1 (ko) 2017-07-04 2017-07-04 언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치

Country Status (1)

Country Link
KR (1) KR102031982B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230155658A (ko) 2022-05-03 2023-11-13 동국대학교 산학협력단 시계열 분류를 위한 능동 학습 장치 및 그 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109979161B (zh) * 2019-03-08 2021-04-06 河海大学常州校区 一种基于卷积循环神经网络的人体跌倒检测方法
WO2020231188A1 (ko) * 2019-05-13 2020-11-19 삼성전자주식회사 검증 뉴럴 네트워크를 이용한 분류 결과 검증 방법, 분류 결과 학습 방법 및 상기 방법을 수행하는 컴퓨팅 장치
WO2021125431A1 (ko) * 2019-12-19 2021-06-24 주식회사 노타 분산 평준화를 통한 딥러닝 모델 초기화 방법 및 장치
CN112328804A (zh) * 2020-10-26 2021-02-05 北京黑岩方碑网络科技有限公司 确定学习情况的方法、装置以及存储介质
KR102433598B1 (ko) * 2020-11-26 2022-08-18 (주)심플랫폼 데이터 경계 도출 시스템 및 방법
KR102544936B1 (ko) * 2020-12-30 2023-06-16 동서대학교 산학협력단 압력센서를 이용한 머신러닝 기반의 자세 판별 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103257A (ja) * 1992-09-17 1994-04-15 Yamatake Honeywell Co Ltd 事例から学習するシステムのための例外処理装置
US10417525B2 (en) 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230155658A (ko) 2022-05-03 2023-11-13 동국대학교 산학협력단 시계열 분류를 위한 능동 학습 장치 및 그 방법

Also Published As

Publication number Publication date
KR20190004429A (ko) 2019-01-14

Similar Documents

Publication Publication Date Title
KR102031982B1 (ko) 언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치
US11829876B2 (en) Intelligent regularization of neural network architectures
US11049011B2 (en) Neural network classifier
Gao et al. Deep gate recurrent neural network
US11210589B2 (en) Learning coach for machine learning system
Suliman et al. A review on back-propagation neural networks in the application of remote sensing image classification
CN108647583B (zh) 一种基于多目标学习的人脸识别算法训练方法
CN116635866A (zh) 用于挖掘少数类数据样本以训练神经网络的方法和系统
US9424514B2 (en) Synapse maintenance in the developmental networks
TW201626293A (zh) 由知識圖譜偏置的資料分類
Adigun et al. Using noise to speed up video classification with recurrent backpropagation
WO2018092957A1 (ko) 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법, 장치 및 프로그램
US11676027B2 (en) Classification using hyper-opinions
KR101963556B1 (ko) 인공 신경망을 이용한 시계열적 자세 예측 장치
KR20190035635A (ko) 인공 신경망을 이용한 시계열적 자세 예측 장치
US11526757B2 (en) Systems and methods for deep learning with small training sets
Gueorguieva et al. Solving large scale classification problems with stochastic based optimization
KR20190061381A (ko) Cnn 분류 모델에서의 하드웨어 변수 자동화 방법 및 장치
Rajini et al. Performance evaluation of neural networks for shape identification in image processing
Neukart et al. A Machine Learning Approach for Abstraction Based on the Idea of Deep Belief Artificial Neural Networks
Mainkar Improved initialization for the multi layer perceptron
Dawood et al. Robot behaviour learning using topological gaussian adaptive resonance hidden markov model
Sarma et al. Fundamental considerations of ANN
Crowley Machine learning with neural networks
KR20190061382A (ko) Cnn 분류 모델에서의 전처리 방법 및 장치

Legal Events

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