神经网络和反向传播算法——反向传播算法本质上是随机梯度下降,链式求导法则而来的

原文:https://www.zybuluo.com/hanbingtao/note/476663

写得非常好,适合入门!

神经元

神经元和感知器本质上是一样的,只不过我们说感知器的时候,它的激活函数是阶跃函数;而当我们说神经元时,激活函数往往选择为sigmoid函数或tanh函数。如下图所示:

神经网络和反向传播算法——反向传播算法本质上是随机梯度下降,链式求导法则而来的

计算一个神经元的输出的方法和计算一个感知器的输出是一样的。假设神经元的输入是向量激活函数是sigmoid函数。

神经网络是啥

神经网络和反向传播算法——反向传播算法本质上是随机梯度下降,链式求导法则而来的

神经网络其实就是按照一定规则连接起来的多个神经元。上图展示了一个全连接(full connected, FC)神经网络,通过观察上面的图,我们可以发现它的规则包括:

  • 神经元按照层来布局。最左边的层叫做输入层,负责接收输入数据;最右边的层叫输出层,我们可以从这层获取神经网络输出数据。输入层和输出层之间的层叫做隐藏层,因为它们对于外部来说是不可见的。
  • 同一层的神经元之间没有连接。
  • 第N层的每个神经元和第N-1层的所有神经元相连(这就是full connected的含义),第N-1层神经元的输出就是第N层神经元的输入。
  • 每个连接都有一个权值。

上面这些规则定义了全连接神经网络的结构。事实上还存在很多其它结构的神经网络,比如卷积神经网络(CNN)、循环神经网络(RNN),他们都具有不同的连接规则。

 

神经网络的训练

现在,我们需要知道一个神经网络的每个连接上的权值是如何得到的。我们可以说神经网络是一个模型,那么这些权值就是模型的参数,也就是模型要学习的东西。然而,一个神经网络的连接方式、网络的层数、每层的节点数这些参数,则不是学习出来的,而是人为事先设置的。对于这些人为设置的参数,我们称之为超参数(Hyper-Parameters)。

接下来,我们将要介绍神经网络的训练算法:反向传播算法。

。。。






本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/7716073.html,如需转载请自行联系原作者


上一篇:K - Queries for Number of Palindromes(区间dp+容斥)


下一篇:Asp.net C# 获取本周上周本月上月本年上年第一天最后一天时间大全