花书《Deep Learning》学习笔记 —— 数学篇(1)

花书学习笔记 —— 数学篇(1)

前言:入坑深度学习一年有余,突感各方面基础仍有待加强,因此打算从Goodfellow大神的《Deep Learning》(俗称花书)入手,开始"回炉重造"。

为了辅助本人对Diffusion的学习,本篇先从概率论、信息论以及数理统计开始。

1. 概率和随机变量

概率可以表示一种信任度,对于概率而言,讨论时有两种观念,一种是频率学派的观念,一种是贝叶斯学派的观念。前者认为概率是一个确定的值,与事件发生的频率有关;而后者则认为概率建立在我们的认知水平上,是通过观测的事实(数据)来影响认知,最终求得时间的确定性水平(贝叶斯公式含义的一种著名的解读),讲道理感觉频率学派和贝叶斯学派的比较已经到哲学层面了doge

从机器学习的角度来说,对于频率学派,我们要训练一个模型来预测结果,这个模型的最优参数其实是确定的,我们得到的要求结果的概率可以有函数:
P ( x ∣ θ ) P(x|θ) P(xθ)表示在模型参数条件θ下求得结果x的概率,若前者确定,后者未知,则该函数为概率函数;反之,我们称之为似然函数——说到这,就不得不想到最大似然估计~我们后面会提到。
对于贝叶斯学派,我们可以看贝叶斯公式: P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B) = \frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)简单而言,就是我们已有先验概率P(A),似然概率P(B|A)来自于我们对已发生的随机事件的观测,它对先验概率做调整,得到后验概率P(A|B)。
随机变量可以随机取得不同数值,表示不同的状态,用概率分布来表征不同状态的可能性。

2. 概率分布

概率质量函数表示离散随机变量在某一状态的概率: P ( X = x ) = P ( x ) P(X=x) = P(x) P(X=x)=P(x)概率密度函数,则表示对于连续型随机变量,在极小的取值区间内(单位质量)的概率: ∫ a b p ( x ) d x \int_{a}^{b}p(x)dx abp(x)dx累计分布函数,注意到是概率质量函数的累加或者是概率密度函数的积分: P ( X < x ) = P ( x ) P(X<x) = P(x) P(X<x)=P(x)

3. 条件概率和数据统计特征

  • 条件概率
    条件概率,指的是在某一个时间发生情况下的另一个事件发生的概率,从古典概型的视角来看,在某个事件发生后,改变了另一个事件的样本空间,计算公式如下: P ( A ∣ B ) = P ( A , B ) P ( B ) P(A|B) = \frac{P(A,B)}{P(B)} P(AB)=P(B)P(A,B) 链式法则: P ( A , B , C ) = P ( A ∣ B , C ) ∗ P ( B ∣ C ) ∗ P ( C ) P(A,B,C) = P(A|B,C)*P(B|C)*P(C) P(A,B,C)=P(AB,C)P(BC)P(C)

  • 独立性
    若两个随机变量独立,$ P(AB)=P(A)P(B) $
    若两个随机变量条件独立,则 $ P(AB|C) = P(A|C)P(B|C) $

  • 期望、方差、协方差
    以离散型随机变量为例,f(x)是某一基于随机变量x的线性映射 E x ∼ P = ∑ x P ( x ) f ( x ) E_{x\sim P} = \sum_x{P(x)f(x)} ExP=xP(x)f(x)方差是 V a r ( f ( x ) ) = E [ ( f ( x ) − E ( f ( x ) ) 2 ] Var(f(x)) = E[(f(x)-E(f(x))^2] Var(f(x))=E[(f(x)E(f(x))2]协方差则是: C o v ( f ( x ) , g ( y ) ) = E [ ( f ( x ) − E ( f ( x ) ) ] E [ ( g ( y ) − g ( f ( y ) ) ] Cov(f(x),g(y)) = E[(f(x)-E(f(x))]E[(g(y)-g(f(y))] Cov(f(x),g(y))=E[(f(x)E(f(x))]E[(g(y)g(f(y))]协方差给出了两个随机变量的线性相关的强度,可以认为是二者变化的一致性程度,如果上述公式不减去均值,就是我们熟悉的互相关函数,描述了两个变量之间相关程度(理解成两个向量之间的夹角)。

4. 概率分布

  • Bernoulli分布
    单个二值函数的随机变量分布, P ( X = x ) = p x p 1 − x P(X=x) = p^xp^{1-x} P(X=x)=pxp1x其中x=0或1,p为随机变量等于1的概率。
  • Multinoulli分布
    指在具有k个不同状态的单个离散随机变量上的分布,其中k为一个有限值,就是不同的状态的概率集合对应的分布。
  • 高斯分布 N ( x ; μ , σ 2 ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 N(x;μ,σ^2) = \sqrt{\frac{1}{2πσ^2}}e^{-\frac{(x-μ)^2}{2σ^2}} N(x;μ,σ2)=2πσ21 e2σ2(xμ)2一般会把 σ 2 σ^2 σ2 改成 β − 1 β^{-1} β1
    网络图片地址
    中心极限定理表示,很多独立同分布的随机变量的和会逼近正态分布,正态分布是对模型加入先验知识最少的分布。
  • 指数分布 p ( x ; λ ) = λ e − λ x p(x;λ) = λe^{-λx} p(x;λ)=λeλx其中,x非负。
  • 狄拉克分布/经验分布
    狄拉克分布就是所有概率集中到一个狄拉克函数上,经验分布则是把概率分布给不同中心的狄拉克函数上。
  • 分布混合
    通过一些简单的概率分布的组合定义新的概率分布,重点讲高斯混合模型。
    简单理解用一系列不同特征的高斯分布组合逼近任意平滑的分布。 P ( x ∣ θ ) = ∑ α k N ( x ∣ θ k ) ; θ k = ( μ k , σ k 2 ) P(x|θ)=\sum{α_kN(x|θ_k)} ; θ_k={{(μ_k,{σ_k^2)}}} P(xθ)=αkN(xθk);θk=(μk,σk2)GMM模型可以看作是由 K 个单高斯模型组合而成的模型,这 K 个子模型是混合模型的隐变量(Hidden variable)

可以将 GMM 称为 概率的KMeans,因为 KMeans 和 GMM 的起点和训练过程是相同的。 KMeans 使用基于距离的方法,而 GMM 使用概率方法。

5. 常用函数

  • logistic sigmoid 函数
    这个函数重要性不言而喻,是接触深度学习必不可少的激活函数之一: σ ( x ) = 1 1 + e − x σ(x) = \frac{1}{1+e^{-x}} σ(x)=1+ex1该函数可以把输入压缩到(0,1)之间,可以用于逻辑回归、分类等,在神经网络中,要用反向传播,就要对它求导,其导数为:$ σ^{'}(x) = σ(x)(1-σ(x)) $
  • Relu函数
    f ( x ) = m a x ( 0 , x ) f(x) = max(0, x) f(x)=max(0,x)这是一个仿照神经兴奋电位变化的单侧抑制函数,容易求导,而由于大于零的部分导数为1,相对于其它双侧抑制函数(输入较大较小时都有很强的抑制,比如sigmoid),避免了在输入较大时,导数值很小,可以有效缓解梯度消失(导致参数迭代缓慢)问题。同时,由于在输入小于零时输出为零。同时,该函数还可以把输出小于零的神经元灭活,提供稀疏性,抵抗过拟合。当然,要注意该函数可能“灭活过度”,会导致神经元大面积死亡。

  • softplus
    f ( x ) = l o g ( 1 + e x ) f(x) = log(1+e^x) f(x)=log(1+ex)
    这是Relu函数的一个软化

激活函数还有softmax函数、tanh函数等。

5. 贝叶斯规则和马尔可夫链简述

  • 贝叶斯规则
    P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B) = \frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)如之前所言而言,就是我们已有先验概率P(A),似然概率P(B|A)来自于我们对已发生的随机事件的观测,它对先验概率做调整,得到后验概率P(A|B)。
    进一步用全概率公式,可以得到:
    P ( A i ∣ B ) = P ( B ∣ A i ) P ( A i ) ∑ A i P ( B ∣ A i ) P ( A i ) P(Ai|B) = \frac{P(B|Ai)P(Ai)}{\sum_{Ai}{P(B|Ai)P(Ai)}} P(AiB)=AiP(BAi)P(Ai)P(BAi)P(Ai),因此我们甚至不需要知道B事件的先验概率。
  • 马尔可夫过程
    下一个状态只和当前状态有关,而和过去的状态无关,从条件按概率来看, P ( X t + 1 ∣ X t , X t − 1 , . . . ) = P ( X t + 1 ∣ X t ) P(X_{t+1}|X_t, X_{t-1}, ...) = P(X_{t+1}|X_t) P(Xt+1Xt,Xt1,...)=P(Xt+1Xt)当马尔克可夫链迭代步数足够大时,各个状态的概率密度分布逼近正态分布,我们可以将状态之间的转移描述成一个概率矩阵,那么当一次次迭代时,相当于当前的离散状态概率分布乘以这个矩阵,若想要最终稳定,当前概率分布和下一个概率分布相同,其实就是找到该矩阵的特征向量
    之前条件概率有一个链式法则,那么若加上马尔可夫性质,有一个事件链 C − > B − > A C->B->A C>B>A则我们可以得到: P ( A B C ) = P ( A ∣ B , C ) P ( B ∣ C ) P ( C ) = P ( A ∣ B ) P ( B ∣ C ) P ( C ) P(ABC) = P(A|B,C)P(B|C)P(C) = P(A|B)P(B|C)P(C) P(ABC)=P(AB,C)P(BC)P(C)=P(AB)P(BC)P(C)

6. 信息的度量和最大似然估计

在信息论中,我们定义了事件的信息 I ( x ) = − l o g P ( x ) I(x)=-logP(x) I(x)=logP(x) 这也可以成为事件的自信息,若一个事件遵循某一个分布,那遵循这个分布的事件(数据)所产生的期望总量被定义为香农熵: H ( x ) = − E x ∼ P [ L o g ( P ( x ) ] H(x)=-E_{x\sim P}[Log(P(x)] H(x)=ExP[Log(P(x)]顺道一提,根据香农第一定理,这个也是无失真信源编码的最小码长。注意到,分布越均匀,熵越大
其实,我们可以根据得到的数据,通过香农熵等手段,来估计其对应的分布,这就涉及到了K-L散度(Kullbuck-Leibler divergence): D K L ( P ∣ ∣ Q ) = E x ∼ P [ l o g P ( x ) − l o g Q ( x ) ] D_{KL}(P||Q)=E_{x\sim P}[logP(x)-logQ(x)] DKL(P∣∣Q)=ExP[logP(x)logQ(x)] KL散度描述了两个分布之间的“距离”,可以很自然联想到,我们若想通过神经网络预测真实值,训练时的优化目标也就可以是使得预测值的分布逼近真实值分布。
在损失函数中,我们经常会使用交叉熵函数,其表达式如下: H ( P , Q ) = − E x ∼ P [ l o g Q ( x ) ] H(P,Q) = -E_{x\sim P}[logQ(x)] H(P,Q)=ExP[logQ(x)] 交叉熵就相当于KL散度减去已知样本分布的信息熵,因为后者可以认为是一个常数,所以在最小化KL散度时,可以等价于最小化交叉熵。
应用角度而言:

  • 交叉熵通常用于监督学习任务中,如分类和回归等。在这些任务中,我们有一组输入样本和相应的标签。我们希望训练一个模型,使得模型能够将输入样本映射到正确的标签上。
  • KL散度通常用于无监督学习任务中,如聚类、降维和生成模型等。在这些任务中,我们没有相应的标签信息,因此无法使用交叉熵来评估模型的性能,所以需要一种方法来衡量模型预测的分布和真实分布之间的差异,这时就可以使用KL散度来衡量模型预测的分布和真实分布之间的差异。

我们通常会听说某些模型是最大似然估计的模型,比如一些生成模型(e.g. Diffusion),那么,KL散度也好,交叉熵也好,和最大似然估计有什么关系呢?
我们从最小化交叉熵出发,最小化交叉熵是希望模型θ预测的分布最接近真实分布,设从数据集中抽出m个样本 x 1 , x 2 , . . . x m   {x_1,x_2,...x_m}~ x1,x2,...xm  预测的分布为 Q θ ( x i ) Q_θ(x_i) Qθ(xi),真实分布为 P ( x i ) P(x_i) P(xi),那么最大似然估计是最大化似然函数: L ( θ ) = 1 m ∑ i = 1 m l o g ( Q θ ( x i ) ) L(θ) = \frac{1}{m}\sum^m_{i=1}{log(Q_θ(x_i))} L(θ)=m1i=1mlog(Qθ(xi))但是,数据集抽取足够大时, x i x_i xi 服从 P ( x ) P(x) P(x)分布,那么对所有样本求和除以总数可以等价于每个 l o g ( l o g ( Q θ ( x i ) ) ) log(log(Q_θ(x_i))) log(log(Qθ(xi)))前面加权求均值,似然函数化为 L ( θ ) = 1 m ∑ i = 1 m l o g ( Q θ ( x i ) ) = ∑ i = 1 n P ( x i ) l o g ( Q θ ( x i ) ) = E x ∼ P [ l o g Q θ ( x ) ] L(θ) = \frac{1}{m}\sum^m_{i=1}{log(Q_θ(x_i))} = \sum^n_{i=1}{P(x_i)log(Q_θ(x_i))} = E_{x\sim P}[logQ_θ(x)] L(θ)=m1i=1mlog(Qθ(xi))=i=1nP(xi)log(Qθ(xi))=ExP[logQθ(x)]可以看到,最大似然函数最后化为了交叉熵函数的相反数,因此最大化最大似然函数就等价于最小化交叉熵。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 花皮书Deep Learning是一本关于深度学习的权威教材。深度学习是一种机器学习方法,通过模拟人脑神经网络的结构和工作原理,实现对大规模数据的高效处理和分析。花皮书Deep Learning涵盖了深度学习的各个方面,从基础理论到实践应用都进行了详细的介绍和阐述。 该书主要分为五个部分:深度学习基础、深度神经网络、卷积神经网络、递归神经网络以及实践方法。在深度学习基础部分,书中介绍了深度学习的概念、基本原理、优化算法等,为读者打下了坚实的理论基础。接着,深度神经网络部分详细介绍了多层感知机、反向传播算法等经典的深度学习模型。卷积神经网络部分则重点介绍了卷积神经网络在计算机视觉领域的应用。递归神经网络部分则介绍了递归神经网络在自然语言处理等领域的应用。最后,实践方法部分向读者介绍了如何进行深度学习项目的设计、数据准备、模型调优等实际操作。 花皮书Deep Learning的特点在于既深入浅出地介绍了深度学习的核心概念和原理,又通过大量实际案例和代码示例,帮助读者理解和应用深度学习算法。该书适合广大学者、研究人员和从业者参考和学习,是深度学习领域的一本不可或缺的经典著作。 ### 回答2: 花皮书Deep Learning是一本关于深度学习的教材,由花书团队编写整理而成。深度学习是一种机器学习的方法,致力于实现人工智能系统的高效学习与模式识别能力。 花皮书Deep Learning以其深入浅出的风格,从理论到实践,全面介绍了深度学习的基本概念、算法和应用。书中结合了大量的示例和案例,旨在帮助读者理解和应用深度学习技术。 该书首先介绍了神经网络的基本原理,包括神经元、激活函数和权重更新等概念。随后,作者详细介绍了各种深度学习算法,如前馈神经网络、卷积神经网络和递归神经网络等。此外,书中还讲述了深度学习的训练和优化方法,如反向传播算法和梯度下降法,以及正则化和批归一化等技术。 花皮书Deep Learning还涉及了深度学习在计算机视觉、语音识别和自然语言处理等领域的应用。读者可以通过阅读本书,了解到深度学习技术在图像分类、目标检测和语义分析等任务中的卓越表现,并掌握相应的实现方法。 总而言之,花皮书Deep Learning是一本全面且深入浅出的深度学习教材。它适合从事人工智能研究或从事相关领域工作的读者,也可作为高校计算机科学与技术专业的教材使用。阅读本书将帮助读者掌握深度学习技术的基本原理和实践方法,从而为人工智能的发展和应用做出贡献。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值