다음은 Keras에서 코딩된 GAN의 예로, 모델을 Deeplearning4j로 가져올 수 있습니다. 인공 지능(AI) 분야를 새롭게 접하는 사람들을 위해 기계 학습(ML)을 데이터를 사용하여 기계/프로그램을 통해 새 작업을 수행하는 방법을 “가르치는” AI의 하위 필드로 간단히 설명할 수 있습니다. 이 것의 간단한 예는 알고리즘에 대한 입력으로 사람의 얼굴의 이미지를 사용하는 것입니다, 그래서 프로그램은 주어진 그림에서 같은 사람을 인식하는 법을 배워야 (그것은 아마 너무 부정적인 샘플이 필요합니다). 이를 위해 기계 학습을 적용된 수학 최적화로 설명할 수 있는데, 여기서 알고리즘은 다차원 공간에서 데이터(예: 그림)를 나타낼 수 있습니다(카르테시안 평면을 기억합니까? 즉, 2 차원 필드입니다), 다음 대상 분포 여부에 속하는 새로운 다차원 벡터 샘플을 구별하는 방법을 배웁니다. 기계가 배우는 방법에 대한 시각적 이해를 위해 나는이 광범위한 비디오 설명과 기계의 상승에이 다른 비디오를 추천, 나는 보고 매우 재미 있었다. 이것은 탐구하고 토론하는 매우 매혹적인 분야이지만, 나는 나중에 게시물에 대한 자세한 설명을 남겨 둘 것입니다, 우리는 간을 위해 여기에 있어! 이 블로그 게시물에서 나는 생성 적대적 네트워크를 소개했다. 우리는 알고리즘의 종류가 무엇인지, 그리고 왜 요즘 그렇게 관련성이 있는지 를 배우는 것으로 시작했습니다. 다음으로 GAN을 준수하는 부품과 함께 작동하는 방법을 살펴봤습니다. 마지막으로 MNIST 데이터 집합의 합성 예제를 만드는 방법을 배운 GAN의 완전한 구현을 프로그래밍하여 이론을 연습과 연결하는 작업을 마쳤습니다.

이제 텐서플로우 레이어를 사용하여 생성기 및 판별자 네트워크를 구현할 것입니다. 우리는 다음 기능을 사용하여 생성기 네트워크를 구현합니다: 서로 상호 작용하는 두 개의 별도 네트워크가 있는 경우 각 네트워크 범위의 변수를 고려해야 합니다. 따라서 함수를 정의하는 동안 tf.variable_scope가 설정되었습니다. 이 예제에서는 Adam 최적화 를 사용할 예정입니다. batch_size 와 epoch 수를 설정합니다. 시대를 늘리면 더 나은 결과를 얻으려면 GPU에 액세스 할 수있는 것이 좋습니다. GAN 설정에는 다양한 유형이 있습니다. 예를 들어 학습된 분포에서 무조건 샘플링하도록 생성기를 학습하거나 클래스 레이블과 같은 추가 정보를 조건지정할 수 있습니다. TF-GAN은 많은 설정과 호환되며, 잘 테스트 된 예제디렉토리 변형 자동 엔코더는 입력 데이터를 인코딩하는 데 추가 제약 조건을 추가하는 생성 알고리즘, 즉 숨겨진 표현이 정규화 된. 변형 자동 엔코더는 자동 엔코더와 같은 데이터를 압축하고 GAN과 같은 데이터를 합성할 수 있습니다. 그러나 GAN은 미세하고 세분화된 세부 사항으로 데이터를 생성하는 반면, VA에 의해 생성된 이미지는 더 흐려지는 경향이 있습니다. Deeplearning4j의 예로는 자동 엔코더와 변형 자동 엔코더가 모두 있습니다.

생성기와 판별기 는 모두 신경망, 네트워크로 모델링되고 있기 때문에, agradient 기반 최적화 알고리즘을 사용하여 GAN을 학습할 수 있습니다. 이 코딩 예제에서는 여러 필드에서 성공적임이 입증된 경우 스토카틱 그라데이션 하강을 사용하게 됩니다.