深度学习原理与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新版本,涵盖深度学习基础知识和前沿技术,由浅入深,通俗易懂…...

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

分布式理解
分布式 如何理解分布式 狭义的分布是指,指多台PC在地理位置上分布在不同的地方。 分布式系统 分布式系**统:**多个能独立运行的计算机(称为结点)组成。各个结点利用计算机网络进行信息传递,从而实现共同的“目标或者任…...
wordpress调用指定ID页面的链接
在WordPress中,如果你想调用一个指定ID的页面链接,可以使用以下几种方法: 方法一:使用页面ID 你可以直接使用页面的ID来生成链接。例如,如果你想链接到ID为123的页面,可以使用以下代码: <…...

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

python学opencv|读取图像(四十二)使用cv2.add()函数实现多图像叠加
【1】引言 前序学习过程中,掌握了灰度图像和彩色图像的掩模操作: python学opencv|读取图像(九)用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客 python学opencv|读取图像(四十)掩模:三…...

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

LMI Gocator GO_SDK VS2019引用配置
LMI SDK在VS2019中的引用是真的坑爹,总结一下经验,希望后来的人能少走弯路.大致内容如下: (1) 环境变量 (2)C/C 附加包含目录 E:\GWQ\Gocator\GO_SDK\Gocator\GoSdk E:\GWQ\Gocator\GO_SDK\Platform\kApi (3&#…...
技术之翼,创作之心
引言:初入编程的迷茫与追求 当我第一次接触到编程时,心中充满了既期待又迷茫的情感。那时,我还是一名刚刚踏入大学的学生,面对一门陌生而复杂的学科——计算机科学,我的内心充满了好奇与困惑。课堂上,老师…...
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链接 注意:public static int i最好把static去掉 否则当有多个测试用例时 i无法重新为0二叉树的分层遍历 。OJ链接 但此题要求返回List…...

OS Copilot功能测评:智能助手的炫彩魔法
简介: OS Copilot 是一款融合了人工智能技术的智能助手,专为Linux系统设计,旨在提升系统管理和运维效率。本文详细介绍了在阿里云ECS实例上安装和体验OS Copilot的过程,重点评测了其三个核心参数:-t(模式…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

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

《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: 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 举个例子: 报错 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 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...
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…...