深度学习导论及案例分析
作者 : 李玉鑑 张婷 等著
出版日期 : 2016-10-13
ISBN : 978-7-111-55075-4
定价 : 59.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 300
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书不仅介绍了深度学习的发展历史、强调了深层网络的特点和优势、说明了判别模型和生成模型的相关概念,而且详述了深度学习的九种重要模型及其学习算法、变种模型和混杂模型,讨论了深度学习在图像处理、语音处理和自然语言处理等领域的广泛应用,也总结了深度学习目前存在的问题、挑战和未来的发展趋势,还分析了一系列深度学习的基本案例。本书可以作为计算机、自动化、信号处理、机电工程、应用数学等相关专业的研究生、教师和科研工作者在具备神经网络基础知识后进一步了解深度学习理论和方法的入门教材或导论性参考书,有助于读者掌握深度学习的主要内容并开展相关研究。

图书特色

关于深度学习的导论性著作,也是了解深度学习的入门之书。
详述了深度学习的9大重要模型及其学习算法、变种模型和混杂模型,内容翔实,具有提纲挈领的指导意义。
基于Matlab、Python和C++相关的程序案例介绍深度学习模型,有助于读者全面了解深度学习模型和算法的实现途径。

这是一部关于深度学习的导论性著作,也是了解深度学习的入门书籍。全书涵盖了深度学习的发展历史、特点优势,包括各种重要的模型、算法及应用,对读者把握深度学习的基本脉络和未来趋势,具有提纲挈领的指导意义。
深度学习是近年来在神经网络发展史上掀起的一波新浪潮,是机器学习的一大热点方向,是实现人工智能的一种强大技术,有关成果早已震撼了学术界和工业界。随着AlphaGo战胜人类的围棋冠军,深度学习又受到了空前绝后的爆炸性关注。
有兴趣的读者可以从本书开始,逐步揭开深度学习的神秘面纱,窥探其中的奥妙所在。
本书具有如下特色
内容布局注重深入浅出、引用文献丰富,方便读者学习和钻研。
试图纠正许多读者对深度学习的一些错误理解,比如认为多层感知器不是深度学习模型,认为自编码器能够直接用来进行手写字符识别,认为受限玻耳兹曼机也是严格意义上的深度学习模型,等等。
提供了许多深度学习的基本案例,涉及Matlab、Python和C++常用语言,以及Theano和Caffe等开源库,有助于读者通过不同语言的分析案例,全面了解深度学习模型和算法的实现途径。


李玉鑑( 鉴 ) 北京工业大学教授,博士生导师。华中科技大学本科毕业,中国科学院数学研究所硕士毕业,中国科学院半导体研究所博士毕业,北京邮电大学博士后出站。曾在中国科学院生物物理所工作,对意识的本质问题关注过多年,并在《21世纪100个交叉科学难题》上发表《揭开意识的奥秘》一文,提出了解决意识问题的认知相对论纲领,对脑计划和类脑研究具有宏观指导意义。长期围绕人工智能的核心目标,在神经网络、自然语言处理、模式识别和机器学习等领域开展教学、科研工作,发表国内外期刊、会议论文数十篇,是本书的第一作者。
作者邮箱:liyujian@bjut.edu.cn


深度学习是近年来在神经网络发展史上掀起的一波新浪潮,是机器学习的一大热点方向,因在手写字符识别、维数约简、图像理解和语音处理等方面取得巨大进展,所以很快受到了学术界和工业界的高度关注。在本质上,深度学习就是对具有深层结构的网络进行有效学习的各种方法。
本书不仅介绍了深度学习的起源和发展、强调了深层网络的特点和优势,说明了判别模型和生成模型的相关概念,还详述了深度学习的9种重要模型及其学习算法、变种模型和混杂模型,包括受限玻耳兹曼机、自编码器、深层信念网络、深层玻耳兹曼机、和积网络、卷积神经网络、深层堆叠网络、循环神经网络和长短时记忆网络,以及它们在图像处理、语音处理和自然语言处理等领域的广泛应用。同时分析了一系列深度学习的基本案例。
本书每个案例包括模块简介、运行过程、代码分析和使用技巧4个部分,层次结构清晰,利于读者的选择和学习并在应用中拓展思路。涉及的编程语言有3种:Matlab、Python和C++。其中,很多深度学习程序是用Matlab编写的,可以直接运行;如果使用Python语言编写深度学习程序,则可以调用Theano开源库;若使用C++语言,则可以调用Caffe开源库。

图书前言

“深度学习”一词大家已经不陌生了,随着在不同领域取得了超越其他方法的成功,深度学习在学术界和工业界掀起了一次神经网络发展史上的新浪潮。运用深度学习解决实际问题,不仅是学术界高素质人才所需的技能,而且是工业界商业巨头进行竞争的核心武器。为适应这一发展的需要,作者以长期的相关研究和教学工作为基础,经过2~3年的调研和努力,终于编写完本书。这是一本关于深度学习的入门教材和导论性参考书,受众对象包括计算机、自动化、信号处理、机电工程、应用数学等相关专业的研究生、教师和科研工作者,本书有助于他们在具备神经网络的基础知识后进一步了解深度学习的理论和方法。
自2006年诞生以来,深度学习很快成长壮大,并有一些相关的英文书籍陆续出版。虽然国内也开始出现译著,但对深度学习的内容概括得并不全面,远不能够满足市场需求。本书的内容几乎涵盖了深度学习的所有重要方面,结构上分为基础理论和案例分析两个部分。在基础理论部分,本书不仅介绍了深度学习的起源和发展、特点和优势,而且描述了深度学习的9种重要模型,包括受限玻耳兹曼机、自编码器、深层信念网络、深层玻耳兹曼机、和积网络、卷积神经网络、深层堆叠网络、循环神经网络和长短时记忆网络。此外,还讨论了这些模型的学习算法、变种模型和混合模型,以及它们在图像视频处理、音频处理和自然语言处理等领域中的广泛应用,并总结了有关的开发工具、问题和挑战。在案例分析部分,本书主要挑选了一些深度学习的程序案例进行细致的说明和分析,指导读者学习有关的程序代码和开发工具,以便在解决实际问题时加以灵活利用。其中,每个程序案例都包括模块简介、运行过程、代码分析和使用技巧这4个部分,层次结构清晰,以利于读者选择和学习,并在应用中拓展思路。本书的一个不足之处是:案例分析部分没有涉及“和积网络”和“深层堆叠网络”,这是因为和积网络的运行需要大规模集群的硬件条件,另外也很难找到便于构造深层堆叠网络案例的程序代码。
本书的一大特色是从初学者的角度出发,在知识结构的布局上注重深入浅出,对深度学习的模型涵盖得较全面,文献引用非常丰富,既适合读者入门学习,又有助于他们深入钻研。同时,本书也试图纠正许多读者对深度学习的一些错误理解,比如认为多层感知器不是深度学习模型,认为自编码器能够直接用来识别手写字符,认为受限玻耳兹曼机也是严格意义上的深度学习模型,等等。
本书的另一个特色是通过程序案例介绍深度学习模型。这对缺乏相关背景知识的读者可能非常有帮助,使他们在知其然不知其所以然的情况下运行深度学习程序并获得计算结果,从而在积累实践经验和感性认识的过程中逐步了解深度学习的有关内容。本书的案例涉及三种常见的编程语言:Matlab、Python和C++。其中,很多深度学习程序是用Matlab编写的,可以直接运行。如果使用Python语言编写深度学习程序,则可以调用Theano开源库;若使用C++语言,则可以调用Caffe开源库。不同的语言分析案例有助于读者全面了解深度学习模型和算法的实现途径,并根据自己的熟练程度灵活选择。
本书是集体智慧的结晶。北京工业大学计算机学院的刘波、胡海鹤和刘兆英等老师,以及张亚红、曾少锋、沈成恺、杨红丽和丁勇等同学,在文献和软件资料的收集整理方面提供了很大帮助。此外,机械工业出版社华章分社的温莉芳副总经理对本书的出版给予了大力支持,张梦玲编辑对本书内容的编排提出了许多宝贵意见。在这里向他们表示衷心的感谢。
最后,还要感谢父母、爱人和儿女在本书写作期间给予的理解,感谢他们的真情鼓励、默默付出以及对非规律生活的宽容。同时,作者在此也因减少了对他们的关爱而深表愧疚和歉意。
限于作者水平,本书在内容取材和结构编排上可能存在不妥之处,希望使用本书的教师、学生、专家以及其他读者提出宝贵的批评和建议。

作者
2016年8月于北京工业大学

上架指导

人工智能/智能系统

封底文字

这是一部关于深度学习的导论性著作,也是了解深度学习的入门书籍。全书涵盖了深度学习的发展历史、特点优势,包括各种重要的模型、算法及应用,对读者把握深度学习的基本脉络和未来趋势,具有提纲挈领的指导意义。
深度学习是近年来在神经网络发展史上掀起的一次新浪潮,是机器学习的一大热点方向,是实现人工智能的一种强大技术,有关成果早已震撼了学术界和工业界。随着AlphaGo战胜人类的围棋冠军,深度学习又受到了空前绝后的爆炸性关注。
有兴趣的读者可以从本书开始,逐步揭开深度学习的神秘面纱,窥探其中的奥妙所在。本书具有如下特色:
·内容布局注重深入浅出、引用文献丰富,方便读者学习和钻研。
·试图纠正许多读者对深度学习的一些错误理解,比如认为多层感知器不是深度学习模型,认为自编码器能够直接用来进行手写字符识别,认为受限玻耳兹曼机也是严格意义上的深度学习模型,等等。
·提供了许多深度学习的基本案例,涉及MATLAB、Python和C++等常用语言,以及Theano和Caffe等开源库,有助于读者通过不同的语言分析案例,全面了解深度学习模型和算法的实现途径。

图书目录

前言
第一部分基础理论
第1章概述2
1.1深度学习的起源和发展2
1.2深层网络的特点和优势4
1.3深度学习的模型和算法7
第2章预备知识9
2.1矩阵运算9
2.2概率论的基本概念11
2.2.1概率的定义和性质11
2.2.2随机变量和概率密度函数12
2.2.3期望和方差13
2.3信息论的基本概念14
2.4概率图模型的基本概念15
2.5概率有向图模型16
2.6概率无向图模型20
2.7部分有向无圈图模型22
2.8条件随机场24
2.9马尔可夫链26
2.10概率图模型的学习28
2.11概率图模型的推理29
2.12马尔可夫链蒙特卡罗方法31
2.13玻耳兹曼机的学习32
2.14通用反向传播算法35
2.15通用逼近定理37
第3章受限玻耳兹曼机38
3.1受限玻耳兹曼机的标准模型38
3.2受限玻耳兹曼机的学习算法40
3.3受限玻耳兹曼机的变种模型44
第4章自编码器48
4.1自编码器的标准模型48
4.2自编码器的学习算法50
4.3自编码器的变种模型53
第5章深层信念网络57
5.1深层信念网络的标准模型57
5.2深层信念网络的生成学习算法60
5.3深层信念网络的判别学习算法62
5.4深层信念网络的变种模型63
第6章深层玻耳兹曼机64
6.1深层玻耳兹曼机的标准模型64
6.2深层玻耳兹曼机的生成学习算法65
6.3深层玻耳兹曼机的判别学习算法69
6.4深层玻耳兹曼机的变种模型69
第7章和积网络72
7.1和积网络的标准模型72
7.2和积网络的学习算法74
7.3和积网络的变种模型77
第8章卷积神经网络78
8.1卷积神经网络的标准模型78
8.2卷积神经网络的学习算法81
8.3卷积神经网络的变种模型83
第9章深层堆叠网络86
9.1深层堆叠网络的标准模型86
9.2深层堆叠网络的学习算法87
9.3深层堆叠网络的变种模型88
第10章循环神经网络89
10.1循环神经网络的标准模型89
10.2循环神经网络的学习算法91
10.3循环神经网络的变种模型92
第11章长短时记忆网络94
11.1长短时记忆网络的标准模型94
11.2长短时记忆网络的学习算法96
11.3长短时记忆网络的变种模型98
第12章深度学习的混合模型、广泛应用和开发工具102
12.1深度学习的混合模型102
12.2深度学习的广泛应用104
12.2.1图像和视频处理104
12.2.2语音和音频处理106
12.2.3自然语言处理108
12.2.4其他应用109
12.3深度学习的开发工具110
第13章深度学习的总结、批评和展望114
第二部分案例分析
第14章实验背景118
14.1运行环境118
14.2实验数据118
14.3代码工具120
第15章自编码器降维案例121
15.1自编码器降维程序的模块简介121
15.2自编码器降维程序的运行过程122
15.3自编码器降维程序的代码分析127
15.3.1关键模块或函数的主要功能127
15.3.2主要代码分析及注释128
15.4自编码器降维程序的使用技巧138
第16章深层感知器识别案例139
16.1深层感知器识别程序的模块简介139
16.2深层感知器识别程序的运行过程140
16.3深层感知器识别程序的代码分析143
16.3.1关键模块或函数的主要功能143
16.3.2主要代码分析及注释143
16.4深层感知器识别程序的使用技巧148
第17章深层信念网络生成案例149
17.1深层信念网络生成程序的模块简介149
17.2深层信念网络生成程序的运行过程150
17.3深层信念网络生成程序的代码分析153
17.3.1关键模块或函数的主要功能153
17.3.2主要代码分析及注释153
17.4深层信念网络生成程序的使用技巧162
第18章深层信念网络分类案例163
18.1深层信念网络分类程序的模块简介163
18.2深层信念网络分类程序的运行过程165
18.3深层信念网络分类程序的代码分析169
18.3.1关键模块或函数的主要功能169
18.3.2主要代码分析及注释170
18.4深层信念网络分类程序的使用技巧201
第19章深层玻耳兹曼机识别案例202
19.1深层玻耳兹曼机识别程序的模块简介202
19.2深层玻耳兹曼机识别程序的运行过程203
19.3深层玻耳兹曼机识别程序的代码分析206
19.3.1关键模块或函数的主要功能206
19.3.2主要代码分析及注释206
19.4深层玻耳兹曼机识别程序的使用技巧220
第20章卷积神经网络识别案例221
20.1DeepLearnToolbox程序的模块简介221
20.2DeepLearnToolbox程序的运行过程221
20.3DeepLearnToolbox程序的代码分析223
20.3.1关键函数的主要功能223
20.3.2主要代码分析及注释223
20.4DeepLearnToolbox程序的使用技巧227
20.5Caffe程序的模块简介227
20.6Caffe程序的运行过程228
20.7Caffe程序的代码分析230
20.7.1关键函数的主要功能230
20.7.2主要代码分析及注释231
20.8Caffe程序的使用技巧235
第21章循环神经网络填充案例236
21.1槽值填充的含义236
21.2循环神经网络填充程序的模块简介236
21.3循环神经网络填充程序的运行过程237
21.4循环神经网络填充程序的代码分析238
21.4.1关键函数的主要功能238
21.4.2主要代码分析及注释238
21.5循环神经网络填充程序的使用技巧244
第22章长短时记忆网络分类案例245
22.1长短时记忆网络分类程序的模块简介245
22.2长短时记忆网络分类程序的运行过程246
22.3长短时记忆网络分类程序的代码分析247
22.3.1关键模块或函数的主要功能247
22.3.2主要代码分析及注释247
22.4长短时记忆网络分类程序的使用技巧262
附录1 Caffe在Windows上的安装过程263
附录2 Theano的安装过程267
参考文献269

教学资源推荐
作者: 郭斌 梁韵基 於志文 著
作者: (英)Simon Rogers, Mark Girolami 著
作者: (爱尔兰)约翰·D. 凯莱赫(John D.Kelleher);(爱尔兰)布莱恩·马克·纳米(Brian Mac Namee);(爱尔兰)奥伊弗·达西(Aoife D’Arcy) 著
作者: [美] 大卫·福赛斯(David Forsyth) 著
参考读物推荐
作者: 刘驰 王占健 戴子彭 等编著
作者: [美]托马斯·H. 达文波特(Thomas H. Davenport) 著