본문 바로가기

그냥, 코딩

GAN 알고리즘 소개 및 활용범위

반응형
이 자료는 한국인공지능협회에서 진행한 2021년 사업주 직업능력 개발훈련으로 BASIC AI(32시간)-박성주 강사의 온라인 교육내용을 참고한 것입니다. 

 

GAN(Generative Adversarial Networks): 생성적 적대 신경망

 

#GAN의 등장

  • 이안 굿펠로우(Ian J. Goodfellow)가 GAN을 발명
  • 2014, 구글 브레인에서 머신러닝 연구중 발표 - 핵심내용은 노이즈로부터 이미지 생성
  • GAN으로 지도학습 중심에서 비지도학습으로 변화됨(적은 데이터양으로도 학습을 시킬 수 있음)
  • 응용분야: 자연어처리(NLP), 이미지 생성 등 다양하게 응용

 

# GAN의 동작 원리

  • GAN은 AI알고리즘이 2개(모든 AI알고리즘은 1개를 갖고 있다)
  • 그 2개의 알고리즘이 경쟁·대립하는 구조를 갖고 있다.
  • 최종 학습이 완료되면 생성망 : 판별망 = 50 : 50
  • 최종적으로 생성망(Generator)만 사용한다.  
  • 진짜 이미지와 가짜 이미지의 샘플을 판별망(Discriminator)에 보내는데, 판별망에 가짜라고 판단하면, 생성망(Generator)는 다시 진짜 이미지와 비슷한 가짜 이미지를 만들어낸다. 이 과정이 반복이 되면서 가짜 이미지를 진짜 이미지처럼 가깝게 만들어지는 것이다. 

 

# GAN 활용

1. 데이터증대 : 가짜데이터를 대량으로 생산하여 데이터의 부족함을 보오나할 수 있다. 

2. GAN을 활용한 이미지 복원 : 화질이 낮은 이미지를 고해상도로 복원

3. Edge정보에 채색 작업

 

4. UNREAL ENGINE

https://youtu.be/ltjlDtcrqkI

 

5. 사진을 특정 화풍의 이미지로 변환

https://www.jungbo.club/2021/06/22/face-disneyfication-app/

 

5. 특정 화가의 화풍을 학습, 적용하는 '딥드림'

 

6. 무한으로 생성되는 가상인물 'Fake Face'

가상인물 로지

 

6. 테슬라 자율주행

7. OPEN CV를 활용한 Face Landmark기법 학습

 

8. DeepFake 기술

이 밖에도 GAN을 활용한 다양한 기술들이 있다. 

 

# GAN 관련 소스

 

GitHub - golbin/TensorFlow-Tutorials: 텐서플로우를 기초부터 응용까지 단계별로 연습할 수 있는 소스 코

텐서플로우를 기초부터 응용까지 단계별로 연습할 수 있는 소스 코드를 제공합니다. Contribute to golbin/TensorFlow-Tutorials development by creating an account on GitHub.

github.com

 

GitHub - eriklindernoren/Keras-GAN: Keras implementations of Generative Adversarial Networks.

Keras implementations of Generative Adversarial Networks. - GitHub - eriklindernoren/Keras-GAN: Keras implementations of Generative Adversarial Networks.

github.com

 

GitHub - eriklindernoren/PyTorch-GAN: PyTorch implementations of Generative Adversarial Networks.

PyTorch implementations of Generative Adversarial Networks. - GitHub - eriklindernoren/PyTorch-GAN: PyTorch implementations of Generative Adversarial Networks.

github.com

 

반응형