KR102647331B1 - 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템 - Google Patents

시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템 Download PDF

Info

Publication number
KR102647331B1
KR102647331B1 KR1020230088648A KR20230088648A KR102647331B1 KR 102647331 B1 KR102647331 B1 KR 102647331B1 KR 1020230088648 A KR1020230088648 A KR 1020230088648A KR 20230088648 A KR20230088648 A KR 20230088648A KR 102647331 B1 KR102647331 B1 KR 102647331B1
Authority
KR
South Korea
Prior art keywords
time series
series data
data
sampling
unit
Prior art date
Application number
KR1020230088648A
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 KR1020230088648A priority Critical patent/KR102647331B1/ko
Application granted granted Critical
Publication of KR102647331B1 publication Critical patent/KR102647331B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2263Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/26Discovering frequent patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템이 제공되며, 적어도 하나의 시계열 데이터를 업로드하고, 적어도 하나의 시계열 데이터 중 의미있는 정보를 수신, 저장 및 관리하는 사용자 단말 및 사용자 단말로부터 적어도 하나의 시계열 데이터를 업로드받는 수신부, 적어도 하나의 시계열 데이터를 패턴 기반으로 분할하는 분할부, 분할된 구간의 분포를 기반으로 분할된 구간보다 이전 시점의 시계열 데이터 내 유사한 분포를 보이는 구간이 있는지의 여부를 확인하는 확인부, 유사한 분포를 보이는 구간을 확보한 후 데이터 샘플링을 진행하는 샘플링부, 데이터 샘플링의 결과 분할된 구간과 유사한 패턴이 존재하는 경우, 유사한 패턴이 존재하는 구간의 시계열 데이터를 의미있는 정보로 설정하는 설정부, 사용자 단말로 의미있는 정보를 전송하는 전송부를 포함하는 샘플링 서비스 제공 서버를 포함한다.

Description

시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템{SYSTEM FOR PROVIDING TIME-SERIES DATA BASED DATA SAMPLING SERVICE}
본 발명은 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템에 관한 것으로, 시계열 데이터를 패턴을 기반으로 분할하고, 분할된 구간과 유사한 구간의 샘플링 결과가 유사한 경우, 유사한 패턴이 존재하는 구간의 시계열 데이터를 의미있는 정보로 저장 및 관리하는 시스템을 제공한다.
로봇에 부착된 센서를 통해 수집되는 센싱 데이터는 대표적인 시계열 데이터로, 작업의 수행 시간에 따른 상태변화를 반영하여 수집된다. 시계열 데이터의 분석은 고정된 시간 구간의 관측치를 기준으로 이루어지며, 같은 데이터임에도 불구하고 관측 범위에 따라 패턴을 발견할 수 있는지 여부가 달라진다. 로봇의 동일한 프로그램의 연속 동작에 의해 수집된 위치 데이터를 시간의 순서로 나열하는 경우, 동일한 위치에서 샘플링한 데이터셋이라도 창 크기(Window Size)에 따라 다른 패턴을 보이고, 같은 창 크기라도 어떤 위치에서 샘플링을 하는지에 따라 데이터의 패턴이 다르므로 샘플링 위치(Sampling Point)의 영향을 받는다. 이처럼, 적절한 창 크기의 선정과 샘플링 위치에 따라 시계열 데이터가 구간별로 추출될 수 있다. 이때, 샘플링된 데이터의 주요 특징 추출에는 분할된 데이터의 유사도 측정이 주로 사용되는데, 이산 시계열 데이터 비교에 적합한 DTW(Dynamic Time Warping), 통계적 방법인 CC(Correlation Coefficient), 코사인 유사도(Cosine Similarity) 등을 통하여 시계열 데이터 유사도 기반 특징 추출을 수행하고 있다.
이때, 시계열 데이터를 코사인 유사도에 기반하여 분류하거나 시계열 데이터의 상태변화(Transition)의 유사도를 기반으로 분류하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국공개특허 제2021-0001162호(2021년01월06일공개) 및 한국공개특허 제2014-0143285호(2014년12월16일 공개)에는, 시계열 데이터를 주파수 영역으로 변환하여 스펙트럼 벡터를 생성하고, 샘플링 주파수를 고려하여 리샘플링한 후, 리샘플링된 스펙트럼 벡터를 코사인 유사도에 기반하여 비교 및 분류하는 구성과, 시계열 데이터의 상태변화의 순서를 결정하고, 상태변화의 순서가 동일한 시계열 데이터를 동일한 시계열 데이터로 식별 및 분류하는 구성이 각각 개시되어 있다.
다만, 전자의 경우 시계열 데이터가 이미 획득된 것을 전제로 하므로 초 당 수 천 개의 시계열 데이터가 생성되는 환경에서 어떻게 의미있는 시계열 데이터를 분류 및 저장할 것인지에 대한 구성이 없다. 후자의 경우에도 마찬가지로 상태변화에 따라 유사도를 구분하므로 의미있는 시계열 데이터를 구분하지 않았거나 구분하는 구성을 개시하고 있지 않다. 시계열 데이터가 대규모로 수집되는 경우에는 의미있는 정보를 수집, 관리 및 활용하는 것이 매우 중요하다. 또, 시계열 데이터는 시간이 흐르면서 패턴이 변하기 때문에, 무조건 대규모의 데이터를 분석한다고 해서 예측력을 높일 수 있는 것도 아니다. 시계열 데이터가 단위시간 당 대규모로 수집되는 경우 용량이 매우 크므로, 의미있는 정보의 구간을 식별 및 분류하는 구성이 필수적이다. 이에, 시계열 데이터의 효율적인 분석을 위해 시계열 데이터를 분할하고, 분할한 구간의 구간별, 액션별 및 패턴별 분류를 수행함으로써 의미있는 정보만 수집, 저장 및 학습할 수 있도록 하는 시스템의 연구 및 개발이 요구된다.
본 발명의 일 실시예는, 시계열 데이터를 수집하고, 수집된 시계열 데이터를 패턴 기반으로 분할하며, 분할된 구간의 분포를 기반으로 분할된 구간보다 이전 시점의 시계열 데이터 내 유사한 분포를 보이는 구간이 있는지의 여부를 확인하고, 유사한 분포를 보이는 구간을 확보한 후 데이터 샘플링을 진행하며, 데이터 샘플링을 진행해도 분할된 구간과 유사한 패턴이 존재하는 경우, 유사한 패턴이 존재하는 구간의 시계열 데이터를 의미있는 정보로 저장함으로써, 대규모로 수집되는 시계열 데이터 내에서 의미있는 정보의 구간만을 식별 및 분류하고, 의미있는 정보를 기반으로 예측모델을 학습 및 검증할 수 있도록 하는, 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 적어도 하나의 시계열 데이터를 업로드하고, 적어도 하나의 시계열 데이터 중 의미있는 정보를 수신, 저장 및 관리하는 사용자 단말 및 사용자 단말로부터 적어도 하나의 시계열 데이터를 업로드받는 수신부, 적어도 하나의 시계열 데이터를 패턴 기반으로 분할하는 분할부, 분할된 구간의 분포를 기반으로 분할된 구간보다 이전 시점의 시계열 데이터 내 유사한 분포를 보이는 구간이 있는지의 여부를 확인하는 확인부, 유사한 분포를 보이는 구간을 확보한 후 데이터 샘플링을 진행하는 샘플링부, 데이터 샘플링의 결과 분할된 구간과 유사한 패턴이 존재하는 경우, 유사한 패턴이 존재하는 구간의 시계열 데이터를 의미있는 정보로 설정하는 설정부, 사용자 단말로 의미있는 정보를 전송하는 전송부를 포함하는 샘플링 서비스 제공 서버를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 시계열 데이터를 수집하고, 수집된 시계열 데이터를 패턴 기반으로 분할하며, 분할된 구간의 분포를 기반으로 분할된 구간보다 이전 시점의 시계열 데이터 내 유사한 분포를 보이는 구간이 있는지의 여부를 확인하고, 유사한 분포를 보이는 구간을 확보한 후 데이터 샘플링을 진행하며, 데이터 샘플링을 진행해도 분할된 구간과 유사한 패턴이 존재하는 경우, 유사한 패턴이 존재하는 구간의 시계열 데이터를 의미있는 정보로 저장함으로써, 대규모로 수집되는 시계열 데이터 내에서 의미있는 정보의 구간만을 식별 및 분류하고, 궁극적으로 의미있는 정보를 기반으로 예측모델을 학습 및 검증할 수 있도록 함으로써 예측모델의 예측 정확도를 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 샘플링 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 시계열 데이터 기반 데이터 샘플링 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 시계열 데이터 기반 데이터 샘플링 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 샘플링 서비스 제공 서버(300), 적어도 하나의 로봇(400)을 포함할 수 있다. 다만, 이러한 도 1의 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(Network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 샘플링 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 샘플링 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 로봇(400)과 연결될 수 있다. 또한, 적어도 하나의 로봇(400)은, 네트워크(200)를 통하여 샘플링 서비스 제공 서버(300)와 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 시계열 데이터 기반 데이터 샘플링 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 로봇(400)으로부터 수신된 시계열 데이터 중 의미있는 정보를 추출하고, 추출된 의미있는 정보를 저장, 관리, 학습 및 검증함으로써 예측모델에 이용하고자 하는 단말일 수 있다.
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
샘플링 서비스 제공 서버(300)는, 시계열 데이터 기반 데이터 샘플링 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 샘플링 서비스 제공 서버(300)는, 로봇(400)으로부터 수신된 시계열 데이터를 패턴을 기반으로 각 구간으로 분할하고, 분할된 구간 내 분포가 유사한 구간이 존재하는지의 여부를 파악하며, 분포가 유사한 구간을 샘플링한 결과 분할된 구간과 유사한 패턴이 존재하는 경우, 유사한 패턴이 존재하는 구간의 시계열 데이터를 의미있는 정보로 설정, 저장, 학습 및 검증함으로써 예측모델에 이용하는 서버일 수 있다.
여기서, 샘플링 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 로봇(400)은, 시계열 데이터 기반 데이터 샘플링 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하거나 이용하지 않고 적어도 하나의 시계열 데이터를 샘플링 서비스 제공 서버(300)로 제공하는 로봇일 수 있다.
여기서, 적어도 하나의 로봇(400)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 로봇(400)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 로봇(400)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 샘플링 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 시계열 데이터 기반 데이터 샘플링 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 샘플링 서비스 제공 서버(300)는, 수신부(310), 분할부(320), 확인부(330), 샘플링부(340), 설정부(350), 유사분류부(360), 이미지화부(370), 이미지화부(380), 클러스터링부(390), 액션분류부(391), 인공지능부(393), 예지보전부(395), 빅데이터화부(397)를 포함할 수 있다.
본 발명의 일 실시예에 따른 샘플링 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100)로 시계열 데이터 기반 데이터 샘플링 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100)는, 시계열 데이터 기반 데이터 샘플링 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.
도 2를 참조하면, 수신부(310)는, 사용자 단말(100)로부터 적어도 하나의 시계열 데이터를 업로드받을 수 있다. 사용자 단말(100)은, 적어도 하나의 시계열 데이터를 업로드할 수 있다. 시계열 데이터는, 단위시간 당 기 설정된 수 이상의 데이터가 수집되는 경우의 시계열 데이터일 수 있는데, 예를 들어, 1 초 당 1000 개의 시계열 데이터가 수집되는 경우일 수 있다. 여기서 시계열 데이터에는 다양한 종류의 데이터가 포함될 수 있지만, 스마트팩토리에 적용되는 로봇(400)의 경우 예를 들어, ① 위치 데이터(Position Data), ② 속도 데이터(Speed Data), ③ 토크 데이터(Torque Data), ④ 엔드이펙터 데이터(End-Effector Data), ⑤ 기타 모니터링 데이터(Monitoring Data), ⑥ 디바이스 데이터(Device Data), ⑦ 조인트 데이터(Joint Data), ⑧ 센서 데이터(Sensor Data) 등을 포함할 수 있다.
① 위치 데이터(Position Data)는, 위치 데이터는 로봇(400)의 각 관절별 위치를 의미한다. 관점에 따라 크게 각위치(Angular Position) 데이터와 좌표위치 데이터로 구분된다. 각위치 데이터는 모션에 의해 모터가 틀어진 각도를 나타내는 반면, 좌표위치 데이터는 로봇(400)이 설치(Mount)된 1축의 위치를 원점으로 하여, 관찰하고자 하는 축의 위치를 3차원 좌푯값으로 나타낸 것을 의미한다. 이러한 위치 데이터는 로봇(400)의 관절별 움직임을 확인하기 쉬우므로 기본적인 데이터로 활용된다. ② 속도 데이터(Speed Data)는 ①에서 분석한 위치 데이터를 시간축에 따라 미분한 값을 의미한다. 따라서, 각위치(Angular Position)를 미분한 경우, 순간 각속도(°/sec 또는 rad/sec)가 되며, 좌표위치를 미분한 경우, 축에 따라 순간 속도 값(x/sec, y/sec, z/sec)을 얻을 수 있다. 또한, 속도 데이터를 시간축에 따라 다시 한 번 미분하게 되면, 가속도 데이터를 얻을 수 있다. 이와 같은 속도, 가속도 데이터의 경우 동일위치에 도달하기 위해 걸리는 시간을 비교 분석할 수 있으며, 결함을 갖는 경우 발생하는 민감한 차이를 검출할 수 있어 다양한 방면으로 활용되고 있다.
③ 토크 데이터(Torque Data)는 로봇(400)의 각 관절별 모션을 수행하며, 관절에 인가되고 있는 회전힘을 나타낸다. 측정방식에 따라, 전류 기반의 토크와 센서 기반의 토크 데이터로 구분된다. 전류 기반의 토크(Current-Based Torque)는 모터에 인가되는 전류값을 기반으로, 토크상수를 곱하여 획득되는 회전힘을 나타내는 것으로 관절 내부에서 작용되는 힘을 나타낸다. 반면, 센서 기반의 토크(Sensor-Based Torque)는 관절 외부에 토크 센서가 장착되어, 관절에서 감지된 토크 값을 의미한다. 이와 같은 센서 기반의 토크는 외력이 작용하는 경우, 값이 크게 달라져 충돌을 감지하기 위해 사용되기도 한다. 마지막으로 진동 데이터의 경우, 센서 기반의 토크와 마찬가지로 관절 외부에 진동 센서를 장착하여 측정된 데이터를 나타낸다. 그러나 진동 데이터의 경우, 외력에 민감하여 노이즈에 취약하다는 한계점을 지니고 있다. ④ 엔드이펙터 데이터(End-Effector Data)는 로봇(400)의 말단축에 장착되는 엔드이펙터에 따라 수집될 수 있는 데이터를 의미한다. 엔드이펙터의 종류에는 픽앤플레이스(Pick and Place) 작업을 수행할 수 있는 그리퍼(Gripper), 진공 펌프(Vacuum Pump) 등이 존재한다. 따라서, 각 작업을 수행할 때, 측정이 필요한 무게(Weight), 압력(Pressure) 센서 데이터 등이 존재할 수 있다. 이와 같은 데이터는 로봇(400)의 작업 수행 성능 평가를 확인하기 위한 기본적인 센서 데이터로 활용된다.
⑤ 기타 모니터링 데이터(Monitoring Data)는 로봇(400)의 모션을 파악하기 위해, 직접적인 영향을 미치지는 않지만, 지속적인 모니터링이 필요한 데이터를 의미한다. 예를 들어, 온도의 경우 동작에 따라 밀접한 연관성을 지니고 있지는 않지만, 무리한 실행이 나 오류 상황이 발생한다면 모터 과열로 인한 높은 온도가 측정될 가능성이 매우 크다. 또한, 전력의 경우 역시, 모터나 브레이크에 인가되는 전력값으로 높은 전력 부하 상황을 측정할 수 있다. 달리 말하면, 온도나 전력과 같은 데이터는 로봇(400) 동작에 따른 밀접한 연관성은 떨어지지만, 결함이나 고장 상황에 직결될 수 있다. 따라서, 지속적인 모니터링이 필요하고, 대부분의 로봇(400)에는 안전 및 위험 관리를 위해, 온도와 전력 측정 장비가 내장된다. 이 외에도 다양한 시계열 데이터가 수집될 수 있음은 물론이라 할 것이다.
분할부(320)는, 적어도 하나의 시계열 데이터를 패턴 기반으로 분할할 수 있다. 패턴 기반 분류는 유사분류부(370)에서 후술하겠지만, 예를 들어 로봇(400)의 동작 구간별로 패턴을 추출할 수도 있고, 이 추출된 패턴을 기반으로 구간을 분할할 수도 있으며, 주기성을 갖는 패턴이라면 시계열적인 주기를 패턴으로 분할할 수도 있고, 기준이 되는 특정 패턴을 설정한 후 유사 패턴을 찾을 범위(Window Size)을 설정하여 패턴을 찾을 반복횟수를 구한 후 유사도를 기반으로 패턴을 찾을 수도 있다. 이는 나열된 것들로 한정되지 않고 열거되지 않은 이유로 배제되지 않는다.
확인부(330)는, 분할된 구간의 분포를 기반으로 분할된 구간보다 이전 시점의 시계열 데이터 내 유사한 분포를 보이는 구간이 있는지의 여부를 확인할 수 있다. 예를 들어, A 파형을 보이는 패턴을 기반으로 구간을 분할했다면, A 파형이 현재 시점 이외에 과거 시점에도 유사한 패턴을 보이는지를 확인할 수 있다. 만약 현재 시점을 기준으로 1 회만 출현하는 패턴이라면 데이터 샘플링을 할 데이터로 적절하지 않기 때문이다. 이때, 데이터 샘플링이란, 투표 예측을 할 때 표본집단을 뽑아서 예측하는 것과 같이, 1 초에 1000 개나 생성되는 무수한 시계열 데이터 중 전체 시계열 데이터가 아닌 일부, 즉 샘플(표본)을 선택하여 전체 시계열 데이터를 대표하도록 하는 작업이다. 이에, 과거에도 유사한 분포를 보이는 구간이 발견되었는지의 여부를 파악한다.
샘플링부(340)는, 유사한 분포를 보이는 구간을 확보한 후 데이터 샘플링을 진행할 수 있다. 데이터 샘플링을 하는 방법은 다양할 수 있는데, 예를 들어, 각 구간에서 무작위(Random)로 샘플링을 하는 방법(Simple Random Sampling), 기 설정된 규칙을 설정한 후 샘플링을 하는 방법(Systematic Sampling), 각 구간 내 시계열 데이터를 복수의 그룹으로 나누고, 각 그룹별 무작위 추출을 진행함으로써 샘플링을 하는 방법(Stratified Random Sampling), 각 구간을 미리 복수의 그룹으로 나누고, 각 그룹을 무작위로 선택함으로써 샘플링을 하는 방법(Cluster Sampling) 등일 수 있으나, 나열된 것들로 한정되지 않고 열거되지 않은 이유로 배제되지 않는다. 시계열 데이터를 샘플링하는 가장 단순한 방법은 일정한 주파수와 시간 길이를 정한 다음 데이터에서 일정 간격의 데이터를 취득하는 샘플링(Sampling)이다. 이러한 데이터 샘플링은 샘플링 주기가 너무 클 경우 데이터를 왜곡시킬 수 있으므로 일정 시간 동안의 데이터 세그먼트(Segment)에 대한 평균을 사용하는 방법으로 PAA(Piecewise Aggregate Approximation)를 이용하거나, 데이터 세그먼트에 대한 시간 간격을 가변하는 APCA(Adaptive Piecewise Aggregate Approximation)를 이용할 수도 있다. 또는 시계열 데이터의 차원을 축소하는 방법을 이용할 수도 있는데, 고품질 차원 축소를 보장하는 샘플링 기법인 CWS(Consistent Weighted Sampling)이나, Improved CWS(ICWS)를 이용할 수도 있다.
설정부(350)는, 데이터 샘플링의 결과 분할된 구간과 유사한 패턴이 존재하는 경우, 유사한 패턴이 존재하는 구간의 시계열 데이터를 의미있는 정보로 설정할 수 있다. 과거에도 존재했고 샘플링을 한 결과도 유사하다면 이는 구간을 대표하는 의미있는 정보로 설정될 수 있고, 1 초에 1000 개의 시계열 데이터를 모두 저장하는 것이 아니라, 이렇게 의미있는 정보로 설정된 시계열 데이터만을 저장함으로써 이후 예측모델을 학습시킬 때에도 고품질의 전처리 및 샘플링된 시계열 데이터를 이용할 수 있고, 그 수가 줄어든 시계열 데이터를 학습 및 검증할 때에도 예측모델의 복잡도도 감소하며 그 결과도 정확도가 훨씬 증대될 수 있다.
전송부(360)는, 사용자 단말(100)로 의미있는 정보를 전송할 수 있다. 사용자 단말(100)은, 적어도 하나의 시계열 데이터 중 의미있는 정보를 수신, 저장 및 관리할 수 있다. 시계열 데이터인 원본 데이터의 일부이면서 상대적으로 적은 규모의 의미있는 정보에 대해 학습 데이터셋을 구축하는 방법이 보다 합리적인 방법이다. 의미있는 정보를 이용하여 학습 데이터셋을 구축하고 이를 이용하여 학습 모델을 생성할 수 있다. 이때, 의미있는 정보 또한 시계열 데이터로부터 추출된 데이터이므로 샘플링 데이터이나, 샘플링부(340)의 용어와 구분을 위하여 의미있는 정보로 명명하기로 한다.
유사분류부(370)는, 적어도 하나의 시계열 데이터를 패턴 기반으로 분할할 때, 시계열 데이터 간 유사도를 측정하기 위하여 DTW(Dynamic Time Warping)를 이용하여 기 설정된 워핑 윈도우(Warping Window) 내 시계열 데이터와 비교한 후 가장 단거리에 대응하는 워핑 패스(Warping Path)를 찾아낸 후 시계열 데이터 간 유사도를 계산하도록 할 수 있다. DTW는 시계열 데이터 간 유사도 척도로 두 시계열 데이터 간 유사도 계산시 타임스탬프가 같은 측정치 둘 만 비교하는 것이 아니라, 미리 정의된 워핑 윈도우(Warping Window) 내의 모든 측정치와 비교해서 가장 단거리에 해당하는 워핑 경로(Warping Path)를 찾아내어 시계열 데이터 간 유사도를 계산한다. DTW 외에도 매우 다양한 시계열 유사도 척도들이 있지만,시계열 유사도 기반 검색이나 시계열 분류 및 군집화 등 다양한 시계열 분석 작업 시 일반적으로 고품질의 결과를 생성하는 시계열 유사도 척도는 DTW이다.
참고로,시계열 유사도 검색 결과의 품질을 평가 시 기준이 되는 유사도 척도가 존재하지 않으므로 시계열 유사도 검색 결과의 품질은 예를 들어, 최근접 이웃 분류(1-Nearest Neighbor Classification) 시의 분류 정확도로 평가할 수 있다. 이때, 시계열 데이터의 유사도를 계산할 때 속도를 향상시키기 위해 DWT 최적화 기법인 I(Incremental)DTW를 이용하거나, 반지도 학습(Semi-Supervised Learning)을 이용하여 DTW 워핑 윈도우의 크기를 결정하는 방법을 이용할 수도 있다. 또, 그리드 기반 시계열 검색 기법인 STS3(Set-based Time Series Similarity Search), GMED(Grid Matrix Euclidean Distance), GMDTW(Grid Matrix Dynamic Time Warping) 등을 이용할 수도 있다.
이미지화부(380)는, 시계열 데이터의 분포 간 유사도를 파악할 때, 시계열 데이터를 이미지화하는 시계열 데이터 이미지화 알고리즘을 이용하여 이미지로 변환한 후, 이미지 간 유사도를 파악하도록 할 수 있다. 이때, 시계열 데이터 이미지화 알고리즘은, TSC(Time Series Community) 기반일 수 있고, GAF(Gramian Angular Field), MTF(Markov Transition Field) 및 RP(Recurrence Plot)를 포함할 수 있다. 시계열 데이터 간 유사도를 파악할 때 이를 CNN(Convolutional Neural Network)으로 적용하기 위해 시계열 데이터를 행렬화하는 방법이 존재하는데, 시계열 데이터의 특징을 추출하여 이미지로 변환하기 위한 상술한 알고리즘이다. 이때, 상술한 방법 이외에도 STFT(Short-Time Fourier Transform)를 이용하여 시계열 데이터를 스펙트로그램 이미지 형태로 변환한 후 유사도를 비교할 수도 있다.
<GAF>
Gramian Angular Field는 수학식 1의 극좌표계를 통해 시계열 데이터를 표현하는 방법으로, Transform을 적용하는 것을 의미한다.
Figure 112023075167117-pat00001
시계열 데이터 X 는 n 개의 타임 스텝으로 구성되었다고 가정한다. 데이터가 너무 커지는 것을 방지하기 위해 시계열 데이터에 Min-Max Scale을 취한 후, 극좌표계로 변환한다. 이때, 각도는 시계열 데이터값에 arccos을 취하고, 반지름은 n 번째 타임 스텝에 정규화를 위해 시계열 데이터의 길이로 나누어준다. 최종적으로 Gramian Angular Field는 Gramian Matrix를 통해 표현된다. GASF(Gramian Angular Summation Field)는 각 원소는 극좌표로 변환된 벡터 간의 각도 합에 cos 을 취한 값이다. 반대로 GADF(Gramian Angular Difference Field)는 벡터 간의 각도 차에 sin을 취한 값이다. GAF는, 좌측 상단에서 우측 하단으로 갈수록 시간이 증가하여 시간 종속성을 유지할 수 있고, 주대각선 성분은 원본 데이터를 포함하고 있어 심층 신경망으로 인해 학습되는 고차원의 특징(Feature)로부터 시계열 데이터를 재공할 수 있다.
<MTF>
MTF는 시간 도메인의 정보를 보존하기 위해 마르코프 전이 확률들을 표현한 방법이다. 먼저, 시계열 데이터를 Q 개의 구간(Bin)으로 나눈 뒤에, 각 시계열 데이터값에 해당되는 구간을 할당한다. 그리고, Q×Q 크기의 마르코프 전이 행렬을 구성한다. 행렬 W의 각 원소는 이전 타임 스텝(Step)의 데이터가 속하는 구간에서 다음 타임 스텝의 데이터가 속하는 구간으로 빈도수를 의미한다. 그 후, 행렬의 열의 합을 1로 정규화하여 구간별 전이확률로 마르코프 전이 행렬을 구성할 수 있다. 이 과정은 시계열 데이터 X의 분포와 시간 종속성에 대해 강건할 수 있지만, 많은 정보 손실을 유발할 수도 있다. 이러한 정보 손실을 극복하기 위해 n×n 행렬을 재구성하여 행렬 M을 생성할 수 있다. 행렬 M의 원소는 n 번째 타임 스텝 데이터의 구간에서 n 번째 타임 스텝 데이터 구간으로 전이할 확률을 나타낸다.
<RP>
RP는 시계열 데이터에 대하여 회귀를 2차원 표현을 통해 n 차원 위상 공간 궤도를 탐색하는 것을 목표로 하는 시각화 도구이다. 회귀는 궤도가 이전의 위치로 돌아오는데 걸리는 시간을 의미한다.
클러스터링부(390)는, 시계열 데이터의 분포 간 유사도를 파악할 때, 적어도 하나의 클러스터링 기법을 이용하여 특징 클러스터를 생성하고, 특징 클러스터 간 유사도를 비교할 수 있다. ① 시계열 데이터 샘플링을 이용할 수 있는데, 일정 윈도우 크기에 따라 데이터를 샘플링하는 방법을 이용할 수 있다. 예를 들어 동작 특징을 반영하기 위해, 프로그램이나 모션 단위로 데이터를 샘플링할 수 있다. ② 개별 파라미터(Single Parameter) 클러스터링을 이용할 수 있는데, 통계 분석 등을 기반으로 파라미터에 따라 시계열 데이터의 세부적인 분석을 수행하고 싶은 경우 적용할 수 있다. 먼저, 분류 모델에 존재하는 레이블(Class)와 파라미터(Parameter)에 따라 데이터를 분류한다. 그리고 단일 레이블 및 개별 파라미터 데이터에 대하여 클러스터링을 수행한다. ③ 파라미터 벡터(Parameter Vector) 클러스터링을 이용할 수도 있는데, 개별 파라미터 클러스터링을 수행한다면, 현재의 데이 터가 레이블 및 파라미터 조건에 따라 어느 군집에 속하게 되는지 확인할 수 있다. 이처럼 분류된 군집 정보를 파라미터 벡터로 정의하여 모든 시계열 데이터에 대해 통합 클러스터링을 수행한다면, 데이터별 특징을 분류할 수 있게 된다. ④ 차원 축소 기반 통합 클러스터링은 파라미터를 통합하여 분석하고 싶은 경우 적용될 수 있다. 통합 클러스터링에서는 다양한 파라미터에 대해 고려해야 하기 때문에, 높은 차원의 데이터를 다루게 된다. 따라서 주성분 분석(Principal Component Analysis)을 통해 차원을 낮추고, 클러스터링하여 데이터별 특징을 분류할 수 있다. ⑤ 레이블 단위 특징 클러스터 분석을 이용할 수도 있는데, 레이블별로 구성된 특징 클러스터를 기반으로 데이터셋 내부의 특징 분포를 확인할 수 있다. 이렇게 샘플링된 시계열 데이터에 대해 유사도를 파악하기 위해 클러스터링을 수행할 수 있으며, 레이블 내부에 구성된 클러스터를 통하여 서로 유사한 특징을 지니는 데이터 집합을 도출할 수 있다.
액션분류부(391)는, 의미있는 정보로 설정할 때, 스마트팩토리의 로봇(400)의 액션을 매핑하여 액션별 의미있는 정보를 분류할 수 있다. 이때, 시계열 데이터는 스마트팩토리의 로봇(400)으로부터 수집된 시계열 데이터일 수 있다.
인공지능부(393)는, 의미있는 정보로 저장된 시계열 데이터를 액션으로 라벨링하여 데이터셋(DataSet)을 구축하고, 구축된 데이터셋을 이용하여 로봇(400)으로부터 수집된 시계열 데이터를 식별 및 분류한 후 액션을 예측하도록 적어도 하나의 예측모델을 학습 및 검증하고, 테스트가 완료된 예측모델을 로봇(400)의 액션을 예측하는 예측모델로 세팅할 수 있다. 예지보전부(395)에서는 고장, 결함 및 이상치를 추출하거나 예측하는 모델을 기재했지만, 이에 한정되지 않고 다양한 예측에 이용될 수 있음은 자명하다 할 것이다.
예지보전부(395)는 액션이 고장(Failure), 결함(Fault) 및 이상치(Abnormal) 중 어느 하나인 경우, 예측모델로 고장예측, 결함검출 및 이상치 검출을 수행하도록 할 수 있다. 공장 내의 기계시스템들은 하중이 계속 작용하는 환경에서 마모(Wear), 균열(Crack), 성능 저하(Degradation) 등의 원인으로 인해 고장(Failure)이 필연적으로 발생하게 된다. 그러므로 다양한 결함에 대해 제대로 관리하지 못하여 한계 수준을 넘어가게 되면, 치명적인 사고나 사용 중단 사태가 발생하고, 막대한 피해와 비용 손실이 발생한다. 이를 막기 위해, 순환 신경망(Recurrent Neural Network), 깊은 신경망(Deep Neural Network), 앙상블 학습(Ensemble learning) 기반의 잔존수명 예측모델을 구축할 수도 있다. 예를 들어, 진동신호나 토크신호와 같이 측정된 신호 데이터와 잔존수명 데이터를 가지고 연관성을 분석하는 방식이다.
로봇(400)의 결함은 로봇(400)의 부품에 물리적인 문제, 예를 들어 기어 마모, 볼트 결합력 약화 등을 지니고 있어, 로봇(400)의 고장을 일으킬 수 있는 문제를 의미한다. 보통, 협동로봇은 산업용 로봇팔(Industrial Robot Arm)에 속하기 때문에, 위치, 속도, 토크 등의 다양한 센서로부터 신호가 감지하여 결함을 진단하게 되는데, 산업용 로봇과 다르게 협동로봇의 경우 사용자에 의해 설계된 다양한 작업 환경에 따라 축별 구동 방식이 매우 복잡하다는 문제점이 있다. 이로 인해, 협동로봇의 결함 검출은 결함 진단을 축소하여 로봇(400)을 구성하는 부품 단위로 진단하는 방법을 이용할 수 있다. 예를 들어, 모터, 롤링 베어링, 기어, 센서의 결함진단을 위해 통계적으로 결함발생 확률분석을 수행하여 각 기기의 건전성 인자, 예를 들어, 진동(Vibration) 신호, 속도(Velocity) 신호, 운동량(Kinetic) 신호 등을 도출하고, 수립된 모델에 대한 해석을 위해 물리 공간 분석, 예를 들어, 주파수 도메인 분석, 시공간 분석 등을 수행한다. 또, 결함진단을 수행하기 위해 선형 판별 분석(Linear Discriminant Analysis), 서포트 벡터 머신(Support Vector Machine), 극학습 기계(Extreme Learning Machine), 심층 신경망(Convolutional Neural Network)[39], 순환 신경망(Recurrent Neural Network)과 같은 딥러닝 모델을 적용할 수도 있다.
이상치 검출은 정상 데이터로부터 큰 차이를 보이는 이상구간(Anomaly)을 찾기 위한 것으로, 이 과정에서는 실제 관측한 로봇(400)에 물리적인 이상이 존재하지 않아도, 모션 과정에서 외부의 충돌이나 흔들림에 의해 데이터상에 큰 차이가 발생한 경우를 모두 검출하게 된다. 예를 들어, 슬라이딩 윈도우를 적용하여 데이터를 구성하고, 오토인코더(AutoEncoder) 모델을 활용하여 로봇팔의 이상치를 검출할 수도 있고, 연속해서 들어오는 데이터의 유사성을 기반으로 이상치를 감지하는 RBM(Restricted Boltzmann Machine) 기반의 협업학습(Co-learning)을 진행할 수도 있는데, 연속해서 들어오는 데이터로부터 비지도학습에 의해 자동 생성된 특징 벡터(Spatio-temporal Feature)를 활용하여, 일정 임계치 이상의 오차를 보이는 벡터를 검출해내는 방법이다. 이상치 검출을 수행하지는 않지만 GMM(Gaussian Mixture Model)을 활용하여 작업(Task)을 식별할 수도 있다.
빅데이터화부(397)는, 의미있는 정보를 설정한 후 의미있는 정보를 각 구간별, 패턴별 및 액션별로 라벨링하고 빅데이터를 구축할 수 있다.
이하, 상술한 도 2의 샘플링 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3을 참조하면, (a) 샘플링 서비스 제공 서버(300)는 적어도 하나의 로봇(400)으로부터 수집된 시계열 데이터를 사용자 단말(100)로부터 업로드받고, (b)와 같이 패턴 기반으로 구간을 분할한 후 (c)와 같이 유사한 분포 구간을 과거 시점의 시계열 데이터로부터 검색하며, (d)와 같이 유사한 분포 구간이 존재하는 경우 이를 샘플링한 후 유사도를 측정하고, 샘플링한 후 유사도도 유사한 경우 의미있는 정보로 저장할 수 있다. 샘플링 서비스 제공 서버(300)는 도 4의 (a)와 같이 의미있는 정보와 그 종류에 대해 라벨링을 한 후 (b)와 같이 예측모델을 학습 및 검증함으로써 모델링할 수 있고 (c)와 같이 사용자가 원하는 예측을 수행하도록 세팅할 수 있다. 샘플링 서비스 제공 서버(300)는, (d)와 같은 예지보전을 위한 예측모델을 구축할 수도 있다.
이와 같은 도 2 내지 도 4의 시계열 데이터 기반 데이터 샘플링 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 시계열 데이터 기반 데이터 샘플링 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 도 1의 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 5를 참조하면, 샘플링 서비스 제공 서버는, 사용자 단말로부터 적어도 하나의 시계열 데이터를 업로드하고(S5100), 적어도 하나의 시계열 데이터를 패턴 기반으로 분할한다(S5200).
그리고, 샘플링 서비스 제공 서버는, 분할된 구간의 분포를 기반으로 분할된 구간보다 이전 시점의 시계열 데이터 내 유사한 분포를 보이는 구간이 있는지의 여부를 확인하고(S5300), 유사한 분포를 보이는 구간을 확보한 후 데이터 샘플링을 진행한다(S5400).
또, 샘플링 서비스 제공 서버는, 데이터 샘플링의 결과 분할된 구간과 유사한 패턴이 존재하는 경우, 유사한 패턴이 존재하는 구간의 시계열 데이터를 의미있는 정보로 설정하고(S5500), 사용자 단말로 의미있는 정보를 전송한다(S5600).
상술한 단계들(S5100~S5600)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5600)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 5의 시계열 데이터 기반 데이터 샘플링 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 시계열 데이터 기반 데이터 샘플링 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5를 통해 설명된 일 실시예에 따른 시계열 데이터 기반 데이터 샘플링 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 시계열 데이터 기반 데이터 샘플링 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 시계열 데이터 기반 데이터 샘플링 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 적어도 하나의 시계열 데이터를 업로드하고, 상기 적어도 하나의 시계열 데이터 중 의미있는 정보를 수신, 저장 및 관리하는 사용자 단말; 및
    상기 사용자 단말로부터 적어도 하나의 시계열 데이터를 업로드받는 수신부, 상기 적어도 하나의 시계열 데이터를 패턴 기반으로 분할하는 분할부, 분할된 구간의 분포를 기반으로 상기 분할된 구간보다 이전 시점의 시계열 데이터 내 유사한 분포를 보이는 구간이 있는지의 여부를 확인하는 확인부, 상기 유사한 분포를 보이는 구간을 확보한 후 데이터 샘플링을 진행하는 샘플링부, 상기 데이터 샘플링의 결과 상기 분할된 구간과 유사한 패턴이 존재하는 경우, 상기 유사한 패턴이 존재하는 구간의 시계열 데이터를 의미있는 정보로 설정하는 설정부, 상기 사용자 단말로 의미있는 정보를 전송하는 전송부, 상기 시계열 데이터의 분포 간 유사도를 파악할 때, 상기 시계열 데이터를 이미지화하는 TSC(Time Series Community) 기반의 시계열 데이터 이미지화 알고리즘을 이용하여 이미지로 변환한 후, 상기 이미지 간 유사도를 파악하도록 하는 이미지화부, 상기 시계열 데이터의 분포 간 유사도를 파악할 때, 시계열 데이터 샘플링과 적어도 하나의 클러스터링 기법을 이용하여 특징 클러스터를 생성하고, 특징 클러스터 간 유사도를 비교하는 클러스터링부를 포함하는 샘플링 서비스 제공 서버;
    를 포함하고,
    상기 클러스터링부는,
    상기 시계열 데이터 샘플링의 이용시 일정 윈도우 크기에 따라 데이터를 샘플링하는 방법을 이용함으로써 동작 특징을 반영하려는 경우 프로그램이나 모션 단위로 데이터를 샘플링하고,
    상기 적어도 하나의 클러스터링 기법으로서, 개별 파라미터(Single Parameter) 클러스터링, 파라미터 벡터(Parameter Vector) 클러스터링, 차원 축소 기반 통합 클러스터링, 및 레이블 단위 특징 클러스터 분석을 이용하되,
    상기 개별 파라미터 클러스터링의 경우, 통계 분석을 기반으로 파라미터에 따라 시계열 데이터의 세부 분석을 수행하려는 경우에 적용하되, 개별 파라미터 클러스터링의 이용시 분류 모델에 존재하는 레이블(Class)와 파라미터(Parameter)에 따라 데이터를 분류하고 이후 단일 레이블 및 개별 파라미터 데이터에 대하여 클러스터링을 수행하고,
    상기 파라미터 벡터 클러스터링의 이용시, 개별 파라미터 벡터 클러스터링을 수행함으로써 레이블 및 파라미터 조건에 따라 현재 데이터가 속하게 되는 군집에 대한 군집 정보를 확인하고, 상기 군집 정보를 파라미터 벡터로 정의하여 모든 시계열 데이터에 대해 통합 클러스터링을 수행함으로써 데이터별 특징의 분류가 이루어지도록 하고,
    상기 차원 축소 기반 통합 클러스터링의 경우, 파라미터를 통합하여 분석하려는 경우에 적용하되, 상기 차원 축소 기반 통합 클러스터링의 이용시 주성분 분석(Principal Component Analysis)을 통해 차원을 낮추고 클러스터링하여 데이터별 특징을 분류하고,
    상기 레이블 단위 특징 클러스터 분석의 이용시, 레이블별로 구성된 특징 클러스터를 기반으로 데이터셋 내부의 특징 분포를 확인하고, 레이블 내부에 구성된 클러스터를 통하여 서로 유사한 특징을 지니는 데이터 집합을 도출하며,
    상기 이미지화부는,
    상기 이미지로의 변환시, 상기 TSC(Time Series Community) 중 하기 수학식 1의 극좌표계를 통해 시계열 데이터를 표현하는 방법인 GAF(Gramian Angular Field)를 이용하되,
    [수학식 1]

    상기 GAF의 이용시, 시계열 데이터 X 가 n 개의 타임 스텝으로 구성되었다고 가정하고, 데이터가 너무 커지는 것을 방지하기 위해 시계열 데이터에 Min-Max Scale을 취한 후 수학식 1의 극좌표계로 변환시키되, 각도의 경우 시계열 데이터값에 arccos을 취하고, 반지름 r의 경우 n 번째 타임 스텝에 정규화를 위해 시계열 데이터의 길이로 나누어줌으로써, 상기 GAF가 Gramian Matrix를 통해 표현되도록 하고,
    상기 GAF를 이용함으로써, 시간 종속성이 유지되도록 하고, 주대각선 성분이 원본 데이터를 포함하고 있음으로 인해 심층 신경망으로 인해 학습되는 고차원 특징으로부터 시계열 데이터의 제공이 이루어지도록 하는 것인, 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템.
  2. 제 1 항에 있어서,
    상기 샘플링 서비스 제공 서버는,
    상기 적어도 하나의 시계열 데이터를 패턴 기반으로 분할할 때, 시계열 데이터 간 유사도를 측정하기 위하여 DTW(Dynamic Time Warping)를 이용하여 기 설정된 워핑 윈도우(Warping Window) 내 시계열 데이터와 비교한 후 가장 단거리에 대응하는 워핑 패스(Warping Path)를 찾아낸 후 상기 시계열 데이터 간 유사도를 계산하도록 하는 유사분류부;
    를 더 포함하는 것을 특징으로 하는 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 TSC(Time Series Community)는, GAF(Gramian Angular Field), MTF(Markov Transition Field) 및 RP(Recurrence Plot)를 포함하는 것을 특징으로 하는 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 시계열 데이터는 스마트팩토리의 로봇으로부터 수집된 시계열 데이터이고,
    상기 샘플링 서비스 제공 서버는,
    상기 의미있는 정보로 설정할 때, 상기 스마트팩토리의 로봇의 액션을 매핑하여 액션별 의미있는 정보를 분류하는 액션분류부;
    를 더 포함하는 것을 특징으로 하는 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템.
  7. 제 6 항에 있어서,
    상기 샘플링 서비스 제공 서버는,
    상기 의미있는 정보로 저장된 시계열 데이터를 상기 액션으로 라벨링하여 데이터셋(DataSet)을 구축하고, 구축된 데이터셋을 이용하여 상기 로봇으로부터 수집된 시계열 데이터를 식별 및 분류한 후 액션을 예측하도록 적어도 하나의 예측모델을 학습 및 검증하고, 테스트가 완료된 예측모델을 상기 로봇의 액션을 예측하는 예측모델로 세팅하는 인공지능부;
    를 더 포함하는 것을 특징으로 하는 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템.
  8. 제 7 항에 있어서,
    상기 샘플링 서비스 제공 서버는,
    상기 액션이 고장(Failure), 결함(Fault) 및 이상치(Abnormal) 중 어느 하나인 경우, 상기 예측모델로 고장예측, 결함검출 및 이상치 검출을 수행하도록 하는 예지보전부;
    를 더 포함하는 것을 특징으로 하는 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템.
  9. 제 1 항에 있어서,
    상기 샘플링 서비스 제공 서버는,
    상기 의미있는 정보를 설정한 후 상기 의미있는 정보를 각 구간별, 패턴별 및 액션별로 라벨링하고 빅데이터를 구축하는 빅데이터화부;
    를 더 포함하는 것을 특징으로 하는 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템.
  10. 제 1 항에 있어서,
    상기 시계열 데이터는,
    단위시간 당 기 설정된 수 이상의 데이터가 수집되는 경우의 시계열 데이터인 것을 특징으로 하는 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템.
KR1020230088648A 2023-07-07 2023-07-07 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템 KR102647331B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230088648A KR102647331B1 (ko) 2023-07-07 2023-07-07 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230088648A KR102647331B1 (ko) 2023-07-07 2023-07-07 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템

Publications (1)

Publication Number Publication Date
KR102647331B1 true KR102647331B1 (ko) 2024-03-13

Family

ID=90299067

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230088648A KR102647331B1 (ko) 2023-07-07 2023-07-07 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템

Country Status (1)

Country Link
KR (1) KR102647331B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100058935A (ko) * 2008-11-25 2010-06-04 주식회사 보이스웹인터내셔날 어학 학습 콘텐츠 제공 방법, 그 시스템 및 그 방법이 기록된 기록 매체
KR20220059691A (ko) * 2020-11-03 2022-05-10 한국생산기술연구원 제조업 시계열 데이터 딥러닝 분석을 위한 공간 충전 곡선 변환 방법 및 시스템
KR20220064098A (ko) * 2020-11-11 2022-05-18 한국생산기술연구원 기계학습 기반 고장 진단 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100058935A (ko) * 2008-11-25 2010-06-04 주식회사 보이스웹인터내셔날 어학 학습 콘텐츠 제공 방법, 그 시스템 및 그 방법이 기록된 기록 매체
KR20220059691A (ko) * 2020-11-03 2022-05-10 한국생산기술연구원 제조업 시계열 데이터 딥러닝 분석을 위한 공간 충전 곡선 변환 방법 및 시스템
KR20220064098A (ko) * 2020-11-11 2022-05-18 한국생산기술연구원 기계학습 기반 고장 진단 장치 및 방법

Similar Documents

Publication Publication Date Title
Zhang et al. Deep learning algorithms for bearing fault diagnostics—A comprehensive review
Jung et al. Vibration analysis for IoT enabled predictive maintenance
KR102226687B1 (ko) 딥러닝을 활용한 시계열 예측 기반의 정비 주기 예측 장치 및 방법
AU2018203321B2 (en) Anomaly detection system and method
US20230152187A1 (en) Fault signal locating and identifying method of industrial equipment based on microphone array
US11232371B2 (en) Computer system and method for detecting anomalies in multivariate data
Jian et al. Faulty data detection and classification for bridge structural health monitoring via statistical and deep‐learning approach
Kotenko et al. An approach for intelligent evaluation of the state of complex autonomous objects based on the wavelet analysis
AU2013101422A4 (en) Diagnostic and control system and method
CN117782198B (zh) 一种基于云边端架构的公路机电设备运行监测方法及系统
Irgat et al. An IoT-Based Monitoring System for Induction Motor Faults Utilizing Deep Learning Models
Liu Application of industrial Internet of things technology in fault diagnosis of food machinery equipment based on neural network
KR102647331B1 (ko) 시계열 데이터 기반 데이터 샘플링 서비스 제공 시스템
Pandiyan et al. Systematic Review on Fault Diagnosis on Rolling-Element Bearing
CN117664558A (zh) 发电机齿轮箱异常检测方法、装置、设备及存储介质
Guerroum et al. Machine learning for the predictive maintenance of a Jaw Crusher in the mining industry
CN116861214A (zh) 一种基于卷积长短时记忆网络的健康状态识别方法及系统
CN114964476B (zh) 油气管道系统动设备的故障诊断方法、装置及设备
CN114233581A (zh) 一种风机机舱智能巡视报警系统
Duan et al. A health indicator construction method of rolling bearing based on vibration image features and deep autoencoder network
KR102347601B1 (ko) 출입문 고장 진단 및 예지 서버, 출입문 고장 진단 및 예지 시스템 및 출입문 고장 진단 및 예지 방법
KR20230100999A (ko) 회전 기계 설비의 탁월 주파수 결정 방법, 및 이를 수행하는 컴퓨팅 시스템
CN114580472A (zh) 工业互联网中因果与注意力并重的大型设备故障预测方法
CN112954689A (zh) 针对蓝牙无线传输的轻量化网络入侵检测系统和方法
Wang et al. IFP-ADAC: A two-stage interpretable fault prediction model for multivariate time series

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant