【DeepLearning学习笔记】Neurons神经元

今天找到一个比较好的deep learning的教材:Neural Networks and Deep Learning 对神经网络有详细的讲解,鉴于本身青年痴呆,仍是总结下笔记吧=。=html

Perceptron感知器算法

Perceptron的输入的一组binary变量xi,对这些binary变量求出加权和后,若是这个和大于某个阈值threshold,就输出1;不然输出0.网络

因此perceptron的输入输出都是binary的,咱们能够把一个perceptron的输入当作一组“evidences”(证据),perceptron利用这组证据判断出一个decision(决策)。ide

好比说咱们用一个perceptron判断一个女生会不会买一双鞋,就用上图的perceptron,假设这个女生有三个评价标准:函数

x1:这双鞋是否打折?spa

x2:这双鞋小伙伴们是否尚未?htm

x3:这双鞋是不是今年新款?blog

以上各个变量若是回答是“是”,则对应xi为1,不然为0.而且假设threshold为3,即若是w1x1+w2x2+w3x3≥3,那么输出1,不然输出0.ci

第一种状况:这个女生很是(chu)挑(nv)剔(zuo),她要求这三个评价标准都知足,才会买这双鞋,这时能够设置w1=w2=w3=1,那么只有x1=x2=x3的时候,perceptron的输出才是1,不然是0.get

第二种状况:这个女生很是自(jiao)主(qing),她很讨厌和别人买同样的鞋,那么第二个标准对她很是重要,而其余两个都不重要。这是能够设置w2=3,w1=w3=1,那么只有当x2=1的时候perceptron才可能输出1,不然无论x1和x2取什么值,perceptron都只输出0.

以上是perceptron的直观理解,如下是数学表示:

这个表示有两坨东西很是复杂,一个是求和符号,另外一个是threshold。那么为了简化,咱们能够利用向量运算代替求和符号,即∑wjxj = wx,其中w是权重向量,x是样本向量。另外设置一个变量b=-threshold,而后把它挪到不等号左边,那么上述数学表示就变成了:

因此一个perceptron所作的工做就是把全部输入和它们对应的权重相乘求和后加上偏置b而后和0比较,大于0输出1,小于0输出0.

Sigmoid神经元

在神经网络的训练过程当中,咱们随机初始化权重,而后经过训练数据逐步的修改权重,使得神经网络最终可以完成某项任务。上述的perceptron有一个缺点就是若是它的某一个权重发生了细微的变化,那么output的值颇有可能直接从0跳变到1,而且它的输出跳变就有可能引发更大范围的不可控的跳变,这样咱们就不能“逐(ping)渐(wen)”的调整网络的权重来训练网络。

这个时候就要引入sigmoid神经元了。它的结构和上述perceptron是十分类似的,一样有若干个输入xi,对应若干个权重wi,一个输出output。不过这些x以及output都是[0,1]之间的实数了,而不限定与binary了。而且,sigmoid神经元的工做要比perceptron稍微复杂一些:当这个perceptron把输入x和权重求完加权和后,并非用threshold来判断输出,而是将这个加权和做为sigmoid函数(f(x)=1/(1+exp(-x)))的输入,最后函数值做为输出。

为何这个函数能够解决perceptron的问题呢?由于以下这个公式:

假设咱们在训练网络的时候对w的修改是Δw,对b的修改是Δb,那么输出的变化是Δw和Δb的线性和(上述偏导均可以当作线性关系的系数),也就是说Δoutput=∑aiwi+bΔb(a,b都是偏导),这样一来,Δw和Δb微小的变化就不会引发output的忽然跳变,而是一个线性缓慢变化的过程,这样咱们训练神经网络的过程就可控了。

sigmoid的输出和perceptron是类似的,从它们的图像就能够看出来:

红色的是perceptron,蓝色是sigmoid。两者均是当输入接近正无穷时输出接近1;当输入接近负无穷时,输出接近0.只是在0附近,perceptron的函数是跳变,而sigmoid是逐渐变化,正是这种逐渐变化使得sigmoid可导而且权重的微小变化引发的输出的变化是可控的,而不是跳变。

因此sigmoid函数重要的是它的形状好,其实这个形状的还有tanh正切函数(输出在[-1,1]而不是(0,1)):

那么为何sigmoid使用更普遍呢?由于它有一个极好的求导性质:

f(z)=1/(1+exp(-z))

f'(z)=f(z)(1-f(z))

这个性质在训练神经网络的BP算法中使咱们能够快速计算sigmoid函数的梯度,因此sigmoid函数在神经网络中使用更普遍。

【参考】http://neuralnetworksanddeeplearning.com/index.html

相关文章
相关标签/搜索