생성적 적대 신경망(GAN)은 두 개의 경쟁적인 신경망을 사용하여 새로운 데이터를 생성하는 딥 러닝 아키텍처의 한 유형입니다. 생성자와 분류자라는 두 개의 네트워크가 서로 대립하며 학습하여 더 정확한 출력을 생성하는 데 도움이 됩니다. GAN은 컴퓨터 비전, 로봇 공학, 이미지 생성, 동영상 합성, 자연어 처리 등 다양한 분야에서 유용하게 활용될 수 있습니다.
GAN의 작동 방식을 이해하는 가장 좋은 방법은 비유를 사용하는 것입니다. GAN은 미술품 위조자(생성자)와 미술 비평가(분류자) 간의 경쟁에 비유할 수 있습니다.
이러한 적대적인 '게임'은 계속되며 두 네트워크는 점차 더 스마트해집니다. 결국 위조자는 너무나도 능숙해져서 비평가는 더 이상 확실하게 구별할 수 없을 정도가 됩니다. 이 시점에서 GAN은 학습을 마치고 새롭고 매우 사실적인 데이터를 생성할 수 있습니다.
컨볼루셔널 신경망(CNN)과 생성적 적대 신경망(GAN)은 모두 딥 러닝 아키텍처이지만 고유한 강점과 응용 분야가 있습니다. CNN은 이미지 분류 및 객체 감지 작업에 자주 사용되는 반면, GAN은 일반적으로 새로운 데이터 인스턴스를 생성하도록 설계되었습니다.
기능 | CNN | GAN |
데이터 사용량 | 대부분 라벨이 지정된 데이터 세트 | 라벨이 지정된 데이터 세트 또는 라벨이 지정되지 않은 데이터 세트 |
출력 | 분류, 특성 추출 | 다양하고 새로운 데이터 인스턴스 |
모델 유형 | 분류 모델은 | 생성형 |
주요 작업 | 이미지 분류, 객체 인식 | 이미지 생성, 데이터 증강, 합성 데이터 생성 |
기능
CNN
GAN
데이터 사용량
대부분 라벨이 지정된 데이터 세트
라벨이 지정된 데이터 세트 또는 라벨이 지정되지 않은 데이터 세트
출력
분류, 특성 추출
다양하고 새로운 데이터 인스턴스
모델 유형
분류 모델은
생성형
주요 작업
이미지 분류, 객체 인식
이미지 생성, 데이터 증강, 합성 데이터 생성
모든 GAN은 생성자-분류자 구조를 공유하지만 특정 문제를 해결하기 위해 다양한 변형이 개발되었습니다. 가장 중요한 몇 가지 유형은 다음과 같습니다.
생성적 적대 신경망(GAN) 변형 전반에 걸쳐 두 개의 적대적 네트워크를 사용한다는 기본 개념은 일관되게 유지되지만, 연구자들은 특정 애플리케이션의 한계를 해결하고 성능을 개선하기 위해 다양한 아키텍처 및 학습 수정 사항을 탐색해 왔습니다.
GAN은 많은 산업에서 새로운 가능성을 열었습니다. GAN의 응용 분야는 일반적으로 다음과 같습니다.
GAN의 가장 유명한 응용 분야입니다. 여기에는 사람, 장소, 사물의 사실적인 이미지 생성, 디지털 아트 및 음악 제작, 스타일 전이(사진을 그림처럼 보이게 만들기), 초해상도(흐릿한 이미지 선명하게 만들기), 텍스트-이미지 합성 등의 강력한 이미지 편집 도구 사용이 포함됩니다.
고품질 데이터는 머신러닝의 원동력이지만 희소하거나 비용이 많이 들거나 비공개일 수 있습니다. GAN은 합성 데이터를 생성하여 이 문제를 해결하는 데 도움을 줍니다. 의료 분야에서 GAN은 환자 개인 정보를 침해하지 않으면서 진단 모델을 학습시킬 수 있는 익명의 사실적인 의료 스캔을 만들 수 있습니다. 금융 분야에서는 합성 트랜잭션 데이터를 생성하여 더 나은 사기 감지 시스템을 학습시킬 수 있습니다. 이를 통해 데이터 부족을 극복하고 데이터 세트의 균형을 맞출 수 있습니다.
GAN은 복잡한 시스템의 패턴을 학습하여 현실적인 시뮬레이션을 만들 수 있습니다. 이는 자율주행차를 학습시키기 위한 다양한 시나리오를 생성하거나, 동영상에서 다음 프레임을 예측하거나, 신약 개발에서 잠재적인 분자 구조를 발견하는 데 사용됩니다.
GAN을 '정상' 데이터로 학습시키면 패턴에 맞지 않는 모든 것을 매우 잘 찾아낼 수 있습니다. 이는 사기성 금융 활동을 감지하고, 사이버 보안에서 네트워크 침입을 식별하며, 제조에서 결함을 찾는 데 사용됩니다.
GAN을 개발하고 배포하려면 상당한 컴퓨팅 성능과 강력한 MLOps 플랫폼이 필요합니다. Google Cloud는 전체 워크플로를 지원하는 도구를 제공합니다.