一、数据预处理:
1、去均值化
把输入数据各个维度都中心化到0,如果我们不去均值化,我们容易发生过拟合。如果我们有一个非常大,通过sigmoid,它的斜率会接近0,BP求偏导的链式法则要求们把我们偏导都乘到一起,变化量太小,我们用梯度下降会学不到东西,会导致梯度弥散,发生拟合。
2、归一化
幅度归一化到同样的范围,我们通常用BN或IN进行归一化处理,BN与IN的区别[https://blog.csdn.net/weixin_38132153/article/details/104996974],在GAN里中用IN更合适。(https://blog.csdn.net/weixin_38132153/article/details/104996974),
在pytorch里实现:
torch.nn.InstanceNorm2d(dim_out, affine=True, track_running_stats=True)
3.PCA
用PCA降维,在我之前写过的机器学习中的数学(2)里介绍过PCA降维https://blog.csdn.net/weixin_38132153/article/details/105095503
二、卷积神经网络层级结构
卷积层和激励层通常写在一起。
nn.Conv2d(dim_in,