더북(TheBook)

7 결과 확인 함수 만들기

지금까지 적대적 생성 신경망을 만들었습니다. 이제 이 신경망을 훈련시키고, 그 신경망의 정확도를 확인할 차례입니다. 그런데 이 정확도를 확인하는 방법은 무엇일까요? 바로 우리가 직접 눈으로 보는 것입니다. 우리가 눈으로 보더라도 정말 진짜 같은 그림이 그려졌는지 보는 것이죠.

마치 “기계가 생각할 수 있을까?”라는 질문을 던진 튜링의 이미테이션 게임과 비슷하네요. 컴퓨터를 사람이라고 혼동한다면, 우리는 이 컴퓨터가 생각할 수 있다고 판단할 수 있다고 말한 이미테이션 게임과 같이 적대적 생성 신경망에서도 우리가 생성자가 만든 그림이 진짜 같은지 판별해 보겠습니다.

이를 위해 그림을 생성하고 이 그림을 화면에 보여주는 코드를 작성해 보겠습니다.

def plot_generated_images(generator):
    noise = np.random.normal(loc=0, scale=1, size=[100, 100])
    generated_images = generator.predict(noise)
    generated_images = generated_images.reshape(100,28,28)
    plt.figure(figsize=(10, 10))
    for i in range(generated_images.shape[0]):
        plt.subplot(10, 10, i+1)
        plt.imshow(generated_images[i], interpolation='nearest')
        plt.axis('off')
    plt.tight_layout()

훈련시킨 생성자가 얼마나 정확한지 알아보기 위해 직접 눈으로 볼 수 있는 그림을 만드는 코드입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.