描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111573678
西门子高级研究员田疆博士作序力荐!Google软件工程师吕佳楠力、英伟达高级工程师华远志、理光软件研究院研究员钟诚博士力荐!
作者拥有超过5年的机器学习研发经验,目前在*专注于深度学习和计算机视觉算法的研发。
西门子高级研究员田疆博士作序力荐!Google软件工程师吕佳楠、英伟达高级工程师华远志、理光软件研究院研究员钟诚博士力荐!
注重原理和上手实战,让读者不仅能理解算法背后的思想,还能具备独立开发基于深度学习的计算机视觉算法的能力。
原理讲解通俗易懂,能通过图文定性讲解的就尽量不用公式,不可避免要用公式的地方尽量让公式作为图文讲解的辅助手段。
结合常见的应用场景,通过大量有趣、实用的实例和原创代码,带领读者一步步亲自动手,不断提高动手能力。
从第7章开始的所有实例都基于当前流行的深度学习框架Caffe和MXNet,其中包含了作者原创的大量代码和搜集的数据。
本书全面介绍了深度学习及计算机视觉中*基础的知识,并结合*常见的应用场景和大量实例,带领读者进入丰富多彩的计算机视觉领域。作为一本“原理 实践”教程,本书在讲解原理的基础上,通过有趣的实例带领读者一步步亲自动手,不断提高动手能力,而不是枯燥和深奥原理的堆砌。
全书共13章,分为2篇。第1篇基础知识,介绍了人工智能发展历程、计算机视觉概要、深度学习和计算机视觉中的基础数学知识、神经网络及其相关的机器学习基础、卷积神经网络及其一些常见结构,*后对*前沿的趋势进行了简单探讨。第2篇实例精讲,介绍了Python基础、OpneCV基础、*简单的分类神经网络、图像识别、利用Caffe做回归、迁移学习和模型微调、目标检测、度量学习和图像风格迁移等常见的计算机视觉应用场景。本书从第5章开始包含很多有趣和实用的代码示例。从第7章开始的所有实例都基于当前流行的深度学习框架Caffe和MXNet,其中包含作者原创的大量代码和搜集的数据,这些代码和作者训练好的部分模型已分享到本书github页面上供读者自行下载。
本书适合对人工智能、机器学习、深度学习和计算机视觉感兴趣的读者阅读。阅读本书要求读者具备一定的数学基础和基本的编程能力,并需要读者了解Linux的基本使用。
一分钟了解本书精华内容
引言
深度学习和计算机视觉中的基础数学知识
神经网络和机器学习基础
深度卷积神经网络
Python基础
OpenCV基础
Hello World!
*简单的图片分类——手写数字识别
利用Caffe做回归
迁移学习和模型微调
目标检测
度量学习
图像风格迁移
序言
前言
第1篇 基础知识
第1章 引言 2
1.1 人工智能的新焦点——深度学习 2
1.1.1 人工智能——神话传说到影视漫画 2
1.1.2 人工智能的诞生 3
1.1.3 神经科学的研究 4
1.1.4 人工神经网络的兴起 5
1.1.5 神经网络的次寒冬 6
1.1.6 神经网络的次复兴 8
1.1.7 神经网络的第二次寒冬 9
1.1.8 2006年——深度学习的起点 10
1.1.9 生活中的深度学习 11
1.1.10 常见深度学习框架简介 12
1.2 给计算机一双眼睛——计算机视觉 14
1.2.1 计算机视觉简史 14
1.2.2 2012年——计算机视觉的新起点 16
1.2.3 计算机视觉的应用 17
1.2.4 常见计算机视觉工具包 19
1.3 基于深度学习的计算机视觉 19
1.3.1 从ImageNet竞赛到AlphaGo战胜李世石——计算机视觉超越人类 19
1.3.2 GPU和并行技术——深度学习和计算视觉发展的加速器 21
1.3.3 基于卷积神经网络的计算机视觉应用 22
第2章 深度学习和计算机视觉中的基础数学知识 27
2.1 线性变换和非线性变换 27
2.2 概率论及相关基础知识 43
2.3 维度的诅咒 50
2.4 卷积 66
2.5 数学优化基础 71
第3章 神经网络和机器学习基础 87
3.1 感知机 87
3.2 神经网络基础 89
3.3 后向传播算法 95
3.4 随机梯度下降和批量梯度下降 104
3.5 数据、训练策略和规范化 108
3.6 监督学习、非监督学习、半监督学习和强化学习 117
第4章 深度卷积神经网络 120
4.1 卷积神经网络 120
4.2 LeNet——个卷积神经网络 132
4.3 新起点——AlexNet 133
4.4 更深的网络——GoogLeNet 136
4.5 更深的网络——ResNet 142
第2篇 实例精讲
第5章 Python基础 148
5.1 Python简介 148
5.2 Python基本语法 150
5.3 Python的科学计算包——NumPy 167
5.4 Python的可视化包——matplotlib 175
第6章 OpenCV基础 182
6.1 OpenCV简介 182
6.2 Python-OpenCV基础 184
6.3 用OpenCV实现数据增加小工具 193
6.4 用OpenCV实现物体标注小工具 203
第7章 Hello World! 212
7.1 用MXNet实现一个神经网络 212
7.2 用Caffe实现一个神经网络 219
第8章 简单的图片分类——手写数字识别 227
8.1 准备数据——MNIST 227
8.2 基于Caffe的实现 228
8.3 基于MXNet的实现 242
第9章 利用Caffe做回归 249
9.1 回归的原理 249
9.2 预测随机噪声的频率 250
第10章 迁移学习和模型微调 264
10.1 吃货——通过Python采集美食图片 264
10.2 美食分类模型 271
第11章 目标检测 288
11.1 目标检测算法简介 288
11.2 基于PASCAL VOC数据集训练SSD模型 296
第12章 度量学习 304
12.1 距离和度量学习 304
12.2 用MNIST训练Siamese网络 307
第13章 图像风格迁移 317
13.1 风格迁移算法简介 317
13.2 MXNet中的图像风格迁移例子 320
为什么要写这本书
当本书编辑找到我时,我才意识到,这两年火爆程度堪比一线城市房价的深度学习,在国内竟没有几本专门的中文书籍。目前市场上为数不多的有关深度学习的中文书,有大而全的名家之作,但其中关于深度学习的内容只有很少的一部分;有针对框架的工具书,但其偏重框架本身,缺少基础知识和理论,就好像介绍了一把剑,却没教剑法;有科普型的书,主要作用是提振读者自信,其实读者并不能从中学到任何动手能力。重要的是,作为深度学习被应用多,也是有趣的领域——计算机视觉,却没有专门的书,这是笔者编写这本书的初衷。
我并非计算机科班出身,在转向深度学习的过程中遇到了很多问题,总结了许多经验。从写书的角度来讲,这没准是个优势。希望我在业界实际项目中的经验,加上自学时总结的教训,可以有效地帮助尚未进入深度学习和计算机视觉领域的读者。
本书面向有志于进入深度学习和计算机视觉领域的学生和技术研发人员,通过介绍深度学习及计算机视觉中基础的知识,并结合常见的应用场景和大量实例,带领读者进入丰富多彩的计算机视觉领域。作为一本“原理 实践”教程,本书用基本的公式推导加上大量的配图和实例代码,给读者生动的内容,而不是枯燥的原理堆砌。
本书特色
l 注重原理和上手实战。力求读者在阅读本书后,不仅能了解常见算法背后的思想,还能具备独立开发常见的基于深度学习的计算机视觉算法的能力。
l 原理讲解通俗易懂。本书能通过文字定性讲解的就不用计算和公式,能用图表述的就不用文字。公式虽然不可避免,但尽量做到公式是讲解和图示的辅助,而不是需要细致理解的部分。
l 大量原创代码和图示。本书结合作者在实际工作中的经验,将入门实战的例子和其他示例力求做到实用性和趣味性并存,并将代码分享到本书的github页面上供读者下载。
本书内容
本书共13章,分为2篇。
第1篇 基础知识
第1章从历史讲起,介绍了深度学习和计算机视觉的基础概念和常见应用。
第2章介绍了基础的数学知识,包括线性代数、概率、高维空间、卷积和数学优化。
第3章以神经网络为重点,讲解了机器学习和数据的基础知识。
第4章在第3章的基础上,介绍了卷积神经网络的概念、原理和一些常见结构。
第2篇 实例精讲
第5章介绍Python基础,并通过小例子介绍了NumPy和matplotlib的基本使用。
第6章介绍了基于Python的OpenCV使用,并动手实现了数据增加小工具和物体框标注小工具。
第7章分别通过MXNet和Caffe实现了简单的神经网络,以及结果的可视化。
第8章从头开始一步步基于MNIST数据集,分别实现了基于MXNet和Caffe的卷积神经网络模型用于手写数字识别,并介绍了如何测试和评估模型。
第9章实现了一个基于Caffe的用卷积神经网络做回归的例子,并介绍了如何制作HDF5格式数据,如何用GPU批量对数据进行运算,以及如何实现可视化训练的模型。
第10章首先实现了一个图片爬虫用于搜集图片数据,并以美食图片分类为例子一步步讲解如何基于Caffe实现迁移学习。然后在此基础上进一步讲解了如何对数据进行预处理,如何使用混淆矩阵、P-R和ROC曲线,后介绍了如何实现可视化卷积神经网络对输入图片的响应。
第11章针对R-CNN系和YOLO/SSD系这两类算法,简要介绍了基于深度学习的目标检测算法的发展史,并给出了基于MXNet的SSD检测算法实例,以及分析了结果的可视化。
第12章介绍了度量学习的基本概念,并从图片开始,一步步实现了基于Caffe的Siamese网络,还实现了基于τ-SNE的结果可视化。
第13章讲解了基本的图像风格迁移算法,并给出了基于MXNet的图像风格迁移例子,读者可以用自己喜欢的图片做出算法生成的艺术作品。
适合阅读本书的读者
本书适合以下读者阅读:
l 对人工智能、机器学习感兴趣的读者;
l 对深度学习和计算机视觉感兴趣的读者;
l 希望用深度学习完成设计的计算机或电子信息专业的学生;
l 讲授机器学习和深度学习实践课的老师;
l 希望进一步提升编程水平的开发者;
l 机器学习与机器视觉研发人员和算法工程师;
l 人工智能产品经理。
阅读本书的读者好具备以下要求:
l 至少具备高中以上的数学基础,本科以上;
l 具备基本的编程能力;
l 了解Linux的基本使用;
l 拥有一台NVIDIA显卡的计算机,好是2GB以上的显存。
本书虽然定位为入门书,但并不能保证21天或者3个月包会。学习是一件没有捷径可走的事情,希望本书能帮助读者少走弯路,也希望每一位读者翻开书前,都是带着好奇和兴趣。
纠错
由于是次写书,且时间仓促,错误之处估计难以避免,敬请读者朋友们发现错误后到本书的github页面指出,我会尽快更新在勘误表里,不胜感激!
致谢
成书过程中,得到了很多人的帮助,在此向他们表示诚挚的谢意。
首先感谢负责本书的编辑,我既不是大V,博客文章也没几篇,是他们的信任让我能通过这次写作梳理知识,并获得稿费。
感谢我的朋友们:NVIDIA(英伟达)的高级工程师华远志,谷歌的软件工程师吕佳楠,清华大学的马晨同学,NVIDIA的高效GPU架构师欧阳晋博士,西门子的高级研究员田疆博士,理光软件研究院的研究员钟诚博士和亚马逊的科学家庄晓天博士。他们几位在成书过程中给予了我很多帮助和建议,特别是田疆博士、钟诚博士和欧阳晋博士,对本书内容给出了全面且独到的建议,并指出了部分错误。
感谢从事AI方向的同事们,他们各个都身怀绝技,工作中和他们的交流给了我很多技术上的帮助和灵感。
感谢插画师翟少昂为本书绘制插画,感谢星河互联高级投资经理杨森授权本书使用他于漠河的严冬中拍摄的照片。
感谢我的博士生导师Yu Cao教授和我家效力公司的CTO——Bruce McGaughy博士。在应试教育的影响下,我浑浑噩噩求学近20载,未曾找到学习的意义。和他们二位接触的过程中我才渐渐明白,原来学习重要的是兴趣。也因此,后来我才有勇气放弃了钻研了近10年的老本行,转向自己更感兴趣的算法和机器学习。
后也是我想感谢的,是我的家人!写书期间我的家人承担了一切家务劳动,是他们全方位的支持和细致照顾,让我在身体健康的状态下完成了写作。特别是我的妻子,尽管她看不懂我在写什么,却认为写得很棒。是她每天的鼓励和支持才让我没有半途而废,能在此表达我对她的谢意,是我完成这本书的动力。
叶韵
于北京市西郊机场老干部活动中心
这本书广泛而翔实地介绍了深度学习的方方面面,并且由浅入深地阐释了经典CNN算法。作者语言风趣、幽默,对于那些对深度学习充满兴趣,想跃跃欲试的入门读者而言,是一本极好的参考读物。
——华远志 NVIDIA(英伟达)公司高级工程师
Codelab是Google工程师文化的重要组成部分,有经验的程序员理论结合实践,将新技术和新工具用实例的方式加以介绍。无论是Noogler还是Senior Googler,面对Google庞杂的内部技术,正是Codelab使大家能够快速无师自通。叶博士的这本“实战”正是机器学习各领域的一个个高质量的Codelab,是作者多年来摸索积累的*手经验的总结。对于善于学习推广的程序员,一定可以在学习Deep Learning的路上发现此书大有助益,事半功倍。
——吕佳楠 Google 公司软件工程师
本书对时下热门的深度学习技术从多个视角进行了细致剖析。从深度学习理论在AI领域的进化史,到深度学习理论的数学基础,再到利用工具快速构建深度学习模型,书中都有深入浅出的讲解。书中描述了深度学习技术在计算机视觉各个领域的*应用,内容全面而丰富,示例通俗易懂,是一本带领工程人员深入理解深度学习技术的实用宝典。
——钟诚 博士,理光软件研究院研究员
评论
还没有评论。