GAN 모델을 만들 때 아래와 같이 모델을 만들어주셨는데
컨볼루션 레이어 다음에 풀링 레이어를 사용안하시는 이유가 있는지 궁금해서 질문드립니다.
discriminator = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(64, (3,3), strides=(2, 2), padding='same', input_shape=[64,64,1]),
tf.keras.layers.LeakyReLU(alpha=0.2),
tf.keras.layers.Dropout(0.4),
tf.keras.layers.Conv2D(64, (3,3), strides=(2, 2), padding='same'),
tf.keras.layers.LeakyReLU(alpha=0.2),
tf.keras.layers.Dropout(0.4),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(1, activation='sigmoid')
])
generator = tf.keras.models.Sequential([
tf.keras.layers.Dense(4 * 4 * 256, input_shape=(100,) ),
tf.keras.layers.Reshape((4, 4, 256)),
tf.keras.layers.Conv2DTranspose(256, 3, strides=2, padding='same'),
tf.keras.layers.LeakyReLU(alpha=0.2),
tf.keras.layers.BatchNormalization(),
tf.keras.layers.Conv2DTranspose(128, 3, strides=2, padding='same'),
tf.keras.layers.LeakyReLU(alpha=0.2),
tf.keras.layers.BatchNormalization(),
tf.keras.layers.Conv2DTranspose(64, 3, strides=2, padding='same'),
tf.keras.layers.LeakyReLU(alpha=0.2),
tf.keras.layers.BatchNormalization(),
tf.keras.layers.Conv2DTranspose(1, 3, strides=2, padding='same', activation='sigmoid')
])