GAN이란 무엇입니까? 어떻게 그리고 왜 사용해야합니다!



이 기사에서는 교육 프로세스 및 사용 사례 구현을 다루는 제한 사항과 과제가있는 'GAN이란 무엇인가'에 대한 자세한 설명을 다룹니다.

Generative Adversarial Networks 또는 GAN은 다음을 사용하는 생성 모델링 접근 방식입니다. 딥 러닝 하위 모델 접근 방식을 사용하여 데이터를 생성하는 영리한 방식으로 모델을 교육합니다. 이 기사에서는“GAN이란 무엇인가”를 자세히 이해하려고 노력할 것입니다. 이 문서에서는 다음 항목을 다룹니다.

생성 모델이란 무엇입니까?

생성 모델은 접근하다. 생성 모델에서는 데이터에 샘플 (예 : 입력 변수 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 사이의 출력을 제공하는 시그 모이 드 함수의 도움으로 문제가 발생합니다.

순서도-gnas는 무엇인가-에듀 레카

생성 모델은 훈련 단계 후 판별자가 실수를 할 확률이 최대화되는 방식으로 데이터 분포를 분석합니다. 반면에 판별 기는 샘플이 생성자가 아닌 실제 데이터에서 나올 확률을 추정하는 모델을 기반으로합니다.

전체 과정은 아래 주어진 수학 공식으로 공식화 될 수 있습니다.

위의 공식에서 :

G = 발전기

D = 판별 자

Pdata (x) = 실제 데이터 분포

마지막으로 마지막으로 자바에서 마무리

Pdata (z) = 발전기 분배 자

x = 실제 데이터의 샘플

동적 배열이란?

z = 생성기의 샘플

D (x) = 판별 자 네트워크

G (z) = 발전기 네트워크

이제 GAN에 대한 교육 부분이 나옵니다. 이는 순차적으로 수행되는 두 부분으로 더 나눌 수 있습니다.

GAN을 훈련하는 방법?

1 부:

판별기를 훈련하고 생성기를 고정합니다. 즉, 생성기에 대한 훈련 세트가 False로 바뀌고 네트워크는 순방향 패스 만 수행하고 역전 파는 적용되지 않습니다.

기본적으로 판별자는 실제 데이터로 훈련되어 올바르게 예측할 수 있는지 확인하고 가짜 데이터로 동일하게 확인하여 가짜로 식별합니다.

2 부:

생성기를 훈련하고 판별자를 고정합니다. 이 단계에서 우리는 첫 번째 단계의 결과를 얻고이를 사용하여 이전 상태에서 더 나은 결과를 만들어 판별자를 더 잘 속일 수 있습니다.

훈련 단계

  1. 문제 정의 – 문제를 정의하고 데이터를 수집합니다.
  2. GAN의 아키텍처 선택 – 문제에 따라 GAN의 모양을 선택하십시오.
  3. 실제 데이터에 대한 식별기 훈련 – 실제 데이터로 판별자를 훈련하여 n 회 동안 실제로 예측합니다.
  4. 생성기에 대한 가짜 입력 생성 – 생성기에서 가짜 샘플 생성
  5. 가짜 데이터에 대한 식별기 훈련 – 생성 된 데이터를 가짜로 예측하도록 판별자를 훈련합니다.
  6. 판별 기의 출력이있는 기차 생성기 – 판별 자 예측을 얻은 후 생성자가 판별자를 속이도록 훈련시킵니다.

Generative Adversarial Network의 과제

GAN의 개념은 다소 매력적이지만 경로에 많은 장애를 유발할 수있는 많은 좌절이 있습니다. GAN이 직면 한 주요 문제는 다음과 같습니다.

  1. 안정 판별 자와 생성자 사이에 필요하지 않으면 전체 네트워크가 떨어질 것입니다. 판별 기가 너무 강력하면 생성기가 모두 훈련에 실패합니다. 그리고 네트워크가 너무 관대하면 이미지가 생성되어 네트워크를 쓸모 없게 만듭니다.
  2. GAN은 다음을 결정하는 데 비참하게 실패합니다. 개체의 위치 개체가 해당 위치에서 발생해야하는 횟수를 기준으로합니다.
  3. 3D 관점은 이해할 수 없기 때문에 GAN에 문제가 있습니다. 원근법 , 종종 3 차원 개체에 평면 이미지를 제공합니다.
  4. GAN은 이해하는 데 문제가 있습니다. 전역 개체 . 전체적인 구조를 구별하거나 이해할 수 없습니다.
  5. 새로운 유형의 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이란 무엇인가'의 댓글 섹션에있는 모든 질문에 자유롭게 질문하시면 저희 팀이 기꺼이 답변 해 드리겠습니다.