麻省理工公开课人工智能笔记十一
本篇讲神经网络方面内容。
首先看朴素生物学,神经网络的展开。
如上图,画出一个神经细胞,右边是轴突,左边是树突树,上有轴突与下游树突相连,轴突中神经递质经囊泡传往树突,当积累的神经递质足够多,就会产生一个尖峰信号传递,沿轴突向下游树突传播。
有几点我们需要注意
1、存在突触,有些突触的作用更大,所以需要权重的概念。
2、积累效应,对树突树的刺激,神经递质积累才会产生尖峰信号,需要某种函数
3、要么传要么不传,没有其他选择
下面我们开始建模
首先我们有很多输入,这些输入来自于树突树的所有上有轴突。他们都是0、1信号,每一个输入乘以相应的权重得到一个值,然后我们将所有这些值求和,最后经过一个临界值函数,因为他只有两种输出0和1.
神经网络就是一系列的上面模型的集合。如下图
有一系列的输入,在一个有一系列求和与临界函数的盒子里,可以得出一系列相应的输出Z,Z是输入X和权重w的函数,然后如果我们有一系列训练样本,我们可以对特定输入得到理想输出,理想输出d只与特定输入有关,我们希望让理想输出与实际输出对应上,也就是说,有一系列权重,让实际输出等于理想输出。
我们还需要一个评估机制,评估理想输出和实际输出的差距,可以用下面这个
使用这个函数是因为他方便进行数学处理。
为了方便,我们需要先对临界值进行处理
如上图,在求和的地方加入一个-T,让临界值函数从0这个地方开始变化
现在我们要找一组最好的w,让实际输出更接近于理想输出。
考虑只有w1和w2的情况,w1和w2在最优处最高,像一个山顶,画出等高线图
假设第一个点是随机生成的,随机生成一个点,从这个点开始,我们可以使用爬山法,深度优先搜索,东西南北四个方向,显然我们应该选东,因为只有他是向山顶前进。
然而这个方法在有很多w的情况下不好用,如果维度很多,爬山法就不再适用
我们可以使用梯度上升法
路线开始沿着向山顶的方向前进。
此时Δw等于偏导的和,或许可以乘上某个速率函数。
然而使用梯度上升法需要曲线平滑连续,所以我们可以修正临界函数,使其平滑一些,不再是阶跃函数。如下
世界上最简单的神经网络。
输入x乘以权重w1得到ρ1,经过临界值函数(这里乘坐S型函数)得到y,再和权重w2相乘得到ρ2,经过临界值函数得到z,z进入性能计算函数得到p。这里可以理解为桑三个神经元细胞,两次传递的变化。
我们可以通过数学计算得到性等函数对于w1和w2的偏导
上面遇到了困难,我们回到临界值函数。
、
可以看到,β对α的偏导只与阿尔法有关,所以可以得到
通过上式可以得出w1与w2的依赖关系。
w2依赖于z,y。w1依赖于w2、y、x。
如果有100个排在一起,那么前面的总可以用后面的计算出来,因为他们之间有依赖关系。这就是反向传播算法的思想。