카테고리 없음

실전프로젝트 - 발표 스크립트 작성

iron-min 2025. 12. 16. 23:33

 

더보기

안녕하십니까. 이번 “방산기업 양극산화(아노다이징) 피막 데이터 기반 불량 예측” 프로젝트를 발표하게 된 밀스펙 2.0조 발표자 김철민입니다.

 

더보기

먼저 목차입니다.

발표는 **프로젝트 개요 및 추진 배경**, **도메인 및 데이터 이해**, **데이터 전처리 및 EDA**, **모델링 및 해석**, **머신러닝 모델의 공정 적용 방안**, **대시보드 구성** 순으로 진행하겠습니다.

더보기

프로젝트 개요 및 추진 배경입니다.

더보기

먼저 표면처리 전체 공정을 소개드리겠습니다.

그림과 같이 방산제품의 표면처리는 **소재 입고부터 검사/포장**까지 총 12단계로 이루어집니다.

저희가 사용하는 데이터는 그중 **6단계인 아노다이징 공정**에서 수집된 센서 데이터입니다.

더보기

아노다이징은 그림과 같이 전해액에 제품을 담그고 전압을 인가하여, 전기화학 반응으로 산화피막을 인위적으로 성장시키는 공정입니다.

이를 통해 방산부품이 요구하는 가혹 환경에서 재료의 강도강화, 표면 경, 신뢰성 증가, 제품 손상 예방 등의 효과를 기대할 수 있습니다

더보기

다음은 프로젝트 목표입니다.

저희 조는 모델을 만드는 것에 그치지 않고, 실제 현업 제조 과정에서 활용 가능한 형태로 적용하는 것을 목표로 했습니다.


첫번째 목표는 사후 QC판정 프로세스의 한계 극복입니다.

기존에는 11단계 공정이 모두 끝난 뒤 12단계 검사에서 불량이 확인되면, 이미 후 공정을 거친 해당 로트 전체를 폐기해야 하는 리스크가 있었습니다.

하지만 아노다이징 공정 중에 머신러닝 모델을 적용하면 공정 진행 중 불량 가능성을 조기에 탐지해 공정 조건을 조정할 수 있고, 불량 로트가 후공정까지 진행되는 불필요한 자원 소모를 줄일 수 있습니다.

두 번째 목표는 불량 원인 탐색을 통한 공정개선입니다.

제조업 품질관리 관점에서 공정 이상 발생 시 가장 시간이 많이 드는 작업이 원인 파악인데, 모델의 해석 결과로 불량에 영향을 주는 주요 요인을 도출하면 공정 라인에 더 빠르게 피드백할 수 있습니다.

이를 통해 수율 개선과 정확한 공정 조정으로 인한 불량률 저하를 기대  할 수 있습니다.

더보기

다음으로 프로젝트 개요입니다.

최근 국제 정세의 불안으로 방산 수요가 증가하고 있고, 방산제품은 특성상 고품질 요구 수준과 비용 리스크가 매우 큰 분야입니다.

따라서 방산 분야의 품질관리에서 데이터 기반 의사결정의 중요도가 높다고 판단했기 때문에 본 주제를 선정하게 되었습니다.

본 프로젝트에서는 아노다이징 공정 데이터로 불량 발생 여부 예측 모델을 구축하고, 주요 영향 요인을 분석하는 실시간 대시보드를 구성하여

공정 제어 및 품질 최적화를 지원하는 것을 목표로 했습니다.

더보기

팀 구성 및 역할입니다.

밀스펙 2.0조에서 저와 종욱님은 데이터 전처리 및 분석, 우성님은 대시보드 제작 및 디자인을 담당했습니다.

또한 프로젝트 진행 중 막히는 부분이나 개선점에 대해 튜터님들께 피드백과 기술적 도움을 받았습니다.

더보기

프로젝트 수행일정은 다음과 같습니다.

더보기

이제 본격적으로 데이터에 대한 설명부터 진행하도록 하겠습니다.

더보기

원본 데이터는 센서 정보 수집 기간, 정류기 번호, 전압, 전류, 온도,그리고 로트 내 공정 순서 인덱스로 구성되어 있습니다.

분석에 앞서, 아노다이징 공정의 품질 요구사항을 이해하기 위해 국제 방산 규격(MIL-SPEC)을 확인했습니다.

방산제품은 일반 민수용보다 가혹한 환경을 견뎌야 하므로 ISO보다는 MIL-SPEC 기준을 만족해야 하며,

아노다이징은 규격에서 피막 두께와 함께 경도/내마모성 등이 일정 기준을 만족해야 한다는 점을 배경으로, 센서 변수들이 공정에 어떤 영향을 줄지 해석할 수 있었습니다.

또한 피막 두께는 전류와 시간의 영향을 크게 받는다는 점을 확인하여, 전류 및 시간을 기반으로 산출한 “피막 두께 추정 변수를 추가하기로 했습니다.

 

더보기

데이터 구조입니다.

총 100개 로트가 있으며, 각 로트는 양품/불량 레이블이 붙어 있고, 로트 내부는 시계열을 따르는 배치 형태로 센서값이 기록되어 있습니다.

시각화 결과, 불량 로트 수가 상대적으로 적고, 원본 센서값만으로는 양품과 불량이 전체적으로 큰 차이가 보이지 않는 특징이 있었습니다.

더보기

다음으로 전처리 및 EDA 단계입니다.

더보기

우선 저희가 받은 방산데이터는 이미 현장관계자를 통해 적정값 범위를 정한뒤 이상치가 제거되었다는 것을 확인했습니다. 

그리고 추가 EDA로도 센서값이 유효 범위를 벗어나지 않으며 결측치도 존재하지 않음을 재검증했습니다.

더보기

다음으로 기초 가설 설정과 통계 검정을 통해 양품/불량의 특성치를 비교했습니다.

하지만 시각화에서 보셨듯이, 검정 결과에서도 전체 구간 기준의 평균·산포·변화율만으로는 양품과 불량을 뚜렷하게 구분하기 어려웠습니다.

저희는 그 원인으로 불량 데이터 부족, 그리고 공정 구간별 특성이 반영되지 않은 점을 가정했고, 따라서 공정 단계에 따른 구간 분할이 필요하다고 판단했습니다.

더보기

그래서 도메인 지식을 기반으로 시계열 데이터를 구간별로 분할했습니다.

아노다이징은 크게 3단계로 볼 수 있는데,

반응이 시작되며 피막 형성이 진행되는 Ramp-up,

피막이 상대적으로 균일하게 성장하는 Steady,

성장이 감소하며 마무리되는 Ramp-down 단계입니다.

저희는 이 3개 구간으로 나눠 양품과 불량의 구간별 패턴 차이를 비교하면 불량 탐지가 더 용이할 것이라고 가정했습니다.

더보기

다음으로 이러한 구간별 패턴을 정량화하기 위해 추가 변수를 생성했습니다.

추가한 변수는 총 4가지이며,

Lag feature: 직전 시점 대비 급격한 변화 포착

이동평균(윈도우 60): 단기 노이즈를 완화하고 기본 추세 확인

이동표준편차(윈도우 120): 변동성 확인(약 10분 단위로 해석 가능하도록 설정)

변화량(차분): 순간 변화율 파악

이때 이동평균에 대한 60시점은 그래프를 시각화 해보면서 추세를 가장 잘 반영하는 것을 반영한 결과이고 이동표준편차에 대한 120 시점은 아노다이징 규격을 가장 잘 만족시킬 수 있는 지표를 잘 나타내는 10분을 기준으로 하였습니다.

저희조는 이러한 추가 변수들을 통해 시계열 패턴을 수치화하여 모델 입력 및 분석에 활용할 수 있었습니다.

더보기

마지막으로 구간 분할과 파생변수가 실제로 의미가 있는지 검증했습니다.

구간별 파생변수를 생성한 뒤 맨-휘트니 U 검정을 다시 수행한 결과,

이전에는 구분이 어려웠던 양품과 불량이 대부분의 특성에서 유의미하게 차이가 나타났습니다.

더보기

이제 이렇게 전처리를 한 데이터를 가지고 머신러닝 모델링을 진행하였습니다.

더보기

초기 후보 모델로 Random Forest, XGBoost, LightGBM을 선정했고,

변수 추가/삭제, Optuna 튜닝, 수동 파라미터 조정, 그리고 SMOTE 적용 등을 통해 성능을 개선했습니다.

이후 아래와 같은 선별 기준을 세워 최종 모델과 후보 모델을 선정했습니다.

더보기

모델 성능은 정밀도, 재현율, F1-score, 정확도로 비교했습니다.

세 모델 모두 전반적으로 좋은 성능을 보였지만, 지표 간 큰 차이는 **제한적**이었습니다.

더보기

좀 더 명확한 결과를 보기 위해 혼동행렬 시각화를 해보았습니다.

마찬가지로 세모델의 성능이 크게 차이나지 않는것을 볼 수 있습니다.

하지만 부스팅모델은 불량의 수가 적은 경우 과적합 문제도 있을뿐더러 데이터 노이즈 또한 학습할 우려가 있어서 저희조는 패턴캐치에 이점이 있고, 적은 데이터 수에서의 안정성을 띄는 랜덤포레스트 모델을 선정하게 되었습니다.

 

더보기

다음으로 선정된 랜덤포레스트의 feature importance를 통해 공정불량의 주요 원인을 분석하였습니다. 다음 파이 차트를 보면 알 수 있듯이 온도패턴, 전류패턴, 시간변화량 순으로 분류 중요도가 높은것을 볼 수 있습니다.

이는 이러한 특성치들이 정상과 불량을 결정하는 핵심특성임을 알 수 있으며 온도와 전류의 경우에는 공정 시의 전체적인 수치에 대한 패턴이 불량 판단에 핵심적으로 작용함을 확인할 수 있었습니다.

더보기

모델 구축 이후에는 이를 어떻게 공정 개선에 활용할지 설계했습니다.

더보기

우리는 이제 머신러닝 모델을 통해 아노다이징 공정 중 불량 확률을 실시간으로 예측할 수 있게 되었고, 이를 기반으로 계수형 축차 샘플링 검사를 공정에 적용하는 방안을 설계 하였습니다.

축차 샘플링을 위해서는 목표 불량률, 위험 불량률, 생산자 위험(α), 소비자 위험(β), 샘플링 횟수 등의 기준을 설정해야 하며,

예를 들어 196개 공정 중 불량 판정이 4회 이상 누적되면 공정 이상 가능성이 높다고 판단하는 방식으로 설계할 수 있습니다.

이렇게 설정한 지표로 어떤식으로 계수형 축차 샘플링 검사가 진행되는지 그래프를 통해 설명하도록 하겠습니다.

여기서 불합격 판정선과 합격판정선은 공정기준에 따라 달라지게 되는데 만약 그래프가 불합격 판정선 위로 넘어가게 된다면 공정에 이상이 발생되었다고 판단하고 합격판정선 아래로 넘어가게 된다면 공정에는 이상이 없는것으로 판단하게 됩니다.

추가로 저희는 공정 주의선(알람 구간)을 두어 이상 징후를 조기에 감지하고 관리자가 사전에 대응할 수 있도록 설계했습니다.

더보기

다음은 주요 원인 중 하나로 도출된 공정시간에 대한 개선 방안입니다.

저희조는 양품과 불량의 총 평균 공정시간이 다르다는것을 시각화를 통해 알 수 있었습니다. 

추가적으로 중요한점은 다른 온도, 전류 패턴과 다르게 공정시간의 경우 충분히 제어가능한 요인이라는 점입니다. 이러한 제어가능한 요인의 경우 충분한 데이터가 쌓인다면 다음표와 같이 시간분할 후 계수치 분석을 진행해 최적공정시간 구간을 선정할 수 있게됩니다. 

하지만 우리는 최적구간을 선정했다고 하더라도 이는 불량을 줄이기 위한 목적이지 공정시간에 의해 발생하는 불량을 탐지하는 해결책은 되지 못합니다. 이를 해결하기 위해 저희조는 계량형 샘플링검사를 공정에 도입하기로 했습니다.

계량형 샘플링 검사의 경우 그림과 같이 정규성의 띄는 양품과 불량품의 평균치 분포가 있을때 계수형 축차 샘플링검사와 같은 지표를 통해 공정 평균의 상ㆍ하한치를 설정할 수 있게됩니다.

여기서 우리 데이터의 공정평균의 경우 상대적으로 불량의 공정시간이 적음으로 공정 평균이 하한치 아래로 내려갈 경우 이상으로 판단하도록 설계할 수 있습니다.

더보기

다음은 전류와 온도 패턴 기반 불량 예측입니다.

모델 해석 결과 전류와 온도는 단일 값보다 구간 내 추세와 패턴이 불량과 더 연관이 있음을 확인했습니다.

그래서 전체 양품 데이터에서 2시그마 범위를 기준으로 벗어나는 비율을 시퀀스별로 계산했고, 불량 시퀀스 다수가 20% 기준선을 넘는 경향을 확인했습니다.

결론적으로 이와 같이 패턴 기반의 간단한 룰로도 불량 가능성을 보조적으로 판단할 수 있었습니다.

더보기

종합하면, 머신러닝 모델로 공정 중 불량 확률을 예측하고,

온도 패턴·전류 패턴·공정시간 지표를 결합하여 어느 요인에서 이상이 발생했는지까지 추적할 수 있었습니다.

즉, 예측과 원인 분석을 결합해 더 빠른 피드백과 공정 안정화를 지원하는 전략을 제시할 수 있게되었습니다.

더보기

제안한 지표들을 실제 데이터에 적용하면, 지표별로 불량 예측률과 양품 오판률이 다음과 같이 나타납니다.

특히 전류 패턴에서 놓친 불량을 온도 패턴이 보완하거나, 그 반대도 가능함을 확인했습니다.

또한 서로 다른 지표의 결과를 함께 비교하면, 단순 오탐인지 실제 공정 이상인지에 대한 판단 근거도 강화할 수 있습니다.

결과적으로 저희는 불량 발생 시 관리자에게 알리는 주의 단계, 그리고 필요 시 공정을 중지하는 중지 단계까지 설계할 수 있었고,

아노다이징 공정 중 추가 불량을 예방하고 주요 원인을 파악하는 공정 적용 전략을 최종적으로 수립했습니다.

더보기

이제 마지막으로 이러한 공정이상을 파악할 대시보드 소개를 진행하도록 하겠습니다.