你可以把深度学习理解为一个“超级自动化的特征提取器 + 分类器”。它的核心目标,就是自动从原始数据(比如图片像素)中,逐层提取出最有用的“特征”,然后用这些特征来完成最终任务(比如认出这是一只猫)

下面分三步来拆解这个过程:

1. 核心思想:用“层层剥洋葱”来理解特征

深度学习的“深度”,指的就是神经网络的层数。每一层都在做同一件事:接收输入,进行数学变换,再输出给下一层

  • 输入层:接收原始数据。比如一张图片,输入就是所有像素点的数值。

  • 隐藏层(中间很多层):这里是真正的“魔法”发生地。每一层都在提取更高级、更抽象的特征

    • 前面的层(靠近输入):提取基础特征,比如图片里的边缘、颜色、线条

    • 中间的层:将基础特征组合,识别出局部形状,比如眼睛、耳朵、轮子

    • 后面的层:将局部形状再组合,识别出整体轮廓,比如脸、车身

  • 输出层:输出最终结果。如果是分类任务,输出就是属于每个类别的概率(比如“90%是猫,10%是狗”)。

2. 每一层内部在做什么:三要素

每一层(神经元)要得到什么,其实就是在做下面这个标准流程:

  1. 加权求和:把上一层的所有输入(x),分别乘以各自的权重(w),再加起来,最后加上一个偏置(b)。数学上就是 z = w1*x1 + w2*x2 + ... + b。这里的目标,是学习出一组最优的权重和偏置,它们决定了该层对输入信息的“重视程度”。

  2. 非线性激活:把上一步得到的z,塞进一个叫“激活函数”的数学公式里(比如ReLU函数)。这一步至关重要,目的是引入“非线性”。如果没有这一步,无论堆叠多少层,最终都等价于一个线性模型,无法处理复杂问题。

  3. 输出传递:将激活后的结果传递给下一层,作为下一层的输入。

3. 最终想得到什么?答案藏在一个循环里

整个网络最终想得到的,是一个能够完成特定任务的、精准的数学模型。但这个模型不是一次生成的,而是通过一个“训练-反馈-修正”的循环不断优化出来的。这个循环就是反向传播(这个东西我理解就是微调以靠近正确的值,和初中看那个示波器调旋钮一样)

  1. 前向传播(猜答案):输入一张猫的图片,网络经过层层计算,最终可能输出“狗,概率80%”。这是一个错误的猜测

  2. 计算损失(量化错误):用一个“损失函数”来量化这次猜测有多离谱。这里,损失值会很大。

  3. 反向传播(往回传错误):最关键的一步!算法会从输出层开始,把“损失”值一层层往回传,并计算出每个权重和偏置应该往哪个方向微调,才能让损失变小。这个微调量由学习率控制。

  4. 更新参数(吸取教训):根据计算出的微调量,更新每一层的权重和偏置。

  5. 重复迭代:用数百万张图片,重复以上步骤数百万次。最终,网络里的所有权重和偏置都被调整到了最佳状态,使得损失值变得非常小。此时,这个训练好的网络,就是最终想得到的“模型”——它已经“学会”了如何从像素中提取特征来识别猫。


总结一下核心链条:

输入数据 → (逐层提取:基础特征→局部形状→整体轮廓) → 输出概率 → 计算错误 → 反向传播错误,微调各层参数 → 重复训练,直到错误最小

这样,你就得到了一个能用的“智能”模型。它的本质,是一个通过大量数据,自动调整出了亿万级参数的巨大数学方程

把这个基础原理搞懂后,你再去看卷积神经网络(CNN,用于图像)或Transformer(用于文本)等具体结构,理解它们为什么这样设计就会容易很多

总结:

神经元的获得步骤:像素->边缘->抽象零件->抽象整体->每个类别的概率(那如果事务有千万种,每一种都会生成一个概率吗)

训练步骤:
1.每一层训练就是用这个参数去乘以这个矩阵
2.如果最终结果和所要的有差距,反向传播慢慢调整以靠近最终的结果,损失最小
3.这个需要大量的数据来训练

输入:像素矩阵
训练得到的模型结果:最终想要得到的就是这个权重和偏置
通过模型得到的输出:如果是分类问题,就是每个类别的概率,类别的多少取决于你要分类的类别又多少种

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐