大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。希望和大家一起成长进步。
本文深入讲解了深度学习优质书籍:《PyTorch 深度学习与企业级项目实战》,希望能对学习深度学习的同学们有所帮助。
文章目录
1. 前言 2. 书籍推荐 2.1 内容简介 2.2 本书作者 2.3 本书目录 2.4 适合读者 3. 购买链接1. 前言
很早之前,听过雷军说的一句话:“站在风口上,猪都可以飞起来”!这句话用来形容现在的深度学习非常贴切。是的,近几年来,深度学习的发展极其迅速。其影响力已经遍地开花,在医疗、自动驾驶、机器视觉、自然语言处理等各个方面大展身手。在深度学习这个世界大风口上,谁能抢先进入深度学习领域,学会运用深度学习技术,谁就能真正地在 AI 时代“飞”起来。
对于每一个想要开始学深度学习的大学生、IT 程序员或者其他想转行的人来说,最迫切的需求就是深度学习该如何入门。图书《PyTorch深度学习与企业级项目实战》的作者来谈一谈自己的看法。
必须选择编程语言:Python俗话说“工欲善其事,必先利其器”。学习深度学习,掌握一门合适的编程语言非常重要。最佳的选择就是 Python。为什么人工智能、深度学习会选择 Python 呢?一方面是因为 Python 作为一门解释型语言,入门简单,容易上手。另一方面是因为 Python 的开发效率高,Python 有很多库很方便实现人工智能,比如 NumPy、SciPy做数值计算,Sklearn 做机器学习,Matplotlib 将数据可视化,等等。总的来说,Python 既容易上手,又是功能强大的编程语言。可以毫不夸张地说,Python可以支持从航空航天器系统的开发到小游戏开发的几乎所有领域。
这里笔者强烈推荐Python,因为Python作为一个万能胶水语言,能做的事情实在太多,并且它非常容易上手。笔者大概花了50个小时学习了Python 的基础语法,然后就可以开始动手写神经网络代码了。
总之,Python 是整个过程并不耗精力的环节,但是刚开始记语法确实挺无聊的,需要些许坚持。
必须选择一个或两个最好的深度学习框架(如PyTorch)对于工业界的人工智能项目,一般都不重复造轮子:不会从零开始写一套人工智能算法,而往往选择采用一些已有的算法库和算法框架。以前,我们可能会选用已有的各种算法来解决不同的问题。现在一套深度学习框架就可以解决几乎所有问题,进一步降低了人工智能项目开发的难度。Facebook人工智能研究院(FAIR)团队在GitHub上开源了PyTorch深度学习框架,并迅速占领GitHub热度榜榜首。
如果说Python是我们手中的利器,那么一个好的深度学习框架无疑给了我们更多的资源和工具,方便我们实现庞大、高级、优秀的深度学习项目。
奥卡姆剃刀定律(Occam’s Razor, Ockham’s Razor)又称“奥康的剃刀”,它是由14世纪英格兰的逻辑学家、圣方济各会修士奥卡姆的威廉(William of Occam,约1285—1349年)提出的。这个原理称为“如无必要,勿增实体”,即“简单有效原理”。正如他在《箴言书注》2卷15题说的“切勿浪费较多东西去做,用较少的东西,同样可以做好事情。”
深度学习的底层实际结构很复杂。然而,作为应用者,你只需要几行代码,就能实现上述神经网络。加上数据读取和模型训练,也不过寥寥十来行代码。感谢科技的进步,深度学习的用户接口越来越像搭积木。只要你投入适当的学习成本,总是能很快学会。PyTorch是当前主流的深度学习框架之一,其追求最少的封装、最直观的设计,其简洁优美的特性使得PyTorch代码更易理解,对新手非常友好。今年大火的ChatGPT是由OpenAI使用Python编程语言实现的自然语言处理模型,是基于深度学习技术实现的,使用了Python中的 PyTorch等深度学习框架来训练模型。
必须坚持“唯有实践出真知”现在很多教程和课程都忽视了实践的重要性,将大量精力放在了理论介绍上。我们都知道纸上谈兵的典故,重理论、轻实践的做法是非常不可取的。就像前面谟的第2个“放弃”一样,在具备基本的理论知识之后,最好就去实践、编写代码,解决实际问题。从学习的效率上讲,速度是最快的。我编写的《PyTorch深度学习与企业级项目实战》一书,在介绍深度学习原理、卷积神经网络、PyTorch框架用法的基础上,实战13个典型的深度学习项目,可以带领读者快速入门深度学习。
对于毫无AI技术背景,只会Python编程语言,从零开始入门深度学习的同学,不要犹豫开始学习吧,深度学习入门可以很简单!
2. 书籍推荐
2.1 内容简介
《PyTorch深度学习与企业级项目实战》立足于具体的企业级项目开发实践,以通俗易懂的方式详细介绍PyTorch深度学习的基础理论以及相关的必要知识,同时以实际动手操作的方式来引导读者入门人工智能深度学习。本书配套示例项目源代码、数据集、PPT课件与作者微信群答疑服务。
《PyTorch深度学习与企业级项目实战》共分18章,内容主要包括人工智能、机器学习和深度学习之间的关系,深度学习框架PyTorch 2.0的环境搭建,Python数据科学库,深度学习基本原理,PyTorch 2.0入门,以及13个实战项目:迁移学习花朵识别、垃圾分类识别、短期电力负荷预测、空气质量预测、手写数字识别、人脸识别与面部表情识别、图像风格迁移、糖尿病预测、基于GAN 生成动漫人物画像、基于大语言模型的NLP、猴痘病毒识别项目实战、X光肺部感染识别项目实战、乐器声音音频识别项目实战。
2.2 本书作者
宋立桓,资深IT专家,目前为国内某互联网头部企业的解决方案架构师,专注于云计算、大数据和人工智能。曾就职于微软中国有限公司。著有图书《Python深度学习从零开始学》《Cloudera Hadoop大数据平台实战指南》《MySQL性能优化和高可用架构实践》《AI制胜:机器学习极简入门》《元宇宙:互联网新未来》等。
2.3 本书目录
第1章 人工智能、机器学习与深度学习简介 1
1.1 什么是人工智能 1
1.2 人工智能的本质 2
1.3 人工智能相关专业人才就业前景 4
1.4 机器学习和深度学习 5
1.4.1 什么是机器学习 5
1.4.2 深度学习独领风骚 6
1.4.3 机器学习和深度学习的关系和对比 7
1.5 小白如何学深度学习 10
1.5.1 关于两个“放弃” 10
1.5.2 关于三个“必须” 10
第2章 深度学习框架PyTorch开发环境搭建 12
2.1 PyCharm的安装和使用技巧 12
2.2 在Windows环境下安装CPU版的PyTorch 16
2.3 在Windows环境下安装GPU版的PyTorch 18
2.3.1 确认显卡是否支持CUDA 18
2.3.2 安装CUDA 19
2.3.3 安装cuDNN 20
2.3.4 安装GPU版PyTorch 22
第3章 Python数据科学库 24
3.1 张量、矩阵和向量的区别 24
3.2 数组和矩阵运算库NumPy 26
3.2.1 列表和数组的区别 26
3.2.2 创建数组的方式 27
3.2.3 NumPy的算术运算 28
3.2.4 数组变形 30
3.3 数据分析处理库Pandas 31
3.3.1 Pandas数据结构Series 31
3.3.2 Pandas数据结构DataFrame 32
3.3.3 Pandas处理CSV文件 34
3.3.4 Pandas数据清洗 36
3.4 数据可视化库Matplotlib介绍 40
第4章 深度学习的基本原理 44
4.1 神经网络原理阐述 44
4.1.1 神经元和感知器 44
4.1.2 激活函数 47
4.1.3 损失函数 49
4.1.4 梯度下降和学习率 49
4.1.5 过拟合和Dropout 50
4.1.6 神经网络反向传播法 52
4.2 卷积神经网络 52
4.2.1 什么是卷积神经网络 52
4.2.2 卷积神经网络详解 53
4.2.3 卷积神经网络是如何训练的 56
4.2.4 卷积神经网络为什么能称霸图像识别领域 57
4.3 卷积神经网络经典模型架构简介 58
4.3.1 LeNet-5 59
4.3.2 AlexNet 59
4.3.3 VGG 60
4.3.4 GoogLeNet 61
4.3.5 ResNet 62
4.4 常用的模型评估指标 65
第5章 深度学习框架PyTorch入门 71
5.1 Tensor 71
5.1.1 Tensor简介 71
5.1.2 使用特定数据创建张量 72
5.1.3 使用随机数创建张量 73
5.1.4 张量基本操作 75
5.2 使用GPU加速 76
5.3 自动求导 77
5.4 PyTorch神经网络 79
5.4.1 构建神经网络 79
5.4.2 数据的加载和处理 81
5.4.3 模型的保存和加载 82
5.5 PyTorch入门实战:CIFAR-10图像分类 82
第6章 迁移学习花朵识别项目实战 90
6.1 迁移学习简介 90
6.2 什么是预训练模型 91
6.3 如何使用预训练模型 92
6.4 使用迁移学习技术实现花朵识别 93
6.5 迁移学习总结 99
第7章 垃圾分类识别项目实战 100
7.1 垃圾分类识别项目背景 100
7.2 垃圾分类背后的技术 101
7.3 垃圾图片数据集介绍 101
7.4 MnasNet模型介绍 102
7.5 垃圾分类识别项目代码分析 103
第8章 短期电力负荷预测项目实战 109
8.1 电力负荷预测项目背景 109
8.2 电力负荷预测的意义 110
8.3 电力负荷数据的获取 110
8.4 一维卷积1D-CNN 112
8.5 项目代码分析 113
第9章 空气质量识别分类与预测项目实战 119
9.1 空气质量识别分类与预测项目背景 119
9.2 主成分分析 120
9.3 聚类分析(K-Means) 122
9.4 项目代码分析 123
第10章 手写数字识别项目实战 128
10.1 手写数字识别项目背景 128
10.2 手写数字数据集 128
10.3 LeNet5模型构建 129
10.4 模型训练和测试 131
10.4.1 损失函数 131
10.4.2 优化器 131
10.4.3 超参数设置 132
10.4.4 性能评估 132
10.5 项目完整代码介绍 133
10.6 项目总结 137
第11章 人脸识别及表情识别实战 138
11.1 人脸识别 138
11.1.1 什么是人脸识别 138
11.1.2 人脸识别过程 139
11.2 人脸识别项目实战 143
11.2.1 人脸检测 143
11.2.2 人脸识别 145
11.3 面部表情识别项目实战 151
第12章 图像风格迁移项目实战 157
12.1 图像风格迁移简介 157
12.2 使用预训练的VGG-16模型进行图像风格迁移 160
12.2.1 算法思想 160
12.2.2 算法细节 161
12.2.3 代码实现 163
第13章 基于GAN生成动漫人物图像项目实战 170
13.1 什么是生成式对抗网络 170
13.2 生成式对抗网络的算法细节 172
13.3 循环生成对抗网络CycleGAN 174
13.4 基于生成式对抗网络生成动漫人物图像 177
第14章 糖尿病预测项目实战 183
14.1 糖尿病预测项目背景 183
14.2 糖尿病数据集介绍 184
14.3 LSTM-CNN模型 187
14.4 实战项目代码分析 189
第15章 基于大语言模型的自然语言处理项目实战 194
15.1 自然语言处理Embedding层详解 194
15.2 Transformer模型简介 197
15.3 预训练语言模型GPT 199
15.3.1 什么是预训练语言模型 199
15.3.2 GPT-2模型介绍 200
15.3.3 PyTorch-Transformers库介绍 201
15.4 基于Transformer模型的谣言检测系统的实现 202
15.4.1 谣言检测系统项目背景 202
15.4.2 谣言检测系统代码实战 203
15.5 基于GPT2在新闻文本分类项目中的实现 211
15.5.1 新闻文本分类项目背景 211
15.5.2 新闻文本分类代码实战 212
第16章 猴痘病毒识别项目实战 218
16.1 猴痘病毒识别项目背景 218
16.2 ResNet101模型 219
16.2.1 残差块 219
16.2.2 ResNet101网络结构 220
16.3 实战项目代码分析 220
第17章 X光肺部感染识别项目实战 226
17.1 X光肺部感染识别项目背景 226
17.2 项目所用到的图像分类模型 227
17.3 实战项目代码分析 230
第18章 乐器声音音频识别项目实战 237
18.1 音频与声音数字化 237
18.2 音频深度学习 238
18.3 音频处理的应用场景 240
18.4 实战项目代码分析 242
2.4 适合读者
《PyTorch深度学习与企业级项目实战》适合PyTorch深度学习初学者、深度学习算法从业培训人员、深度学习应用开发人员阅读,也适合作为高等院校或高职高专深度学习课程的教材。
3. 购买链接
本书的京东购买链接为: PyTorch深度学习与企业级项目实战(人工智能技术丛书)