仅供个人学习使用,学习资料来源于 3Blue1Brown官方账号。
上一节讲了神经网络的结构,本节主要讲神经网络是怎样进行学习,主要涉及两个内容:
1、梯度下降的思想(Gtadient descent);
2、隐含层神经元的真实目的。
一、梯度
计算梯度的算法是神经网络的核心。(慢慢道来)
手写数字识别神经网络需要对大量数据进行训练,幸运的是MNIST数据库的好心人已经为我们搜集了数以万计的手写数字图像,并标记了图像代表的数字。
一般地,我们认为神经元之间为全连接(每个神经元与上一层所有的神经元进行连接),权重则表示这些连接的强弱,偏置表示神经元是否更容易被激活。
最初,我们随机初始化权重与偏置,可想而知,训练结果会非常糟糕,毕竟只是一些随机判断。如输入带有数字“3”的图像,输出层的结果非常混乱,如图1所示。
此时需要一个“代价函数”(cost function),告诉网络:这样的结果很差。更加数学化的语言为:将每个垃圾输出激活值与预期值的差的平方加起来,称之为训练单个