《深度学习算法实践(基于Theano和TensorFlow)》以深度学习算法入门为主要内容,通过系统介绍Python、NumPy、SciPy等科学计算库,深度学习主流算法,深度学习前沿研究,深度学习服务云平台构建四大主线,向读者系统地介绍了深度学习的主要内容和研究进展。《深度学习算法实践(基于Theano和TensorFlow)》介绍了Python、NumPy、SciPy的使用技巧,面向谷歌推出的开源深度学习框架TensorFlow,向读者展示了利用TensorFlow和Theano框架实现线性回归、逻辑回归、多层感知器、卷积神经网络、递归神经网络、长短时记忆网络、去噪自动编码机、堆叠自动编码机、受限玻尔兹曼机、深度信念网络等,并将这些技术用于MNIST手写数字识别任务。《深度学习算法实践(基于Theano和TensorFlow)》不仅讲述了深度学习算法本身,而且重点讲述了如何将这些深度学习算法包装成Web服务。《深度学习算法实践(基于Theano和TensorFlow)》旨在帮助广大工程技术人员快速掌握深度学习相关理论和实践,并将这些知识应用到实际工作中。
《深度学习算法实践(基于Theano和TensorFlow)》可以作为各类深度学习培训班的教材,也可以作为全国高等工科院校“深度学习”课程的教材,还可以作为广大人工智能、深度学习领域工程技术人员的参考书。
1.本书详细介绍深度学习算法的实现和实际应用,指导读者将各种深度学习算法应用到实践中去2.本书与偏重李玲介绍的书籍不同,是更偏向实践的图书。3.本书以Theano平台为基础,目前市面上的图书还没有。4.本书会将数学基础和C语言实现部分作为网络资源提供。
2016年上半年,随着AlphaGo战胜围棋世界冠军李世石,深度学习技术迅速进入大众的视野,成为热门技术。无论是科技领域还是创业投资领域,深度学习技术都受到了前所未有的关注,面向深度学习技术的初创公司不断刷新融资数额的纪录。
随着深度学习技术的流行,市场上对于深度学习人才的需求量激增。但是,由于深度学习技术涉及高等数学、线性代数、数理统计和机器学习相关知识,故学习曲线比较陡峭。目前国内外著名大学深度学习相关专业硕博士、国家重点实验室学生,都被BAT等一线互联网公司抢光了,人才大战有愈演愈烈之势。普通公司和初创公司,在这场人才大战中处于劣势,面临着越来越严重的人才荒。
随着深度学习技术的深入应用,企业对深度学习技术人才的渴求是正常的,但是当前市场上对深度学习技术人才的需求是非理性的。一方面,大家疯抢的深度学习人才都是著名院校的硕博士和重点实验室的研究员,但是这部分人所受的训练和精通的领域是做算法研究,而企业的目的是实际应用,二者在很大程度上是不匹配的,最后可能是企业下了血本却没有产生效益;另一方面,对于很多深度学习应用来说,对项目本身业务的理解,比对深度学习算法的理解要重要得多,而由于业务专家不懂深度学习技术,致使很多好的应用领域没有合适的人才来做。
编写本书的目的就是解决上述问题,希望读者可以通过对本书的学习,迅速掌握深度学习的理论框架和知识体系,具备在自己的专业领域内应用深度学习技术的能力,同时还具备跟踪深度学习领域最新进展的能力,能够独立复现顶级期刊文章中介绍的新方法和新理论。
本书内容及知识体系
第一部分为深度学习算法概述,包括第1章。
第 1 章简单介绍神经网络和深度学习发展史、现状和发展趋势,介绍并比较了深度学习开源框架,还介绍了开源框架的选择标准。
第二部分为深度学习算法基础,主要讲述深度学习算法中比较成熟的算法,包括第2章到第7章。
第 2 章介绍Python开发环境的搭建、NumPy的使用、Theano的安装和使用,并用本章介绍的知识实现一个简单的线性回归算法的程序。
第 3 章讲述逻辑回归算法的数学推导过程,并且讲述了通用学习模型的相关知识,还利用逻辑回归算法对MNIST手写数字识别数据集进行训练和识别。
第 4 章讲述多层感知器模型算法推导过程,以及数值计算与向量表示方式,并利用多层感知器模型对MNIST手写数字识别数据集进行训练和识别。
第 5 章讲述卷积神经网络的数学原理,详细讲解卷积神经网络的层间稀疏连接、权值共享和最大池化等技术,并利用卷积神经网络模型对MNIST手写数字识别数据集进行训练和识别。
第 6 章讲述递归神经网络的数学原理,以字符RNN网络为例,向读者演示了简单的计算机写作系统。而且,以微软图像标注数据集为例,以测试驱动开发的形式,向读者介绍利用递归神经网络做图像标注的典型应用。
第 7 章讲述长短时记忆网络的网络架构和数学原理,并以大型影评数据集为例,采用长短时记忆网络进行情感计算。
第三部分为深度学习算法进阶,主要讲述深度学习算法中比较前沿的算法,包括第8章到第11章。
第 8 章讲述自动编码机的数学原理,重点介绍实际中应用较多的去噪自动编码机和稀疏自动编码机,并以去噪自动编码机为例,对MNIST手写数字识别数据集进行特征提取。
第 9 章讲述将去噪自动编码机进行分层训练,组合成堆叠去噪自动编码机,并将堆叠去噪自动编码机用于MNIST手写数字识别任务。
第 10 章讲述受限玻尔兹曼机的数学原理,并将其用于MNIST手写数字识别任务。
第 11 章讲述深度信念网络的数学原理,以及其与受限玻尔兹曼机的关系,并将其用于MNIST手写数字识别任务。
第四部分为机器学习基础,主要讲述一些基础的机器学习算法,包括第12章和第13章。
第12章讲述生成式学习的基础理论,并将高斯判别分析用于癌症判别,将朴素贝叶斯算法用于垃圾邮件过滤。
第13章简单介绍支撑向量机算法的数学原理。
第五部分为深度学习平台 API,这部分讲述将深度学习算法包装成深度学习服务云平台的技术,包括第14章和第15章。
第14章介绍Python的Web开发环境及开发技术。
第15章应用Web开发技术,将前面介绍的多层感知器模型包装成RESTful服务,用户可以通过网页上传图片文件,并得到识别后的结果。
由于篇幅所限,书中很多例子只给出了部分代码,这些代码对于理解算法的实现原理是足够的,但是考虑到代码的完整性,我们将书中绝大部分例程都上传到了GitHub的开源项目https://github.com/yt7589/dlp.git,书中的代码放在book/chp**目录下,这些代码在Ubuntu 16.04+Python3.6+TensorFlow1.2和Windows+Anaconda+TensorFlow1.2下均可正常运行。读者可以下载相关源码,通过运行这些源码加深对书中内容的理解。