第五章 神经网络

一、神经网络

神经网络是模拟人脑神经系统的计算模型,由大量简单的处理单元(神经元)相互连接而成。它能通过学习数据自动调整参数,完成分类、预测等任务。

二、神经元模型:神经网络的基础

神经元是神经网络的基本单元,就像大脑中的神经细胞。每个神经元接收输入信号,处理后产生输出。

1. 工作原理

神经元接收来自其他神经元的输入信号,每个输入有权重(表示重要性),总输入减去阈值后,通过激活函数决定输出。激活函数就像"开关",控制神经元是否"兴奋"。

2. 数学表示

3. 激活函数

阶跃函数:理想中的激活函数,输出 0 或 1(不连续)

Sigmoid函数:实际常用,将输入压缩到 (0,1) 之间,连续可导

三、感知机(Perceptron)

1. 结构

最简单的神经网络:只有输入层和输出层

输出层使用阶跃函数作为激活函数

2. 学习规则(重点公式)

对于每个训练样本 (x,y),如果预测错误(y^≠y),则更新权重:

η:学习率,控制更新步长

y−y^​:误差信号
若感知机对训练样例(x,y)预测正确,即y=y^,则感知机不发生变化,否则将根据错误的程度进行权重调整.

3. 局限性

感知机只能解决线性可分问题(如与、或、非)

无法处理异或(XOR)等非线性问题

四、多层前馈神经网络

1. 结构

包含输入层、隐藏层、输出层

每层神经元与下一层全连接

层与层之间不存在跨层或反馈连接

2. 表达能力

只要隐藏层神经元足够多,可以逼近任意复杂度的连续函数

五、误差逆传播算法(BP算法)

BP算法是训练多层网络的关键,通过反向传播误差来调整权重和阈值,使网络输出接近真实值。

1. 工作流程

  1. 前向传播:输入信号通过网络计算输出。

  2. 计算误差:比较输出与真实值。

  3. 反向传播:从输出层到隐层,根据误差调整参数。

2. 关键公式

δ:误差信号,表示该神经元对总误差的"责任"

从输出层开始,逐层向前传递误差,并更新权重

使用梯度下降法最小化误差

3.通俗解释

BP算法就像"纠错学习"------网络先猜答案,然后根据错误反向调整每个连接的"强度",逐步改进。

五、全局最小与局部极小:训练中的挑战

神经网络训练时,目标是最小化误差,但可能陷入局部最优(像在山谷中找不到最低点),而非全局最优。

问题描述:误差函数可能有多个"低点",局部极小是局部最低点,全局最小是整体最低点。图5.10直观展示了这一点。

解决策略:多种方法,如用不同初始参数多次训练、模拟退火(以概率接受更差解跳出局部极小)、随机梯度下降(加入随机性)等。

六、其他常见神经网络:扩展应用

RBF网络:使用径向基函数作为激活函数,适合函数逼近。训练分两步:确定中心,然后用BP调整参数。

ART网络:自适应谐振理论,能增量学习,避免忘记旧知识。它通过竞争机制动态添加神经元。

SOM网络:自组织映射,用于降维和可视化,保持数据拓扑结构。如图5.11所示,神经元在二维网格上竞争。

级联相关网络:结构自适应,训练时动态添加隐层神经元。图5.12展示了训练过程。

Elman网络:递归神经网络,允许反馈连接,能处理时间序列数据。

Boltzmann机:基于能量的模型,包括受限Boltzmann机(RBM),用于深度学习预训练。

七、深度学习:神经网络的进化

深度学习是神经网络的延伸,通过增加隐层数提升模型能力。

核心思想:使用多隐层网络进行特征学习,自动从数据中提取高层特征。例如,深度信念网络(DBN)用RBM堆叠预训练,卷积神经网络(CNN)用权共享减少参数,如图5.15用于手写数字识别。

优势:深度学习能处理复杂任务,如图像识别,避免手动设计特征。

相关推荐
风象南2 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶3 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶3 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考6 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab6 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab6 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸8 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云8 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny8658 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔8 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能