pile·
AI / ML·너드팩토리너드팩토리·

GAN을 이용한 이상탐지

이상탐지에 GAN을 쓰는 방법을 GANomaly 모델 중심으로 정리한 글이다. 생성 모델과 판별 모델의 차이부터 시작해 GAN의 개념을 짚고, GANomaly의 손실 함수 세 가지를 Keras 코드로 구현해 학습과 채점까지 이어간다. MNIST의 1과 7을 정상과 비정상으로 두고 돌린 예제다.

핵심 포인트
  • 판별 모델은 분류 경계를 찾고 생성 모델은 데이터의 분포를 학습한다는 점에서 갈린다.
  • GAN은 생성자와 구분자가 경쟁하며 학습해 진짜 같은 가짜 데이터를 만드는 신경망이다.
  • GANomaly의 생성자는 Encoder-Decoder-Encoder 구조라 손실도 여러 개의 합으로 구성된다.
  • Encoder Loss는 MSE, Contextual Loss는 MAE, Adversarial Loss는 특징 추출 결과의 MSE로 정의된다.
  • 세 손실에 가중치를 곱해 합하며 예제에서는 Contextual에 20, 나머지에 1을 준다.
  • 이상탐지 점수는 Encoder Loss 기반 SSE를 Min-max 정규화해 0과 1 사이로 만든다.
상세 정리
  • 배경: GAN은 2014년에 고안돼 이미지 생성과 스타일 변환, 영상·음성 합성에서 성과를 냈고 최근 이상탐지에도 쓰인다.
  • 두 모델의 대비: 개와 고양이 분류를 예로 들면 판별 모델은 두 클래스를 가르는 경계선을 찾고, 생성 모델은 각 집단이 따르는 분포를 학습해 유사한 데이터를 만들어낸다.
  • 이름 풀이: 적대적은 생성자와 구분자를 경쟁시켜 성능을 올리는 학습 원리를, 생성은 실제 데이터 분포에 근사하도록 학습하는 것을 뜻한다.
  • 이상탐지의 범위: 분포나 boxplot으로 이상치를 찾는 통계적 방법부터 모델로 예측하는 방법까지 다양하며, 이미지의 이상 부위를 찾는 데 GAN 기반 연구가 진행 중이다.
  • 모델 계보: AnoGAN과 GANomaly 등이 있으며 이 글은 GANomaly를 다룬다.
  • 구조의 특징: 생성자가 인코더와 디코더를 거쳐 다시 인코더로 이어지는 구조라 네트워크 수가 많고 그만큼 손실 항도 늘어난다.
  • Encoder Loss 구현: 원본을 통과시킨 인코더 출력과 생성 결과를 통과시킨 인코더 출력의 제곱 차이 평균으로 정의한다.
  • Contextual Loss 구현: 원본과 생성 결과의 절댓값 차이 평균으로 정의한다.
  • Adversarial Loss 구현: 원본과 생성 결과를 특징 추출기에 넣은 뒤 그 차이의 제곱 평균으로 계산한다.
  • 손실 결합: 세 손실을 각각 별도 레이어로 만들어 모델의 출력으로 두고, 이름별 가중치를 지정해 컴파일한다.
  • 학습 루프: 배치를 받아 구분자를 학습 가능 상태로 두고 진짜와 가짜를 concat해 학습시킨 뒤, 구분자를 학습에서 빼고 생성자 쪽을 학습시키는 과정을 반복한다.
  • 라벨 구성: 진짜에는 0, 생성 결과에는 1을 붙여 구분자의 정답으로 쓴다.
  • 채점 방식: 학습 후 테스트 데이터를 각 네트워크에 통과시켜 인코딩 결과와 생성 후 인코딩 결과의 차이를 제곱해 더한 값을 점수로 삼는다.
  • 정규화: 최솟값과 최댓값으로 나눠 0과 1 사이 범위로 옮긴다.
  • 임계값 판단: 점수를 산점도로 그리면 약 0.3 부근에서 두 클래스가 갈려 그 값을 임계값으로 삼을 수 있다고 본다.
  • 다음 예고: CNN 기반 이상 데이터 분류를 이어서 다룰 것이라고 밝힌다.
왜 읽나정상 데이터만 많고 비정상 표본이 부족한 이상탐지 문제에 GAN을 얹어보려 한다면 손실 구성과 채점 방식이 코드 단위로 정리돼 있다.
너드팩토리
너드팩토리 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. AI / ML·stackoverflow-blogStack Overflow Blog·

    에이전틱 SDLC를 QA 엔지니어링 마인드셋으로 구축하기

    Motorola Solutions의 테스트 엔지니어링 선임 매니저 Suneet Malhotra가 Stack Overflow 팟캐스트에 출연해 MCP(Model Context Protocol) 기반 에이전틱 SDLC 파이프라인 구축과 LLM-as-judge 평가 방법론을 소개했다. QA 엔지니어링 관점을 소프트웨어 개발 생애 전반에 적용하고, 설계 단계 직후 스펙을 강화해 결함 비용을 줄이는 'QA shift-left' 접근을 다룬다.

    요약 이어보기
    #llm-agent#mcp#test-automation+2
  2. AI / ML·LINE EngineeringLINE Engineering·

    보안 업무를 위한 AI 에이전트 플랫폼 「SAGE」 개발기 1편: 판단은 사람에게 남기는 설계

    LY Corporation Security Development Division이 보안 업무용 AI 에이전트 플랫폼 SAGE의 개발 과정을 공개했다. "완전 자동화"와 "도입 미루기" 양 극단 사이에서 "판단은 사람에게 남기는 설계"를 핵심 원칙으로 삼고, 3단계 점진적 도입 전략(AI 보조→에이전트 협업→자동화)을 채택했다. 현재는 1단계를 중심으로 파일럿·실운영 중이다.

    요약 이어보기
    #llm-app#opensearch#mcp+2