판별자는 생성자와 정반대로 수행되고, 이미지가 진짜인지 가짜인지에 대한 결과를 스칼라 확률로 반환합니다.
코드 13-19 판별자 네트워크 생성
def create_discriminator():
discriminator = Sequential()
discriminator.add(Conv2D(64, (5,5), strides=(2,2), padding='same',
input_shape=[28,28,1])) ------ Conv2DTranspose의 역을 계산하려고 Conv2D 사용
discriminator.add(LeakyReLU()) ------ 활성화 함수는 생성자와 같은 리키렐루(LeakyReLU) 사용
discriminator.add(Dropout(0.3)) ------ 훈련 데이터셋의 30%를 제외하고 훈련
discriminator.add(Conv2D(128, (5,5), strides=(2,2), padding='same'))
discriminator.add(LeakyReLU())
discriminator.add(Dropout(0.3))
discriminator.add(Flatten())
discriminator.add(Dense(1))
return discriminator
d = create_discriminator()
d.summary()