首页 > > > 3.2 神经网络的通俗理解
在上一节的学习中,我们知道了组成神经网络的最基本单元——神经元。并且了解到神经元的内部是由“线性模型”和“激励函数”组成的。在本节的学习中,我会讲解如何利用这些基本单元组成一个完整的神经网络。
神经网络
说到神经网络,其实结构是也是十分简单的。只要我们将多个神经元首尾连接形成一个类似网络的结构来协同工作的时候,那就可以称为一个神经网络了。我们先来看下面的一个例子:

上图是一个非常简单的3层结构的神经网络。红色的是输入层,绿色的是输出层,紫色的是中间层(也叫隐藏层)。在这里,我们设计了输入层有3个输入单元,隐藏层有4个单元,输出层有2个单元。其实这个层数以及每层神经元的个数不是硬性规定的,完全是在各个场景的项目中根据经验和一些相关理论不断进行调试,最后得出一个符合应用场景的网络结构。
在一个神经网络中通常会分为这样基层,输入层(Input Layer)、隐藏层(Hidden Layer,也叫隐含层)、输出层(Output Layer)。
输入层在神经网络的最前端,它直接接受输入的向量或矩阵,它是不对数据做任何处理的,所以通常这一层不计入层数。
第二层是隐藏层,隐藏层的层数是不固定的,这个就要靠我们AI(调参)工程师根据项目不断进行尝试了。现在比较深的网络据我所知有超过150层的,比如著名的ResNet——深度残差网络,甚至在一些特殊的网络中有超过1000层的!这些已经是非常非常深的网络了,一般人也玩不起。
最后一层是输出层,这一层是用来输出整个网络的处理值得,这个值可能是一个分类向量值,也可能是一个类似线性回归那样产生的连续值,也可能是比较复杂类型的值——比如一个数字序列(一段话),根据不同的需求输出层的构造也不尽相同。输出层的定义是直接与需求相关的,你需要它输出什么你就要定义它是什么格式或者形式的,这个话题的问题我们后面会逐步碰到,也不难,多见几个例子之后就会觉得这些东西很简单了。
本节我们简单地介绍了神经网络的结构,主要是分成了输入层、中间层和输出层。归根到底,其实就是将神经元首尾连接的方式来进行数据传递,前一个神经元接收到的数据,经过处理后输出给后面一个或多个神经元。经过一系列的数据变换后达到我们想要的输出结果,就是这么一回事。神经网络的结构确实非常简单,但是我们如何设定每个神经元里面的参数,才能使得最终输出的结果是我们想要的结果呢?下一节我们将讨论如何对神经网络进行训练。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69954080/viewspace-3126351/ ,如需转载,请注明出处,否则将追究法律责任。