《动手学》打卡挑战-task10

简介

ElitesAI·动手学深度学习PyTorch版
《动手学深度学习PyTorch版》在线书籍
本部分为Task05:图像案例分类2GAN;DCGAN,这一task只能说是在赶时间吧= =

GAN

丢。。这个好

DCGAN

DCGAN是将CNN与GAN的一种结合。 其将卷积网络引入到生成式模型当中来做无监督的训练,利用卷积网络强大的特征提取能力来提高生成网络的学习效果。

DCGAN的原理和GAN对抗生成是一样的。它只是把GAN的G和D换成了两个卷积神经网络(CNN)。但不是直接换就可以了.

  1. 取消所有pooling层。G网络中使用转置卷积(transposed convolutional layer)进行上采样,D网络中用加入stride的卷积代替pooling。
  2. 除了生成器模型的输出层和判别器模型的输入层,在网络其它层上都使用了Batch Normalization,使用BN可以稳定学习,有助于处理初始化不良导致的训练问题。
  3. 去掉全连接层,使网络变为全卷积网络
  4. G网络中使用ReLU作为激活函数,最后一层使用tanh
  5. D网络中使用LeakyReLU作为激活函数

    转置卷积(反卷积)

    普通的卷积操作其实可以看成是矩阵相乘,输入A被reshape为一个列向量A’,kernel可以转化为一个Toeplitz matrix B,这样子相乘之后得到一个列向量C’,再经过reshape变成输出C。

那其实转置卷积就是把上面的那个操作反过来,将Toeplitz matrix B转置后,就能和C‘相乘,得到列向量A’,再经过reshape变成A。

详细点可以看:

  • 反卷积 转置卷积的理解
  • 一文让你看懂转置卷积(反卷积,分数卷积),非常详细的图解描述
0%