深度学习的默认基准模型
1.根据问题的复杂性,项目开始时可能无需使用深度学习
如果只需要正确选择几个线性权重就能解决问题,那么项目开始可以使用一个简单的统计模型,如逻辑回归
2.如果问题属于 “AI-完全”类型的,如对象识别、语音识别等,那么项目开始于一个合适的深度学习模型,则效果会比较好
3.根据数据结构选择一类合适的模型:
如果是以固定大小的向量作为输入的有监督学习,那么可以使用全连接的前馈网络
如果输入已知的拓扑结构(如图像),则可以使用卷积网络
如果输入或者输出是一个序列,则使用门控循环网络(LSTM 或者 GRU)
4.刚开始时可以使用某些分段线性单元:如 ReLU或者其扩展
5.可以选择具有衰减学习率以及动量的SGD作为优化算法
常见的衰减方法有:
衰减到固定最低学习率的线性衰减
指数衰减
每次发生验证错误停滞时将学习率降低 2-10 倍的衰减策略
另一种优化选择是 Adam算法
6.batch normalization对优化性能有着显著的影响,特别是对于卷积网络和具有sigmoid非线性函数的网络而言
最初的基准中,可以忽略batch normalization
当优化似乎出现问题时,应立即使用batch normalization
7.除非训练集包含数千万或者更多的样本,否则项目一开始就应该包含一些温和的正则化
建议采用早停策略
建议采用dropout策略,它也兼容很多模型以及许多正则化项
batch normalization 有时可以降低泛化误差,此时可以省略dropout策略。因为用于 normalize的统计量估计本身就存在噪音
8.如果我们的任务和另一个被广泛研究的任务相似,那么通过复制之前研究中已知的性能良好的模型和算法,可能会得到很好的效果
你可以从该任务中复制一个训练好的模型。如从ImageNet上训练好的卷积网络的特征来解决其他计算机视觉任务
9.对于是否使用无监督学习,和特定领域有关
对于某些领域,如自然语言处理,能大大受益于无监督学习技术
在其他领域,目前无监督学习并没有带来好处
如果你所处理的应用,无监督学习是非常重要的,那么将其包含在第一个端到端的基准中;否则只有在解决无监督问题时,才第一次尝试使用无监督学习