🎯 学习目标

  • 理解感知机的工作原理
  • 掌握多层感知机(MLP)的结构
  • 了解XOR问题与非线性可分
  • 学会使用PyTorch构建MLP
神经网络概念图

感知机:最简单的神经网络

感知机(Perceptron)是最简单的神经网络模型,由Rosenblatt于1957年提出。 它是一个线性二分类器,通过加权求和和阈值函数进行分类决策。

🔬 感知机原理

数学表达

y = f(Σwᵢxᵢ + b) f(z) = 1 if z ≥ 0 = 0 otherwise
  • wᵢ: 权重
  • xᵢ: 输入特征
  • b: 偏置
  • f: 阶跃激活函数

学习规则

wᵢ = wᵢ + η(y - ŷ)xᵢ b = b + η(y - ŷ)

当预测错误时,根据误差调整权重和偏置

⚠️ 感知机的局限性

⚠️
XOR问题

单层感知机只能解决线性可分问题,无法解决XOR等非线性问题。这导致了第一次AI寒冬。

🧠 多层感知机(MLP)

import torch.nn as nn # 构建多层感知机 model = nn.Sequential( nn.Linear(784, 256), # 输入层到隐藏层 nn.ReLU(), # 激活函数 nn.Linear(256, 128), # 隐藏层 nn.ReLU(), nn.Linear(128, 10), # 输出层 nn.Softmax(dim=1) ) print(model)

📊 MLP vs 单层感知机

特性 单层感知机 多层感知机
隐藏层 一个或多个
激活函数 阶跃函数 Sigmoid/ReLU等
解决问题 线性可分 非线性可分
训练算法 感知机学习规则 反向传播
神经网络结构
图:多层感知机通过隐藏层解决非线性问题

📝 本节小结

  • • 感知机是最简单的神经网络,只能解决线性可分问题
  • • XOR问题揭示了单层感知机的局限性
  • • 多层感知机通过隐藏层实现非线性映射
  • • 结合非线性激活函数,MLP可逼近任意函数