Generative Adversarial Networks 또는 GAN은 다음을 사용하는 생성 모델링 접근 방식입니다. 딥 러닝 하위 모델 접근 방식을 사용하여 데이터를 생성하는 영리한 방식으로 모델을 교육합니다. 이 기사에서는“GAN이란 무엇인가”를 자세히 이해하려고 노력할 것입니다. 이 문서에서는 다음 항목을 다룹니다.
- 생성 모델이란 무엇입니까?
- Generative Adversarial Network는 무엇입니까?
- Generative Adversarial Network의 과제?
- Generative Adversarial Networks 애플리케이션
생성 모델이란 무엇입니까?
생성 모델은 접근하다. 생성 모델에서는 데이터에 샘플 (예 : 입력 변수 X)이 있지만 출력 변수 Y가 없습니다. 입력 변수 만 사용하여 생성 모델을 훈련하고 입력 변수의 패턴을 인식하여 알 수없는 출력을 생성합니다. 훈련 데이터만을 기반으로합니다.
에 , 우리는 입력 변수에서 예측 모델을 생성하는 데 더 적합합니다. 이러한 유형의 모델링을 차별 모델링이라고합니다. 분류 문제에서 모델은 예제가 속한 클래스를 구별해야합니다. 반면에 비지도 모델은 입력 분포에서 새로운 예제를 생성하거나 생성하는 데 사용됩니다.
일반인의 용어로 생성 모델을 정의하기 위해 생성 모델은 다른 예제와 유사 할뿐만 아니라 구별 할 수없는 샘플에서 새로운 예제를 생성 할 수 있습니다.
생성 모델의 가장 일반적인 예는 차별 모델로 더 자주 사용됩니다. 생성 모델의 다른 예에는 Gaussian Mixture Model과 General Adversarial Networks라는 다소 현대적인 예가 있습니다. GAN이란 무엇입니까?
Generative Adversarial Network는 무엇입니까?
Generative Adversarial Networks 또는 GAN은 비지도 학습에 사용되는 딥 러닝 기반 생성 모델입니다. 기본적으로 두 사람이 경쟁하는 시스템입니다. 신경망 데이터의 변형을 생성하거나 생성하기 위해 서로 경쟁합니다.
이는 2014 년 Ian Goodfellow의 논문에서 처음 설명되었으며 2016 년 Alec Radford가 DCGAN (Deep Convolutional General Adversarial Networks)으로 알려진 표준화되고 훨씬 안정적인 모델 이론을 제안했습니다. 오늘날 존재하는 대부분의 GAN은 DCGAN 아키텍처를 사용합니다.
GAN 아키텍처는 두 개의 하위 모델로 구성됩니다. 발전기 모델 그리고 판별 자 모델. GAN이 실제로 어떻게 작동하는지 이해해 보겠습니다.
어떻게 작동합니까?
GAN의 작동 방식을 이해하기 위해 분석해 보겠습니다.
- 생성 적 – 모델이 접근 방식이며 생성 모델입니다.
- 적대적 – 모델은 적대적인 환경에서 훈련되었습니다.
- 네트워크 – 모델 훈련을 위해 인공 지능 알고리즘으로 신경망을 사용합니다.
GAN에는 샘플을 가져와 데이터 샘플을 생성하는 Generator 네트워크가 있으며, 그 후 Discriminator 네트워크는 데이터가 바이너리를 사용하여 실제 샘플에서 생성되는지 또는 추출되는지를 결정합니다. 0에서 1 사이의 출력을 제공하는 시그 모이 드 함수의 도움으로 문제가 발생합니다.
생성 모델은 훈련 단계 후 판별자가 실수를 할 확률이 최대화되는 방식으로 데이터 분포를 분석합니다. 반면에 판별 기는 샘플이 생성자가 아닌 실제 데이터에서 나올 확률을 추정하는 모델을 기반으로합니다.
전체 과정은 아래 주어진 수학 공식으로 공식화 될 수 있습니다.
위의 공식에서 :
G = 발전기
D = 판별 자
Pdata (x) = 실제 데이터 분포
마지막으로 마지막으로 자바에서 마무리
Pdata (z) = 발전기 분배 자
x = 실제 데이터의 샘플
동적 배열이란?
z = 생성기의 샘플
D (x) = 판별 자 네트워크
G (z) = 발전기 네트워크
이제 GAN에 대한 교육 부분이 나옵니다. 이는 순차적으로 수행되는 두 부분으로 더 나눌 수 있습니다.
GAN을 훈련하는 방법?
1 부:
판별기를 훈련하고 생성기를 고정합니다. 즉, 생성기에 대한 훈련 세트가 False로 바뀌고 네트워크는 순방향 패스 만 수행하고 역전 파는 적용되지 않습니다.
기본적으로 판별자는 실제 데이터로 훈련되어 올바르게 예측할 수 있는지 확인하고 가짜 데이터로 동일하게 확인하여 가짜로 식별합니다.
2 부:
생성기를 훈련하고 판별자를 고정합니다. 이 단계에서 우리는 첫 번째 단계의 결과를 얻고이를 사용하여 이전 상태에서 더 나은 결과를 만들어 판별자를 더 잘 속일 수 있습니다.
훈련 단계
- 문제 정의 – 문제를 정의하고 데이터를 수집합니다.
- GAN의 아키텍처 선택 – 문제에 따라 GAN의 모양을 선택하십시오.
- 실제 데이터에 대한 식별기 훈련 – 실제 데이터로 판별자를 훈련하여 n 회 동안 실제로 예측합니다.
- 생성기에 대한 가짜 입력 생성 – 생성기에서 가짜 샘플 생성
- 가짜 데이터에 대한 식별기 훈련 – 생성 된 데이터를 가짜로 예측하도록 판별자를 훈련합니다.
- 판별 기의 출력이있는 기차 생성기 – 판별 자 예측을 얻은 후 생성자가 판별자를 속이도록 훈련시킵니다.
Generative Adversarial Network의 과제
GAN의 개념은 다소 매력적이지만 경로에 많은 장애를 유발할 수있는 많은 좌절이 있습니다. GAN이 직면 한 주요 문제는 다음과 같습니다.
- 안정 판별 자와 생성자 사이에 필요하지 않으면 전체 네트워크가 떨어질 것입니다. 판별 기가 너무 강력하면 생성기가 모두 훈련에 실패합니다. 그리고 네트워크가 너무 관대하면 이미지가 생성되어 네트워크를 쓸모 없게 만듭니다.
- GAN은 다음을 결정하는 데 비참하게 실패합니다. 개체의 위치 개체가 해당 위치에서 발생해야하는 횟수를 기준으로합니다.
- 3D 관점은 이해할 수 없기 때문에 GAN에 문제가 있습니다. 원근법 , 종종 3 차원 개체에 평면 이미지를 제공합니다.
- GAN은 이해하는 데 문제가 있습니다. 전역 개체 . 전체적인 구조를 구별하거나 이해할 수 없습니다.
- 새로운 유형의 GAN은 더 발전되어 이러한 단점을 모두 극복 할 것으로 예상됩니다.
생성 적 적대적 네트워크 애플리케이션
다음은 GAN의 몇 가지 응용 프로그램입니다.
비디오의 다음 프레임 예측
비디오 프레임의 미래 이벤트 예측은 GAN의 도움으로 가능합니다. DVD-GAN 또는 Dual Video Discriminator GAN은 최대 48 프레임 길이의 눈에 띄는 충실도의 256x256 비디오를 생성 할 수 있습니다. 비, 먼지, 연기 등과 같은 다른 요인으로 인해 왜곡되는 활동을 프레임에서 확인할 수있는 감시 등 다양한 용도로 사용할 수 있습니다.
텍스트를 이미지로 생성
Object-driven attentive GAN (obj-GAN)은 두 단계로 텍스트-이미지 합성을 수행합니다. 시맨틱 레이아웃 생성은 초기 단계이며, 디컨 볼 루션 이미지 생성기를 사용하여 이미지를 합성하여 이미지를 생성하는 것이 마지막 단계입니다.
이것은 캡션, 레이아웃을 이해하여 이미지를 생성하고 단어를 합성하여 세부 사항을 구체화하는 데 집중적으로 사용할 수 있습니다. 단순한 단락에서 전체 스토리 보드를 합성 할 수있는 storyGAN에 대한 또 다른 연구가 있습니다.
이미지의 해상도 향상
Super-resolution generative adversarial network 또는 SRGAN은 저해상도 이미지에서 더 미세한 디테일과 더 나은 품질로 초 해상도 이미지를 생성 할 수있는 GAN입니다.
응용 프로그램은 어마 어마 할 수 있습니다. 저해상도 이미지에서 생성 된 더 세밀한 세부 사항이있는 고품질 이미지를 상상해보십시오. 저해상도 이미지의 세부 정보를 식별하기 위해 생성되는 도움의 양은 감시, 문서화, 보안, 패턴 감지 등을 포함한 더 광범위한 목적에 사용될 수 있습니다.
단계별 학습 ssis
이미지를 이미지로 번역
Pix2Pix GAN은 범용 이미지 이미지 번역을 위해 설계된 모델입니다.
인터랙티브 이미지 생성
GAN은 인터랙티브 이미지 생성에도 사용할 수 있으며, 컴퓨터 과학 및 인공 지능 연구소 (CSAIL)는 모양과 텍스처 편집을 통해 사실적인 조명과 반사를 통해 3D 모델을 생성 할 수있는 GAN을 개발했습니다.
최근 연구자들은 얼굴의 모습을 보존하면서 사람의 움직임에 의해 움직이는 재현 된 얼굴을 합성 할 수있는 모델을 고안했습니다.
이것으로 'GAN이란 무엇인가'를 배운이 기사의 끝으로 이동합니다. 이 튜토리얼에서 여러분과 공유 한 모든 내용이 명확하기를 바랍니다.
'GAN이란 무엇인가'에 대한이 기사가 관련이있는 경우 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사입니다.
우리는 당신의 여정의 모든 단계에서 당신을 돕고 싶어하는 학생과 전문가를 위해 설계된 커리큘럼을 마련하기 위해 여기 있습니다. . 이 과정은 Python 프로그래밍을 먼저 시작하고 다양한 Python 개념과 함께 핵심 및 고급 Python 개념을 교육하도록 설계되었습니다. 처럼
질문이있는 경우 'GAN이란 무엇인가'의 댓글 섹션에있는 모든 질문에 자유롭게 질문하시면 저희 팀이 기꺼이 답변 해 드리겠습니다.