Python深度学习:基于PyTorch(第2版)

您所在的位置:网站首页 广东气温最高是多少 Python深度学习:基于PyTorch(第2版)

Python深度学习:基于PyTorch(第2版)

2024-06-26 12:19| 来源: 网络整理| 查看: 265

前  言第2版说明自本书第1版第1次于2019年10月印刷至今,已累计印刷了9次。在这3年的时间里,深度学习的发展可谓日新月异,其应用范围得到进一步拓展,同时出现了很多新的框架、新的方向。在众多创新中,注意力机制是一个典型代表。注意力机制,尤其是以Transformer为基础的一些模型,在自然语言处理(NLP)领域取得了目前最好的效果(如SOTA),近几年研究人员把这种模型(如ViT模型、Swin-T模型等)应用到计算机视觉领域,也取得了巨大成功。为此,本书第2版增强了注意力机制的相关内容,把注意力机制单独列为一章(即第8章),同时增加了注意力机制的应用实例,详细内容请参考第14章。人工智能广泛应用于图像、视频、语音等诸多领域,比如人工智能在目标检测、语义分割等任务中的应用日益受到大家的关注,所以在第2版中我们增加了这方面的内容,具体可参考第9章和第15章。除了这些新增内容外,第2版对很多原有内容进行了补充和完善,如PyTorch基础、优化算法、视觉处理基础、自然语言处理基础等内容。读者对象对机器学习、深度学习感兴趣的高校学生及工程师。对Python、PyTorch、TensorFlow等感兴趣并希望进一步提升水平的高校学生及工程师。如何阅读本书本书分为三部分,共19章。第一部分(第1~4章)为PyTorch基础,这是本书的基础部分,能为后续学习打好坚实基础。第1章介绍Python和PyTorch的基石—NumPy;第2章介绍PyTorch基础知识;第3章和第4章分别介绍PyTorch神经网络工具箱和数据处理工具箱等内容。第二部分(第5~10章)为深度学习基础,这也是本书的核心部分。第5章为机器学习基础,也是深度学习基础,其中包含很多机器学习经典理论、算法和方法等内容;第6章为视觉处理基础,介绍卷积神经网络的相关概念、原理及架构等内容,并用PyTorch实现多个视觉处理实例;第7章介绍自然语言处理基础,重点介绍循环神经网络的原理和架构,同时介绍了词嵌入等内容,然后用PyTorch实现多个自然语言处理、时间序列方面的实例;第8章介绍注意力机制;第9章介绍目标检测与语义分割;第10章介绍生成式深度学习的相关内容,具体包括编码器-解码器模型、带注意力的编码器-解码器模型、生成式对抗网络及多种衍生生成器,同时使用PyTorch实现多个生成式对抗网络实例。第三部分(第11~19章)为深度学习实战,即前面两部分知识的具体应用。这部分在介绍相关原理、架构的基础上,使用PyTorch实现多个深度学习的典型应用实例,最后介绍了强化学习、深度强化学习等内容。第11章用PyTorch实现人脸检测与识别;第12章用PyTorch实现迁移学习;第13章用PyTorch实现中英文互译;第14章使用ViT进行图像分类;第15章为语义分割实例;第16章介绍多个生成模型实例;第17章介绍对抗攻击原理及用PyTorch实现对抗攻击实例;第18章和第19章介绍了强化学习、深度强化学习基础知识及多个强化学习实例。勘误和支持在本书编写过程中得到了张魁、刘未昕等人的大力支持,他们负责整个环境的搭建和维护工作。由于笔者水平有限,书中难免存在错误或不准确的地方,恳请读者批评指正。你可以通过访问httpgithub.comWumg 3000feiguyunai下载代码和数据,也可以通过QQ交流群(493272175)进行反馈,非常感谢你的支持和帮助。致谢在本书编写过程中,得到了很多同事、朋友、老师和同学的大力支持!感谢博世的王冬、王红星;感谢上海交大慧谷的程国旗老师,上海大学的白延琴老师、李常品老师,上海师范大学的田红炯老师、李昭祥老师,以及赣南师范大学的许景飞老师等。感谢机械工业出版社的编辑给予本书的大力支持和帮助。最后,感谢我的爱人赵成娟,她在繁忙的教学之余帮助审稿,提出许多改进意见或建议。

吴茂贵

PREFACE第1版前言为什么写这本书在人工智能时代,如何尽快掌握人工智能的核心—深度学习呢?相信这是每个欲进入此领域的人面临的主要问题。目前,深度学习框架很多,如TensorFlow、PyTorch、Keras、FastAI、CNTK等,这些框架各有优点或不足,如何选择呢?是否有一些标准?有,我觉得适合自己的就是最好的。如果你是一位初学者,建议你选择PyTorch,待有了一定的基础之后,可以学习其他框架,如TensorFlow、CNTK等。建议初学者选择PyTorch的主要依据如下。1)PyTorch是动态计算图,更贴近Python的用法,并且PyTorch与Python共用了许多NumPy命令,降低了学习门槛,比TensorFlow更容易上手。2)PyTorch需要定义网络层、参数更新等关键步骤,这非常有助于理解深度学习的核心;而Keras虽然也非常简单,容易上手,但封装粒度很粗,隐藏了很多关键步骤。3)PyTorch的动态图机制在调试方面非常方便,如果计算图运行出错,马上可以跟踪问题。PyTorch与Python一样,通过断点检查就可以高效解决问题。4)PyTorch的流行度仅次于 TensorFlow。而最近一年,在GitHub关注度和贡献者的增长方面,PyTorch与TensorFlow 基本持平。PyTorch 的搜索热度持续上涨,再加上FastAI的支持,PyTorch 将受到越来越多的机器学习从业者的青睐。深度学习是人工智能的核心,随着大量相关项目的落地,人们对深度学习的兴趣也持续上升。不过掌握深度学习知识并不是一件轻松的事情,尤其是对机器学习或深度学习的初学者来说挑战更大。为了能让广大人工智能初学者或爱好者在较短时间内掌握深度学习基础及利用PyTorch解决深度学习问题,我们花了近一年时间打磨这本书,在内容选择、安排和组织等方面采用了如下方法。1.内容选择:广泛涉猎+精讲+注重实战深度学习涉及面比较广,且有一定门槛,没有一定广度很难达到一定深度,所以本书基本包括了机器学习、深度学习的主要内容,各章一般先简单介绍相应的组件(工具)或原理,这些内容有助于读者理解深度学习的本质。当然,如果只有概念、框架、原理、数学公式的介绍,可能显得有点抽象或乏味,所以,每章都配有大量实践案例,以便加深读者对原理和公式的理解,同时有利于把相关内容融会贯通起来。2.内容安排:简单实例开始+循序渐进讲解深度学习是一块难啃的“硬骨头”,对有一定开发经验和数学基础的读者如此,对初学者更是如此。其中卷积神经网络、循环神经网络、生成式对抗网络是深度学习的基石,同时也是深度学习的三大硬骨头。为了让读者更好地理解并掌握这些网络,我们采用循序渐进的方式,先从简单特例开始,然后逐步进入更一般性的内容介绍,最后通过一些PyTorch代码实例将其实现,整本书的结构及各章节内容安排都遵循这个原则。此外,一些优化方法也采用这种内容安排方式,如对数据集CIFAR10进行分类优化时,先用一般卷积神经网络,然后使用集成方法、现代经典网络,最后采用数据增强和迁移方法,不断提升模型精度,由最初的68%逐步提升到74%和90%,最后达到95%左右。3.表达形式:让图说话,一张好图胜过千言万语机器学习、深度学习中有很多抽象的概念、复杂的算法、深奥的理论等,如NumPy的广播机制、梯度下降对学习率敏感、神经网络中的共享参数、动量优化法、梯度消失或爆炸等,这些概念如果只用文字来描述,可能很难达到茅塞顿开的效果。但如果用一些图形来展现,再加上适当的文字说明,往往能取得非常好的效果,正所谓一张好图胜过千言万语。除了以上谈到的3个方面,为了帮助大家更好地理解并且更快地掌握机器学习、深度学习这些人工智能的核心内容,本书还介绍了其他方法,用心的读者将能体会到。我们希望通过这些方法带给你不一样的理解和体验,使你感到抽象的数学不抽象、复杂的算法不复杂、难学的深度学习不难学。至于人工智能(AI)的重要性,我想就不用多说了。如果说2016年前属于摆事实论证的阶段,2017年和2018年属于事实胜于雄辩的阶段,那么2019年及以后就进入百舸争流、奋楫者先的阶段。目前各行各业都忙于AI+,大家都希望通过AI来改造传统流程、传统结构、传统业务、传统架构,其效果犹如用电改造原有的各行各业一样。本书特色本书特色概括来说就是:把理论原理与代码实现相结合;找准切入点,从简单到一般,把复杂问题简单化;图文并茂使抽象问题直观化;实例说明使抽象问题具体化。希望本书能带给你新的视角、新的理解,甚至更好的未来。读者对象对机器学习、深度学习感兴趣的高校学生及工程师。对Python、PyTorch、TensorFlow等感兴趣并希望进一步提升水平的高校学生及工程师。如何阅读本书本书分为三部分,共16章。第一部分(第1~4章)为PyTorch基础,这是本书的基础,能为后续章节的学习打下坚实基础。第1章介绍Python和PyTorch的基石—NumPy;第2章介绍PyTorch基础知识;第3章和第4章分别介绍PyTorch神经网络工具箱和数据处理工具箱等内容。第二部分(第5~8章)为深度学习基本原理,也是本书的核心部分,包括机器学习流程、常用算法和技巧等内容。第5章为机器学习基础,也是深度学习基础,其中包含很多机器学习经典理论、算法和方法等内容;第6章为视觉处理基础,介绍卷积神经网络的相关概念、原理及架构等内容,并用PyTorch实现多个视觉处理实例;第7章介绍自然语言处理基础,重点介绍循环神经网络的原理和架构,同时介绍了词嵌入等内容,然后用PyTorch实现多个自然语言处理、时间序列方面的实例;第8章介绍生成式深度学习的相关内容,具体包括编码器—解码器模型、带注意力的编码器—解码器模型、生成式对抗网络及多种衍生网络,同时用PyTorch实现多个生成式对抗网络实例。第三部分(第9~16章)为实战部分,即前面两部分知识的具体应用,这部分在介绍相关原理、架构的基础上,用PyTorch具体实现多个深度学习的典型实例,最后介绍了强化学习、深度强化学习等内容。第9章用PyTorch实现人脸检测与识别;第10章用PyTorch实现迁移学习;第11章用PyTorch实现中英文互译;第12章实现多个生成式网络实例;第13章主要介绍如何进行模型迁移;第14章介绍对抗攻击原理及用PyTorch实现对抗攻击实例;第15章和第16章介绍了强化学习、深度强化学习基础及多个强化学习实例



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3