新書推薦:
《
积极心理学
》
售價:NT$
254.0
《
自由,不是放纵
》
售價:NT$
250.0
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:NT$
1265.0
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
918.0
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:NT$
347.0
《
美丽与哀愁:第一次世界大战个人史
》
售價:NT$
653.0
《
国家豁免法的域外借鉴与实践建议
》
售價:NT$
857.0
《
大单元教学设计20讲
》
售價:NT$
347.0
|
編輯推薦: |
本书全面系统地介绍了Keras框架的知识,重要内容均结合代码实例进行讲解,读者通过这些实例可以深入掌握Keras程序设计的技能,并对深度学习有进一步的了解。
|
內容簡介: |
Keras是一个用Python编写的开源人工神经网络库,可以作为TensorFlow、CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。本书从初学者的角度出发,为读者构建一个完整的Keras技术体系。 本书共分为9章,主要内容包括深度学习框架Keras的背景、搭建学习环境、深度学习的理论基础、卷积层与MNIST实战、多层感知机与MNIST实战、TensorFlow Datasets和TensorBoard、ResNet及其兄弟ResNext,*后是两个项目实战案例词嵌入与情感分类。 本书既适合Keras深度学习初学者、深度学习算法技术人员阅读,也适合作为高等院校与培训机构人工智能相关专业的师生参考。
|
關於作者: |
王晓华,计算机专业讲师,长期讲授面向对象程序设计、数据结构、Hadoop程序设计等研究生和本科生相关课程;主要研究方向为云计算、数据挖掘。曾主持和参与多项国家和省级科研课题,独立科研项目获省级成果认定,发表过多篇论文,拥有一项专利。著有《Spark MLlib机器学习实践》《TensorFlow深度学习应用实践》《OpenCV TensorFlow深度学习与计算机视觉实战》《TensorFlow 2.0卷积神经网络实战》等图书。
|
目錄:
|
第1章 深度学习与应用框架 1
1.1 何为深度学习 1
1.1.1 何为深度学习 1
1.1.2 与传统的浅层学习的区别 3
1.2 开汽车或者制造汽车深度学习入门 4
1.2.1 第一步:数据的准备 4
1.2.2 第二步:数据的处理 5
1.2.3 第三步:模型的设计 6
1.2.4 第四步:模型的训练 6
1.2.5 第五步:模型的结果和展示 7
1.3 深度学习的流程、应用场景和模型分类 8
1.3.1 深度学习的流程与应用场景 8
1.3.2 深度学习的模型分类 9
1.4 主流深度学习框架对比 11
1.4.1 深度学习框架的选择 11
1.4.2 Keras与TensorFlow 12
1.5 本章小结 13
第2章 Hello TensorFlow & Keras 14
2.1 TensorFlow的环境安装 14
2.1.1 Anaconda的下载与安装 14
2.1.2 Python编译器PyCharm的安装 17
2.1.3 使用Python计算softmax函数 20
2.2 搭建环境2:安装TensorFlow 2.2 21
2.2.1 安装TensorFlow 2.2的CPU版本 21
2.2.2 安装TensorFlow 2.2的GPU版本 21
2.2.3 练习Hello TensorFlow 24
2.3 TensorFlow & Keras 25
2.3.1 模型!模型!模型!还是模型 25
2.3.2 使用Keras API实现鸢尾花分类的例子(顺序模型) 26
2.3.3 使用Keras 函数式编程实现鸢尾花分类的例子(重点) 29
2.3.4 使用保存的Keras模式对模型进行复用 32
2.3.5 使用TensorFlow 标准化编译对iris模型进行拟合 33
2.3.6 多输入单一输出TensorFlow 编译方法(选学) 37
2.3.7 多输入多输出TensorFlow 编译方法(选学) 41
2.4 全连接层详解 42
2.4.1 全连接层的定义与实现 43
2.4.2 使用Keras实现全连接层 44
2.4.3 打印显示已设计的模型结构和参数 47
2.5 懒人的福音Keras模型库 49
2.5.1 ResNet50模型和参数的载入 50
2.5.2 使用ResNet50作为特征提取层建立模型 52
2.6 本章小结 54
第3章 深度学习的理论基础 55
3.1 BP神经网络简介 56
3.2 BP神经网络两个基础算法详解 59
3.2.1 最小二乘法详解 59
3.2.2 道士下山的故事梯度下降算法 62
3.3 反馈神经网络反向传播算法 65
3.3.1 深度学习基础 65
3.3.2 链式求导法则 66
3.3.3 反馈神经网络原理与公式推导 67
3.3.4 反馈神经网络原理的激活函数 72
3.3.5 反馈神经网络原理的Python实现 74
3.4 本章小结 78
第4章 卷积层与MNIST实战 79
4.1 卷积运算基本概念 79
4.1.1 卷积运算 80
4.1.2 TensorFlow中卷积函数的实现 82
4.1.3 池化运算 84
4.1.4 softmax激活函数 85
4.1.5 卷积神经网络原理 86
4.2 编程实战:MNIST手写体识别 89
4.2.1 MNIST数据集 89
4.2.2 MNIST数据集特征和标签 91
4.2.3 TensorFlow 2.2编程实战:MNIST数据集 94
4.2.4 使用自定义的卷积层实现MNIST识别 98
4.3 本章小结 101
第5章 多层感知机与MNIST实战 102
5.1 一个简单的多层感知机 102
5.1.1 多层感知机的原理与实现 102
5.1.2 多层感知机的激活函数 106
5.2 消除过拟合正则化与dropout 108
5.2.1 正则化与dropout概述 109
5.2.2 使用防过拟合处理的多层感知机 110
5.2.3 Keras创建多层感知机的细节问题 112
5.3 本章小结 113
第6章 TensorFlow Datasets和TensorBoard 114
6.1 TensorFlow Datasets简介 114
6.1.1 Datasets数据集的安装 116
6.1.2 Datasets数据集的使用 116
6.2 Datasets 数据集的使用FashionMNIST 118
6.2.1 FashionMNIST数据集下载与展示 119
6.2.2 模型的建立与训练 121
6.3 使用Keras对FashionMNIST数据集进行处理 123
6.3.1 获取数据集 123
6.3.2 数据集的调整 124
6.3.3 使用Python类函数建立模型 124
6.3.4 模型的查看和参数打印 126
6.3.5 模型的训练和评估 127
6.4 使用TensorBoard可视化训练过程 130
6.4.1 TensorBoard的文件夹设置 130
6.4.2 TensorBoard的显式调用 131
6.4.3 TensorBoard的使用 133
6.5 本章小结 137
第7章 从冠军开始:ResNet 138
7.1 ResNet的基本原理与程序设计基础 139
7.1.1 ResNet诞生的背景 139
7.1.2 模块工具的TensorFlow实现不要重复造轮子 142
7.1.3 TensorFlow 高级模块layers的用法 143
7.2 ResNet实战:CIFAR-100数据集分类 150
7.2.1 CIFAR-100数据集简介 151
7.2.2 ResNet残差模块的实现 154
7.2.3 ResNet网络的实现 156
7.2.4 使用ResNet对CIFAR-100数据集进行分类 159
7.3 ResNet的兄弟ResNeXt 160
7.3.1 ResNeXt诞生的背景 161
7.3.2 ResNeXt残差模块的实现 162
7.3.3 ResNeXt网络的实现 163
7.3.4 ResNeXt和ResNet的比较 165
7.4 本章小结 166
第8章 Keras实战有趣的词嵌入 167
8.1 文本数据处理 167
8.1.1 数据集和数据清洗 168
8.1.2 停用词的使用 170
8.1.3 词向量训练模型word2vec的使用 173
8.1.4 文本主题的提取:基于TF-IDF(选学) 176
8.1.5 文本主题的提取:基于TextRank(选学) 180
8.2 更多的词嵌入方法fastText和预训练词向量 183
8.2.1 fastText的原理与基础算法 184
8.2.2 fastText训练以及与TensorFlow 2.X的协同使用 185
8.2.3 使用其他预训练参数做TensorFlow词嵌入矩阵(中文) 192
8.3 针对文本的卷积神经网络模型字符卷积 193
8.3.1 字符(非单词)文本的处理 193
8.3.2 卷积神经网络文本分类模型的实现conv1d(一维卷积) 201
8.4 针对文本的卷积神经网络模型词卷积 202
8.4.1 单词的文本处理 203
8.4.2 卷积神经网络文本分类模型的实现conv2d(二维卷积) 205
8.5 使用卷积对文本分类的补充内容 208
8.5.1 中文的文本处理 209
8.5.2 其他细节 211
8.6 本章小结 212
第9章 Keras实战站在巨人肩膀上的情感分类实战 213
9.1 GRU与情感分类 213
9.1.1 使用GRU的情感分类 213
9.1.2 什么是GRU 214
9.1.3 TensorFlow中的GRU层 217
9.1.4 单向不行就双向 217
9.2 站在巨人肩膀上的情感分类 218
9.2.1 使用TensorFlow自带的模型做文本分类 219
9.2.2 使用自定义的DPCNN做模型分类 223
9.3 本章小结 227
|
內容試閱:
|
深度学习和人工智能引领了一个新的研究和发展方向,同时正在改变人类固有的处理问题和解决问题的方法和认知。现在各个领域都处于运用深度学习技术进行本领域重大突破技术的阶段,与此同时深度学习本身也展现出巨大的发展空间。
Keras是专门用作深度学习的人工神经网络框架,它使用严谨、迅捷的TensorFlow作为后端计算程序,给使用者提供了一个便于入门,能够提高的深度学习实现方案。
Keras代码结构采用面向对象方法编写,完全模块化,并具有可扩展性,其运行机制和说明文档都将用户体验和使用难度纳入考虑,降低了复杂算法的实现难度。Keras支持现代人工智能领域的主流算法,包括前馈结构和递归结构的神经网络,也可以通过封装参与构建统计学习模型。在硬件和开发环境方面,Keras支持多操作系统下的多GPU并行计算,可以根据后台设置转化为符合TensorFlow代码要求的运行环境,从而无缝调用TensorFlow作为其计算后台。
本书由浅到深地介绍Keras框架相关的知识,重要内容均结合代码进行实战讲解,读者通过这些实例可以深入掌握Keras程序设计的内容,并对深度学习有进一步的了解。
源码、数据集与开发环境下载
本书配套的源码、数据集与开发环境可用微信扫描清华社网盘二维码下载(可按页面提示,把下载链接发到自己的邮箱中,在PC上下载)。
本书特色
版本新,易入门
本书详细介绍Keras最新版本的安装和使用,包括Keras的默认API和后端TensorFlow 2.2。
作者经验丰富,代码编写细腻
作者是长期奋战在科研和工业界的一线算法设计和程序编写人员,实战经验丰富,对代码中可能会出现的各种问题和坑有丰富的处理经验,这些经验可使读者少走很多弯路。
理论扎实,深入浅出
在代码设计的基础上,本书深入浅出地介绍深度学习需要掌握的一些基本理论知识,并通过大量的公式与图示对理论进行介绍。
对比多种应用方案,实战案例丰富
本书采用大量的实例,同时提供一些实现同类功能的解决方案,覆盖了使用TensorFlow Keras进行深度学习开发中常用的知识。
本书内容体系
第1章 深度学习与应用框架
本章介绍深度学习的基本理念、基础,并通过一个真实的深度学习例子向读者展示深度学习的一般训练步骤,之后对比Keras和其他深度学习框架,说明使用Keras进行深度学习开发的简易和便捷性。
第2章 Hello TensorFlow & Keras
本章着重介绍TensorFlow&Keras的环境搭建与安装方法,初步介绍Keras函数式编程的基本API,并以全连接层这个最常用的神经网络基础层为例向读者详细介绍全连接层的理论基础和Keras的全实现,并在此基础上介绍部分Keras的常用功能,例如Keras自带的模型库。
第3章 深度学习的理论基础
本章主要介绍深度学习的理论基础,从BP神经网络开始,介绍神经网络两个基础算法,并着重介绍反向传播算法的完整过程和理论,最后通过编写基本Python的方式实现一个完整的反馈神经网络。
第4章 卷积层与MNIST实战
本章主要介绍卷积层的函数实现以及池化、激活和分类函数softmax的原理,并通过一个MNIST数据集介绍使用卷积层的使用方法,最后演示一个基本卷积神经网络的作用。
第5章 多层感知机与MNIST实战
本章是卷积神经网络的实战内容,主要通过演示一个多层感知机向读者介绍使用神经网络进行训练的一些内容,例如激活函数、神经网络的正则化、dropout(随机失活)方法等。这些内容主要涉及神经网络预防过拟合的内容,能够帮助读者更加完整地掌握神经网络的训练方法。
第6章 TensorFlow Datasets和TensorBoard
本章主要介绍TensorFlow 2.2中两个新的高级API。TensorFlow Datasets简化了数据集的获取与使用。TensorFlow Datasets中的数据集依旧在不停地增加中。TensorBoard是可视化模型训练过程的利器,通过其对模型训练过程不同维度的观测可以帮助用户对模型进行训练。
第7章 从冠军开始:ResNet
本章主要介绍神经网络具有里程碑意义的模型ResNet。它改变了人们仅仅依靠堆积神经网络层来获取更高性能的做法,在一定程度上解决了梯度消失和梯度爆炸的问题。这是一项跨时代的发明。本章以手把手的方式向读者介绍Block模型的编写和架构方法。
第8章 实战有趣的词嵌入
本章介绍自然语言处理的一些内容,通过一个完整的例子向读者介绍自然语言处理所需要的全部内容,一步步地教会读者使用不同的架构和维度进行文本分类的方法。
第9章 实战站在巨人肩膀上的情感分类实战
本章介绍使用时间序列GRU进行特征提取并最终完成情感分类的任务和工作。这是对使用卷积层做情感分类的补充。
本书读者
人工智能入门读者
深度学习入门读者
机器学习入门读者
高等院校人工智能专业的师生
专业培训机构的师生
其他对智能化、自动化感兴趣的开发者
技术支持、勘误和鸣谢
由于作者的水平有限,加上Keras的演进较快,书中难免存在疏漏之处,恳请读者来信批评指正。技术支持电子邮箱booksaga@163.com,邮件主题为Keras实战。
感谢家人的支持和理解,这些都给予我莫大的动力,让自己的努力更加有意义。
著 者
2021年1月
|
|