当前位置: 首页 > news >正文

【AI基础:神经网络】17、神经网络基石:从MP神经元到感知器全解析 - 原理、代码、异或困境与突破

在这里插入图片描述

引言:感知器——人工智能的"初恋"

在人工智能的百年发展史中,有一个模型如同"初恋"般特殊:它诞生时被寄予厚望,却因致命缺陷被打入冷宫,又在数十年后成为深度学习的基石。它,就是感知器(Perceptron)。

1957年,美国心理学家弗兰克·罗森布拉特(Frank Rosenblatt)在康奈尔航空实验室发明了感知器,这是人类历史上第一个能自主"学习"的神经网络模型。当时《纽约时报》曾兴奋地报道:“这台机器能像人类一样学会识别模式,未来可能会行走、说话、视物、写作,甚至拥有自我意识。”

然而,仅仅12年后,人工智能领域的权威马文·明斯基(Marvin Minsky)在著作《感知器》中证明:单层感知器无法解决简单的异或(XOR)问题。这一结论让学术界对神经网络的热情瞬间冷却,开启了长达20年的"神经网络寒冬"。

如今,当我们谈论深度学习、ChatGPT、自动驾驶时,很少有人意识到:这些尖端技术的底层逻辑,仍能在感知器中找到源头。

本文将从MP神经元的数学模型出发,拆解感知器的学习机制,用可视化图解揭示异或困境的本质,最终展示多层网络如何突破局限——带您完整走完这段跨越70年的AI进化之路。

一、神经网络的"祖宗":MP神经元模型

1.1 从生物神经元到数学模型

人类大脑由约860亿个神经元组成,每个神经元通过树突(dendrites)接收信号,通过轴突(axon)传递信号,而信号的传递强度由突触(synapses)决定——这是感知器的生物学原型。

1943年,神经科学家沃伦·麦卡洛克(Warren McCulloch)和数学家沃尔特·皮茨(Walter Pitts)发表了一篇里程碑论文《A Logical Calculus of the Ideas Immanent in Nervous Activity》,首次将生物神经元抽象为数学模型,即MP神经元

![MP神经元结构示意图]
(图解:MP神经元模型包含三部分:左侧为输入信号x₁、x₂…xₙ(模拟树突接收的信号);中间为加权求和过程(模拟突触对信号的增强/减弱);右侧为激活函数φ(模拟神经元"是否 firing"的决策)。其中x₀=1为偏置项,相当于神经元的"基础兴奋性",w₀为偏置权重。)

1.2 MP神经元的数学公式与解读

MP神经元的输出公式为:
y=ϕ(∑i=0Nwixi) y = \phi (\sum_{i=0}^N w_i x_i) y=ϕ(i=0Nwixi)

  • 输入xᵢ:可以是0或1(二值信号),其中x₀固定为1(偏置项),用于调整神经元的激活阈值。
  • 权重wᵢ:表示输入信号的重要性(正数为增强,负数为抑制),但MP神经元的权重是固定的,无法通过学习调整。
  • 求和操作∑i=0Nwixi\sum_{i=0}^N w_i x_ii=0Nwixi 计算输入信号的加权和,相当于"信号总强度"。
  • 激活函数φ:采用符号函数(阈值激活),即:
    ϕ(z)={ 1if z≥θ0if z<θ \phi(z) = \begin{cases} 1 & \text{if } z \geq \theta \\ 0 & \text{if } z < \theta \end{cases} ϕ(z)={ 10if zθif z<θ
    其中θ为阈值,当总强度超过阈值时,神经元"激活"(输出1),否则"沉默"(输出0)。

1.3 MP神经元的局限与意义

MP神经元的最大局限是无学习能力:权重和阈值需要人工设置,无法根据数据自动调整。例如,要让MP神经元实现"AND"逻辑(输入都为1时输出1),需手动设置权重w₁=0.5,w₂=0.5,w₀=-0.7(偏置),阈值θ=0——这样只有x₁=1且x₂=1时,加权和0.5+0.5-0.7=0.3≥0,输出1。

但它的意义重大:

  • 首次用数学语言描述了神经元的"决策过程",为后续神经网络奠定了符号化基础
  • 证明了"简单神经元可以组合成逻辑电路"(如实现AND、OR、NOT运算),暗示了"复杂智能可由简单单元组成"的可能性。

二、感知器:第一个会"学习"的神经网络

2.1 罗森布拉特的突破:给神经元"学习能力"

1957年,弗兰克·罗森布拉特在MP神经元基础上,加入了权重更新机制,发明了感知器。这一改进让神经网络从"静态模型"变成了"动态学习者"——它能通过数据自动调整权重,就像人类通过经验修正认知。

感知器的核心创新是:根据预测误差调整权重。用罗森布拉特的话说:“感知器不需要程序员手动设置规则,它能自己从数据中’学会’分类。”

![感知器与MP神经元的对比图]
(图解:左侧为MP神经元,权重w固定,需人工调整;右侧为感知器,新增"误差计算"和"权重更新"模块——通过对比预测输出y与真实标签d,生成误差信号,再用误差修正权重。箭头标注了信息流向:输入→加权和→激活输出→误差计算→权重更新,形成闭环学习。)

2.2 感知器的核心算法原理

感知器的结构与MP神经元类似,但增加了学习机制。其工作流程可分为前向传播(预测)和权重更新(学习)两部分。

(1)前向传播:从输入到输出的计算

感知器的输出公式与MP神经元一致:
y=sign(∑i=0Nwixi) y = \text{sign}(\sum_{i=0}^N w_i x_i) y=sign(i=0Nwixi)

这里的激活函数采用符号函数(简化版):
sign(z)={ 1if z≥00if z<0 \text{sign}(z) = \begin{cases} 1 & \text{if } z \geq 0 \\ 0 & \text{if } z < 0 \end{cases} sign(z)=

http://www.dtcms.com/a/347083.html

相关文章:

  • 当 /etc/sysctl.d/ 目录下存在多个配置文件且配置项冲突时最终会使用哪个配置项
  • 嵌入式linux开发板 IP配置
  • Redis配置与数据类型详解及缓存优化实践
  • 使用VLLM部署大模型embedding/chat 的API
  • 秋招面试准备
  • Git的下载安装和使用以及和IDEA的关联
  • PLECS 中使用 C-Script 来模拟 NTC 热敏电阻(如 NTC3950B)
  • Spring Boot 校验分组(Validation Groups)高级用法全指南
  • 从词源和输出生成等角度详细解析PHP中常用文件操作类函数
  • Mac简单测试硬盘读写速度
  • 计算机网络 TLS握手中三个随机数详解
  • 鸿蒙应用网络开发实战:HTTP、WebSocket、文件下载与网络检测全攻略
  • Ubuntu 操作系统深度解析:从入门到精通(2025 最新版)
  • AP5414 LED驱动芯片:高效灵活,专业级照明解决方案
  • 20250823解决荣品RD-RK3588-MID核心板的底板的adb不通
  • Unity其他--【MMD】如何在Unity中制作MMD
  • Go数据结构与算法-常见的排序算法
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘arviz’问题
  • Boost.Asio 库中的 async_read_some用法
  • JAVA核心基础篇-操作符
  • 嵌入式LINUX——————网络TCP
  • 如何在Ubuntu中删除或修改已有的IP地址设置?
  • 在Excel和WPS表格中快速插入多行或多列
  • 生成一个竖直放置的div,宽度是350px,上面是标题固定高度50px,下面是自适应高度的div,且有滚动条
  • LeetCode算法日记 - Day 19:判定字符是否唯一、丢失的数字
  • 可转换债券高频交易Level-2五档Tick级分钟历史数据分析
  • 什么?OpenCV调用cv2.putText()乱码?寻找支持中文的方法之旅
  • Vue3+ElementPlus倒计时示例
  • 入校申请|基于SprinBoot+vue的入校申报审批系统(源码+数据库+文档)
  • [激光原理与应用-332]:结构设计 - Solidworks - 特征(Feature)是构成三维模型的基本单元,是设计意图的载体,也是参数化设计的核心。