1. 当训练集的效果(准确率)上不去,和贝叶斯估计(人的表现)存在一定差距的时候:(1)增加模型的复杂度。或者直接多加几层。(2)现在目前效果非常好的一些模型:resnet,inception等。(3)重新选择优化函 数:AdamOptimizer,MomentumOptimizer,RMSPropOptimizer等等。
2. 训练集效果表现好,测试集效果表现不好:(1)增加训练样本的数量。(2)正则化:L2范数,dropout等
(dropout原理是什么呢?使随机使神经元失活,相当于把一个复杂的模型拆分开,测试后时候凑到一起,
集成学习的思想,又刹不住闸了。。。)。(3)还要观察训练样本和测试样本的分布是否一致。
3. 还有像样本预处理:(1)归一化:img/255.0,img-0.5,img*2,将数据转化为[-1,1].
(2)减去均值除以方差。(3)减去样本各通道的均值。
4. 还有loss的选择啊,多标签单分类适合用softmax_cross_entropy(对于多标签多分类的要用多个softmax),
多标签多分类常用sigmoid_cross_entropy。
5. data augmentation
6. 还要注意BN的使用,学习率的选择,batch_size的大小。