简介
ElitesAI·动手学深度学习PyTorch版
《动手学深度学习PyTorch版》在线书籍
本部分为Task05:图像案例分类2
;GAN
;DCGAN
,这一task只能说是在赶时间吧= =
GAN
DCGAN
DCGAN是将CNN与GAN的一种结合。 其将卷积网络引入到生成式模型当中来做无监督的训练,利用卷积网络强大的特征提取能力来提高生成网络的学习效果。
DCGAN的原理和GAN对抗生成是一样的。它只是把GAN的G和D换成了两个卷积神经网络(CNN)。但不是直接换就可以了.
- 取消所有pooling层。G网络中使用转置卷积(transposed convolutional layer)进行上采样,D网络中用加入stride的卷积代替pooling。
- 除了生成器模型的输出层和判别器模型的输入层,在网络其它层上都使用了Batch Normalization,使用BN可以稳定学习,有助于处理初始化不良导致的训练问题。
- 去掉全连接层,使网络变为全卷积网络
- G网络中使用ReLU作为激活函数,最后一层使用tanh
- D网络中使用LeakyReLU作为激活函数
转置卷积(反卷积)
普通的卷积操作其实可以看成是矩阵相乘,输入A被reshape为一个列向量A’,kernel可以转化为一个Toeplitz matrix B,这样子相乘之后得到一个列向量C’,再经过reshape变成输出C。
那其实转置卷积就是把上面的那个操作反过来,将Toeplitz matrix B转置后,就能和C‘相乘,得到列向量A’,再经过reshape变成A。
详细点可以看: