深度学习:入门简介

深度学习(Deep Learning, DL)是机器学习(Machine Learning, ML)的一个重要分支,核心是通过模拟人类大脑神经元的连接方式,构建多层神经网络来自动学习数据中的特征和规律,最终实现预测、分类、生成等任务。它摆脱了传统机器学习对 "人工设计特征" 的依赖,能直接从原始数据(如图像、文本、音频)中挖掘深层信息,是当前人工智能(AI)技术爆发的核心驱动力。

一、深度学习的核心思想:"多层" 与 "自动特征学习"

要理解深度学习,首先需要对比它与传统机器学习的核心差异:

举个直观例子:

  • 用传统机器学习识别猫:需手动设计 "是否有胡须""是否有尖耳朵""毛色分布" 等特征,再喂给模型训练;
  • 用深度学习识别猫:直接输入原始猫的图片,模型会自动从 "像素点→边缘→纹理→五官→完整猫轮廓" 逐层学习特征,无需人工干预。

二、深度学习的基础组件:神经网络的核心单元

深度学习的模型本质是多层神经网络,其最小组成单元和结构如下:

1. 基本单元:人工神经元(Artificial Neuron)

模拟生物神经元的 "接收信号→处理信号→输出信号" 过程,是神经网络的基础:

• 输入(Input):接收来自前一层的信号(如数据特征、前一层神经元的输出);

• 权重(Weight):每个输入对应一个权重(表示该输入的重要性,模型训练的核心就是优化权重);

• 偏置(Bias):调整神经元激活的 "基准线",避免仅由输入和权重决定输出;

• 激活函数(Activation Function):对 "输入 × 权重 + 偏置" 的结果进行非线性变换,让模型能学习复杂的非线性关系(如图像、语言中的复杂规律)。

常见激活函数:

  • ReLU:最常用,公式 f(x) = max(0, x),解决 "梯度消失" 问题,计算高效;
  • Sigmoid:将输出压缩到 [0,1],适用于二分类任务的输出层;
  • Tanh:将输出压缩到 [-1,1],比 Sigmoid 更对称,常用于早期模型的隐藏层。
  • 这是生物上的神经元
  • 这是计算机上的神经网络、
  • 神经网络是由大量的节点(或称"神经元")和之间相互的联接构成。
  • 每个节点代表一种特定的输出函数,称为激励函数、激活函数(activation function)。
  • 每两个节点间的联接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。

2. 神经网络的层结构

多个人工神经元按 "层" 组织,形成神经网络,核心层包括:

• 输入层(Input Layer):接收原始数据(如图片的像素值、文本的向量),仅传递数据,不做计算;

• 隐藏层(Hidden Layer):对输入层的信号进行逐层加工、提取特征,"深度" 即指隐藏层的数量(通常≥2 层即可称为 "深度网络");

• 输出层(Output Layer):输出模型的最终结果,根据任务类型选择不同的激活函数:

◦ 分类任务:用 Softmax(多分类,输出各类别概率之和为 1);

◦ 回归任务:无激活函数(直接输出连续值);

◦ 二分类任务:用 Sigmoid(输出单个概率值)。

三、推导

  • 以下是推导过程:
    • 传入特征,按照不同的权重传入神经元进行求和
    • 然后将结果放入sigmod函数进行非线性映射
    • 最后得出分类结果

四、感知器与多层感知器

1.感知器

  • 由两层神经元组成的神经网络--"感知器"(Perceptron),感知器只能线性划分数据。
  • 因为只能通过一个线性函数(即加权和)将输入数据映射到输出类别
  • 感知器图示
  • 右下角是计算规则

2.多层感知器

多层感知器(MLP)是深度学习中一种重要的神经网络结构,由多个层次的神经元组成,通常包括以下部分:

输入层:接收数据特征。

隐藏层:一个或多个,进行复杂的非线性变换。每层的神经元通过激活函数(如ReLU、Sigmoid)处理输入。

输出层:生成最终的预测结果或分类标签。

3.偏置

在神经网络中需要默认增加偏置神经元(节点),这些节点是默认存在的

它本质上是一个只含有存储功能,且存储值永远为1的单元

在神经网络的每个层次中,除了输出层以外,都会含有这样一个偏置单元

偏置节点没有输入(前一层中没有箭头指向它)

一般情况下,我们都不会明确画出偏置节点

调整决策边界:偏置项允许决策边界在特征空间中进行平移,而不仅仅是通过原点。

提高模型灵活性:使得神经网络能够捕捉到更多的数据模式和复杂性,即使在没有输入特征的情况下也能进行调整。

五、如何确定输入层和输出层个数

  • 输入层的节点数:与特征的维度匹配
  • 输出层的节点数:与目标的维度匹配。
  • 中间层的节点数:目前业界没有完善的理论来指导这个决策。一般是根据经验来设置。较好的方法就是预先设定几个可选值,通过切换这几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。

六、损失函数

模型训练的目的:使得参数尽可能的与真实的模型逼近。

具体做法:

1、首先给所有参数赋上随机值。我们使用这些随机生成的参数值,来预测训练数据中的样本。

2、计算预测值为yi,真实值为y。那么,定义一个损失值loss,损失值用于判断预测的结果和真实值的误差,误差越小越好

常用的损失函数: 0-1损失函数 均方差损失 平均绝对差损失 交叉熵损失 合页损失

多分类的情况下,如何计算损失值

七、正则化惩罚

输入为[1,0,0,0]现有2种不同的权重值

w1 = [1,0,0,0]

w2 = [0.25,0.25,0.25,0.25]

w1和w2与输入的乘积都为1,但w2 与每一个输入数据进行计算后都有数据,使得w2会学习到每一个特征信息。而w1只和第1个输入信息有关系,容易出现过拟合现象,因此w2的效果会比w1 好

正则化惩罚的功能:主要用于惩罚权重参数w,一般有L1和L2正则化。

八、梯度下降

1. 偏导数

我们知道一个多变量函数的偏导数,就是它关于其中一个变量的导数而保持其他变量恒定。该函数的整个求导: 例如:计算像 f(b0,b1)=b0x1²* b1x2 这样的多变量函数的过程可以分解如下:

2. 梯度

梯度可以定义为一个函数的全部偏导数构成的向量,梯度向量的方向即为函数值增长最快的方向

3、梯度下降法

一个一阶最优化算法,通常也称为最陡下降法 ,要使用梯度下降法找到一个函数的局部极小值

步长(学习率):梯度可以确定移动的方向。学习率将决定我们采取步长的大小。不易过小和过大 如何解决全局最小的问题?产生多个随机数在不同的位置分别求最小值。

九、BP神经网络

BP(Back-propagation,反向传播)前向传播得到误差,反向传播调整误差,再前向传播,再反向传播一轮一轮得到最优解的。