Author:瞿炜;李力;杨洁
全书共7章,前三章包括复杂CNN、RNN和注意力机制网络,深入详解各类主流模型及其变体;第4章介绍这三类基础模型的组合体,即概率生成模型;第5章和第6章着重介绍这些复杂模型在计算机视觉和自然语言处理两大最常见领域的应用;第7章讲解生成式大语言模型的内在原理并对其发展趋势予以展望。 本书系统全面,深入浅出,且辅以生活中的案例进行类比,以此降低学习难度,能够帮助你迅速掌握深度学习的基础知识。
Tags
Support Statistics
¥.00 ·
0times
Text Preview (First 20 pages)
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
Page
1
(This page has no text content)
Page
2
(This page has no text content)
Page
3
版权信息 COPYRIGHT 书名:破解深度学习(核心篇):模型算法与实现 作者:瞿炜;李力;杨洁 出版社:人民邮电出版社 出版时间:2024年10月 ISBN:9787115651037 字数:211千字 本书由人民邮电出版社有限公司授权得到APP电子版制作与发行 版权所有·侵权必究
Page
4
内容提要 本书旨在采用一种符合读者认知角度且能提升其学习效率的方式来讲 解深度学习背后的核心知识、原理和内在逻辑。 经过基础篇的学习,想必你已经对深度学习的总体框架有了初步的了 解和认识,掌握了深度神经网络从核心概念、常见问题到典型网络的 基本知识。本书为核心篇,将带领读者实现从入门到进阶、从理论到 实战的跨越。全书共7章,前三章包括复杂CNN、RNN和注意力机制 网络,深入详解各类主流模型及其变体;第4章介绍这三类基础模型 的组合体,即概率生成模型;第5章和第6章着重介绍这些复杂模型在 计算机视觉和自然语言处理两大最常见领域的应用;第7章讲解生成 式大语言模型的内在原理并对其发展趋势予以展望。 本书系统全面,深入浅出,且辅以生活中的案例进行类比,以此降低 学习难度,能够帮助读者迅速掌握深度学习的基础知识。本书适合有 志于投身人工智能领域的人员阅读,也适合作为高等院校人工智能相 关专业的教学用书。
Page
5
作者简介 瞿炜,美国伊利诺伊大学人工智能博士,哈佛大学、京都大学客座教 授;前中国科学院大学教授、模式识别国家重点实验室客座研究员; 国家部委特聘专家、重点实验室学术委员会委员;知名国际期刊编 委,多个顶级学术期刊审稿人及国际学术会议委员。 在人工智能业界拥有二十余年的技术积累和实践经验,曾先后在互联 网、医疗、安防、教育等行业的多家世界500强企业担任高管。他是 北京授业解惑科技有限公司的创始人,以及多家人工智能、金融公司 的联合创始人,还是一名天使投资人。 凭借多年的专业积淀和卓越的行业洞察力,瞿炜博士近年来致力于人 工智能教育事业的发展。作为知名教育博主,他擅长用通俗易懂的表 达方式结合直观生动的模型动画,讲述复杂的人工智能理论与算法; 创作的人工智能系列视频和课程在B站(账号:梗直哥丶)/知乎/公众 号/视频号(账号:梗直哥丶)等平台深受学生们的欢迎和认可,累计 访问量超数千万人次。 李力,人工智能专家,长期致力于计算机视觉和强化学习领域的研究 与实践。曾在多家顶尖科技企业担任资深算法工程师,拥有十余年行 业经验,具备丰富的技术能力和深厚的理论知识。在职业生涯中,李 力参与并领导了众多深度学习和强化学习的核心技术项目,有效地应 用先进模型解决图像识别、目标检测、自然语言处理、机器人研发等 多个领域的实际问题。 杨洁,人工智能和自然语言处理领域资深应用专家,在自然语言理 解、基于知识的智能服务、跨模态语言智能、智能问答系统等技术领 域具有深厚的实战背景。她曾在教育、医疗等行业的知名企业担任关 键职位,拥有十年以上的行业管理经验,成功领导并实施了多个创新 项目,擅长引领团队将复杂的理论转化为实际应用,解决行业中的关 键问题。
Page
6
前言 过去十年,我们见证了深度学习的蓬勃发展,见证了深度学习在自然 语言处理、计算机视觉、多模态内容生成、自动驾驶等方向取得的巨 大成功,并成为人工智能最热门的领域之一。当前,越来越多的学习 者投身于深度学习技术领域,力图提升自己的专业技能,增强自己在 就业市场上的竞争力,成为市场上最抢手的人才。 但是,如何在短时间内快速入门并掌握深度学习,是很多读者的困惑 —晦涩的数学知识、复杂的算法、烦琐的编程……深度学习虽然使无 数读者心怀向往,却也让不少人望而生畏,深感沮丧:时间没少花, 却收效甚微。 目前,大多数深度学习的图书在某种程度上都是在“端着”讲,习惯于 从专家视角出发,而没有充分考虑初学者的认知程度,这导致读者阅 之如看天书,食之如嚼蜡。再者,即使是专业人士,面对领域内的最 新进展,也往往苦于找不到难度适宜又系统全面的教材,只能求助于 英文学术论文、技术文章和视频网站,由此浪费了大量时间和精力。 我们始终觉得,真正的学习不应该让学习者倍感煎熬,而应该是一件 让人愉悦,且能带来成就感的事情。深度学习之所以能把人劝退,往 往是教者不擅教、学者又不会学导致的。 说了这么多,你肯定好奇,本书有什么与众不同呢?在过去的几年 里,我们一直在思考如何才能更好地教授深度学习这门课程。为此, 我们在AI教育领域进行了积极的探索和创新,积累了一些经验,并赢 得了业界和用户的高度认可。这套书 [1]就是我们在深度学习领域的探 索和实践成果,它最主要的特色有两个:“只说人话”和“突出实战”。 具体而言,本书在如下方面有所侧重并作了差异化处理。 ·内容重构、全面细致
Page
7
我们根据ACM和IEEE最新版人工智能体系的111个知识点,参考各类 优秀资料,对深度学习理论进行了全面梳理,力求用一套书囊括从20 世纪90年代到目前为止的大部分主流模型,让读者一书在手,就能够 建立有关深度学习的全局知识框架,而不用再“东奔西走”。对于算法 的讲解,我们不会只局限于算法自身,而是会从全局视角分析其中的 内在联系和区别。我们会将知识点掰开揉碎讲清楚,充分剖析重点和 难点,让它不再难以理解掌握。 ·算法与代码紧密结合 这套书在引入任何新概念时,都辅之以简单易懂、贴近生活的示例, 以期帮助读者降低理解难度,进而知道为什么要学习这个算法、数学 公式怎么好记,以及在实际问题中怎么应用。此外,针对多数初学 者“一听就会,一写就废”的情况,我们竭力提供详尽的“保姆式”教 程,由简及繁,让读者敢动手,会动手,易上手。这套书配有交互 式、可视化源代码示例及详尽的说明文档(以Jupyter Notebook的 形式提供),提供了所有模型的完整实现,可供读者在真实数据上运 行,还能亲自动手修改,方便获得直观上的体验。 ·形式生动,只为让你懂 看过梗直哥视频的读者都知道,形式生动是我们的大特色。很多时 候,一图胜千言,而动画比静图更容易让人理解。为此,我们将秉持 这一优势和特点,力求让读者彻底学懂!越是复杂的概念,我们越是 要把它讲解得深入浅出。 除此之外,为保证学习效果,我们还提供了在线课程和直播课程,把 内容知识点切分成10~20分钟一节,共有百节之多;通过在线答 疑、直播串讲等交流形式,增强互动感,加快读者的学习速度,提升 学习效果。同时,还有学员讨论群,由专业老师随时解决读者的个性 化问题,充分做到因材施教。 我们通过这套书对深度学习庞杂的知识点进行了细致梳理,以期带着 读者从不同维度视角鸟瞰深度学习的世界。在这套书中,我们专门针
Page
8
对深度学习领域抽象难懂的知识点,利用丰富的行业积淀和独特的领 域视角,结合日常生活的实例,将这些高深的内容用简明、有趣的方 式呈现,打破认知障碍,帮助读者轻松消化。同时,突出应用为先、 实战为重的特点,为每个模型提供详尽完整的手搓代码和调库代码, 由易到难层层递进。此外,这套书突破了传统图书单一的文字教学模 式,采用图文、动画和视频相结合的方式,使深度学习的原理和应用 场景更加直观和生动。 相信这套书能够打破读者对“深度学习学不会、入门难、不见效”的看 法,帮助他们破解学习难题,快速掌握相关知识。 读者对象 这套书针对不同的读者群体(初学者、有一定经验的读者和经验丰富 的读者),提供了各自对应的教学内容和方法,旨在满足各种背景和 认知水平的读者,使他们能够更有效地学习、掌握深度学习技术,并 应对实际挑战。 ·初学者群体 适合对深度学习尚未涉足或经验较少的读者,如学生、转行者或独立 学习者。本书从深度学习的基本概念出发,采用通俗易懂的文字和实 例,帮助读者迅速入门。同时,我们为你梳理了必要的数学、计算机 以及统计学基础知识,并推荐相应的参考资料与工具,以便读者自学 和巩固知识。书中内容设计为由浅入深,确保读者能够按部就班地领 略深度学习的精髓。 ·中级群体 针对已具备深度学习基础,并且有一定实践经验的读者,比如从业者 或者正在攻读相关硕士或博士学位的学生读者,本书提供了更加深入 的理论和技术讲解,整合了最新的研究进展和实践案例,确保你始终 走在领域前沿并更好地应对实际挑战。本书重点讲解深度神经网络的 核心理念、优化算法和模型设计技巧,同时详细讲解了当下热门的深
Page
9
度学习框架与工具,帮助读者更好地设计、实现和部署深度学习模 型。 ·高级群体 对已有深度学习相关领域研究或工作经验,并对前沿研究和技术保持 高度关注的读者,比如研究生、博士后或者专业人士,本书提供了深 入的理论和技术分析,帮助你深入挖掘深度学习的内核及其固有规 律。本书涉及了深度学习的前沿研究和实践,如深度生成模型、迁移 学习和多模态AI内容生成等,让你全面了解这些研究方向及其最新技 术的应用现状。同时,为了方便你深入研究和探索,我们还提供了相 关论文引用和代码示例。 套书特色 ·“只说人话”,破解难题 深度学习内容常常以概念深奥、公式难懂、算法晦涩著称,与其他图 书只侧重知识传授而忽视读者的接受程度不同,我们致力于将这些高 深内容转换为通俗易懂的“人话”。在我们深厚的行业经验和独特的领 域洞察基础上,我们结合日常生活实例,采用一个个清晰而有趣的视 角,帮你突破理解的壁垒,真正实现知识的尽情消化和良好吸收。 ·贴合应用,突出实战 相比其他深度学习教材,本书将算法与代码紧密结合,“手把手”教读 者用深度学习的方法解决实际问题。每章都提供了 Jupyter Notebook的源代码,以及所有模型的完整实现,可在真实 数据上运行,更可亲自动手修改,方便获得直观上的体验。应用为 先,实战为重的鲜明特点使得本书成为一本实践性强、易操作的教 材,能够真正帮助读者掌握深度学习的核心算法,提升实际问题的解 决能力。 ·图文视频,三位一体
Page
10
有别于其他图书单一的说教式文字描述,本书不只局限于传统纸质图 书的形式,特别注重配图、动画和视频,以更直观的方式展现模型的 原理和应用场景。这种多维度的教学方式能够让读者更加深入、轻松 地理解深度学习。 ·多元互动,个性辅导 以本书为主线内容,同时有配套的GitHub专栏课程和视频课程(收 费),适合不同的读者需求和学习风格。同时,有专业的答疑团队提 供在线答疑,与读者进行互动交流,解答读者疑问和提供技术支持, 能够根据读者个性化的问题和困难,提供更加有针对性的辅导,加速 学习进程,真正实现因材施教。 本书组织结构 本书侧重于深度学习模型算法与实现核心知识的讲解,力求用深入浅 出的语言、图例、动画等多种生动的形式让初学者更加容易入门。本 书总计7章,内容分别如下。 ·第1章 复杂卷积神经网络:捕获精细特征—本章主要回顾目前已有的 经典卷积神经网络模型。通过学习,读者会对如何实现精细特征的高 效捕获有更加全面的认识。 ·第2章 复杂循环神经网络:为记忆插上翅膀—针对序列数据处理中长 期依赖等典型问题,本章将讲解长短期记忆网络、门控循环单元等经 典的循环神经网络结构,以及常用的优化算法和正则化方法,力求帮 助读者更好地训练和评价循环神经网络。 ·第3章 复杂注意力神经网络:大模型的力量—本章主要介绍的复杂注 意力神经网络指大规模预训练模型,包括BERT、GPT系列、T5、ViT 等,旨在让读者了解大模型的相关原理和技术,紧跟时代潮流。 ·第4章 深度生成模型:不确定性的妙用—本章将介绍更复杂的深度神 经网络模型和基于概率统计的建模技术。我们将从常见的近似优化算
Page
11
法讲起,具体讲述变分自编码器、生成对抗网络、扩散模型等多个深 度生成模型,让读者了解深度生成模型在内容生成领域的应用。 ·第5章 计算机视觉:让智慧可见—本章着重介绍深度学习在计算机视 觉领域的应用,并辅以实战案例,深入剖析相关技术实现细节。 ·第6章 自然语言处理:人机交互懂你所说—本章着重介绍自然语言处 理技术在各领域的应用,阐释人机交互、语义处理等方面的技术原 理,并给出了相关数据集及实战案例。 ·第7章 多模态生成式人工智能:引领智能新时代—本章探索了AIGC 方向前沿模型并予以趋势分析,帮助读者洞察人工智能2.0的发展方 向,勇做时代弄潮儿。 [1]共两册,即《破解深度学习(基础篇):模型算法与实现》和《破 解深度学习(核心篇):模型算法与实现》
Page
12
资源与支持 资源获取 本书提供如下资源: ·本书思维导图; ·异步社区7天VIP会员。 要获得以上资源,你可以扫描下方二维码,根据指引领取。 提交勘误 作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏 漏。欢迎读者将发现的问题反馈给我们,帮助我们提升图书的质量。 当读者发现错误时,请登录异步社区 (https://www.epubit.com),按书名搜索,进入本书页面,单 击“发表勘误”,输入勘误信息,单击“提交勘误”按钮即可(见右 图)。本书的作者和编辑会对读者提交的勘误进行审核,确认并接受 后,将赠予读者异步社区100积分。积分可用于在异步社区兑换优惠 券、样书或奖品。
Page
13
与我们联系 我们的联系邮箱是wujinyu@ptpress.com.cn。 如果读者对本书有任何疑问或建议,请你发邮件给我们,并请在邮件 标题中注明本书书名,以便我们更高效地做出反馈。 如果读者有兴趣出版图书、录制教学视频,或者参与图书翻译、技术 审校等工作,可以发邮件给我们。 如果读者所在的学校、培训机构或企业,想批量购买本书或异步社区 出版的其他图书,也可以发邮件给我们。 如果读者在网上发现有针对异步社区出品图书的各种形式的盗版行 为,包括对图书全部或部分内容的非授权传播,请将怀疑有侵权行为 的链接发邮件给我们。这一举动是对作者权益的保护,也是我们持续 为广大读者提供有价值的内容的动力之源。 关于异步社区和异步图书 “异步社区”(www.epubit.com)是由人民邮电出版社创办的IT专业 图书社区,于2015年8月上线运营,致力于优质内容的出版和分享,
Page
14
为读者提供高品质的学习内容,为作译者提供专业的出版服务,实现 作者与读者在线交流互动,以及传统出版与数字出版的融合发展。 “异步图书”是异步社区策划出版的精品IT图书的品牌,依托于人民邮 电出版社在计算机图书领域多年来的发展与积淀。异步图书面向IT行 业以及各行业使用IT技术的用户。
Page
15
第1章 复杂卷积神经网络:捕获精细特征 在基础卷积神经网络(CNN)的学习中,读者应该对CNN的常见操作 有了较为深入的理解。我们实现了CNN发展历程中重要的一步,也就 是LeNet,并通过使用MNIST数据集体验了完整的CNN训练流程。然 而,在LeNet问世后的十多年间,目标识别领域的主流仍然是传统算 法,CNN并未得到大规模的应用,其中一大原因在于计算能力的限 制。直到2012年,AlexNet在ImageNet挑战赛中取得了胜利,CNN 重新引起了人们的关注,并由此揭开了快速发展和不断创新的序幕。 先来回顾一下经典的CNN模型。图1-1给出了主流CNN模型发展的里 程碑。 图1-1 主流CNN模型发展示意 ·1998年由Yann LeCun等人提出的LeNet作为CNN的先驱,是手写数 字识别问题的基础模型。 ·2012年Alex Krizhevsky等人的AlexNet模型在ImageNet图像识别 比赛中取得了显著成果,使得CNN成为当时最先进的图像识别模型, 奠定了深度学习在计算机视觉领域中的地位。
Page
16
·2014年,VGGNet凭借着更深更宽的网络结构取得ILSVRC竞赛定位 任务第一名。同年,GoogLeNet采用了能更高效利用计算资源的 Inception模块,在ILSVRC的分类任务上击败VGGNet夺得冠军。 ·2015年,Kaiming He等人提出的ResNet引入残差模块来解决训练 深度神经网络时的网络退化问题,横扫当年的ILSVRC和COCO挑战 赛。 ·2017年,DenseNet模型发布,采用了密集连接结构,使得模型更加 紧凑并且有更好的鲁棒性,斩获CVPR 2017最佳论文奖。 以上是CNN发展史上的重要里程碑。在本章,我们将手把手地带大家 实现这几个经典论文中的CNN。
Page
17
1.1 AlexNet 我们首先从最知名的AlexNet开始介绍主流CNN。AlexNet是由 Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton等人共同设计 的。到目前为止,这项工作的论文已被引用超过12万次,其创新性和 影响力深深地推动了深度学习的发展,至今仍对该领域有着深远的启 示。 1.1.1 AlexNet简介 AlexNet模型的设计灵感源于LeNet,但其规模远超LeNet,由5个卷 积层和3个全连接层组成。它引入了一些新的技术,比如使用ReLU激 活函数替代Sigmoid激活函数,以及利用Dropout进行正则化以防止 过拟合等。AlexNet还是第一个在大规模数据集上训练的CNN模型, 它在ImageNet数据集上获得了优异的成绩,并在计算机视觉领域引 发了广泛关注。 AlexNet模型结构如图1-2所示,输入数据是224×224的三维图像, 模型是一个8层的CNN,其中包括5个卷积层和3个全连接层。 图1-2 AlexNet模型结构示意 ·第一层是卷积层,用于提取图像的特征。它包括96个步长为4的 11×11卷积核,并使用最大池化。
Page
18
·第二层是卷积层,包括256个5×5的卷积核,并使用最大池化。 ·第三、四、五层也是卷积层,分别包括384个3×3的卷积核、384个 3×3的卷积核和256个3×3的卷积核。这三层之后使用最大池化。 ·第六层是全连接层,包括4096个神经元。 ·第七层是全连接层,包括4096个神经元。 ·第八层是输出层,包括1000个神经元,用于预测图像在ImageNet数 据集中的类别。 小 白:AlexNet看起来就是一个深层CNN,没什么其他特点,为什么 要放到第一个讲呢? 梗老师:AlexNet本身的网络结构现在看起来确实平淡无奇,这是因 为它出现得早,后续的Inception、ResNet以及DenseNet等都是受 到它的启发而出现的,所以我们先来学习它。 1.1.2 代码实现 了解了AlexNet模型结构设计之后,接下来看一下如何用代码实现相 关网络结构,这样会更直观。先导入torch、torch.nn和《破解深度学 习(基础篇):模型算法与实现》中用过的torchinfo。 # 导入必要的库,torchinfo用于查看模型结构 import torch import torch.nn as nn
Page
19
from torchinfo import summary 下面进行结构定义。 首先用nn.Sequential()实现前面5个卷积层并定义为features。这里 整体结构不变,但对卷积核略作调整。第一层是11×11的卷积层,后 接ReLU+最大池化层。第二层是5×5的卷积层,后接ReLU+最大池化 层。第3~5层均为3×3的卷积层,后接ReLU激活函数。最后接一个 最大池化层。至此,前面5个卷积层就定义完成了。 然后是3个全连接层classifer,其实就是两个Dropout +全连接 + ReLU的组合,最后的全连接层降维到指定类别数。 最后定义forward()函数。先经过定义好的features卷积层,然后调用 flatten()函数将每个样本张量展平为一维,再经过classifier的全连接 层即可输出。 至此,我们实现了AlexNet的核心结构,对此还有些困惑的读者可以 再看看AlexNet模型结构图,多多思考其设计思路。当然这里实际代 码实现中的卷积层参数是经过优化的,与原始论文以及配图中的参数 设置可能略有差异,读者着重了解其设计思路和实现技巧即可,后续 不再单独说明。 # 定义AlexNet的网络结构 class AlexNet(nn.Module): def __init__(self, num_classes=1000, dropout=0.5): super().__init__() # 定义卷积层 self.features = nn.Sequential( # 卷积+ReLU+最大池化
Page
20
nn.Conv2d(3, 64, kernel_size=11, stride=4, padding=2), nn.ReLU(inplace=True), nn.MaxPool2d(kernel_size=3, stride=2), # 卷积+ReLU+最大池化 nn.Conv2d(64, 192, kernel_size=5, padding=2), nn.ReLU(inplace=True), nn.MaxPool2d(kernel_size=3, stride=2), # 卷积+ReLU nn.Conv2d(192, 384, kernel_size=3, padding=1), nn.ReLU(inplace=True), # 卷积+ReLU nn.Conv2d(384, 256, kernel_size=3, padding=1), nn.ReLU(inplace=True), # 卷积+ReLU nn.Conv2d(256, 256, kernel_size=3, padding=1), nn.ReLU(inplace=True), # 最大池化 nn.MaxPool2d(kernel_size=3, stride=2), ) # 定义全连接层
Comments 0
Loading comments...
Reply to Comment
Edit Comment