Artificial Neural Network,神经网络
人工智能中的核心概念,它模拟人脑的结构和工作方式,用于分析复杂的数据。

感知机
神经网络的最基本形式
构成组件

输入
Input values,
感知机的原始数据。每个输入可以是一个特征值(例如图像的像素值、文本的某个特征、传感器的读数等),感知机根据这些输入进行计算。
权重
Weights,
每个输入都有一个对应的权重,权重决定了输入在最终决策中的重要性。权重是感知机学习的核心,感知机的训练过程就是不断调整这些权重,使得预测结果尽可能准确。
- 权重可以正向(Forward Propagation)或反向(Backpropagation)地影响输出。
- 例如,对于图像中的某些特征,如果权重较大,感知机更可能关注这些特征。
偏置
Bias,
一个常数项,它在计算中起到调整作用,确保感知机可以适应更复杂的决策边界。偏置并不是与任何输入对应的,它使得感知机能够进行更加灵活的分类,尤其是在输入为零时(没有输入的影响)。
- 偏置通常用于调整激活函数的阈值,使得感知机即使在没有输入信号时也能做出决策。
加权和
Weighted Sum,
将每个输入与其对应的权重相乘后求和,再加上偏置。
- 这个加权和是感知机进行决策的基础。
激活函数
Activation function,
决定了感知机的输出类别。在训练过程中,感知机会通过反向传播调整权重和偏置,以提高分类准确性。
- 常见的激活函数有阶跃函数 (Step Function):当加权和超过某个阈值时,激活函数会输出 1;否则,输出 0。
局限性
- 无法处理非线性问题
由于感知机使用的是「线性」激活函数,它无法在学习过程中引入非线性。这意味着它只能处理线性可分的分类问题,对于复杂的非线性问题无法有效解决。
- 缺乏概率解释
感知机输出的是二元决策 (Binary Decisions) —— 0 或 1,没有输出的概率解释。这也意味着感知机不支持多分类问题,因为它只能做「二分类」。
- 单层结构
- 更复杂的架构,如深度学习网络,可以从原始数据(如图像)中学习多个层次的表示(如边缘、纹理、物体等)。
感知机是一个单层神经网络,即它只有「一层权重」。它完全依赖于提供的输入特征,而没有能力发现或学习相关的中间表示。
多层感知机
Multi-layer Perception / MLB,可以视为一种前馈 (Feedforward)神经网络。
在训练过程中,需要使用多种优化算法来调整模型参数。

反向传播
Backpropagation,依赖于梯度下降来最小化损失函数。
- 即通过沿着损失函数的「负梯度方向」更新模型参数,从而逐步减少预测值与实际值之间的误差,最终找到最优解或接近最优解。
初始化参数
随机初始化网络的权重 和偏置 。常见的方法包括使用均匀分布或正态分布进行初始化。该目的是打破对称性,让网络能够学习到不同的特征。
前向传播
Forward Pass,在每一次迭代中,首先会进行:
- 输入数据(例如图像、文本等)被传递给网络的输入层。
- 数据通过每一层的权重和激活函数逐层传递到输出层。
- 输出层产生预测值,并计算损失函数 (例如,均方误差或交叉熵损失)。
这一步的目的是通过当前的网络参数 获得网络的预测结果,并衡量预测与真实标签之间的误差。
梯度下降
Gradient Descent,根据当前参数计算损失函数 相对于每个参数的导数(梯度):
- :权重 的变化量(第 个神经元与第 个神经元之间的权重)。这个权重需要根据梯度下降算法来进行更新。
- :学习率 (Learning Rate),一个超参数,控制每次参数更新的幅度。通常是一个小正数(例如 0.01、0.001),它决定了每次梯度更新的步长。如果学习率太大,可能会导致参数更新过度,反而无法收敛;如果学习率太小,收敛速度会很慢。
更新参数
重复迭代
- 直到满足终止条件,例如达到设定的最大迭代次数,或损失函数收敛到较小值。
- 每次迭代时,前向传播计算输出,反向传播计算梯度,并更新网络的参数。
进化计算
Evolutionary Computation, EC,依赖于选择、交叉和变异等进化原理来优化神经网络的权重。
- 定义:一种受自然启发的优化技术,基于自然选择和遗传学的原理。
- 核心思想:“适者生存” (Survival of the Fittest) —— 最佳解决方案通过多代进化产生。
- 应用场景:旅行商问题 (TSP) / 时间表与调度 / 机器人学与控制系统 / 金融市场预测
遗传算法
Genetic Algorithm, GA,进化计算的一种具体方法

- 初始化种群
- 创建包含 个个体(染色体)的初始种群,每个个体代表一组随机初始化的 MLP 权重和偏置。
- 这些初始权重可以从均匀分布或正态分布中采样。
- 评估适应度
- 适应度函数衡量个体在任务中的表现。对于 MLP,适应度函数通常是训练数据上的损失函数。
- 选择
- 根据适应度选择最佳个体(父代),将其基因传播到下一代。
- 交叉(重组)
- 结合两个父代个体的权重和偏置(基因)生成子代。
- 变异
- 对基因(权重和偏置)引入随机变化,以保持遗传多样性并防止过早收敛。
- 创建下一代
- 用子代替换当前种群,可以选择保留当前种群中的一些最佳个体 (Elitism)。
- 重复从(评估适应度)开始的步骤,直到满足停止条件(如收敛、最大代数或目标适应度分数)。
- 使用最佳个体
- 当算法收敛时,选择种群中的最佳个体。
- 将该个体的基因(权重和偏置)应用于 MLP 进行推理或测试。
优缺点
Pros- 不依赖于梯度,因此可以优化不可微分或不连续的损失函数。
- 同时评估多个解,使其适合于并行计算。
- 可以应用于具有复杂或动态适应度景观的问题。
Cons- 性能依赖于超参数,如种群大小、变异率和交叉率,这些参数的调优可能很复杂。
- 由于搜索过程的随机性,可能无法像反向传播那样精确地调整权重。