Python/코딩 실습

Samsung AI Challenge: Black-box Optimization

관형이 2025. 4. 7. 22:25

쌓인 업보들을 청산하는게 참 힘드네요. 이번 글은 2024.08에 참여한 경진 대회

'Samsung AI Challenge 반도체 Black-box Optimiztion' 에 관한 내용을 담으려고 합니다.

저희는 3명이서 팀을 꾸려서 나갔고 최종적으로 상위 7프로의 성과를 거두었습니다.

 

00 | 대회 소개

 

알고리즘 | 채용 | 정형 | 최적화 | Recall

주제 :Black-box Optimization 반도체 공정 설비와 반도체 공정 파라미터 미세 조정 기존의 지식으로는 부족

cf. what black box?

공정의 복잡성과 비밀성 때문에 내부 작동 원리를 완전히 이해하기 어려운 상황을 설명할 때 사용.

즉, 공정의 입력과 출력은 알 수 있지만, 그 사이의 내부 과정이나 원리를 명확히 파악하기 어려운 경우를 의미.

 

최종 목적 : 데이터 분포와 최적화된 파라미터 사이의 균형점을 잘 찾는 것이 중요


00 | Data set

Data Set 요약TrainTest

Shape 40118 × 12 4986 × 11
dtype float64 12개 float64 11개
특성 x_0 ~ x_10 (센서) + y x_0 ~ x_10

데이터에 대한 상세 설명은 대회에서 주어지지 않음.

삼성전자 반도체 대회니 y는 산출량으로 보고, x 값은 센서나 재료 등으로 파악 됨

 

데이터는 기기 설정값을 녹화한 시계열로 보

x_feature: 공정에서 발생하는 센서 데이터 (여러 공정 데이터)

y_feature: 예측해야할 target

 


00 | 특이 사항

  • test data를 통해 얻을 수 있는 것은 예측값.
  • but, 평가 지표는 이진 분류에서 사용되는 recall 값임.

대회 자체 설명

📝 Idea

  1. Test 예측값 상위 10 % 추출
  2. 대회 측이 보유한 정답 상위 5 % 추출
  3. 교집합의 비율 → Recall = TP / (TP + FN) ➡️ 상위 구간을 놓치면 점수 0!
    ➡️ 모델링 목표 : Top 10 %를 얼마나 정확히 잡아내느냐

00 | 분석 전 데이터만 보면 ?

 

아무래도, 센서치를 시간 순서대로 찍었다는 가정하에 1D CNN을 적용한 모델이 성능은 가장 괜찮게 나왔음

 

01 | 문제정의 (EDA)

EDA ① Target(y)

  • 첨도 심함 : 82 ~ 84에 밀집
  • 왜도 심함 → 정규성 미충족
  1. log1p 변환으로 분포 완화
  2. 상위 25 % → 1 / 나머지 0 이진 레이블 변환 → Recall 최적화 학습 (Class 불균형 가능)


EDA ② 연속형 피처(x)

    • 데이터 분포가 일정적 : 시간 순서대로 발생하는 센서 값을 찍었을 가능성이 있음 (시계열적 방법론 가능)
    • 모두 float 형태 → ML모델로 회귀 모형을 사용하게 되면, 다양한 분포를 가져갈 수 있는 방법론이 중요함. (Hypothesis space를 넓히기 위해)
      • 표준화: 회귀 모형의 가정 (정규성, 독립성, 등분산성) -> Z- score로 변환해서 정규성을 만족 시켜야함

 

연속형 피처(x와 y의 관계)

  • 문제 :
    1. x와 y의 선형성이 돋보임
    2. 상위 10프로의 값을 예측하기 위해 데이터 resampling이 필요
    3. 선형성을 이용할 수 있는 방법론


연속형 피처(x의 상관 관계)

  • 문제 :
    1. 상관계수가 높음 -> 각 feature 간의 독립성을 부여하는 방식이 중요.회귀 모형 사용시, 다중 공선성을 주의해야 함. (각 모델에 가정에서 벗어남. 독립이 아니라면) (이건 내 주관인데, 회귀 모형을 사용할 것이 아니라 트리계열 모형을 사용할 땐 상관계수는 굳이 보지 않는 편)

문제 요약 – Pain Points

 

 

 

 

추가 작성 중....

 

 

SLIDE 7 | EDA ③ 이상치 & 노이즈

  • 3σ 밖 데이터 ≈ 2.9 %
  • 센서 스파이크 존재

📝 Idea

  1. Denoising : EMA(α 0.3)
  2. Outlier → NaN → Spline 보간
  3. 결측치 : 소량 → 선형 보간

SLIDE 8 | 문제 요약 – Pain Points

  1. Target 첨도 → 상위 구간 예측 필수
  2. 피처 상관성 → 모델 불안정
  3. 센서 노이즈 & 이상치 → 미세 패턴 손실 가능

SLIDE 9 | 문제 해결 – 전처리 파이프라인

① Noise Filtering  : EMA
② Outlier Removal  : 3σ → NaN → Spline
③ Target Transform : log1p / binarize(top25%)
④ Resampling       : SMOTE(k=5)
⑤ Feature Eng.     : Fourier(week,month) + Holidays + Poly + PCA

SLIDE 10 | 모델 후보군

분류 모델 목적
회귀 XGBoost · LightGBM 수치 피처 + 상호작용 자동 학습
시계열 DLinear · Prophet Trend & Seasonality 반영
딥러닝 1D CNN 센서 패턴 캡처
AutoML PyCaret · AutoGluon 빠른 탐색 & 스태킹

SLIDE 11 | 1D CNN 아키텍처

Conv1D(64, k3) → Conv1D(128, k3) → GAP → Dense(256) → Dense(1)

  • LR 1e‑3, Cosine Annealing
  • Deep / Mid / Shallow 3 버전 학습

SLIDE 12 | 앙상블 전략

Pred_final = 0.4·CNN_deep + 0.3·LGBM + 0.3·AutoGluon

  • Soft Voting → 연속 예측
  • Top 10 % 컷오프 → Recall 계산

SLIDE 13 | 결과

  Recall(Public) Recall(Private)
기존 베이스라인 0.62 0.59
제안 방법 0.812 0.794

+17 %p 개선, 최종 상위 10 % 달성


SLIDE 14 | 추가로 하려던 것

  • AutoML 앙상블 : 센서별 AutoGluon 후 메타‑앙상블
  • 도메인 지식 : 공정 물리 조건 반영 피처
  • 다양한 딥러닝 : Transformer‑TS, WaveNet 등 시도 예정

SLIDE 15 | 인사이트 & 다음 단계

  • 상위 구간 전용 전처리 + Recall 지향 모델링 이 핵심
  • 1D CNN + Resampling으로 Black‑box 공정도 데이터만으로 최적화 가능
  • 향후 Bayesian Optimization + MLOps 파이프라인으로 실제 공정 적용 예정