[AI/GAN] GAN 적대적 생성 신경망의 개념

2024. 1. 21. 23:21·[ Artificial Intelligence ]/Trend

1. GAN 

- GAN = Generative Adversarial Networks = 적대적 생성 신경망

- 생성형 모델 Generative Model 의 일종

- 실제에 가까운 이미지나 사람이 쓴 것 같은 글 등 여러 종류의 가짜 데이터들을 생성하는 모델

- 서로 다른 두 개의 네트워크를 적대적으로 학습시키고 실제 데이터와 유사한 데이터를 생성하는 모델

- 생성 데이터에는 라벨링된 값이 없기 때문에 비지도 학습 Unsupervised learning 기반 생성형 모델 Generative Model에 속함

- 이미지, 영상, 텍스트 생성 등에 적용

 

2. GAN을 제안한 Lan Goodfellow의 비유

위조 지폐범은 최대한 진짜 같은 가짜 화폐를 생성해 경찰을 속이기 위해 노력하고

경찰은 진짜 화폐와 가짜 화폐를 완벽히 분류하여 위조 지폐범을 검거하기 위해 노력한다

 

위조 지폐범과 경찰의 경쟁적인 학습 노력이 계속되면 어느 순간

위조 지폐범은 진짜와 똑같은 위조 지폐를 만들 수 있게 되고

경찰의 가짜 지폐를 구별할 수 있는 확률이 50%로 수렴하게 되어 

가장 헷갈리는 지점, 구분할 수 없는 상태에 도달하게 된다

 

이 비유에서 경찰은 분류 모델, 위조 지폐범은 생성 모델을 의미하고

GAN은

최대한 진짜 같은 가짜 데이터를 생성하려는 생성 모델과

가짜를 판별하려는 분류 모델이 각각 존재하며

생성 모델은 분류에 성공할 확률을 낮추려 하고

분류 모델은 분류에 성공할 확률을 높이려 하면서

서로를 적대적으로 학습한다

 

3. GAN의 적대적인 학습 과정

적대적 학습에서는 분류 모델을 먼저 학습시킨 후

생성 모델을 학습시키는 과정을 서로 주고 받으며 반복한다

 

분류 모델의 학습은 크게 두 가지 단계로 구성되어있다

     1) 진짜 데이터를 입력해서 네트워크가 해당 데이터를 진짜로 분류하도록 학습

     2) 생성 모델에서 생성한 가짜 데이터를 입력해서 해당 데이터를 가짜로 분류하도록 학습

        >> 진짜 데이터를 진짜로, 가짜 데이터를 가짜로 분류할 수 있다

 

분류 모델 학습 후 학습된 분류 모델을 속이는 방향으로 생성 모델 학습을 진행한다

 

학습된 분류 모델을 속이는 방향으로 학습시키기 위해서는

생성 모델에서 생성한 가짜 데이터를 분류 모델에 입력하여

가짜 데이터를 진짜라고 분류할 만큼 진짜 데이터와 유사한 데이터를 생성 모델에 학습시킨다

 

서로 딥러닝 과정에서 경쟁적으로 학습하면서

생성 모델은 점점 더 실제와 같은 가짜 데이터를

분류 모델은 실제와 같은 가짜 데이터를 잘 구별할 수 있게 된다

 

 

Generator가 가장 완벽한 가짜 데이터를 생성하게 되면

Discriminator는해당 데이터의 참과 거짓을 구분하지 못하게 되고

확률이 50%에 수렴하면 궁극적으로 학습이 종료되는 매커니즘이다

 

 

 

 

 

728x90

'[ Artificial Intelligence ] > Trend' 카테고리의 다른 글

[AI/LLM] In-context learning  (0) 2024.11.22
[AI/On-Device AI] 3대 빅테크 기업의 온디바이스 AI 전략  (1) 2024.02.01
[AI/Diffusion model] InstantID, 단일 이미지로 다양한 이미지 생성  (1) 2024.01.21
[AI/Vision] Apple의 AIM(대규모 비전 모델)  (1) 2024.01.21
'[ Artificial Intelligence ]/Trend' 카테고리의 다른 글
  • [AI/LLM] In-context learning
  • [AI/On-Device AI] 3대 빅테크 기업의 온디바이스 AI 전략
  • [AI/Diffusion model] InstantID, 단일 이미지로 다양한 이미지 생성
  • [AI/Vision] Apple의 AIM(대규모 비전 모델)
dev charlotte
dev charlotte
주 - 컴퓨터공학 / 복수 - 산업 보안
    250x250
  • dev charlotte
    int main() {
    dev charlotte
  • 전체
    오늘
    어제
    • 분류 전체보기
      • [ Laboratory ]
        • Paper review
        • Advanced Operating System
        • System Software & Storage
        • Lab etc
      • [ Computer Science ]
        • Algorithm_C++
        • Operating System
        • Information Retrieval
        • Database_sql
        • SW Engineering
        • Computer Network
        • JavaScript
        • Python
        • Data Structure
        • CS study
        • Distributed systems
      • [ Computer Security ]
        • Convergence Security
        • Web Security
        • PIMS
        • Network Security
        • Digital Finance
      • [ Artificial Intelligence ]
        • Trend
        • Seminar
      • [ 미래, 같이, LG ]
      • [ Development ]
        • [ Front-end ]
        • [ Back-end ] Spring 기본
        • [ Back-end ] Node.js
      • etc
        • 현대오토에버 스마트 모빌리티 공학 체험 교육
      • It's me
  • 블로그 메뉴

    • 링크

      • GitHub
    • 공지사항

    • 인기 글

    • 태그

      소프트웨어 공학
      현대오토에버
      프로그래머스 c++
      코딩 교육
      SQL 쿼리
      공대생 대외활동
      프로그래머스 코테
      현대오토에버 스마트 모빌리티
      싸피
      오블완
      현대오토에버 스마트모빌리티
      프로그래머스
      spdk
      MySQL
      hotstorage
      데이터베이스
      SQL
      코딩 인강
      대학생 대외활동
      백준
      프로그래머스 입문
      싸피 13기
      프로그래밍 언어론
      자바스크립트
      스마트모빌리티공학체험교육
      티스토리챌린지
      코드잇
      SSAFY
      비전공자 코딩
      ssafy 13기
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.4
    dev charlotte
    [AI/GAN] GAN 적대적 생성 신경망의 개념
    상단으로

    티스토리툴바