【ML】人工神经网络、MLP、全连接层

人工神经网络(ANN) 是一个广泛的概念,包括多种网络架构,用于模仿生物神经网络的信息处理方式。
MLP 是由多个全连接层(和激活函数层)组成的特定类型的 ANN,主要用于处理向量化的数据。
全连接层 是构建 MLP 和其他类型的 ANN 的基本单元,负责执行线性变换,并通常与非线性激活函数结合使用以增加网络的表达能力。

人工神经网络 (ANN)

  • 定义:人工神经网络(ANN)是一类模仿生物神经网络结构和功能的计算模型,设计用于模拟人脑分析和处理信息的方式。
  • 特点
    • 多样性:ANN 包括多种架构,如前馈神经网络(包括 MLP)、卷积神经网络(CNN)、循环神经网络(RNN)等。
    • 灵活性:ANN 可以处理各种类型的数据和任务,包括图像识别、语音处理、自然语言理解等。
  • 概念范围:MLP 是 ANN 的一种特殊形式,所有的 MLP 都是 ANN,但不是所有的 ANN 都是 MLP。

全连接层(Linear 层)

  • 定义:全连接层(也称为 Linear 层、线性层)是神经网络中的一种层,其中每个输入节点都与下一层的每个节点全连接。
  • 特点
    • 线性变换:全连接层对输入执行线性变换(加权和加偏置),可选地后接一个非线性激活函数。
    • 通用性:几乎所有类型的 ANN 都可以包含全连接层,它们在网络中充当信息综合和变换的角色。
  • 用途:尽管全连接层非常通用,但它们特别适用于从高层特征中学习全局模式,在 MLP、CNN 和其他 ANN 架构中作为输出层或中间层出现。

多层感知机 (MLP)

感知机与多层感知机

  • 定义:多层感知机(MLP)是一种前馈人工神经网络,由一个输入层、一个或多个隐藏层以及一个输出层组成。
  • 特点
    • 全连接:MLP 的每一层都完全连接到下一层,意味着每一层的每个神经元都与前一层的所有神经元连接。
    • 非线性激活函数:MLP 中通常在每个线性层后面跟着一个非线性激活函数,如 ReLU、Sigmoid 或 Tanh,这允许 MLP 捕捉数据中的非线性关系。
    • 输出层:输出层的情况比较特殊,是否使用激活函数以及使用哪种激活函数取决于特定的任务:
      回归任务:如果是回归问题,输出层通常不使用激活函数或使用线性激活函数(即不改变输入),以便网络可以输出一系列连续值。
      二分类任务:对于二元分类问题,输出层常使用 Sigmoid 激活函数,将输出压缩到 [0, 1] 范围内,表示概率。
      多分类任务:对于多类分类问题,输出层通常使用 Softmax 激活函数,将输出转换为概率分布。
      特定架构和任务:在某些特定的网络架构或任务中,可能会故意省略某些层的激活函数,以适应特定的需求或实验设计。
  • 应用:广泛用于分类、回归、特征学习等任务。

当数据量和模型量比较大的时候,MLP会过拟合,而CNN等卷积神经网络可以相对更好的解决此类问题

神经网络之BP算法(图说神经网络+BP算法理论推导+例子运用+代码)

sklearn 相关实现——sklearn.neural_network

MLPClassifier分类演示

赞赏