第一章 神经网络基础:深度学习的底层逻辑

本章导读:从生物启发到数学抽象

神经网络的起源是对生物神经元的模拟:人类大脑中的神经元通过接收信号、整合处理、传递输出完成信息交互,人工神经网络则将这一过程抽象为数学计算,通过层级化的结构实现对复杂数据规律的学习。

从本质上看,神经网络的核心是 “用数据学习映射关系”:无需预先定义 “判断猫的规则”“识别文字的逻辑”,而是通过大量标注数据,让模型自动迭代调整参数,最终拟合输入与输出之间的复杂映射。本章将从最小单元(人工神经元)出发,逐步扩展到完整网络结构,再介绍针对不同数据类型的经典模型变种,为后续 MindSpore 实践奠定理论基础。


1.1 人工神经网络:最小单元与层级结构

1.1.1 人工神经元:加权求和与决策单元

人工神经元是神经网络的最小计算单元,其逻辑可类比为日常多因素决策过程

输入(Input):影响决策的各类因素,对应模型中的特征变量。例如 “是否购买奶茶” 决策中,价格、甜度、温度、品牌均为输入;

权重(Weight):各因素对决策的影响程度,权重越大,对应因素的影响越强。例如 “甜度” 对决策的影响远大于 “价格”,则甜度对应的权重更高;

偏置(Bias):决策的基础偏好,代表不考虑任何输入时的初始倾向。例如 “本身就爱喝奶茶” 的基础意愿,即使其他因素一般,也更倾向于购买;

激活函数(Activation Function):决策的阈值规则,将加权求和的结果转换为非线性输出,引入模型的表达能力。例如 “综合得分超过 0.6 则购买,否则放弃”。

数学层面可简化为:y=f(∑i=1n​wi​xi​+b)其中:

xi​:第 i 个输入特征;

wi​:第 i 个输入对应的权重;

b:偏置项;

f(x):激活函数;

y:神经元的输出结果。

这一公式的核心是 “加权求和 + 非线性激活”:加权求和实现多因素整合,非线性激活则打破线性约束,让模型具备处理复杂问题的能力。

1.1.2 层级结构:从神经元到神经网络

  单个神经元仅能完成简单线性决策(例如 “价格> 10 则不购买”),但现实中大部分问题都是非线性的(例如 “甜度适中才最优,太甜太苦都不行”)。通过分层连接多个神经元,可构建具备复杂表达能力的神经网络,典型结构分为三层:

  1. 输入层(Input Layer)接收原始数据,不做任何计算,仅完成数据格式转换。例如:

    • 图像数据:将 28×28 像素的二维矩阵展平为 784 维一维向量;文本数据:将每个字转换为对应的词向量,拼接为序列输入;
    • 表格数据:直接将每一行特征作为输入。输入层的核心作用是 “将现实世界的数据转换为模型可计算的格式”,不参与参数学习。
  2. 隐藏层(Hidden Layer)神经网络的核心计算层,可包含多层(从 1 层到上百层不等),每层神经元对上一层输出进行加权求和与激活,逐步提取数据的高阶特征。例如在手写数字识别任务中:

    • 第一层隐藏层:提取 “边缘”“笔画方向” 等基础视觉特征;
    • 第二层隐藏层:整合基础特征,提取 “数字轮廓”“局部形状” 等中级特征;
    • 第三层隐藏层:进一步整合,提取 “完整数字结构” 等高级特征。隐藏层的层数越多,模型的表达能力越强,但也会带来训练难度增加、过拟合风险上升等问题,需要在 “能力” 与 “成本” 之间平衡。
  3. 输出层(Output Layer)生成最终结果,根据任务类型不同输出不同形式:

    • 分类任务:输出概率分布,例如手写数字识别中输出 10 个概率值,分别对应数字 0-9 的可能性;
    • 回归任务:输出连续值,例如预测房价时输出具体金额;
    • 生成任务:输出与输入维度一致的数据,例如图像生成中输出像素矩阵。输出层的设计直接关联任务目标,是模型与业务场景的对接点。

以手写数字识别为例,完整流程可概括为:

28×28 手写数字图片 → 输入层(展平为 784 维向量)→ 隐藏层 1(提取边缘特征)→ 隐藏层 2(提取数字轮廓)→ 输出层(输出 10 个概率值,取最大值对应数字为识别结果)

训练过程的本质是参数迭代优化:通过对比模型输出与真实标签的差异(损失函数),计算梯度(反向传播),调整权重与偏置(优化器),让模型逐步缩小预测误差,最终拟合数据规律。这一过程类比为 “反复做错题集”:每次预测错误后,调整 “判断规则”(参数),直到能精准预测所有样本。

1.1.3 核心组件:激活函数、损失函数与优化器

神经网络的训练依赖三大核心组件,三者共同构成 “预测→评估→修正” 的闭环,缺一不可。

(1)激活函数:引入非线性表达能力

如果没有激活函数,无论网络层数多深,最终仅等价于线性变换,无法处理非线性问题(例如 “甜度适中才最优” 的场景)。激活函数的核心作用是引入非线性特性,打破线性模型的表达局限,让模型能够拟合任意复杂的映射关系。

常见激活函数对比:

表格

激活函数 核心特点 适用场景 优势 劣势
Sigmoid 将输出压缩至 (0,1) 区间 二分类任务输出概率 输出可直接解释为概率 梯度消失严重,计算效率低
ReLU 输入 > 0 输出本身,输入 < 0 输出 0 隐藏层激活 计算高效,缓解梯度消失 存在 “死神经元” 问题(部分神经元永远不激活)
Tanh 将输出压缩至 (-1,1) 区间 序列数据中间层 输出对称,适合处理正负输入 梯度消失问题仍存在
Leaky ReLU 输入 < 0 时输出小比例值 改进 ReLU 场景 解决 “死神经元” 问题 超参数需手动调整

当前工业界主流选择是ReLU 及其变种,在隐藏层中几乎成为标配,仅在输出层根据任务需求选择 Sigmoid(二分类)或 Softmax(多分类)。

(2)损失函数:衡量预测与真实的差距

损失函数是模型优化的目标函数,核心作用是量化模型输出与真实标签的差距,为参数调整提供方向。不同任务类型需选择对应的损失函数:

均方误差(MSE):适用于回归任务,计算预测值与真实值的平方差,公式为:MSE=n1​∑i=1n​(yi​−y^​i​)2例如预测房价时,模型输出的房价与真实房价的平方差越小,说明模型越准确。

交叉熵(Cross Entropy):适用于分类任务,衡量预测概率分布与真实分布的差异,公式为(多分类):CrossEntropy=−∑i=1n​yi​log(y^​i​)例如手写数字识别中,真实标签为 “5”(对应概率分布为第 5 位为 1,其余为 0),模型输出的概率分布与该分布越接近,交叉熵越小。

二元交叉熵(Binary Cross Entropy):适用于二分类任务,是交叉熵的特殊形式,公式为:BCE=−[yi​log(y^​i​)+(1−yi​)log(1−y^​i​)]例如判断 “图片是否为猫” 时,真实标签为 1(是猫)或 0(不是猫),用 BCE 衡量预测概率与真实标签的差距。

损失函数的选择直接影响模型训练效果:若用 MSE 处理分类任务,会导致梯度消失、训练缓慢;若用交叉熵处理回归任务,则无法量化连续值的误差,模型无法收敛。

(3)优化器:引导参数向最优方向更新

优化器的核心作用是根据损失函数的梯度,迭代更新权重与偏置,引导模型向误差最小的方向收敛。其本质是 “寻找损失函数的最小值”,类比为 “在山谷中寻找最低点”:损失函数是地形,优化器是登山者,通过一步步调整位置(参数),最终到达山谷底部(最小损失)。

常见优化器对比:

表格

优化器 核心思想 优势 劣势
SGD(随机梯度下降) 用小批量数据计算梯度,更新参数 实现简单,内存占用小 收敛速度慢,易陷入局部最优
Momentum 引入动量,保留历史梯度方向 加速收敛,跳出局部最优 超参数需手动调整
Adam 结合动量与自适应学习率,为每个参数分配不同学习率 收敛速度快,稳定性强,无需手动调学习率 部分场景下泛化能力略差于 SGD

当前工业界主流选择是Adam 优化器,在大部分任务中都能快速收敛且效果稳定;若追求极致泛化能力,可在训练后期切换为 SGD 进行微调。


1.2 卷积神经网络(CNN):面向空间数据的特征提取

1.2.1 普通神经网络的局限:空间信息丢失与参数爆炸

普通神经网络处理图像时,需将二维像素矩阵展平为一维向量,存在两个核心问题:

空间信息破坏:图像中 “局部区域的位置关系”(如眼睛在鼻子上方、耳朵在头部两侧)是识别关键,展平后该关系完全丢失,模型无法学习到视觉特征的空间结构;

参数数量爆炸:以 1080P 高清图像为例,展平后维度为 1920×1080=2,073,600,若隐藏层包含 1000 个神经元,则仅输入层到隐藏层的参数就达 20 亿级,不仅训练成本极高,还极易导致过拟合(模型记住训练集噪声,无法泛化到新数据)。

CNN 通过局部感受野、权重共享、池化降维三大核心设计,完美解决了上述问题,成为处理图像、语音等空间数据的主流结构。

1.2.2 CNN 核心组件:卷积层、池化层与全连接层
(1)卷积层:提取局部空间特征

卷积层的核心逻辑是用固定窗口扫描图像,类比为 “用放大镜观察局部区域”:

卷积核(Filter):小尺寸窗口(通常为 3×3、5×5),包含可学习权重,用于提取特定空间特征(如垂直边缘、水平纹理、圆形轮廓);

特征图(Feature Map):卷积核扫描完图像后输出的二维矩阵,每个元素代表原图像对应区域的特征强度;

多卷积核:可同时使用多个卷积核,提取多种不同特征,例如用 16 个卷积核提取 16 种基础视觉特征,输出 16 个特征图。

举个直观例子:用 3×3 卷积核提取垂直边缘 —— 当卷积核扫到图像中的垂直线条时,加权求和结果会很大;扫到平滑区域时,结果会很小,从而将 “垂直边缘” 这一特征从图像中抽离出来。

卷积层的两大优势:

局部感受野:仅关注局部区域,保留空间位置关系;

权重共享:同一个卷积核在整张图像上滑动,所有位置共享同一组权重,大幅减少参数数量。

(2)池化层:降维与特征保留

卷积层输出的特征图仍保留较高分辨率,池化层的核心作用是下采样降维,同时保留关键特征,最常见的是最大池化(Max Pooling):

将特征图划分为若干小窗口(如 2×2),每个窗口内仅保留最大值,丢弃其他值;

例如 28×28 的特征图经 2×2 最大池化后,尺寸缩小为 14×14,分辨率降低一半。

池化层的核心价值:

减少参数数量:降低计算成本,防止过拟合;

增强鲁棒性:让特征对微小位移、变形不敏感(例如猫的耳朵稍微歪一点,不影响识别)。

(3)全连接层:整合高阶特征

经过多层卷积 + 池化后,模型已提取到丰富的高阶特征(如 “猫耳朵”“猫眼睛”“猫尾巴”),全连接层的核心作用是将这些分散的特征整合为最终输出

先将卷积层输出的多维特征图展平为一维向量;

再通过全连接层完成特征融合,将高阶特征映射为任务所需的输出(如分类概率、回归值)。

完整 CNN 流程可概括为:

原始图像 → 卷积层 1(提取基础视觉特征)→ 池化层 1(降维)→ 卷积层 2(提取中级特征)→ 池化层 2(降维)→ ... → 全连接层(特征整合)→ 输出层(任务结果)

1.2.3 经典 CNN 结构:里程碑与设计思想

CNN 发展历程中,有几个里程碑式的结构,奠定了现代视觉模型的设计范式:

  1. LeNet-5(1998)最早的 CNN 之一,专为手写数字识别设计,结构简洁:2 个卷积层 + 2 个池化层 + 2 个全连接层。核心贡献是奠定了 “卷积 - 池化 - 全连接” 的基础范式,证明了 CNN 在视觉任务中的有效性,是入门 CNN 的最佳案例。

  2. AlexNet(2012)2012 年 ImageNet 竞赛冠军,将 CNN 推向工业界。核心创新包括:

    • 使用 ReLU 激活函数,解决 Sigmoid 的梯度消失问题;
    • 引入 Dropout 层,随机丢弃部分神经元,防止过拟合;
    • 采用数据增强(翻转、裁剪、变色),提升模型泛化能力;
    • 利用 GPU 加速训练,突破了传统模型的性能瓶颈。AlexNet 证明了深度学习在复杂视觉任务中的优势,是 CNN 发展的关键转折点。
  3. VGGNet(2014)结构规整,所有卷积层均使用 3×3 卷积核,池化层均使用 2×2 最大池化,通过堆叠层数提升表达能力(VGG16 包含 16 层,VGG19 包含 19 层)。核心优势是结构简单、可扩展性强,成为后续模型的基础骨架,广泛应用于图像分类、目标检测等任务。

  4. ResNet(2015)解决了 “深层网络训练退化” 问题:传统网络层数超过一定阈值后,训练误差反而上升(梯度消失 / 爆炸)。ResNet 引入残差连接(信息跳层传递),让模型可以学习 “恒等映射”,避免梯度消失,使训练上千层网络成为可能。ResNet 是当前大部分视觉大模型的 backbone 基础,例如 ResNet50、ResNet101 等。


1.3 循环神经网络(RNN):面向序列数据的时序建模

1.3.1 序列数据的特点:时序依赖与上下文关联

现实中存在大量序列数据(文本、语音、时间序列),其核心特征是前后存在依赖关系

文本:“我去了图书馆,借了一本____”,需依赖前文 “图书馆”“借了” 等信息推断空白处应为 “书”;

语音:单个音节无明确意义,需结合上下文才能识别为完整词汇(例如 “h”“a”“o” 单独无意义,拼接后为 “好”);

时间序列:股票价格的波动与历史走势高度相关,今日价格受昨日、前日甚至更早数据的影响。

CNN 无法捕捉时序依赖(仅关注空间特征),普通神经网络也无法处理变长序列(输入长度固定),RNN 则通过循环结构引入 “记忆”,专门处理序列数据。

1.3.2 RNN 核心逻辑:记忆与循环传递

RNN 的核心是保留历史信息,在处理序列的每一个时间步时,将之前的信息整合到当前计算中,类比为 “看连续剧”:

每一集剧情(当前时间步输入)依赖之前所有集的剧情(历史信息,即隐藏状态);

看完所有集后,可总结出整部剧的主题(最终输出)。

RNN 的结构可拆解为:

输入序列:x1​,x2​,...,xt​,每个xt​代表第 t 个时间步的输入(如文本的第 t 个字);

隐藏状态:h1​,h2​,...,ht​,每个ht​保存到当前时间步为止的历史信息,公式为:ht​=f(Wxh​xt​+Whh​ht−1​+bh​)其中f(⋅)为激活函数,Wxh​、Whh​为权重矩阵,bh​为偏置;

输出序列:y1​,y2​,...,yt​,每个yt​由当前隐藏状态ht​计算得到,公式为:yt​=g(Why​ht​+by​)其中g(⋅)为输出激活函数(如 Softmax)。

以情感分析为例,输入 “这家餐厅味道好,服务也棒”,RNN 的处理流程为:

处理 “这”:初始化隐藏状态,记录 “开始评价”;

处理 “家”:更新隐藏状态,记录 “评价对象是某家店”;

处理 “餐”“厅”:更新隐藏状态,记录 “评价对象是餐厅”;

处理 “味”“道”“好”:更新隐藏状态,记录 “正面评价”;

处理 “服”“务”“也”“棒”:强化 “正面评价”;

最终输出:“这句话为正面情感”。

1.3.3 RNN 的进化:LSTM 与 GRU

原始 RNN 存在长期依赖丢失问题:处理长序列时,早期信息会被逐步遗忘,无法影响后期计算(例如处理一篇 1000 字的文章,最后几个字无法记住开头的核心观点)。为解决该问题,衍生出 LSTM 与 GRU 两种改进结构:

(1)LSTM(长短期记忆网络)

LSTM 引入门控机制,通过三个门控制信息的留存与丢弃:

遗忘门(Forget Gate):决定丢弃哪些历史信息,公式为:ft​=σ(Wf​⋅[ht−1​,xt​]+bf​)输出 0-1 之间的值,0 代表完全丢弃,1 代表完全保留;

输入门(Input Gate):决定加入哪些新信息,公式为:it​=σ(Wi​⋅[ht−1​,xt​]+bi​)控制新信息的写入比例;

输出门(Output Gate):决定当前隐藏状态的输出,公式为:ot​=σ(Wo​⋅[ht−1​,xt​]+bo​)控制隐藏状态的输出比例。

通过门控机制,LSTM 可以选择性地保留长期信息,例如在机器翻译任务中,能记住句子开头的主语,影响结尾的谓语时态选择。

(2)GRU(门控循环单元)

GRU 是 LSTM 的简化版,将遗忘门与输入门合并为更新门,结构更简洁,训练效率更高,效果与 LSTM 相当:

更新门(Update Gate):控制历史信息与新信息的融合比例;

重置门(Reset Gate):控制历史信息的重置比例。

GRU 减少了参数数量,降低了计算成本,在大部分序列任务中表现优于 LSTM,成为当前工业界的主流选择。

LSTM/GRU 广泛应用于自然语言处理(机器翻译、文本生成、情感分析)、语音识别、时间序列预测(股票、天气)等领域,是处理序列数据的核心模型。


1.4 生成对抗网络(GAN):面向内容生成的博弈学习

1.4.1 GAN 核心思想:对抗博弈与共同进化

GAN 的全称是 Generative Adversarial Network,核心思想是两个网络的零和博弈,类比为 “造假者与鉴伪师的对抗”:

生成器(Generator):目标是生成逼真数据(如假人脸、假文本、假语音),尽可能欺骗判别器,让判别器认为生成数据是真实的;

判别器(Discriminator):目标是区分真实数据与生成数据,尽可能识别出造假内容,判断输入数据是 “真实” 还是 “生成”。

训练过程分为两个阶段,交替迭代:

训练判别器:给判别器输入真实数据(标记为 1)和生成数据(标记为 0),优化判别器参数,提升其鉴别能力;

训练生成器:固定判别器参数,让生成器生成数据,传入判别器,优化生成器参数,让判别器将生成数据误判为真实。

初始阶段:生成器造假粗糙,判别器轻易识别;迭代过程:生成器不断优化造假技术,判别器同步提升鉴别能力;收敛阶段:生成器可生成以假乱真的数据,判别器无法准确区分(输出概率接近 0.5)。

1.4.2 GAN 的应用场景:内容生成与数据增强

GAN 的核心价值是生成高质量新数据,典型应用场景包括:

  1. 图像生成与编辑

    • 生成类:生成逼真人脸、风景、动漫角色,实现图像超分辨率(将低清图转为高清图)、风格迁移(将照片转为油画风格);
    • 编辑类:换脸、换背景、季节转换(将夏天照片转为冬天)、线稿上色(将手绘线稿转为彩色插画)。例如 AI 绘画工具 Stable Diffusion、MidJourney,底层核心就是 GAN 的变种,可根据文本描述生成对应图像。
  2. 文本与语音生成

    • 文本生成:写小说、诗歌、代码,生成对话内容,模拟特定作者文风;
    • 语音生成:生成逼真语音,模仿某个人的音色,将文字转换为自然流畅的语音。
  3. 数据增强当训练数据不足时(例如医疗影像数据稀缺),用 GAN 生成更多相似数据,补充到训练集里,缓解小样本场景下的模型过拟合问题,提升模型泛化能力。

1.4.3 GAN 的挑战与改进

GAN 训练存在两大核心问题:

模式崩溃:生成器仅能生成单一类型数据(如仅能生成橘猫,无法生成其他颜色的猫),多样性不足;

训练不稳定:生成器与判别器的博弈易失衡,导致一方过强、一方过弱,训练无法收敛(例如判别器太强,生成器始终无法欺骗判别器,梯度消失)。

针对上述问题,衍生出多种改进结构:

DCGAN(2015):将 CNN 引入 GAN,用卷积层替代全连接层,提升图像生成质量,奠定了视觉 GAN 的基础结构;

WGAN(2017):改进损失函数,用 Wasserstein 距离替代 JS 散度,稳定训练过程,缓解模式崩溃;

StyleGAN(2018):精细化控制生成图像的细节(如年龄、性别、表情、发型),生成超逼真人脸,可用于虚拟数字人制作;

CycleGAN(2017):实现无监督图像转换(如马→斑马、夏→冬),无需成对训练数据,降低了数据标注成本。


第一章小结:理论与 MindSpore 框架的关联

本章内容是深度学习的底层理论基石,无论使用 MindSpore 还是其他框架,核心逻辑均一致:

人工神经元是最小计算单元,层级结构构成完整神经网络,激活函数、损失函数、优化器是训练的核心组件;

CNN、RNN、GAN 是针对不同数据类型的经典模型变种:CNN 处理空间数据(图像),RNN 处理序列数据(文本、语音),GAN 处理生成类任务;

模型训练的本质是 “预测→评估→修正” 的闭环,通过数据迭代优化参数,拟合输入与输出的映射关系。

MindSpore 框架的核心价值是封装了上述理论的工程实现

提供了预定义的卷积层(Conv2d)、池化层(MaxPool2d)、LSTM 层、GAN 组件等,无需从零实现数学公式;

内置了常用激活函数(ReLU、Sigmoid)、损失函数(MSELoss、CrossEntropyLoss)、优化器(SGD、Adam),可直接调用;

支持自动微分、动态图 / 静态图转换,简化了反向传播与训练流程,让开发者聚焦于业务逻辑与模型调优。

后续章节将围绕 MindSpore 框架,逐步讲解如何将本章理论落地为实际工程应用:从数据加载与预处理,到模型构建与训练,再到模型优化与部署,最终形成完整的 “理论→实践→迭代” 工程化流程。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐