本教材从深度学习框架的搭建和深度学习的编程架构介绍开始,深入浅出地讲解了如何使用人工神经网络来解决实际问题。认真阅读完本教材,即可掌握深度学习技术的基础知识、重要概念、主要方法和部分最佳实践方法,并具备足够继续往下深造的学习能力。
本教材的主要目录结构如下:
单元一:介绍TensorFlow开发环境的搭建和配置方法。
单元二:介绍TensorFlow编程基础,包括计算图、张量、Eager Execution应用、操作运算、常用函数、维度变换、部分采样等内容。
单元三:介绍深层神经网络,包括单层神经网络、多层神经网络、梯度下降算法、BP反向传播算法、优化方法等内容。
单元四:介绍卷积神经网络,包括传统卷积神经网络、常见的卷积神经网络、YOLO模型等内容。
单元五:介绍循环神经网络,包括SimpleRNN、单/多层LSTM、单/多层GRU、双向循环神经网络等内容。
单元六:介绍TensorBoard可视化,包括TensorBoard调用和TensorBoard参数监控等内容。
本教材中的任务均是结合生活中真实场景的案例,配合从零开始循序渐进的讲解,并尽量避开枯燥的数学理论和烦琐的推导过程,非常适合希望快速入门的学习者和从业人员,也适合希望简要了解人工智能、神经网络、深度学习基本概念和思维方法的读者。
单元一开发环境搭建与测试1
1.1任务11在Windows上安装TensorFlow1
1.2任务12在Ubuntu上安装TensorFlow10
1.3任务13TensorFlow初体验16
1.4拓展与提高18
1.5单元小结20
1.6习题20
单元二TensorFlow编程基础22
2.1任务21认识计算图22
2.2任务22创建张量26
2.3任务23张量的属性30
2.4任务24Eager Execution应用33
2.5任务25运算操作36
2.6任务26常用函数39
2.7任务27维度变换46
2.8任务28部分采样53
2.9任务29线性回归实战57
2.10拓展与提高62
2.11单元小结63
2.12习题63
单元三深层神经网络65
3.1任务31单层神经网络搭建实战65
3.2任务32多层神经网络搭建实战70
3.3任务33梯度下降算法实战76
3.4任务34BP反向传播算法实战82
3.5任务35多层神经网络优化实战87
3.6拓展与提高92
3.7单元小结93
3.8习题94
单元四卷积神经网络95
4.1任务41MNIST手写数字识别实战95
4.2任务42多层卷积网络图像分类实战101
4.3任务43YOLO模型应用实战110
4.4拓展与提高122
4.5单元小结124
4.6习题124
单元五循环神经网络125
5.1任务51多层SimpleRNN实战125
5.2任务52单层LSTM实现影评分类实战129
5.3任务53多层LSTM酒店评论情感识别实战136
5.4任务54单层GRU实现影评分类实战145
5.5任务55多层GRU实现短语音情感识别149
5.6拓展与提高154
5.7单元小结155
5.8习题156
单元六TensorBoard可视化157
6.1任务61TensorBoard调用157
6.2任务62TensorBoard参数监控163
6.3拓展与提高169
6.4单元小结171
6.5习题171
当前对几款主流的深度学习框架的学习,无论是在国内还是在国外、可以说是如火如荼,然而,由于深度学习技术的基础属于人工智能中神经网络相关的知识范畴,而神经网络的研究又基于线性代数、矩阵运算、微积分、图论、概率论等复杂的数学理论,市面上出版的一些教材也是开篇就讲这些数学理论基础,这让很多初学者望,这些深度学习框架的最新文档大多为英文,并且直接讲类似MNIST的较复杂图像识别任务,图像识别是深度学习中最激动人心的创新应用之一,也是本次人工智能大潮的焦点,但是对初学者来说,骤然跨过这么高的门槛反而会增加入门的难度,并影响学习的信心。
本教材由南宁职业技术学院高伟锋、龙妍担任主编,负责教材的编写思路、体例结构和内容设计,柳州铁道职业技术学院李筱林、广西交通职业技术学院洪东、南宁职业技术学院谢锋担任副主编。
本教材的编写符合“项目引领单元、任务驱动课堂”的教学理念,教材中精选了几个最贴近生活的、浅显易懂的实际问题,采用手把手实例讲解的方式,帮助初学者少走弯路,迈好踏入深度学习殿堂的第一步,打好进一步提高的知识基础,也树立继续进阶学习的充足信心。本教材中的实例讲解均基于使用Python语言的TensorFlow 2.0框架,只需稍具Python语言编程的基础,通过阅读本教材,就可迅速掌握用深度学习技术解决实际问题的方法,并具备举一反三的能力。教材配套丰富的数字教学资源(包括项目及其源代码、教学课件、微课、习题等资源)。没有任何编程基础或无意学习编程开发的读者,也可以通过本教材了解深度学习的概念和它的科学思维方法,解决初学者可能遇到的门槛问题。
最后,作为入门教材,根据笔者常年进行培训和教育的经验,太过追求严谨和精确的概念定义或深陷于数学理论的推导,反而会影响初学者对相关知识的理解。因此,本教材尽量减少对纯数学理论的研究探讨,对概念和一些理论知识也做了一定简化易懂的处理,这样有益于读者快速掌握基础知识和加强进一步自学深造的能力。本教材在章节上也进行了精心的编排,确保读者能够循序渐进地学习;各个概念和知识点的引入也是精心穿插在合适的章节位置中,既能避免读者死记硬背大量理论知识,又能保证学习相关技术前拥有必需的知识基础。