건설기계 오일 상태 분류 AI 경진대회

샘2·2023년 1월 10일
0

대회 소개

데이콘에서 2022년 11월 7일 ~ 2022년 12월 12일까지 진행된 현대중공업의 후원을 받는 대회입니다.

배경

건설기계 분야의 데이터를 분석, 활용하는 방안을 제시하는 경진대회를 개최하여 참신한 아이디어를 발굴하고 해당 분야의 인공지능 기술의 발전을 도모하려 합니다.

또한 건설 장비 산업의 지능화에 대한 연구활동 홍보 및 우수 인재를 발굴하고자 합니다.

주제

건설장비에서 작동오일의 상태를 실시간으로 모니터링하기 위한 오일 상태 판단 모델 개발 (정상, 이상의 이진분류)

설명

건설 장비 내부 기계 부품의 마모 상태 및 윤활 성능을 오일 데이터 분석을 통해 확인하고, AI를 활용한 분류 모델 개발을 통해 적절한 교체 주기를 파악하고자 합니다.

이번 경진 대회에서는 모델 학습시에는 주어진 모든 feature를 사용할 수 있으나, 진단 테스트시에는 제한된 일부 feature만 사용 가능합니다.

따라서 진단 환경에서 제한된 feature 만으로도 작동 오일의 상태를 분류할 수 있는 최적의 알고리즘을 만들어주세요.

Knowledge Distillation

Knowledge distillation은 기계 학습의 기술로, 하나의 복잡한 모델을 이용하여 새로운 모델을 학습하는 것을 말합니다. 이 방법을 사용하면, 새로운 모델이 복잡한 모델의 지식을 가져와 성능을 높일 수 있습니다. 이 방법을 사용하면, 새로운 모델이 더 빠르게 학습할 수 있고, 복잡한 모델보다 더 적은 양의 데이터로 학습할 수 있습니다.

이미지 출처: https://nervanasystems.github.io/distiller/knowledge_distillation.html

  • train데이터에는 약 55개의 feature 존재
  • test데이터에는 약 17개의 feature 존재
  • knowledge distillation을 적용하여 약 50개 가량의 train데이터 feature들을 활용하여 teacher model을 만들고 test데이터처럼 제한된 feature로 예측하는 student model을 만들어 task를 해결

평가지표 - Macro F1 score

  • macro F1 score는 기계 학습에서 사용되는 지표로, 다중 클래스 분류 문제에서 사용됩니다. 이 지표는 각 클래스에 대한 F1 score의 평균을 구한 것입니다. F1 score는 정밀도와 재현율의 조화 평균으로, 이를 이용하면 분류기의 성능을 수치로 평가할 수 있습니다. macro F1 score는 각 클래스에 대해 동일한 가중치를 주어 평균을 구한 것이므로, 모든 클래스에 대해 성능이 동일하다고 가정하고 계산됩니다.

Deep Learning solution

  • baseline의 딥러닝 코드입니다
  • knowledge distillation의 핵심 코드라고 생각합니다
  • 위 코드에서 alpha는 teacher model과 student model의 비율입니다.

Machine Learning solution

  • teacher model은 55개의 columns을 가지고 분류 모델을 생성
  • teacher model의 결과값인 0,1을 활용하지 않고 0,1이 될 확률을 제한된 feature를 가지고 있는
    student model에 target value로 활용하여 확률을 예측하는 회귀 모델을 생성하였습니다.
  • Lgbm, xgb, rf 등을 앙상블하여 최적의 결과를 추출하였습니다.

Summary

  • knowledge distillation의 개념은 이번 대회에서는 학습단계에서 많은 정보를 학습하고 테스트단계에서 적은 정보를 가지고 예측하는 방향으로 진행되었습니다. 최근에도 머신러닝, 딥러닝 모델의 경량화를 위해 여러 논문들이 나오고 있으며 활발히 연구가 진행되고 있는 분야라고 합니다. 조금 더 관심을 가지고 공부를 하면 좋은 주제라고 생각합니다.
  • 최종적으로 대회에서 제출한 결과물은 아쉽게도 Public 스코어에서 조금 더 높은 점수를 받은 baseline토대의 딥러닝 모델입니다. private 결과에서 스코어가 대폭 감소하걸로 봐선 public에 오버피팅된 모델을 선택하여 제출한걸로 판단됩니다
  • 대회가 종료된 이후 Machine Learning 기반의 결과물을 제출한 결과 private score가 2등의 결과가 나왔습니다. general한 모델의 중요성을 또한 무시할 수 없다는 생각이 들었습니다.

profile
부지런한 개발자가 되고싶은

0개의 댓글