• 前馈神经网络的定义:前馈神经网络是一种最简单的人工神经网络,其信息流动方向是单向的(从输入层→隐藏层→输出层),不存在循环或反馈连接,是深度学习的基础模型。

  • 前馈神经网络的核心思想:通过多层非线性变换拟合输入与输出之间的映射关系,实现从数据到目标的端到端学习。

我的前馈神经网络系列文章如下,便于读者成体系学习:

【前馈神经网络详解与实例】1——网络结构-CSDN博客

【前馈神经网络详解与实例】2——激活函数-CSDN博客

【前馈神经网络详解与实例】3——初始化方法-CSDN博客

【前馈神经网络详解与实例】4——损失函数-CSDN博客

【前馈神经网络详解与实例】5——参数优化方法-CSDN博客

【前馈神经网络详解与实例】6——正则化方法-CSDN博客

【前馈神经网络详解与实例】7——典型网络介绍-CSDN博客

【前馈神经网络详解与实例】8——实战应用-CSDN博客

1、🕸 网络结构

1.1神经元

受生物神经元的启发,人工神经元接收来自其他神经元或外部源的输入,每个输入都有一个相关的权值,它是根据该输入对当前神经元的重要性来确定的,对该输入加权并与其他输入求和后,经过一个激活函数,计算得到该神经元的输出。也可以说,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数(激活函数)得到一个标量结果。一个简单的神经元结构如下图所示:

  • x_1,...,x_n 为输入

  • b 为偏置项

  • w_1,...,w_n 为输入对应的权值

  • b+\sum_{i=1}^{n}x_iw_i 即为对输入加权并与其他输入求和

  • f 为激活函数

1943 年,McCulloch 和 Pitts 将上述情形抽象为上图所示的简单模型,这就是一直沿用至今的 M-P 神经元模型。把许多这样的神经元按照一定的层次结构连接起来,就得到了神经网络。

1.2 感知机与多层感知机(MLP)

1.2.1 感知机、多层感知机的概念

感知机(PLA,Perceptron Learning Algorithm):

感知机由两层神经网络组成,输入层接收外界输入信号后传递给输出层,输出层是 M-P 神经元,这两层共同组成了一个简单的神经元,即单个神经元模型,是较大神经网络的前身。它是一个线性的二分类器,但它对非线性的数据并不能进行有效的分类。因此我们可以加深这个神经元的网络层次,理论上来说,多层网络可以模拟任何复杂的函数。以下是感知机的概念公式:


u=b+\sum_{i=1}^{n}x_iw_i \\ y=f(u)

其中 f 为激活函数

多层感知机(MLP,Multi-Layer Perceptron):
  • 概念:由感知机推广而来,它最主要的特点就是有多个神经元层,因此 MLP 也被称为人工神经网络(Artificial Neural Network,ANN)。MLP 是一种特定类型的人工神经网络,它由多个神经元组成,通常包括一个输入层一个或多个隐藏层以及一个输出层。相对而言,ANN 是一个更广泛的术语,它包括了所有由神经元组成的网络,而 MLP 则是 ANN 中的一个特例,指代具有多个层的前馈神经网络。所以在讨论上,MLP 和 ANN 可以互换使用。

  • 全连接层:从结构图中我们可以看出,多层感知机这三类给定层(输入、中间、输出层)中的每个节点都会连接到相邻层中的每个节点(全连接),所以这里有一个MLP中最重要的一个组成就是Dense Layer(全连接层/线性层/稠密层,在本文中我称之为全连接层),它在MLP中发挥的是什么样的作用呢?全连接层中有一个可以学习的参数 W(m \times n 维矩阵,n:输入特征的维度,m:输出的向量的长度),还有一个参数 b(偏置项,长为 m),所以在这一层我们会对输入的数据 x 进行下面的公式计算,得到输出 y 。


    y_i=\sum_{j=1}^{n} W_{ij}x_i + b_i,i=1,...,m

     

    写成向量形式:

    y=Wx+b

     

    那么之前我们所了解到的线性回归,本质上就可以认为是一个全连接层,但是只有一个输出,即 m=1

  • 非线性结构的由来:如何将线性结构变为多层感知机呢?——重点就是:全连接(Dense) + 激活函数(引入非线性)。 将全连接层简单的叠加在一起还是线性的,所以要加入非线性的东西在里面,也就是激活函数(比如sigmoid、Relu等),才能实现非线性(可以去拟合各种各样的函数,更具现实意义)。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐