深度学习原理与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(模式…...

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

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...