神经网络是怎么工作的?从神经元到多层感知机

🎯 博主简介

你好,我是安逸,CSDN「人工智能技术领域新星创作者」,码龄 6 年。博客总访问量 31万+,博客粉丝 1.2万+。

我长期关注人工智能技术与工程实践,主要研究和分享 AI Agent、RAG 系统、MCP 协议、OpenClaw、AI 编程工具以及大模型工程化落地。同时也持续输出 Java / Spring、Transformer、机器学习、深度学习与计算机视觉等方向的学习笔记和项目经验。

📚 推荐系列合集

目前已经整理了 生产级 RAG 系统实战Agent 记忆系统MCP 协议深度解析OpenClaw 系列Hermes Agent + Obsidian图解机器学习Claude Code 系列Agent 经典面试题等系列合集,涵盖 AI 应用开发、智能体实践、知识管理、机器学习与 AI 编程工具。

📱GZH:安逸Ai (科技前沿新闻,Github热门项目,最新免费资料...)

网页观看完整系列合集:🌐 Anyi AI 学习资源站


上篇我们聊了深度学习是什么、能做什么。你可能还记得它的核心就是"从数据中自动学习规律"。但问题是:它到底是怎么学的?怎么从一堆乱七八糟的图片里,认出哪只是猫哪只是狗?

答案就在神经网络里。这名字听着玄乎,但其实原理没那么复杂。今天我们就把它拆开来看,一层层扒干净。

神经网络本质上就是个数学公式

别被"人工智能"、"深度学习"这些词吓到。

说白了,神经网络就是一道数学题。

你给它一个输入,它给你一个输出。图片进去,标签出来。语音进去,文字出来。不管多花哨的应用,底层都是"输入→处理→输出"这一套。

但这道题和我们数学课上的不一样。它有成千上万个参数,就像一个超级复杂的公式。这些参数决定了输入怎么变成输出。

数据流转图,展示输入(图片/语音/文字)经过神经网络黑箱处理后输出(识别结果/翻译内容)的完整流程

打个比方。神经网络就像一个巨型工厂。原材料进去(数据),流水线处理(神经网络),成品出来(预测结果)。

工厂里的每个工人都记着自己的小任务。所有工人配合起来,就能完成单独一个人根本搞不定的事。

单个神经元长什么样?

工厂由工人组成,神经网络由神经元组成。

一个神经元长这样:

它左边有好多输入。每个输入都带个数字,叫权重。权重越大,这个输入越重要。

神经元把所有的输入乘以对应权重,加起来。再加上一个偏置,就像微调螺丝。

最后过一道激活函数,出来一个输出。

听起来复杂?做个决定就懂了。

比如你决定今天中午吃什么。考虑因素:钱包鼓不鼓(输入1)、饿不饿(输入2)、想不想吃辣(输入3)。

钱包影响大,你就给它高权重。想不想吃辣无所谓,权重就低。

这就是神经元在做的事:加权求和 + 微调

单个神经元结构图,展示X1、X2、X3输入,W1、W2、W3权重,求和、偏置b、激活函数f到输出y的完整路径

每个神经元的输出,又可以成为下一个神经元的输入。一层一层传下去,信息就这样被处理了。

激活函数是干啥的?

刚才说神经元最后要过激活函数。这步到底有什么用?

没激活函数的话,神经网络就是个线性公式。输入放大两倍,输出就放大两倍。永远学不会复杂的东西。

激活函数负责打破线性

它让网络能够处理"不是A就是B"这种情况,也能处理"在A和B之间徘徊"的模糊地带。

常见的激活函数有三种:

Sigmoid:输出在0到1之间,适合做概率预测。但梯度容易消失,深层网络不好用。

ReLU:大于0输出原值,小于0输出0。简单高效,是现在的主流。

Tanh:输出在-1到1之间,中心是0。比Sigmoid好用一点。

怎么选?先记住ReLU最常用就行。后面我们专门讲激活函数的选择。

三种激活函数曲线对比图,左上是Sigmoid曲线呈S形,右上是ReLU函数曲线,左下是tanh双曲正切曲线

多层结构:从看局部到看全局

一个神经元能做的事很有限。把很多神经元堆成层,层再堆成网络,能力就上来了。

典型的多层感知机长这样:输入层 接收数据,几个隐藏层 处理数据,输出层给出结果。

各层学的东西不一样。

底层学边缘、纹理这些简单特征。中层把它们组合成局部模式。高层最终识别出整体是什么。

就像你认识一个人。

你先看到他的眼睛、鼻子、嘴巴。然后组合起来知道这是个"人脸"。最后和记忆对比,发现"哦,这是老王"。

单层网络做不到这个。它只能看局部,或者只能看整体,没有层次。

多层结构让网络真正"看懂"了东西。

多层感知机网络架构图,从左到右依次是输入层(圆形节点)、三个隐藏层(方形节点)、输出层,并标注各层提取的特征类型

训练过程:神经网络是怎么学习的?

现在有个问题:网络参数一开始是随机的,乱七八糟的。它怎么变成能正确认猫认狗的?

训练

训练分两步:前向传播反向传播

前向传播很简单。数据从左边进去,一层层计算,最后出来一个预测结果。

问题来了:第一次预测肯定不准。错多少?怎么改?

这就需要损失函数。它能量化预测和真实答案之间的差距。差距越大,损失越高。

然后是反向传播。网络从右往左看:输出错了很多,那倒数第二层责任多大?倒数第三层呢?一层层算下来,每个参数都知道自己该背多少锅。

最后根据这个"锅"来调整参数。调整完了,再来一轮前向传播,看看损失有没有下降。

反复几千几万次,损失越来越低,网络越来越准。

这就好比你学投篮。投一个,偏了。看看偏了多少,调整力度和角度。再投,还偏。继续调。直到投进。

训练过程流程图,左半部分是前向传播(输入→隐藏层→输出→计算损失),右半部分是反向传播(损失→反向计算梯度→更新参数→循环)

整个训练过程就是:前向计算→算损失→反向传播→更新参数→再来一遍。周而复始,直到满意为止。

手写数字识别:MLP的实战

说这么多,来个实际例子。

MNIST数据集是深度学习的"Hello World"。

它包含上万张手写数字图片。每张是28×28像素,灰度图。

任务是让网络学会识别这些数字是0到9中的哪一个。

输入层有784个神经元(28×28=784)。每个像素一个输入。

输出层有10个神经元,分别代表0到9。哪个输出值最高,预测就是哪个数字。

中间加几个隐藏层,网络就能学得很好。

训练完成后,你随便写个"3",网络能认出来。就算你写的歪歪扭扭,和训练集里的都不一样,它也能认出来。

这就是泛化能力。学会了规律,就能处理没见过的数据。

MNIST手写数字识别应用图,左侧是四张手写数字图片,中间是简化的神经网络图标,右侧是识别结果"3"、"7"、"1"、"9"

最后

现在你应该清楚了。

神经网络从单个神经元开始,每个神经元做加权求和、加偏置、过激活函数。把很多神经元堆成多层,网络就能提取层级特征。看局部、看整体,全部搞定。

训练则是前向传播和反向传播的循环。数据进去,算损失,反向调整参数,一遍遍迭代,直到网络学会。

说起来好像挺简单?但这只是基础。

真实的深度学习网络动不动几百层,参数几十亿。训练时还有各种技巧:怎么防止过拟合、怎么加速收敛、怎么选择优化器......

就拿激活函数来说,我们今天只是简单提了一下。Sigmoid、ReLU、Tanh各有各的特点,不同场景选错了,性能能差好几倍。

所以下篇我们就来细聊:激活函数到底怎么选?

相关推荐
宝桥南山1 小时前
Microsoft Agent Framework(.NET) - 尝试一下从MCP Server上获取Agent Skills
ai·微软·c#·aigc·.net·.netcore
FIT2CLOUD飞致云1 小时前
学习笔记丨MaxKB原生工作流实现AI PPT生成
人工智能·ai·开源·智能体·maxkb
meilindehuzi_a1 小时前
Harness 工程详解:用 Best of N Sampling 与 LLM as Judge 构建生成、评测、择优闭环
ai
刘一说1 小时前
AI科技热点日报 | 2026年8月12日
人工智能·科技
Henry-SAP1 小时前
SAP MRP类型如何影响计划订单生成
人工智能·云原生·sap·erp
星马梦缘2 小时前
人工智能学院科协 · 2026秋季学期工作安排说明
人工智能·智能硬件
zhangfeng11332 小时前
CodeBuddy 切换账号后对话历史“消失“解决办法。找回历史记录
人工智能
AI服务老曹2 小时前
AI视频分析API完整流程:设备、算法与告警接口接入指南
人工智能·算法·音视频