반도체 이상탐지 실습 — AI Alarm의 오탐·미탐과 Precision·Recall

가상 제조 이상점수 CSV로 두 알람 기준의 Confusion Matrix·Precision·Recall·오탐률을 계산하고 시계열 데이터 누수 및 인과 추론의 한계를 이해합니다.

심화 · 제조 데이터·AI 평가 실습 · 업데이트 2026-10-20

3줄 요약

  • 이상탐지 모델의 점수는 고장 확정이 아니며 사전에 정한 판정 기준에 따라 오탐·미탐이 바뀝니다.
  • Precision·Recall·False Positive Rate의 분모를 구분해 실제 검토 건수와 놓치는 사건 수를 계산합니다.
  • 시간·Lot·장비가 서로 관련된 데이터에서는 검증 분할과 라벨 품질·실제 원인 증거를 별도로 확인해야 합니다.
이 페이지 목차이상탐지는 고장 원인을 ’맞히는 시험’이 아닙니다기본 개념: Score, Threshold, Label은 별개의 정보파일 내려받기1단계 — 알람의 네 가지 결과를 직접 분류하세요2단계 — 기준 0.60과 0.80을 비교하세요3단계 — 성능 개선의 함정을 찾아보세요4단계 — 이상 점수에서 RCA까지 넘어가기자주 하는 오해선수 학습과 다음 공부교육용 예상 면접 질문공개 참고 자료이상 비중과 알람 정밀도 실습

이상탐지는 고장 원인을 ’맞히는 시험’이 아닙니다

FDC·SPC·수율 데이터 검증을 공부한 뒤, AI나 Rule-based System이 낸 이상 점수에서 알람 기준을 정하는 문제를 직접 풀어봅니다.

정상에서 멀어 보이는 사건을 빠르게 발견하는 것과 고장 부품·공정 메커니즘을 입증하는 것은 다릅니다. 점수가 높아도 센서 변동·제품 구성 변화·측정 조건·실제 공정 변화 후보가 남을 수 있습니다. 학습에 쓰는 모든 점수와 라벨은 자체 제작한 가상 데이터입니다.

기본 개념: Score, Threshold, Label은 별개의 정보

여기서는 이미 주어진 점수를 평가하므로 머신러닝 모델을 훈련하거나 새로운 이상 점수를 생성하지 않습니다. 학생은 기본 개념·임계값·성과 평가를 연습하며, 실제 AI 이상탐지의 성능을 입증하는 사례가 아닙니다.

파일 내려받기

같은 폴더에 놓고 python3 analyze.py를 실행하세요. 설치·서버 업로드·로그인 없이 연습할 수 있습니다. CSV의 time_order는 교육용 순서이며 실제 제조 시간이나 장비 샘플링 속도를 의미하지 않습니다.

데이터 한계: 이 24개 사건은 관측 대상/기계적 독립성을 증명하는 표본이 아닙니다. 점수의 생성 규칙, 실제 실패 메커니즘, Labeling 주체와 지연, 측정 단위, 장비 센서 원자료가 없습니다. 제조 공정 조건이나 경보 기준으로 사용하지 마세요.

1단계 — 알람의 네 가지 결과를 직접 분류하세요

결과 의미 실제 업무에서 질문
TP, True Positive 실제 이상으로 검토된 사건에 알람 발생 어떤 증거로 이상을 검증했나?
FP, False Positive 정상 사건인데 알람 발생 조사에 들어간 시간·자원은?
TN, True Negative 정상 사건에 알람 미발생 정상 라벨의 대표성은?
FN, False Negative 실제 이상인데 알람 미발생 누락의 위험/피해 가능성은?

모든 확률/비율의 분모를 말로 먼저 확인하세요.

Precision·Recall은 서로 같은 수치가 아니며, **정확도(Accuracy)**만 보면 이상이 드문 환경에서 대부분 정상이라고 답해도 높게 나올 수 있습니다.

2단계 — 기준 0.60과 0.80을 비교하세요

이 글에서는 두 기준값을 데이터 공개 이전에 가상으로 미리 정했다고 가정합니다. 값을 탐색해서 최적 기준이라고 주장하거나 이번 Holdout으로 튜닝하지 않습니다.

직접 CSV의 모든 행에 score≥0.60과 score≥0.80 판정을 적용한 뒤 TP/FP/TN/FN을 세어보세요.

교육용 질문 답하기 전 체크
0.60 기준에서 알람은 몇 건인가요? TP + FP = ?
0.80 기준에서 이상을 놓친 사건은 몇 건인가요? FN = ?
두 기준의 Precision과 Recall은 얼마인가요? 양성의 두 분모를 혼동하지 않기
알람을 줄이면 언제나 더 좋은가요? FP 조사 비용 vs FN 누락 위험을 함께 생각
정량 해설 열기 — 직접 계산한 뒤 확인

0.60 기준: TP=5, FP=5, TN=13, FN=1. 총 알람 10건, Precision=5/10=50%, Recall=5/6≈83.33%, False Positive Rate=5/18≈27.78%입니다. 0.80 기준: TP=3, FP=1, TN=17, FN=3. 총 알람 4건, Precision=3/4=75%, Recall=3/6=50%, False Positive Rate=1/18≈5.56%입니다. 더 높은 기준에서 알람 검토 부담은 줄었지만 놓친 이상은 증가했습니다. 이 가상 자료만으로 실제 최적 경보 수준을 정하지 않습니다.

3단계 — 성능 개선의 함정을 찾아보세요

라벨이 늦게 확정되면?

실제 제조에서는 검사 종료 이후에 재분석·신뢰성 결과로 라벨이 달라질 수 있습니다. 사건 발생 시점에 아직 몰랐던 후속 Fail Bin·고장 분석 결론을 모델 입력에 넣으면 **미래 정보 누수(Data Leakage)**가 발생할 수 있습니다.

Lot과 Wafer가 서로 관련돼 있다면?

같은 Lot·제품·장비·기간의 사건을 무작위로 학습/시험에 분산시키면 아주 비슷한 조건을 두 번 보는 셈이 될 수 있습니다. 시간순 평가나 목적에 맞는 그룹 홀드아웃을 고려하세요. 다만 시간을 나눴다는 사실만으로 제품 구성과 장비 변동의 교락이 자동으로 해결되지는 않습니다.

기준값은 언제 선택하나요?

훈련 집합에서 모델을 만들고 별도 검증 집합에서 알람 민감도와 비용을 고려해 기준을 정할 수 있습니다. 최종 Holdout은 선택 이후 한 번 평가하는 것이 원칙입니다. 여기서는 사전 정의된 두 기준의 평가 결과를 나란히 설명한 것이며, 더 나아 보이는 하나를 실제 배포 기준으로 채택한 것이 아닙니다.

4단계 — 이상 점수에서 RCA까지 넘어가기

관찰 가능한 원인 후보 검증 계획
특정 장비의 알람 증가 센서 Drift, 제품 변경, 장비 상태, 보정 변화 제품·시점·장비를 분리하고 독립 센서/공정 결과 대조
점수는 높지만 양산 지표 정상 False Alarm, 늦게 나타나는 영향, 측정 불일치 측정 한계·추가 시점·후속 공정 결과 확인
최종 기능 Fail인데 알람 없음 Feature 누락·Threshold·Label 문제 등 FN 샘플의 공통 조건과 평가 범위·추가 Feature 검증
모형 Accuracy만 높음 정상 다수 편향·비독립 표본·누수 Recall/Precision·시간·제품/장비별 성능 평가

이상탐지는 검토할 후보를 좁히는 도구입니다. 주어진 표에는 장비 센서·시편 구조·원인 확인 자료가 없어 ’불량 원인’을 계산할 수 없습니다.

자주 하는 오해

선수 학습과 다음 공부

SPC → FDC → Wafer Map 실습 → Data Validation → Anomaly Detection 실습 → Correlation → DOE

교육용 예상 면접 질문

이상탐지에서 정밀도와 재현율이 충돌하면 어떻게 판단하나요?

핵심: FP 조사 부담과 FN 누락 위험을 실제 사용목적·검증자료에 연결합니다. 꼬리질문: 0.60과 0.80 중 어느 기준을 실제 공정에 쓰겠다고 답하기 어려운 이유는?

제조 데이터에서 학습·검증을 나눌 때 어떤 누수 위험이 있나요?

핵심: 같은 Lot·시간·제품·장비의 의존성과 사고 발생 후에만 알 수 있는 정보를 구분합니다. 꼬리질문: 시간 기준으로 나누어도 제품/Chamber 교락은 어떻게 확인할까요?

공개 참고 자료

공개 개념 검토: 2026-10-19. 가상 사건·점수·라벨·평가표·연습 문제는 자체 작성했으며 실제 팹 데이터나 양산 경보 수치가 아닙니다.

추가 실습: 오탐률 1%인데 왜 알람 대부분이 정상일까?

교육 보강 · 2026-10-20

앞의 24개 사건은 임계값 비교 연습입니다. 이번에는 실제 이상 사건의 비중을 바꿔봅니다. 정상 사건이 아주 많으면 정상 중 작은 비율에만 오탐이 생겨도, 실제 이상을 잡은 알람보다 오탐 알람이 많아질 수 있습니다. 탐지율과 오탐률이 같다고 알람의 적중 비율까지 같지는 않습니다.

자체 생성한 두 개의 독립된 가상 집계 시나리오입니다. 앞의 Holdout 24건을 늘리거나 실제 양산에서 측정한 결과가 아닙니다. 각 시나리오의 평가 단위는 서로 중복되지 않는다고 가정한 사건100,000개이며, 같은 사건을 여러 센서 행으로 복제하지 않습니다. 원시 점수·시간·Lot/장비·조사 이력은 제공하지 않습니다.

1. 데이터와 가정

  • scenarios.csv: 두 시나리오의 사건 수와 TP·FP·TN·FN 집계입니다. 각 사건은 한 칸에만 포함됩니다.
  • alarm-base-rate-analysis.py: 다른 실습과 구분한 폴더에 CSV와 함께 저장하고 python3 alarm-base-rate-analysis.py로 실행하세요. Python 3 표준 라이브러리만 사용하며 업로드·외부 접속은 없습니다.

두 경우 모두 Recall=90%, FPR=1%가 되도록 교육용으로 정한 수입니다. 실제 모집단이 바뀌었을 때 모델의 조건부 성능이 유지된다는 증명이 아닙니다. 이 예제에서 모델을 학습하거나 임계값을 최적화하지 않습니다.

가상 시나리오전체 사건실제 이상실제 정상TP / FP / TN / FN
이상 비중1%100,0001,00099,000900 / 990 / 98,010 / 100
이상 비중0.1%100,00010099,90090 / 999 / 98,901 / 10

2. 해설을 열기 전에 네 가지를 계산하세요

  1. 각 시나리오의 Recall·FPR이 같은지 확인하고, 전체 알람 수와 Precision을 계산하세요.
  2. FPR=1%와 “알람 중 오탐이1%”는 같은 말인가요? 두 값의 분모를 써보세요.
  3. Accuracy도 계산하세요. 값이 높다는 이유만으로 알람이 유용하다고 판단할 수 있나요?
  4. 하나의 사건이 센서 행10개를 만들거나 조사 완료 라벨이 일부만 있다면, 이번 표와 무엇이 달라지나요?

3. 같은 성능에서도 바뀌는 분모

이상 비중을 π, Recall을 TPR, 정상 중 오탐률을 FPR이라고 하면 이항 분류에서 Precision = (TPR × π) / (TPR × π + FPR × (1−π))입니다. 분모가0이면 Precision은 정의되지 않습니다. 이는 같은 평가 범위·판정 기준·라벨 정의에서의 관계이며, 독립적인 인과 증명이나 원시 점수의 확률 보정식은 아닙니다.

정량 해설과 보고 문장 확인하기

첫 번째 시나리오는 알람1,890건, Precision=900/1,890≈47.62%입니다. 두 번째는 알람1,089건, Precision=90/1,089≈8.26%입니다. 둘 다 Recall90%·FPR1%지만 실제 이상 비중이 작아진 두 번째에서는 알람 중 정상 비중이 약91.74%입니다.

FPR의 분모는 실제 정상 전체인99,000 또는99,900입니다. 알람 중 오탐 비중은 FP/(TP+FP)=1−Precision이며 각각 약52.38%,91.74%입니다. 이를 FPR과 바꾸어 보고하면 안 됩니다.

Accuracy는 각각98.91%,98.991%입니다. 두 번째에서 Accuracy가 더 높아도 Precision은 더 낮습니다. “모델이 실제로 악화됐다”거나 “더 좋아졌다”고 이 집계만으로 결론 내리지 않습니다. 이상 비중·분모·표본 구성과 각 오류의 영향을 함께 보고해야 합니다.

보고 예: “가정한 Recall/FPR을 고정한 두 합성 집계에서, 이상 비중이1%에서0.1%로 작아지면 알람 Precision이 약47.62%에서8.26%로 달라졌다. 실제 현장 성능이나 경보 정책의 적정성은 평가하지 않았다.”

4. 제조 현장 해석 전에 더 확인할 것

  • 사건과 행: 한 Wafer/사건의 여러 센서 알람을 별개 불량 사건으로 세지 않도록 그룹 키·중복 제거·평가 창을 정합니다. 행 기준과 사건 기준 지표는 직접 비교하지 않습니다.
  • 선택된 조사: 알람이 난 사건만 조사하면 FN·TN을 제대로 알기 어렵습니다. 미알람 표본의 적절한 검증과 라벨 확보 없이는 전체 Recall/FPR을 산출할 수 없습니다.
  • 라벨 지연: 후속 검사·분석 전 미확정을 정상으로 채우지 않습니다. 발생 시점·판정 시점·동일 관측 기간을 구분하고, 조사 완료 비율과 미확정 수를 함께 보고합니다.
  • 분포 변화: 제품·Chamber·기간·측정계·검사 조건이 달라졌다면 이상 비중뿐 아니라 Recall/FPR 자체도 바뀔 수 있습니다. 동일 정의의 독립 자료로 다시 평가합니다.
  • 원인과 대응: 알람은 증거 수집의 출발점입니다. 센서·입력 조건·제품 전기/물리 증거와 반례를 확인하며, 알람 빈도만으로 Recipe 변경·정비·자동 정지를 결정하지 않습니다.

이 두 행은 신뢰구간·사건 독립성·장기 재발·검출 지연을 평가할 자료가 아닙니다. 모델 점수를 장비 고장 확률로 해석하거나, Holdout에서 좋아 보이는 값을 골라 같은 자료로 배포 성능을 주장하지 마세요. 검토 시간·누락 위험·중복 알람을 함께 평가하되 실제 비용이나 생산 손실은 제공하지 않은 정보로 계산하지 않습니다.

선수: FDC · 중복·재검·제품 구성. 다음 학습: 측정계 평가 · 미확정 증거와 고객 품질 · 종합 수율 실습. 직무 연결: 제조 Data·AI · 설비 · 수율·품질.

공개 근거와 작성 범위

확인: 2026-10-20. 분류 지표의 정의는 공식 자료를 참고했으며 숫자·집계·문제·해설은 자체 제작입니다. 실제 장비나 모델의 측정 성능이 아닙니다.

LEARNING DEPTH

어디까지 알아야 하나요?

아래는 반도체 이상탐지 실습 — AI Alarm의 오탐·미탐과 Precision·Recall의 학습 목표입니다. 직무별 모듈에서 필요한 수준을 함께 확인하세요. 회사의 공식 평가 기준이나 합격 기준은 아닙니다.

LEVEL 1 · 공통 기초

설명할 수 있어야 합니다

점수와 원인 분리

LEVEL 2 · 직무 핵심

설명할 수 있어야 합니다

오탐·미탐 분모

LEVEL 3 · 실무 연결

생각해볼 수 있어야 합니다

기준 변경의 효과

LEVEL 4 · 심화

더 깊게 연결해보세요

검증 데이터 누수

이 기술을 이해했나요?

FlashMemory 자체 연습문제입니다. 먼저 본인의 말로 설명한 뒤 답변 방향을 확인하세요. 각 단계는 권장 학습 목표이며 실제 업무 범위와 평가 기준은 회사·제품에 따라 다릅니다.

공통 기초 · 이상 점수가 0.9인 Wafer는 장비가 90% 확률로 고장난 건가요?

아닙니다. 점수의 정의·보정 여부가 없으면 고장 확률로 해석할 수 없습니다. 탐지 점수는 추가 조사의 신호이며 원인 확인은 별도입니다.

직무 핵심 · Precision과 Recall의 분모는 어떻게 다르나요?

Precision=TP/(TP+FP)는 알람으로 분류한 건 가운데 실제 양성 비율, Recall=TP/(TP+FN)는 실제 양성 가운데 잡아낸 비율입니다.

실무 연결 · 알람 기준을 0.60에서 0.80으로 높이면 무엇을 비교하나요?

같은 가상 평가 데이터에서 검토 건수·FP·FN·Precision·Recall 변화를 비교합니다. 어느 기준이 더 좋은지는 오탐·미탐의 비용과 독립 평가가 필요합니다.

심화 · 같은 Lot의 사건이 훈련과 검증에 나뉘어 있어도 될까요?

서로 상관된 사건이 공유되면 성능이 과대평가될 수 있습니다. 평가 목적에 따라 시간 순서·Lot/제품/장비 그룹을 고려해 분리해야 합니다.

연결해서 공부하기

다음으로 무엇을 공부할까요?

먼저 필요한 개념과 이어서 읽을 기술을 연결했습니다. 실제 제조 순서가 아니라 학습을 돕는 제안입니다.

전체 학습 로드맵에서 다음 단계 선택하기 →

관련 기술

다른 관점에서도 찾아보기

같은 기술을 여러 분야에서 탐색할 수 있습니다. 선수 지식과 다음 공부의 명시적인 순서를 먼저 따르세요.

함께 살펴볼 기술

공통 활용 목적을 바탕으로 제안한 보조 읽기입니다. 필수 선수과목이나 실제 제조 순서를 뜻하지 않습니다.