描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 是国际标准书号ISBN: 28515497
《Python自然语言处理实战:核心技术与算法》
(1)三位作者资历深厚,分别是*的数据架构师和NLP专家、百炼智能的NLP专家(前明略数据的技术合伙人和科学家)、七牛云AI实验室NLP&OCR方向负责人、阿里巴巴、前明略数据和七牛云的资深NLP专家撰写
(2)以实战为导向,绕开各种复杂数学公式与证明,确保读者零基础入门,详细讲解自然语言处理 的各种核心技术、方法论和经典算法
(3)阿里达摩院高级算法专家、百炼智能CEO、七牛云AI LAB负责人、天善智能创始人联袂推荐
《深度学习与图像识别:原理与实践》
读者请在http://www.hzcourse.com/web/refbook/detail/8376/226下载源代码
(1)三位作者均来自阿里巴巴,由达摩院的算法专家领衔,技术积累深厚,业务经验丰富;
(2)从技术原理、算法和工程实践3个维度系统展开,既适合零基础读者快速入门,又适合有基础读者理解其核心技术;
(3)写作方式上避开了艰涩的数学公式及其推导,深入浅出。
《Python自然语言处理实战:核心技术与算法》
自然语言处理是一门融语言学、计算机科学、数学于一体的学科,比较复杂,学习门槛高,但本书巧妙地避开了晦涩难懂的数学公式和证明,即便没有数学基础,也能零基础入门。
本书专注于中文的自然语言处理,以Python及其相关框架为工具,以实战为导向,详细讲解了自然语言处理的各种核心技术、方法论和经典算法。三位作者在人工智能、大数据和算法领域有丰富的积累和经验,是*、前明略数据和七牛云的资深专家。同时,本书也得到了*达摩院高级算法专家、七牛云AI实验室Leader等专家的高度评价和鼎力推荐。
全书一共11章,在逻辑上分为2个部分:
*部分(第1、2、11章)
主要介绍了自然语言处理所需要了解的基础知识、前置技术、Python科学包、正则表达式以及Solr检索等。
第二部分(第5-10章)
第3~5章讲解了词法分析相关的技术,包括中文分词技术、词性标注与命名实体识别、关键词提取算法等。
《深度学习与图像识别:原理与实践》
这是一部从技术原理、算法和工程实践3个维度系统讲解图像识别的著作,由阿里巴巴达摩院算法专家、阿里巴巴技术发展专家、阿里巴巴数据架构师联合撰写。
在知识点的选择上,本书广度和深度兼顾,既能让完全没有基础的读者迅速入门,又能让有基础的读者深入掌握图像识别的核心技术;在写作方式上,本书避开了复杂的数学公式及其推导,从问题的前因后果 、创造者的思考过程,利用简单的数学计算来做模型分析和讲解,通俗易懂。更重要的书,本书不仅仅是聚焦于技术,而是将重点放在了如何用技术解决实际的业务问题。
全书一共13章:
第1-2章主要介绍了图像识别的应用场景、工具和工作环境的搭建;
第3-6章详细讲解了图像分类算法、机器学习、神经网络、误差反向传播等图像识别的基础技术及其原理;
第7章讲解了如何利用PyTorch来实现神经网络的图像分类,专注于实操,是从基础向高阶的过渡;
第8-12章深入讲解了图像识别的核心技术及其原理,包括卷积神经网络、目标检测、分割、产生式模型、神经网络可视化等主题;
第13章从工程实践的角度讲解了图像识别算法的部署模式。
《Python自然语言处理实战:核心技术与算法》
序一
序二
前言
第1章 NLP基础 1
1.1 什么是NLP 1
1.1.1 NLP的概念 1
1.1.2 NLP的研究任务 3
1.2 NLP的发展历程 5
1.3 NLP相关知识的构成 7
1.3.1 基本术语 7
1.3.2 知识结构 9
1.4 语料库 10
1.5 探讨NLP的几个层面 11
1.6 NLP与人工智能 13
1.7 本章小结 15
第2章 NLP前置技术解析 16
2.1 搭建Python开发环境 16
2.1.1 Python的科学计算发行版——Anaconda 17
2.1.2 Anaconda的下载与安装 19
2.2 正则表达式在NLP的基本应用 21
2.2.1 匹配字符串 22
2.2.2 使用转义符 26
2.2.3 抽取文本中的数字 26
2.3 Numpy使用详解 27
2.3.1 创建数组 28
2.3.2 获取Numpy中数组的维度 30
2.3.3 获取本地数据 31
2.3.4 正确读取数据 32
2.3.5 Numpy数组索引 32
2.3.6 切片 33
2.3.7 数组比较 33
2.3.8 替代值 34
2.3.9 数据类型转换 36
2.3.10 Numpy的统计计算方法 36
2.4 本章小结 37
第3章 中文分词技术 38
3.1 中文分词简介 38
3.2 规则分词 39
3.2.1 正向最大匹配法 39
3.2.2 逆向最大匹配法 40
3.2.3 双向最大匹配法 41
3.3 统计分词 42
3.3.1 语言模型 43
3.3.2 HMM模型 44
3.3.3 其他统计分词算法 52
3.4 混合分词 52
3.5 中文分词工具——Jieba 53
3.5.1 Jieba的三种分词模式 54
3.5.2 实战之高频词提取 55
3.6 本章小结 58
第4章 词性标注与命名实体识别 59
4.1 词性标注 59
4.1.1 词性标注简介 59
4.1.2 词性标注规范 60
4.1.3 Jieba分词中的词性标注 61
4.2 命名实体识别 63
4.2.1 命名实体识别简介 63
4.2.2 基于条件随机场的命名实体识别 65
4.2.3 实战一:日期识别 69
4.2.4 实战二:地名识别 75
4.3 总结 84
第5章 关键词提取算法 85
5.1 关键词提取技术概述 85
5.2 关键词提取算法TF/IDF算法 86
5.3 TextRank算法 88
5.4 LSA/LSI/LDA算法 91
5.4.1 LSA/LSI算法 93
5.4.2 LDA算法 94
5.5 实战提取文本关键词 95
5.6 本章小结 105
第6章 句法分析 106
6.1 句法分析概述 106
6.2 句法分析的数据集与评测方法 107
6.2.1 句法分析的数据集 108
6.2.2 句法分析的评测方法 109
6.3 句法分析的常用方法 109
6.3.1 基于PCFG的句法分析 110
6.3.2 基于最大间隔马尔可夫网络的句法分析 112
6.3.3 基于CRF的句法分析 113
6.3.4 基于移进–归约的句法分析模型 113
6.4 使用Stanford Parser的PCFG算法进行句法分析 115
6.4.1 Stanford Parser 115
6.4.2 基于PCFG的中文句法分析实战 116
6.5 本章小结 119
第7章 文本向量化 120
7.1 文本向量化概述 120
7.2 向量化算法word2vec 121
7.2.1 神经网络语言模型 122
7.2.2 C&W模型 124
7.2.3 CBOW模型和Skip-gram模型 125
7.3 向量化算法doc2vec/str2vec 127
7.4 案例:将网页文本向量化 129
7.4.1 词向量的训练 129
7.4.2 段落向量的训练 133
7.4.3 利用word2vec和doc2vec计算网页相似度 134
7.5 本章小结 139
第8章 情感分析技术 140
8.1 情感分析的应用 141
8.2 情感分析的基本方法 142
8.2.1 词法分析 143
8.2.2 机器学习方法 144
8.2.3 混合分析 144
8.3 实战电影评论情感分析 145
8.3.1 卷积神经网络 146
8.3.2 循环神经网络 147
8.3.3 长短时记忆网络 148
8.3.4 载入数据 150
8.3.5 辅助函数 154
8.3.6 模型设置 155
8.3.7 调参配置 158
8.3.8 训练过程 159
8.4 本章小结 159
第9章 NLP中用到的机器学习算法 160
9.1 简介 160
9.1.1 机器学习训练的要素 161
9.1.2 机器学习的组成部分 162
9.2 几种常用的机器学习方法 166
9.2.1 文本分类 166
9.2.2 特征提取 168
9.2.3 标注 169
9.2.4 搜索与排序 170
9.2.5 推荐系统 170
9.2.6 序列学习 172
9.3 分类器方法 173
9.3.1 朴素贝叶斯Naive Bayesian 173
9.3.2 逻辑回归 174
9.3.3 支持向量机 175
9.4 无监督学习的文本聚类 177
9.5 文本分类实战:中文垃圾邮件分类 180
9.5.1 实现代码 180
9.5.2 评价指标 187
9.6 文本聚类实战:用K-means对豆瓣读书数据聚类 190
9.7 本章小结 194
第10章 基于深度学习的NLP算法 195
10.1 深度学习概述 195
10.1.1 神经元模型 196
10.1.2 激活函数 197
10.1.3 感知机与多层网络 198
10.2 神经网络模型 201
10.3 多输出层模型 203
10.4 反向传播算法 204
10.5 最优化算法 208
10.5.1 梯度下降 208
10.5.2 随机梯度下降 209
10.5.3 批量梯度下降 210
10.6 丢弃法 211
10.7 激活函数 211
10.7.1 tanh函数 212
10.7.2 ReLU函数 212
10.8 实现BP算法 213
10.9 词嵌入算法 216
10.9.1 词向量 217
10.9.2 word2vec简介 217
10.9.3 词向量模型 220
10.9.4 CBOW和Skip-gram模型 222
《深度学习与图像识别:原理与实践》
前言
第1章 机器视觉在行业中的应用1
1.1 机器视觉的发展背景1
1.1.1 人工智能1
1.1.2 机器视觉2
1.2 机器视觉的主要应用场景3
1.2.1 人脸识别3
1.2.2 视频监控分析4
1.2.3 工业瑕疵检测5
1.2.4 图片识别分析6
1.2.5 自动驾驶/驾驶辅助7
1.2.6 三维图像视觉8
1.2.7 医疗影像诊断8
1.2.8 文字识别9
1.2.9 图像/视频的生成及设计9
1.3 本章小结10
第2章 图像识别前置技术11
2.1 深度学习框架11
2.1.1 Theano11
2.1.2 Tensorflow12
2.1.3 MXNet13
2.1.4 Keras13
2.1.5 PyTorch14
2.1.6 Caffe14
2.2 搭建图像识别开发环境15
2.2.1 Anaconda15
2.2.2 conda18
2.2.3 Pytorch的下载与安装19
2.3 Numpy使用详解20
2.3.1 创建数组20
2.3.2 创建Numpy数组22
2.3.3 获取Numpy属性24
2.3.4 Numpy数组索引25
2.3.5 切片25
2.3.6 Numpy中的矩阵运算26
2.3.7 数据类型转换27
2.3.8 Numpy的统计计算方法28
2.3.9 Numpy中的arg运算29
2.3.10 FancyIndexing29
2.3.11 Numpy数组比较30
2.4 本章小结31
第3章 图像分类之KNN算法32
3.1 KNN的理论基础与实现32
3.1.1 理论知识32
3.1.2 KNN的算法实现33
3.2 图像分类识别预备知识35
3.2.1 图像分类35
3.2.2 图像预处理36
3.3 KNN实战36
3.3.1 KNN实现MNIST数据分类36
3.3.2 KNN实现Cifar10数据分类41
3.4 模型参数调优44
3.5 本章小结48
第4章 机器学习基础49
4.1 线性回归模型49
4.1.1 一元线性回归50
4.1.2 多元线性回归56
4.2 逻辑回归模型57
4.2.1 Sigmoid函数58
4.2.2 梯度下降法59
4.2.3 学习率的分析61
4.2.4 逻辑回归的损失函数63
4.2.5 Python实现逻辑回归66
4.3 本章小结68
第5章 神经网络基础69
5.1 神经网络69
5.1.1 神经元70
5.1.2 激活函数72
5.1.3 前向传播76
5.2 输出层80
5.2.1 Softmax80
5.2.2 one-hotencoding82
5.2.3 输出层的神经元个数83
5.2.4 MNIST数据集的前向传播83
5.3 批处理85
5.4 广播原则87
5.5 损失函数88
5.5.1 均方误差88
5.5.2 交叉熵误差89
5.5.3 Mini-batch90
5.6 最优化91
5.6.1 随机初始化91
5.6.2 跟随梯度(数值微分)92
5.7 基于数值微分的反向传播98
5.8 基于测试集的评价101
5.9 本章小结104
第6章 误差反向传播105
6.1 激活函数层的实现105
6.1.1 ReLU反向传播实现106
6.1.2 Sigmoid反向传播实现106
6.2 Affine层的实现107
6.3 Softmaxwithloss层的实现108
6.4 基于数值微分和误差反向传播的比较109
6.5 通过反向传播实现MNIST识别111
6.6 正则化惩罚114
6.7 本章小结115
第7章 PyTorch实现神经网络图像分类116
7.1 PyTorch的使用116
7.1.1 Tensor116
7.1.2 Variable117
7.1.3 激活函数118
7.1.4 损失函数120
7.2 PyTorch实战122
7.2.1 PyTorch实战之MNIST分类122
7.2.2 PyTorch实战之Cifar10分类125
7.3 本章小结128
第8章 卷积神经网络129
8.1 卷积神经网络基础129
8.1.1 全连接层129
8.1.2 卷积层130
8.1.3 池化层134
8.1.4 批规范化层135
8.2 常见卷积神经网络结构135
8.2.1 AlexNet136
8.2.2 VGGNet138
8.2.3 GoogLeNet140
8.2.4 ResNet142
8.2.5 其他网络结构144
8.3 VGG16实现Cifar10分类145
8.3.1 训练146
8.3.2 预测及评估149
8.4 本章小结152
8.5 参考文献152
第9章 目标检测153
9.1 定位 分类153
9.2 目标检测155
9.2.1 R-CNN156
9.2.2 Fast R-CNN160
9.2.3 Faster R-CNN162
9.2.4 YOLO165
9.2.5 SSD166
9.3 SSD实现VOC目标检测167
9.3.1 PASCAL VOC数据集167
9.3.2 数据准备170
9.3.3 构建模型175
9.3.4 定义Loss178
9.3.5 SSD训练细节181
9.3.6 训练186
9.3.7 测试189
9.4 本章小结190
9.5 参考文献191
第10章 分割192
10.1 语义分割193
10.1.1 FCN193
10.1.2 UNet实现裂纹分割196
10.1.3 SegNet209
10.1.4 PSPNet210
10.2 实例分割211
10.2.1 层叠式212
10.2.2 扁平式212
10.3 本章小结213
10.4 参考文献214
第11章 产生式模型215
11.1 自编码器215
11.2 对抗生成网络215
11.3 DCGAN及实战217
11.3.1 数据集218
11.3.2 网络设置220
11.3.3 构建产生网络221
11.3.4 构建判别网络223
11.3.5 定义损失函数224
11.3.6 训练过程224
11.3.7 测试227
11.4 其他GAN230
11.5 本章小结235
11.6 参考文献235
第12章 神经网络可视化236
12.1 卷积核236
12.2 特征层237
12.2.1 直接观测237
12.2.2 通过重构观测239
12.2.3 末端特征激活情况243
12.2.4 特征层的作用244
12.3 图片风格化245
12.3.1 理论介绍245
12.3.2 代码实现247
12.4 本章小结255
12.5 参考文献255
第13章 图像识别算法的部署模式257
13.1 图像算法部署模式介绍257
13.2 实际应用场景和部署模式的匹配262
13.3 案例介绍264
13.4 本章小结265
《Python自然语言处理实战:核心技术与算法》
为什么要写这本书?
这是一本关于中文自然语言处理(简称NLP)的书,NLP是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。NLP是一门融语言学、计算机科学、数学于一体的科学。本书偏重实战,不仅系统介绍了NLP涉及的知识点,同时也教会读者如何实际应用与开发。围绕这个主题,本书从章节规划到具体的讲述方式,具有以下两个特点:
第一个特点是本书的主要目标读者定位为高校相关专业的大学生(统计学、计算机技术)、NLP爱好者,以及不具备专业数学知识的人群。NLP是一系列学科的集合体,其中包含了语言学、机器学习、统计学、大数据以及人工智能等方面,尤其依赖数学知识才能深入理解其原理。因此本书对专业知识的讲述过程必须绕过复杂的数学证明,从问题的前因后果、创造者思考的过程、概率或几何解释代替数学解释等一系列迂回的路径去深入模型的本源,这可能多少会牺牲一些严谨性,但是却能换来对大多数人更为友好的阅读体验。
第二个特点是本书是一本介绍中文自然语言处理的书,中文分词相对于英文分词来说更为复杂,读者将通过例子来学习,体会到能够通过实践验证自己想法的价值,我们提供了丰富的来自NLP领域的案例。在本书的内容编制上,从知识点背景介绍到原理剖析,辅以实战案例,所有的代码会在书中详细列出或者上传Github方便读者下载与调试,帮助读者快速上手掌握知识点,同时可以应用到后续实际的开发项目中。在实际项目章节中,选取目前在NLP领域中比较热门的项目,将之前的知识点进行汇总,帮助读者巩固与提升。本书难度适中属于入门和扩展级读物。
读者将学到什么如何用NLP 与语言学的关键概念来描述和分析语言NLP 中的数据结构和算法是怎样的自然语言处理目前主流的技术与方法论信息检索技术与大数据应用读者对象1)统计学或相关IT专业学生本书的初衷是面向相关专业的学生——大量基于理论知识的认知却缺乏实战经验的人员,让其在理论的基础上深入了解。通过本书,学生可以跟随本书的教程一起操作学习,达到对自己使用的人工智能工具、算法和技术知其然亦知其所以然的目的。
2)信息科学和计算机科学爱好者本书是一部近代科技的历史书,也是一部科普书,还可以作为一部人工智能思想和技术的教科书去阅读。通过本书可以了解到行业先驱们在探索人工智能道路上所做出的努力和思考,理解他们不同的观点和思路,有助于开拓自己的思维和视野。
3)人工智能相关专业的研究人员本书具体介绍了NLP相关知识。通过本书可以了解理论知识,了解哪些才是项目所需的内容以及如何在项目中实现,能够快速上手。
如何阅读本书本书内容针对NLP从以下几个方面进行阐述:
第一部分的内容包括第1、2、11章,主要介绍了NLP所需要了解的Python科学包、正则表达式以及Solr检索。
第二部分的内容包括第5~10章的内容,主要是介绍NLP相关的各个知识点。分别是:
第3~5章主要介绍了词法分析层面的一些技术,这一部分是NLP技术的基础,需要读者熟练掌握。
第6章介绍了句法分析技术,该部分目前理论研究较多,工程实践中使用门槛相对较高,且效果多是依赖结合业务知识进行规则扩展,因此本书未做深入探讨,读者了解即可。
第7章介绍了常用的向量化方法。这些方法常用于各种NLP任务的输入,读者需重点掌握。
第8章介绍了情感分析相关的概念、场景以及一般做情感分析的流程,情感分析在很多行业都有应用,所以需要读者熟练掌握。
第9章介绍了机器学习的一些基本概念,重点突出NLP常用的分类算法、聚类算法,同时还介绍了几个案例,这章是NLP的基础内容,需要重点掌握。
第10章介绍了NLP中常用的深度学习算法,这些方法比较复杂,但是非常实用,需要读者耐心学习。
除了以上内容外,以下信息是在本书中涉及特定内容的解释和说明:
内容延伸。本书每个章节都有一定的内容延伸章节,其内容是对于有兴趣深入研究的读者推荐的资料或进一步了解的知识点,由于每个主题都涵盖很多内容,因此本书仅在内容延伸中抛砖引玉,有兴趣的读者可以加以了解和学习。
相关知识点。本书很多章节中都有“相关知识点”的内容介绍,其对特定工具、知识、算法、库等方面做了较为详细的介绍,它们是本书的知识堡垒。
本章小结。每章的结尾都有“本章小结”,在小结中包含4部分内容。
内容小结。内容小结是有关本章内容的总结。
重点知识。重点知识是本章重点需要读者掌握的知识和内容。
外部参考。外部参考是本章提到过但是无法详细介绍的内容,都在外部参考中列出,有兴趣的读者可以基于比构建自己的知识图谱。
应用实践。基于本章内容推荐读者在实践中落地的建议。
提示。对于知识点的重要提示和应用技巧,相对“相关知识点”而言,每条提示信息的内容量较少,一般都是经验类的总结。
注意。特定需要引起注意的知识,这些注意点是应用过程中需要避免的“大坑”。
关于附件的使用方法除了第1章外,本书的每一章都有对应源数据和完整代码,该内容可在本书中直接找到,有些代码需要从Github下载,地址是https://github.com/nlpinaction/learning-nlp。需要注意的是,为了让读者更好地了解每行代码的含义,笔者在注释信息中使用了中文标注,且每个程序文件的编码格式都是UTF-8。
勘误和支持由于笔者水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。读者可通过以下途径联系并反馈建议或意见:
即时通讯。添加个人微信(kennymingtu)反馈问题。
电子邮件。发送E-mail到[email protected]。
致谢在本书的撰写过程中,得到了来自多方的指导、帮助和支持。
首先要感谢的是机械工业出版社华章公司的杨福川编辑,他在本书出版过程中给予我极大的支持和鼓励,并为此书的撰写提供了方向和思路指导。
其次要感谢黄英和周剑老师在自然语言处理项目和工作中提供的宝贵经验和支持。
再次要感谢全程参与审核、校验等工作的张锡鹏、孙海亮编辑以及其他背后默默支持的出版工作者,是他们的辛勤付出才让本书得以顺利面世。
最后感谢我的父母、家人和朋友,使得我有精力完成本书的编写。
谨以此书献给热爱数据工作并为之奋斗的朋友们,愿大家身体健康、生活美满、事业有成!
涂铭2018年1月于上海
书籍初成,感慨良多。
在接受邀请撰写本书时,从未想到过程如此艰辛。
感谢我的女友和家人的理解与支持,陪伴我度过写书的漫长岁月。
感谢我的合著者——涂铭和刘树春,与他们合作轻松愉快,给予我很多的理解和包容。
感谢参与审阅、校验等工作的孙海亮老师等出版社工作人员,是他们在幕后的辛勤付出保证了本书的出版成功。
再次感谢一路陪伴的所有人!
刘祥2018年1月于北京
首先要感谢我的两位合作者——涂铭和刘祥,能够相聚在一起写书是缘分。当初聊到出版NLP入门书籍的想法时我们一拍即合,然而真正开始执笔才发现困难重重,业余时间常常被工作挤占,进度一拖再拖,在伙伴们的支持下,克服了拖延症,顺利完成本书。
特别感谢我的爱人和家人的悉心照料和支持。
感谢孙海亮老师、张锡鹏老师等出版社工作人员,没有他们的辛劳付出就没有本书保质保量的完成。
最后感谢帮我校稿的林博、谢雨飞、陈敏,谢谢他们在生活和工作上给我的支持与帮助。
最后,祝大家学习快乐。
刘树春2018年1月于上海
《Python自然语言处理实战:核心技术与算法》
本书从各个方面着手,帮助读者理解NLP的过程,提供了各种实战场景,结合现实项目背景,帮助读者理解NLP中的数据结构和算法以及目前主流的NLP技术与方法论,结合信息检索技术与大数据应用等流行技术,完成对NLP的学习和掌握。
——黄英 阿里巴巴达摩院高级算法专家
目前市面上的NLP书籍,要么是针对研究人员的偏理论性的教科书,要么是针对资深工程师进一步深入了解NLP技术的高级读物。为了填补这一空白,三位来自工业界的资深NLP专家,结合真实的项目,让读者能够以很快的速度掌握NLP技术的精髓。同时,穿插大量练习,可以帮助读者反复练习课本中的知识点。所有这些内容,都是为了让读者能够解决工作中遇到的实际问题,而不仅是纸上谈兵。本书通俗易懂、操作性强。
——冯是聪博士 百炼智能创始人兼CEO/人工智能与信息检索专家
本书作者通过对现有的NLP技术以及新兴的深度学习方法进行梳理和总结,形成了自己的NLP知识体系。本书在内容上平衡了理论和技术,在每章的理论之后都配备了实践课,便于读者通过动手加深理解,避免成为只会夸夸其谈的NLP理论“专家”。本书可以帮助研究者,特别是初学者,加强对NLP的理论与技术的学习,授人以鱼的同时授人以渔,帮助读者灵活解决实际工作当中遇到的各种NLP问题。
——林亦宁 七牛云AI实验室Leader/10余年人工智能和深度学习研究
技术的发展和普及,离不开教育的推动,从商业智能到大数据,再到如今的人工智能,莫不是如此。华章是IT技术图书出版领域的领军者,天善智能是IT技术在线教育领域的佼佼者,我们都在为推动IT技术在中国甚至是世界范围内的发展贡献力量。华章与天善智能结成了非常重要的战略合作伙伴关系,本书是双方合作的一本书,后续还会有更多的作品出版,希望能对大家有所帮助。
——周剑 天善智能联合创始人&咨询总监
《深度学习与图像识别:原理与实践》
为什么要写这本书
随着深度学习技术的发展、计算能力的提升和视觉数据的增长,视觉智能计算技术在许多应用领域如拍照搜索、智能相册、人脸闸机、城市智能交通管理、智慧医疗等都取得了令人瞩目的成绩。因此越来越多的人开始对机器视觉感兴趣,并开始从事这个行业。就图像识别领域来说,运行一个开源的代码并不是什么难事,但搞懂其中的原理确实会稍有些难度。因此本书在每章中都会用相对通俗的语言来介绍算法的背景和原理,并会在读者“似懂非懂”时给出实战案例。实战案例的代码已全部在线下运行通过,代码并不复杂,可以很好地帮助读者理解其中的细节,希望读者在学习理论之后可以亲自动手实践。图像识别的理论和实践是相辅相成的,希望本书可以带领读者走进图像识别的世界。
本书从章节规划到具体的讲述方式,具有以下两个特点:
第一个特点是本书的主要目标读者定位为高校相关专业的本科生(统计学、计算机技术)、图像识别爱好者,以及不具备专业数学知识的人群。图像识别是一系列学科的集合体,它以机器学习、模式识别等知识为基础,因此依赖很多数学知识。本书尽量绕开复杂的数学证明和推导,从问题的前因后果、创造者思考的过程和简单的数学计算的角度来做模型的分析和讲解,目的是以更通俗易懂的方式带领读者入门。另外,在第8~12章的后面都附有参考文献,想要深入了解的读者可以继续阅读。
第二个特点是本书在每章后面都附有实战案例,读者可以结合案例学习,通过实践验证自己想法的价值。在本书的内容编排上,遵循知识点背景介绍—原理剖析—实战案例的介绍方式,同时所有的代码会在书中详细列出或者上传到GitHub,以方便读者下载与调试,帮助读者快速掌握知识点,快速上手,而且这些代码也可以应用到后续实际的开发项目中。在实际项目章节中,选取目前在图像识别领域中比较热门的项目,对之前的知识点进行汇总,帮助读者巩固与提升。
读者对象
统计学或相关IT专业学生
本书的初衷是面向相关专业的学生—拥有大量基于理论知识的认知却缺乏实战经验的人员,让其在理论的基础上深入了解。通过本书,学生可以跟随本书的教程一起操作学习,达到对自己使用的人工智能工具、算法和技术知其然亦知其所以然的目的。
信息科学和计算机科学爱好者
本书是一本近现代科技的历史书,也是一本科普书,还是一本人工智能思想和技术的教科书。通过本书可以了解人工智能领域的前辈们在探索的道路上做出的努力和思考,理解他们不同的观点和思路,有助于开拓自己的思维和视野。
人工智能相关专业的研究人员
本书详细介绍了图像识别的相关知识。通过本书可以了解其理论知识,了解哪些才是项目所需的内容以及如何在项目中实现,能够快速上手。
如何阅读本书
本书从以下几个方面阐述图像识别:
第1章介绍图像识别的一些应用场景,让读者对图像识别有个初步的认识。
第2章主要对图像识别的工程背景做简单介绍,同时介绍了本书后续章节实战案例中会用到的环境,因此该章是实战的基础。
第3~6章是图像识别的技术基础,包括机器学习、神经网络等。该部分的代码主要使用Python实现。没有机器学习基础的同学需要理解这几章之后再往下看,有机器学习基础的同学可以有选择地学习。
第7章是一个过渡章节,虽然第6章中手动用Python实现了神经网络,但由于本书后面的图像识别部分主要使用PyTorch实现,因此使用该章作为过渡,介绍如何使用PyTorch来搭建神经网络。
第8~12章为图像识别的核心。第8章首先介绍了图像中的卷积神经网络与普通神经网络的异同,并给出了常见的卷积神经网络结构。接下来的第9~12章分别介绍了图像识别中的检测、分割、产生式模型以及可视化的问题,并在每章后面给出相应的实战案例。
第13章简单介绍了图像识别的工业部署模式,以帮助读者构建一个更完整的知识体系。
第8~12章包含参考文献,主要是本书中介绍的一些方法,或者本书中提到但是没有深入说明的方法,感兴趣的读者可以自行查询学习。
关于附件的使用方法:除了第1章外,本书的每一章都有对应的源数据和完整代码,这些内容可在本书中直接找到,有些代码需要从GitHub中下载,地址为http://www.hzcourse.com/web/refbook/detail/8376/226。需要注意的是,为了让读者更好地了解每行代码的含义,在注释信息中使用了中文标注,每个程序文件的编码格式都是UTF-8。
勘误和支持
由于本书的作者水平及撰稿时间有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。读者可通过发送电子邮件到[email protected]和[email protected]联系并反馈建议或意见。
致谢
首先非常感谢我的家人,由于业余时间常常被工作挤占,本书的撰写又用了所剩不多的业余时间,因此少了很多陪伴家人的时间,感谢他们的理解、支持和鼓励。
撰写一本书,将自己的知识重新梳理后分享给读者,在技术发展的道路上帮助到其他人,这件事情是非常有价值的,因此也非常感谢两位合著者涂铭、张修鹏。
感谢机械工业出版社华章公司的杨福川老师,以及全程参与审核、校验等工作的张锡鹏、孙海亮老师等出版工作者,是他们的辛勤付出才能保证本书顺利面世。
感谢我身边的朋友、同事、同学,感谢一路走来你们的支持、鼓励和帮助。
谨以此书献给热爱算法并为之奋斗的朋友们,愿大家身体健康、生活美满、事业有成!
魏溪含
书籍初成,感慨良多。
在接受邀请撰写该书时,从未想到过程如此艰辛与波折。这里需要感谢一路陪我走来的所有人。
感谢我的家人的理解和支持,陪伴我度过写作本书的漫长岁月。
感谢我的合写者—魏溪含和张修鹏,与他们合作轻松愉快,他们给予我很多的理解和包容。
感谢参与审阅、校验等工作的杨福川老师以及其他老师,是他们在幕后的辛勤付出保证了本书的成功出版。
另外在本书的写作期间,有很多专业领域的内容都得到了各个领域专家的指导甚至亲笔编著。这里需要特别感谢阿里云计算公司产品方面的专家李骏,编写了第13章全部内容,感谢他在产品和技术上利用其丰富的行业经验为本书留下的宝贵财富。
再次感谢大家!
涂 铭
首先要感谢我的妻子金晖,我能在工作繁忙的情况下参与此书的编写,离不开她的付出和支持,感谢我的宝贝张正延,给了我无穷的动力,感谢我的父亲、母亲,永远深爱你们。
感谢魏溪含和涂铭!魏溪含在书中贡献了她图像识别领域多年的经验,涂铭为此书的出版付出了最多的心血。
这本书是友谊和工作成果的结晶,本书作为我们并肩奋斗的见证,希望能将我们实践经验沉淀成的知识,帮助到更多希望了解和学习深度学习与图像识别的读者。
感谢杨福川等机械工业出版社的老师们,他们在幕后的付出和支持,是本书得以出版的保障。
最后感谢这些年一路走来帮助过我的亲人、老师、朋友、同事、同学,始终满怀感恩!
张修鹏
评论
还没有评论。