改进神经网络的学习方式

当高尔夫运动员刚开始接触高尔夫时,他们通常会花费大量的时间来练习基本的挥杆。只有不断矫正自己的挥杆方式,才能学好其它的技能:切球,打左曲球,右曲球。同理,到目前为止我们把精力都放在了理解反向传播算法(backpropagation algorithm)上。这是我们的最基本的“挥杆方式”,它是大多数神经网络的基础。在本章中我将介绍一套技术能够用于改进朴素的反向传播算法,进而能改进神经网络的学习方式。

我们将要在本章介绍的技术包含:选取更好的代价函数,就是被称为交叉熵代价函数(the cross-entropy cost function);四种正则化方法(L1和L2正则、dropout、训练数据的扩展),这能让我们的网络适应更广泛的数据;一种更好的初始化权重(weight)的方法;一系列更具启发式的方法用来帮助我们选择网络的超参数(hyper-parameters)。我也会简单介绍一下其它的技术。这些讨论的内容之间是独立的,因此你可以跳跃着阅读。我们也会用代码实现这些技术去改进我们第一章的手写数字识别的结果。

当然了,我们也只是涉及了神经网络众多技术的一部分。但是万变不离其宗,我们只需要掌握一些核心的技术就行。掌握这些核心的技术不仅仅是因为它们好用,更重要的是它们能够帮助你深入理解使用神经网络时可能遇到的问题,也能帮助你很快上手其它的技术。

原文: https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/chap3/c3s0.html