Artificial Neural Networks:人工神经网络

1. 人工神经网络:由输入层(input latyer)、隐藏层(hidden layer)、输出层(output layer)组成

神经网络的层数:输入层不计入神经网络的层数

比如:图1左边是2层,右边是3层

2. 人工神经网络的运行

①输入:x作为输入,或者上一层的输出 / 计算结果作为输入;输入来源于输入层或上一层

②计算:线性计算 + 非线性激活函数,每一层的权值矩阵Wi与xi(输入层的输入或上一层的输出)进行矩阵乘,然后加上偏移值bi,必要时应先进行批量归一化,然后再经过激活函数,即可得出计算结果。

△为什么要引入激活函数?因为矩阵相乘和加法都是线性操作,如果不加入非线性的激活函数,经过多久的运算,结果还是线性的。线性模型的不能很好地处理非线性问题,因此需要引入非线性因素,使得模型可以处理非线性问题

③输出:这一层h_i的计算结果是下一层h_i+1的输入,最后一层的计算结果是才是最终的结果 

如图:二分类,无论线性函数如何变化、摆动,都不能将三角和圆形很好的进行分类,因此线性函数有很大的局限性,需要引入非线性的激活函数

以两层的神经网络为例,中间的隐藏层为全连接层。x作为输入,激活函数选取sigmoid,第一个隐藏层的输入是x,输出是h1,h1是W1与x矩阵乘+偏移值,1,然后经过sigmoid激活函数的值。第二个隐藏层的输入是h1,输出是h2,h2是W2与h1矩阵乘+偏移值b2,然后经过激活函数sigmoid的结果。第三层的输入是h2,输出是out,out是W3与h2矩阵乘+偏移值b3,不经过激活函数,直接输出的结果

附: 人工神经网络与生物神经网络的对比

原文地址:https://www.cnblogs.com/shiliuxinya/p/12241064.html