梯度下降法:误差最小化的权重参数
信息
2024年9月9日 · · · 阅读需 9 分钟
引言
在前文「深度学习|模型推理:端到端任务处理」中,我们利用已经学好的神经网络进行了手写数字的识别,而这仅仅只是对模型的使用,那么怎么从零开始,自己制作(学习,或者训练)一个神经网络模型?换一个方式提问:我们要怎么得到一个神经网络的权重参数,使得这个神经网络能够正确地识别手写数字呢?
一般神经网络存在大量的权重参数(GPT-3 存在千亿级别的参数量),完全由人工来决定这些参数 是不可能完成的事情,我们需要一种学习算法自动帮我们找到参数最优解。
神经网络的训练
就是从数据样例中自动学得神经网络的权重参数最优解的过程。结合前文推理过程来讲,就是从已知输入是 X 输出是 Y 的样例数据(训练集)中,学得最优的权重 W 与偏置 B。有了权重参数 W 和 B,在使用神经网络进行推理时,我们即使输入网络没有“见过”的数据 X',也可以得到“相对正确”的 Y',而这里“正确的程度”则取决于参数 W 和 B 的优化程度。
推理误差
要找到权重参数的最优解,我们首先需要确定如何来衡量这些参数在当前状态的优劣好坏。我们需要一个统一的可以表示当前权重参数优化状态的指标,以该指标为基准,对权重参数进行优化迭代,当这个指标的值达到最优时,我们就知道权重参数已经是最优了。
在神经网络中,我们通常会将推理结果与实际结果之间的误差作为衡量模型权重参数的好坏指标。
也就是说,神经网络的训练,就是找寻可以使推理误差
达到最小的权重参数。
在数学上计算误差一般会想到 均方误差
、交叉熵
等方法,这里我们以均方误差衡量推理误差为例,展开拆解神经网络的训练过程。