Deep Learning by 3Blue1Brown

Deep Learning by 3Blue1Brown

MLP的结构

  • 输入层: 接收原始数据,每个神经元对应一个输入特征。
  • 隐藏层: 位于输入层和输出层之间,包含多个神经元。隐藏层的神经元通过非线性激活函数对输入数据进行变换,从而提取出数据的特征。
  • 输出层: 输出网络的预测结果,神经元的个数取决于任务类型(分类、回归等)。
    MLP(Multi-Layer Perceptron),即多层感知机,是深度学习中最基础的神经网络模型之一。它可以看作是感知机的扩展,通过引入多个隐藏层,使得网络能够学习到更加复杂的非线性映射关系。

Sigmoid函数

也称为S型函数逻辑斯蒂函数,是一种在生物学、信息科学、神经网络等多个领域广泛应用的数学函数。
表达式:f(x) = 1 / (1 + e^(-x))

  • 取值范围: 函数的值域为(0, 1),这使得它可以将任意实数映射到0到1之间的概率值,常用于表示神经元的激活程度。
  • 连续性: Sigmoid函数是连续可导的,这使得它可以用于梯度下降等优化算法。
  • 非线性: Sigmoid函数是非线性的,这使得神经网络能够拟合复杂的非线性关系。
    Sigmoid函数在神经网络中的作用
  • 作为激活函数: Sigmoid函数是早期神经网络中常用的激活函数。它可以将线性输入转化为非线性输出,从而使神经网络具有学习复杂模式的能力。
  • 将输出限制在0-1之间: 在二分类问题中,Sigmoid函数可以将输出解释为属于正类的概率。
    机器学习即是要找到正确的权重的偏置,使代价函数最小化。
    神经网络本身就是一个大型函数。

反向传播算法(Backpropagation,BP)

工作原理:

  1. 前向传播: 输入数据从输入层开始,经过隐藏层,最后到达输出层。每一层的神经元计算加权和,并通过激活函数得到输出。
  2. 计算损失: 将网络的输出与实际的标签进行比较,计算出损失函数的值。常见的损失函数有均方误差、交叉熵损失等。
  3. 反向传播: 从输出层开始,计算损失函数对输出层每个神经元的偏导数。然后利用链式法则,逐层向前计算损失函数对隐藏层和输入层神经元的偏导数。
  4. 更新参数: 根据计算得到的梯度,利用梯度下降法更新网络中的权重和偏置。
    四个计算方程:
  • 误差项 δ 的定义:

    1
    δ^L = ∂C/∂z^L

    其中:

    • δ^L:第 L 层第 j 个神经元的误差项。
    • C:损失函数。
    • z^L:第 L 层第 j 个神经元的输入。
  • 误差项 δ 的计算:

    1
    δ^l = (w^(l+1))^T δ^(l+1) * σ'(z^l)

    其中:

    • w^(l+1):第 l 层到第 l+1 层之间的权重矩阵。
    • σ’(z^l):第 l 层第 j 个神经元的激活函数的导数。
  • 偏置的梯度:

    1
    ∂C/∂b^l_j = δ^l_j
  • 权重的梯度:

    1
    ∂C/∂w^l_jk = a^(l-1)_k δ^l_j

    其中:

    • a^(l-1)_k:第 l-1 层第 k 个神经元的输出。

随机梯度下降(Stochastic Gradient Descent,SGD)

SGD 的主要特点在于每次迭代只随机选取一个样本(或一小批样本)来计算梯度,并根据这个梯度来更新参数。

gpt

GPT,全称Generative Pre-trained Transformer,中文翻译为生成式预训练变换器。
Transformer架构: GPT模型的核心是Transformer架构。Transformer是一种神经网络架构,特别适合处理序列数据,如文本。它利用自注意力机制,让模型能够关注输入序列的不同部分,从而更好地理解文本的上下文。
word embedding过后方向可以代表语义。

softmax函数

它的作用是将一个任意实数的K维向量“压缩”到另一个K维实向量中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。换句话说,它将输入的数值转化为一个概率分布。其输入称为logits,输出称为probabilities。
Softmax函数引入温度参数后的形式:

1
y_i = exp(z_i / T) / Σ(exp(z_j / T))
  • y_i: 输出向量y的第i个元素,表示输入数据属于第i类的概率。
  • z_i: 输入向量z的第i个元素。
  • T: 温度参数。
    高温度 (T较大): 概率分布会变得更加平滑,各类别之间的概率差异减小,模型会倾向于给所有类别分配较高的概率。这在一些场景下可以增加模型的探索性,例如在生成模型中生成多样化的样本。 低温度 (T较小): 概率分布会变得更加尖锐,模型会更加自信地将概率分配给最有可能的类别。这在需要模型做出明确决策的场景下非常有用,例如分类任务。

注意力机制

它允许模型在处理大量输入数据时,有选择性地关注其中最相关的部分,从而提升模型的性能。
数学表达:

1
Attention(Query, Key, Value) = softmax(Query * Key^T / sqrt(d_k)) * Value
  • Query: 表示当前需要关注的元素。
  • Key: 表示所有输入元素的键。
  • Value: 表示所有输入元素的值。
  • softmax: 将相似度转化为概率分布。
  • d_k: 是Key向量的维度。

掩码

通常,掩码是一个与输入序列长度相同的向量,每个元素的值为0或1。值为0的位置会被屏蔽,即在计算注意力权重时,这些位置的权重会被设置为一个非常小的负数(例如-inf),从而使得softmax函数将这些位置的概率归为0。
掩码的应用场景

  • 机器翻译: 防止模型在翻译过程中“偷看”目标序列。
  • 文本生成: 确保生成的文本是连贯的,符合语法规则。
  • 问答系统: 控制模型只关注与问题相关的部分。

Deep Learning by 3Blue1Brown
https://blakehansen130.github.io/2024/10/15/3Blue1Brown/
发布于
2024年10月15日
许可协议