描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302511021
产品特色
编辑推荐
本书以通俗易懂的语言简要讲解机器学习的核心概念,通过比较传统机器学习和深度神经网络的区别,引入深度神经网络的应用领域,将一个完整的深度神经网络的复杂结构拆成输入处理、模型元件以及模型优化三个子块,并详细说明如何将深度神经网络模型应用在移动端App制作中。基于理论讲解,由浅入深地引出若干个经典案例,讲解当前深度神经网络在图像处理领域的应用。本书同时提供了基于云GPU容器(Docker)的完整在线开发环境,方便初学者直接学习核心代码。
内容简介
本书从机器学习、图像处理的基本概念入手,逐步阐述深度学习图像处理技术的基本原理以及简单的实现。继而以几个实战案例来介绍如何使用深度学习方法,在数据分析竞赛中取得较高的排名。*后,通过一个实战案例,介绍如何将模型放入 iOS 程序,制作相应的人工智能手机App。本书适用于对深度学习有兴趣、希望入门这一领域的理工科大学生、研究生,以及希望了解该领域基本原理的软件开发人员。此外,本书所有案例均提供了云环境上的代码,便于读者复现结果,并进行深入学习。
目 录
目 录
第1章 搭建指定的开发环境11.1
为什么要使用指定的开发环境11.2
硬件准备21.2.1
在亚马逊租用云GPU服务器21.2.2
在腾讯云租用GPU服务器41.2.3
在云服务器中开启搭载开发环境的Docker服务81.3
软件准备91.3.1
在Ubuntu 16.04下配置环境91.3.2
在CentOS 7下配置环境121.4
参考文献及网页链接12
第2章 温故知新——机器学习基础知识132.1
人工智能、机器学习与深度学习132.2
训练一个传统的机器学习模型152.2.1
步,观察数据162.2.2
第二步,预览数据172.3
数据挖掘与训练模型292.3.1
步,准备数据292.3.2
第二步,挖掘数据特征312.3.3
第三步,使用模型372.3.4
第四步,代码实战442.4
参考文献及网页链接49
第3章 数形结合——图像处理基础知识503.1
读取图像文件进行基本操作513.1.1
使用python-opencv读取图片513.1.2
借助python-opencv进行不同编码格式的转换523.1.3
借助python-opencv改变图片尺寸533.2
用简单的矩阵操作处理图像533.2.1
对图像进行复制与粘贴533.2.2
把图像当成矩阵进行处理——二维码转换成矩阵543.3
使用OpenCV“抠图”——基于颜色通道以及形态特征593.4
基于传统特征的传统图像分类方法643.4.1
将图片简化为少数区域并计算每个区域轮廓特征的方向663.4.2
将HOG变换运用在所有正负样本中683.4.3
训练模型703.4.4
将训练好的分类器运用在新的图片中713.5
参考文献及网页链接73
第4章 继往开来——使用深度神经网络框架744.1
从逻辑回归说起744.2
深度学习框架764.3
基于反向传播算法的自动求导774.4
简单的深度神经网络框架实现804.4.1
数据结构部分814.4.2
计算图部分834.4.3
使用方法854.4.4
训练模型864.5
参考文献及网页链接89
第5章 排列组合——深度神经网络框架的模型元件905.1
常用层925.1.1
Dense925.1.2
Activation925.1.3
Dropout935.1.4
Flatten945.2
卷积层945.2.1
Conv2D945.2.2
Cropping2D1015.2.3
ZeroPadding2D1015.3
池化层1025.3.1
MaxPooling2D1025.3.2
AveragePooling2D1025.3.3
GlobalAveragePooling2D1035.4
正则化层与过拟合1045.5
反卷积层1055.6
循环层1095.6.1
SimpleRNN1095.6.2
LSTM1095.6.3
GRU1105.7
参考文献及网页链接110
第6章 少量多次——深度神经网络框架的输入处理1126.1
批量生成训练数据1136.2
数据增强1156.3
参考文献及网页链接117
第7章 愚公移山——深度神经网络框架的模型训练1187.1
随机梯度下降1197.2
动量法1207.3
自适应学习率算法1217.4
实验案例1247.5
参考文献及网页链接128
第8章 小试牛刀——使用深度神经网络进行CIFAR-10数据分类1298.1
上游部分——基于生成器的批量生成输入模块1318.2
核心部分——用各种零件搭建深度神经网络1318.3
下游部分——使用凸优化模块训练模型1328.4
参考文献及网页链接133
第9章 见多识广——使用迁移学习提升准确率1349.1
猫狗大战1.0——使用卷积神经网络直接进行训练1359.1.1
导入数据1359.1.2 可视化1379.1.3
分割训练集和验证集1389.1.4
搭建模型1409.1.5
模型训练1419.1.6
总结1429.2
猫狗大战2.0——使用ImageNet数据集预训练模型1429.2.1
迁移学习1429.2.2
数据预处理1439.2.3
搭建模型1439.2.4
模型可视化1449.2.5
训练模型1459.2.6
提交到kaggle评估1469.3
猫狗大战3.0——使用多种预训练模型组合提升表现1469.3.1
载入数据集1479.3.2
使用正确的预处理函数1479.3.3
搭建特征提取模型并导出特征1479.3.4
搭建并训练全连接分类器模型1489.3.5
在测试集上预测1499.4
融合模型1509.4.1
获取特征1509.4.2
数据持久化1519.4.3
构建模型1519.4.4
在测试集上预测1529.5
总结1539.6
参考文献及网页链接154
第10章 看图识字——使用深度神经网络进行文字识别15510.1
使用卷积神经网络进行端到端学习15510.1.1
编写数据生成器15710.1.2
使用生成器15710.1.3
构建深度卷积神经网络15810.1.4
模型可视化15810.1.5
训练模型16010.1.6
计算模型总体准确率16110.1.7
测试模型16110.1.8
模型总结16210.2
使用循环神经网络改进模型16210.2.1
CTC Loss16310.2.2
模型结构16410.2.3
模型可视化16510.2.4
数据生成器16710.2.5
评估模型16810.2.6
评估回调16910.2.7
训练模型16910.2.8
测试模型17110.2.9
再次评估模型17110.2.10
总结17310.3
识别四则混合运算验证码(初赛)17310.3.1
问题描述17410.3.2
数据集探索17410.3.3
模型结构17610.3.4
结果可视化18110.3.5
总结18210.4
识别四则混合运算验证码(决赛)18310.4.1
问题描述18310.4.2
数据集探索18410.4.3
数据预处理18610.4.4
模型结构19210.4.5
生成器19510.4.6
模型的训练19710.4.7
预测结果19810.4.8
模型结果融合19910.4.9
其他尝试20010.4.10
小结20210.5
参考文献及网页链接203
第11章 见习医生——使用全卷积神经网络分割病理切片中的癌组织20511.1
任务描述20511.1.1
赛题设置20511.1.2
数据描述20611.1.3
数据标注20611.2
总体思路20611.3
构造模型20711.3.1
准备数据20811.3.2
构建模型21411.3.3
模型优化21711.4
程序执行22511.5
模型结果可视化22611.5.1
加载函数22611.5.2
选择验证集并编写预测函数22611.5.3
根据tensorborad可视化结果选择好的模型22811.5.4
尝试逐步降低学习率23011.6
观察模型在验证集上的预测表现23111.7
参考文献及网页链接234
第12章 知行合一——如何写一个深度学习App23512.1
CAM可视化23512.2
导出分类模型和CAM可视化模型23612.2.1
载入数据集23612.2.2
提取特征23712.2.3
搭建和训练分类器23712.2.4
搭建分类模型和CAM模型23812.2.5
可视化测试23912.2.6
保存模型24112.2.7
导出mlmodel模型文件24112.3
开始编写App24212.3.1
创建工程24212.3.2
配置工程24412.3.3
测试工程24912.3.4
运行程序24912.4
使用深度学习模型25012.4.1
将模型导入到工程中25012.4.2
数据类型转换函数25012.4.3
实施CAM可视化25212.4.4
模型效果25412.5
参考文献及网页链接255
前 言
前 言回想2017年4月,当清华大学出版社的编辑找到杨培文和我,商量着写一本与深度学习相关的书时,我还是比较缺乏信心的。首先,自己本专业是基因组学,或者说是生物学,机器学习方面的知识都是自学的。其次,我根本就没有写过书,由我参与撰写,可能是班门弄斧,内容有误都是小事,万一写的内容给读者灌输了错误的观念、在大方向上误导了初学阶段的读者,实在是难辞其咎。出版社方面同样了解我们的情况,跟我们说出版社这次想出一本面向非数学、计算机相关专业的书,希望语言更加通俗易懂,例子更贴近实际项目,让非专业出身的人看了以后,对机器学习、图像处理以及深度学习三者有一个基本的认识。这里,我经常向生物、医学专业背景的人解释机器学习模型的原理,而培文则有多次数据分析竞赛名列前茅的经历,因此出版社希望我们两位尝试一下。所以接下来编写书籍的过程中,我们的定位就是相比现在市面上主流的相关书籍,前几章写得更加通俗,把入门的门槛再降低一些;然后后面的章节基于参加数据分析竞赛的实战过程,把终的目标再定高一些;后我们的配套代码以及环境要让初学者可以很容易地跑起来,把书籍的内容落在实际运用中。我们希望这本书可以让非科班出身的读者快速了解深度学习的基本原理,将相关技术举一反三,运用在自己的课题、项目中。以我自己为例,在书籍编写完成后的审阅过程中,我仔细阅读了培文撰写的运用循环神经网络进行验证码识别这一章节(第10章)的内容,后来参加百度AI挑战赛时,初的模型就是培文整理的配套代码,后来经过调整,后取得了第二名的成绩。后一点,阅读本书,需要读者具有基本的Python编程基础,以及科学计算相关模块的了解。这部分内容本书并未涉及,但读者可以通过斯坦福大学cs228 相关配套入门习题进行简单的了解,我们对此进行了汉化、。在此感谢景略集智的王文凯、柯希阳在书籍编写过程中提供的帮助。
胡博强2018年7月18日
评论
还没有评论。