![深度学习必学的十个问题:理论与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/930/44509930/b_44509930.jpg)
上QQ阅读APP看书,第一时间看更新
2.3 普通训练方法的局限
当我们把神经网络当作一个流行的机器学习模型,神经网络只是一个包含着众多参数的非线性函数,回顾我们统计学习中的贝叶斯观点,我们对包含参数的模型使用极大似然估计就可以得到损失函数。以回归问题为例,假设目标值t对于输入变量x的条件分布是一个高斯分布:
![](https://epubservercos.yuewen.com/6D4BA3/23721527309452606/epubprivate/OEBPS/Images/Figure-P25_5763.jpg?sign=1739923233-gc8W0JUdfFvrODtTZcJ3IDOmK9tDZz8l-0-b2cb0a3860638783cb0c47a5541ab17c)
其中,分布的均值为ωTxi,通过最大化对数似然(见《统计学习必学的十个问题》第3章),我们就会得到均方误差函数:
![](https://epubservercos.yuewen.com/6D4BA3/23721527309452606/epubprivate/OEBPS/Images/Figure-P25_5765.jpg?sign=1739923233-vZf22DKgFRdft6S5lAIHcfcNQtegyFfR-0-b1e943c58d966d81418546fba09d48ba)
但在神经网络中,情况稍有不同,我们仍然可以假设条件分布为高斯分布,但其均值并非是ωTxi。因为在线性模型中,我们可以将每一个权重分配给每一个输入变量,而在神经网络中,只有输入层的权重直接作用于输入变量,其余层的权重系数是作用于上一层的输入,所以神经网络的权重和输入的关系是复合嵌套的,令f表示激活函数,输出y可以被表示为:
![](https://epubservercos.yuewen.com/6D4BA3/23721527309452606/epubprivate/OEBPS/Images/Figure-P25_5766.jpg?sign=1739923233-sgnOAeh0dwUkBKyzx8OxWrbYxaAtGyHe-0-c4620b5450c0a75cdad523693e1ad8e9)
虽然均值的改变并不会影响极大似然估计的使用,但是却会让损失函数变为非凸(见第3章)。在这里,我们先暂时忽略掉这种非凸的可能后果,只把损失函数看作是一个衡量输出和输入差异的平方损失:
![](https://epubservercos.yuewen.com/6D4BA3/23721527309452606/epubprivate/OEBPS/Images/Figure-P25_5768.jpg?sign=1739923233-MGys6MfqaBY0KT6uaSex7HgtEXBO9750-0-a2107f484e5f60a017f51040cbcaf60d)
对其使用梯度下降法,我们会得到损失函数对于各个参数的偏导:
![](https://epubservercos.yuewen.com/6D4BA3/23721527309452606/epubprivate/OEBPS/Images/Figure-P25_5769.jpg?sign=1739923233-8wgu63jmZknPatlEJNENFIICv9F1SBVj-0-f80904127f7e7df535baf855a92a0062)
其中,我们利用了偏导的链式法则,这一法则会在神经网络中广泛使用,这是链式法则存在于复合函数中,如式(2.10),如果我们想计算浅层的参数ωi的偏导,那么根据链式法则,偏导的计算为:
![](https://epubservercos.yuewen.com/6D4BA3/23721527309452606/epubprivate/OEBPS/Images/Figure-P26_5770.jpg?sign=1739923233-AwDgDvty9vM30OgOHb616nuXusjEsAgc-0-7e77e2b45e8e74ac819d05160204cd00)
也就是说在估计浅层的参数偏导需要依赖于深层的结果,这种依赖关系使得普通的训练方法计算复杂度大大增加,因为普通的训练将每个参数的偏导进行单独的估计,很多计算都会重复。而我们如果想训练神经网络,无论是一阶方法还是二阶方法都需要计算损失函数的梯度,而且神经网络的参数数目庞大,我们需要找到更高效的办法。