Bishop新著 - 深度学习:基础与概念 - 前言

译者的话

十几年前,笔者在MSRA实习的时候,就接触到了Christopher M, Bishop的经典巨著《Pattern Recogition and Machine Learning》(一般大家简称为PRML)。Bishop大神是微软剑桥研究院实验室主任,物理出身,对机器学习的基本概念和思想解释的深入浅出,鞭辟入里。以至于这本书被当时从事机器学习和AI方向的研究者奉为圣经。许多同学如饥似渴的阅读全书,连每道习题都不放过。
在这里插入图片描述
进入深度学习时代之后,很多同学对经典的机器学习算法不屑一顾,只专注于DL各种网络的最新进展。从实用的角度本无可厚非,但是从深入理解理论背后原理的角度出发,阅读Bishop的书将会让你终身受益。2023年11月,Bishop大神又出新作《Deep Learning - Foundations and Concepts》,这本书是关于深度学习的基础理论和概念,涵盖了神经网络基础、卷积神经网络、Transformer、生成式建模等一系列技术前沿。大神出手自不凡,相信任何读者只要认真阅读本书,一定能获得大的收获。

声明:对本书的翻译仅出于技术学习之目的,任何盈利性行为请与Springer出版社和原作者联系。
在这里插入图片描述

前言

深度学习利用大规模数据训练的多层神经网络来解决复杂的信息处理任务,已经成为机器学习领域最成功的范式。在过去的十年中,深度学习彻底改变了计算机视觉、语音识别和自然语言处理等多个领域,并且正在越来越多的应用中被使用,涵盖医疗保健、制造业、商业、金融、科学发现等众多行业。最近,所谓的大语言模型(LLM),包括数万亿可学习参数,已经开始展现出第一批通用人工智能(AGI)的特征,正在引领技术发展历史上最大规模的颠覆性变革。

本书目标

随着深度学习影响力的不断扩大,机器学习研究论文的数量和广度也出现了爆炸式增长,创新速度还在不断加快。对于该领域的新人来说,适应关键思想的难度很大,更不用说赶上研究前沿了,这无疑令人望而生畏。基于这一背景,《深度学习:基础与概念》旨在为机器学习的新人以及该领域的老手提供深度学习基础思想与关键概念与架构的透彻理解。这些内容将帮助读者奠定坚实的基础,以便日后进行深入专研。由于该领域的广度与变化速度,我们故意避免构建最新研究的全面综述。相反,本书的价值在很大程度上来源于对关键思想的提炼,尽管该领域本身预计会持续快速进步,但这些基础与概念可能经得起时间的检验。例如, 撰写本书之时,大语言模型正在快速演进, 然而其中的transformer架构和attention机制在过去5年基本保持不变。同时,许多机器学习的核心原则在几十年前已经被人们所知。

对技术的负责任使用

深度学习是一个应用广泛的强大技术,有潜力为世界创造巨大价值并解决一些社会最紧迫的挑战。然而, 这些属性同样也意味着深度学习可能被人为误用或造成意外伤害。本书中,我们选择不讨论深度学习使用的伦理或社会方面的内容,因为这些题材意义重大且复杂,不适合在如此技术性的教科书中深入探讨。然而,这些重要讨论需要建立在对基础技术及其工作原理的扎实理解之上,因此我们希望这本书能对其做出有价值的贡献。尽管如此,我们还是强烈建议读者在学习技术本身的同时,也要意识到其工作的更广泛影响,并了解深度学习和人工智能的负责任使用方式。

本书结构

本书被结构化为相对较多的小章节,每个章节探讨一个具体的主题。全书采用线性结构,也就是说每一章只依赖于之前章节的内容。它非常适合作为本科生或研究生的两学期深度学习课程教材,同样也适用于主动研究或自学的人群。

只有运用一定水平的数学工具才能对机器学习形成清晰的理解。具体来说, 概率论、线性代数和多变量微积分(Multivariate Calculus)这三个数学领域构成了机器学习的核心。本书对所需的概率论概念进行了自包含(Self-contained)的介绍,还包含一个总结了一些有用线性代数结果的附录(Appendix)。我们假设读者已经对多变量微积分的基本概念有一定的熟悉度,尽管这里也包含了变分法(the calculus of variations)和拉格朗日乘子法(Lagrange multiplier)的入门附录。然而,本书的重点在于传达清晰的思想理解,我们强调那些实际应用价值的技术而不是抽象理论。在可能的情况下,我们尝试从文本描述、图示和数学公式等多个互补的角度呈现较复杂的概念。此外,文本中讨论的许多关键算法以独立的框架进行了总结。这些内容不涉及计算效率问题,而是作为数学解释的有益补充。因此,我们希望本书的内容对不同背景的读者来说都是可理解的。

从概念上讲,这本书可以看作是《Neural Networks for Pattern Recognition》(Bishop, 1995b) 的后续版本,后者从统计角度对神经网络进行了首次全面处理。它也可以视为《Pattern Recogition and Machine Learning》(Bishop, 2006)的配套读物,尽管后者较早于深度学习革命,但也讨论了更广泛的机器学习主题。但是,为确保这本新书的独立性,我们从 Bishop (2006)中吸收了适当的内容,重构并关注那些深度学习所需的基础思想。这意味着 Bishop (2006) 中讨论了许多时至今日仍然有趣的机器学习 topics 被省略了。例如,Bishop (2006)深入讨论了贝叶斯方法,而本书几乎全部采用非贝叶斯视角。

本书附带一个网站,提供辅助材料,包括免费使用的数字书版本以及习题解答和图版的 PDF 和 JPEG 格式下载:

https://www.bishopbook.com

本书可使用以下 BibTex 条目引用:

@book{Bishop:DeepLearning24,
author = {Christopher M. Bishop and Hugh Bishop},
title = {Deep Learning: Foundations and Concepts},
year = {2024},
publisher = {Springer}
}

如果您对本书有任何反馈或想报告任何错误,请发送至 feedback@bishopbook.com

参考文献

为了聚焦于核心思想,我们不会提供全面的文献综述,鉴于该领域的规模和变化速度,这本身就是不可能的。然而,我们确实参考了一些关键的研究论文以及进一步阅读的综述文章和其他来源。在许多情况下,这些文献也提供了文本中略过(以免使读者分心)的重要实现细节。

已经有许多关于机器学习一般和深度学习特定的书籍问世。与本书风格和水平最接近的包括 Bishop (2006)、Goodfellow、Bengio 和 Courville (2016)、Murphy (2022)、Murphy (2023)以及 Prince (2023)。

在过去十年中,机器学习学术研究的性质发生了重大变化。现在很多论文在正式提交会议和期刊进行同行评审之前或者代替传统渠道只是发布在网上的archival网站上。其中最流行的站点是 arXiv(读音为“archive”),网址为

https://arXiv.org

该站点允许对论文进行更新,通常会产生与不同年份相关的多个版本,这会导致某些引用年份方面的歧义。它还可以免费访问每篇论文的 PDF。因此,我们采用了简单的方法,即根据首次上传的年份来引用论文,不过我们推荐阅读最新版本。

arXiv 上的论文使用符号 arXiv:YYMM.XXXXX 进行索引,其中 YY 和 MM 分别表示首次上传的年和月。后续版本添加版本序号 N 的形式为 arXiv:YYMM.XXXXXvN。

习题

每章结尾都有一组习题,旨在加强文本中解释的关键思想或以重要方式对其进行发展和推广。这些习题构成文本的重要组成部分,并根据难度划分等级,从( ⋆ \star ),表示简单的几分钟就能完成的习题,到( ⋆ ⋆ ⋆ \star\star\star ),表示明显更复杂的习题。我们强烈建议读者尝试这些习题,因为积极参与习题部分将大大增强学习效果。所有习题的解答可作为 PDF 文件从本书网站下载。

数学符号

我们遵循 Bishop (2006) 中的相同符号表示法。有关机器学习背景下的数学概览,请参阅 Deisenroth、Faisal 和 Ong (2020)。

向量用小写粗体罗马字母表示,如 x \boldsymbol{x} x,矩阵用大写粗体罗马字母表示,如 M \boldsymbol{M} M。除非另有说明,所有向量均视为列向量。上标 T T T 表示矩阵或向量的转置,因此 x T \boldsymbol{x}^T xT 将是一个行向量。符号 ( w 1 , . . . , w M ) (w_1,...,w_M) (w1,...,wM) 表示一个有 M M M 个元素的行向量,相应的列向量写为 w = ( w 1 , . . . , w M ) T \boldsymbol{w} = (w_1,...,w_M)^T w=(w1,...,wM)T M × M M \times M M×M 的单位矩阵(也称为 identity matrix)表示为 I M \boldsymbol{I}_M IM,如果其维度明确则简写为 I \boldsymbol{I} I。其元素 I i j \boldsymbol{I}_{ij} Iij 等于 1( i = j i = j i=j)或者 0( i ≠ j i \neq j i=j)。单位矩阵的元素有时也用 δ i j \delta_{ij} δij 来表示。符号 1 \boldsymbol{1} 1 表示所有元素值为 1 的列向量。 a ⊕ b \boldsymbol{a} \oplus \boldsymbol{b} ab 表示向量 a \boldsymbol{a} a b \boldsymbol{b} b 的连接(concatenation),因此,如果 a = ( a 1 , . . . , a N ) \boldsymbol{a} = (a_1,...,a_N) a=(a1,...,aN) b = ( b 1 , . . . , b M ) \boldsymbol{b} = (b_1,...,b_M) b=(b1,...,bM),则 a ⊕ b = ( a 1 , . . . , a N , b 1 , . . . , b M ) \boldsymbol{a} \oplus \boldsymbol{b} = (a_1,...,a_N,b_1,...,b_M) ab=(a1,...,aN,b1,...,bM) ∣ x ∣ |x| x 表示标量 x x x 的模(非负值),也称为绝对值。我们用 det  A \text{det} \ \boldsymbol{A} det A 表示矩阵 A \boldsymbol{A} A 的行列式。

符号 x ∼ p ( x ) x \sim p(x) xp(x) 表示 x x x 从分布 p ( x ) p(x) p(x) 中随机采样。如有歧义,我们会使用下标表示所指分布,例如 p x ( ⋅ ) p_x(\cdot) px()。函数 f ( x , y ) f(x, y) f(x,y) 关于随机变量 x x x 的期望表示为 E x [ f ( x , y ) ] \mathbb{E}_x[f(x, y)] Ex[f(x,y)]。如果期望所关的变量没有歧义,我们会省略下标简写为 E [ x ] \mathbb{E}[x] E[x]。 如果 x x x 的分布取决于另一个变量 z z z,相应的条件期望表示为 E x [ f ( x ) ∣ z ] \mathbb{E}_x[f(x)|z] Ex[f(x)z]。类似地, f ( x ) f(x) f(x) 的方差表示为 var [ f ( x ) ] \text{var}[f(x)] var[f(x)],对于向量变量,协方差写为 cov [ x , y ] \text{cov}[\boldsymbol{x}, \boldsymbol{y}] cov[x,y]。我们也会将 cov [ x ] \text{cov}[\boldsymbol{x}] cov[x] 作为 cov [ x , x ] \text{cov}[\boldsymbol{x}, \boldsymbol{x}] cov[x,x] 的简写。

符号 ∀ \forall 表示“对于所有(for all)”,因此 ∀ m ∈ M \forall m∈\mathcal{M} mM 表示集合 M \mathcal{M} M 中的所有 m m m 值。我们用 R \mathbb{R} R 表示实数集。在图(graph)中,节点 i i i 的邻居集合表示为 N ( i ) \mathcal{N}(i) N(i),不应与高斯分布或正态分布 N ( x ∣ μ , σ 2 ) \mathcal{N}(x|\mu,\sigma^2) N(xμ,σ2) 混淆。泛函表示为 f [ y ] f[y] f[y],其中 y ( x ) y(x) y(x) 是某个函数。泛函的概念在附录 B 中讨论。花括号 { } \{ \} {} 表示一个集合。记号 g ( x ) = O ( f ( x ) ) g(x) = \mathcal{O}(f(x)) g(x)=O(f(x)) 表示随着 x → ∞ x \rightarrow \infty x, ∣ f ( x ) / g ( x ) ∣ |f(x)/g(x)| f(x)/g(x) 有界。例如,如果 g ( x ) = 3 x 2 + 2 g(x) = 3x^2 + 2 g(x)=3x2+2,则 g ( x ) = O ( x 2 ) g(x) = \mathcal{O}(x^2) g(x)=O(x2)。符号 ⌊ x ⌋ \lfloor x \rfloor x 表示 x x x 的下整,即小于或等于 x x x 的最大整数。

如果我们有 N N N 个独立同分布(i.i.d.)的 D D D 维向量 x = ( x 1 , ⋯ , x D ) T \boldsymbol{x} = (x_1, \cdots, x_D)^T x=(x1,,xD)T 的取值 x 1 , . . . , x N \boldsymbol{x}_1,...,\boldsymbol{x}_N x1,...,xN,我们可以将这些观测组合成一个 N × D N×D N×D 维的数据矩阵 X \boldsymbol{X} X,其中 X \boldsymbol{X} X 的第 n n n 行对应第 n n n 个观测 x n T \boldsymbol{x}_n^T xnT。因此, X \boldsymbol{X} X 的第 n n n 行第 i i i 列元素对应第 n n n 个观测向量 x n x_n xn 的第 i i i 个元素,表示为 x n i x_{ni} xni。对于一维变量,我们用 x \mathsf{x} x 表示这种矩阵,它实际上是列向量,其第 n n n 个元素为 x n x_n xn。注意 x \mathsf{x} x(维数为 N N N)与 x \boldsymbol{x} x(维数为 D D D)采用不同字形以示区分。

致谢

我们衷心感谢很多人审阅了本书的章节草稿(draft)并提供了宝贵的反馈。特别需要感谢的包括 Samuel Albanie、Cristian Bodnar、John Bronskill、Wessel Bruinsma、Ignas Budvytis、Chi Chen、Yaoyi Chen、Long Chen、Fergal Cotter、Sam Devlin、Aleksander Durumeric、Sebastian Ehlert、Katarina Elez、Andrew Foong、Hong Ge、Paul Gladkov、Paula Gori Giorgi、John Gossman、Tengda Han、Juyeon Heo、Katja Hofmann、Chin-Wei Huang、Yongchaio Huang、Giulio Isacchini、Matthew Johnson、Pragya Kale、Atharva Kelkar、Leon Klein、Pushmeet Kohli、Bonnie Kruft、Adrian Li、Haiguang Liu、Ziheng Lu、Giulia Luise、Stratis Markou、Sergio Valcarcel Macua、 Krzysztof Maziarz、Matěj Mezera、Laurence Midgley、Usman Munir、Félix Musil、Elise van der Pol、Tao Qin、Isaac Reid、David Rosenberger、Lloyd Russell、Maximilian Schebek、Megan Stanley、Karin Strauss、Clark Templeton、Marlon Tobaben、Aldo Sayeg Pasos-Trejo、Richard Turner、Max Welling、Furu Wei、Robert Weston、Chris Williams、Yingce Xia、Shufang Xie、Iryna Zaporozhets、Claudio Zeni、Xieyuan Zhang 等许多同事。他们通过宝贵的讨论做出了重要贡献。

我们还要感谢 Springer 出版社的主编 Paul Drougas 以及许多 Springer 同事的支持,特别是 Jonathan Webley 等进行书稿修订的同事。

我们需要向 Markus Svensén 表示特别谢意。他对 Bishop (2006) 的插图和 LaTeX \LaTeX LATEX 排版提供了巨大帮助,包括被新书采用的 LaTeX \LaTeX LATEX 样式文件。我们也感谢许多科学家允许我们转载他们已发表工作中的图表。特定图片的致谢信息出现在相关图片标题中。

Chris 需要向微软表示诚挚的谢意。微软创建了一个高度激发灵感的研究环境并提供了写这本书的机会。然而,本书中表达的观点和意见是作者自己的,不一定代表微软或其关联公司的观点。这本书起源于第一次新冠疫情封锁期间一个联合项目,与儿子 Hugh 合作准备这本书是一项巨大的特权和乐趣。

Hugh 想感谢 Wayve Technologies Ltd.慷慨地允许他兼职工作,以便与Chris 合作写这本书。同时,Wayve也为他提供了鼓舞人心且互相支持的学习工作环境。本书中表达的观点未必代表 Wayve 或其关联公司的观点。他想对他的未婚妻 Jemima 表示感谢,感谢她的坚定支持和在语法和书面表达方式方面的咨询。他还想感谢父亲(Chris),在他的成长道路上,Chris 一直是他的楷模和启发。

最后,我们都想对家人 Jenna 和 Mark 表示无限的谢意。我们似乎已经记不清当年我们一家站在安塔利亚(Antalya)海滩上观赏日食,并为《Pattern Recogition and Machine Learning》的致谢页拍了一张全家福的情景了。

Chris Bishop 和 Hugh Bishop
剑桥,英国
2023年10月

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

客户销售目标拆解:数据驱动的方法和策略

写在开头 在当今竞争激烈的商业环境中,企业需要更加精准地制定销售目标以实现业务增长。数据驱动的方法在这一过程中扮演着关键的角色,帮助企业深入了解客户特征、行为和需求。本篇博客将深入探讨销售目标拆解在企业管理中的重要性,并介绍如何利用数据驱动的方法和策略来制…

免费数据采集软件,多种数据采集方式

数据无疑是企业决策的关键驱动力。要充分利用数据,就需要进行数据收集,而数据采集的方式多种多样。 数据采集方式的丰富多彩 数据采集并非一蹴而就的简单任务,而是一个多层次、多步骤的过程。在这个过程中,我们有着多种数据采集…

VS2022配置WinPcap开发

winpcap 官网:http://www.winpcap.org/ 1.首先下载安装 winpcap.exe,http://www.winpcap.org/install/default.htm 目的是安装相关驱动和 dll,安装完成之后基于 winpcap 的应用程序才能够正常运行。 2.下载 winpcap 的开发包,头文…

FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(三十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

如何判断台灯是否伤眼?分享考研必备的护眼台灯

台灯可以说是我们日常生活中必不可少的一盏灯具,可以在夜晚的时候给我们带来充足的照明环境!而且近年来儿童青少年的近视率都非常之高,不少家长们为了保护孩子视力选择专业的台灯,因为专业的台灯对眼睛是有许多好处的,…

记录华为云服务器(Linux 可视化 宝塔面板)-- Nginx配置出现500错误记录

文章目录 1、路由配置,访问显示500如有启发,可点赞收藏哟~ 1、路由配置,访问显示500 错误如图显示500 解决思路如下 1、先查看错误日志 错误日志存放位置 提示 /login配置的文件有问题 开始配置如下图 修改前 修改后(即在/l…

echarts笔记-GeoJSON河北数据下并裁剪为冀北地图并使用echarts加载

首先找个网站把河北的GeoJSON数据下载下来,我用的是这个,理论上任意一个都可以 DataV.GeoAtlas地理小工具系列 将json数据下载后,进行裁剪,仅保留冀北数据。 如下,我裁剪的数据: {"type": &qu…

网工学习9-STP配置

如图 1 所示,当前网络中存在环路, SwitchA 、SwitchB 、SwitchC 和 SwitchD 都运行 STP,通过 彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无 环路的树形网络结构&#xff…

leetcode 201 数字范围按位与

leetcode 201 题目题解代码 题目 给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left、right 端点)。 具体示例如下: 题解 本题是一个在思维上的方法,不…

怎么理解回流和重绘?

回流(reflow)和 重绘(repaint)是浏览器渲染过程中的两个关键概念。 一、概念: 回流指的是浏览器在计算文档流布局(layout)时,重新计算元素的位置和大小的过程。当页面中的元素发生尺…

Leetcode—1038.从二叉搜索树到更大和树【中等】

2023每日刷题(四十九) Leetcode—1038.从二叉搜索树到更大和树 算法思想 二叉搜索树的中序遍历(左根右)结果是一个单调递增的有序序列,我们反序进行中序遍历(右根左),即可以得到一…

网络层之SDN基本概念、路由算法和路由协议

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

自然语言处理:电脑如何理解我们的语言?

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 ​ 文章目录 ​编辑 常见方法 1.基于词典的方法 2.基于计数的方法 基于推理的方法 Bert input_ids attention_mask token_type_ids 结语 在广…

排序算法介绍(五)归并排序

0. 简介 归并排序(Merge Sort)是一种分治思想的应用,它将待排序的数组不断拆分成小数组,直到每个小数组只有一个元素,然后将小数组两两合并,直到最终得到有序的数组。 1. 归并排序的实现 归并排序的基本思…

【2021研电赛】基于EAIDK310的视觉导航自动驾驶小车

本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力,更有重磅电子产品免费领取! 团队价绍 参赛单位:上海应用技术大学 参赛队伍:EAIDK666 指导老师:蒋文萍 丁肇红 参赛队员:温晓静 孙亦劼 杜为栋 获奖情况&a…

JS防抖与节流

防抖 防抖是什么? 单位时间内,频繁触发事件,只执行最后一次 通俗易懂点就是把防抖想象成MOBA游戏的回城,在回城过程中被打断就要重来 例子:我们来做一个效果,我们鼠标在盒子上移动,数字就变化 …

Python爬虫:使用Scrapy框架进行高效爬取

Python爬虫可使用的架构有很多,对于我而言,经常使用Scrapy异步处理框架Twisted,其实意思很明确,Scrapy可以实现多并发处理任务,同一时间将可以处理多个请求并且大大提高工作效率。 Scrapy是一个强大且高效的Python爬虫…

鸿蒙Watch 页面跳转

新建页面 config.json 回自动注册 添加跳转 <button type"capsule" onclick"toStatusMonitor">状态检测</button>写跳转方法 import router from system.router;export default {data: {},onInit() {},onShow() {},toStatusMonitor() {rou…

深度学习——第3章 Python程序设计语言(3.2 Python程序流程控制)

无论是在机器学习还是深度学习中&#xff0c;Python已经成为主导性的编程语言。而且&#xff0c;现在许多主流的深度学习框架&#xff0c;例如PyTorch、TensorFlow也都是基于Python。本课程主要是围绕“理论实战”同时进行&#xff0c;所以本章将重点介绍深度学习中Python的必备…

pandas、numpy的几个示例

这里写自定义目录标题 Pandas 示例NumPy 示例数据分析案例: Iris 数据集 Pandas 示例 Pandas 是一个数据处理和分析的库&#xff0c;它提供了 DataFrame 和 Series 这两种主要数据结构。 # 从字典创建 DataFrame import pandas as pd# 创建一个字典 data {Name: [Alice, Bob…