前 言
深度学习和人工智能引领了一个新的研究和发展方向,同时正在改变人类固有的处理问题和解决问题的方法和认知。现在各个领域都处于运用深度学习技术进行本领域重大突破技术的阶段,与此同时深度学习本身也展现出巨大的发展空间。
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月