시작하기무료로 시작하기

생성기와 판별기 구축하기

PyBooks에서 여러분은 작가들의 글 막힘을 도와줄 자동 텍스트 생성기를 개발하는 임무를 맡고 있어요. GAN(Generative Adversarial Networks)을 사용하면 하나의 네트워크(생성기)가 새 텍스트를 만들고, 다른 네트워크(판별기)가 그 진위를 평가하는 시스템을 구축할 수 있다고 봐요. 이를 위해 생성기와 판별기 네트워크를 모두 초기화해야 합니다. 그런 다음 이 네트워크들은 서로 경쟁적으로 학습하여 그럴듯한 새로운 텍스트를 생성하게 됩니다.

다음 패키지가 미리 임포트되어 있어요: torch, torch.nn as nn.

이 연습은 강의의 일부입니다

PyTorch로 배우는 텍스트 딥러닝

강의 보기

연습 안내

  • 순차 데이터용 선형 레이어와 sigmoid 활성화 함수를 포함한 Generator 클래스를 정의하세요.
  • Generator 클래스의 forward() 메서드에서 입력을 정의한 모델에 통과시키세요.
  • 동일한 레이어와 활성화 함수를 사용해 Discriminator 클래스를 정의하되, 차원을 정의할 때 주의하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define the generator class
class Generator(nn.Module):
    def __init__(self):
        super().__init__()
        self.model = nn.____(nn.____(____), nn.____())
    def forward(self, x):
        return self.____(x)

# Define the discriminator networks
class Discriminator(nn.Module):
    def __init__(self):
        super().__init__()
        self.model = nn.____(nn.____(____), nn.____())
    def forward(self, x):
        return self.model(x)
코드 편집 및 실행