首页
产品服务
模型广场
Token工厂
算力市场算力商情行业资讯
注册

概率性深度学习(一)

发布日期:2026-03-22 来源:CSDN软件开发网作者:CSDN软件开发网

概率性深度学习(一)

感谢您购买我们的书籍。我们希望这本书能为您揭示深度学习(DL)的内部机制,并为您提供一些关于如何在工作中使用概率深度学习方法灵感的启示。

我们三位作者在统计学方面都有背景。我们于 2014 年一起开始了深度学习的旅程。我们对它如此着迷,以至于深度学习至今仍然是我们职业生涯的中心。深度学习有着广泛的应用范围,但我们特别着迷于将深度学习模型与统计学中使用的概率方法相结合的力量。根据我们的经验,对概率深度学习潜力的深入理解需要深入了解底层方法和实践经验。因此,我们在本书中试图在这两种成分之间找到一个良好的平衡。

前言

在这本书中,我们旨在在讨论涉及的方法之前,提供一些清晰的想法和示例应用。你们也有机会通过使用随书附带的 Jupyter 笔记本,实际应用所有讨论的方法。我们希望你们通过阅读这本书学到的东西,能和我们写作时学到的一样多。祝你们玩得开心,保持好奇心!

致谢

我们想要感谢所有帮助我们撰写这本书的人。特别感谢我们的开发编辑玛琳娜·迈克尔斯,她设法教会了一群瑞士人和德国人如何写出几百字以下的句子。没有她,你们就没有乐趣去解读文本。还要感谢我们的校对员弗朗西斯·伯兰,她在文本(以及公式中)发现了无数的错误和不一致(也要感谢你!)。我们在技术方面也得到了 Al Krinkler 和 Hefin Rhys 的大力支持,使笔记本中的文本和代码更加一致,更容易理解。还要感谢我们的项目编辑迪尔德丽·希姆;我们的校对员凯里·黑尔斯;以及我们的审稿编辑亚历山大·德拉戈萨夫利奇。我们还要感谢审稿人,他们在书的各个阶段提供了非常有价值的反馈:Bartek Krzyszycha、Brynjar Smári Bjarnason、David Jacobs、Diego Casella、Francisco José Lacueva Pérez、Gary Bake、Guillaume Alleon、Howard Bandy、Jon Machtynger、Kim Falk Jorgensen、Kumar Kandasami、Raphael Yan、Richard Vaughan、Richard Ward 和 Zalán Somogyváry。

最后,我们还想感谢理查德·谢泼德,他为本书提供了许多优秀的图形和插图,使书籍不那么枯燥,更加友好。

关于这本书

在这本书中,我们希望将支撑深度学习(DL)的概率原理带给更广泛的读者。最终(几乎),深度学习(DL)中的所有神经网络(NNs)都是概率模型。

有两个强大的概率原理:最大似然和贝叶斯。最大似然(亲切地称为 MaxLike)支配着所有传统深度学习(DL)。将网络视为使用最大似然原理训练的概率模型,可以帮助你提升网络的性能(就像谷歌从 WaveNet 过渡到 WaveNet++时所做的那样)或生成惊人的应用(例如,OpenAI 使用 Glow,一个生成逼真面孔的网络)。在需要网络表示“我不确定”的情况下,贝叶斯方法就派上用场了。(奇怪的是,传统的神经网络无法做到这一点。)本书的副标题“使用 Python、Keras 和 TensorFlow Probability”反映了这样一个事实,即你真的应该亲自动手编写一些代码。

应该阅读这本书的人

这本书是为那些喜欢理解深度学习(DL)底层概率原理的人所写。理想情况下,你应该有一些深度学习(DL)或机器学习(ML)的经验,并且不应该对数学和 Python 代码感到过于恐惧。我们没有省略数学,并且在代码中总是包含了示例。我们相信数学与代码更相得益彰。

这本书的组织结构:路线图

本书分为三部分,共涵盖八章。第一部分解释了传统的深度学习(DL)架构以及神经网络(NNs)的技术训练过程。

  • 第一章–设定场景,并介绍概率深度学习(DL)。
  • 第二章–讨论网络架构。我们涵盖了全连接神经网络(fcNNs),这是一种全能型网络,以及卷积神经网络(CNNs),它们非常适合图像处理。
  • 第三章–展示了神经网络如何拟合数百万个参数。我们尽量简化,展示了在可以想到的最简单网络上的梯度下降和反向传播–线性回归。

第二部分专注于将神经网络作为概率模型使用。与第三部分相比,我们讨论了最大似然方法。这些方法背后是所有传统深度学习(DL)。

  • 第四章——探讨了最大似然(MaxLike),这是机器学习和深度学习的基本原理。我们首先将这个原理应用于分类和(简单的回归问题)。
  • 第五章——介绍了 TensorFlow Probability (TFP),这是一个用于构建深度概率模型的框架。我们用它来解决像计数数据这样的不太简单的回归问题。
  • 第六章——从更复杂的回归模型开始。最后,我们解释了如何使用概率模型来掌握描述人类面部图像等复杂分布。

第三部分介绍了贝叶斯神经网络。贝叶斯神经网络允许你处理不确定性。

  • 第七章——阐述了贝叶斯深度学习的必要性,并解释了其原理。我们再次通过简单的线性回归示例来解释贝叶斯原理。
  • 第八章——展示了如何构建贝叶斯神经网络。在这里,我们涵盖了两种称为 MC(蒙特卡洛)dropout 和变分推理的方法。

关于代码

本书包含许多源代码示例,无论是编号列表还是与普通文本混排。在两种情况下,源代码都以 fixed-width font,如 this 的格式呈现,以将其与普通文本区分开来。

代码示例是从 Jupyter 笔记本中提取的。这些笔记本包含额外的解释,并且大多数都包括一些你应该做的练习,以更好地理解本书中介绍的概念。你可以在 GitHub 上的这个目录中找到所有代码:github.com/tensorchiefs/dl_book/。一个不错的起点是在这个目录 tensorchiefs.github.io/dl_book/,在那里你可以找到笔记本的链接。笔记本是按照章节编号的。例如,nb_ch08_02 是第八章的第二本笔记本。

第一部分. 深度学习基础

本书的第一部分为你提供了一个对概率深度学习(DL)的初步高级理解,以及你可以用它来处理哪些类型的任务。你将了解用于回归(你可以用它来预测一个数字)的不同神经网络架构,以及用于分类(你可以用它来预测一个类别)的架构。你将获得设置 DL 模型的实际经验,学习如何调整这些模型,以及如何控制训练过程。如果你在深度学习方面还没有丰富的经验,你应该在继续学习第二部分的概率深度学习模型之前,完整地学习第一部分。

1 概率深度学习简介

深度学习(DL)是当今数据科学和人工智能领域最热门的话题之一。深度学习自从 2012 年随着 GPU 的广泛应用而变得可行以来,但你可能已经在日常生活的各个领域处理深度学习技术了。当你与数字助手进行语音交流时,当你使用免费的 DeepL 翻译服务(DeepL 是一家基于深度学习生产翻译引擎的公司)将一种语言翻译成另一种语言,或者当你使用像 Google 这样的搜索引擎时,深度学习正在幕后施展其魔法。许多最先进的深度学习应用,如文本到语音翻译,通过使用概率深度学习模型来提升其性能。此外,自动驾驶汽车等安全关键应用使用基于贝叶斯理论的概率深度学习变体。

1.1 概率模型初探

让我们先了解一下概率模型可能的样子以及如何使用它。我们用一个日常生活中的例子来讨论非概率模型和概率模型之间的区别。然后我们用同一个例子来突出概率模型的一些优点。

在我们的车里,我们大多数人使用的是卫星导航系统(简称 satnav,即 GPS),它告诉我们如何从 A 地到 B 地。对于每条建议的路线,satnav 还会预测所需的旅行时间。这种预测的旅行时间可以理解为一种最佳猜测。你知道当你从 A 地到 B 地走相同的路线时,有时需要更多的时间,有时需要更少的时间。但标准的 satnav 是非概率的:它只预测旅行时间的一个值,不会告诉你可能的值范围。例如,看看图 1.1 左侧的面板,你看到两条从纽约的 Croxton 到现代艺术博物馆(MoMA,也在纽约)的路线,预测的旅行时间是 satnav 基于以前的数据和当前道路状况的最佳猜测。

satnav 的旅行时间预测
图 1.1 satnav 的旅行时间预测。在地图的左侧,你看到的是一个确定性版本——只报告一个数字。在右侧,你看到两条路线的旅行时间概率分布。

1.2 深度学习(DL)的初步了解

深度学习(DL)究竟是什么呢?当被要求给出一个简短的电梯式介绍时,我们会说它是一种基于人工神经网络(NN)的机器学习(ML)技术,并且它松散地受到人脑工作方式的启发。在我们给出自己对深度学习(DL)的定义之前,我们首先想给你一个关于人工神经网络(NN)外观的初步概念(见图 1.2)。

人工神经网络模型示例
图 1.2 一个包含三个隐藏层的人工神经网络(NN)模型示例。输入层包含与我们描述输入所需数量相等的神经元。

1.3 分类

让我们来看看非概率性、概率性和贝叶斯概率性分类之间的区别。深度学习因其优于传统方法而闻名,尤其是在图像分类任务中。在深入细节之前,我们想通过一个人脸识别问题来给你一个深度学习方法和更传统的人脸识别方法之间的差异和共性的感觉。作为旁注,人脸识别实际上是让我们最初接触深度学习的应用。

1.4 曲线拟合

我们想在介绍章节的结尾讨论概率和非概率深度学习回归任务中的差异。回归有时也被称为曲线拟合。这让人想起了以下内容:

深度学习所有的令人印象深刻的成就都归结为仅仅是曲线拟合。

–Judea Pearl, 2018

1.5 何时使用和何时不使用深度学习?

最近,深度学习已经取得了几个非凡的成功故事。因此,您可能会问自己是否应该忘记传统的机器学习方法,转而使用深度学习。答案取决于具体情况和任务。在本节中,我们将讨论何时不应使用深度学习以及深度学习有哪些用途。

1.6 本书你将学到什么

本书为您提供了概率深度学习的实战入门。我们将提供练习和代码演示作为 Jupyter 笔记本,让您获得经验,从而更深入地理解概念。为了从本书中受益,您应该已经知道如何运行简单的 Python 程序,以及如何将模型拟合到数据上(如线性回归这样的简单模型即可)。为了深入理解更高级的部分(标题结尾后有星号标记),您应该熟练掌握中级数学,如矩阵代数和微分微积分,以及中级统计学,如解释概率分布。您将学习如何

  • 使用 Keras 框架实现具有不同架构的深度学习模型
  • 实现一个概率深度学习模型,从给定的输入预测整个结果的分布
  • 对于给定的任务,使用最大似然原理和 TensorFlow Probability 框架选择合适的输出分布和损失函数
  • 设置灵活的概率深度学习模型,例如目前用于图像生成和文本到语音翻译的当前最先进模型
  • 构建能够表达不确定性的贝叶斯深度学习模型变体,让您能够识别不可靠的预测

摘要

  • 机器学习(ML)方法是为了使计算机能够从数据中学习而发明的。
  • 人工神经网络(NNs)是机器学习方法,它们从原始数据开始,并将特征提取过程作为模型的一部分。
  • 深度学习(DL)方法是一种称为深度神经网络(NNs),因为它们具有大量的层。
  • 在感知任务中,如抓取图像内容或文本到语音翻译,深度学习优于传统的机器学习方法。
  • 曲线拟合是一种技术,它将模型(曲线或分布)拟合到数据上。
  • 深度学习(DL)方法和曲线拟合相似,并依赖于相同的原则。这些原则是本书的核心。理解这些原则可以让您在准确性、校准以及量化预测的不确定性度量方面构建性能更好的深度学习模型。
  • 概率模型超越了单值预测,并捕捉真实数据的变异性以及模型拟合的不确定性,这有助于做出更好的决策。
  • 概率模型的贝叶斯变体可以帮助识别不可靠的预测。
本文转载自CSDN软件开发网, 作者:CSDN软件开发网, 原文标题:《 概率性深度学习(一) 》, 原文链接: https://blog.csdn.net/wizardforcel/article/details/159330668。 本平台仅做分享和推荐,不涉及任何商业用途。文章版权归原作者所有。如涉及作品内容、版权和其它问题,请与我们联系,我们将在第一时间删除内容!
本文相关推荐
暂无相关推荐
点击立即订阅