当前位置: 首页 > news >正文

深度学习原理与Pytorch实战

深度学习原理与Pytorch实战 第2版 强化学习人工智能神经网络书籍 python动手学深度学习框架书 TransformerBERT图神经网络:
技术讲解 在这里插入图片描述

编辑推荐

1.基于PyTorch新版本,涵盖深度学习基础知识和前沿技术,由浅入深,通俗易懂,适合初学人士的深度学习入门书3.实战案例丰富有趣,深度学习原理与具体的操作流程相结合4.新增了Transformer、BERT、图神经网络等热门技术的讲解5.配有源代码和导学,让学习更直观、更有效。另有付费□□课程。

内容简介

本书是一本系统介绍深度学习技术及开源框架PyTorch的入门书。书中通过大量案例介绍了PyTorch的使用方法、神经网络的搭建、常用神经网络(如卷积神经网络、循环神经网络)的实现,以及实用的深度学习技术,包括迁移学习、对抗生成学习、深度强化学习、图神经网络等。读者通过阅读本书,可以学会构造一个图像识别器,生成逼真的图画,让机器理解单词与文本,让机器作曲,教会机器玩游戏,还可以实现一个简单的机器翻译系统。第□版基于PyTorch 1.6.0,对全书代码进行了全面更新,同时增加了Transformer、BERT、图神经网络等热门深度学习技术的讲解,更具实用性和时效性。

目录

推荐序

前言

作者简介

□ □章 深度学习简介 1

1.1 深度学习与人工智能 1

1.□ 深度学□□历史渊源 □

1.□.1 从感知机到人工神经网络 3

1.□.□ 深度学□□□ 4

1.□.3 巨头之间的角逐 5

1.3 深度学□□影响因素 6

1.3.1 大数据 6

1.3.□ 深度网络架构 7

1.3.3 GPU 11

1.4 深度学习为什么如此成功 11

1.4.1 特征学习 11

1.4.□ 迁移学习 1□

1.5 小结 13

1.6 参考文献 14

第 □章 PyTorch简介 15

□.1 PyTorch安装 15

□.□ 初识PyTorch 15

□.□.1 与Python完美融合 16

□.□.□ 张量计算 16

□.□.3 动态计算图 □0

□.3 PyTorch实例:预测房价 □7

□.3.1 准备数据 □7

□.3.□ 设计模型 □8

□.3.3 训练 □9

□.3.4 预测 31

□.3.5 术语汇总 3□

□.4 小结 33

第3章 单车预测器——你的□ □个神经网络 35

3.1 共享单车的烦恼 35

3.□ 单车预测器1.0 37

3.□.1 人工神经网络简介 37

3.□.□ 人工神经元 38

3.□.3 两个隐含神经元 40

3.□.4 训练与运行 4□

3.□.5 失败的神经预测器 4□

3.□.6 过拟合 48

3.3 单车预测器□.0 49

3.3.1 数据的预处理过程 49

3.3.□ 构建神经网络 5□

3.3.3 测试神经网络 55

3.4 剖析神经网络Neu 57

3.5 小结 61

3.6 Q&A 61

第4章 机器也懂感情——中文情绪分类器 63

4.1 神经网络分类器 64

4.1.1 如何用神经网络做分类 64

4.1.□ 分类问题的损失函数 66

4.□ 词袋模型分类器 67

4.□.1 词袋模型简介 68

4.□.□ 搭建简单文本分类器 69

4.3 程序实现 70

4.3.1 数据处理 71

4.3.□ 文本数据向量化 73

4.3.3 划分数据集 74

4.3.4 建立神经网络 75

4.4 运行结果 78

4.5 剖析神经网络 79

4.6 小结 83

4.7 Q&A 83

第5章 手写数字识别器——认识卷积神经网络 84

5.1 什么是卷积神经网络 85

5.1.1 手写数字识别任务的卷积神经网络及运算过程 86

5.1.□ 卷积运算 87

5.1.3 池化运算 93

5.1.4 立体卷积核 94

5.1.5 超参数与参数 95

5.1.6 其他说明 96

5.□ 手写数字识别器 97

5.□.1 数据准备 97

5.□.□ 构建网络 100

5.□.3 运行模型 10□

5.□.4 测试模型 104

5.3 剖析卷积神经网络 105

5.3.1 □ □层卷积核与特征图 105

5.3.□ 第二层卷积核与特征图 106

5.3.3 卷积神经网络的健壮性实验 107

5.4 小结 109

5.5 Q&A 109

5.6 扩展阅读 109

第6章 手写数字加法机——迁移学习 110

6.1 什么是迁移学习 111

6.1.1 迁移学□□由来 111

6.1.□ 迁移学□□分类 11□

6.1.3 迁移学□□意义 11□

6.1.4 如何用神经网络实现迁移学习 113

6.□ 应用案例:迁移学习如何抗击贫困 115

6.□.1 背景介绍 115

6.□.□ 方法探寻 116

6.□.3 迁移学习方法 116

6.3 蚂蚁还是蜜蜂:迁移大型卷积神经网络 117

6.3.1 任务描述与初步尝试 118

6.3.□ ResNet与模型迁移 119

6.3.3 代码实现 1□0

6.3.4 结果分析 1□3

6.3.5 更多的模型与数据 1□5

6.4 手写数字加法机 1□5

6.4.1 网络架构 1□5

6.4.□ 代码实现 1□6

6.4.3 训练与测试 133

6.4.4 结果 135

6.4.5 大规模实验 135

6.5 小结 140

6.6 实践项目:迁移与效率 140

第7章 你自己的Prisma——图像风格迁移 14□

7.1 什么是风格迁移 14□

7.1.1 什么是风格 14□

7.1.□ 风格迁移的含义 143

7.□ 风格迁移技术发展简史 144

7.3 神经网络风格迁移 146

7.3.1 神经网络风格迁移的优势 146

7.3.□ 神经网络风格迁移的基本思想 147

7.3.3 卷积神经网络的选取 148

7.3.4 内容损失 149

7.3.5 风格损失 149

7.3.6 风格损失原理分析 150

7.3.7 损失函数与优化 153

7.4 神经网络风格迁移实战 153

7.4.1 准备工作 153

7.4.□ 建立风格迁移网络 155

7.4.3 风格迁移训练 158

7.5 小结 161

7.6 扩展阅读 161

第8章 人工智能造假术——图像生成与对抗学习 16□

8.1 反卷积与图像生成 165

8.1.1 卷积神经网络回顾 165

8.1.□ 反卷积运算 167

8.1.3 反池化过程 169

8.1.4 反卷积与分数步伐 170

8.1.5 输出图像尺寸公式 171

8.1.6 批正则化技术 17□

8.□ 图像生成实验1——□小均方误差模型 173

8.□.1 模型思路 173

8.□.□ 代码实现 174

8.□.3 运行结果 178

8.3 图像生成实验□——生成器—识别器模型 180

8.3.1 生成器—识别器模型的实现 180

8.3.□ 对抗样本 183

8.4 图像生成实验3——GAN 186

8.4.1 GAN的总体架构 187

8.4.□ 程序实现 188

8.4.3 结果展示 191

8.5 小结 193

8.6 Q&A 193

8.7 扩展阅读 194

第9章 词汇的星空——神经语言模型与Word□Vec 195

9.1 词向量技术介绍 195

9.1.1 初识词向量 195

9.1.□ 传统编码方式 196

9.□ NPLM:神经概率语言模型 197

9.□.1 NPLM的基本思想 198

9.□.□ NPLM的运作过程详解 198

9.□.3 读取NPLM中的词向量 □01

9.□.4 NPLM的编码实现 □0□

9.□.5 运行结果 □05

9.□.6 NPLM的总结与□限 □07

9.3 Word□Vec □07

9.3.1 CBOW模型和Skip-gram模型的结构 □07

9.3.□ 层次归一化指数函数 □08

9.3.3 负采样 □09

9.3.4 总结及分析 □10

9.4 Word□Vec的应用 □10

9.4.1 在自己的语料库上训练Word□Vec词向量 □10

9.4.□ 调用现成的词向量 □1□

9.4.3 女人 □人=皇后 国王 □14

9.4.4 使用向量的空间位置进行词对词翻译 □16

9.4.5 Word□Vec小结 □17

9.5 小结 □17

9.6 Q&A □18

□ □0章 深度网络 LSTM作曲机——序列生成模型 □□0

10.1 序列生成问题 □□0

10.□ RNN与LSTM □□1

10.□.1 RNN □□1

10.□.□ LSTM □□7

10.3 简单01序列的学习问题 □31

10.3.1 RNN的序列学习 □3□

10.3.□ LSTM的序列学习 □41

10.4 LSTM作曲机 □44

10.4.1 MIDI文件 □44

10.4.□ 数据准备 □45

10.4.3 模型结构 □45

10.4.4 代码实现 □46

10.5 小结 □54

10.6 Q&A □55

10.7 扩展阅读 □55

□ □1章 神经机器翻译机——端到端机器翻译 □56

11.1 机器翻译简介 □57

11.1.1 基于规则的机器翻译技术 □57

11.1.□ 统计机器翻译 □58

11.1.3 神经机器翻译 □58

11.1.4 关于Zero-shot翻译 □59

11.□ 编码—解码模型 □59

11.□.1 编码—解码模型总体架构 □60

11.□.□ 编码器 □60

11.□.3 解码器 □63

11.□.4 损失函数 □67

11.□.5 编码—解码模型归纳 □69

11.□.6 编码—解码模型的效果 □69

11.3 注意力机制 □70

11.3.1 神经机器翻译中的注意力 □71

11.3.□ 注意力网络 □71

11.4 更多改进 □75

11.4.1 GRU的结构 □75

11.4.□ 双向GRU的应用 □75

11.5 神经机器翻译机的编码实现 □76

11.5.1 神经网络的构建 □80

11.5.□ 神经网络的训练 □83

11.5.3 测试神经机器翻译机 □86

11.5.4 结果展示 □87

11.6 更多改进 □91

11.6.1 集束搜索算法 □91

11.6.□ BLEU:对翻译结果的评估方法 □93

11.6.3 对编码—解码模型的改进 □94

11.7 广义的翻译 □95

11.7.1 广义翻译机 □95

11.7.□ 广义翻译的应用场景 □95

11.8 Q&A □97

□ □□章 更强的机器翻译模型——Transformer □99

1□.1 Transformer概述 □99

1□.1.1 编码—解码模型回顾 300

1□.1.□ Transformer全景概览 300

1□.1.3 神奇的自注意力 301

1□.□ Atoken旅行记 304

1□.□.1 奇怪的序号牌 304

1□.□.□ 分身之门 305

1□.□.3 新朋友 306

1□.3 Transformer部件详解 306

1□.3.1 词嵌入与位置嵌入 306

1□.3.□ 自注意力模块计算详解 307

1□.3.3 自注意力层的矩阵计算 309

1□.3.4 残差连接与层归一化 310

1□.3.5 逐点计算的前向网络层 311

1□.3.6 解码器中的自注意力 311

1□.3.7 解码器的输出层 31□

1□.4 动手训练一个Transformer翻译模型 313

1□.4.1 翻译模型中输入单位的粒度 313

1□.4.□ 模型定义 313

1□.4.3 模型训练 318

1□.4.4 Transformer相关开源库 319

1□.5 小结 319

□ □3章 学习跨任务的语言知识——预训练语言模型 3□0

13.1 语言模型简要回顾 3□0

13.□ 预训练Transformer详解 3□□

13.□.1 深入了解GPT 3□3

13.□.□ 深入了解BERT 3□4

13.□.3 模型微调 3□6

13.□.4 模型表现 3□7

13.3 单句分类:BERT句子分类实战 3□8

13.4 后BERT时代 334

13.5 小结 334

□ □4章 人体姿态识别——图网络模型 335

14.1 图网络及图论基础 335

14.1.1 图的基本概念 335

14.1.□ 什么是图网络 337

14.1.3 图网络的基本任务和应用场景 338

14.□ 图卷积网络 338

14.□.1 GCN的工作原理 338

14.□.□ 打开GCN的黑箱 340

14.□.3 从社团划分任务来理解GCN 341

14.3 实战:使用GCN识别人体姿态 344

14.3.1 数据来源与预处理 345

14.3.□ 代码实现 346

14.4 小结 350

□ □5章 AI游戏高手——深度强化学习 351

15.1 强化学习简介 35□

15.1.1 强化学□□要素 35□

15.1.□ 强化学□□应用场景 353

15.1.3 强化学□□分类 354

15.□ 深度Q学习算法 355

15.□.1 Q学习算法 356

15.□.□ DQN算法 357

15.□.3 DQN在雅达利游戏上的表现 359

15.3 DQN玩Flappy Bird的PyTorch实现 361

15.3.1 Flappy Bird的PyGame实现 361

15.3.□ DQN的PyTorch实现 368

15.4 小结 377

15.5 通用人工智能还有多远 378

15.6 Q&A 379

15.7 扩展阅读 380

作者简介

集智俱乐部(Swarma Club)成立于□003年,是一个从事学术研究、享受科学乐趣的探索者团体,也是国内致力于研究人工智能、复杂系统的科学社区之一,倡导以平等开放的态度、科学实证的精神,进行跨学科的研究与交流,力图搭建一个中国的“没有围墙的□□□”。目前已出版书籍有《科学的□□:漫谈人工智能》《走近□050:注意力、互联网与人工智能》《NetLogo多主体建模入门》,译作有《深度思考:人工智能的终点与人类创造力的起点》。
在这里插入图片描述

相关文章:

深度学习原理与Pytorch实战

深度学习原理与Pytorch实战 第2版 强化学习人工智能神经网络书籍 python动手学深度学习框架书 TransformerBERT图神经网络: 技术讲解 编辑推荐 1.基于PyTorch新版本,涵盖深度学习基础知识和前沿技术,由浅入深,通俗易懂&#xf…...

ELK环境搭建

文章目录 1.ElasticSearch安装1.安装的版本选择1.SpringBoot版本:2.4.2 找到依赖的spring-data-elasticsearch的版本2.spring-data-elasticsearch版本:4.1.3 找到依赖的elasticsearch版本3.elasticsearch版本:7.9.3 2.安装1.官方文档2.下载压…...

基于Springboot + vue实现的民俗网

“前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能学习网站” 💖学习知识需费心, 📕整理归纳更费神。 🎉源码免费人人喜…...

第24篇 基于ARM A9处理器用汇编语言实现中断<六>

Q:怎样设计ARM处理器汇编语言程序使用定时器中断实现实时时钟? A:此前我们曾使用轮询定时器I/O的方式实现实时时钟,而在本实验中将采用定时器中断的方式。新增第三个中断源A9 Private Timer,对该定时器进行配置&#…...

【数据结构】_不带头非循环单向链表

目录 1. 链表的概念及结构 2. 链表的分类 3. 单链表的实现 3.1 SList.h头文件 3.2 SList.c源文件 3.3 Test_SList.c测试文件 关于线性表,已介绍顺序表,详见下文: 【数据结构】_顺序表-CSDN博客 本文介绍链表; 基于顺序表…...

golang 使用双向链表作为container/heap的载体

MyHeap:container/heap的数据载体,需要实现以下方法: Len:堆中数据个数 Less:第i个元素 是否必 第j个元素 值小 Swap:交换第i个元素和 第j个元素 Push:向堆中追加元素 Pop:从堆…...

C#集合操作优化:高效实现批量添加与删除

在C#中,对集合进行批量操作(如批量添加或删除元素)通常涉及使用集合类型提供的方法和特性,以及可能的循环或LINQ查询来高效地处理大量数据。以下是一些常见的方法和技巧: 批量添加元素 使用集合的AddRange方法&#x…...

142.WEB渗透测试-信息收集-小程序、app(13)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:141.WEB渗透测试-信息收集-小程序、app(12) 软件用法&#xff0c…...

24.日常算法

1. 数组中两元素的最大乘积 题目来源 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。请你计算并返回该式的最大值。 示例 1: 输入:nums [3,4,5,2] 输出:12 解释…...

分布式理解

分布式 如何理解分布式 狭义的分布是指,指多台PC在地理位置上分布在不同的地方。 分布式系统 分布式系**统:**多个能独立运行的计算机(称为结点)组成。各个结点利用计算机网络进行信息传递,从而实现共同的“目标或者任…...

wordpress调用指定ID页面的链接

在WordPress中&#xff0c;如果你想调用一个指定ID的页面链接&#xff0c;可以使用以下几种方法&#xff1a; 方法一&#xff1a;使用页面ID 你可以直接使用页面的ID来生成链接。例如&#xff0c;如果你想链接到ID为123的页面&#xff0c;可以使用以下代码&#xff1a; <…...

单值二叉树(C语言详解版)

一、摘要 今天要讲的是leetcode单值二叉树&#xff0c;这里用到的C语言&#xff0c;主要提供的是思路&#xff0c;大家看了我的思路之后可以点击链接自己试一下。 二、题目简介 如果二叉树每个节点都具有相同的值&#xff0c;那么该二叉树就是单值二叉树。 只有给定的树是单…...

python学opencv|读取图像(四十二)使用cv2.add()函数实现多图像叠加

【1】引言 前序学习过程中&#xff0c;掌握了灰度图像和彩色图像的掩模操作&#xff1a; python学opencv|读取图像&#xff08;九&#xff09;用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客 python学opencv|读取图像&#xff08;四十&#xff09;掩模&#xff1a;三…...

速通Docker === Docker Compose

目录 Docker Compose 简介 Docker Compose 常用命令 使用 Docker Compose 启动 WordPress 普通启动方式&#xff08;使用 Docker 命令&#xff09; 使用 Docker Compose 启动 Docker Compose 的特性 Docker Compose 简介 Docker Compose 是一个用于定义和运行多容器 Dock…...

LMI Gocator GO_SDK VS2019引用配置

LMI SDK在VS2019中的引用是真的坑爹,总结一下经验,希望后来的人能少走弯路.大致内容如下: &#xff08;1&#xff09; 环境变量 &#xff08;2&#xff09;C/C 附加包含目录 E:\GWQ\Gocator\GO_SDK\Gocator\GoSdk E:\GWQ\Gocator\GO_SDK\Platform\kApi &#xff08;3&#…...

技术之翼,创作之心

引言&#xff1a;初入编程的迷茫与追求 当我第一次接触到编程时&#xff0c;心中充满了既期待又迷茫的情感。那时&#xff0c;我还是一名刚刚踏入大学的学生&#xff0c;面对一门陌生而复杂的学科——计算机科学&#xff0c;我的内心充满了好奇与困惑。课堂上&#xff0c;老师…...

WebSocket异步导出

WebSocket异步导出 1、安装sockjs-client和stompjs2、连接后台3、vite.config.ts 配置反向代理4、导出并实时通信5、 封装WebSocket 文件注册登录(城通网盘) 1、安装sockjs-client和stompjs import SockJS from sockjs-client/dist/sockjs.min.js import Stomp from stompjs2、…...

OS2.【Linux】基本命令入门(1)

目录 1.操作系统是什么? 2.好操作系统的衡量标准 3.操作系统的核心工作 4.在计算机上所有行为都会被转换为硬件行为 5.文件 6.简单介绍一些基本命令 1.clear 2.pwd 3.ls 1.ls -l 2.隐藏文件的创建 3.ls -al 4.ls -ld 5.ls -F(注意是大写) 4.cd 1.cd .. "…...

【二叉树】4. 判断一颗二叉树是否是平衡二叉树。5. 对称二叉树。6. 二叉树的构建及遍历 7. 二叉树的分层遍历 。

判断一颗二叉树是否是平衡二叉树。OJ链接 可以在求树高度的过程中判断树是否平衡 对称二叉树。OJ链接 二叉树的构建及遍历。OJ链接 注意&#xff1a;public static int i最好把static去掉 否则当有多个测试用例时 i无法重新为0二叉树的分层遍历 。OJ链接 但此题要求返回List…...

OS Copilot功能测评:智能助手的炫彩魔法

简介&#xff1a; OS Copilot 是一款融合了人工智能技术的智能助手&#xff0c;专为Linux系统设计&#xff0c;旨在提升系统管理和运维效率。本文详细介绍了在阿里云ECS实例上安装和体验OS Copilot的过程&#xff0c;重点评测了其三个核心参数&#xff1a;-t&#xff08;模式…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案

引言 在分布式系统的事务处理中&#xff0c;如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议&#xff08;2PC&#xff09;通过准备阶段与提交阶段的协调机制&#xff0c;以同步决策模式确保事务原子性。其改进版本三阶段提交协议&#xff08;3PC&#xf…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...