我们之前讨论机器学习时遇到两个无法解决的问题当模型复杂度越复杂时function越多这样loss会越小但是理想和现实的效果会变得越来越大训练集和验证集的效果变大。而当模型变得简单理想和现实的差距会变小但是loss也会变大如何做到loss很低而且理想和现实很接近呢模型不过于复杂而且loss也低我们知道叠的层数越多模型复杂度越大训练的效果越好loss越小同时我们的数据量规模如果足够大也可以缩小理想和现实之间的差距所以大部分认为如果有大资料更适用于深度学习那为什么选择深度学习还不选择纵向复杂度更高的模型呢下面的表格可以看出同样的数量级别下深度方向的复杂度提升效果更好另一个对比方法是如果横向增加模型复杂度他增加的参数数量是比纵向增加更多deep learning并不容易产生过拟合需要的参数并不算多增加深度会发生什么事情呢下面用一个简单的RELU函数组合进行解释x-a1的图像和a1-a2的图像是一样的x由0到0.5时a1由1变为0a1由1变为0时a2由1变为0又变为1由此得到图像由此类推所以要产生一个同样的functiondeep 模型需要2K个neuron,而shallow需要2^K次方个neuron复杂的模型更容易overfitting,所以我们需要的function是复杂且有规律的更适合使用deep learning例如语音影像问题深度学习的效果非常好所以深度学习为什么好在比较少的参数情况下得到比较好的效果