你期待已久的《动手学深度学习》(PyTorch版)来啦!

news2024/11/17 16:25:05

《动手学深度学习》全新PyTorch版本,李沐和亚马逊科学家阿斯顿·张等大咖作者强强联合之作,机器学习、深度学习领域重磅教程,交互式实战环境,配套资源丰富!

面向中文读者的能运行、可讨论的深度学习入门书。

动手学深度学习(PyTorch版)

阿斯顿·张(Aston Zhang) 著,何孝霆(Xiaoting He) 瑞潮儿·胡(Rachel Hu) 译

本书是《动手学深度学习》的重磅升级版本,选用经典的PyTorch深度学习框架,旨在向读者交付更为便捷的有关深度学习的交互式学习体验。

本书重新修订《动手学深度学习》的所有内容,并针对技术的发展,新增注意力机制、预训练等内容。本书包含15章,第一部分介绍深度学习的基础知识和预备知识,并由线性模型引出最简单的神经网络——多层感知机;第二部分阐述深度学习计算的关键组件、卷积神经网络、循环神经网络、注意力机制等大多数现代深度学习应用背后的基本工具;第三部分讨论深度学习中常用的优化算法和影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。

本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程知识及预备知识中描述的线性代数、微分和概率等基础知识。

这是一本及时且引人入胜的书。它不仅提供了对深度学习原理的全面概述,还提供了具有 编程代码的详细算法,此外,还提供了计算机视觉和自然语言处理中有关深度学习的最新介 绍。如果你想钻研深度学习,请研读这本书!
——韩家炜 ACM 院士 、IEEE 院士 美国伊利诺伊大学香槟分校计算机系Michael Aiken Chair 教授

这是对机器学习文献的一个很受欢迎的补充,重点是通过集成 Jupyter 记事本实现的动手 经验。深度学习的学生应该能体会到,这对于熟练掌握这一技术是非常宝贵的。
——Bernhard Scholkopf ACM 院士 、德国国家科学院院士 德国马克斯 • 普朗克研究所智能系统院院长

这本书基于深度学习框架来介绍深度学习技术,书中代码可谓“所学即所用”,为喜欢通 过 Python 代码进行学习的读者接触、了解深度学习技术提供了很大的便利。
——周志华 ACM 院士 、IEEE 院士 、AAAS 院士 南京大学计算机科学与技术系主任

这是一本基于深度学习框架的深度学习实战图书,可以帮助读者快速上手并掌握使用深度 学习工具的基本技能。本书的几个作者都在机器学习领域有着非常丰富的经验。他们不光有大 量的工业界实践经验,也有非常高的学术成就,所以对机器学习领域的前沿算法理解深刻。这 使得作者们在提供优质代码的同时,也可以把最前沿的算法和概念深入浅出地介绍给读者。本 书可以帮助深度学习实践者快速提升自己的能力。
——张潼ASA 院士 、IMS 院士 香港科技大学计算机系和数学系教授

一种结合了代码、数学和HTML的媒介

任何一种计算技术要想发挥其全部影响力, 都必须得到充分的理解, 留有充分的文档记 录,并得到成熟的、维护良好的工具的支持。关键思想应该被清楚地提炼出来,尽可能减少需 要让新的从业者跟上时代的入门时间。成熟的库应该使常见的任务自动化, 示例代码应该使从 业者可以轻松地修改、应用和扩展常见的应用程序,以满足他们的需求。以动态网页应用为 例,尽管许多公司,如亚马逊,在 20 世纪 90 年代开发了成功的数据库驱动网页应用程序,但 在过去的 10 年里,这项技术在帮助创造性企业家方面的潜力已经得到了更大程度的发挥,部 分原因是开发了功能强大、文档完整的框架。

测试深度学习的潜力带来了独特的挑战, 因为任何一个应用都会将不同的学科结合在一起。应用深度学习需要同时了解:
(1) 以特定方式提出问题的动机;
(2) 给定建模方法的数 学;
(3)将模型拟合数据的优化算法;
(4)能够有效训练模型、克服数值计算缺陷并最大限度 地利用现有硬件的工程方法。同时教授表述问题所需的批判性思维技能、解决问题所需的数学 知识,以及实现这些解决方案所需的软件工具,这是一个巨大的挑战。

在实践中学习

许多教科书介绍一系列的主题,每个主题都非常详细。例如,Christopher Bishop 的优秀教科书 Pattern Recognition and Machine Learning把每个主题都讲得很透彻,以至于读到线性回归一章需要大量的工作。尽管专家们喜欢该书正是因为它的透彻性,但对初学者来说,这一特性限制了它作为介绍性文本的实用性。

在本书中,将适时教授大部分概念。换句话说,读者将在需要实现某些实际目的非常时刻学习概念。在开始花了一些时间来教授基础的背景知识。

除了提供基本数学背景速成课程的几节初步课程,后续的每章都介绍了适量的新概念,并提供可独立工作的例子——使用真实的数据集。这带来了内容组织上的挑战,某些模型可能在逻辑上组合在单节中,而一些想法可能最好通过连续运行几个模型来传授。此外,坚持“一个工作例子一节”的策略有一个很大的好处:读者可以利用书中的代码尽可能轻松地启动自己的研究项目,即只需复制本节的内容并开始修改。

本书将从零开始教授深度学习的概念。有时,我们想深入研究模型的细节,这些细节通常 会被深度学习框架的高级抽象隐藏起来。特别是在基础教程中,我们希望读者了解在给定层或 优化器中发生的一切。在这些情况下,我们通常会提供两个版本的示例:一个是我们从零开始 实现一切,仅依赖张量操作和自动微分;另一个是更实际的示例,我们使用深度学习框架的高 级 API 编写简洁的代码。一旦我们教授了一些组件是如何工作的,就可以在随后的教程中使用高级 API 了。

内容和结构

全书大致可分为 3 个部分,在图1中用不同的颜色呈现。

第一部分(第 1 章~第 4 章)包括基础知识和预备知识。第 1 章提供深度学习的入门 课程。第 2 章快速介绍实践深度学习所需的前提条件,例如,如何存储和处理数据, 以及如何应用基于线性代数、微积分和概率等基本概念的各种数值运算。第 3 章和第 4 章涵盖深度学习的基本概念和技术,例如,线性回归、多层感知机和正则化。

第二部分(第5章~第10章)集中讨论现代深度学习技术。第5章描述深度学习计算的各种关键组件,并为我们随后实现更复杂的模型奠定了基础。第6章和第7章介绍卷积神经网络(convolutional neural network ,CNN),这是构成大多数现代计 算机视觉系统骨干的强大工具。第 8 章和第 9 章引入循环神经网络(recurrent neural network ,RNN),这是一种利用数据中的时间或序列结构的模型,通常用于自然语言 处理和时间序列预测。第 10 章介绍一类新的模型,它采用了一种称为注意力机制的 技术,最近它们已经开始在自然语言处理中取代循环神经网络。这一部分将帮助读 者快速了解大多数现代深度学习应用背后的基本工具。

第三部分(第 11 章~第 15 章)讨论可伸缩性、效率和应用程序。第 11 章讨论用于训练深度学习模型的几种常用优化算法。第 12 章探讨影响深度学习代码计算性能的 几个关键因素。第 13 章展示深度学习在计算机视觉中的主要应用。第 14 章和第 15 章展示如何预训练语言表示模型并将其应用于自然语言处理任务。

目标受众

本书面向学生(本科生或研究生)、工程师和研究人员,他们希望扎实掌握深度学习的实用技术。因为我们从零开始解释每个概念,所以不需要读者具备深度学习或机器学习的背景。全面解释深度学习的方法需要一些数学知识和编程技巧,但我们假设读者只了解一些基础知识,包括线性代数、微积分、概率和非常基础的Python编程。此外,在本书的英文在线附录中,我们复习了本书所涵盖的大多数数学知识。大多数时候,我们会优先考虑直觉和想法,而不是数学的严谨性。有许多很棒的书可以引导感兴趣的读者走得更远,例如BelaBollobas的LinearAnalysis[对线性代数和函数分析进行了深入的研究。参考文献是一本很好的统计学指南。如果读者以前没有使用过Python语言,那么可以仔细阅读Python教程。

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

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

相关文章

一个优质软件测试工程师简历的范文(一定要收藏)

很多刚转行软件测试的小伙伴是不是不知道怎么写好一份优质的软件测试工程师的简历。今天呢,就给大家分享一下一个优质软件测试工程师简历的范文。记得收藏起来哦。 下面的案例:2-3年的软件测试工程的简历 姓 名:XXX 学历&#xff1a…

2023备战金三银四,Python自动化软件测试面试宝典合集(五)

接上篇八、抓包与网络协议8.1 抓包工具怎么用 我原来的公司对于抓包这块,在 App 的测试用得比较多。我们会使用 fiddler 抓取数据检查结果,定位问题,测试安全,制造弱网环境;如:抓取数据通过查看请求数据,请…

FPGA实现不同分辨率视频切换输出,串口协议帧控制,提供工程源码和技术支持

目录1、不同分辨率视频切换输出原理2、设计思想和架构详解3、vivado工程详解4、上板调试验证并演示5、福利:工程代码的获取1、不同分辨率视频切换输出原理 不同分辨率的视频输出对应不同的时序和时钟,一般情况下是不存在同时或分时输出的,但…

结构体变量

C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体(structre)。 在程序中建立一个结构体类型: 1.结构体 建立结构体 struct Student { int num; //学号为整型 char name[20]; //姓名为字符串 char se…

基于spring boot +opencv 实现车牌识别、人脸识别、证件识别等功能 附完整代码 毕业设计

界面展示: 这是一个基于spring boot + opencv 实现的项目贯穿样本处理、模型训练、图像处理、对象检测、对象识别等技术点以学习交流为目的&

装满杯子需要的最短总时长-力扣2335-java双百方案

一、题目描述 现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。 给你一个下标从 0 开始、长度为 3 的整数数组 amount ,其中 amount[0]、amount[1] 和 amount[2] 分别表示需要装满冷水…

用Javascript对二维数组DIY按汉语拼音的排序方法

继续编写“圳品”信息系统,将“圳品”信息读取到JavaScript定义的一个二维数组中进行处理和显示:var p [[100, "都安县丙公司", "产品ab", 5, 25, 10],[50, "南丹县a公司", "产品a", 5, 25, 10],[30, "罗…

力扣sql简单篇练习(十五)

力扣sql简单篇练习(十五) 1 直线上的最近距离 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT min(abs(p1.x-p2.x)) shortest FROM point p1 INNER JOIN point p2 ON p1.x <>p2.x1.3 运行截图 2 只出现一次的最大数字 2.1 题目内容 2…

教你如何用Python分析出选注双色球号码

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 数据集介绍 找从19年到现在的开奖历史数据&#xff0c;我们首先要把这个历史数据拿到&#xff0c; 拿到我们再进行做分析&#xff0c;分析每个号码出现的频率是多少&#xff0c; 哪个多&#x…

Java零基础教程——控制语句

目录程序流程控制顺序结构分支结构if分支语句案例&#xff1a;switch分支案例&#xff1a;循环结构for循环while循环do-while循环跳转控制语句程序流程控制 顺序结构 没什么好说的就是&#xff1a;程序默认执行流程(如下) public class Test {public static void main(String…

spring中bean的生命周期(简单5步)

目录 一、概念 1.生命是bean的生命周期&#xff1f; 2.知道bean生命周期的意义&#xff1f; 3.bean的生命周期按照粗略的五步 二、例子讲解 一、概念 1.生命是bean的生命周期&#xff1f; 答&#xff1a;spring其实就是管理bean对象的工厂&#xff0c;它负责对象的创建&…

[K8S]Kubernetes环境检测与API简介

文章目录环境判断docker环境检测K8S环境检测获取POD的NamespaceAPI Server概述API访问命令行方式编程方式REST API是Kubernetes系统的重要部分&#xff0c;组件之间的所有操作和通信均由API Server处理的REST API调用。环境判断 在使用API时&#xff0c;需要先判断是否是K8S环…

实施ITIL项目的十个参考步骤

ITIL是我们做好IT服务管理流程建设与治理的一个重要知识库&#xff0c;这个知识体系的内容非常丰富&#xff0c;做到全面领会并运用自如是比较困难的。因此&#xff0c;我们提供了这样的一份实施ITIL项目的参考步骤&#xff0c;在新建或治理企业IT管理流程时可以适当借鉴&#…

elasticsearch索引与搜索初步

ES支持cURL交互&#xff0c;使用http请求完成索引和搜索操作&#xff0c;最基本的格式如下&#xff1a;创建索引我们可以使用PUT方法创建索引&#xff0c;通过指定“索引”、“类型”、“文档ID”锁定文档&#xff0c;通过参数指定文档的数据。红色部分的路由分别指定了“索引”…

Homekit智能家居DIY一智能插座

WiFi智能插座对于新手接触智能家居产品更加友好&#xff0c;不需要额外购买网关设备 很多智能小配件也给我们得生活带来极大的便捷&#xff0c;智能插座就是其中之一&#xff0c;比如外出忘记关空调&#xff0c;可以拿起手机远程关闭。 简单说就是&#xff1a;插座可以连接wi…

【博客618】docker容器重启后读写层数据并不丢失的原理

docker容器重启后读写层数据并不丢失的原理 1、场景 当我们对docker容器执行restart后&#xff0c;其实容器中原本读写层里对临时数据还在。只有我们删除了这个容器&#xff0c;重新创建的容器是基于镜像的只读层然后挂载上新的空的读写层&#xff0c;此时临时数据是不在的 2、…

详解指针(2)(初阶版)

前言&#xff1a;内容包括&#xff1a;指针运算&#xff0c;指针和数组&#xff0c;二级指针&#xff0c;指针数组 详解指针&#xff08;1&#xff09;&#xff08;点击即跳转&#xff09; part 1&#xff1a;指针运算 1 指针-整数 以如下代码为例&#xff1a;初始化数组内容…

实验名称:经典同步问题:生成者与消费者问题

实验名称&#xff1a;经典同步问题&#xff1a;生成者与消费者问题 相关知识 信号量 信号量是用来协调不同进程间的数据对象&#xff0c;可用来保护共享资源&#xff0c;也能用来实现进程间及同一进程不同线程间的进程同步。分为二值信号灯和计算信号灯两种类型。 进程与线…

VOC数据增强与调整大小

数据增强是针对数据集图像数量太少所采取的一种方法。 博主在实验过程中&#xff0c;使用自己的数据集时发现其数据量过少&#xff0c;只有280张&#xff0c;因此便想到使用数据增强的方式来获取更多的图像信息。对于图像数据&#xff0c;我们可以采用旋转等操作来获取更多的图…

Android Dalvik虚拟机 堆初始化流程

前言 上篇文章介绍了dalvik虚拟机启动流程&#xff0c;在dalvik虚拟机启动时调用了dvmGcStartup来启动堆。 本文介绍我们在日常开发使用Java时的堆创建流程。 Dalvik堆介绍 Dalvik虚拟机中&#xff0c;堆是由heap[0] Active堆和heap[1] Zygote堆两部分组成的。其中&#xff…