KR102636220B1 - 이상탐지의 클라우드 서비스 제공 서버 및 제공 방법 - Google Patents

이상탐지의 클라우드 서비스 제공 서버 및 제공 방법 Download PDF

Info

Publication number
KR102636220B1
KR102636220B1 KR1020230090991A KR20230090991A KR102636220B1 KR 102636220 B1 KR102636220 B1 KR 102636220B1 KR 1020230090991 A KR1020230090991 A KR 1020230090991A KR 20230090991 A KR20230090991 A KR 20230090991A KR 102636220 B1 KR102636220 B1 KR 102636220B1
Authority
KR
South Korea
Prior art keywords
labeling
data
manual
module
learning
Prior art date
Application number
KR1020230090991A
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 KR1020230090991A priority Critical patent/KR102636220B1/ko
Application granted granted Critical
Publication of KR102636220B1 publication Critical patent/KR102636220B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/10Pre-processing; Data cleansing
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Medical Informatics (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Mathematical Physics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버는, 진정으로 라벨링된 학습데이터인 진정 라벨데이터를 기초로 임의의 가상머신에서 구현되며 임의의 결과값을 도출하는 기준학습모델을 머신러닝하는 학습모듈; 외부의 컴퓨팅 장치인 감시 대상 장치로부터 상기 기준학습모델이 학습할 데이터의 기초가 되는 동작데이터를 수신하는 수신모듈; 및 상기 동작데이터에 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출하는 라벨링모듈;을 포함하고, 상기 학습모듈은, 상기 가상 라벨데이터도 함께 머신러닝하여 상기 기준학습모델을 학습할 수 있다.

Description

이상탐지의 클라우드 서비스 제공 서버 및 제공 방법 {A SEVER THAT PROVIDES CLOUD SERVICE FOR ANOMALY DETECTION AND A METHOD OF PROVIDING CLOUD SERVICE}
본 발명은 이상 탐지를 위한 학습모델을 머신러닝하여, 컴퓨팅 장치의 이상징후를 탐지하는 클라우드 서비스 제공 서버 및 서비스 제공 방법에 대한 것이다.
머신러닝은 최근 산업분야에서 가장 핵심이 되는 기술이다. 머신러닝이 다양한 산업분야에 접목되면서, 그 동안에 구현되지 못했던 다양한 신기술들이 개발되고 출시되고 있다. 즉, 머신러닝은 뛰어난 컴퓨팅 능력에 기반에 그 동안 인간이 해결하지 못한 다양한 난제와 문제를 해결하고 있다.
다만, 머신러닝에서 가장 중요한 것은 수 많은 데이터들을 확보하고 처리하는 것이지만, 학습에 활용될 만한 데이터를 확보하는 것과 학습을 위해 데이터에 라벨링하는 업무에 많은 시간과 비용이 투입되는 어려움이 존재하였다. 이를 해결하기 위해서, 가상 라벨링 기술이 고안되고 개발되었으나, 가상 라벨링 기술은 아직 완전하지 못해, 학습 데이터의 품질이 저하되는 문제를 발생시켰다.
또한, 머신러닝은 인간이 생각하지 못한 결과를 제시하지만, 결과까지 도출되는 그 원인에 대해서는 적절하게 설명하지 못하는 문제가 존재하였다. 이로 인해, 머신러닝이 도출한 결과에 대해서 사용자가 신뢰하지 못하거나 결정하는데 어려움이 존재하였다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 인공지능의 결정과정을 설명할 수 있는 이상탐지의 클라우드 서비스 제공 서버 및 제공 방법을 제공하고자 한다.
본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버는, 진정으로 라벨링된 학습데이터인 진정 라벨데이터를 기초로 임의의 가상머신에서 구현되며 임의의 결과값을 도출하는 기준학습모델을 머신러닝하는 학습모듈; 외부의 컴퓨팅 장치인 감시 대상 장치로부터 상기 기준학습모델이 학습할 데이터의 기초가 되는 동작데이터를 수신하는 수신모듈; 및 상기 동작데이터에 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출하는 라벨링모듈;을 포함하고, 상기 학습모듈은, 상기 가상 라벨데이터도 함께 머신러닝하여 상기 기준학습모델을 학습할 수 있다.
또한, 상기 라벨링모듈은, 가상 라벨링을 위해 상기 동작데이터를 전처리할 수 있다.
또한, 상기 라벨링모듈은, 머신러닝에 의해 학습된 기본라벨링모델을 이용하여 상기 가상 라벨데이터를 산출하는 라벨링부 및 미리 등록된 점검인력에게 상기 가상 라벨데이터의 유효성 점검을 요청하는 검수부를 구비하며, 상기 라벨링부는, 상기 미리 등록된 점검인력의 평가결과를 기초로 상기 기본라벨링모델을 재 학습할 수 있다.
또한, 상기 검수부는, 라벨링이 정상적이라는 의미의 제1 응답, 라벨링 과정이 의심간다는 의미의 제2 응답 및 라벨링이 점검될 필요성이 있다는 의미의 제3 응답 중 하나의 응답이 수신되도록 상기 미리 등록된 점검인력에게 유효성 점검을 요청할 수 있다.
또한, 상기 라벨링모듈은, 상기 미리 등록된 점검인력의 평가결과를 기초로 미리 정해진 개시조건이 만족되는 경우, 복수의 업무인력을 통해 수동으로 라벨링을 진행하는 스케줄부를 더 구비할 수 있다.
또한, 상기 라벨링모듈은, 업무인력의 업무 역량에 대해서 평가하는 인력부 및 라벨링의 난이도를 평가하는 난이도산정부를 더 구비하고, 상기 스케줄부는, 라벨링의 난이도와 업무인력의 업무 역량에 기초하여 상기 업무인력에게 라벨링 업무를 할당할 수 있다.
또한, 상기 라벨링부는, 업무인력이 수동으로 라벨링한 결과인 수동라벨결과를 기초로 라벨링된 학습데이터인 수동 라벨데이터를 산출할 수 있다.
또한, 상기 라벨링부는, 기준비율 이상으로 일치되는 수동라벨결과를 기초로 수동 라벨데이터를 산출하고, 기준비율 이상으로 일치되는 수동라벨결과가 존재하더라도, 미리 정해진 변경조건이 만족되는 경우, 기준비율 미만으로 일치되는 수동라벨결과를 수동 라벨데이터로 산출할 수 있다.
또한, 상기 기준학습모델을 기초로 상기 동작데이터를 분석하여 비 정상 여부를 탐지하는 탐지모듈;을 더 포함할 수 있다.
본 발명의 일 실시예에 따른 클라우드 서비스 제공 방법은, 클라우드 서비스 제공 서버에 의해 구현되며, 감시 대상 장치의 비 정상 동작여부를 탐지하는 클라우드 서비스 제공 방법에 있어서, 학습모듈에 의해, 임의의 가상머신에서 구현되며 비 정상여부를 탐지하는 기준학습모델이 기준학습모델을 진정으로 라벨링된 학습데이터인 진정 라벨데이터에 의해 머신 러닝되는 단계; 수신모듈에 의해, 상기 감시 대상 장치가 동작되면서 발생되는 동작데이터가 수신하는 단계; 라벨링모듈에 의해, 상기 동작데이터에 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출하는 단계; 상기 학습모듈에 의해, 상기 가상 라벨데이터로 상기 기준학모델을 추가 학습하는 단계; 및 탐지모듈에 의해, 상기 수신모듈에서 수집되는 상기 동작데이터를 분석하여 상기 감시 대상 장치가 비 정상적으로 동작되는지 여부가 모니터링되는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버는, 외부의 컴퓨팅 장치인 감시 대상 장치가 동작되면서 발생되는 데이터인 동작데이터를 수신하는 수신모듈; 상기 동작데이터를 기초로 가상으로 이상상태에 대한 라벨링을 진행하여, 가상 이상데이터를 산출하고, 상기 가상 이상데이터를 기초로 상기 감시 대상 장치가 비 정상적으로 동작되는지 여부를 탐지하는 탐지모듈;을 포함하고, 상기 가상 이상데이터는, 상기 동작데이터와 상기 동작데이터에 대응되는 이상상태에 대한 라벨로 이루어질 수 있다.
또한, 상기 가상 이상데이터를 기반으로 설명 가능한 인공지능(XAI)을 이용하여 상기 감시 대상 장치의 이상 상태에 대한 설명을 산출하는 설명모듈;을 더 포함할 수 있다.
또한, 상기 설명모듈은, 상기 가상 이상데이터와 동일한 라벨을 가진 동작데이터와 비교를 통해 이상 상태에 대한 설명을 산출할 수 있다.
또한, 상기 동작데이터를 기초로 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출하고, 상기 가상 라벨데이터를 기초로 상기 감시 대상 장치의 이상상태에 대한 기준을 산출하는 라벨링모듈;을 더 포함할 수 있다.
또한, 상기 라벨링모듈은, 머신러닝에 의해 학습된 기본라벨링모델을 이용하여 상기 가상 라벨데이터를 산출하는 라벨링부 및 상기 가상 라벨데이터를 기초로 상기 감시 대상 장치의 이상상태에 대한 라벨이상기준을 산출하는 이상정의부를 구비하고, 상기 라벨링부는, 상기 라벨이상기준을 기초로 상기 동작데이터에 이상상태에 대한 가상 라벨링을 구현하는 이상라벨모델을 산출할 수 있다.
또한, 상기 라벨링모듈은, 미리 등록된 점검인력에게 상기 가상 라벨데이터의 유효성 점검을 요청하는 검수부를 더 구비하며, 상기 라벨링부는, 상기 미리 등록된 점검인력의 평가결과를 기초로 상기 기본라벨링모델을 재 학습할 수 있다.
또한, 상기 검수부는, 라벨링 과정이 정상적이라는 의미의 제1 응답, 라벨링 과정이 의심간다는 의미의 제2 응답 및 라벨링 과정이 점검될 필요성이 있다는 의미의 제3 응답 중 하나의 응답이 수신되도록 상기 미리 등록된 점검인력에게 유효성 점검을 요청할 수 있다.
또한, 상기 라벨링모듈은, 상기 미리 등록된 점검인력의 평가결과를 기초로 미리 정해진 개시조건이 만족되는 경우, 복수의 업무인력을 통해 수동으로 라벨링 프로세스를 진행하는 스케줄부를 더 구비할 수 있다.
또한, 상기 미리 정해진 개시조건은, 상기 평가결과가 라벨링 과정이 의심간다는 평가 또는 라벨링 과정이 점검될 필요하다는 평가일 경우인 조건일 수 있다.
본 발명의 일 실시예에 따른 클라우드 서비스 제공 방법은, 클라우드 서비스 제공 서버에 의해 구현되며, 감시 대상 장치의 비 정상 동적여부를 탐지하는 클라우드 서비스 제공 방법에 있어서, 수신모듈에 의해, 상기 감시 대상 장치가 동작되면서 발생되는 데이터인 동작데이터가 수신되는 단계; 및 탐지모듈에 의해, 상기 동작데이터를 기초로 가상으로 이상상태에 대한 라벨링을 진행하여, 상기 동작데이터와 상기 동작데이터에 대응되는 이상상태에 대한 라벨로 이루어진 가상 이상데이터를 산출하고, 상기 가상 이상데이터를 기초로 상기 감시 대상 장치가 비 정상적으로 동작되는지 여부가 탐지되는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 이상탐지의 클라우드 서비스 제공 서버 및 제공 방법은, 머신 러닝의 효율성을 극대화할 수 있다.
또한, 서비스의 자원 효율성을 극대화할 수 있다.
또한, 서비스의 품질을 극대화할 수 있다.
다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버의 관계도
도 2는 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버의 계층도
도 3는 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버의 구성도
도 4는 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버가 구현하는 가상 라벨링을 통해 기준학습모델을 학습하는 과정에 대한 순서도
도 5는 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버가 구현하는 검수 과정을 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버가 구현하는 라벨 기반의 이상 탐지 과정을 설명하기 위한 도면
도 7는 본 발명의 다른 실시예에 따른 클라우드 서비스 제공 서버의 구성도
도 8은 본 발명의 다른 실시예에 따른 클라우드 서비스 제공 서버가 구현하는 수동 라벨링과정을 설명하기 위한 도면
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버의 관계도이고, 도 2는 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버의 계층도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버(100)는 외부의 컴퓨팅 장치인 감시 대상 장치(10)와 관리자의 단말기(20)와 유/무선 네트워크 연결될 수 있다.
본 발명에서 언급하는 온라인 네트워크라 함은 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어 망일 수도 있고, TCP/IP 프로토콜 및 그 상위 계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), HTTPS(Hyper Text Transfer Protocol Secure), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미할 수 있으며, 이러한 예에 한정하지 않고 다양한 형태로 데이터를 송수신할 수 있는 데이터 통신망을 포괄적으로 의미하는 것이다.
감시 대상 장치(10)는 클라우드 서비스 제공 서버에 동작데이터를 송신하는 장치로서, 클라우드 서비스를 위해 감시되고 있는 장치를 의미할 수 있다.
일례로, 감시 대상 장치(10)는 컴퓨팅 장치, 서버 뿐만 아니라, 컴퓨팅 장치나 서버에서 구동되는 프로그램(애플리케이션) 자체를 의미할 수 있다.
일례로, 감시 대상 장치(10)는 다중 센서일 수 있다.
동작데이터는 로그데이터, 메트릭 데이터 등 감시 대상 장치가 구현되면서 발생되는 모든 데이터를 포함할 수 있다.
관리자는 클라우드 서비스 제공 서버(100)를 운영하고 관리하는 자 또는 감시 대상 장치를 관리하고 운영하는 자를 포함할 수 있다.
본 발명에서 언급하는 서버는 서버의 서버 환경을 수행하기 위한 다른 구성들이 포함될 수도 있다. 서버는 임의의 형태의 장치는 모두 포함할 수 있다.
일례로, 서버는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다.
일례로, 서버는 웹 서버일 수 있다. 다만, 이에 한정하지 않고, 서버의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변경 가능하다.
또한, 본 발명에서 언급하는 컴퓨팅 장치는 정보 처리 연산을 처리할 수 있는 장치를 의미할 수 있다.
일례로, 컴퓨팅 장치는 데스크탑 컴퓨터, 노트북, 스마트폰, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 휴대용 단말기 등이 포함되는 이동 단말기 및/또는 스마트 TV 등이 포함될 수 있다.
클라우드 서비스 제공 서버(100)는 감시 대상 장치에서 업로드하는 동작데이터를 기반으로, 감시 대상 장치의 이상 여부를 감지하거나, 소정의 목적을 달성하는 모델을 학습하여, 애플리케이션 혹은 소프트웨어의 이상 여부 등을 감지하여 CI/CD의 애플리케이션 개발 환경에 도움을 줄 수 있다.
클라우드 서비스 제공 서버(100)에 복수개의 가상머신이 구현될 수 있다.
각각의 가상머신(VM1, VM2)은 별도의 감시 대상 장치를 모니터링하고, 감시 대상 장치의 이상 여부를 탐지하고 판단할 수 있다.
도 2에 도시된 것과 같이, 각각의 가상머신에 독립적으로 모듈들이 동작되어, 독립적으로 감시 대상 장치의 이상 여부를 탐지하고 판단할 수 있다.
다만, 이에 한정하지 않고, 클라우드 서비스 제공 서버(100)의 호스트 운영체에 동작되는 응용 소프트웨어를 통해, 이상 여부를 탐지하고 판단하는 모듈들(라벨링 모듈, 학습모듈, 수신모듈, 경고모듈, 탐지모듈, 개발모듈 및/또는 설명모듈)이 동작되고, 상기 모듈들이 각각의 가상머신에 업로드되는 데이터들을 기반으로 이상 여부를 탐지하고 판단할 수 있다.
이하, 각각의 가상머신에 독립적으로 모듈들이 구동되는 것을 기준으로 설명을 하나, 이에 본 발명이 한정되는 것은 아니다.
도 3는 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버의 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버(100)는, 진정으로 라벨링된 학습데이터인 진정 라벨데이터를 기초로 임의의 가상머신에서 구현되며 임의의 결과값을 도출하는 기준학습모델을 머신러닝하는 학습모듈(110), 외부의 컴퓨팅 장치인 감시 대상 장치로부터 상기 기준학습모델이 학습할 데이터의 기초가 되는 동작데이터를 수신하는 수신모듈(120) 및 기 동작데이터에 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출하는 라벨링모듈(130)을 포함할 수 있다.
또한, 상기 클라우드 서비스 제공 서버(100)는, 상기 기준학습모델을 기초로 상기 동작데이터를 분석하여 비 정상 여부를 탐지하는 탐지모듈(140), 설명 가능한 인공지능(XAI)을 이용하여 상기 감시 대상 장치의 이상 상태에 대한 설명을 산출하는 설명모듈(150), 기준학습모델에 의해 탐지된 이상결과를 통해 프로그램의 이상 여부를 판단하고, 개량, 배포하는 개발모듈(160) 및 이상라벨모델에 의해 탐지된 이상결과를 기초로 관리자에게 소정의 경고를 제공하는 경고모듈(170)을 더 포함할 수 있다.
수신모듈(120)은 감시 대상 장치로부터 동작데이터를 수신하여, 라벨링모듈(130)과 탐지모듈(140)에 송신할 수 있다.
동작데이터는 비정형 데이터, 정형 데이터 및/또는 반 정형 데이터를 모두 포함할 수 있다.
라벨링모듈(130)은 상기 동작데이터를 기초로 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출하고, 상기 가상 라벨데이터를 기초로 상기 감시 대상 장치의 이상상태에 대한 기준을 산출할 수 있다.
라벨링모듈(130)은 수신모듈(120)로부터 전달받는 동작데이터를 전처리하는 전처리부(131), 상기 동작데이터에 대해서 가상 라벨링을 진행하여 가상 라벨데이터를 산출하는 라벨링부(132), 상기 가상 라벨데이터를 기초로 상기 감시 대상 장치의 이상상태에 대한 라벨이상기준을 산출하는 이상정의부(133) 및 미리 등록된 점검인력에게 상기 가상 라벨데이터의 유효성 점검을 요청하는 검수부(134)를 구비할 수 있다.
전처리부(131)는 동작데이터로부터 이상여부를 탐지하고 라벨링하는데 불필요한 부분을 제거하거나 변환하는 데이터 전처리 프로세스를 진행할 수 있다.
라벨링부(132)는 머신러닝에 의해 학습된 기본라벨링모델을 이용하여 상기 가상 라벨데이터를 산출할 수 있다.
기본라벨링모델에 전처리된 동작데이터가 입력되면, 동작데이터에 가상의 라벨이 부착될 수 있다. 동작데이터와 상기 동작데이터와 대응되는 가상라벨의 묶음을 가상 라벨데이터라고 정의할 수 있다.
일례로, 기본라벨링모델은 비지도 학습 기법 중 하나인 Pseudo-Labeling을 통해 가상 라벨링을 구현할 수 있으나, 이에 본 발명이 한정되는 것은 아니다.
일례로, 기본라벨링모델은 미리 정해진 라벨 방식에 따라 가상 라벨데이터를 산출할 수 있다.
일례로, 기본라벨링모델은 기준학습모델의 학습을 위한 데이터를 산출하기 위해서 라벨링을 진행할 수 있다. 일례로, 감시 대상 장치가 정상인지 여부, 감시 대상 장치의 무슨 오류를 가지고 있는지 여부(오류에 대한 라벨링) 등에 대해서 라벨링이 진행될 수 있다.
일례로, 기본라벨링모델은 감시되는 장치의 상태에 대한 라벨링을 진행할 수 있다. 예를 들면, CPU가 정상인지, 비정상인지에 대한 라벨, 램이 정상인지, 비정상인지에 대한 라벨링을 진행할 수 있다.
라벨링부(132)는 라벨이상기준을 이용하여 이상상태에 대해서만 라벨링을 하는 이상라벨모델을 산출할 수 있다.
라벨링부(132)는 상기 라벨이상기준을 기초로 상기 동작데이터에 이상상태에 대한 가상 라벨링을 구현하는 이상라벨모델을 산출할 수 있다.
상기 이상라벨모델은 후술하는 탐지모듈(140)로 전달되어, 탐지모듈(140)이 감시 대상 장치의 이상 상태를 탐지하는데 활용될 수 있다.
라벨링부(132)는 기본라벨링모델을 파인 튜닝하여 라벨이상기준 이상의 이상상태를 가지는 동작데이터에 이상상태와 관련된 라벨링을 하는 이상라벨모델을 산출할 수 있다.
일례로, CPU 부하에 대한 라벨이상기준이 80%라고 가정할 때, 동작데이터에 포함된 메트릭 데이터에서 CPU 부하가 95일 경우, 이상라벨모델은 해당 동작데이터에 CPU부하이상이라는 라벨을 가상으로 생성하여 대응시켜 가상 이상데이터를 산출할 수 있다.
이상정의부(133)는 가상 라벨데이터를 기초로 상기 감시 대상 장치의 이상상태에 대한 라벨이상기준을 산출할 수 있다.
일례로, 이상정의부(133)는 가상 라벨데이터로부터 도출되는 정상 상태일 때의 정보들과 비 정상 상태일 때의 정보들을 기초로 구체적인 이상기준인 라벨이상기준을 산출할 수 있다.
일례로, 이상정의부(133)는 비 정상으로 라벨된 동작데이터를 분석하여, 감시 대상 장치의 구성들인 CPU, RAM, STORAGE, 네트워크 부하가 어느 값을 가질 때 이상 상태인지 결정할 수 있다.
일례로, 라벨이상기준은 감시 대상 장치가 수행하고 있는 기능 또는 감시 대상 장치에서 동작되고 있는 프로그램의 종류에 따라 다르게 결정될 수 있다.
기본라벨링모델은 CPU, RAM, STORAGE, 네트워크 부하의 메트릭 데이터 뿐만 아니라, 로그 데이터 등도 함께 고려되어 감시 대상 장치가 비 정상인지 여부를 판단하여 라벨링할 수 있다.
이와 달리, 이상정의부(133)는 메트릭데이터 등의 동작데이터 중 일부 데이터에 대해서 이상상태에 대한 기준을 결정함으로써, 추후 탐지모듈(140)이 효율적으로 이상 상태에 대해서 탐지 가능할 수 있다.
검수부(134)는 미리 등록된 점검인력에게 상기 가상 라벨데이터의 유효성 점검을 요청할 수 있다.
일례로, 미리 등록된 점검 인력은 클라우드 서비스 관리 서버를 운영하는 회사의 직원일 수 있다.
다만, 이에 한정하지 않고, 상기 미리 등록된 점검 인력의 신원은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
검수부(134)는 유효성 점검을 요청을 위한 인터페이스를 산출하여 미리 등록된 점검 인력의 컴퓨팅 장치로 전송하여, 유효성 점검을 요청할 수 있다.
검수부(134)는 라벨링이 정상적이라는 의미의 제1 응답, 라벨링 과정이 의심간다는 의미의 제2 응답 및 라벨링이 점검될 필요성이 있다는 의미의 제3 응답 중 하나의 응답이 수신되도록 상기 미리 등록된 점검인력에게 유효성 점검을 요청할 수 있다.
검수부(134)는 미리 등록된 점검인력으로부터 수신한 평가결과를 라벨링부(132)에 전달할 수 있다.
라벨링부(132)는 상기 평가결과를 기초로 기본라벨링모델의 가중치 값을 변경하는 등 재 학습하여, 기본라벨링모델의 정확도를 상승시킬 수 있다.
학습모듈(110)은 진정으로 라벨링된 학습데이터인 진정 라벨데이터를 기초로 임의의 가상머신에서 구현되며 임의의 결과값을 도출하는 기준학습모델을 머신러닝할 수 있다.
여기서, 진정 라벨데이터란 과거의 동작데이터에 대해서 작업자가 직접 라벨링한 데이터를 의미할 수 있다.
학습모듈(110)은 라벨링모듈(130)로부터 전달받은 가상 라벨데이터도 진정 라벨데이터와 함께 머신러닝하여 상기 기준학습모델을 학습할 수 있다.
학습모듈(110)은 가상 라벨데이터를 이용하여 상기 기준학습모델을 재 학습함으로써, 진정 라벨데이터의 부족한 문제를 효과적으로 해결할 수 있다.
탐지모듈(140)은 기준학습모델을 이용하여 상기 동작데이터를 분석하여 감지 대상 장치의 비 정상여부를 판단할 수 있다.
기준학습모델은 동작데이터를 기초로 감시 대상 장치의 이상 여부를 탐지하는 머신러닝하여 생성되는 모델일 수 있다.
탐지모듈(140)은 이상라벨모델을 이용하여 동작데이터에 대해서 이상 상태와 관련된 라벨링을 진행하여 가상 이상데이터를 산출하고, 상기 가상 이상데이터를 기초로 상기 감시 대상 장치가 비 정상적으로 동작되는지 여부를 탐지할 수 있다.
여기서, 상기 가상 이상데이터는 상기 동작데이터와 상기 동작데이터에 대응되는 이상상태에 대한 라벨로 이루어질 수 있다.
일례로, 감시 대상 장치의 네트워크에 이상이 발생될 경우, 가상 이상데이터는 일 부분의 동작데이터와 네트워크 기능 이상이라는 라벨로 이루어진 형태일 수 있다.
다만, 이에 본 발명이 한정되는 것은 아니고, 가상 이상데이터의 예시는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
탐지모듈(140)이 감지 대상 장치가 이상 상태(비 정상)라고 판단한 것을 이상결과라고 정의할 수 있다.
설명모듈(150)은 상기 가상 이상데이터를 기반으로 설명 가능한 인공지능(XAI)을 이용하여 상기 감시 대상 장치의 이상 상태에 대한 설명을 산출할 수 있다.
설명모듈(150)은 상기 가상 이상데이터와 동일한 라벨을 가진 동작데이터와 비교를 통해 이상 상태에 대한 설명을 산출할 수 있다.
설명모듈(150)은 가상 이상데이터의 라벨과 동일한 라벨을 가진 데이터와 가상 이상데이터의 기초가 되는 동작데이터를 서로 비교하여 설명 가능한 인공지능을 구현할 수 있다.
설명 가능한 인공지능은 공지된 기술을 활용하는 것으로서, 이에 대한 자세한 설명은 생략될 수 있다.
일례로, 설명모듈(150)은 두 동작데이터의 차이점을 정량적으로 비교하여 그래프로 표시할 수 있다. CPU 부하량, RAM 부하량 등의 차이점을 정량적으로 비교하여 관리자의 컴퓨팅 장치에 표시될 인터페이스로 산출할 수 있다.
일례로, 설명모듈(150)은 두 데이터(가상 이상데이터의 라벨과 동일한 라벨을 가진 데이터와 가상 이상데이터)에 라벨이 결정된 근거(원인)에 대해서 결정하여 비교하여 관리자의 컴퓨팅 장치에 표시될 인터페이스로 산출할 수 있다.
설명모듈(150)의 설명으로 인해, 관리자는 탐지모듈(140)의 결과를 편리하게 분석할 수 있다.
개발모듈(160)은 이상결과를 분석하여, 이상결과를 감시 대상 장치에 반영하기 위한 보완, 개량 및 배포 업무를 진행할 수 있다.
개발모듈(160)을 통해 클라우드 환경에서 애플리케이션 개발과 배포를 가능하게 하는 CI/CD 파이프라인을 설정하여, 유연한 애플리케이션 개발 환경이 구축될 수 있다.
경고모듈(170)은 이상라벨모델에 의해 탐지된 이상결과를 기초로 관리자에게 소정의 경고를 관리자의 컴퓨팅 장치로 전송할 수 있다.
일례로, 경고는 이상상태를 알리는 알림 문자일 수 있으나, 이에 본 발명이 한정되는 것은 아니고, 경고 방식은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
본 발명의 일 실시예에 따른 클라우드 서비스 제공 방법은, 클라우드 서비스 제공 서버(100)에 의해 구현되며, 감시 대상 장치의 비 정상 동작여부를 탐지하는 클라우드 서비스 제공 방법에 있어서, 학습모듈(110)에 의해, 임의의 가상머신에서 구현되며 비 정상여부를 탐지하는 기준학습모델이 기준학습모델을 진정으로 라벨링된 학습데이터인 진정 라벨데이터에 의해 머신 러닝되는 단계, 수신모듈(120)에 의해, 상기 감시 대상 장치가 동작되면서 발생되는 동작데이터가 수신하는 단계, 라벨링모듈(130)에 의해, 상기 동작데이터에 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출하는 단계, 상기 학습모듈(110)에 의해, 상기 가상 라벨데이터로 상기 기준학모델을 추가 학습하는 단계 및 탐지모듈(140)에 의해, 상기 수신모듈(120)에서 수집되는 상기 동작데이터를 분석하여 상기 감시 대상 장치가 비 정상적으로 동작되는지 여부가 모니터링되는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 클라우드 서비스 제공 방법은, 클라우드 서비스 제공 서버(100)에 의해 구현되며, 감시 대상 장치의 비 정상 동적여부를 탐지하는 클라우드 서비스 제공 방법에 있어서, 수신모듈(120)에 의해, 상기 감시 대상 장치가 동작되면서 발생되는 데이터인 동작데이터가 수신되는 단계; 및 탐지모듈(140)에 의해, 상기 동작데이터를 기초로 가상으로 이상상태에 대한 라벨링을 진행하여, 상기 동작데이터와 상기 동작데이터에 대응되는 이상상태에 대한 라벨로 이루어진 가상 이상데이터를 산출하고, 상기 가상 이상데이터를 기초로 상기 감시 대상 장치가 비 정상적으로 동작되는지 여부가 탐지되는 단계를 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버가 구현하는 가상 라벨링을 통해 기준학습모델을 학습하는 과정에 대한 순서도이다.
도 3 및 도 4를 참조하면, 감시 대상 장치의 과거에 발생된 동작데이터에 대해서 전철리하고, 작업자에 의해 직접 라벨링되어 진정 라벨데이터가 산출될 수 있다. (S111)
학습모듈(110)은 진정 라벨데이터를 이용하여 머신러닝하여 기준학습모델을 생성할 수 있다. (S112)
여기서, 머신러닝은 공지된 기술을 활용하는 것으로서, 이에 대한 자세한 설명은 생략될 수 있다.
수신모듈(120)은 감시 대상 장치로부터 동작데이터를 수신하여 전처리부(131)로 전달할 수 있다.
전처리부(131)는 동작데이터에 대해서 전처리하고, 전처리된 동작데이터는 라벨링부(132)로 전달될 수 있다. (S113)
라벨링부(132)는 기본라벨링모델을 통해 동작데이터에 대해서 가상으로 라벨링하여 가상 라벨데이터를 산출할 수 있다.
학습모듈(110)은 가상 라벨데이터를 활용하여 기본라벨링모델을 추가 머신러닝하여, 기본라베링모델을 추가 학습할 수 있다. (S114)
이로써, 머신 러닝의 학습 데이터 부족 문제를 효과적으로 해결할 수 있다.
도 5는 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버가 구현하는 검수 과정을 설명하기 위한 도면이다.
도 5를 참조하면, 라벨링부(132)가 산출한 가상 라벨데이터에 대해서 검수부(134)는 미리 정해진 점검 인력에게 가상 라벨데이터의 유효성 점검을 요청할 수 있다.
검수부(134)는 미리 정해진 점검인력의 컴퓨팅 장치에 표시될 인터페이스를 산출하여 미리 정해진 점검인력(P10)에 송신할 수 있다.
미리 정해진 점검인력은 동작데이터와 가상으로 부여된 라벨의 부합 여부를 판단하여, 제1 응답(perfect), 제2 응답(maybe), 제3 응답(check) 중 하나를 선택하여 검수부(134)로 회신할 수 있다.
검수는 미리 정해진 점검인력으로부터 회신받은 평가결과를 라벨링부(132)에 송신하며, 라벨링부(132)는 평가결과를 반영하여 기본라벨링모델을 재 학습할 수 있다.
도 6은 본 발명의 일 실시예에 따른 클라우드 서비스 제공 서버가 구현하는 라벨 기반의 이상 탐지 과정을 설명하기 위한 도면이다.
도 6을 참조하면, 감시 대상 장치가 발생한 과거의 동작데이터를 수신모듈(120)이 수집할 수 있다. (S211)
과거의 동작데이터에 대해서 전처리부(131)가 전처리하고, 라벨링부(132)가 기본라벨링모델을 이용하여 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출할 수 있다. (S212)
이상정의부(133)를 가상 라벨데이터를 기초로 이상 상태에 대한 기준인 라벨이상기준을 산출하고, 라벨링부(132)는 라벨이상기준을 기초로 이상라벨모델을 산출할 수 있다. (S213)
라벨링부(132)가 산출한 이상라벨모델은 탐지모듈(140)로 전달될 수 있다.
실시간으로 수집된 동작데이터에 대해서 탐지모듈(140)은 이상라벨모델을 통해 이상상태에 대한 라벨링을 진행할 수 있다. (S214)
여기서, 라벨링을 하기 전에 탐지모듈(140)이 동작데이터에 대해서 라벨링을 위한 전치리 프로세스를 진행할 수 있다.
설명모듈(150)은 이상라벨모델이 라벨링하여 산출한 가상 이상데이터를 기초로 가상 이상데이터와 동일한 라벨을 가지는 기존의 데이터와 서로 비교하여, 이상상태에 대한 공통점, 차이점(결과 관점)과 이상상태라고 판단한 근거(원인 관점)에 대해서 설명하는 정보를 산출할 수 있다. (S215)
설명모듈(150)은 이상라벨모델이 판단한 근거와 결과를 설명할 수 있는 인터페이스를 산출하여, 관리자 단말기로 제공할 수 있다. (S216)
도 7는 본 발명의 다른 실시예에 따른 클라우드 서비스 제공 서버의 구성도이다.
이하, 상술한 내용과 중복되는 한도에서 자세한 설명은 생략될 수 있다.
도 7을 참조하면, 본 발명의 다른 실시예에 따른 클라우드 서비스 제공 서버(1000)가 포함하는 라벨링모듈(1130)은 상기 미리 등록된 점검인력의 평가결과를 기초로 미리 정해진 개시조건이 만족되는 경우, 복수의 업무인력을 통해 수동으로 라벨링을 진행하는 스케줄부(1135), 업무인력의 업무 역량에 대해서 평가하는 인력부(1136) 및 라벨링의 난이도를 평가하는 난이도산정부(1137)를 더 구비할 수 있다.
인력부(1136)는 업무인력(P20)의 업무 역량에 대해서 평가하여 구분할 수 있다.
인력부(1136)에는 업무인력에(P20) 대한 리스트들이 저장되어 있을 수 있다.
인력부(1136)는 업무인력(P20)의 업무역량의 평가를 기초로 업무인력을 등급으로 구분하여 관리할 수 있다.
일례로, 인력부(1136)는 업무인력을 제1 등급, 제2 등급 및 제3 등급으로 구분할 수 있으며, 제1 등급이 업무 역량이 가장 좋은 등급이며, 제3 등급이 업무 역량이 가장 나쁜 등급일 수 있다.
다만, 이에 한정하지 않고, 상기 인력부(1136)의 등급은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
인력부(1136)는 가상 라벨데이터를 대체하는 수동라벨결과로 평가하였는지 여부로 업무인력에 대한 평가를 실시간으로 진행할 수 있다.
만일, 가상 라벨데이터를 대체하는 수동라벨결과로 평가한 업무인력에 대해서는 업무능력에 대해서 가점이 부여될 수 있다.
반대로, 가상 라벨데이터를 대체하는 수동라벨결과로 평가하지 않은 업무인력에 대해서는 업무 능력에 대해서 감점이 부여될 수 있다.
난이도산정부(1137)는 가상 라벨링에 대한 난이도를 산출하는 난이도평가모델이 저장되어 있을 수 있다.
난이도산정부(1137)는 머신러닝을 통해 라벨링 업무의 난이도에 대해서 라벨링된 동작데이터를 학습하여 난이도평가모델을 산출할 수 있다.
머신 러닝은 공지된 기술을 활용하는 것이므로, 이에 대한 자세한 설명은 생략될 수 있다.
일례로, 난이도산정부(1137)는 라벨링을 총 4가의 난이도로 구분할 수 있다.
일례로, 난이도산정부(1137)는 라벨링의 난이도를 특급, 상급, 중급, 하급의 난이도로 구분하 수 있다.
여기서, 난이도평가모델에 의해 라벨링 난이도는 상급, 중급 하급의 난이도로 구분되며, 특급은 후술하는 조건이 만족되는 경우에 특별하게 지정될 수 있다.
스케줄부(1135)는 미리 정해진 개시조건이 만족되는 경우 수동 라벨링 프로세스를 진행할 수 있다.
미리 정해진 개시조건은 상기 평가결과가 라벨링 과정이 의심간다는 평가 또는 라벨링 과정이 점검될 필요하다는 평가일 경우인 조건일 수 있다.
구체적으로 설명하자면, 유효성 검토 결과 제3 응답일 경우, 미리 정해진 개시조건이 만족될 수 있다.
또한, 유효성 검토 결과 제2 응답이고, 이미 유효성을 점검한 미리 등록된 점검인력 이외의 다른 점검인력에게 유효성 점검 결과 제2 응답 또는 제3 응답일 경우, 미리 정해진 개시조건이 만족될 수 있다.
최초의 유효성 검토 결과 제2 응답일 경우, 검수부(134)는 이미 유효성을 점검한 미리 등록된 점검인력 이외의 다른 점검인력에게 유효성 점검을 재 요청할 수 있다.
재 요청한 평가결과가 제2 응답 또는 제3 응답일 경우, 가상 라벨링의 결과가 의심스러운 상황이므로, 수동 라벨링 프로세스를 통해, 가상 라벨 결과를 대체할 수 있다.
이는, 학습데이터 오염으로 인해 학습모델의 정확도가 떨어지는 것을 예방하기 위함일수 있다.
스케줄부(1135)는 라벨링의 난이도와 업무인력의 업무 역량에 기초하여 상기 업무인력에게 라벨링 업무를 할당할 수 있다.
일례로, 스케줄부(1135)는 제1 등급의 업무인력에게, 전체 업무량을 기준으로 특급 라벨링 업무 20%, 상급 라벨링업무 30%, 중급 라벨링업무 30%, 하급 라벨링업무 20%의 비율로 라벨링 업무를 분배할 수 있다.
일례로, 스케줄부(1135)는 제2 등급의 업무인력에게, 전체 업무량을 기준으로 상급 라벨링업무 30%, 중급 라벨링업무 50%, 하급 라벨링업무 20%의 비율로 라벨링 업무를 분배할 수 있다.
일례로, 스케줄부(1135)는 제3 등급의 업무인력에게, 상급 라벨링업무 20%, 중급 라벨링업무 30%, 하급 라벨링업무 50%의 비율로 라벨링 업무를 분배할 수 있다.
스케줄부(1135)는 복수의 업무인력에게 미리 정해진 개시조건이 만족되는 동작데이터에 대한 수동 라벨링을 요청할 수 있다.
일례로, 스케줄부(1135)는 5명 내지 10사이의 업무인력에게 수동 라벨링을 요청할 수 있으나, 이에 본 발명이 한정되는 것은 아니고, 구체적인 숫자는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
스케줄부(1135)는 업무인력이 수동으로 라벨링한 결과인 수동라벨결과를 라벨링부(132)로 전달하며, 상기 라벨링부(132)는 업무인력이 수동으로 라벨링한 결과인 수동라벨결과를 기초로 라벨링된 학습데이터인 수동 라벨데이터를 산출할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 클라우드 서비스 제공 서버가 구현하는 수동 라벨링과정을 설명하기 위한 도면이다.
도 7 및 도 8을 참조하면, 라벨링부(132)는 기준비율 이상으로 일치되는 수동라벨결과를 기초로 수동 라벨데이터를 산출할 수 있다. (S310)
라벨링부(132)는 기준비율 이상으로 일치되는 수동라벨결과가 존재한 상태에서 미리 정해진 변경조건이 만족되지 않은 경우, 기준비율 이상으로 일치되는 수동라벨결과를 선택하여, 수동 라벨데이터를 산출할 수 있다. (S313)
또한, 라벨링부(132)는 기준비율 이상으로 일치되는 수동라벨결과가 존재한 상태에서 미리 정해진 변경조건이 만족되는 경우, 상기 미리 정해진 변경 조건이 만족되는 수동라벨결과를 선택하여, 수동 라벨데이터를 산출할 수 있다. (S312)
일례로, 기준비율은 70%일 수 있다.
다만, 이에 한정하지 않고, 기준비율의 구체적인 수치는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
미리 정해진 변경조건은, 기준비율 이상으로 일치되는 수동라벨결과를 도출한 업무인력들의 제1 등급 비율이 제1 비율 미만이고, 기준비율 미만으로 일치되는 수동라벨결과를 도출한 업무인력들의 제1 등급 비율이 제2 비율 이상일 조건일 수 있다. (S311)
여기서, 제1 비율은 30%일 수 있고, 제2 비율은 60%일 수 있다.
예를 들어 설명하면, 총 10명의 업무인력이 라벨링 업무를 수행한 상황을 가정할 수 있다. 여기서, 9명의 업무인력(제1 등급 6명, 제2 등급 2명, 제3 등급 1명)이 동작데이터에 대해서 A 라벨을 대응시켰고, 1명의 업무인력(제2 등급)이 동작데이터에 대해서 B 라벨을 대응시켰다고 가정할 수 있다.
여기서, 기준비율인 70% 이상으로 일치되는 수동라벨결과(A 라벨, 90%)가 존재한 상태에서, A 라벨로 지정한 업무인력 중에서 제1 등급은 66.67%로서 제1 비율 이상이므로, 미리 정해진 변경 조건이 만족되지 않을 수 있다.
따라서, 라벨링부(132)는 기준비율 이상으로 일치되는 수동라벨결과인 A 라벨을 선택하여, 수동 라벨데이터를 산출할 수 있다.
이와 달리, 총 10명의 업무인력이 라벨링 업무를 수행한 상황을 가정할 수 있다. 여기서, 7명의 업무인력(제1 등급 2명, 제2 등급 3명, 제3 등급 2명)이 동작데이터에 대해서 A 라벨을 대응시켰고, 3명의 업무인력(모두 제1 등급)이 동작데이터에 대해서 B 라벨을 대응시켰다고 가정할 수 있다.
여기서, 기준비율인 70% 이상으로 일치되는 수동라벨결과(A 라벨, 70%)가 존재한 상태에서, A 라벨로 지정한 업무인력 중에서 제1 등급은 28.57%로서 제1 비율 미만이고, B 라벨로 지정한 업무인력 중에서 제2 등급은 100%로서 제2 비율 이상으로, 미리 정해진 변경 조건이 만족될 수 있다.
따라서, 라벨링부(132)는 상기 미리 정해진 변경 조건이 만족되는, 기준비율 미만으로 일치되는 수동라벨결과를 도출한 업무인력들의 제1 등급 비율이 제2 비율 이상인 업무인력이 도출한 수동라벨결과인 B 라벨을 선택하여, 수동 라벨데이터를 산출할 수 있다.
즉, 라벨링부(132)는 기준비율 이상으로 일치되는 수동라벨결과가 존재하더라도, 미리 정해진 변경조건이 만족되는 경우, 기준비율 미만으로 수동라벨결과가 일치되며 제2 비율 이상으로 제1 등급의 비율을 가지는 집단이 도출한 수동라벨결과를 수동 라벨데이터로 산출할 수 있다.
라벨링부(132)는 기준비율 이상으로 일치되는 수동라벨결과가 존재하지 않을 경우, 가상 라벨데이터의 가상 라벨과 일치하는 수동라벨결과가 존재하는지 여부를 판단할 수 있다. (S321)
라벨링부(132)는 기준비율 이상으로 일치되는 수동라벨결과가 존재하지 않을 때, 가상 라벨데이터의 가상 라벨과 일치하는 수동라벨결과가 존재할 경우, 제1 검증방법으로 동작데이터에 대해서 라벨링 프로세스를 추가적으로 진행할 수 있다. (S322)
여기서, 제1 검증방법은, 현재 문제가 되는 동작데이터의 라벨링 난이도를 특급으로 설정하여, 추후 스케줄모듈에 의해 수동 라벨링을 다시 진행하는 방법일 수 있다.
이는, 기본라벨링모델의 결과와 업무인력의 수동라벨결과 중에서 답이 존재할 가능성이 높은 상황으로서, 제1 등급의 업무인력에게 우선적으로 배정하여, 정확한 수동 라벨데이터를 산출하기 위함일 수 있다.
라벨링부(132)는 기준비율 이상으로 일치되는 수동라벨결과가 존재하지 않을 때, 가상 라벨데이터의 가상 라벨과 일치하는 수동라벨결과가 존재하지 않을 경우, 제2 검증방법으로 동작데이터에 대해서 라벨링 프로세스를 추가적으로 진행할 수 있다. (S323)
여기서, 제2 검증방법은, 현재 문제가 되는 동작데이터의 라벨링을 중단하고, 별도로 라벨링부(132)가 저장한 후, 미리 정해진 시간이 경과된 후에, 기본라벨링모델이 가상 라벨링하는 과정부터 다시 시작하는 방법일 수 있다.
이는, 현재 정확한 라벨링 결과값을 도출할 수 없는 상황으로서, 기본라벨링모델의 성능과 업무인력들의 업무 역량이 성장한 후에 재 판단하여, 정확한 라벨데이터를 도출하기 위함일 수 있다.
학습모듈(110)은 산출된 수동 라벨데이터를 가상 라벨데이터 대신에 기본라벨링모델의 학습에 활용할 수 있다.
또한, 이상정의부(133)는 산출된 수동 라벨데이터를 가상 라벨데이터 대신에 라벨이상기준을 산출하는데 활용할 수 있다.
스케줄부(1135)는 라벨링 난이도에 따라 다른 비용으로 라벨링 업무에 대한 비용을 정산하여 업무인력에게 제공할 수 있다.
일례로, 특급, 상급, 중급 및 하급의 라벨링 업무 난이도 순으로 라벨링 업무에 대한 비용이 낮아질 수 있다. 즉, 특급의 라벨링 업무의 비용이 가장 높으며, 하급의 라벨링 업무의 비용이 가장 낮을 수 있다.
스케줄부(1135)는 업무인력의 지역, 나이, 성별 등을 고려하여, 제1 등급의 업무인력과 제3 등급의 업무인력의 멘토 스케줄을 설정할 수 있다.
일례로, 스케줄부(1135)는 제1 등급의 업무인력의 거주 지역으로부터 소정 거리 내에 거주하는 제3 등급의 업무인력에 대해서, 멘토 업무를 매칭할 수 있다.
일례로, 스케줄부(1135)는 동일한 성별과, 나이의 차가 소정 나이 미만인 제1 등급의 업무인력과 제3 등급의 업무인력의 멘토 스케줄을 설정할 수 있다.
스케줄부(1135)는 제1 등급의 업무인력의 멘토링 일정에 따라 수동 라벨링 업무 할당 비율을 감소시킬 수 있다.
스케줄부(1135)는 멘토링 참여에 지급되어야 하는 금액을 반영하여, 멘토링에 참여하는 제1 등급의 업무인력의 특급, 상급, 중급 및 하급의 라벨링 업무 비율을 변경할 수 있다.
이를 위해, 소정 기간동안 제1 등급의 업무인력에게 배정되는 수동 라벨링 평균 개수를 기초로, 제1 등급의 업무인력에게 할당된 특급, 상급, 중급 및 하급의 라벨링 업무 비율을 변경할 수 있다.
스케줄부(1135)는 소정 기간동안 제1 등급의 업무인력에게 배정되는 수동 라벨링 평균 개수와 제1 등급의 업무인력에게 할당된 특급, 상급, 중급 및 하급의 라벨링 업무 비율을 기초로 수동 라벨링에 대한 지급 비용을 산출할 수 있다.
일례로, 스케줄부(1135)는 멘토링이 진행되기 전, 제1 등급의 업무인력에게 지급해야 할 지급 비용과 멘토링의 진행된 후에 조정된 제1 등급의 업무인력에게 지급해야 할 지급 비용의 차액이 멘토링에 대한 지급비용이 되도록, 멘토링에 참여하는 제1 등급의 업무 인력의 업무 비율을 조절할 수 있다.
이를 통해, 수동 라벨링 전체 업무에 큰 지장 없으면서, 제1 등급의 업무인력이 제3 등급의 업무인력을 교육시킴으로써, 전체적인 수동 라벨링 업무 역량을 증가시킬 수 있다.
이는, 학습데이터의 품질을 향상시키는 것으로서, 학습모듈(110)에 의해 학습되는 모델들의 정확도를 개선시키는 순 기능을 할 수 있다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
100 : 클라우드 서비스 제공 서버 110 : 학습모듈
120 : 수신모듈 130 : 라벨링모듈

Claims (10)

  1. 진정으로 라벨링된 학습데이터인 진정 라벨데이터를 기초로 임의의 가상머신에서 구현되며 임의의 결과값을 도출하는 기준학습모델을 머신러닝하는 학습모듈;
    외부의 컴퓨팅 장치인 감시 대상 장치로부터 상기 기준학습모델이 학습할 데이터의 기초가 되는 동작데이터를 수신하는 수신모듈; 및
    상기 동작데이터에 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출하는 라벨링모듈;을 포함하고,
    상기 라벨링모듈은,
    머신러닝에 의해 학습된 기본라벨링모델을 이용하여 상기 가상 라벨데이터를 산출하는 라벨링부, 미리 등록된 점검인력에게 상기 가상 라벨데이터의 유효성 점검을 요청하는 검수부, 상기 미리 등록된 점검인력의 평가결과를 기초로 미리 정해진 개시조건이 만족되는 경우 수동 라벨링 프로세스가 진행되도록 복수의 업무인력에게 라벨링 업무를 할당하는 스케줄부 및 상기 업무인력의 업무 역량에 대해서 평가하는 인력부를 구비하고,
    상기 인력부는,
    상기 업무인력을 업무 역량이 좋은 순서대로 업무 역량이 가장 좋은 제1 등급과 제2 등급으로 구분하고,
    상기 라벨링부는,
    기준비율 이상으로 일치되는 상기 업무인력이 수동으로 라벨링한 결과인 수동라벨결과를 기초로 수동 라벨데이터를 산출하고, 기준비율 이상으로 일치되는 수동라벨결과가 존재하더라도, 미리 정해진 변경조건이 만족되는 경우, 기준비율 미만으로 일치되는 수동라벨결과를 상기 수동 라벨데이터로 산출하며,
    상기 미리 정해진 변경조건은,
    기준비율 이상으로 일치되는 수동라벨결과를 도출한 업무인력들의 제1 등급 비율이 제1 비율 미만이고, 기준비율 미만으로 일치되는 수동라벨결과를 도출한 업무인력들의 제1 등급 비율이 제2 비율 이상일 조건이며,
    상기 학습모듈은,
    상기 가상 라벨데이터도 함께 머신러닝하여 상기 기준학습모델을 학습하며, 상기 수동 라벨데이터를 상기 기본라벨링모델의 학습에 활용하는,
    클라우드 서비스 제공 서버.
  2. 제1항에 있어서,
    상기 라벨링모듈은,
    가상 라벨링을 위해 상기 동작데이터를 전처리하는,
    클라우드 서비스 제공 서버.
  3. 제1항에 있어서,
    상기 라벨링부는,
    상기 미리 등록된 점검인력의 평가결과를 기초로 상기 기본라벨링모델을 재 학습하는,
    클라우드 서비스 제공 서버.
  4. 제3항에 있어서,
    상기 검수부는,
    라벨링이 정상적이라는 의미의 제1 응답, 라벨링 과정이 의심간다는 의미의 제2 응답 및 라벨링이 점검될 필요성이 있다는 의미의 제3 응답 중 하나의 응답이 수신되도록 상기 미리 등록된 점검인력에게 유효성 점검을 요청하는,
    클라우드 서비스 제공 서버.
  5. 제1항에 있어서,
    상기 미리 정해진 개시조건은,
    상기 평가결과가 라벨링 과정이 의심간다는 평가 또는 라벨링 과정이 점검될 필요성이 있다는 평가일 조건인,
    클라우드 서비스 제공 서버.
  6. 제1항에 있어서,
    상기 라벨링모듈은,
    라벨링의 난이도를 평가하는 난이도산정부를 더 구비하고,
    상기 스케줄부는,
    라벨링의 난이도와 업무인력의 업무 역량에 기초하여 상기 업무인력에게 라벨링 업무를 할당하는,
    클라우드 서비스 제공 서버.
  7. 제6항에 있어서,
    상기 난이도산정부는,
    라벨링의 난이도를 특급, 상급, 중급, 하급의 난이도로 구분하는,
    클라우드 서비스 제공 서버.
  8. 제6항에 있어서,
    상기 스케줄부는,
    라벨링 난이도에 따라 다른 비용으로 상기 업무인력의 라벨링 업무에 대한 비용을 정산하는,
    클라우드 서비스 제공 서버.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 기준학습모델을 기초로 상기 동작데이터를 분석하여 비 정상 여부를 탐지하는 탐지모듈;을 더 포함하는,
    클라우드 서비스 제공 서버.
  10. 클라우드 서비스 제공 서버에 의해 구현되며, 감시 대상 장치의 비 정상 동작여부를 탐지하는 클라우드 서비스 제공 방법에 있어서,
    학습모듈에 의해, 임의의 가상머신에서 구현되며 비 정상여부를 탐지하는 기준학습모델이 기준학습모델을 진정으로 라벨링된 학습데이터인 진정 라벨데이터에 의해 머신 러닝되는 단계;
    수신모듈에 의해, 상기 감시 대상 장치가 동작되면서 발생되는 동작데이터가 수신하는 단계;
    라벨링모듈의 라벨링부에 의해, 머신러닝에 의해 학습된 기본라벨링모델을 이용하여 상기 동작데이터에 가상으로 라벨링을 진행하여 가상 라벨데이터를 산출하는 단계;
    상기 학습모듈에 의해, 상기 가상 라벨데이터로 상기 기준학습모델을 추가 학습하는 단계;
    상기 라벨링모듈의 검수부에 의해, 미리 등록된 점검인력에게 상기 가상 라벨데이터의 유효성 점검이 요청되는 단계;
    상기 라벨링모듈의 스케줄부에 의해, 상기 미리 등록된 점검인력의 평가결과를 기초로 미리 정해진 개시조건이 만족되는 경우 수동 라벨링 프로세스가 진행되도록 복수의 업무인력에게 라벨링 업무가 할당되는 단계;
    상기 라벨링모듈의 라벨링부에 의해, 상기 업무인력이 수동으로 라벨링한 결과인 수동라벨결과를 기초로 수동 라벨데이터가 산출되는 단계; 및
    상기 학습모듈에 의해, 상기 수동 라벨데이터가 상기 기본라벨링모델의 학습에 활용되는 단계;를 포함하고,
    상기 수동 라벨데이터가 산출되는 단계는,
    기준비율 이상으로 일치되는 수동라벨결과를 기초로 상기 수동 라벨데이터를 산출하고, 기준비율 이상으로 일치되는 수동라벨결과가 존재하더라도, 미리 정해진 변경조건이 만족되는 경우, 기준비율 미만으로 일치되는 수동라벨결과를 상기 수동 라벨데이터로 산출하는 단계이고,
    상기 미리 정해진 변경조건은,
    기준비율 이상으로 일치되는 수동라벨결과를 도출한 업무인력들의 제1 등급 비율이 제1 비율 미만이고, 기준비율 미만으로 일치되는 수동라벨결과를 도출한 업무인력들의 제1 등급 비율이 제2 비율 이상일 조건인,
    클라우드 서비스 제공 방법.
KR1020230090991A 2023-07-13 2023-07-13 이상탐지의 클라우드 서비스 제공 서버 및 제공 방법 KR102636220B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230090991A KR102636220B1 (ko) 2023-07-13 2023-07-13 이상탐지의 클라우드 서비스 제공 서버 및 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230090991A KR102636220B1 (ko) 2023-07-13 2023-07-13 이상탐지의 클라우드 서비스 제공 서버 및 제공 방법

Publications (1)

Publication Number Publication Date
KR102636220B1 true KR102636220B1 (ko) 2024-02-14

Family

ID=89896067

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230090991A KR102636220B1 (ko) 2023-07-13 2023-07-13 이상탐지의 클라우드 서비스 제공 서버 및 제공 방법

Country Status (1)

Country Link
KR (1) KR102636220B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200068050A (ko) * 2018-11-26 2020-06-15 국민대학교산학협력단 인공지능 수행을 위한 학습 데이터 생성장치 및 방법
KR102247179B1 (ko) * 2020-12-18 2021-05-04 주식회사 이글루시큐리티 이상행위탐지모델의 비지도 학습을 위한 xai 기반 정상학습데이터 생성방법 및 장치
KR102321007B1 (ko) * 2021-07-19 2021-11-03 주식회사 크라우드웍스 크라우드소싱 기반 프로젝트의 특성에 따른 라벨링 작업을 위한 머신러닝 모델 도입 여부 결정 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200068050A (ko) * 2018-11-26 2020-06-15 국민대학교산학협력단 인공지능 수행을 위한 학습 데이터 생성장치 및 방법
KR102247179B1 (ko) * 2020-12-18 2021-05-04 주식회사 이글루시큐리티 이상행위탐지모델의 비지도 학습을 위한 xai 기반 정상학습데이터 생성방법 및 장치
KR102321007B1 (ko) * 2021-07-19 2021-11-03 주식회사 크라우드웍스 크라우드소싱 기반 프로젝트의 특성에 따른 라벨링 작업을 위한 머신러닝 모델 도입 여부 결정 방법 및 장치

Similar Documents

Publication Publication Date Title
Rezaeipanah et al. Providing a new approach to increase fault tolerance in cloud computing using fuzzy logic
US20190236485A1 (en) Orchestration system for distributed machine learning engines
US10599506B2 (en) Methods and systems for identifying action for responding to anomaly in cloud computing system
Ma et al. Multi-valued collaborative QoS prediction for cloud service via time series analysis
US20180260746A1 (en) Job allocation
Al-Masri et al. Discovering the best web service: A neural network-based solution
US20080235079A1 (en) Method, Apparatus, and Program for Implementing an Automation Computing Evaluation Scale to Generate Recommendations
Corney et al. Putting the crowd to work in a knowledge-based factory
WO2019161027A1 (en) System and method for bot detection
Rana et al. Improving Recall of software defect prediction models using association mining
Al-Faifi et al. Performance prediction model for cloud service selection from smart data
Rajawat et al. Cyber physical system fraud analysis by mobile robot
CN110705719A (zh) 执行自动机器学习的方法和装置
CN113900921B (zh) 法院信息系统运行状态评估方法、装置、设备及存储介质
Unuvar et al. Selecting optimum cloud availability zones by learning user satisfaction levels
Wang et al. An unsupervised strategy for defending against multifarious reputation attacks
KR102636220B1 (ko) 이상탐지의 클라우드 서비스 제공 서버 및 제공 방법
KR102650049B1 (ko) 설명 가능한 인공지능을 이용한 이상탐지 클라우드 서비스 제공 서버 및 제공 방법
Hani et al. Support vector regression for service level agreement violation prediction
CN108509259A (zh) 获取多方数据源的方法以及风控系统
Darmawan et al. Integration of Genetic and Tabu Search algorithm based load balancing for heterogenous grid computing
KR102660320B1 (ko) 클라우드 기반의 최적 소스코드 제공 서버 및 소스 코드 제공 방법
KR102702117B1 (ko) 클라우드 환경 보완을 위한 솔루션 추천 시스템 및 솔루션 추천 방법
KR102705609B1 (ko) 시계열 데이터의 계절성 분석에 기반한 서버 관리 시스템 및 서버 관리 방법
Heyman et al. Scalability analysis of the OpenAM access control system with the universal scalability law

Legal Events

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