深度神经网络训练,其实就像是培育一个幼儿。你需要慎重选择“家长”——即损失函数,指导他如何理解世界。有明智的“家长”也就可有效指导网络的学习过程。
预备工作完成后,我们正式进入训练阶段。这时候,网络会像一个初生婴儿一样,对世界的理解全都源于他的“环境”——也就是我们的训练数据。训练数据无需特别复杂,只要够多样,能全面反映问题具有代表性的特征就足够了。
接下来,网络需要在“家长”的引导下,通过反向传播算法,不断尝试、摸索、纠正错误,从而调整和优化神经元之间的连接权重——这就是他的“学习”过程。然而,孩子肯定会有偏离正道的时候,这个时候就需要“家长”发挥作用,使用正则化神经网络的方法来防止过拟合,让网络不失学习之道。
网络的学习过程并非一蹴而就,而是需要长期、反复地学习,这就像是我们的生活经验,需要日复一日,年复一年的累积。为了更好地适应这个过程,我们使用了随机梯度下降或者其变体进行优化。
最终,当我们认为网络在训练集上的表现已经足够好时,我们会将其暴露在更广阔的世界中——验证集和测试集。如果在这些场合仍能表现优秀,也就是说,网络已经学会了如何处理未知的情况,那么我们就可以说,这个深度神经网络已经接受了成功的训练。