标签分类
当前位置:首页 > > 深度学习电子书网盘下载
深度学习核心技术与实践 深度学习核心技术与实践
码小辫

码小辫 提供上传

资源
47
粉丝
40
喜欢
154
评论
13

    深度学习核心技术与实践 PDF 高质量版

    深度学习电子书
    • 发布时间:

    给大家带来的一篇关于深度学习相关的电子书资源,介绍了关于深度学习、核心技术、实践方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小207 MB,猿辅导研究团队编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.8

  • 深度学习核心技术与实践 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1MlrjNEkQVYpI0M5N-ZAJN
  • 分享码:wmi6
  • 深度学习核心技术与实践

    深度学习核心技术与实践电子书封面

    读者评价

    算是很不错的一本讲深度学习的书了,相比市面上同类书籍,简直良心太多。现在一些互联网企业技术团队出的书都不错,美团的,hulu的,还有猿辅导的这本也挺好的了,介绍了很多工程层面的技巧,全面。

    拍照搜题APP“小猿搜题”,以及猿辅导公司一系列被称为“小猿黑科技”的产品——英语作文自动批改、英语口语自动打分纠错、速算应用中的在线手写识别等的核心部分,都是我们的应用研究团队,也就是本书的作者们实现的。在几乎全经济部门言必称人工智能、深度学习之时,出版这样一线业者的著作,是真正有益的工作。一个公司所做,不仅有益于用户,也能有益于行业,本书的出版也是我司的骄傲时刻。感谢应用研究团队。

    本书的作者之一邓澍军博士和夏龙是我的老同事,几年前我们在网易有道共事时,他俩就开始了孜孜不倦的机器学习“修炼”之旅,读经典专著和论文,研读代码,推动机器学习技术和公司业务结合,这股劲头一直延续到他们加入猿辅导创业。今天,他们把自己对深度学习方法的心得体会、落地的第一手经验凝集在《深度学习核心技术与实践》这本书里,即使是我这种自认为经验很丰富的人,也从这本书中学到了很多不曾了解的知识。

    这本书的不少作者都是我的前同事。从书中我看到了熟悉的务实、钻研、追求实际效果的风格。在深度学习被称为“炼金术”的当前,本书通过第一线的视角,既包含工程实践所需的关键概念、模型和算法原理,也有多年实践经验的总结。本书内容深入浅出,干货满满,是一本不可多得的入门和实践参考书。

    内容介绍

    《深度学习核心技术与实践》主要介绍深度学习的核心算法,以及在计算机视觉、语音识别、自然语言处理中的相关应用。本书的作者们都是业界*线的深度学习从业者,所以书中所写内容和业界联系紧密,所涵盖的深度学习相关知识点比较全面。本书主要讲解原理,较少贴代码。本书适合深度学习从业人士或者相关研究生作为参考资料,也可以作为入门教程来大致了解深度学习的相关前沿技术。

    内容节选

    如果把一个具有深度学习的神经网络比作一台机器,那么要让这个机器把输入数据变成理想的结果,就得先让这台机器自我训练,然后把最理想输出结果时的各个权重值以及阈值给保存下来,正常工作时,我们只要把数据输入给这台机器,那么就可以获得最理想的输出结果。

    这个机器的自我训练方法就是:事先组织一批输入数据和与其对应的理想输出结果数据,例如输入【1,0】->【1】,【1,1】->【2】,【1,2】->【3】,把这些数据通过机器的学习端口灌入给这台机器,让其自己先进行学习处理,并把学习的最终结果(机器的各种权重值和阈值)保存下来。

    这台机器的工作原理就是基于神经网络,卷积运算,池化处理。其中神经网络又分为卷积神经网络(CNN),循环神经网络(RNN,又称为前馈型神经网络)等。

    卷积神经网络主要由卷积滤波器,全连接型神经网络构成。

    循环神经网络是在基于卷积神经网络上加入了上下文关系的运算,即除了在某个时间点上给神经网络输入数据外,也必须记住过去所输入的数据(这样深度学习的结果是考虑了上下文之间的关系的)。例如

    很好吃的     苹果

         红色的

       闪耀的  太阳

    这台机器的输出结果必须考虑到输入时的上下文关系,工作原理就是向输出方向流动的信号适当地反馈给输入,再次处理后输出。
    各种神经网络的构成单元即神经元,神经元又由输入端与输出端,权重,阈值构成。假设输入数据为x1,x2,x3,输出为Z,输入数据对应的权重值为w1,w2,w3, 阈值为u,那么 Z=f(U),U=1/(1+e^-u), U=∑xiwi-u ,
    神经元的参数权重值和阈值就是深度学习时需要根据训练数据调整的值,这些调整后的值即为学习结果,需要保存下来,供以后正常工作时使用。全连接型神经网络无论哪一层,人工神经元都进行加权求和以及传递函数的计算,并输出其结果。假设传递函数为sigmoid,则 f(u)=1/(1+e^-u)(C语言里为double u; 1.0/1.0+exp(-u))。
    计算机软件里神经元的组成可分为

    •     parentLayer  神经元所在的层
    •     inputConnections  神经元的输入连接
    •     outputConnections  神经元的输出连接
    •     netInput  神经元的净输入
    •     output   神经元的净输出
    •     error   保存训练的误差
    •     inputFunction  神经元输入函数,通常为加权求和
    •     transferFunction  传输函数

    深度学习的过程就是把训练时的输入数据通过这台机器经过一些算法处理获得输出数据,然后把输出数据与训练数据的输入数据的正确结果做对比判断其误差,经过无数次的反复训练,最终把误差控制到最小最理想的范围内则学习过程结束。学习的成果被反应到这台机器的每一层与下一层之间的权重值组与阈值上(每个神经元拥有的所有权重值和阈值)。下次处理类似的数据时只要向这台机器提供输入数据,每个神经元权重值组与阈值就可以获得学习(训练)后理想的输出数据了。简单来讲深度学习的过程就是根据训练数据(提供的输入和输出数据),反复运算求得每个神经元所有拥有的权重值组和阈值的过程。原理就是把训练数据的结果与神经网络运算的结果做对比,让其误差最小最理想。这种针对特定场景训练出来的神经网络属于服务型的,而非工程型的,并不适合广域型的场景。
    深度学习的数学理论就是利用 正确值,预测值,误差,误差方程,求误差方程里的权重和阈值。误差方程可以映射成一条曲线,当曲线的斜线斜率(导数)最小时误差值就最小,从而与测试更准确。求权重值和阈值也就成了深度学习的核心之一。
    中间层每个神经元权重值和输出层每个神经元权重值每次调整一般可以通过梯度下降法解求到(梯度下降法涉及到导数(切线斜率))。
    卷积运算的目的使用数据(矩阵)特征更加突出,强者更强或弱者更弱同时缩小矩阵。方法是通过过滤器逐区域运算使其值大的更大。
    池化处理可以把一个大的矩阵通过(求大过滤器)或(求平均值过滤器)缩小为一个小的矩阵从而使数据量变少,这样神经网络的运算减轻从而加快处理速度。
    传递函数(激励函数 例如sigmoid)的目的是使无限大与无限小之间的数据缩小控制在 0~1之间。由于交给神经网络处理的直接数据要求在0~1之间,那么经过加权求和后数据超出了0~1,因此使用传递函数(sigmoid)将起缩小到0~1的范围内。计算机处理的是0和1,0为否,1为是,交给神经网络处理事务首先要转换为0与1的数据矩阵,这样神经网络才可以处理。sigmoid函数很受大众的欢迎,其主要原因是:它的输出 处于[0,1]范围内,特别适用于输出概率的模型。由于任何概率的取值在0和1范围之间,因此,sigmoid激活函数是最好的选择。
    参考文献 激励函数
    参考视频 激励函数
    转换事物为0与1的数据矩阵,通常有n-gram,1-of-n方法。针对文字的有 bag-of-words表示,skip-gram表示。参考文献 word2vec
    深度学习是机器学习的基础,机器学习又是人工智能的基础。事物以及事物与事物之间的关系通过算法处理都能被具体为数字,数字又是可以计算和应用的。人工智能说到底就是建立在数学上,任何事物和关系都是可以被数字化并计算的。

    目录

    • 第1 部分深度学习基础篇1
    • 1 概述
    • 1.1 人工智能
    • 1.1.1 人工智能的分类
    • 1.1.2 人工智能发展史
    • 1.2 机器学习
    • 1.2.1 机器学习的由来
    • 1.2.2 机器学习发展史
    • 1.2.3 机器学习方法分类
    • 1.2.4 机器学习中的基本概念
    • 1.3 神经网络
    • 1.3.1 神经网络发展史
    • 参考文献
    • 2 神经网络
    • 2.1 在神经科学中对生物神经元的研究
    • 2.1.1 神经元激活机制
    • 2.1.2 神经元的特点
    • 2.2 神经元模型
    • 2.2.1 线性神经元
    • 2.2.2 线性阈值神经元
    • 2.2.3 Sigmoid 神经元
    • 2.2.4 Tanh 神经元
    • 2.2.5 ReLU
    • 2.2.6 Maxout
    • 2.2.7 Softmax
    • 2.2.8 小结
    • 2.3 感知机
    • 2.3.1 感知机的提出
    • 2.3.2 感知机的困境
    • 2.4 DNN
    • 2.4.1 输入层、输出层及隐层
    • 2.4.2 目标函数的选取
    • 2.4.3 前向传播
    • 2.4.4 后向传播
    • 2.4.5 参数更新
    • 2.4.6 神经网络的训练步骤
    • 参考文献
    • 3 初始化模型
    • 3.1 受限玻尔兹曼机
    • 3.1.1 能量模型
    • 3.1.2 带隐藏单元的能量模型
    • 3.1.3 受限玻尔兹曼机基本原理
    • 3.1.4 二值RBM
    • 3.1.5 对比散度
    • 3.2 自动编码器
    • 3.2.1 稀疏自动编码器
    • 3.2.2 降噪自动编码器
    • 3.2.3 栈式自动编码器
    • 3.3 深度信念网络
    • 参考文献
    • 4 卷积神经网络
    • 4.1 卷积算子
    • 4.2 卷积的特征
    • 4.3 卷积网络典型结构
    • 4.3.1 基本网络结构
    • 4.3.2 构成卷积神经网络的层
    • 4.3.3 网络结构模式
    • 4.4 卷积网络的层
    • 4.4.1 卷积层
    • 4.4.2 池化层
    • 参考文献
    • 5 循环神经网络
    • 5.1 循环神经网络简介
    • 5.2 RNN、LSTM 和GRU
    • 5.3 双向RNN
    • 5.4 RNN 语言模型的简单实现
    • 参考文献
    • 6 深度学习优化算法
    • 6.1 SGD
    • 6.2 Momentum
    • 6.3 NAG
    • 6.4 Adagrad
    • 6.5 RMSProp
    • 6.6 Adadelta
    • 6.7 Adam
    • 6.8 AdaMax
    • 6.9 Nadam
    • 6.10 关于优化算法的使用
    • 参考文献
    • 7 深度学习训练技巧
    • 7.1 数据预处理
    • 7.2 权重初始化
    • 7.3 正则化
    • 7.3.1 提前终止
    • 7.3.2 数据增强
    • 7.3.3 L2/L1 参数正则化
    • 7.3.4 集成100
    • 7.3.5 Dropout
    • 参考文献
    • 8 深度学习框架
    • 8.1 Theano
    • 8.1.1 Theano
    • 8.1.2 安装
    • 8.1.3 计算图
    • 8.2 Torch
    • 8.2.1 概述
    • 8.2.2 安装
    • 8.2.3 核心结构
    • 8.2.4 小试牛刀
    • 8.3 PyTorch
    • 8.3.1 概述
    • 8.3.2 安装
    • 8.3.3 核心结构
    • 8.3.4 小试牛刀
    • 8.4 Caffe
    • 8.4.1 概述
    • 8.4.2 安装
    • 8.4.3 核心组件
    • 8.4.4 小试牛刀
    • 8.5 TensorFlow
    • 8.5.1 概述
    • 8.5.2 安装
    • 8.5.3 核心结构
    • 8.5.4 小试牛刀
    • 8.6 MXNet
    • 8.6.1 概述
    • 8.6.2 安装
    • 8.6.3 核心结构
    • 8.6.4 小试牛刀
    • 8.7 Keras
    • 8.7.1 概述
    • 8.7.2 安装
    • 8.7.3 模块介绍
    • 8.7.4 小试牛刀
    • 参考文献
    • 第2 部分计算机视觉篇
    • 9 计算机视觉背景
    • 9.1 传统计算机视觉
    • 9.2 基于深度学习的计算机视觉
    • 9.3 参考文献
    • 10 图像分类模型
    • 10.1 LeNet-5
    • 10.2 AlexNet
    • 10.3 VGGNet
    • 10.3.1 网络结构
    • 10.3.2 配置
    • 10.3.3 讨论
    • 10.3.4 几组实验
    • 10.4 GoogLeNet
    • 10.4.1 NIN
    • 10.4.2 GoogLeNet 的动机
    • 10.4.3 网络结构细节
    • 10.4.4 训练方法
    • 10.4.5 后续改进版本
    • 10.5 ResNet
    • 10.5.1 基本思想
    • 10.5.2 网络结构
    • 10.6 DenseNet
    • 10.7 DPN
    • 参考文献
    • 11 目标检测
    • 11.1 相关研究
    • 11.1.1 选择性搜索
    • 11.1.2 OverFeat
    • 11.2 基于区域提名的方法
    • 11.2.1 R-CNN
    • 11.2.2 SPP-net
    • 11.2.3 Fast R-CNN
    • 11.2.4 Faster R-CNN
    • 11.2.5 R-FCN
    • 11.3 端到端的方法
    • 11.3.1 YOLO
    • 11.3.2 SSD
    • 11.4 小结
    • 参考文献
    • 12 语义分割
    • 12.1 全卷积网络
    • 12.1.1 FCN
    • 12.1.2 DeconvNet
    • 12.1.3 SegNet
    • 12.1.4 DilatedConvNet
    • 12.2 CRF/MRF 的使用
    • 12.2.1 DeepLab
    • 12.2.2 CRFasRNN
    • 12.2.3 DPN
    • 12.3 实例分割
    • 12.3.1 Mask R-CNN
    • 参考文献
    • 13 图像检索的深度哈希编码
    • 13.1 传统哈希编码方法
    • 13.2 CNNH
    • 13.3 DSH
    • 13.4 小结
    • 参考文献
    • 第3 部分语音识别篇
    • 14 传统语音识别基础
    • 14.1 语音识别简介
    • 14.2 HMM 简介
    • 14.2.1 HMM 是特殊的混合模型
    • 14.2.2 转移概率矩阵
    • 14.2.3 发射概率
    • 14.2.4 Baum-Welch 算法
    • 14.2.5 后验概率
    • 14.2.6 前向-后向算法
    • 14.3 HMM 梯度求解
    • 14.3.1 梯度算法1
    • 14.3.2 梯度算法2
    • 14.3.3 梯度求解的重要性
    • 14.4 孤立词识别
    • 14.4.1 特征提取
    • 14.4.2 孤立词建模
    • 14.4.3 GMM-HMM
    • 14.5 连续语音识别
    • 14.6 Viterbi 解码
    • 14.7 三音素状态聚类
    • 14.8 判别式训练
    • 参考文献
    • 15 基于WFST 的语音解码
    • 15.1 有限状态机
    • 15.2 WFST 及半环定义
    • 15.2.1 WFST
    • 15.2.2 半环(Semiring)
    • 15.3 自动机操作
    • 15.3.1 自动机基本操作
    • 15.3.2 转换器基本操作
    • 15.3.3 优化操作
    • 15.4 基于WFST 的语音识别系统
    • 15.4.1 声学模型WFST
    • 15.4.2 三音素WFST
    • 15.4.3 发音字典WFST
    • 15.4.4 语言模型WFST
    • 15.4.5 WFST 组合和优化
    • 15.4.6 组合和优化实验
    • 15.4.7 WFST 解码
    • 参考文献
    • 16 深度语音识别
    • 16.1 CD-DNN-HMM
    • 16.2 TDNN
    • 16.3 CTC
    • 16.4 EESEN
    • 16.5 Deep Speech
    • 16.6 Chain
    • 参考文献
    • 17 CTC 解码
    • 17.1 序列标注
    • 17.2 序列标注任务的解决办法
    • 17.2.1 序列分类
    • 17.2.2 分割分类
    • 17.2.3 时序分类
    • 17.3 隐马模型
    • 17.4 CTC 基本定义
    • 17.5 CTC 前向算法
    • 17.6 CTC 后向算法
    • 17.7 CTC 目标函数
    • 17.8 CTC 解码基本原理
    • 17.8.1 最大概率路径解码
    • 17.8.2 前缀搜索解码
    • 17.8.3 约束解码
    • 参考文献
    • 第4 部分自然语言处理篇
    • 18 自然语言处理简介
    • 18.1 NLP 的难点
    • 18.2 NLP 的研究范围
    • 19 词性标注
    • 19.1 传统词性标注模型
    • 19.2 基于神经网络的词性标注模型
    • 19.3 基于Bi-LSTM 的神经网络词性标注模型
    • 参考文献
    • 20 依存句法分析
    • 20.1 背景
    • 20.2 SyntaxNet 技术要点
    • 20.2.1 Transition-based 系统
    • 20.2.2 “模板化” 技术
    • 20.2.3 Beam Search
    • 参考文献
    • 21 word2vec
    • 21.1 背景
    • 21.1.1 词向量
    • 21.1.2 统计语言模型
    • 21.1.3 神经网络语言模型
    • 21.1.4 Log-linear 模型
    • 21.1.5 Log-bilinear 模型
    • 21.1.6 层次化Log-bilinear 模型
    • 21.2 CBOW 模型
    • 21.3 Skip-gram 模型
    • 21.4 Hierarchical Softmax 与Negative Sampling
    • 21.5 fastText
    • 21.6 GloVe
    • 21.7 小结
    • 参考文献
    • 22 神经网络机器翻译
    • 22.1 机器翻译简介
    • 22.2 神经网络机器翻译基本模型
    • 22.3 基于Attention 的神经网络机器翻译
    • 22.4 谷歌机器翻译系统GNMT
    • 22.5 基于卷积的机器翻译
    • 22.6 小结
    • 参考文献
    • 第5 部分深度学习研究篇
    • 23 Batch Normalization
    • 23.1 前向与后向传播
    • 23.1.1 前向传播
    • 23.1.2 后向传播
    • 23.2 有效性分析
    • 23.2.1 内部协移
    • 23.2.2 梯度流
    • 23.3 使用与优化方法
    • 23.4 小结
    • 参考文献
    • 24 Attention
    • 24.1 从简单RNN 到RNN   Attention
    • 24.2 Soft Attention 与Hard Attention
    • 24.3 Attention 的应用
    • 24.4 小结
    • 参考文献
    • 25 多任务学习
    • 25.1 背景
    • 25.2 什么是多任务学习
    • 25.3 多任务分类与其他分类概念的关系
    • 25.3.1 二分类
    • 25.3.2 多分类
    • 25.3.3 多标签分类
    • 25.3.4 相关关系
    • 25.4 多任务学习如何发挥作用
    • 25.4.1 提高泛化能力的潜在原因
    • 25.4.2 多任务学习机制
    • 25.4.3 后向传播多任务学习如何发现任务是相关的
    • 25.5 多任务学习被广泛应用
    • 25.5.1 使用未来预测现在
    • 25.5.2 多种表示和度量
    • 25.5.3 时间序列预测
    • 25.5.4 使用不可操作特征
    • 25.5.5 使用额外任务来聚焦
    • 25.5.6 有序迁移
    • 25.5.7 多个任务自然地出现
    • 25.5.8 将输入变成输出
    • 25.6 多任务深度学习应用
    • 25.6.1 脸部特征点检测
    • 25.6.2 DeepID2
    • 25.6.3 Fast R-CNN
    • 25.6.4 旋转人脸网络
    • 25.6.5 实例感知语义分割的MNC
    • 25.7 小结
    • 参考文献
    • 26 模型压缩
    • 26.1 模型压缩的必要性
    • 26.2 较浅的网络
    • 26.3 剪枝
    • 26.4 参数共享
    • 26.5 紧凑网络
    • 26.6 二值网络
    • 26.7 小结
    • 参考文献
    • 27 增强学习
    • 27.1 什么是增强学习
    • 27.2 增强学习的数学表达形式
    • 27.2.1 MDP
    • 27.2.2 策略函数
    • 27.2.3 奖励与回报
    • 27.2.4 价值函数
    • 27.2.5 贝尔曼方程
    • 27.2.6 最优策略性质
    • 27.3 用动态规划法求解增强学习问题
    • 27.3.1 Agent 的目标
    • 27.3.2 策略评估
    • 27.3.3 策略改进
    • 27.3.4 策略迭代
    • 27.3.5 策略迭代的例子
    • 27.3.6 价值迭代
    • 27.3.7 价值迭代的例子
    • 27.3.8 策略函数和价值函数的关系
    • 27.4 无模型算法
    • 27.4.1 蒙特卡罗法
    • 27.4.2 时序差分法
    • 27.4.3 Q-Learning
    • 27.5 Q-Learning 的例子
    • 27.6 AlphaGo 原理剖析
    • 27.6.1 围棋与机器博弈
    • 27.6.2 Alpha-Beta 树
    • 27.6.3 MCTS
    • 27.6.4 UCT
    • 27.6.5 AlphaGo 的训练策略
    • 27.6.6 AlphaGo 的招式搜索算法
    • 27.6.7 围棋的对称性
    • 27.7 AlphaGo Zero
    • 参考文献
    • 28 GAN
    • 28.1 生成模型
    • 28.2 生成对抗模型的概念
    • 28.3 GAN 实战
    • 28.4 InfoGAN――探寻隐变量的内涵
    • 28.5 Image-Image Translation
    • 28.6 WGAN(Wasserstein GAN)
    • 28.6.1 GAN 目标函数的弱点
    • 28.6.2 Wasserstein 度量的优势
    • 28.6.3 WGAN 的目标函数
    • 参考文献
    • A 本书涉及的开源资源列表

    上一篇:21天学通C语言  下一篇:OpenStack系统架构设计实战

    展开 +

    收起 -

    深度学习 相关电子书
    关于深度学习的学习笔记
    网友NO.40224
    网友NO.40224

    朋友反馈说,看不懂CNN和RNN篇.文章确实因为篇幅原因,有点跳步了.不过我觉得主要原因还是跳过了前面的基础部分.我们很多时候喜欢直击重点,跳过过程,但是有的过程确实跳不过去.
     数据挖掘,机器学习,机器视觉,语言处理这些背后有很多数学概率基础,且不止于此,它和大多数程序员之前接触的写应用,网络编程,数据库,配系统,学习编程语言,把人家的库拿来搭一搭… 不一样,那些即使不懂原理,也能照猫画虎做个七八成.在这里,我们用Python/R,它们把技术细节都解决了,这里拼的不是工作量,拼的是算法,是对数据的理解.参加个比赛或者技术选型,人家用啥模型,咱也用啥模型,即使只调参,也需要理解数据和掌握数学工具.不明白原理,还是没法跟人家拼?
    我个人觉得,这个很难速成.对于程序员来说,唯一的捷径可能是从代码入手,在做的过程中,逐步把数学和原理补上.程序员对代码直觉相对好一点,有时候我看不懂图和公式,但我看得懂代码.

    网友NO.37405
    网友NO.37405

    RNN 的原理
    CNN 比较适合图片的分类任务,但是对于语言翻译,问答系统等场景不是很适用,假设有一个句子,最后一个单词为空,人是怎么填这个空的:
    He is american, he speak _
    这个空的值出现是基于前面出现过的 american 来填写的,即 american -> english。因此我们需要一个模型,不仅能挖掘语料之间的关系,还能挖掘语料之中的关系,这就是 RNN 的思路,因此这个模型要从把 american -> english 作为一个 feature 从一条语料中进行挖掘。
    RNN 是循环神经网络,它的特点是拥有记忆能力,这个能力的实现也很简单,就是神经网络的输入不再是一整个大向量了,而是把这个大向量拆成小的向量,每个小向量喂给神经网络后返回的值 input1 和下一个小向量 input2 作为输入再喂给神经网络

    网友NO.41822
    网友NO.41822

    算是很不错的一本讲深度学习的书了,相比市面上同类书籍,简直良心太多。现在一些互联网企业技术团队出的书都不错,美团的,hulu的,还有猿辅导的这本也挺好的了,介绍了很多工程层面的技巧,全面。

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明