ANN
字数: 0
🧙‍♀️
Artificial Neural Network,神经网络
人工智能中的核心概念,它模拟人脑的结构和工作方式,用于分析复杂的数据。
notion image

感知机

神经网络的最基本形式

构成组件

notion image

输入

Input values,
感知机的原始数据。每个输入可以是一个特征值(例如图像的像素值、文本的某个特征、传感器的读数等),感知机根据这些输入进行计算。

权重

Weights,
每个输入都有一个对应的权重,权重决定了输入在最终决策中的重要性。权重是感知机学习的核心,感知机的训练过程就是不断调整这些权重,使得预测结果尽可能准确。
  • 权重可以正向(Forward Propagation)或反向(Backpropagation)地影响输出。
  • 例如,对于图像中的某些特征,如果权重较大,感知机更可能关注这些特征。

偏置

Bias,
一个常数项,它在计算中起到调整作用,确保感知机可以适应更复杂的决策边界。偏置并不是与任何输入对应的,它使得感知机能够进行更加灵活的分类,尤其是在输入为零时(没有输入的影响)。
  • 偏置通常用于调整激活函数的阈值,使得感知机即使在没有输入信号时也能做出决策。

加权和

Weighted Sum,
将每个输入与其对应的权重相乘后求和,再加上偏置。
  • 这个加权和是感知机进行决策的基础。

激活函数

Activation function,
决定了感知机的输出类别。在训练过程中,感知机会通过反向传播调整权重和偏置,以提高分类准确性。
  • 常见的激活函数有阶跃函数 (Step Function):当加权和超过某个阈值时,激活函数会输出 1;否则,输出 0。

局限性

  • 无法处理非线性问题
    • 由于感知机使用的是「线性」激活函数,它无法在学习过程中引入非线性。这意味着它只能处理线性可分的分类问题,对于复杂的非线性问题无法有效解决。
  • 缺乏概率解释
    • 感知机输出的是二元决策 (Binary Decisions) —— 0 或 1,没有输出的概率解释。这也意味着感知机不支持多分类问题,因为它只能做「二分类」。
  • 单层结构
    • 感知机是一个单层神经网络,即它只有「一层权重」。它完全依赖于提供的输入特征,而没有能力发现或学习相关的中间表示。
    • 更复杂的架构,如深度学习网络,可以从原始数据(如图像)中学习多个层次的表示(如边缘、纹理、物体等)。

多层感知机

🧙‍♀️
Multi-layer Perception / MLB,可以视为一种前馈 (Feedforward)神经网络。
在训练过程中,需要使用多种优化算法来调整模型参数。
notion image

反向传播

🎩
Backpropagation,依赖于梯度下降来最小化损失函数。
  • 即通过沿着损失函数的「负梯度方向」更新模型参数,从而逐步减少预测值与实际值之间的误差,最终找到最优解或接近最优解。

初始化参数

随机初始化网络的权重 和偏置 。常见的方法包括使用均匀分布或正态分布进行初始化。该目的是打破对称性,让网络能够学习到不同的特征。

前向传播

Forward Pass,在每一次迭代中,首先会进行:
  1. 输入数据(例如图像、文本等)被传递给网络的输入层。
  1. 数据通过每一层的权重和激活函数逐层传递到输出层。
  1. 输出层产生预测值,并计算损失函数 (例如,均方误差或交叉熵损失)。
这一步的目的是通过当前的网络参数 获得网络的预测结果,并衡量预测与真实标签之间的误差。

梯度下降

Gradient Descent,根据当前参数计算损失函数 相对于每个参数的导数(梯度)
  • :权重 的变化量(第 个神经元与第 个神经元之间的权重)。这个权重需要根据梯度下降算法来进行更新。
  • :学习率 (Learning Rate),一个超参数,控制每次参数更新的幅度。通常是一个小正数(例如 0.01、0.001),它决定了每次梯度更新的步长。如果学习率太大,可能会导致参数更新过度,反而无法收敛;如果学习率太小,收敛速度会很慢。

更新参数

重复迭代

  • 直到满足终止条件,例如达到设定的最大迭代次数,或损失函数收敛到较小值。
  • 每次迭代时,前向传播计算输出,反向传播计算梯度,并更新网络的参数。

进化计算

🎩
Evolutionary Computation, EC依赖于选择、交叉和变异等进化原理来优化神经网络的权重。
  • 定义:一种受自然启发的优化技术,基于自然选择和遗传学的原理。
  • 核心思想:“适者生存” (Survival of the Fittest) —— 最佳解决方案通过多代进化产生。
  • 应用场景:旅行商问题 (TSP) / 时间表与调度 / 机器人学与控制系统 / 金融市场预测

遗传算法

Genetic Algorithm, GA进化计算的一种具体方法
notion image
  1. 初始化种群
      • 创建包含 个个体(染色体)的初始种群,每个个体代表一组随机初始化的 MLP 权重和偏置。
      • 这些初始权重可以从均匀分布或正态分布中采样。
  1. 评估适应度
      • 适应度函数衡量个体在任务中的表现。对于 MLP,适应度函数通常是训练数据上的损失函数。
  1. 选择
      • 根据适应度选择最佳个体(父代),将其基因传播到下一代。
  1. 交叉(重组)
      • 结合两个父代个体的权重和偏置(基因)生成子代。
  1. 变异
      • 对基因(权重和偏置)引入随机变化,以保持遗传多样性并防止过早收敛。
  1. 创建下一代
      • 用子代替换当前种群,可以选择保留当前种群中的一些最佳个体 (Elitism)
      • 重复从(评估适应度)开始的步骤,直到满足停止条件(如收敛、最大代数或目标适应度分数)
  1. 使用最佳个体
      • 当算法收敛时,选择种群中的最佳个体。
      • 将该个体的基因(权重和偏置)应用于 MLP 进行推理或测试。

优缺点

Pros
  • 不依赖于梯度,因此可以优化不可微分或不连续的损失函数。
  • 同时评估多个解,使其适合于并行计算。
  • 可以应用于具有复杂或动态适应度景观的问题。
Cons
  • 性能依赖于超参数,如种群大小、变异率和交叉率,这些参数的调优可能很复杂。
  • 由于搜索过程的随机性,可能无法像反向传播那样精确地调整权重。
2023 - 2026