KR20220152923A - M2m 시스템에서 인공지능 서비스를 가능하게 하기 위한 방법 및 장치 - Google Patents

M2m 시스템에서 인공지능 서비스를 가능하게 하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20220152923A
KR20220152923A KR1020220027541A KR20220027541A KR20220152923A KR 20220152923 A KR20220152923 A KR 20220152923A KR 1020220027541 A KR1020220027541 A KR 1020220027541A KR 20220027541 A KR20220027541 A KR 20220027541A KR 20220152923 A KR20220152923 A KR 20220152923A
Authority
KR
South Korea
Prior art keywords
artificial intelligence
intelligence model
training
information
resource
Prior art date
Application number
KR1020220027541A
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 현대자동차주식회사
Publication of KR20220152923A publication Critical patent/KR20220152923A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 개시는 M2M(Machine-to-Machine) 시스템에서 인공지능(artificial intelligence, AI) 서비스를 가능하게 하기 위한 것으로, 제1 장치의 동작 방법은, 인공지능 모델의 훈련에 관련된 자원의 생성을 요청하는 제1 메시지를 제2 장치에게 송신하는 단계, 상기 자원에 기반한 훈련의 수행을 요청하는 제2 메시지를 상기 제2 장치에게 송신하는 단계, 상기 인공지능 모델의 훈련의 완료를 통지하는 제3 메시지를 상기 제2 장치로부터 수신하는 단계, 및 상기 훈련된 인공지능 모델을 이용하여 예측 동작을 수행하는 단계를 포함할 수 있다.

Description

M2M 시스템에서 인공지능 서비스를 가능하게 하기 위한 방법 및 장치{METHOD AND APPARATUS FOR ENABLING ATRIFICIAL INTELLIGENCE SERVICE IN MACHINE TO MACHINE SYSTEM}
본 개시는 M2M(Machine-to-Machine) 시스템에 관한 것으로, 보다 구체적으로, M2M 시스템에서 인공지능(artificial intelligence, AI) 서비스를 가능하게 하기 위한 방법 및 장치에 대한 것이다.
최근 M2M(Machine-to-Machine) 시스템에 대한 도입이 활발해지고 있다. M2M 통신은 사람의 개입 없이 기계(machine)와 기계 사이에 수행되는 통신을 의미할 수 있다. M2M은 MTC(Machine Type Communication), IoT(Internet of Things) 또는 D2D(Device-to-Device)를 지칭할 수 있다. 다만, 하기에서는 설명의 편의를 위해 M2M로 통일하게 지칭하지만, 이에 한정되지 않는다. M2M 통신에 사용되는 단말은 M2M 단말(M2M device)일 수 있다. M2M 단말은 일반적으로 적은 데이터를 전송하면서 낮은 이동성을 갖는 디바이스일 수 있다. 이때, M2M 단말은 기계 간 통신 정보를 중앙에서 저장하고 관리하는 M2M 서버와 연결되어 사용될 수 있다. 또한, M2M 단말은 사물 추적, 자동차 연동, 전력 계량 등과 같이 다양한 시스템에서 적용될 수 있다.
한편, M2M 단말과 관련하여, oneM2M 표준화 기구는 M2M 통신, 사물통신, IoT 기술을 위한 요구사항, 아키텍처, API(Application Program Interface) 사양, 보안 솔루션, 상호 운용성에 대한 기술을 제공하고 있다. oneM2M 표준화 기구의 사양은 스마트 시티, 스마트 그리드, 커넥티드 카, 홈 오토메이션, 치안, 건강과 같은 다양한 어플리케이션과 서비스를 지원하는 프레임워크를 제공하고 있다.
본 개시는 M2M(Machine-to-Machine) 시스템에서 인공지능(artificial intelligence, AI) 서비스를 가능하게 하기 위한 방법 및 장치를 제공하는데 목적이 있다.
본 개시는 M2M 시스템에서 인공지능 모델의 훈련에 필요한 데이터를 관리하기 위한 방법 및 장치를 제공하는데 목적이 있다.
본 개시는 M2M 시스템에서 인공지능 모델의 훈련에 필요한 정보를 관리하는 자원을 제공하기 위한 방법 및 장치를 제공하는데 목적이 있다.
본 개시의 일 실시 예에 따르면, M2M(Machine-to-Machine) 시스템에서 제1 장치의 동작 방법은, 인공지능 모델의 훈련에 관련된 자원의 생성을 요청하는 제1 메시지를 제2 장치에게 송신하는 단계, 상기 자원에 기반한 훈련의 수행을 요청하는 제2 메시지를 상기 제2 장치에게 송신하는 단계, 상기 인공지능 모델의 훈련의 완료를 통지하는 제3 메시지를 상기 제2 장치로부터 수신하는 단계, 및 상기 훈련된 인공지능 모델을 이용하여 예측 동작을 수행하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따르면, M2M(Machine-to-Machine) 시스템에서 제2 장치의 동작 방법은, 인공지능 모델의 훈련에 관련된 자원의 생성을 요청하는 제1 메시지를 제1 장치로부터 수신하는 단계, 상기 자원에 기반한 훈련의 수행을 요청하는 제2 메시지를 상기 제1 장치로부터 수신하는 단계, 상기 인공지능 모델의 구축(build)을 요청하는 제3 메시지를 제3 장치로 송신하는 단계, 및 상기 인공지능 모델을 이용한 예측 동작을 보조하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따르면, M2M(Machine-to-Machine) 시스템에서 제3 장치의 동작 방법은, 제1 장치에서 이용될 인공지능 모델의 구축(build)을 요청하는 제1 메시지를 제2 장치로부터 수신하는 단계, 상기 인공지능 모델을 생성하는 단계, 상기 인공지능 모델에 대한 훈련을 수행하는 단계, 및 상기 훈련된 인공지능 모델에 대한 정보를 포함하는 제2 메시지를 상기 제2 장치에게 송신하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따르면, M2M(Machine-to-Machine) 시스템에서 제1 장치는, 송수신기, 및 상기 송수신기와 연결된 프로세서를 포함할 수 있다. 상기 프로세서는, 인공지능 모델의 훈련에 관련된 자원의 생성을 요청하는 제1 메시지를 제2 장치에게 송신하고, 상기 자원에 기반한 훈련의 수행을 요청하는 제2 메시지를 상기 제2 장치에게 송신하고, 상기 인공지능 모델의 훈련의 완료를 통지하는 제3 메시지를 상기 제2 장치로부터 수신하고, 상기 훈련된 인공지능 모델을 이용하여 예측 동작을 수행하도록 제어할 수 있다.
본 개시의 일 실시 예에 따르면, M2M(Machine-to-Machine) 시스템에서 제2 장치는, 송수신기, 및 상기 송수신기와 연결된 프로세서를 포함할 수 있다. 상기 프로세서는, 인공지능 모델의 훈련에 관련된 자원의 생성을 요청하는 제1 메시지를 제1 장치로부터 수신하고, 상기 자원에 기반한 훈련의 수행을 요청하는 제2 메시지를 상기 제1 장치로부터 수신하고, 상기 인공지능 모델의 구축(build)을 요청하는 제3 메시지를 제3 장치로 송신하고, 상기 인공지능 모델을 이용한 예측 동작을 보조하도록 제어할 수 있다.
본 개시의 일 실시 예에 따르면, M2M(Machine-to-Machine) 시스템에서 제3 장치는, 송수신기, 및 상기 송수신기와 연결된 프로세서를 포함할 수 있다. 상기 프로세서는, 제1 장치에서 이용될 인공지능 모델의 구축(build)을 요청하는 제1 메시지를 제2 장치로부터 수신하고, 상기 인공지능 모델을 생성하고, 상기 인공지능 모델에 대한 훈련을 수행하고, 상기 훈련된 인공지능 모델에 대한 정보를 포함하는 제2 메시지를 상기 제2 장치에게 송신하도록 제어할 수 있다.
본 개시에 따르면, M2M(Machine-to-Machine) 시스템에서 인공지능(artificial intelligence, AI) 서비스가 효과적으로 제공될 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시에 따른 M2M(Machine-to-Machine) 시스템의 계층 구조를 도시한다.
도 2는 본 개시에 따른 M2M 시스템에서 기준점(reference point)을 도시한다.
도 3은 본 개시에 따른 M2M 시스템에서 각각의 노드를 도시한다.
도 4는 본 개시에 따른 M2M 시스템에서 공통 서비스 펑션을 도시한다.
도 5는 본 개시에 따른 M2M 시스템에서 송신자 및 수신자가 메시지를 교환하는 방법을 도시한다.
도 6은 본 개시에 따른 M2M 시스템에서 인공지능 모델을 위해 사용되는 데이터세트의 종류들의 예를 도시한다.
도 7은 본 개시에 따른 M2M 시스템에서 인공지능 모델에 대한 훈련을 트리거링하는 절차의 예를 도시한다.
도 8은 본 개시에 따른 M2M 시스템에서 인공지능 모델의 훈련에 관련된 자원을 관리하는 절차의 예를 도시한다.
도 9는 본 개시에 따른 M2M 시스템에서 인공지능 모델에 대한 훈련을 수행하는 절차의 예를 도시한다.
도 10은 본 개시에 따른 M2M 시스템에서 인공지능 모델의 훈련에 관련된 자원의 예를 도시한다.
도 11은 본 개시에 따른 M2M 시스템에서 인공지능 모델을 구축하는 절차의 예를 도시한다.
도 12는 본 개시에 따른 M2M 시스템에서 M2M 장치의 구성을 도시한다.
도 13은 본 개시에 따른 M2M 시스템에서 인공지능 모델을 이용한 고장 검출 시나리오를 도시한다.
도 14는 본 개시에 따른 M2M 시스템에서 비디오로부터의 패턴 검출(pattern detection) 시나리오를 도시한다.
도 15는 본 개시에 따른 M2M 시스템에서 언어 기반 감정 분류(language based sentiment classification) 시나리오를 도시한다.
도 16은 본 개시에 따른 M2M 시스템에서 이미지 분류 및 증강(image classification and augmentation) 시나리오를 도시한다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다.
본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
또한 본 명세서는 M2M(Machine-to-Machine) 통신에 기초한 네트워크에 대해 설명하며, M2M 통신 네트워크에서 이루어지는 작업은 해당 통신 네트워크를 관할하는 시스템에서 네트워크를 제어하고 데이터를 송신하는 과정에서 이루어질 수 있다.
또한, 본 명세서에서 M2M 단말은 M2M 통신을 수행하는 단말일 수 있으나, 호환성(Backward Compatibility)을 고려하여 무선 통신 시스템에서 동작하는 단말일 수 있다. 즉, M2M 단말은 M2M 통신 네트워크에 기초하여 동작될 수 있는 단말을 의미할 수 있으나, M2M 통신 네트워크로 한정되는 것은 아니다. M2M 단말은 다른 무선 통신 네트워크에 기초하여 동작하는 것도 가능할 수 있으며, 상술한 실시 예로 한정되지 않는다.
또한, M2M 단말은 고정되거나 이동성을 가질 수 있다. 또한, M2M 서버는 M2M 통신을 위한 서버를 지칭하며 고정국(fixed station) 또는 이동국(mobile station)일 수 있다.
또한, 본 명세서에서 엔티티는 M2M 디바이스, M2M 게이트웨이, M2M 서버와 같은 하드웨어를 지칭할 수 있다. 또한, 일 예로, 엔티티는 M2M 시스템의 계층 구조에서 소프트웨어적인 구성을 지칭하는데 사용할 수 있으며, 상술한 실시 예로 한정되지 않는다.
또한, 일 예로, 본 개시는 M2M 시스템을 중심으로 설명되지만 본 개시는 M2M 시스템에만 제한적으로 적용되는 것은 아니다.
또한, M2M 서버는 M2M 단말 또는 다른 M2M 서버와 통신을 수행하는 서버일 수 있다. 또한, M2M 게이트웨이는 M2M 단말과 M2M 서버를 연결하는 연결점 역할을 수행할 수 있다. 일 예로, M2M 단말과 M2M 서버의 네트워크가 상이한 경우, M2M 게이트웨이를 통해 서로 연결될 수 있다. 이때, 일 예로, M2M 게이트웨이, M2M 서버 모두 M2M 단말일 수 있으며, 상술한 실시 예로 한정되지 않는다.
본 개시는 M2M(Machine-to-Machine) 시스템에서 인공지능(artificial intelligence, AI) 서비스를 가능하게 하기 위한 방법 및 장치에 대한 것이다. 보다 구체적으로, 본 개시는 M2M 시스템에서 인공지능 모델의 훈련에 관련된 정보를 관리하는 기술에 대해 설명한다.
oneM2M은 에너지, 교통, 국방, 공공서비스 등 산업별로 종속적이고 폐쇄적으로 운영되는, 파편 화된 서비스 플랫폼 개발 구조를 벗어나 응용서비스 인프라(플랫폼) 환경을 통합하고 공유하기 위한 사물인터넷 공동서비스 플랫폼 개발을 위해 발족된 사실상 표준화 단체이다. oneM2M은 사물통신, IoT(Internet of Things) 기술을 위한 요구사항, 아키텍처, API(Application Program Interface) 사양, 보안 솔루션, 상호 운용성을 제공하고자 한다. 예를 들어, oneM2M의 사양은 스마트 시티, 스마트 그리드, 커넥티드 카, 홈 오토메이션, 치안, 건강과 같은 다양한 어플리케이션과 서비스를 지원하는 프레임워크를 제공한다. 이를 위해, oneM2M은 모든 어플리케이션들 사이에 데이터의 교환 및 공유를 위한 단일 수평 플랫폼을 정의하는 표준들의 집합을 개발해왔다. oneM2M에서 고려하는 어플리케이션들은 상이한 산업 부문들에 걸친 어플리케이션들도 포함할 수 있다. oneM2M은, 운영 체제처럼, 상이한 기술들과 연동하기 위한 프레임워크를 제공함으로써, 단일화를 촉진하는 분산된 소프트웨어 레이어를 생성하고 있다. 분산된 소프트웨어 레이어는 M2M 어플리케이션들과 데이터 전송을 제공하는 통신 HW(Hardware)/SW(Software) 사이에 위치하는 공통 서비스 계층에서 구현된다. 예를 들어, 공통 서비스 계층은 도 1과 같은 계층 구조의 일부를 차지할 수 있다.
도 1은 본 개시에 따른 M2M(Machine-to-Machine) 시스템의 계층 구조(layered structure)를 도시한다.
도 1를 참조하면, M2M 시스템의 계층 구조는 어플리케이션 계층(110), 공통 서비스 계층(120), 네트워크 서비스 계층(120)으로 구성될 수 있다. 이때, 어플리케이션 계층(110)은 구체적인 어플리케이션에 기초하여 동작하는 계층일 수 있다. 일 예로, 어플리케이션은 차량 추적 어플리케이션(fleet tracking application), 원거리 혈당 모니터링 어플리케이션(remote blood sugar monitoring application), 전략 계량 어플리케이션(power metering application) 또는 제어 어플리케이션(controlling application) 등일 수 있다. 즉, 어플리케이션 계층은 구체적인 어플리케이션에 대한 계층일 수 있다. 이때, 어플리케이션 계층에 기초하여 동작하는 엔티티는 어플리케이션 엔티티(Application Entity, AE)일 수 있다.
공통 서비스 계층(120)은 공통 서비스 펑션(Common Service Function, CSF)에 대한 계층일 수 있다. 일 예로, 공통 서비스 계층(120)은 데이터 관리(data management), 단말 관리(device management), M2M 서비스 구독 관리(M2M service subscription management), 위치 서비스(location Services) 등과 같이 공통 서비스 제공에 대한 계층일 수 있다. 일 예로, 공통 서비스 계층(120)에 기초하여 동작하는 엔티티는 공통 서비스 엔티티(Common Service Entity, CSE)일 수 있다.
공통 서비스 계층(120)은 기능에 의해 CSF로 그룹화되는 서비스들의 집합을 제공할 수 있다. 다수의 인스턴스화 된 CSF들은 CSE들을 형성한다. CSE들은 어플리케이션들(예: oneM2M 명명법에서 어플리케이션 엔티티들 또는 AE들), 다른 CSE들 및 기저 네트워크들(예: oneM2M 명명법에서 네트워크 서비스 엔티티 또는 NSE)과 인터페이스할 수 있다.
네트워크 서비스 계층(120)은 장치 관리(device management), 위치 서비스(location service) 및 장치 트리거링(device triggering)과 같은 서비스들을 공통 서비스 계층(120)에 제공할 수 있다. 이때, 네트워크 계층(120)에 기초하여 동작하는 엔티티는 네트워크 서비스 엔티티(Network Service Entity, NSE)일 수 있다.
도 2는 본 개시에 따른 M2M 시스템에서 기준점(reference point)을 도시한다.
도 2를 참조하면, M2M 시스템 구조는 필드 도메인(Field Domain) 및 인프라스트럭쳐 도메인(Infrastructure Domain)으로 구별될 수 있다. 이때, 각각의 도메인에서 각각의 엔티티들은 기준점(예: Mca 또는 Mcc)을 통해 통신을 수행할 수 있다. 일 예로, 기준점(reference point)은 각각의 엔티티들 간의 통신 흐름을 나타낼 수 있다. 이때, 도 2를 참조하면, AE(210 또는 240)와 CSE(220 또는 250) 사이의 기준점인 Mca 기준점, 서로 다른 CSE 사이의 기준점인 Mcc 기준점 및 CSE(220 또는 250)와 NSE(230 또는 260) 사이의 기준점인 Mcn 기준점이 설정될 수 있다.
도 3은 본 개시에 따른 M2M 시스템에서 각각의 노드를 도시한다.
도 3을 참조하면, 특정 M2M 서비스 제공자의 인프라스트럭쳐 도메인은 특정 인프라스트럭처 노드(310, Infrastructure Node, IN)를 제공할 수 있다. 이때, IN의 CSE는 다른 인프라스트럭쳐 노드의 AE와 Mca 기준점에 기초하여 통신을 수행할 수 있다. 이때, 하나의 M2M 서비스 제공자마다 하나의 IN이 설정될 수 있다. 즉, IN은 인프라스트럭쳐 구조에 기초하여 다른 인프라스트럭쳐의 M2M 단말과 통신을 수행하는 노드일 수 있다. 또한, 일 예로, 노드의 개념은 논리적 엔티티일 수 있으며, 소프트웨어적인 구성일 수 있다.
다음으로, 어플리케이션 지정 노드(320, Application Dedicated Node, ADN)는 적어도 하나의 AE를 포함하고, CSE를 포함하지 않는 노드일 수 있다. 이때, ADN은 필드 도메인에서 설정될 수 있다. 즉, ADN은 AE에 대한 전용 노드일 수 있다. 일 예로, ADN은 하드웨어적으로 M2M 단말에 설정되는 노드일 수 있다. 또한, 어플리케이션 서비스 노드(330, Application Service Node, ASN)는 하나의 CSE와 적어도 하나의 AE를 포함하는 노드일 수 있다. ASN은 필드 도메인에서 설정될 수 있다. 즉, AE 및 CSE를 포함하는 노드일 수 있다. 이때, ASN은 IN과 연결되는 노드일 수 있다. 일 예로, ASN은 하드웨어적으로 M2M 단말에 설정되는 노드일 수 있다.
또한, 미들 노드(340, Middle Node, MN)은 CSE를 포함하고, 0개 또는 그 이상의 AE를 포함하는 노드일 수 있다. 이때, MN은 필드 도메인에서 설정될 수 있다. MN은 다른 MN 또는 IN과 기준점에 기초하여 연결될 수 있다. 또한 일 예로, MN은 하드웨어적으로 M2M 게이트웨이에 설정될 수 있다.
또한, 일 예로, 논-M2M 단말 노드(350, Non-M2M device node, NoDN)은 M2M 엔티티들을 포함하지 않은 노드로서 M2M 시스템과 관리나 협업 등을 수행하는 노드일 수 있다.
도 4는 본 개시에 따른 M2M 시스템에서 공통 서비스 펑션을 도시한다.
도 4를 참조하면, 공통 서비스 펑션들이 제공될 수 있다. 일 예로, 공통 서비스 엔티티는 어플리케이션 및 서비스 계층 관리(402, Application and Service Layer Management), 통신 관리 및 전달 처리(404, Communication Management and Delivery Handling), 데이터 관리 및 저장(406, Data Management and Repository), 장치 관리(408, Device Management), 발견(410, Discovery), 그룹 관리(412, Group Management), 위치(414, Location), 네트워크 서비스 노출/서비스 실행 및 트리거링(416, Network Service Exposure/ Service Execution and Triggering), 등록(418, Registration), 보안(420, Security), 서비스 과금 및 계산(422, Service Charging and Accounting), 서비스 세션 관리 기능(Service Session Management) 및 구독/통지(424, Subscription/Notification) 중 적어도 어느 하나 이상의 CSF을 제공할 수 있다. 이때, 공통 서비스 펑션에 기초하여 M2M 단말들이 동작할 수 있다. 또한, 공통 서비스 펑션은 다른 실시 예도 가능할 수 있으며, 상술한 실시 예로 한정되지 않는다.
어플리케이션 및 서비스 계층 관리(402) CSF는 AE들 및 CSE들의 관리를 제공한다. 어플리케이션 및 서비스 계층 관리(402) CSF는 CSE의 기능들을 구성하고, 문제 해결하고, 및 업그레이드하는 것뿐만 아니라, AE들을 업그레이드하는 능력들을 포함한다.
통신 관리 및 전달 처리(404) CSF는 다른 CSE들, AE들, 및 NSE들과의 통신들을 제공한다. 통신 관리 및 전달 처리(404) CSF는 어떤 시간 및 어느 통신 연결로 통신들을 전달할지를 결정하고, 필요하고 허용되는 경우 그것들이 나중에 전달될 수 있도록 통신들 요청을 버퍼링하기로 결정한다.
데이터 관리 및 저장(406) CSF는 데이터 저장 및 중재 기능들(예: 집결을 위한 데이터 수집, 데이터 리포맷팅, 및 분석 및 시멘틱 처리를 위한 데이터 저장)을 제공한다.
장치 관리(408) CSF는 M2M 게이트웨이들 및 M2M 디바이스들 상에서 디바이스 능력들의 관리를 제공한다.
발견(410) CSF는 필터 기준들에 기초하여 어플리케이션들 및 서비스들에 대한 정보를 검색하는 기능을 제공한다.
그룹 관리(412) CSF는 그룹 관련 요청들의 처리를 제공한다. 그룹 관리(412) CSF는 M2M 시스템이 여러 디바이스들, 어플리케이션들 등에 대한 대량 작업들(bulk operations)을 지원하는 것을 가능하게 한다.
위치(414) CSF는 AE들이 지리적 장소 정보를 획득하는 것을 가능하게 하는 기능을 제공한다.
네트워크 서비스 노출/서비스 실행 및 트리거링(416) CSF는 네트워크 서비스 기능들에 액세스하기 위한 기저 네트워크들과의 통신들을 관리한다.
등록(418) CSF는 AE들(또는 다른 원격 CSE들)이 CSE에 등록하기 위한 기능을 제공한다. 등록(418) CSF는 AE들(또는 원격 CSE)이 CSE의 서비스들을 사용하는 것을 허용한다.
보안(420) CSF는 식별, 인증, 및 허가를 포함하는 액세스 제어와 같은 서비스 레이어에 대한 보안 기능들을 제공한다.
서비스 과금 및 계산(422) CSF는 서비스 레이어에 대한 과금 기능들을 제공한다.
구독/통지(424) CSF는 이벤트에 가입하는 것을 허용하고, 해당 이벤트가 발생할 때 통지되는 기능을 제공한다.
도 5는 본 개시에 따른 M2M 시스템에서 송신자 및 수신자가 메시지를 교환하는 방법을 도시한다.
도 5를 참조하면, 발생자(originator, 510)는 요청 메시지를 수신자(receiver, 520)로 전송할 수 있다. 이때, 발생자(510)와 수신자(520)는 상술한 M2M 단말일 수 있다. 다만, M2M 단말에 한정되지 않고, 발생자(510)와 수신자(520)는 다른 단말일 수 있으며, 상술한 실시 예로 한정되지 않는다. 또한, 일 예로, 발생자(510) 및 수신자(520)는 상술한 노드, 엔티티, 서버 또는 게이트웨이일 수 있다. 즉, 발생자(510) 및 수신자(520)는 하드웨어적인 구성 또는 소프트웨어적인 구성일 수 있으며, 상술한 실시 예로 한정되지 않는다.
이때, 일 예로, 발생자(510)가 전송하는 요청 메시지에는 적어도 하나의 파라미터가 포함될 수 있다. 이때, 일 예로, 파라미터는 필수 파라미터 또는 선택 파라미터가 있을 수 있다. 일 예로, 송신단과 관련된 파라미터, 수신단과 관련된 파라미터, 식별 파라미터 및 동작 파라미터 등은 필수적인 파라미터일 수 있다. 또한, 그 밖에 다른 정보에 대해서는 선택 파라미터일 수 있다. 이때, 송신단 관련 파라미터는 발생자(510)에 대한 파라미터일 수 있다. 또한, 수신단 관련 파라미터는 수신자(520)에 대한 파라미터일 수 있다. 또한, 식별 파라미터는 상호 간의 식별을 위해 요구되는 파라미터일 수 있다.
또한, 동작 파라미터는 동작을 구분하기 위한 파라미터일 수 있다. 일 예로, 동작 파라미터는 생성(Create), 조회(Retrieve), 갱신(Update), 삭제(Delete) 및 통지(Notify) 중 적어도 어느 하나로 설정될 수 있다. 즉, 동작을 구별하기 위한 파라미터일 수 있다.
이때, 수신자(520)는 발생자(510)로부터 요청 메시지를 수신하면 해당 요청 메시지를 처리할 수 있다. 일 예로, 수신자(520)는 요청 메시지에 포함된 동작을 수행할 수 있으며, 이를 위해 파라미터가 유효한지 여부 및 권한이 있는지 여부 등을 판단할 수 있다. 이때, 수신자(520)는 파라미터가 유효하고, 권한이 있다면 요청 대상이 되는 자원 존재하는지 여부를 확인하고, 이에 기초하여 프로세싱을 수행할 수 있다.
일 예로, 이벤트가 발생하는 경우, 발생자(510)는 수신자(520)에게 통지에 대한 파라미터를 포함하는 요청 메시지를 전송할 수 있다. 수신자(520)는 요청 메시지에 포함된 통지에 대한 파라미터를 확인하고, 이에 기초하여 동작을 수행할 수 있으며, 응답 메시지를 발생자(510)로 다시 전송할 수 있다.
도 5와 같은 요청 메시지 및 응답 메시지를 이용한 메시지 교환 절차는 Mca 기준점에 기반하여 AE 및 CSE 간 또는 Mcc 기준점에 기반하여 CSE들 간 수행될 수 있다. 즉, 발생자(510)는 AE 또는 CSE이고, 수신자(520)는 AE 또는 CSE일 수 있다. 요청 메시지 내의 동작에 따라, 도 5와 같은 메시지 교환 절차는 AE 또는 CSE에 의해 시작될(initiated) 수 있다.
기준점 Mca 및 Mcc를 통한 요청자로부터 수신자로의 요청은 적어도 하나의 필수적인(mandatory) 파라미터를 포함하고, 적어도 하나의 선택적인(optional) 파라미터를 포함할 수 있다. 즉, 정의된 각 파라미터는 요청되는 동작(operation)에 따라 필수적이거나 선택적일 수 있다. 예를 들어, 응답 메시지는 이하 [표 1]에 나열된 파라미터들 중 적어도 하나를 포함할 수 있다.
Response message parameter/success or not
Response Status Code - successful, unsuccessful, ack
Request Identifier - uniquely identifies a Request message
Content - to be transferred
To - the identifier of the Originator or the Transit CSE that sent the corresponding non-blocking request
From - the identifier of the Receiver
Originating Timestamp - when the message was built
Result Expiration Timestamp - when the message expires
Event Category - what event category shall be used for the response message
Content Status
Content Offset
Token Request Information
Assigned Token Identifiers
Authorization Signature Request Information
Release Version Indicator - the oneM2M release version that this response message conforms to
요청 메시지 또는 응답 메시지에서 사용될 수 있는 필터 기준 조건(filter criteria condition)은 이하 [표 2] 및 [표 3]과 같이 정의될 수 있다.
Condition tag Multiplicity Description
Matching Conditions
createdBefore 0..1 The creationTime attribute of the matched resource is chronologically before the specified value.
createdAfter 0..1 The creationTime attribute of the matched resource is chronologically after the specified value.
modifiedSince 0..1 The lastModifiedTime attribute of the matched resource is chronologically after the specified value.
unmodifiedSince 0..1 The lastModifiedTime attribute of the matched resource is chronologically before the specified value.
stateTagSmaller 0..1 The stateTag attribute of the matched resource is smaller than the specified value.
stateTagBigger 0..1 The stateTag attribute of the matched resource is bigger than the specified value.
expireBefore 0..1 The expirationTime attribute of the matched resource is chronologically before the specified value.
expireAfter 0..1 The expirationTime attribute of the matched resource is chronologically after the specified value.
labels 0..1 The labels attribute of the matched resource matches the specified value.
labelsQuery 0..1 The value is an expression for the filtering of labels attribute of resource when it is of key-value pair format. The expression is about the relationship between label-key and label-value which may include equal to or not equal to, within or not within a specified set etc. For example, label-key equals to label value, or label-key within {label-value1, label-value2}. Details are defined in [3]
childLabels 0..1 A child of the matched resource has labels attributes matching the specified value. The evaluation is the same as for the labels attribute above. Details are defined in [3].
parentLabels 0..1 The parent of the matched resource has labels attributes matching the specified value. The evaluation is the same as for the labels attribute above. Details are defined in [3].
resourceType 0..n The resourceType attribute of the matched resource is the same as the specified value. It also allows differentiating between normal and announced resources.
childResourceType 0..n A child of the matched resource has the resourceType attribute the same as the specified value.
parentResourceType 0..1 The parent of the matched resource has the resourceType attribute the same as the specified value.
sizeAbove 0..1 The contentSize attribute of the <contentInstance> matched resource is equal to or greater than the specified value.
sizeBelow 0..1 The contentSize attribute of the <contentInstance> matched resource is smaller than the specified value.
contentType 0..n The contentInfo attribute of the <contentInstance> matched resource matches the specified value.
attribute 0..n This is an attribute of resource types (clause 9.6). Therefore, a real tag name is variable and depends on its usage and the value of the attribute can have wild card *. E.g. creator of container resource type can be used as a filter criteria tag as "creator=Sam", "creator=Sam*", "creator=*Sam".
childAttribute 0..n A child of the matched resource meets the condition provided. The evaluation of this condition is similar to the attribute matching condition above.
parentAttribute 0..n The parent of the matched resource meets the condition provided. The evaluation of this condition is similar to the attribute matching condition above.
semanticsFilter 0..n Both semantic resource discovery and semantic query use semanticsFilter to specify a query statement that shall be specified in the SPARQL query language [5]. When a CSE receives a RETRIEVE request including a semanticsFilter, and the Semantic Query Indicator parameter is also present in the request, the request shall be processed as a semantic query; otherwise, the request shall be processed as a semantic resource discovery. 
In the case of semantic resource discovery targeting a specific resource, if the semantic description contained in the <semanticDescriptor> of a child resource matches the semanticFilter, the URI of this child resource will be included in the semantic resource discovery result.
 
In the case of semantic query, given a received semantic query request and its query scope, the SPARQL query statement shall be executed over aggregated semantic information collected from the semantic resource(s) in the query scope and the produced output will be the result of this semantic query.
 
Examples for matching semantic filters in SPARQL to semantic descriptions can be found in [i.28].
filterOperation  0..1 Indicates the logical operation (AND/OR) to be used for different condition tags. The default value is logical AND.
contentFilterSyntax 0..1 Indicates the Identifier for syntax to be applied for content-based discovery.
contentFilterQuery 0..1 The query string shall be specified when contentFilterSyntax parameter is present.
Condition tag Multip-licity Description
Filter Handling Conditions
filterUsage 0..1 Indicates how the filter criteria is used. If provided, possible values are 'discovery' and 'IPEOnDemandDiscovery'.
If this parameter is not provided, the Retrieve operation is a generic retrieve operation and the content of the child resources fitting the filter criteria is returned.
If filterUsage is 'discovery', the Retrieve operation is for resource discovery (clause 10.2.6), i.e. only the addresses of the child resources are returned.
If filterUsage is 'IPEOnDemandDiscovery', the other filter conditions are sent to the IPE as well as the discovery Originator ID. When the IPE successfully generates new resources matching with the conditions, then the resource address(es) shall be returned. This value shall only be valid for the Retrieve request targeting an <AE> resource that represents the IPE.
limit 0..1 The maximum number of resources to be included in the filtering result. This may be modified by the Hosting CSE. When it is modified, then the new value shall be smaller than the suggested value by the Originator.
level 0..1 The maximum level of resource tree that the Hosting CSE shall perform the operation starting from the target resource (i.e. To parameter). This shall only be applied for Retrieve operation. The level of the target resource itself is zero and the level of the direct children of the target is one.
offset 0..1 The number of direct child and descendant resources that a Hosting CSE shall skip over and not include within a Retrieve response when processing a Retrieve request to a targeted resource.
applyRelativePath 0..1 This attribute contains a resource tree relative path (e.g. ../tempContainer/LATEST). This condition applies after all the matching conditions have been used (i.e. a matching result has been obtained). The attribute determines the set of resource(s) in the final filtering result. The filtering result is computed by appending the relative path to the path(s) in the matching result. All resources whose Resource-IDs match that combined path(s) shall be returned in the filtering result. If the relative path does not represent a valid resource, the outcome is the same as if no match was found, i.e. there is no corresponding entry in the filtering result.
기준점 Mca 및 Mcc를 통한 자원으로의 접근(accessing)에 대한 요청에 대응한 응답은 적어도 하나의 필수적인(mandatory) 파라미터를 포함하고, 적어도 하나의 선택적인(optional) 파라미터를 포함할 수 있다. 즉, 정의된 각 파라미터는 요청되는 동작(operation) 또는 필수 응답 코드(mandatory response code)에 따라 필수적이거나 선택적일 수 있다. 예를 들어, 요청 메시지는 이하 [표 4]에 나열된 파라미터들 중 적어도 하나를 포함할 수 있다.
Request message parameter
Mandatory Operation - operation to be executed / CREAT, Retrieve, Update, Delete, Notify
To - the address of the target resource on the target CSE
From - the identifier of the message Originator
Request Identifier - uniquely identifies a Request message
Operation dependent Content - to be transferred
Resource Type - of resource to be created
Optional Originating Timestamp - when the message was built
Request Expiration Timestamp - when the request message expires
Result Expiration Timestamp - when the result message expires
Operational Execution Time - the time when the specified operation is to be executed by the target CSE
Response Type - type of response that shall be sent to the Originator
Result Persistence - the duration for which the reference containing the responses is to persist
Result Content - the expected components of the result
Event Category - indicates how and when the system should deliver the message
Delivery Aggregation - aggregation of requests to the same target CSE is to be used
Group Request Identifier - Identifier added to the group request that is to be fanned out to each member of the group
Group Request Target Members-indicates subset of members of a group
Filter Criteria - conditions for filtered retrieve operation
Desired Identifier Result Type - format of resource identifiers returned
Token Request Indicator - indicating that the Originator may attempt Token Request procedure (for Dynamic Authorization) if initiated by the Receiver
Tokens - for use in dynamic authorization
Token IDs - for use in dynamic authorization
Role IDs - for use in role based access control
Local Token IDs - for use in dynamic authorization
Authorization Signature Indicator - for use in Authorization Relationship Mapping
Authorization Signature - for use in Authorization Relationship Mapping
Authorization Relationship Indicator - for use in Authorization Relationship Mapping
Semantic Query Indicator - for use in semantic queries
Release Version Indicator - the oneM2M release version that this request message conforms to.
Vendor Information
일반 자원(normal resource)은 관리될 정보의 기저(base)를 구성하는 데이터의 표현(representation)의 완전한 집합을 포함한다. 가상(virtual) 또는 선언된(announced)이 아닌 한, 본 문서에서 자원 종류(type)는 일반 자원으로 이해될 수 있다.
가상 자원(virtual resource)은 처리(processing) 및/또는 검색 결과(retrieve result)를 트리거링하기 위해 사용된다. 하지만, 가상 자원은 CSE 내에서 영구적인(permanent) 표현을 가지지 아니한다.
선언된 자원(announced resource)은 오리지널(original) 자원의 어트리뷰트들(attributes)의 집합을 포함한다. 오리지널 자원이 변화할 때, 선언된 자원은 오리지널 자원의 호스팅(hosting) CSE에 의해 자동적으로 갱신된다. 선언된 자원은 오리지널 자원으로의 링크(link)를 포함한다.
자원 선언(resource announcement)은 자원 발견(resource discovery)을 가능하게 한다. 원격(remote) CSE에서의 선언된 자원은 원격 CSE에서, 오리지널 자원의 자식(children)으로서 존재하지(present) 아니하거나 선언된 자식이 아닌, 자식 자원(child resource)을 생성하기 위해 사용될 수 있다.
자원의 선언을 지원하기 위해, 자원 템플릿(template) 내의 추가적인 열(column)이 관련된 선언된 자원 타입 내의 포함을 위해 선언될 속성을 특정할 수 있다. 각 선언된 <resourceType>에 대하여, 오리지널 <resourceType>으로의 접미사 'Annc'의 추가가 관련된 선언된 자원 종류를 지시하기 위해 사용될 수 있다. 예를 들어, 자원 <containerAnnc>는 <container> 자원을 위한 선언된 자원 종류를 지시할 수 있고, <groupAnnc>는 <group>을 위한 선언된 자원 종류를 지시할 수 있다.
인공지능(artificial intelligence, AI) 기술은 학습하고 생각할 수 있는 컴퓨터 프로그램의 능력이다. 인간의 지능이 할 수 있는 기능을 수행하는 프로그램에 관련되면, 모든 것들은 인공지능으로 취급될 수 있다. 인공지능은 추론(reason), 의미 발견(discover meaning), 일반화(generalize) 또는 경험으로부터의 학습(learn from experience) 등의 능력과 같은 인간의 지적 처리 특성을 가지는 시스템을 개발하는 프로젝트에 자주 적용된다.
한편, 기계 학습(machine learning, ML)은 명시적으로 프로그래밍됨 없이도 소프트웨어 어플리케이션이 결과(outcomes)를 예측하는데 보다 정확해지도록 하는 인공지능의 일종이다. 기계 학습 알고리즘들은 입력으로서 과거 데이터(historical data)를 이용하여 새로운 출력 값들을 예측한다.
많은 인공지능 및 기계 학습 어플리케이션들은 해당 모델을 훈련하기 위하여 IoT 플랫폼 내에서 수집된 데이터를 이용한다. 모델 훈련을 위해 수집된 데이터세트의 양과 품질에 따라서, AI 모델의 성능이 달라진다. oneM2M을 포함한 IoT 플랫폼은 다양한 데이터(예: 이미지, 텍스트, 센서정보(sensory) 등)를 수집하고 관리할 수 있는 주체이다. 우수한 모델을 구축(build)하기 위해, 좋은 데이터 관리 방안을 가지는 것은 매우 중요하다. AI 기술이 현재 많은 네트워크 시스템들(예: 통신 코어 망, 스마트 팩토리 플랫폼, IoT 플랫폼 등)에서 사용되기 때문에, IoT 플랫폼에 필요한 AI 가용성(enablement) 특성을 제공하는 것을 고려하는 것이 바람직하다. AI 어플리케이션들이 적절한 AI 데이터 관리를 지원하는 IoT 플랫폼을 이용하면, 어플리케이션들은 다양한 지능형 서비스를 보다 쉽게 제공할 수 있다.
일반적으로, 기계 학습에 관련된 주요 단계들은 다음과 같이 알려져 있다.
1) 데이터 수집: 양질의 데이터는 우수한 예측 모델을 확보하기 위해 매우 중요하다.
2) 데이터 준비: 수집된 데이터를 이용하여 기계 학습 훈련에서 사용하기 위해 준비한다. 데이터세트는 훈련(train), 검증(validate), 테스트(test) 등 3개 부분들로 분류된다) 훈련을 위한 충분한 데이터세트가 확보되도록 데이터가 증강될(augmented) 수 있다.
3) 모델 선택: 많은 모델들이 존재한다. 몇몇은 이미지 데이터에 적합하고, 다른 것은 텍스트에 적합할 수 있다) 상황에 따라, 적절한 모델이 선택되어야 할 것이다.
4) 모델 훈련: 모델을 개선하기 위해 수집된 데이터세트를 사용한다.
5) 평가: 훈련된 모델은 모델이 우수한지 아닌지 확인하기 위해 평가된다) 수집된 데이터세트는 훈련, 검증, 테스트 등 3개 부분들로 분할된다.
6) 파라미터 조정(tuning): 테스트된 모델을 개선하는 것이 가능하고, 개선의 여지가 있으면, 모델에 의해 사용되는 파라미터들을 조정한다.
7) 예측 수행: 우수한 모델을 가지게 되었다면, 이제 모델은 예측을 위해 사용된다.
도 6은 본 개시에 따른 M2M 시스템에서 인공지능 모델을 위해 사용되는 데이터세트의 종류들의 예를 도시한다. 도 6을 참고하면, 기계 학습을 수행하기 위해, 3가지 종류의 데이터세트들이 정의될 수 있다. 예를 들어, 훈련 데이터세트(602), 검증 데이터세트(604), 테스트 데이터세트(606)이 정의될 수 있다. 각 데이터 세트에 대한 설명은 이하 [표 5]와 같다.
종류 설명
훈련 데이터세트 모델을 피팅(fitting)하기 위해 사용되는 데이터 샘플.
검증 데이터세트 모델 하이퍼파라미터들을 조정하면서, 훈련 데이터세트에 대해 피팅된 모델 피팅의 편향되지 아니한(unbiased) 평가(evaluation)을 제공하기 위해 사용되는 데이터 샘플. 검증 데이터세트에 대한 기술이 모델 설정(configuration)에 포함됨에 따라서 검증은 더 편향된다(biased).
테스트 데이터세트 훈련 데이터세트에 대해 피팅된 최종 모델의 편향되지 아니한 평가를 제공하기 위한 데이터 샘플.
데이터세트를 훈련 데이터세트(602), 검증 데이터세트(604), 테스트 데이터세트(606)로 분할하는 비율이 존재한다. 예를 들어, 비율은 데이터세트(602), 검증 데이터세트(604), 테스트 데이터세트(606) 순서로 70%, 15%, 15%일 수 있다.
본 발명은 기계 학습을 위한 데이터 관리를 지원하기 위한 M2M 플랫폼을 제안한다. M2M 플랫폼 내에서 데이터를 관리하기 위해, 아래와 같은 항목의 정보가 관리될 수 있다.
항목 내용
기계 학습을 위한 데이터세트의 분류 데이터세트의 카테고리(예: 훈련, 검증, 테스트)
기계 학습 데이터세트의 비율 기계 학습 데이터세트의 각 부분의 백분율
모델 AI 어플리케이션이 사용하는 모델이 무엇인지
파라미터 선택된 모델을 위해 요구되는 파라미터
훈련된 모델 훈련 및 검증 이후의 결과 모델
M2M 시스템이 필요한 기능들을 지원하면, AI 어플리케이션은 예측을 위한 모델을 구축하기 위한 자원(들)을 생성할 수 있다. 일 실시 예에 따라, M2M 플랫폼이 훈련을 위한 모드 데이터를 보유하고, 예측을 위한 데이터를 가질 수 있다. 일 실시 예에 따라, M2M 플랫폼(예: AI CSF)이 수행될 기계 학습 알고리즘의 목록을 알고 있다. 다양한 실시 예들에 따라, 어플리케이션은 모델을 구축하기 위해 자원을 생성하고, 어플리케이션은 모델을 구축하는 것을 트리거링할 수 있다. 또한, 어플리케이션은 훈련된 모델을 다운로드하고, 예측을 수행할 수 있다.
도 7은 본 개시에 따른 M2M 시스템에서 인공지능 모델에 대한 훈련을 트리거링하는 절차의 예를 도시한다. 도 7의 동작 주체는 인공지능 서비스를 이용하는 어플리케이션이 실행되는 장치일 수 있다. 이하 설명에서, 도 7의 동작 주체는 '장치'라 지칭된다.
도 7을 참고하면, S701 단계에서, 장치는 훈련에 관련된 자원의 생성을 요청한다. 장치는 CSE에게 인공지능 모델의 훈련에 관련된 자원을 생성할 것을 요청할 수 있다. 이를 위해, 장치는 자원을 생성하기 위해 필요한 정보를 포함하는 제1 요청 메시지를 송신할 수 있다. 예를 들어, 제1 요청 메시지는 인공지능 모델을 지시하는 정보 또는 인공지능 모델을 특정하기 위해 필요한 정보를 포함할 수 있다. 인공지능 모델을 특정하기 위해 필요한 정보는 CSE에 의해 인공지능 모델이 선택되는 경우에 포함되며, 예를 들어, 이용하기를 원하는 인공지능 서비스에 대한 정보, 인공지능 서비스의 사용 범위 또는 사용 환경에 대한 정보 중 적어도 하나를 포함할 수 있다.
S703 단계에서, 장치는 인공지능 모델에 대한 훈련의 수행을 요청한다. 훈련의 수행은 훈련에 관련된 자원을 생성한 CSE에게 요청될 수 있다. 즉, 장치는, S701 단계에서 인공지능 모델의 훈련에 관련된 자원의 생성을 요청한 CSE에게, 생성된 자원에 기반하여 해당 인공지능 모델에 대한 훈련을 수행할 것을 요청하는 제2 요청 메시지를 송신할 수 있다. 일 실시 예에 따라, 제2 요청 메시지는 제1 요청 메시지를 송신한 후, 일정 조건이 만족하면 송신될 수 있다. 예를 들어, 학습 데이터의 확보가 확인되거나(예: CSE로부터의 통지) 또는 제1 요청 메시지 송신으로부터 정해진 시간이 경과하면, 장치는 제2 요청 메시지를 송신할 수 있다. 다른 실시 예에 따라, 제1 요청 메시지 및 제2 요청 메시지는 동시에 송신될 수 있다. 이 경우, 제1 요청 메시지 및 제2 요청 메시지는 하나의 요청 메시지의 부분들로 이해될 수 있다.
S705 단계에서, 장치는 훈련된 모델의 생성 완료를 확인한다. 생성 완료는 훈련을 요청받은 CSE로부터의 통지에 의해 확인될 수 있다. 즉, 장치는 CSE로부터 인공지능 모델의 훈련이 완료되었음을 알리는 통지 메시지를 수신할 수 있다. 이에 따라, 장치는 인공지능 서비스가 이용 가능한 상태가 되었음을 판단할 수 있다. 예를 들어, 통지 메시지는 인공지능 모델의 훈련 완료를 지시하는 정보, 훈련된 인공지능 모델의 성능을 지시하는 정보 중 적어도 하나를 포함할 수 있다. 여기서, 훈련된 인공지능 모델의 성능은 훈련 및 검증 후 수행되는 테스트에 의해 확인될 수 있으며, 오류율 등의 확률 값으로 표현될 수 있다.
S707 단계에서, 장치는 훈련된 모델을 이용하여 예측을 수행한다. 즉, 장치는 외부 또는 다른 장치와의 상호작용을 통해 입력 데이터를 생성하고, 입력 데이터에 대응하는 출력 데이터를 획득한 후, 출력 데이터를 해석할 수 있다. 일 실시 예에 따라, 장치는 직접 인공지능 모델을 운용할 수 있다. 이 경우, 장치는 CSE로부터 훈련된 인공지능 모델에 대한 정보를 수신한 후, 예측을 위한 연산을 수행할 수 있다. 다른 실시 예에 따라, 장치는 CSE에게 입력 데이터를 제공하고, 출력 데이터를 수신할 수 있다.
도 8은 본 개시에 따른 M2M 시스템에서 인공지능 모델의 훈련에 관련된 자원을 관리하는 절차의 예를 도시한다. 도 8의 동작 주체는 인공지능 모델에 관련된 자원을 관리하는 CSE로서 동작하는 장치일 수 있다. 이하 설명에서, 도 8의 동작 주체는 '장치'라 지칭된다.
도 8을 참고하면, S801 단계에서, 장치는 훈련에 관련된 자원을 생성한다. 여기서, 훈련에 관련된 자원은 인공지능 서비스를 이용하고자 하는 AE로부터의 요청에 의해 생성될 수 있다. 즉, 장치는 AE로부터 자원을 생성하기 위해 필요한 정보를 포함하는 제1 요청 메시지를 수신할 수 있다. 예를 들어, 제1 요청 메시지는 인공지능 모델을 지시하는 정보 또는 인공지능 모델을 특정하기 위해 필요한 정보를 포함할 수 있다. 인공지능 모델을 특정하기 위해 필요한 정보는 CSE에 의해 인공지능 모델이 선택되는 경우에 포함되며, 예를 들어, 이용하기를 원하는 인공지능 서비스에 대한 정보, 인공지능 서비스의 사용 범위 또는 사용 환경에 대한 정보 중 적어도 하나를 포함할 수 있다.
S803 단계에서, 장치는 인공지능 모델에 대한 훈련의 수행이 요청되는지 확인한다. 훈련의 수행은 훈련에 관련된 자원의 생성을 요청한 AE로부터 요청될 수 있다. 즉, 장치는, S801 단계에서 인공지능 모델의 훈련에 관련된 자원의 생성을 요청한 AE로부터, 생성된 자원에 기반하여 해당 인공지능 모델에 대한 훈련을 수행할 것을 요청하는 제2 요청 메시지가 수신되는지 확인할 수 있다. 일 실시 예에 따라, 제2 요청 메시지는 제1 요청 메시지와 별개의 메시지로서 수신될 수 있다. 다른 실시 예에 따라, 제1 요청 메시지 및 제2 요청 메시지는 동시에 수신될 수 있다. 이 경우, 제1 요청 메시지 및 제2 요청 메시지는 하나의 요청 메시지의 부분들로 이해될 수 있다.
인공지능 모델에 대한 훈련의 수행이 요청되면, S805 단계에서, 장치는 인공지능 모델의 구축을 요청한다. 인공지능 모델의 훈련은 별도의 장치(예: AI 관련 CSF)에 의해 수행될 수 있다. 따라서, 장치는 인공지능 모델의 구축, 즉, 생성 및 훈련을 요청하는 제3 요청 메시지를 송신할 수 있다. 예를 들어, 제3 요청 메시지는 인공지능 모델을 지시하는 정보, 인공지능 모델의 훈련에 필요한 정보 중 적어도 하나를 포함한다. 예를 들어, 인공지능 모델의 훈련에 필요한 정보는 학습 데이터 또는 학습 데이터에 접근할 수 있는 정보를 포함할 수 있다.
S807 단계에서, 장치는 인공지능 모델을 이용한 예측 동작을 보조한다. 예를 들어, 예측 동작의 보조는 인공지능 모델에 관련된 자원을 관리하는 것, 예측 동작을 위해 인공지능 모델에 대한 정보를 제공하는 것, 예측 동작을 위한 연산의 적어도 일부를 수행하는 것 등을 포함할 수 있다. 구체적으로, 장치는 훈련의 결과에 기반하여 자원의 어트리뷰트들의 값들을 갱신하고, 훈련의 완료를 AE에게 통지하고, AE의 요청에 따라 자원에 포함된 정보를 제공할 수 있다. 또한, 장치는 자원에 포함된 정보에 기반하여 인공지능 모델에 대한 정보를 AE에게 제공할 수 있다. 또는, 장치는 자원에 포함된 정보에 기반하여 AE의 예측 동작을 위한 연산의 적어도 일부를 처리할 수 있다.
도 9는 본 개시에 따른 M2M 시스템에서 인공지능 모델에 대한 훈련을 수행하는 절차의 예를 도시한다. 도 9는 동작 주체는 인공지능 모델에 대한 훈련을 수행하는 CSF로서 동작하는 장치일 수 있다. 이하 설명에서, 도 9의 동작 주체는 '장치'라 지칭된다.
도 9를 참고하면, S901 단계에서, 장치는 인공지능 모델의 구축에 대한 요청을 수신한다. 즉, 장치는 인공지능 모델에 관련된 자원을 관리하는 CSE로부터 인공지능 모델의 구축, 즉, 인공지능 모델의 생성 및 훈련을 요청하는 요청 메시지를 수신할 수 있다. 예를 들어, 요청 메시지는 인공지능 모델을 지시하는 정보, 인공지능 모델의 훈련에 필요한 정보 중 적어도 하나를 포함한다. 예를 들어, 인공지능 모델의 훈련에 필요한 정보는 학습 데이터 또는 학습 데이터에 접근할 수 있는 정보를 포함할 수 있다.
S903 단계에서, 장치는 인공지능 모델을 생성하고, 인공지능 모델에 대한 훈련을 수행한다. 구체적으로, 장치는 요청 메시지에 의해 확인되는 인공지능 모델을 생성하고, 학습 데이터를 획득한다. 예를 들어, 장치는 요청 메시지로부터 학습 데이터를 획득하거나, 또는 요청 메시지에 의해 지시되는 자원들로부터 학습 데이터를 획득할 수 있다. 장치는 학습 데이터를 훈련 데이터세트, 검증 데이터세트, 테스트 데이터세트로 분류하고, 각 데이터세트를 이용하여 훈련, 검증, 테스트를 수행할 수 있다.
S905 단계에서, 장치는 훈련된 인공지능 모델에 대한 정보를 송신할 수 있다. 장치는 인공지능 모델의 구축을 요청한 CSE에게 훈련된 인공지능 모델에 대한 정보를 송신할 수 있다. 훈련된 인공지능 모델에 대한 정보는 훈련을 통해 갱신된 파라미터에 대한 정보를 포함할 수 있다. 여기서, 파라미터는 인공지능 모델의 구조에 관한 것으로, 인공 신경망의 하이퍼파라미터(예: 레이어 개수 등), 설정 파라미터(예: 연결의 가중치 등)를 포함할 수 있다. 다시 말해, 훈련된 인공지능 모델에 대한 정보는 훈련된 인공지능 모델을 구성하는 적어도 하나의 연결(connection)의 갱신된 가중치 값을 포함할 수 있다.
전술한 바와 같이, 인공지능 모델에 관련된 자원을 기반으로, 복수의 엔티티들(예: AE, CSE, CSF)이 인공지능 모델에 대한 훈련을 위해 상호작용할 수 있다. 이때, 인공지능 모델에 관련된 자원, 다시 말해, 인공지능 모델의 훈련에 관련된 자원이 사용된다. 예를 들어, 인공지능 모델의 훈련에 관련된 자원은, 인공지능 모델에 관련된 정보 및 학습 데이터에 관련된 정보를 저장하도록 설계된다. 일 실시 예에 따라, 인공지능 모델의 훈련에 관련된 자원은, 훈련을 위한 학습 데이터를 저장하는 자원들에 대한 정보를 위한 어트리뷰트, 학습 데이터의 튜플 별 비율에 대한 정보를 위한 어트리뷰트, 인공지능 모델에 대한 정보를 위한 어트리뷰트, 인공지능 모델에서 사용되는 파라미터에 대한 정보, 훈련된 인공지능 모델을 저장하기 위한 어트리뷰트, 인공지능 모델의 구축을 트리거링하는 정보를 위한 어트리뷰트 중 적어도 하나를 포함할 수 있다. 인공지능 모델의 훈련에 관련된 자원의 구체적인 예는 이하 도 10과 같다.
도 10은 본 개시에 따른 M2M 시스템에서 인공지능 모델의 훈련에 관련된 자원의 예를 도시한다. 도 10을 참고하면, 인공지능 모델의 훈련에 관련된 자원인 <mlExecution> 자원(1010)은 복수의 어트리뷰트들을 포함한다. 복수의 어트리뷰트들은 훈련을 위한 데이터에 관련된 정보, 인공지능 모델에 관련된 정보, 훈련 동작에 관련된 정보를 포함할 수 있다. 구체적으로, <mlExecution> 자원(1010)은 datasetTrain 어트리뷰트(1011), datasetValication 어트리뷰트(1012), datasetTest 어트리뷰트(1013), dataSetRatio 어트리뷰트(1014), selectedMode 어트리뷰트(1015), modelPArameters 어트리뷰트(1016), trainedModel 어트리뷰트(1017), trigerBuildModel 어트리뷰트(1018) 중 적어도 하나를 포함할 수 있다. 나열된 각 어트리뷰트의 의미는 이하 [표 7]과 같다.
어트리뷰트 설명
datasetTrain 훈련 데이터를 저장하는 자원들의 목록(list of resources storing train data).
datasetValidation 검증 데이터를 저장하는 자원들의 목록(list of resources storing validation data).
datasetTest 모델을 테스트하기 위한 자원들의 목록(list of resources for testing a model).
datasetRatio 기계 학습 데이터세트의 비율(예: 3개 튜플들의 백분율)(ratio of ML dataset (for example three tuple of percentage)).
selectedModel 수행될 모델을 나타내는 기계 학습 알고리즘(an ML algorithm that represents the model to perform).
modelParameters 선택된 알고리즘에 의해 사용되는 파라미터(parameters used by the selected algorithm). 인공 신경망을 구성하는 파라미터들(예: 레이어 개수, 퍼셉트론 개수, 연결의 구조, 연결의 가중치 등). 알고리즘에 따라서 파라미터 값들이 다르기 때문에, 자원을 통해 관리되는 것이 필요함. 알고리즘이 선택되면, IoT 플랫폼이 저장된 파라미터들을 이용하여 예측을 수행을 할 수 있음.
trainedModel 훈련 및 검증 이후 결과 모델(예: 실행 가능한 소프트웨어)(the result model (e.g., executable software) after training and validation).
trigerBuildModel 모델을 구축할 것을 시작시키는 트리거링 값(a triggering value to start building a model). datasetTrain, datasetValication, datasetTest, dataSetRatio, selectedModel에 적절한 값들이 설정된 것을 상정함(assumption is to have proper values on datasetTrain, datasetValication, datasetTest, dataSetRatio, and selectedModel). 구축의 수행 여부를 지시하는 값으로 설정됨.
도 11은 본 개시에 따른 M2M 시스템에서 인공지능 모델을 구축하는 절차의 예를 도시한다. 도 11은 AI 어플리케이션(1110), CSE(1120), CSF(1130) 간 신호 교환을 예시한다. CSE(1120)는 인공지능 모델의 훈련에 관련된 자원을 관리하는 서버이고, CSF(1130)는 M2M 플랫폼 내의 데이터를 이용하여 인공지능 모델에 대한 훈련을 수행하는 인공지능-인에이블된(AI enabled) 장치일 수 있다.
도 11을 참고하면, S1101 단계에서, AI 어플리케이션(1110)은 CSE(1120)에게 필요한 자원의 생성을 요청하는 메시지를 송신한다. 즉, AI 어플리케이션(1110)은 제공하고자 하는 어플리케이션에 따라 필요한 적어도 하나의 자원의 생성을 요청한다. 여기서, 적어도 하나의 자원은 제공되는 어플리케이션의 종류에 따라 달라질 수 있다. 예를 들어, 적어도 하나의 자원은 어플리케션의 주기능에 관련되거나, 주기능의 보조하기 위한 정보에 관련되거나, M2M 플랫폼 내의 정책에 관련될 수 있다.
S1103 단계에서, AI 어플리케이션(1110)은 <mlExecution> 자원의 설정(conifugration) 및 모델 자원에 대한 구독(subscription)을 요청하는 메시지를 송신한다. 즉, AI 어플리케이션(1110)은 인공지능 서비스를 이용하기 위해 필요한 자원(예: <mlExecution> 자원)을 생성할 것을 CSE(1120)에게 요청한다. 이에 따라, CSE(1120)는 AI 어플리케이션(1110)을 위한 <mlExecution> 자원을 생성한다. 그리고, AI 어플리케이션(1110)은 생성된 <mlExecution> 자원을 구독함으로써, 이후에 <mlExecution> 자원의 어트리뷰트가 갱신되는 것을 모니터링할 수 있다.
S1105 단계에서, AI 어플리케이션(1110)은 triggerBuildModel을 통해 훈련의 수행을 요청하는 메시지를 송신한다. 다시 말해, AI 어플리케이션(1110)은 생성된 <mlExecution> 자원에 관련되는 인공지능 모델에 대한 훈련을 요청한다. 일 실시 예에 따라, CSE(1120)에 <mlExecution> 자원이 생성되는 것만으로 IoT 플랫폼이 자동으로 인공지능 모델을 구축하지 아니할 수 있다. 즉, AI 어플리케이션(1110)의 요청에 의해 인공지능 모델의 구축이 시작되며, triggerBuildModel 어트리뷰트는 AI 어플리케이션(1110)의 요청이 있었음을 지시하는 값으로 설정된다. 예를 들어, triggerBuildModel 어트리뷰트는 1/0 또는 참/거짓(True/False)으로 설정될 수 있다.
S1107 단계에서, CSE(1120)는 <mlExecution> 자원에 저장된 정보에 기반하여 CSF(1130)에게 인공지능 모델의 구축을 요청하는 메시지를 송신한다. 즉, triggerBuildModel 어트리뷰트가 1 또는 참으로 설정됨에 따라, CSE(1120)는 인공지능 모델의 구축을 트리거링한다. 이를 위해, 일 실시 예에 따라, CSE(1120)는 <mlExecution> 자원의 데이터세트 관련 어트리뷰트들(예: datasetTrain, datasetValidation, datasetTest)에 포함된 정보를 이용하여 학습 데이터를 수집하고, 학습 데이터를 CSF(1130)에게 제공할 수 있다. 또는, 다른 실시 예에 따라, CSE(1120)는 CSF(1130)가 학습 데이터를 수집하도록, 데이터세트 관련 어트리뷰트들에 포함된 정보를 CSF(1130)에게 제공할 수 있다.
S1109 단계에서, CSF(1130)는 인공지능 모델에 대한 훈련을 수행한다. 다시 말해, CSF(1130)는 CSE(1120)에 저장된 <mlExecution> 자원에 관련된 인공지능 모델에 대한 훈련(예: 훈련, 검증, 테스트)을 수행한다. 이때, CSF(1130)는 CSE(1120)로부터 제공되거나 또는 CSF(1130)에 의해 수집된 학습 데이터를 이용하여 훈련을 수행할 수 있다. 훈련을 통해, 인공지능 모델은 M2M 플랫폼을 통해 수집된 학습 데이터에 피팅될 수 있다. 이를 통해, 인공지능 모델에 포함되는 적어도 하나의 파라미터(예: 가중치)가 최적화될 수 있다.
S1111 단계에서, CSF(1130)는 CSE(1120)에게 자원 및 어트리뷰트에 관련된 모델 및 파라미터를 갱신하기 위한 정보를 송신한다. 예를 들어, 모델 및 파라미터를 갱신하기 위한 정보는 훈련을 통해 갱신된 인공지능 모델의 파라미터 값들을 포함할 수 있다. 갱신된 인공지능 모델의 파라미터 값들은 인공지능 모델을 사용하기 위해 필요한 정보이며, 또한 <mlExecution> 자원의 어트리뷰트들의 값들을 설정하기 위해 사용될 수 있다. 즉, CSF(1130)는 <mlExecution> 자원에 포함되는 어트리뷰트들의 값들을 갱신하기 위한 정보(예: 갱신된 값 또는 차분 값)를 CSE(1120)에게 송신한다. 이에 따라, CSE(1120)는 <mlExecution> 자원에 포함되는 어트리뷰트들(예: modelParameter, trinedModel 등)의 값들을 갱신할 수 있다.
S1113 단계에서, CSE(1120)는 AI 어플리케이션(1110)에게 훈련된 인공지능 모델의 생성을 통지하는(notify) 메시지를 송신한다. 여기서, 모델의 생성을 통지하는 메시지는 <mlExecution> 자원에 기반한 인공지능 모델의 훈련이 완료됨에 따라 송신되도록 정의된 메시지일 수 있다. 또는, 모델의 생성을 통지하는 메시지는 <mlExecution> 자원에 대한 구독의 대응으로서 송신되는 메시지일 수 있다.
S1115 단계에서, AI 어플리케이션(1110)은 CSE(1120)에게 훈련된 모델을 검색하는(retreive) 메시지를 송신한다. 다시 말해, AI 어플리케이션(1110)은 CSE(1120)에게 훈련된 인공지능 모델에 대한 정보를 요청하고, 훈련된 인공지능 모델에 대한 정보를 수신한다. 이를 통해, AI 어플리케이션(1110)은 훈련된 인공지능 모델을 실행가능한 소프트웨어 형태로 다운로드할 수 있다.
S1117 단계에서, AI 어플리케이션(1110)은 훈련된 인공지능 모델을 이용하여 예측을 수행한다. 즉, AI 어플리케이션(1110)은 인공지능 모델의 예측을 위한 입력 데이터를 생성하고, 인공지능 모델을 이용하여 입력 데이터로부터 예측 결과를 포함하는 출력 데이터를 생성할 수 있다. 도 11에 도시되지 아니하였으나, AI 어플리케이션(1110)은 출력 데이터에 기반하여 예측 결과를 확인하고, 확인된 예측 결과를 사용자에게 출력하거나 또는 다른 장치에게 송신할 수 있다.
도 11을 참고하여 설명한 실시 예에서, AI 어플리케이션(1110)은 CSE(1120)로부터 훈련된 인공지능 모델에 대한 정보를 수신한 후, 예측을 수행한다. 다른 실시 예에 따라, 예측 동작은 AI 어플리케이션(1110)의 요청에 따라 CSE(1120)에 의해 수행될 수 있다. 이 경우, S1115 단계는 생략될 수 있다. 그리고, S1117 단계는, AI 어플리케이션(1110)이 입력 데이터를 제공하는 동작, CSE(1120)가 예측을 수행하는 동작, CSE(1120)가 AI 어플리케이션(1110)에게 출력 데이터를 피드백하는 동작으로 대체될 수 있다.
도 12는 본 개시에 따른 M2M 시스템에서 M2M 장치의 구성을 도시한다. 도 12에 도시된 M2M 장치(1210) 또는 M2M 장치(1220)는 전술한 AE, CSE, NSE 중 적어도 하나의 기능을 수행하는 하드웨어로 이해될 수 있다.
도 12를 참고하면, M2M 장치(1210)는 장치를 제어하는 프로세서(1212) 및 신호를 송수신하는 송수신부(1214)를 포함할 수 있다. 이때, 프로세서(1212)는 송수신부(1214)를 제어할 수 있다. 또한, M2M 장치(1210)는 다른 M2M 장치(1220)와 통신을 수행할 수 있다. 다른 M2M 장치(1220)도 프로세서(1222) 및 송수신부(1224)를 포함할 수 있으며, 프로세서(1222) 및 송수신부(1224)는 프로세서(1212) 및 송수신부(1214)와 동일한 기능을 수행할 수 있다.
일 예로, 상술한 송신자, 수신자, AE, CSE는 각각 도 12의 M2M 장치들(1210 및 1220) 중 하나일 수 있다. 또한, 도 12의 장치들(1210 및 1220)은 다른 장치일 수 있다. 일 예로, 도 12의 장치들(1210 및 1220)은 통신을 수행하는 장치, 자동차 또는 기지국 등과 같은 장치일 수 있다. 즉, 도 12의 장치들(1210 및 1220)은 통신을 수행할 수 있는 장치를 지칭하는 것으로 상술한 실시 예로 한정되지 않는다.
도 13은 본 개시에 따른 M2M 시스템에서 인공지능 모델을 이용한 고장 검출(fault detection) 시나리오를 도시한다. 도 13을 참고하면, 센서(1310)는 측정 값을 M2M 플랫폼(1320)에게 송신하고, M2M 플랫폼(1320)은 고장 검출 서비스 서버(1330)를 이용하여 예측 결과를 획득한다. M2M 플랫폼(1320)은 편차(deviation)를 계산한 후, 고장이라 판단되면 사용자(1340)에게 경고를 송신할 수 있다.
고장 검출은 필드 장치들로부터의 측정에 기반하여 장애 상태 및 상황(defective states and conditions)을 IoT 시스템을 이용하여 확인하는 것을 목표로 한다. 도 13과 같은 시나리오에서, IoT 모듈은 규칙 기반 및 자가-학습 고장 검출 알고리즘을 이용하여 스마트 건물 환경에서 고장 검출 및 고립(fault detection and isolation)을 위해 설계될 수 있다. 이를 통해, 비정상 동작(malfunctions)이 실시간으로 검출될 수 있다.
도 14는 본 개시에 따른 M2M 시스템에서 비디오로부터의 패턴 검출(pattern detection) 시나리오를 도시한다. 도 14를 참고하면, 카메라(1410)는 측정 결과(예: 촬영된 영상)을 M2M 플랫폼(1420)에게 송신하고, M2M 플랫폼(1420)은 시각 인식(visual recognition) 서비스 서버(1430)를 이용하여 예측 결과를 획득한다. M2M 플랫폼(1420)은 분류 스코어(classification score)를 검증(verify)한 후, 특정 패턴의 검출이 판단되면, 사용자(1440)에게 경고를 송신할 수 있다. 도 14와 같은 시나리오에서, IoT 모듈은 기계 학습 및 훈련된 데이터를 이용하여 이미지 분류를 수행한다. 카메라(1410)는 데이터 저장소로부터 이미지들을 주기적으로 읽고, 이미지를 M2M 플랫폼으로 푸쉬(push)한다. 이미지에서 훈련된 카테고리에 속한 대상이 인지되면, 통지가 발생한다.
도 15는 본 개시에 따른 M2M 시스템에서 언어 기반 감정 분류(language based sentiment classification) 시나리오를 도시한다. 도 15를 참고하면, 다양한 소스들(1510)로부터 발생하는 이벤트 데이터는 M2M 플랫폼(1520)에게 제공된다. M2M 플랫폼(1520)은 CSE(1530)을 통해 로우(raw) 텍스트를 정리된(cleaned) 텍스트로 변환하고, 정리된 이벤트 데이터를 어플리케이션(1540)에게 제공한다.
IoT 데이터는 숫자와 문자를 포함하는 다양한 형태들을 가질 수 있다. 도 15와 같은 시나리오는 스마트 시티 컨텍스트(smart cities context)에서 텍스트-형식 데이터를 처리하기 위한 것이다. 본 시나리오는 소셜 네트워크 또는 특정 모바일 어플리케이션으로부터 크라우드소싱된(crowdsourced) 텍스트 데이터의 분석을 통해 재난(disaster)의 발생과 위치를 검출하는 것에 관련된다.
도 16은 본 개시에 따른 M2M 시스템에서 이미지 분류 및 증강(image classification and augmentation) 시나리오를 도시한다. 도 16과 같은 시나리오에서, IoT 모듈은 기계 학습 및 훈련된 데이터를 이용하여 이미지 분류를 수행하도록 설계될 수 있다. 도 16을 참고하면, 카메라(1610)는 디스크(disk)로부터 주기적으로 이미지들을 읽고, 이미지들을 M2M 플랫폼(1620)에게 푸쉬한다. M2M 플랫폼(1620)은 사물 인식, 사물 추적, 세그먼테이션 등을 위해 훈련된 분류자를 포함하는 CSF를 포함할 수 있다. 예를 들어, 커스컴 분류자 CSF, 이미지 분류자 CSF 등이 존재할 수 있다. CSF들은 어플리케이션이 자신의 분류자를 생성하고, 특정한 시각 인식을 구현하도록 훈련하게 할 수 있다. M2M 플랫폼(1620)은 시각 인식 서비스 서버(1630)을 이용하여 분류 및 증강 결과를 획득하고, 분류 스코어를 검증 및 테스트한다. 필요에 따라, M2M 플랫폼(1620)은 사용자(1640)에게 경고를 송신할 수 있다.
상술한 본 개시의 실시 예들은 다양한 수단을 통해 구현될 수 있다. 일 예로, 본 개시의 실시 예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
상술한 바와 같이 개시된 본 개시의 바람직한 실시형태에 대한 상세한 설명은 당업자가 본 개시을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 개시의 바람직한 실시 형태를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 개시의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 개시을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 개시는 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다. 또한, 이상에서는 본 명세서의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 명세서는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 명세서의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 명세서의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
그리고 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수 있다.
또한, 본 개시에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 개시이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 개시이 본 개시의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 개시의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 개시에 포함된 것으로 해석되어야 할 것이다.

Claims (14)

  1. M2M(Machine-to-Machine) 시스템에서 제1 장치의 동작 방법에 있어서,
    인공지능 모델의 훈련에 관련된 자원의 생성을 요청하는 제1 메시지를 제2 장치에게 송신하는 단계;
    상기 자원에 기반한 훈련의 수행을 요청하는 제2 메시지를 상기 제2 장치에게 송신하는 단계;
    상기 인공지능 모델의 훈련의 완료를 통지하는 제3 메시지를 상기 제2 장치로부터 수신하는 단계; 및
    상기 훈련된 인공지능 모델을 이용하여 예측 동작을 수행하는 단계를 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 자원은, 상기 훈련을 위한 학습 데이터를 저장하는 자원들에 대한 정보를 위한 어트리뷰트, 상기 학습 데이터의 튜플 별 비율에 대한 정보를 위한 어트리뷰트, 상기 인공지능 모델에 대한 정보를 위한 어트리뷰트, 상기 인공지능 모델에서 사용되는 파라미터에 대한 정보, 상기 훈련된 인공지능 모델을 저장하기 위한 어트리뷰트, 상기 인공지능 모델의 구축을 트리거링하는 정보를 위한 어트리뷰트 중 적어도 하나를 포함하는 방법.
  3. 청구항 1에 있어서,
    상기 제2 장치로부터 상기 인공지능 모델을 이용하기 위해 생성된 소프트웨어를 다운로드하는 단계를 더 포함하는 방법.
  4. 청구항 1에 있어서
    상기 훈련된 인공지능 모델을 이용하여 예측 동작을 수행하는 단계는,
    상기 훈련된 인공지능 모델에 입력될 입력 데이터를 상기 제2 장치로 송신하는 단계; 및
    상기 제2 장치로부터 상기 입력 데이터로부터 예측된 결과를 수신하는 단계를 포함하는 방법.
  5. 청구항 1에 있어서,
    상기 제3 메시지는, 상기 인공지능 모델의 훈련 완료를 지시하는 정보, 상기 훈련된 인공지능 모델의 성능을 지시하는 정보 중 적어도 하나를 포함하는 방법.
  6. M2M(Machine-to-Machine) 시스템에서 제2 장치의 동작 방법에 있어서,
    인공지능 모델의 훈련에 관련된 자원의 생성을 요청하는 제1 메시지를 제1 장치로부터 수신하는 단계;
    상기 자원에 기반한 훈련의 수행을 요청하는 제2 메시지를 상기 제1 장치로부터 수신하는 단계;
    상기 인공지능 모델의 구축(build)을 요청하는 제3 메시지를 제3 장치로 송신하는 단계; 및
    상기 인공지능 모델을 이용한 예측 동작을 보조하는 단계를 포함하는 방법.
  7. 청구항 6에 있어서,
    상기 자원은, 상기 훈련을 위한 학습 데이터를 저장하는 자원들에 대한 정보를 위한 어트리뷰트, 상기 학습 데이터의 튜플 별 비율에 대한 정보를 위한 어트리뷰트, 상기 인공지능 모델에 대한 정보를 위한 어트리뷰트, 상기 인공지능 모델에서 사용되는 파라미터에 대한 정보, 상기 훈련된 인공지능 모델을 저장하기 위한 어트리뷰트, 상기 인공지능 모델의 구축을 트리거링하는 정보를 위한 어트리뷰트 중 적어도 하나를 포함하는 방법.
  8. 청구항 6에 있어서,
    상기 예측 동작을 보조하는 단계는,
    상기 제1 장치에게 상기 인공지능 모델을 이용하기 위해 생성된 소프트웨어를 제공하는 단계를 포함하는 방법.
  9. 청구항 6에 있어서
    상기 예측 동작을 보조하는 단계는,
    상기 훈련된 인공지능 모델에 입력될 입력 데이터를 상기 제2 장치로 송신하는 단계; 및
    상기 제2 장치로부터 상기 입력 데이터로부터 예측된 결과를 수신하는 단계를 포함하는 방법.
  10. 청구항 6에 있어서,
    상기 제3 메시지는, 상기 인공지능 모델을 지시하는 정보, 상기 인공지능 모델의 훈련에 필요한 정보, 상기 훈련을 위한 학습 데이터에 대한 정보, 상기 학습 데이터에 접근하기 위해 필요한 정보 중 적어도 하나를 포함하는 방법.
  11. 청구항 6에 있어서,
    훈련된 인공지능 모델에 대한 정보를 포함하는 제4 메시지를 상기 제3 장치로부터 수신하는 단계; 및
    상기 인공지능 모델의 훈련의 완료를 통지하는 제5 메시지를 상기 제1 장치에게 송신하는 단계를 더 포함하는 방법.
  12. M2M(Machine-to-Machine) 시스템에서 제3 장치의 동작 방법에 있어서,
    제1 장치에서 이용될 인공지능 모델의 구축(build)을 요청하는 제1 메시지를 제2 장치로부터 수신하는 단계;
    상기 인공지능 모델을 생성하는 단계;
    상기 인공지능 모델에 대한 훈련을 수행하는 단계; 및
    상기 훈련된 인공지능 모델에 대한 정보를 포함하는 제2 메시지를 상기 제2 장치에게 송신하는 단계를 포함하는 방법.
  13. 청구항 12에 있어서,
    상기 제1 메시지는, 상기 인공지능 모델을 지시하는 정보, 상기 인공지능 모델의 훈련에 필요한 정보, 상기 훈련을 위한 학습 데이터에 대한 정보, 상기 학습 데이터에 접근하기 위해 필요한 정보 중 적어도 하나를 포함하는 방법.
  14. 청구항 12에 있어서,
    상기 제2 메시지는, 상기 훈련된 인공지능 모델을 구성하는 적어도 하나의 연결(connection)의 갱신된 가중치 값을 포함하는 방법.
KR1020220027541A 2021-05-10 2022-03-03 M2m 시스템에서 인공지능 서비스를 가능하게 하기 위한 방법 및 장치 KR20220152923A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163186436P 2021-05-10 2021-05-10
US63/186,436 2021-05-10

Publications (1)

Publication Number Publication Date
KR20220152923A true KR20220152923A (ko) 2022-11-17

Family

ID=84028405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220027541A KR20220152923A (ko) 2021-05-10 2022-03-03 M2m 시스템에서 인공지능 서비스를 가능하게 하기 위한 방법 및 장치

Country Status (4)

Country Link
US (1) US20240146817A1 (ko)
EP (1) EP4325813A1 (ko)
KR (1) KR20220152923A (ko)
WO (1) WO2022239979A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11977958B2 (en) * 2017-11-22 2024-05-07 Amazon Technologies, Inc. Network-accessible machine learning model training and hosting system
KR102077384B1 (ko) * 2017-12-31 2020-02-13 주식회사 포스코아이씨티 실시간 학습과 호출을 위한 인공지능 시스템 및 그 처리 방법
KR20200057811A (ko) * 2018-11-13 2020-05-27 현대모비스 주식회사 영상인식을 위한 자동 학습 장치 및 그 방법
JP7166951B2 (ja) * 2019-02-08 2022-11-08 オリンパス株式会社 学習依頼装置、学習装置、推論モデル利用装置、推論モデル利用方法、推論モデル利用プログラム及び撮像装置
KR102108400B1 (ko) * 2019-07-12 2020-05-28 주식회사 딥노이드 의료영상 판독을 위한 컨테이너 기반의 인공지능 클라우드 서비스 플랫폼 시스템

Also Published As

Publication number Publication date
US20240146817A1 (en) 2024-05-02
WO2022239979A1 (ko) 2022-11-17
EP4325813A1 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
EP3861706B1 (en) Framework for dynamic brokerage and management of topics and data at the service layer
US11468095B2 (en) Mechanisms for multi-dimension data operations
EP4030686A1 (en) Method and apparatus for replacing security key in machine to machine system
KR20220152923A (ko) M2m 시스템에서 인공지능 서비스를 가능하게 하기 위한 방법 및 장치
KR20220156429A (ko) M2m 시스템에서 디지털 권한 관리를 지원하기 위한 방법 및 장치
WO2018209195A1 (en) Methods for information object lifecycle management to support interworking between systems
US11395120B2 (en) Method and apparatus for identifying service entity in machine to machine system
US20220164239A1 (en) Method and device for deleting resource in m2m system
US20220101962A1 (en) Enabling distributed semantic mashup
KR20230072403A (ko) M2m 시스템에서 자동화된 재학습을 지원하기 위한 방법 및 장치
EP4329269A1 (en) Method and device for managing data license in m2m system
EP4290430A1 (en) Method and device for augmenting data in m2m system
US11659619B2 (en) Method and apparatus for performing confirmed-based operation in machine to machine system
KR20230120086A (ko) M2m 시스템에서 소실 센서의 측정값 생성 방법 및 장치
KR20230120085A (ko) M2m 시스템에서 머신 러닝을 이용하여 장치를 캘리브레이션하는 방법 및 장치
US11800336B2 (en) Method and apparatus for checking liveness in machine to machine system
KR20230111137A (ko) M2m 시스템에서 클라우드 기반 센서 캘리브레이션 방법 및 장치
KR20230080295A (ko) M2m 시스템에서 데이터 트랜드를 은닉하기 위한 방법 및 장치
KR20220071882A (ko) M2m 시스템에서 장치의 부품 정보를 관리하기 위한 방법 및 장치
US20210084521A1 (en) Method and apparatus for handling incompatible request message in machine-to-machine system
KR20210139154A (ko) M2m 시스템에서 자원 오프로딩을 위해 동기화하기 위한 방법 및 장치
US11470034B2 (en) Method and apparatus for receiving and transmitting periodic notification in machine to machine system
KR20230115878A (ko) M2m 시스템에서 장치 그룹을 캘리브레이션하는 방법 및 장치
US20230120195A1 (en) Method and apparatus for labeling data in machine to machine system
US20220368346A1 (en) Method and apparatus for transferring large amount of data in machine to machine system