成年人大脑中包含了约 1000 亿个神经元,每个神经元通过树突获取输入信号,通过轴 突传递输出信号,神经元之间相互连接构成了巨大的神经网络,从而形成了人脑的感知和 意识基础,下图是一种典型的生物神经元结构。1943 年,心理学家沃伦·麦卡洛克 (Warren McCulloch)和数理逻辑学家沃尔特·皮茨(Walter Pitts)通过对生物神经元的研究, 提出了模拟生物神经元机制的人工神经网络的数学模型这一成果被美国神经学家弗 兰克·罗森布拉特(Frank Rosenblatt)进一步发展成感知机(Perceptron)模型这也是现代 深度学习的基石。
我们将从生物神经元的结构出发,重温科学先驱们的探索之路,逐步揭开自动学习机
器的神秘面纱。
首先,我们把生物神经元(Neuron)的模型抽象为如图所示的数学结构:神经元输入向量 = [ , , , … , ]T,经过函数映射: : → 后得到输出,其中为函数自身的参数,考虑一下简化的情况,即线性变化:() = T + ,展开为标量形式:
() = 11 + 22 + 33 + ⋯+ +
上述逻辑能够使用图像更明显的突出
参数 = {1, 2, 3, . . . , , }确定了神经元状态,通过固定参数即可确定此神经元的处理逻辑,当神经元输入节点数 = 1(单输入)时,神经元数学模型可进一步简化为:
= +
此时我们可以绘制出神经元的输出和输入的变化趋势
随着输入信号的增加,输出电平也随之线性增加,其中参数可以理解为直线的斜率(Slope),b 参数为直线的偏置(Bias)。
对于某个神经元来说,和的映射关系 (x,y)是未知但确定的。两点即可确定一条直线,为了估计和的值,我们只需要从直线上任意采集两个数据点:(x1,y1)和(x2,y2)即可
y1 = wx1+b
y2 = wx2+b
当两个点不相同时,即可确定一条直线,从而求的x和b的值。对于多(N)输入的线性神经元模型,只需要采样N+1组不同的样本即可,似乎线性神经元模型能够得到完美的解决。
上述方法存在什么问题呢?考虑到任何的采样点都有可能存在观测误差,我们假设误差的变量属于均值为,方差为2的正太分布(, 2),则采样到的样本数据符合
= + + , ~(, 2)
一旦引入观测误差后,即使简单如线性模型,如果仅采样两个数据点,可能会带来较大估计误差,
途中的数据点均带有观测误差,如果基于蓝色采样点来预估直线,则计算得到于直线的差距较大,为了减小这种情况,我们引入了观测误差,可通过采样多组数据D={(x1,y1),(x2,y2)…(xn,yn)},然后找到一条直线,让它尽可能的让所有的点到直线的误差之和最小。
就是说,因为观测误差存在,我们采集的多个数据点D,不能完美的穿过直线。因此,我们希望找一条比较好的直线,即是求出当前模型的采样点预测值于真实值之间的差,平方和我们计做L:
找到参数w*和参数b*使得L最小,就是我们找到的最优直线
其中n表示样本点的个数,这种误差叫做均方误差(MSE)