《深度学习导论及案例分析》是一本深度学习领域的导论性参考书。本书详细介绍了深度学习的起源和发展,并强调了深层网络的特点和优势。书中详细阐述了深度学习的9种重要模型及其学习算法,同时还包括了变种模型和混杂模型的讨论。这本书适合具备神经网络基础知识的读者,希望进一步了解深度学习理论和方法的人。它是一本优秀的入门教材,也可以作为深度学习领域的导论性参考书。
深度学习导论及案例分析电子书封面
读者评价
我觉得 不适合入门,也不适合细看。 适合有不错的基础的人稍微翻一番,了解大概有什么内容,所以书名叫导论,不叫入门。 可能写书的目的只是为了出书吧。
买了这本书,没那个能力看,一直在角落放着。写的像论文,全是数学语言描述,完全不适合入门。
介绍的还是很全面的,但是不够深入,仅能入门,但是很多事MATLAB代码,为啥不能是Python代码呢?另外,书中第二章错误挺多的,少个负号啊,少个括号啊什么的,容易误导。
此前看过英文版,本书体系较全,内容厚实。而且既有理论的介绍,又有实例代码,各种文献链接提供的也比较多,对于初学者和实战派都有很强的指导意义。拿到书就迫不及待的看了下,翻译质量不错,基本遵从了原著的意思。
内容介绍
深度学习是近年来在神经网络发展史上掀起的一波新浪潮,是机器学习的一大热点方向,因在手写字符识别、维数约简、图像理解和语音处理等方面取得巨大进展,所以很快受到了学术界和工业界的高度关注。在本质上,深度学习就是对具有深层结构的网络进行有效学习的各种方法。
本书不仅介绍了深度学习的起源和发展、强调了深层网络的特点和优势,说明了判别模型和生成模型的相关概念,还详述了深度学习的9种重要模型及其学习算法、变种模型和混杂模型,包括受限玻耳兹曼机、自编码器、深层信念网络、深层玻耳兹曼机、和积网络、卷积神经网络、深层堆叠网络、循环神经网络和长短时记忆网络,以及它们在图像处理、语音处理和自然语言处理等领域的广泛应用。同时分析了一系列深度学习的基本案例。
本书每个案例包括模块简介、运行过程、代码分析和使用技巧4个部分,层次结构清晰,利于读者的选择和学习并在应用中拓展思路。涉及的编程语言有3种:Matlab、Python和C++。其中,很多深度学习程序是用Matlab编写的,可以直接运行;如果使用Python语言编写深度学习程序,则可以调用Theano开源库;若使用C++语言,则可以调用Caffe开源库。
目录
- 第一部分 基础理论
- 目 录
- 第1章概述 2
- 1.1深度学习的起源和发展 2
- 1.2深层网络的特点和优势 4
- 1.3深度学习的模型和算法 7
- 第2章预备知识 9
- 2.1矩阵运算 9
- 2.2概率论的基本概念 11
- 2.2.1概率的定义和性质 l1
- 2.2.2 随机变量和概率密度
- 函数 l2
- 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
- 第1 0章循环神经网络 89
- 10.1循环神经网络的标准模型 89
- 10.2循环神经网络的学习算法 91
- 10.3循环神经网络的变种模型 92
- 第1 1章长短时记忆网络 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
- 第1 3章深度学习的总结、
- 批评和展望 114
- 第二部分案例分析
- 第14章实验背景 一118
- 14.1运行环境 118
- 14.2实验数据 118
- 14.3代码工具 120
- 第1 5章 自编码器降维案例 一121
- 15.1 自编码器降维程序的模块
- 简介 121
- 15.2 自编码器降维程序的运行
- 过程 122
- 15.3 自编码器降维程序的代码
- 分析 127
- 15.3.1 关键模块或函数的主要
- 功能 127
- 15.3.2主要代码分析及注释 128
- 15.4 自编码器降维程序的使用
- 技巧 138
- 第1 6章深层感知器识别案例 139
- 16.1 深层感知器识别程序的模块
- 简介 139
- 16.2深层感知器识别程序的运行
- 过程 140
- 16.3深层感知器识别程序的代码
- 分析 143
- 16.3.1 关键模块或函数的主要
- 功能 143
- 16.3.2主要代码分析及注释 l43
- 16.4深层感知器识别程序的使用
- 技巧 148
- 第1 7章深层信念网络生成
- 案例 149
- 17.1 深层信念网络生成程序的模块
- 简介 149
- 17.2深层信念网络生成程序的运行
- 过程 150
- 17.3深层信念网络生成程序的代码
- 分析 153
- 第18章深层信念网络分类案例163
- 第19章深层玻耳兹曼机识别案例202
- 第20章卷积神经网络识别案例221
- 第21章循环神经网络填充案例236
- 第22章长短时忆网络分类案例245
- 附录263
- 参考文献269
谈谈我对深度学习的理解 深度学习可以理解成一层一层地抽象提取隐含的特征,最后求解问题.一开始我觉得这和浅层学习中的算法集成差不多,那个也可以一层一层搭起来的. 随着学习的深入,我觉得它确实有明显的优势,比如: 第一:它引入的激活函数可以解决非线性问题. 第二:数据从x流向y,而误差从y逐层流回x,整个网络中所有权值都在不断调整,不是某一层调完就不动了,浅层集成大多数时候是单向的,没这灵活. 第三:它相对自动化,第个层间具体传输的内容,不用人手动指定和对接.
如果把一个具有深度学习的神经网络比作一台机器,那么要让这个机器把输入数据变成理想的结果,就得先让这台机器自我训练,然后把最理想输出结果时的各个权重值以及阈值给保存下来,正常工作时,我们只要把数据输入给这台机器,那么就可以获得最理想的输出结果。 这个机器的自我训练方法就是:事先组织一批输入数据和与其对应的理想输出结果数据,例如输入【1,0】->【1】,【1,1】->【2】,【1,2】->【3】,把这些数据通过机器的学习端口灌入给这台机器,让其自己先进行学习处理,并把学习的最终结果(机器的各种权重值和阈值)保存下来。 这台机器的工作原理就是基于神经网络,卷积运算,池化处理。其中神经网络又分为卷积神经网络(CNN),循环神经网络(RNN,又称为前馈型神经网络)等。
深度学习的过程就是把训练时的输入数据通过这台机器经过一些算法处理获得输出数据,然后把输出数据与训练数据的输入数据的正确结果做对比判断其误差,经过无数次的反复训练,最终把误差控制到最小最理想的范围内则学习过程结束。学习的成果被反应到这台机器的每一层与下一层之间的权重值组与阈值上(每个神经元拥有的所有权重值和阈值)。下次处理类似的数据时只要向这台机器提供输入数据,每个神经元权重值组与阈值就可以获得学习(训练)后理想的输出数据了。简单来讲深度学习的过程就是根据训练数据(提供的输入和输出数据),反复运算求得每个神经元所有拥有的权重值组和阈值的过程。原理就是把训练数据的结果与神经网络运算的结果做对比,让其误差最小最理想。这种针对特定场景训练出来的神经网络属于服务型的,而非工程型的,并不适合广域型的场景。 深度学习的数学理论就是利用 正确值,预测值,误差,误差方程,求误差方程里的权重和阈值。误差方程可以映射成一条曲线,当曲线的斜线斜率(导数)最小时误差值就最小,从而与测试更准确。求权重值和阈值也就成了深度学习的核心之一。