Notice
Recent Posts
Recent Comments
Link
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Tags more
Archives
관리 메뉴

프랙티스만이 살길. 프랙티스만이 살길.

AutoEncoder를 이용한 공기압축기 이상판단 본문

Project

AutoEncoder를 이용한 공기압축기 이상판단

gaussian-goodman
Ai Factory에서 주최한 "제4회 2023 연구개발특구 AI SPARK 챌린지 - 공기압축기 이상 판단" 에 참여한 내용입니다.
AutoEncoder, Unsupervised Learning같은 분야를 공부했습니다.이때 AutoEncoder를 공부하면서 Gernerative 분야도 처음 접했던 것 같네요.
최종점수 macro F1-Score : 0.95388점으로 대회를 마감했습니다.

GitHub : LINK

대회정보: LINK

 

제4회 2023 연구개발특구 AI SPARK 챌린지 - 공기압축기 이상 판단

산업용 공기압축기의 이상 유무를 비지도학습 방식을 이용하여 판정

aifactory.space

About Data


feature 설명:

8개의 feature를 Unsupervised Learning을 통해 이상치를 탐지한뒤, 고장 데이터와 정상 데이터를 1,0으로 분류해 test 데이터의 고장여부를 분류하는 task입니다. 

PCA


고장 데이터와 정상 데이터를 1,0으로 분류하기위해 가장 먼저 떠오른 방법은 PCA(Principal Component Analysis)를 통해 Clustering을 하는 방법입니다.

PCA and Clustering process GitHub : LINK

 

 

2차원으로 차원축소

왼:train data 오:testdata

K-mean clustering


군집이 제대로 형성되지 않습니다. 이유는 clustering이 아니니 PCA에 있습니다. 

PCA는 선형 변환을 사용하기 때문에 비선형 데이터를 처리하기 어렵기때문에 발생한것 같습니다.

(또 글을쓰면서 생각난것인데, pca는 데이터의 전반적인 분포를 토대로 차원을 축소하기 때문에 이런 train과 test데이터의 분포 차이가 크면 train의 결과를 test에 적용하기 어려울것 같습니다.)

Stacked AutoEncoder


비선형의 Manifold를 구하기 위해 Auto Encoder를 사용했습니다.

Stacked AutoEncoder process GitHub : LINK

오토인코더(Autoencoder)는 신경망을 사용하여 데이터의 차원을 축소하거나 특징을 추출하는 데 사용되는 비지도 학습 모델입니다. 주로 데이터 압축, 노이즈 제거, 데이터 시각화, 특징 추출 등 다양한 응용 분야에서 활용됩니다. 오토인코더의 주요 아이디어는 입력 데이터를 잘 복원(reconstruct)할 수 있는 내부 표현(representation)을 학습하는 것입니다.

 

2개의 노드로 차원축소후 8개의 노드로 decoding 했습니다.

 

 

train 데이터의 재구성 오차 구하기로 loss값을 설정하여. loss값들의 threshold를 정한뒤, threshold보다 큰 값들을 이상치라고 판별했습니다.

losses의 분포

최종적으로 macro F1-Score : 0.95388를 달성했습니다.