KR20230172428A - 데이터 분석 시스템, 데이터 분석 방법 및 프로그램 - Google Patents

데이터 분석 시스템, 데이터 분석 방법 및 프로그램 Download PDF

Info

Publication number
KR20230172428A
KR20230172428A KR1020230076650A KR20230076650A KR20230172428A KR 20230172428 A KR20230172428 A KR 20230172428A KR 1020230076650 A KR1020230076650 A KR 1020230076650A KR 20230076650 A KR20230076650 A KR 20230076650A KR 20230172428 A KR20230172428 A KR 20230172428A
Authority
KR
South Korea
Prior art keywords
data
data analysis
unit
input
phenomenon
Prior art date
Application number
KR1020230076650A
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 KR20230172428A publication Critical patent/KR20230172428A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

[과제] 데이터 분석의 정밀도를 높인다.
[해결 수단] 데이터 분석 시스템(1)의 데이터 분석 모델(M)은 분석 대상에 대한 입력 데이터가 입력되면, 당해 분석 대상이 특정 상태인지 여부를 나타내는 출력값을 출력하도록, 미리 학습 데이터에 의해 학습되며, 파라미터가 확률 변수를 포함한다. 입력부(104)는 데이터 분석 모델(M)에 대해 입력 데이터를 복수회 반복 입력한다. 계산부(105)는 복수회 각각에서 데이터 분석 모델(M)로부터 출력된 복수의 출력값의 분포를 기초로, 특정 상태인 정도를 나타내는 추정값을 계산한다.

Description

데이터 분석 시스템, 데이터 분석 방법 및 프로그램 {DATA ANALYSIS SYSTEM, DATA ANALYSIS METHOD, AND PROGRAM}
본 개시는 데이터 분석 시스템, 데이터 분석 방법 및 프로그램에 관한 것이다.
특허문헌 1에는, 가중 파라미터가 확률 분포에 의해 규정되고, 출력값의 확률 분포의 평균과 분산을 후단에 전파시키는 확률층을 포함하는 학습이 완료된 뉴럴 네트워크에 대해, 데이터를 입력함으로써 당해 데이터를 분석하는 기술이 기재되어 있다.
특허문헌 1: 국제 공개공보 제2021/095361호
본 개시의 목적의 하나는, 예를 들어 데이터 분석의 정밀도를 높이는 것이다.
본 개시의 일측면에 관한 데이터 분석 시스템은 분석 대상에 대한 입력 데이터가 입력되면, 당해 분석 대상이 특정 상태인지 여부를 나타내는 출력값을 출력하도록, 미리 학습 데이터에 의해 학습되며, 파라미터가 확률 변수를 포함하는 데이터 분석 모델과, 상기 데이터 분석 모델에 대해 상기 입력 데이터를 복수회 반복 입력하는 입력부와, 상기 복수회 각각에서 상기 데이터 분석 모델로부터 출력된 복수의 상기 출력값의 분포에 기초하여, 상기 특정 상태인 정도를 나타내는 추정값을 계산하는 계산부를 갖는다.
본 개시에 따르면, 예를 들어 데이터 분석의 정밀도가 높아진다.
도 1은 데이터 분석 시스템의 하드웨어 구성의 일 예를 나타내는 도면이다.
도 2는 데이터 분석 시스템의 기능 블록의 일 예를 나타내는 도면이다.
도 3은 데이터 분석 시스템의 기능 블록에 의해 실행되는 처리의 일 예를 나타내는 도면이다.
도 4는 이상 발생 시의 제어 데이터의 일 예를 나타내는 도면이다.
도 5는 추정값의 계산 방법의 일 예를 나타내는 도면이다.
도 6은 데이터 분석 모델의 학습 방법의 일 예를 나타내는 도면이다.
도 7은 표시 제어부에 의해 표시되는 분석 결과 화면의 일 예를 나타내는 도면이다.
도 8은 데이터 분석 시스템에서 실행되는 처리의 일 예를 나타내는 흐름도이다.
도 9는 변형예에서의 기능 블록의 일 예를 나타내는 도면이다.
도 10은 변형예 1에서의 임계값의 결정 방법의 일 예를 나타내는 도면이다.
[1. 데이터 분석 시스템의 하드웨어 구성]
본 개시에 관한 데이터 분석 시스템의 실시형태의 일 예를 설명한다. 도 1은 데이터 분석 시스템의 하드웨어 구성의 일 예를 나타내는 도면이다. 예를 들어, 데이터 분석 시스템(1)은 모터 제어 장치(10), 기구(20), 센서(30) 및 유저 장치(40)를 포함한다.
모터 제어 장치(10)는 산업 기계의 기구(20)를 제어하는 장치이다. 예를 들어, 모터 제어 장치(10)는 CPU(11), 저장부(12) 및 통신부(13)를 포함한다. CPU(11)는 적어도 하나의 프로세서를 포함한다. 저장부(12)는 휘발성 메모리와 불휘발성 메모리 중 적어도 하나를 포함한다. 통신부(13)는 유선 통신용 통신 인터페이스와 무선 통신용 통신 인터페이스 중 적어도 하나를 포함한다.
기구(20)는 모터 제어 장치(10)에 의해 제어되는 기계이다. 본 실시형태에서는, 기구(20)의 일 예로서 볼 나사를 설명하지만, 기구(20)는 임의의 종류일 수 있으며, 볼 나사로 한정되지 않는다. 예를 들어, 기구(20)는 전동 벨트 또는 기어일 수도 있다. 모터 제어 장치(10)는 적어도 하나의 기구를 제어하면 무방하며, 복수의 기구(20)를 제어할 수도 있다.
기구(20)는 적어도 하나의 모터를 포함한다. 예를 들어, 기구(20)는 전력선을 통해 모터 제어 장치(10)에 접속된다. 본 실시형태에서는, 기구(20)는 모터가 연결된 볼 나사, 리니어 가이드(linear guide) 및 테이블을 포함한다. 테이블에는 대상물이 배치된다. 대상물은 가공 또는 검사와 같은 작업의 대상이 되는 것이다. 대상물은 워크라고 불리는 경우도 있다. 대상물은 테이블 위에 고정되어 테이블과 함께 이동한다.
센서(30)는 기구(20)의 제어에 관한 정보를 검출한다. 본 실시형태에서는, 센서(30)의 일 예로서 토크 센서를 설명하지만, 센서(30)는 임의의 종류일 수 있으며, 토크 센서로 한정되지 않는다. 예를 들어, 센서(30)는 모터 엔코더, 진동 센서, 모션 센서, 초음파 센서, 적외선 센서, 감압 센서, 자이로 센서, 가속도 센서, 온도 센서 또는 비전 센서일 수도 있다.
도 1의 예에서는, 센서(30)는 기구(20)에 편입되어 있는 것으로 하지만, 센서(30)는 기구(20)의 외부에 존재할 수도 있다. 모터 제어 장치(10)에는, 통신선 또는 신호선을 통해 적어도 하나의 센서(30)가 접속되도록 하면 무방하며, 복수의 센서(30)가 접속될 수도 있다. 센서(30)는 허브 등의 장치를 통해 모터 제어 장치(10)에 접속될 수도 있다.
유저 장치(40)는 유저가 조작하는 장치이다. 예를 들어, 유저 장치(40)는 퍼스널 컴퓨터, 태블릿 단말, 스마트 폰 또는 서버 컴퓨터이다. 예를 들어, 유저 장치(40)는 CPU(41), 저장부(42), 통신부(43), 조작부(44) 및 표시부(45)를 포함한다. CPU(41), 저장부(42) 및 통신부(43)는 각각 CPU(11), 저장부(12) 및 통신부(13)와 동일할 수 있다.
조작부(44)는 마우스 또는 키보드 등의 입력 디바이스이다. 표시부(45)는 액정 디스플레이 또는 유기 EL 디스플레이이다. 예를 들어, 유저 장치(40)는 통신선을 통해 모터 제어 장치(10)에 접속된다. 예를 들어, 유저는 유저 장치(40)를 조작하여, 모터 제어 장치(10)의 설정 작업 또는 보수 작업 등의 각종 작업을 수행한다.
아울러, 모터 제어 장치(10) 또는 유저 장치(40)에 저장되는 프로그램은 네트워크를 통해 공급될 수도 있다. 예를 들어, 컴퓨터 판독 가능한 정보 저장 매체를 판독하는 판독부(예를 들어, 메모리 카드 슬롯), 또는 외부 기기와 접속하기 위한 입출력부(예를 들어, USB 단자)를 통해, 정보 저장 매체에 저장된 프로그램이 모터 제어 장치(10) 또는 유저 장치(40)에 공급될 수도 있다.
또한, 모터 제어 장치(10) 및 유저 장치(40)의 각각의 하드웨어 구성은 본 실시형태의 예로 한정되지 않는다. 모터 제어 장치(10) 및 유저 장치(40)의 각각은 임의의 하드웨어를 포함할 수 있다. 예를 들어, ASIC 또는 FPGA가 모터 제어 장치(10) 또는 유저 장치(40)에 포함될 수도 있다. CPU(11, 41)는 circuitry로 불리는 구성의 일 예이지만, ASIC 또는 FPGA가 circuitry에 상당할 수도 있다.
또한, 데이터 분석 시스템(1)에 포함되는 장치는 본 실시형태의 예로 한정되지 않는다. 데이터 분석 시스템(1)은 적어도 하나의 장치를 포함하면 무방하다. 예를 들어, 데이터 분석 시스템(1)은 모터 제어 장치(10)만을 포함할 수도 있다. 이 경우, 기구(20), 센서(30) 및 유저 장치(40)는 데이터 분석 시스템(1)의 외부에 존재한다. 예를 들어, 데이터 분석 시스템(1)은 유저 장치(40)만을 포함할 수도 있다. 이 경우, 모터 제어 장치(10), 기구 20 및 센서(30)는 데이터 분석 시스템(1)의 외부에 존재한다.
[2. 데이터 분석 시스템의 개요]
본 실시형태에서는, 모터 제어 장치(10)는 소정의 위치에 테이블이 이동하도록 기구(20)를 제어한다. 종래에는 어떠한 이상이 기구(20)에 발생하면, 경험을 쌓은 기술자가 모터 제어 장치(10)의 제어 데이터를 해석하고 있었다. 본 실시형태의 데이터 분석 시스템(1)은 기계 학습을 이용한 데이터 분석 모델로 제어 데이터를 분석하여 이상 현상을 추정함으로써, 기술자의 경험에 의존하지 않는 트러블 슈팅을 가능하도록 하고 있다.
이상 현상이란, 이상 요인이 있는 상태에서 기구(20)를 동작시킨 경우에, 기구(20)가 동작한 결과로 발생하는 이상 현상을 말한다. 이상 현상은 이상 물리 현상이라고 할 수도 있다. 이상 현상은 발생하는 인시덴트(incident) 자체라고 할 수도 있다. 예를 들어, 이상 현상은 대상물 또는 테이블의 슬립 현상(직선적인 미끄러짐 현상), 모터축의 슬립 현상(회전적인 미끄러짐 현상), 또는 소정의 진동 현상이다.
데이터 분석 모델을 이용하여 이상 현상을 추정하기 위해서는, 이상 현상이 발생한 경우의 제어 데이터를 데이터 분석 모델에 학습시킬 필요가 있다. 그러나, 제어 데이터에 나타나는 특징은 기구(20) 자체에 관한 기구 조건, 기구(20)를 제어하기 위한 지령에 관한 지령 조건, 및 기구(20)를 제어하기 위한 설정에 관한 설정 조건과 같은 다양한 조건에 따라 상이하다. 데이터 분석 모델에 대해 입력되는 제어 데이터가 데이터 분석 모델의 생성 시에 충분히 학습된 발생 빈도가 높은 특징을 갖는 데이터이더라도, 특징이 유사한 불확실한 데이터이더라도, 동일한 분석 결과가 되어, 그의 확실도가 불명료할 가능성이 있다.
이에, 본 실시형태에서는, 파라미터가 확률 변수를 포함하는 데이터 분석 모델에 대해, 제어 데이터를 복수회 반복 입력함으로써, 데이터 분석의 불확실성을 반영한 출력값을 얻도록 하고 있다. 이로써, 데이터 분석 모델의 불확실성을 최종적으로 계산되는 추정값에 반영할 수 있기 때문에, 데이터 분석의 정밀도가 높아지도록 되어 있다. 이후, 데이터 분석 시스템(1)의 상세를 설명한다.
[3. 데이터 분석 시스템의 기능]
도 2는 데이터 분석 시스템(1)의 기능 블록의 일 예를 나타내는 도면이다. 도 3은 데이터 분석 시스템(1)의 기능 블록에 의해 실행되는 처리의 일 예를 나타내는 도면이다. 이후, 도 3을 참조하면서, 도 2의 기능 블록의 상세를 설명한다. 데이터 분석 시스템(1)은 데이터 분석 모델(M), 입력부(104) 및 계산부(105)를 적어도 포함하면 무방하며, 데이터 분석 시스템(1)의 기능 블록은 도 2의 예로 한정되지 않는다.
도 3과 같이, 본 실시형태에서는, 제어 데이터 D1을 기초로, 단위 현상 a, b의 특정, 단위 현상 데이터 D2a, D2b의 계산, 이상 현상 x, y의 데이터 분석 모델 Mx, My에 의한 데이터 분석, 데이터 분석 모델 Mx, My로부터의 출력값의 분포 dx, dy의 작성, 및 이상 현상 x, y의 정도를 나타내는 추정값의 계산이 실행된다. 도 2에서는 생략하고 있지만, 필요에 따라, 이상 현상 x, y의 추정값으로부터 이상 요인이 추정될 수도 있다.
단위 현상이란, 이상 현상이 세세하게 분할된 개개의 현상이다. 단위 현상은 기구 조건, 지령 조건 및 설정 조건과 같은 조건에 의존하지 않도록, 물리적인 단일 현상으로서 정의된다. 이 때문에, 제어 데이터 D1로부터 직접적으로 이상 현상을 특정하기 어려웠다고 하더라도, 단위 현상이면 특정하기 쉽게 된다. 이상 현상은 복수의 단위 현상으로 분할 가능하다. 이상 현상에 포함되는 단위 현상의 수는 임의의 수일 수 있다. 예를 들어, 이상 현상에 포함되는 단위 현상은 1~5개 정도일 수도 있고, 그 이상일 수도 있다.
예를 들어, 앞서 설명한 이상 현상 「대상물 또는 테이블의 슬립 현상」이라면, 테이블 위의 가동 범위를 미끄러지는 단위 현상 「미끄러짐 현상」과, 테이블 위의 가동 범위를 미끄러진 후의 단위 현상 「충돌 현상」으로 나뉜다. 이상 현상 「모터축의 슬립 현상」이라면, 적어도 하나의 단위 현상 「미끄러짐 현상」으로 나뉘고, 그 후에 단위 현상 「충돌 현상」은 발생하지 않는다.
단위 현상 「미끄러짐 현상」은 토크의 관점이라면, 정상 시에 비해 토크가 감소하는 현상, 또는 소망하는 토크를 내지 못하는 현상이라고 할 수도 있다. 단위 현상 「미끄러짐 현상」은 관성의 관점이라면, 기구(20)의 동작 중에 관성이 일시적으로 작아지는 현상이라고 할 수도 있다. 단위 현상 「충돌 현상」은 스파이크 파형의 발생이라고 할 수도 있다. 다른 이상 현상도 마찬가지로, 기구 조건, 지령 조건 및 설정 조건과 같은 조건에 의존하지 않도록, 개개의 이상 현상을 세세하게 분할한 단위 현상이 정의되도록 하면 무방하다.
이상 요인이란, 이상 현상이 발생한 요인이다. 예를 들어, 이상 요인은 휴먼 에러 또는 경년 열화(aged deterioration) 등에 의해, 나사의 느슨해짐 또는 부품의 파손 등의 현상이 기구(20)에 발생하고 있는 상태에서, 이상을 일으키는 원인이 되는 것이다. 예를 들어, 이상 요인은 나사가 느슨해져 있는 것, 가속 또는 감속이 상정보다 큰 것, 마찰이 상정보다 약한 것, 나사 홀에 유격이 있는 것, 테이블 등의 부품의 균형이 나쁜 것, 또는 테이블 등의 부품의 강성이 약한 것이다.
[3-1. 모터 제어 장치의 기능]
예를 들어, 모터 제어 장치(10)는 데이터 저장부(100), 기구 제어부(101), 취득부(102), 이상 판정부(103), 입력부(104), 복수의 계산부(105) 및 이상 요인 추정부(106)를 포함한다. 데이터 저장부(100)는 저장부(12)를 주로 하여 실현된다. 기구 제어부(101), 취득부(102), 이상 판정부(103), 입력부(104), 복수의 계산부(105) 및 이상 요인 추정부(106)의 각각은 CPU(11)를 주로 하여 실현된다.
[데이터 저장부]
데이터 저장부(100)는 모터 제어 장치(10)가 실행하는 처리에 필요한 데이터를 저장한다. 예를 들어, 데이터 저장부(100)는 기구(20)를 제어하기 위한 데이터와, 데이터 분석을 위한 데이터를 저장한다.
예를 들어, 데이터 저장부(100)는 기구(20)를 제어하기 위한 데이터로서, 모터 제어 장치(10)의 동작을 나타내는 동작 프로그램과, 동작 프로그램에 의해 참조되는 동작 파라미터를 저장한다. 동작 프로그램 자체는 래더 언어 등을 이용하여 작성되는 공지의 프로그램일 수 있다. 동작 파라미터도 공지의 것일 수 있으며, 예를 들어 기구(20)의 모터의 회전 방향 또는 회전 속도 등일 수도 있다. 모터 제어 장치(10)는 동작 프로그램을 실행하고, 필요에 따라 동작 파라미터를 참조함으로써, 기구(20)에 포함되는 모터에 대한 전압을 제어한다.
예를 들어, 데이터 저장부(100)는 데이터 분석을 위한 데이터로서, 단위 현상의 특정 프로그램, 데이터 분석 모델(M), 추정값의 계산 프로그램, 및 이상 요인의 추정 프로그램을 저장한다. 데이터 저장부(100)는 이들 모든 데이터를 저장해야 하는 것은 아니며, 적어도 데이터 분석 모델(M)을 저장하면 무방하다.
단위 현상의 특정 프로그램은 제어 데이터 D1로부터 단위 현상을 특정하기 위한 프로그램이다. 본 실시형태에서는, 단위 현상의 특정 방법의 일 예로서, 후술하는 해석적 방법과 기계 학습 방법을 설명한다. 이 때문에, 단위 현상의 특정 프로그램은 해석적 방법의 처리가 정의된 프로그램, 또는 기계 학습 방법의 처리가 정의된 프로그램이다. 예를 들어, 단위 현상의 특정 프로그램은 특정 대상이 되는 단위 현상의 수만큼 존재할 수도 있고, 복수의 단위 현상을 하나의 특정 프로그램으로 특정 가능할 수도 있다.
본 실시형태에서는, 단위 현상의 특정 프로그램에, 단위 현상 데이터 D2를 계산하는 처리도 정의되어 있는 것으로 하지만, 이 처리는 단위 현상의 특정 프로그램과는 별도의 프로그램에 정의되어 있을 수도 있다. 예를 들어, 단위 현상 데이터 D2를 계산하는 처리는 제어 데이터 D1이 나타내는 파형의 크기를 취득하는 처리, 당해 크기의 평균값을 계산하는 처리, 당해 크기와 임계값을 비교하는 처리, 또는 당해 크기가 임계값 이상인 기간을 계산하는 처리가 나타나 있다. 이들 처리의 상세도 후술한다.
데이터 분석 모델(M)은 모터 제어 장치(10)에 대한 제어 데이터 D1이 입력되면, 당해 모터 제어 장치(10)가 특정 상태인지 여부를 나타내는 출력값을 출력하도록, 미리 학습 데이터에 의해 학습되며, 파라미터가 확률 변수를 포함하는 모델이다. 모터 제어 장치(10)는 분석 대상의 일 예이며, 제어 데이터 D1는 입력 데이터의 일 예이다. 이 때문에, 모터 제어 장치(10)에 대해 설명하고 있는 부분은 분석 대상으로 바꾸어 읽을 수 있으며, 제어 데이터 D1에 대해 설명하고 있는 부분은 입력 데이터로 바꾸어 읽을 수 있다.
분석 대상은 분석의 대상이 되는 것이다. 분석 대상은 유체물로 한정되지 않으며, 무체물일 수도 있다. 예를 들어, 분석 대상은 물리적인 장치가 아니라, 시뮬레이터상에서 동작하는 가공의 장치일 수도 있다. 분석 대상은 모터 제어 장치(10) 이외의 다른 장치일 수도 있다. 예를 들어, 분석 대상은 모터 제어 장치(10)를 관리하는 상위 컨트롤러, 수치 제어 장치, PLC(Programmable Logic Controller), 로봇 컨트롤러, 셀 컨트롤러, 인버터 또는 컨버터일 수도 있다. 예를 들어, 분석 대상은 장치로 한정되지 않으며, 기구(20), 대상물, 모터 또는 로봇일 수도 있다.
입력 데이터는 데이터 분석 모델(M)에 입력되는 데이터이다. 입력 데이터는 데이터 분석 모델(M)에 직접적으로 입력되는 데이터일 수도 있고, 데이터 분석 모델(M)에 직접적으로 입력되는 데이터를 작성하기 위한 근원이 되는 데이터일 수도 있다. 본 실시형태에서는, 제어 데이터 D1이 입력 데이터에 상당하고, 데이터 분석 모델(M)에는 단위 현상 데이터 D2가 직접적으로 입력되기 때문에, 입력 데이터는 데이터 분석 모델(M)에 직접적으로 입력되는 단위 현상 데이터 D2를 작성하기 위한 근원이 되는 데이터이다. 이 입력 데이터는 데이터 분석 모델(M)에 간접적으로 입력되는 데이터라고 할 수도 있다.
아울러, 제어 데이터 D1이 아니라, 단위 현상 데이터 D2가 입력 데이터에 상당할 수도 있다. 이 경우, 입력 데이터는 데이터 분석 모델(M)에 직접적으로 입력되는 데이터이다. 또한, 단위 현상 데이터 D2를 특별히 작성하지 않고, 제어 데이터 D1이 데이터 분석 모델(M)에 직접적으로 입력될 수도 있다. 이 경우에도, 입력 데이터는 데이터 분석 모델(M)에 직접적으로 입력되는 데이터이다. 데이터 분석 모델(M)에는 적어도 하나의 입력 데이터가 입력되도록 하면 무방하다. 예를 들어, 데이터 분석 모델(M)에는 복수의 입력 데이터가 입력될 수도 있다. 입력 데이터는 단위 현상의 특징이 아니라, 제어 데이터 D1의 무언가의 특징을 나타내는 데이터일 수도 있다.
본 실시형태에서는, 데이터 저장부(100)는 상이한 이상 현상이 발생하고 있는지 여부를 나타내는 출력값을 각각 출력하는 복수의 데이터 분석 모델(M)을 저장한다. 이 때문에, 데이터 저장부(100)는 추정 대상이 되는 이상 현상별로 데이터 분석 모델(M)을 저장한다. 추정 대상이 되는 이상 현상을 k(k는 2이상의 정수) 종류라 하면, 데이터 저장부(100)는 k개의 데이터 분석 모델(M)을 저장한다. 데이터 저장부(100)는 적어도 하나의 데이터 분석 모델(M)을 저장하면 무방하며, 다중 클래스 분류를 이용한다면, 복수의 이상 현상을 추정 가능한 하나의 데이터 분석 모델(M)만을 저장할 수도 있다. 그 밖에도 예를 들어, 이상 현상을 하나만 추정하고 싶다면, 데이터 저장부(100)는 하나의 데이터 분석 모델(M)만을 저장할 수도 있다.
도 3의 예에서는, 학습 완료된 데이터 분석 모델 Mx, My가 데이터 저장부(100)에 저장되어 있다. 데이터 분석 모델 Mx는 이상 현상 x의 발생을 추정하기 위한 모델이다. 데이터 분석 모델 My는 이상 현상 y의 발생을 추정하기 위한 모델이다. 이후, 이상 현상 x, y를 구별하지 않을 때에는 말미의 x, y의 알파벳을 생략하고, 단순히 이상 현상이라고 기재한다. 마찬가지로, 데이터 분석 모델 Mx, My를 구별하지 않을 때에는 단순히 데이터 분석 모델(M)이라고 기재한다.
본 실시형태에서는, 데이터 분석 모델(M)이 베이지안 뉴럴 네트워크(Bayesian Neural Network)인 경우를 예로 열거한다. 베이지안 뉴럴 네트워크는 베이지안 네트워크를 뉴럴 네트워크로 치환한 모델이다. 베이지안 뉴럴 네트워크는 파라미터(예를 들어, 가중)에 확률 변수가 포함되어 있으며, 확률 변수를 기초로 파라미터를 샘플링함으로써, 파라미터가 확률적으로 변화한다. 파라미터의 샘플링은 데이터를 입력할 때마다 실시될 수도 있고, 사전에 복수회분의 파라미터를 샘플링하여 메모리에 보존하고, 데이터를 입력할 때마다 적용하는 파라미터를 변경할 수도 있다. 확률적으로 변화하는 파라미터는 가중치로 한정되지 않으며, 바이어스 등의 다른 파라미터일 수도 있다. 베이지안 뉴럴 네트워크는 추정 결과뿐 아니라, 추정 결과의 분포를 기초로 한 불확실성에 관한 정보도 출력할 수 있다.
베이지안 뉴럴 네트워크는 파라미터가 확률적으로 변화하기 때문에, 베이지안 뉴럴 네트워크에 대해 동일한 데이터를 입력해도, 베이지안 뉴럴 네트워크로부터의 출력은 확률적으로 변화한다. 예를 들어, 불확실한 데이터(훈련 경험이 없는 데이터)가 베이지안 뉴럴 네트워크에 입력되는 경우, 베이지안 뉴럴 네트워크로부터의 출력값의 산포가 커진다. 즉, 어떤 특정 범위에 출력값이 집중되는 것이 아니라, 출력값이 광범위하게 흩어진 상태가 된다.
아울러, 데이터 분석 모델(M)은 출력값이 확률적으로 변화하는 모델이면 무방하며, 베이지안 뉴럴 네트워크로 한정되지 않는다. 예를 들어, 데이터 분석 모델(M)은 뉴럴 네트워크가 아닌 베이지안 네트워크일 수도 있다. 예를 들어, 데이터 분석 모델(M)은 은닉 마르코프 모델을 이용한 모델일 수도 있고, 확률 모델 또는 확률적 모델로 불리는 다른 모델일 수도 있다.
추정값의 계산 프로그램은 데이터 분석 모델(M)로부터 출력된 출력값을 기초로 추정값을 계산하기 위한 프로그램이다. 본 실시형태에서는, 추정값의 계산 프로그램은 데이터 분석 모델(M)로부터 출력된 출력값을 집계하여 분포 d를 작성하고, 당해 작성된 분포 d를 기초로 추정값을 계산하기 위한 프로그램이다. 추정값의 계산 프로그램에는, 후술하는 계산부(105)의 처리가 정의되어 있다.
이상 요인의 추정 프로그램은 이상 현상의 추정값을 기초로 이상 요인을 추정하기 위한 프로그램이다. 예를 들어, 이상 현상의 추정값과 이상 요인의 관계를 나타내는 관계 데이터는 미리 데이터 저장부(100)에 정의되어 있는 것으로 한다. 관계 데이터는 임의의 형식일 수 있으며, 예를 들어 테이블 형식, 수식 형식, 기계 학습의 모델, 또는 프로그램 코드의 일부 또는 전부일 수도 있다. 이상 요인의 추정 프로그램은 관계 데이터를 참조하여, 이상 현상의 추정값에 관련지어진 이상 요인을 특정함으로써, 이상 요인을 추정한다.
아울러, 데이터 저장부(100)가 저장하는 데이터는 상기의 예로 한정되지 않는다. 데이터 저장부(100)는 임의의 데이터를 저장 가능하다. 예를 들어, 데이터 저장부(100)는 정상 시의 파형을 나타내는 마스터 데이터를 저장할 수도 있다. 예를 들어, 데이터 저장부(100)는 추정값의 계산에 필요한 임계값을 저장할 수도 있다. 예를 들어, 데이터 저장부(100)는 과거에 취득된 제어 데이터 D1의 이력을 저장할 수도 있다.
[기구 제어부]
기구 제어부(101)는 데이터 저장부(100)에 저장된 동작 프로그램을 기초로, 기구(20)에 포함되는 모터를 제어한다. 모터의 제어 방법 자체는 다양한 방법을 이용 가능하다. 예를 들어, 기구 제어부(101)는 데이터 저장부(100)에 저장된 동작 프로그램을 실행하고, 데이터 저장부(100)에 저장된 동작 파라미터를 참조함으로써, 기구(20)에 포함되는 모터에 대한 전압을 제어한다. 기구 제어부(101)는 센서(30)의 검출 결과를 기초로 기구(20)를 제어할 수도 있다.
[취득부]
취득부(102)는 산업 기계의 기구(20)를 구동하는 모터의 모터 제어 장치(10)의 제어 데이터 D1을 취득한다. 제어 데이터 D1은 기구(20)의 제어에 관한 데이터이다. 본 실시형태에서는, 기구(20)의 제어에 관한 수치가 제어 데이터 D1에 시계열적으로 나타나는 경우를 설명하지만, 제어 데이터 D1은 어느 일 시점의 동작을 나타내는 순간값일 수도 있다. 제어 데이터 D1은 파형 데이터 또는 트레이스 데이터라고 불리는 경우도 있다. 예를 들어, 취득부(102)는 센서(30)의 검출 신호를 기초로 제어 데이터 D1을 취득한다.
도 4는 이상 발생 시의 제어 데이터 D1의 일 예를 나타내는 도면이다. 도 4의 가로축은 시간 축이다. 도 4의 세로축은 토크 등의 수치를 나타내는 축이다. 도 4의 실선은 마스터 데이터가 나타내는 정상 시의 토크 지령의 파형이다. 도 4의 파선은 이상 발생 시의 제어 데이터 D1이 나타내는 토크 지령의 파형이다. 도 4의 점선은 위치 지령 속도이다. 도 4의 예에서는, 위치 지령 속도가 증가하는 기간인 가속 기간과, 위치 지령 속도가 감소하는 감속 기간의 각각에서 이상이 발생하고 있다. 이들 기간에서는, 정상 시와 이상 시의 토크 지령의 차가 커진다.
예를 들어, 취득부(102)는 센서(30)에 의해 검출된 토크 등의 물리량을 시계열적으로 계측하여, 물리량의 시계열적인 변화를 나타내는 제어 데이터 D1을 취득한다. 취득부(102)는 임의의 종류의 제어 데이터를 취득 가능하다. 취득부(102)가 취득하는 제어 데이터는 본 실시형태의 예로 한정되지 않는다. 예를 들어, 취득부(102)는 추정 외란 토크, 위치 편차, 피드백 속도 또는 진동 센서의 검출값과 같은 다양한 제어 데이터를 취득 가능하다.
아울러, 취득부(102)는 센서(30)의 검출 신호가 아니라, 동작 프로그램의 처리 결과를 기초로 제어 데이터 D1을 취득할 수도 있다. 즉, 제어 데이터 D1은 모터 제어 장치(10)의 내부적인 처리 결과를 나타내는 데이터일 수도 있다. 제어 데이터 D1은 임의의 형식일 수 있으며, 파형을 나타내는 데이터로 한정되지 않는다. 예를 들어, 제어 데이터 D1은 화상 형식 또는 표 형식의 데이터일 수도 있다.
[이상 판정부]
이상 판정부(103)는 제어 데이터 D1을 기초로, 이상이 발생했는지 여부를 판정한다. 본 실시형태에서는, 이상 판정부(103)는 어떠한 이상이 발생했는지 여부를 판정하며, 구체적인 이상은 데이터 분석 모델(M)에 의해 추정된다. 이상 판정부(103)는 하나의 제어 데이터 D1만을 기초로 이상이 발생했는지 여부를 판정할 수도 있고, 서로 상이한 복수의 제어 데이터 D1(예를 들어, 토크 지령을 나타내는 제어 데이터 D1과, 진동 센서의 검출값을 나타내는 제어 데이터 D1의 2개의 제어 데이터 D1)을 기초로 이상이 발생했는지 여부를 판정할 수도 있다.
예를 들어, 이상 판정부(103)는 정상 시의 파형을 나타내는 마스터 데이터와, 취득부(102)에 의해 취득된 최신의 제어 데이터 D1을 기초로 이상이 발생했는지 여부를 판정한다. 예를 들어, 이상 판정부(103)는 마스터 데이터와 최신의 제어 데이터 D1의 어긋남 정도가 임계값 미만인 경우에, 이상이 발생하지 않았다고 판정한다. 이상 판정부(103)는 마스터 데이터와 최신의 제어 데이터 D1의 어긋남 정도가 임계값 이상인 경우에, 이상이 발생했다고 판정한다. 이러한 어긋남 정도는 임의의 지표를 이용 가능하며, 예를 들어 마하라노비스 거리가 이용될 수도 있다.
아울러, 이상이 발생했는지 여부를 판정하는 방법 자체는 다양한 방법을 이용 가능하다. 예를 들어, 이상 판정부(103)는 마스터 데이터를 이용하는 방법 이외에도, 최신의 제어 데이터 D1과, 그보다 전의 복수 시점의 각각의 제어 데이터 D1의 평균값의 어긋남 정도가 임계값 이상인 경우에, 이상이 발생했다고 판정할 수도 있다. 예를 들어, 이상 판정부(103)는 최신의 제어 데이터 D1이 나타내는 수치가 미리 정해진 임계값 이상인 시점이 소정수 이상인 경우에, 이상이 발생했다고 판정할 수도 있다. 이상 판정부(103)는 최신의 제어 데이터 D1이 나타내는 수치의 시계열적인 변화의 변화량이 임계값 이상인 경우에, 이상이 발생했다고 판정할 수도 있다.
[입력부]
입력부(104)는 데이터 분석 모델(M)에 대해, 입력 데이터를 복수회 반복 입력한다. 입력 데이터를 복수회 반복 입력한다는 것은, 입력 데이터 자체를 복수회 반복 입력하는 것, 또는 입력 데이터를 기초로 작성된 데이터를 복수회 반복 입력하는 것이다. 입력부(104)는 데이터 분석 모델(M)에 대해, 동일한 입력 데이터를 몇 번이고 입력한다. 입력 데이터의 입력 횟수는 2회 이상이면 무방하며, 임의의 횟수일 수 있다. 예를 들어, 입력 횟수는 100회~1000회 정도일 수도 있고, 그 이하 또는 그 이상일 수도 있다.
본 실시형태에서는, 제어 데이터 D1이 입력 데이터에 상당하기 때문에, 입력부(104)는 데이터 분석 모델(M)에 대해, 입력 데이터로서 제어 데이터 D1을 복수회 반복 입력한다. 아울러, 입력 데이터의 일 예인 제어 데이터 D1이 데이터 분석 모델(M)에 직접적으로 입력되는 것은 아니기 때문에, 제어 데이터 D1을 기초로 작성된 단위 현상 데이터 D2를 복수회 반복 입력하는 것이 입력 데이터를 복수회 반복 입력하는 것에 상당한다.
예를 들어, 입력부(104)는 제어 데이터 D1을 기초로, 기구(20)에 발생한 단위 현상을 특정하고, 데이터 분석 모델(M)에 대해 단위 현상에 관한 단위 현상 데이터 D2를 복수회 반복 입력한다. 입력부(104)는 단위 현상의 특정 프로그램을 기초로, 적어도 하나의 단위 현상을 특정한다. 본 실시형태에서는, 입력부(104)가 복수의 단위 현상의 각각의 특정 프로그램을 기초로 복수의 단위 현상을 특정 가능한 경우를 설명하지만, 입력부(104)는 어느 하나의 단위 현상의 특정 프로그램을 기초로 단위 현상을 하나만 특정할 수도 있다.
단위 현상을 특정한다는 것은, 단위 현상에 관한 정보를 특정하는 것이다. 예를 들어, 단위 현상의 종류를 특정하는 것은 단위 현상을 특정하는 것에 상당한다. 단위 현상을 특정하는 것은 단위 현상의 종류를 특정하는 것으로 한정되지 않으며, 예를 들어 단위 현상의 타이밍, 시간 간격 또는 특징량을 특정하는 것을 의미할 수도 있다. 그 밖에도 예를 들어, 단위 현상의 발생 횟수 또는 발생 빈도를 특정하는 것, 또는 단위 현상에 관한 복수의 정보를 종합적으로 특정하는 것이 단위 현상을 특정하는 것에 상당할 수도 있다.
본 실시형태에서는, 입력부(104)는 이상 판정부(103)에 의해 이상이 발생했다고 판정되지 않는 경우에는, 단위 현상을 특정하는 처리를 실행하지 않고, 이상 판정부(103)에 의해 이상이 발생했다고 판정된 경우에, 단위 현상을 특정하는 처리를 실행한다. 아울러, 이상이 발생하지 않은 경우에도, 입력부(104)는 단위 현상을 특정하는 처리를 계속해서 실행할 수도 있다. 이 경우, 모터 제어 장치(10)는 이상 판정부(103)를 포함하지 않을 수도 있다.
도 3의 예라면, 입력부(104)는 기구(20)에서 무언가 이상이 발생했다고 판정된 경우에, 제어 데이터 D1을 기초로 단위 현상 a, b를 특정한다. 입력부(104)는 제어 데이터 D1을 기초로, 단위 현상 a, b의 특징에 관한 단위 현상 데이터 D2a, D2b를 계산한다. 이후, 단위 현상 a, b를 구별하지 않을 때에는 말미의 a, b의 알파벳을 생략하고, 단순히 단위 현상이라고 기재한다. 마찬가지로, 단위 현상 데이터 D2a, D2b를 구별하지 않을 때에는, 단순히 단위 현상 데이터 D2라고 기재한다.
예를 들어, 입력부(104)는 단위 현상의 특정 프로그램을 기초로 단위 현상을 특정하여 단위 현상 데이터 D2를 작성한다. 단위 현상의 특정 프로그램에는, 제어 데이터 D1로부터 단위 현상을 특정하는 처리 절차가 정의되어 있다. 입력부(104)는 제어 데이터 D1 중, 특정 구간의 부분을 기초로 단위 현상을 특정한다. 예를 들어, 입력부(104)는 제어 데이터 D1 중, 가속 시작부터 감속 시작까지의 구간과 감속 시작 이후의 구간의 각각의 부분에 대해, 각각 정상 데이터로부터의 토크의 증감을 임계값으로 판정하여, 각 단위 현상을 판정한다. 임의의 구간이 판정 대상이 되면 무방하며, 이들 2개의 구간 중 어느 한쪽만이 판정 대상이 될 수도 있다. 입력부(104)는 미리 정해진 해석 방법에 의해 제어 데이터를 해석하는 해석적 수법뿐 아니라, 기계 학습을 이용한 기계 학습 수법에 의해 단위 현상을 특정할 수도 있다.
아울러, 입력부(104)는 단위 현상이 발생한 타이밍을 특정할 수도 있다. 이 타이밍은 제어 데이터 D1이 나타내는 시간 축에서의 타이밍이다. 예를 들어, 타이밍은 반복 실행되는 일련의 동작에 대한 이상이 발생한 상대적인 시점 또는 기간이다. 타이밍은 시, 기간 또는 구간이라고 할 수도 있다. 도 4의 제어 데이터 D1의 예라면, 가속 기간, 감속 기간, 정속 기간 또는 정지 후의 기간과 같은 타이밍이 존재한다.
입력부(104)는 제어 데이터 D1이 나타내는 시간 축 중에서, 단위 현상이 특정되는 근거가 된 부분의 타이밍을 특정한다. 해석적 방법이면, 입력부(104)는 제어 데이터 D1에 포함되는 수치 또는 그의 변화량이 임계값 이상이 된 타이밍을 특정한다. 기계 학습 방법이면, 입력부(104)는 히트 맵 등을 이용하여, 기계 학습 모델이 단위 현상을 특정하는 근거가 된 부분을 타이밍으로서 특정한다. 입력부(104)는 모든 단위 현상의 타이밍을 특정할 수도 있고, 일부 단위 현상의 타이밍을 특정할 수도 있다.
예를 들어, 입력부(104)는 단위 현상의 순서를 특정할 수도 있다. 이 순서는 제어 데이터 D1이 나타내는 시간 축 중에서, 복수의 단위 현상의 각각이 발생한 타이밍의 순서이다. 즉, 이 순서는 시간적인 전후 관계이다. 입력부(104)는 개개의 단위 현상의 타이밍을 비교함으로써, 복수의 단위 현상의 각각의 순서를 특정한다. 입력부(104)는 모든 단위 현상의 순서를 특정할 수도 있고, 일부 단위 현상의 순서만을 특정할 수도 있다.
예를 들어, 입력부(104)는 단위 현상의 시간 간격을 계산할 수도 있다. 이 시간 간격은 제어 데이터 D1이 나타내는 시간 축 중에서, 어떤 단위 현상이 발생하고 나서 다음 단위 현상이 발생할 때까지의 시간적인 길이이다. 입력부(104)는 개개의 단위 현상의 타이밍의 시간 간격을 계산한다. 입력부(104)는 모든 단위 현상의 시간 간격을 계산할 수도 있고, 일부 단위 현상의 시간 간격만을 계산할 수도 있다.
예를 들어, 입력부(104)는 제어 데이터 D1 중, 단위 현상에 대응하는 부분에 관한 다른 특징량을 추출할 수도 있다. 다른 특징량은 제어 데이터 D1이 나타내는 수치 또는 그 변화의 특징을 정량화한 정보이면 무방하다. 제어 데이터 D1이 파형 데이터이면, 파형의 형상적인 특징은 특징량에 상당한다. 예를 들어, 수치의 크기, 파형의 폭, 파형의 형상, 또는 이들의 조합은 특징량에 상당한다. 그 밖에도 예를 들어, 수치의 변화량, 어떤 기간에서의 평균값, 또는 정상 데이터와의 어긋남 상태와 같은 정보가 특징량에 상당할 수도 있다.
입력부(104)는 이상 설명한 처리 결과를 기초로, 단위 현상 데이터 D2를 작성한다. 단위 현상 데이터 D2에는, 제어 데이터 D1 중 단위 현상이 발생한 부분의 파형의 크기, 단위 현상이 발생한 타이밍, 단위 현상의 순서, 단위 현상의 시간 간격 및 그 외 특징량 중 적어도 하나가 포함된다. 입력부(104)는 단위 현상별로 단위 현상 데이터 D2를 작성한다. 입력부(104)는 데이터 분석 모델(M)에 대해, 제어 데이터 D1을 기초로 작성한 적어도 하나의 단위 현상 데이터 D2를 입력함으로써, 제어 데이터 D1을 입력한다.
도 3의 예라면, 입력부(104)는 학습이 완료된 데이터 분석 모델 Mx, My의 각각에 대해, 단위 현상 데이터 D2a, D2b를 복수회 반복 입력한다. 데이터 분석 모델 Mx, My의 각각의 파라미터는 확률적으로 변화하기 때문에, 완전히 동일한 단위 현상 데이터 D2a, D2b를 입력했다고 하더라도, 데이터 분석 모델 Mx, My의 각각으로부터의 출력값은 확률적으로 변화한다. 예를 들어, 출력값은 이상 현상 x, y의 각각이 발생하고 있는 확률을 나타낸다. 출력값은 미리 정해진 범위 내의 수치가 될 수도 있고, 특별히 범위가 정해져 있지 않을 수도 있다.
[계산부]
계산부(105)는 복수회 각각에서 데이터 분석 모델(M)로부터 출력된 복수의 출력값의 분포 d를 기초로, 특정 상태인 정도를 나타내는 추정값을 계산한다. 본 실시형태에서는, 복수의 데이터 분석 모델(M)이 준비되어 있기 때문에, 모터 제어 장치(10)는 입력부(104)에 의해 복수의 데이터 분석 모델(M) 각각에 제어 데이터 D1을 복수회 반복하여 입력하고 복수의 출력값 각각의 분포 d를 기초로, 상이한 이상 현상의 발생 정도를 나타내는 추정값을 각각 계산하는 복수의 계산부(105)를 포함한다. 데이터 분석 모델(M)은 하나만 준비되어 있을 수도 있으며, 이 경우에는 계산부(105)도 하나만 존재한다.
특정 상태란, 분석 대상이 되는 상태이다. 본 실시형태에서는, 특정의 이상 현상이 발생했는지 여부가 분석되기 때문에, 특정의 이상 현상이 발생한 상태가 특정 상태에 상당하는 경우를 예로 든다. 이 때문에, 특정의 이상 현상에 대해 설명하고 있는 부분은 특정 상태라고 바꾸어 읽을 수 있다. 계산부(105)는 특정 상태로서, 특정의 이상 현상의 발생 정도를 나타내는 추정값을 계산하게 된다.
아울러, 특정 상태는 특정의 이상 현상 이외의 다른 상태일 수도 있다. 특정 상태는 특정의 이상 현상으로 한정되지 않는다. 예를 들어, 특정 상태는 이상까지는 가지 않지만, 정상적인 상태에서 약간 벗어난 상태일 수도 있다. 즉, 특정 상태는 이상이 발생할 수 있는 주의해야 할 상태일 수도 있다. 예를 들어, 데이터 분석 모델(M)에 의해, 어느 정도 이상적인 상태에서 기구(20)를 제어하고 있는지를 분석하는 경우에는, 특정 상태는 이상적인 상태일 수도 있다.
특정 상태인 정도란, 특정 상태인 정도이다. 이 정도는 특정 상태인 확률, 특정 상태로 추정되는 가능성, 또는 특정 상태다움이라고 할 수도 있다. 추정값은 이 정도의 높이를 나타내는 지표이다. 본 실시형태에서는, 추정값이 확률로 표현되는 경우를 설명하지만, 추정값은 확률 이외의 수치, 문자 또는 그 외의 기호로 표현될 수도 있다.
본 실시형태에서는, 추정값이 높을수록, 특정 상태인 정도가 높은 것을 의미하는 경우를 예로 들지만, 추정값과 특정 상태인 정도의 관계는 본 실시형태의 예로 한정되지 않는다. 예를 들어, 본 실시형태의 예와는 반대로, 추정값이 낮을수록, 특정 상태인 정도가 높은 것을 의미할 수도 있다. 추정값과 특정 상태인 정도의 사이에는, 무언가 상관 관계가 있으면 무방하다. 예를 들어, 계산부(105)는 분포 d와 추정값의 계산 프로그램을 기초로 추정값을 계산한다.
도 3의 예라면, 계산부(105)는 데이터 분석 모델 Mx, My의 각각으로부터의 출력값을 집계함으로써, 분포 dx, dy를 취득한다. 도 3의 분포 dx, dy의 세로축은 빈도(횟수)이다. 도 3의 분포 dx, dy의 가로축은 출력값이다. 계산부(105)는 분포 dx, dy의 각각을 기초로, 이상 현상 x, y의 정도를 나타내는 추정값을 계산한다. 이후, 분포 dx, dy를 구별하지 않을 때에는 말미의 x, y의 알파벳을 생략하고, 단순히 분포 d라고 기재한다.
도 5는 추정값의 계산 방법의 일 예를 나타내는 도면이다. 도 5의 데이터 분석 모델(M)에 대한 말풍선의 가로축은 파라미터 W이다. 이 말풍선의 세로축은 파라미터 W의 확률 P(W)이다. 본 실시형태에서는, 모터 제어 장치(10)는 분포 d 중, 임계값을 초과한 출력값의 비율이 이상 현상의 정도를 나타내는 추정값으로서 계산한다. 도 5에서는, (1)~(3)의 3개의 패턴이 나타나 있다.
예를 들어, (1)은 출력값이 크고, 불확실성이 작은 경우의 패턴이다. (1)의 추정값은 도 5 중에서 가장 높아진다. (2)는 출력값이 크고, 불확실성이 높은 경우의 패턴이다. (2)의 추정값은 (1)의 추정값보다 낮아진다. (3)은 출력값의 평균은 작고, 불확실성이 작은 경우의 패턴이다. (3)의 추정값은 (1)의 추정값보다 낮아진다.
본 실시형태에서는, 계산부(105)는 분포 d가 흩어질수록 특정 상태인 정도(예를 들어, 이상 현상인 확률)가 작아지도록, 추정값을 계산한다. 분포 d가 흩어진다는 것은, 어떤 특정 출력값의 빈도만 지극히 높아지는 것이 아니라, 출력값의 빈도가 광범위에 걸쳐 그대로 높아지는 것이다. 분포 d가 흩어진다는 것은, 분포 d가 흩어진다고 할 수도 있다. 예를 들어, 표준 편차, 분산 또는 변동 계수가 큰 것은 분포 d가 흩어지는 것에 상당한다. 본 실시형태에서는 표준 편차, 분산 또는 변동 계수와 같은 지표가 계산되는 것은 아니며, 보다 계산량이 적은 지표가 이용되는 것으로 한다.
예를 들어, 계산부(105)는 분포 d에서의 임계값 이상 또는 이하의 출력값의 비율을 기초로 추정값을 계산한다. 본 실시형태에서는, 유저가 임계값을 지정하는 경우를 예로 들지만, 임계값은 후술하는 변형예와 같이, 데이터 분석 모델(M)의 학습 데이터 D3을 이용하여 결정될 수도 있다. 또한, 임계값은 유저가 지정하는 것이 아니라, 모터 제어 장치(10)를 제조한 제조업자가 지정한 값일 수도 있다. 임계값은 데이터 저장부(100)에 미리 저장되어 있는 것으로 한다.
본 실시형태에서는, 계산부(105)는 분포 d를 참조하여, 임계값 이상의 출력값의 빈도를 합계한 제1 합계 빈도를 계산한다. 계산부(105)는 분포 d에서의 모든 출력값의 빈도를 합계한 제2 합계 빈도를 계산한다. 제2 합계 빈도는 단위 현상 데이터 D2를 데이터 분석 모델(M)에 입력한 합계 횟수이다. 예를 들어, 계산부(105)는 제1 합계 빈도를 제2 합계 빈도로 나눔으로써, 분포 d에서의 임계값 이상의 출력값의 비율을 계산한다.
도 3의 예라면, 분포 dx는 전체의 70%가 임계값 이상의 출력값이다. 분포 dy는 전체의 60%가 임계값 이상의 출력값이다. 본 실시형태에서는, 계산부(105)는 상기와 같이 하여 계산된 비율을 그대로 추정값으로서 취득하는 경우를 설명하지만, 계산부(105)는 당해 계산된 비율을 소정 계산식에 대입함으로써, 최종적인 추정값을 계산할 수도 있다. 그 밖에도 예를 들어, 계산부(105)는 제1 합계 빈도를 그대로 최종적인 추정값으로서 취득할 수도 있다.
아울러, 출력값과 이상 현상의 정도의 관계가 본 실시형태와는 반대의 관계인 경우(출력값이 낮을수록, 이상 현상의 정도가 높은 경우)에는, 계산부(105)는 분포 d를 참조하여, 임계값 이하의 출력값의 빈도를 합계함으로써, 제1 합계 빈도를 계산할 수도 있다. 계산부(105)는 제1 합계 빈도를 제2 합계 빈도로 나눔으로써, 분포 d에서의 임계값 이하의 출력값의 비율을 계산할 수도 있다.
[이상 요인 추정부]
이상 요인 추정부(106)는 이상 요인의 추정 프로그램과 이상 현상의 추정값을 기초로 이상 요인을 추정한다. 이상 현상의 추정값과 이상 요인의 관계는 미리 데이터 저장부(100)에 저장되어 있는 것으로 한다. 예를 들어, 이상 요인 추정부(106)는 이상 요인의 추정 프로그램을 실행하고, 이상 현상의 추정값에 관련지어진 이상 요인을 추정한다. 이상 요인 추정부(106)는 추정한 이상 요인을 나타내는 데이터를 데이터 저장부(100)에 기록한다. 이 데이터는 유저 장치(40)에 송신된다.
[3-2. 유저 장치의 기능]
예를 들어, 유저 장치(40)는 데이터 저장부(400), 학습부(401) 및 표시 제어부(402)를 포함한다. 데이터 저장부(400)는 저장부(42)를 주로 하여 실현된다. 학습부(401) 및 표시 제어부(402)는 CPU(41)를 주로 하여 실현된다.
[데이터 저장부]
데이터 저장부(400)는 데이터 분석 모델(M)의 학습에 필요한 데이터를 저장한다. 예를 들어, 데이터 저장부(400)는 엔지니어링 툴을 저장한다. 엔지니어링 툴은 유저에 의한 작업을 지원하기 위한 프로그램이다. 엔지니어링 툴에서는, 모터 제어 장치(10)에 실행시키는 동작 프로그램의 작성, 모터 제어 장치(10)에 기록하는 파라미터의 설정, 또는 데이터 분석 모델(M)에 의한 분석 결과에 관한 화면의 표시가 가능하다.
예를 들어, 데이터 저장부(400)는 학습 전의 데이터 분석 모델(M)과, 데이터 분석 모델(M)의 학습 데이터 D3을 저장한다. 학습 전의 데이터 분석 모델(M)은 파라미터가 초기값인 데이터 분석 모델(M)이다. 학습 데이터 D3에는, 데이터 분석 모델(M)에 실제로 입력되는 입력 데이터와 동일한 형식의 데이터와, 당해 데이터가 입력된 경우에 데이터 분석 모델(M)로부터 출력될 정답이 되는 데이터의 페어가 포함된다.
본 실시형태에서는, 학습 데이터 D3에는, 특정 이상 현상이 발생한 경우의 단위 현상 데이터 D2와 동일한 형식의 데이터와, 이상 현상이 발생한 것을 나타내는 데이터의 페어가 포함된다. 예를 들어, 유저는 기구(20) 또는 동작 파라미터를 고의로 이상 상태로 함으로써, 학습 데이터 D3을 작성한다. 학습 데이터 D3은 고의로 이상 현상을 발생시켰을 때의 제어 데이터 D1이라고 할 수도 있다. 데이터 저장부(400)는 이상 현상별로 학습 데이터 D3을 저장한다.
아울러, 학습 데이터 D3의 작성 방법은 상기의 예로 한정되지 않는다. 예를 들어, 고의로 이상 현상을 발생시키는 것이 아니라, 우연히 이상 현상이 발생한 경우의 제어 데이터 D1이 학습 데이터 D3으로서 취득될 수도 있다. 그 밖에도 예를 들어, 실제로 이상 현상을 발생시키는 것이 아니라, 시뮬레이터상에서 이상 현상이 발생시킨 경우에 수집된 시뮬레이터상의 제어 데이터 D1을 기초로 학습 데이터 D3이 취득될 수도 있다.
[학습부]
도 6은 데이터 분석 모델(M)의 학습 방법의 일 예를 나타내는 도면이다. 도 6과 같이, 학습부(401)는 학습 데이터 D3을 기초로, 데이터 분석 모델(M)의 학습을 실행한다. 예를 들어, 학습부(401)는 도 3과 동일하게 하여, 학습 데이터 D3으로부터 단위 현상 a, b를 특정하고, 단위 현상 데이터 D2a, D2b를 작성한다. 이들 일련의 흐름은 단위 현상의 특정 프로그램에 의해 실행된다. 데이터 저장부(400)에는, 단위 현상의 특정 프로그램이 저장되어 있는 것으로 한다. 학습부(401)는 학습 데이터 D3으로부터 작성한 단위 현상 데이터 D2a, D2b를 기초로, 데이터 분석 모델 Mx, My의 학습을 실행한다.
데이터 분석 모델 Mx, My의 학습 방법 자체는 기계 학습에서 이용되고 있는 다양한 방법을 이용 가능하다. 예를 들어, 학습부(401)는 변분 추론법 등의 근사 추론 방법 또는 구배 강하법 또는 오차 역전파법을 이용하여 데이터 분석 모델(M)의 학습을 실행한다. 학습부(401)는 학습 데이터 D3으로부터 작성한 단위 현상 데이터 D2a, D2b가 입력된 경우에, 데이터 분석 모델 Mx, My로부터 이상 현상이 발생한 것을 나타내는 출력값이 출력되도록 데이터 분석 모델 Mx, My의 파라미터를 조정한다. 학습부(401)는 학습이 완료된 데이터 분석 모델 Mx, My를 데이터 저장부(100)에 기록한다.
아울러, 학습 데이터 D3은 이상 현상이 발생한 경우의 데이터가 아닐 수도 있다. 학습 데이터 D3은 정상적인 상태를 나타내는 데이터일 수도 있다. 이 경우, 학습부(401)는 정상적인 상태를 나타내는 학습 데이터 D3을 기초로 작성된 단위 현상 데이터 D2가 입력된 경우에, 데이터 분석 모델(M)로부터 이상 현상이 발생하지 않은 것을 나타내는 출력값이 출력되도록, 데이터 분석 모델(M)의 파라미터를 조정하면 무방하다. 정상 시의 상태를 나타내는 학습 데이터 D3과, 이상 시의 상태를 나타내는 학습 데이터 D3이 데이터 분석 모델(M)의 학습에서 이용될 수도 있다.
[표시 제어부]
도 7은 표시 제어부(402)에 의해 표시되는 분석 결과 화면의 일 예를 나타내는 도면이다. 예를 들어, 표시 제어부(402)는 엔지니어링 툴을 기초로, 데이터 분석 모델(M)에 의한 분석 결과를 나타내는 분석 결과 화면(G)을 표시부(45)에 표시시킨다. 예를 들어, 표시 제어부(402)는 단위 현상에 관한 정보, 이상 현상에 관한 정보, 및 이상 요인에 관한 정보를 나타내는 분석 결과 화면(G)을 표시시킨다. 분석 결과 화면(G)에는, 이들 정보 중 일부만이 표시될 수도 있다.
[4. 데이터 분석 시스템에서 실행되는 처리]
도 8은 데이터 분석 시스템(1)에서 실행되는 처리의 일 예를 나타내는 흐름도이다. 도 8의 처리는 CPU(11, 41)가 각각 저장부(12, 42)에 저장된 프로그램을 기초로 동작함으로써 실행된다.
도 8과 같이, 유저 장치(40)는 엔지니어링 툴을 기동하여, 학습 데이터 D3을 기초로 데이터 분석 모델(M)의 학습을 실행한다(S1). 유저 장치(40)는 모터 제어 장치(10)에 대해, 학습이 완료된 데이터 분석 모델(M)을 송신한다(S2). 모터 제어 장치(10)는 학습이 완료된 데이터 분석 모델(M)을 저장부(12)에 기록한다(S3). 모터 제어 장치(10)는 유저 장치(40)로부터, 단위 현상의 특정 프로그램 등의 데이터도 수신하여 저장부(12)에 기록하고 있는 것으로 한다.
모터 제어 장치(10)는 저장부(12)에 저장된 동작 프로그램 및 동작 파라미터를 기초로 기구(20)를 제어한다(S4). 모터 제어 장치(10)는 센서(30)의 검출 신호 등을 기초로, 최신의 제어 데이터 D1을 취득한다(S5). 모터 제어 장치(10)는 S5에서 취득한 제어 데이터 D1을 기초로, 어떠한 이상이 발생했는지 여부를 판정한다(S6). 무언가 이상이 발생했다고 판정되지 않는 경우(S6; N), S4의 처리로 돌아가, 기구(20)의 제어가 계속된다.
어떠한 이상이 발생했다고 판정된 경우(S6; Y), 모터 제어 장치(10)는 최신의 제어 데이터 D1과, 단위 현상의 특정 프로그램을 기초로 단위 현상을 특정하고, 데이터 분석 모델(M)에 대해, 단위 현상 데이터 D2를 복수회 반복 입력한다(S7). 모터 제어 장치(10)는 S7에서 데이터 분석 모델(M)로부터 출력된 출력값을 집계하여 분포 d를 작성한다(S8).
모터 제어 장치(10)는 S8에서 작성한 분포 d와, 추정값의 계산 프로그램을 기초로 임계값 이상의 출력값의 비율을 계산함으로써, 이상 현상의 추정값을 계산한다(S9). 모터 제어 장치(10)는 추정값에 따른 이상 요인을 추정한다(S10). 모터 제어 장치(10)는 유저 장치(40)에 대해, 이상 현상의 추정값 등의 데이터를 송신한다(S11). 유저 장치(40)는 데이터를 수신하면 저장부(42)에 기록하고, 분석 결과 화면(G)을 표시부(45)에 표시시키고(S12), 본 처리는 종료한다.
본 실시형태의 데이터 분석 시스템(1)은 데이터 분석 모델(M)에 대해, 제어 데이터 D1을 복수회 반복 입력한다. 데이터 분석 시스템(1)은 복수회 각각에서 데이터 분석 모델(M)로부터 출력된 복수의 출력값의 분포 d를 기초로 이상 현상의 추정값을 계산한다. 이로써, 단순히 파라미터로서 확률 분포를 갖는 모델로부터의 출력값을 추정값으로 하는 경우에 비해, 데이터 분석 모델(M)에 복수회 입력하여 학습 과정에서 확률 분포에 포함된 분석 결과의 불확실성을 반영한 출력값을 얻을 수 있다. 따라서, 데이터 분석 모델(M)의 분석의 불확실성을 추정값에 반영할 수 있기 때문에, 데이터 분석의 정밀도가 높아진다.
또한, 데이터 분석 시스템(1)은 분포 d가 흩어질수록 이상 현상의 정도가 작아지도록, 추정값을 계산한다. 데이터 분석 모델(M)의 추정 결과의 확실성이 낮은 경우, 출력값의 평균값 또는 중앙값이 커도, 분포 d가 흩어진다. 데이터 분석 시스템(1)은 이러한 분포 d의 산포를 추정값에 포함시킬 수 있기 때문에, 데이터 분석의 정밀도가 높아진다.
또한, 데이터 분석 시스템(1)은 데이터 분석 모델(M)에 대해, 입력 데이터로서 제어 데이터 D1을 복수회 반복 입력하고, 특정 상태로서, 특정의 이상 현상의 발생 정도를 나타내는 추정값을 계산한다. 모터 제어의 제어 데이터 D1과 기구계의 이상 상태의 상관 관계에는 불확실성이 존재하고 있으며, 이러한 불확실성을 잘 가미할 수 없는 것이 이상 추정의 어려움을 초래하고 있었지만, 데이터 분석 시스템(1)이면, 이러한 불확실성을 정밀하게 받아들여 추정값에 반영시킬 수 있다. 따라서, 분석 정밀도나 신뢰성을 향상시킬 수 있다.
또한, 데이터 분석 시스템(1)은 상이한 이상 현상이 발생하고 있는지 여부를 나타내는 출력값을 각각 출력하는 복수의 데이터 분석 모델(M)과, 복수의 데이터 분석 모델(M) 각각에 제어 데이터 D1을 복수회 반복하여 입력하고 복수의 출력값 각각의 분포 d를 기초로, 상이한 이상 현상의 발생 정도를 나타내는 추정값을 각각 계산하는 복수의 계산부(105)를 갖는다. 모터 제어에 있어서 기구에서 발생할 수 있는 이상 현상은 복수 종류 있을 수 있는 동시에, 이들이 배타적으로 나타날 뿐만 아니라, 복합적으로 나타나는 경우도 있다. 이러한 이상 현상을 추정값으로서 불확실성을 가미하면서 나타낼 수 있기 때문에, 보다 현실에 일어나고 있는 이상 현상을 특정할 수 있는 가능성을 향상시킬 수 있다.
또한, 데이터 분석 시스템(1)은 제어 데이터 D1을 기초로, 기구(20)에 발생한 단위 현상을 특정하고, 데이터 분석 모델(M)에 대해, 단위 현상에 관한 단위 현상 데이터 D2를 복수회 반복 입력한다. 모터 제어의 제어 데이터 D1과 기구계의 단위 현상의 상관 관계의 불확실성은 이상 상태만큼은 불확실하지 않는 경우가 많다. 때문에, 어느 정도 정밀하게 특정할 수 있는 단위 현상을 제어 데이터 D1을 기초로 특정한다. 게다가, 데이터 분석 모델(M)에 대해 단위 현상 데이터 D2를 복수회 반복 입력함으로써, 분석 정밀도나 신뢰성을 보다 향상시킬 수 있다.
또한, 데이터 분석 시스템(1)은 분포 d에서의 임계값 이상 또는 이하의 출력값의 비율을 기초로 추정값을 계산한다. 표준 편차 등의 지표를 계산할 필요가 없기 때문에, 추정값의 계산을 고속화할 수 있다. 완전히 동일한 분포 d였다고 하더라도 임계값의 결정 방법에 따라 추정값이 바뀌므로, 분석 대상에 따른 임계값을 결정함으로써 유연한 데이터 분석이 가능해진다.
[5. 변형예]
아울러, 본 개시는 이상에서 설명한 실시형태로 한정되는 것은 아니다. 본 개시의 취지를 벗어나지 않는 범위에서 적절히 변경 가능하다.
도 9는 변형예에서의 기능 블록의 일 예를 나타내는 도면이다. 학습 데이터 입력부(403) 및 임계값 결정부(404)는 CPU(41)에 의해 실현된다.
[변형예 1]
예를 들어, 실시형태에서는, 유저가 임계값을 지정하는 경우를 설명했지만, 임계값은 학습이 완료된 데이터 분석 모델(M)과, 학습에서 이용한 학습 데이터 D3을 기초로 결정되도록 할 수도 있다. 변형예 1의 데이터 분석 시스템(1)은 학습 데이터 입력부(403) 및 임계값 결정부(404)를 포함한다.
학습 데이터 입력부(403)는 학습이 완료된 데이터 분석 모델(M)에 대해 학습 데이터 D3을 복수회 반복 입력한다. 학습 데이터 입력부(403)는 학습이 완료된 데이터 분석 모델(M)에 대해 동일한 학습 데이터 D3을 몇 번이고 입력한다. 변형예 1에서는, 학습 데이터 입력부(403)가 학습이 완료된 데이터 분석 모델(M)에 대해, 복수의 학습 데이터 D3 각각을 복수회 반복 입력하는 경우를 설명하지만, 학습 데이터 입력부(403)는 학습이 완료된 데이터 분석 모델(M)에 대해, 하나의 학습 데이터 D3만을 복수회 반복 입력할 수도 있다. 즉, 임계값을 결정하기 위해 이용되는 학습 데이터 D3은 복수개가 아니라, 하나만일 수도 있다.
예를 들어, 학습 데이터 D3의 수를 n(n은 2 이상의 정수)개로 하여, 개개의 학습 데이터 D3이 데이터 분석 모델(M)에 m(m은 2 이상의 정수)회 입력되는 것으로 한다. 이 경우, 학습이 완료된 데이터 분석 모델(M)에 대한 입력으로서는, 토탈 n×m회의 입력이 발생한다. 실시형태에서 설명한 바와 같이, 베이지안 뉴럴 네트워크를 이용한 데이터 분석 모델(M)은 파라미터가 확률적으로 변화하기 때문에, 동일한 학습 데이터 D3을 입력했다고 하더라도, 데이터 분석 모델(M)로부터 출력되는 출력값도 매회 동일하지 않고 변화할 수 있다. 데이터 분석 모델(M)로부터의 출력값으로서 n×m개의 출력값이 취득된다.
도 10은 변형예 1에서의 임계값의 결정 방법의 일 예를 나타내는 도면이다. 임계값 결정부(404)는 복수회 각각에서 학습이 완료된 데이터 분석 모델(M)로부터 출력된 복수의 출력값의 분포 d를 기초로 임계값을 결정한다. 변형예 1에서는, 학습이 완료된 데이터 분석 모델(M)에 대해, 복수의 학습 데이터 D3이 복수회 반복 입력되기 때문에, 학습 데이터 D3별로 도 10의 분포 d가 취득된다. 예를 들어, 학습 데이터 D3의 수를 n개라 하면, n개의 분포 d가 취득된다. 개개의 학습 데이터 D3이 데이터 분석 모델(M)에 m회 입력된다고 하면, 개개의 분포 d에서의 출력값의 빈도의 합계값은 m이 된다.
예를 들어, 임계값 결정부(404)는 학습 데이터 D3별로 당해 학습 데이터 D3으로부터 얻어진 분포 d를 기초로 임계값의 후보를 계산하고, 최대 후보를 임계값으로서 결정한다. 후보는 최종적인 임계값을 결정하기 위한 임시 임계값이다. 후보는 임의의 계산식으로 계산 가능하다. 예를 들어, 임계값 결정부(404)는 출력값의 평균값 μ로부터, 표준 편차 σ에 소정 계수(예를 들어, 2)를 곱한 수치를 감산한 수치를 후보로서 계산한다. 임계값 결정부(404)는 n개의 학습 데이터 D3에 각각 대응하는 n개의 후보 중에서, 최대 후보를 최종적인 임계값으로서 결정한다.
아울러, 임계값의 결정 방법은 상기 예로 한정되지 않는다. 예를 들어, 임계값 결정부(404)는 평균값 μ로부터, 2 이외의 계수를 표준 편차 σ에 곱한 수치를 감산한 수치를 후보로서 계산할 수도 있다. 예를 들어, 임계값 결정부(404)는 평균값 μ 및 표준 편차 σ를 둘다 이용하는 것이 아니라, 평균값 μ 또는 표준 편차 σ의 어느 하나만을 이용하여 후보를 계산할 수도 있다. 예를 들어, 임계값 결정부(404)는 평균값 μ가 아니라, 최빈값을 기초로 후보를 계산할 수도 있다.
예를 들어, 임계값 결정부(404)는 복수의 후보 중 최대 후보가 아니라, 2번째 이후의 후보를 최종적인 임계값으로서 결정할 수도 있다. 임계값 결정부(404)는 복수의 후보 중 최소 후보를 최종적인 임계값으로서 결정할 수도 있다. 임계값 결정부(404)는 복수의 후보의 평균값을 최종적인 후보로서 결정할 수도 있다. 임계값 결정부(404)는 복수의 후보를 기초로, 무언가의 형태로 최종적인 임계값을 결정하면 무방하다. 임계값 결정부(404)가 결정한 임계값은 모터 제어 장치(10)의 데이터 저장부(100)에 쓰여진다.
변형예 1의 데이터 분석 시스템(1)은 학습이 완료된 데이터 분석 모델(M)에 대해, 학습 데이터 D3을 복수회 반복 입력하고, 복수회 각각에서 학습이 완료된 데이터 분석 모델(M)로부터 출력된 복수의 출력값의 분포 d를 기초로 임계값을 결정한다. 이로써, 학습 데이터 D3으로부터 얻어진 분포 d의 경향에 따른 최적의 임계값을 결정할 수 있다. 예를 들어, 학습 데이터 D3으로부터 얻어진 분포 d에서의 출력값이 전체적으로 낮음에도 불구하고 높은 임계값을 설정하면, 이상 현상이 발생했다고 추정되기 어려워지지만, 학습 데이터 D3으로부터 얻어진 분포 d의 경향에 따른 임계값으로 함으로써, 이러한 상황을 방지하여 최적의 데이터 분석이 가능해진다. 반대로, 학습 데이터 D3으로부터 얻어진 분포 d에서의 출력값이 전체적으로 높음에도 불구하고 낮은 임계값을 설정하면, 어떠한 상태라도 이상 현상이 발생했다고 추정될 가능성이 있는데, 학습 데이터 D3으로부터 얻어진 분포 d의 경향에 따른 임계값으로 함으로써, 이러한 상황을 방지하여 최적의 데이터 분석이 가능해진다.
또한, 데이터 분석 시스템(1)은 학습이 완료된 데이터 분석 모델(M)에 대해 복수의 학습 데이터 D3 각각을 복수회 반복 입력하고, 학습 데이터 D3별로 당해 학습 데이터 D3으로부터 얻어진 분포 d를 기초로 임계값의 후보를 계산하고, 최대 후보를 임계값으로서 결정한다. 이로써, 학습 데이터 D3별로 계산한 임계값의 후보 중 최대 후보를 임계값으로서 결정함으로써, 이상 등의 상태로 간주하는 기준이 너무 무뎌지는 것을 방지할 수 있다. 예를 들어, 사실은 이상이 아닌 현상이 이상으로 판정되는 것과 같은 것을 방지할 수 있다.
[변형예 2]
예를 들어, 실시형태에서는 계산부(105)가 임계값 이상 또는 이하가 되는 출력값의 비율을 추정값으로서 계산하는 경우를 설명했지만, 계산부(105)는 분포 d에서의 소정 범위의 출력값의 비율을 기초로 추정값을 계산할 수도 있다. 소정 범위는 제1 임계값 이상이며, 또한 제2 임계값 이하가 되는 범위이다. 제2 임계값은 제1 임계값보다 높은 것으로 한다. 제1 임계값 및 제2 임계값은 실시형태와 같이 유저가 지정할 수도 있고, 모터 제어 장치(10)의 제조업자가 지정한 값일 수도 있다.
그 밖에도 예를 들어, 제1 임계값 및 제2 임계값은 변형예 1과 동일하게 결정될 수도 있다. 이 경우, 도 10에서 설명한 복수의 후보 중 최소값이 제1 임계값이 되고, 복수의 후보 중 최대값이 제2 임계값이 될 수도 있다. 그 밖에도 예를 들어, 복수의 후보 중 최소값이 아니라, 2번째 이후에 작은 후보가 제1 임계값이 될 수도 있다. 복수의 후보 중 최대값가 아니라, 2번째 이후에 큰 후보가 제2 임계값이 될 수도 있다. 변형예 2의 계산부(105)는 실시형태와 동일하게 하여 취득된 분포 d 중, 소정 범위의 출력값의 빈도의 합계값을 제1 합계 빈도로서 계산한다. 제1 합계 빈도를 계산한 후의 계산부(105)의 처리는 실시형태와 동일하다.
변형예 2의 데이터 분석 시스템(1)은 분포 d에서의 소정 범위의 출력값의 비율을 기초로 추정값을 계산한다. 표준 편차 등의 지표를 계산할 필요가 없기 때문에, 추정값의 계산을 고속화할 수 있다. 완전히 동일한 분포 d였다고 하더라도 범위의 결정 방법에 따라 추정값이 바뀌기 때문에, 분석 대상에 따른 범위를 결정함으로써, 유연한 데이터 분석이 가능해진다. 예를 들어, 데이터 분석 모델(M)이 클래스에 따른 값을 출력하는 모델이었던 경우에는, 특정 이상 현상을 끄집어 내도록 소정 범위를 설정하면, 데이터 분석 모델(M)의 출력값의 분포 d로부터 특정 이상 현상을 끄집어 낼 수 있다.
[변형예 3]
예를 들어, 실시형태에서는 계산부(105)가 임계값을 이용하여 추정값을 계산하는 경우를 설명했지만, 계산부(105)는 분포 d의 산포에 관한 지표와 출력값의 평균값 μ를 계산하고, 지표 및 평균값을 기초로 추정값을 계산할 수도 있다. 이 지표는 분포 d의 산포 상태를 표현 가능한 지표이다. 변형예 3에서는, 이 지표의 일 예로서 표준 편차 σ를 설명하지만, 이 지표 자체는 다양한 지표를 이용 가능하다. 예를 들어, 이 지표는 분산일 수도 있다. 아울러, 평균값 μ는 출력값에 빈도를 곱한 수치를 모든 빈도로 나눔으로써 산출되도록 하면 무방하다.
예를 들어, 계산부(105)는 평균값 μ와, 소정 수치(예를 들어, 1)로부터 표준 편차 σ를 뺀 수치를 곱한 수치를 추정값으로서 계산할 수도 있다. 계산부(105)는 미리 정해진 계산식을 기초로 추정값을 계산하면 무방하다. 이 계산식에는, 평균값 μ와 표준 편차 σ가 입력되는 것으로 한다. 예를 들어, 계산부(105)는 평균값 μ와, 1 이외의 수치로부터 표준 편차 σ를 뺀 수치를 곱한 수치를 추정값으로서 계산할 수도 있다. 예를 들어, 계산부(105)는 평균값 μ와, 소정 수치로부터 표준 편차 σ를 뺀 수치 중 적어도 하나에 소정 계수를 곱할 수도 있다.
변형예 3의 데이터 분석 시스템(1)은 분포 d의 산포에 관한 지표와 출력값의 평균값을 계산하고, 지표 및 평균값을 기초로 추정값을 계산한다. 분포 d의 산포에 관한 지표를 계산함으로써, 분포 d의 산포를 보다 정확하게 반영한 추정값을 계산할 수 있다. 또한, 지표뿐 아니라, 분포 d 전체의 출력값의 경향이 반영된 평균값을 이용하여, 보다 정밀도가 높은 추정값을 계산할 수 있다.
[그 외 변형예]
예를 들어, 변형예 1~3을 조합할 수도 있다.
예를 들어, 계산부(105)는 실시형태에서 설명한 임계값을 이용한 계산 방법과, 변형예 3에서 설명한 계산 방법의 어느 것과도 상이한 다른 계산 방법을 기초로 추정값을 계산할 수도 있다. 다른 계산 방법으로서는, 분포 d를 무언가의 형태로 이용하는 것이면 무방하다. 예를 들어, 계산부(105)는 분포 d에서의 출력값의 평균값 μ를 그대로 추정값으로서 계산할 수도 있다. 이 경우, 추정값은 분포 d의 산포 상태에는 관계가 없는 값이 된다. 예를 들어, 계산부(105)는 분포 d에서의 출력값의 평균값 μ가 아니라, 최빈값을 그대로 추정값으로서 계산할 수도 있다.
예를 들어, 각 기능은 데이터 분석 시스템(1)에서의 임의의 장치로 실현되도록 하면 무방하다. 모터 제어 장치(10)로 실현되는 것으로서 설명한 기능의 일부 또는 전부는 유저 장치(40) 또는 다른 장치로 실현될 수도 있다. 실시형태에서는, 모터 제어 장치(10)가 데이터 분석을 실행하는 경우를 설명했지만, 데이터 분석의 기능은 유저 장치(40)로 실현될 수도 있고, 모터 제어 장치(10)를 제어하는 컨트롤러로 실현될 수도 있다. 이 경우, 입력부(104) 및 계산부(105)는 유저 장치(40)에 포함된다. 입력부(104) 및 계산부(105)는 모터 제어 장치(10) 및 유저 장치(40) 이외의 다른 장치에 의해 실현될 수도 있다.
1: 데이터 분석 시스템
10: 모터 제어 장치
11, 41: CPU
12, 42: 저장부
13, 43: 통신부
20: 기구
30: 센서
40: 유저 장치
44: 조작부
45: 표시부
100: 데이터 저장부
101: 기구 제어부
102: 취득부
103: 이상 판정부
104: 입력부
105: 계산부
106: 이상 요인 추정부
400: 데이터 저장부
401: 학습부
402: 표시 제어부
403: 학습 데이터 입력부
404: 임계값 결정부
G: 분석 결과 화면
M: 데이터 분석 모델
D1: 제어 데이터
D2: 단위 현상 데이터
D3: 학습 데이터
d: 분포

Claims (12)

  1. 분석 대상에 대한 입력 데이터가 입력되면, 당해 분석 대상이 특정 상태인지 여부를 나타내는 출력값을 출력하도록, 미리 학습 데이터에 의해 학습되며, 파라미터가 확률 변수를 포함하는 데이터 분석 모델과,
    상기 데이터 분석 모델에 대해, 상기 입력 데이터를 복수회 반복 입력하는 입력부와,
    상기 복수회 각각에서 상기 데이터 분석 모델로부터 출력된 복수의 상기 출력값의 분포를 기초로, 상기 특정 상태인 정도를 나타내는 추정값을 계산하는 계산부
    를 갖는 데이터 분석 시스템.
  2. 제1항에 있어서,
    상기 계산부는 상기 분포가 흩어질수록 상기 특정 상태인 정도가 작아지도록 상기 추정값을 계산하는,
    데이터 분석 시스템.
  3. 제2항에 있어서,
    상기 데이터 분석 시스템은 산업 기계의 기구를 구동하는 모터의 모터 제어 장치의 제어 데이터를 취득하는 취득부를 추가로 가지며,
    상기 입력부는 상기 데이터 분석 모델에 대해, 상기 입력 데이터로서 상기 제어 데이터를 복수회 반복 입력하고,
    상기 계산부는 상기 특정 상태로서, 특정 이상 현상의 발생 정도를 나타내는 추정값을 계산하는,
    데이터 분석 시스템.
  4. 제3항에 있어서,
    상이한 상기 이상 현상이 발생하고 있는지 여부를 나타내는 상기 출력값을 각각 출력하는 복수의 상기 데이터 분석 모델과,
    상기 입력부에 의해 상기 복수의 데이터 분석 모델 각각에 상기 제어 데이터를 복수회 반복해 입력하고 복수의 출력값 각각의 분포를 기초로, 상기 상이한 이상 현상의 발생 정도를 나타내는 추정값을 각각 계산하는 복수의 상기 계산부
    를 갖는 데이터 분석 시스템.
  5. 제3항 또는 제4항에 있어서,
    상기 입력부는,
    상기 제어 데이터를 기초로 상기 기구에 발생한 단위 현상을 특정하고,
    상기 데이터 분석 모델에 대해, 상기 단위 현상에 관한 단위 현상 데이터를 복수회 반복 입력하는,
    데이터 분석 시스템.
  6. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 계산부는 상기 분포에서의 임계값 이상 또는 이하의 상기 출력값의 비율을 기초로 상기 추정값을 계산하는,
    데이터 분석 시스템.
  7. 제6항에 있어서,
    상기 데이터 분석 시스템은,
    학습이 완료된 상기 데이터 분석 모델에 대해 상기 학습 데이터를 복수회 반복 입력하는 학습 데이터 입력부와,
    상기 복수회 각각에서 상기 학습이 완료된 데이터 분석 모델로부터 출력된 복수의 상기 출력값의 분포를 기초로 상기 임계값을 결정하는 임계값 결정부
    를 추가로 갖는 데이터 분석 시스템.
  8. 제7항에 있어서,
    상기 학습 데이터 입력부는 상기 학습이 완료된 데이터 분석 모델에 대해 복수의 상기 학습 데이터 각각을 복수회 반복 입력하고,
    상기 임계값 결정부는,
    상기 학습 데이터별로, 당해 학습 데이터로부터 얻어진 상기 분포를 기초로 상기 임계값의 후보를 계산하고,
    최대의 상기 후보를 상기 임계값으로서 결정하는,
    데이터 분석 시스템.
  9. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 계산부는 상기 분포에서의 소정 범위의 상기 출력값의 비율을 기초로 상기 추정값을 계산하는,
    데이터 분석 시스템.
  10. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 계산부는,
    상기 분포의 산포에 관한 지표와 상기 출력값의 평균값을 계산하고,
    상기 지표 및 상기 평균값을 기초로 상기 추정값을 계산하는,
    데이터 분석 시스템.
  11. 분석 대상에 대한 입력 데이터가 입력되면, 당해 분석 대상이 특정 상태인지 여부를 나타내는 출력값을 출력하도록, 미리 학습 데이터에 의해 학습되며, 파라미터가 확률 변수를 포함하는 데이터 분석 모델에 대해, 상기 입력 데이터를 복수회 반복 입력하고,
    상기 복수회 각각에서 상기 데이터 분석 모델로부터 출력된 복수의 상기 출력값의 분포를 기초로, 상기 특정 상태인 정도를 나타내는 추정값을 계산하는,
    데이터 분석 방법.
  12. 분석 대상에 대한 입력 데이터가 입력되면, 당해 분석 대상이 특정 상태인지 여부를 나타내는 출력값을 출력하도록, 미리 학습 데이터에 의해 학습되며, 파라미터가 확률 변수를 포함하는 데이터 분석 모델에 대해, 상기 입력 데이터를 복수회 반복 입력하는 입력부,
    상기 복수회 각각에서 상기 데이터 분석 모델로부터 출력된 복수의 상기 출력값의 분포를 기초로, 상기 특정 상태인 정도를 나타내는 추정값을 계산하는 계산부
    로서 컴퓨터를 기능시키기 위한 프로그램.
KR1020230076650A 2022-06-15 2023-06-15 데이터 분석 시스템, 데이터 분석 방법 및 프로그램 KR20230172428A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022096452A JP7457752B2 (ja) 2022-06-15 2022-06-15 データ分析システム、データ分析方法、及びプログラム
JPJP-P-2022-096452 2022-06-15

Publications (1)

Publication Number Publication Date
KR20230172428A true KR20230172428A (ko) 2023-12-22

Family

ID=89168907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230076650A KR20230172428A (ko) 2022-06-15 2023-06-15 데이터 분석 시스템, 데이터 분석 방법 및 프로그램

Country Status (3)

Country Link
US (1) US20230409909A1 (ko)
JP (1) JP7457752B2 (ko)
KR (1) KR20230172428A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095361A1 (ja) 2019-11-11 2021-05-20 株式会社デンソー 演算装置および学習済みモデル

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095222A1 (ja) 2019-11-15 2021-05-20 三菱電機株式会社 閾値生成装置、閾値生成方法、及び閾値生成プログラム
JP7332554B2 (ja) 2020-09-07 2023-08-23 株式会社東芝 情報処理装置、情報処理方法及びコンピュータプログラム
CN112462261B (zh) 2020-11-25 2022-09-20 创新奇智(广州)科技有限公司 一种电机异常检测方法、装置、电子设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095361A1 (ja) 2019-11-11 2021-05-20 株式会社デンソー 演算装置および学習済みモデル

Also Published As

Publication number Publication date
JP2023183057A (ja) 2023-12-27
US20230409909A1 (en) 2023-12-21
JP7457752B2 (ja) 2024-03-28

Similar Documents

Publication Publication Date Title
CN106409120B (zh) 机械学习方法及机械学习装置、以及故障预知装置及系统
JP6810097B2 (ja) 異常検出器
JP6443311B2 (ja) 制御装置、制御プログラムおよび記録媒体
US10840840B2 (en) Machine learning correction parameter adjustment apparatus and method for use with a motor drive control system
US20060085091A9 (en) Electronic fingerprints for machine control and production machines
US10901398B2 (en) Controller, control program, control system, and control method
US11531327B2 (en) Abnormality determination device and abnormality determination system
JP2013033459A (ja) 異常監視システムおよび異常監視方法
JP6647473B1 (ja) 異常検知装置および異常検知方法
JP7275062B2 (ja) 時変システム動作における異常検出のためのシステム、方法およびコンピュータ読取可能記憶媒体
JP6499737B2 (ja) テレスコピックカバーの異常発生推定装置及び異常発生推定方法
CN110058983A (zh) 异常检查参数调整显示装置
US11579000B2 (en) Measurement operation parameter adjustment apparatus, machine learning device, and system
CN112262027B (zh) 异常判定装置和异常判定方法
JP6935046B1 (ja) 情報処理装置及び情報処理方法
KR20230172428A (ko) 데이터 분석 시스템, 데이터 분석 방법 및 프로그램
WO2021019760A1 (ja) 異常診断方法、異常診断装置および異常診断プログラム
US20230140482A1 (en) Abnormality information estimation system, operation analysis system, motor control device, abnormality information estimation method, and program
US11966218B2 (en) Diagnosis device, diagnosis method and program
WO2022162957A1 (ja) 情報処理装置、制御システムおよびレポート出力方法
Bogoevska et al. Data-driven tool for structural health monitoring of operating wind turbines
TW202316220A (zh) 控制系統、資訊處理方法以及資訊處理裝置
CN116830054A (zh) 信息处理装置、信息处理程序以及信息处理方法
CN117377916A (zh) 预测系统、信息处理装置以及信息处理程序