35

Autoencoder 기반 이상 탐지 구현

Day 4: 이상 탐지 (비지도 학습)

학습 목표
  • Autoencoder의 구조(Encoder-Decoder)와 이상 탐지 원리를 이해한다
  • PyTorch로 Convolutional Autoencoder를 구현하고 학습할 수 있다
  • 재구성 오차로 이상 점수를 계산할 수 있다

Autoencoder 이상 탐지

원리

[Autoencoder 구조]

입력 이미지 (224x224)
      ↓
┌─────────────────┐
│    Encoder      │  이미지 → 압축 벡터
│  224→112→56→28  │
│    → latent     │
└────────┬────────┘
         │  잠재 벡터 (256차원)
┌────────┴────────┐
│    Decoder      │  압축 벡터 → 이미지 복원
│  28→56→112→224  │
└─────────────────┘
      ↓
복원 이미지 (224x224)

[이상 탐지 원리]
정상 이미지로 학습 → 정상 패턴만 복원 가능

정상 입력 → 잘 복원됨 → 오차 작음 → 양품
이상 입력 → 복원 실패 → 오차 큼  → 불량!
에디터 로딩 중...
핵심 포인트
  • Autoencoder 는 정상 이미지만으로 학습해, 정상 패턴을 복원하지 못하는 입력을 이상으로 본다. 그러려면 정상에 복원할 '패턴'이 있어야 한다
  • 재구성 오차(MSE)가 큰 이미지 = 정상에서 벗어난 이상 이미지
  • 임계값은 평가에 쓰지 않는 별도의 정상 표본으로 정한다. 테스트셋으로 정하고 같은 셋으로 평가하면 성능이 부풀려진다
  • Encoder의 잠재 벡터 차원이 너무 크면 이상도 완벽히 복원되어 검출 불가
AI로 학습하기 — 꿀팁
Conv Autoencoder 이상탐지 코드 생성AI 학습 팁

AI에게 제조 표면 이미지용 Convolutional Autoencoder를 PyTorch로 스캐폴딩하도록 요청하세요. 재구성 오차 임계값 자동 설정 로직을 포함해 받으세요.

제조 금속 표면 이상 탐지용 Convolutional Autoencoder를 PyTorch로 구현해줘. Encoder(Conv2d+BatchNorm+ReLU 4블록)와 Decoder(ConvTranspose2d 4블록)를 포함하는 모델 클래스, 정상 이미지만으로 학습하는 루프, 재구성 오차 분포의 95% 백분위수를 이상 임계값으로 자동 설정하는 코드를 포함해줘.
이 팁이 도움이 됐나요?
용어