GAN

GAN


神经网络


神经网络常见层:全连接层,激活层,BN层,Dropout层,卷积层,池化层,循环层RNN,Embedding层,Merge层。 。。

网络配置:损失函数,优化器,激活函数,性能评估,初始化方法,正则项。。。

网络训练流程:预训练模型,训练流程,数据预处理,数据增强。。。

 

Dense全连接层


需要考虑的事情有维度,激活函数,权值初始化方法w,b以及正则项。正则项就是防止过拟合的一种方法。

激活函数:softmax,relu,tanh等等等等

 

卷积层


卷积核数目,卷积核大小,卷积核步长,激活函数,padding,是否使用偏置,学习率,初始化。

 

池化层


池化的窗口大小(一般2*2),步长(一般设置为2,步长=窗口大小),是否边缘补充(一般不用),池化方法(最大池化更多)。

解决问题:使特征图变小,简化网络;特征压缩,提取主要特征。

常用池化层:最大池化,平均池化。

 

常用解决套路


(输入层)→(表示层)→(应用层)。

输入层:NLP:句子等;图像:图片像素矩阵;语音:音频信息。进行数据预处理。

表示层:用于提取数据特征。DNN:全连接+非线性(特征非线性融合);CNN:conv1D,conv2D*pooling(选择不变性);RNN:LSTM,GRU(选择记忆)。

应用层:一般就是使用全连接层。分类(手写识别,语言模型,排序,文本分类,图像分类);回归;序列预测(机器翻译,语音识别,NLP任务),匹配(语义计算)。

 

训练过程


第一步:生成器会产生一批数据,原始数据会有一批,这个时候需要训练判别器能够准确的判断二者。

第二步:将判别器固定住,尽可能的调整生成器,让生成器产生的结果尽可能的让判别器无法判别。

 

DCGAN论文使用的tricks


所有pooling都用strided convolutions代替,pooling的下采样时损失信息的,strided convolutions可以让模型自己学习损失的信息。

生成器G和判别器D都要用BN层。

把全连接层去掉,用全卷积层代替。

生成器除了输出层,激活函数统一使用ReLU。输出层用Tanh。

判别器所有的层的激活函数统一都是LeakyReLU。

 

posted @ 2021-11-15 10:34  用余生去爱  阅读(433)  评论(0)    收藏  举报